Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits) MAINTAINERS: EB110ATX is not ebsa110 MAINTAINERS: update Eric Miao's email address and status fb: add support of LCD display controller on pxa168/910 (base layer) [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines [ARM] 5544/1: Trust PrimeCell resource sizes [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. [ARM] pxa/sharpsl_pm: drop set_irq_type calls [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific [ARM] sa1100: remove unused collie_pm.c [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] [ARM] 5550/1: Add default configure file for w90p910 platform [ARM] 5549/1: Add clock api for w90p910 platform. [ARM] 5548/1: Add gpio api for w90p910 platform [ARM] 5551/1: Add multi-function pin api for w90p910 platform. [ARM] Make ARM_VIC_NR depend on ARM_VIC [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 ARM: OMAP4: SMP: Update defconfig for OMAP4430 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 ...
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/mfd/da903x.h>
|
||||
#include <linux/sht15.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@@ -29,7 +30,7 @@
|
||||
#include <asm/mach/flash.h>
|
||||
|
||||
#include <mach/pxa27x.h>
|
||||
#include <mach/i2c.h>
|
||||
#include <plat/i2c.h>
|
||||
#include <mach/udc.h>
|
||||
#include <mach/mmc.h>
|
||||
#include <mach/pxa2xx_spi.h>
|
||||
@@ -102,6 +103,10 @@ static unsigned long imote2_pin_config[] __initdata = {
|
||||
GPIO96_GPIO, /* accelerometer interrupt */
|
||||
GPIO99_GPIO, /* ADC interrupt */
|
||||
|
||||
/* SHT15 */
|
||||
GPIO100_GPIO,
|
||||
GPIO98_GPIO,
|
||||
|
||||
/* Connector pins specified as gpios */
|
||||
GPIO94_GPIO, /* large basic connector pin 14 */
|
||||
GPIO10_GPIO, /* large basic connector pin 23 */
|
||||
@@ -112,6 +117,26 @@ static unsigned long imote2_pin_config[] __initdata = {
|
||||
GPIO105_GPIO, /* blue led */
|
||||
};
|
||||
|
||||
static struct sht15_platform_data platform_data_sht15 = {
|
||||
.gpio_data = 100,
|
||||
.gpio_sck = 98,
|
||||
};
|
||||
|
||||
static struct platform_device sht15 = {
|
||||
.name = "sht15",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &platform_data_sht15,
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply imote2_sensor_3_con[] = {
|
||||
{
|
||||
.dev = &sht15.dev,
|
||||
.supply = "vcc",
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_led imote2_led_pins[] = {
|
||||
{
|
||||
.name = "imote2:red",
|
||||
@@ -257,6 +282,8 @@ static struct regulator_init_data imote2_ldo_init_data[] = {
|
||||
.min_uV = 2800000,
|
||||
.max_uV = 3000000,
|
||||
},
|
||||
.num_consumer_supplies = ARRAY_SIZE(imote2_sensor_3_con),
|
||||
.consumer_supplies = imote2_sensor_3_con,
|
||||
},
|
||||
[vcc_pxa_pll] = { /* 1.17V - 1.43V, default 1.3V*/
|
||||
.constraints = {
|
||||
@@ -432,6 +459,9 @@ static struct i2c_board_info __initdata imote2_i2c_board_info[] = {
|
||||
.type = "tmp175",
|
||||
.addr = 0x4A,
|
||||
.irq = IRQ_GPIO(96),
|
||||
}, { /* IMB400 Multimedia board */
|
||||
.type = "wm8940",
|
||||
.addr = 0x1A,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -456,25 +486,12 @@ static struct pxa2xx_spi_master pxa_ssp_master_2_info = {
|
||||
.num_chipselect = 1,
|
||||
};
|
||||
|
||||
/* Patch posted by Eric Miao <eric.miao@marvell.com> will remove
|
||||
* the need for these functions.
|
||||
*/
|
||||
static void spi1control(u32 command)
|
||||
{
|
||||
gpio_set_value(24, command & PXA2XX_CS_ASSERT ? 0 : 1);
|
||||
};
|
||||
|
||||
static void spi3control(u32 command)
|
||||
{
|
||||
gpio_set_value(39, command & PXA2XX_CS_ASSERT ? 0 : 1);
|
||||
};
|
||||
|
||||
static struct pxa2xx_spi_chip staccel_chip_info = {
|
||||
.tx_threshold = 8,
|
||||
.rx_threshold = 8,
|
||||
.dma_burst_size = 8,
|
||||
.timeout = 235,
|
||||
.cs_control = spi1control,
|
||||
.gpio_cs = 24,
|
||||
};
|
||||
|
||||
static struct pxa2xx_spi_chip cc2420_info = {
|
||||
@@ -482,7 +499,7 @@ static struct pxa2xx_spi_chip cc2420_info = {
|
||||
.rx_threshold = 8,
|
||||
.dma_burst_size = 8,
|
||||
.timeout = 235,
|
||||
.cs_control = spi3control,
|
||||
.gpio_cs = 39,
|
||||
};
|
||||
|
||||
static struct spi_board_info spi_board_info[] __initdata = {
|
||||
@@ -521,6 +538,7 @@ static struct pxa2xx_udc_mach_info imote2_udc_info __initdata = {
|
||||
static struct platform_device *imote2_devices[] = {
|
||||
&imote2_flash_device,
|
||||
&imote2_leds,
|
||||
&sht15,
|
||||
};
|
||||
|
||||
static struct i2c_pxa_platform_data i2c_pwr_pdata = {
|
||||
@@ -538,8 +556,6 @@ static void __init imote2_init(void)
|
||||
/* SPI chip select directions - all other directions should
|
||||
* be handled by drivers.*/
|
||||
gpio_direction_output(37, 0);
|
||||
gpio_direction_output(24, 0);
|
||||
gpio_direction_output(39, 0);
|
||||
|
||||
platform_add_devices(imote2_devices, ARRAY_SIZE(imote2_devices));
|
||||
|
||||
|
Reference in New Issue
Block a user