xref: /linux/drivers/clk/samsung/clk-gs101.c (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
12c597bb7SPeter Griffin // SPDX-License-Identifier: GPL-2.0-only
22c597bb7SPeter Griffin /*
32c597bb7SPeter Griffin  * Copyright (C) 2023 Linaro Ltd.
42c597bb7SPeter Griffin  * Author: Peter Griffin <peter.griffin@linaro.org>
52c597bb7SPeter Griffin  *
62c597bb7SPeter Griffin  * Common Clock Framework support for GS101.
72c597bb7SPeter Griffin  */
82c597bb7SPeter Griffin 
92c597bb7SPeter Griffin #include <linux/clk.h>
102c597bb7SPeter Griffin #include <linux/clk-provider.h>
112c597bb7SPeter Griffin #include <linux/of.h>
122c597bb7SPeter Griffin #include <linux/platform_device.h>
132c597bb7SPeter Griffin 
142c597bb7SPeter Griffin #include <dt-bindings/clock/google,gs101.h>
152c597bb7SPeter Griffin 
162c597bb7SPeter Griffin #include "clk.h"
172c597bb7SPeter Griffin #include "clk-exynos-arm64.h"
181891e4d4SAndré Draszik #include "clk-pll.h"
192c597bb7SPeter Griffin 
202c597bb7SPeter Griffin /* NOTE: Must be equal to the last clock ID increased by one */
2135f32e39STudor Ambarus #define CLKS_NR_TOP	(CLK_GOUT_CMU_TPU_UART + 1)
222c597bb7SPeter Griffin #define CLKS_NR_APM	(CLK_APM_PLL_DIV16_APM + 1)
231891e4d4SAndré Draszik #define CLKS_NR_HSI0	(CLK_GOUT_HSI0_XIU_P_HSI0_ACLK + 1)
24093c2900SPeter Griffin #define CLKS_NR_HSI2	(CLK_GOUT_HSI2_XIU_P_HSI2_ACLK + 1)
252c597bb7SPeter Griffin #define CLKS_NR_MISC	(CLK_GOUT_MISC_XIU_D_MISC_ACLK + 1)
26893f133aSTudor Ambarus #define CLKS_NR_PERIC0	(CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK + 1)
272999e786SAndré Draszik #define CLKS_NR_PERIC1	(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK + 1)
282c597bb7SPeter Griffin 
292c597bb7SPeter Griffin /* ---- CMU_TOP ------------------------------------------------------------- */
302c597bb7SPeter Griffin 
312c597bb7SPeter Griffin /* Register Offset definitions for CMU_TOP (0x1e080000) */
322c597bb7SPeter Griffin #define PLL_LOCKTIME_PLL_SHARED0			0x0000
332c597bb7SPeter Griffin #define PLL_LOCKTIME_PLL_SHARED1			0x0004
342c597bb7SPeter Griffin #define PLL_LOCKTIME_PLL_SHARED2			0x0008
352c597bb7SPeter Griffin #define PLL_LOCKTIME_PLL_SHARED3			0x000c
362c597bb7SPeter Griffin #define PLL_LOCKTIME_PLL_SPARE				0x0010
372c597bb7SPeter Griffin #define PLL_CON0_PLL_SHARED0				0x0100
382c597bb7SPeter Griffin #define PLL_CON1_PLL_SHARED0				0x0104
392c597bb7SPeter Griffin #define PLL_CON2_PLL_SHARED0				0x0108
402c597bb7SPeter Griffin #define PLL_CON3_PLL_SHARED0				0x010c
412c597bb7SPeter Griffin #define PLL_CON4_PLL_SHARED0				0x0110
422c597bb7SPeter Griffin #define PLL_CON0_PLL_SHARED1				0x0140
432c597bb7SPeter Griffin #define PLL_CON1_PLL_SHARED1				0x0144
442c597bb7SPeter Griffin #define PLL_CON2_PLL_SHARED1				0x0148
452c597bb7SPeter Griffin #define PLL_CON3_PLL_SHARED1				0x014c
462c597bb7SPeter Griffin #define PLL_CON4_PLL_SHARED1				0x0150
472c597bb7SPeter Griffin #define PLL_CON0_PLL_SHARED2				0x0180
482c597bb7SPeter Griffin #define PLL_CON1_PLL_SHARED2				0x0184
492c597bb7SPeter Griffin #define PLL_CON2_PLL_SHARED2				0x0188
502c597bb7SPeter Griffin #define PLL_CON3_PLL_SHARED2				0x018c
512c597bb7SPeter Griffin #define PLL_CON4_PLL_SHARED2				0x0190
522c597bb7SPeter Griffin #define PLL_CON0_PLL_SHARED3				0x01c0
532c597bb7SPeter Griffin #define PLL_CON1_PLL_SHARED3				0x01c4
542c597bb7SPeter Griffin #define PLL_CON2_PLL_SHARED3				0x01c8
552c597bb7SPeter Griffin #define PLL_CON3_PLL_SHARED3				0x01cc
562c597bb7SPeter Griffin #define PLL_CON4_PLL_SHARED3				0x01d0
572c597bb7SPeter Griffin #define PLL_CON0_PLL_SPARE				0x0200
582c597bb7SPeter Griffin #define PLL_CON1_PLL_SPARE				0x0204
592c597bb7SPeter Griffin #define PLL_CON2_PLL_SPARE				0x0208
602c597bb7SPeter Griffin #define PLL_CON3_PLL_SPARE				0x020c
612c597bb7SPeter Griffin #define PLL_CON4_PLL_SPARE				0x0210
622c597bb7SPeter Griffin #define CMU_CMU_TOP_CONTROLLER_OPTION			0x0800
632c597bb7SPeter Griffin #define CLKOUT_CON_BLK_CMU_CMU_TOP_CLKOUT0		0x0810
642c597bb7SPeter Griffin #define CMU_HCHGEN_CLKMUX_CMU_BOOST			0x0840
652c597bb7SPeter Griffin #define CMU_HCHGEN_CLKMUX_TOP_BOOST			0x0844
662c597bb7SPeter Griffin #define CMU_HCHGEN_CLKMUX				0x0850
672c597bb7SPeter Griffin #define POWER_FAIL_DETECT_PLL				0x0864
682c597bb7SPeter Griffin #define EARLY_WAKEUP_FORCED_0_ENABLE			0x0870
692c597bb7SPeter Griffin #define EARLY_WAKEUP_FORCED_1_ENABLE			0x0874
702c597bb7SPeter Griffin #define EARLY_WAKEUP_APM_CTRL				0x0878
712c597bb7SPeter Griffin #define EARLY_WAKEUP_CLUSTER0_CTRL			0x087c
722c597bb7SPeter Griffin #define EARLY_WAKEUP_DPU_CTRL				0x0880
732c597bb7SPeter Griffin #define EARLY_WAKEUP_CSIS_CTRL				0x0884
742c597bb7SPeter Griffin #define EARLY_WAKEUP_APM_DEST				0x0890
752c597bb7SPeter Griffin #define EARLY_WAKEUP_CLUSTER0_DEST			0x0894
762c597bb7SPeter Griffin #define EARLY_WAKEUP_DPU_DEST				0x0898
772c597bb7SPeter Griffin #define EARLY_WAKEUP_CSIS_DEST				0x089c
782c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_APM			0x08c0
792c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_APM_SET			0x08c4
802c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_APM_CLEAR			0x08c8
812c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CLUSTER0			0x08d0
822c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CLUSTER0_SET		0x08d4
832c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CLUSTER0_CLEAR		0x08d8
842c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_DPU			0x08e0
852c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_DPU_SET			0x08e4
862c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_DPU_CLEAR			0x08e8
872c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CSIS			0x08f0
882c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CSIS_SET			0x08f4
892c597bb7SPeter Griffin #define EARLY_WAKEUP_SW_TRIG_CSIS_CLEAR			0x08f8
902c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_BO_BUS			0x1000
912c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_BUS0_BUS			0x1004
922c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_BUS1_BUS			0x1008
932c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_BUS2_BUS			0x100c
942c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0			0x1010
952c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1			0x1014
962c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2			0x1018
972c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3			0x101c
982c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4			0x1020
992c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5			0x1024
1002c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6			0x1028
1012c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7			0x102c
1022c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST		0x1030
1032c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_OPTION1	0x1034
1042c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CORE_BUS			0x1038
1052c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_DBG		0x103c
1062c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH		0x1040
1072c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH		0x1044
1082c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH		0x1048
1092c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_CSIS_BUS			0x104c
1102c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_DISP_BUS			0x1050
1112c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_DNS_BUS			0x1054
1122c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_DPU_BUS			0x1058
1132c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_EH_BUS			0x105c
1142c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G2D_G2D			0x1060
1152c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL			0x1064
1162c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G3AA_G3AA		0x1068
1172c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G3D_BUSD			0x106c
1182c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G3D_GLB			0x1070
1192c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH		0x1074
1202c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_GDC_GDC0			0x1078
1212c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_GDC_GDC1			0x107c
1222c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_GDC_SCSC			0x1080
1232c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HPM			0x1084
1242c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI0_BUS			0x1088
1252c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC		0x108c
1262c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI0_USB31DRD		0x1090
1272c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI0_USBDPDBG		0x1094
1282c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI1_BUS			0x1098
1292c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE		0x109c
1302c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI2_BUS			0x10a0
1312c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI2_MMC_CARD		0x10a4
1322c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI2_PCIE		0x10a8
1332c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_HSI2_UFS_EMBD		0x10ac
1342c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_IPP_BUS			0x10b0
1352c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_ITP_BUS			0x10b4
1362c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MCSC_ITSC		0x10b8
1372c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC		0x10bc
1382c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MFC_MFC			0x10c0
1392c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP			0x10c4
1402c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH		0x10c8
1412c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MISC_BUS			0x10cc
1422c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_MISC_SSS			0x10d0
1432c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PDP_BUS			0x10d4
1442c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PDP_VRA			0x10d8
1452c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS		0x10dc
1462c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP		0x10e0
1472c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS		0x10e4
1482c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP		0x10e8
1492c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TNR_BUS			0x10ec
1502c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TOP_BOOST_OPTION1	0x10f0
1512c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TOP_CMUREF		0x10f4
1522c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TPU_BUS			0x10f8
1532c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TPU_TPU			0x10fc
1542c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TPU_TPUCTL		0x1100
1552c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_TPU_UART			0x1104
1562c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CMU_CMUREF			0x1108
1572c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_BO_BUS			0x1800
1582c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_BUS0_BUS			0x1804
1592c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_BUS1_BUS			0x1808
1602c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_BUS2_BUS			0x180c
1612c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK0			0x1810
1622c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK1			0x1814
1632c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK2			0x1818
1642c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK3			0x181c
1652c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK4			0x1820
1662c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK5			0x1824
1672c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK6			0x1828
1682c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CIS_CLK7			0x182c
1692c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CORE_BUS			0x1830
1702c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CPUCL0_DBG			0x1834
1712c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH		0x1838
1722c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH		0x183c
1732c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CPUCL2_SWITCH		0x1840
1742c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_CSIS_BUS			0x1844
1752c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_DISP_BUS			0x1848
1762c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_DNS_BUS			0x184c
1772c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_DPU_BUS			0x1850
1782c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_EH_BUS			0x1854
1792c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G2D_G2D			0x1858
1802c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G2D_MSCL			0x185c
1812c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G3AA_G3AA			0x1860
1822c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G3D_BUSD			0x1864
1832c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G3D_GLB			0x1868
1842c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_G3D_SWITCH			0x186c
1852c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_GDC_GDC0			0x1870
1862c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_GDC_GDC1			0x1874
1872c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_GDC_SCSC			0x1878
1882c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HPM				0x187c
1892c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI0_BUS			0x1880
1902c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI0_DPGTC			0x1884
1912c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI0_USB31DRD		0x1888
1922c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI0_USBDPDBG		0x188c
1932c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI1_BUS			0x1890
1942c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI1_PCIE			0x1894
1952c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI2_BUS			0x1898
1962c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI2_MMC_CARD		0x189c
1972c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI2_PCIE			0x18a0
1982c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_HSI2_UFS_EMBD		0x18a4
1992c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_IPP_BUS			0x18a8
2002c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_ITP_BUS			0x18ac
2012c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MCSC_ITSC			0x18b0
2022c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MCSC_MCSC			0x18b4
2032c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MFC_MFC			0x18b8
2042c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MIF_BUSP			0x18bc
2052c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MISC_BUS			0x18c0
2062c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_MISC_SSS			0x18c4
2072c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_OTP				0x18c8
2082c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PDP_BUS			0x18cc
2092c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PDP_VRA			0x18d0
2102c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PERIC0_BUS			0x18d4
2112c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PERIC0_IP			0x18d8
2122c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PERIC1_BUS			0x18dc
2132c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_PERIC1_IP			0x18e0
2142c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_TNR_BUS			0x18e4
2152c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_TPU_BUS			0x18e8
2162c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_TPU_TPU			0x18ec
2172c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_TPU_TPUCTL			0x18f0
2182c597bb7SPeter Griffin #define CLK_CON_DIV_CLKCMU_TPU_UART			0x18f4
2192c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST		0x18f8
2202c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_CMU_CMUREF			0x18fc
2212c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED0_DIV2			0x1900
2222c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED0_DIV3			0x1904
2232c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED0_DIV4			0x1908
2242c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED0_DIV5			0x190c
2252c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED1_DIV2			0x1910
2262c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED1_DIV3			0x1914
2272c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED1_DIV4			0x1918
2282c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED2_DIV2			0x191c
2292c597bb7SPeter Griffin #define CLK_CON_DIV_PLL_SHARED3_DIV2			0x1920
2302c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_BUS0_BOOST			0x2000
2312c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_BUS1_BOOST			0x2004
2322c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_BUS2_BOOST			0x2008
2332c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_CORE_BOOST			0x200c
2342c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_CPUCL0_BOOST			0x2010
2352c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_CPUCL1_BOOST			0x2014
2362c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_CPUCL2_BOOST			0x2018
2372c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_MIF_BOOST			0x201c
2382c597bb7SPeter Griffin #define CLK_CON_GAT_CLKCMU_MIF_SWITCH			0x2020
2392c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_BO_BUS			0x2024
2402c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_BUS0_BUS		0x2028
2412c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_BUS1_BUS		0x202c
2422c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_BUS2_BUS		0x2030
2432c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK0		0x2034
2442c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK1		0x2038
2452c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK2		0x203c
2462c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK3		0x2040
2472c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK4		0x2044
2482c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK5		0x2048
2492c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK6		0x204c
2502c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK7		0x2050
2512c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST		0x2054
2522c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CORE_BUS		0x2058
2532c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_BUS		0x205c
2542c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH		0x2060
2552c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH		0x2064
2562c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH		0x2068
2572c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_CSIS_BUS		0x206c
2582c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_DISP_BUS		0x2070
2592c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_DNS_BUS			0x2074
2602c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_DPU_BUS			0x2078
2612c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_EH_BUS			0x207c
2622c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G2D_G2D			0x2080
2632c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL		0x2084
2642c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G3AA_G3AA		0x2088
2652c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G3D_BUSD		0x208c
2662c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G3D_GLB			0x2090
2672c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH		0x2094
2682c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_GDC_GDC0		0x2098
2692c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_GDC_GDC1		0x209c
2702c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_GDC_SCSC		0x20a0
2712c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HPM			0x20a4
2722c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI0_BUS		0x20a8
2732c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI0_DPGTC		0x20ac
2742c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI0_USB31DRD		0x20b0
2752c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI0_USBDPDBG		0x20b4
2762c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI1_BUS		0x20b8
2772c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI1_PCIE		0x20bc
2782c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI2_BUS		0x20c0
2792c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI2_MMCCARD		0x20c4
2802c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI2_PCIE		0x20c8
2812c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_HSI2_UFS_EMBD		0x20cc
2822c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_IPP_BUS			0x20d0
2832c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_ITP_BUS			0x20d4
2842c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MCSC_ITSC		0x20d8
2852c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC		0x20dc
2862c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MFC_MFC			0x20e0
2872c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP		0x20e4
2882c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MISC_BUS		0x20e8
2892c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_MISC_SSS		0x20ec
2902c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PDP_BUS			0x20f0
2912c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PDP_VRA			0x20f4
2922c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS		0x20f8
2932c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP		0x20fc
2942c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS		0x2100
2952c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP		0x2104
2962c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TNR_BUS			0x2108
2972c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TOP_CMUREF		0x210c
2982c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TPU_BUS			0x2110
2992c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TPU_TPU			0x2114
3002c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TPU_TPUCTL		0x2118
3012c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_TPU_UART		0x211c
3022c597bb7SPeter Griffin #define DMYQCH_CON_CMU_TOP_CMUREF_QCH			0x3000
3032c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK0		0x3004
3042c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK1		0x3008
3052c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK2		0x300c
3062c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK3		0x3010
3072c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK4		0x3014
3082c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK5		0x3018
3092c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK6		0x301c
3102c597bb7SPeter Griffin #define DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK7		0x3020
3112c597bb7SPeter Griffin #define DMYQCH_CON_OTP_QCH				0x3024
3122c597bb7SPeter Griffin #define QUEUE_CTRL_REG_BLK_CMU_CMU_TOP			0x3c00
3132c597bb7SPeter Griffin #define QUEUE_ENTRY0_BLK_CMU_CMU_TOP			0x3c10
3142c597bb7SPeter Griffin #define QUEUE_ENTRY1_BLK_CMU_CMU_TOP			0x3c14
3152c597bb7SPeter Griffin #define QUEUE_ENTRY2_BLK_CMU_CMU_TOP			0x3c18
3162c597bb7SPeter Griffin #define QUEUE_ENTRY3_BLK_CMU_CMU_TOP			0x3c1c
3172c597bb7SPeter Griffin #define QUEUE_ENTRY4_BLK_CMU_CMU_TOP			0x3c20
3182c597bb7SPeter Griffin #define QUEUE_ENTRY5_BLK_CMU_CMU_TOP			0x3c24
3192c597bb7SPeter Griffin #define QUEUE_ENTRY6_BLK_CMU_CMU_TOP			0x3c28
3202c597bb7SPeter Griffin #define QUEUE_ENTRY7_BLK_CMU_CMU_TOP			0x3c2c
3212c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_CTRL_REG			0x3e00
3222c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY0				0x3e10
3232c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY1				0x3e14
3242c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY2				0x3e18
3252c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY3				0x3e1c
3262c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY4				0x3e20
3272c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY5				0x3e24
3282c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY6				0x3e28
3292c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_ENTRY7				0x3e2c
3302c597bb7SPeter Griffin #define MIFMIRROR_QUEUE_BUSY				0x3e30
3312c597bb7SPeter Griffin #define GENERALIO_ACD_CHANNEL_0				0x3f00
3322c597bb7SPeter Griffin #define GENERALIO_ACD_CHANNEL_1				0x3f04
3332c597bb7SPeter Griffin #define GENERALIO_ACD_CHANNEL_2				0x3f08
3342c597bb7SPeter Griffin #define GENERALIO_ACD_CHANNEL_3				0x3f0c
3352c597bb7SPeter Griffin #define GENERALIO_ACD_MASK				0x3f14
3362c597bb7SPeter Griffin 
3372c597bb7SPeter Griffin static const unsigned long cmu_top_clk_regs[] __initconst = {
3382c597bb7SPeter Griffin 	PLL_LOCKTIME_PLL_SHARED0,
3392c597bb7SPeter Griffin 	PLL_LOCKTIME_PLL_SHARED1,
3402c597bb7SPeter Griffin 	PLL_LOCKTIME_PLL_SHARED2,
3412c597bb7SPeter Griffin 	PLL_LOCKTIME_PLL_SHARED3,
3422c597bb7SPeter Griffin 	PLL_LOCKTIME_PLL_SPARE,
3432c597bb7SPeter Griffin 	PLL_CON0_PLL_SHARED0,
3442c597bb7SPeter Griffin 	PLL_CON1_PLL_SHARED0,
3452c597bb7SPeter Griffin 	PLL_CON2_PLL_SHARED0,
3462c597bb7SPeter Griffin 	PLL_CON3_PLL_SHARED0,
3472c597bb7SPeter Griffin 	PLL_CON4_PLL_SHARED0,
3482c597bb7SPeter Griffin 	PLL_CON0_PLL_SHARED1,
3492c597bb7SPeter Griffin 	PLL_CON1_PLL_SHARED1,
3502c597bb7SPeter Griffin 	PLL_CON2_PLL_SHARED1,
3512c597bb7SPeter Griffin 	PLL_CON3_PLL_SHARED1,
3522c597bb7SPeter Griffin 	PLL_CON4_PLL_SHARED1,
3532c597bb7SPeter Griffin 	PLL_CON0_PLL_SHARED2,
3542c597bb7SPeter Griffin 	PLL_CON1_PLL_SHARED2,
3552c597bb7SPeter Griffin 	PLL_CON2_PLL_SHARED2,
3562c597bb7SPeter Griffin 	PLL_CON3_PLL_SHARED2,
3572c597bb7SPeter Griffin 	PLL_CON4_PLL_SHARED2,
3582c597bb7SPeter Griffin 	PLL_CON0_PLL_SHARED3,
3592c597bb7SPeter Griffin 	PLL_CON1_PLL_SHARED3,
3602c597bb7SPeter Griffin 	PLL_CON2_PLL_SHARED3,
3612c597bb7SPeter Griffin 	PLL_CON3_PLL_SHARED3,
3622c597bb7SPeter Griffin 	PLL_CON4_PLL_SHARED3,
3632c597bb7SPeter Griffin 	PLL_CON0_PLL_SPARE,
3642c597bb7SPeter Griffin 	PLL_CON1_PLL_SPARE,
3652c597bb7SPeter Griffin 	PLL_CON2_PLL_SPARE,
3662c597bb7SPeter Griffin 	PLL_CON3_PLL_SPARE,
3672c597bb7SPeter Griffin 	PLL_CON4_PLL_SPARE,
3682c597bb7SPeter Griffin 	CMU_CMU_TOP_CONTROLLER_OPTION,
3692c597bb7SPeter Griffin 	CLKOUT_CON_BLK_CMU_CMU_TOP_CLKOUT0,
3702c597bb7SPeter Griffin 	CMU_HCHGEN_CLKMUX_CMU_BOOST,
3712c597bb7SPeter Griffin 	CMU_HCHGEN_CLKMUX_TOP_BOOST,
3722c597bb7SPeter Griffin 	CMU_HCHGEN_CLKMUX,
3732c597bb7SPeter Griffin 	POWER_FAIL_DETECT_PLL,
3742c597bb7SPeter Griffin 	EARLY_WAKEUP_FORCED_0_ENABLE,
3752c597bb7SPeter Griffin 	EARLY_WAKEUP_FORCED_1_ENABLE,
3762c597bb7SPeter Griffin 	EARLY_WAKEUP_APM_CTRL,
3772c597bb7SPeter Griffin 	EARLY_WAKEUP_CLUSTER0_CTRL,
3782c597bb7SPeter Griffin 	EARLY_WAKEUP_DPU_CTRL,
3792c597bb7SPeter Griffin 	EARLY_WAKEUP_CSIS_CTRL,
3802c597bb7SPeter Griffin 	EARLY_WAKEUP_APM_DEST,
3812c597bb7SPeter Griffin 	EARLY_WAKEUP_CLUSTER0_DEST,
3822c597bb7SPeter Griffin 	EARLY_WAKEUP_DPU_DEST,
3832c597bb7SPeter Griffin 	EARLY_WAKEUP_CSIS_DEST,
3842c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_APM,
3852c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_APM_SET,
3862c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_APM_CLEAR,
3872c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CLUSTER0,
3882c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CLUSTER0_SET,
3892c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CLUSTER0_CLEAR,
3902c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_DPU,
3912c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_DPU_SET,
3922c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_DPU_CLEAR,
3932c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CSIS,
3942c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CSIS_SET,
3952c597bb7SPeter Griffin 	EARLY_WAKEUP_SW_TRIG_CSIS_CLEAR,
3962c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_BO_BUS,
3972c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_BUS0_BUS,
3982c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_BUS1_BUS,
3992c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_BUS2_BUS,
4002c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0,
4012c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1,
4022c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2,
4032c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3,
4042c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4,
4052c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5,
4062c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6,
4072c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7,
4082c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST,
4092c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_OPTION1,
4102c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CORE_BUS,
4112c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_DBG,
4122c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
4132c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
4142c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH,
4152c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_CSIS_BUS,
4162c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_DISP_BUS,
4172c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_DNS_BUS,
4182c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_DPU_BUS,
4192c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_EH_BUS,
4202c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G2D_G2D,
4212c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL,
4222c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G3AA_G3AA,
4232c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G3D_BUSD,
4242c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G3D_GLB,
4252c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH,
4262c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_GDC_GDC0,
4272c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_GDC_GDC1,
4282c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_GDC_SCSC,
4292c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HPM,
4302c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI0_BUS,
4312c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC,
4322c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI0_USB31DRD,
4332c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI0_USBDPDBG,
4342c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI1_BUS,
4352c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE,
4362c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI2_BUS,
4372c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI2_MMC_CARD,
4382c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI2_PCIE,
4392c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_HSI2_UFS_EMBD,
4402c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_IPP_BUS,
4412c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_ITP_BUS,
4422c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MCSC_ITSC,
4432c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC,
4442c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MFC_MFC,
4452c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP,
4462c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH,
4472c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MISC_BUS,
4482c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_MISC_SSS,
4492c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PDP_BUS,
4502c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PDP_VRA,
4512c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS,
4522c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP,
4532c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS,
4542c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP,
4552c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TNR_BUS,
4562c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TOP_BOOST_OPTION1,
4572c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TOP_CMUREF,
4582c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TPU_BUS,
4592c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TPU_TPU,
4602c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TPU_TPUCTL,
4612c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_TPU_UART,
4622c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CMU_CMUREF,
4632c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_BO_BUS,
4642c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_BUS0_BUS,
4652c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_BUS1_BUS,
4662c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_BUS2_BUS,
4672c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK0,
4682c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK1,
4692c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK2,
4702c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK3,
4712c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK4,
4722c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK5,
4732c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK6,
4742c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CIS_CLK7,
4752c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CORE_BUS,
4762c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CPUCL0_DBG,
4772c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH,
4782c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH,
4792c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CPUCL2_SWITCH,
4802c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_CSIS_BUS,
4812c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_DISP_BUS,
4822c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_DNS_BUS,
4832c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_DPU_BUS,
4842c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_EH_BUS,
4852c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G2D_G2D,
4862c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G2D_MSCL,
4872c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G3AA_G3AA,
4882c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G3D_BUSD,
4892c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G3D_GLB,
4902c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_G3D_SWITCH,
4912c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_GDC_GDC0,
4922c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_GDC_GDC1,
4932c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_GDC_SCSC,
4942c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HPM,
4952c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI0_BUS,
4962c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI0_DPGTC,
4972c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI0_USB31DRD,
4982c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI0_USBDPDBG,
4992c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI1_BUS,
5002c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI1_PCIE,
5012c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI2_BUS,
5022c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI2_MMC_CARD,
5032c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI2_PCIE,
5042c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_HSI2_UFS_EMBD,
5052c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_IPP_BUS,
5062c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_ITP_BUS,
5072c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MCSC_ITSC,
5082c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MCSC_MCSC,
5092c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MFC_MFC,
5102c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MIF_BUSP,
5112c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MISC_BUS,
5122c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_MISC_SSS,
5132c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_OTP,
5142c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PDP_BUS,
5152c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PDP_VRA,
5162c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PERIC0_BUS,
5172c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PERIC0_IP,
5182c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PERIC1_BUS,
5192c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_PERIC1_IP,
5202c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_TNR_BUS,
5212c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_TPU_BUS,
5222c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_TPU_TPU,
5232c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_TPU_TPUCTL,
5242c597bb7SPeter Griffin 	CLK_CON_DIV_CLKCMU_TPU_UART,
5252c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST,
5262c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_CMU_CMUREF,
5272c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED0_DIV2,
5282c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED0_DIV3,
5292c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED0_DIV4,
5302c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED0_DIV5,
5312c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED1_DIV2,
5322c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED1_DIV3,
5332c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED1_DIV4,
5342c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED2_DIV2,
5352c597bb7SPeter Griffin 	CLK_CON_DIV_PLL_SHARED3_DIV2,
5362c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_BUS0_BOOST,
5372c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_BUS1_BOOST,
5382c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_BUS2_BOOST,
5392c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_CORE_BOOST,
5402c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_CPUCL0_BOOST,
5412c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_CPUCL1_BOOST,
5422c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_CPUCL2_BOOST,
5432c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_MIF_BOOST,
5442c597bb7SPeter Griffin 	CLK_CON_GAT_CLKCMU_MIF_SWITCH,
5452c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_BO_BUS,
5462c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_BUS0_BUS,
5472c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_BUS1_BUS,
5482c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_BUS2_BUS,
5492c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK0,
5502c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK1,
5512c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK2,
5522c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK3,
5532c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK4,
5542c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK5,
5552c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK6,
5562c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK7,
5572c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST,
5582c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CORE_BUS,
5592c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_BUS,
5602c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH,
5612c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH,
5622c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH,
5632c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_CSIS_BUS,
5642c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_DISP_BUS,
5652c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_DNS_BUS,
5662c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_DPU_BUS,
5672c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_EH_BUS,
5682c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G2D_G2D,
5692c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL,
5702c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G3AA_G3AA,
5712c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G3D_BUSD,
5722c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G3D_GLB,
5732c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH,
5742c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_GDC_GDC0,
5752c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_GDC_GDC1,
5762c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_GDC_SCSC,
5772c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HPM,
5782c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI0_BUS,
5792c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI0_DPGTC,
5802c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI0_USB31DRD,
5812c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI0_USBDPDBG,
5822c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI1_BUS,
5832c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI1_PCIE,
5842c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI2_BUS,
5852c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI2_MMCCARD,
5862c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI2_PCIE,
5872c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_HSI2_UFS_EMBD,
5882c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_IPP_BUS,
5892c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_ITP_BUS,
5902c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MCSC_ITSC,
5912c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC,
5922c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MFC_MFC,
5932c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP,
5942c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MISC_BUS,
5952c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_MISC_SSS,
5962c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PDP_BUS,
5972c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PDP_VRA,
5982c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS,
5992c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP,
6002c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS,
6012c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP,
6022c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TNR_BUS,
6032c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TOP_CMUREF,
6042c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TPU_BUS,
6052c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TPU_TPU,
6062c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TPU_TPUCTL,
6072c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_TPU_UART,
6082c597bb7SPeter Griffin 	DMYQCH_CON_CMU_TOP_CMUREF_QCH,
6092c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK0,
6102c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK1,
6112c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK2,
6122c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK3,
6132c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK4,
6142c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK5,
6152c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK6,
6162c597bb7SPeter Griffin 	DMYQCH_CON_DFTMUX_CMU_QCH_CIS_CLK7,
6172c597bb7SPeter Griffin 	DMYQCH_CON_OTP_QCH,
6182c597bb7SPeter Griffin 	QUEUE_CTRL_REG_BLK_CMU_CMU_TOP,
6192c597bb7SPeter Griffin 	QUEUE_ENTRY0_BLK_CMU_CMU_TOP,
6202c597bb7SPeter Griffin 	QUEUE_ENTRY1_BLK_CMU_CMU_TOP,
6212c597bb7SPeter Griffin 	QUEUE_ENTRY2_BLK_CMU_CMU_TOP,
6222c597bb7SPeter Griffin 	QUEUE_ENTRY3_BLK_CMU_CMU_TOP,
6232c597bb7SPeter Griffin 	QUEUE_ENTRY4_BLK_CMU_CMU_TOP,
6242c597bb7SPeter Griffin 	QUEUE_ENTRY5_BLK_CMU_CMU_TOP,
6252c597bb7SPeter Griffin 	QUEUE_ENTRY6_BLK_CMU_CMU_TOP,
6262c597bb7SPeter Griffin 	QUEUE_ENTRY7_BLK_CMU_CMU_TOP,
6272c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_CTRL_REG,
6282c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY0,
6292c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY1,
6302c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY2,
6312c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY3,
6322c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY4,
6332c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY5,
6342c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY6,
6352c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_ENTRY7,
6362c597bb7SPeter Griffin 	MIFMIRROR_QUEUE_BUSY,
6372c597bb7SPeter Griffin 	GENERALIO_ACD_CHANNEL_0,
6382c597bb7SPeter Griffin 	GENERALIO_ACD_CHANNEL_1,
6392c597bb7SPeter Griffin 	GENERALIO_ACD_CHANNEL_2,
6402c597bb7SPeter Griffin 	GENERALIO_ACD_CHANNEL_3,
6412c597bb7SPeter Griffin 	GENERALIO_ACD_MASK,
6422c597bb7SPeter Griffin };
6432c597bb7SPeter Griffin 
6442c597bb7SPeter Griffin static const struct samsung_pll_clock cmu_top_pll_clks[] __initconst = {
6452c597bb7SPeter Griffin 	/* CMU_TOP_PURECLKCOMP */
6462c597bb7SPeter Griffin 	PLL(pll_0517x, CLK_FOUT_SHARED0_PLL, "fout_shared0_pll", "oscclk",
6472c597bb7SPeter Griffin 	    PLL_LOCKTIME_PLL_SHARED0, PLL_CON3_PLL_SHARED0,
6482c597bb7SPeter Griffin 	    NULL),
6492c597bb7SPeter Griffin 	PLL(pll_0517x, CLK_FOUT_SHARED1_PLL, "fout_shared1_pll", "oscclk",
6502c597bb7SPeter Griffin 	    PLL_LOCKTIME_PLL_SHARED1, PLL_CON3_PLL_SHARED1,
6512c597bb7SPeter Griffin 	    NULL),
6522c597bb7SPeter Griffin 	PLL(pll_0518x, CLK_FOUT_SHARED2_PLL, "fout_shared2_pll", "oscclk",
6532c597bb7SPeter Griffin 	    PLL_LOCKTIME_PLL_SHARED2, PLL_CON3_PLL_SHARED2,
6542c597bb7SPeter Griffin 	    NULL),
6552c597bb7SPeter Griffin 	PLL(pll_0518x, CLK_FOUT_SHARED3_PLL, "fout_shared3_pll", "oscclk",
6562c597bb7SPeter Griffin 	    PLL_LOCKTIME_PLL_SHARED3, PLL_CON3_PLL_SHARED3,
6572c597bb7SPeter Griffin 	    NULL),
6582c597bb7SPeter Griffin 	PLL(pll_0518x, CLK_FOUT_SPARE_PLL, "fout_spare_pll", "oscclk",
6592c597bb7SPeter Griffin 	    PLL_LOCKTIME_PLL_SPARE, PLL_CON3_PLL_SPARE,
6602c597bb7SPeter Griffin 	    NULL),
6612c597bb7SPeter Griffin };
6622c597bb7SPeter Griffin 
6632c597bb7SPeter Griffin /* List of parent clocks for Muxes in CMU_TOP */
6642c597bb7SPeter Griffin PNAME(mout_pll_shared0_p)	= { "oscclk", "fout_shared0_pll" };
6652c597bb7SPeter Griffin PNAME(mout_pll_shared1_p)	= { "oscclk", "fout_shared1_pll" };
6662c597bb7SPeter Griffin PNAME(mout_pll_shared2_p)	= { "oscclk", "fout_shared2_pll" };
6672c597bb7SPeter Griffin PNAME(mout_pll_shared3_p)	= { "oscclk", "fout_shared3_pll" };
6682c597bb7SPeter Griffin PNAME(mout_pll_spare_p)		= { "oscclk", "fout_spare_pll" };
6692c597bb7SPeter Griffin PNAME(mout_cmu_bo_bus_p)	= { "fout_shared2_pll", "dout_cmu_shared0_div3",
6702c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared1_div3",
6712c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
6722c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
6732c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
6742c597bb7SPeter Griffin PNAME(mout_cmu_bus0_bus_p)	= { "dout_cmu_shared0_div4",
6752c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
6762c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
6772c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2",
6782c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk",
6792c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
6802c597bb7SPeter Griffin PNAME(mout_cmu_bus1_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
6812c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
6822c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
6832c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
6842c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
6852c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
6862c597bb7SPeter Griffin PNAME(mout_cmu_bus2_bus_p)	= { "dout_cmu_shared0_div2",
6872c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
6882c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
6892c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
6902c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
6912c597bb7SPeter Griffin 				    "dout_cmu_shared0_div5", "fout_spare_pll" };
6922c597bb7SPeter Griffin PNAME(mout_cmu_cis_clk0_7_p)	= { "oscclk", "dout_cmu_shared0_div3",
6932c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
6942c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
6952c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll",
6962c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
6972c597bb7SPeter Griffin PNAME(mout_cmu_cmu_boost_p)	= { "dout_cmu_shared0_div4",
6982c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
6992c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7002c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2" };
7012c597bb7SPeter Griffin PNAME(mout_cmu_cmu_boost_option1_p) = { "dout_cmu_cmu_boost",
7022c597bb7SPeter Griffin 					"gout_cmu_boost_option1" };
7032c597bb7SPeter Griffin PNAME(mout_cmu_core_bus_p)	= { "dout_cmu_shared0_div2",
7042c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
7052c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
7062c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
7072c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7082c597bb7SPeter Griffin 				    "dout_cmu_shared0_div5", "fout_spare_pll" };
7092c597bb7SPeter Griffin PNAME(mout_cmu_cpucl0_dbg_p)	= { "fout_shared2_pll", "fout_shared3_pll",
7102c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7112c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7122c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2", "fout_spare_pll",
7132c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
7142c597bb7SPeter Griffin PNAME(mout_cmu_cpucl0_switch_p)	= { "fout_shared1_pll", "dout_cmu_shared0_div2",
7152c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2", "fout_shared2_pll",
7162c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared0_div3",
7172c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3", "fout_spare_pll" };
7182c597bb7SPeter Griffin PNAME(mout_cmu_cpucl1_switch_p)	= { "fout_shared1_pll", "dout_cmu_shared0_div2",
7192c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2", "fout_shared2_pll",
7202c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared0_div3",
7212c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3", "fout_spare_pll" };
7222c597bb7SPeter Griffin PNAME(mout_cmu_cpucl2_switch_p)	= { "fout_shared1_pll", "dout_cmu_shared0_div2",
7232c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2", "fout_shared2_pll",
7242c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared0_div3",
7252c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3", "fout_spare_pll" };
7262c597bb7SPeter Griffin PNAME(mout_cmu_csis_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7272c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7282c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7292c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7302c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7312c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7322c597bb7SPeter Griffin PNAME(mout_cmu_disp_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7332c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7342c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7352c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7362c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7372c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7382c597bb7SPeter Griffin PNAME(mout_cmu_dns_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7392c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7402c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7412c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7422c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7432c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7442c597bb7SPeter Griffin PNAME(mout_cmu_dpu_p)		= { "dout_cmu_shared0_div3",
7452c597bb7SPeter Griffin 				    "fout_shared3_pll",
7462c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7472c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7482c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7492c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7502c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7512c597bb7SPeter Griffin PNAME(mout_cmu_eh_bus_p)	= { "dout_cmu_shared0_div2",
7522c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
7532c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
7542c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
7552c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7562c597bb7SPeter Griffin 				    "dout_cmu_shared0_div5", "fout_spare_pll" };
7572c597bb7SPeter Griffin PNAME(mout_cmu_g2d_g2d_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7582c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7592c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7602c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7612c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7622c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7632c597bb7SPeter Griffin PNAME(mout_cmu_g2d_mscl_p)	= { "dout_cmu_shared0_div4",
7642c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7652c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7662c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2",
7672c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk",
7682c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
7692c597bb7SPeter Griffin PNAME(mout_cmu_g3aa_g3aa_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7702c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7712c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7722c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7732c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7742c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7752c597bb7SPeter Griffin PNAME(mout_cmu_g3d_busd_p)	= { "dout_cmu_shared0_div2",
7762c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
7772c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
7782c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
7792c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7802c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4", "fout_spare_pll" };
7812c597bb7SPeter Griffin PNAME(mout_cmu_g3d_glb_p)	= { "dout_cmu_shared0_div2",
7822c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
7832c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
7842c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
7852c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7862c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4", "fout_spare_pll" };
7872c597bb7SPeter Griffin PNAME(mout_cmu_g3d_switch_p)	= { "fout_shared2_pll", "dout_cmu_shared0_div3",
7882c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared1_div3",
7892c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7902c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7912c597bb7SPeter Griffin 				    "fout_spare_pll", "fout_spare_pll"};
7922c597bb7SPeter Griffin PNAME(mout_cmu_gdc_gdc0_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7932c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
7942c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
7952c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
7962c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
7972c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
7982c597bb7SPeter Griffin PNAME(mout_cmu_gdc_gdc1_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
7992c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8002c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8012c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8022c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8032c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8042c597bb7SPeter Griffin PNAME(mout_cmu_gdc_scsc_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8052c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8062c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8072c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8082c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8092c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8102c597bb7SPeter Griffin PNAME(mout_cmu_hpm_p)		= { "oscclk", "dout_cmu_shared1_div3",
8112c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8122c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2" };
8132c597bb7SPeter Griffin PNAME(mout_cmu_hsi0_bus_p)	= { "dout_cmu_shared0_div4",
8142c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8152c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8162c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2",
8172c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk",
8182c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
8192c597bb7SPeter Griffin PNAME(mout_cmu_hsi0_dpgtc_p)	= { "oscclk", "dout_cmu_shared0_div4",
8202c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2", "fout_spare_pll" };
8212c597bb7SPeter Griffin PNAME(mout_cmu_hsi0_usb31drd_p)	= { "oscclk", "dout_cmu_shared2_div2" };
8222c597bb7SPeter Griffin PNAME(mout_cmu_hsi0_usbdpdbg_p)	= { "oscclk", "dout_cmu_shared2_div2" };
8232c597bb7SPeter Griffin PNAME(mout_cmu_hsi1_bus_p)	= { "dout_cmu_shared0_div4",
8242c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8252c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8262c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2",
8272c597bb7SPeter Griffin 				    "fout_spare_pll" };
8282c597bb7SPeter Griffin PNAME(mout_cmu_hsi1_pcie_p)	= { "oscclk", "dout_cmu_shared2_div2" };
8292c597bb7SPeter Griffin PNAME(mout_cmu_hsi2_bus_p)	= { "dout_cmu_shared0_div4",
8302c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8312c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8322c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2",
8332c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk",
8342c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
8352c597bb7SPeter Griffin PNAME(mout_cmu_hsi2_mmc_card_p)	= { "fout_shared2_pll", "fout_shared3_pll",
8362c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4", "fout_spare_pll" };
8372c597bb7SPeter Griffin PNAME(mout_cmu_hsi2_pcie0_p)	= { "oscclk", "dout_cmu_shared2_div2" };
8382c597bb7SPeter Griffin PNAME(mout_cmu_hsi2_ufs_embd_p)	= { "oscclk", "dout_cmu_shared0_div4",
8392c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2", "fout_spare_pll" };
8402c597bb7SPeter Griffin PNAME(mout_cmu_ipp_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8412c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8422c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8432c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8442c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8452c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8462c597bb7SPeter Griffin PNAME(mout_cmu_itp_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8472c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8482c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8492c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8502c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8512c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8522c597bb7SPeter Griffin PNAME(mout_cmu_mcsc_itsc_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8532c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8542c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8552c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8562c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8572c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8582c597bb7SPeter Griffin PNAME(mout_cmu_mcsc_mcsc_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8592c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8602c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8612c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8622c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8632c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8642c597bb7SPeter Griffin PNAME(mout_cmu_mfc_mfc_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8652c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8662c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8672c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2", "fout_spare_pll",
8682c597bb7SPeter Griffin 				    "oscclk", "oscclk" };
8692c597bb7SPeter Griffin PNAME(mout_cmu_mif_busp_p)	= { "dout_cmu_shared0_div4",
8702c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8712c597bb7SPeter Griffin 				    "dout_cmu_shared0_div5", "fout_spare_pll" };
8722c597bb7SPeter Griffin PNAME(mout_cmu_mif_switch_p)	= { "fout_shared0_pll", "fout_shared1_pll",
8732c597bb7SPeter Griffin 				    "dout_cmu_shared0_div2",
8742c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
8752c597bb7SPeter Griffin 				    "fout_shared2_pll", "dout_cmu_shared0_div3",
8762c597bb7SPeter Griffin 				    "fout_shared3_pll", "fout_spare_pll" };
8772c597bb7SPeter Griffin PNAME(mout_cmu_misc_bus_p)	= { "dout_cmu_shared0_div4",
8782c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8792c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
8802c597bb7SPeter Griffin PNAME(mout_cmu_misc_sss_p)	= { "dout_cmu_shared0_div4",
8812c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8822c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
8832c597bb7SPeter Griffin PNAME(mout_cmu_pdp_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
8842c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
8852c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8862c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8872c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8882c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8892c597bb7SPeter Griffin PNAME(mout_cmu_pdp_vra_p)	= { "fout_shared2_pll", "dout_cmu_shared0_div3",
8902c597bb7SPeter Griffin 				    "fout_shared3_pll", "dout_cmu_shared1_div3",
8912c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
8922c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
8932c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
8942c597bb7SPeter Griffin PNAME(mout_cmu_peric0_bus_p)	= { "dout_cmu_shared0_div4",
8952c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8962c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
8972c597bb7SPeter Griffin PNAME(mout_cmu_peric0_ip_p)	= { "dout_cmu_shared0_div4",
8982c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
8992c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
9002c597bb7SPeter Griffin PNAME(mout_cmu_peric1_bus_p)	= { "dout_cmu_shared0_div4",
9012c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
9022c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
9032c597bb7SPeter Griffin PNAME(mout_cmu_peric1_ip_p)	= { "dout_cmu_shared0_div4",
9042c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
9052c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
9062c597bb7SPeter Griffin PNAME(mout_cmu_tnr_bus_p)	= { "dout_cmu_shared0_div3", "fout_shared3_pll",
9072c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
9082c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
9092c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
9102c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
9112c597bb7SPeter Griffin 				    "fout_spare_pll", "oscclk" };
9122c597bb7SPeter Griffin PNAME(mout_cmu_top_boost_option1_p) = { "oscclk",
9132c597bb7SPeter Griffin 					"gout_cmu_boost_option1" };
9142c597bb7SPeter Griffin PNAME(mout_cmu_top_cmuref_p)	= { "dout_cmu_shared0_div4",
9152c597bb7SPeter Griffin 				    "dout_cmu_shared1_div4",
9162c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
9172c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2" };
9182c597bb7SPeter Griffin PNAME(mout_cmu_tpu_bus_p)	= { "dout_cmu_shared0_div2",
9192c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
9202c597bb7SPeter Griffin 				    "fout_shared2_pll",
9212c597bb7SPeter Griffin 				    "fout_shared3_pll",
9222c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
9232c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
9242c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4",
9252c597bb7SPeter Griffin 				    "fout_spare_pll" };
9262c597bb7SPeter Griffin PNAME(mout_cmu_tpu_tpu_p)	= { "dout_cmu_shared0_div2",
9272c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
9282c597bb7SPeter Griffin 				    "fout_shared2_pll",
9292c597bb7SPeter Griffin 				    "fout_shared3_pll",
9302c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
9312c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
9322c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4", "fout_spare_pll" };
9332c597bb7SPeter Griffin PNAME(mout_cmu_tpu_tpuctl_p)	= { "dout_cmu_shared0_div2",
9342c597bb7SPeter Griffin 				    "dout_cmu_shared1_div2",
9352c597bb7SPeter Griffin 				    "fout_shared2_pll", "fout_shared3_pll",
9362c597bb7SPeter Griffin 				    "dout_cmu_shared0_div3",
9372c597bb7SPeter Griffin 				    "dout_cmu_shared1_div3",
9382c597bb7SPeter Griffin 				    "dout_cmu_shared0_div4", "fout_spare_pll" };
9392c597bb7SPeter Griffin PNAME(mout_cmu_tpu_uart_p)	= { "dout_cmu_shared0_div4",
9402c597bb7SPeter Griffin 				    "dout_cmu_shared2_div2",
9412c597bb7SPeter Griffin 				    "dout_cmu_shared3_div2", "fout_spare_pll" };
9422c597bb7SPeter Griffin PNAME(mout_cmu_cmuref_p)	= { "mout_cmu_top_boost_option1",
9432c597bb7SPeter Griffin 				    "dout_cmu_cmuref" };
9442c597bb7SPeter Griffin 
9452c597bb7SPeter Griffin /*
9462c597bb7SPeter Griffin  * Register name to clock name mangling strategy used in this file
9472c597bb7SPeter Griffin  *
9482c597bb7SPeter Griffin  * Replace PLL_CON0_PLL	           with CLK_MOUT_PLL and mout_pll
9492c597bb7SPeter Griffin  * Replace CLK_CON_MUX_MUX_CLKCMU  with CLK_MOUT_CMU and mout_cmu
9502c597bb7SPeter Griffin  * Replace CLK_CON_DIV_CLKCMU      with CLK_DOUT_CMU and dout_cmu
9512c597bb7SPeter Griffin  * Replace CLK_CON_DIV_DIV_CLKCMU  with CLK_DOUT_CMU and dout_cmu
9522c597bb7SPeter Griffin  * Replace CLK_CON_GAT_CLKCMU      with CLK_GOUT_CMU and gout_cmu
9532c597bb7SPeter Griffin  * Replace CLK_CON_GAT_GATE_CLKCMU with CLK_GOUT_CMU and gout_cmu
9542c597bb7SPeter Griffin  *
9552c597bb7SPeter Griffin  * For gates remove _UID _BLK _IPCLKPORT and _RSTNSYNC
9562c597bb7SPeter Griffin  */
9572c597bb7SPeter Griffin 
9582c597bb7SPeter Griffin static const struct samsung_mux_clock cmu_top_mux_clks[] __initconst = {
9592c597bb7SPeter Griffin 	MUX(CLK_MOUT_PLL_SHARED0, "mout_pll_shared0", mout_pll_shared0_p,
9602c597bb7SPeter Griffin 	    PLL_CON0_PLL_SHARED0, 4, 1),
9612c597bb7SPeter Griffin 	MUX(CLK_MOUT_PLL_SHARED1, "mout_pll_shared1", mout_pll_shared1_p,
9622c597bb7SPeter Griffin 	    PLL_CON0_PLL_SHARED1, 4, 1),
9632c597bb7SPeter Griffin 	MUX(CLK_MOUT_PLL_SHARED2, "mout_pll_shared2", mout_pll_shared2_p,
9642c597bb7SPeter Griffin 	    PLL_CON0_PLL_SHARED2, 4, 1),
9652c597bb7SPeter Griffin 	MUX(CLK_MOUT_PLL_SHARED3, "mout_pll_shared3", mout_pll_shared3_p,
9662c597bb7SPeter Griffin 	    PLL_CON0_PLL_SHARED3, 4, 1),
9672c597bb7SPeter Griffin 	MUX(CLK_MOUT_PLL_SPARE, "mout_pll_spare", mout_pll_spare_p,
9682c597bb7SPeter Griffin 	    PLL_CON0_PLL_SPARE, 4, 1),
9692c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_BO_BUS, "mout_cmu_bo_bus", mout_cmu_bo_bus_p,
9702c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_BO_BUS, 0, 3),
9712c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_BUS0_BUS, "mout_cmu_bus0_bus", mout_cmu_bus0_bus_p,
9722c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_BUS0_BUS, 0, 3),
9732c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_BUS1_BUS, "mout_cmu_bus1_bus", mout_cmu_bus1_bus_p,
9742c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_BUS1_BUS, 0, 3),
9752c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_BUS2_BUS, "mout_cmu_bus2_bus", mout_cmu_bus2_bus_p,
9762c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_BUS2_BUS, 0, 3),
9772c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK0, "mout_cmu_cis_clk0", mout_cmu_cis_clk0_7_p,
9782c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0, 0, 3),
9792c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK1, "mout_cmu_cis_clk1", mout_cmu_cis_clk0_7_p,
9802c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1, 0, 3),
9812c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK2, "mout_cmu_cis_clk2", mout_cmu_cis_clk0_7_p,
9822c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2, 0, 3),
9832c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK3, "mout_cmu_cis_clk3", mout_cmu_cis_clk0_7_p,
9842c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3, 0, 3),
9852c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK4, "mout_cmu_cis_clk4", mout_cmu_cis_clk0_7_p,
9862c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4, 0, 3),
9872c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK5, "mout_cmu_cis_clk5", mout_cmu_cis_clk0_7_p,
9882c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5, 0, 3),
9892c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK6, "mout_cmu_cis_clk6", mout_cmu_cis_clk0_7_p,
9902c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6, 0, 3),
9912c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CIS_CLK7, "mout_cmu_cis_clk7", mout_cmu_cis_clk0_7_p,
9922c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7, 0, 3),
9932c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CMU_BOOST, "mout_cmu_cmu_boost", mout_cmu_cmu_boost_p,
9942c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST, 0, 2),
9952c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_BOOST_OPTION1, "mout_cmu_boost_option1",
9962c597bb7SPeter Griffin 	    mout_cmu_cmu_boost_option1_p,
9972c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_OPTION1, 0, 1),
9982c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CORE_BUS, "mout_cmu_core_bus", mout_cmu_core_bus_p,
9992c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CORE_BUS, 0, 3),
10002c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CPUCL0_DBG, "mout_cmu_cpucl0_dbg",
10012c597bb7SPeter Griffin 	    mout_cmu_cpucl0_dbg_p, CLK_CON_DIV_CLKCMU_CPUCL0_DBG, 0, 3),
10022c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CPUCL0_SWITCH, "mout_cmu_cpucl0_switch",
10032c597bb7SPeter Griffin 	    mout_cmu_cpucl0_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
10042c597bb7SPeter Griffin 	    0, 3),
10052c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CPUCL1_SWITCH, "mout_cmu_cpucl1_switch",
10062c597bb7SPeter Griffin 	    mout_cmu_cpucl1_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
10072c597bb7SPeter Griffin 	    0, 3),
10082c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CPUCL2_SWITCH, "mout_cmu_cpucl2_switch",
10092c597bb7SPeter Griffin 	    mout_cmu_cpucl2_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH,
10102c597bb7SPeter Griffin 	    0, 3),
10112c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CSIS_BUS, "mout_cmu_csis_bus", mout_cmu_csis_bus_p,
10122c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_CSIS_BUS, 0, 3),
10132c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_DISP_BUS, "mout_cmu_disp_bus", mout_cmu_disp_bus_p,
10142c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_DISP_BUS, 0, 3),
10152c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_DNS_BUS, "mout_cmu_dns_bus", mout_cmu_dns_bus_p,
10162c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_DNS_BUS, 0, 3),
10172c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_DPU_BUS, "mout_cmu_dpu_bus", mout_cmu_dpu_p,
10182c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_DPU_BUS, 0, 3),
10192c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_EH_BUS, "mout_cmu_eh_bus", mout_cmu_eh_bus_p,
10202c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_EH_BUS, 0, 3),
10212c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G2D_G2D, "mout_cmu_g2d_g2d", mout_cmu_g2d_g2d_p,
10222c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_G2D_G2D, 0, 3),
10232c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G2D_MSCL, "mout_cmu_g2d_mscl", mout_cmu_g2d_mscl_p,
10242c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL, 0, 3),
10252c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G3AA_G3AA, "mout_cmu_g3aa_g3aa", mout_cmu_g3aa_g3aa_p,
10262c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_G3AA_G3AA, 0, 3),
10272c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G3D_BUSD, "mout_cmu_g3d_busd", mout_cmu_g3d_busd_p,
10282c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_G3D_BUSD, 0, 3),
10292c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G3D_GLB, "mout_cmu_g3d_glb", mout_cmu_g3d_glb_p,
10302c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_G3D_GLB, 0, 3),
10312c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_G3D_SWITCH, "mout_cmu_g3d_switch",
10322c597bb7SPeter Griffin 	    mout_cmu_g3d_switch_p, CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH, 0, 3),
10332c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_GDC_GDC0, "mout_cmu_gdc_gdc0", mout_cmu_gdc_gdc0_p,
10342c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_GDC_GDC0, 0, 3),
10352c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_GDC_GDC1, "mout_cmu_gdc_gdc1", mout_cmu_gdc_gdc1_p,
10362c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_GDC_GDC1, 0, 3),
10372c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_GDC_SCSC, "mout_cmu_gdc_scsc", mout_cmu_gdc_scsc_p,
10382c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_GDC_SCSC, 0, 3),
10392c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HPM, "mout_cmu_hpm", mout_cmu_hpm_p,
10402c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HPM, 0, 2),
10412c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI0_BUS, "mout_cmu_hsi0_bus", mout_cmu_hsi0_bus_p,
10422c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HSI0_BUS, 0, 3),
10432c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI0_DPGTC, "mout_cmu_hsi0_dpgtc",
10442c597bb7SPeter Griffin 	    mout_cmu_hsi0_dpgtc_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC, 0, 2),
10452c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI0_USB31DRD, "mout_cmu_hsi0_usb31drd",
10462c597bb7SPeter Griffin 	    mout_cmu_hsi0_usb31drd_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_USB31DRD,
10472c597bb7SPeter Griffin 	    0, 1),
10482c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI0_USBDPDBG, "mout_cmu_hsi0_usbdpdbg",
10492c597bb7SPeter Griffin 	    mout_cmu_hsi0_usbdpdbg_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_USBDPDBG,
10502c597bb7SPeter Griffin 	    0, 1),
10512c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI1_BUS, "mout_cmu_hsi1_bus", mout_cmu_hsi1_bus_p,
10522c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HSI1_BUS, 0, 3),
10532c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI1_PCIE, "mout_cmu_hsi1_pcie", mout_cmu_hsi1_pcie_p,
10542c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE, 0, 1),
10552c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI2_BUS, "mout_cmu_hsi2_bus", mout_cmu_hsi2_bus_p,
10562c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HSI2_BUS, 0, 3),
10572c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI2_MMC_CARD, "mout_cmu_hsi2_mmc_card",
10582c597bb7SPeter Griffin 	    mout_cmu_hsi2_mmc_card_p, CLK_CON_MUX_MUX_CLKCMU_HSI2_MMC_CARD,
10592c597bb7SPeter Griffin 	    0, 2),
10602c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI2_PCIE, "mout_cmu_hsi2_pcie", mout_cmu_hsi2_pcie0_p,
10612c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_HSI2_PCIE, 0, 1),
10622c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_HSI2_UFS_EMBD, "mout_cmu_hsi2_ufs_embd",
10632c597bb7SPeter Griffin 	    mout_cmu_hsi2_ufs_embd_p, CLK_CON_MUX_MUX_CLKCMU_HSI2_UFS_EMBD,
10642c597bb7SPeter Griffin 	    0, 2),
10652c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_IPP_BUS, "mout_cmu_ipp_bus", mout_cmu_ipp_bus_p,
10662c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_IPP_BUS, 0, 3),
10672c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_ITP_BUS, "mout_cmu_itp_bus", mout_cmu_itp_bus_p,
10682c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_ITP_BUS, 0, 3),
10692c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MCSC_ITSC, "mout_cmu_mcsc_itsc", mout_cmu_mcsc_itsc_p,
10702c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MCSC_ITSC, 0, 3),
10712c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MCSC_MCSC, "mout_cmu_mcsc_mcsc", mout_cmu_mcsc_mcsc_p,
10722c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC, 0, 3),
10732c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MFC_MFC, "mout_cmu_mfc_mfc", mout_cmu_mfc_mfc_p,
10742c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MFC_MFC, 0, 3),
10752c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MIF_BUSP, "mout_cmu_mif_busp", mout_cmu_mif_busp_p,
10762c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP, 0, 2),
10772c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MIF_SWITCH, "mout_cmu_mif_switch",
10782c597bb7SPeter Griffin 	    mout_cmu_mif_switch_p, CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH, 0, 3),
10792c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MISC_BUS, "mout_cmu_misc_bus", mout_cmu_misc_bus_p,
10802c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MISC_BUS, 0, 2),
10812c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_MISC_SSS, "mout_cmu_misc_sss", mout_cmu_misc_sss_p,
10822c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_MISC_SSS, 0, 2),
10832c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PDP_BUS, "mout_cmu_pdp_bus", mout_cmu_pdp_bus_p,
10842c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_PDP_BUS, 0, 3),
10852c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PDP_VRA, "mout_cmu_pdp_vra", mout_cmu_pdp_vra_p,
10862c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_PDP_VRA, 0, 3),
10872c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PERIC0_BUS, "mout_cmu_peric0_bus",
10882c597bb7SPeter Griffin 	    mout_cmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS, 0, 2),
10892c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PERIC0_IP, "mout_cmu_peric0_ip", mout_cmu_peric0_ip_p,
10902c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP, 0, 2),
10912c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PERIC1_BUS, "mout_cmu_peric1_bus",
10922c597bb7SPeter Griffin 	    mout_cmu_peric1_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS, 0, 2),
10932c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_PERIC1_IP, "mout_cmu_peric1_ip", mout_cmu_peric1_ip_p,
10942c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP, 0, 2),
10952c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TNR_BUS, "mout_cmu_tnr_bus", mout_cmu_tnr_bus_p,
10962c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_TNR_BUS, 0, 3),
10972c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TOP_BOOST_OPTION1, "mout_cmu_top_boost_option1",
10982c597bb7SPeter Griffin 	    mout_cmu_top_boost_option1_p,
10992c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_TOP_BOOST_OPTION1, 0, 1),
11002c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TOP_CMUREF, "mout_cmu_top_cmuref",
11012c597bb7SPeter Griffin 	    mout_cmu_top_cmuref_p, CLK_CON_MUX_MUX_CLKCMU_TOP_CMUREF, 0, 2),
11022c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TPU_BUS, "mout_cmu_tpu_bus", mout_cmu_tpu_bus_p,
11032c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_TPU_BUS, 0, 3),
11042c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TPU_TPU, "mout_cmu_tpu_tpu", mout_cmu_tpu_tpu_p,
11052c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_TPU_TPU, 0, 3),
11062c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TPU_TPUCTL, "mout_cmu_tpu_tpuctl",
11072c597bb7SPeter Griffin 	    mout_cmu_tpu_tpuctl_p, CLK_CON_MUX_MUX_CLKCMU_TPU_TPUCTL, 0, 3),
11082c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_TPU_UART, "mout_cmu_tpu_uart", mout_cmu_tpu_uart_p,
11092c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_TPU_UART, 0, 2),
11102c597bb7SPeter Griffin 	MUX(CLK_MOUT_CMU_CMUREF, "mout_cmu_cmuref", mout_cmu_cmuref_p,
11112c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CMU_CMUREF, 0, 1),
11122c597bb7SPeter Griffin };
11132c597bb7SPeter Griffin 
11142c597bb7SPeter Griffin static const struct samsung_div_clock cmu_top_div_clks[] __initconst = {
11152c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_BO_BUS, "dout_cmu_bo_bus", "gout_cmu_bo_bus",
11162c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_BO_BUS, 0, 4),
11172c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_BUS0_BUS, "dout_cmu_bus0_bus", "gout_cmu_bus0_bus",
11182c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_BUS0_BUS, 0, 4),
11192c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_BUS1_BUS, "dout_cmu_bus1_bus", "gout_cmu_bus1_bus",
11202c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_BUS1_BUS, 0, 4),
11212c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_BUS2_BUS, "dout_cmu_bus2_bus", "gout_cmu_bus2_bus",
11222c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_BUS2_BUS, 0, 4),
11232c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK0, "dout_cmu_cis_clk0", "gout_cmu_cis_clk0",
11242c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK0, 0, 5),
11252c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK1, "dout_cmu_cis_clk1", "gout_cmu_cis_clk1",
11262c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK1, 0, 5),
11272c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK2, "dout_cmu_cis_clk2", "gout_cmu_cis_clk2",
11282c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK2, 0, 5),
11292c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK3, "dout_cmu_cis_clk3", "gout_cmu_cis_clk3",
11302c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK3, 0, 5),
11312c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK4, "dout_cmu_cis_clk4", "gout_cmu_cis_clk4",
11322c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK4, 0, 5),
11332c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK5, "dout_cmu_cis_clk5", "gout_cmu_cis_clk5",
11342c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK5, 0, 5),
11352c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK6, "dout_cmu_cis_clk6", "gout_cmu_cis_clk6",
11362c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK6, 0, 5),
11372c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CIS_CLK7, "dout_cmu_cis_clk7", "gout_cmu_cis_clk7",
11382c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CIS_CLK7, 0, 5),
11392c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CORE_BUS, "dout_cmu_core_bus", "gout_cmu_core_bus",
11402c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CORE_BUS, 0, 4),
11412c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CPUCL0_DBG, "dout_cmu_cpucl0_dbg",
11422c597bb7SPeter Griffin 	    "gout_cmu_cpucl0_dbg", CLK_CON_DIV_CLKCMU_CPUCL0_DBG, 0, 4),
11432c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CPUCL0_SWITCH, "dout_cmu_cpucl0_switch",
11442c597bb7SPeter Griffin 	    "gout_cmu_cpucl0_switch", CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH, 0, 3),
11452c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CPUCL1_SWITCH, "dout_cmu_cpucl1_switch",
11462c597bb7SPeter Griffin 	    "gout_cmu_cpucl1_switch", CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH, 0, 3),
11472c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CPUCL2_SWITCH, "dout_cmu_cpucl2_switch",
11482c597bb7SPeter Griffin 	    "gout_cmu_cpucl2_switch", CLK_CON_DIV_CLKCMU_CPUCL2_SWITCH, 0, 3),
11492c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CSIS_BUS, "dout_cmu_csis_bus", "gout_cmu_csis_bus",
11502c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_CSIS_BUS, 0, 4),
11512c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_DISP_BUS, "dout_cmu_disp_bus", "gout_cmu_disp_bus",
11522c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_DISP_BUS, 0, 4),
11532c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_DNS_BUS, "dout_cmu_dns_bus", "gout_cmu_dns_bus",
11542c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_DNS_BUS, 0, 4),
11552c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_DPU_BUS, "dout_cmu_dpu_bus", "gout_cmu_dpu_bus",
11562c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_DPU_BUS, 0, 4),
11572c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_EH_BUS, "dout_cmu_eh_bus", "gout_cmu_eh_bus",
11582c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_EH_BUS, 0, 4),
11592c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G2D_G2D, "dout_cmu_g2d_g2d", "gout_cmu_g2d_g2d",
11602c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_G2D_G2D, 0, 4),
11612c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G2D_MSCL, "dout_cmu_g2d_mscl", "gout_cmu_g2d_mscl",
11622c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_G2D_MSCL, 0, 4),
11632c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G3AA_G3AA, "dout_cmu_g3aa_g3aa", "gout_cmu_g3aa_g3aa",
11642c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_G3AA_G3AA, 0, 4),
11652c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G3D_SWITCH, "dout_cmu_g3d_busd", "gout_cmu_g3d_busd",
11662c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_G3D_BUSD, 0, 4),
11672c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G3D_GLB, "dout_cmu_g3d_glb", "gout_cmu_g3d_glb",
11682c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_G3D_GLB, 0, 4),
11692c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_G3D_SWITCH, "dout_cmu_g3d_switch",
11702c597bb7SPeter Griffin 	    "gout_cmu_g3d_switch", CLK_CON_DIV_CLKCMU_G3D_SWITCH, 0, 3),
11712c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_GDC_GDC0, "dout_cmu_gdc_gdc0", "gout_cmu_gdc_gdc0",
11722c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_GDC_GDC0, 0, 4),
11732c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_GDC_GDC1, "dout_cmu_gdc_gdc1", "gout_cmu_gdc_gdc1",
11742c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_GDC_GDC1, 0, 4),
11752c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_GDC_SCSC, "dout_cmu_gdc_scsc", "gout_cmu_gdc_scsc",
11762c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_GDC_SCSC, 0, 4),
11772c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CMU_HPM, "dout_cmu_hpm", "gout_cmu_hpm",
11782c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HPM, 0, 2),
11792c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI0_BUS, "dout_cmu_hsi0_bus", "gout_cmu_hsi0_bus",
11802c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HSI0_BUS, 0, 4),
11812c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI0_DPGTC, "dout_cmu_hsi0_dpgtc",
11822c597bb7SPeter Griffin 	    "gout_cmu_hsi0_dpgtc", CLK_CON_DIV_CLKCMU_HSI0_DPGTC, 0, 4),
11832c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI0_USB31DRD, "dout_cmu_hsi0_usb31drd",
11842c597bb7SPeter Griffin 	    "gout_cmu_hsi0_usb31drd", CLK_CON_DIV_CLKCMU_HSI0_USB31DRD, 0, 5),
11852c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI1_BUS, "dout_cmu_hsi1_bus", "gout_cmu_hsi1_bus",
11862c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HSI1_BUS, 0, 4),
11872c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI1_PCIE, "dout_cmu_hsi1_pcie", "gout_cmu_hsi1_pcie",
11882c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HSI1_PCIE, 0, 3),
11892c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI2_BUS, "dout_cmu_hsi2_bus", "gout_cmu_hsi2_bus",
11902c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HSI2_BUS, 0, 4),
11912c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI2_MMC_CARD, "dout_cmu_hsi2_mmc_card",
11922c597bb7SPeter Griffin 	    "gout_cmu_hsi2_mmc_card", CLK_CON_DIV_CLKCMU_HSI2_MMC_CARD, 0, 9),
11932c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI2_PCIE, "dout_cmu_hsi2_pcie", "gout_cmu_hsi2_pcie",
11942c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_HSI2_PCIE, 0, 3),
11952c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_HSI2_UFS_EMBD, "dout_cmu_hsi2_ufs_embd",
11962c597bb7SPeter Griffin 	    "gout_cmu_hsi2_ufs_embd", CLK_CON_DIV_CLKCMU_HSI2_UFS_EMBD, 0, 4),
11972c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_IPP_BUS, "dout_cmu_ipp_bus", "gout_cmu_ipp_bus",
11982c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_IPP_BUS, 0, 4),
11992c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_ITP_BUS, "dout_cmu_itp_bus", "gout_cmu_itp_bus",
12002c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_ITP_BUS, 0, 4),
12012c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MCSC_ITSC, "dout_cmu_mcsc_itsc", "gout_cmu_mcsc_itsc",
12022c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MCSC_ITSC, 0, 4),
12032c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MCSC_MCSC, "dout_cmu_mcsc_mcsc", "gout_cmu_mcsc_mcsc",
12042c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MCSC_MCSC, 0, 4),
12052c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MFC_MFC, "dout_cmu_mfc_mfc", "gout_cmu_mfc_mfc",
12062c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MFC_MFC, 0, 4),
12072c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MIF_BUSP, "dout_cmu_mif_busp", "gout_cmu_mif_busp",
12082c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MIF_BUSP, 0, 4),
12092c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MISC_BUS, "dout_cmu_misc_bus", "gout_cmu_misc_bus",
12102c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MISC_BUS, 0, 4),
12112c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_MISC_SSS, "dout_cmu_misc_sss", "gout_cmu_misc_sss",
12122c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_MISC_SSS, 0, 4),
12132c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PDP_BUS, "dout_cmu_pdp_bus", "gout_cmu_pdp_bus",
12142c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_PDP_BUS, 0, 4),
12152c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PDP_VRA, "dout_cmu_pdp_vra", "gout_cmu_pdp_vra",
12162c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_PDP_VRA, 0, 4),
12172c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PERIC0_BUS, "dout_cmu_peric0_bus",
12182c597bb7SPeter Griffin 	    "gout_cmu_peric0_bus", CLK_CON_DIV_CLKCMU_PERIC0_BUS, 0, 4),
12192c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PERIC0_IP, "dout_cmu_peric0_ip", "gout_cmu_peric0_ip",
12202c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_PERIC0_IP, 0, 4),
12212c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PERIC1_BUS, "dout_cmu_peric1_bus",
12222c597bb7SPeter Griffin 	    "gout_cmu_peric1_bus", CLK_CON_DIV_CLKCMU_PERIC1_BUS, 0, 4),
12232c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_PERIC1_IP, "dout_cmu_peric1_ip", "gout_cmu_peric1_ip",
12242c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_PERIC1_IP, 0, 4),
12252c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_TNR_BUS, "dout_cmu_tnr_bus", "gout_cmu_tnr_bus",
12262c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_TNR_BUS, 0, 4),
12272c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_TPU_BUS, "dout_cmu_tpu_bus", "gout_cmu_tpu_bus",
12282c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_TPU_BUS, 0, 4),
12292c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_TPU_TPU, "dout_cmu_tpu_tpu", "gout_cmu_tpu_tpu",
12302c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_TPU_TPU, 0, 4),
12312c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_TPU_TPUCTL, "dout_cmu_tpu_tpuctl",
12322c597bb7SPeter Griffin 	    "gout_cmu_tpu_tpuctl", CLK_CON_DIV_CLKCMU_TPU_TPUCTL, 0, 4),
12332c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_TPU_UART, "dout_cmu_tpu_uart", "gout_cmu_tpu_uart",
12342c597bb7SPeter Griffin 	    CLK_CON_DIV_CLKCMU_TPU_UART, 0, 4),
12352c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CMU_BOOST, "dout_cmu_cmu_boost", "gout_cmu_cmu_boost",
12362c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST, 0, 2),
12372c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_CMU_CMUREF, "dout_cmu_cmuref", "gout_cmu_cmuref",
12382c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_CMU_CMUREF, 0, 2),
12392c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED0_DIV2, "dout_cmu_shared0_div2",
12402c597bb7SPeter Griffin 	    "mout_pll_shared0", CLK_CON_DIV_PLL_SHARED0_DIV2, 0, 1),
12412c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED0_DIV3, "dout_cmu_shared0_div3",
12422c597bb7SPeter Griffin 	    "mout_pll_shared0", CLK_CON_DIV_PLL_SHARED0_DIV3, 0, 2),
12432c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED0_DIV4, "dout_cmu_shared0_div4",
12442c597bb7SPeter Griffin 	    "dout_cmu_shared0_div2", CLK_CON_DIV_PLL_SHARED0_DIV4, 0, 1),
12452c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED0_DIV5, "dout_cmu_shared0_div5",
12462c597bb7SPeter Griffin 	    "mout_pll_shared0", CLK_CON_DIV_PLL_SHARED0_DIV5, 0, 3),
12472c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED1_DIV2, "dout_cmu_shared1_div2",
12482c597bb7SPeter Griffin 	    "mout_pll_shared1", CLK_CON_DIV_PLL_SHARED1_DIV2, 0, 1),
12492c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED1_DIV3, "dout_cmu_shared1_div3",
12502c597bb7SPeter Griffin 	    "mout_pll_shared1", CLK_CON_DIV_PLL_SHARED1_DIV3, 0, 2),
12512c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED1_DIV4, "dout_cmu_shared1_div4",
12522c597bb7SPeter Griffin 	    "mout_pll_shared1", CLK_CON_DIV_PLL_SHARED1_DIV4, 0, 1),
12532c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED2_DIV2, "dout_cmu_shared2_div2",
12542c597bb7SPeter Griffin 	    "mout_pll_shared2", CLK_CON_DIV_PLL_SHARED2_DIV2, 0, 1),
12552c597bb7SPeter Griffin 	DIV(CLK_DOUT_CMU_SHARED3_DIV2, "dout_cmu_shared3_div2",
12562c597bb7SPeter Griffin 	    "mout_pll_shared3", CLK_CON_DIV_PLL_SHARED3_DIV2, 0, 1),
12572c597bb7SPeter Griffin };
12582c597bb7SPeter Griffin 
12592c597bb7SPeter Griffin static const struct samsung_fixed_factor_clock cmu_top_ffactor[] __initconst = {
12602c597bb7SPeter Griffin 	FFACTOR(CLK_DOUT_CMU_HSI0_USBDPDBG, "dout_cmu_hsi0_usbdpdbg",
12612c597bb7SPeter Griffin 		"gout_cmu_hsi0_usbdpdbg", 1, 4, 0),
12622c597bb7SPeter Griffin 	FFACTOR(CLK_DOUT_CMU_OTP, "dout_cmu_otp", "oscclk", 1, 8, 0),
12632c597bb7SPeter Griffin };
12642c597bb7SPeter Griffin 
12652c597bb7SPeter Griffin static const struct samsung_gate_clock cmu_top_gate_clks[] __initconst = {
126635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS0_BOOST, "gout_cmu_bus0_boost",
12672c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_BUS0_BOOST, 21, 0, 0),
126835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS1_BOOST, "gout_cmu_bus1_boost",
12692c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_BUS1_BOOST, 21, 0, 0),
127035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS2_BOOST, "gout_cmu_bus2_boost",
12712c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_BUS2_BOOST, 21, 0, 0),
127235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CORE_BOOST, "gout_cmu_core_boost",
12732c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_CORE_BOOST, 21, 0, 0),
127435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL0_BOOST, "gout_cmu_cpucl0_boost",
12752c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_CPUCL0_BOOST,
12762c597bb7SPeter Griffin 	     21, 0, 0),
127735f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL1_BOOST, "gout_cmu_cpucl1_boost",
12782c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_CPUCL1_BOOST,
12792c597bb7SPeter Griffin 	     21, 0, 0),
128035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL2_BOOST, "gout_cmu_cpucl2_boost",
12812c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_CPUCL2_BOOST,
12822c597bb7SPeter Griffin 	     21, 0, 0),
128335f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MIF_BOOST, "gout_cmu_mif_boost",
12842c597bb7SPeter Griffin 	     "mout_cmu_boost_option1", CLK_CON_GAT_CLKCMU_MIF_BOOST,
12852c597bb7SPeter Griffin 	     21, 0, 0),
128635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MIF_SWITCH, "gout_cmu_mif_switch",
128735f32e39STudor Ambarus 	     "mout_cmu_mif_switch", CLK_CON_GAT_CLKCMU_MIF_SWITCH, 21, 0, 0),
128835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BO_BUS, "gout_cmu_bo_bus", "mout_cmu_bo_bus",
12892c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_BO_BUS, 21, 0, 0),
129035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS0_BUS, "gout_cmu_bus0_bus", "mout_cmu_bus0_bus",
12912c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_BUS0_BUS, 21, 0, 0),
129235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS1_BUS, "gout_cmu_bus1_bus", "mout_cmu_bus1_bus",
12932c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_BUS1_BUS, 21, 0, 0),
129435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_BUS2_BUS, "gout_cmu_bus2_bus", "mout_cmu_bus2_bus",
12952c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_BUS2_BUS, 21, 0, 0),
129635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK0, "gout_cmu_cis_clk0", "mout_cmu_cis_clk0",
12972c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK0, 21, 0, 0),
129835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK1, "gout_cmu_cis_clk1", "mout_cmu_cis_clk1",
12992c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK1, 21, 0, 0),
130035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK2, "gout_cmu_cis_clk2", "mout_cmu_cis_clk2",
13012c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK2, 21, 0, 0),
130235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK3, "gout_cmu_cis_clk3", "mout_cmu_cis_clk3",
13032c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK3, 21, 0, 0),
130435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK4, "gout_cmu_cis_clk4", "mout_cmu_cis_clk4",
13052c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK4, 21, 0, 0),
130635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK5, "gout_cmu_cis_clk5", "mout_cmu_cis_clk5",
13072c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK5, 21, 0, 0),
130835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK6, "gout_cmu_cis_clk6", "mout_cmu_cis_clk6",
13092c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK6, 21, 0, 0),
131035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CIS_CLK7, "gout_cmu_cis_clk7", "mout_cmu_cis_clk7",
13112c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CIS_CLK7, 21, 0, 0),
131235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CMU_BOOST, "gout_cmu_cmu_boost", "mout_cmu_cmu_boost",
13132c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST, 21, 0, 0),
131435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CORE_BUS, "gout_cmu_core_bus", "mout_cmu_core_bus",
13152c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CORE_BUS, 21, 0, 0),
131635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL0_DBG, "gout_cmu_cpucl0_dbg",
131735f32e39STudor Ambarus 	     "mout_cmu_cpucl0_dbg", CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_BUS,
131835f32e39STudor Ambarus 	     21, 0, 0),
131935f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL0_SWITCH, "gout_cmu_cpucl0_switch",
13202c597bb7SPeter Griffin 	     "mout_cmu_cpucl0_switch", CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH,
13212c597bb7SPeter Griffin 	     21, 0, 0),
132235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL1_SWITCH, "gout_cmu_cpucl1_switch",
13232c597bb7SPeter Griffin 	     "mout_cmu_cpucl1_switch", CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH,
13242c597bb7SPeter Griffin 	     21, 0, 0),
132535f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CPUCL2_SWITCH, "gout_cmu_cpucl2_switch",
13262c597bb7SPeter Griffin 	     "mout_cmu_cpucl2_switch", CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH,
13272c597bb7SPeter Griffin 	     21, 0, 0),
132835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_CSIS_BUS, "gout_cmu_csis_bus", "mout_cmu_csis_bus",
13292c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_CSIS_BUS, 21, 0, 0),
133035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_DISP_BUS, "gout_cmu_disp_bus", "mout_cmu_disp_bus",
13312c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_DISP_BUS, 21, 0, 0),
133235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_DNS_BUS, "gout_cmu_dns_bus", "mout_cmu_dns_bus",
13332c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_DNS_BUS, 21, 0, 0),
133435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_DPU_BUS, "gout_cmu_dpu_bus", "mout_cmu_dpu_bus",
13352c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_DPU_BUS, 21, 0, 0),
133635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_EH_BUS, "gout_cmu_eh_bus", "mout_cmu_eh_bus",
13372c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_EH_BUS, 21, 0, 0),
133835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G2D_G2D, "gout_cmu_g2d_g2d", "mout_cmu_g2d_g2d",
13392c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_G2D_G2D, 21, 0, 0),
134035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G2D_MSCL, "gout_cmu_g2d_mscl", "mout_cmu_g2d_mscl",
13412c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL, 21, 0, 0),
134235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G3AA_G3AA, "gout_cmu_g3aa_g3aa", "mout_cmu_g3aa_g3aa",
13432c597bb7SPeter Griffin 	     CLK_CON_MUX_MUX_CLKCMU_G3AA_G3AA, 21, 0, 0),
134435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G3D_BUSD, "gout_cmu_g3d_busd", "mout_cmu_g3d_busd",
13452c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_G3D_BUSD, 21, 0, 0),
134635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G3D_GLB, "gout_cmu_g3d_glb", "mout_cmu_g3d_glb",
13472c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_G3D_GLB, 21, 0, 0),
134835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_G3D_SWITCH, "gout_cmu_g3d_switch",
134935f32e39STudor Ambarus 	     "mout_cmu_g3d_switch", CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH,
135035f32e39STudor Ambarus 	     21, 0, 0),
135135f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_GDC_GDC0, "gout_cmu_gdc_gdc0", "mout_cmu_gdc_gdc0",
13522c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_GDC_GDC0, 21, 0, 0),
135335f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_GDC_GDC1, "gout_cmu_gdc_gdc1", "mout_cmu_gdc_gdc1",
13542c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_GDC_GDC1, 21, 0, 0),
135535f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_GDC_SCSC, "gout_cmu_gdc_scsc", "mout_cmu_gdc_scsc",
13562c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_GDC_SCSC, 21, 0, 0),
13572c597bb7SPeter Griffin 	GATE(CLK_GOUT_CMU_HPM, "gout_cmu_hpm", "mout_cmu_hpm",
13582c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HPM, 21, 0, 0),
135935f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI0_BUS, "gout_cmu_hsi0_bus", "mout_cmu_hsi0_bus",
13602c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HSI0_BUS, 21, 0, 0),
136135f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI0_DPGTC, "gout_cmu_hsi0_dpgtc",
136235f32e39STudor Ambarus 	     "mout_cmu_hsi0_dpgtc", CLK_CON_GAT_GATE_CLKCMU_HSI0_DPGTC,
136335f32e39STudor Ambarus 	     21, 0, 0),
136435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI0_USB31DRD, "gout_cmu_hsi0_usb31drd",
13652c597bb7SPeter Griffin 	     "mout_cmu_hsi0_usb31drd", CLK_CON_GAT_GATE_CLKCMU_HSI0_USB31DRD,
13662c597bb7SPeter Griffin 	     21, 0, 0),
136735f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI0_USBDPDBG, "gout_cmu_hsi0_usbdpdbg",
13682c597bb7SPeter Griffin 	     "mout_cmu_hsi0_usbdpdbg", CLK_CON_GAT_GATE_CLKCMU_HSI0_USBDPDBG,
13692c597bb7SPeter Griffin 	     21, 0, 0),
137035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI1_BUS, "gout_cmu_hsi1_bus", "mout_cmu_hsi1_bus",
13712c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HSI1_BUS, 21, 0, 0),
137235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI1_PCIE, "gout_cmu_hsi1_pcie", "mout_cmu_hsi1_pcie",
13732c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HSI1_PCIE, 21, 0, 0),
137435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI2_BUS, "gout_cmu_hsi2_bus", "mout_cmu_hsi2_bus",
13752c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HSI2_BUS, 21, 0, 0),
137635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI2_MMC_CARD, "gout_cmu_hsi2_mmc_card",
13772c597bb7SPeter Griffin 	     "mout_cmu_hsi2_mmc_card", CLK_CON_GAT_GATE_CLKCMU_HSI2_MMCCARD,
13782c597bb7SPeter Griffin 	     21, 0, 0),
137935f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI2_PCIE, "gout_cmu_hsi2_pcie", "mout_cmu_hsi2_pcie",
13802c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_HSI2_PCIE, 21, 0, 0),
138135f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_HSI2_UFS_EMBD, "gout_cmu_hsi2_ufs_embd",
13822c597bb7SPeter Griffin 	     "mout_cmu_hsi2_ufs_embd", CLK_CON_GAT_GATE_CLKCMU_HSI2_UFS_EMBD,
13832c597bb7SPeter Griffin 	     21, 0, 0),
138435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_IPP_BUS, "gout_cmu_ipp_bus", "mout_cmu_ipp_bus",
13852c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_IPP_BUS, 21, 0, 0),
138635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_ITP_BUS, "gout_cmu_itp_bus", "mout_cmu_itp_bus",
13872c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_ITP_BUS, 21, 0, 0),
138835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MCSC_ITSC, "gout_cmu_mcsc_itsc", "mout_cmu_mcsc_itsc",
13892c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MCSC_ITSC, 21, 0, 0),
139035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MCSC_MCSC, "gout_cmu_mcsc_mcsc", "mout_cmu_mcsc_mcsc",
13912c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC, 21, 0, 0),
139235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MFC_MFC, "gout_cmu_mfc_mfc", "mout_cmu_mfc_mfc",
13932c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MFC_MFC, 21, 0, 0),
139435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MIF_BUSP, "gout_cmu_mif_busp", "mout_cmu_mif_busp",
13952c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP, 21, 0, 0),
139635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MISC_BUS, "gout_cmu_misc_bus", "mout_cmu_misc_bus",
13972c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MISC_BUS, 21, 0, 0),
139835f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_MISC_SSS, "gout_cmu_misc_sss", "mout_cmu_misc_sss",
13992c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_MISC_SSS, 21, 0, 0),
140035f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PDP_BUS, "gout_cmu_pdp_bus", "mout_cmu_pdp_bus",
14012c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_PDP_BUS, 21, 0, 0),
140235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PDP_VRA, "gout_cmu_pdp_vra", "mout_cmu_pdp_vra",
14032c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_PDP_BUS, 21, 0, 0),
140435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PERIC0_BUS, "gout_cmu_peric0_bus",
140535f32e39STudor Ambarus 	     "mout_cmu_peric0_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS,
140635f32e39STudor Ambarus 	     21, 0, 0),
140735f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PERIC0_IP, "gout_cmu_peric0_ip", "mout_cmu_peric0_ip",
14082c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP, 21, 0, 0),
140935f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PERIC1_BUS, "gout_cmu_peric1_bus",
141035f32e39STudor Ambarus 	     "mout_cmu_peric1_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS,
141135f32e39STudor Ambarus 	     21, 0, 0),
141235f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_PERIC1_IP, "gout_cmu_peric1_ip", "mout_cmu_peric1_ip",
14132c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP, 21, 0, 0),
141435f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TNR_BUS, "gout_cmu_tnr_bus", "mout_cmu_tnr_bus",
14152c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_TNR_BUS, 21, 0, 0),
141635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TOP_CMUREF, "gout_cmu_top_cmuref",
141735f32e39STudor Ambarus 	     "mout_cmu_top_cmuref", CLK_CON_GAT_GATE_CLKCMU_TOP_CMUREF,
141835f32e39STudor Ambarus 	     21, 0, 0),
141935f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TPU_BUS, "gout_cmu_tpu_bus", "mout_cmu_tpu_bus",
14202c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_TPU_BUS, 21, 0, 0),
142135f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TPU_TPU, "gout_cmu_tpu_tpu", "mout_cmu_tpu_tpu",
14222c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_TPU_TPU, 21, 0, 0),
142335f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TPU_TPUCTL, "gout_cmu_tpu_tpuctl",
142435f32e39STudor Ambarus 	     "mout_cmu_tpu_tpuctl", CLK_CON_GAT_GATE_CLKCMU_TPU_TPUCTL,
142535f32e39STudor Ambarus 	     21, 0, 0),
142635f32e39STudor Ambarus 	GATE(CLK_GOUT_CMU_TPU_UART, "gout_cmu_tpu_uart", "mout_cmu_tpu_uart",
14272c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_TPU_UART, 21, 0, 0),
14282c597bb7SPeter Griffin };
14292c597bb7SPeter Griffin 
14302c597bb7SPeter Griffin static const struct samsung_cmu_info top_cmu_info __initconst = {
14312c597bb7SPeter Griffin 	.pll_clks		= cmu_top_pll_clks,
14322c597bb7SPeter Griffin 	.nr_pll_clks		= ARRAY_SIZE(cmu_top_pll_clks),
14332c597bb7SPeter Griffin 	.mux_clks		= cmu_top_mux_clks,
14342c597bb7SPeter Griffin 	.nr_mux_clks		= ARRAY_SIZE(cmu_top_mux_clks),
14352c597bb7SPeter Griffin 	.div_clks		= cmu_top_div_clks,
14362c597bb7SPeter Griffin 	.nr_div_clks		= ARRAY_SIZE(cmu_top_div_clks),
14372c597bb7SPeter Griffin 	.fixed_factor_clks	= cmu_top_ffactor,
14382c597bb7SPeter Griffin 	.nr_fixed_factor_clks	= ARRAY_SIZE(cmu_top_ffactor),
14392c597bb7SPeter Griffin 	.gate_clks		= cmu_top_gate_clks,
14402c597bb7SPeter Griffin 	.nr_gate_clks		= ARRAY_SIZE(cmu_top_gate_clks),
14412c597bb7SPeter Griffin 	.nr_clk_ids		= CLKS_NR_TOP,
14422c597bb7SPeter Griffin 	.clk_regs		= cmu_top_clk_regs,
14432c597bb7SPeter Griffin 	.nr_clk_regs		= ARRAY_SIZE(cmu_top_clk_regs),
14442c597bb7SPeter Griffin };
14452c597bb7SPeter Griffin 
gs101_cmu_top_init(struct device_node * np)14462c597bb7SPeter Griffin static void __init gs101_cmu_top_init(struct device_node *np)
14472c597bb7SPeter Griffin {
14482c597bb7SPeter Griffin 	exynos_arm64_register_cmu(NULL, np, &top_cmu_info);
14492c597bb7SPeter Griffin }
14502c597bb7SPeter Griffin 
14512c597bb7SPeter Griffin /* Register CMU_TOP early, as it's a dependency for other early domains */
14522c597bb7SPeter Griffin CLK_OF_DECLARE(gs101_cmu_top, "google,gs101-cmu-top",
14532c597bb7SPeter Griffin 	       gs101_cmu_top_init);
14542c597bb7SPeter Griffin 
14552c597bb7SPeter Griffin /* ---- CMU_APM ------------------------------------------------------------- */
14562c597bb7SPeter Griffin 
14572c597bb7SPeter Griffin /* Register Offset definitions for CMU_APM (0x17400000) */
14582c597bb7SPeter Griffin #define APM_CMU_APM_CONTROLLER_OPTION							0x0800
14592c597bb7SPeter Griffin #define CLKOUT_CON_BLK_APM_CMU_APM_CLKOUT0						0x0810
14602c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_APM_FUNC							0x1000
14612c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLKCMU_APM_FUNCSRC						0x1004
14622c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_APM_BOOST							0x1800
14632c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_APM_USI0_UART						0x1804
14642c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_APM_USI0_USI						0x1808
14652c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_APM_USI1_UART						0x180c
14662c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_APM_UID_APM_CMU_APM_IPCLKPORT_PCLK				0x2000
14672c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BUS0_BOOST_OPTION1						0x2004
14682c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_CMU_BOOST_OPTION1						0x2008
14692c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_CORE_BOOST_OPTION1						0x200c
14702c597bb7SPeter Griffin #define CLK_CON_GAT_GATE_CLKCMU_APM_FUNC						0x2010
14712c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_ALIVE_IPCLKPORT_PCLK			0x2014
14722c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_FAR_ALIVE_IPCLKPORT_PCLK		0x2018
14732c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_PMU_ALIVE_IPCLKPORT_PCLK			0x201c
14742c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_RTC_IPCLKPORT_PCLK				0x2020
14752c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_TRTC_IPCLKPORT_PCLK				0x2024
14762c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_IPCLK			0x2028
14772c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_PCLK			0x202c
14782c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_IPCLK			0x2030
14792c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_PCLK			0x2034
14802c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_IPCLK			0x2038
14812c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_PCLK			0x203c
14822c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_D_TZPC_APM_IPCLKPORT_PCLK				0x2040
14832c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_GPC_APM_IPCLKPORT_PCLK				0x2044
14842c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_GREBEINTEGRATION_IPCLKPORT_HCLK			0x2048
14852c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_ACLK				0x204c
14862c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_PCLK				0x2050
14872c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_G_SWD_IPCLKPORT_I_CLK			0x2054
14882c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_P_AOCAPM_IPCLKPORT_I_CLK			0x2058
14892c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_P_APM_IPCLKPORT_I_CLK			0x205c
14902c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_D_APM_IPCLKPORT_I_CLK			0x2060
14912c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_DBGCORE_IPCLKPORT_I_CLK			0x2064
14922c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_SCAN2DRAM_IPCLKPORT_I_CLK		0x2068
14932c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AOC_IPCLKPORT_PCLK			0x206c
14942c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AP_IPCLKPORT_PCLK			0x2070
14952c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_GSA_IPCLKPORT_PCLK			0x2074
14962c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_SWD_IPCLKPORT_PCLK			0x207c
14972c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_TPU_IPCLKPORT_PCLK			0x2080
14982c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_AOC_IPCLKPORT_PCLK			0x2084
14992c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_DBGCORE_IPCLKPORT_PCLK			0x2088
15002c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_PMU_INTR_GEN_IPCLKPORT_PCLK			0x208c
15012c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_ACLK			0x2090
15022c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_PCLK			0x2094
15032c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_BUS_IPCLKPORT_CLK			0x2098
15042c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_UART_IPCLKPORT_CLK		0x209c
15052c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_USI_IPCLKPORT_CLK		0x20a0
15062c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI1_UART_IPCLKPORT_CLK		0x20a4
15072c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_APM_IPCLKPORT_PCLK				0x20a8
15082c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_SUB_APM_IPCLKPORT_PCLK			0x20ac
15092c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_ACLK				0x20b0
15102c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_PCLK				0x20b4
15112c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_ACLK			0x20b8
15122c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_PCLK			0x20bc
15132c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SS_DBGCORE_IPCLKPORT_SS_DBGCORE_IPCLKPORT_HCLK	0x20c0
15142c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SYSMMU_D_APM_IPCLKPORT_CLK_S2			0x20c4
15152c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_SYSREG_APM_IPCLKPORT_PCLK				0x20cc
15162c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_ACLK				0x20d0
15172c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_PCLK				0x20d4
15182c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_ACLK			0x20d8
15192c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_PCLK			0x20dc
15202c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_ACLK				0x20e0
15212c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_PCLK				0x20e4
15222c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_AOCAPM_IPCLKPORT_ACLK			0x20e8
15232c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_AOCAPM_IPCLKPORT_PCLK			0x20ec
15242c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_ACLK				0x20f0
15252c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_PCLK				0x20f4
15262c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_WDT_APM_IPCLKPORT_PCLK				0x20f8
15272c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_APM_UID_XIU_DP_APM_IPCLKPORT_ACLK				0x20fc
15282c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_G_SWD_PCH							0x3000
15292c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_P_AOCAPM_PCH							0x3004
15302c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_P_APM_PCH							0x3008
15312c597bb7SPeter Griffin #define PCH_CON_LHS_AXI_D_APM_PCH							0x300c
15322c597bb7SPeter Griffin #define PCH_CON_LHS_AXI_G_DBGCORE_PCH							0x3010
15332c597bb7SPeter Griffin #define PCH_CON_LHS_AXI_G_SCAN2DRAM_PCH							0x3014
15342c597bb7SPeter Griffin #define QCH_CON_APBIF_GPIO_ALIVE_QCH							0x3018
15352c597bb7SPeter Griffin #define QCH_CON_APBIF_GPIO_FAR_ALIVE_QCH						0x301c
15362c597bb7SPeter Griffin #define QCH_CON_APBIF_PMU_ALIVE_QCH							0x3020
15372c597bb7SPeter Griffin #define QCH_CON_APBIF_RTC_QCH								0x3024
15382c597bb7SPeter Griffin #define QCH_CON_APBIF_TRTC_QCH								0x3028
15392c597bb7SPeter Griffin #define QCH_CON_APM_CMU_APM_QCH								0x302c
15402c597bb7SPeter Griffin #define QCH_CON_APM_USI0_UART_QCH							0x3030
15412c597bb7SPeter Griffin #define QCH_CON_APM_USI0_USI_QCH							0x3034
15422c597bb7SPeter Griffin #define QCH_CON_APM_USI1_UART_QCH							0x3038
15432c597bb7SPeter Griffin #define QCH_CON_D_TZPC_APM_QCH								0x303c
15442c597bb7SPeter Griffin #define QCH_CON_GPC_APM_QCH								0x3040
15452c597bb7SPeter Griffin #define QCH_CON_GREBEINTEGRATION_QCH_DBG						0x3044
15462c597bb7SPeter Griffin #define QCH_CON_GREBEINTEGRATION_QCH_GREBE						0x3048
15472c597bb7SPeter Griffin #define QCH_CON_INTMEM_QCH								0x304c
15482c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_G_SWD_QCH							0x3050
15492c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_P_AOCAPM_QCH							0x3054
15502c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_P_APM_QCH							0x3058
15512c597bb7SPeter Griffin #define QCH_CON_LHS_AXI_D_APM_QCH							0x305c
15522c597bb7SPeter Griffin #define QCH_CON_LHS_AXI_G_DBGCORE_QCH							0x3060
15532c597bb7SPeter Griffin #define QCH_CON_LHS_AXI_G_SCAN2DRAM_QCH							0x3064
15542c597bb7SPeter Griffin #define QCH_CON_MAILBOX_APM_AOC_QCH							0x3068
15552c597bb7SPeter Griffin #define QCH_CON_MAILBOX_APM_AP_QCH							0x306c
15562c597bb7SPeter Griffin #define QCH_CON_MAILBOX_APM_GSA_QCH							0x3070
15572c597bb7SPeter Griffin #define QCH_CON_MAILBOX_APM_SWD_QCH							0x3078
15582c597bb7SPeter Griffin #define QCH_CON_MAILBOX_APM_TPU_QCH							0x307c
15592c597bb7SPeter Griffin #define QCH_CON_MAILBOX_AP_AOC_QCH							0x3080
15602c597bb7SPeter Griffin #define QCH_CON_MAILBOX_AP_DBGCORE_QCH							0x3084
15612c597bb7SPeter Griffin #define QCH_CON_PMU_INTR_GEN_QCH							0x3088
15622c597bb7SPeter Griffin #define QCH_CON_ROM_CRC32_HOST_QCH							0x308c
15632c597bb7SPeter Griffin #define QCH_CON_RSTNSYNC_CLK_APM_BUS_QCH_GREBE						0x3090
15642c597bb7SPeter Griffin #define QCH_CON_RSTNSYNC_CLK_APM_BUS_QCH_GREBE_DBG					0x3094
15652c597bb7SPeter Griffin #define QCH_CON_SPEEDY_APM_QCH								0x3098
15662c597bb7SPeter Griffin #define QCH_CON_SPEEDY_SUB_APM_QCH							0x309c
15672c597bb7SPeter Griffin #define QCH_CON_SSMT_D_APM_QCH								0x30a0
15682c597bb7SPeter Griffin #define QCH_CON_SSMT_G_DBGCORE_QCH							0x30a4
15692c597bb7SPeter Griffin #define QCH_CON_SS_DBGCORE_QCH_DBG							0x30a8
15702c597bb7SPeter Griffin #define QCH_CON_SS_DBGCORE_QCH_GREBE							0x30ac
15712c597bb7SPeter Griffin #define QCH_CON_SYSMMU_D_APM_QCH							0x30b0
15722c597bb7SPeter Griffin #define QCH_CON_SYSREG_APM_QCH								0x30b8
15732c597bb7SPeter Griffin #define QCH_CON_UASC_APM_QCH								0x30bc
15742c597bb7SPeter Griffin #define QCH_CON_UASC_DBGCORE_QCH							0x30c0
15752c597bb7SPeter Griffin #define QCH_CON_UASC_G_SWD_QCH								0x30c4
15762c597bb7SPeter Griffin #define QCH_CON_UASC_P_AOCAPM_QCH							0x30c8
15772c597bb7SPeter Griffin #define QCH_CON_UASC_P_APM_QCH								0x30cc
15782c597bb7SPeter Griffin #define QCH_CON_WDT_APM_QCH								0x30d0
15792c597bb7SPeter Griffin #define QUEUE_CTRL_REG_BLK_APM_CMU_APM							0x3c00
15802c597bb7SPeter Griffin 
15812c597bb7SPeter Griffin static const unsigned long apm_clk_regs[] __initconst = {
15822c597bb7SPeter Griffin 	APM_CMU_APM_CONTROLLER_OPTION,
15832c597bb7SPeter Griffin 	CLKOUT_CON_BLK_APM_CMU_APM_CLKOUT0,
15842c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_APM_FUNC,
15852c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLKCMU_APM_FUNCSRC,
15862c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_APM_BOOST,
15872c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_APM_USI0_UART,
15882c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_APM_USI0_USI,
15892c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_APM_USI1_UART,
15902c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_APM_UID_APM_CMU_APM_IPCLKPORT_PCLK,
15912c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BUS0_BOOST_OPTION1,
15922c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_CMU_BOOST_OPTION1,
15932c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_CORE_BOOST_OPTION1,
15942c597bb7SPeter Griffin 	CLK_CON_GAT_GATE_CLKCMU_APM_FUNC,
15952c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_ALIVE_IPCLKPORT_PCLK,
15962c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_FAR_ALIVE_IPCLKPORT_PCLK,
15972c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_PMU_ALIVE_IPCLKPORT_PCLK,
15982c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_RTC_IPCLKPORT_PCLK,
15992c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_TRTC_IPCLKPORT_PCLK,
16002c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_IPCLK,
16012c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_PCLK,
16022c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_IPCLK,
16032c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_PCLK,
16042c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_IPCLK,
16052c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_PCLK,
16062c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_D_TZPC_APM_IPCLKPORT_PCLK,
16072c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_GPC_APM_IPCLKPORT_PCLK,
16082c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_GREBEINTEGRATION_IPCLKPORT_HCLK,
16092c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_ACLK,
16102c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_PCLK,
16112c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_G_SWD_IPCLKPORT_I_CLK,
16122c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_P_AOCAPM_IPCLKPORT_I_CLK,
16132c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_P_APM_IPCLKPORT_I_CLK,
16142c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_D_APM_IPCLKPORT_I_CLK,
16152c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_DBGCORE_IPCLKPORT_I_CLK,
16162c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_SCAN2DRAM_IPCLKPORT_I_CLK,
16172c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AOC_IPCLKPORT_PCLK,
16182c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AP_IPCLKPORT_PCLK,
16192c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_GSA_IPCLKPORT_PCLK,
16202c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_SWD_IPCLKPORT_PCLK,
16212c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_TPU_IPCLKPORT_PCLK,
16222c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_AOC_IPCLKPORT_PCLK,
16232c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_DBGCORE_IPCLKPORT_PCLK,
16242c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_PMU_INTR_GEN_IPCLKPORT_PCLK,
16252c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_ACLK,
16262c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_PCLK,
16272c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_BUS_IPCLKPORT_CLK,
16282c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_UART_IPCLKPORT_CLK,
16292c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_USI_IPCLKPORT_CLK,
16302c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI1_UART_IPCLKPORT_CLK,
16312c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_APM_IPCLKPORT_PCLK,
16322c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_SUB_APM_IPCLKPORT_PCLK,
16332c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_ACLK,
16342c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_PCLK,
16352c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_ACLK,
16362c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_PCLK,
16372c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SS_DBGCORE_IPCLKPORT_SS_DBGCORE_IPCLKPORT_HCLK,
16382c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SYSMMU_D_APM_IPCLKPORT_CLK_S2,
16392c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_SYSREG_APM_IPCLKPORT_PCLK,
16402c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_ACLK,
16412c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_PCLK,
16422c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_ACLK,
16432c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_PCLK,
16442c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_ACLK,
16452c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_PCLK,
16462c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_AOCAPM_IPCLKPORT_ACLK,
16472c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_AOCAPM_IPCLKPORT_PCLK,
16482c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_ACLK,
16492c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_PCLK,
16502c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_WDT_APM_IPCLKPORT_PCLK,
16512c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_APM_UID_XIU_DP_APM_IPCLKPORT_ACLK,
16522c597bb7SPeter Griffin };
16532c597bb7SPeter Griffin 
16542c597bb7SPeter Griffin PNAME(mout_apm_func_p)		= { "oscclk", "mout_apm_funcsrc",
16552c597bb7SPeter Griffin 				    "pad_clk_apm", "oscclk" };
16562c597bb7SPeter Griffin PNAME(mout_apm_funcsrc_p)	= { "pll_alv_div2_apm", "pll_alv_div4_apm",
16572c597bb7SPeter Griffin 				    "pll_alv_div16_apm" };
16582c597bb7SPeter Griffin 
16592c597bb7SPeter Griffin static const struct samsung_fixed_rate_clock apm_fixed_clks[] __initconst = {
16602c597bb7SPeter Griffin 	FRATE(CLK_APM_PLL_DIV2_APM, "pll_alv_div2_apm", NULL, 0, 393216000),
16612c597bb7SPeter Griffin 	FRATE(CLK_APM_PLL_DIV4_APM, "pll_alv_div4_apm", NULL, 0, 196608000),
16622c597bb7SPeter Griffin 	FRATE(CLK_APM_PLL_DIV16_APM, "pll_alv_div16_apm", NULL, 0, 49152000),
16632c597bb7SPeter Griffin };
16642c597bb7SPeter Griffin 
16652c597bb7SPeter Griffin static const struct samsung_mux_clock apm_mux_clks[] __initconst = {
16662c597bb7SPeter Griffin 	MUX(CLK_MOUT_APM_FUNC, "mout_apm_func", mout_apm_func_p,
16672c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_APM_FUNC, 4, 1),
16682c597bb7SPeter Griffin 	MUX(CLK_MOUT_APM_FUNCSRC, "mout_apm_funcsrc", mout_apm_funcsrc_p,
16692c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLKCMU_APM_FUNCSRC, 3, 1),
16702c597bb7SPeter Griffin };
16712c597bb7SPeter Griffin 
16722c597bb7SPeter Griffin static const struct samsung_div_clock apm_div_clks[] __initconst = {
16732c597bb7SPeter Griffin 	DIV(CLK_DOUT_APM_BOOST, "dout_apm_boost", "gout_apm_func",
16742c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_APM_BOOST, 0, 1),
16752c597bb7SPeter Griffin 	DIV(CLK_DOUT_APM_USI0_UART, "dout_apm_usi0_uart", "gout_apm_func",
16762c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_APM_USI0_UART, 0, 7),
16772c597bb7SPeter Griffin 	DIV(CLK_DOUT_APM_USI0_USI, "dout_apm_usi0_usi", "gout_apm_func",
16782c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_APM_USI0_USI, 0, 7),
16792c597bb7SPeter Griffin 	DIV(CLK_DOUT_APM_USI1_UART, "dout_apm_usi1_uart", "gout_apm_func",
16802c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_APM_USI1_UART, 0, 7),
16812c597bb7SPeter Griffin };
16822c597bb7SPeter Griffin 
16832c597bb7SPeter Griffin static const struct samsung_gate_clock apm_gate_clks[] __initconst = {
16842c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_CMU_APM_PCLK,
16852c597bb7SPeter Griffin 	     "gout_apm_apm_cmu_apm_pclk", "mout_apm_func",
16862c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_APM_UID_APM_CMU_APM_IPCLKPORT_PCLK, 21, 0, 0),
16872c597bb7SPeter Griffin 	GATE(CLK_GOUT_BUS0_BOOST_OPTION1, "gout_bus0_boost_option1",
16882c597bb7SPeter Griffin 	     "dout_apm_boost", CLK_CON_GAT_CLK_BUS0_BOOST_OPTION1, 21, 0, 0),
16892c597bb7SPeter Griffin 	GATE(CLK_GOUT_CMU_BOOST_OPTION1, "gout_cmu_boost_option1",
16902c597bb7SPeter Griffin 	     "dout_apm_boost", CLK_CON_GAT_CLK_CMU_BOOST_OPTION1, 21, 0, 0),
16912c597bb7SPeter Griffin 	GATE(CLK_GOUT_CORE_BOOST_OPTION1, "gout_core_boost_option1",
16922c597bb7SPeter Griffin 	     "dout_apm_boost", CLK_CON_GAT_CLK_CORE_BOOST_OPTION1, 21, 0, 0),
16932c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_FUNC, "gout_apm_func", "mout_apm_func",
16942c597bb7SPeter Griffin 	     CLK_CON_GAT_GATE_CLKCMU_APM_FUNC, 21, 0, 0),
16952c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APBIF_GPIO_ALIVE_PCLK,
16962c597bb7SPeter Griffin 	     "gout_apm_apbif_gpio_alive_pclk", "gout_apm_func",
16972c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_ALIVE_IPCLKPORT_PCLK,
16982c597bb7SPeter Griffin 	     21, 0, 0),
16992c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APBIF_GPIO_FAR_ALIVE_PCLK,
17002c597bb7SPeter Griffin 	     "gout_apm_apbif_gpio_far_alive_pclk", "gout_apm_func",
17012c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_GPIO_FAR_ALIVE_IPCLKPORT_PCLK,
17022c597bb7SPeter Griffin 	     21, 0, 0),
17032c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APBIF_PMU_ALIVE_PCLK,
17042c597bb7SPeter Griffin 	     "gout_apm_apbif_pmu_alive_pclk", "gout_apm_func",
17052c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_PMU_ALIVE_IPCLKPORT_PCLK,
17062c597bb7SPeter Griffin 	     21, 0, 0),
17072c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APBIF_RTC_PCLK,
17082c597bb7SPeter Griffin 	     "gout_apm_apbif_rtc_pclk", "gout_apm_func",
17092c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_RTC_IPCLKPORT_PCLK, 21, 0, 0),
17102c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APBIF_TRTC_PCLK,
17112c597bb7SPeter Griffin 	     "gout_apm_apbif_trtc_pclk", "gout_apm_func",
17122c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APBIF_TRTC_IPCLKPORT_PCLK, 21, 0, 0),
17132c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI0_UART_IPCLK,
17142c597bb7SPeter Griffin 	     "gout_apm_apm_usi0_uart_ipclk", "dout_apm_usi0_uart",
17152c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_IPCLK,
17162c597bb7SPeter Griffin 	     21, 0, 0),
17172c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI0_UART_PCLK,
17182c597bb7SPeter Griffin 	     "gout_apm_apm_usi0_uart_pclk", "gout_apm_func",
17192c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_UART_IPCLKPORT_PCLK,
17202c597bb7SPeter Griffin 	     21, 0, 0),
17212c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI0_USI_IPCLK,
17222c597bb7SPeter Griffin 	     "gout_apm_apm_usi0_usi_ipclk", "dout_apm_usi0_usi",
17232c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_IPCLK,
17242c597bb7SPeter Griffin 	     21, 0, 0),
17252c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI0_USI_PCLK,
17262c597bb7SPeter Griffin 	     "gout_apm_apm_usi0_usi_pclk", "gout_apm_func",
17272c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI0_USI_IPCLKPORT_PCLK,
17282c597bb7SPeter Griffin 	     21, 0, 0),
17292c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI1_UART_IPCLK,
17302c597bb7SPeter Griffin 	     "gout_apm_apm_usi1_uart_ipclk", "dout_apm_usi1_uart",
17312c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_IPCLK,
17322c597bb7SPeter Griffin 	     21, 0, 0),
17332c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_APM_USI1_UART_PCLK,
17342c597bb7SPeter Griffin 	     "gout_apm_apm_usi1_uart_pclk", "gout_apm_func",
17352c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_APM_USI1_UART_IPCLKPORT_PCLK,
17362c597bb7SPeter Griffin 	     21, 0, 0),
17372c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_D_TZPC_APM_PCLK,
17382c597bb7SPeter Griffin 	     "gout_apm_d_tzpc_apm_pclk", "gout_apm_func",
17392c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_D_TZPC_APM_IPCLKPORT_PCLK, 21, 0, 0),
17402c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_GPC_APM_PCLK,
17412c597bb7SPeter Griffin 	     "gout_apm_gpc_apm_pclk", "gout_apm_func",
17422c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_GPC_APM_IPCLKPORT_PCLK, 21, 0, 0),
17432c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_GREBEINTEGRATION_HCLK,
17442c597bb7SPeter Griffin 	     "gout_apm_grebeintegration_hclk", "gout_apm_func",
17452c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_GREBEINTEGRATION_IPCLKPORT_HCLK,
17462c597bb7SPeter Griffin 	     21, 0, 0),
17472c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_INTMEM_ACLK,
17482c597bb7SPeter Griffin 	     "gout_apm_intmem_aclk", "gout_apm_func",
17492c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_ACLK, 21, 0, 0),
17502c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_INTMEM_PCLK,
17512c597bb7SPeter Griffin 	     "gout_apm_intmem_pclk", "gout_apm_func",
17522c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_INTMEM_IPCLKPORT_PCLK, 21, 0, 0),
17532c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHM_AXI_G_SWD_I_CLK,
17542c597bb7SPeter Griffin 	     "gout_apm_lhm_axi_g_swd_i_clk", "gout_apm_func",
17552c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_G_SWD_IPCLKPORT_I_CLK,
17562c597bb7SPeter Griffin 	     21, 0, 0),
17572c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHM_AXI_P_AOCAPM_I_CLK,
17582c597bb7SPeter Griffin 	     "gout_apm_lhm_axi_p_aocapm_i_clk", "gout_apm_func",
17592c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHM_AXI_P_AOCAPM_IPCLKPORT_I_CLK,
17602c597bb7SPeter Griffin 	     21, 0, 0),
17612c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHM_AXI_P_APM_I_CLK,
17622c597bb7SPeter Griffin 	     "gout_apm_lhm_axi_p_apm_i_clk", "gout_apm_func",
17632c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_D_APM_IPCLKPORT_I_CLK,
17642c597bb7SPeter Griffin 	     21, 0, 0),
17652c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHS_AXI_D_APM_I_CLK,
17662c597bb7SPeter Griffin 	     "gout_apm_lhs_axi_d_apm_i_clk", "gout_apm_func",
17672c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_D_APM_IPCLKPORT_I_CLK,
17682c597bb7SPeter Griffin 	     21, 0, 0),
17692c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHS_AXI_G_DBGCORE_I_CLK,
17702c597bb7SPeter Griffin 	     "gout_apm_lhs_axi_g_dbgcore_i_clk", "gout_apm_func",
17712c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_DBGCORE_IPCLKPORT_I_CLK,
17722c597bb7SPeter Griffin 	     21, 0, 0),
17732c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_LHS_AXI_G_SCAN2DRAM_I_CLK,
17742c597bb7SPeter Griffin 	     "gout_apm_lhs_axi_g_scan2dram_i_clk",
17752c597bb7SPeter Griffin 	     "gout_apm_func",
17762c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_LHS_AXI_G_SCAN2DRAM_IPCLKPORT_I_CLK,
17772c597bb7SPeter Griffin 	     21, 0, 0),
17782c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_APM_AOC_PCLK,
17792c597bb7SPeter Griffin 	     "gout_apm_mailbox_apm_aoc_pclk", "gout_apm_func",
17802c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AOC_IPCLKPORT_PCLK,
17812c597bb7SPeter Griffin 	     21, 0, 0),
17822c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_APM_AP_PCLK,
17832c597bb7SPeter Griffin 	     "gout_apm_mailbox_apm_ap_pclk", "gout_apm_func",
17842c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_AP_IPCLKPORT_PCLK,
17852c597bb7SPeter Griffin 	     21, 0, 0),
17862c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_APM_GSA_PCLK,
17872c597bb7SPeter Griffin 	     "gout_apm_mailbox_apm_gsa_pclk", "gout_apm_func",
17882c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_GSA_IPCLKPORT_PCLK,
17892c597bb7SPeter Griffin 	     21, 0, 0),
17902c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_APM_SWD_PCLK,
17912c597bb7SPeter Griffin 	     "gout_apm_mailbox_apm_swd_pclk", "gout_apm_func",
17922c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_SWD_IPCLKPORT_PCLK,
17932c597bb7SPeter Griffin 	     21, 0, 0),
17942c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_APM_TPU_PCLK,
17952c597bb7SPeter Griffin 	     "gout_apm_mailbox_apm_tpu_pclk", "gout_apm_func",
17962c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_APM_TPU_IPCLKPORT_PCLK,
17972c597bb7SPeter Griffin 	     21, 0, 0),
17982c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_AP_AOC_PCLK,
17992c597bb7SPeter Griffin 	     "gout_apm_mailbox_ap_aoc_pclk", "gout_apm_func",
18002c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_AOC_IPCLKPORT_PCLK,
18012c597bb7SPeter Griffin 	     21, 0, 0),
18022c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_MAILBOX_AP_DBGCORE_PCLK,
18032c597bb7SPeter Griffin 	     "gout_apm_mailbox_ap_dbgcore_pclk", "gout_apm_func",
18042c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_MAILBOX_AP_DBGCORE_IPCLKPORT_PCLK,
18052c597bb7SPeter Griffin 	     21, 0, 0),
18062c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_PMU_INTR_GEN_PCLK,
18072c597bb7SPeter Griffin 	     "gout_apm_pmu_intr_gen_pclk", "gout_apm_func",
18082c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_PMU_INTR_GEN_IPCLKPORT_PCLK,
18092c597bb7SPeter Griffin 	     21, 0, 0),
18102c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_ROM_CRC32_HOST_ACLK,
18112c597bb7SPeter Griffin 	     "gout_apm_rom_crc32_host_aclk", "gout_apm_func",
18122c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_ACLK,
18132c597bb7SPeter Griffin 	     21, 0, 0),
18142c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_ROM_CRC32_HOST_PCLK,
18152c597bb7SPeter Griffin 	     "gout_apm_rom_crc32_host_pclk", "gout_apm_func",
18162c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_ROM_CRC32_HOST_IPCLKPORT_PCLK,
18172c597bb7SPeter Griffin 	     21, 0, 0),
18182c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_CLK_APM_BUS_CLK,
18192c597bb7SPeter Griffin 	     "gout_apm_clk_apm_bus_clk", "gout_apm_func",
18202c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_BUS_IPCLKPORT_CLK,
18212c597bb7SPeter Griffin 	     21, 0, 0),
18222c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_CLK_APM_USI0_UART_CLK,
18232c597bb7SPeter Griffin 	     "gout_apm_clk_apm_usi0_uart_clk",
18242c597bb7SPeter Griffin 	     "dout_apm_usi0_uart",
18252c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_UART_IPCLKPORT_CLK,
18262c597bb7SPeter Griffin 	     21, 0, 0),
18272c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_CLK_APM_USI0_USI_CLK,
18282c597bb7SPeter Griffin 	     "gout_apm_clk_apm_usi0_usi_clk",
18292c597bb7SPeter Griffin 	     "dout_apm_usi0_usi",
18302c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI0_UART_IPCLKPORT_CLK,
18312c597bb7SPeter Griffin 	     21, 0, 0),
18322c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_CLK_APM_USI1_UART_CLK,
18332c597bb7SPeter Griffin 	     "gout_apm_clk_apm_usi1_uart_clk",
18342c597bb7SPeter Griffin 	     "dout_apm_usi1_uart",
18352c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_RSTNSYNC_CLK_APM_USI1_UART_IPCLKPORT_CLK,
18362c597bb7SPeter Griffin 	     21, 0, 0),
18372c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SPEEDY_APM_PCLK,
18382c597bb7SPeter Griffin 	     "gout_apm_speedy_apm_pclk", "gout_apm_func",
18392c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_APM_IPCLKPORT_PCLK, 21, 0, 0),
18402c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SPEEDY_SUB_APM_PCLK,
18412c597bb7SPeter Griffin 	     "gout_apm_speedy_sub_apm_pclk", "gout_apm_func",
18422c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SPEEDY_SUB_APM_IPCLKPORT_PCLK,
18432c597bb7SPeter Griffin 	     21, 0, 0),
18442c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SSMT_D_APM_ACLK,
18452c597bb7SPeter Griffin 	     "gout_apm_ssmt_d_apm_aclk", "gout_apm_func",
18462c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_ACLK, 21, 0, 0),
18472c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SSMT_D_APM_PCLK,
18482c597bb7SPeter Griffin 	     "gout_apm_ssmt_d_apm_pclk", "gout_apm_func",
18492c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_D_APM_IPCLKPORT_PCLK, 21, 0, 0),
18502c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SSMT_G_DBGCORE_ACLK,
18512c597bb7SPeter Griffin 	     "gout_apm_ssmt_g_dbgcore_aclk", "gout_apm_func",
18522c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_ACLK,
18532c597bb7SPeter Griffin 	     21, 0, 0),
18542c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SSMT_G_DBGCORE_PCLK,
18552c597bb7SPeter Griffin 	     "gout_apm_ssmt_g_dbgcore_pclk", "gout_apm_func",
18562c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SSMT_G_DBGCORE_IPCLKPORT_PCLK,
18572c597bb7SPeter Griffin 	     21, 0, 0),
18582c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SS_DBGCORE_SS_DBGCORE_HCLK,
18592c597bb7SPeter Griffin 	     "gout_apm_ss_dbgcore_ss_dbgcore_hclk",
18602c597bb7SPeter Griffin 	     "gout_apm_func",
18612c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SS_DBGCORE_IPCLKPORT_SS_DBGCORE_IPCLKPORT_HCLK,
18622c597bb7SPeter Griffin 	     21, 0, 0),
18632c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SYSMMU_D_APM_CLK_S2,
18642c597bb7SPeter Griffin 	     "gout_apm_sysmmu_d_dpm_clk_s2", "gout_apm_func",
18652c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SYSMMU_D_APM_IPCLKPORT_CLK_S2,
18662c597bb7SPeter Griffin 	     21, 0, 0),
18672c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_SYSREG_APM_PCLK,
18682c597bb7SPeter Griffin 	     "gout_apm_sysreg_apm_pclk", "gout_apm_func",
18692c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_SYSREG_APM_IPCLKPORT_PCLK, 21, 0, 0),
18702c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_APM_ACLK,
18712c597bb7SPeter Griffin 	     "gout_apm_uasc_apm_aclk", "gout_apm_func",
18722c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_ACLK, 21, 0, 0),
18732c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_APM_PCLK,
18742c597bb7SPeter Griffin 	     "gout_apm_uasc_apm_pclk", "gout_apm_func",
18752c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_APM_IPCLKPORT_PCLK, 21, 0, 0),
18762c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_DBGCORE_ACLK,
18772c597bb7SPeter Griffin 	     "gout_apm_uasc_dbgcore_aclk", "gout_apm_func",
18782c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_ACLK,
18792c597bb7SPeter Griffin 	     21, 0, 0),
18802c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_DBGCORE_PCLK,
18812c597bb7SPeter Griffin 	     "gout_apm_uasc_dbgcore_pclk", "gout_apm_func",
18822c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_DBGCORE_IPCLKPORT_PCLK,
18832c597bb7SPeter Griffin 	     21, 0, 0),
18842c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_G_SWD_ACLK,
18852c597bb7SPeter Griffin 	     "gout_apm_uasc_g_swd_aclk", "gout_apm_func",
18862c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_ACLK, 21, 0, 0),
18872c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_G_SWD_PCLK,
18882c597bb7SPeter Griffin 	     "gout_apm_uasc_g_swd_pclk", "gout_apm_func",
18892c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_PCLK, 21, 0, 0),
18902c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_P_AOCAPM_ACLK,
18912c597bb7SPeter Griffin 	     "gout_apm_uasc_p_aocapm_aclk", "gout_apm_func",
18922c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_AOCAPM_IPCLKPORT_ACLK,
18932c597bb7SPeter Griffin 	     21, 0, 0),
18942c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_P_AOCAPM_PCLK,
18952c597bb7SPeter Griffin 	     "gout_apm_uasc_p_aocapm_pclk", "gout_apm_func",
18962c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_G_SWD_IPCLKPORT_PCLK, 21, 0, 0),
18972c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_P_APM_ACLK,
18982c597bb7SPeter Griffin 	     "gout_apm_uasc_p_apm_aclk", "gout_apm_func",
18996b32d747SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_ACLK, 21, CLK_IS_CRITICAL, 0),
19002c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_UASC_P_APM_PCLK,
19012c597bb7SPeter Griffin 	     "gout_apm_uasc_p_apm_pclk", "gout_apm_func",
19026b32d747SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_APM_UID_UASC_P_APM_IPCLKPORT_PCLK, 21, CLK_IS_CRITICAL, 0),
19032c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_WDT_APM_PCLK,
19042c597bb7SPeter Griffin 	     "gout_apm_wdt_apm_pclk", "gout_apm_func",
19052c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_APM_UID_WDT_APM_IPCLKPORT_PCLK, 21, 0, 0),
19062c597bb7SPeter Griffin 	GATE(CLK_GOUT_APM_XIU_DP_APM_ACLK,
19072c597bb7SPeter Griffin 	     "gout_apm_xiu_dp_apm_aclk", "gout_apm_func",
19086b32d747SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_APM_UID_XIU_DP_APM_IPCLKPORT_ACLK, 21, CLK_IS_CRITICAL, 0),
19092c597bb7SPeter Griffin };
19102c597bb7SPeter Griffin 
19112c597bb7SPeter Griffin static const struct samsung_cmu_info apm_cmu_info __initconst = {
19122c597bb7SPeter Griffin 	.mux_clks		= apm_mux_clks,
19132c597bb7SPeter Griffin 	.nr_mux_clks		= ARRAY_SIZE(apm_mux_clks),
19142c597bb7SPeter Griffin 	.div_clks		= apm_div_clks,
19152c597bb7SPeter Griffin 	.nr_div_clks		= ARRAY_SIZE(apm_div_clks),
19162c597bb7SPeter Griffin 	.gate_clks		= apm_gate_clks,
19172c597bb7SPeter Griffin 	.nr_gate_clks		= ARRAY_SIZE(apm_gate_clks),
19182c597bb7SPeter Griffin 	.fixed_clks		= apm_fixed_clks,
19192c597bb7SPeter Griffin 	.nr_fixed_clks		= ARRAY_SIZE(apm_fixed_clks),
19202c597bb7SPeter Griffin 	.nr_clk_ids		= CLKS_NR_APM,
19212c597bb7SPeter Griffin 	.clk_regs		= apm_clk_regs,
19222c597bb7SPeter Griffin 	.nr_clk_regs		= ARRAY_SIZE(apm_clk_regs),
19232c597bb7SPeter Griffin };
19242c597bb7SPeter Griffin 
19251891e4d4SAndré Draszik /* ---- CMU_HSI0 ------------------------------------------------------------ */
19261891e4d4SAndré Draszik 
19271891e4d4SAndré Draszik /* Register Offset definitions for CMU_HSI0 (0x11000000) */
19281891e4d4SAndré Draszik #define PLL_LOCKTIME_PLL_USB								0x0004
19291891e4d4SAndré Draszik #define PLL_CON0_PLL_USB								0x0140
19301891e4d4SAndré Draszik #define PLL_CON1_PLL_USB								0x0144
19311891e4d4SAndré Draszik #define PLL_CON2_PLL_USB								0x0148
19321891e4d4SAndré Draszik #define PLL_CON3_PLL_USB								0x014c
19331891e4d4SAndré Draszik #define PLL_CON4_PLL_USB								0x0150
19341891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_ALT_USER						0x0600
19351891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_ALT_USER						0x0604
19361891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_BUS_USER						0x0610
19371891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_BUS_USER						0x0614
19381891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER						0x0620
19391891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_DPGTC_USER						0x0624
19401891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_TCXO_USER						0x0630
19411891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_TCXO_USER						0x0634
19421891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_USB20_USER						0x0640
19431891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_USB20_USER						0x0644
19441891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_USB31DRD_USER						0x0650
19451891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_USB31DRD_USER						0x0654
19461891e4d4SAndré Draszik #define PLL_CON0_MUX_CLKCMU_HSI0_USPDPDBG_USER						0x0660
19471891e4d4SAndré Draszik #define PLL_CON1_MUX_CLKCMU_HSI0_USPDPDBG_USER						0x0664
19481891e4d4SAndré Draszik #define HSI0_CMU_HSI0_CONTROLLER_OPTION							0x0800
19491891e4d4SAndré Draszik #define CLKOUT_CON_BLK_HSI0_CMU_HSI0_CLKOUT0						0x0810
19501891e4d4SAndré Draszik #define CLK_CON_MUX_MUX_CLK_HSI0_BUS							0x1000
19511891e4d4SAndré Draszik #define CLK_CON_MUX_MUX_CLK_HSI0_USB20_REF						0x1004
19521891e4d4SAndré Draszik #define CLK_CON_MUX_MUX_CLK_HSI0_USB31DRD						0x1008
19531891e4d4SAndré Draszik #define CLK_CON_DIV_DIV_CLK_HSI0_USB31DRD						0x1800
19541891e4d4SAndré Draszik #define CLK_CON_GAT_CLK_BLK_HSI0_UID_HSI0_CMU_HSI0_IPCLKPORT_PCLK			0x2000
19551891e4d4SAndré Draszik #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_SUSPEND_CLK_26	0x2004
19561891e4d4SAndré Draszik #define CLK_CON_GAT_CLK_HSI0_ALT							0x2008
19571891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_GTC_CLK			0x200c
19581891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_PCLK				0x2010
19591891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_D_TZPC_HSI0_IPCLKPORT_PCLK			0x2014
19601891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_ACLK				0x2018
19611891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_PCLK				0x201c
19621891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_GPC_HSI0_IPCLKPORT_PCLK				0x2020
19631891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_G_ETR_HSI0_IPCLKPORT_I_CLK		0x2024
19641891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_AOCHSI0_IPCLKPORT_I_CLK			0x2028
19651891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_HSI0_IPCLKPORT_I_CLK			0x202c
19661891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_ACEL_D_HSI0_IPCLKPORT_I_CLK			0x2030
19671891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_AXI_D_HSI0AOC_IPCLKPORT_I_CLK			0x2034
19681891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_ACLK			0x2038
19691891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_PCLK			0x203c
19701891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_ACLK			0x2040
19711891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_PCLK			0x2044
19721891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_BUS_IPCLKPORT_CLK		0x2048
19731891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_ACLK				0x204c
19741891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_PCLK				0x2050
19751891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSMMU_USB_IPCLKPORT_CLK_S2			0x2054
19761891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSREG_HSI0_IPCLKPORT_PCLK			0x2058
19771891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_ACLK			0x205c
19781891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_PCLK			0x2060
19791891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_ACLK			0x2064
19801891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_PCLK			0x2068
19811891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_ACLK_PHYCTRL			0x206c
19821891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_BUS_CLK_EARLY			0x2070
19831891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB20_PHY_REFCLK_26		0x2074
19841891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_REF_CLK_40		0x2078
19851891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_REF_SOC_PLL		0x207c
19861891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_SCL_APB_PCLK	0x2080
19871891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBPCS_APB_CLK		0x2084
19881891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_I_ACLK		0x2088
19891891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_UDBG_I_APB_PCLK	0x208c
19901891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D0_HSI0_IPCLKPORT_ACLK			0x2090
19911891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D1_HSI0_IPCLKPORT_ACLK			0x2094
19921891e4d4SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_P_HSI0_IPCLKPORT_ACLK				0x2098
19931891e4d4SAndré Draszik #define DMYQCH_CON_USB31DRD_QCH								0x3000
19941891e4d4SAndré Draszik #define DMYQCH_CON_USB31DRD_QCH_REF							0x3004
19951891e4d4SAndré Draszik #define PCH_CON_LHM_AXI_G_ETR_HSI0_PCH							0x3008
19961891e4d4SAndré Draszik #define PCH_CON_LHM_AXI_P_AOCHSI0_PCH							0x300c
19971891e4d4SAndré Draszik #define PCH_CON_LHM_AXI_P_HSI0_PCH							0x3010
19981891e4d4SAndré Draszik #define PCH_CON_LHS_ACEL_D_HSI0_PCH							0x3014
19991891e4d4SAndré Draszik #define PCH_CON_LHS_AXI_D_HSI0AOC_PCH							0x3018
20001891e4d4SAndré Draszik #define QCH_CON_DP_LINK_QCH_GTC_CLK							0x301c
20011891e4d4SAndré Draszik #define QCH_CON_DP_LINK_QCH_PCLK							0x3020
20021891e4d4SAndré Draszik #define QCH_CON_D_TZPC_HSI0_QCH								0x3024
20031891e4d4SAndré Draszik #define QCH_CON_ETR_MIU_QCH_ACLK							0x3028
20041891e4d4SAndré Draszik #define QCH_CON_ETR_MIU_QCH_PCLK							0x302c
20051891e4d4SAndré Draszik #define QCH_CON_GPC_HSI0_QCH								0x3030
20061891e4d4SAndré Draszik #define QCH_CON_HSI0_CMU_HSI0_QCH							0x3034
20071891e4d4SAndré Draszik #define QCH_CON_LHM_AXI_G_ETR_HSI0_QCH							0x3038
20081891e4d4SAndré Draszik #define QCH_CON_LHM_AXI_P_AOCHSI0_QCH							0x303c
20091891e4d4SAndré Draszik #define QCH_CON_LHM_AXI_P_HSI0_QCH							0x3040
20101891e4d4SAndré Draszik #define QCH_CON_LHS_ACEL_D_HSI0_QCH							0x3044
20111891e4d4SAndré Draszik #define QCH_CON_LHS_AXI_D_HSI0AOC_QCH							0x3048
20121891e4d4SAndré Draszik #define QCH_CON_PPMU_HSI0_AOC_QCH							0x304c
20131891e4d4SAndré Draszik #define QCH_CON_PPMU_HSI0_BUS0_QCH							0x3050
20141891e4d4SAndré Draszik #define QCH_CON_SSMT_USB_QCH								0x3054
20151891e4d4SAndré Draszik #define QCH_CON_SYSMMU_USB_QCH								0x3058
20161891e4d4SAndré Draszik #define QCH_CON_SYSREG_HSI0_QCH								0x305c
20171891e4d4SAndré Draszik #define QCH_CON_UASC_HSI0_CTRL_QCH							0x3060
20181891e4d4SAndré Draszik #define QCH_CON_UASC_HSI0_LINK_QCH							0x3064
20191891e4d4SAndré Draszik #define QCH_CON_USB31DRD_QCH_APB							0x3068
20201891e4d4SAndré Draszik #define QCH_CON_USB31DRD_QCH_DBG							0x306c
20211891e4d4SAndré Draszik #define QCH_CON_USB31DRD_QCH_PCS							0x3070
20221891e4d4SAndré Draszik #define QCH_CON_USB31DRD_QCH_SLV_CTRL							0x3074
20231891e4d4SAndré Draszik #define QCH_CON_USB31DRD_QCH_SLV_LINK							0x3078
20241891e4d4SAndré Draszik #define QUEUE_CTRL_REG_BLK_HSI0_CMU_HSI0						0x3c00
20251891e4d4SAndré Draszik 
20261891e4d4SAndré Draszik static const unsigned long hsi0_clk_regs[] __initconst = {
20271891e4d4SAndré Draszik 	PLL_LOCKTIME_PLL_USB,
20281891e4d4SAndré Draszik 	PLL_CON0_PLL_USB,
20291891e4d4SAndré Draszik 	PLL_CON1_PLL_USB,
20301891e4d4SAndré Draszik 	PLL_CON2_PLL_USB,
20311891e4d4SAndré Draszik 	PLL_CON3_PLL_USB,
20321891e4d4SAndré Draszik 	PLL_CON4_PLL_USB,
20331891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_ALT_USER,
20341891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_ALT_USER,
20351891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_BUS_USER,
20361891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_BUS_USER,
20371891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER,
20381891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_DPGTC_USER,
20391891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_TCXO_USER,
20401891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_TCXO_USER,
20411891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_USB20_USER,
20421891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_USB20_USER,
20431891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_USB31DRD_USER,
20441891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_USB31DRD_USER,
20451891e4d4SAndré Draszik 	PLL_CON0_MUX_CLKCMU_HSI0_USPDPDBG_USER,
20461891e4d4SAndré Draszik 	PLL_CON1_MUX_CLKCMU_HSI0_USPDPDBG_USER,
20471891e4d4SAndré Draszik 	HSI0_CMU_HSI0_CONTROLLER_OPTION,
20481891e4d4SAndré Draszik 	CLKOUT_CON_BLK_HSI0_CMU_HSI0_CLKOUT0,
20491891e4d4SAndré Draszik 	CLK_CON_MUX_MUX_CLK_HSI0_BUS,
20501891e4d4SAndré Draszik 	CLK_CON_MUX_MUX_CLK_HSI0_USB20_REF,
20511891e4d4SAndré Draszik 	CLK_CON_MUX_MUX_CLK_HSI0_USB31DRD,
20521891e4d4SAndré Draszik 	CLK_CON_DIV_DIV_CLK_HSI0_USB31DRD,
20531891e4d4SAndré Draszik 	CLK_CON_GAT_CLK_BLK_HSI0_UID_HSI0_CMU_HSI0_IPCLKPORT_PCLK,
20541891e4d4SAndré Draszik 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_SUSPEND_CLK_26,
20551891e4d4SAndré Draszik 	CLK_CON_GAT_CLK_HSI0_ALT,
20561891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_GTC_CLK,
20571891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_PCLK,
20581891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_D_TZPC_HSI0_IPCLKPORT_PCLK,
20591891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_ACLK,
20601891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_PCLK,
20611891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_GPC_HSI0_IPCLKPORT_PCLK,
20621891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_G_ETR_HSI0_IPCLKPORT_I_CLK,
20631891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_AOCHSI0_IPCLKPORT_I_CLK,
20641891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_HSI0_IPCLKPORT_I_CLK,
20651891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_ACEL_D_HSI0_IPCLKPORT_I_CLK,
20661891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_AXI_D_HSI0AOC_IPCLKPORT_I_CLK,
20671891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_ACLK,
20681891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_PCLK,
20691891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_ACLK,
20701891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_PCLK,
20711891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_BUS_IPCLKPORT_CLK,
20721891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_ACLK,
20731891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_PCLK,
20741891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSMMU_USB_IPCLKPORT_CLK_S2,
20751891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSREG_HSI0_IPCLKPORT_PCLK,
20761891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_ACLK,
20771891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_PCLK,
20781891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_ACLK,
20791891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_PCLK,
20801891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_ACLK_PHYCTRL,
20811891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_BUS_CLK_EARLY,
20821891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB20_PHY_REFCLK_26,
20831891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_REF_CLK_40,
20841891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_REF_SOC_PLL,
20851891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_SCL_APB_PCLK,
20861891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBPCS_APB_CLK,
20871891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_I_ACLK,
20881891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_UDBG_I_APB_PCLK,
20891891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D0_HSI0_IPCLKPORT_ACLK,
20901891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D1_HSI0_IPCLKPORT_ACLK,
20911891e4d4SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_P_HSI0_IPCLKPORT_ACLK,
20921891e4d4SAndré Draszik 	DMYQCH_CON_USB31DRD_QCH,
20931891e4d4SAndré Draszik 	DMYQCH_CON_USB31DRD_QCH_REF,
20941891e4d4SAndré Draszik 	PCH_CON_LHM_AXI_G_ETR_HSI0_PCH,
20951891e4d4SAndré Draszik 	PCH_CON_LHM_AXI_P_AOCHSI0_PCH,
20961891e4d4SAndré Draszik 	PCH_CON_LHM_AXI_P_HSI0_PCH,
20971891e4d4SAndré Draszik 	PCH_CON_LHS_ACEL_D_HSI0_PCH,
20981891e4d4SAndré Draszik 	PCH_CON_LHS_AXI_D_HSI0AOC_PCH,
20991891e4d4SAndré Draszik 	QCH_CON_DP_LINK_QCH_GTC_CLK,
21001891e4d4SAndré Draszik 	QCH_CON_DP_LINK_QCH_PCLK,
21011891e4d4SAndré Draszik 	QCH_CON_D_TZPC_HSI0_QCH,
21021891e4d4SAndré Draszik 	QCH_CON_ETR_MIU_QCH_ACLK,
21031891e4d4SAndré Draszik 	QCH_CON_ETR_MIU_QCH_PCLK,
21041891e4d4SAndré Draszik 	QCH_CON_GPC_HSI0_QCH,
21051891e4d4SAndré Draszik 	QCH_CON_HSI0_CMU_HSI0_QCH,
21061891e4d4SAndré Draszik 	QCH_CON_LHM_AXI_G_ETR_HSI0_QCH,
21071891e4d4SAndré Draszik 	QCH_CON_LHM_AXI_P_AOCHSI0_QCH,
21081891e4d4SAndré Draszik 	QCH_CON_LHM_AXI_P_HSI0_QCH,
21091891e4d4SAndré Draszik 	QCH_CON_LHS_ACEL_D_HSI0_QCH,
21101891e4d4SAndré Draszik 	QCH_CON_LHS_AXI_D_HSI0AOC_QCH,
21111891e4d4SAndré Draszik 	QCH_CON_PPMU_HSI0_AOC_QCH,
21121891e4d4SAndré Draszik 	QCH_CON_PPMU_HSI0_BUS0_QCH,
21131891e4d4SAndré Draszik 	QCH_CON_SSMT_USB_QCH,
21141891e4d4SAndré Draszik 	QCH_CON_SYSMMU_USB_QCH,
21151891e4d4SAndré Draszik 	QCH_CON_SYSREG_HSI0_QCH,
21161891e4d4SAndré Draszik 	QCH_CON_UASC_HSI0_CTRL_QCH,
21171891e4d4SAndré Draszik 	QCH_CON_UASC_HSI0_LINK_QCH,
21181891e4d4SAndré Draszik 	QCH_CON_USB31DRD_QCH_APB,
21191891e4d4SAndré Draszik 	QCH_CON_USB31DRD_QCH_DBG,
21201891e4d4SAndré Draszik 	QCH_CON_USB31DRD_QCH_PCS,
21211891e4d4SAndré Draszik 	QCH_CON_USB31DRD_QCH_SLV_CTRL,
21221891e4d4SAndré Draszik 	QCH_CON_USB31DRD_QCH_SLV_LINK,
21231891e4d4SAndré Draszik 	QUEUE_CTRL_REG_BLK_HSI0_CMU_HSI0,
21241891e4d4SAndré Draszik };
21251891e4d4SAndré Draszik 
21261891e4d4SAndré Draszik /* List of parent clocks for Muxes in CMU_HSI0 */
21271891e4d4SAndré Draszik PNAME(mout_pll_usb_p)			= { "oscclk", "fout_usb_pll" };
21281891e4d4SAndré Draszik PNAME(mout_hsi0_alt_user_p)		= { "oscclk",
21291891e4d4SAndré Draszik 					    "gout_hsi0_clk_hsi0_alt" };
21301891e4d4SAndré Draszik PNAME(mout_hsi0_bus_user_p)		= { "oscclk", "dout_cmu_hsi0_bus" };
21311891e4d4SAndré Draszik PNAME(mout_hsi0_dpgtc_user_p)		= { "oscclk", "dout_cmu_hsi0_dpgtc" };
21321891e4d4SAndré Draszik PNAME(mout_hsi0_tcxo_user_p)		= { "oscclk", "tcxo_hsi1_hsi0" };
21331891e4d4SAndré Draszik PNAME(mout_hsi0_usb20_user_p)		= { "oscclk", "usb20phy_phy_clock" };
21341891e4d4SAndré Draszik PNAME(mout_hsi0_usb31drd_user_p)	= { "oscclk",
21351891e4d4SAndré Draszik 					    "dout_cmu_hsi0_usb31drd" };
21361891e4d4SAndré Draszik PNAME(mout_hsi0_usbdpdbg_user_p)	= { "oscclk",
21371891e4d4SAndré Draszik 					    "dout_cmu_hsi0_usbdpdbg" };
21381891e4d4SAndré Draszik PNAME(mout_hsi0_bus_p)			= { "mout_hsi0_bus_user",
21391891e4d4SAndré Draszik 					    "mout_hsi0_alt_user" };
21401891e4d4SAndré Draszik PNAME(mout_hsi0_usb20_ref_p)		= { "fout_usb_pll",
21411891e4d4SAndré Draszik 					    "mout_hsi0_tcxo_user" };
21421891e4d4SAndré Draszik PNAME(mout_hsi0_usb31drd_p)		= { "fout_usb_pll",
21431891e4d4SAndré Draszik 					    "mout_hsi0_usb31drd_user",
21441891e4d4SAndré Draszik 					    "dout_hsi0_usb31drd",
21451891e4d4SAndré Draszik 					    "fout_usb_pll" };
21461891e4d4SAndré Draszik 
21471891e4d4SAndré Draszik static const struct samsung_pll_rate_table cmu_hsi0_usb_pll_rates[] __initconst = {
21481891e4d4SAndré Draszik 	PLL_35XX_RATE(24576000, 19200000, 150, 6, 5),
21491891e4d4SAndré Draszik 	{ /* sentinel */ }
21501891e4d4SAndré Draszik };
21511891e4d4SAndré Draszik 
21521891e4d4SAndré Draszik static const struct samsung_pll_clock cmu_hsi0_pll_clks[] __initconst = {
21531891e4d4SAndré Draszik 	PLL(pll_0518x, CLK_FOUT_USB_PLL, "fout_usb_pll", "oscclk",
21541891e4d4SAndré Draszik 	    PLL_LOCKTIME_PLL_USB, PLL_CON3_PLL_USB,
21551891e4d4SAndré Draszik 	    cmu_hsi0_usb_pll_rates),
21561891e4d4SAndré Draszik };
21571891e4d4SAndré Draszik 
21581891e4d4SAndré Draszik static const struct samsung_mux_clock hsi0_mux_clks[] __initconst = {
21591891e4d4SAndré Draszik 	MUX(CLK_MOUT_PLL_USB,
21601891e4d4SAndré Draszik 	    "mout_pll_usb", mout_pll_usb_p,
21611891e4d4SAndré Draszik 	    PLL_CON0_PLL_USB, 4, 1),
21621891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_ALT_USER,
21631891e4d4SAndré Draszik 	    "mout_hsi0_alt_user", mout_hsi0_alt_user_p,
21641891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_ALT_USER, 4, 1),
21651891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_BUS_USER,
21661891e4d4SAndré Draszik 	    "mout_hsi0_bus_user", mout_hsi0_bus_user_p,
21671891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_BUS_USER, 4, 1),
21681891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_DPGTC_USER,
21691891e4d4SAndré Draszik 	    "mout_hsi0_dpgtc_user", mout_hsi0_dpgtc_user_p,
21701891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER, 4, 1),
21711891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_TCXO_USER,
21721891e4d4SAndré Draszik 	    "mout_hsi0_tcxo_user", mout_hsi0_tcxo_user_p,
21731891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_TCXO_USER, 4, 1),
21741891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_USB20_USER,
21751891e4d4SAndré Draszik 	    "mout_hsi0_usb20_user", mout_hsi0_usb20_user_p,
21761891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_USB20_USER, 4, 1),
21771891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_USB31DRD_USER,
21781891e4d4SAndré Draszik 	    "mout_hsi0_usb31drd_user", mout_hsi0_usb31drd_user_p,
21791891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_USB31DRD_USER, 4, 1),
21801891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_USBDPDBG_USER,
21811891e4d4SAndré Draszik 	    "mout_hsi0_usbdpdbg_user", mout_hsi0_usbdpdbg_user_p,
21821891e4d4SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_HSI0_USPDPDBG_USER, 4, 1),
21831891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_BUS,
21841891e4d4SAndré Draszik 	    "mout_hsi0_bus", mout_hsi0_bus_p,
21851891e4d4SAndré Draszik 	    CLK_CON_MUX_MUX_CLK_HSI0_BUS, 0, 1),
21861891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_USB20_REF,
21871891e4d4SAndré Draszik 	    "mout_hsi0_usb20_ref", mout_hsi0_usb20_ref_p,
21881891e4d4SAndré Draszik 	    CLK_CON_MUX_MUX_CLK_HSI0_USB20_REF, 0, 1),
21891891e4d4SAndré Draszik 	MUX(CLK_MOUT_HSI0_USB31DRD,
21901891e4d4SAndré Draszik 	    "mout_hsi0_usb31drd", mout_hsi0_usb31drd_p,
21911891e4d4SAndré Draszik 	    CLK_CON_MUX_MUX_CLK_HSI0_USB31DRD, 0, 2),
21921891e4d4SAndré Draszik };
21931891e4d4SAndré Draszik 
21941891e4d4SAndré Draszik static const struct samsung_div_clock hsi0_div_clks[] __initconst = {
21951891e4d4SAndré Draszik 	DIV(CLK_DOUT_HSI0_USB31DRD,
21961891e4d4SAndré Draszik 	    "dout_hsi0_usb31drd", "mout_hsi0_usb20_user",
21971891e4d4SAndré Draszik 	    CLK_CON_DIV_DIV_CLK_HSI0_USB31DRD, 0, 3),
21981891e4d4SAndré Draszik };
21991891e4d4SAndré Draszik 
22001891e4d4SAndré Draszik static const struct samsung_gate_clock hsi0_gate_clks[] __initconst = {
22011891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22021891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_PCLK,
22031891e4d4SAndré Draszik 	     "gout_hsi0_hsi0_pclk", "mout_hsi0_bus",
22041891e4d4SAndré Draszik 	     CLK_CON_GAT_CLK_BLK_HSI0_UID_HSI0_CMU_HSI0_IPCLKPORT_PCLK,
22051891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22061891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USB31DRD_SUSPEND_CLK_26,
22071891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usb31drd_suspend_clk_26",
22081891e4d4SAndré Draszik 	     "mout_hsi0_usb20_ref",
22091891e4d4SAndré Draszik 	     CLK_CON_GAT_CLK_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_SUSPEND_CLK_26,
22101891e4d4SAndré Draszik 	     21, 0, 0),
22111891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_CLK_HSI0_ALT,
22121891e4d4SAndré Draszik 	     "gout_hsi0_clk_hsi0_alt", "ioclk_clk_hsi0_alt",
22131891e4d4SAndré Draszik 	     CLK_CON_GAT_CLK_HSI0_ALT, 21, 0, 0),
22141891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_DP_LINK_I_DP_GTC_CLK,
22151891e4d4SAndré Draszik 	     "gout_hsi0_dp_link_i_dp_gtc_clk", "mout_hsi0_dpgtc_user",
22161891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_GTC_CLK,
22171891e4d4SAndré Draszik 	     21, 0, 0),
22181891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_DP_LINK_I_PCLK,
22191891e4d4SAndré Draszik 	     "gout_hsi0_dp_link_i_pclk", "mout_hsi0_bus",
22201891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_PCLK, 21, 0, 0),
22211891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_D_TZPC_HSI0_PCLK,
22221891e4d4SAndré Draszik 	     "gout_hsi0_d_tzpc_hsi0_pclk", "mout_hsi0_bus",
22231891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_D_TZPC_HSI0_IPCLKPORT_PCLK,
22241891e4d4SAndré Draszik 	     21, 0, 0),
22251891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_ETR_MIU_I_ACLK,
22261891e4d4SAndré Draszik 	     "gout_hsi0_etr_miu_i_aclk", "mout_hsi0_bus",
22271891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_ACLK, 21, 0, 0),
22281891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_ETR_MIU_I_PCLK,
22291891e4d4SAndré Draszik 	     "gout_hsi0_etr_miu_i_pclk", "mout_hsi0_bus",
22301891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_ETR_MIU_IPCLKPORT_I_PCLK, 21, 0, 0),
22311891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_GPC_HSI0_PCLK,
22321891e4d4SAndré Draszik 	     "gout_hsi0_gpc_hsi0_pclk", "mout_hsi0_bus",
22331891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_GPC_HSI0_IPCLKPORT_PCLK, 21, 0, 0),
22341891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_LHM_AXI_G_ETR_HSI0_I_CLK,
22351891e4d4SAndré Draszik 	     "gout_hsi0_lhm_axi_g_etr_hsi0_i_clk", "mout_hsi0_bus",
22361891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_G_ETR_HSI0_IPCLKPORT_I_CLK,
22371891e4d4SAndré Draszik 	     21, 0, 0),
22381891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_LHM_AXI_P_AOCHSI0_I_CLK,
22391891e4d4SAndré Draszik 	     "gout_hsi0_lhm_axi_p_aochsi0_i_clk", "mout_hsi0_bus",
22401891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_AOCHSI0_IPCLKPORT_I_CLK,
22411891e4d4SAndré Draszik 	     21, 0, 0),
22421891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22431891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_LHM_AXI_P_HSI0_I_CLK,
22441891e4d4SAndré Draszik 	     "gout_hsi0_lhm_axi_p_hsi0_i_clk", "mout_hsi0_bus",
22451891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHM_AXI_P_HSI0_IPCLKPORT_I_CLK,
22461891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22471891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22481891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_LHS_ACEL_D_HSI0_I_CLK,
22491891e4d4SAndré Draszik 	     "gout_hsi0_lhs_acel_d_hsi0_i_clk", "mout_hsi0_bus",
22501891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_ACEL_D_HSI0_IPCLKPORT_I_CLK,
22511891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22521891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_LHS_AXI_D_HSI0AOC_I_CLK,
22531891e4d4SAndré Draszik 	     "gout_hsi0_lhs_axi_d_hsi0aoc_i_clk", "mout_hsi0_bus",
22541891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_LHS_AXI_D_HSI0AOC_IPCLKPORT_I_CLK,
22551891e4d4SAndré Draszik 	     21, 0, 0),
22561891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_PPMU_HSI0_AOC_ACLK,
22571891e4d4SAndré Draszik 	     "gout_hsi0_ppmu_hsi0_aoc_aclk", "mout_hsi0_bus",
22581891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_ACLK,
22591891e4d4SAndré Draszik 	     21, 0, 0),
22601891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_PPMU_HSI0_AOC_PCLK,
22611891e4d4SAndré Draszik 	     "gout_hsi0_ppmu_hsi0_aoc_pclk", "mout_hsi0_bus",
22621891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_AOC_IPCLKPORT_PCLK,
22631891e4d4SAndré Draszik 	     21, 0, 0),
22641891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_PPMU_HSI0_BUS0_ACLK,
22651891e4d4SAndré Draszik 	     "gout_hsi0_ppmu_hsi0_bus0_aclk", "mout_hsi0_bus",
22661891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_ACLK,
22671891e4d4SAndré Draszik 	     21, 0, 0),
22681891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_PPMU_HSI0_BUS0_PCLK,
22691891e4d4SAndré Draszik 	     "gout_hsi0_ppmu_hsi0_bus0_pclk", "mout_hsi0_bus",
22701891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_PPMU_HSI0_BUS0_IPCLKPORT_PCLK,
22711891e4d4SAndré Draszik 	     21, 0, 0),
22721891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_CLK_HSI0_BUS_CLK,
22731891e4d4SAndré Draszik 	     "gout_hsi0_clk_hsi0_bus_clk", "mout_hsi0_bus",
22741891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_BUS_IPCLKPORT_CLK,
22751891e4d4SAndré Draszik 	     21, 0, 0),
22761891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22771891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_SSMT_USB_ACLK,
22781891e4d4SAndré Draszik 	     "gout_hsi0_ssmt_usb_aclk", "mout_hsi0_bus",
22791891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_ACLK,
22801891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22811891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22821891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_SSMT_USB_PCLK,
22831891e4d4SAndré Draszik 	     "gout_hsi0_ssmt_usb_pclk", "mout_hsi0_bus",
22841891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_SSMT_USB_IPCLKPORT_PCLK,
22851891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22861891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
22871891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_SYSMMU_USB_CLK_S2,
22881891e4d4SAndré Draszik 	     "gout_hsi0_sysmmu_usb_clk_s2", "mout_hsi0_bus",
22891891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSMMU_USB_IPCLKPORT_CLK_S2,
22901891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
22911891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_SYSREG_HSI0_PCLK,
22921891e4d4SAndré Draszik 	     "gout_hsi0_sysreg_hsi0_pclk", "mout_hsi0_bus",
22931891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_SYSREG_HSI0_IPCLKPORT_PCLK,
22941891e4d4SAndré Draszik 	     21, 0, 0),
22951891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_UASC_HSI0_CTRL_ACLK,
22961891e4d4SAndré Draszik 	     "gout_hsi0_uasc_hsi0_ctrl_aclk", "mout_hsi0_bus",
22971891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_ACLK,
22981891e4d4SAndré Draszik 	     21, 0, 0),
22991891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_UASC_HSI0_CTRL_PCLK,
23001891e4d4SAndré Draszik 	     "gout_hsi0_uasc_hsi0_ctrl_pclk", "mout_hsi0_bus",
23011891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_CTRL_IPCLKPORT_PCLK,
23021891e4d4SAndré Draszik 	     21, 0, 0),
23031891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_UASC_HSI0_LINK_ACLK,
23041891e4d4SAndré Draszik 	     "gout_hsi0_uasc_hsi0_link_aclk", "mout_hsi0_bus",
23051891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_ACLK,
23061891e4d4SAndré Draszik 	     21, 0, 0),
23071891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_UASC_HSI0_LINK_PCLK,
23081891e4d4SAndré Draszik 	     "gout_hsi0_uasc_hsi0_link_pclk", "mout_hsi0_bus",
23091891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_UASC_HSI0_LINK_IPCLKPORT_PCLK,
23101891e4d4SAndré Draszik 	     21, 0, 0),
23111891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_ACLK_PHYCTRL,
23121891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_aclk_phyctrl", "mout_hsi0_bus",
23131891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_ACLK_PHYCTRL,
23141891e4d4SAndré Draszik 	     21, 0, 0),
23151891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_BUS_CLK_EARLY,
23161891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_bus_clk_early", "mout_hsi0_bus",
23171891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_BUS_CLK_EARLY,
23181891e4d4SAndré Draszik 	     21, 0, 0),
23191891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USB20_PHY_REFCLK_26,
23201891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usb20_phy_refclk_26", "mout_hsi0_usb20_ref",
23211891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB20_PHY_REFCLK_26,
23221891e4d4SAndré Draszik 	     21, 0, 0),
23231891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USB31DRD_REF_CLK_40,
23241891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usb31drd_ref_clk_40", "mout_hsi0_usb31drd",
23251891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USB31DRD_REF_CLK_40,
23261891e4d4SAndré Draszik 	     21, 0, 0),
23271891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USBDPPHY_REF_SOC_PLL,
23281891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usbdpphy_ref_soc_pll",
23291891e4d4SAndré Draszik 	     "mout_hsi0_usbdpdbg_user",
23301891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_REF_SOC_PLL,
23311891e4d4SAndré Draszik 	     21, 0, 0),
23321891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USBDPPHY_SCL_APB_PCLK,
23331891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usbdpphy_scl_apb_pclk", "mout_hsi0_bus",
23341891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBDPPHY_SCL_APB_PCLK,
23351891e4d4SAndré Draszik 	     21, 0, 0),
23361891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_I_USBPCS_APB_CLK,
23371891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_i_usbpcs_apb_clk", "mout_hsi0_bus",
23381891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_I_USBPCS_APB_CLK,
23391891e4d4SAndré Draszik 	     21, 0, 0),
23401891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_USBDPPHY_I_ACLK,
23411891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_usbdpphy_i_aclk", "mout_hsi0_bus",
23421891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_I_ACLK,
23431891e4d4SAndré Draszik 	     21, 0, 0),
23441891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_USB31DRD_USBDPPHY_UDBG_I_APB_PCLK,
23451891e4d4SAndré Draszik 	     "gout_hsi0_usb31drd_usbdpphy_udbg_i_apb_pclk", "mout_hsi0_bus",
23461891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_USB31DRD_IPCLKPORT_USBDPPHY_UDBG_I_APB_PCLK,
23471891e4d4SAndré Draszik 	     21, 0, 0),
23481891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
23491891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_XIU_D0_HSI0_ACLK,
23501891e4d4SAndré Draszik 	     "gout_hsi0_xiu_d0_hsi0_aclk", "mout_hsi0_bus",
23511891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D0_HSI0_IPCLKPORT_ACLK,
23521891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
23531891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
23541891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_XIU_D1_HSI0_ACLK,
23551891e4d4SAndré Draszik 	     "gout_hsi0_xiu_d1_hsi0_aclk", "mout_hsi0_bus",
23561891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_D1_HSI0_IPCLKPORT_ACLK,
23571891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
23581891e4d4SAndré Draszik 	/* TODO: should have a driver for this */
23591891e4d4SAndré Draszik 	GATE(CLK_GOUT_HSI0_XIU_P_HSI0_ACLK,
23601891e4d4SAndré Draszik 	     "gout_hsi0_xiu_p_hsi0_aclk", "mout_hsi0_bus",
23611891e4d4SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_HSI0_UID_XIU_P_HSI0_IPCLKPORT_ACLK,
23621891e4d4SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
23631891e4d4SAndré Draszik };
23641891e4d4SAndré Draszik 
23651891e4d4SAndré Draszik static const struct samsung_fixed_rate_clock hsi0_fixed_clks[] __initconst = {
23661891e4d4SAndré Draszik 	FRATE(0, "tcxo_hsi1_hsi0", NULL, 0, 26000000),
23671891e4d4SAndré Draszik 	FRATE(0, "usb20phy_phy_clock", NULL, 0, 120000000),
23681891e4d4SAndré Draszik 	/* until we implement APMGSA */
23691891e4d4SAndré Draszik 	FRATE(0, "ioclk_clk_hsi0_alt", NULL, 0, 213000000),
23701891e4d4SAndré Draszik };
23711891e4d4SAndré Draszik 
23721891e4d4SAndré Draszik static const struct samsung_cmu_info hsi0_cmu_info __initconst = {
23731891e4d4SAndré Draszik 	.pll_clks		= cmu_hsi0_pll_clks,
23741891e4d4SAndré Draszik 	.nr_pll_clks		= ARRAY_SIZE(cmu_hsi0_pll_clks),
23751891e4d4SAndré Draszik 	.mux_clks		= hsi0_mux_clks,
23761891e4d4SAndré Draszik 	.nr_mux_clks		= ARRAY_SIZE(hsi0_mux_clks),
23771891e4d4SAndré Draszik 	.div_clks		= hsi0_div_clks,
23781891e4d4SAndré Draszik 	.nr_div_clks		= ARRAY_SIZE(hsi0_div_clks),
23791891e4d4SAndré Draszik 	.gate_clks		= hsi0_gate_clks,
23801891e4d4SAndré Draszik 	.nr_gate_clks		= ARRAY_SIZE(hsi0_gate_clks),
23811891e4d4SAndré Draszik 	.fixed_clks		= hsi0_fixed_clks,
23821891e4d4SAndré Draszik 	.nr_fixed_clks		= ARRAY_SIZE(hsi0_fixed_clks),
23831891e4d4SAndré Draszik 	.nr_clk_ids		= CLKS_NR_HSI0,
23841891e4d4SAndré Draszik 	.clk_regs		= hsi0_clk_regs,
23851891e4d4SAndré Draszik 	.nr_clk_regs		= ARRAY_SIZE(hsi0_clk_regs),
23861891e4d4SAndré Draszik 	.clk_name		= "bus",
23871891e4d4SAndré Draszik };
23881891e4d4SAndré Draszik 
2389093c2900SPeter Griffin /* ---- CMU_HSI2 ------------------------------------------------------------ */
2390093c2900SPeter Griffin 
2391093c2900SPeter Griffin /* Register Offset definitions for CMU_HSI2 (0x14400000) */
2392093c2900SPeter Griffin #define PLL_CON0_MUX_CLKCMU_HSI2_BUS_USER												0x0600
2393093c2900SPeter Griffin #define PLL_CON1_MUX_CLKCMU_HSI2_BUS_USER												0x0604
2394093c2900SPeter Griffin #define PLL_CON0_MUX_CLKCMU_HSI2_MMC_CARD_USER												0x0610
2395093c2900SPeter Griffin #define PLL_CON1_MUX_CLKCMU_HSI2_MMC_CARD_USER												0x0614
2396093c2900SPeter Griffin #define PLL_CON0_MUX_CLKCMU_HSI2_PCIE_USER												0x0620
2397093c2900SPeter Griffin #define PLL_CON1_MUX_CLKCMU_HSI2_PCIE_USER												0x0624
2398093c2900SPeter Griffin #define PLL_CON0_MUX_CLKCMU_HSI2_UFS_EMBD_USER												0x0630
2399093c2900SPeter Griffin #define PLL_CON1_MUX_CLKCMU_HSI2_UFS_EMBD_USER												0x0634
2400093c2900SPeter Griffin #define HSI2_CMU_HSI2_CONTROLLER_OPTION													0x0800
2401093c2900SPeter Griffin #define CLKOUT_CON_BLK_HSI2_CMU_HSI2_CLKOUT0												0x0810
2402093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN					0x2000
2403093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN					0x2004
2404093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_ACLK								0x2008
2405093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_PCLK								0x200c
2406093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_ACLK								0x2010
2407093c2900SPeter Griffin #define CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_PCLK								0x2014
2408093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_D_TZPC_HSI2_IPCLKPORT_PCLK									0x201c
2409093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPC_HSI2_IPCLKPORT_PCLK										0x2020
2410093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPIO_HSI2_IPCLKPORT_PCLK										0x2024
2411093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_HSI2_CMU_HSI2_IPCLKPORT_PCLK									0x2028
2412093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHM_AXI_P_HSI2_IPCLKPORT_I_CLK									0x202c
2413093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHS_ACEL_D_HSI2_IPCLKPORT_I_CLK									0x2030
2414093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_I_ACLK										0x2034
2415093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_SDCLKIN									0x2038
2416093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG				0x203c
2417093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG				0x2040
2418093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG				0x2044
2419093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK				0x2048
2420093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG				0x204c
2421093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG				0x2050
2422093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG				0x2054
2423093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK				0x2058
2424093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PHY_UDBG_I_APB_PCLK						0x205c
2425093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PIPE_PAL_PCIE_INST_0_I_APB_PCLK				0x2060
2426093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_SF_PCIEPHY210X2_LN05LPE_QCH_TM_WRAPPER_INST_0_I_APB_PCLK	0x2064
2427093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4A_1_IPCLKPORT_I_CLK									0x2068
2428093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4B_1_IPCLKPORT_I_CLK									0x206c
2429093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_ACLK										0x2070
2430093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_PCLK										0x2074
2431093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_ACLK									0x2078
2432093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_PCLK									0x207c
2433093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_ACLK									0x2080
2434093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_PCLK									0x2084
2435093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_ACLK									0x2088
2436093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_PCLK									0x208c
2437093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_ACLK									0x2090
2438093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_PCLK									0x2094
2439093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_BUS_IPCLKPORT_CLK								0x2098
2440093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_OSCCLK_IPCLKPORT_CLK								0x209c
2441093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_ACLK										0x20a0
2442093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_PCLK										0x20a4
2443093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSMMU_HSI2_IPCLKPORT_CLK_S2									0x20a8
2444093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSREG_HSI2_IPCLKPORT_PCLK									0x20ac
2445093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_ACLK								0x20b0
2446093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_PCLK								0x20b4
2447093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_ACLK								0x20b8
2448093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_PCLK								0x20bc
2449093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_ACLK								0x20c0
2450093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_PCLK								0x20c4
2451093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_ACLK								0x20c8
2452093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_PCLK								0x20cc
2453093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_ACLK										0x20d0
2454093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO									0x20d4
2455093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK									0x20d8
2456093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_D_HSI2_IPCLKPORT_ACLK										0x20dc
2457093c2900SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_P_HSI2_IPCLKPORT_ACLK										0x20e0
2458093c2900SPeter Griffin #define DMYQCH_CON_PCIE_GEN4_1_QCH_SCLK_1												0x3000
2459093c2900SPeter Griffin #define PCH_CON_LHM_AXI_P_HSI2_PCH													0x3008
2460093c2900SPeter Griffin #define PCH_CON_LHS_ACEL_D_HSI2_PCH													0x300c
2461093c2900SPeter Griffin #define QCH_CON_D_TZPC_HSI2_QCH														0x3010
2462093c2900SPeter Griffin #define QCH_CON_GPC_HSI2_QCH														0x3014
2463093c2900SPeter Griffin #define QCH_CON_GPIO_HSI2_QCH														0x3018
2464093c2900SPeter Griffin #define QCH_CON_HSI2_CMU_HSI2_QCH													0x301c
2465093c2900SPeter Griffin #define QCH_CON_LHM_AXI_P_HSI2_QCH													0x3020
2466093c2900SPeter Griffin #define QCH_CON_LHS_ACEL_D_HSI2_QCH													0x3024
2467093c2900SPeter Griffin #define QCH_CON_MMC_CARD_QCH														0x3028
2468093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_APB_1													0x302c
2469093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_APB_2													0x3030
2470093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_AXI_1													0x3034
2471093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_AXI_2													0x3038
2472093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_DBG_1													0x303c
2473093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_DBG_2													0x3040
2474093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_PCS_APB													0x3044
2475093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_PMA_APB													0x3048
2476093c2900SPeter Griffin #define QCH_CON_PCIE_GEN4_1_QCH_UDBG													0x304c
2477093c2900SPeter Griffin #define QCH_CON_PCIE_IA_GEN4A_1_QCH													0x3050
2478093c2900SPeter Griffin #define QCH_CON_PCIE_IA_GEN4B_1_QCH													0x3054
2479093c2900SPeter Griffin #define QCH_CON_PPMU_HSI2_QCH														0x3058
2480093c2900SPeter Griffin #define QCH_CON_QE_MMC_CARD_HSI2_QCH													0x305c
2481093c2900SPeter Griffin #define QCH_CON_QE_PCIE_GEN4A_HSI2_QCH													0x3060
2482093c2900SPeter Griffin #define QCH_CON_QE_PCIE_GEN4B_HSI2_QCH													0x3064
2483093c2900SPeter Griffin #define QCH_CON_QE_UFS_EMBD_HSI2_QCH													0x3068
2484093c2900SPeter Griffin #define QCH_CON_SSMT_HSI2_QCH														0x306c
2485093c2900SPeter Griffin #define QCH_CON_SSMT_PCIE_IA_GEN4A_1_QCH												0x3070
2486093c2900SPeter Griffin #define QCH_CON_SSMT_PCIE_IA_GEN4B_1_QCH												0x3074
2487093c2900SPeter Griffin #define QCH_CON_SYSMMU_HSI2_QCH														0x3078
2488093c2900SPeter Griffin #define QCH_CON_SYSREG_HSI2_QCH														0x307c
2489093c2900SPeter Griffin #define QCH_CON_UASC_PCIE_GEN4A_DBI_1_QCH												0x3080
2490093c2900SPeter Griffin #define QCH_CON_UASC_PCIE_GEN4A_SLV_1_QCH												0x3084
2491093c2900SPeter Griffin #define QCH_CON_UASC_PCIE_GEN4B_DBI_1_QCH												0x3088
2492093c2900SPeter Griffin #define QCH_CON_UASC_PCIE_GEN4B_SLV_1_QCH												0x308c
2493093c2900SPeter Griffin #define QCH_CON_UFS_EMBD_QCH														0x3090
2494093c2900SPeter Griffin #define QCH_CON_UFS_EMBD_QCH_FMP													0x3094
2495093c2900SPeter Griffin #define QUEUE_CTRL_REG_BLK_HSI2_CMU_HSI2												0x3c00
2496093c2900SPeter Griffin 
2497093c2900SPeter Griffin static const unsigned long cmu_hsi2_clk_regs[] __initconst = {
2498093c2900SPeter Griffin 	PLL_CON0_MUX_CLKCMU_HSI2_BUS_USER,
2499093c2900SPeter Griffin 	PLL_CON1_MUX_CLKCMU_HSI2_BUS_USER,
2500093c2900SPeter Griffin 	PLL_CON0_MUX_CLKCMU_HSI2_MMC_CARD_USER,
2501093c2900SPeter Griffin 	PLL_CON1_MUX_CLKCMU_HSI2_MMC_CARD_USER,
2502093c2900SPeter Griffin 	PLL_CON0_MUX_CLKCMU_HSI2_PCIE_USER,
2503093c2900SPeter Griffin 	PLL_CON1_MUX_CLKCMU_HSI2_PCIE_USER,
2504093c2900SPeter Griffin 	PLL_CON0_MUX_CLKCMU_HSI2_UFS_EMBD_USER,
2505093c2900SPeter Griffin 	PLL_CON1_MUX_CLKCMU_HSI2_UFS_EMBD_USER,
2506093c2900SPeter Griffin 	HSI2_CMU_HSI2_CONTROLLER_OPTION,
2507093c2900SPeter Griffin 	CLKOUT_CON_BLK_HSI2_CMU_HSI2_CLKOUT0,
2508093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN,
2509093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN,
2510093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_ACLK,
2511093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_PCLK,
2512093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_ACLK,
2513093c2900SPeter Griffin 	CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_PCLK,
2514093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_D_TZPC_HSI2_IPCLKPORT_PCLK,
2515093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPC_HSI2_IPCLKPORT_PCLK,
2516093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPIO_HSI2_IPCLKPORT_PCLK,
2517093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_HSI2_CMU_HSI2_IPCLKPORT_PCLK,
2518093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHM_AXI_P_HSI2_IPCLKPORT_I_CLK,
2519093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHS_ACEL_D_HSI2_IPCLKPORT_I_CLK,
2520093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_I_ACLK,
2521093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_SDCLKIN,
2522093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG,
2523093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG,
2524093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG,
2525093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK,
2526093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG,
2527093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG,
2528093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG,
2529093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK,
2530093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PHY_UDBG_I_APB_PCLK,
2531093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PIPE_PAL_PCIE_INST_0_I_APB_PCLK,
2532093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_SF_PCIEPHY210X2_LN05LPE_QCH_TM_WRAPPER_INST_0_I_APB_PCLK,
2533093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4A_1_IPCLKPORT_I_CLK,
2534093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4B_1_IPCLKPORT_I_CLK,
2535093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_ACLK,
2536093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_PCLK,
2537093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_ACLK,
2538093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_PCLK,
2539093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_ACLK,
2540093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_PCLK,
2541093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_ACLK,
2542093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_PCLK,
2543093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_ACLK,
2544093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_PCLK,
2545093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_BUS_IPCLKPORT_CLK,
2546093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_OSCCLK_IPCLKPORT_CLK,
2547093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_ACLK,
2548093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_PCLK,
2549093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSMMU_HSI2_IPCLKPORT_CLK_S2,
2550093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSREG_HSI2_IPCLKPORT_PCLK,
2551093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_ACLK,
2552093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_PCLK,
2553093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_ACLK,
2554093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_PCLK,
2555093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_ACLK,
2556093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_PCLK,
2557093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_ACLK,
2558093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_PCLK,
2559093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_ACLK,
2560093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO,
2561093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK,
2562093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_D_HSI2_IPCLKPORT_ACLK,
2563093c2900SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_P_HSI2_IPCLKPORT_ACLK,
2564093c2900SPeter Griffin 	DMYQCH_CON_PCIE_GEN4_1_QCH_SCLK_1,
2565093c2900SPeter Griffin 	PCH_CON_LHM_AXI_P_HSI2_PCH,
2566093c2900SPeter Griffin 	PCH_CON_LHS_ACEL_D_HSI2_PCH,
2567093c2900SPeter Griffin 	QCH_CON_D_TZPC_HSI2_QCH,
2568093c2900SPeter Griffin 	QCH_CON_GPC_HSI2_QCH,
2569093c2900SPeter Griffin 	QCH_CON_GPIO_HSI2_QCH,
2570093c2900SPeter Griffin 	QCH_CON_HSI2_CMU_HSI2_QCH,
2571093c2900SPeter Griffin 	QCH_CON_LHM_AXI_P_HSI2_QCH,
2572093c2900SPeter Griffin 	QCH_CON_LHS_ACEL_D_HSI2_QCH,
2573093c2900SPeter Griffin 	QCH_CON_MMC_CARD_QCH,
2574093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_APB_1,
2575093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_APB_2,
2576093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_AXI_1,
2577093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_AXI_2,
2578093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_DBG_1,
2579093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_DBG_2,
2580093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_PCS_APB,
2581093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_PMA_APB,
2582093c2900SPeter Griffin 	QCH_CON_PCIE_GEN4_1_QCH_UDBG,
2583093c2900SPeter Griffin 	QCH_CON_PCIE_IA_GEN4A_1_QCH,
2584093c2900SPeter Griffin 	QCH_CON_PCIE_IA_GEN4B_1_QCH,
2585093c2900SPeter Griffin 	QCH_CON_PPMU_HSI2_QCH,
2586093c2900SPeter Griffin 	QCH_CON_QE_MMC_CARD_HSI2_QCH,
2587093c2900SPeter Griffin 	QCH_CON_QE_PCIE_GEN4A_HSI2_QCH,
2588093c2900SPeter Griffin 	QCH_CON_QE_PCIE_GEN4B_HSI2_QCH,
2589093c2900SPeter Griffin 	QCH_CON_QE_UFS_EMBD_HSI2_QCH,
2590093c2900SPeter Griffin 	QCH_CON_SSMT_HSI2_QCH,
2591093c2900SPeter Griffin 	QCH_CON_SSMT_PCIE_IA_GEN4A_1_QCH,
2592093c2900SPeter Griffin 	QCH_CON_SSMT_PCIE_IA_GEN4B_1_QCH,
2593093c2900SPeter Griffin 	QCH_CON_SYSMMU_HSI2_QCH,
2594093c2900SPeter Griffin 	QCH_CON_SYSREG_HSI2_QCH,
2595093c2900SPeter Griffin 	QCH_CON_UASC_PCIE_GEN4A_DBI_1_QCH,
2596093c2900SPeter Griffin 	QCH_CON_UASC_PCIE_GEN4A_SLV_1_QCH,
2597093c2900SPeter Griffin 	QCH_CON_UASC_PCIE_GEN4B_DBI_1_QCH,
2598093c2900SPeter Griffin 	QCH_CON_UASC_PCIE_GEN4B_SLV_1_QCH,
2599093c2900SPeter Griffin 	QCH_CON_UFS_EMBD_QCH,
2600093c2900SPeter Griffin 	QCH_CON_UFS_EMBD_QCH_FMP,
2601093c2900SPeter Griffin 	QUEUE_CTRL_REG_BLK_HSI2_CMU_HSI2,
2602093c2900SPeter Griffin };
2603093c2900SPeter Griffin 
2604093c2900SPeter Griffin PNAME(mout_hsi2_bus_user_p)	= { "oscclk", "dout_cmu_hsi2_bus" };
2605093c2900SPeter Griffin PNAME(mout_hsi2_mmc_card_user_p) = { "oscclk", "dout_cmu_hsi2_mmc_card" };
2606093c2900SPeter Griffin PNAME(mout_hsi2_pcie_user_p)	= { "oscclk", "dout_cmu_hsi2_pcie" };
2607093c2900SPeter Griffin PNAME(mout_hsi2_ufs_embd_user_p) = { "oscclk", "dout_cmu_hsi2_ufs_embd" };
2608093c2900SPeter Griffin 
2609093c2900SPeter Griffin static const struct samsung_mux_clock hsi2_mux_clks[] __initconst = {
2610093c2900SPeter Griffin 	MUX(CLK_MOUT_HSI2_BUS_USER, "mout_hsi2_bus_user", mout_hsi2_bus_user_p,
2611093c2900SPeter Griffin 	    PLL_CON0_MUX_CLKCMU_HSI2_BUS_USER, 4, 1),
2612093c2900SPeter Griffin 	MUX(CLK_MOUT_HSI2_MMC_CARD_USER, "mout_hsi2_mmc_card_user",
2613093c2900SPeter Griffin 	    mout_hsi2_mmc_card_user_p, PLL_CON0_MUX_CLKCMU_HSI2_MMC_CARD_USER,
2614093c2900SPeter Griffin 	    4, 1),
2615093c2900SPeter Griffin 	MUX(CLK_MOUT_HSI2_PCIE_USER, "mout_hsi2_pcie_user",
2616093c2900SPeter Griffin 	    mout_hsi2_pcie_user_p, PLL_CON0_MUX_CLKCMU_HSI2_PCIE_USER,
2617093c2900SPeter Griffin 	    4, 1),
2618093c2900SPeter Griffin 	MUX(CLK_MOUT_HSI2_UFS_EMBD_USER, "mout_hsi2_ufs_embd_user",
2619093c2900SPeter Griffin 	    mout_hsi2_ufs_embd_user_p, PLL_CON0_MUX_CLKCMU_HSI2_UFS_EMBD_USER,
2620093c2900SPeter Griffin 	    4, 1),
2621093c2900SPeter Griffin };
2622093c2900SPeter Griffin 
2623093c2900SPeter Griffin static const struct samsung_gate_clock hsi2_gate_clks[] __initconst = {
2624093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_003_PHY_REFCLK_IN,
2625093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_003_phy_refclk_in",
2626093c2900SPeter Griffin 	     "mout_hsi2_pcie_user",
2627093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN,
2628093c2900SPeter Griffin 	     21, 0, 0),
2629093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_004_PHY_REFCLK_IN,
2630093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_004_phy_refclk_in",
2631093c2900SPeter Griffin 	     "mout_hsi2_pcie_user",
2632093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_PHY_REFCLK_IN,
2633093c2900SPeter Griffin 	     21, 0, 0),
2634093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_PCIE_IA_GEN4A_1_ACLK,
2635093c2900SPeter Griffin 	     "gout_hsi2_ssmt_pcie_ia_gen4a_1_aclk", "mout_hsi2_bus_user",
2636093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_ACLK,
2637093c2900SPeter Griffin 	     21, 0, 0),
2638093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_PCIE_IA_GEN4A_1_PCLK,
2639093c2900SPeter Griffin 	     "gout_hsi2_ssmt_pcie_ia_gen4a_1_pclk", "mout_hsi2_bus_user",
2640093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4A_1_IPCLKPORT_PCLK,
2641093c2900SPeter Griffin 	     21, 0, 0),
2642093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_PCIE_IA_GEN4B_1_ACLK,
2643093c2900SPeter Griffin 	     "gout_hsi2_ssmt_pcie_ia_gen4b_1_aclk", "mout_hsi2_bus_user",
2644093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_ACLK,
2645093c2900SPeter Griffin 	     21, 0, 0),
2646093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_PCIE_IA_GEN4B_1_PCLK,
2647093c2900SPeter Griffin 	     "gout_hsi2_ssmt_pcie_ia_gen4b_1_pclk", "mout_hsi2_bus_user",
2648093c2900SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_HSI2_UID_SSMT_PCIE_IA_GEN4B_1_IPCLKPORT_PCLK,
2649093c2900SPeter Griffin 	     21, 0, 0),
2650093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_D_TZPC_HSI2_PCLK,
2651093c2900SPeter Griffin 	     "gout_hsi2_d_tzpc_hsi2_pclk", "mout_hsi2_bus_user",
2652093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_D_TZPC_HSI2_IPCLKPORT_PCLK,
2653093c2900SPeter Griffin 	     21, 0, 0),
2654093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_GPC_HSI2_PCLK,
2655093c2900SPeter Griffin 	     "gout_hsi2_gpc_hsi2_pclk", "mout_hsi2_bus_user",
2656093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPC_HSI2_IPCLKPORT_PCLK, 21, 0, 0),
2657093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_GPIO_HSI2_PCLK,
2658093c2900SPeter Griffin 	     "gout_hsi2_gpio_hsi2_pclk", "mout_hsi2_bus_user",
2659093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_GPIO_HSI2_IPCLKPORT_PCLK, 21,
2660093c2900SPeter Griffin 	     CLK_IGNORE_UNUSED, 0),
2661093c2900SPeter Griffin 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
2662093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_HSI2_CMU_HSI2_PCLK,
2663093c2900SPeter Griffin 	     "gout_hsi2_hsi2_cmu_hsi2_pclk", "mout_hsi2_bus_user",
2664093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_HSI2_CMU_HSI2_IPCLKPORT_PCLK,
2665093c2900SPeter Griffin 	     21, CLK_IS_CRITICAL, 0),
2666093c2900SPeter Griffin 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
2667093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_LHM_AXI_P_HSI2_I_CLK,
2668093c2900SPeter Griffin 	     "gout_hsi2_lhm_axi_p_hsi2_i_clk", "mout_hsi2_bus_user",
2669093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHM_AXI_P_HSI2_IPCLKPORT_I_CLK,
2670093c2900SPeter Griffin 	     21, CLK_IS_CRITICAL, 0),
2671093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2672093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_LHS_ACEL_D_HSI2_I_CLK,
2673093c2900SPeter Griffin 	     "gout_hsi2_lhs_acel_d_hsi2_i_clk", "mout_hsi2_bus_user",
2674093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_LHS_ACEL_D_HSI2_IPCLKPORT_I_CLK,
2675093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2676093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_MMC_CARD_I_ACLK,
2677093c2900SPeter Griffin 	     "gout_hsi2_mmc_card_i_aclk", "mout_hsi2_bus_user",
2678093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_I_ACLK,
2679093c2900SPeter Griffin 	     21, 0, 0),
2680093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_MMC_CARD_SDCLKIN,
2681093c2900SPeter Griffin 	     "gout_hsi2_mmc_card_sdclkin", "mout_hsi2_mmc_card_user",
2682093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_MMC_CARD_IPCLKPORT_SDCLKIN,
2683093c2900SPeter Griffin 	     21, 0, 0),
2684093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_003_DBI_ACLK_UG,
2685093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_003_dbi_aclk_ug", "mout_hsi2_bus_user",
2686093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG,
2687093c2900SPeter Griffin 	     21, 0, 0),
2688093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_003_MSTR_ACLK_UG,
2689093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_003_mstr_aclk_ug",
2690093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2691093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG,
2692093c2900SPeter Griffin 	     21, 0, 0),
2693093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_003_SLV_ACLK_UG,
2694093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_003_slv_aclk_ug", "mout_hsi2_bus_user",
2695093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_G4X2_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG,
2696093c2900SPeter Griffin 	     21, 0, 0),
2697093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_003_I_DRIVER_APB_CLK,
2698093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_003_i_driver_apb_clk",
2699093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2700093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_003_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK,
2701093c2900SPeter Griffin 	     21, 0, 0),
2702093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_004_DBI_ACLK_UG,
2703093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_004_dbi_aclk_ug", "mout_hsi2_bus_user",
2704093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_DBI_ACLK_UG,
2705093c2900SPeter Griffin 	     21, 0, 0),
2706093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_004_MSTR_ACLK_UG,
2707093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_004_mstr_aclk_ug",
2708093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2709093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG,
2710093c2900SPeter Griffin 	     21, 0, 0),
2711093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_004_SLV_ACLK_UG,
2712093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_004_slv_aclk_ug", "mout_hsi2_bus_user",
2713093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_G4X1_DWC_PCIE_CTL_INST_0_SLV_ACLK_UG,
2714093c2900SPeter Griffin 	     21, 0, 0),
2715093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCIE_004_I_DRIVER_APB_CLK,
2716093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcie_004_i_driver_apb_clk",
2717093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2718093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCIE_004_PCIE_SUB_CTRL_INST_0_I_DRIVER_APB_CLK,
2719093c2900SPeter Griffin 	     21, 0, 0),
2720093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCS_PMA_PHY_UDBG_I_APB_PCLK,
2721093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcs_pma_phy_udbg_i_apb_pclk",
2722093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2723093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PHY_UDBG_I_APB_PCLK,
2724093c2900SPeter Griffin 	     21, 0, 0),
2725093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCS_PMA_PIPE_PAL_PCIE_I_APB_PCLK,
2726093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcs_pma_pipe_pal_pcie_i_apb_pclk",
2727093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2728093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_PIPE_PAL_PCIE_INST_0_I_APB_PCLK,
2729093c2900SPeter Griffin 	     21, 0, 0),
2730093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_GEN4_1_PCS_PMA_PCIEPHY210X2_QCH_I_APB_PCLK,
2731093c2900SPeter Griffin 	     "gout_hsi2_pcie_gen4_1_pcs_pma_pciephy210x2_qch_i_apb_pclk",
2732093c2900SPeter Griffin 	     "mout_hsi2_bus_user",
2733093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_GEN4_1_IPCLKPORT_PCS_PMA_INST_0_SF_PCIEPHY210X2_LN05LPE_QCH_TM_WRAPPER_INST_0_I_APB_PCLK,
2734093c2900SPeter Griffin 	     21, 0, 0),
2735093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_IA_GEN4A_1_I_CLK,
2736093c2900SPeter Griffin 	     "gout_hsi2_pcie_ia_gen4a_1_i_clk", "mout_hsi2_bus_user",
2737093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4A_1_IPCLKPORT_I_CLK,
2738093c2900SPeter Griffin 	     21, 0, 0),
2739093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PCIE_IA_GEN4B_1_I_CLK,
2740093c2900SPeter Griffin 	     "gout_hsi2_pcie_ia_gen4b_1_i_clk", "mout_hsi2_bus_user",
2741093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PCIE_IA_GEN4B_1_IPCLKPORT_I_CLK,
2742093c2900SPeter Griffin 	     21, 0, 0),
2743093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PPMU_HSI2_ACLK,
2744093c2900SPeter Griffin 	     "gout_hsi2_ppmu_hsi2_aclk", "mout_hsi2_bus_user",
2745093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_ACLK,
2746093c2900SPeter Griffin 	     21, 0, 0),
2747093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_PPMU_HSI2_PCLK,
2748093c2900SPeter Griffin 	     "gout_hsi2_ppmu_hsi2_pclk", "mout_hsi2_bus_user",
2749093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_PPMU_HSI2_IPCLKPORT_PCLK,
2750093c2900SPeter Griffin 	     21, 0, 0),
2751093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_MMC_CARD_HSI2_ACLK,
2752093c2900SPeter Griffin 	     "gout_hsi2_qe_mmc_card_hsi2_aclk", "mout_hsi2_bus_user",
2753093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_ACLK,
2754093c2900SPeter Griffin 	     21, 0, 0),
2755093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_MMC_CARD_HSI2_PCLK,
2756093c2900SPeter Griffin 	     "gout_hsi2_qe_mmc_card_hsi2_pclk", "mout_hsi2_bus_user",
2757093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_MMC_CARD_HSI2_IPCLKPORT_PCLK,
2758093c2900SPeter Griffin 	     21, 0, 0),
2759093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_PCIE_GEN4A_HSI2_ACLK,
2760093c2900SPeter Griffin 	     "gout_hsi2_qe_pcie_gen4a_hsi2_aclk", "mout_hsi2_bus_user",
2761093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_ACLK,
2762093c2900SPeter Griffin 	     21, 0, 0),
2763093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_PCIE_GEN4A_HSI2_PCLK,
2764093c2900SPeter Griffin 	     "gout_hsi2_qe_pcie_gen4a_hsi2_pclk", "mout_hsi2_bus_user",
2765093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4A_HSI2_IPCLKPORT_PCLK,
2766093c2900SPeter Griffin 	     21, 0, 0),
2767093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_PCIE_GEN4B_HSI2_ACLK,
2768093c2900SPeter Griffin 	     "gout_hsi2_qe_pcie_gen4b_hsi2_aclk", "mout_hsi2_bus_user",
2769093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_ACLK,
2770093c2900SPeter Griffin 	     21, 0, 0),
2771093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_PCIE_GEN4B_HSI2_PCLK,
2772093c2900SPeter Griffin 	     "gout_hsi2_qe_pcie_gen4b_hsi2_pclk", "mout_hsi2_bus_user",
2773093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_PCIE_GEN4B_HSI2_IPCLKPORT_PCLK,
2774093c2900SPeter Griffin 	     21, 0, 0),
2775093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_UFS_EMBD_HSI2_ACLK,
2776093c2900SPeter Griffin 	     "gout_hsi2_qe_ufs_embd_hsi2_aclk", "mout_hsi2_bus_user",
2777093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_ACLK,
2778093c2900SPeter Griffin 	     21, 0, 0),
2779093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_QE_UFS_EMBD_HSI2_PCLK,
2780093c2900SPeter Griffin 	     "gout_hsi2_qe_ufs_embd_hsi2_pclk", "mout_hsi2_bus_user",
2781093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_QE_UFS_EMBD_HSI2_IPCLKPORT_PCLK,
2782093c2900SPeter Griffin 	     21, 0, 0),
2783093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_CLK_HSI2_BUS_CLK,
2784093c2900SPeter Griffin 	     "gout_hsi2_clk_hsi2_bus_clk", "mout_hsi2_bus_user",
2785093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_BUS_IPCLKPORT_CLK,
2786093c2900SPeter Griffin 	     21, CLK_IS_CRITICAL, 0),
2787093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_CLK_HSI2_OSCCLK_CLK,
2788093c2900SPeter Griffin 	     "gout_hsi2_clk_hsi2_oscclk_clk", "oscclk",
2789093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_RSTNSYNC_CLK_HSI2_OSCCLK_IPCLKPORT_CLK,
2790093c2900SPeter Griffin 	     21, 0, 0),
2791093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2792093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_HSI2_ACLK,
2793093c2900SPeter Griffin 	     "gout_hsi2_ssmt_hsi2_aclk", "mout_hsi2_bus_user",
2794093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_ACLK,
2795093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2796093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2797093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SSMT_HSI2_PCLK,
2798093c2900SPeter Griffin 	     "gout_hsi2_ssmt_hsi2_pclk", "mout_hsi2_bus_user",
2799093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_SSMT_HSI2_IPCLKPORT_PCLK,
2800093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2801093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2802093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SYSMMU_HSI2_CLK_S2,
2803093c2900SPeter Griffin 	     "gout_hsi2_sysmmu_hsi2_clk_s2", "mout_hsi2_bus_user",
2804093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSMMU_HSI2_IPCLKPORT_CLK_S2,
2805093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2806093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_SYSREG_HSI2_PCLK,
2807093c2900SPeter Griffin 	     "gout_hsi2_sysreg_hsi2_pclk", "mout_hsi2_bus_user",
2808093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_SYSREG_HSI2_IPCLKPORT_PCLK,
2809093c2900SPeter Griffin 	     21, 0, 0),
2810093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4A_DBI_1_ACLK,
2811093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4a_dbi_1_aclk", "mout_hsi2_bus_user",
2812093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_ACLK,
2813093c2900SPeter Griffin 	     21, 0, 0),
2814093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4A_DBI_1_PCLK,
2815093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4a_dbi_1_pclk", "mout_hsi2_bus_user",
2816093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_DBI_1_IPCLKPORT_PCLK,
2817093c2900SPeter Griffin 	     21, 0, 0),
2818093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4A_SLV_1_ACLK,
2819093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4a_slv_1_aclk", "mout_hsi2_bus_user",
2820093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_ACLK,
2821093c2900SPeter Griffin 	     21, 0, 0),
2822093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4A_SLV_1_PCLK,
2823093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4a_slv_1_pclk", "mout_hsi2_bus_user",
2824093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4A_SLV_1_IPCLKPORT_PCLK,
2825093c2900SPeter Griffin 	     21, 0, 0),
2826093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4B_DBI_1_ACLK,
2827093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4b_dbi_1_aclk", "mout_hsi2_bus_user",
2828093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_ACLK,
2829093c2900SPeter Griffin 	     21, 0, 0),
2830093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4B_DBI_1_PCLK,
2831093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4b_dbi_1_pclk", "mout_hsi2_bus_user",
2832093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_DBI_1_IPCLKPORT_PCLK,
2833093c2900SPeter Griffin 	     21, 0, 0),
2834093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4B_SLV_1_ACLK,
2835093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4b_slv_1_aclk", "mout_hsi2_bus_user",
2836093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_ACLK,
2837093c2900SPeter Griffin 	     21, 0, 0),
2838093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UASC_PCIE_GEN4B_SLV_1_PCLK,
2839093c2900SPeter Griffin 	     "gout_hsi2_uasc_pcie_gen4b_slv_1_pclk", "mout_hsi2_bus_user",
2840093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UASC_PCIE_GEN4B_SLV_1_IPCLKPORT_PCLK,
2841093c2900SPeter Griffin 	     21, 0, 0),
2842093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UFS_EMBD_I_ACLK,
2843093c2900SPeter Griffin 	     "gout_hsi2_ufs_embd_i_aclk", "mout_hsi2_bus_user",
2844093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_ACLK,
2845093c2900SPeter Griffin 	     21, 0, 0),
2846093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UFS_EMBD_I_CLK_UNIPRO,
2847093c2900SPeter Griffin 	     "gout_hsi2_ufs_embd_i_clk_unipro", "mout_hsi2_ufs_embd_user",
2848093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO,
2849*e61f400dSPeter Griffin 	     21, CLK_IS_CRITICAL, 0),
2850093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_UFS_EMBD_I_FMP_CLK,
2851093c2900SPeter Griffin 	     "gout_hsi2_ufs_embd_i_fmp_clk", "mout_hsi2_bus_user",
2852093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK,
2853093c2900SPeter Griffin 	     21, 0, 0),
2854093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2855093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_XIU_D_HSI2_ACLK,
2856093c2900SPeter Griffin 	     "gout_hsi2_xiu_d_hsi2_aclk", "mout_hsi2_bus_user",
2857093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_D_HSI2_IPCLKPORT_ACLK,
2858093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2859093c2900SPeter Griffin 	/* TODO: should have a driver for this */
2860093c2900SPeter Griffin 	GATE(CLK_GOUT_HSI2_XIU_P_HSI2_ACLK,
2861093c2900SPeter Griffin 	     "gout_hsi2_xiu_p_hsi2_aclk", "mout_hsi2_bus_user",
2862093c2900SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_HSI2_UID_XIU_P_HSI2_IPCLKPORT_ACLK,
2863093c2900SPeter Griffin 	     21, CLK_IGNORE_UNUSED, 0),
2864093c2900SPeter Griffin };
2865093c2900SPeter Griffin 
2866093c2900SPeter Griffin static const struct samsung_cmu_info hsi2_cmu_info __initconst = {
2867093c2900SPeter Griffin 	.mux_clks		= hsi2_mux_clks,
2868093c2900SPeter Griffin 	.nr_mux_clks		= ARRAY_SIZE(hsi2_mux_clks),
2869093c2900SPeter Griffin 	.gate_clks		= hsi2_gate_clks,
2870093c2900SPeter Griffin 	.nr_gate_clks		= ARRAY_SIZE(hsi2_gate_clks),
2871093c2900SPeter Griffin 	.nr_clk_ids		= CLKS_NR_HSI2,
2872093c2900SPeter Griffin 	.clk_regs		= cmu_hsi2_clk_regs,
2873093c2900SPeter Griffin 	.nr_clk_regs		= ARRAY_SIZE(cmu_hsi2_clk_regs),
2874093c2900SPeter Griffin 	.clk_name		= "bus",
2875093c2900SPeter Griffin };
2876093c2900SPeter Griffin 
28772c597bb7SPeter Griffin /* ---- CMU_MISC ------------------------------------------------------------ */
28782c597bb7SPeter Griffin 
28792c597bb7SPeter Griffin /* Register Offset definitions for CMU_MISC (0x10010000) */
28802c597bb7SPeter Griffin #define PLL_CON0_MUX_CLKCMU_MISC_BUS_USER					0x0600
28812c597bb7SPeter Griffin #define PLL_CON1_MUX_CLKCMU_MISC_BUS_USER					0x0604
28822c597bb7SPeter Griffin #define PLL_CON0_MUX_CLKCMU_MISC_SSS_USER					0x0610
28832c597bb7SPeter Griffin #define PLL_CON1_MUX_CLKCMU_MISC_SSS_USER					0x0614
28842c597bb7SPeter Griffin #define MISC_CMU_MISC_CONTROLLER_OPTION						0x0800
28852c597bb7SPeter Griffin #define CLKOUT_CON_BLK_MISC_CMU_MISC_CLKOUT0					0x0810
28862c597bb7SPeter Griffin #define CLK_CON_MUX_MUX_CLK_MISC_GIC						0x1000
28872c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_MISC_BUSP						0x1800
28882c597bb7SPeter Griffin #define CLK_CON_DIV_DIV_CLK_MISC_GIC						0x1804
28892c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_MISC_UID_MISC_CMU_MISC_IPCLKPORT_PCLK		0x2000
28902c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_I_OSCCLK		0x2004
28912c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_I_OSCCLK		0x2008
28922c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_I_OSCCLK		0x200c
28932c597bb7SPeter Griffin #define CLK_CON_GAT_CLK_BLK_MISC_UID_RSTNSYNC_CLK_MISC_OSCCLK_IPCLKPORT_CLK	0x2010
28942c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_ADM_AHB_SSS_IPCLKPORT_HCLKM		0x2014
28952c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_AD_APB_DIT_IPCLKPORT_PCLKM		0x2018
28962c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_AD_APB_PUF_IPCLKPORT_PCLKM		0x201c
28972c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_DIT_IPCLKPORT_ICLKL2A			0x2020
28982c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_D_TZPC_MISC_IPCLKPORT_PCLK		0x2024
28992c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_GIC_IPCLKPORT_GICCLK			0x2028
29002c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_GPC_MISC_IPCLKPORT_PCLK			0x202c
29012c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AST_ICC_CPUGIC_IPCLKPORT_I_CLK	0x2030
29022c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_D_SSS_IPCLKPORT_I_CLK		0x2034
29032c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_GIC_IPCLKPORT_I_CLK		0x2038
29042c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_MISC_IPCLKPORT_I_CLK		0x203c
29052c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_ACEL_D_MISC_IPCLKPORT_I_CLK		0x2040
29062c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AST_IRI_GICCPU_IPCLKPORT_I_CLK	0x2044
29072c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AXI_D_SSS_IPCLKPORT_I_CLK		0x2048
29082c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_MCT_IPCLKPORT_PCLK			0x204c
29092c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_PCLK		0x2050
29102c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_PCLK		0x2054
29112c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_PCLK		0x2058
29122c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_PDMA_IPCLKPORT_ACLK			0x205c
29132c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_DMA_IPCLKPORT_ACLK			0x2060
29142c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_ACLK			0x2064
29152c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_PCLK			0x2068
29162c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_PUF_IPCLKPORT_I_CLK			0x206c
29172c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_ACLK			0x2070
29182c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_PCLK			0x2074
29192c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_ACLK			0x2078
29202c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_PCLK			0x207c
29212c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_ACLK		0x2080
29222c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_PCLK		0x2084
29232c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_ACLK			0x2088
29242c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_PCLK			0x208c
29252c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_ACLK			0x2090
29262c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_PCLK			0x2094
29272c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_ACLK			0x2098
29282c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_PCLK			0x209c
29292c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSD_IPCLKPORT_CLK	0x20a0
29302c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSP_IPCLKPORT_CLK	0x20a4
29312c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_GIC_IPCLKPORT_CLK	0x20a8
29322c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_SSS_IPCLKPORT_CLK	0x20ac
29332c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_ACLK			0x20b0
29342c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_PCLK			0x20b4
29352c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SPDMA_IPCLKPORT_ACLK			0x20b8
29362c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_ACLK			0x20bc
29372c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_PCLK			0x20c0
29382c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_ACLK			0x20c4
29392c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_PCLK			0x20c8
29402c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_ACLK		0x20cc
29412c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_PCLK		0x20d0
29422c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_ACLK			0x20d4
29432c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_PCLK			0x20d8
29442c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_ACLK			0x20dc
29452c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_PCLK			0x20e0
29462c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_ACLK			0x20e4
29472c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_PCLK			0x20e8
29482c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_ACLK			0x20ec
29492c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_PCLK			0x20f0
29502c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_MISC_IPCLKPORT_CLK_S2		0x20f4
29512c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_SSS_IPCLKPORT_CLK_S1		0x20f8
29522c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSREG_MISC_IPCLKPORT_PCLK		0x20fc
29532c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_SUB_IPCLKPORT_PCLK			0x2100
29542c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_TOP_IPCLKPORT_PCLK			0x2104
29552c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER0_IPCLKPORT_PCLK		0x2108
29562c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER1_IPCLKPORT_PCLK		0x210c
29572c597bb7SPeter Griffin #define CLK_CON_GAT_GOUT_BLK_MISC_UID_XIU_D_MISC_IPCLKPORT_ACLK			0x2110
29582c597bb7SPeter Griffin #define DMYQCH_CON_PPMU_DMA_QCH							0x3000
29592c597bb7SPeter Griffin #define DMYQCH_CON_PUF_QCH							0x3004
29602c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_D_SSS_PCH						0x300c
29612c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_P_GIC_PCH						0x3010
29622c597bb7SPeter Griffin #define PCH_CON_LHM_AXI_P_MISC_PCH						0x3014
29632c597bb7SPeter Griffin #define PCH_CON_LHS_ACEL_D_MISC_PCH						0x3018
29642c597bb7SPeter Griffin #define PCH_CON_LHS_AST_IRI_GICCPU_PCH						0x301c
29652c597bb7SPeter Griffin #define PCH_CON_LHS_AXI_D_SSS_PCH						0x3020
29662c597bb7SPeter Griffin #define QCH_CON_ADM_AHB_SSS_QCH							0x3024
29672c597bb7SPeter Griffin #define QCH_CON_DIT_QCH								0x3028
29682c597bb7SPeter Griffin #define QCH_CON_GIC_QCH								0x3030
29692c597bb7SPeter Griffin #define QCH_CON_LHM_AST_ICC_CPUGIC_QCH						0x3038
29702c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_D_SSS_QCH						0x303c
29712c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_P_GIC_QCH						0x3040
29722c597bb7SPeter Griffin #define QCH_CON_LHM_AXI_P_MISC_QCH						0x3044
29732c597bb7SPeter Griffin #define QCH_CON_LHS_ACEL_D_MISC_QCH						0x3048
29742c597bb7SPeter Griffin #define QCH_CON_LHS_AST_IRI_GICCPU_QCH						0x304c
29752c597bb7SPeter Griffin #define QCH_CON_LHS_AXI_D_SSS_QCH						0x3050
29762c597bb7SPeter Griffin #define QCH_CON_MCT_QCH								0x3054
29772c597bb7SPeter Griffin #define QCH_CON_MISC_CMU_MISC_QCH						0x3058
29782c597bb7SPeter Griffin #define QCH_CON_OTP_CON_BIRA_QCH						0x305c
29792c597bb7SPeter Griffin #define QCH_CON_OTP_CON_BISR_QCH						0x3060
29802c597bb7SPeter Griffin #define QCH_CON_OTP_CON_TOP_QCH							0x3064
29812c597bb7SPeter Griffin #define QCH_CON_PDMA_QCH							0x3068
29822c597bb7SPeter Griffin #define QCH_CON_PPMU_MISC_QCH							0x306c
29832c597bb7SPeter Griffin #define QCH_CON_QE_DIT_QCH							0x3070
29842c597bb7SPeter Griffin #define QCH_CON_QE_PDMA_QCH							0x3074
29852c597bb7SPeter Griffin #define QCH_CON_QE_PPMU_DMA_QCH							0x3078
29862c597bb7SPeter Griffin #define QCH_CON_QE_RTIC_QCH							0x307c
29872c597bb7SPeter Griffin #define QCH_CON_QE_SPDMA_QCH							0x3080
29882c597bb7SPeter Griffin #define QCH_CON_QE_SSS_QCH							0x3084
29892c597bb7SPeter Griffin #define QCH_CON_RTIC_QCH							0x3088
29902c597bb7SPeter Griffin #define QCH_CON_SPDMA_QCH							0x308c
29912c597bb7SPeter Griffin #define QCH_CON_SSMT_DIT_QCH							0x3090
29922c597bb7SPeter Griffin #define QCH_CON_SSMT_PDMA_QCH							0x3094
29932c597bb7SPeter Griffin #define QCH_CON_SSMT_PPMU_DMA_QCH						0x3098
29942c597bb7SPeter Griffin #define QCH_CON_SSMT_RTIC_QCH							0x309c
29952c597bb7SPeter Griffin #define QCH_CON_SSMT_SPDMA_QCH							0x30a0
29962c597bb7SPeter Griffin #define QCH_CON_SSMT_SSS_QCH							0x30a4
29972c597bb7SPeter Griffin #define QCH_CON_SSS_QCH								0x30a8
29982c597bb7SPeter Griffin #define QCH_CON_SYSMMU_MISC_QCH							0x30ac
29992c597bb7SPeter Griffin #define QCH_CON_SYSMMU_SSS_QCH							0x30b0
30002c597bb7SPeter Griffin #define QCH_CON_SYSREG_MISC_QCH							0x30b4
30012c597bb7SPeter Griffin #define QCH_CON_TMU_SUB_QCH							0x30b8
30022c597bb7SPeter Griffin #define QCH_CON_TMU_TOP_QCH							0x30bc
30032c597bb7SPeter Griffin #define QCH_CON_WDT_CLUSTER0_QCH						0x30c0
30042c597bb7SPeter Griffin #define QCH_CON_WDT_CLUSTER1_QCH						0x30c4
30052c597bb7SPeter Griffin #define QUEUE_CTRL_REG_BLK_MISC_CMU_MISC					0x3c00
30062c597bb7SPeter Griffin 
30072c597bb7SPeter Griffin static const unsigned long misc_clk_regs[] __initconst = {
30082c597bb7SPeter Griffin 	PLL_CON0_MUX_CLKCMU_MISC_BUS_USER,
30092c597bb7SPeter Griffin 	PLL_CON1_MUX_CLKCMU_MISC_BUS_USER,
30102c597bb7SPeter Griffin 	PLL_CON0_MUX_CLKCMU_MISC_SSS_USER,
30112c597bb7SPeter Griffin 	PLL_CON1_MUX_CLKCMU_MISC_SSS_USER,
30122c597bb7SPeter Griffin 	MISC_CMU_MISC_CONTROLLER_OPTION,
30132c597bb7SPeter Griffin 	CLKOUT_CON_BLK_MISC_CMU_MISC_CLKOUT0,
30142c597bb7SPeter Griffin 	CLK_CON_MUX_MUX_CLK_MISC_GIC,
30152c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_MISC_BUSP,
30162c597bb7SPeter Griffin 	CLK_CON_DIV_DIV_CLK_MISC_GIC,
30172c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_MISC_UID_MISC_CMU_MISC_IPCLKPORT_PCLK,
30182c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_I_OSCCLK,
30192c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_I_OSCCLK,
30202c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_I_OSCCLK,
30212c597bb7SPeter Griffin 	CLK_CON_GAT_CLK_BLK_MISC_UID_RSTNSYNC_CLK_MISC_OSCCLK_IPCLKPORT_CLK,
30222c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_ADM_AHB_SSS_IPCLKPORT_HCLKM,
30232c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_AD_APB_DIT_IPCLKPORT_PCLKM,
30242c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_AD_APB_PUF_IPCLKPORT_PCLKM,
30252c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_DIT_IPCLKPORT_ICLKL2A,
30262c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_D_TZPC_MISC_IPCLKPORT_PCLK,
30272c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_GIC_IPCLKPORT_GICCLK,
30282c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_GPC_MISC_IPCLKPORT_PCLK,
30292c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AST_ICC_CPUGIC_IPCLKPORT_I_CLK,
30302c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_D_SSS_IPCLKPORT_I_CLK,
30312c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_GIC_IPCLKPORT_I_CLK,
30322c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_MISC_IPCLKPORT_I_CLK,
30332c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_ACEL_D_MISC_IPCLKPORT_I_CLK,
30342c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AST_IRI_GICCPU_IPCLKPORT_I_CLK,
30352c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AXI_D_SSS_IPCLKPORT_I_CLK,
30362c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_MCT_IPCLKPORT_PCLK,
30372c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_PCLK,
30382c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_PCLK,
30392c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_PCLK,
30402c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_PDMA_IPCLKPORT_ACLK,
30412c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_DMA_IPCLKPORT_ACLK,
30422c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_ACLK,
30432c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_PCLK,
30442c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_PUF_IPCLKPORT_I_CLK,
30452c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_ACLK,
30462c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_PCLK,
30472c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_ACLK,
30482c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_PCLK,
30492c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_ACLK,
30502c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_PCLK,
30512c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_ACLK,
30522c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_PCLK,
30532c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_ACLK,
30542c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_PCLK,
30552c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_ACLK,
30562c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_PCLK,
30572c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSD_IPCLKPORT_CLK,
30582c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSP_IPCLKPORT_CLK,
30592c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_GIC_IPCLKPORT_CLK,
30602c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_SSS_IPCLKPORT_CLK,
30612c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_ACLK,
30622c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_PCLK,
30632c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SPDMA_IPCLKPORT_ACLK,
30642c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_ACLK,
30652c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_PCLK,
30662c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_ACLK,
30672c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_PCLK,
30682c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_ACLK,
30692c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_PCLK,
30702c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_ACLK,
30712c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_PCLK,
30722c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_ACLK,
30732c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_PCLK,
30742c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_ACLK,
30752c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_PCLK,
30762c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_ACLK,
30772c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_PCLK,
30782c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_MISC_IPCLKPORT_CLK_S2,
30792c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_SSS_IPCLKPORT_CLK_S1,
30802c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSREG_MISC_IPCLKPORT_PCLK,
30812c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_SUB_IPCLKPORT_PCLK,
30822c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_TOP_IPCLKPORT_PCLK,
30832c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER0_IPCLKPORT_PCLK,
30842c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER1_IPCLKPORT_PCLK,
30852c597bb7SPeter Griffin 	CLK_CON_GAT_GOUT_BLK_MISC_UID_XIU_D_MISC_IPCLKPORT_ACLK,
30862c597bb7SPeter Griffin 	DMYQCH_CON_PPMU_DMA_QCH,
30872c597bb7SPeter Griffin 	DMYQCH_CON_PUF_QCH,
30882c597bb7SPeter Griffin 	PCH_CON_LHM_AXI_D_SSS_PCH,
30892c597bb7SPeter Griffin 	PCH_CON_LHM_AXI_P_GIC_PCH,
30902c597bb7SPeter Griffin 	PCH_CON_LHM_AXI_P_MISC_PCH,
30912c597bb7SPeter Griffin 	PCH_CON_LHS_ACEL_D_MISC_PCH,
30922c597bb7SPeter Griffin 	PCH_CON_LHS_AST_IRI_GICCPU_PCH,
30932c597bb7SPeter Griffin 	PCH_CON_LHS_AXI_D_SSS_PCH,
30942c597bb7SPeter Griffin 	QCH_CON_ADM_AHB_SSS_QCH,
30952c597bb7SPeter Griffin 	QCH_CON_DIT_QCH,
30962c597bb7SPeter Griffin 	QCH_CON_GIC_QCH,
30972c597bb7SPeter Griffin 	QCH_CON_LHM_AST_ICC_CPUGIC_QCH,
30982c597bb7SPeter Griffin 	QCH_CON_LHM_AXI_D_SSS_QCH,
30992c597bb7SPeter Griffin 	QCH_CON_LHM_AXI_P_GIC_QCH,
31002c597bb7SPeter Griffin 	QCH_CON_LHM_AXI_P_MISC_QCH,
31012c597bb7SPeter Griffin 	QCH_CON_LHS_ACEL_D_MISC_QCH,
31022c597bb7SPeter Griffin 	QCH_CON_LHS_AST_IRI_GICCPU_QCH,
31032c597bb7SPeter Griffin 	QCH_CON_LHS_AXI_D_SSS_QCH,
31042c597bb7SPeter Griffin 	QCH_CON_MCT_QCH,
31052c597bb7SPeter Griffin 	QCH_CON_MISC_CMU_MISC_QCH,
31062c597bb7SPeter Griffin 	QCH_CON_OTP_CON_BIRA_QCH,
31072c597bb7SPeter Griffin 	QCH_CON_OTP_CON_BISR_QCH,
31082c597bb7SPeter Griffin 	QCH_CON_OTP_CON_TOP_QCH,
31092c597bb7SPeter Griffin 	QCH_CON_PDMA_QCH,
31102c597bb7SPeter Griffin 	QCH_CON_PPMU_MISC_QCH,
31112c597bb7SPeter Griffin 	QCH_CON_QE_DIT_QCH,
31122c597bb7SPeter Griffin 	QCH_CON_QE_PDMA_QCH,
31132c597bb7SPeter Griffin 	QCH_CON_QE_PPMU_DMA_QCH,
31142c597bb7SPeter Griffin 	QCH_CON_QE_RTIC_QCH,
31152c597bb7SPeter Griffin 	QCH_CON_QE_SPDMA_QCH,
31162c597bb7SPeter Griffin 	QCH_CON_QE_SSS_QCH,
31172c597bb7SPeter Griffin 	QCH_CON_RTIC_QCH,
31182c597bb7SPeter Griffin 	QCH_CON_SPDMA_QCH,
31192c597bb7SPeter Griffin 	QCH_CON_SSMT_DIT_QCH,
31202c597bb7SPeter Griffin 	QCH_CON_SSMT_PDMA_QCH,
31212c597bb7SPeter Griffin 	QCH_CON_SSMT_PPMU_DMA_QCH,
31222c597bb7SPeter Griffin 	QCH_CON_SSMT_RTIC_QCH,
31232c597bb7SPeter Griffin 	QCH_CON_SSMT_SPDMA_QCH,
31242c597bb7SPeter Griffin 	QCH_CON_SSMT_SSS_QCH,
31252c597bb7SPeter Griffin 	QCH_CON_SSS_QCH,
31262c597bb7SPeter Griffin 	QCH_CON_SYSMMU_MISC_QCH,
31272c597bb7SPeter Griffin 	QCH_CON_SYSMMU_SSS_QCH,
31282c597bb7SPeter Griffin 	QCH_CON_SYSREG_MISC_QCH,
31292c597bb7SPeter Griffin 	QCH_CON_TMU_SUB_QCH,
31302c597bb7SPeter Griffin 	QCH_CON_TMU_TOP_QCH,
31312c597bb7SPeter Griffin 	QCH_CON_WDT_CLUSTER0_QCH,
31322c597bb7SPeter Griffin 	QCH_CON_WDT_CLUSTER1_QCH,
31332c597bb7SPeter Griffin 	QUEUE_CTRL_REG_BLK_MISC_CMU_MISC,
31342c597bb7SPeter Griffin };
31352c597bb7SPeter Griffin 
31362c597bb7SPeter Griffin  /* List of parent clocks for Muxes in CMU_MISC */
31372c597bb7SPeter Griffin PNAME(mout_misc_bus_user_p)		= { "oscclk", "dout_cmu_misc_bus" };
31382c597bb7SPeter Griffin PNAME(mout_misc_sss_user_p)		= { "oscclk", "dout_cmu_misc_sss" };
31392c597bb7SPeter Griffin PNAME(mout_misc_gic_p)			= { "dout_misc_gic", "oscclk" };
31402c597bb7SPeter Griffin 
31412c597bb7SPeter Griffin static const struct samsung_mux_clock misc_mux_clks[] __initconst = {
31422c597bb7SPeter Griffin 	MUX(CLK_MOUT_MISC_BUS_USER, "mout_misc_bus_user", mout_misc_bus_user_p,
31432c597bb7SPeter Griffin 	    PLL_CON0_MUX_CLKCMU_MISC_BUS_USER, 4, 1),
31442c597bb7SPeter Griffin 	MUX(CLK_MOUT_MISC_SSS_USER, "mout_misc_sss_user", mout_misc_sss_user_p,
31452c597bb7SPeter Griffin 	    PLL_CON0_MUX_CLKCMU_MISC_SSS_USER, 4, 1),
31462c597bb7SPeter Griffin 	MUX(CLK_MOUT_MISC_GIC, "mout_misc_gic", mout_misc_gic_p,
31472c597bb7SPeter Griffin 	    CLK_CON_MUX_MUX_CLK_MISC_GIC, 0, 0),
31482c597bb7SPeter Griffin };
31492c597bb7SPeter Griffin 
31502c597bb7SPeter Griffin static const struct samsung_div_clock misc_div_clks[] __initconst = {
31512c597bb7SPeter Griffin 	DIV(CLK_DOUT_MISC_BUSP, "dout_misc_busp", "mout_misc_bus_user",
31522c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_MISC_BUSP, 0, 3),
31532c597bb7SPeter Griffin 	DIV(CLK_DOUT_MISC_GIC, "dout_misc_gic", "mout_misc_bus_user",
31542c597bb7SPeter Griffin 	    CLK_CON_DIV_DIV_CLK_MISC_GIC, 0, 3),
31552c597bb7SPeter Griffin };
31562c597bb7SPeter Griffin 
31572c597bb7SPeter Griffin static const struct samsung_gate_clock misc_gate_clks[] __initconst = {
31582c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_MISC_CMU_MISC_PCLK,
31592c597bb7SPeter Griffin 	     "gout_misc_misc_cmu_misc_pclk", "dout_misc_busp",
31602c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_MISC_UID_MISC_CMU_MISC_IPCLKPORT_PCLK,
31612c597bb7SPeter Griffin 	     21, 0, 0),
31622c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_BIRA_I_OSCCLK,
31632c597bb7SPeter Griffin 	     "gout_misc_otp_con_bira_i_oscclk", "oscclk",
31642c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_I_OSCCLK,
31652c597bb7SPeter Griffin 	     21, 0, 0),
31662c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_BISR_I_OSCCLK,
31672c597bb7SPeter Griffin 	     "gout_misc_otp_con_bisr_i_oscclk", "oscclk",
31682c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_I_OSCCLK,
31692c597bb7SPeter Griffin 	     21, 0, 0),
31702c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_TOP_I_OSCCLK,
31712c597bb7SPeter Griffin 	     "gout_misc_otp_con_top_i_oscclk", "oscclk",
31722c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_I_OSCCLK,
31732c597bb7SPeter Griffin 	     21, 0, 0),
31742c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_CLK_MISC_OSCCLK_CLK,
31752c597bb7SPeter Griffin 	     "gout_misc_clk_misc_oscclk_clk", "oscclk",
31762c597bb7SPeter Griffin 	     CLK_CON_GAT_CLK_BLK_MISC_UID_RSTNSYNC_CLK_MISC_OSCCLK_IPCLKPORT_CLK,
31772c597bb7SPeter Griffin 	     21, 0, 0),
31782c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_ADM_AHB_SSS_HCLKM,
31792c597bb7SPeter Griffin 	     "gout_misc_adm_ahb_sss_hclkm", "mout_misc_sss_user",
31802c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_ADM_AHB_SSS_IPCLKPORT_HCLKM,
31812c597bb7SPeter Griffin 	     21, 0, 0),
31822c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_AD_APB_DIT_PCLKM,
31832c597bb7SPeter Griffin 	     "gout_misc_ad_apb_dit_pclkm", "mout_misc_bus_user",
31842c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_AD_APB_DIT_IPCLKPORT_PCLKM,
31852c597bb7SPeter Griffin 	     21, 0, 0),
31862c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_D_TZPC_MISC_PCLK,
31872c597bb7SPeter Griffin 	     "gout_misc_d_tzpc_misc_pclk", "dout_misc_busp",
31882c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_D_TZPC_MISC_IPCLKPORT_PCLK,
31892c597bb7SPeter Griffin 	     21, 0, 0),
31902c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_GIC_GICCLK,
31912c597bb7SPeter Griffin 	     "gout_misc_gic_gicclk", "mout_misc_gic",
31922c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_GIC_IPCLKPORT_GICCLK,
31932c597bb7SPeter Griffin 	     21, 0, 0),
31942c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_GPC_MISC_PCLK,
31952c597bb7SPeter Griffin 	     "gout_misc_gpc_misc_pclk", "dout_misc_busp",
31962c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_GPC_MISC_IPCLKPORT_PCLK,
31972c597bb7SPeter Griffin 	     21, 0, 0),
31982c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHM_AST_ICC_CPUGIC_I_CLK,
31992c597bb7SPeter Griffin 	     "gout_misc_lhm_ast_icc_gpugic_i_clk", "mout_misc_gic",
32002c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AST_ICC_CPUGIC_IPCLKPORT_I_CLK,
32012c597bb7SPeter Griffin 	     21, 0, 0),
32022c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHM_AXI_D_SSS_I_CLK,
32032c597bb7SPeter Griffin 	     "gout_misc_lhm_axi_d_sss_i_clk", "mout_misc_bus_user",
32042c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_D_SSS_IPCLKPORT_I_CLK,
32052c597bb7SPeter Griffin 	     21, 0, 0),
32062c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHM_AXI_P_GIC_I_CLK,
32072c597bb7SPeter Griffin 	     "gout_misc_lhm_axi_p_gic_i_clk", "mout_misc_gic",
32082c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_GIC_IPCLKPORT_I_CLK,
32092c597bb7SPeter Griffin 	     21, 0, 0),
32102c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHM_AXI_P_MISC_I_CLK,
32112c597bb7SPeter Griffin 	     "gout_misc_lhm_axi_p_misc_i_clk", "dout_misc_busp",
32122c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHM_AXI_P_MISC_IPCLKPORT_I_CLK,
32132c597bb7SPeter Griffin 	     21, 0, 0),
32142c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHS_ACEL_D_MISC_I_CLK,
32152c597bb7SPeter Griffin 	     "gout_misc_lhs_acel_d_misc_i_clk", "mout_misc_bus_user",
32162c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_ACEL_D_MISC_IPCLKPORT_I_CLK,
32172c597bb7SPeter Griffin 	     21, 0, 0),
32182c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHS_AST_IRI_GICCPU_I_CLK,
32192c597bb7SPeter Griffin 	     "gout_misc_lhs_ast_iri_giccpu_i_clk", "mout_misc_gic",
32202c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AST_IRI_GICCPU_IPCLKPORT_I_CLK,
32212c597bb7SPeter Griffin 	     21, 0, 0),
32222c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_LHS_AXI_D_SSS_I_CLK,
32232c597bb7SPeter Griffin 	     "gout_misc_lhs_axi_d_sss_i_clk", "mout_misc_sss_user",
32242c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_LHS_AXI_D_SSS_IPCLKPORT_I_CLK,
32252c597bb7SPeter Griffin 	     21, 0, 0),
32262c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_MCT_PCLK, "gout_misc_mct_pclk",
32272c597bb7SPeter Griffin 	     "dout_misc_busp",
32282c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_MCT_IPCLKPORT_PCLK,
32292c597bb7SPeter Griffin 	     21, 0, 0),
32302c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_BIRA_PCLK,
32312c597bb7SPeter Griffin 	     "gout_misc_otp_con_bira_pclk", "dout_misc_busp",
32322c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BIRA_IPCLKPORT_PCLK,
32332c597bb7SPeter Griffin 	     21, 0, 0),
32342c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_BISR_PCLK,
32352c597bb7SPeter Griffin 	     "gout_misc_otp_con_bisr_pclk", "dout_misc_busp",
32362c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_BISR_IPCLKPORT_PCLK,
32372c597bb7SPeter Griffin 	     21, 0, 0),
32382c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_OTP_CON_TOP_PCLK,
32392c597bb7SPeter Griffin 	     "gout_misc_otp_con_top_pclk", "dout_misc_busp",
32402c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_OTP_CON_TOP_IPCLKPORT_PCLK,
32412c597bb7SPeter Griffin 	     21, 0, 0),
32422c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_PDMA_ACLK, "gout_misc_pdma_aclk",
32432c597bb7SPeter Griffin 	     "mout_misc_bus_user",
32442c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_PDMA_IPCLKPORT_ACLK,
32452c597bb7SPeter Griffin 	     21, 0, 0),
32462c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_PPMU_MISC_ACLK,
32472c597bb7SPeter Griffin 	     "gout_misc_ppmu_misc_aclk", "mout_misc_bus_user",
32482c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_ACLK,
32492c597bb7SPeter Griffin 	     21, 0, 0),
32502c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_PPMU_MISC_PCLK,
32512c597bb7SPeter Griffin 	     "gout_misc_ppmu_misc_pclk", "dout_misc_busp",
32522c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_PPMU_MISC_IPCLKPORT_PCLK,
32532c597bb7SPeter Griffin 	     21, 0, 0),
32542c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_PUF_I_CLK,
32552c597bb7SPeter Griffin 	     "gout_misc_puf_i_clk", "mout_misc_sss_user",
32562c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_PUF_IPCLKPORT_I_CLK,
32572c597bb7SPeter Griffin 	     21, 0, 0),
32582c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_DIT_ACLK,
32592c597bb7SPeter Griffin 	     "gout_misc_qe_dit_aclk", "mout_misc_bus_user",
32602c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_ACLK,
32612c597bb7SPeter Griffin 	     21, 0, 0),
32622c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_DIT_PCLK,
32632c597bb7SPeter Griffin 	     "gout_misc_qe_dit_pclk", "dout_misc_busp",
32642c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_DIT_IPCLKPORT_PCLK,
32652c597bb7SPeter Griffin 	     21, 0, 0),
32662c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_PDMA_ACLK,
32672c597bb7SPeter Griffin 	     "gout_misc_qe_pdma_aclk", "mout_misc_bus_user",
32682c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_ACLK,
32692c597bb7SPeter Griffin 	     21, 0, 0),
32702c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_PDMA_PCLK,
32712c597bb7SPeter Griffin 	     "gout_misc_qe_pdma_pclk", "dout_misc_busp",
32722c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PDMA_IPCLKPORT_PCLK,
32732c597bb7SPeter Griffin 	     21, 0, 0),
32742c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_PPMU_DMA_ACLK,
32752c597bb7SPeter Griffin 	     "gout_misc_qe_ppmu_dma_aclk", "mout_misc_bus_user",
32762c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_ACLK,
32772c597bb7SPeter Griffin 	     21, 0, 0),
32782c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_PPMU_DMA_PCLK,
32792c597bb7SPeter Griffin 	     "gout_misc_qe_ppmu_dma_pclk", "dout_misc_busp",
32802c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_PPMU_DMA_IPCLKPORT_PCLK,
32812c597bb7SPeter Griffin 	     21, 0, 0),
32822c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_RTIC_ACLK,
32832c597bb7SPeter Griffin 	     "gout_misc_qe_rtic_aclk", "mout_misc_bus_user",
32842c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_ACLK,
32852c597bb7SPeter Griffin 	     21, 0, 0),
32862c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_RTIC_PCLK,
32872c597bb7SPeter Griffin 	     "gout_misc_qe_rtic_pclk", "dout_misc_busp",
32882c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_RTIC_IPCLKPORT_PCLK,
32892c597bb7SPeter Griffin 	     21, 0, 0),
32902c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_SPDMA_ACLK,
32912c597bb7SPeter Griffin 	     "gout_misc_qe_spdma_aclk", "mout_misc_bus_user",
32922c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_ACLK,
32932c597bb7SPeter Griffin 	     21, 0, 0),
32942c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_SPDMA_PCLK,
32952c597bb7SPeter Griffin 	     "gout_misc_qe_spdma_pclk", "dout_misc_busp",
32962c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SPDMA_IPCLKPORT_PCLK,
32972c597bb7SPeter Griffin 	     21, 0, 0),
32982c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_SSS_ACLK,
32992c597bb7SPeter Griffin 	     "gout_misc_qe_sss_aclk", "mout_misc_sss_user",
33002c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_ACLK,
33012c597bb7SPeter Griffin 	     21, 0, 0),
33022c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_QE_SSS_PCLK,
33032c597bb7SPeter Griffin 	     "gout_misc_qe_sss_pclk", "dout_misc_busp",
33042c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_QE_SSS_IPCLKPORT_PCLK,
33052c597bb7SPeter Griffin 	     21, 0, 0),
33062c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_CLK_MISC_BUSD_CLK,
33072c597bb7SPeter Griffin 	     "gout_misc_clk_misc_busd_clk", "mout_misc_bus_user",
33082c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSD_IPCLKPORT_CLK,
33092c597bb7SPeter Griffin 	     21, 0, 0),
33102c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_CLK_MISC_BUSP_CLK,
33112c597bb7SPeter Griffin 	     "gout_misc_clk_misc_busp_clk", "dout_misc_busp",
33122c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_BUSP_IPCLKPORT_CLK,
33132c597bb7SPeter Griffin 	     21, 0, 0),
33142c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_CLK_MISC_GIC_CLK,
33152c597bb7SPeter Griffin 	     "gout_misc_clk_misc_gic_clk", "mout_misc_gic",
33162c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_GIC_IPCLKPORT_CLK,
33172c597bb7SPeter Griffin 	     21, 0, 0),
33182c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_CLK_MISC_SSS_CLK,
33192c597bb7SPeter Griffin 	     "gout_misc_clk_misc_sss_clk", "mout_misc_sss_user",
33202c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RSTNSYNC_CLK_MISC_SSS_IPCLKPORT_CLK,
33212c597bb7SPeter Griffin 	     21, 0, 0),
33222c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_RTIC_I_ACLK,
33232c597bb7SPeter Griffin 	     "gout_misc_rtic_i_aclk", "mout_misc_bus_user",
33242c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_ACLK,
33252c597bb7SPeter Griffin 	     21, 0, 0),
33262c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_RTIC_I_PCLK, "gout_misc_rtic_i_pclk",
33272c597bb7SPeter Griffin 	     "dout_misc_busp",
33282c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_RTIC_IPCLKPORT_I_PCLK,
33292c597bb7SPeter Griffin 	     21, 0, 0),
33302c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SPDMA_ACLK,
33312c597bb7SPeter Griffin 	     "gout_misc_spdma_ipclockport_aclk", "mout_misc_bus_user",
33322c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SPDMA_IPCLKPORT_ACLK,
33332c597bb7SPeter Griffin 	     21, 0, 0),
33342c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_DIT_ACLK,
33352c597bb7SPeter Griffin 	     "gout_misc_ssmt_dit_aclk", "mout_misc_bus_user",
33362c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_ACLK,
33372c597bb7SPeter Griffin 	     21, 0, 0),
33382c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_DIT_PCLK,
33392c597bb7SPeter Griffin 	     "gout_misc_ssmt_dit_pclk", "dout_misc_busp",
33402c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_DIT_IPCLKPORT_PCLK,
33412c597bb7SPeter Griffin 	     21, 0, 0),
33422c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_PDMA_ACLK,
33432c597bb7SPeter Griffin 	     "gout_misc_ssmt_pdma_aclk", "mout_misc_bus_user",
33442c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_ACLK,
33452c597bb7SPeter Griffin 	     21, 0, 0),
33462c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_PDMA_PCLK,
33472c597bb7SPeter Griffin 	     "gout_misc_ssmt_pdma_pclk", "dout_misc_busp",
33482c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PDMA_IPCLKPORT_PCLK,
33492c597bb7SPeter Griffin 	     21, 0, 0),
33502c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_PPMU_DMA_ACLK,
33512c597bb7SPeter Griffin 	     "gout_misc_ssmt_ppmu_dma_aclk", "mout_misc_bus_user",
33522c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_ACLK,
33532c597bb7SPeter Griffin 	     21, 0, 0),
33542c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_PPMU_DMA_PCLK,
33552c597bb7SPeter Griffin 	     "gout_misc_ssmt_ppmu_dma_pclk", "dout_misc_busp",
33562c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_PPMU_DMA_IPCLKPORT_PCLK,
33572c597bb7SPeter Griffin 	     21, 0, 0),
33582c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_RTIC_ACLK,
33592c597bb7SPeter Griffin 	     "gout_misc_ssmt_rtic_aclk", "mout_misc_bus_user",
33602c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_ACLK,
33612c597bb7SPeter Griffin 	     21, 0, 0),
33622c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_RTIC_PCLK,
33632c597bb7SPeter Griffin 	     "gout_misc_ssmt_rtic_pclk", "dout_misc_busp",
33642c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_RTIC_IPCLKPORT_PCLK,
33652c597bb7SPeter Griffin 	     21, 0, 0),
33662c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_SPDMA_ACLK,
33672c597bb7SPeter Griffin 	     "gout_misc_ssmt_spdma_aclk", "mout_misc_bus_user",
33682c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_ACLK,
33692c597bb7SPeter Griffin 	     21, 0, 0),
33702c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_SPDMA_PCLK,
33712c597bb7SPeter Griffin 	     "gout_misc_ssmt_spdma_pclk", "dout_misc_busp",
33722c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SPDMA_IPCLKPORT_PCLK,
33732c597bb7SPeter Griffin 	     21, 0, 0),
33742c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_SSS_ACLK,
33752c597bb7SPeter Griffin 	     "gout_misc_ssmt_sss_aclk", "mout_misc_bus_user",
33762c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_ACLK,
33772c597bb7SPeter Griffin 	     21, 0, 0),
33782c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSMT_SSS_PCLK,
33792c597bb7SPeter Griffin 	     "gout_misc_ssmt_sss_pclk", "dout_misc_busp",
33802c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSMT_SSS_IPCLKPORT_PCLK,
33812c597bb7SPeter Griffin 	     21, 0, 0),
33822c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSS_I_ACLK,
33832c597bb7SPeter Griffin 	     "gout_misc_sss_i_aclk", "mout_misc_bus_user",
33842c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_ACLK,
33852c597bb7SPeter Griffin 	     21, 0, 0),
33862c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SSS_I_PCLK,
33872c597bb7SPeter Griffin 	     "gout_misc_sss_i_pclk", "dout_misc_busp",
33882c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SSS_IPCLKPORT_I_PCLK,
33892c597bb7SPeter Griffin 	     21, 0, 0),
33902c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SYSMMU_MISC_CLK_S2,
33912c597bb7SPeter Griffin 	     "gout_misc_sysmmu_misc_clk_s2", "mout_misc_bus_user",
33922c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_MISC_IPCLKPORT_CLK_S2,
33932c597bb7SPeter Griffin 	     21, 0, 0),
33942c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SYSMMU_SSS_CLK_S1,
33952c597bb7SPeter Griffin 	     "gout_misc_sysmmu_sss_clk_s1", "mout_misc_sss_user",
33962c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSMMU_SSS_IPCLKPORT_CLK_S1,
33972c597bb7SPeter Griffin 	     21, 0, 0),
33982c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_SYSREG_MISC_PCLK,
33992c597bb7SPeter Griffin 	     "gout_misc_sysreg_misc_pclk", "dout_misc_busp",
34002c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_SYSREG_MISC_IPCLKPORT_PCLK,
34012c597bb7SPeter Griffin 	     21, 0, 0),
34022c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_TMU_SUB_PCLK,
34032c597bb7SPeter Griffin 	     "gout_misc_tmu_sub_pclk", "dout_misc_busp",
34042c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_SUB_IPCLKPORT_PCLK,
34052c597bb7SPeter Griffin 	     21, 0, 0),
34062c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_TMU_TOP_PCLK,
34072c597bb7SPeter Griffin 	     "gout_misc_tmu_top_pclk", "dout_misc_busp",
34082c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_TMU_TOP_IPCLKPORT_PCLK,
34092c597bb7SPeter Griffin 	     21, 0, 0),
34102c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_WDT_CLUSTER0_PCLK,
34112c597bb7SPeter Griffin 	     "gout_misc_wdt_cluster0_pclk", "dout_misc_busp",
34122c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER0_IPCLKPORT_PCLK,
34132c597bb7SPeter Griffin 	     21, 0, 0),
34142c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_WDT_CLUSTER1_PCLK,
34152c597bb7SPeter Griffin 	     "gout_misc_wdt_cluster1_pclk", "dout_misc_busp",
34162c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_WDT_CLUSTER1_IPCLKPORT_PCLK,
34172c597bb7SPeter Griffin 	     21, 0, 0),
34182c597bb7SPeter Griffin 	GATE(CLK_GOUT_MISC_XIU_D_MISC_ACLK,
34192c597bb7SPeter Griffin 	     "gout_misc_xiu_d_misc_aclk", "mout_misc_bus_user",
34202c597bb7SPeter Griffin 	     CLK_CON_GAT_GOUT_BLK_MISC_UID_XIU_D_MISC_IPCLKPORT_ACLK,
34212c597bb7SPeter Griffin 	     21, 0, 0),
34222c597bb7SPeter Griffin };
34232c597bb7SPeter Griffin 
34242c597bb7SPeter Griffin static const struct samsung_cmu_info misc_cmu_info __initconst = {
34252c597bb7SPeter Griffin 	.mux_clks		= misc_mux_clks,
34262c597bb7SPeter Griffin 	.nr_mux_clks		= ARRAY_SIZE(misc_mux_clks),
34272c597bb7SPeter Griffin 	.div_clks		= misc_div_clks,
34282c597bb7SPeter Griffin 	.nr_div_clks		= ARRAY_SIZE(misc_div_clks),
34292c597bb7SPeter Griffin 	.gate_clks		= misc_gate_clks,
34302c597bb7SPeter Griffin 	.nr_gate_clks		= ARRAY_SIZE(misc_gate_clks),
34312c597bb7SPeter Griffin 	.nr_clk_ids		= CLKS_NR_MISC,
34322c597bb7SPeter Griffin 	.clk_regs		= misc_clk_regs,
34332c597bb7SPeter Griffin 	.nr_clk_regs		= ARRAY_SIZE(misc_clk_regs),
3434d76c762eSTudor Ambarus 	.clk_name		= "bus",
34352c597bb7SPeter Griffin };
34362c597bb7SPeter Griffin 
gs101_cmu_misc_init(struct device_node * np)3437163cd42fSPeter Griffin static void __init gs101_cmu_misc_init(struct device_node *np)
3438163cd42fSPeter Griffin {
3439163cd42fSPeter Griffin 	exynos_arm64_register_cmu(NULL, np, &misc_cmu_info);
3440163cd42fSPeter Griffin }
3441163cd42fSPeter Griffin 
3442163cd42fSPeter Griffin /* Register CMU_MISC early, as it's needed for MCT timer */
3443163cd42fSPeter Griffin CLK_OF_DECLARE(gs101_cmu_misc, "google,gs101-cmu-misc",
3444163cd42fSPeter Griffin 	       gs101_cmu_misc_init);
3445163cd42fSPeter Griffin 
3446893f133aSTudor Ambarus /* ---- CMU_PERIC0 ---------------------------------------------------------- */
3447893f133aSTudor Ambarus 
3448893f133aSTudor Ambarus /* Register Offset definitions for CMU_PERIC0 (0x10800000) */
3449893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER		0x0600
3450893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_BUS_USER		0x0604
3451893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_I3C_USER		0x0610
3452893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_I3C_USER		0x0614
3453893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI0_UART_USER	0x0620
3454893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI0_UART_USER	0x0624
3455893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI14_USI_USER	0x0640
3456893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI14_USI_USER	0x0644
3457893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI1_USI_USER	0x0650
3458893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI1_USI_USER	0x0654
3459893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI2_USI_USER	0x0660
3460893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI2_USI_USER	0x0664
3461893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI3_USI_USER	0x0670
3462893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI3_USI_USER	0x0674
3463893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI4_USI_USER	0x0680
3464893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI4_USI_USER	0x0684
3465893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI5_USI_USER	0x0690
3466893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI5_USI_USER	0x0694
3467893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI6_USI_USER	0x06a0
3468893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI6_USI_USER	0x06a4
3469893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI7_USI_USER	0x06b0
3470893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI7_USI_USER	0x06b4
3471893f133aSTudor Ambarus #define PLL_CON0_MUX_CLKCMU_PERIC0_USI8_USI_USER	0x06c0
3472893f133aSTudor Ambarus #define PLL_CON1_MUX_CLKCMU_PERIC0_USI8_USI_USER	0x06c4
3473893f133aSTudor Ambarus #define PERIC0_CMU_PERIC0_CONTROLLER_OPTION		0x0800
3474893f133aSTudor Ambarus #define CLKOUT_CON_BLK_PERIC0_CMU_PERIC0_CLKOUT0	0x0810
3475893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_I3C			0x1800
3476893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI0_UART		0x1804
3477893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI14_USI		0x180c
3478893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI1_USI		0x1810
3479893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI2_USI		0x1814
3480893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI3_USI		0x1820
3481893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI4_USI		0x1824
3482893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI5_USI		0x1828
3483893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI6_USI		0x182c
3484893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI7_USI		0x1830
3485893f133aSTudor Ambarus #define CLK_CON_DIV_DIV_CLK_PERIC0_USI8_USI		0x1834
3486893f133aSTudor Ambarus #define CLK_CON_BUF_CLKBUF_PERIC0_IP			0x2000
3487893f133aSTudor Ambarus #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK			0x2004
3488893f133aSTudor Ambarus #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_OSCCLK_IPCLKPORT_CLK		0x2008
3489893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_D_TZPC_PERIC0_IPCLKPORT_PCLK			0x200c
3490893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPC_PERIC0_IPCLKPORT_PCLK			0x2010
3491893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPIO_PERIC0_IPCLKPORT_PCLK			0x2014
3492893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_LHM_AXI_P_PERIC0_IPCLKPORT_I_CLK		0x2018
3493893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0			0x201c
3494893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1			0x2020
3495893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10			0x2024
3496893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11			0x2028
3497893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_12			0x202c
3498893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_13			0x2030
3499893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_14			0x2034
3500893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_15			0x2038
3501893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2			0x203c
3502893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3			0x2040
3503893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4			0x2044
3504893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5			0x2048
3505893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6			0x204c
3506893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7			0x2050
3507893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8			0x2054
3508893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9			0x2058
3509893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0			0x205c
3510893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1			0x2060
3511893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10			0x2064
3512893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11			0x2068
3513893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_12			0x206c
3514893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_13			0x2070
3515893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_14			0x2074
3516893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_15			0x2078
3517893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2			0x207c
3518893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3			0x2080
3519893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4			0x2084
3520893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5			0x2088
3521893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6			0x208c
3522893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7			0x2090
3523893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8			0x2094
3524893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9			0x2098
3525893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_0			0x209c
3526893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_2			0x20a4
3527893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_0			0x20a8
3528893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_2			0x20b0
3529893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_BUSP_IPCLKPORT_CLK		0x20b4
3530893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_I3C_IPCLKPORT_CLK		0x20b8
3531893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI0_UART_IPCLKPORT_CLK	0x20bc
3532893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI14_USI_IPCLKPORT_CLK	0x20c4
3533893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI1_USI_IPCLKPORT_CLK	0x20c8
3534893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI2_USI_IPCLKPORT_CLK	0x20cc
3535893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI3_USI_IPCLKPORT_CLK	0x20d0
3536893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI4_USI_IPCLKPORT_CLK	0x20d4
3537893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI5_USI_IPCLKPORT_CLK	0x20d8
3538893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI6_USI_IPCLKPORT_CLK	0x20dc
3539893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI7_USI_IPCLKPORT_CLK	0x20e0
3540893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI8_USI_IPCLKPORT_CLK	0x20e4
3541893f133aSTudor Ambarus #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_SYSREG_PERIC0_IPCLKPORT_PCLK			0x20e8
3542893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S1			0x3000
3543893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S2			0x3004
3544893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S3			0x3008
3545893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S4			0x300c
3546893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S5			0x3010
3547893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S6			0x3014
3548893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S7			0x3018
3549893f133aSTudor Ambarus #define DMYQCH_CON_PERIC0_TOP0_QCH_S8			0x301c
3550893f133aSTudor Ambarus #define PCH_CON_LHM_AXI_P_PERIC0_PCH			0x3020
3551893f133aSTudor Ambarus #define QCH_CON_D_TZPC_PERIC0_QCH			0x3024
3552893f133aSTudor Ambarus #define QCH_CON_GPC_PERIC0_QCH				0x3028
3553893f133aSTudor Ambarus #define QCH_CON_GPIO_PERIC0_QCH				0x302c
3554893f133aSTudor Ambarus #define QCH_CON_LHM_AXI_P_PERIC0_QCH			0x3030
3555893f133aSTudor Ambarus #define QCH_CON_PERIC0_CMU_PERIC0_QCH			0x3034
3556893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C1			0x3038
3557893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C2			0x303c
3558893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C3			0x3040
3559893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C4			0x3044
3560893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C5			0x3048
3561893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C6			0x304c
3562893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C7			0x3050
3563893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_I3C8			0x3054
3564893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI1_USI		0x3058
3565893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI2_USI		0x305c
3566893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI3_USI		0x3060
3567893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI4_USI		0x3064
3568893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI5_USI		0x3068
3569893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI6_USI		0x306c
3570893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI7_USI		0x3070
3571893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP0_QCH_USI8_USI		0x3074
3572893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP1_QCH_USI0_UART		0x3078
3573893f133aSTudor Ambarus #define QCH_CON_PERIC0_TOP1_QCH_USI14_UART		0x307c
3574893f133aSTudor Ambarus #define QCH_CON_SYSREG_PERIC0_QCH			0x3080
3575893f133aSTudor Ambarus #define QUEUE_CTRL_REG_BLK_PERIC0_CMU_PERIC0		0x3c00
3576893f133aSTudor Ambarus 
3577893f133aSTudor Ambarus static const unsigned long peric0_clk_regs[] __initconst = {
3578893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER,
3579893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_BUS_USER,
3580893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_I3C_USER,
3581893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_I3C_USER,
3582893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI0_UART_USER,
3583893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI0_UART_USER,
3584893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI14_USI_USER,
3585893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI14_USI_USER,
3586893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI1_USI_USER,
3587893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI1_USI_USER,
3588893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI2_USI_USER,
3589893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI2_USI_USER,
3590893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI3_USI_USER,
3591893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI3_USI_USER,
3592893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI4_USI_USER,
3593893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI4_USI_USER,
3594893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI5_USI_USER,
3595893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI5_USI_USER,
3596893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI6_USI_USER,
3597893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI6_USI_USER,
3598893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI7_USI_USER,
3599893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI7_USI_USER,
3600893f133aSTudor Ambarus 	PLL_CON0_MUX_CLKCMU_PERIC0_USI8_USI_USER,
3601893f133aSTudor Ambarus 	PLL_CON1_MUX_CLKCMU_PERIC0_USI8_USI_USER,
3602893f133aSTudor Ambarus 	PERIC0_CMU_PERIC0_CONTROLLER_OPTION,
3603893f133aSTudor Ambarus 	CLKOUT_CON_BLK_PERIC0_CMU_PERIC0_CLKOUT0,
3604893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_I3C,
3605893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI0_UART,
3606893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI14_USI,
3607893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI1_USI,
3608893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI2_USI,
3609893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI3_USI,
3610893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI4_USI,
3611893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI5_USI,
3612893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI6_USI,
3613893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI6_USI,
3614893f133aSTudor Ambarus 	CLK_CON_DIV_DIV_CLK_PERIC0_USI8_USI,
3615893f133aSTudor Ambarus 	CLK_CON_BUF_CLKBUF_PERIC0_IP,
3616893f133aSTudor Ambarus 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK,
3617893f133aSTudor Ambarus 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_OSCCLK_IPCLKPORT_CLK,
3618893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_D_TZPC_PERIC0_IPCLKPORT_PCLK,
3619893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPC_PERIC0_IPCLKPORT_PCLK,
3620893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPIO_PERIC0_IPCLKPORT_PCLK,
3621893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_LHM_AXI_P_PERIC0_IPCLKPORT_I_CLK,
3622893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0,
3623893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1,
3624893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10,
3625893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11,
3626893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_12,
3627893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_13,
3628893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_14,
3629893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_15,
3630893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2,
3631893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3,
3632893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4,
3633893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5,
3634893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6,
3635893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7,
3636893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8,
3637893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9,
3638893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0,
3639893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1,
3640893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10,
3641893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11,
3642893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_12,
3643893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_13,
3644893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_14,
3645893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_15,
3646893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2,
3647893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3,
3648893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4,
3649893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5,
3650893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6,
3651893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7,
3652893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8,
3653893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9,
3654893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_0,
3655893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_2,
3656893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_0,
3657893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_2,
3658893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_BUSP_IPCLKPORT_CLK,
3659893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_I3C_IPCLKPORT_CLK,
3660893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI0_UART_IPCLKPORT_CLK,
3661893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI14_USI_IPCLKPORT_CLK,
3662893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI1_USI_IPCLKPORT_CLK,
3663893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI2_USI_IPCLKPORT_CLK,
3664893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI3_USI_IPCLKPORT_CLK,
3665893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI4_USI_IPCLKPORT_CLK,
3666893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI5_USI_IPCLKPORT_CLK,
3667893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI6_USI_IPCLKPORT_CLK,
3668893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI7_USI_IPCLKPORT_CLK,
3669893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI8_USI_IPCLKPORT_CLK,
3670893f133aSTudor Ambarus 	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_SYSREG_PERIC0_IPCLKPORT_PCLK,
3671893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S1,
3672893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S2,
3673893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S3,
3674893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S4,
3675893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S5,
3676893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S6,
3677893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S7,
3678893f133aSTudor Ambarus 	DMYQCH_CON_PERIC0_TOP0_QCH_S8,
3679893f133aSTudor Ambarus 	PCH_CON_LHM_AXI_P_PERIC0_PCH,
3680893f133aSTudor Ambarus 	QCH_CON_D_TZPC_PERIC0_QCH,
3681893f133aSTudor Ambarus 	QCH_CON_GPC_PERIC0_QCH,
3682893f133aSTudor Ambarus 	QCH_CON_GPIO_PERIC0_QCH,
3683893f133aSTudor Ambarus 	QCH_CON_LHM_AXI_P_PERIC0_QCH,
3684893f133aSTudor Ambarus 	QCH_CON_PERIC0_CMU_PERIC0_QCH,
3685893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C1,
3686893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C2,
3687893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C3,
3688893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C4,
3689893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C5,
3690893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C6,
3691893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C7,
3692893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_I3C8,
3693893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI1_USI,
3694893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI2_USI,
3695893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI3_USI,
3696893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI4_USI,
3697893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI5_USI,
3698893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI6_USI,
3699893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI7_USI,
3700893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP0_QCH_USI8_USI,
3701893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP1_QCH_USI0_UART,
3702893f133aSTudor Ambarus 	QCH_CON_PERIC0_TOP1_QCH_USI14_UART,
3703893f133aSTudor Ambarus 	QCH_CON_SYSREG_PERIC0_QCH,
3704893f133aSTudor Ambarus 	QUEUE_CTRL_REG_BLK_PERIC0_CMU_PERIC0,
3705893f133aSTudor Ambarus };
3706893f133aSTudor Ambarus 
3707893f133aSTudor Ambarus /* List of parent clocks for Muxes in CMU_PERIC0 */
3708893f133aSTudor Ambarus PNAME(mout_peric0_bus_user_p)		= { "oscclk", "dout_cmu_peric0_bus" };
3709893f133aSTudor Ambarus PNAME(mout_peric0_i3c_user_p)		= { "oscclk", "dout_cmu_peric0_ip" };
3710893f133aSTudor Ambarus PNAME(mout_peric0_usi0_uart_user_p)	= { "oscclk", "dout_cmu_peric0_ip" };
3711893f133aSTudor Ambarus PNAME(mout_peric0_usi_usi_user_p)	= { "oscclk", "dout_cmu_peric0_ip" };
3712893f133aSTudor Ambarus 
3713893f133aSTudor Ambarus static const struct samsung_mux_clock peric0_mux_clks[] __initconst = {
3714893f133aSTudor Ambarus 	MUX(CLK_MOUT_PERIC0_BUS_USER, "mout_peric0_bus_user",
3715893f133aSTudor Ambarus 	    mout_peric0_bus_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER, 4, 1),
3716893f133aSTudor Ambarus 	MUX(CLK_MOUT_PERIC0_I3C_USER, "mout_peric0_i3c_user",
3717893f133aSTudor Ambarus 	    mout_peric0_i3c_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_I3C_USER, 4, 1),
3718893f133aSTudor Ambarus 	MUX(CLK_MOUT_PERIC0_USI0_UART_USER,
3719893f133aSTudor Ambarus 	    "mout_peric0_usi0_uart_user", mout_peric0_usi0_uart_user_p,
3720893f133aSTudor Ambarus 	    PLL_CON0_MUX_CLKCMU_PERIC0_USI0_UART_USER, 4, 1),
37217b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI14_USI_USER,
3722893f133aSTudor Ambarus 	     "mout_peric0_usi14_usi_user", mout_peric0_usi_usi_user_p,
3723893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI14_USI_USER, 4, 1),
37247b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI1_USI_USER,
3725893f133aSTudor Ambarus 	     "mout_peric0_usi1_usi_user", mout_peric0_usi_usi_user_p,
3726893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI1_USI_USER, 4, 1),
37277b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI2_USI_USER,
3728893f133aSTudor Ambarus 	     "mout_peric0_usi2_usi_user", mout_peric0_usi_usi_user_p,
3729893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI2_USI_USER, 4, 1),
37307b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI3_USI_USER,
3731893f133aSTudor Ambarus 	     "mout_peric0_usi3_usi_user", mout_peric0_usi_usi_user_p,
3732893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI3_USI_USER, 4, 1),
37337b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI4_USI_USER,
3734893f133aSTudor Ambarus 	     "mout_peric0_usi4_usi_user", mout_peric0_usi_usi_user_p,
3735893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI4_USI_USER, 4, 1),
37367b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI5_USI_USER,
3737893f133aSTudor Ambarus 	     "mout_peric0_usi5_usi_user", mout_peric0_usi_usi_user_p,
3738893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI5_USI_USER, 4, 1),
37397b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI6_USI_USER,
3740893f133aSTudor Ambarus 	     "mout_peric0_usi6_usi_user", mout_peric0_usi_usi_user_p,
3741893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI6_USI_USER, 4, 1),
37427b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI7_USI_USER,
3743893f133aSTudor Ambarus 	     "mout_peric0_usi7_usi_user", mout_peric0_usi_usi_user_p,
3744893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI7_USI_USER, 4, 1),
37457b54d911STudor Ambarus 	nMUX(CLK_MOUT_PERIC0_USI8_USI_USER,
3746893f133aSTudor Ambarus 	     "mout_peric0_usi8_usi_user", mout_peric0_usi_usi_user_p,
3747893f133aSTudor Ambarus 	     PLL_CON0_MUX_CLKCMU_PERIC0_USI8_USI_USER, 4, 1),
3748893f133aSTudor Ambarus };
3749893f133aSTudor Ambarus 
3750893f133aSTudor Ambarus static const struct samsung_div_clock peric0_div_clks[] __initconst = {
3751893f133aSTudor Ambarus 	DIV(CLK_DOUT_PERIC0_I3C, "dout_peric0_i3c", "mout_peric0_i3c_user",
3752893f133aSTudor Ambarus 	    CLK_CON_DIV_DIV_CLK_PERIC0_I3C, 0, 4),
3753893f133aSTudor Ambarus 	DIV(CLK_DOUT_PERIC0_USI0_UART,
3754893f133aSTudor Ambarus 	    "dout_peric0_usi0_uart", "mout_peric0_usi0_uart_user",
3755893f133aSTudor Ambarus 	    CLK_CON_DIV_DIV_CLK_PERIC0_USI0_UART, 0, 4),
37567b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI14_USI,
3757893f133aSTudor Ambarus 	      "dout_peric0_usi14_usi", "mout_peric0_usi14_usi_user",
37587b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI14_USI, 0, 4,
37597b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37607b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI1_USI,
3761893f133aSTudor Ambarus 	      "dout_peric0_usi1_usi", "mout_peric0_usi1_usi_user",
37627b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI1_USI, 0, 4,
37637b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37647b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI2_USI,
3765893f133aSTudor Ambarus 	      "dout_peric0_usi2_usi", "mout_peric0_usi2_usi_user",
37667b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI2_USI, 0, 4,
37677b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37687b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI3_USI,
3769893f133aSTudor Ambarus 	      "dout_peric0_usi3_usi", "mout_peric0_usi3_usi_user",
37707b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI3_USI, 0, 4,
37717b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37727b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI4_USI,
3773893f133aSTudor Ambarus 	      "dout_peric0_usi4_usi", "mout_peric0_usi4_usi_user",
37747b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI4_USI, 0, 4,
37757b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37767b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI5_USI,
3777893f133aSTudor Ambarus 	      "dout_peric0_usi5_usi", "mout_peric0_usi5_usi_user",
37787b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI5_USI, 0, 4,
37797b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37807b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI6_USI,
3781893f133aSTudor Ambarus 	      "dout_peric0_usi6_usi", "mout_peric0_usi6_usi_user",
37827b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI6_USI, 0, 4,
37837b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37847b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI7_USI,
3785893f133aSTudor Ambarus 	      "dout_peric0_usi7_usi", "mout_peric0_usi7_usi_user",
37867b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI7_USI, 0, 4,
37877b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
37887b54d911STudor Ambarus 	DIV_F(CLK_DOUT_PERIC0_USI8_USI,
3789893f133aSTudor Ambarus 	      "dout_peric0_usi8_usi", "mout_peric0_usi8_usi_user",
37907b54d911STudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC0_USI8_USI, 0, 4,
37917b54d911STudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
3792893f133aSTudor Ambarus };
3793893f133aSTudor Ambarus 
3794893f133aSTudor Ambarus static const struct samsung_gate_clock peric0_gate_clks[] __initconst = {
3795893f133aSTudor Ambarus 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
3796893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_CMU_PERIC0_PCLK,
3797893f133aSTudor Ambarus 	     "gout_peric0_peric0_cmu_peric0_pclk", "mout_peric0_bus_user",
3798893f133aSTudor Ambarus 	     CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK,
3799893f133aSTudor Ambarus 	     21, CLK_IS_CRITICAL, 0),
3800893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_OSCCLK_CLK,
3801893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_oscclk_clk", "oscclk",
3802893f133aSTudor Ambarus 	     CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_OSCCLK_IPCLKPORT_CLK,
3803893f133aSTudor Ambarus 	     21, 0, 0),
3804893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_D_TZPC_PERIC0_PCLK,
3805893f133aSTudor Ambarus 	     "gout_peric0_d_tzpc_peric0_pclk", "mout_peric0_bus_user",
3806893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_D_TZPC_PERIC0_IPCLKPORT_PCLK,
3807893f133aSTudor Ambarus 	     21, 0, 0),
3808893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_GPC_PERIC0_PCLK,
3809893f133aSTudor Ambarus 	     "gout_peric0_gpc_peric0_pclk", "mout_peric0_bus_user",
3810893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPC_PERIC0_IPCLKPORT_PCLK,
3811893f133aSTudor Ambarus 	     21, 0, 0),
3812893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_GPIO_PERIC0_PCLK,
3813893f133aSTudor Ambarus 	     "gout_peric0_gpio_peric0_pclk", "mout_peric0_bus_user",
3814893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_GPIO_PERIC0_IPCLKPORT_PCLK,
38158a96d270SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
3816893f133aSTudor Ambarus 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
3817893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_LHM_AXI_P_PERIC0_I_CLK,
3818893f133aSTudor Ambarus 	     "gout_peric0_lhm_axi_p_peric0_i_clk", "mout_peric0_bus_user",
3819893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_LHM_AXI_P_PERIC0_IPCLKPORT_I_CLK,
3820893f133aSTudor Ambarus 	     21, CLK_IS_CRITICAL, 0),
3821893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_0,
3822893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_0", "dout_peric0_usi1_usi",
3823893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0,
38247b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3825893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_1,
3826893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_1", "dout_peric0_usi2_usi",
3827893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1,
38287b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3829893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_10,
3830893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_10", "dout_peric0_i3c",
3831893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10,
3832893f133aSTudor Ambarus 	     21, 0, 0),
3833893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_11,
3834893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_11", "dout_peric0_i3c",
3835893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11,
3836893f133aSTudor Ambarus 	     21, 0, 0),
3837893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_12,
3838893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_12", "dout_peric0_i3c",
3839893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_12,
3840893f133aSTudor Ambarus 	     21, 0, 0),
3841893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_13,
3842893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_13", "dout_peric0_i3c",
3843893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_13,
3844893f133aSTudor Ambarus 	     21, 0, 0),
3845893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_14,
3846893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_14", "dout_peric0_i3c",
3847893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_14,
3848893f133aSTudor Ambarus 	     21, 0, 0),
3849893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_15,
3850893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_15", "dout_peric0_i3c",
3851893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_15,
3852893f133aSTudor Ambarus 	     21, 0, 0),
3853893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_2,
3854893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_2", "dout_peric0_usi3_usi",
3855893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2,
38567b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3857893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_3,
3858893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_3", "dout_peric0_usi4_usi",
3859893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3,
38607b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3861893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_4,
3862893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_4", "dout_peric0_usi5_usi",
3863893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4,
38647b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3865893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_5,
3866893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_5", "dout_peric0_usi6_usi",
3867893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5,
38687b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3869893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_6,
3870893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_6", "dout_peric0_usi7_usi",
3871893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6,
38727b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3873893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_7,
3874893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_7", "dout_peric0_usi8_usi",
3875893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7,
38767b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3877893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_8,
3878893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_8", "dout_peric0_i3c",
3879893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8,
3880893f133aSTudor Ambarus 	     21, 0, 0),
3881893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_IPCLK_9,
3882893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_ipclk_9", "dout_peric0_i3c",
3883893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9,
3884893f133aSTudor Ambarus 	     21, 0, 0),
3885893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_0,
3886893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_0", "mout_peric0_bus_user",
3887893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0,
3888893f133aSTudor Ambarus 	     21, 0, 0),
3889893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_1,
3890893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_1", "mout_peric0_bus_user",
3891893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1,
3892893f133aSTudor Ambarus 	     21, 0, 0),
3893893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_10,
3894893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_10", "mout_peric0_bus_user",
3895893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10,
3896893f133aSTudor Ambarus 	     21, 0, 0),
3897893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_11,
3898893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_11", "mout_peric0_bus_user",
3899893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11,
3900893f133aSTudor Ambarus 	     21, 0, 0),
3901893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_12,
3902893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_12", "mout_peric0_bus_user",
3903893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_12,
3904893f133aSTudor Ambarus 	     21, 0, 0),
3905893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_13,
3906893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_13", "mout_peric0_bus_user",
3907893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_13,
3908893f133aSTudor Ambarus 	     21, 0, 0),
3909893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_14,
3910893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_14", "mout_peric0_bus_user",
3911893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_14,
3912893f133aSTudor Ambarus 	     21, 0, 0),
3913893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_15,
3914893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_15", "mout_peric0_bus_user",
3915893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_15,
3916893f133aSTudor Ambarus 	     21, 0, 0),
3917893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_2,
3918893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_2", "mout_peric0_bus_user",
3919893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2,
3920893f133aSTudor Ambarus 	     21, 0, 0),
3921893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_3,
3922893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_3", "mout_peric0_bus_user",
3923893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3,
3924893f133aSTudor Ambarus 	     21, 0, 0),
3925893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_4,
3926893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_4", "mout_peric0_bus_user",
3927893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4,
3928893f133aSTudor Ambarus 	     21, 0, 0),
3929893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_5,
3930893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_5", "mout_peric0_bus_user",
3931893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5,
3932893f133aSTudor Ambarus 	     21, 0, 0),
3933893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_6,
3934893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_6", "mout_peric0_bus_user",
3935893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6,
3936893f133aSTudor Ambarus 	     21, 0, 0),
3937893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_7,
3938893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_7", "mout_peric0_bus_user",
3939893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7,
3940893f133aSTudor Ambarus 	     21, 0, 0),
3941893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_8,
3942893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_8", "mout_peric0_bus_user",
3943893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8,
3944893f133aSTudor Ambarus 	     21, 0, 0),
3945893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP0_PCLK_9,
3946893f133aSTudor Ambarus 	     "gout_peric0_peric0_top0_pclk_9", "mout_peric0_bus_user",
3947893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9,
3948893f133aSTudor Ambarus 	     21, 0, 0),
3949893f133aSTudor Ambarus 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
3950893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP1_IPCLK_0,
3951893f133aSTudor Ambarus 	     "gout_peric0_peric0_top1_ipclk_0", "dout_peric0_usi0_uart",
3952893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_0,
3953893f133aSTudor Ambarus 	     21, CLK_IS_CRITICAL, 0),
3954893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP1_IPCLK_2,
3955893f133aSTudor Ambarus 	     "gout_peric0_peric0_top1_ipclk_2", "dout_peric0_usi14_usi",
3956893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_IPCLK_2,
39577b54d911STudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
3958893f133aSTudor Ambarus 	/* Disabling this clock makes the system hang. Mark the clock as critical. */
3959893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP1_PCLK_0,
3960893f133aSTudor Ambarus 	     "gout_peric0_peric0_top1_pclk_0", "mout_peric0_bus_user",
3961893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_0,
3962893f133aSTudor Ambarus 	     21, CLK_IS_CRITICAL, 0),
3963893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_PERIC0_TOP1_PCLK_2,
3964893f133aSTudor Ambarus 	     "gout_peric0_peric0_top1_pclk_2", "mout_peric0_bus_user",
3965893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP1_IPCLKPORT_PCLK_2,
3966893f133aSTudor Ambarus 	     21, 0, 0),
3967893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_BUSP_CLK,
3968893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_busp_clk", "mout_peric0_bus_user",
3969893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_BUSP_IPCLKPORT_CLK,
3970893f133aSTudor Ambarus 	     21, 0, 0),
3971893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_I3C_CLK,
3972893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_i3c_clk", "dout_peric0_i3c",
3973893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_I3C_IPCLKPORT_CLK,
3974893f133aSTudor Ambarus 	     21, 0, 0),
3975893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI0_UART_CLK,
3976893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi0_uart_clk", "dout_peric0_usi0_uart",
3977893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI0_UART_IPCLKPORT_CLK,
3978893f133aSTudor Ambarus 	     21, 0, 0),
3979893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI14_USI_CLK,
3980893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi14_usi_clk", "dout_peric0_usi14_usi",
3981893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI14_USI_IPCLKPORT_CLK,
3982893f133aSTudor Ambarus 	     21, 0, 0),
3983893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI1_USI_CLK,
3984893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi1_usi_clk", "dout_peric0_usi1_usi",
3985893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI1_USI_IPCLKPORT_CLK,
3986893f133aSTudor Ambarus 	     21, 0, 0),
3987893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI2_USI_CLK,
3988893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi2_usi_clk", "dout_peric0_usi2_usi",
3989893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI2_USI_IPCLKPORT_CLK,
3990893f133aSTudor Ambarus 	     21, 0, 0),
3991893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI3_USI_CLK,
3992893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi3_usi_clk", "dout_peric0_usi3_usi",
3993893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI3_USI_IPCLKPORT_CLK,
3994893f133aSTudor Ambarus 	     21, 0, 0),
3995893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI4_USI_CLK,
3996893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi4_usi_clk", "dout_peric0_usi4_usi",
3997893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI4_USI_IPCLKPORT_CLK,
3998893f133aSTudor Ambarus 	     21, 0, 0),
3999893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI5_USI_CLK,
4000893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi5_usi_clk", "dout_peric0_usi5_usi",
4001893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI5_USI_IPCLKPORT_CLK,
4002893f133aSTudor Ambarus 	     21, 0, 0),
4003893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI6_USI_CLK,
4004893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi6_usi_clk", "dout_peric0_usi6_usi",
4005893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI6_USI_IPCLKPORT_CLK,
4006893f133aSTudor Ambarus 	     21, 0, 0),
4007893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI7_USI_CLK,
4008893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi7_usi_clk", "dout_peric0_usi7_usi",
4009893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI7_USI_IPCLKPORT_CLK,
4010893f133aSTudor Ambarus 	     21, 0, 0),
4011893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_CLK_PERIC0_USI8_USI_CLK,
4012893f133aSTudor Ambarus 	     "gout_peric0_clk_peric0_usi8_usi_clk", "dout_peric0_usi8_usi",
4013893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_USI8_USI_IPCLKPORT_CLK,
4014893f133aSTudor Ambarus 	     21, 0, 0),
4015893f133aSTudor Ambarus 	GATE(CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK,
4016893f133aSTudor Ambarus 	     "gout_peric0_sysreg_peric0_pclk", "mout_peric0_bus_user",
4017893f133aSTudor Ambarus 	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_SYSREG_PERIC0_IPCLKPORT_PCLK,
4018893f133aSTudor Ambarus 	     21, 0, 0),
4019893f133aSTudor Ambarus };
4020893f133aSTudor Ambarus 
4021893f133aSTudor Ambarus static const struct samsung_cmu_info peric0_cmu_info __initconst = {
4022893f133aSTudor Ambarus 	.mux_clks		= peric0_mux_clks,
4023893f133aSTudor Ambarus 	.nr_mux_clks		= ARRAY_SIZE(peric0_mux_clks),
4024893f133aSTudor Ambarus 	.div_clks		= peric0_div_clks,
4025893f133aSTudor Ambarus 	.nr_div_clks		= ARRAY_SIZE(peric0_div_clks),
4026893f133aSTudor Ambarus 	.gate_clks		= peric0_gate_clks,
4027893f133aSTudor Ambarus 	.nr_gate_clks		= ARRAY_SIZE(peric0_gate_clks),
4028893f133aSTudor Ambarus 	.nr_clk_ids		= CLKS_NR_PERIC0,
4029893f133aSTudor Ambarus 	.clk_regs		= peric0_clk_regs,
4030893f133aSTudor Ambarus 	.nr_clk_regs		= ARRAY_SIZE(peric0_clk_regs),
4031893f133aSTudor Ambarus 	.clk_name		= "bus",
4032893f133aSTudor Ambarus };
4033893f133aSTudor Ambarus 
40342999e786SAndré Draszik /* ---- CMU_PERIC1 ---------------------------------------------------------- */
40352999e786SAndré Draszik 
40362999e786SAndré Draszik /* Register Offset definitions for CMU_PERIC1 (0x10c00000) */
40372999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER						0x0600
40382999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_BUS_USER						0x0604
40392999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER						0x0610
40402999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_I3C_USER						0x0614
40412999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER					0x0620
40422999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI0_USI_USER					0x0624
40432999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER					0x0630
40442999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI10_USI_USER					0x0634
40452999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER					0x0640
40462999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI11_USI_USER					0x0644
40472999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER					0x0650
40482999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI12_USI_USER					0x0654
40492999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER					0x0660
40502999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI13_USI_USER					0x0664
40512999e786SAndré Draszik #define PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER					0x0670
40522999e786SAndré Draszik #define PLL_CON1_MUX_CLKCMU_PERIC1_USI9_USI_USER					0x0674
40532999e786SAndré Draszik #define PERIC1_CMU_PERIC1_CONTROLLER_OPTION						0x0800
40542999e786SAndré Draszik #define CLKOUT_CON_BLK_PERIC1_CMU_PERIC1_CLKOUT0					0x0810
40552999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_I3C							0x1800
40562999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI						0x1804
40572999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI						0x1808
40582999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI						0x180c
40592999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI						0x1810
40602999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI						0x1814
40612999e786SAndré Draszik #define CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI						0x1818
40622999e786SAndré Draszik #define CLK_CON_BUF_CLKBUF_PERIC1_IP							0x2000
40632999e786SAndré Draszik #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK			0x2004
40642999e786SAndré Draszik #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK		0x2008
40652999e786SAndré Draszik #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK		0x200c
40662999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK			0x2010
40672999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK			0x2014
40682999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK			0x2018
40692999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK		0x201c
40702999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1			0x2020
40712999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2			0x2024
40722999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3			0x2028
40732999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4			0x202c
40742999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5			0x2030
40752999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6			0x2034
40762999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8			0x2038
40772999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1			0x203c
40782999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15			0x2040
40792999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2			0x2044
40802999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3			0x2048
40812999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4			0x204c
40822999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5			0x2050
40832999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6			0x2054
40842999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8			0x2058
40852999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK		0x205c
40862999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK	0x2060
40872999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK	0x2064
40882999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK	0x2068
40892999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK	0x206c
40902999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK	0x2070
40912999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK	0x2074
40922999e786SAndré Draszik #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK			0x2078
40932999e786SAndré Draszik #define DMYQCH_CON_PERIC1_TOP0_QCH_S							0x3000
40942999e786SAndré Draszik #define PCH_CON_LHM_AXI_P_PERIC1_PCH							0x3004
40952999e786SAndré Draszik #define QCH_CON_D_TZPC_PERIC1_QCH							0x3008
40962999e786SAndré Draszik #define QCH_CON_GPC_PERIC1_QCH								0x300c
40972999e786SAndré Draszik #define QCH_CON_GPIO_PERIC1_QCH								0x3010
40982999e786SAndré Draszik #define QCH_CON_LHM_AXI_P_PERIC1_QCH							0x3014
40992999e786SAndré Draszik #define QCH_CON_PERIC1_CMU_PERIC1_QCH							0x3018
41002999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_I3C0							0x301c
41012999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_PWM							0x3020
41022999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI0_USI						0x3024
41032999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI10_USI						0x3028
41042999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI11_USI						0x302c
41052999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI12_USI						0x3030
41062999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI13_USI						0x3034
41072999e786SAndré Draszik #define QCH_CON_PERIC1_TOP0_QCH_USI9_USI						0x3038
41082999e786SAndré Draszik #define QCH_CON_SYSREG_PERIC1_QCH							0x303c
41092999e786SAndré Draszik #define QUEUE_CTRL_REG_BLK_PERIC1_CMU_PERIC1						0x3c00
41102999e786SAndré Draszik 
41112999e786SAndré Draszik static const unsigned long peric1_clk_regs[] __initconst = {
41122999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER,
41132999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_BUS_USER,
41142999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER,
41152999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_I3C_USER,
41162999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER,
41172999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI0_USI_USER,
41182999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER,
41192999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI10_USI_USER,
41202999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER,
41212999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI11_USI_USER,
41222999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER,
41232999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI12_USI_USER,
41242999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER,
41252999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI13_USI_USER,
41262999e786SAndré Draszik 	PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER,
41272999e786SAndré Draszik 	PLL_CON1_MUX_CLKCMU_PERIC1_USI9_USI_USER,
41282999e786SAndré Draszik 	PERIC1_CMU_PERIC1_CONTROLLER_OPTION,
41292999e786SAndré Draszik 	CLKOUT_CON_BLK_PERIC1_CMU_PERIC1_CLKOUT0,
41302999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_I3C,
41312999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI,
41322999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI,
41332999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI,
41342999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI,
41352999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI,
41362999e786SAndré Draszik 	CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI,
41372999e786SAndré Draszik 	CLK_CON_BUF_CLKBUF_PERIC1_IP,
41382999e786SAndré Draszik 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK,
41392999e786SAndré Draszik 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK,
41402999e786SAndré Draszik 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK,
41412999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK,
41422999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK,
41432999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK,
41442999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK,
41452999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1,
41462999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2,
41472999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3,
41482999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4,
41492999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5,
41502999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6,
41512999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8,
41522999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1,
41532999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15,
41542999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2,
41552999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3,
41562999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4,
41572999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5,
41582999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6,
41592999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8,
41602999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK,
41612999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK,
41622999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK,
41632999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK,
41642999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK,
41652999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK,
41662999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK,
41672999e786SAndré Draszik 	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK,
41682999e786SAndré Draszik 	DMYQCH_CON_PERIC1_TOP0_QCH_S,
41692999e786SAndré Draszik 	PCH_CON_LHM_AXI_P_PERIC1_PCH,
41702999e786SAndré Draszik 	QCH_CON_D_TZPC_PERIC1_QCH,
41712999e786SAndré Draszik 	QCH_CON_GPC_PERIC1_QCH,
41722999e786SAndré Draszik 	QCH_CON_GPIO_PERIC1_QCH,
41732999e786SAndré Draszik 	QCH_CON_LHM_AXI_P_PERIC1_QCH,
41742999e786SAndré Draszik 	QCH_CON_PERIC1_CMU_PERIC1_QCH,
41752999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_I3C0,
41762999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_PWM,
41772999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI0_USI,
41782999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI10_USI,
41792999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI11_USI,
41802999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI12_USI,
41812999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI13_USI,
41822999e786SAndré Draszik 	QCH_CON_PERIC1_TOP0_QCH_USI9_USI,
41832999e786SAndré Draszik 	QCH_CON_SYSREG_PERIC1_QCH,
41842999e786SAndré Draszik 	QUEUE_CTRL_REG_BLK_PERIC1_CMU_PERIC1,
41852999e786SAndré Draszik };
41862999e786SAndré Draszik 
41872999e786SAndré Draszik /* List of parent clocks for Muxes in CMU_PERIC1 */
41882999e786SAndré Draszik PNAME(mout_peric1_bus_user_p)		= { "oscclk", "dout_cmu_peric1_bus" };
41892999e786SAndré Draszik PNAME(mout_peric1_nonbususer_p)		= { "oscclk", "dout_cmu_peric1_ip" };
41902999e786SAndré Draszik 
41912999e786SAndré Draszik static const struct samsung_mux_clock peric1_mux_clks[] __initconst = {
41922999e786SAndré Draszik 	MUX(CLK_MOUT_PERIC1_BUS_USER, "mout_peric1_bus_user",
41932999e786SAndré Draszik 	    mout_peric1_bus_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER, 4, 1),
41942999e786SAndré Draszik 	MUX(CLK_MOUT_PERIC1_I3C_USER,
41952999e786SAndré Draszik 	    "mout_peric1_i3c_user", mout_peric1_nonbususer_p,
41962999e786SAndré Draszik 	    PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER, 4, 1),
41977cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI0_USI_USER,
41982999e786SAndré Draszik 	     "mout_peric1_usi0_usi_user", mout_peric1_nonbususer_p,
41992999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER, 4, 1),
42007cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI10_USI_USER,
42012999e786SAndré Draszik 	     "mout_peric1_usi10_usi_user", mout_peric1_nonbususer_p,
42022999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER, 4, 1),
42037cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI11_USI_USER,
42042999e786SAndré Draszik 	     "mout_peric1_usi11_usi_user", mout_peric1_nonbususer_p,
42052999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER, 4, 1),
42067cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI12_USI_USER,
42072999e786SAndré Draszik 	     "mout_peric1_usi12_usi_user", mout_peric1_nonbususer_p,
42082999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER, 4, 1),
42097cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI13_USI_USER,
42102999e786SAndré Draszik 	     "mout_peric1_usi13_usi_user", mout_peric1_nonbususer_p,
42112999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER, 4, 1),
42127cf0324bSTudor Ambarus 	nMUX(CLK_MOUT_PERIC1_USI9_USI_USER,
42132999e786SAndré Draszik 	     "mout_peric1_usi9_usi_user", mout_peric1_nonbususer_p,
42142999e786SAndré Draszik 	     PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER, 4, 1),
42152999e786SAndré Draszik };
42162999e786SAndré Draszik 
42172999e786SAndré Draszik static const struct samsung_div_clock peric1_div_clks[] __initconst = {
42182999e786SAndré Draszik 	DIV(CLK_DOUT_PERIC1_I3C, "dout_peric1_i3c", "mout_peric1_i3c_user",
42192999e786SAndré Draszik 	    CLK_CON_DIV_DIV_CLK_PERIC1_I3C, 0, 4),
42207cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI0_USI,
42212999e786SAndré Draszik 	      "dout_peric1_usi0_usi", "mout_peric1_usi0_usi_user",
42227cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI, 0, 4,
42237cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42247cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI10_USI,
42252999e786SAndré Draszik 	      "dout_peric1_usi10_usi", "mout_peric1_usi10_usi_user",
42267cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI, 0, 4,
42277cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42287cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI11_USI,
42292999e786SAndré Draszik 	      "dout_peric1_usi11_usi", "mout_peric1_usi11_usi_user",
42307cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI, 0, 4,
42317cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42327cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI12_USI,
42332999e786SAndré Draszik 	      "dout_peric1_usi12_usi", "mout_peric1_usi12_usi_user",
42347cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI, 0, 4,
42357cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42367cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI13_USI,
42372999e786SAndré Draszik 	      "dout_peric1_usi13_usi", "mout_peric1_usi13_usi_user",
42387cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI, 0, 4,
42397cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42407cf0324bSTudor Ambarus 	DIV_F(CLK_DOUT_PERIC1_USI9_USI,
42412999e786SAndré Draszik 	      "dout_peric1_usi9_usi", "mout_peric1_usi9_usi_user",
42427cf0324bSTudor Ambarus 	      CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI, 0, 4,
42437cf0324bSTudor Ambarus 	      CLK_SET_RATE_PARENT, 0),
42442999e786SAndré Draszik };
42452999e786SAndré Draszik 
42462999e786SAndré Draszik static const struct samsung_gate_clock peric1_gate_clks[] __initconst = {
42472999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PCLK,
42482999e786SAndré Draszik 	     "gout_peric1_peric1_pclk", "mout_peric1_bus_user",
42492999e786SAndré Draszik 	     CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK,
42502999e786SAndré Draszik 	     21, CLK_IS_CRITICAL, 0),
42512999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_I3C_CLK,
42522999e786SAndré Draszik 	     "gout_peric1_clk_peric1_i3c_clk", "dout_peric1_i3c",
42532999e786SAndré Draszik 	     CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK,
42542999e786SAndré Draszik 	     21, 0, 0),
42552999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_OSCCLK_CLK,
42562999e786SAndré Draszik 	     "gout_peric1_clk_peric1_oscclk_clk", "oscclk",
42572999e786SAndré Draszik 	     CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK,
42582999e786SAndré Draszik 	     21, 0, 0),
42592999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_D_TZPC_PERIC1_PCLK,
42602999e786SAndré Draszik 	     "gout_peric1_d_tzpc_peric1_pclk", "mout_peric1_bus_user",
42612999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK,
42622999e786SAndré Draszik 	     21, 0, 0),
42632999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_GPC_PERIC1_PCLK,
42642999e786SAndré Draszik 	     "gout_peric1_gpc_peric1_pclk", "mout_peric1_bus_user",
42652999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK,
42662999e786SAndré Draszik 	     21, 0, 0),
42672999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_GPIO_PERIC1_PCLK,
42682999e786SAndré Draszik 	     "gout_peric1_gpio_peric1_pclk", "mout_peric1_bus_user",
42692999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK,
42702999e786SAndré Draszik 	     21, CLK_IGNORE_UNUSED, 0),
42712999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_LHM_AXI_P_PERIC1_I_CLK,
42722999e786SAndré Draszik 	     "gout_peric1_lhm_axi_p_peric1_i_clk", "mout_peric1_bus_user",
42732999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK,
42742999e786SAndré Draszik 	     21, CLK_IS_CRITICAL, 0),
42752999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_1,
42762999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_1", "dout_peric1_usi0_usi",
42772999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1,
42787cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42792999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_2,
42802999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_2", "dout_peric1_usi9_usi",
42812999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2,
42827cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42832999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_3,
42842999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_3", "dout_peric1_usi10_usi",
42852999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3,
42867cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42872999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_4,
42882999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_4", "dout_peric1_usi11_usi",
42892999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4,
42907cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42912999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_5,
42922999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_5", "dout_peric1_usi12_usi",
42932999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5,
42947cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42952999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_6,
42962999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_6", "dout_peric1_usi13_usi",
42972999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6,
42987cf0324bSTudor Ambarus 	     21, CLK_SET_RATE_PARENT, 0),
42992999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_8,
43002999e786SAndré Draszik 	     "gout_peric1_peric1_top0_ipclk_8", "dout_peric1_i3c",
43012999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8,
43022999e786SAndré Draszik 	     21, 0, 0),
43032999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_1,
43042999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_1", "mout_peric1_bus_user",
43052999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1,
43062999e786SAndré Draszik 	     21, 0, 0),
43072999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_15,
43082999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_15", "mout_peric1_bus_user",
43092999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15,
43102999e786SAndré Draszik 	     21, 0, 0),
43112999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_2,
43122999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_2", "mout_peric1_bus_user",
43132999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2,
43142999e786SAndré Draszik 	     21, 0, 0),
43152999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_3,
43162999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_3", "mout_peric1_bus_user",
43172999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3,
43182999e786SAndré Draszik 	     21, 0, 0),
43192999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_4,
43202999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_4", "mout_peric1_bus_user",
43212999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4,
43222999e786SAndré Draszik 	     21, 0, 0),
43232999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_5,
43242999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_5", "mout_peric1_bus_user",
43252999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5,
43262999e786SAndré Draszik 	     21, 0, 0),
43272999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_6,
43282999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_6", "mout_peric1_bus_user",
43292999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6,
43302999e786SAndré Draszik 	     21, 0, 0),
43312999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_8,
43322999e786SAndré Draszik 	     "gout_peric1_peric1_top0_pclk_8", "mout_peric1_bus_user",
43332999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8,
43342999e786SAndré Draszik 	     21, 0, 0),
43352999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_BUSP_CLK,
43362999e786SAndré Draszik 	     "gout_peric1_clk_peric1_busp_clk", "mout_peric1_bus_user",
43372999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK,
43382999e786SAndré Draszik 	     21, 0, 0),
43392999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI0_USI_CLK,
43402999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi0_usi_clk", "dout_peric1_usi0_usi",
43412999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK,
43422999e786SAndré Draszik 	     21, 0, 0),
43432999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI10_USI_CLK,
43442999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi10_usi_clk", "dout_peric1_usi10_usi",
43452999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK,
43462999e786SAndré Draszik 	     21, 0, 0),
43472999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI11_USI_CLK,
43482999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi11_usi_clk", "dout_peric1_usi11_usi",
43492999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK,
43502999e786SAndré Draszik 	     21, 0, 0),
43512999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI12_USI_CLK,
43522999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi12_usi_clk", "dout_peric1_usi12_usi",
43532999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK,
43542999e786SAndré Draszik 	     21, 0, 0),
43552999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI13_USI_CLK,
43562999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi13_usi_clk", "dout_peric1_usi13_usi",
43572999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK,
43582999e786SAndré Draszik 	     21, 0, 0),
43592999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK,
43602999e786SAndré Draszik 	     "gout_peric1_clk_peric1_usi9_usi_clk", "dout_peric1_usi9_usi",
43612999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK,
43622999e786SAndré Draszik 	     21, 0, 0),
43632999e786SAndré Draszik 	GATE(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK,
43642999e786SAndré Draszik 	     "gout_peric1_sysreg_peric1_pclk", "mout_peric1_bus_user",
43652999e786SAndré Draszik 	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK,
43662999e786SAndré Draszik 	     21, 0, 0),
43672999e786SAndré Draszik };
43682999e786SAndré Draszik 
43692999e786SAndré Draszik static const struct samsung_cmu_info peric1_cmu_info __initconst = {
43702999e786SAndré Draszik 	.mux_clks		= peric1_mux_clks,
43712999e786SAndré Draszik 	.nr_mux_clks		= ARRAY_SIZE(peric1_mux_clks),
43722999e786SAndré Draszik 	.div_clks		= peric1_div_clks,
43732999e786SAndré Draszik 	.nr_div_clks		= ARRAY_SIZE(peric1_div_clks),
43742999e786SAndré Draszik 	.gate_clks		= peric1_gate_clks,
43752999e786SAndré Draszik 	.nr_gate_clks		= ARRAY_SIZE(peric1_gate_clks),
43762999e786SAndré Draszik 	.nr_clk_ids		= CLKS_NR_PERIC1,
43772999e786SAndré Draszik 	.clk_regs		= peric1_clk_regs,
43782999e786SAndré Draszik 	.nr_clk_regs		= ARRAY_SIZE(peric1_clk_regs),
43792999e786SAndré Draszik 	.clk_name		= "bus",
43802999e786SAndré Draszik };
43812999e786SAndré Draszik 
43822c597bb7SPeter Griffin /* ---- platform_driver ----------------------------------------------------- */
43832c597bb7SPeter Griffin 
gs101_cmu_probe(struct platform_device * pdev)43842c597bb7SPeter Griffin static int __init gs101_cmu_probe(struct platform_device *pdev)
43852c597bb7SPeter Griffin {
43862c597bb7SPeter Griffin 	const struct samsung_cmu_info *info;
43872c597bb7SPeter Griffin 	struct device *dev = &pdev->dev;
43882c597bb7SPeter Griffin 
43892c597bb7SPeter Griffin 	info = of_device_get_match_data(dev);
43902c597bb7SPeter Griffin 	exynos_arm64_register_cmu(dev, dev->of_node, info);
43912c597bb7SPeter Griffin 
43922c597bb7SPeter Griffin 	return 0;
43932c597bb7SPeter Griffin }
43942c597bb7SPeter Griffin 
43952c597bb7SPeter Griffin static const struct of_device_id gs101_cmu_of_match[] = {
43962c597bb7SPeter Griffin 	{
43972c597bb7SPeter Griffin 		.compatible = "google,gs101-cmu-apm",
43982c597bb7SPeter Griffin 		.data = &apm_cmu_info,
43992c597bb7SPeter Griffin 	}, {
44001891e4d4SAndré Draszik 		.compatible = "google,gs101-cmu-hsi0",
44011891e4d4SAndré Draszik 		.data = &hsi0_cmu_info,
44021891e4d4SAndré Draszik 	}, {
4403093c2900SPeter Griffin 		.compatible = "google,gs101-cmu-hsi2",
4404093c2900SPeter Griffin 		.data = &hsi2_cmu_info,
4405093c2900SPeter Griffin 	}, {
4406893f133aSTudor Ambarus 		.compatible = "google,gs101-cmu-peric0",
4407893f133aSTudor Ambarus 		.data = &peric0_cmu_info,
4408893f133aSTudor Ambarus 	}, {
44092999e786SAndré Draszik 		.compatible = "google,gs101-cmu-peric1",
44102999e786SAndré Draszik 		.data = &peric1_cmu_info,
44112999e786SAndré Draszik 	}, {
44122c597bb7SPeter Griffin 	},
44132c597bb7SPeter Griffin };
44142c597bb7SPeter Griffin 
44152c597bb7SPeter Griffin static struct platform_driver gs101_cmu_driver __refdata = {
44162c597bb7SPeter Griffin 	.driver	= {
44172c597bb7SPeter Griffin 		.name = "gs101-cmu",
44182c597bb7SPeter Griffin 		.of_match_table = gs101_cmu_of_match,
44192c597bb7SPeter Griffin 		.suppress_bind_attrs = true,
44202c597bb7SPeter Griffin 	},
44212c597bb7SPeter Griffin 	.probe = gs101_cmu_probe,
44222c597bb7SPeter Griffin };
44232c597bb7SPeter Griffin 
gs101_cmu_init(void)44242c597bb7SPeter Griffin static int __init gs101_cmu_init(void)
44252c597bb7SPeter Griffin {
44262c597bb7SPeter Griffin 	return platform_driver_register(&gs101_cmu_driver);
44272c597bb7SPeter Griffin }
44282c597bb7SPeter Griffin core_initcall(gs101_cmu_init);
4429