|
@@ -31,6 +31,7 @@
|
|
|
#include <linux/gpio.h>
|
|
|
#include <linux/pda_power.h>
|
|
|
#include <linux/rfkill.h>
|
|
|
+#include <linux/spi/spi.h>
|
|
|
|
|
|
#include <asm/setup.h>
|
|
|
#include <asm/mach-types.h>
|
|
@@ -42,6 +43,7 @@
|
|
|
#include <mach/mmc.h>
|
|
|
#include <mach/udc.h>
|
|
|
#include <mach/tosa_bt.h>
|
|
|
+#include <mach/pxa2xx_spi.h>
|
|
|
|
|
|
#include <asm/mach/arch.h>
|
|
|
#include <mach/tosa.h>
|
|
@@ -612,7 +614,7 @@ static int tosa_tc6393xb_enable(struct platform_device *dev)
|
|
|
rc = gpio_request(TOSA_GPIO_TC6393XB_SUSPEND, "tc6393xb #suspend");
|
|
|
if (rc)
|
|
|
goto err_req_suspend;
|
|
|
- rc = gpio_request(TOSA_GPIO_TC6393XB_L3V_ON, "l3v");
|
|
|
+ rc = gpio_request(TOSA_GPIO_TC6393XB_L3V_ON, "tc6393xb l3v");
|
|
|
if (rc)
|
|
|
goto err_req_l3v;
|
|
|
rc = gpio_direction_output(TOSA_GPIO_TC6393XB_L3V_ON, 0);
|
|
@@ -772,6 +774,20 @@ static struct platform_device tosa_bt_device = {
|
|
|
.dev.platform_data = &tosa_bt_data,
|
|
|
};
|
|
|
|
|
|
+static struct pxa2xx_spi_master pxa_ssp_master_info = {
|
|
|
+ .num_chipselect = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct spi_board_info spi_board_info[] __initdata = {
|
|
|
+ {
|
|
|
+ .modalias = "tosa-lcd",
|
|
|
+ // .platform_data
|
|
|
+ .max_speed_hz = 28750,
|
|
|
+ .bus_num = 2,
|
|
|
+ .chip_select = 0,
|
|
|
+ .mode = SPI_MODE_0,
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
static struct platform_device *devices[] __initdata = {
|
|
|
&tosascoop_device,
|
|
@@ -826,6 +842,9 @@ static void __init tosa_init(void)
|
|
|
pxa_set_i2c_info(NULL);
|
|
|
platform_scoop_config = &tosa_pcmcia_config;
|
|
|
|
|
|
+ pxa2xx_set_spi_info(2, &pxa_ssp_master_info);
|
|
|
+ spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
|
|
|
+
|
|
|
clk_add_alias("CLK_CK3P6MI", &tc6393xb_device.dev, "GPIO11_CLK", NULL);
|
|
|
|
|
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|