Merge branch 'fixes' into next/cleanup
authorOlof Johansson <olof@lixom.net>
Sun, 28 Apr 2013 19:43:08 +0000 (12:43 -0700)
committerOlof Johansson <olof@lixom.net>
Sun, 28 Apr 2013 22:01:12 +0000 (15:01 -0700)
Merging in fixes since there's a conflict in the omap4 clock tables caused by
it.

* fixes: (245 commits)
  ARM: highbank: fix cache flush ordering for cpu hotplug
  ARM: OMAP4: hwmod data: make 'ocp2scp_usb_phy_phy_48m" as the main clock
  arm: mvebu: Fix the irq map function in SMP mode
  Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
  ARM: S3C24XX: Fix interrupt pending register offset of the EINT controller
  ARM: S3C24XX: Correct NR_IRQS definition for s3c2440
  ARM i.MX6: Fix ldb_di clock selection
  ARM: imx: provide twd clock lookup from device tree
  ARM: imx35 Bugfix admux clock
  ARM: clk-imx35: Bugfix iomux clock
  + Linux 3.9-rc6

Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/mach-omap2/cclock44xx_data.c

1  2 
arch/arm/Kconfig
arch/arm/mach-imx/common.h
arch/arm/mach-omap2/cclock44xx_data.c
arch/arm/mach-omap2/timer.c
arch/arm/mach-s3c24xx/irq.c
drivers/clk/tegra/clk-tegra20.c

diff --combined arch/arm/Kconfig
@@@ -410,7 -410,6 +410,7 @@@ config ARCH_GEMIN
        bool "Cortina Systems Gemini"
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_USES_GETTIMEOFFSET
 +      select NEED_MACH_GPIO_H
        select CPU_FA526
        help
          Support for the Cortina Systems Gemini family SoCs
@@@ -474,14 -473,12 +474,14 @@@ config ARCH_MX
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
 +      select CLKSRC_OF
        select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK_PREPARE
        select MULTI_IRQ_HANDLER
        select PINCTRL
        select SPARSE_IRQ
 +      select STMP_DEVICE
        select USE_OF
        help
          Support for Freescale MXS-based family of processors
@@@ -495,6 -492,14 +495,6 @@@ config ARCH_NET
        help
          This enables support for systems based on the Hilscher NetX Soc
  
 -config ARCH_H720X
 -      bool "Hynix HMS720x-based"
 -      select ARCH_USES_GETTIMEOFFSET
 -      select CPU_ARM720T
 -      select ISA_DMA_API
 -      help
 -        This enables support for systems based on the Hynix HMS720x
 -
  config ARCH_IOP13XX
        bool "IOP13xx-based"
        depends on MMU
@@@ -1046,6 -1051,8 +1046,6 @@@ source "arch/arm/mach-footbridge/Kconfi
  
  source "arch/arm/mach-gemini/Kconfig"
  
 -source "arch/arm/mach-h720x/Kconfig"
 -
  source "arch/arm/mach-highbank/Kconfig"
  
  source "arch/arm/mach-integrator/Kconfig"
@@@ -1166,6 -1173,7 +1166,6 @@@ config PLAT_VERSATIL
  config ARM_TIMER_SP804
        bool
        select CLKSRC_MMIO
 -      select HAVE_SCHED_CLOCK
  
  source arch/arm/mm/Kconfig
  
@@@ -1175,9 -1183,9 +1175,9 @@@ config ARM_NR_BANK
        default 8
  
  config IWMMXT
-       bool "Enable iWMMXt support"
+       bool "Enable iWMMXt support" if !CPU_PJ4
        depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
-       default y if PXA27x || PXA3xx || ARCH_MMP
+       default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4
        help
          Enable support for iWMMXt context switching at run time if
          running on a CPU that supports it.
@@@ -1431,6 -1439,16 +1431,16 @@@ config ARM_ERRATA_77542
         to deadlock. This workaround puts DSB before executing ISB if
         an abort may occur on cache maintenance.
  
+ config ARM_ERRATA_798181
+       bool "ARM errata: TLBI/DSB failure on Cortex-A15"
+       depends on CPU_V7 && SMP
+       help
+         On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
+         adequately shooting down all use of the old entries. This
+         option enables the Linux kernel workaround for this erratum
+         which sends an IPI to the CPUs that are running the same ASID
+         as the one being invalidated.
  endmenu
  
  source "arch/arm/common/Kconfig"
@@@ -1585,7 -1603,6 +1595,7 @@@ config HAVE_ARM_ARCH_TIME
  config HAVE_ARM_TWD
        bool
        depends on SMP
 +      select CLKSRC_OF if OF
        help
          This options enables support for the ARM timer and watchdog unit
  
@@@ -2146,6 -2163,13 +2156,6 @@@ if ARCH_HAS_CPUFRE
  
  source "drivers/cpufreq/Kconfig"
  
 -config CPU_FREQ_IMX
 -      tristate "CPUfreq driver for i.MX CPUs"
 -      depends on ARCH_MXC && CPU_FREQ
 -      select CPU_FREQ_TABLE
 -      help
 -        This enables the CPUfreq driver for i.MX CPUs.
 -
  config CPU_FREQ_SA1100
        bool
  
@@@ -110,7 -110,10 +110,9 @@@ void tzic_handle_irq(struct pt_regs *)
  
  extern void imx_enable_cpu(int cpu, bool enable);
  extern void imx_set_cpu_jump(int cpu, void *jump_addr);
+ extern u32 imx_get_cpu_arg(int cpu);
+ extern void imx_set_cpu_arg(int cpu, u32 arg);
  extern void v7_cpu_resume(void);
 -extern u32 *pl310_get_save_ptr(void);
  #ifdef CONFIG_SMP
  extern void v7_secondary_startup(void);
  extern void imx_scu_map_io(void);
@@@ -121,6 -124,8 +123,6 @@@ static inline void imx_scu_map_io(void
  static inline void imx_smp_prepare(void) {}
  static inline void imx_scu_standby_enable(void) {}
  #endif
 -extern void imx_enable_cpu(int cpu, bool enable);
 -extern void imx_set_cpu_jump(int cpu, void *jump_addr);
  extern void imx_src_init(void);
  extern void imx_src_prepare_restart(void);
  extern void imx_gpc_init(void);
   */
  #define OMAP4_DPLL_ABE_DEFFREQ                                98304000
  
+ /*
+  * OMAP4 USB DPLL default frequency. In OMAP4430 TRM version V, section
+  * "3.6.3.9.5 DPLL_USB Preferred Settings" shows that the preferred
+  * locked frequency for the USB DPLL is 960MHz.
+  */
+ #define OMAP4_DPLL_USB_DEFFREQ                                960000000
  /* Root clocks */
  
  DEFINE_CLK_FIXED_RATE(extalt_clkin_ck, CLK_IS_ROOT, 59000000, 0x0);
@@@ -1011,6 -1018,10 +1018,10 @@@ DEFINE_CLK_OMAP_MUX(hsmmc2_fclk, "l3_in
                    OMAP4430_CM_L3INIT_MMC2_CLKCTRL, OMAP4430_CLKSEL_MASK,
                    hsmmc1_fclk_parents, func_dmic_abe_gfclk_ops);
  
+ DEFINE_CLK_GATE(ocp2scp_usb_phy_phy_48m, "func_48m_fclk", &func_48m_fclk, 0x0,
+               OMAP4430_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL,
+               OMAP4430_OPTFCLKEN_PHY_48M_SHIFT, 0x0, NULL);
  DEFINE_CLK_GATE(sha2md5_fck, "l3_div_ck", &l3_div_ck, 0x0,
                OMAP4430_CM_L4SEC_SHA2MD51_CLKCTRL,
                OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL);
@@@ -1413,284 -1424,284 +1424,285 @@@ DEFINE_CLK_MUX(auxclkreq5_ck, auxclkreq
               0x0, NULL);
  
  /*
 - * clkdev
 + * clocks specific to omap4460
   */
 +static struct omap_clk omap446x_clks[] = {
 +      CLK(NULL,       "div_ts_ck",                    &div_ts_ck),
 +      CLK(NULL,       "bandgap_ts_fclk",              &bandgap_ts_fclk),
 +};
 +
 +/*
 + * clocks specific to omap4430
 + */
 +static struct omap_clk omap443x_clks[] = {
 +      CLK(NULL,       "bandgap_fclk",                 &bandgap_fclk),
 +};
  
 +/*
 + * clocks common to omap44xx
 + */
  static struct omap_clk omap44xx_clks[] = {
 -      CLK(NULL,       "extalt_clkin_ck",              &extalt_clkin_ck,       CK_443X),
 -      CLK(NULL,       "pad_clks_src_ck",              &pad_clks_src_ck,       CK_443X),
 -      CLK(NULL,       "pad_clks_ck",                  &pad_clks_ck,   CK_443X),
 -      CLK(NULL,       "pad_slimbus_core_clks_ck",     &pad_slimbus_core_clks_ck,      CK_443X),
 -      CLK(NULL,       "secure_32k_clk_src_ck",        &secure_32k_clk_src_ck, CK_443X),
 -      CLK(NULL,       "slimbus_src_clk",              &slimbus_src_clk,       CK_443X),
 -      CLK(NULL,       "slimbus_clk",                  &slimbus_clk,   CK_443X),
 -      CLK(NULL,       "sys_32k_ck",                   &sys_32k_ck,    CK_443X),
 -      CLK(NULL,       "virt_12000000_ck",             &virt_12000000_ck,      CK_443X),
 -      CLK(NULL,       "virt_13000000_ck",             &virt_13000000_ck,      CK_443X),
 -      CLK(NULL,       "virt_16800000_ck",             &virt_16800000_ck,      CK_443X),
 -      CLK(NULL,       "virt_19200000_ck",             &virt_19200000_ck,      CK_443X),
 -      CLK(NULL,       "virt_26000000_ck",             &virt_26000000_ck,      CK_443X),
 -      CLK(NULL,       "virt_27000000_ck",             &virt_27000000_ck,      CK_443X),
 -      CLK(NULL,       "virt_38400000_ck",             &virt_38400000_ck,      CK_443X),
 -      CLK(NULL,       "sys_clkin_ck",                 &sys_clkin_ck,  CK_443X),
 -      CLK(NULL,       "tie_low_clock_ck",             &tie_low_clock_ck,      CK_443X),
 -      CLK(NULL,       "utmi_phy_clkout_ck",           &utmi_phy_clkout_ck,    CK_443X),
 -      CLK(NULL,       "xclk60mhsp1_ck",               &xclk60mhsp1_ck,        CK_443X),
 -      CLK(NULL,       "xclk60mhsp2_ck",               &xclk60mhsp2_ck,        CK_443X),
 -      CLK(NULL,       "xclk60motg_ck",                &xclk60motg_ck, CK_443X),
 -      CLK(NULL,       "abe_dpll_bypass_clk_mux_ck",   &abe_dpll_bypass_clk_mux_ck,    CK_443X),
 -      CLK(NULL,       "abe_dpll_refclk_mux_ck",       &abe_dpll_refclk_mux_ck,        CK_443X),
 -      CLK(NULL,       "dpll_abe_ck",                  &dpll_abe_ck,   CK_443X),
 -      CLK(NULL,       "dpll_abe_x2_ck",               &dpll_abe_x2_ck,        CK_443X),
 -      CLK(NULL,       "dpll_abe_m2x2_ck",             &dpll_abe_m2x2_ck,      CK_443X),
 -      CLK(NULL,       "abe_24m_fclk",                 &abe_24m_fclk,  CK_443X),
 -      CLK(NULL,       "abe_clk",                      &abe_clk,       CK_443X),
 -      CLK(NULL,       "aess_fclk",                    &aess_fclk,     CK_443X),
 -      CLK(NULL,       "dpll_abe_m3x2_ck",             &dpll_abe_m3x2_ck,      CK_443X),
 -      CLK(NULL,       "core_hsd_byp_clk_mux_ck",      &core_hsd_byp_clk_mux_ck,       CK_443X),
 -      CLK(NULL,       "dpll_core_ck",                 &dpll_core_ck,  CK_443X),
 -      CLK(NULL,       "dpll_core_x2_ck",              &dpll_core_x2_ck,       CK_443X),
 -      CLK(NULL,       "dpll_core_m6x2_ck",            &dpll_core_m6x2_ck,     CK_443X),
 -      CLK(NULL,       "dbgclk_mux_ck",                &dbgclk_mux_ck, CK_443X),
 -      CLK(NULL,       "dpll_core_m2_ck",              &dpll_core_m2_ck,       CK_443X),
 -      CLK(NULL,       "ddrphy_ck",                    &ddrphy_ck,     CK_443X),
 -      CLK(NULL,       "dpll_core_m5x2_ck",            &dpll_core_m5x2_ck,     CK_443X),
 -      CLK(NULL,       "div_core_ck",                  &div_core_ck,   CK_443X),
 -      CLK(NULL,       "div_iva_hs_clk",               &div_iva_hs_clk,        CK_443X),
 -      CLK(NULL,       "div_mpu_hs_clk",               &div_mpu_hs_clk,        CK_443X),
 -      CLK(NULL,       "dpll_core_m4x2_ck",            &dpll_core_m4x2_ck,     CK_443X),
 -      CLK(NULL,       "dll_clk_div_ck",               &dll_clk_div_ck,        CK_443X),
 -      CLK(NULL,       "dpll_abe_m2_ck",               &dpll_abe_m2_ck,        CK_443X),
 -      CLK(NULL,       "dpll_core_m3x2_ck",            &dpll_core_m3x2_ck,     CK_443X),
 -      CLK(NULL,       "dpll_core_m7x2_ck",            &dpll_core_m7x2_ck,     CK_443X),
 -      CLK(NULL,       "iva_hsd_byp_clk_mux_ck",       &iva_hsd_byp_clk_mux_ck,        CK_443X),
 -      CLK(NULL,       "dpll_iva_ck",                  &dpll_iva_ck,   CK_443X),
 -      CLK(NULL,       "dpll_iva_x2_ck",               &dpll_iva_x2_ck,        CK_443X),
 -      CLK(NULL,       "dpll_iva_m4x2_ck",             &dpll_iva_m4x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_iva_m5x2_ck",             &dpll_iva_m5x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_mpu_ck",                  &dpll_mpu_ck,   CK_443X),
 -      CLK(NULL,       "dpll_mpu_m2_ck",               &dpll_mpu_m2_ck,        CK_443X),
 -      CLK(NULL,       "per_hs_clk_div_ck",            &per_hs_clk_div_ck,     CK_443X),
 -      CLK(NULL,       "per_hsd_byp_clk_mux_ck",       &per_hsd_byp_clk_mux_ck,        CK_443X),
 -      CLK(NULL,       "dpll_per_ck",                  &dpll_per_ck,   CK_443X),
 -      CLK(NULL,       "dpll_per_m2_ck",               &dpll_per_m2_ck,        CK_443X),
 -      CLK(NULL,       "dpll_per_x2_ck",               &dpll_per_x2_ck,        CK_443X),
 -      CLK(NULL,       "dpll_per_m2x2_ck",             &dpll_per_m2x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_per_m3x2_ck",             &dpll_per_m3x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_per_m4x2_ck",             &dpll_per_m4x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_per_m5x2_ck",             &dpll_per_m5x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_per_m6x2_ck",             &dpll_per_m6x2_ck,      CK_443X),
 -      CLK(NULL,       "dpll_per_m7x2_ck",             &dpll_per_m7x2_ck,      CK_443X),
 -      CLK(NULL,       "usb_hs_clk_div_ck",            &usb_hs_clk_div_ck,     CK_443X),
 -      CLK(NULL,       "dpll_usb_ck",                  &dpll_usb_ck,   CK_443X),
 -      CLK(NULL,       "dpll_usb_clkdcoldo_ck",        &dpll_usb_clkdcoldo_ck, CK_443X),
 -      CLK(NULL,       "dpll_usb_m2_ck",               &dpll_usb_m2_ck,        CK_443X),
 -      CLK(NULL,       "ducati_clk_mux_ck",            &ducati_clk_mux_ck,     CK_443X),
 -      CLK(NULL,       "func_12m_fclk",                &func_12m_fclk, CK_443X),
 -      CLK(NULL,       "func_24m_clk",                 &func_24m_clk,  CK_443X),
 -      CLK(NULL,       "func_24mc_fclk",               &func_24mc_fclk,        CK_443X),
 -      CLK(NULL,       "func_48m_fclk",                &func_48m_fclk, CK_443X),
 -      CLK(NULL,       "func_48mc_fclk",               &func_48mc_fclk,        CK_443X),
 -      CLK(NULL,       "func_64m_fclk",                &func_64m_fclk, CK_443X),
 -      CLK(NULL,       "func_96m_fclk",                &func_96m_fclk, CK_443X),
 -      CLK(NULL,       "init_60m_fclk",                &init_60m_fclk, CK_443X),
 -      CLK(NULL,       "l3_div_ck",                    &l3_div_ck,     CK_443X),
 -      CLK(NULL,       "l4_div_ck",                    &l4_div_ck,     CK_443X),
 -      CLK(NULL,       "lp_clk_div_ck",                &lp_clk_div_ck, CK_443X),
 -      CLK(NULL,       "l4_wkup_clk_mux_ck",           &l4_wkup_clk_mux_ck,    CK_443X),
 -      CLK("smp_twd",  NULL,                           &mpu_periphclk, CK_443X),
 -      CLK(NULL,       "ocp_abe_iclk",                 &ocp_abe_iclk,  CK_443X),
 -      CLK(NULL,       "per_abe_24m_fclk",             &per_abe_24m_fclk,      CK_443X),
 -      CLK(NULL,       "per_abe_nc_fclk",              &per_abe_nc_fclk,       CK_443X),
 -      CLK(NULL,       "syc_clk_div_ck",               &syc_clk_div_ck,        CK_443X),
 -      CLK(NULL,       "aes1_fck",                     &aes1_fck,      CK_443X),
 -      CLK(NULL,       "aes2_fck",                     &aes2_fck,      CK_443X),
 -      CLK(NULL,       "bandgap_fclk",                 &bandgap_fclk,  CK_443X),
 -      CLK(NULL,       "div_ts_ck",                    &div_ts_ck,     CK_446X),
 -      CLK(NULL,       "bandgap_ts_fclk",              &bandgap_ts_fclk,       CK_446X),
 -      CLK(NULL,       "dmic_sync_mux_ck",             &dmic_sync_mux_ck,      CK_443X),
 -      CLK(NULL,       "func_dmic_abe_gfclk",                  &func_dmic_abe_gfclk,   CK_443X),
 -      CLK(NULL,       "dss_sys_clk",                  &dss_sys_clk,   CK_443X),
 -      CLK(NULL,       "dss_tv_clk",                   &dss_tv_clk,    CK_443X),
 -      CLK(NULL,       "dss_dss_clk",                  &dss_dss_clk,   CK_443X),
 -      CLK(NULL,       "dss_48mhz_clk",                &dss_48mhz_clk, CK_443X),
 -      CLK(NULL,       "dss_fck",                      &dss_fck,       CK_443X),
 -      CLK("omapdss_dss",      "ick",                  &dss_fck,       CK_443X),
 -      CLK(NULL,       "fdif_fck",                     &fdif_fck,      CK_443X),
 -      CLK(NULL,       "gpio1_dbclk",                  &gpio1_dbclk,   CK_443X),
 -      CLK(NULL,       "gpio2_dbclk",                  &gpio2_dbclk,   CK_443X),
 -      CLK(NULL,       "gpio3_dbclk",                  &gpio3_dbclk,   CK_443X),
 -      CLK(NULL,       "gpio4_dbclk",                  &gpio4_dbclk,   CK_443X),
 -      CLK(NULL,       "gpio5_dbclk",                  &gpio5_dbclk,   CK_443X),
 -      CLK(NULL,       "gpio6_dbclk",                  &gpio6_dbclk,   CK_443X),
 -      CLK(NULL,       "sgx_clk_mux",                  &sgx_clk_mux,   CK_443X),
 -      CLK(NULL,       "hsi_fck",                      &hsi_fck,       CK_443X),
 -      CLK(NULL,       "iss_ctrlclk",                  &iss_ctrlclk,   CK_443X),
 -      CLK(NULL,       "mcasp_sync_mux_ck",            &mcasp_sync_mux_ck,     CK_443X),
 -      CLK(NULL,       "func_mcasp_abe_gfclk",                 &func_mcasp_abe_gfclk,  CK_443X),
 -      CLK(NULL,       "mcbsp1_sync_mux_ck",           &mcbsp1_sync_mux_ck,    CK_443X),
 -      CLK(NULL,       "func_mcbsp1_gfclk",                    &func_mcbsp1_gfclk,     CK_443X),
 -      CLK(NULL,       "mcbsp2_sync_mux_ck",           &mcbsp2_sync_mux_ck,    CK_443X),
 -      CLK(NULL,       "func_mcbsp2_gfclk",                    &func_mcbsp2_gfclk,     CK_443X),
 -      CLK(NULL,       "mcbsp3_sync_mux_ck",           &mcbsp3_sync_mux_ck,    CK_443X),
 -      CLK(NULL,       "func_mcbsp3_gfclk",                    &func_mcbsp3_gfclk,     CK_443X),
 -      CLK(NULL,       "mcbsp4_sync_mux_ck",           &mcbsp4_sync_mux_ck,    CK_443X),
 -      CLK(NULL,       "per_mcbsp4_gfclk",                     &per_mcbsp4_gfclk,      CK_443X),
 -      CLK(NULL,       "hsmmc1_fclk",                  &hsmmc1_fclk,   CK_443X),
 -      CLK(NULL,       "hsmmc2_fclk",                  &hsmmc2_fclk,   CK_443X),
 -      CLK(NULL,       "ocp2scp_usb_phy_phy_48m",      &ocp2scp_usb_phy_phy_48m,       CK_443X),
 -      CLK(NULL,       "sha2md5_fck",                  &sha2md5_fck,   CK_443X),
 -      CLK(NULL,       "slimbus1_fclk_1",              &slimbus1_fclk_1,       CK_443X),
 -      CLK(NULL,       "slimbus1_fclk_0",              &slimbus1_fclk_0,       CK_443X),
 -      CLK(NULL,       "slimbus1_fclk_2",              &slimbus1_fclk_2,       CK_443X),
 -      CLK(NULL,       "slimbus1_slimbus_clk",         &slimbus1_slimbus_clk,  CK_443X),
 -      CLK(NULL,       "slimbus2_fclk_1",              &slimbus2_fclk_1,       CK_443X),
 -      CLK(NULL,       "slimbus2_fclk_0",              &slimbus2_fclk_0,       CK_443X),
 -      CLK(NULL,       "slimbus2_slimbus_clk",         &slimbus2_slimbus_clk,  CK_443X),
 -      CLK(NULL,       "smartreflex_core_fck",         &smartreflex_core_fck,  CK_443X),
 -      CLK(NULL,       "smartreflex_iva_fck",          &smartreflex_iva_fck,   CK_443X),
 -      CLK(NULL,       "smartreflex_mpu_fck",          &smartreflex_mpu_fck,   CK_443X),
 -      CLK(NULL,       "dmt1_clk_mux",                 &dmt1_clk_mux,  CK_443X),
 -      CLK(NULL,       "cm2_dm10_mux",                 &cm2_dm10_mux,  CK_443X),
 -      CLK(NULL,       "cm2_dm11_mux",                 &cm2_dm11_mux,  CK_443X),
 -      CLK(NULL,       "cm2_dm2_mux",                  &cm2_dm2_mux,   CK_443X),
 -      CLK(NULL,       "cm2_dm3_mux",                  &cm2_dm3_mux,   CK_443X),
 -      CLK(NULL,       "cm2_dm4_mux",                  &cm2_dm4_mux,   CK_443X),
 -      CLK(NULL,       "timer5_sync_mux",              &timer5_sync_mux,       CK_443X),
 -      CLK(NULL,       "timer6_sync_mux",                      &timer6_sync_mux,       CK_443X),
 -      CLK(NULL,       "timer7_sync_mux",                      &timer7_sync_mux,       CK_443X),
 -      CLK(NULL,       "timer8_sync_mux",                      &timer8_sync_mux,       CK_443X),
 -      CLK(NULL,       "cm2_dm9_mux",                  &cm2_dm9_mux,   CK_443X),
 -      CLK(NULL,       "usb_host_fs_fck",              &usb_host_fs_fck,       CK_443X),
 -      CLK("usbhs_omap",       "fs_fck",               &usb_host_fs_fck,       CK_443X),
 -      CLK(NULL,       "utmi_p1_gfclk",                &utmi_p1_gfclk, CK_443X),
 -      CLK(NULL,       "usb_host_hs_utmi_p1_clk",      &usb_host_hs_utmi_p1_clk,       CK_443X),
 -      CLK(NULL,       "utmi_p2_gfclk",                &utmi_p2_gfclk, CK_443X),
 -      CLK(NULL,       "usb_host_hs_utmi_p2_clk",      &usb_host_hs_utmi_p2_clk,       CK_443X),
 -      CLK(NULL,       "usb_host_hs_utmi_p3_clk",      &usb_host_hs_utmi_p3_clk,       CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic480m_p1_clk",  &usb_host_hs_hsic480m_p1_clk,   CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic60m_p1_clk",   &usb_host_hs_hsic60m_p1_clk,    CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic60m_p2_clk",   &usb_host_hs_hsic60m_p2_clk,    CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic480m_p2_clk",  &usb_host_hs_hsic480m_p2_clk,   CK_443X),
 -      CLK(NULL,       "usb_host_hs_func48mclk",       &usb_host_hs_func48mclk,        CK_443X),
 -      CLK(NULL,       "usb_host_hs_fck",              &usb_host_hs_fck,       CK_443X),
 -      CLK("usbhs_omap",       "hs_fck",               &usb_host_hs_fck,       CK_443X),
 -      CLK(NULL,       "otg_60m_gfclk",                &otg_60m_gfclk, CK_443X),
 -      CLK(NULL,       "usb_otg_hs_xclk",              &usb_otg_hs_xclk,       CK_443X),
 -      CLK(NULL,       "usb_otg_hs_ick",               &usb_otg_hs_ick,        CK_443X),
 -      CLK("musb-omap2430",    "ick",                  &usb_otg_hs_ick,        CK_443X),
 -      CLK(NULL,       "usb_phy_cm_clk32k",            &usb_phy_cm_clk32k,     CK_443X),
 -      CLK(NULL,       "usb_tll_hs_usb_ch2_clk",       &usb_tll_hs_usb_ch2_clk,        CK_443X),
 -      CLK(NULL,       "usb_tll_hs_usb_ch0_clk",       &usb_tll_hs_usb_ch0_clk,        CK_443X),
 -      CLK(NULL,       "usb_tll_hs_usb_ch1_clk",       &usb_tll_hs_usb_ch1_clk,        CK_443X),
 -      CLK(NULL,       "usb_tll_hs_ick",               &usb_tll_hs_ick,        CK_443X),
 -      CLK("usbhs_omap",       "usbtll_ick",           &usb_tll_hs_ick,        CK_443X),
 -      CLK("usbhs_tll",        "usbtll_ick",           &usb_tll_hs_ick,        CK_443X),
 -      CLK(NULL,       "usim_ck",                      &usim_ck,       CK_443X),
 -      CLK(NULL,       "usim_fclk",                    &usim_fclk,     CK_443X),
 -      CLK(NULL,       "pmd_stm_clock_mux_ck",         &pmd_stm_clock_mux_ck,  CK_443X),
 -      CLK(NULL,       "pmd_trace_clk_mux_ck",         &pmd_trace_clk_mux_ck,  CK_443X),
 -      CLK(NULL,       "stm_clk_div_ck",               &stm_clk_div_ck,        CK_443X),
 -      CLK(NULL,       "trace_clk_div_ck",             &trace_clk_div_ck,      CK_443X),
 -      CLK(NULL,       "auxclk0_src_ck",               &auxclk0_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk0_ck",                   &auxclk0_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq0_ck",                &auxclkreq0_ck, CK_443X),
 -      CLK(NULL,       "auxclk1_src_ck",               &auxclk1_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk1_ck",                   &auxclk1_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq1_ck",                &auxclkreq1_ck, CK_443X),
 -      CLK(NULL,       "auxclk2_src_ck",               &auxclk2_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk2_ck",                   &auxclk2_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq2_ck",                &auxclkreq2_ck, CK_443X),
 -      CLK(NULL,       "auxclk3_src_ck",               &auxclk3_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk3_ck",                   &auxclk3_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq3_ck",                &auxclkreq3_ck, CK_443X),
 -      CLK(NULL,       "auxclk4_src_ck",               &auxclk4_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk4_ck",                   &auxclk4_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq4_ck",                &auxclkreq4_ck, CK_443X),
 -      CLK(NULL,       "auxclk5_src_ck",               &auxclk5_src_ck,        CK_443X),
 -      CLK(NULL,       "auxclk5_ck",                   &auxclk5_ck,    CK_443X),
 -      CLK(NULL,       "auxclkreq5_ck",                &auxclkreq5_ck, CK_443X),
 -      CLK("omap-gpmc",        "fck",                  &dummy_ck,      CK_443X),
 -      CLK("omap_i2c.1",       "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_i2c.2",       "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_i2c.3",       "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_i2c.4",       "ick",                  &dummy_ck,      CK_443X),
 -      CLK(NULL,       "mailboxes_ick",                &dummy_ck,      CK_443X),
 -      CLK("omap_hsmmc.0",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_hsmmc.1",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_hsmmc.2",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_hsmmc.3",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap_hsmmc.4",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap-mcbsp.1",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap-mcbsp.2",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap-mcbsp.3",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap-mcbsp.4",     "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap2_mcspi.1",    "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap2_mcspi.2",    "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap2_mcspi.3",    "ick",                  &dummy_ck,      CK_443X),
 -      CLK("omap2_mcspi.4",    "ick",                  &dummy_ck,      CK_443X),
 -      CLK(NULL,       "uart1_ick",                    &dummy_ck,      CK_443X),
 -      CLK(NULL,       "uart2_ick",                    &dummy_ck,      CK_443X),
 -      CLK(NULL,       "uart3_ick",                    &dummy_ck,      CK_443X),
 -      CLK(NULL,       "uart4_ick",                    &dummy_ck,      CK_443X),
 -      CLK("usbhs_omap",       "usbhost_ick",          &dummy_ck,              CK_443X),
 -      CLK("usbhs_omap",       "usbtll_fck",           &dummy_ck,      CK_443X),
 -      CLK("usbhs_tll",        "usbtll_fck",           &dummy_ck,      CK_443X),
 -      CLK("omap_wdt", "ick",                          &dummy_ck,      CK_443X),
 -      CLK(NULL,       "timer_32k_ck", &sys_32k_ck,    CK_443X),
 +      CLK(NULL,       "extalt_clkin_ck",              &extalt_clkin_ck),
 +      CLK(NULL,       "pad_clks_src_ck",              &pad_clks_src_ck),
 +      CLK(NULL,       "pad_clks_ck",                  &pad_clks_ck),
 +      CLK(NULL,       "pad_slimbus_core_clks_ck",     &pad_slimbus_core_clks_ck),
 +      CLK(NULL,       "secure_32k_clk_src_ck",        &secure_32k_clk_src_ck),
 +      CLK(NULL,       "slimbus_src_clk",              &slimbus_src_clk),
 +      CLK(NULL,       "slimbus_clk",                  &slimbus_clk),
 +      CLK(NULL,       "sys_32k_ck",                   &sys_32k_ck),
 +      CLK(NULL,       "virt_12000000_ck",             &virt_12000000_ck),
 +      CLK(NULL,       "virt_13000000_ck",             &virt_13000000_ck),
 +      CLK(NULL,       "virt_16800000_ck",             &virt_16800000_ck),
 +      CLK(NULL,       "virt_19200000_ck",             &virt_19200000_ck),
 +      CLK(NULL,       "virt_26000000_ck",             &virt_26000000_ck),
 +      CLK(NULL,       "virt_27000000_ck",             &virt_27000000_ck),
 +      CLK(NULL,       "virt_38400000_ck",             &virt_38400000_ck),
 +      CLK(NULL,       "sys_clkin_ck",                 &sys_clkin_ck),
 +      CLK(NULL,       "tie_low_clock_ck",             &tie_low_clock_ck),
 +      CLK(NULL,       "utmi_phy_clkout_ck",           &utmi_phy_clkout_ck),
 +      CLK(NULL,       "xclk60mhsp1_ck",               &xclk60mhsp1_ck),
 +      CLK(NULL,       "xclk60mhsp2_ck",               &xclk60mhsp2_ck),
 +      CLK(NULL,       "xclk60motg_ck",                &xclk60motg_ck),
 +      CLK(NULL,       "abe_dpll_bypass_clk_mux_ck",   &abe_dpll_bypass_clk_mux_ck),
 +      CLK(NULL,       "abe_dpll_refclk_mux_ck",       &abe_dpll_refclk_mux_ck),
 +      CLK(NULL,       "dpll_abe_ck",                  &dpll_abe_ck),
 +      CLK(NULL,       "dpll_abe_x2_ck",               &dpll_abe_x2_ck),
 +      CLK(NULL,       "dpll_abe_m2x2_ck",             &dpll_abe_m2x2_ck),
 +      CLK(NULL,       "abe_24m_fclk",                 &abe_24m_fclk),
 +      CLK(NULL,       "abe_clk",                      &abe_clk),
 +      CLK(NULL,       "aess_fclk",                    &aess_fclk),
 +      CLK(NULL,       "dpll_abe_m3x2_ck",             &dpll_abe_m3x2_ck),
 +      CLK(NULL,       "core_hsd_byp_clk_mux_ck",      &core_hsd_byp_clk_mux_ck),
 +      CLK(NULL,       "dpll_core_ck",                 &dpll_core_ck),
 +      CLK(NULL,       "dpll_core_x2_ck",              &dpll_core_x2_ck),
 +      CLK(NULL,       "dpll_core_m6x2_ck",            &dpll_core_m6x2_ck),
 +      CLK(NULL,       "dbgclk_mux_ck",                &dbgclk_mux_ck),
 +      CLK(NULL,       "dpll_core_m2_ck",              &dpll_core_m2_ck),
 +      CLK(NULL,       "ddrphy_ck",                    &ddrphy_ck),
 +      CLK(NULL,       "dpll_core_m5x2_ck",            &dpll_core_m5x2_ck),
 +      CLK(NULL,       "div_core_ck",                  &div_core_ck),
 +      CLK(NULL,       "div_iva_hs_clk",               &div_iva_hs_clk),
 +      CLK(NULL,       "div_mpu_hs_clk",               &div_mpu_hs_clk),
 +      CLK(NULL,       "dpll_core_m4x2_ck",            &dpll_core_m4x2_ck),
 +      CLK(NULL,       "dll_clk_div_ck",               &dll_clk_div_ck),
 +      CLK(NULL,       "dpll_abe_m2_ck",               &dpll_abe_m2_ck),
 +      CLK(NULL,       "dpll_core_m3x2_ck",            &dpll_core_m3x2_ck),
 +      CLK(NULL,       "dpll_core_m7x2_ck",            &dpll_core_m7x2_ck),
 +      CLK(NULL,       "iva_hsd_byp_clk_mux_ck",       &iva_hsd_byp_clk_mux_ck),
 +      CLK(NULL,       "dpll_iva_ck",                  &dpll_iva_ck),
 +      CLK(NULL,       "dpll_iva_x2_ck",               &dpll_iva_x2_ck),
 +      CLK(NULL,       "dpll_iva_m4x2_ck",             &dpll_iva_m4x2_ck),
 +      CLK(NULL,       "dpll_iva_m5x2_ck",             &dpll_iva_m5x2_ck),
 +      CLK(NULL,       "dpll_mpu_ck",                  &dpll_mpu_ck),
 +      CLK(NULL,       "dpll_mpu_m2_ck",               &dpll_mpu_m2_ck),
 +      CLK(NULL,       "per_hs_clk_div_ck",            &per_hs_clk_div_ck),
 +      CLK(NULL,       "per_hsd_byp_clk_mux_ck",       &per_hsd_byp_clk_mux_ck),
 +      CLK(NULL,       "dpll_per_ck",                  &dpll_per_ck),
 +      CLK(NULL,       "dpll_per_m2_ck",               &dpll_per_m2_ck),
 +      CLK(NULL,       "dpll_per_x2_ck",               &dpll_per_x2_ck),
 +      CLK(NULL,       "dpll_per_m2x2_ck",             &dpll_per_m2x2_ck),
 +      CLK(NULL,       "dpll_per_m3x2_ck",             &dpll_per_m3x2_ck),
 +      CLK(NULL,       "dpll_per_m4x2_ck",             &dpll_per_m4x2_ck),
 +      CLK(NULL,       "dpll_per_m5x2_ck",             &dpll_per_m5x2_ck),
 +      CLK(NULL,       "dpll_per_m6x2_ck",             &dpll_per_m6x2_ck),
 +      CLK(NULL,       "dpll_per_m7x2_ck",             &dpll_per_m7x2_ck),
 +      CLK(NULL,       "usb_hs_clk_div_ck",            &usb_hs_clk_div_ck),
 +      CLK(NULL,       "dpll_usb_ck",                  &dpll_usb_ck),
 +      CLK(NULL,       "dpll_usb_clkdcoldo_ck",        &dpll_usb_clkdcoldo_ck),
 +      CLK(NULL,       "dpll_usb_m2_ck",               &dpll_usb_m2_ck),
 +      CLK(NULL,       "ducati_clk_mux_ck",            &ducati_clk_mux_ck),
 +      CLK(NULL,       "func_12m_fclk",                &func_12m_fclk),
 +      CLK(NULL,       "func_24m_clk",                 &func_24m_clk),
 +      CLK(NULL,       "func_24mc_fclk",               &func_24mc_fclk),
 +      CLK(NULL,       "func_48m_fclk",                &func_48m_fclk),
 +      CLK(NULL,       "func_48mc_fclk",               &func_48mc_fclk),
 +      CLK(NULL,       "func_64m_fclk",                &func_64m_fclk),
 +      CLK(NULL,       "func_96m_fclk",                &func_96m_fclk),
 +      CLK(NULL,       "init_60m_fclk",                &init_60m_fclk),
 +      CLK(NULL,       "l3_div_ck",                    &l3_div_ck),
 +      CLK(NULL,       "l4_div_ck",                    &l4_div_ck),
 +      CLK(NULL,       "lp_clk_div_ck",                &lp_clk_div_ck),
 +      CLK(NULL,       "l4_wkup_clk_mux_ck",           &l4_wkup_clk_mux_ck),
 +      CLK("smp_twd",  NULL,                           &mpu_periphclk),
 +      CLK(NULL,       "ocp_abe_iclk",                 &ocp_abe_iclk),
 +      CLK(NULL,       "per_abe_24m_fclk",             &per_abe_24m_fclk),
 +      CLK(NULL,       "per_abe_nc_fclk",              &per_abe_nc_fclk),
 +      CLK(NULL,       "syc_clk_div_ck",               &syc_clk_div_ck),
 +      CLK(NULL,       "aes1_fck",                     &aes1_fck),
 +      CLK(NULL,       "aes2_fck",                     &aes2_fck),
 +      CLK(NULL,       "dmic_sync_mux_ck",             &dmic_sync_mux_ck),
 +      CLK(NULL,       "func_dmic_abe_gfclk",          &func_dmic_abe_gfclk),
 +      CLK(NULL,       "dss_sys_clk",                  &dss_sys_clk),
 +      CLK(NULL,       "dss_tv_clk",                   &dss_tv_clk),
 +      CLK(NULL,       "dss_dss_clk",                  &dss_dss_clk),
 +      CLK(NULL,       "dss_48mhz_clk",                &dss_48mhz_clk),
 +      CLK(NULL,       "dss_fck",                      &dss_fck),
 +      CLK("omapdss_dss",      "ick",                  &dss_fck),
 +      CLK(NULL,       "fdif_fck",                     &fdif_fck),
 +      CLK(NULL,       "gpio1_dbclk",                  &gpio1_dbclk),
 +      CLK(NULL,       "gpio2_dbclk",                  &gpio2_dbclk),
 +      CLK(NULL,       "gpio3_dbclk",                  &gpio3_dbclk),
 +      CLK(NULL,       "gpio4_dbclk",                  &gpio4_dbclk),
 +      CLK(NULL,       "gpio5_dbclk",                  &gpio5_dbclk),
 +      CLK(NULL,       "gpio6_dbclk",                  &gpio6_dbclk),
 +      CLK(NULL,       "sgx_clk_mux",                  &sgx_clk_mux),
 +      CLK(NULL,       "hsi_fck",                      &hsi_fck),
 +      CLK(NULL,       "iss_ctrlclk",                  &iss_ctrlclk),
 +      CLK(NULL,       "mcasp_sync_mux_ck",            &mcasp_sync_mux_ck),
 +      CLK(NULL,       "func_mcasp_abe_gfclk",         &func_mcasp_abe_gfclk),
 +      CLK(NULL,       "mcbsp1_sync_mux_ck",           &mcbsp1_sync_mux_ck),
 +      CLK(NULL,       "func_mcbsp1_gfclk",            &func_mcbsp1_gfclk),
 +      CLK(NULL,       "mcbsp2_sync_mux_ck",           &mcbsp2_sync_mux_ck),
 +      CLK(NULL,       "func_mcbsp2_gfclk",            &func_mcbsp2_gfclk),
 +      CLK(NULL,       "mcbsp3_sync_mux_ck",           &mcbsp3_sync_mux_ck),
 +      CLK(NULL,       "func_mcbsp3_gfclk",            &func_mcbsp3_gfclk),
 +      CLK(NULL,       "mcbsp4_sync_mux_ck",           &mcbsp4_sync_mux_ck),
 +      CLK(NULL,       "per_mcbsp4_gfclk",             &per_mcbsp4_gfclk),
 +      CLK(NULL,       "hsmmc1_fclk",                  &hsmmc1_fclk),
 +      CLK(NULL,       "hsmmc2_fclk",                  &hsmmc2_fclk),
++      CLK(NULL,       "ocp2scp_usb_phy_phy_48m",      &ocp2scp_usb_phy_phy_48m),
 +      CLK(NULL,       "sha2md5_fck",                  &sha2md5_fck),
 +      CLK(NULL,       "slimbus1_fclk_1",              &slimbus1_fclk_1),
 +      CLK(NULL,       "slimbus1_fclk_0",              &slimbus1_fclk_0),
 +      CLK(NULL,       "slimbus1_fclk_2",              &slimbus1_fclk_2),
 +      CLK(NULL,       "slimbus1_slimbus_clk",         &slimbus1_slimbus_clk),
 +      CLK(NULL,       "slimbus2_fclk_1",              &slimbus2_fclk_1),
 +      CLK(NULL,       "slimbus2_fclk_0",              &slimbus2_fclk_0),
 +      CLK(NULL,       "slimbus2_slimbus_clk",         &slimbus2_slimbus_clk),
 +      CLK(NULL,       "smartreflex_core_fck",         &smartreflex_core_fck),
 +      CLK(NULL,       "smartreflex_iva_fck",          &smartreflex_iva_fck),
 +      CLK(NULL,       "smartreflex_mpu_fck",          &smartreflex_mpu_fck),
 +      CLK(NULL,       "dmt1_clk_mux",                 &dmt1_clk_mux),
 +      CLK(NULL,       "cm2_dm10_mux",                 &cm2_dm10_mux),
 +      CLK(NULL,       "cm2_dm11_mux",                 &cm2_dm11_mux),
 +      CLK(NULL,       "cm2_dm2_mux",                  &cm2_dm2_mux),
 +      CLK(NULL,       "cm2_dm3_mux",                  &cm2_dm3_mux),
 +      CLK(NULL,       "cm2_dm4_mux",                  &cm2_dm4_mux),
 +      CLK(NULL,       "timer5_sync_mux",              &timer5_sync_mux),
 +      CLK(NULL,       "timer6_sync_mux",              &timer6_sync_mux),
 +      CLK(NULL,       "timer7_sync_mux",              &timer7_sync_mux),
 +      CLK(NULL,       "timer8_sync_mux",              &timer8_sync_mux),
 +      CLK(NULL,       "cm2_dm9_mux",                  &cm2_dm9_mux),
 +      CLK(NULL,       "usb_host_fs_fck",              &usb_host_fs_fck),
 +      CLK("usbhs_omap",       "fs_fck",               &usb_host_fs_fck),
 +      CLK(NULL,       "utmi_p1_gfclk",                &utmi_p1_gfclk),
 +      CLK(NULL,       "usb_host_hs_utmi_p1_clk",      &usb_host_hs_utmi_p1_clk),
 +      CLK(NULL,       "utmi_p2_gfclk",                &utmi_p2_gfclk),
 +      CLK(NULL,       "usb_host_hs_utmi_p2_clk",      &usb_host_hs_utmi_p2_clk),
 +      CLK(NULL,       "usb_host_hs_utmi_p3_clk",      &usb_host_hs_utmi_p3_clk),
 +      CLK(NULL,       "usb_host_hs_hsic480m_p1_clk",  &usb_host_hs_hsic480m_p1_clk),
 +      CLK(NULL,       "usb_host_hs_hsic60m_p1_clk",   &usb_host_hs_hsic60m_p1_clk),
 +      CLK(NULL,       "usb_host_hs_hsic60m_p2_clk",   &usb_host_hs_hsic60m_p2_clk),
 +      CLK(NULL,       "usb_host_hs_hsic480m_p2_clk",  &usb_host_hs_hsic480m_p2_clk),
 +      CLK(NULL,       "usb_host_hs_func48mclk",       &usb_host_hs_func48mclk),
 +      CLK(NULL,       "usb_host_hs_fck",              &usb_host_hs_fck),
 +      CLK("usbhs_omap",       "hs_fck",               &usb_host_hs_fck),
 +      CLK(NULL,       "otg_60m_gfclk",                &otg_60m_gfclk),
 +      CLK(NULL,       "usb_otg_hs_xclk",              &usb_otg_hs_xclk),
 +      CLK(NULL,       "usb_otg_hs_ick",               &usb_otg_hs_ick),
 +      CLK("musb-omap2430",    "ick",                  &usb_otg_hs_ick),
 +      CLK(NULL,       "usb_phy_cm_clk32k",            &usb_phy_cm_clk32k),
 +      CLK(NULL,       "usb_tll_hs_usb_ch2_clk",       &usb_tll_hs_usb_ch2_clk),
 +      CLK(NULL,       "usb_tll_hs_usb_ch0_clk",       &usb_tll_hs_usb_ch0_clk),
 +      CLK(NULL,       "usb_tll_hs_usb_ch1_clk",       &usb_tll_hs_usb_ch1_clk),
 +      CLK(NULL,       "usb_tll_hs_ick",               &usb_tll_hs_ick),
 +      CLK("usbhs_omap",       "usbtll_ick",           &usb_tll_hs_ick),
 +      CLK("usbhs_tll",        "usbtll_ick",           &usb_tll_hs_ick),
 +      CLK(NULL,       "usim_ck",                      &usim_ck),
 +      CLK(NULL,       "usim_fclk",                    &usim_fclk),
 +      CLK(NULL,       "pmd_stm_clock_mux_ck",         &pmd_stm_clock_mux_ck),
 +      CLK(NULL,       "pmd_trace_clk_mux_ck",         &pmd_trace_clk_mux_ck),
 +      CLK(NULL,       "stm_clk_div_ck",               &stm_clk_div_ck),
 +      CLK(NULL,       "trace_clk_div_ck",             &trace_clk_div_ck),
 +      CLK(NULL,       "auxclk0_src_ck",               &auxclk0_src_ck),
 +      CLK(NULL,       "auxclk0_ck",                   &auxclk0_ck),
 +      CLK(NULL,       "auxclkreq0_ck",                &auxclkreq0_ck),
 +      CLK(NULL,       "auxclk1_src_ck",               &auxclk1_src_ck),
 +      CLK(NULL,       "auxclk1_ck",                   &auxclk1_ck),
 +      CLK(NULL,       "auxclkreq1_ck",                &auxclkreq1_ck),
 +      CLK(NULL,       "auxclk2_src_ck",               &auxclk2_src_ck),
 +      CLK(NULL,       "auxclk2_ck",                   &auxclk2_ck),
 +      CLK(NULL,       "auxclkreq2_ck",                &auxclkreq2_ck),
 +      CLK(NULL,       "auxclk3_src_ck",               &auxclk3_src_ck),
 +      CLK(NULL,       "auxclk3_ck",                   &auxclk3_ck),
 +      CLK(NULL,       "auxclkreq3_ck",                &auxclkreq3_ck),
 +      CLK(NULL,       "auxclk4_src_ck",               &auxclk4_src_ck),
 +      CLK(NULL,       "auxclk4_ck",                   &auxclk4_ck),
 +      CLK(NULL,       "auxclkreq4_ck",                &auxclkreq4_ck),
 +      CLK(NULL,       "auxclk5_src_ck",               &auxclk5_src_ck),
 +      CLK(NULL,       "auxclk5_ck",                   &auxclk5_ck),
 +      CLK(NULL,       "auxclkreq5_ck",                &auxclkreq5_ck),
 +      CLK("omap-gpmc",        "fck",                  &dummy_ck),
 +      CLK("omap_i2c.1",       "ick",                  &dummy_ck),
 +      CLK("omap_i2c.2",       "ick",                  &dummy_ck),
 +      CLK("omap_i2c.3",       "ick",                  &dummy_ck),
 +      CLK("omap_i2c.4",       "ick",                  &dummy_ck),
 +      CLK(NULL,       "mailboxes_ick",                &dummy_ck),
 +      CLK("omap_hsmmc.0",     "ick",                  &dummy_ck),
 +      CLK("omap_hsmmc.1",     "ick",                  &dummy_ck),
 +      CLK("omap_hsmmc.2",     "ick",                  &dummy_ck),
 +      CLK("omap_hsmmc.3",     "ick",                  &dummy_ck),
 +      CLK("omap_hsmmc.4",     "ick",                  &dummy_ck),
 +      CLK("omap-mcbsp.1",     "ick",                  &dummy_ck),
 +      CLK("omap-mcbsp.2",     "ick",                  &dummy_ck),
 +      CLK("omap-mcbsp.3",     "ick",                  &dummy_ck),
 +      CLK("omap-mcbsp.4",     "ick",                  &dummy_ck),
 +      CLK("omap2_mcspi.1",    "ick",                  &dummy_ck),
 +      CLK("omap2_mcspi.2",    "ick",                  &dummy_ck),
 +      CLK("omap2_mcspi.3",    "ick",                  &dummy_ck),
 +      CLK("omap2_mcspi.4",    "ick",                  &dummy_ck),
 +      CLK(NULL,       "uart1_ick",                    &dummy_ck),
 +      CLK(NULL,       "uart2_ick",                    &dummy_ck),
 +      CLK(NULL,       "uart3_ick",                    &dummy_ck),
 +      CLK(NULL,       "uart4_ick",                    &dummy_ck),
 +      CLK("usbhs_omap",       "usbhost_ick",          &dummy_ck),
 +      CLK("usbhs_omap",       "usbtll_fck",           &dummy_ck),
 +      CLK("usbhs_tll",        "usbtll_fck",           &dummy_ck),
 +      CLK("omap_wdt", "ick",                          &dummy_ck),
 +      CLK(NULL,       "timer_32k_ck", &sys_32k_ck),
        /* TODO: Remove "omap_timer.X" aliases once DT migration is complete */
 -      CLK("omap_timer.1",     "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.2",     "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.3",     "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.4",     "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.9",     "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.10",    "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.11",    "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("omap_timer.5",     "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("omap_timer.6",     "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("omap_timer.7",     "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("omap_timer.8",     "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("4a318000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("48032000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("48034000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("48036000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("4803e000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("48086000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("48088000.timer",   "timer_sys_ck", &sys_clkin_ck,  CK_443X),
 -      CLK("40138000.timer",   "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("4013a000.timer",   "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("4013c000.timer",   "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK("4013e000.timer",   "timer_sys_ck", &syc_clk_div_ck,        CK_443X),
 -      CLK(NULL,       "cpufreq_ck",   &dpll_mpu_ck,   CK_443X),
 +      CLK("omap_timer.1",     "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.2",     "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.3",     "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.4",     "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.9",     "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.10",    "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.11",    "timer_sys_ck", &sys_clkin_ck),
 +      CLK("omap_timer.5",     "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("omap_timer.6",     "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("omap_timer.7",     "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("omap_timer.8",     "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("4a318000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("48032000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("48034000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("48036000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("4803e000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("48086000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("48088000.timer",   "timer_sys_ck", &sys_clkin_ck),
 +      CLK("40138000.timer",   "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("4013a000.timer",   "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("4013c000.timer",   "timer_sys_ck", &syc_clk_div_ck),
 +      CLK("4013e000.timer",   "timer_sys_ck", &syc_clk_div_ck),
 +      CLK(NULL,       "cpufreq_ck",   &dpll_mpu_ck),
  };
  
  int __init omap4xxx_clk_init(void)
  {
 -      u32 cpu_clkflg;
 -      struct omap_clk *c;
        int rc;
  
        if (cpu_is_omap443x()) {
                cpu_mask = RATE_IN_4430;
 -              cpu_clkflg = CK_443X;
 +              omap_clocks_register(omap443x_clks, ARRAY_SIZE(omap443x_clks));
        } else if (cpu_is_omap446x() || cpu_is_omap447x()) {
                cpu_mask = RATE_IN_4460 | RATE_IN_4430;
 -              cpu_clkflg = CK_446X | CK_443X;
 -
 +              omap_clocks_register(omap446x_clks, ARRAY_SIZE(omap446x_clks));
                if (cpu_is_omap447x())
                        pr_warn("WARNING: OMAP4470 clock data incomplete!\n");
        } else {
                return 0;
        }
  
 -      for (c = omap44xx_clks; c < omap44xx_clks + ARRAY_SIZE(omap44xx_clks);
 -                                                                      c++) {
 -              if (c->cpu & cpu_clkflg) {
 -                      clkdev_add(&c->lk);
 -                      if (!__clk_init(NULL, c->lk.clk))
 -                              omap2_init_clk_hw_omap_clocks(c->lk.clk);
 -              }
 -      }
 +      omap_clocks_register(omap44xx_clks, ARRAY_SIZE(omap44xx_clks));
  
        omap2_clk_disable_autoidle_all();
  
        if (rc)
                pr_err("%s: failed to configure ABE DPLL!\n", __func__);
  
+       /*
+        * Lock USB DPLL on OMAP4 devices so that the L3INIT power
+        * domain can transition to retention state when not in use.
+        */
+       rc = clk_set_rate(&dpll_usb_ck, OMAP4_DPLL_USB_DEFFREQ);
+       if (rc)
+               pr_err("%s: failed to configure USB DPLL!\n", __func__);
        return 0;
  }
@@@ -547,6 -547,8 +547,8 @@@ static inline void __init realtime_coun
                               clksrc_nr, clksrc_src)                   \
  void __init omap##name##_gptimer_timer_init(void)                     \
  {                                                                     \
+       if (omap_clk_init)                                              \
+               omap_clk_init();                                        \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
        omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src);        \
                                clksrc_nr, clksrc_src)                  \
  void __init omap##name##_sync32k_timer_init(void)             \
  {                                                                     \
+       if (omap_clk_init)                                              \
+               omap_clk_init();                                        \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
        /* Enable the use of clocksource="gp_timer" kernel parameter */ \
@@@ -597,7 -601,7 +601,7 @@@ void __init omap4_local_timer_init(void
                int err;
  
                if (of_have_populated_dt()) {
 -                      twd_local_timer_of_register();
 +                      clocksource_of_init();
                        return;
                }
  
@@@ -25,7 -25,6 +25,7 @@@
  #include <linux/ioport.h>
  #include <linux/device.h>
  #include <linux/irqdomain.h>
 +#include <linux/irqchip/chained_irq.h>
  
  #include <asm/mach/irq.h>
  
@@@ -35,6 -34,7 +35,6 @@@
  #include <plat/cpu.h>
  #include <plat/regs-irqtype.h>
  #include <plat/pm.h>
 -#include <plat/irq.h>
  
  #define S3C_IRQTYPE_NONE      0
  #define S3C_IRQTYPE_EINT      1
@@@ -175,7 -175,8 +175,7 @@@ static int s3c_irqext_type_set(void __i
        return 0;
  }
  
 -/* FIXME: make static when it's out of plat-samsung/irq.h */
 -int s3c_irqext_type(struct irq_data *data, unsigned int type)
 +static int s3c_irqext_type(struct irq_data *data, unsigned int type)
  {
        void __iomem *extint_reg;
        void __iomem *gpcon_reg;
@@@ -223,7 -224,7 +223,7 @@@ static int s3c_irqext0_type(struct irq_
                                   extint_offset, type);
  }
  
 -struct irq_chip s3c_irq_chip = {
 +static struct irq_chip s3c_irq_chip = {
        .name           = "s3c",
        .irq_ack        = s3c_irq_ack,
        .irq_mask       = s3c_irq_mask,
        .irq_set_wake   = s3c_irq_wake
  };
  
 -struct irq_chip s3c_irq_level_chip = {
 +static struct irq_chip s3c_irq_level_chip = {
        .name           = "s3c-level",
        .irq_mask       = s3c_irq_mask,
        .irq_unmask     = s3c_irq_unmask,
@@@ -499,7 -500,7 +499,7 @@@ struct s3c_irq_intc *s3c24xx_init_intc(
                base = (void *)0xfd000000;
  
                intc->reg_mask = base + 0xa4;
-               intc->reg_pending = base + 0x08;
+               intc->reg_pending = base + 0xa8;
                irq_num = 20;
                irq_start = S3C2410_IRQ(32);
                irq_offset = 4;
@@@ -703,7 -703,7 +703,7 @@@ static void tegra20_pll_init(void
        clks[pll_a_out0] = clk;
  
        /* PLLE */
-       clk = tegra_clk_register_plle("pll_e", "pll_ref", clk_base, NULL,
+       clk = tegra_clk_register_plle("pll_e", "pll_ref", clk_base, pmc_base,
                             0, 100000000, &pll_e_params,
                             0, pll_e_freq_table, NULL);
        clk_register_clkdev(clk, "pll_e", NULL);
  }
  
  static const char *cclk_parents[] = { "clk_m", "pll_c", "clk_32k", "pll_m",
 -                                    "pll_p_cclk", "pll_p_out4_cclk",
 -                                    "pll_p_out3_cclk", "clk_d", "pll_x" };
 +                                    "pll_p", "pll_p_out4",
 +                                    "pll_p_out3", "clk_d", "pll_x" };
  static const char *sclk_parents[] = { "clk_m", "pll_c_out1", "pll_p_out4",
                                      "pll_p_out3", "pll_p_out2", "clk_d",
                                      "clk_32k", "pll_m_out1" };
@@@ -721,6 -721,38 +721,6 @@@ static void tegra20_super_clk_init(void
  {
        struct clk *clk;
  
 -      /*
 -       * DIV_U71 dividers for CCLK, these dividers are used only
 -       * if parent clock is fixed rate.
 -       */
 -
 -      /*
 -       * Clock input to cclk divided from pll_p using
 -       * U71 divider of cclk.
 -       */
 -      clk = tegra_clk_register_divider("pll_p_cclk", "pll_p",
 -                              clk_base + SUPER_CCLK_DIVIDER, 0,
 -                              TEGRA_DIVIDER_INT, 16, 8, 1, NULL);
 -      clk_register_clkdev(clk, "pll_p_cclk", NULL);
 -
 -      /*
 -       * Clock input to cclk divided from pll_p_out3 using
 -       * U71 divider of cclk.
 -       */
 -      clk = tegra_clk_register_divider("pll_p_out3_cclk", "pll_p_out3",
 -                              clk_base + SUPER_CCLK_DIVIDER, 0,
 -                              TEGRA_DIVIDER_INT, 16, 8, 1, NULL);
 -      clk_register_clkdev(clk, "pll_p_out3_cclk", NULL);
 -
 -      /*
 -       * Clock input to cclk divided from pll_p_out4 using
 -       * U71 divider of cclk.
 -       */
 -      clk = tegra_clk_register_divider("pll_p_out4_cclk", "pll_p_out4",
 -                              clk_base + SUPER_CCLK_DIVIDER, 0,
 -                              TEGRA_DIVIDER_INT, 16, 8, 1, NULL);
 -      clk_register_clkdev(clk, "pll_p_out4_cclk", NULL);
 -
        /* CCLK */
        clk = tegra_clk_register_super_mux("cclk", cclk_parents,
                              ARRAY_SIZE(cclk_parents), CLK_SET_RATE_PARENT,