]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx6/tx6qdl.c
karo: tx6: add definition for ET070001DM6 display
[karo-tx-uboot.git] / board / karo / tx6 / tx6qdl.c
index 27fc6fac1d81e8de580fa51643cad3a80c957e3e..7293396f4848b935283940f5d9340b397431b55e 100644 (file)
@@ -40,7 +40,7 @@
 
 #define TX6_FEC_RST_GPIO               IMX_GPIO_NR(7, 6)
 #define TX6_FEC_PWR_GPIO               IMX_GPIO_NR(3, 20)
-#define TX6_FEC_INT_GPIO               IMX_GPIO_NR(2, 4)
+#define TX6_FEC_INT_GPIO               IMX_GPIO_NR(7, 1)
 #define TX6_LED_GPIO                   IMX_GPIO_NR(2, 20)
 
 #define TX6_LCD_PWR_GPIO               IMX_GPIO_NR(2, 31)
@@ -336,7 +336,7 @@ static int tx6_rev_2(void)
        struct fuse_bank5_regs *fuse = (void *)ocotp->bank[5].fuse_regs;
        u32 pad_settings = readl(&fuse->pad_settings);
 
-       debug("Fuse pad_settings @ %p = %08x\n",
+       debug("Fuse pad_settings @ %p = %02x\n",
                &fuse->pad_settings, pad_settings);
        return pad_settings & 1;
 }
@@ -425,15 +425,13 @@ int board_init(void)
 
        /* Address of boot parameters */
        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x1000;
-#ifdef CONFIG_OF_LIBFDT
        gd->bd->bi_arch_number = -1;
-#else
-       gd->bd->bi_arch_number = 4429;
-#endif
+
        if (ctrlc()) {
                printf("CTRL-C detected; Skipping PMIC setup\n");
                return 1;
        }
+
        ret = setup_pmic_voltages();
        if (ret) {
                printf("Failed to setup PMIC voltages\n");
@@ -703,12 +701,14 @@ static const struct gpio stk5_gpios[] = {
 };
 
 #ifdef CONFIG_LCD
+static u16 tx6_cmap[256];
 vidinfo_t panel_info = {
        /* set to max. size supported by SoC */
        .vl_col = 1920,
        .vl_row = 1080,
 
        .vl_bpix = LCD_COLOR24,    /* Bits per pixel, 0: 1bpp, 1: 2bpp, 2: 4bpp, 3: 8bpp ... */
+       .cmap = tx6_cmap,
 };
 
 static struct fb_videomode tx6_fb_modes[] = {
@@ -831,6 +831,23 @@ static struct fb_videomode tx6_fb_modes[] = {
                .lower_margin   = 525 - 480 - 35,
                .sync           = FB_SYNC_CLK_LAT_FALL,
        },
+       {
+               /* Emerging ET070001DM6 800 x 480 display.
+                * 152.4 mm x 91.44 mm display area.
+                */
+               .name           = "ET070001DM6",
+               .refresh        = 60,
+               .xres           = 800,
+               .yres           = 480,
+               .pixclock       = KHZ2PICOS(33260),
+               .left_margin    = 216 - 128,
+               .hsync_len      = 128,
+               .right_margin   = 1056 - 800 - 216,
+               .upper_margin   = 35 - 2,
+               .vsync_len      = 2,
+               .lower_margin   = 525 - 480 - 35,
+               .sync           = 0,
+       },
 #else
        {
                /* HannStar HSD100PXN1
@@ -1221,7 +1238,7 @@ static void tx6qdl_set_cpu_clock(void)
                printf("CPU clock set to %lu.%03lu MHz\n",
                        cpu_clk / 1000000, cpu_clk / 1000 % 1000);
        } else {
-               printf("Failed to set CPU clock to %lu MHz\n", cpu_clk);
+               printf("Error: Failed to set CPU clock to %lu MHz\n", cpu_clk);
        }
 }
 
@@ -1235,8 +1252,8 @@ static void tx6_init_mac(void)
                return;
        }
 
-       eth_setenv_enetaddr("ethaddr", mac);
        printf("MAC addr from fuse: %pM\n", mac);
+       eth_setenv_enetaddr("ethaddr", mac);
 }
 
 int board_late_init(void)
@@ -1327,17 +1344,6 @@ static const char *tx6_touchpanels[] = {
        "eeti,egalax_ts",
 };
 
-#ifndef CONFIG_SYS_LVDS_IF
-static inline void tx6_fdt_fixup_sata(void *blob)
-{
-       karo_fdt_enable_node(blob, "/soc/sata", 0);
-}
-#else
-static inline void tx6_fdt_fixup_sata(void *blob)
-{
-}
-#endif
-
 void ft_board_setup(void *blob, bd_t *bd)
 {
        const char *baseboard = getenv("baseboard");
@@ -1354,7 +1360,6 @@ void ft_board_setup(void *blob, bd_t *bd)
                                ARRAY_SIZE(tx6_touchpanels));
        karo_fdt_fixup_usb_otg(blob, "usbotg", "fsl,usbphy");
        karo_fdt_fixup_flexcan(blob, stk5_v5);
-       tx6_fdt_fixup_sata(blob);
 
        karo_fdt_update_fb_mode(blob, video_mode);
 }