]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx6/tx6qdl.c
karo: tx6: replace open coded interpretation of cpurev by calls to is_cpu_type()
[karo-tx-uboot.git] / board / karo / tx6 / tx6qdl.c
index a232461e077b260811e8f5c0172cafe7f60c243f..6a0564ef94b260deb14bbb4eeba90a3fadfdc0bd 100644 (file)
@@ -345,23 +345,18 @@ int checkboard(void)
        u32 cpurev = get_cpu_rev();
        char *cpu_str = "?";
 
-       switch ((cpurev >> 12) & 0xff) {
-       case MXC_CPU_MX6SL:
+       if (is_cpu_type(MXC_CPU_MX6SL)) {
                cpu_str = "SL";
                tx6_mod_suffix = "?";
-               break;
-       case MXC_CPU_MX6DL:
+       } else if (is_cpu_type(MXC_CPU_MX6DL)) {
                cpu_str = "DL";
                tx6_mod_suffix = "U";
-               break;
-       case MXC_CPU_MX6SOLO:
+       } else if (is_cpu_type(MXC_CPU_MX6SOLO)) {
                cpu_str = "SOLO";
                tx6_mod_suffix = "S";
-               break;
-       case MXC_CPU_MX6Q:
+       } else if (is_cpu_type(MXC_CPU_MX6Q)) {
                cpu_str = "Q";
                tx6_mod_suffix = "Q";
-               break;
        }
 
        printf("CPU:         Freescale i.MX6%s rev%d.%d at %d MHz\n",
@@ -470,8 +465,6 @@ static int tx6_pmic_probe(void)
 int board_init(void)
 {
        int ret;
-       u32 cpurev = get_cpu_rev();
-       int cpu_variant = (cpurev >> 12) & 0xff;
        int pmic_id;
 
        debug("%s@%d: \n", __func__, __LINE__);
@@ -482,7 +475,7 @@ int board_init(void)
 
        printf("Board: Ka-Ro TX6%s-%d%d%d%c\n",
                tx6_mod_suffix,
-               cpu_variant == MXC_CPU_MX6Q ? 1 : 8,
+               is_cpu_type(MXC_CPU_MX6Q) ? 1 : 8,
                is_lvds(), tx6_get_mod_rev(pmic_id),
                tx6_mem_suffix());
 
@@ -1091,6 +1084,7 @@ void lcd_ctrl_init(void *lcdbase)
 
        if (!lcd_enabled) {
                debug("LCD disabled\n");
+               goto disable;
                return;
        }
 
@@ -1098,6 +1092,7 @@ void lcd_ctrl_init(void *lcdbase)
                debug("Disabling LCD\n");
                lcd_enabled = 0;
                setenv("splashimage", NULL);
+               goto disable;
                return;
        }
 
@@ -1107,6 +1102,7 @@ void lcd_ctrl_init(void *lcdbase)
        if (video_mode == NULL) {
                debug("Disabling LCD\n");
                lcd_enabled = 0;
+               goto disable;
                return;
        }
        vm = video_mode;
@@ -1120,6 +1116,7 @@ void lcd_ctrl_init(void *lcdbase)
                                fb_mode.xres, fb_mode.yres,
                                panel_info.vl_col, panel_info.vl_row);
                        lcd_enabled = 0;
+                       goto disable;
                        return;
                }
        }
@@ -1211,12 +1208,14 @@ void lcd_ctrl_init(void *lcdbase)
                        printf(" %s", p->name);
                }
                printf("\n");
+               goto disable;
                return;
        }
        if (p->xres > panel_info.vl_col || p->yres > panel_info.vl_row) {
                printf("video resolution: %dx%d exceeds hardware limits: %dx%d\n",
                        p->xres, p->yres, panel_info.vl_col, panel_info.vl_row);
                lcd_enabled = 0;
+               goto disable;
                return;
        }
        panel_info.vl_col = p->xres;
@@ -1275,6 +1274,7 @@ void lcd_ctrl_init(void *lcdbase)
                lcd_enabled = 0;
                printf("Invalid %s bus width: %d\n", is_lvds() ? "LVDS" : "LCD",
                        lcd_bus_width);
+               goto disable;
                return;
        }
        if (is_lvds()) {
@@ -1286,6 +1286,7 @@ void lcd_ctrl_init(void *lcdbase)
                if (lvds_chan_mask == 0) {
                        printf("No LVDS channel active\n");
                        lcd_enabled = 0;
+                       goto disable;
                        return;
                }
 
@@ -1315,6 +1316,13 @@ void lcd_ctrl_init(void *lcdbase)
        } else {
                debug("Skipping initialization of LCD controller\n");
        }
+       return;
+
+disable:
+       lcd_enabled = 0;
+       panel_info.vl_col = 0;
+       panel_info.vl_row = 0;
+
 }
 #else
 #define lcd_enabled 0