]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx48/tx48.c
karo: tx48: only print message about cpu_clk, if it was actually changed
[karo-tx-uboot.git] / board / karo / tx48 / tx48.c
index 48cb0c83da837031681307d1882482133570609b..10b939095d350b63c1715946430fc8525f29f08c 100644 (file)
@@ -340,7 +340,7 @@ static const struct pin_mux stk5_pads[] = {
 
 static const struct gpio stk5_gpios[] = {
        { TX48_LED_GPIO, GPIOF_OUTPUT_INIT_LOW, "HEARTBEAT LED", },
-       { TX48_MMC_CD_GPIO, GPIOF_INPUT, "HEARTBEAT LED", },
+       { TX48_MMC_CD_GPIO, GPIOF_INPUT, "MMC0 CD", },
 };
 
 static const struct pin_mux stk5_lcd_pads[] = {
@@ -869,11 +869,8 @@ int checkboard(void)
        prm_rstst = readl(PRM_RSTST);
        show_reset_cause(prm_rstst);
 
-#ifdef CONFIG_OF_LIBFDT
-       printf("Board: Ka-Ro TX48-7020 with FDT support\n");
-#else
        printf("Board: Ka-Ro TX48-7020\n");
-#endif
+
        timer_init();
        return 0;
 }
@@ -881,18 +878,31 @@ int checkboard(void)
 static void tx48_set_cpu_clock(void)
 {
        unsigned long cpu_clk = getenv_ulong("cpu_clk", 10, 0);
+       unsigned long act_cpu_clk;
 
-       if (had_ctrlc() || (prm_rstst & PRM_RSTST_WDT1_RST))
+       if (cpu_clk == 0 || cpu_clk == mpu_clk_rate() / 1000000)
                return;
 
-       if (cpu_clk == 0 || cpu_clk == mpu_clk_rate() / 1000000)
+       if (had_ctrlc() || (prm_rstst & PRM_RSTST_WDT1_RST)) {
+               if (prm_rstst & PRM_RSTST_WDT1_RST) {
+                       printf("Watchdog reset detected; skipping cpu clock change\n");
+               } else {
+                       printf("<CTRL-C> detected; skipping cpu clock change\n");
+               }
                return;
+       }
 
        mpu_pll_config_val(cpu_clk);
 
-       printf("CPU clock set to %lu.%03lu MHz\n",
-               mpu_clk_rate() / 1000000,
-               mpu_clk_rate() / 1000 % 1000);
+       act_cpu_clk = mpu_clk_rate();
+       if (cpu_clk * 1000000 != act_cpu_clk) {
+               printf("Failed to set CPU clock to %lu MHz; using %lu.%03lu MHz instead\n",
+                       cpu_clk, act_cpu_clk / 1000000,
+                       act_cpu_clk / 1000 % 1000);
+       } else {
+               printf("CPU clock set to %lu.%03lu MHz\n",
+                       act_cpu_clk / 1000000, act_cpu_clk / 1000 % 1000);
+       }
 }
 
 static void tx48_init_mac(void)
@@ -1101,7 +1111,7 @@ void ft_board_setup(void *blob, bd_t *bd)
 
        karo_fdt_fixup_touchpanel(blob, tx48_touchpanels,
                                ARRAY_SIZE(tx48_touchpanels));
-       karo_fdt_fixup_usb_otg(blob, "usb0", "phys");
+       karo_fdt_fixup_usb_otg(blob, "usb0", "phys", "vcc-supply");
        karo_fdt_fixup_flexcan(blob, stk5_v5);
 
        karo_fdt_update_fb_mode(blob, video_mode);