OMAP4: clock-common: Move the usb dppl configuration to new func
[oweals/u-boot.git] / arch / arm / cpu / armv7 / omap-common / hwinit-common.c
index 5cf4e2bb2c90b1b1fc302211ca7239a94c97b3a4..ab46bff5af7ab32b62e9fbb243e0896737c2a1aa 100644 (file)
 #include <asm/arch/sys_proto.h>
 #include <asm/sizes.h>
 #include <asm/emif.h>
+#include <asm/omap_common.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifdef CONFIG_SPL_BUILD
-/*
- * We use static variables because global data is not ready yet.
- * Initialized data is available in SPL right from the beginning.
- * We would not typically need to save these parameters in regular
- * U-Boot. This is needed only in SPL at the moment.
- */
-u32 omap_bootdevice = BOOT_DEVICE_MMC1;
-u32 omap_bootmode = MMCSD_MODE_FAT;
-
-u32 omap_boot_device(void)
-{
-       return omap_bootdevice;
-}
-
-u32 omap_boot_mode(void)
-{
-       return omap_bootmode;
-}
-#endif
-
 void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
 {
        int i;
@@ -71,12 +51,16 @@ static void set_mux_conf_regs(void)
                set_muxconf_regs_essential();
                break;
        case OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL:
+#ifdef CONFIG_SYS_ENABLE_PADS_ALL
                set_muxconf_regs_non_essential();
+#endif
                break;
        case OMAP_INIT_CONTEXT_UBOOT_FROM_NOR:
        case OMAP_INIT_CONTEXT_UBOOT_AFTER_CH:
                set_muxconf_regs_essential();
+#ifdef CONFIG_SYS_ENABLE_PADS_ALL
                set_muxconf_regs_non_essential();
+#endif
                break;
        }
 }
@@ -92,17 +76,24 @@ u32 cortex_rev(void)
        return rev;
 }
 
-void omap_rev_string(char *omap_rev_string)
+void omap_rev_string(void)
 {
        u32 omap_rev = omap_revision();
        u32 omap_variant = (omap_rev & 0xFFFF0000) >> 16;
        u32 major_rev = (omap_rev & 0x00000F00) >> 8;
        u32 minor_rev = (omap_rev & 0x000000F0) >> 4;
 
-       sprintf(omap_rev_string, "OMAP%x ES%x.%x", omap_variant, major_rev,
+       printf("OMAP%x ES%x.%x\n", omap_variant, major_rev,
                minor_rev);
 }
 
+#ifdef CONFIG_SPL_BUILD
+static void init_boot_params(void)
+{
+       boot_params_ptr = (u32 *) &boot_params;
+}
+#endif
+
 /*
  * Routine: s_init
  * Description: Does early system init of watchdog, muxing,  andclocks
@@ -129,8 +120,11 @@ void s_init(void)
 #endif
        prcm_init();
 #ifdef CONFIG_SPL_BUILD
+       timer_init();
+
        /* For regular u-boot sdram_init() is called from dram_init() */
        sdram_init();
+       init_boot_params();
 #endif
 }
 
@@ -231,10 +225,8 @@ u32 get_device_type(void)
  */
 int print_cpuinfo(void)
 {
-       char rev_string_buffer[50];
-
-       omap_rev_string(rev_string_buffer);
-       printf("CPU  : %s\n", rev_string_buffer);
+       puts("CPU  : ");
+       omap_rev_string();
 
        return 0;
 }