|
@@ -348,3 +348,137 @@ static struct sh_eth_plat_data sh_eth_platdata = {
|
|
static struct resource sh_eth_resources[] = {
|
|
static struct resource sh_eth_resources[] = {
|
|
{
|
|
{
|
|
.start = 0xe9a00000,
|
|
.start = 0xe9a00000,
|
|
|
|
+ .end = 0xe9a00800 - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ }, {
|
|
|
|
+ .start = 0xe9a01800,
|
|
|
|
+ .end = 0xe9a02000 - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ }, {
|
|
|
|
+ .start = evt2irq(0x0500),
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device sh_eth_device = {
|
|
|
|
+ .name = "sh-eth",
|
|
|
|
+ .id = -1,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = &sh_eth_platdata,
|
|
|
|
+ },
|
|
|
|
+ .resource = sh_eth_resources,
|
|
|
|
+ .num_resources = ARRAY_SIZE(sh_eth_resources),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* LCDC */
|
|
|
|
+static struct fb_videomode lcdc0_mode = {
|
|
|
|
+ .name = "AMPIER/AM-800480",
|
|
|
|
+ .xres = 800,
|
|
|
|
+ .yres = 480,
|
|
|
|
+ .left_margin = 88,
|
|
|
|
+ .right_margin = 40,
|
|
|
|
+ .hsync_len = 128,
|
|
|
|
+ .upper_margin = 20,
|
|
|
|
+ .lower_margin = 5,
|
|
|
|
+ .vsync_len = 5,
|
|
|
|
+ .sync = 0,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct sh_mobile_lcdc_info lcdc0_info = {
|
|
|
|
+ .clock_source = LCDC_CLK_BUS,
|
|
|
|
+ .ch[0] = {
|
|
|
|
+ .chan = LCDC_CHAN_MAINLCD,
|
|
|
|
+ .fourcc = V4L2_PIX_FMT_RGB565,
|
|
|
|
+ .interface_type = RGB24,
|
|
|
|
+ .clock_divider = 5,
|
|
|
|
+ .flags = 0,
|
|
|
|
+ .lcd_modes = &lcdc0_mode,
|
|
|
|
+ .num_modes = 1,
|
|
|
|
+ .panel_cfg = {
|
|
|
|
+ .width = 111,
|
|
|
|
+ .height = 68,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource lcdc0_resources[] = {
|
|
|
|
+ [0] = {
|
|
|
|
+ .name = "LCD0",
|
|
|
|
+ .start = 0xfe940000,
|
|
|
|
+ .end = 0xfe943fff,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ [1] = {
|
|
|
|
+ .start = intcs_evt2irq(0x580),
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device lcdc0_device = {
|
|
|
|
+ .name = "sh_mobile_lcdc_fb",
|
|
|
|
+ .num_resources = ARRAY_SIZE(lcdc0_resources),
|
|
|
|
+ .resource = lcdc0_resources,
|
|
|
|
+ .id = 0,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = &lcdc0_info,
|
|
|
|
+ .coherent_dma_mask = ~0,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * LCDC1/HDMI
|
|
|
|
+ */
|
|
|
|
+static struct sh_mobile_hdmi_info hdmi_info = {
|
|
|
|
+ .flags = HDMI_OUTPUT_PUSH_PULL |
|
|
|
|
+ HDMI_OUTPUT_POLARITY_HI |
|
|
|
|
+ HDMI_32BIT_REG |
|
|
|
|
+ HDMI_HAS_HTOP1 |
|
|
|
|
+ HDMI_SND_SRC_SPDIF,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource hdmi_resources[] = {
|
|
|
|
+ [0] = {
|
|
|
|
+ .name = "HDMI",
|
|
|
|
+ .start = 0xe6be0000,
|
|
|
|
+ .end = 0xe6be03ff,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ [1] = {
|
|
|
|
+ .start = evt2irq(0x1700),
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+ [2] = {
|
|
|
|
+ .name = "HDMI emma3pf",
|
|
|
|
+ .start = 0xe6be4000,
|
|
|
|
+ .end = 0xe6be43ff,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device hdmi_device = {
|
|
|
|
+ .name = "sh-mobile-hdmi",
|
|
|
|
+ .num_resources = ARRAY_SIZE(hdmi_resources),
|
|
|
|
+ .resource = hdmi_resources,
|
|
|
|
+ .id = -1,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = &hdmi_info,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static const struct fb_videomode lcdc1_mode = {
|
|
|
|
+ .name = "HDMI 720p",
|
|
|
|
+ .xres = 1280,
|
|
|
|
+ .yres = 720,
|
|
|
|
+ .pixclock = 13468,
|
|
|
|
+ .left_margin = 220,
|
|
|
|
+ .right_margin = 110,
|
|
|
|
+ .hsync_len = 40,
|
|
|
|
+ .upper_margin = 20,
|
|
|
|
+ .lower_margin = 5,
|
|
|
|
+ .vsync_len = 5,
|
|
|
|
+ .refresh = 60,
|
|
|
|
+ .sync = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct sh_mobile_lcdc_info hdmi_lcdc_info = {
|
|
|
|
+ .clock_source = LCDC_CLK_PERIPHERAL, /* HDMI clock */
|