]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/sh/boards/mach-ap325rxa/setup.c
Merge branch 'master' into tk71
[mv-sheeva.git] / arch / sh / boards / mach-ap325rxa / setup.c
index 3da116f47f01b732112c50337e6a39183bc9a696..3e5fc3bbf3ed08044a2cd71bc1da588910a16ea6 100644 (file)
@@ -14,6 +14,8 @@
 #include <linux/device.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
+#include <linux/mfd/sh_mobile_sdhi.h>
+#include <linux/mmc/host.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/sh_flctl.h>
 #include <linux/delay.h>
@@ -176,6 +178,21 @@ static void ap320_wvga_power_off(void *board_data)
        __raw_writew(0, FPGA_LCDREG);
 }
 
+const static struct fb_videomode ap325rxa_lcdc_modes[] = {
+       {
+               .name = "LB070WV1",
+               .xres = 800,
+               .yres = 480,
+               .left_margin = 32,
+               .right_margin = 160,
+               .hsync_len = 8,
+               .upper_margin = 63,
+               .lower_margin = 80,
+               .vsync_len = 1,
+               .sync = 0, /* hsync and vsync are active low */
+       },
+};
+
 static struct sh_mobile_lcdc_info lcdc_info = {
        .clock_source = LCDC_CLK_EXTERNAL,
        .ch[0] = {
@@ -183,18 +200,8 @@ static struct sh_mobile_lcdc_info lcdc_info = {
                .bpp = 16,
                .interface_type = RGB18,
                .clock_divider = 1,
-               .lcd_cfg = {
-                       .name = "LB070WV1",
-                       .xres = 800,
-                       .yres = 480,
-                       .left_margin = 32,
-                       .right_margin = 160,
-                       .hsync_len = 8,
-                       .upper_margin = 63,
-                       .lower_margin = 80,
-                       .vsync_len = 1,
-                       .sync = 0, /* hsync and vsync are active low */
-               },
+               .lcd_cfg = ap325rxa_lcdc_modes,
+               .num_cfg = ARRAY_SIZE(ap325rxa_lcdc_modes),
                .lcd_size_cfg = { /* 7.0 inch */
                        .width = 152,
                        .height = 91,
@@ -425,11 +432,18 @@ static struct resource sdhi0_cn3_resources[] = {
        },
 };
 
+static struct sh_mobile_sdhi_info sdhi0_cn3_data = {
+       .tmio_caps      = MMC_CAP_SDIO_IRQ,
+};
+
 static struct platform_device sdhi0_cn3_device = {
        .name           = "sh_mobile_sdhi",
        .id             = 0, /* "sdhi0" clock */
        .num_resources  = ARRAY_SIZE(sdhi0_cn3_resources),
        .resource       = sdhi0_cn3_resources,
+       .dev = {
+               .platform_data = &sdhi0_cn3_data,
+       },
        .archdata = {
                .hwblk_id = HWBLK_SDHI0,
        },
@@ -448,11 +462,18 @@ static struct resource sdhi1_cn7_resources[] = {
        },
 };
 
+static struct sh_mobile_sdhi_info sdhi1_cn7_data = {
+       .tmio_caps      = MMC_CAP_SDIO_IRQ,
+};
+
 static struct platform_device sdhi1_cn7_device = {
        .name           = "sh_mobile_sdhi",
        .id             = 1, /* "sdhi1" clock */
        .num_resources  = ARRAY_SIZE(sdhi1_cn7_resources),
        .resource       = sdhi1_cn7_resources,
+       .dev = {
+               .platform_data = &sdhi1_cn7_data,
+       },
        .archdata = {
                .hwblk_id = HWBLK_SDHI1,
        },
@@ -481,7 +502,6 @@ static struct soc_camera_link ov7725_link = {
        .power          = ov7725_power,
        .board_info     = &ap325rxa_i2c_camera[0],
        .i2c_adapter_id = 0,
-       .module_name    = "ov772x",
        .priv           = &ov7725_info,
 };