diff options
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/cclock2420_data.c | 283 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cclock2430_data.c | 313 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cclock33xx_data.c | 175 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cclock3xxx_data.c | 687 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cclock44xx_data.c | 517 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 149 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c | 36 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 81 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 92 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 172 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_common_data.h | 4 |
15 files changed, 1409 insertions, 1141 deletions
diff --git a/arch/arm/mach-omap2/cclock2420_data.c b/arch/arm/mach-omap2/cclock2420_data.c index 0f0a97c1fcc0..3662f4d4c8ea 100644 --- a/arch/arm/mach-omap2/cclock2420_data.c +++ b/arch/arm/mach-omap2/cclock2420_data.c | |||
@@ -1739,153 +1739,153 @@ DEFINE_STRUCT_CLK(wdt4_ick, aes_ick_parent_names, aes_ick_ops); | |||
1739 | 1739 | ||
1740 | static struct omap_clk omap2420_clks[] = { | 1740 | static struct omap_clk omap2420_clks[] = { |
1741 | /* external root sources */ | 1741 | /* external root sources */ |
1742 | CLK(NULL, "func_32k_ck", &func_32k_ck, CK_242X), | 1742 | CLK(NULL, "func_32k_ck", &func_32k_ck), |
1743 | CLK(NULL, "secure_32k_ck", &secure_32k_ck, CK_242X), | 1743 | CLK(NULL, "secure_32k_ck", &secure_32k_ck), |
1744 | CLK(NULL, "osc_ck", &osc_ck, CK_242X), | 1744 | CLK(NULL, "osc_ck", &osc_ck), |
1745 | CLK(NULL, "sys_ck", &sys_ck, CK_242X), | 1745 | CLK(NULL, "sys_ck", &sys_ck), |
1746 | CLK(NULL, "alt_ck", &alt_ck, CK_242X), | 1746 | CLK(NULL, "alt_ck", &alt_ck), |
1747 | CLK(NULL, "mcbsp_clks", &mcbsp_clks, CK_242X), | 1747 | CLK(NULL, "mcbsp_clks", &mcbsp_clks), |
1748 | /* internal analog sources */ | 1748 | /* internal analog sources */ |
1749 | CLK(NULL, "dpll_ck", &dpll_ck, CK_242X), | 1749 | CLK(NULL, "dpll_ck", &dpll_ck), |
1750 | CLK(NULL, "apll96_ck", &apll96_ck, CK_242X), | 1750 | CLK(NULL, "apll96_ck", &apll96_ck), |
1751 | CLK(NULL, "apll54_ck", &apll54_ck, CK_242X), | 1751 | CLK(NULL, "apll54_ck", &apll54_ck), |
1752 | /* internal prcm root sources */ | 1752 | /* internal prcm root sources */ |
1753 | CLK(NULL, "func_54m_ck", &func_54m_ck, CK_242X), | 1753 | CLK(NULL, "func_54m_ck", &func_54m_ck), |
1754 | CLK(NULL, "core_ck", &core_ck, CK_242X), | 1754 | CLK(NULL, "core_ck", &core_ck), |
1755 | CLK(NULL, "func_96m_ck", &func_96m_ck, CK_242X), | 1755 | CLK(NULL, "func_96m_ck", &func_96m_ck), |
1756 | CLK(NULL, "func_48m_ck", &func_48m_ck, CK_242X), | 1756 | CLK(NULL, "func_48m_ck", &func_48m_ck), |
1757 | CLK(NULL, "func_12m_ck", &func_12m_ck, CK_242X), | 1757 | CLK(NULL, "func_12m_ck", &func_12m_ck), |
1758 | CLK(NULL, "sys_clkout_src", &sys_clkout_src, CK_242X), | 1758 | CLK(NULL, "sys_clkout_src", &sys_clkout_src), |
1759 | CLK(NULL, "sys_clkout", &sys_clkout, CK_242X), | 1759 | CLK(NULL, "sys_clkout", &sys_clkout), |
1760 | CLK(NULL, "sys_clkout2_src", &sys_clkout2_src, CK_242X), | 1760 | CLK(NULL, "sys_clkout2_src", &sys_clkout2_src), |
1761 | CLK(NULL, "sys_clkout2", &sys_clkout2, CK_242X), | 1761 | CLK(NULL, "sys_clkout2", &sys_clkout2), |
1762 | CLK(NULL, "emul_ck", &emul_ck, CK_242X), | 1762 | CLK(NULL, "emul_ck", &emul_ck), |
1763 | /* mpu domain clocks */ | 1763 | /* mpu domain clocks */ |
1764 | CLK(NULL, "mpu_ck", &mpu_ck, CK_242X), | 1764 | CLK(NULL, "mpu_ck", &mpu_ck), |
1765 | /* dsp domain clocks */ | 1765 | /* dsp domain clocks */ |
1766 | CLK(NULL, "dsp_fck", &dsp_fck, CK_242X), | 1766 | CLK(NULL, "dsp_fck", &dsp_fck), |
1767 | CLK(NULL, "dsp_ick", &dsp_ick, CK_242X), | 1767 | CLK(NULL, "dsp_ick", &dsp_ick), |
1768 | CLK(NULL, "iva1_ifck", &iva1_ifck, CK_242X), | 1768 | CLK(NULL, "iva1_ifck", &iva1_ifck), |
1769 | CLK(NULL, "iva1_mpu_int_ifck", &iva1_mpu_int_ifck, CK_242X), | 1769 | CLK(NULL, "iva1_mpu_int_ifck", &iva1_mpu_int_ifck), |
1770 | /* GFX domain clocks */ | 1770 | /* GFX domain clocks */ |
1771 | CLK(NULL, "gfx_3d_fck", &gfx_3d_fck, CK_242X), | 1771 | CLK(NULL, "gfx_3d_fck", &gfx_3d_fck), |
1772 | CLK(NULL, "gfx_2d_fck", &gfx_2d_fck, CK_242X), | 1772 | CLK(NULL, "gfx_2d_fck", &gfx_2d_fck), |
1773 | CLK(NULL, "gfx_ick", &gfx_ick, CK_242X), | 1773 | CLK(NULL, "gfx_ick", &gfx_ick), |
1774 | /* DSS domain clocks */ | 1774 | /* DSS domain clocks */ |
1775 | CLK("omapdss_dss", "ick", &dss_ick, CK_242X), | 1775 | CLK("omapdss_dss", "ick", &dss_ick), |
1776 | CLK(NULL, "dss_ick", &dss_ick, CK_242X), | 1776 | CLK(NULL, "dss_ick", &dss_ick), |
1777 | CLK(NULL, "dss1_fck", &dss1_fck, CK_242X), | 1777 | CLK(NULL, "dss1_fck", &dss1_fck), |
1778 | CLK(NULL, "dss2_fck", &dss2_fck, CK_242X), | 1778 | CLK(NULL, "dss2_fck", &dss2_fck), |
1779 | CLK(NULL, "dss_54m_fck", &dss_54m_fck, CK_242X), | 1779 | CLK(NULL, "dss_54m_fck", &dss_54m_fck), |
1780 | /* L3 domain clocks */ | 1780 | /* L3 domain clocks */ |
1781 | CLK(NULL, "core_l3_ck", &core_l3_ck, CK_242X), | 1781 | CLK(NULL, "core_l3_ck", &core_l3_ck), |
1782 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_242X), | 1782 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck), |
1783 | CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_242X), | 1783 | CLK(NULL, "usb_l4_ick", &usb_l4_ick), |
1784 | /* L4 domain clocks */ | 1784 | /* L4 domain clocks */ |
1785 | CLK(NULL, "l4_ck", &l4_ck, CK_242X), | 1785 | CLK(NULL, "l4_ck", &l4_ck), |
1786 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_242X), | 1786 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick), |
1787 | /* virtual meta-group clock */ | 1787 | /* virtual meta-group clock */ |
1788 | CLK(NULL, "virt_prcm_set", &virt_prcm_set, CK_242X), | 1788 | CLK(NULL, "virt_prcm_set", &virt_prcm_set), |
1789 | /* general l4 interface ck, multi-parent functional clk */ | 1789 | /* general l4 interface ck, multi-parent functional clk */ |
1790 | CLK(NULL, "gpt1_ick", &gpt1_ick, CK_242X), | 1790 | CLK(NULL, "gpt1_ick", &gpt1_ick), |
1791 | CLK(NULL, "gpt1_fck", &gpt1_fck, CK_242X), | 1791 | CLK(NULL, "gpt1_fck", &gpt1_fck), |
1792 | CLK(NULL, "gpt2_ick", &gpt2_ick, CK_242X), | 1792 | CLK(NULL, "gpt2_ick", &gpt2_ick), |
1793 | CLK(NULL, "gpt2_fck", &gpt2_fck, CK_242X), | 1793 | CLK(NULL, "gpt2_fck", &gpt2_fck), |
1794 | CLK(NULL, "gpt3_ick", &gpt3_ick, CK_242X), | 1794 | CLK(NULL, "gpt3_ick", &gpt3_ick), |
1795 | CLK(NULL, "gpt3_fck", &gpt3_fck, CK_242X), | 1795 | CLK(NULL, "gpt3_fck", &gpt3_fck), |
1796 | CLK(NULL, "gpt4_ick", &gpt4_ick, CK_242X), | 1796 | CLK(NULL, "gpt4_ick", &gpt4_ick), |
1797 | CLK(NULL, "gpt4_fck", &gpt4_fck, CK_242X), | 1797 | CLK(NULL, "gpt4_fck", &gpt4_fck), |
1798 | CLK(NULL, "gpt5_ick", &gpt5_ick, CK_242X), | 1798 | CLK(NULL, "gpt5_ick", &gpt5_ick), |
1799 | CLK(NULL, "gpt5_fck", &gpt5_fck, CK_242X), | 1799 | CLK(NULL, "gpt5_fck", &gpt5_fck), |
1800 | CLK(NULL, "gpt6_ick", &gpt6_ick, CK_242X), | 1800 | CLK(NULL, "gpt6_ick", &gpt6_ick), |
1801 | CLK(NULL, "gpt6_fck", &gpt6_fck, CK_242X), | 1801 | CLK(NULL, "gpt6_fck", &gpt6_fck), |
1802 | CLK(NULL, "gpt7_ick", &gpt7_ick, CK_242X), | 1802 | CLK(NULL, "gpt7_ick", &gpt7_ick), |
1803 | CLK(NULL, "gpt7_fck", &gpt7_fck, CK_242X), | 1803 | CLK(NULL, "gpt7_fck", &gpt7_fck), |
1804 | CLK(NULL, "gpt8_ick", &gpt8_ick, CK_242X), | 1804 | CLK(NULL, "gpt8_ick", &gpt8_ick), |
1805 | CLK(NULL, "gpt8_fck", &gpt8_fck, CK_242X), | 1805 | CLK(NULL, "gpt8_fck", &gpt8_fck), |
1806 | CLK(NULL, "gpt9_ick", &gpt9_ick, CK_242X), | 1806 | CLK(NULL, "gpt9_ick", &gpt9_ick), |
1807 | CLK(NULL, "gpt9_fck", &gpt9_fck, CK_242X), | 1807 | CLK(NULL, "gpt9_fck", &gpt9_fck), |
1808 | CLK(NULL, "gpt10_ick", &gpt10_ick, CK_242X), | 1808 | CLK(NULL, "gpt10_ick", &gpt10_ick), |
1809 | CLK(NULL, "gpt10_fck", &gpt10_fck, CK_242X), | 1809 | CLK(NULL, "gpt10_fck", &gpt10_fck), |
1810 | CLK(NULL, "gpt11_ick", &gpt11_ick, CK_242X), | 1810 | CLK(NULL, "gpt11_ick", &gpt11_ick), |
1811 | CLK(NULL, "gpt11_fck", &gpt11_fck, CK_242X), | 1811 | CLK(NULL, "gpt11_fck", &gpt11_fck), |
1812 | CLK(NULL, "gpt12_ick", &gpt12_ick, CK_242X), | 1812 | CLK(NULL, "gpt12_ick", &gpt12_ick), |
1813 | CLK(NULL, "gpt12_fck", &gpt12_fck, CK_242X), | 1813 | CLK(NULL, "gpt12_fck", &gpt12_fck), |
1814 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick, CK_242X), | 1814 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick), |
1815 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick, CK_242X), | 1815 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick), |
1816 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck, CK_242X), | 1816 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck), |
1817 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick, CK_242X), | 1817 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick), |
1818 | CLK(NULL, "mcbsp2_ick", &mcbsp2_ick, CK_242X), | 1818 | CLK(NULL, "mcbsp2_ick", &mcbsp2_ick), |
1819 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck, CK_242X), | 1819 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck), |
1820 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick, CK_242X), | 1820 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick), |
1821 | CLK(NULL, "mcspi1_ick", &mcspi1_ick, CK_242X), | 1821 | CLK(NULL, "mcspi1_ick", &mcspi1_ick), |
1822 | CLK(NULL, "mcspi1_fck", &mcspi1_fck, CK_242X), | 1822 | CLK(NULL, "mcspi1_fck", &mcspi1_fck), |
1823 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick, CK_242X), | 1823 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick), |
1824 | CLK(NULL, "mcspi2_ick", &mcspi2_ick, CK_242X), | 1824 | CLK(NULL, "mcspi2_ick", &mcspi2_ick), |
1825 | CLK(NULL, "mcspi2_fck", &mcspi2_fck, CK_242X), | 1825 | CLK(NULL, "mcspi2_fck", &mcspi2_fck), |
1826 | CLK(NULL, "uart1_ick", &uart1_ick, CK_242X), | 1826 | CLK(NULL, "uart1_ick", &uart1_ick), |
1827 | CLK(NULL, "uart1_fck", &uart1_fck, CK_242X), | 1827 | CLK(NULL, "uart1_fck", &uart1_fck), |
1828 | CLK(NULL, "uart2_ick", &uart2_ick, CK_242X), | 1828 | CLK(NULL, "uart2_ick", &uart2_ick), |
1829 | CLK(NULL, "uart2_fck", &uart2_fck, CK_242X), | 1829 | CLK(NULL, "uart2_fck", &uart2_fck), |
1830 | CLK(NULL, "uart3_ick", &uart3_ick, CK_242X), | 1830 | CLK(NULL, "uart3_ick", &uart3_ick), |
1831 | CLK(NULL, "uart3_fck", &uart3_fck, CK_242X), | 1831 | CLK(NULL, "uart3_fck", &uart3_fck), |
1832 | CLK(NULL, "gpios_ick", &gpios_ick, CK_242X), | 1832 | CLK(NULL, "gpios_ick", &gpios_ick), |
1833 | CLK(NULL, "gpios_fck", &gpios_fck, CK_242X), | 1833 | CLK(NULL, "gpios_fck", &gpios_fck), |
1834 | CLK("omap_wdt", "ick", &mpu_wdt_ick, CK_242X), | 1834 | CLK("omap_wdt", "ick", &mpu_wdt_ick), |
1835 | CLK(NULL, "mpu_wdt_ick", &mpu_wdt_ick, CK_242X), | 1835 | CLK(NULL, "mpu_wdt_ick", &mpu_wdt_ick), |
1836 | CLK(NULL, "mpu_wdt_fck", &mpu_wdt_fck, CK_242X), | 1836 | CLK(NULL, "mpu_wdt_fck", &mpu_wdt_fck), |
1837 | CLK(NULL, "sync_32k_ick", &sync_32k_ick, CK_242X), | 1837 | CLK(NULL, "sync_32k_ick", &sync_32k_ick), |
1838 | CLK(NULL, "wdt1_ick", &wdt1_ick, CK_242X), | 1838 | CLK(NULL, "wdt1_ick", &wdt1_ick), |
1839 | CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_242X), | 1839 | CLK(NULL, "omapctrl_ick", &omapctrl_ick), |
1840 | CLK("omap24xxcam", "fck", &cam_fck, CK_242X), | 1840 | CLK("omap24xxcam", "fck", &cam_fck), |
1841 | CLK(NULL, "cam_fck", &cam_fck, CK_242X), | 1841 | CLK(NULL, "cam_fck", &cam_fck), |
1842 | CLK("omap24xxcam", "ick", &cam_ick, CK_242X), | 1842 | CLK("omap24xxcam", "ick", &cam_ick), |
1843 | CLK(NULL, "cam_ick", &cam_ick, CK_242X), | 1843 | CLK(NULL, "cam_ick", &cam_ick), |
1844 | CLK(NULL, "mailboxes_ick", &mailboxes_ick, CK_242X), | 1844 | CLK(NULL, "mailboxes_ick", &mailboxes_ick), |
1845 | CLK(NULL, "wdt4_ick", &wdt4_ick, CK_242X), | 1845 | CLK(NULL, "wdt4_ick", &wdt4_ick), |
1846 | CLK(NULL, "wdt4_fck", &wdt4_fck, CK_242X), | 1846 | CLK(NULL, "wdt4_fck", &wdt4_fck), |
1847 | CLK(NULL, "wdt3_ick", &wdt3_ick, CK_242X), | 1847 | CLK(NULL, "wdt3_ick", &wdt3_ick), |
1848 | CLK(NULL, "wdt3_fck", &wdt3_fck, CK_242X), | 1848 | CLK(NULL, "wdt3_fck", &wdt3_fck), |
1849 | CLK(NULL, "mspro_ick", &mspro_ick, CK_242X), | 1849 | CLK(NULL, "mspro_ick", &mspro_ick), |
1850 | CLK(NULL, "mspro_fck", &mspro_fck, CK_242X), | 1850 | CLK(NULL, "mspro_fck", &mspro_fck), |
1851 | CLK("mmci-omap.0", "ick", &mmc_ick, CK_242X), | 1851 | CLK("mmci-omap.0", "ick", &mmc_ick), |
1852 | CLK(NULL, "mmc_ick", &mmc_ick, CK_242X), | 1852 | CLK(NULL, "mmc_ick", &mmc_ick), |
1853 | CLK("mmci-omap.0", "fck", &mmc_fck, CK_242X), | 1853 | CLK("mmci-omap.0", "fck", &mmc_fck), |
1854 | CLK(NULL, "mmc_fck", &mmc_fck, CK_242X), | 1854 | CLK(NULL, "mmc_fck", &mmc_fck), |
1855 | CLK(NULL, "fac_ick", &fac_ick, CK_242X), | 1855 | CLK(NULL, "fac_ick", &fac_ick), |
1856 | CLK(NULL, "fac_fck", &fac_fck, CK_242X), | 1856 | CLK(NULL, "fac_fck", &fac_fck), |
1857 | CLK(NULL, "eac_ick", &eac_ick, CK_242X), | 1857 | CLK(NULL, "eac_ick", &eac_ick), |
1858 | CLK(NULL, "eac_fck", &eac_fck, CK_242X), | 1858 | CLK(NULL, "eac_fck", &eac_fck), |
1859 | CLK("omap_hdq.0", "ick", &hdq_ick, CK_242X), | 1859 | CLK("omap_hdq.0", "ick", &hdq_ick), |
1860 | CLK(NULL, "hdq_ick", &hdq_ick, CK_242X), | 1860 | CLK(NULL, "hdq_ick", &hdq_ick), |
1861 | CLK("omap_hdq.0", "fck", &hdq_fck, CK_242X), | 1861 | CLK("omap_hdq.0", "fck", &hdq_fck), |
1862 | CLK(NULL, "hdq_fck", &hdq_fck, CK_242X), | 1862 | CLK(NULL, "hdq_fck", &hdq_fck), |
1863 | CLK("omap_i2c.1", "ick", &i2c1_ick, CK_242X), | 1863 | CLK("omap_i2c.1", "ick", &i2c1_ick), |
1864 | CLK(NULL, "i2c1_ick", &i2c1_ick, CK_242X), | 1864 | CLK(NULL, "i2c1_ick", &i2c1_ick), |
1865 | CLK(NULL, "i2c1_fck", &i2c1_fck, CK_242X), | 1865 | CLK(NULL, "i2c1_fck", &i2c1_fck), |
1866 | CLK("omap_i2c.2", "ick", &i2c2_ick, CK_242X), | 1866 | CLK("omap_i2c.2", "ick", &i2c2_ick), |
1867 | CLK(NULL, "i2c2_ick", &i2c2_ick, CK_242X), | 1867 | CLK(NULL, "i2c2_ick", &i2c2_ick), |
1868 | CLK(NULL, "i2c2_fck", &i2c2_fck, CK_242X), | 1868 | CLK(NULL, "i2c2_fck", &i2c2_fck), |
1869 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_242X), | 1869 | CLK(NULL, "gpmc_fck", &gpmc_fck), |
1870 | CLK(NULL, "sdma_fck", &sdma_fck, CK_242X), | 1870 | CLK(NULL, "sdma_fck", &sdma_fck), |
1871 | CLK(NULL, "sdma_ick", &sdma_ick, CK_242X), | 1871 | CLK(NULL, "sdma_ick", &sdma_ick), |
1872 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_242X), | 1872 | CLK(NULL, "sdrc_ick", &sdrc_ick), |
1873 | CLK(NULL, "vlynq_ick", &vlynq_ick, CK_242X), | 1873 | CLK(NULL, "vlynq_ick", &vlynq_ick), |
1874 | CLK(NULL, "vlynq_fck", &vlynq_fck, CK_242X), | 1874 | CLK(NULL, "vlynq_fck", &vlynq_fck), |
1875 | CLK(NULL, "des_ick", &des_ick, CK_242X), | 1875 | CLK(NULL, "des_ick", &des_ick), |
1876 | CLK("omap-sham", "ick", &sha_ick, CK_242X), | 1876 | CLK("omap-sham", "ick", &sha_ick), |
1877 | CLK(NULL, "sha_ick", &sha_ick, CK_242X), | 1877 | CLK(NULL, "sha_ick", &sha_ick), |
1878 | CLK("omap_rng", "ick", &rng_ick, CK_242X), | 1878 | CLK("omap_rng", "ick", &rng_ick), |
1879 | CLK(NULL, "rng_ick", &rng_ick, CK_242X), | 1879 | CLK(NULL, "rng_ick", &rng_ick), |
1880 | CLK("omap-aes", "ick", &aes_ick, CK_242X), | 1880 | CLK("omap-aes", "ick", &aes_ick), |
1881 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), | 1881 | CLK(NULL, "aes_ick", &aes_ick), |
1882 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), | 1882 | CLK(NULL, "pka_ick", &pka_ick), |
1883 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), | 1883 | CLK(NULL, "usb_fck", &usb_fck), |
1884 | CLK("musb-hdrc", "fck", &osc_ck, CK_242X), | 1884 | CLK("musb-hdrc", "fck", &osc_ck), |
1885 | CLK(NULL, "timer_32k_ck", &func_32k_ck, CK_242X), | 1885 | CLK(NULL, "timer_32k_ck", &func_32k_ck), |
1886 | CLK(NULL, "timer_sys_ck", &sys_ck, CK_242X), | 1886 | CLK(NULL, "timer_sys_ck", &sys_ck), |
1887 | CLK(NULL, "timer_ext_ck", &alt_ck, CK_242X), | 1887 | CLK(NULL, "timer_ext_ck", &alt_ck), |
1888 | CLK(NULL, "cpufreq_ck", &virt_prcm_set, CK_242X), | 1888 | CLK(NULL, "cpufreq_ck", &virt_prcm_set), |
1889 | }; | 1889 | }; |
1890 | 1890 | ||
1891 | 1891 | ||
@@ -1904,8 +1904,6 @@ static const char *enable_init_clks[] = { | |||
1904 | 1904 | ||
1905 | int __init omap2420_clk_init(void) | 1905 | int __init omap2420_clk_init(void) |
1906 | { | 1906 | { |
1907 | struct omap_clk *c; | ||
1908 | |||
1909 | prcm_clksrc_ctrl = OMAP2420_PRCM_CLKSRC_CTRL; | 1907 | prcm_clksrc_ctrl = OMAP2420_PRCM_CLKSRC_CTRL; |
1910 | cpu_mask = RATE_IN_242X; | 1908 | cpu_mask = RATE_IN_242X; |
1911 | rate_table = omap2420_rate_table; | 1909 | rate_table = omap2420_rate_table; |
@@ -1914,12 +1912,7 @@ int __init omap2420_clk_init(void) | |||
1914 | 1912 | ||
1915 | omap2xxx_clkt_vps_check_bootloader_rates(); | 1913 | omap2xxx_clkt_vps_check_bootloader_rates(); |
1916 | 1914 | ||
1917 | for (c = omap2420_clks; c < omap2420_clks + ARRAY_SIZE(omap2420_clks); | 1915 | omap_clocks_register(omap2420_clks, ARRAY_SIZE(omap2420_clks)); |
1918 | c++) { | ||
1919 | clkdev_add(&c->lk); | ||
1920 | if (!__clk_init(NULL, c->lk.clk)) | ||
1921 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
1922 | } | ||
1923 | 1916 | ||
1924 | omap2xxx_clkt_vps_late_init(); | 1917 | omap2xxx_clkt_vps_late_init(); |
1925 | 1918 | ||
diff --git a/arch/arm/mach-omap2/cclock2430_data.c b/arch/arm/mach-omap2/cclock2430_data.c index aed8f74ca076..5e4b037bb24c 100644 --- a/arch/arm/mach-omap2/cclock2430_data.c +++ b/arch/arm/mach-omap2/cclock2430_data.c | |||
@@ -1840,168 +1840,170 @@ DEFINE_STRUCT_CLK(wdt4_ick, aes_ick_parent_names, aes_ick_ops); | |||
1840 | 1840 | ||
1841 | static struct omap_clk omap2430_clks[] = { | 1841 | static struct omap_clk omap2430_clks[] = { |
1842 | /* external root sources */ | 1842 | /* external root sources */ |
1843 | CLK(NULL, "func_32k_ck", &func_32k_ck, CK_243X), | 1843 | CLK(NULL, "func_32k_ck", &func_32k_ck), |
1844 | CLK(NULL, "secure_32k_ck", &secure_32k_ck, CK_243X), | 1844 | CLK(NULL, "secure_32k_ck", &secure_32k_ck), |
1845 | CLK(NULL, "osc_ck", &osc_ck, CK_243X), | 1845 | CLK(NULL, "osc_ck", &osc_ck), |
1846 | CLK("twl", "fck", &osc_ck, CK_243X), | 1846 | CLK("twl", "fck", &osc_ck), |
1847 | CLK(NULL, "sys_ck", &sys_ck, CK_243X), | 1847 | CLK(NULL, "sys_ck", &sys_ck), |
1848 | CLK(NULL, "alt_ck", &alt_ck, CK_243X), | 1848 | CLK(NULL, "alt_ck", &alt_ck), |
1849 | CLK(NULL, "mcbsp_clks", &mcbsp_clks, CK_243X), | 1849 | CLK(NULL, "mcbsp_clks", &mcbsp_clks), |
1850 | /* internal analog sources */ | 1850 | /* internal analog sources */ |
1851 | CLK(NULL, "dpll_ck", &dpll_ck, CK_243X), | 1851 | CLK(NULL, "dpll_ck", &dpll_ck), |
1852 | CLK(NULL, "apll96_ck", &apll96_ck, CK_243X), | 1852 | CLK(NULL, "apll96_ck", &apll96_ck), |
1853 | CLK(NULL, "apll54_ck", &apll54_ck, CK_243X), | 1853 | CLK(NULL, "apll54_ck", &apll54_ck), |
1854 | /* internal prcm root sources */ | 1854 | /* internal prcm root sources */ |
1855 | CLK(NULL, "func_54m_ck", &func_54m_ck, CK_243X), | 1855 | CLK(NULL, "func_54m_ck", &func_54m_ck), |
1856 | CLK(NULL, "core_ck", &core_ck, CK_243X), | 1856 | CLK(NULL, "core_ck", &core_ck), |
1857 | CLK(NULL, "func_96m_ck", &func_96m_ck, CK_243X), | 1857 | CLK(NULL, "func_96m_ck", &func_96m_ck), |
1858 | CLK(NULL, "func_48m_ck", &func_48m_ck, CK_243X), | 1858 | CLK(NULL, "func_48m_ck", &func_48m_ck), |
1859 | CLK(NULL, "func_12m_ck", &func_12m_ck, CK_243X), | 1859 | CLK(NULL, "func_12m_ck", &func_12m_ck), |
1860 | CLK(NULL, "sys_clkout_src", &sys_clkout_src, CK_243X), | 1860 | CLK(NULL, "sys_clkout_src", &sys_clkout_src), |
1861 | CLK(NULL, "sys_clkout", &sys_clkout, CK_243X), | 1861 | CLK(NULL, "sys_clkout", &sys_clkout), |
1862 | CLK(NULL, "emul_ck", &emul_ck, CK_243X), | 1862 | CLK(NULL, "emul_ck", &emul_ck), |
1863 | /* mpu domain clocks */ | 1863 | /* mpu domain clocks */ |
1864 | CLK(NULL, "mpu_ck", &mpu_ck, CK_243X), | 1864 | CLK(NULL, "mpu_ck", &mpu_ck), |
1865 | /* dsp domain clocks */ | 1865 | /* dsp domain clocks */ |
1866 | CLK(NULL, "dsp_fck", &dsp_fck, CK_243X), | 1866 | CLK(NULL, "dsp_fck", &dsp_fck), |
1867 | CLK(NULL, "iva2_1_ick", &iva2_1_ick, CK_243X), | 1867 | CLK(NULL, "iva2_1_ick", &iva2_1_ick), |
1868 | /* GFX domain clocks */ | 1868 | /* GFX domain clocks */ |
1869 | CLK(NULL, "gfx_3d_fck", &gfx_3d_fck, CK_243X), | 1869 | CLK(NULL, "gfx_3d_fck", &gfx_3d_fck), |
1870 | CLK(NULL, "gfx_2d_fck", &gfx_2d_fck, CK_243X), | 1870 | CLK(NULL, "gfx_2d_fck", &gfx_2d_fck), |
1871 | CLK(NULL, "gfx_ick", &gfx_ick, CK_243X), | 1871 | CLK(NULL, "gfx_ick", &gfx_ick), |
1872 | /* Modem domain clocks */ | 1872 | /* Modem domain clocks */ |
1873 | CLK(NULL, "mdm_ick", &mdm_ick, CK_243X), | 1873 | CLK(NULL, "mdm_ick", &mdm_ick), |
1874 | CLK(NULL, "mdm_osc_ck", &mdm_osc_ck, CK_243X), | 1874 | CLK(NULL, "mdm_osc_ck", &mdm_osc_ck), |
1875 | /* DSS domain clocks */ | 1875 | /* DSS domain clocks */ |
1876 | CLK("omapdss_dss", "ick", &dss_ick, CK_243X), | 1876 | CLK("omapdss_dss", "ick", &dss_ick), |
1877 | CLK(NULL, "dss_ick", &dss_ick, CK_243X), | 1877 | CLK(NULL, "dss_ick", &dss_ick), |
1878 | CLK(NULL, "dss1_fck", &dss1_fck, CK_243X), | 1878 | CLK(NULL, "dss1_fck", &dss1_fck), |
1879 | CLK(NULL, "dss2_fck", &dss2_fck, CK_243X), | 1879 | CLK(NULL, "dss2_fck", &dss2_fck), |
1880 | CLK(NULL, "dss_54m_fck", &dss_54m_fck, CK_243X), | 1880 | CLK(NULL, "dss_54m_fck", &dss_54m_fck), |
1881 | /* L3 domain clocks */ | 1881 | /* L3 domain clocks */ |
1882 | CLK(NULL, "core_l3_ck", &core_l3_ck, CK_243X), | 1882 | CLK(NULL, "core_l3_ck", &core_l3_ck), |
1883 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_243X), | 1883 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck), |
1884 | CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_243X), | 1884 | CLK(NULL, "usb_l4_ick", &usb_l4_ick), |
1885 | /* L4 domain clocks */ | 1885 | /* L4 domain clocks */ |
1886 | CLK(NULL, "l4_ck", &l4_ck, CK_243X), | 1886 | CLK(NULL, "l4_ck", &l4_ck), |
1887 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_243X), | 1887 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick), |
1888 | /* virtual meta-group clock */ | 1888 | /* virtual meta-group clock */ |
1889 | CLK(NULL, "virt_prcm_set", &virt_prcm_set, CK_243X), | 1889 | CLK(NULL, "virt_prcm_set", &virt_prcm_set), |
1890 | /* general l4 interface ck, multi-parent functional clk */ | 1890 | /* general l4 interface ck, multi-parent functional clk */ |
1891 | CLK(NULL, "gpt1_ick", &gpt1_ick, CK_243X), | 1891 | CLK(NULL, "gpt1_ick", &gpt1_ick), |
1892 | CLK(NULL, "gpt1_fck", &gpt1_fck, CK_243X), | 1892 | CLK(NULL, "gpt1_fck", &gpt1_fck), |
1893 | CLK(NULL, "gpt2_ick", &gpt2_ick, CK_243X), | 1893 | CLK(NULL, "gpt2_ick", &gpt2_ick), |
1894 | CLK(NULL, "gpt2_fck", &gpt2_fck, CK_243X), | 1894 | CLK(NULL, "gpt2_fck", &gpt2_fck), |
1895 | CLK(NULL, "gpt3_ick", &gpt3_ick, CK_243X), | 1895 | CLK(NULL, "gpt3_ick", &gpt3_ick), |
1896 | CLK(NULL, "gpt3_fck", &gpt3_fck, CK_243X), | 1896 | CLK(NULL, "gpt3_fck", &gpt3_fck), |
1897 | CLK(NULL, "gpt4_ick", &gpt4_ick, CK_243X), | 1897 | CLK(NULL, "gpt4_ick", &gpt4_ick), |
1898 | CLK(NULL, "gpt4_fck", &gpt4_fck, CK_243X), | 1898 | CLK(NULL, "gpt4_fck", &gpt4_fck), |
1899 | CLK(NULL, "gpt5_ick", &gpt5_ick, CK_243X), | 1899 | CLK(NULL, "gpt5_ick", &gpt5_ick), |
1900 | CLK(NULL, "gpt5_fck", &gpt5_fck, CK_243X), | 1900 | CLK(NULL, "gpt5_fck", &gpt5_fck), |
1901 | CLK(NULL, "gpt6_ick", &gpt6_ick, CK_243X), | 1901 | CLK(NULL, "gpt6_ick", &gpt6_ick), |
1902 | CLK(NULL, "gpt6_fck", &gpt6_fck, CK_243X), | 1902 | CLK(NULL, "gpt6_fck", &gpt6_fck), |
1903 | CLK(NULL, "gpt7_ick", &gpt7_ick, CK_243X), | 1903 | CLK(NULL, "gpt7_ick", &gpt7_ick), |
1904 | CLK(NULL, "gpt7_fck", &gpt7_fck, CK_243X), | 1904 | CLK(NULL, "gpt7_fck", &gpt7_fck), |
1905 | CLK(NULL, "gpt8_ick", &gpt8_ick, CK_243X), | 1905 | CLK(NULL, "gpt8_ick", &gpt8_ick), |
1906 | CLK(NULL, "gpt8_fck", &gpt8_fck, CK_243X), | 1906 | CLK(NULL, "gpt8_fck", &gpt8_fck), |
1907 | CLK(NULL, "gpt9_ick", &gpt9_ick, CK_243X), | 1907 | CLK(NULL, "gpt9_ick", &gpt9_ick), |
1908 | CLK(NULL, "gpt9_fck", &gpt9_fck, CK_243X), | 1908 | CLK(NULL, "gpt9_fck", &gpt9_fck), |
1909 | CLK(NULL, "gpt10_ick", &gpt10_ick, CK_243X), | 1909 | CLK(NULL, "gpt10_ick", &gpt10_ick), |
1910 | CLK(NULL, "gpt10_fck", &gpt10_fck, CK_243X), | 1910 | CLK(NULL, "gpt10_fck", &gpt10_fck), |
1911 | CLK(NULL, "gpt11_ick", &gpt11_ick, CK_243X), | 1911 | CLK(NULL, "gpt11_ick", &gpt11_ick), |
1912 | CLK(NULL, "gpt11_fck", &gpt11_fck, CK_243X), | 1912 | CLK(NULL, "gpt11_fck", &gpt11_fck), |
1913 | CLK(NULL, "gpt12_ick", &gpt12_ick, CK_243X), | 1913 | CLK(NULL, "gpt12_ick", &gpt12_ick), |
1914 | CLK(NULL, "gpt12_fck", &gpt12_fck, CK_243X), | 1914 | CLK(NULL, "gpt12_fck", &gpt12_fck), |
1915 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick, CK_243X), | 1915 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick), |
1916 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick, CK_243X), | 1916 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick), |
1917 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck, CK_243X), | 1917 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck), |
1918 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick, CK_243X), | 1918 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick), |
1919 | CLK(NULL, "mcbsp2_ick", &mcbsp2_ick, CK_243X), | 1919 | CLK(NULL, "mcbsp2_ick", &mcbsp2_ick), |
1920 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck, CK_243X), | 1920 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck), |
1921 | CLK("omap-mcbsp.3", "ick", &mcbsp3_ick, CK_243X), | 1921 | CLK("omap-mcbsp.3", "ick", &mcbsp3_ick), |
1922 | CLK(NULL, "mcbsp3_ick", &mcbsp3_ick, CK_243X), | 1922 | CLK(NULL, "mcbsp3_ick", &mcbsp3_ick), |
1923 | CLK(NULL, "mcbsp3_fck", &mcbsp3_fck, CK_243X), | 1923 | CLK(NULL, "mcbsp3_fck", &mcbsp3_fck), |
1924 | CLK("omap-mcbsp.4", "ick", &mcbsp4_ick, CK_243X), | 1924 | CLK("omap-mcbsp.4", "ick", &mcbsp4_ick), |
1925 | CLK(NULL, "mcbsp4_ick", &mcbsp4_ick, CK_243X), | 1925 | CLK(NULL, "mcbsp4_ick", &mcbsp4_ick), |
1926 | CLK(NULL, "mcbsp4_fck", &mcbsp4_fck, CK_243X), | 1926 | CLK(NULL, "mcbsp4_fck", &mcbsp4_fck), |
1927 | CLK("omap-mcbsp.5", "ick", &mcbsp5_ick, CK_243X), | 1927 | CLK("omap-mcbsp.5", "ick", &mcbsp5_ick), |
1928 | CLK(NULL, "mcbsp5_ick", &mcbsp5_ick, CK_243X), | 1928 | CLK(NULL, "mcbsp5_ick", &mcbsp5_ick), |
1929 | CLK(NULL, "mcbsp5_fck", &mcbsp5_fck, CK_243X), | 1929 | CLK(NULL, "mcbsp5_fck", &mcbsp5_fck), |
1930 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick, CK_243X), | 1930 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick), |
1931 | CLK(NULL, "mcspi1_ick", &mcspi1_ick, CK_243X), | 1931 | CLK(NULL, "mcspi1_ick", &mcspi1_ick), |
1932 | CLK(NULL, "mcspi1_fck", &mcspi1_fck, CK_243X), | 1932 | CLK(NULL, "mcspi1_fck", &mcspi1_fck), |
1933 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick, CK_243X), | 1933 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick), |
1934 | CLK(NULL, "mcspi2_ick", &mcspi2_ick, CK_243X), | 1934 | CLK(NULL, "mcspi2_ick", &mcspi2_ick), |
1935 | CLK(NULL, "mcspi2_fck", &mcspi2_fck, CK_243X), | 1935 | CLK(NULL, "mcspi2_fck", &mcspi2_fck), |
1936 | CLK("omap2_mcspi.3", "ick", &mcspi3_ick, CK_243X), | 1936 | CLK("omap2_mcspi.3", "ick", &mcspi3_ick), |
1937 | CLK(NULL, "mcspi3_ick", &mcspi3_ick, CK_243X), | 1937 | CLK(NULL, "mcspi3_ick", &mcspi3_ick), |
1938 | CLK(NULL, "mcspi3_fck", &mcspi3_fck, CK_243X), | 1938 | CLK(NULL, "mcspi3_fck", &mcspi3_fck), |
1939 | CLK(NULL, "uart1_ick", &uart1_ick, CK_243X), | 1939 | CLK(NULL, "uart1_ick", &uart1_ick), |
1940 | CLK(NULL, "uart1_fck", &uart1_fck, CK_243X), | 1940 | CLK(NULL, "uart1_fck", &uart1_fck), |
1941 | CLK(NULL, "uart2_ick", &uart2_ick, CK_243X), | 1941 | CLK(NULL, "uart2_ick", &uart2_ick), |
1942 | CLK(NULL, "uart2_fck", &uart2_fck, CK_243X), | 1942 | CLK(NULL, "uart2_fck", &uart2_fck), |
1943 | CLK(NULL, "uart3_ick", &uart3_ick, CK_243X), | 1943 | CLK(NULL, "uart3_ick", &uart3_ick), |
1944 | CLK(NULL, "uart3_fck", &uart3_fck, CK_243X), | 1944 | CLK(NULL, "uart3_fck", &uart3_fck), |
1945 | CLK(NULL, "gpios_ick", &gpios_ick, CK_243X), | 1945 | CLK(NULL, "gpios_ick", &gpios_ick), |
1946 | CLK(NULL, "gpios_fck", &gpios_fck, CK_243X), | 1946 | CLK(NULL, "gpios_fck", &gpios_fck), |
1947 | CLK("omap_wdt", "ick", &mpu_wdt_ick, CK_243X), | 1947 | CLK("omap_wdt", "ick", &mpu_wdt_ick), |
1948 | CLK(NULL, "mpu_wdt_ick", &mpu_wdt_ick, CK_243X), | 1948 | CLK(NULL, "mpu_wdt_ick", &mpu_wdt_ick), |
1949 | CLK(NULL, "mpu_wdt_fck", &mpu_wdt_fck, CK_243X), | 1949 | CLK(NULL, "mpu_wdt_fck", &mpu_wdt_fck), |
1950 | CLK(NULL, "sync_32k_ick", &sync_32k_ick, CK_243X), | 1950 | CLK(NULL, "sync_32k_ick", &sync_32k_ick), |
1951 | CLK(NULL, "wdt1_ick", &wdt1_ick, CK_243X), | 1951 | CLK(NULL, "wdt1_ick", &wdt1_ick), |
1952 | CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_243X), | 1952 | CLK(NULL, "omapctrl_ick", &omapctrl_ick), |
1953 | CLK(NULL, "icr_ick", &icr_ick, CK_243X), | 1953 | CLK(NULL, "icr_ick", &icr_ick), |
1954 | CLK("omap24xxcam", "fck", &cam_fck, CK_243X), | 1954 | CLK("omap24xxcam", "fck", &cam_fck), |
1955 | CLK(NULL, "cam_fck", &cam_fck, CK_243X), | 1955 | CLK(NULL, "cam_fck", &cam_fck), |
1956 | CLK("omap24xxcam", "ick", &cam_ick, CK_243X), | 1956 | CLK("omap24xxcam", "ick", &cam_ick), |
1957 | CLK(NULL, "cam_ick", &cam_ick, CK_243X), | 1957 | CLK(NULL, "cam_ick", &cam_ick), |
1958 | CLK(NULL, "mailboxes_ick", &mailboxes_ick, CK_243X), | 1958 | CLK(NULL, "mailboxes_ick", &mailboxes_ick), |
1959 | CLK(NULL, "wdt4_ick", &wdt4_ick, CK_243X), | 1959 | CLK(NULL, "wdt4_ick", &wdt4_ick), |
1960 | CLK(NULL, "wdt4_fck", &wdt4_fck, CK_243X), | 1960 | CLK(NULL, "wdt4_fck", &wdt4_fck), |
1961 | CLK(NULL, "mspro_ick", &mspro_ick, CK_243X), | 1961 | CLK(NULL, "mspro_ick", &mspro_ick), |
1962 | CLK(NULL, "mspro_fck", &mspro_fck, CK_243X), | 1962 | CLK(NULL, "mspro_fck", &mspro_fck), |
1963 | CLK(NULL, "fac_ick", &fac_ick, CK_243X), | 1963 | CLK(NULL, "fac_ick", &fac_ick), |
1964 | CLK(NULL, "fac_fck", &fac_fck, CK_243X), | 1964 | CLK(NULL, "fac_fck", &fac_fck), |
1965 | CLK("omap_hdq.0", "ick", &hdq_ick, CK_243X), | 1965 | CLK("omap_hdq.0", "ick", &hdq_ick), |
1966 | CLK(NULL, "hdq_ick", &hdq_ick, CK_243X), | 1966 | CLK(NULL, "hdq_ick", &hdq_ick), |
1967 | CLK("omap_hdq.1", "fck", &hdq_fck, CK_243X), | 1967 | CLK("omap_hdq.1", "fck", &hdq_fck), |
1968 | CLK(NULL, "hdq_fck", &hdq_fck, CK_243X), | 1968 | CLK(NULL, "hdq_fck", &hdq_fck), |
1969 | CLK("omap_i2c.1", "ick", &i2c1_ick, CK_243X), | 1969 | CLK("omap_i2c.1", "ick", &i2c1_ick), |
1970 | CLK(NULL, "i2c1_ick", &i2c1_ick, CK_243X), | 1970 | CLK(NULL, "i2c1_ick", &i2c1_ick), |
1971 | CLK(NULL, "i2chs1_fck", &i2chs1_fck, CK_243X), | 1971 | CLK(NULL, "i2chs1_fck", &i2chs1_fck), |
1972 | CLK("omap_i2c.2", "ick", &i2c2_ick, CK_243X), | 1972 | CLK("omap_i2c.2", "ick", &i2c2_ick), |
1973 | CLK(NULL, "i2c2_ick", &i2c2_ick, CK_243X), | 1973 | CLK(NULL, "i2c2_ick", &i2c2_ick), |
1974 | CLK(NULL, "i2chs2_fck", &i2chs2_fck, CK_243X), | 1974 | CLK(NULL, "i2chs2_fck", &i2chs2_fck), |
1975 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_243X), | 1975 | CLK(NULL, "gpmc_fck", &gpmc_fck), |
1976 | CLK(NULL, "sdma_fck", &sdma_fck, CK_243X), | 1976 | CLK(NULL, "sdma_fck", &sdma_fck), |
1977 | CLK(NULL, "sdma_ick", &sdma_ick, CK_243X), | 1977 | CLK(NULL, "sdma_ick", &sdma_ick), |
1978 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_243X), | 1978 | CLK(NULL, "sdrc_ick", &sdrc_ick), |
1979 | CLK(NULL, "des_ick", &des_ick, CK_243X), | 1979 | CLK(NULL, "des_ick", &des_ick), |
1980 | CLK("omap-sham", "ick", &sha_ick, CK_243X), | 1980 | CLK("omap-sham", "ick", &sha_ick), |
1981 | CLK("omap_rng", "ick", &rng_ick, CK_243X), | 1981 | CLK(NULL, "sha_ick", &sha_ick), |
1982 | CLK(NULL, "rng_ick", &rng_ick, CK_243X), | 1982 | CLK("omap_rng", "ick", &rng_ick), |
1983 | CLK("omap-aes", "ick", &aes_ick, CK_243X), | 1983 | CLK(NULL, "rng_ick", &rng_ick), |
1984 | CLK(NULL, "pka_ick", &pka_ick, CK_243X), | 1984 | CLK("omap-aes", "ick", &aes_ick), |
1985 | CLK(NULL, "usb_fck", &usb_fck, CK_243X), | 1985 | CLK(NULL, "aes_ick", &aes_ick), |
1986 | CLK("musb-omap2430", "ick", &usbhs_ick, CK_243X), | 1986 | CLK(NULL, "pka_ick", &pka_ick), |
1987 | CLK(NULL, "usbhs_ick", &usbhs_ick, CK_243X), | 1987 | CLK(NULL, "usb_fck", &usb_fck), |
1988 | CLK("omap_hsmmc.0", "ick", &mmchs1_ick, CK_243X), | 1988 | CLK("musb-omap2430", "ick", &usbhs_ick), |
1989 | CLK(NULL, "mmchs1_ick", &mmchs1_ick, CK_243X), | 1989 | CLK(NULL, "usbhs_ick", &usbhs_ick), |
1990 | CLK(NULL, "mmchs1_fck", &mmchs1_fck, CK_243X), | 1990 | CLK("omap_hsmmc.0", "ick", &mmchs1_ick), |
1991 | CLK("omap_hsmmc.1", "ick", &mmchs2_ick, CK_243X), | 1991 | CLK(NULL, "mmchs1_ick", &mmchs1_ick), |
1992 | CLK(NULL, "mmchs2_ick", &mmchs2_ick, CK_243X), | 1992 | CLK(NULL, "mmchs1_fck", &mmchs1_fck), |
1993 | CLK(NULL, "mmchs2_fck", &mmchs2_fck, CK_243X), | 1993 | CLK("omap_hsmmc.1", "ick", &mmchs2_ick), |
1994 | CLK(NULL, "gpio5_ick", &gpio5_ick, CK_243X), | 1994 | CLK(NULL, "mmchs2_ick", &mmchs2_ick), |
1995 | CLK(NULL, "gpio5_fck", &gpio5_fck, CK_243X), | 1995 | CLK(NULL, "mmchs2_fck", &mmchs2_fck), |
1996 | CLK(NULL, "mdm_intc_ick", &mdm_intc_ick, CK_243X), | 1996 | CLK(NULL, "gpio5_ick", &gpio5_ick), |
1997 | CLK("omap_hsmmc.0", "mmchsdb_fck", &mmchsdb1_fck, CK_243X), | 1997 | CLK(NULL, "gpio5_fck", &gpio5_fck), |
1998 | CLK(NULL, "mmchsdb1_fck", &mmchsdb1_fck, CK_243X), | 1998 | CLK(NULL, "mdm_intc_ick", &mdm_intc_ick), |
1999 | CLK("omap_hsmmc.1", "mmchsdb_fck", &mmchsdb2_fck, CK_243X), | 1999 | CLK("omap_hsmmc.0", "mmchsdb_fck", &mmchsdb1_fck), |
2000 | CLK(NULL, "mmchsdb2_fck", &mmchsdb2_fck, CK_243X), | 2000 | CLK(NULL, "mmchsdb1_fck", &mmchsdb1_fck), |
2001 | CLK(NULL, "timer_32k_ck", &func_32k_ck, CK_243X), | 2001 | CLK("omap_hsmmc.1", "mmchsdb_fck", &mmchsdb2_fck), |
2002 | CLK(NULL, "timer_sys_ck", &sys_ck, CK_243X), | 2002 | CLK(NULL, "mmchsdb2_fck", &mmchsdb2_fck), |
2003 | CLK(NULL, "timer_ext_ck", &alt_ck, CK_243X), | 2003 | CLK(NULL, "timer_32k_ck", &func_32k_ck), |
2004 | CLK(NULL, "cpufreq_ck", &virt_prcm_set, CK_243X), | 2004 | CLK(NULL, "timer_sys_ck", &sys_ck), |
2005 | CLK(NULL, "timer_ext_ck", &alt_ck), | ||
2006 | CLK(NULL, "cpufreq_ck", &virt_prcm_set), | ||
2005 | }; | 2007 | }; |
2006 | 2008 | ||
2007 | static const char *enable_init_clks[] = { | 2009 | static const char *enable_init_clks[] = { |
@@ -2019,8 +2021,6 @@ static const char *enable_init_clks[] = { | |||
2019 | 2021 | ||
2020 | int __init omap2430_clk_init(void) | 2022 | int __init omap2430_clk_init(void) |
2021 | { | 2023 | { |
2022 | struct omap_clk *c; | ||
2023 | |||
2024 | prcm_clksrc_ctrl = OMAP2430_PRCM_CLKSRC_CTRL; | 2024 | prcm_clksrc_ctrl = OMAP2430_PRCM_CLKSRC_CTRL; |
2025 | cpu_mask = RATE_IN_243X; | 2025 | cpu_mask = RATE_IN_243X; |
2026 | rate_table = omap2430_rate_table; | 2026 | rate_table = omap2430_rate_table; |
@@ -2029,12 +2029,7 @@ int __init omap2430_clk_init(void) | |||
2029 | 2029 | ||
2030 | omap2xxx_clkt_vps_check_bootloader_rates(); | 2030 | omap2xxx_clkt_vps_check_bootloader_rates(); |
2031 | 2031 | ||
2032 | for (c = omap2430_clks; c < omap2430_clks + ARRAY_SIZE(omap2430_clks); | 2032 | omap_clocks_register(omap2430_clks, ARRAY_SIZE(omap2430_clks)); |
2033 | c++) { | ||
2034 | clkdev_add(&c->lk); | ||
2035 | if (!__clk_init(NULL, c->lk.clk)) | ||
2036 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
2037 | } | ||
2038 | 2033 | ||
2039 | omap2xxx_clkt_vps_late_init(); | 2034 | omap2xxx_clkt_vps_late_init(); |
2040 | 2035 | ||
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c index 476b82066cb6..c8dcc523c31a 100644 --- a/arch/arm/mach-omap2/cclock33xx_data.c +++ b/arch/arm/mach-omap2/cclock33xx_data.c | |||
@@ -413,6 +413,14 @@ static struct clk smartreflex1_fck; | |||
413 | DEFINE_STRUCT_CLK_HW_OMAP(smartreflex1_fck, NULL); | 413 | DEFINE_STRUCT_CLK_HW_OMAP(smartreflex1_fck, NULL); |
414 | DEFINE_STRUCT_CLK(smartreflex1_fck, dpll_core_ck_parents, clk_ops_null); | 414 | DEFINE_STRUCT_CLK(smartreflex1_fck, dpll_core_ck_parents, clk_ops_null); |
415 | 415 | ||
416 | static struct clk sha0_fck; | ||
417 | DEFINE_STRUCT_CLK_HW_OMAP(sha0_fck, NULL); | ||
418 | DEFINE_STRUCT_CLK(sha0_fck, dpll_core_ck_parents, clk_ops_null); | ||
419 | |||
420 | static struct clk aes0_fck; | ||
421 | DEFINE_STRUCT_CLK_HW_OMAP(aes0_fck, NULL); | ||
422 | DEFINE_STRUCT_CLK(aes0_fck, dpll_core_ck_parents, clk_ops_null); | ||
423 | |||
416 | /* | 424 | /* |
417 | * Modules clock nodes | 425 | * Modules clock nodes |
418 | * | 426 | * |
@@ -838,80 +846,82 @@ DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops); | |||
838 | * clkdev | 846 | * clkdev |
839 | */ | 847 | */ |
840 | static struct omap_clk am33xx_clks[] = { | 848 | static struct omap_clk am33xx_clks[] = { |
841 | CLK(NULL, "clk_32768_ck", &clk_32768_ck, CK_AM33XX), | 849 | CLK(NULL, "clk_32768_ck", &clk_32768_ck), |
842 | CLK(NULL, "clk_rc32k_ck", &clk_rc32k_ck, CK_AM33XX), | 850 | CLK(NULL, "clk_rc32k_ck", &clk_rc32k_ck), |
843 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck, CK_AM33XX), | 851 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck), |
844 | CLK(NULL, "virt_24000000_ck", &virt_24000000_ck, CK_AM33XX), | 852 | CLK(NULL, "virt_24000000_ck", &virt_24000000_ck), |
845 | CLK(NULL, "virt_25000000_ck", &virt_25000000_ck, CK_AM33XX), | 853 | CLK(NULL, "virt_25000000_ck", &virt_25000000_ck), |
846 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck, CK_AM33XX), | 854 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck), |
847 | CLK(NULL, "sys_clkin_ck", &sys_clkin_ck, CK_AM33XX), | 855 | CLK(NULL, "sys_clkin_ck", &sys_clkin_ck), |
848 | CLK(NULL, "tclkin_ck", &tclkin_ck, CK_AM33XX), | 856 | CLK(NULL, "tclkin_ck", &tclkin_ck), |
849 | CLK(NULL, "dpll_core_ck", &dpll_core_ck, CK_AM33XX), | 857 | CLK(NULL, "dpll_core_ck", &dpll_core_ck), |
850 | CLK(NULL, "dpll_core_x2_ck", &dpll_core_x2_ck, CK_AM33XX), | 858 | CLK(NULL, "dpll_core_x2_ck", &dpll_core_x2_ck), |
851 | CLK(NULL, "dpll_core_m4_ck", &dpll_core_m4_ck, CK_AM33XX), | 859 | CLK(NULL, "dpll_core_m4_ck", &dpll_core_m4_ck), |
852 | CLK(NULL, "dpll_core_m5_ck", &dpll_core_m5_ck, CK_AM33XX), | 860 | CLK(NULL, "dpll_core_m5_ck", &dpll_core_m5_ck), |
853 | CLK(NULL, "dpll_core_m6_ck", &dpll_core_m6_ck, CK_AM33XX), | 861 | CLK(NULL, "dpll_core_m6_ck", &dpll_core_m6_ck), |
854 | CLK(NULL, "dpll_mpu_ck", &dpll_mpu_ck, CK_AM33XX), | 862 | CLK(NULL, "dpll_mpu_ck", &dpll_mpu_ck), |
855 | CLK("cpu0", NULL, &dpll_mpu_ck, CK_AM33XX), | 863 | CLK("cpu0", NULL, &dpll_mpu_ck), |
856 | CLK(NULL, "dpll_mpu_m2_ck", &dpll_mpu_m2_ck, CK_AM33XX), | 864 | CLK(NULL, "dpll_mpu_m2_ck", &dpll_mpu_m2_ck), |
857 | CLK(NULL, "dpll_ddr_ck", &dpll_ddr_ck, CK_AM33XX), | 865 | CLK(NULL, "dpll_ddr_ck", &dpll_ddr_ck), |
858 | CLK(NULL, "dpll_ddr_m2_ck", &dpll_ddr_m2_ck, CK_AM33XX), | 866 | CLK(NULL, "dpll_ddr_m2_ck", &dpll_ddr_m2_ck), |
859 | CLK(NULL, "dpll_ddr_m2_div2_ck", &dpll_ddr_m2_div2_ck, CK_AM33XX), | 867 | CLK(NULL, "dpll_ddr_m2_div2_ck", &dpll_ddr_m2_div2_ck), |
860 | CLK(NULL, "dpll_disp_ck", &dpll_disp_ck, CK_AM33XX), | 868 | CLK(NULL, "dpll_disp_ck", &dpll_disp_ck), |
861 | CLK(NULL, "dpll_disp_m2_ck", &dpll_disp_m2_ck, CK_AM33XX), | 869 | CLK(NULL, "dpll_disp_m2_ck", &dpll_disp_m2_ck), |
862 | CLK(NULL, "dpll_per_ck", &dpll_per_ck, CK_AM33XX), | 870 | CLK(NULL, "dpll_per_ck", &dpll_per_ck), |
863 | CLK(NULL, "dpll_per_m2_ck", &dpll_per_m2_ck, CK_AM33XX), | 871 | CLK(NULL, "dpll_per_m2_ck", &dpll_per_m2_ck), |
864 | CLK(NULL, "dpll_per_m2_div4_wkupdm_ck", &dpll_per_m2_div4_wkupdm_ck, CK_AM33XX), | 872 | CLK(NULL, "dpll_per_m2_div4_wkupdm_ck", &dpll_per_m2_div4_wkupdm_ck), |
865 | CLK(NULL, "dpll_per_m2_div4_ck", &dpll_per_m2_div4_ck, CK_AM33XX), | 873 | CLK(NULL, "dpll_per_m2_div4_ck", &dpll_per_m2_div4_ck), |
866 | CLK(NULL, "adc_tsc_fck", &adc_tsc_fck, CK_AM33XX), | 874 | CLK(NULL, "adc_tsc_fck", &adc_tsc_fck), |
867 | CLK(NULL, "cefuse_fck", &cefuse_fck, CK_AM33XX), | 875 | CLK(NULL, "cefuse_fck", &cefuse_fck), |
868 | CLK(NULL, "clkdiv32k_ck", &clkdiv32k_ck, CK_AM33XX), | 876 | CLK(NULL, "clkdiv32k_ck", &clkdiv32k_ck), |
869 | CLK(NULL, "clkdiv32k_ick", &clkdiv32k_ick, CK_AM33XX), | 877 | CLK(NULL, "clkdiv32k_ick", &clkdiv32k_ick), |
870 | CLK(NULL, "dcan0_fck", &dcan0_fck, CK_AM33XX), | 878 | CLK(NULL, "dcan0_fck", &dcan0_fck), |
871 | CLK("481cc000.d_can", NULL, &dcan0_fck, CK_AM33XX), | 879 | CLK("481cc000.d_can", NULL, &dcan0_fck), |
872 | CLK(NULL, "dcan1_fck", &dcan1_fck, CK_AM33XX), | 880 | CLK(NULL, "dcan1_fck", &dcan1_fck), |
873 | CLK("481d0000.d_can", NULL, &dcan1_fck, CK_AM33XX), | 881 | CLK("481d0000.d_can", NULL, &dcan1_fck), |
874 | CLK(NULL, "debugss_ick", &debugss_ick, CK_AM33XX), | 882 | CLK(NULL, "debugss_ick", &debugss_ick), |
875 | CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk, CK_AM33XX), | 883 | CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk), |
876 | CLK(NULL, "mcasp0_fck", &mcasp0_fck, CK_AM33XX), | 884 | CLK(NULL, "mcasp0_fck", &mcasp0_fck), |
877 | CLK(NULL, "mcasp1_fck", &mcasp1_fck, CK_AM33XX), | 885 | CLK(NULL, "mcasp1_fck", &mcasp1_fck), |
878 | CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), | 886 | CLK(NULL, "mmu_fck", &mmu_fck), |
879 | CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), | 887 | CLK(NULL, "smartreflex0_fck", &smartreflex0_fck), |
880 | CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), | 888 | CLK(NULL, "smartreflex1_fck", &smartreflex1_fck), |
881 | CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), | 889 | CLK(NULL, "sha0_fck", &sha0_fck), |
882 | CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), | 890 | CLK(NULL, "aes0_fck", &aes0_fck), |
883 | CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), | 891 | CLK(NULL, "timer1_fck", &timer1_fck), |
884 | CLK(NULL, "timer4_fck", &timer4_fck, CK_AM33XX), | 892 | CLK(NULL, "timer2_fck", &timer2_fck), |
885 | CLK(NULL, "timer5_fck", &timer5_fck, CK_AM33XX), | 893 | CLK(NULL, "timer3_fck", &timer3_fck), |
886 | CLK(NULL, "timer6_fck", &timer6_fck, CK_AM33XX), | 894 | CLK(NULL, "timer4_fck", &timer4_fck), |
887 | CLK(NULL, "timer7_fck", &timer7_fck, CK_AM33XX), | 895 | CLK(NULL, "timer5_fck", &timer5_fck), |
888 | CLK(NULL, "usbotg_fck", &usbotg_fck, CK_AM33XX), | 896 | CLK(NULL, "timer6_fck", &timer6_fck), |
889 | CLK(NULL, "ieee5000_fck", &ieee5000_fck, CK_AM33XX), | 897 | CLK(NULL, "timer7_fck", &timer7_fck), |
890 | CLK(NULL, "wdt1_fck", &wdt1_fck, CK_AM33XX), | 898 | CLK(NULL, "usbotg_fck", &usbotg_fck), |
891 | CLK(NULL, "l4_rtc_gclk", &l4_rtc_gclk, CK_AM33XX), | 899 | CLK(NULL, "ieee5000_fck", &ieee5000_fck), |
892 | CLK(NULL, "l3_gclk", &l3_gclk, CK_AM33XX), | 900 | CLK(NULL, "wdt1_fck", &wdt1_fck), |
893 | CLK(NULL, "dpll_core_m4_div2_ck", &dpll_core_m4_div2_ck, CK_AM33XX), | 901 | CLK(NULL, "l4_rtc_gclk", &l4_rtc_gclk), |
894 | CLK(NULL, "l4hs_gclk", &l4hs_gclk, CK_AM33XX), | 902 | CLK(NULL, "l3_gclk", &l3_gclk), |
895 | CLK(NULL, "l3s_gclk", &l3s_gclk, CK_AM33XX), | 903 | CLK(NULL, "dpll_core_m4_div2_ck", &dpll_core_m4_div2_ck), |
896 | CLK(NULL, "l4fw_gclk", &l4fw_gclk, CK_AM33XX), | 904 | CLK(NULL, "l4hs_gclk", &l4hs_gclk), |
897 | CLK(NULL, "l4ls_gclk", &l4ls_gclk, CK_AM33XX), | 905 | CLK(NULL, "l3s_gclk", &l3s_gclk), |
898 | CLK(NULL, "clk_24mhz", &clk_24mhz, CK_AM33XX), | 906 | CLK(NULL, "l4fw_gclk", &l4fw_gclk), |
899 | CLK(NULL, "sysclk_div_ck", &sysclk_div_ck, CK_AM33XX), | 907 | CLK(NULL, "l4ls_gclk", &l4ls_gclk), |
900 | CLK(NULL, "cpsw_125mhz_gclk", &cpsw_125mhz_gclk, CK_AM33XX), | 908 | CLK(NULL, "clk_24mhz", &clk_24mhz), |
901 | CLK(NULL, "cpsw_cpts_rft_clk", &cpsw_cpts_rft_clk, CK_AM33XX), | 909 | CLK(NULL, "sysclk_div_ck", &sysclk_div_ck), |
902 | CLK(NULL, "gpio0_dbclk_mux_ck", &gpio0_dbclk_mux_ck, CK_AM33XX), | 910 | CLK(NULL, "cpsw_125mhz_gclk", &cpsw_125mhz_gclk), |
903 | CLK(NULL, "gpio0_dbclk", &gpio0_dbclk, CK_AM33XX), | 911 | CLK(NULL, "cpsw_cpts_rft_clk", &cpsw_cpts_rft_clk), |
904 | CLK(NULL, "gpio1_dbclk", &gpio1_dbclk, CK_AM33XX), | 912 | CLK(NULL, "gpio0_dbclk_mux_ck", &gpio0_dbclk_mux_ck), |
905 | CLK(NULL, "gpio2_dbclk", &gpio2_dbclk, CK_AM33XX), | 913 | CLK(NULL, "gpio0_dbclk", &gpio0_dbclk), |
906 | CLK(NULL, "gpio3_dbclk", &gpio3_dbclk, CK_AM33XX), | 914 | CLK(NULL, "gpio1_dbclk", &gpio1_dbclk), |
907 | CLK(NULL, "lcd_gclk", &lcd_gclk, CK_AM33XX), | 915 | CLK(NULL, "gpio2_dbclk", &gpio2_dbclk), |
908 | CLK(NULL, "mmc_clk", &mmc_clk, CK_AM33XX), | 916 | CLK(NULL, "gpio3_dbclk", &gpio3_dbclk), |
909 | CLK(NULL, "gfx_fclk_clksel_ck", &gfx_fclk_clksel_ck, CK_AM33XX), | 917 | CLK(NULL, "lcd_gclk", &lcd_gclk), |
910 | CLK(NULL, "gfx_fck_div_ck", &gfx_fck_div_ck, CK_AM33XX), | 918 | CLK(NULL, "mmc_clk", &mmc_clk), |
911 | CLK(NULL, "sysclkout_pre_ck", &sysclkout_pre_ck, CK_AM33XX), | 919 | CLK(NULL, "gfx_fclk_clksel_ck", &gfx_fclk_clksel_ck), |
912 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck, CK_AM33XX), | 920 | CLK(NULL, "gfx_fck_div_ck", &gfx_fck_div_ck), |
913 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick, CK_AM33XX), | 921 | CLK(NULL, "sysclkout_pre_ck", &sysclkout_pre_ck), |
914 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck, CK_AM33XX), | 922 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), |
923 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), | ||
924 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck), | ||
915 | }; | 925 | }; |
916 | 926 | ||
917 | 927 | ||
@@ -926,21 +936,10 @@ static const char *enable_init_clks[] = { | |||
926 | 936 | ||
927 | int __init am33xx_clk_init(void) | 937 | int __init am33xx_clk_init(void) |
928 | { | 938 | { |
929 | struct omap_clk *c; | 939 | if (soc_is_am33xx()) |
930 | u32 cpu_clkflg; | ||
931 | |||
932 | if (soc_is_am33xx()) { | ||
933 | cpu_mask = RATE_IN_AM33XX; | 940 | cpu_mask = RATE_IN_AM33XX; |
934 | cpu_clkflg = CK_AM33XX; | 941 | |
935 | } | 942 | omap_clocks_register(am33xx_clks, ARRAY_SIZE(am33xx_clks)); |
936 | |||
937 | for (c = am33xx_clks; c < am33xx_clks + ARRAY_SIZE(am33xx_clks); c++) { | ||
938 | if (c->cpu & cpu_clkflg) { | ||
939 | clkdev_add(&c->lk); | ||
940 | if (!__clk_init(NULL, c->lk.clk)) | ||
941 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
942 | } | ||
943 | } | ||
944 | 943 | ||
945 | omap2_clk_disable_autoidle_all(); | 944 | omap2_clk_disable_autoidle_all(); |
946 | 945 | ||
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c index 4579c3c5338f..45cd26430d1f 100644 --- a/arch/arm/mach-omap2/cclock3xxx_data.c +++ b/arch/arm/mach-omap2/cclock3xxx_data.c | |||
@@ -3219,289 +3219,327 @@ static struct clk_hw_omap wdt3_ick_hw = { | |||
3219 | DEFINE_STRUCT_CLK(wdt3_ick, gpio2_ick_parent_names, aes2_ick_ops); | 3219 | DEFINE_STRUCT_CLK(wdt3_ick, gpio2_ick_parent_names, aes2_ick_ops); |
3220 | 3220 | ||
3221 | /* | 3221 | /* |
3222 | * clkdev | 3222 | * clocks specific to omap3430es1 |
3223 | */ | ||
3224 | static struct omap_clk omap3430es1_clks[] = { | ||
3225 | CLK(NULL, "gfx_l3_ck", &gfx_l3_ck), | ||
3226 | CLK(NULL, "gfx_l3_fck", &gfx_l3_fck), | ||
3227 | CLK(NULL, "gfx_l3_ick", &gfx_l3_ick), | ||
3228 | CLK(NULL, "gfx_cg1_ck", &gfx_cg1_ck), | ||
3229 | CLK(NULL, "gfx_cg2_ck", &gfx_cg2_ck), | ||
3230 | CLK(NULL, "d2d_26m_fck", &d2d_26m_fck), | ||
3231 | CLK(NULL, "fshostusb_fck", &fshostusb_fck), | ||
3232 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es1), | ||
3233 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es1), | ||
3234 | CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es1), | ||
3235 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_3430es1), | ||
3236 | CLK(NULL, "fac_ick", &fac_ick), | ||
3237 | CLK(NULL, "ssi_ick", &ssi_ick_3430es1), | ||
3238 | CLK(NULL, "usb_l4_ick", &usb_l4_ick), | ||
3239 | CLK(NULL, "dss1_alwon_fck", &dss1_alwon_fck_3430es1), | ||
3240 | CLK("omapdss_dss", "ick", &dss_ick_3430es1), | ||
3241 | CLK(NULL, "dss_ick", &dss_ick_3430es1), | ||
3242 | }; | ||
3243 | |||
3244 | /* | ||
3245 | * clocks specific to am35xx | ||
3246 | */ | ||
3247 | static struct omap_clk am35xx_clks[] = { | ||
3248 | CLK(NULL, "ipss_ick", &ipss_ick), | ||
3249 | CLK(NULL, "rmii_ck", &rmii_ck), | ||
3250 | CLK(NULL, "pclk_ck", &pclk_ck), | ||
3251 | CLK(NULL, "emac_ick", &emac_ick), | ||
3252 | CLK(NULL, "emac_fck", &emac_fck), | ||
3253 | CLK("davinci_emac.0", NULL, &emac_ick), | ||
3254 | CLK("davinci_mdio.0", NULL, &emac_fck), | ||
3255 | CLK("vpfe-capture", "master", &vpfe_ick), | ||
3256 | CLK("vpfe-capture", "slave", &vpfe_fck), | ||
3257 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_am35xx), | ||
3258 | CLK(NULL, "hsotgusb_fck", &hsotgusb_fck_am35xx), | ||
3259 | CLK(NULL, "hecc_ck", &hecc_ck), | ||
3260 | CLK(NULL, "uart4_ick", &uart4_ick_am35xx), | ||
3261 | CLK(NULL, "uart4_fck", &uart4_fck_am35xx), | ||
3262 | }; | ||
3263 | |||
3264 | /* | ||
3265 | * clocks specific to omap36xx | ||
3266 | */ | ||
3267 | static struct omap_clk omap36xx_clks[] = { | ||
3268 | CLK(NULL, "omap_192m_alwon_fck", &omap_192m_alwon_fck), | ||
3269 | CLK(NULL, "uart4_fck", &uart4_fck), | ||
3270 | }; | ||
3271 | |||
3272 | /* | ||
3273 | * clocks common to omap36xx omap34xx | ||
3274 | */ | ||
3275 | static struct omap_clk omap34xx_omap36xx_clks[] = { | ||
3276 | CLK(NULL, "aes1_ick", &aes1_ick), | ||
3277 | CLK("omap_rng", "ick", &rng_ick), | ||
3278 | CLK(NULL, "sha11_ick", &sha11_ick), | ||
3279 | CLK(NULL, "des1_ick", &des1_ick), | ||
3280 | CLK(NULL, "cam_mclk", &cam_mclk), | ||
3281 | CLK(NULL, "cam_ick", &cam_ick), | ||
3282 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck), | ||
3283 | CLK(NULL, "security_l3_ick", &security_l3_ick), | ||
3284 | CLK(NULL, "pka_ick", &pka_ick), | ||
3285 | CLK(NULL, "icr_ick", &icr_ick), | ||
3286 | CLK("omap-aes", "ick", &aes2_ick), | ||
3287 | CLK("omap-sham", "ick", &sha12_ick), | ||
3288 | CLK(NULL, "des2_ick", &des2_ick), | ||
3289 | CLK(NULL, "mspro_ick", &mspro_ick), | ||
3290 | CLK(NULL, "mailboxes_ick", &mailboxes_ick), | ||
3291 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick), | ||
3292 | CLK(NULL, "sr1_fck", &sr1_fck), | ||
3293 | CLK(NULL, "sr2_fck", &sr2_fck), | ||
3294 | CLK(NULL, "sr_l4_ick", &sr_l4_ick), | ||
3295 | CLK(NULL, "security_l4_ick2", &security_l4_ick2), | ||
3296 | CLK(NULL, "wkup_l4_ick", &wkup_l4_ick), | ||
3297 | CLK(NULL, "dpll2_fck", &dpll2_fck), | ||
3298 | CLK(NULL, "iva2_ck", &iva2_ck), | ||
3299 | CLK(NULL, "modem_fck", &modem_fck), | ||
3300 | CLK(NULL, "sad2d_ick", &sad2d_ick), | ||
3301 | CLK(NULL, "mad2d_ick", &mad2d_ick), | ||
3302 | CLK(NULL, "mspro_fck", &mspro_fck), | ||
3303 | CLK(NULL, "dpll2_ck", &dpll2_ck), | ||
3304 | CLK(NULL, "dpll2_m2_ck", &dpll2_m2_ck), | ||
3305 | }; | ||
3306 | |||
3307 | /* | ||
3308 | * clocks common to omap36xx and omap3430es2plus | ||
3309 | */ | ||
3310 | static struct omap_clk omap36xx_omap3430es2plus_clks[] = { | ||
3311 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es2), | ||
3312 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es2), | ||
3313 | CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es2), | ||
3314 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_3430es2), | ||
3315 | CLK(NULL, "ssi_ick", &ssi_ick_3430es2), | ||
3316 | CLK(NULL, "usim_fck", &usim_fck), | ||
3317 | CLK(NULL, "usim_ick", &usim_ick), | ||
3318 | }; | ||
3319 | |||
3320 | /* | ||
3321 | * clocks common to am35xx omap36xx and omap3430es2plus | ||
3322 | */ | ||
3323 | static struct omap_clk omap36xx_am35xx_omap3430es2plus_clks[] = { | ||
3324 | CLK(NULL, "virt_16_8m_ck", &virt_16_8m_ck), | ||
3325 | CLK(NULL, "dpll5_ck", &dpll5_ck), | ||
3326 | CLK(NULL, "dpll5_m2_ck", &dpll5_m2_ck), | ||
3327 | CLK(NULL, "sgx_fck", &sgx_fck), | ||
3328 | CLK(NULL, "sgx_ick", &sgx_ick), | ||
3329 | CLK(NULL, "cpefuse_fck", &cpefuse_fck), | ||
3330 | CLK(NULL, "ts_fck", &ts_fck), | ||
3331 | CLK(NULL, "usbtll_fck", &usbtll_fck), | ||
3332 | CLK("usbhs_omap", "usbtll_fck", &usbtll_fck), | ||
3333 | CLK("usbhs_tll", "usbtll_fck", &usbtll_fck), | ||
3334 | CLK(NULL, "usbtll_ick", &usbtll_ick), | ||
3335 | CLK("usbhs_omap", "usbtll_ick", &usbtll_ick), | ||
3336 | CLK("usbhs_tll", "usbtll_ick", &usbtll_ick), | ||
3337 | CLK("omap_hsmmc.2", "ick", &mmchs3_ick), | ||
3338 | CLK(NULL, "mmchs3_ick", &mmchs3_ick), | ||
3339 | CLK(NULL, "mmchs3_fck", &mmchs3_fck), | ||
3340 | CLK(NULL, "dss1_alwon_fck", &dss1_alwon_fck_3430es2), | ||
3341 | CLK("omapdss_dss", "ick", &dss_ick_3430es2), | ||
3342 | CLK(NULL, "dss_ick", &dss_ick_3430es2), | ||
3343 | CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck), | ||
3344 | CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck), | ||
3345 | CLK(NULL, "usbhost_ick", &usbhost_ick), | ||
3346 | CLK("usbhs_omap", "usbhost_ick", &usbhost_ick), | ||
3347 | }; | ||
3348 | |||
3349 | /* | ||
3350 | * common clocks | ||
3223 | */ | 3351 | */ |
3224 | static struct omap_clk omap3xxx_clks[] = { | 3352 | static struct omap_clk omap3xxx_clks[] = { |
3225 | CLK(NULL, "apb_pclk", &dummy_apb_pclk, CK_3XXX), | 3353 | CLK(NULL, "apb_pclk", &dummy_apb_pclk), |
3226 | CLK(NULL, "omap_32k_fck", &omap_32k_fck, CK_3XXX), | 3354 | CLK(NULL, "omap_32k_fck", &omap_32k_fck), |
3227 | CLK(NULL, "virt_12m_ck", &virt_12m_ck, CK_3XXX), | 3355 | CLK(NULL, "virt_12m_ck", &virt_12m_ck), |
3228 | CLK(NULL, "virt_13m_ck", &virt_13m_ck, CK_3XXX), | 3356 | CLK(NULL, "virt_13m_ck", &virt_13m_ck), |
3229 | CLK(NULL, "virt_16_8m_ck", &virt_16_8m_ck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3357 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck), |
3230 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck, CK_3XXX), | 3358 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck), |
3231 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck, CK_3XXX), | 3359 | CLK(NULL, "virt_38_4m_ck", &virt_38_4m_ck), |
3232 | CLK(NULL, "virt_38_4m_ck", &virt_38_4m_ck, CK_3XXX), | 3360 | CLK(NULL, "osc_sys_ck", &osc_sys_ck), |
3233 | CLK(NULL, "osc_sys_ck", &osc_sys_ck, CK_3XXX), | 3361 | CLK("twl", "fck", &osc_sys_ck), |
3234 | CLK("twl", "fck", &osc_sys_ck, CK_3XXX), | 3362 | CLK(NULL, "sys_ck", &sys_ck), |
3235 | CLK(NULL, "sys_ck", &sys_ck, CK_3XXX), | 3363 | CLK(NULL, "omap_96m_alwon_fck", &omap_96m_alwon_fck), |
3236 | CLK(NULL, "sys_altclk", &sys_altclk, CK_3XXX), | 3364 | CLK("etb", "emu_core_alwon_ck", &emu_core_alwon_ck), |
3237 | CLK(NULL, "mcbsp_clks", &mcbsp_clks, CK_3XXX), | 3365 | CLK(NULL, "sys_altclk", &sys_altclk), |
3238 | CLK(NULL, "sys_clkout1", &sys_clkout1, CK_3XXX), | 3366 | CLK(NULL, "mcbsp_clks", &mcbsp_clks), |
3239 | CLK(NULL, "dpll1_ck", &dpll1_ck, CK_3XXX), | 3367 | CLK(NULL, "sys_clkout1", &sys_clkout1), |
3240 | CLK(NULL, "dpll1_x2_ck", &dpll1_x2_ck, CK_3XXX), | 3368 | CLK(NULL, "dpll1_ck", &dpll1_ck), |
3241 | CLK(NULL, "dpll1_x2m2_ck", &dpll1_x2m2_ck, CK_3XXX), | 3369 | CLK(NULL, "dpll1_x2_ck", &dpll1_x2_ck), |
3242 | CLK(NULL, "dpll2_ck", &dpll2_ck, CK_34XX | CK_36XX), | 3370 | CLK(NULL, "dpll1_x2m2_ck", &dpll1_x2m2_ck), |
3243 | CLK(NULL, "dpll2_m2_ck", &dpll2_m2_ck, CK_34XX | CK_36XX), | 3371 | CLK(NULL, "dpll3_ck", &dpll3_ck), |
3244 | CLK(NULL, "dpll3_ck", &dpll3_ck, CK_3XXX), | 3372 | CLK(NULL, "core_ck", &core_ck), |
3245 | CLK(NULL, "core_ck", &core_ck, CK_3XXX), | 3373 | CLK(NULL, "dpll3_x2_ck", &dpll3_x2_ck), |
3246 | CLK(NULL, "dpll3_x2_ck", &dpll3_x2_ck, CK_3XXX), | 3374 | CLK(NULL, "dpll3_m2_ck", &dpll3_m2_ck), |
3247 | CLK(NULL, "dpll3_m2_ck", &dpll3_m2_ck, CK_3XXX), | 3375 | CLK(NULL, "dpll3_m2x2_ck", &dpll3_m2x2_ck), |
3248 | CLK(NULL, "dpll3_m2x2_ck", &dpll3_m2x2_ck, CK_3XXX), | 3376 | CLK(NULL, "dpll3_m3_ck", &dpll3_m3_ck), |
3249 | CLK(NULL, "dpll3_m3_ck", &dpll3_m3_ck, CK_3XXX), | 3377 | CLK(NULL, "dpll3_m3x2_ck", &dpll3_m3x2_ck), |
3250 | CLK(NULL, "dpll3_m3x2_ck", &dpll3_m3x2_ck, CK_3XXX), | 3378 | CLK(NULL, "dpll4_ck", &dpll4_ck), |
3251 | CLK("etb", "emu_core_alwon_ck", &emu_core_alwon_ck, CK_3XXX), | 3379 | CLK(NULL, "dpll4_x2_ck", &dpll4_x2_ck), |
3252 | CLK(NULL, "dpll4_ck", &dpll4_ck, CK_3XXX), | 3380 | CLK(NULL, "omap_96m_fck", &omap_96m_fck), |
3253 | CLK(NULL, "dpll4_x2_ck", &dpll4_x2_ck, CK_3XXX), | 3381 | CLK(NULL, "cm_96m_fck", &cm_96m_fck), |
3254 | CLK(NULL, "omap_192m_alwon_fck", &omap_192m_alwon_fck, CK_36XX), | 3382 | CLK(NULL, "omap_54m_fck", &omap_54m_fck), |
3255 | CLK(NULL, "omap_96m_alwon_fck", &omap_96m_alwon_fck, CK_3XXX), | 3383 | CLK(NULL, "omap_48m_fck", &omap_48m_fck), |
3256 | CLK(NULL, "omap_96m_fck", &omap_96m_fck, CK_3XXX), | 3384 | CLK(NULL, "omap_12m_fck", &omap_12m_fck), |
3257 | CLK(NULL, "cm_96m_fck", &cm_96m_fck, CK_3XXX), | 3385 | CLK(NULL, "dpll4_m2_ck", &dpll4_m2_ck), |
3258 | CLK(NULL, "omap_54m_fck", &omap_54m_fck, CK_3XXX), | 3386 | CLK(NULL, "dpll4_m2x2_ck", &dpll4_m2x2_ck), |
3259 | CLK(NULL, "omap_48m_fck", &omap_48m_fck, CK_3XXX), | 3387 | CLK(NULL, "dpll4_m3_ck", &dpll4_m3_ck), |
3260 | CLK(NULL, "omap_12m_fck", &omap_12m_fck, CK_3XXX), | 3388 | CLK(NULL, "dpll4_m3x2_ck", &dpll4_m3x2_ck), |
3261 | CLK(NULL, "dpll4_m2_ck", &dpll4_m2_ck, CK_3XXX), | 3389 | CLK(NULL, "dpll4_m4_ck", &dpll4_m4_ck), |
3262 | CLK(NULL, "dpll4_m2x2_ck", &dpll4_m2x2_ck, CK_3XXX), | 3390 | CLK(NULL, "dpll4_m4x2_ck", &dpll4_m4x2_ck), |
3263 | CLK(NULL, "dpll4_m3_ck", &dpll4_m3_ck, CK_3XXX), | 3391 | CLK(NULL, "dpll4_m5_ck", &dpll4_m5_ck), |
3264 | CLK(NULL, "dpll4_m3x2_ck", &dpll4_m3x2_ck, CK_3XXX), | 3392 | CLK(NULL, "dpll4_m5x2_ck", &dpll4_m5x2_ck), |
3265 | CLK(NULL, "dpll4_m4_ck", &dpll4_m4_ck, CK_3XXX), | 3393 | CLK(NULL, "dpll4_m6_ck", &dpll4_m6_ck), |
3266 | CLK(NULL, "dpll4_m4x2_ck", &dpll4_m4x2_ck, CK_3XXX), | 3394 | CLK(NULL, "dpll4_m6x2_ck", &dpll4_m6x2_ck), |
3267 | CLK(NULL, "dpll4_m5_ck", &dpll4_m5_ck, CK_3XXX), | 3395 | CLK("etb", "emu_per_alwon_ck", &emu_per_alwon_ck), |
3268 | CLK(NULL, "dpll4_m5x2_ck", &dpll4_m5x2_ck, CK_3XXX), | 3396 | CLK(NULL, "clkout2_src_ck", &clkout2_src_ck), |
3269 | CLK(NULL, "dpll4_m6_ck", &dpll4_m6_ck, CK_3XXX), | 3397 | CLK(NULL, "sys_clkout2", &sys_clkout2), |
3270 | CLK(NULL, "dpll4_m6x2_ck", &dpll4_m6x2_ck, CK_3XXX), | 3398 | CLK(NULL, "corex2_fck", &corex2_fck), |
3271 | CLK("etb", "emu_per_alwon_ck", &emu_per_alwon_ck, CK_3XXX), | 3399 | CLK(NULL, "dpll1_fck", &dpll1_fck), |
3272 | CLK(NULL, "dpll5_ck", &dpll5_ck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3400 | CLK(NULL, "mpu_ck", &mpu_ck), |
3273 | CLK(NULL, "dpll5_m2_ck", &dpll5_m2_ck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3401 | CLK(NULL, "arm_fck", &arm_fck), |
3274 | CLK(NULL, "clkout2_src_ck", &clkout2_src_ck, CK_3XXX), | 3402 | CLK("etb", "emu_mpu_alwon_ck", &emu_mpu_alwon_ck), |
3275 | CLK(NULL, "sys_clkout2", &sys_clkout2, CK_3XXX), | 3403 | CLK(NULL, "l3_ick", &l3_ick), |
3276 | CLK(NULL, "corex2_fck", &corex2_fck, CK_3XXX), | 3404 | CLK(NULL, "l4_ick", &l4_ick), |
3277 | CLK(NULL, "dpll1_fck", &dpll1_fck, CK_3XXX), | 3405 | CLK(NULL, "rm_ick", &rm_ick), |
3278 | CLK(NULL, "mpu_ck", &mpu_ck, CK_3XXX), | 3406 | CLK(NULL, "gpt10_fck", &gpt10_fck), |
3279 | CLK(NULL, "arm_fck", &arm_fck, CK_3XXX), | 3407 | CLK(NULL, "gpt11_fck", &gpt11_fck), |
3280 | CLK("etb", "emu_mpu_alwon_ck", &emu_mpu_alwon_ck, CK_3XXX), | 3408 | CLK(NULL, "core_96m_fck", &core_96m_fck), |
3281 | CLK(NULL, "dpll2_fck", &dpll2_fck, CK_34XX | CK_36XX), | 3409 | CLK(NULL, "mmchs2_fck", &mmchs2_fck), |
3282 | CLK(NULL, "iva2_ck", &iva2_ck, CK_34XX | CK_36XX), | 3410 | CLK(NULL, "mmchs1_fck", &mmchs1_fck), |
3283 | CLK(NULL, "l3_ick", &l3_ick, CK_3XXX), | 3411 | CLK(NULL, "i2c3_fck", &i2c3_fck), |
3284 | CLK(NULL, "l4_ick", &l4_ick, CK_3XXX), | 3412 | CLK(NULL, "i2c2_fck", &i2c2_fck), |
3285 | CLK(NULL, "rm_ick", &rm_ick, CK_3XXX), | 3413 | CLK(NULL, "i2c1_fck", &i2c1_fck), |
3286 | CLK(NULL, "gfx_l3_ck", &gfx_l3_ck, CK_3430ES1), | 3414 | CLK(NULL, "mcbsp5_fck", &mcbsp5_fck), |
3287 | CLK(NULL, "gfx_l3_fck", &gfx_l3_fck, CK_3430ES1), | 3415 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck), |
3288 | CLK(NULL, "gfx_l3_ick", &gfx_l3_ick, CK_3430ES1), | 3416 | CLK(NULL, "core_48m_fck", &core_48m_fck), |
3289 | CLK(NULL, "gfx_cg1_ck", &gfx_cg1_ck, CK_3430ES1), | 3417 | CLK(NULL, "mcspi4_fck", &mcspi4_fck), |
3290 | CLK(NULL, "gfx_cg2_ck", &gfx_cg2_ck, CK_3430ES1), | 3418 | CLK(NULL, "mcspi3_fck", &mcspi3_fck), |
3291 | CLK(NULL, "sgx_fck", &sgx_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3419 | CLK(NULL, "mcspi2_fck", &mcspi2_fck), |
3292 | CLK(NULL, "sgx_ick", &sgx_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3420 | CLK(NULL, "mcspi1_fck", &mcspi1_fck), |
3293 | CLK(NULL, "d2d_26m_fck", &d2d_26m_fck, CK_3430ES1), | 3421 | CLK(NULL, "uart2_fck", &uart2_fck), |
3294 | CLK(NULL, "modem_fck", &modem_fck, CK_34XX | CK_36XX), | 3422 | CLK(NULL, "uart1_fck", &uart1_fck), |
3295 | CLK(NULL, "sad2d_ick", &sad2d_ick, CK_34XX | CK_36XX), | 3423 | CLK(NULL, "core_12m_fck", &core_12m_fck), |
3296 | CLK(NULL, "mad2d_ick", &mad2d_ick, CK_34XX | CK_36XX), | 3424 | CLK("omap_hdq.0", "fck", &hdq_fck), |
3297 | CLK(NULL, "gpt10_fck", &gpt10_fck, CK_3XXX), | 3425 | CLK(NULL, "hdq_fck", &hdq_fck), |
3298 | CLK(NULL, "gpt11_fck", &gpt11_fck, CK_3XXX), | 3426 | CLK(NULL, "core_l3_ick", &core_l3_ick), |
3299 | CLK(NULL, "cpefuse_fck", &cpefuse_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3427 | CLK(NULL, "sdrc_ick", &sdrc_ick), |
3300 | CLK(NULL, "ts_fck", &ts_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3428 | CLK(NULL, "gpmc_fck", &gpmc_fck), |
3301 | CLK(NULL, "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3429 | CLK(NULL, "core_l4_ick", &core_l4_ick), |
3302 | CLK("usbhs_omap", "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3430 | CLK("omap_hsmmc.1", "ick", &mmchs2_ick), |
3303 | CLK("usbhs_tll", "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3431 | CLK("omap_hsmmc.0", "ick", &mmchs1_ick), |
3304 | CLK(NULL, "core_96m_fck", &core_96m_fck, CK_3XXX), | 3432 | CLK(NULL, "mmchs2_ick", &mmchs2_ick), |
3305 | CLK(NULL, "mmchs3_fck", &mmchs3_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3433 | CLK(NULL, "mmchs1_ick", &mmchs1_ick), |
3306 | CLK(NULL, "mmchs2_fck", &mmchs2_fck, CK_3XXX), | 3434 | CLK("omap_hdq.0", "ick", &hdq_ick), |
3307 | CLK(NULL, "mspro_fck", &mspro_fck, CK_34XX | CK_36XX), | 3435 | CLK(NULL, "hdq_ick", &hdq_ick), |
3308 | CLK(NULL, "mmchs1_fck", &mmchs1_fck, CK_3XXX), | 3436 | CLK("omap2_mcspi.4", "ick", &mcspi4_ick), |
3309 | CLK(NULL, "i2c3_fck", &i2c3_fck, CK_3XXX), | 3437 | CLK("omap2_mcspi.3", "ick", &mcspi3_ick), |
3310 | CLK(NULL, "i2c2_fck", &i2c2_fck, CK_3XXX), | 3438 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick), |
3311 | CLK(NULL, "i2c1_fck", &i2c1_fck, CK_3XXX), | 3439 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick), |
3312 | CLK(NULL, "mcbsp5_fck", &mcbsp5_fck, CK_3XXX), | 3440 | CLK(NULL, "mcspi4_ick", &mcspi4_ick), |
3313 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck, CK_3XXX), | 3441 | CLK(NULL, "mcspi3_ick", &mcspi3_ick), |
3314 | CLK(NULL, "core_48m_fck", &core_48m_fck, CK_3XXX), | 3442 | CLK(NULL, "mcspi2_ick", &mcspi2_ick), |
3315 | CLK(NULL, "mcspi4_fck", &mcspi4_fck, CK_3XXX), | 3443 | CLK(NULL, "mcspi1_ick", &mcspi1_ick), |
3316 | CLK(NULL, "mcspi3_fck", &mcspi3_fck, CK_3XXX), | 3444 | CLK("omap_i2c.3", "ick", &i2c3_ick), |
3317 | CLK(NULL, "mcspi2_fck", &mcspi2_fck, CK_3XXX), | 3445 | CLK("omap_i2c.2", "ick", &i2c2_ick), |
3318 | CLK(NULL, "mcspi1_fck", &mcspi1_fck, CK_3XXX), | 3446 | CLK("omap_i2c.1", "ick", &i2c1_ick), |
3319 | CLK(NULL, "uart2_fck", &uart2_fck, CK_3XXX), | 3447 | CLK(NULL, "i2c3_ick", &i2c3_ick), |
3320 | CLK(NULL, "uart1_fck", &uart1_fck, CK_3XXX), | 3448 | CLK(NULL, "i2c2_ick", &i2c2_ick), |
3321 | CLK(NULL, "fshostusb_fck", &fshostusb_fck, CK_3430ES1), | 3449 | CLK(NULL, "i2c1_ick", &i2c1_ick), |
3322 | CLK(NULL, "core_12m_fck", &core_12m_fck, CK_3XXX), | 3450 | CLK(NULL, "uart2_ick", &uart2_ick), |
3323 | CLK("omap_hdq.0", "fck", &hdq_fck, CK_3XXX), | 3451 | CLK(NULL, "uart1_ick", &uart1_ick), |
3324 | CLK(NULL, "hdq_fck", &hdq_fck, CK_3XXX), | 3452 | CLK(NULL, "gpt11_ick", &gpt11_ick), |
3325 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es1, CK_3430ES1), | 3453 | CLK(NULL, "gpt10_ick", &gpt10_ick), |
3326 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es2, CK_3430ES2PLUS | CK_36XX), | 3454 | CLK("omap-mcbsp.5", "ick", &mcbsp5_ick), |
3327 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es1, CK_3430ES1), | 3455 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick), |
3328 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es2, CK_3430ES2PLUS | CK_36XX), | 3456 | CLK(NULL, "mcbsp5_ick", &mcbsp5_ick), |
3329 | CLK(NULL, "core_l3_ick", &core_l3_ick, CK_3XXX), | 3457 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick), |
3330 | CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es1, CK_3430ES1), | 3458 | CLK(NULL, "omapctrl_ick", &omapctrl_ick), |
3331 | CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es2, CK_3430ES2PLUS | CK_36XX), | 3459 | CLK(NULL, "dss_tv_fck", &dss_tv_fck), |
3332 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_3430es1, CK_3430ES1), | 3460 | CLK(NULL, "dss_96m_fck", &dss_96m_fck), |
3333 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_3430es2, CK_3430ES2PLUS | CK_36XX), | 3461 | CLK(NULL, "dss2_alwon_fck", &dss2_alwon_fck), |
3334 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_3XXX), | 3462 | CLK(NULL, "utmi_p1_gfclk", &dummy_ck), |
3335 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_3XXX), | 3463 | CLK(NULL, "utmi_p2_gfclk", &dummy_ck), |
3336 | CLK(NULL, "security_l3_ick", &security_l3_ick, CK_34XX | CK_36XX), | 3464 | CLK(NULL, "xclk60mhsp1_ck", &dummy_ck), |
3337 | CLK(NULL, "pka_ick", &pka_ick, CK_34XX | CK_36XX), | 3465 | CLK(NULL, "xclk60mhsp2_ck", &dummy_ck), |
3338 | CLK(NULL, "core_l4_ick", &core_l4_ick, CK_3XXX), | 3466 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &dummy_ck), |
3339 | CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3467 | CLK(NULL, "usb_host_hs_utmi_p2_clk", &dummy_ck), |
3340 | CLK("usbhs_omap", "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3468 | CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck), |
3341 | CLK("usbhs_tll", "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3469 | CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck), |
3342 | CLK("omap_hsmmc.2", "ick", &mmchs3_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3470 | CLK("usbhs_tll", "usb_tll_hs_usb_ch0_clk", &dummy_ck), |
3343 | CLK(NULL, "mmchs3_ick", &mmchs3_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3471 | CLK("usbhs_tll", "usb_tll_hs_usb_ch1_clk", &dummy_ck), |
3344 | CLK(NULL, "icr_ick", &icr_ick, CK_34XX | CK_36XX), | 3472 | CLK(NULL, "init_60m_fclk", &dummy_ck), |
3345 | CLK("omap-aes", "ick", &aes2_ick, CK_34XX | CK_36XX), | 3473 | CLK(NULL, "gpt1_fck", &gpt1_fck), |
3346 | CLK("omap-sham", "ick", &sha12_ick, CK_34XX | CK_36XX), | 3474 | CLK(NULL, "aes2_ick", &aes2_ick), |
3347 | CLK(NULL, "des2_ick", &des2_ick, CK_34XX | CK_36XX), | 3475 | CLK(NULL, "wkup_32k_fck", &wkup_32k_fck), |
3348 | CLK("omap_hsmmc.1", "ick", &mmchs2_ick, CK_3XXX), | 3476 | CLK(NULL, "gpio1_dbck", &gpio1_dbck), |
3349 | CLK("omap_hsmmc.0", "ick", &mmchs1_ick, CK_3XXX), | 3477 | CLK(NULL, "sha12_ick", &sha12_ick), |
3350 | CLK(NULL, "mmchs2_ick", &mmchs2_ick, CK_3XXX), | 3478 | CLK(NULL, "wdt2_fck", &wdt2_fck), |
3351 | CLK(NULL, "mmchs1_ick", &mmchs1_ick, CK_3XXX), | 3479 | CLK("omap_wdt", "ick", &wdt2_ick), |
3352 | CLK(NULL, "mspro_ick", &mspro_ick, CK_34XX | CK_36XX), | 3480 | CLK(NULL, "wdt2_ick", &wdt2_ick), |
3353 | CLK("omap_hdq.0", "ick", &hdq_ick, CK_3XXX), | 3481 | CLK(NULL, "wdt1_ick", &wdt1_ick), |
3354 | CLK(NULL, "hdq_ick", &hdq_ick, CK_3XXX), | 3482 | CLK(NULL, "gpio1_ick", &gpio1_ick), |
3355 | CLK("omap2_mcspi.4", "ick", &mcspi4_ick, CK_3XXX), | 3483 | CLK(NULL, "omap_32ksync_ick", &omap_32ksync_ick), |
3356 | CLK("omap2_mcspi.3", "ick", &mcspi3_ick, CK_3XXX), | 3484 | CLK(NULL, "gpt12_ick", &gpt12_ick), |
3357 | CLK("omap2_mcspi.2", "ick", &mcspi2_ick, CK_3XXX), | 3485 | CLK(NULL, "gpt1_ick", &gpt1_ick), |
3358 | CLK("omap2_mcspi.1", "ick", &mcspi1_ick, CK_3XXX), | 3486 | CLK(NULL, "per_96m_fck", &per_96m_fck), |
3359 | CLK(NULL, "mcspi4_ick", &mcspi4_ick, CK_3XXX), | 3487 | CLK(NULL, "per_48m_fck", &per_48m_fck), |
3360 | CLK(NULL, "mcspi3_ick", &mcspi3_ick, CK_3XXX), | 3488 | CLK(NULL, "uart3_fck", &uart3_fck), |
3361 | CLK(NULL, "mcspi2_ick", &mcspi2_ick, CK_3XXX), | 3489 | CLK(NULL, "gpt2_fck", &gpt2_fck), |
3362 | CLK(NULL, "mcspi1_ick", &mcspi1_ick, CK_3XXX), | 3490 | CLK(NULL, "gpt3_fck", &gpt3_fck), |
3363 | CLK("omap_i2c.3", "ick", &i2c3_ick, CK_3XXX), | 3491 | CLK(NULL, "gpt4_fck", &gpt4_fck), |
3364 | CLK("omap_i2c.2", "ick", &i2c2_ick, CK_3XXX), | 3492 | CLK(NULL, "gpt5_fck", &gpt5_fck), |
3365 | CLK("omap_i2c.1", "ick", &i2c1_ick, CK_3XXX), | 3493 | CLK(NULL, "gpt6_fck", &gpt6_fck), |
3366 | CLK(NULL, "i2c3_ick", &i2c3_ick, CK_3XXX), | 3494 | CLK(NULL, "gpt7_fck", &gpt7_fck), |
3367 | CLK(NULL, "i2c2_ick", &i2c2_ick, CK_3XXX), | 3495 | CLK(NULL, "gpt8_fck", &gpt8_fck), |
3368 | CLK(NULL, "i2c1_ick", &i2c1_ick, CK_3XXX), | 3496 | CLK(NULL, "gpt9_fck", &gpt9_fck), |
3369 | CLK(NULL, "uart2_ick", &uart2_ick, CK_3XXX), | 3497 | CLK(NULL, "per_32k_alwon_fck", &per_32k_alwon_fck), |
3370 | CLK(NULL, "uart1_ick", &uart1_ick, CK_3XXX), | 3498 | CLK(NULL, "gpio6_dbck", &gpio6_dbck), |
3371 | CLK(NULL, "gpt11_ick", &gpt11_ick, CK_3XXX), | 3499 | CLK(NULL, "gpio5_dbck", &gpio5_dbck), |
3372 | CLK(NULL, "gpt10_ick", &gpt10_ick, CK_3XXX), | 3500 | CLK(NULL, "gpio4_dbck", &gpio4_dbck), |
3373 | CLK("omap-mcbsp.5", "ick", &mcbsp5_ick, CK_3XXX), | 3501 | CLK(NULL, "gpio3_dbck", &gpio3_dbck), |
3374 | CLK("omap-mcbsp.1", "ick", &mcbsp1_ick, CK_3XXX), | 3502 | CLK(NULL, "gpio2_dbck", &gpio2_dbck), |
3375 | CLK(NULL, "mcbsp5_ick", &mcbsp5_ick, CK_3XXX), | 3503 | CLK(NULL, "wdt3_fck", &wdt3_fck), |
3376 | CLK(NULL, "mcbsp1_ick", &mcbsp1_ick, CK_3XXX), | 3504 | CLK(NULL, "per_l4_ick", &per_l4_ick), |
3377 | CLK(NULL, "fac_ick", &fac_ick, CK_3430ES1), | 3505 | CLK(NULL, "gpio6_ick", &gpio6_ick), |
3378 | CLK(NULL, "mailboxes_ick", &mailboxes_ick, CK_34XX | CK_36XX), | 3506 | CLK(NULL, "gpio5_ick", &gpio5_ick), |
3379 | CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_3XXX), | 3507 | CLK(NULL, "gpio4_ick", &gpio4_ick), |
3380 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_34XX | CK_36XX), | 3508 | CLK(NULL, "gpio3_ick", &gpio3_ick), |
3381 | CLK(NULL, "ssi_ick", &ssi_ick_3430es1, CK_3430ES1), | 3509 | CLK(NULL, "gpio2_ick", &gpio2_ick), |
3382 | CLK(NULL, "ssi_ick", &ssi_ick_3430es2, CK_3430ES2PLUS | CK_36XX), | 3510 | CLK(NULL, "wdt3_ick", &wdt3_ick), |
3383 | CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_3430ES1), | 3511 | CLK(NULL, "uart3_ick", &uart3_ick), |
3384 | CLK(NULL, "security_l4_ick2", &security_l4_ick2, CK_34XX | CK_36XX), | 3512 | CLK(NULL, "uart4_ick", &uart4_ick), |
3385 | CLK(NULL, "aes1_ick", &aes1_ick, CK_34XX | CK_36XX), | 3513 | CLK(NULL, "gpt9_ick", &gpt9_ick), |
3386 | CLK("omap_rng", "ick", &rng_ick, CK_34XX | CK_36XX), | 3514 | CLK(NULL, "gpt8_ick", &gpt8_ick), |
3387 | CLK(NULL, "sha11_ick", &sha11_ick, CK_34XX | CK_36XX), | 3515 | CLK(NULL, "gpt7_ick", &gpt7_ick), |
3388 | CLK(NULL, "des1_ick", &des1_ick, CK_34XX | CK_36XX), | 3516 | CLK(NULL, "gpt6_ick", &gpt6_ick), |
3389 | CLK(NULL, "dss1_alwon_fck", &dss1_alwon_fck_3430es1, CK_3430ES1), | 3517 | CLK(NULL, "gpt5_ick", &gpt5_ick), |
3390 | CLK(NULL, "dss1_alwon_fck", &dss1_alwon_fck_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3518 | CLK(NULL, "gpt4_ick", &gpt4_ick), |
3391 | CLK(NULL, "dss_tv_fck", &dss_tv_fck, CK_3XXX), | 3519 | CLK(NULL, "gpt3_ick", &gpt3_ick), |
3392 | CLK(NULL, "dss_96m_fck", &dss_96m_fck, CK_3XXX), | 3520 | CLK(NULL, "gpt2_ick", &gpt2_ick), |
3393 | CLK(NULL, "dss2_alwon_fck", &dss2_alwon_fck, CK_3XXX), | 3521 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick), |
3394 | CLK("omapdss_dss", "ick", &dss_ick_3430es1, CK_3430ES1), | 3522 | CLK("omap-mcbsp.3", "ick", &mcbsp3_ick), |
3395 | CLK(NULL, "dss_ick", &dss_ick_3430es1, CK_3430ES1), | 3523 | CLK("omap-mcbsp.4", "ick", &mcbsp4_ick), |
3396 | CLK("omapdss_dss", "ick", &dss_ick_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3524 | CLK(NULL, "mcbsp4_ick", &mcbsp2_ick), |
3397 | CLK(NULL, "dss_ick", &dss_ick_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3525 | CLK(NULL, "mcbsp3_ick", &mcbsp3_ick), |
3398 | CLK(NULL, "cam_mclk", &cam_mclk, CK_34XX | CK_36XX), | 3526 | CLK(NULL, "mcbsp2_ick", &mcbsp4_ick), |
3399 | CLK(NULL, "cam_ick", &cam_ick, CK_34XX | CK_36XX), | 3527 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck), |
3400 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_34XX | CK_36XX), | 3528 | CLK(NULL, "mcbsp3_fck", &mcbsp3_fck), |
3401 | CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3529 | CLK(NULL, "mcbsp4_fck", &mcbsp4_fck), |
3402 | CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3530 | CLK("etb", "emu_src_ck", &emu_src_ck), |
3403 | CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3531 | CLK(NULL, "emu_src_ck", &emu_src_ck), |
3404 | CLK("usbhs_omap", "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), | 3532 | CLK(NULL, "pclk_fck", &pclk_fck), |
3405 | CLK(NULL, "utmi_p1_gfclk", &dummy_ck, CK_3XXX), | 3533 | CLK(NULL, "pclkx2_fck", &pclkx2_fck), |
3406 | CLK(NULL, "utmi_p2_gfclk", &dummy_ck, CK_3XXX), | 3534 | CLK(NULL, "atclk_fck", &atclk_fck), |
3407 | CLK(NULL, "xclk60mhsp1_ck", &dummy_ck, CK_3XXX), | 3535 | CLK(NULL, "traceclk_src_fck", &traceclk_src_fck), |
3408 | CLK(NULL, "xclk60mhsp2_ck", &dummy_ck, CK_3XXX), | 3536 | CLK(NULL, "traceclk_fck", &traceclk_fck), |
3409 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX), | 3537 | CLK(NULL, "secure_32k_fck", &secure_32k_fck), |
3410 | CLK(NULL, "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX), | 3538 | CLK(NULL, "gpt12_fck", &gpt12_fck), |
3411 | CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX), | 3539 | CLK(NULL, "wdt1_fck", &wdt1_fck), |
3412 | CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX), | 3540 | CLK(NULL, "timer_32k_ck", &omap_32k_fck), |
3413 | CLK("usbhs_tll", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX), | 3541 | CLK(NULL, "timer_sys_ck", &sys_ck), |
3414 | CLK("usbhs_tll", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX), | 3542 | CLK(NULL, "cpufreq_ck", &dpll1_ck), |
3415 | CLK(NULL, "init_60m_fclk", &dummy_ck, CK_3XXX), | ||
3416 | CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2PLUS | CK_36XX), | ||
3417 | CLK(NULL, "gpt1_fck", &gpt1_fck, CK_3XXX), | ||
3418 | CLK(NULL, "wkup_32k_fck", &wkup_32k_fck, CK_3XXX), | ||
3419 | CLK(NULL, "gpio1_dbck", &gpio1_dbck, CK_3XXX), | ||
3420 | CLK(NULL, "wdt2_fck", &wdt2_fck, CK_3XXX), | ||
3421 | CLK(NULL, "wkup_l4_ick", &wkup_l4_ick, CK_34XX | CK_36XX), | ||
3422 | CLK(NULL, "usim_ick", &usim_ick, CK_3430ES2PLUS | CK_36XX), | ||
3423 | CLK("omap_wdt", "ick", &wdt2_ick, CK_3XXX), | ||
3424 | CLK(NULL, "wdt2_ick", &wdt2_ick, CK_3XXX), | ||
3425 | CLK(NULL, "wdt1_ick", &wdt1_ick, CK_3XXX), | ||
3426 | CLK(NULL, "gpio1_ick", &gpio1_ick, CK_3XXX), | ||
3427 | CLK(NULL, "omap_32ksync_ick", &omap_32ksync_ick, CK_3XXX), | ||
3428 | CLK(NULL, "gpt12_ick", &gpt12_ick, CK_3XXX), | ||
3429 | CLK(NULL, "gpt1_ick", &gpt1_ick, CK_3XXX), | ||
3430 | CLK(NULL, "per_96m_fck", &per_96m_fck, CK_3XXX), | ||
3431 | CLK(NULL, "per_48m_fck", &per_48m_fck, CK_3XXX), | ||
3432 | CLK(NULL, "uart3_fck", &uart3_fck, CK_3XXX), | ||
3433 | CLK(NULL, "uart4_fck", &uart4_fck, CK_36XX), | ||
3434 | CLK(NULL, "uart4_fck", &uart4_fck_am35xx, CK_AM35XX), | ||
3435 | CLK(NULL, "gpt2_fck", &gpt2_fck, CK_3XXX), | ||
3436 | CLK(NULL, "gpt3_fck", &gpt3_fck, CK_3XXX), | ||
3437 | CLK(NULL, "gpt4_fck", &gpt4_fck, CK_3XXX), | ||
3438 | CLK(NULL, "gpt5_fck", &gpt5_fck, CK_3XXX), | ||
3439 | CLK(NULL, "gpt6_fck", &gpt6_fck, CK_3XXX), | ||
3440 | CLK(NULL, "gpt7_fck", &gpt7_fck, CK_3XXX), | ||
3441 | CLK(NULL, "gpt8_fck", &gpt8_fck, CK_3XXX), | ||
3442 | CLK(NULL, "gpt9_fck", &gpt9_fck, CK_3XXX), | ||
3443 | CLK(NULL, "per_32k_alwon_fck", &per_32k_alwon_fck, CK_3XXX), | ||
3444 | CLK(NULL, "gpio6_dbck", &gpio6_dbck, CK_3XXX), | ||
3445 | CLK(NULL, "gpio5_dbck", &gpio5_dbck, CK_3XXX), | ||
3446 | CLK(NULL, "gpio4_dbck", &gpio4_dbck, CK_3XXX), | ||
3447 | CLK(NULL, "gpio3_dbck", &gpio3_dbck, CK_3XXX), | ||
3448 | CLK(NULL, "gpio2_dbck", &gpio2_dbck, CK_3XXX), | ||
3449 | CLK(NULL, "wdt3_fck", &wdt3_fck, CK_3XXX), | ||
3450 | CLK(NULL, "per_l4_ick", &per_l4_ick, CK_3XXX), | ||
3451 | CLK(NULL, "gpio6_ick", &gpio6_ick, CK_3XXX), | ||
3452 | CLK(NULL, "gpio5_ick", &gpio5_ick, CK_3XXX), | ||
3453 | CLK(NULL, "gpio4_ick", &gpio4_ick, CK_3XXX), | ||
3454 | CLK(NULL, "gpio3_ick", &gpio3_ick, CK_3XXX), | ||
3455 | CLK(NULL, "gpio2_ick", &gpio2_ick, CK_3XXX), | ||
3456 | CLK(NULL, "wdt3_ick", &wdt3_ick, CK_3XXX), | ||
3457 | CLK(NULL, "uart3_ick", &uart3_ick, CK_3XXX), | ||
3458 | CLK(NULL, "uart4_ick", &uart4_ick, CK_36XX), | ||
3459 | CLK(NULL, "gpt9_ick", &gpt9_ick, CK_3XXX), | ||
3460 | CLK(NULL, "gpt8_ick", &gpt8_ick, CK_3XXX), | ||
3461 | CLK(NULL, "gpt7_ick", &gpt7_ick, CK_3XXX), | ||
3462 | CLK(NULL, "gpt6_ick", &gpt6_ick, CK_3XXX), | ||
3463 | CLK(NULL, "gpt5_ick", &gpt5_ick, CK_3XXX), | ||
3464 | CLK(NULL, "gpt4_ick", &gpt4_ick, CK_3XXX), | ||
3465 | CLK(NULL, "gpt3_ick", &gpt3_ick, CK_3XXX), | ||
3466 | CLK(NULL, "gpt2_ick", &gpt2_ick, CK_3XXX), | ||
3467 | CLK("omap-mcbsp.2", "ick", &mcbsp2_ick, CK_3XXX), | ||
3468 | CLK("omap-mcbsp.3", "ick", &mcbsp3_ick, CK_3XXX), | ||
3469 | CLK("omap-mcbsp.4", "ick", &mcbsp4_ick, CK_3XXX), | ||
3470 | CLK(NULL, "mcbsp4_ick", &mcbsp2_ick, CK_3XXX), | ||
3471 | CLK(NULL, "mcbsp3_ick", &mcbsp3_ick, CK_3XXX), | ||
3472 | CLK(NULL, "mcbsp2_ick", &mcbsp4_ick, CK_3XXX), | ||
3473 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck, CK_3XXX), | ||
3474 | CLK(NULL, "mcbsp3_fck", &mcbsp3_fck, CK_3XXX), | ||
3475 | CLK(NULL, "mcbsp4_fck", &mcbsp4_fck, CK_3XXX), | ||
3476 | CLK("etb", "emu_src_ck", &emu_src_ck, CK_3XXX), | ||
3477 | CLK(NULL, "emu_src_ck", &emu_src_ck, CK_3XXX), | ||
3478 | CLK(NULL, "pclk_fck", &pclk_fck, CK_3XXX), | ||
3479 | CLK(NULL, "pclkx2_fck", &pclkx2_fck, CK_3XXX), | ||
3480 | CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), | ||
3481 | CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), | ||
3482 | CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), | ||
3483 | CLK(NULL, "sr1_fck", &sr1_fck, CK_34XX | CK_36XX), | ||
3484 | CLK(NULL, "sr2_fck", &sr2_fck, CK_34XX | CK_36XX), | ||
3485 | CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), | ||
3486 | CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), | ||
3487 | CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), | ||
3488 | CLK(NULL, "wdt1_fck", &wdt1_fck, CK_3XXX), | ||
3489 | CLK(NULL, "ipss_ick", &ipss_ick, CK_AM35XX), | ||
3490 | CLK(NULL, "rmii_ck", &rmii_ck, CK_AM35XX), | ||
3491 | CLK(NULL, "pclk_ck", &pclk_ck, CK_AM35XX), | ||
3492 | CLK(NULL, "emac_ick", &emac_ick, CK_AM35XX), | ||
3493 | CLK(NULL, "emac_fck", &emac_fck, CK_AM35XX), | ||
3494 | CLK("davinci_emac.0", NULL, &emac_ick, CK_AM35XX), | ||
3495 | CLK("davinci_mdio.0", NULL, &emac_fck, CK_AM35XX), | ||
3496 | CLK("vpfe-capture", "master", &vpfe_ick, CK_AM35XX), | ||
3497 | CLK("vpfe-capture", "slave", &vpfe_fck, CK_AM35XX), | ||
3498 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick_am35xx, CK_AM35XX), | ||
3499 | CLK(NULL, "hsotgusb_fck", &hsotgusb_fck_am35xx, CK_AM35XX), | ||
3500 | CLK(NULL, "hecc_ck", &hecc_ck, CK_AM35XX), | ||
3501 | CLK(NULL, "uart4_ick", &uart4_ick_am35xx, CK_AM35XX), | ||
3502 | CLK(NULL, "timer_32k_ck", &omap_32k_fck, CK_3XXX), | ||
3503 | CLK(NULL, "timer_sys_ck", &sys_ck, CK_3XXX), | ||
3504 | CLK(NULL, "cpufreq_ck", &dpll1_ck, CK_3XXX), | ||
3505 | }; | 3543 | }; |
3506 | 3544 | ||
3507 | static const char *enable_init_clks[] = { | 3545 | static const char *enable_init_clks[] = { |
@@ -3512,8 +3550,27 @@ static const char *enable_init_clks[] = { | |||
3512 | 3550 | ||
3513 | int __init omap3xxx_clk_init(void) | 3551 | int __init omap3xxx_clk_init(void) |
3514 | { | 3552 | { |
3515 | struct omap_clk *c; | 3553 | if (omap3_has_192mhz_clk()) |
3516 | u32 cpu_clkflg = 0; | 3554 | omap_96m_alwon_fck = omap_96m_alwon_fck_3630; |
3555 | |||
3556 | if (cpu_is_omap3630()) { | ||
3557 | dpll3_m3x2_ck = dpll3_m3x2_ck_3630; | ||
3558 | dpll4_m2x2_ck = dpll4_m2x2_ck_3630; | ||
3559 | dpll4_m3x2_ck = dpll4_m3x2_ck_3630; | ||
3560 | dpll4_m4x2_ck = dpll4_m4x2_ck_3630; | ||
3561 | dpll4_m5x2_ck = dpll4_m5x2_ck_3630; | ||
3562 | dpll4_m6x2_ck = dpll4_m6x2_ck_3630; | ||
3563 | } | ||
3564 | |||
3565 | /* | ||
3566 | * XXX This type of dynamic rewriting of the clock tree is | ||
3567 | * deprecated and should be revised soon. | ||
3568 | */ | ||
3569 | if (cpu_is_omap3630()) | ||
3570 | dpll4_dd = dpll4_dd_3630; | ||
3571 | else | ||
3572 | dpll4_dd = dpll4_dd_34xx; | ||
3573 | |||
3517 | 3574 | ||
3518 | /* | 3575 | /* |
3519 | * 3505 must be tested before 3517, since 3517 returns true | 3576 | * 3505 must be tested before 3517, since 3517 returns true |
@@ -3523,13 +3580,20 @@ int __init omap3xxx_clk_init(void) | |||
3523 | */ | 3580 | */ |
3524 | if (soc_is_am35xx()) { | 3581 | if (soc_is_am35xx()) { |
3525 | cpu_mask = RATE_IN_34XX; | 3582 | cpu_mask = RATE_IN_34XX; |
3526 | cpu_clkflg = CK_AM35XX; | 3583 | omap_clocks_register(am35xx_clks, ARRAY_SIZE(am35xx_clks)); |
3584 | omap_clocks_register(omap36xx_am35xx_omap3430es2plus_clks, | ||
3585 | ARRAY_SIZE(omap36xx_am35xx_omap3430es2plus_clks)); | ||
3586 | omap_clocks_register(omap3xxx_clks, ARRAY_SIZE(omap3xxx_clks)); | ||
3527 | } else if (cpu_is_omap3630()) { | 3587 | } else if (cpu_is_omap3630()) { |
3528 | cpu_mask = (RATE_IN_34XX | RATE_IN_36XX); | 3588 | cpu_mask = (RATE_IN_34XX | RATE_IN_36XX); |
3529 | cpu_clkflg = CK_36XX; | 3589 | omap_clocks_register(omap36xx_clks, ARRAY_SIZE(omap36xx_clks)); |
3530 | } else if (cpu_is_ti816x()) { | 3590 | omap_clocks_register(omap36xx_omap3430es2plus_clks, |
3531 | cpu_mask = RATE_IN_TI816X; | 3591 | ARRAY_SIZE(omap36xx_omap3430es2plus_clks)); |
3532 | cpu_clkflg = CK_TI816X; | 3592 | omap_clocks_register(omap34xx_omap36xx_clks, |
3593 | ARRAY_SIZE(omap34xx_omap36xx_clks)); | ||
3594 | omap_clocks_register(omap36xx_am35xx_omap3430es2plus_clks, | ||
3595 | ARRAY_SIZE(omap36xx_am35xx_omap3430es2plus_clks)); | ||
3596 | omap_clocks_register(omap3xxx_clks, ARRAY_SIZE(omap3xxx_clks)); | ||
3533 | } else if (soc_is_am33xx()) { | 3597 | } else if (soc_is_am33xx()) { |
3534 | cpu_mask = RATE_IN_AM33XX; | 3598 | cpu_mask = RATE_IN_AM33XX; |
3535 | } else if (cpu_is_ti814x()) { | 3599 | } else if (cpu_is_ti814x()) { |
@@ -3537,49 +3601,32 @@ int __init omap3xxx_clk_init(void) | |||
3537 | } else if (cpu_is_omap34xx()) { | 3601 | } else if (cpu_is_omap34xx()) { |
3538 | if (omap_rev() == OMAP3430_REV_ES1_0) { | 3602 | if (omap_rev() == OMAP3430_REV_ES1_0) { |
3539 | cpu_mask = RATE_IN_3430ES1; | 3603 | cpu_mask = RATE_IN_3430ES1; |
3540 | cpu_clkflg = CK_3430ES1; | 3604 | omap_clocks_register(omap3430es1_clks, |
3605 | ARRAY_SIZE(omap3430es1_clks)); | ||
3606 | omap_clocks_register(omap34xx_omap36xx_clks, | ||
3607 | ARRAY_SIZE(omap34xx_omap36xx_clks)); | ||
3608 | omap_clocks_register(omap3xxx_clks, | ||
3609 | ARRAY_SIZE(omap3xxx_clks)); | ||
3541 | } else { | 3610 | } else { |
3542 | /* | 3611 | /* |
3543 | * Assume that anything that we haven't matched yet | 3612 | * Assume that anything that we haven't matched yet |
3544 | * has 3430ES2-type clocks. | 3613 | * has 3430ES2-type clocks. |
3545 | */ | 3614 | */ |
3546 | cpu_mask = RATE_IN_3430ES2PLUS; | 3615 | cpu_mask = RATE_IN_3430ES2PLUS; |
3547 | cpu_clkflg = CK_3430ES2PLUS; | 3616 | omap_clocks_register(omap34xx_omap36xx_clks, |
3617 | ARRAY_SIZE(omap34xx_omap36xx_clks)); | ||
3618 | omap_clocks_register(omap36xx_omap3430es2plus_clks, | ||
3619 | ARRAY_SIZE(omap36xx_omap3430es2plus_clks)); | ||
3620 | omap_clocks_register(omap36xx_am35xx_omap3430es2plus_clks, | ||
3621 | ARRAY_SIZE(omap36xx_am35xx_omap3430es2plus_clks)); | ||
3622 | omap_clocks_register(omap3xxx_clks, | ||
3623 | ARRAY_SIZE(omap3xxx_clks)); | ||
3548 | } | 3624 | } |
3549 | } else { | 3625 | } else { |
3550 | WARN(1, "clock: could not identify OMAP3 variant\n"); | 3626 | WARN(1, "clock: could not identify OMAP3 variant\n"); |
3551 | } | 3627 | } |
3552 | 3628 | ||
3553 | if (omap3_has_192mhz_clk()) | 3629 | omap2_clk_disable_autoidle_all(); |
3554 | omap_96m_alwon_fck = omap_96m_alwon_fck_3630; | ||
3555 | |||
3556 | if (cpu_is_omap3630()) { | ||
3557 | dpll3_m3x2_ck = dpll3_m3x2_ck_3630; | ||
3558 | dpll4_m2x2_ck = dpll4_m2x2_ck_3630; | ||
3559 | dpll4_m3x2_ck = dpll4_m3x2_ck_3630; | ||
3560 | dpll4_m4x2_ck = dpll4_m4x2_ck_3630; | ||
3561 | dpll4_m5x2_ck = dpll4_m5x2_ck_3630; | ||
3562 | dpll4_m6x2_ck = dpll4_m6x2_ck_3630; | ||
3563 | } | ||
3564 | |||
3565 | /* | ||
3566 | * XXX This type of dynamic rewriting of the clock tree is | ||
3567 | * deprecated and should be revised soon. | ||
3568 | */ | ||
3569 | if (cpu_is_omap3630()) | ||
3570 | dpll4_dd = dpll4_dd_3630; | ||
3571 | else | ||
3572 | dpll4_dd = dpll4_dd_34xx; | ||
3573 | |||
3574 | for (c = omap3xxx_clks; c < omap3xxx_clks + ARRAY_SIZE(omap3xxx_clks); | ||
3575 | c++) | ||
3576 | if (c->cpu & cpu_clkflg) { | ||
3577 | clkdev_add(&c->lk); | ||
3578 | if (!__clk_init(NULL, c->lk.clk)) | ||
3579 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
3580 | } | ||
3581 | |||
3582 | omap2_clk_disable_autoidle_all(); | ||
3583 | 3630 | ||
3584 | omap2_clk_enable_init_clocks(enable_init_clks, | 3631 | omap2_clk_enable_init_clocks(enable_init_clks, |
3585 | ARRAY_SIZE(enable_init_clks)); | 3632 | ARRAY_SIZE(enable_init_clks)); |
diff --git a/arch/arm/mach-omap2/cclock44xx_data.c b/arch/arm/mach-omap2/cclock44xx_data.c index 0c6834ae1fc4..88e37a474334 100644 --- a/arch/arm/mach-omap2/cclock44xx_data.c +++ b/arch/arm/mach-omap2/cclock44xx_data.c | |||
@@ -1424,284 +1424,285 @@ DEFINE_CLK_MUX(auxclkreq5_ck, auxclkreq_ck_parents, NULL, 0x0, | |||
1424 | 0x0, NULL); | 1424 | 0x0, NULL); |
1425 | 1425 | ||
1426 | /* | 1426 | /* |
1427 | * clkdev | 1427 | * clocks specific to omap4460 |
1428 | */ | 1428 | */ |
1429 | static struct omap_clk omap446x_clks[] = { | ||
1430 | CLK(NULL, "div_ts_ck", &div_ts_ck), | ||
1431 | CLK(NULL, "bandgap_ts_fclk", &bandgap_ts_fclk), | ||
1432 | }; | ||
1433 | |||
1434 | /* | ||
1435 | * clocks specific to omap4430 | ||
1436 | */ | ||
1437 | static struct omap_clk omap443x_clks[] = { | ||
1438 | CLK(NULL, "bandgap_fclk", &bandgap_fclk), | ||
1439 | }; | ||
1429 | 1440 | ||
1441 | /* | ||
1442 | * clocks common to omap44xx | ||
1443 | */ | ||
1430 | static struct omap_clk omap44xx_clks[] = { | 1444 | static struct omap_clk omap44xx_clks[] = { |
1431 | CLK(NULL, "extalt_clkin_ck", &extalt_clkin_ck, CK_443X), | 1445 | CLK(NULL, "extalt_clkin_ck", &extalt_clkin_ck), |
1432 | CLK(NULL, "pad_clks_src_ck", &pad_clks_src_ck, CK_443X), | 1446 | CLK(NULL, "pad_clks_src_ck", &pad_clks_src_ck), |
1433 | CLK(NULL, "pad_clks_ck", &pad_clks_ck, CK_443X), | 1447 | CLK(NULL, "pad_clks_ck", &pad_clks_ck), |
1434 | CLK(NULL, "pad_slimbus_core_clks_ck", &pad_slimbus_core_clks_ck, CK_443X), | 1448 | CLK(NULL, "pad_slimbus_core_clks_ck", &pad_slimbus_core_clks_ck), |
1435 | CLK(NULL, "secure_32k_clk_src_ck", &secure_32k_clk_src_ck, CK_443X), | 1449 | CLK(NULL, "secure_32k_clk_src_ck", &secure_32k_clk_src_ck), |
1436 | CLK(NULL, "slimbus_src_clk", &slimbus_src_clk, CK_443X), | 1450 | CLK(NULL, "slimbus_src_clk", &slimbus_src_clk), |
1437 | CLK(NULL, "slimbus_clk", &slimbus_clk, CK_443X), | 1451 | CLK(NULL, "slimbus_clk", &slimbus_clk), |
1438 | CLK(NULL, "sys_32k_ck", &sys_32k_ck, CK_443X), | 1452 | CLK(NULL, "sys_32k_ck", &sys_32k_ck), |
1439 | CLK(NULL, "virt_12000000_ck", &virt_12000000_ck, CK_443X), | 1453 | CLK(NULL, "virt_12000000_ck", &virt_12000000_ck), |
1440 | CLK(NULL, "virt_13000000_ck", &virt_13000000_ck, CK_443X), | 1454 | CLK(NULL, "virt_13000000_ck", &virt_13000000_ck), |
1441 | CLK(NULL, "virt_16800000_ck", &virt_16800000_ck, CK_443X), | 1455 | CLK(NULL, "virt_16800000_ck", &virt_16800000_ck), |
1442 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck, CK_443X), | 1456 | CLK(NULL, "virt_19200000_ck", &virt_19200000_ck), |
1443 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck, CK_443X), | 1457 | CLK(NULL, "virt_26000000_ck", &virt_26000000_ck), |
1444 | CLK(NULL, "virt_27000000_ck", &virt_27000000_ck, CK_443X), | 1458 | CLK(NULL, "virt_27000000_ck", &virt_27000000_ck), |
1445 | CLK(NULL, "virt_38400000_ck", &virt_38400000_ck, CK_443X), | 1459 | CLK(NULL, "virt_38400000_ck", &virt_38400000_ck), |
1446 | CLK(NULL, "sys_clkin_ck", &sys_clkin_ck, CK_443X), | 1460 | CLK(NULL, "sys_clkin_ck", &sys_clkin_ck), |
1447 | CLK(NULL, "tie_low_clock_ck", &tie_low_clock_ck, CK_443X), | 1461 | CLK(NULL, "tie_low_clock_ck", &tie_low_clock_ck), |
1448 | CLK(NULL, "utmi_phy_clkout_ck", &utmi_phy_clkout_ck, CK_443X), | 1462 | CLK(NULL, "utmi_phy_clkout_ck", &utmi_phy_clkout_ck), |
1449 | CLK(NULL, "xclk60mhsp1_ck", &xclk60mhsp1_ck, CK_443X), | 1463 | CLK(NULL, "xclk60mhsp1_ck", &xclk60mhsp1_ck), |
1450 | CLK(NULL, "xclk60mhsp2_ck", &xclk60mhsp2_ck, CK_443X), | 1464 | CLK(NULL, "xclk60mhsp2_ck", &xclk60mhsp2_ck), |
1451 | CLK(NULL, "xclk60motg_ck", &xclk60motg_ck, CK_443X), | 1465 | CLK(NULL, "xclk60motg_ck", &xclk60motg_ck), |
1452 | CLK(NULL, "abe_dpll_bypass_clk_mux_ck", &abe_dpll_bypass_clk_mux_ck, CK_443X), | 1466 | CLK(NULL, "abe_dpll_bypass_clk_mux_ck", &abe_dpll_bypass_clk_mux_ck), |
1453 | CLK(NULL, "abe_dpll_refclk_mux_ck", &abe_dpll_refclk_mux_ck, CK_443X), | 1467 | CLK(NULL, "abe_dpll_refclk_mux_ck", &abe_dpll_refclk_mux_ck), |
1454 | CLK(NULL, "dpll_abe_ck", &dpll_abe_ck, CK_443X), | 1468 | CLK(NULL, "dpll_abe_ck", &dpll_abe_ck), |
1455 | CLK(NULL, "dpll_abe_x2_ck", &dpll_abe_x2_ck, CK_443X), | 1469 | CLK(NULL, "dpll_abe_x2_ck", &dpll_abe_x2_ck), |
1456 | CLK(NULL, "dpll_abe_m2x2_ck", &dpll_abe_m2x2_ck, CK_443X), | 1470 | CLK(NULL, "dpll_abe_m2x2_ck", &dpll_abe_m2x2_ck), |
1457 | CLK(NULL, "abe_24m_fclk", &abe_24m_fclk, CK_443X), | 1471 | CLK(NULL, "abe_24m_fclk", &abe_24m_fclk), |
1458 | CLK(NULL, "abe_clk", &abe_clk, CK_443X), | 1472 | CLK(NULL, "abe_clk", &abe_clk), |
1459 | CLK(NULL, "aess_fclk", &aess_fclk, CK_443X), | 1473 | CLK(NULL, "aess_fclk", &aess_fclk), |
1460 | CLK(NULL, "dpll_abe_m3x2_ck", &dpll_abe_m3x2_ck, CK_443X), | 1474 | CLK(NULL, "dpll_abe_m3x2_ck", &dpll_abe_m3x2_ck), |
1461 | CLK(NULL, "core_hsd_byp_clk_mux_ck", &core_hsd_byp_clk_mux_ck, CK_443X), | 1475 | CLK(NULL, "core_hsd_byp_clk_mux_ck", &core_hsd_byp_clk_mux_ck), |
1462 | CLK(NULL, "dpll_core_ck", &dpll_core_ck, CK_443X), | 1476 | CLK(NULL, "dpll_core_ck", &dpll_core_ck), |
1463 | CLK(NULL, "dpll_core_x2_ck", &dpll_core_x2_ck, CK_443X), | 1477 | CLK(NULL, "dpll_core_x2_ck", &dpll_core_x2_ck), |
1464 | CLK(NULL, "dpll_core_m6x2_ck", &dpll_core_m6x2_ck, CK_443X), | 1478 | CLK(NULL, "dpll_core_m6x2_ck", &dpll_core_m6x2_ck), |
1465 | CLK(NULL, "dbgclk_mux_ck", &dbgclk_mux_ck, CK_443X), | 1479 | CLK(NULL, "dbgclk_mux_ck", &dbgclk_mux_ck), |
1466 | CLK(NULL, "dpll_core_m2_ck", &dpll_core_m2_ck, CK_443X), | 1480 | CLK(NULL, "dpll_core_m2_ck", &dpll_core_m2_ck), |
1467 | CLK(NULL, "ddrphy_ck", &ddrphy_ck, CK_443X), | 1481 | CLK(NULL, "ddrphy_ck", &ddrphy_ck), |
1468 | CLK(NULL, "dpll_core_m5x2_ck", &dpll_core_m5x2_ck, CK_443X), | 1482 | CLK(NULL, "dpll_core_m5x2_ck", &dpll_core_m5x2_ck), |
1469 | CLK(NULL, "div_core_ck", &div_core_ck, CK_443X), | 1483 | CLK(NULL, "div_core_ck", &div_core_ck), |
1470 | CLK(NULL, "div_iva_hs_clk", &div_iva_hs_clk, CK_443X), | 1484 | CLK(NULL, "div_iva_hs_clk", &div_iva_hs_clk), |
1471 | CLK(NULL, "div_mpu_hs_clk", &div_mpu_hs_clk, CK_443X), | 1485 | CLK(NULL, "div_mpu_hs_clk", &div_mpu_hs_clk), |
1472 | CLK(NULL, "dpll_core_m4x2_ck", &dpll_core_m4x2_ck, CK_443X), | 1486 | CLK(NULL, "dpll_core_m4x2_ck", &dpll_core_m4x2_ck), |
1473 | CLK(NULL, "dll_clk_div_ck", &dll_clk_div_ck, CK_443X), | 1487 | CLK(NULL, "dll_clk_div_ck", &dll_clk_div_ck), |
1474 | CLK(NULL, "dpll_abe_m2_ck", &dpll_abe_m2_ck, CK_443X), | 1488 | CLK(NULL, "dpll_abe_m2_ck", &dpll_abe_m2_ck), |
1475 | CLK(NULL, "dpll_core_m3x2_ck", &dpll_core_m3x2_ck, CK_443X), | 1489 | CLK(NULL, "dpll_core_m3x2_ck", &dpll_core_m3x2_ck), |
1476 | CLK(NULL, "dpll_core_m7x2_ck", &dpll_core_m7x2_ck, CK_443X), | 1490 | CLK(NULL, "dpll_core_m7x2_ck", &dpll_core_m7x2_ck), |
1477 | CLK(NULL, "iva_hsd_byp_clk_mux_ck", &iva_hsd_byp_clk_mux_ck, CK_443X), | 1491 | CLK(NULL, "iva_hsd_byp_clk_mux_ck", &iva_hsd_byp_clk_mux_ck), |
1478 | CLK(NULL, "dpll_iva_ck", &dpll_iva_ck, CK_443X), | 1492 | CLK(NULL, "dpll_iva_ck", &dpll_iva_ck), |
1479 | CLK(NULL, "dpll_iva_x2_ck", &dpll_iva_x2_ck, CK_443X), | 1493 | CLK(NULL, "dpll_iva_x2_ck", &dpll_iva_x2_ck), |
1480 | CLK(NULL, "dpll_iva_m4x2_ck", &dpll_iva_m4x2_ck, CK_443X), | 1494 | CLK(NULL, "dpll_iva_m4x2_ck", &dpll_iva_m4x2_ck), |
1481 | CLK(NULL, "dpll_iva_m5x2_ck", &dpll_iva_m5x2_ck, CK_443X), | 1495 | CLK(NULL, "dpll_iva_m5x2_ck", &dpll_iva_m5x2_ck), |
1482 | CLK(NULL, "dpll_mpu_ck", &dpll_mpu_ck, CK_443X), | 1496 | CLK(NULL, "dpll_mpu_ck", &dpll_mpu_ck), |
1483 | CLK(NULL, "dpll_mpu_m2_ck", &dpll_mpu_m2_ck, CK_443X), | 1497 | CLK(NULL, "dpll_mpu_m2_ck", &dpll_mpu_m2_ck), |
1484 | CLK(NULL, "per_hs_clk_div_ck", &per_hs_clk_div_ck, CK_443X), | 1498 | CLK(NULL, "per_hs_clk_div_ck", &per_hs_clk_div_ck), |
1485 | CLK(NULL, "per_hsd_byp_clk_mux_ck", &per_hsd_byp_clk_mux_ck, CK_443X), | 1499 | CLK(NULL, "per_hsd_byp_clk_mux_ck", &per_hsd_byp_clk_mux_ck), |
1486 | CLK(NULL, "dpll_per_ck", &dpll_per_ck, CK_443X), | 1500 | CLK(NULL, "dpll_per_ck", &dpll_per_ck), |
1487 | CLK(NULL, "dpll_per_m2_ck", &dpll_per_m2_ck, CK_443X), | 1501 | CLK(NULL, "dpll_per_m2_ck", &dpll_per_m2_ck), |
1488 | CLK(NULL, "dpll_per_x2_ck", &dpll_per_x2_ck, CK_443X), | 1502 | CLK(NULL, "dpll_per_x2_ck", &dpll_per_x2_ck), |
1489 | CLK(NULL, "dpll_per_m2x2_ck", &dpll_per_m2x2_ck, CK_443X), | 1503 | CLK(NULL, "dpll_per_m2x2_ck", &dpll_per_m2x2_ck), |
1490 | CLK(NULL, "dpll_per_m3x2_ck", &dpll_per_m3x2_ck, CK_443X), | 1504 | CLK(NULL, "dpll_per_m3x2_ck", &dpll_per_m3x2_ck), |
1491 | CLK(NULL, "dpll_per_m4x2_ck", &dpll_per_m4x2_ck, CK_443X), | 1505 | CLK(NULL, "dpll_per_m4x2_ck", &dpll_per_m4x2_ck), |
1492 | CLK(NULL, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck, CK_443X), | 1506 | CLK(NULL, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck), |
1493 | CLK(NULL, "dpll_per_m6x2_ck", &dpll_per_m6x2_ck, CK_443X), | 1507 | CLK(NULL, "dpll_per_m6x2_ck", &dpll_per_m6x2_ck), |
1494 | CLK(NULL, "dpll_per_m7x2_ck", &dpll_per_m7x2_ck, CK_443X), | 1508 | CLK(NULL, "dpll_per_m7x2_ck", &dpll_per_m7x2_ck), |
1495 | CLK(NULL, "usb_hs_clk_div_ck", &usb_hs_clk_div_ck, CK_443X), | 1509 | CLK(NULL, "usb_hs_clk_div_ck", &usb_hs_clk_div_ck), |
1496 | CLK(NULL, "dpll_usb_ck", &dpll_usb_ck, CK_443X), | 1510 | CLK(NULL, "dpll_usb_ck", &dpll_usb_ck), |
1497 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck, CK_443X), | 1511 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck), |
1498 | CLK(NULL, "dpll_usb_m2_ck", &dpll_usb_m2_ck, CK_443X), | 1512 | CLK(NULL, "dpll_usb_m2_ck", &dpll_usb_m2_ck), |
1499 | CLK(NULL, "ducati_clk_mux_ck", &ducati_clk_mux_ck, CK_443X), | 1513 | CLK(NULL, "ducati_clk_mux_ck", &ducati_clk_mux_ck), |
1500 | CLK(NULL, "func_12m_fclk", &func_12m_fclk, CK_443X), | 1514 | CLK(NULL, "func_12m_fclk", &func_12m_fclk), |
1501 | CLK(NULL, "func_24m_clk", &func_24m_clk, CK_443X), | 1515 | CLK(NULL, "func_24m_clk", &func_24m_clk), |
1502 | CLK(NULL, "func_24mc_fclk", &func_24mc_fclk, CK_443X), | 1516 | CLK(NULL, "func_24mc_fclk", &func_24mc_fclk), |
1503 | CLK(NULL, "func_48m_fclk", &func_48m_fclk, CK_443X), | 1517 | CLK(NULL, "func_48m_fclk", &func_48m_fclk), |
1504 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk, CK_443X), | 1518 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk), |
1505 | CLK(NULL, "func_64m_fclk", &func_64m_fclk, CK_443X), | 1519 | CLK(NULL, "func_64m_fclk", &func_64m_fclk), |
1506 | CLK(NULL, "func_96m_fclk", &func_96m_fclk, CK_443X), | 1520 | CLK(NULL, "func_96m_fclk", &func_96m_fclk), |
1507 | CLK(NULL, "init_60m_fclk", &init_60m_fclk, CK_443X), | 1521 | CLK(NULL, "init_60m_fclk", &init_60m_fclk), |
1508 | CLK(NULL, "l3_div_ck", &l3_div_ck, CK_443X), | 1522 | CLK(NULL, "l3_div_ck", &l3_div_ck), |
1509 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), | 1523 | CLK(NULL, "l4_div_ck", &l4_div_ck), |
1510 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck, CK_443X), | 1524 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck), |
1511 | CLK(NULL, "l4_wkup_clk_mux_ck", &l4_wkup_clk_mux_ck, CK_443X), | 1525 | CLK(NULL, "l4_wkup_clk_mux_ck", &l4_wkup_clk_mux_ck), |
1512 | CLK("smp_twd", NULL, &mpu_periphclk, CK_443X), | 1526 | CLK("smp_twd", NULL, &mpu_periphclk), |
1513 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk, CK_443X), | 1527 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk), |
1514 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), | 1528 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk), |
1515 | CLK(NULL, "per_abe_nc_fclk", &per_abe_nc_fclk, CK_443X), | 1529 | CLK(NULL, "per_abe_nc_fclk", &per_abe_nc_fclk), |
1516 | CLK(NULL, "syc_clk_div_ck", &syc_clk_div_ck, CK_443X), | 1530 | CLK(NULL, "syc_clk_div_ck", &syc_clk_div_ck), |
1517 | CLK(NULL, "aes1_fck", &aes1_fck, CK_443X), | 1531 | CLK(NULL, "aes1_fck", &aes1_fck), |
1518 | CLK(NULL, "aes2_fck", &aes2_fck, CK_443X), | 1532 | CLK(NULL, "aes2_fck", &aes2_fck), |
1519 | CLK(NULL, "bandgap_fclk", &bandgap_fclk, CK_443X), | 1533 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck), |
1520 | CLK(NULL, "div_ts_ck", &div_ts_ck, CK_446X), | 1534 | CLK(NULL, "func_dmic_abe_gfclk", &func_dmic_abe_gfclk), |
1521 | CLK(NULL, "bandgap_ts_fclk", &bandgap_ts_fclk, CK_446X), | 1535 | CLK(NULL, "dss_sys_clk", &dss_sys_clk), |
1522 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck, CK_443X), | 1536 | CLK(NULL, "dss_tv_clk", &dss_tv_clk), |
1523 | CLK(NULL, "func_dmic_abe_gfclk", &func_dmic_abe_gfclk, CK_443X), | 1537 | CLK(NULL, "dss_dss_clk", &dss_dss_clk), |
1524 | CLK(NULL, "dss_sys_clk", &dss_sys_clk, CK_443X), | 1538 | CLK(NULL, "dss_48mhz_clk", &dss_48mhz_clk), |
1525 | CLK(NULL, "dss_tv_clk", &dss_tv_clk, CK_443X), | 1539 | CLK(NULL, "dss_fck", &dss_fck), |
1526 | CLK(NULL, "dss_dss_clk", &dss_dss_clk, CK_443X), | 1540 | CLK("omapdss_dss", "ick", &dss_fck), |
1527 | CLK(NULL, "dss_48mhz_clk", &dss_48mhz_clk, CK_443X), | 1541 | CLK(NULL, "fdif_fck", &fdif_fck), |
1528 | CLK(NULL, "dss_fck", &dss_fck, CK_443X), | 1542 | CLK(NULL, "gpio1_dbclk", &gpio1_dbclk), |
1529 | CLK("omapdss_dss", "ick", &dss_fck, CK_443X), | 1543 | CLK(NULL, "gpio2_dbclk", &gpio2_dbclk), |
1530 | CLK(NULL, "fdif_fck", &fdif_fck, CK_443X), | 1544 | CLK(NULL, "gpio3_dbclk", &gpio3_dbclk), |
1531 | CLK(NULL, "gpio1_dbclk", &gpio1_dbclk, CK_443X), | 1545 | CLK(NULL, "gpio4_dbclk", &gpio4_dbclk), |
1532 | CLK(NULL, "gpio2_dbclk", &gpio2_dbclk, CK_443X), | 1546 | CLK(NULL, "gpio5_dbclk", &gpio5_dbclk), |
1533 | CLK(NULL, "gpio3_dbclk", &gpio3_dbclk, CK_443X), | 1547 | CLK(NULL, "gpio6_dbclk", &gpio6_dbclk), |
1534 | CLK(NULL, "gpio4_dbclk", &gpio4_dbclk, CK_443X), | 1548 | CLK(NULL, "sgx_clk_mux", &sgx_clk_mux), |
1535 | CLK(NULL, "gpio5_dbclk", &gpio5_dbclk, CK_443X), | 1549 | CLK(NULL, "hsi_fck", &hsi_fck), |
1536 | CLK(NULL, "gpio6_dbclk", &gpio6_dbclk, CK_443X), | 1550 | CLK(NULL, "iss_ctrlclk", &iss_ctrlclk), |
1537 | CLK(NULL, "sgx_clk_mux", &sgx_clk_mux, CK_443X), | 1551 | CLK(NULL, "mcasp_sync_mux_ck", &mcasp_sync_mux_ck), |
1538 | CLK(NULL, "hsi_fck", &hsi_fck, CK_443X), | 1552 | CLK(NULL, "func_mcasp_abe_gfclk", &func_mcasp_abe_gfclk), |
1539 | CLK(NULL, "iss_ctrlclk", &iss_ctrlclk, CK_443X), | 1553 | CLK(NULL, "mcbsp1_sync_mux_ck", &mcbsp1_sync_mux_ck), |
1540 | CLK(NULL, "mcasp_sync_mux_ck", &mcasp_sync_mux_ck, CK_443X), | 1554 | CLK(NULL, "func_mcbsp1_gfclk", &func_mcbsp1_gfclk), |
1541 | CLK(NULL, "func_mcasp_abe_gfclk", &func_mcasp_abe_gfclk, CK_443X), | 1555 | CLK(NULL, "mcbsp2_sync_mux_ck", &mcbsp2_sync_mux_ck), |
1542 | CLK(NULL, "mcbsp1_sync_mux_ck", &mcbsp1_sync_mux_ck, CK_443X), | 1556 | CLK(NULL, "func_mcbsp2_gfclk", &func_mcbsp2_gfclk), |
1543 | CLK(NULL, "func_mcbsp1_gfclk", &func_mcbsp1_gfclk, CK_443X), | 1557 | CLK(NULL, "mcbsp3_sync_mux_ck", &mcbsp3_sync_mux_ck), |
1544 | CLK(NULL, "mcbsp2_sync_mux_ck", &mcbsp2_sync_mux_ck, CK_443X), | 1558 | CLK(NULL, "func_mcbsp3_gfclk", &func_mcbsp3_gfclk), |
1545 | CLK(NULL, "func_mcbsp2_gfclk", &func_mcbsp2_gfclk, CK_443X), | 1559 | CLK(NULL, "mcbsp4_sync_mux_ck", &mcbsp4_sync_mux_ck), |
1546 | CLK(NULL, "mcbsp3_sync_mux_ck", &mcbsp3_sync_mux_ck, CK_443X), | 1560 | CLK(NULL, "per_mcbsp4_gfclk", &per_mcbsp4_gfclk), |
1547 | CLK(NULL, "func_mcbsp3_gfclk", &func_mcbsp3_gfclk, CK_443X), | 1561 | CLK(NULL, "hsmmc1_fclk", &hsmmc1_fclk), |
1548 | CLK(NULL, "mcbsp4_sync_mux_ck", &mcbsp4_sync_mux_ck, CK_443X), | 1562 | CLK(NULL, "hsmmc2_fclk", &hsmmc2_fclk), |
1549 | CLK(NULL, "per_mcbsp4_gfclk", &per_mcbsp4_gfclk, CK_443X), | 1563 | CLK(NULL, "ocp2scp_usb_phy_phy_48m", &ocp2scp_usb_phy_phy_48m), |
1550 | CLK(NULL, "hsmmc1_fclk", &hsmmc1_fclk, CK_443X), | 1564 | CLK(NULL, "sha2md5_fck", &sha2md5_fck), |
1551 | CLK(NULL, "hsmmc2_fclk", &hsmmc2_fclk, CK_443X), | 1565 | CLK(NULL, "slimbus1_fclk_1", &slimbus1_fclk_1), |
1552 | CLK(NULL, "ocp2scp_usb_phy_phy_48m", &ocp2scp_usb_phy_phy_48m, CK_443X), | 1566 | CLK(NULL, "slimbus1_fclk_0", &slimbus1_fclk_0), |
1553 | CLK(NULL, "sha2md5_fck", &sha2md5_fck, CK_443X), | 1567 | CLK(NULL, "slimbus1_fclk_2", &slimbus1_fclk_2), |
1554 | CLK(NULL, "slimbus1_fclk_1", &slimbus1_fclk_1, CK_443X), | 1568 | CLK(NULL, "slimbus1_slimbus_clk", &slimbus1_slimbus_clk), |
1555 | CLK(NULL, "slimbus1_fclk_0", &slimbus1_fclk_0, CK_443X), | 1569 | CLK(NULL, "slimbus2_fclk_1", &slimbus2_fclk_1), |
1556 | CLK(NULL, "slimbus1_fclk_2", &slimbus1_fclk_2, CK_443X), | 1570 | CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0), |
1557 | CLK(NULL, "slimbus1_slimbus_clk", &slimbus1_slimbus_clk, CK_443X), | 1571 | CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk), |
1558 | CLK(NULL, "slimbus2_fclk_1", &slimbus2_fclk_1, CK_443X), | 1572 | CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck), |
1559 | CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), | 1573 | CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck), |
1560 | CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), | 1574 | CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck), |
1561 | CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), | 1575 | CLK(NULL, "dmt1_clk_mux", &dmt1_clk_mux), |
1562 | CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), | 1576 | CLK(NULL, "cm2_dm10_mux", &cm2_dm10_mux), |
1563 | CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), | 1577 | CLK(NULL, "cm2_dm11_mux", &cm2_dm11_mux), |
1564 | CLK(NULL, "dmt1_clk_mux", &dmt1_clk_mux, CK_443X), | 1578 | CLK(NULL, "cm2_dm2_mux", &cm2_dm2_mux), |
1565 | CLK(NULL, "cm2_dm10_mux", &cm2_dm10_mux, CK_443X), | 1579 | CLK(NULL, "cm2_dm3_mux", &cm2_dm3_mux), |
1566 | CLK(NULL, "cm2_dm11_mux", &cm2_dm11_mux, CK_443X), | 1580 | CLK(NULL, "cm2_dm4_mux", &cm2_dm4_mux), |
1567 | CLK(NULL, "cm2_dm2_mux", &cm2_dm2_mux, CK_443X), | 1581 | CLK(NULL, "timer5_sync_mux", &timer5_sync_mux), |
1568 | CLK(NULL, "cm2_dm3_mux", &cm2_dm3_mux, CK_443X), | 1582 | CLK(NULL, "timer6_sync_mux", &timer6_sync_mux), |
1569 | CLK(NULL, "cm2_dm4_mux", &cm2_dm4_mux, CK_443X), | 1583 | CLK(NULL, "timer7_sync_mux", &timer7_sync_mux), |
1570 | CLK(NULL, "timer5_sync_mux", &timer5_sync_mux, CK_443X), | 1584 | CLK(NULL, "timer8_sync_mux", &timer8_sync_mux), |
1571 | CLK(NULL, "timer6_sync_mux", &timer6_sync_mux, CK_443X), | 1585 | CLK(NULL, "cm2_dm9_mux", &cm2_dm9_mux), |
1572 | CLK(NULL, "timer7_sync_mux", &timer7_sync_mux, CK_443X), | 1586 | CLK(NULL, "usb_host_fs_fck", &usb_host_fs_fck), |
1573 | CLK(NULL, "timer8_sync_mux", &timer8_sync_mux, CK_443X), | 1587 | CLK("usbhs_omap", "fs_fck", &usb_host_fs_fck), |
1574 | CLK(NULL, "cm2_dm9_mux", &cm2_dm9_mux, CK_443X), | 1588 | CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk), |
1575 | CLK(NULL, "usb_host_fs_fck", &usb_host_fs_fck, CK_443X), | 1589 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk), |
1576 | CLK("usbhs_omap", "fs_fck", &usb_host_fs_fck, CK_443X), | 1590 | CLK(NULL, "utmi_p2_gfclk", &utmi_p2_gfclk), |
1577 | CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk, CK_443X), | 1591 | CLK(NULL, "usb_host_hs_utmi_p2_clk", &usb_host_hs_utmi_p2_clk), |
1578 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk, CK_443X), | 1592 | CLK(NULL, "usb_host_hs_utmi_p3_clk", &usb_host_hs_utmi_p3_clk), |
1579 | CLK(NULL, "utmi_p2_gfclk", &utmi_p2_gfclk, CK_443X), | 1593 | CLK(NULL, "usb_host_hs_hsic480m_p1_clk", &usb_host_hs_hsic480m_p1_clk), |
1580 | CLK(NULL, "usb_host_hs_utmi_p2_clk", &usb_host_hs_utmi_p2_clk, CK_443X), | 1594 | CLK(NULL, "usb_host_hs_hsic60m_p1_clk", &usb_host_hs_hsic60m_p1_clk), |
1581 | CLK(NULL, "usb_host_hs_utmi_p3_clk", &usb_host_hs_utmi_p3_clk, CK_443X), | 1595 | CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk), |
1582 | CLK(NULL, "usb_host_hs_hsic480m_p1_clk", &usb_host_hs_hsic480m_p1_clk, CK_443X), | 1596 | CLK(NULL, "usb_host_hs_hsic480m_p2_clk", &usb_host_hs_hsic480m_p2_clk), |
1583 | CLK(NULL, "usb_host_hs_hsic60m_p1_clk", &usb_host_hs_hsic60m_p1_clk, CK_443X), | 1597 | CLK(NULL, "usb_host_hs_func48mclk", &usb_host_hs_func48mclk), |
1584 | CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk, CK_443X), | 1598 | CLK(NULL, "usb_host_hs_fck", &usb_host_hs_fck), |
1585 | CLK(NULL, "usb_host_hs_hsic480m_p2_clk", &usb_host_hs_hsic480m_p2_clk, CK_443X), | 1599 | CLK("usbhs_omap", "hs_fck", &usb_host_hs_fck), |
1586 | CLK(NULL, "usb_host_hs_func48mclk", &usb_host_hs_func48mclk, CK_443X), | 1600 | CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk), |
1587 | CLK(NULL, "usb_host_hs_fck", &usb_host_hs_fck, CK_443X), | 1601 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk), |
1588 | CLK("usbhs_omap", "hs_fck", &usb_host_hs_fck, CK_443X), | 1602 | CLK(NULL, "usb_otg_hs_ick", &usb_otg_hs_ick), |
1589 | CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk, CK_443X), | 1603 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick), |
1590 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X), | 1604 | CLK(NULL, "usb_phy_cm_clk32k", &usb_phy_cm_clk32k), |
1591 | CLK(NULL, "usb_otg_hs_ick", &usb_otg_hs_ick, CK_443X), | 1605 | CLK(NULL, "usb_tll_hs_usb_ch2_clk", &usb_tll_hs_usb_ch2_clk), |
1592 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X), | 1606 | CLK(NULL, "usb_tll_hs_usb_ch0_clk", &usb_tll_hs_usb_ch0_clk), |
1593 | CLK(NULL, "usb_phy_cm_clk32k", &usb_phy_cm_clk32k, CK_443X), | 1607 | CLK(NULL, "usb_tll_hs_usb_ch1_clk", &usb_tll_hs_usb_ch1_clk), |
1594 | CLK(NULL, "usb_tll_hs_usb_ch2_clk", &usb_tll_hs_usb_ch2_clk, CK_443X), | 1608 | CLK(NULL, "usb_tll_hs_ick", &usb_tll_hs_ick), |
1595 | CLK(NULL, "usb_tll_hs_usb_ch0_clk", &usb_tll_hs_usb_ch0_clk, CK_443X), | 1609 | CLK("usbhs_omap", "usbtll_ick", &usb_tll_hs_ick), |
1596 | CLK(NULL, "usb_tll_hs_usb_ch1_clk", &usb_tll_hs_usb_ch1_clk, CK_443X), | 1610 | CLK("usbhs_tll", "usbtll_ick", &usb_tll_hs_ick), |
1597 | CLK(NULL, "usb_tll_hs_ick", &usb_tll_hs_ick, CK_443X), | 1611 | CLK(NULL, "usim_ck", &usim_ck), |
1598 | CLK("usbhs_omap", "usbtll_ick", &usb_tll_hs_ick, CK_443X), | 1612 | CLK(NULL, "usim_fclk", &usim_fclk), |
1599 | CLK("usbhs_tll", "usbtll_ick", &usb_tll_hs_ick, CK_443X), | 1613 | CLK(NULL, "pmd_stm_clock_mux_ck", &pmd_stm_clock_mux_ck), |
1600 | CLK(NULL, "usim_ck", &usim_ck, CK_443X), | 1614 | CLK(NULL, "pmd_trace_clk_mux_ck", &pmd_trace_clk_mux_ck), |
1601 | CLK(NULL, "usim_fclk", &usim_fclk, CK_443X), | 1615 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck), |
1602 | CLK(NULL, "pmd_stm_clock_mux_ck", &pmd_stm_clock_mux_ck, CK_443X), | 1616 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck), |
1603 | CLK(NULL, "pmd_trace_clk_mux_ck", &pmd_trace_clk_mux_ck, CK_443X), | 1617 | CLK(NULL, "auxclk0_src_ck", &auxclk0_src_ck), |
1604 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck, CK_443X), | 1618 | CLK(NULL, "auxclk0_ck", &auxclk0_ck), |
1605 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck, CK_443X), | 1619 | CLK(NULL, "auxclkreq0_ck", &auxclkreq0_ck), |
1606 | CLK(NULL, "auxclk0_src_ck", &auxclk0_src_ck, CK_443X), | 1620 | CLK(NULL, "auxclk1_src_ck", &auxclk1_src_ck), |
1607 | CLK(NULL, "auxclk0_ck", &auxclk0_ck, CK_443X), | 1621 | CLK(NULL, "auxclk1_ck", &auxclk1_ck), |
1608 | CLK(NULL, "auxclkreq0_ck", &auxclkreq0_ck, CK_443X), | 1622 | CLK(NULL, "auxclkreq1_ck", &auxclkreq1_ck), |
1609 | CLK(NULL, "auxclk1_src_ck", &auxclk1_src_ck, CK_443X), | 1623 | CLK(NULL, "auxclk2_src_ck", &auxclk2_src_ck), |
1610 | CLK(NULL, "auxclk1_ck", &auxclk1_ck, CK_443X), | 1624 | CLK(NULL, "auxclk2_ck", &auxclk2_ck), |
1611 | CLK(NULL, "auxclkreq1_ck", &auxclkreq1_ck, CK_443X), | 1625 | CLK(NULL, "auxclkreq2_ck", &auxclkreq2_ck), |
1612 | CLK(NULL, "auxclk2_src_ck", &auxclk2_src_ck, CK_443X), | 1626 | CLK(NULL, "auxclk3_src_ck", &auxclk3_src_ck), |
1613 | CLK(NULL, "auxclk2_ck", &auxclk2_ck, CK_443X), | 1627 | CLK(NULL, "auxclk3_ck", &auxclk3_ck), |
1614 | CLK(NULL, "auxclkreq2_ck", &auxclkreq2_ck, CK_443X), | 1628 | CLK(NULL, "auxclkreq3_ck", &auxclkreq3_ck), |
1615 | CLK(NULL, "auxclk3_src_ck", &auxclk3_src_ck, CK_443X), | 1629 | CLK(NULL, "auxclk4_src_ck", &auxclk4_src_ck), |
1616 | CLK(NULL, "auxclk3_ck", &auxclk3_ck, CK_443X), | 1630 | CLK(NULL, "auxclk4_ck", &auxclk4_ck), |
1617 | CLK(NULL, "auxclkreq3_ck", &auxclkreq3_ck, CK_443X), | 1631 | CLK(NULL, "auxclkreq4_ck", &auxclkreq4_ck), |
1618 | CLK(NULL, "auxclk4_src_ck", &auxclk4_src_ck, CK_443X), | 1632 | CLK(NULL, "auxclk5_src_ck", &auxclk5_src_ck), |
1619 | CLK(NULL, "auxclk4_ck", &auxclk4_ck, CK_443X), | 1633 | CLK(NULL, "auxclk5_ck", &auxclk5_ck), |
1620 | CLK(NULL, "auxclkreq4_ck", &auxclkreq4_ck, CK_443X), | 1634 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck), |
1621 | CLK(NULL, "auxclk5_src_ck", &auxclk5_src_ck, CK_443X), | 1635 | CLK("omap-gpmc", "fck", &dummy_ck), |
1622 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), | 1636 | CLK("omap_i2c.1", "ick", &dummy_ck), |
1623 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), | 1637 | CLK("omap_i2c.2", "ick", &dummy_ck), |
1624 | CLK("omap-gpmc", "fck", &dummy_ck, CK_443X), | 1638 | CLK("omap_i2c.3", "ick", &dummy_ck), |
1625 | CLK("omap_i2c.1", "ick", &dummy_ck, CK_443X), | 1639 | CLK("omap_i2c.4", "ick", &dummy_ck), |
1626 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), | 1640 | CLK(NULL, "mailboxes_ick", &dummy_ck), |
1627 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), | 1641 | CLK("omap_hsmmc.0", "ick", &dummy_ck), |
1628 | CLK("omap_i2c.4", "ick", &dummy_ck, CK_443X), | 1642 | CLK("omap_hsmmc.1", "ick", &dummy_ck), |
1629 | CLK(NULL, "mailboxes_ick", &dummy_ck, CK_443X), | 1643 | CLK("omap_hsmmc.2", "ick", &dummy_ck), |
1630 | CLK("omap_hsmmc.0", "ick", &dummy_ck, CK_443X), | 1644 | CLK("omap_hsmmc.3", "ick", &dummy_ck), |
1631 | CLK("omap_hsmmc.1", "ick", &dummy_ck, CK_443X), | 1645 | CLK("omap_hsmmc.4", "ick", &dummy_ck), |
1632 | CLK("omap_hsmmc.2", "ick", &dummy_ck, CK_443X), | 1646 | CLK("omap-mcbsp.1", "ick", &dummy_ck), |
1633 | CLK("omap_hsmmc.3", "ick", &dummy_ck, CK_443X), | 1647 | CLK("omap-mcbsp.2", "ick", &dummy_ck), |
1634 | CLK("omap_hsmmc.4", "ick", &dummy_ck, CK_443X), | 1648 | CLK("omap-mcbsp.3", "ick", &dummy_ck), |
1635 | CLK("omap-mcbsp.1", "ick", &dummy_ck, CK_443X), | 1649 | CLK("omap-mcbsp.4", "ick", &dummy_ck), |
1636 | CLK("omap-mcbsp.2", "ick", &dummy_ck, CK_443X), | 1650 | CLK("omap2_mcspi.1", "ick", &dummy_ck), |
1637 | CLK("omap-mcbsp.3", "ick", &dummy_ck, CK_443X), | 1651 | CLK("omap2_mcspi.2", "ick", &dummy_ck), |
1638 | CLK("omap-mcbsp.4", "ick", &dummy_ck, CK_443X), | 1652 | CLK("omap2_mcspi.3", "ick", &dummy_ck), |
1639 | CLK("omap2_mcspi.1", "ick", &dummy_ck, CK_443X), | 1653 | CLK("omap2_mcspi.4", "ick", &dummy_ck), |
1640 | CLK("omap2_mcspi.2", "ick", &dummy_ck, CK_443X), | 1654 | CLK(NULL, "uart1_ick", &dummy_ck), |
1641 | CLK("omap2_mcspi.3", "ick", &dummy_ck, CK_443X), | 1655 | CLK(NULL, "uart2_ick", &dummy_ck), |
1642 | CLK("omap2_mcspi.4", "ick", &dummy_ck, CK_443X), | 1656 | CLK(NULL, "uart3_ick", &dummy_ck), |
1643 | CLK(NULL, "uart1_ick", &dummy_ck, CK_443X), | 1657 | CLK(NULL, "uart4_ick", &dummy_ck), |
1644 | CLK(NULL, "uart2_ick", &dummy_ck, CK_443X), | 1658 | CLK("usbhs_omap", "usbhost_ick", &dummy_ck), |
1645 | CLK(NULL, "uart3_ick", &dummy_ck, CK_443X), | 1659 | CLK("usbhs_omap", "usbtll_fck", &dummy_ck), |
1646 | CLK(NULL, "uart4_ick", &dummy_ck, CK_443X), | 1660 | CLK("usbhs_tll", "usbtll_fck", &dummy_ck), |
1647 | CLK("usbhs_omap", "usbhost_ick", &dummy_ck, CK_443X), | 1661 | CLK("omap_wdt", "ick", &dummy_ck), |
1648 | CLK("usbhs_omap", "usbtll_fck", &dummy_ck, CK_443X), | 1662 | CLK(NULL, "timer_32k_ck", &sys_32k_ck), |
1649 | CLK("usbhs_tll", "usbtll_fck", &dummy_ck, CK_443X), | ||
1650 | CLK("omap_wdt", "ick", &dummy_ck, CK_443X), | ||
1651 | CLK(NULL, "timer_32k_ck", &sys_32k_ck, CK_443X), | ||
1652 | /* TODO: Remove "omap_timer.X" aliases once DT migration is complete */ | 1663 | /* TODO: Remove "omap_timer.X" aliases once DT migration is complete */ |
1653 | CLK("omap_timer.1", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1664 | CLK("omap_timer.1", "timer_sys_ck", &sys_clkin_ck), |
1654 | CLK("omap_timer.2", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1665 | CLK("omap_timer.2", "timer_sys_ck", &sys_clkin_ck), |
1655 | CLK("omap_timer.3", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1666 | CLK("omap_timer.3", "timer_sys_ck", &sys_clkin_ck), |
1656 | CLK("omap_timer.4", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1667 | CLK("omap_timer.4", "timer_sys_ck", &sys_clkin_ck), |
1657 | CLK("omap_timer.9", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1668 | CLK("omap_timer.9", "timer_sys_ck", &sys_clkin_ck), |
1658 | CLK("omap_timer.10", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1669 | CLK("omap_timer.10", "timer_sys_ck", &sys_clkin_ck), |
1659 | CLK("omap_timer.11", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1670 | CLK("omap_timer.11", "timer_sys_ck", &sys_clkin_ck), |
1660 | CLK("omap_timer.5", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1671 | CLK("omap_timer.5", "timer_sys_ck", &syc_clk_div_ck), |
1661 | CLK("omap_timer.6", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1672 | CLK("omap_timer.6", "timer_sys_ck", &syc_clk_div_ck), |
1662 | CLK("omap_timer.7", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1673 | CLK("omap_timer.7", "timer_sys_ck", &syc_clk_div_ck), |
1663 | CLK("omap_timer.8", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1674 | CLK("omap_timer.8", "timer_sys_ck", &syc_clk_div_ck), |
1664 | CLK("4a318000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1675 | CLK("4a318000.timer", "timer_sys_ck", &sys_clkin_ck), |
1665 | CLK("48032000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1676 | CLK("48032000.timer", "timer_sys_ck", &sys_clkin_ck), |
1666 | CLK("48034000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1677 | CLK("48034000.timer", "timer_sys_ck", &sys_clkin_ck), |
1667 | CLK("48036000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1678 | CLK("48036000.timer", "timer_sys_ck", &sys_clkin_ck), |
1668 | CLK("4803e000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1679 | CLK("4803e000.timer", "timer_sys_ck", &sys_clkin_ck), |
1669 | CLK("48086000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1680 | CLK("48086000.timer", "timer_sys_ck", &sys_clkin_ck), |
1670 | CLK("48088000.timer", "timer_sys_ck", &sys_clkin_ck, CK_443X), | 1681 | CLK("48088000.timer", "timer_sys_ck", &sys_clkin_ck), |
1671 | CLK("40138000.timer", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1682 | CLK("40138000.timer", "timer_sys_ck", &syc_clk_div_ck), |
1672 | CLK("4013a000.timer", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1683 | CLK("4013a000.timer", "timer_sys_ck", &syc_clk_div_ck), |
1673 | CLK("4013c000.timer", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1684 | CLK("4013c000.timer", "timer_sys_ck", &syc_clk_div_ck), |
1674 | CLK("4013e000.timer", "timer_sys_ck", &syc_clk_div_ck, CK_443X), | 1685 | CLK("4013e000.timer", "timer_sys_ck", &syc_clk_div_ck), |
1675 | CLK(NULL, "cpufreq_ck", &dpll_mpu_ck, CK_443X), | 1686 | CLK(NULL, "cpufreq_ck", &dpll_mpu_ck), |
1676 | }; | 1687 | }; |
1677 | 1688 | ||
1678 | int __init omap4xxx_clk_init(void) | 1689 | int __init omap4xxx_clk_init(void) |
1679 | { | 1690 | { |
1680 | u32 cpu_clkflg; | ||
1681 | struct omap_clk *c; | ||
1682 | int rc; | 1691 | int rc; |
1683 | 1692 | ||
1684 | if (cpu_is_omap443x()) { | 1693 | if (cpu_is_omap443x()) { |
1685 | cpu_mask = RATE_IN_4430; | 1694 | cpu_mask = RATE_IN_4430; |
1686 | cpu_clkflg = CK_443X; | 1695 | omap_clocks_register(omap443x_clks, ARRAY_SIZE(omap443x_clks)); |
1687 | } else if (cpu_is_omap446x() || cpu_is_omap447x()) { | 1696 | } else if (cpu_is_omap446x() || cpu_is_omap447x()) { |
1688 | cpu_mask = RATE_IN_4460 | RATE_IN_4430; | 1697 | cpu_mask = RATE_IN_4460 | RATE_IN_4430; |
1689 | cpu_clkflg = CK_446X | CK_443X; | 1698 | omap_clocks_register(omap446x_clks, ARRAY_SIZE(omap446x_clks)); |
1690 | |||
1691 | if (cpu_is_omap447x()) | 1699 | if (cpu_is_omap447x()) |
1692 | pr_warn("WARNING: OMAP4470 clock data incomplete!\n"); | 1700 | pr_warn("WARNING: OMAP4470 clock data incomplete!\n"); |
1693 | } else { | 1701 | } else { |
1694 | return 0; | 1702 | return 0; |
1695 | } | 1703 | } |
1696 | 1704 | ||
1697 | for (c = omap44xx_clks; c < omap44xx_clks + ARRAY_SIZE(omap44xx_clks); | 1705 | omap_clocks_register(omap44xx_clks, ARRAY_SIZE(omap44xx_clks)); |
1698 | c++) { | ||
1699 | if (c->cpu & cpu_clkflg) { | ||
1700 | clkdev_add(&c->lk); | ||
1701 | if (!__clk_init(NULL, c->lk.clk)) | ||
1702 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
1703 | } | ||
1704 | } | ||
1705 | 1706 | ||
1706 | omap2_clk_disable_autoidle_all(); | 1707 | omap2_clk_disable_autoidle_all(); |
1707 | 1708 | ||
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index e4ec3a69ee2e..8474c7d228ee 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/clk-provider.h> | 23 | #include <linux/clk-provider.h> |
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | #include <linux/bitops.h> | 25 | #include <linux/bitops.h> |
26 | 26 | #include <linux/clk-private.h> | |
27 | #include <asm/cpu.h> | 27 | #include <asm/cpu.h> |
28 | 28 | ||
29 | 29 | ||
@@ -569,6 +569,21 @@ const struct clk_hw_omap_ops clkhwops_wait = { | |||
569 | }; | 569 | }; |
570 | 570 | ||
571 | /** | 571 | /** |
572 | * omap_clocks_register - register an array of omap_clk | ||
573 | * @ocs: pointer to an array of omap_clk to register | ||
574 | */ | ||
575 | void __init omap_clocks_register(struct omap_clk oclks[], int cnt) | ||
576 | { | ||
577 | struct omap_clk *c; | ||
578 | |||
579 | for (c = oclks; c < oclks + cnt; c++) { | ||
580 | clkdev_add(&c->lk); | ||
581 | if (!__clk_init(NULL, c->lk.clk)) | ||
582 | omap2_init_clk_hw_omap_clocks(c->lk.clk); | ||
583 | } | ||
584 | } | ||
585 | |||
586 | /** | ||
572 | * omap2_clk_switch_mpurate_at_boot - switch ARM MPU rate by boot-time argument | 587 | * omap2_clk_switch_mpurate_at_boot - switch ARM MPU rate by boot-time argument |
573 | * @mpurate_ck_name: clk name of the clock to change rate | 588 | * @mpurate_ck_name: clk name of the clock to change rate |
574 | * | 589 | * |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index 60ddd8612b4d..7aa32cd292f9 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -27,9 +27,8 @@ struct omap_clk { | |||
27 | struct clk_lookup lk; | 27 | struct clk_lookup lk; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | #define CLK(dev, con, ck, cp) \ | 30 | #define CLK(dev, con, ck) \ |
31 | { \ | 31 | { \ |
32 | .cpu = cp, \ | ||
33 | .lk = { \ | 32 | .lk = { \ |
34 | .dev_id = dev, \ | 33 | .dev_id = dev, \ |
35 | .con_id = con, \ | 34 | .con_id = con, \ |
@@ -37,22 +36,6 @@ struct omap_clk { | |||
37 | }, \ | 36 | }, \ |
38 | } | 37 | } |
39 | 38 | ||
40 | /* Platform flags for the clkdev-OMAP integration code */ | ||
41 | #define CK_242X (1 << 0) | ||
42 | #define CK_243X (1 << 1) /* 243x, 253x */ | ||
43 | #define CK_3430ES1 (1 << 2) /* 34xxES1 only */ | ||
44 | #define CK_3430ES2PLUS (1 << 3) /* 34xxES2, ES3, non-Sitara 35xx only */ | ||
45 | #define CK_AM35XX (1 << 4) /* Sitara AM35xx */ | ||
46 | #define CK_36XX (1 << 5) /* 36xx/37xx-specific clocks */ | ||
47 | #define CK_443X (1 << 6) | ||
48 | #define CK_TI816X (1 << 7) | ||
49 | #define CK_446X (1 << 8) | ||
50 | #define CK_AM33XX (1 << 9) /* AM33xx specific clocks */ | ||
51 | |||
52 | |||
53 | #define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS) | ||
54 | #define CK_3XXX (CK_34XX | CK_AM35XX | CK_36XX) | ||
55 | |||
56 | struct clockdomain; | 39 | struct clockdomain; |
57 | #define to_clk_hw_omap(_hw) container_of(_hw, struct clk_hw_omap, hw) | 40 | #define to_clk_hw_omap(_hw) container_of(_hw, struct clk_hw_omap, hw) |
58 | 41 | ||
@@ -480,4 +463,5 @@ extern int am33xx_clk_init(void); | |||
480 | extern int omap2_clkops_enable_clkdm(struct clk_hw *hw); | 463 | extern int omap2_clkops_enable_clkdm(struct clk_hw *hw); |
481 | extern void omap2_clkops_disable_clkdm(struct clk_hw *hw); | 464 | extern void omap2_clkops_disable_clkdm(struct clk_hw *hw); |
482 | 465 | ||
466 | extern void omap_clocks_register(struct omap_clk *oclks, int cnt); | ||
483 | #endif | 467 | #endif |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 1ec7f0597710..4269fc145698 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -504,140 +504,31 @@ static void omap_init_rng(void) | |||
504 | WARN(IS_ERR(pdev), "Can't build omap_device for omap_rng\n"); | 504 | WARN(IS_ERR(pdev), "Can't build omap_device for omap_rng\n"); |
505 | } | 505 | } |
506 | 506 | ||
507 | #if defined(CONFIG_CRYPTO_DEV_OMAP_SHAM) || defined(CONFIG_CRYPTO_DEV_OMAP_SHAM_MODULE) | 507 | static void __init omap_init_sham(void) |
508 | |||
509 | #ifdef CONFIG_ARCH_OMAP2 | ||
510 | static struct resource omap2_sham_resources[] = { | ||
511 | { | ||
512 | .start = OMAP24XX_SEC_SHA1MD5_BASE, | ||
513 | .end = OMAP24XX_SEC_SHA1MD5_BASE + 0x64, | ||
514 | .flags = IORESOURCE_MEM, | ||
515 | }, | ||
516 | { | ||
517 | .start = 51 + OMAP_INTC_START, | ||
518 | .flags = IORESOURCE_IRQ, | ||
519 | } | ||
520 | }; | ||
521 | static int omap2_sham_resources_sz = ARRAY_SIZE(omap2_sham_resources); | ||
522 | #else | ||
523 | #define omap2_sham_resources NULL | ||
524 | #define omap2_sham_resources_sz 0 | ||
525 | #endif | ||
526 | |||
527 | #ifdef CONFIG_ARCH_OMAP3 | ||
528 | static struct resource omap3_sham_resources[] = { | ||
529 | { | ||
530 | .start = OMAP34XX_SEC_SHA1MD5_BASE, | ||
531 | .end = OMAP34XX_SEC_SHA1MD5_BASE + 0x64, | ||
532 | .flags = IORESOURCE_MEM, | ||
533 | }, | ||
534 | { | ||
535 | .start = 49 + OMAP_INTC_START, | ||
536 | .flags = IORESOURCE_IRQ, | ||
537 | }, | ||
538 | { | ||
539 | .start = OMAP34XX_DMA_SHA1MD5_RX, | ||
540 | .flags = IORESOURCE_DMA, | ||
541 | } | ||
542 | }; | ||
543 | static int omap3_sham_resources_sz = ARRAY_SIZE(omap3_sham_resources); | ||
544 | #else | ||
545 | #define omap3_sham_resources NULL | ||
546 | #define omap3_sham_resources_sz 0 | ||
547 | #endif | ||
548 | |||
549 | static struct platform_device sham_device = { | ||
550 | .name = "omap-sham", | ||
551 | .id = -1, | ||
552 | }; | ||
553 | |||
554 | static void omap_init_sham(void) | ||
555 | { | 508 | { |
556 | if (cpu_is_omap24xx()) { | 509 | struct omap_hwmod *oh; |
557 | sham_device.resource = omap2_sham_resources; | 510 | struct platform_device *pdev; |
558 | sham_device.num_resources = omap2_sham_resources_sz; | ||
559 | } else if (cpu_is_omap34xx()) { | ||
560 | sham_device.resource = omap3_sham_resources; | ||
561 | sham_device.num_resources = omap3_sham_resources_sz; | ||
562 | } else { | ||
563 | pr_err("%s: platform not supported\n", __func__); | ||
564 | return; | ||
565 | } | ||
566 | platform_device_register(&sham_device); | ||
567 | } | ||
568 | #else | ||
569 | static inline void omap_init_sham(void) { } | ||
570 | #endif | ||
571 | |||
572 | #if defined(CONFIG_CRYPTO_DEV_OMAP_AES) || defined(CONFIG_CRYPTO_DEV_OMAP_AES_MODULE) | ||
573 | |||
574 | #ifdef CONFIG_ARCH_OMAP2 | ||
575 | static struct resource omap2_aes_resources[] = { | ||
576 | { | ||
577 | .start = OMAP24XX_SEC_AES_BASE, | ||
578 | .end = OMAP24XX_SEC_AES_BASE + 0x4C, | ||
579 | .flags = IORESOURCE_MEM, | ||
580 | }, | ||
581 | { | ||
582 | .start = OMAP24XX_DMA_AES_TX, | ||
583 | .flags = IORESOURCE_DMA, | ||
584 | }, | ||
585 | { | ||
586 | .start = OMAP24XX_DMA_AES_RX, | ||
587 | .flags = IORESOURCE_DMA, | ||
588 | } | ||
589 | }; | ||
590 | static int omap2_aes_resources_sz = ARRAY_SIZE(omap2_aes_resources); | ||
591 | #else | ||
592 | #define omap2_aes_resources NULL | ||
593 | #define omap2_aes_resources_sz 0 | ||
594 | #endif | ||
595 | 511 | ||
596 | #ifdef CONFIG_ARCH_OMAP3 | 512 | oh = omap_hwmod_lookup("sham"); |
597 | static struct resource omap3_aes_resources[] = { | 513 | if (!oh) |
598 | { | 514 | return; |
599 | .start = OMAP34XX_SEC_AES_BASE, | ||
600 | .end = OMAP34XX_SEC_AES_BASE + 0x4C, | ||
601 | .flags = IORESOURCE_MEM, | ||
602 | }, | ||
603 | { | ||
604 | .start = OMAP34XX_DMA_AES2_TX, | ||
605 | .flags = IORESOURCE_DMA, | ||
606 | }, | ||
607 | { | ||
608 | .start = OMAP34XX_DMA_AES2_RX, | ||
609 | .flags = IORESOURCE_DMA, | ||
610 | } | ||
611 | }; | ||
612 | static int omap3_aes_resources_sz = ARRAY_SIZE(omap3_aes_resources); | ||
613 | #else | ||
614 | #define omap3_aes_resources NULL | ||
615 | #define omap3_aes_resources_sz 0 | ||
616 | #endif | ||
617 | 515 | ||
618 | static struct platform_device aes_device = { | 516 | pdev = omap_device_build("omap-sham", -1, oh, NULL, 0); |
619 | .name = "omap-aes", | 517 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-sham\n"); |
620 | .id = -1, | 518 | } |
621 | }; | ||
622 | 519 | ||
623 | static void omap_init_aes(void) | 520 | static void __init omap_init_aes(void) |
624 | { | 521 | { |
625 | if (cpu_is_omap24xx()) { | 522 | struct omap_hwmod *oh; |
626 | aes_device.resource = omap2_aes_resources; | 523 | struct platform_device *pdev; |
627 | aes_device.num_resources = omap2_aes_resources_sz; | 524 | |
628 | } else if (cpu_is_omap34xx()) { | 525 | oh = omap_hwmod_lookup("aes"); |
629 | aes_device.resource = omap3_aes_resources; | 526 | if (!oh) |
630 | aes_device.num_resources = omap3_aes_resources_sz; | ||
631 | } else { | ||
632 | pr_err("%s: platform not supported\n", __func__); | ||
633 | return; | 527 | return; |
634 | } | ||
635 | platform_device_register(&aes_device); | ||
636 | } | ||
637 | 528 | ||
638 | #else | 529 | pdev = omap_device_build("omap-aes", -1, oh, NULL, 0); |
639 | static inline void omap_init_aes(void) { } | 530 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-aes\n"); |
640 | #endif | 531 | } |
641 | 532 | ||
642 | /*-------------------------------------------------------------------------*/ | 533 | /*-------------------------------------------------------------------------*/ |
643 | 534 | ||
@@ -764,11 +655,11 @@ static int __init omap2_init_devices(void) | |||
764 | omap_init_dmic(); | 655 | omap_init_dmic(); |
765 | omap_init_mcpdm(); | 656 | omap_init_mcpdm(); |
766 | omap_init_mcspi(); | 657 | omap_init_mcspi(); |
658 | omap_init_sham(); | ||
659 | omap_init_aes(); | ||
767 | } | 660 | } |
768 | omap_init_sti(); | 661 | omap_init_sti(); |
769 | omap_init_rng(); | 662 | omap_init_rng(); |
770 | omap_init_sham(); | ||
771 | omap_init_aes(); | ||
772 | omap_init_vout(); | 663 | omap_init_vout(); |
773 | omap_init_ocp2scp(); | 664 | omap_init_ocp2scp(); |
774 | 665 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c index 6a764af6c6d3..5137cc84b504 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c | |||
@@ -610,6 +610,8 @@ static struct omap_hwmod_ocp_if *omap2420_hwmod_ocp_ifs[] __initdata = { | |||
610 | &omap2420_l4_core__mcbsp2, | 610 | &omap2420_l4_core__mcbsp2, |
611 | &omap2420_l4_core__msdi1, | 611 | &omap2420_l4_core__msdi1, |
612 | &omap2xxx_l4_core__rng, | 612 | &omap2xxx_l4_core__rng, |
613 | &omap2xxx_l4_core__sham, | ||
614 | &omap2xxx_l4_core__aes, | ||
613 | &omap2420_l4_core__hdq1w, | 615 | &omap2420_l4_core__hdq1w, |
614 | &omap2420_l4_wkup__counter_32k, | 616 | &omap2420_l4_wkup__counter_32k, |
615 | &omap2420_l3__gpmc, | 617 | &omap2420_l3__gpmc, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index d2d3840557c3..4ce999ee3ee9 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c | |||
@@ -963,6 +963,8 @@ static struct omap_hwmod_ocp_if *omap2430_hwmod_ocp_ifs[] __initdata = { | |||
963 | &omap2430_l4_core__mcbsp5, | 963 | &omap2430_l4_core__mcbsp5, |
964 | &omap2430_l4_core__hdq1w, | 964 | &omap2430_l4_core__hdq1w, |
965 | &omap2xxx_l4_core__rng, | 965 | &omap2xxx_l4_core__rng, |
966 | &omap2xxx_l4_core__sham, | ||
967 | &omap2xxx_l4_core__aes, | ||
966 | &omap2430_l4_wkup__counter_32k, | 968 | &omap2430_l4_wkup__counter_32k, |
967 | &omap2430_l3__gpmc, | 969 | &omap2430_l3__gpmc, |
968 | NULL, | 970 | NULL, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c index 47901a5e76de..5fd40d4a989e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c | |||
@@ -138,6 +138,24 @@ static struct omap_hwmod_addr_space omap2_rng_addr_space[] = { | |||
138 | { } | 138 | { } |
139 | }; | 139 | }; |
140 | 140 | ||
141 | static struct omap_hwmod_addr_space omap2xxx_sham_addrs[] = { | ||
142 | { | ||
143 | .pa_start = 0x480a4000, | ||
144 | .pa_end = 0x480a4000 + 0x64 - 1, | ||
145 | .flags = ADDR_TYPE_RT | ||
146 | }, | ||
147 | { } | ||
148 | }; | ||
149 | |||
150 | static struct omap_hwmod_addr_space omap2xxx_aes_addrs[] = { | ||
151 | { | ||
152 | .pa_start = 0x480a6000, | ||
153 | .pa_end = 0x480a6000 + 0x50 - 1, | ||
154 | .flags = ADDR_TYPE_RT | ||
155 | }, | ||
156 | { } | ||
157 | }; | ||
158 | |||
141 | /* | 159 | /* |
142 | * Common interconnect data | 160 | * Common interconnect data |
143 | */ | 161 | */ |
@@ -389,3 +407,21 @@ struct omap_hwmod_ocp_if omap2xxx_l4_core__rng = { | |||
389 | .addr = omap2_rng_addr_space, | 407 | .addr = omap2_rng_addr_space, |
390 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 408 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
391 | }; | 409 | }; |
410 | |||
411 | /* l4 core -> sham interface */ | ||
412 | struct omap_hwmod_ocp_if omap2xxx_l4_core__sham = { | ||
413 | .master = &omap2xxx_l4_core_hwmod, | ||
414 | .slave = &omap2xxx_sham_hwmod, | ||
415 | .clk = "sha_ick", | ||
416 | .addr = omap2xxx_sham_addrs, | ||
417 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
418 | }; | ||
419 | |||
420 | /* l4 core -> aes interface */ | ||
421 | struct omap_hwmod_ocp_if omap2xxx_l4_core__aes = { | ||
422 | .master = &omap2xxx_l4_core_hwmod, | ||
423 | .slave = &omap2xxx_aes_hwmod, | ||
424 | .clk = "aes_ick", | ||
425 | .addr = omap2xxx_aes_addrs, | ||
426 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
427 | }; | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c index e596117004d4..c8c64b3e1acc 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | |||
@@ -864,3 +864,84 @@ struct omap_hwmod omap2xxx_rng_hwmod = { | |||
864 | .flags = HWMOD_INIT_NO_RESET, | 864 | .flags = HWMOD_INIT_NO_RESET, |
865 | .class = &omap2_rng_hwmod_class, | 865 | .class = &omap2_rng_hwmod_class, |
866 | }; | 866 | }; |
867 | |||
868 | /* SHAM */ | ||
869 | |||
870 | static struct omap_hwmod_class_sysconfig omap2_sham_sysc = { | ||
871 | .rev_offs = 0x5c, | ||
872 | .sysc_offs = 0x60, | ||
873 | .syss_offs = 0x64, | ||
874 | .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE | | ||
875 | SYSS_HAS_RESET_STATUS), | ||
876 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
877 | }; | ||
878 | |||
879 | static struct omap_hwmod_class omap2xxx_sham_class = { | ||
880 | .name = "sham", | ||
881 | .sysc = &omap2_sham_sysc, | ||
882 | }; | ||
883 | |||
884 | static struct omap_hwmod_irq_info omap2_sham_mpu_irqs[] = { | ||
885 | { .irq = 51 + OMAP_INTC_START, }, | ||
886 | { .irq = -1 } | ||
887 | }; | ||
888 | |||
889 | static struct omap_hwmod_dma_info omap2_sham_sdma_chs[] = { | ||
890 | { .name = "rx", .dma_req = 13 }, | ||
891 | { .dma_req = -1 } | ||
892 | }; | ||
893 | |||
894 | struct omap_hwmod omap2xxx_sham_hwmod = { | ||
895 | .name = "sham", | ||
896 | .mpu_irqs = omap2_sham_mpu_irqs, | ||
897 | .sdma_reqs = omap2_sham_sdma_chs, | ||
898 | .main_clk = "l4_ck", | ||
899 | .prcm = { | ||
900 | .omap2 = { | ||
901 | .module_offs = CORE_MOD, | ||
902 | .prcm_reg_id = 4, | ||
903 | .module_bit = OMAP24XX_EN_SHA_SHIFT, | ||
904 | .idlest_reg_id = 4, | ||
905 | .idlest_idle_bit = OMAP24XX_ST_SHA_SHIFT, | ||
906 | }, | ||
907 | }, | ||
908 | .class = &omap2xxx_sham_class, | ||
909 | }; | ||
910 | |||
911 | /* AES */ | ||
912 | |||
913 | static struct omap_hwmod_class_sysconfig omap2_aes_sysc = { | ||
914 | .rev_offs = 0x44, | ||
915 | .sysc_offs = 0x48, | ||
916 | .syss_offs = 0x4c, | ||
917 | .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE | | ||
918 | SYSS_HAS_RESET_STATUS), | ||
919 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
920 | }; | ||
921 | |||
922 | static struct omap_hwmod_class omap2xxx_aes_class = { | ||
923 | .name = "aes", | ||
924 | .sysc = &omap2_aes_sysc, | ||
925 | }; | ||
926 | |||
927 | static struct omap_hwmod_dma_info omap2_aes_sdma_chs[] = { | ||
928 | { .name = "tx", .dma_req = 9 }, | ||
929 | { .name = "rx", .dma_req = 10 }, | ||
930 | { .dma_req = -1 } | ||
931 | }; | ||
932 | |||
933 | struct omap_hwmod omap2xxx_aes_hwmod = { | ||
934 | .name = "aes", | ||
935 | .sdma_reqs = omap2_aes_sdma_chs, | ||
936 | .main_clk = "l4_ck", | ||
937 | .prcm = { | ||
938 | .omap2 = { | ||
939 | .module_offs = CORE_MOD, | ||
940 | .prcm_reg_id = 4, | ||
941 | .module_bit = OMAP24XX_EN_AES_SHIFT, | ||
942 | .idlest_reg_id = 4, | ||
943 | .idlest_idle_bit = OMAP24XX_ST_AES_SHIFT, | ||
944 | }, | ||
945 | }, | ||
946 | .class = &omap2xxx_aes_class, | ||
947 | }; | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index 26eee4a556ad..556a1222fde6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c | |||
@@ -417,8 +417,6 @@ static struct omap_hwmod am33xx_adc_tsc_hwmod = { | |||
417 | * - clkdiv32k | 417 | * - clkdiv32k |
418 | * - debugss | 418 | * - debugss |
419 | * - ocp watch point | 419 | * - ocp watch point |
420 | * - aes0 | ||
421 | * - sha0 | ||
422 | */ | 420 | */ |
423 | #if 0 | 421 | #if 0 |
424 | /* | 422 | /* |
@@ -499,25 +497,41 @@ static struct omap_hwmod am33xx_ocpwp_hwmod = { | |||
499 | }, | 497 | }, |
500 | }, | 498 | }, |
501 | }; | 499 | }; |
500 | #endif | ||
502 | 501 | ||
503 | /* | 502 | /* |
504 | * 'aes' class | 503 | * 'aes0' class |
505 | */ | 504 | */ |
506 | static struct omap_hwmod_class am33xx_aes_hwmod_class = { | 505 | static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = { |
507 | .name = "aes", | 506 | .rev_offs = 0x80, |
507 | .sysc_offs = 0x84, | ||
508 | .syss_offs = 0x88, | ||
509 | .sysc_flags = SYSS_HAS_RESET_STATUS, | ||
510 | }; | ||
511 | |||
512 | static struct omap_hwmod_class am33xx_aes0_hwmod_class = { | ||
513 | .name = "aes0", | ||
514 | .sysc = &am33xx_aes0_sysc, | ||
508 | }; | 515 | }; |
509 | 516 | ||
510 | static struct omap_hwmod_irq_info am33xx_aes0_irqs[] = { | 517 | static struct omap_hwmod_irq_info am33xx_aes0_irqs[] = { |
511 | { .irq = 102 + OMAP_INTC_START, }, | 518 | { .irq = 103 + OMAP_INTC_START, }, |
512 | { .irq = -1 }, | 519 | { .irq = -1 }, |
513 | }; | 520 | }; |
514 | 521 | ||
522 | static struct omap_hwmod_dma_info am33xx_aes0_edma_reqs[] = { | ||
523 | { .name = "tx", .dma_req = 6, }, | ||
524 | { .name = "rx", .dma_req = 5, }, | ||
525 | { .dma_req = -1 } | ||
526 | }; | ||
527 | |||
515 | static struct omap_hwmod am33xx_aes0_hwmod = { | 528 | static struct omap_hwmod am33xx_aes0_hwmod = { |
516 | .name = "aes0", | 529 | .name = "aes", |
517 | .class = &am33xx_aes_hwmod_class, | 530 | .class = &am33xx_aes0_hwmod_class, |
518 | .clkdm_name = "l3_clkdm", | 531 | .clkdm_name = "l3_clkdm", |
519 | .mpu_irqs = am33xx_aes0_irqs, | 532 | .mpu_irqs = am33xx_aes0_irqs, |
520 | .main_clk = "l3_gclk", | 533 | .sdma_reqs = am33xx_aes0_edma_reqs, |
534 | .main_clk = "aes0_fck", | ||
521 | .prcm = { | 535 | .prcm = { |
522 | .omap4 = { | 536 | .omap4 = { |
523 | .clkctrl_offs = AM33XX_CM_PER_AES0_CLKCTRL_OFFSET, | 537 | .clkctrl_offs = AM33XX_CM_PER_AES0_CLKCTRL_OFFSET, |
@@ -526,21 +540,35 @@ static struct omap_hwmod am33xx_aes0_hwmod = { | |||
526 | }, | 540 | }, |
527 | }; | 541 | }; |
528 | 542 | ||
529 | /* sha0 */ | 543 | /* sha0 HIB2 (the 'P' (public) device) */ |
544 | static struct omap_hwmod_class_sysconfig am33xx_sha0_sysc = { | ||
545 | .rev_offs = 0x100, | ||
546 | .sysc_offs = 0x110, | ||
547 | .syss_offs = 0x114, | ||
548 | .sysc_flags = SYSS_HAS_RESET_STATUS, | ||
549 | }; | ||
550 | |||
530 | static struct omap_hwmod_class am33xx_sha0_hwmod_class = { | 551 | static struct omap_hwmod_class am33xx_sha0_hwmod_class = { |
531 | .name = "sha0", | 552 | .name = "sha0", |
553 | .sysc = &am33xx_sha0_sysc, | ||
532 | }; | 554 | }; |
533 | 555 | ||
534 | static struct omap_hwmod_irq_info am33xx_sha0_irqs[] = { | 556 | static struct omap_hwmod_irq_info am33xx_sha0_irqs[] = { |
535 | { .irq = 108 + OMAP_INTC_START, }, | 557 | { .irq = 109 + OMAP_INTC_START, }, |
536 | { .irq = -1 }, | 558 | { .irq = -1 }, |
537 | }; | 559 | }; |
538 | 560 | ||
561 | static struct omap_hwmod_dma_info am33xx_sha0_edma_reqs[] = { | ||
562 | { .name = "rx", .dma_req = 36, }, | ||
563 | { .dma_req = -1 } | ||
564 | }; | ||
565 | |||
539 | static struct omap_hwmod am33xx_sha0_hwmod = { | 566 | static struct omap_hwmod am33xx_sha0_hwmod = { |
540 | .name = "sha0", | 567 | .name = "sham", |
541 | .class = &am33xx_sha0_hwmod_class, | 568 | .class = &am33xx_sha0_hwmod_class, |
542 | .clkdm_name = "l3_clkdm", | 569 | .clkdm_name = "l3_clkdm", |
543 | .mpu_irqs = am33xx_sha0_irqs, | 570 | .mpu_irqs = am33xx_sha0_irqs, |
571 | .sdma_reqs = am33xx_sha0_edma_reqs, | ||
544 | .main_clk = "l3_gclk", | 572 | .main_clk = "l3_gclk", |
545 | .prcm = { | 573 | .prcm = { |
546 | .omap4 = { | 574 | .omap4 = { |
@@ -550,8 +578,6 @@ static struct omap_hwmod am33xx_sha0_hwmod = { | |||
550 | }, | 578 | }, |
551 | }; | 579 | }; |
552 | 580 | ||
553 | #endif | ||
554 | |||
555 | /* ocmcram */ | 581 | /* ocmcram */ |
556 | static struct omap_hwmod_class am33xx_ocmcram_hwmod_class = { | 582 | static struct omap_hwmod_class am33xx_ocmcram_hwmod_class = { |
557 | .name = "ocmcram", | 583 | .name = "ocmcram", |
@@ -3434,6 +3460,42 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__ocmc = { | |||
3434 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3460 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3435 | }; | 3461 | }; |
3436 | 3462 | ||
3463 | /* l3 main -> sha0 HIB2 */ | ||
3464 | static struct omap_hwmod_addr_space am33xx_sha0_addrs[] = { | ||
3465 | { | ||
3466 | .pa_start = 0x53100000, | ||
3467 | .pa_end = 0x53100000 + SZ_512 - 1, | ||
3468 | .flags = ADDR_TYPE_RT | ||
3469 | }, | ||
3470 | { } | ||
3471 | }; | ||
3472 | |||
3473 | static struct omap_hwmod_ocp_if am33xx_l3_main__sha0 = { | ||
3474 | .master = &am33xx_l3_main_hwmod, | ||
3475 | .slave = &am33xx_sha0_hwmod, | ||
3476 | .clk = "sha0_fck", | ||
3477 | .addr = am33xx_sha0_addrs, | ||
3478 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3479 | }; | ||
3480 | |||
3481 | /* l3 main -> AES0 HIB2 */ | ||
3482 | static struct omap_hwmod_addr_space am33xx_aes0_addrs[] = { | ||
3483 | { | ||
3484 | .pa_start = 0x53500000, | ||
3485 | .pa_end = 0x53500000 + SZ_1M - 1, | ||
3486 | .flags = ADDR_TYPE_RT | ||
3487 | }, | ||
3488 | { } | ||
3489 | }; | ||
3490 | |||
3491 | static struct omap_hwmod_ocp_if am33xx_l3_main__aes0 = { | ||
3492 | .master = &am33xx_l3_main_hwmod, | ||
3493 | .slave = &am33xx_aes0_hwmod, | ||
3494 | .clk = "aes0_fck", | ||
3495 | .addr = am33xx_aes0_addrs, | ||
3496 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3497 | }; | ||
3498 | |||
3437 | static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { | 3499 | static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { |
3438 | &am33xx_l4_fw__emif_fw, | 3500 | &am33xx_l4_fw__emif_fw, |
3439 | &am33xx_l3_main__emif, | 3501 | &am33xx_l3_main__emif, |
@@ -3514,6 +3576,8 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { | |||
3514 | &am33xx_l3_s__usbss, | 3576 | &am33xx_l3_s__usbss, |
3515 | &am33xx_l4_hs__cpgmac0, | 3577 | &am33xx_l4_hs__cpgmac0, |
3516 | &am33xx_cpgmac0__mdio, | 3578 | &am33xx_cpgmac0__mdio, |
3579 | &am33xx_l3_main__sha0, | ||
3580 | &am33xx_l3_main__aes0, | ||
3517 | NULL, | 3581 | NULL, |
3518 | }; | 3582 | }; |
3519 | 3583 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 5112d04e7b79..4083606ea1da 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | |||
@@ -3550,6 +3550,132 @@ static struct omap_hwmod_ocp_if omap3xxx_l3_main__gpmc = { | |||
3550 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3550 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3551 | }; | 3551 | }; |
3552 | 3552 | ||
3553 | /* l4_core -> SHAM2 (SHA1/MD5) (similar to omap24xx) */ | ||
3554 | static struct omap_hwmod_sysc_fields omap3_sham_sysc_fields = { | ||
3555 | .sidle_shift = 4, | ||
3556 | .srst_shift = 1, | ||
3557 | .autoidle_shift = 0, | ||
3558 | }; | ||
3559 | |||
3560 | static struct omap_hwmod_class_sysconfig omap3_sham_sysc = { | ||
3561 | .rev_offs = 0x5c, | ||
3562 | .sysc_offs = 0x60, | ||
3563 | .syss_offs = 0x64, | ||
3564 | .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
3565 | SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), | ||
3566 | .sysc_fields = &omap3_sham_sysc_fields, | ||
3567 | }; | ||
3568 | |||
3569 | static struct omap_hwmod_class omap3xxx_sham_class = { | ||
3570 | .name = "sham", | ||
3571 | .sysc = &omap3_sham_sysc, | ||
3572 | }; | ||
3573 | |||
3574 | static struct omap_hwmod_irq_info omap3_sham_mpu_irqs[] = { | ||
3575 | { .irq = 49 + OMAP_INTC_START, }, | ||
3576 | { .irq = -1 } | ||
3577 | }; | ||
3578 | |||
3579 | static struct omap_hwmod_dma_info omap3_sham_sdma_reqs[] = { | ||
3580 | { .name = "rx", .dma_req = OMAP34XX_DMA_SHA1MD5_RX, }, | ||
3581 | { .dma_req = -1 } | ||
3582 | }; | ||
3583 | |||
3584 | static struct omap_hwmod omap3xxx_sham_hwmod = { | ||
3585 | .name = "sham", | ||
3586 | .mpu_irqs = omap3_sham_mpu_irqs, | ||
3587 | .sdma_reqs = omap3_sham_sdma_reqs, | ||
3588 | .main_clk = "sha12_ick", | ||
3589 | .prcm = { | ||
3590 | .omap2 = { | ||
3591 | .module_offs = CORE_MOD, | ||
3592 | .prcm_reg_id = 1, | ||
3593 | .module_bit = OMAP3430_EN_SHA12_SHIFT, | ||
3594 | .idlest_reg_id = 1, | ||
3595 | .idlest_idle_bit = OMAP3430_ST_SHA12_SHIFT, | ||
3596 | }, | ||
3597 | }, | ||
3598 | .class = &omap3xxx_sham_class, | ||
3599 | }; | ||
3600 | |||
3601 | static struct omap_hwmod_addr_space omap3xxx_sham_addrs[] = { | ||
3602 | { | ||
3603 | .pa_start = 0x480c3000, | ||
3604 | .pa_end = 0x480c3000 + 0x64 - 1, | ||
3605 | .flags = ADDR_TYPE_RT | ||
3606 | }, | ||
3607 | { } | ||
3608 | }; | ||
3609 | |||
3610 | static struct omap_hwmod_ocp_if omap3xxx_l4_core__sham = { | ||
3611 | .master = &omap3xxx_l4_core_hwmod, | ||
3612 | .slave = &omap3xxx_sham_hwmod, | ||
3613 | .clk = "sha12_ick", | ||
3614 | .addr = omap3xxx_sham_addrs, | ||
3615 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3616 | }; | ||
3617 | |||
3618 | /* l4_core -> AES */ | ||
3619 | static struct omap_hwmod_sysc_fields omap3xxx_aes_sysc_fields = { | ||
3620 | .sidle_shift = 6, | ||
3621 | .srst_shift = 1, | ||
3622 | .autoidle_shift = 0, | ||
3623 | }; | ||
3624 | |||
3625 | static struct omap_hwmod_class_sysconfig omap3_aes_sysc = { | ||
3626 | .rev_offs = 0x44, | ||
3627 | .sysc_offs = 0x48, | ||
3628 | .syss_offs = 0x4c, | ||
3629 | .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
3630 | SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), | ||
3631 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
3632 | .sysc_fields = &omap3xxx_aes_sysc_fields, | ||
3633 | }; | ||
3634 | |||
3635 | static struct omap_hwmod_class omap3xxx_aes_class = { | ||
3636 | .name = "aes", | ||
3637 | .sysc = &omap3_aes_sysc, | ||
3638 | }; | ||
3639 | |||
3640 | static struct omap_hwmod_dma_info omap3_aes_sdma_reqs[] = { | ||
3641 | { .name = "tx", .dma_req = OMAP34XX_DMA_AES2_TX, }, | ||
3642 | { .name = "rx", .dma_req = OMAP34XX_DMA_AES2_RX, }, | ||
3643 | { .dma_req = -1 } | ||
3644 | }; | ||
3645 | |||
3646 | static struct omap_hwmod omap3xxx_aes_hwmod = { | ||
3647 | .name = "aes", | ||
3648 | .sdma_reqs = omap3_aes_sdma_reqs, | ||
3649 | .main_clk = "aes2_ick", | ||
3650 | .prcm = { | ||
3651 | .omap2 = { | ||
3652 | .module_offs = CORE_MOD, | ||
3653 | .prcm_reg_id = 1, | ||
3654 | .module_bit = OMAP3430_EN_AES2_SHIFT, | ||
3655 | .idlest_reg_id = 1, | ||
3656 | .idlest_idle_bit = OMAP3430_ST_AES2_SHIFT, | ||
3657 | }, | ||
3658 | }, | ||
3659 | .class = &omap3xxx_aes_class, | ||
3660 | }; | ||
3661 | |||
3662 | static struct omap_hwmod_addr_space omap3xxx_aes_addrs[] = { | ||
3663 | { | ||
3664 | .pa_start = 0x480c5000, | ||
3665 | .pa_end = 0x480c5000 + 0x50 - 1, | ||
3666 | .flags = ADDR_TYPE_RT | ||
3667 | }, | ||
3668 | { } | ||
3669 | }; | ||
3670 | |||
3671 | static struct omap_hwmod_ocp_if omap3xxx_l4_core__aes = { | ||
3672 | .master = &omap3xxx_l4_core_hwmod, | ||
3673 | .slave = &omap3xxx_aes_hwmod, | ||
3674 | .clk = "aes2_ick", | ||
3675 | .addr = omap3xxx_aes_addrs, | ||
3676 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3677 | }; | ||
3678 | |||
3553 | static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = { | 3679 | static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = { |
3554 | &omap3xxx_l3_main__l4_core, | 3680 | &omap3xxx_l3_main__l4_core, |
3555 | &omap3xxx_l3_main__l4_per, | 3681 | &omap3xxx_l3_main__l4_per, |
@@ -3601,8 +3727,32 @@ static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = { | |||
3601 | }; | 3727 | }; |
3602 | 3728 | ||
3603 | /* GP-only hwmod links */ | 3729 | /* GP-only hwmod links */ |
3604 | static struct omap_hwmod_ocp_if *omap3xxx_gp_hwmod_ocp_ifs[] __initdata = { | 3730 | static struct omap_hwmod_ocp_if *omap34xx_gp_hwmod_ocp_ifs[] __initdata = { |
3605 | &omap3xxx_l4_sec__timer12, | 3731 | &omap3xxx_l4_sec__timer12, |
3732 | &omap3xxx_l4_core__sham, | ||
3733 | &omap3xxx_l4_core__aes, | ||
3734 | NULL | ||
3735 | }; | ||
3736 | |||
3737 | static struct omap_hwmod_ocp_if *omap36xx_gp_hwmod_ocp_ifs[] __initdata = { | ||
3738 | &omap3xxx_l4_sec__timer12, | ||
3739 | &omap3xxx_l4_core__sham, | ||
3740 | &omap3xxx_l4_core__aes, | ||
3741 | NULL | ||
3742 | }; | ||
3743 | |||
3744 | static struct omap_hwmod_ocp_if *am35xx_gp_hwmod_ocp_ifs[] __initdata = { | ||
3745 | &omap3xxx_l4_sec__timer12, | ||
3746 | /* | ||
3747 | * Apparently the SHA/MD5 and AES accelerator IP blocks are | ||
3748 | * only present on some AM35xx chips, and no one knows which | ||
3749 | * ones. See | ||
3750 | * http://www.spinics.net/lists/arm-kernel/msg215466.html So | ||
3751 | * if you need these IP blocks on an AM35xx, try uncommenting | ||
3752 | * the following lines. | ||
3753 | */ | ||
3754 | /* &omap3xxx_l4_core__sham, */ | ||
3755 | /* &omap3xxx_l4_core__aes, */ | ||
3606 | NULL | 3756 | NULL |
3607 | }; | 3757 | }; |
3608 | 3758 | ||
@@ -3709,7 +3859,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_hwmod_ocp_ifs[] __initdata = { | |||
3709 | int __init omap3xxx_hwmod_init(void) | 3859 | int __init omap3xxx_hwmod_init(void) |
3710 | { | 3860 | { |
3711 | int r; | 3861 | int r; |
3712 | struct omap_hwmod_ocp_if **h = NULL; | 3862 | struct omap_hwmod_ocp_if **h = NULL, **h_gp = NULL; |
3713 | unsigned int rev; | 3863 | unsigned int rev; |
3714 | 3864 | ||
3715 | omap_hwmod_init(); | 3865 | omap_hwmod_init(); |
@@ -3719,13 +3869,6 @@ int __init omap3xxx_hwmod_init(void) | |||
3719 | if (r < 0) | 3869 | if (r < 0) |
3720 | return r; | 3870 | return r; |
3721 | 3871 | ||
3722 | /* Register GP-only hwmod links. */ | ||
3723 | if (omap_type() == OMAP2_DEVICE_TYPE_GP) { | ||
3724 | r = omap_hwmod_register_links(omap3xxx_gp_hwmod_ocp_ifs); | ||
3725 | if (r < 0) | ||
3726 | return r; | ||
3727 | } | ||
3728 | |||
3729 | rev = omap_rev(); | 3872 | rev = omap_rev(); |
3730 | 3873 | ||
3731 | /* | 3874 | /* |
@@ -3737,11 +3880,14 @@ int __init omap3xxx_hwmod_init(void) | |||
3737 | rev == OMAP3430_REV_ES2_1 || rev == OMAP3430_REV_ES3_0 || | 3880 | rev == OMAP3430_REV_ES2_1 || rev == OMAP3430_REV_ES3_0 || |
3738 | rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2) { | 3881 | rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2) { |
3739 | h = omap34xx_hwmod_ocp_ifs; | 3882 | h = omap34xx_hwmod_ocp_ifs; |
3883 | h_gp = omap34xx_gp_hwmod_ocp_ifs; | ||
3740 | } else if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) { | 3884 | } else if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) { |
3741 | h = am35xx_hwmod_ocp_ifs; | 3885 | h = am35xx_hwmod_ocp_ifs; |
3886 | h_gp = am35xx_gp_hwmod_ocp_ifs; | ||
3742 | } else if (rev == OMAP3630_REV_ES1_0 || rev == OMAP3630_REV_ES1_1 || | 3887 | } else if (rev == OMAP3630_REV_ES1_0 || rev == OMAP3630_REV_ES1_1 || |
3743 | rev == OMAP3630_REV_ES1_2) { | 3888 | rev == OMAP3630_REV_ES1_2) { |
3744 | h = omap36xx_hwmod_ocp_ifs; | 3889 | h = omap36xx_hwmod_ocp_ifs; |
3890 | h_gp = omap36xx_gp_hwmod_ocp_ifs; | ||
3745 | } else { | 3891 | } else { |
3746 | WARN(1, "OMAP3 hwmod family init: unknown chip type\n"); | 3892 | WARN(1, "OMAP3 hwmod family init: unknown chip type\n"); |
3747 | return -EINVAL; | 3893 | return -EINVAL; |
@@ -3751,6 +3897,14 @@ int __init omap3xxx_hwmod_init(void) | |||
3751 | if (r < 0) | 3897 | if (r < 0) |
3752 | return r; | 3898 | return r; |
3753 | 3899 | ||
3900 | /* Register GP-only hwmod links. */ | ||
3901 | if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) { | ||
3902 | r = omap_hwmod_register_links(h_gp); | ||
3903 | if (r < 0) | ||
3904 | return r; | ||
3905 | } | ||
3906 | |||
3907 | |||
3754 | /* | 3908 | /* |
3755 | * Register hwmod links specific to certain ES levels of a | 3909 | * Register hwmod links specific to certain ES levels of a |
3756 | * particular family of silicon (e.g., 34xx ES1.0) | 3910 | * particular family of silicon (e.g., 34xx ES1.0) |
diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h index cfcce299177c..6e04ff7065e1 100644 --- a/arch/arm/mach-omap2/omap_hwmod_common_data.h +++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h | |||
@@ -78,6 +78,8 @@ extern struct omap_hwmod omap2xxx_mcspi2_hwmod; | |||
78 | extern struct omap_hwmod omap2xxx_counter_32k_hwmod; | 78 | extern struct omap_hwmod omap2xxx_counter_32k_hwmod; |
79 | extern struct omap_hwmod omap2xxx_gpmc_hwmod; | 79 | extern struct omap_hwmod omap2xxx_gpmc_hwmod; |
80 | extern struct omap_hwmod omap2xxx_rng_hwmod; | 80 | extern struct omap_hwmod omap2xxx_rng_hwmod; |
81 | extern struct omap_hwmod omap2xxx_sham_hwmod; | ||
82 | extern struct omap_hwmod omap2xxx_aes_hwmod; | ||
81 | 83 | ||
82 | /* Common interface data across OMAP2xxx */ | 84 | /* Common interface data across OMAP2xxx */ |
83 | extern struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core; | 85 | extern struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core; |
@@ -105,6 +107,8 @@ extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_dispc; | |||
105 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi; | 107 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi; |
106 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc; | 108 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc; |
107 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__rng; | 109 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__rng; |
110 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__sham; | ||
111 | extern struct omap_hwmod_ocp_if omap2xxx_l4_core__aes; | ||
108 | 112 | ||
109 | /* Common IP block data */ | 113 | /* Common IP block data */ |
110 | extern struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[]; | 114 | extern struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[]; |