|
@@ -853,3 +853,133 @@ static struct gpio_led ap4evb_leds[] = {
|
|
|
.gpio = GPIO_PORT187,
|
|
|
.default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = "led1",
|
|
|
+ .gpio = GPIO_PORT188,
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led_platform_data ap4evb_leds_pdata = {
|
|
|
+ .num_leds = ARRAY_SIZE(ap4evb_leds),
|
|
|
+ .leds = ap4evb_leds,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device leds_device = {
|
|
|
+ .name = "leds-gpio",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &ap4evb_leds_pdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct i2c_board_info imx074_info = {
|
|
|
+ I2C_BOARD_INFO("imx074", 0x1a),
|
|
|
+};
|
|
|
+
|
|
|
+static struct soc_camera_link imx074_link = {
|
|
|
+ .bus_id = 0,
|
|
|
+ .board_info = &imx074_info,
|
|
|
+ .i2c_adapter_id = 0,
|
|
|
+ .module_name = "imx074",
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device ap4evb_camera = {
|
|
|
+ .name = "soc-camera-pdrv",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &imx074_link,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct sh_csi2_client_config csi2_clients[] = {
|
|
|
+ {
|
|
|
+ .phy = SH_CSI2_PHY_MAIN,
|
|
|
+ .lanes = 0, /* default: 2 lanes */
|
|
|
+ .channel = 0,
|
|
|
+ .pdev = &ap4evb_camera,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct sh_csi2_pdata csi2_info = {
|
|
|
+ .type = SH_CSI2C,
|
|
|
+ .clients = csi2_clients,
|
|
|
+ .num_clients = ARRAY_SIZE(csi2_clients),
|
|
|
+ .flags = SH_CSI2_ECC | SH_CSI2_CRC,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource csi2_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .name = "CSI2",
|
|
|
+ .start = 0xffc90000,
|
|
|
+ .end = 0xffc90fff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .start = intcs_evt2irq(0x17a0),
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct sh_mobile_ceu_companion csi2 = {
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(csi2_resources),
|
|
|
+ .resource = csi2_resources,
|
|
|
+ .platform_data = &csi2_info,
|
|
|
+};
|
|
|
+
|
|
|
+static struct sh_mobile_ceu_info sh_mobile_ceu_info = {
|
|
|
+ .flags = SH_CEU_FLAG_USE_8BIT_BUS,
|
|
|
+ .max_width = 8188,
|
|
|
+ .max_height = 8188,
|
|
|
+ .csi2 = &csi2,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource ceu_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .name = "CEU",
|
|
|
+ .start = 0xfe910000,
|
|
|
+ .end = 0xfe91009f,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .start = intcs_evt2irq(0x880),
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ [2] = {
|
|
|
+ /* place holder for contiguous memory */
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device ceu_device = {
|
|
|
+ .name = "sh_mobile_ceu",
|
|
|
+ .id = 0, /* "ceu0" clock */
|
|
|
+ .num_resources = ARRAY_SIZE(ceu_resources),
|
|
|
+ .resource = ceu_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &sh_mobile_ceu_info,
|
|
|
+ .coherent_dma_mask = 0xffffffff,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device *ap4evb_devices[] __initdata = {
|
|
|
+ &leds_device,
|
|
|
+ &nor_flash_device,
|
|
|
+ &smc911x_device,
|
|
|
+ &sdhi0_device,
|
|
|
+ &sdhi1_device,
|
|
|
+ &usb1_host_device,
|
|
|
+ &fsi_device,
|
|
|
+ &fsi_ak4643_device,
|
|
|
+ &fsi_hdmi_device,
|
|
|
+ &sh_mmcif_device,
|
|
|
+ &hdmi_device,
|
|
|
+ &lcdc_device,
|
|
|
+ &lcdc1_device,
|
|
|
+ &ceu_device,
|
|
|
+ &ap4evb_camera,
|
|
|
+ &meram_device,
|
|
|
+};
|
|
|
+
|
|
|
+static void __init hdmi_init_pm_clock(void)
|
|
|
+{
|