162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2022 Samsung Electronics Co., Ltd.
462306a36Sopenharmony_ci * Author: Chanho Park <chanho61.park@samsung.com>
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Common Clock Framework support for ExynosAuto V9 SoC.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <linux/clk.h>
1062306a36Sopenharmony_ci#include <linux/clk-provider.h>
1162306a36Sopenharmony_ci#include <linux/of.h>
1262306a36Sopenharmony_ci#include <linux/platform_device.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include <dt-bindings/clock/samsung,exynosautov9.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include "clk.h"
1762306a36Sopenharmony_ci#include "clk-exynos-arm64.h"
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/* NOTE: Must be equal to the last clock ID increased by one */
2062306a36Sopenharmony_ci#define CLKS_NR_TOP			(GOUT_CLKCMU_PERIS_BUS + 1)
2162306a36Sopenharmony_ci#define CLKS_NR_BUSMC			(CLK_GOUT_BUSMC_SPDMA_PCLK + 1)
2262306a36Sopenharmony_ci#define CLKS_NR_CORE			(CLK_GOUT_CORE_CMU_CORE_PCLK + 1)
2362306a36Sopenharmony_ci#define CLKS_NR_FSYS0			(CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK + 1)
2462306a36Sopenharmony_ci#define CLKS_NR_FSYS1			(CLK_GOUT_FSYS1_USB30_1_ACLK + 1)
2562306a36Sopenharmony_ci#define CLKS_NR_FSYS2			(CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO + 1)
2662306a36Sopenharmony_ci#define CLKS_NR_PERIC0			(CLK_GOUT_PERIC0_PCLK_11 + 1)
2762306a36Sopenharmony_ci#define CLKS_NR_PERIC1			(CLK_GOUT_PERIC1_PCLK_11 + 1)
2862306a36Sopenharmony_ci#define CLKS_NR_PERIS			(CLK_GOUT_WDT_CLUSTER1 + 1)
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci/* ---- CMU_TOP ------------------------------------------------------------ */
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci/* Register Offset definitions for CMU_TOP (0x1b240000) */
3362306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_SHARED0		0x0000
3462306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_SHARED1		0x0004
3562306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_SHARED2		0x0008
3662306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_SHARED3		0x000c
3762306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_SHARED4		0x0010
3862306a36Sopenharmony_ci#define PLL_CON0_PLL_SHARED0			0x0100
3962306a36Sopenharmony_ci#define PLL_CON3_PLL_SHARED0			0x010c
4062306a36Sopenharmony_ci#define PLL_CON0_PLL_SHARED1			0x0140
4162306a36Sopenharmony_ci#define PLL_CON3_PLL_SHARED1			0x014c
4262306a36Sopenharmony_ci#define PLL_CON0_PLL_SHARED2			0x0180
4362306a36Sopenharmony_ci#define PLL_CON3_PLL_SHARED2			0x018c
4462306a36Sopenharmony_ci#define PLL_CON0_PLL_SHARED3			0x01c0
4562306a36Sopenharmony_ci#define PLL_CON3_PLL_SHARED3			0x01cc
4662306a36Sopenharmony_ci#define PLL_CON0_PLL_SHARED4			0x0200
4762306a36Sopenharmony_ci#define PLL_CON3_PLL_SHARED4			0x020c
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci/* MUX */
5062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_ACC_BUS		0x1000
5162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_APM_BUS		0x1004
5262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_AUD_BUS		0x1008
5362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_AUD_CPU		0x100c
5462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_BUSC_BUS		0x1010
5562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_BUSMC_BUS	0x1018
5662306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST	0x101c
5762306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CORE_BUS		0x1020
5862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_CLUSTER	0x1024
5962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH	0x102c
6062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CPUCL1_CLUSTER	0x1030
6162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH	0x1034
6262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_DPTX_BUS		0x1040
6362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_DPTX_DPGTC	0x1044
6462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_DPUM_BUS		0x1048
6562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_DPUS0_BUS	0x104c
6662306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_DPUS1_BUS	0x1050
6762306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS0_BUS	0x1054
6862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS0_PCIE	0x1058
6962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS1_BUS	0x105c
7062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS1_MMC_CARD	0x1060
7162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS1_USBDRD	0x1064
7262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS2_BUS	0x1068
7362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS2_ETHERNET	0x106c
7462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_FSYS2_UFS_EMBD	0x1070
7562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_G2D_G2D		0x1074
7662306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL		0x1078
7762306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_G3D00_SWITCH	0x107c
7862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_G3D01_SWITCH	0x1080
7962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_G3D1_SWITCH	0x1084
8062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_ISPB_BUS		0x108c
8162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_MFC_MFC		0x1090
8262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_MFC_WFD		0x1094
8362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH	0x109c
8462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP		0x1098
8562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH	0x109c
8662306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_NPU_BUS		0x10a0
8762306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS	0x10a4
8862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP	0x10a8
8962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS	0x10ac
9062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP	0x10b0
9162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLKCMU_PERIS_BUS	0x10b4
9262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CMU_CMUREF		0x10c0
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci/* DIV */
9562306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_ACC_BUS		0x1800
9662306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_APM_BUS		0x1804
9762306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_AUD_BUS		0x1808
9862306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_AUD_CPU		0x180c
9962306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_BUSC_BUS		0x1810
10062306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_BUSMC_BUS		0x1818
10162306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_CORE_BUS		0x181c
10262306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_CPUCL0_CLUSTER	0x1820
10362306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH	0x1828
10462306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_CPUCL1_CLUSTER	0x182c
10562306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH	0x1830
10662306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_DPTX_BUS		0x183c
10762306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_DPTX_DPGTC		0x1840
10862306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_DPUM_BUS		0x1844
10962306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_DPUS0_BUS		0x1848
11062306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_DPUS1_BUS		0x184c
11162306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS0_BUS		0x1850
11262306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS0_PCIE		0x1854
11362306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS1_BUS		0x1858
11462306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS1_USBDRD		0x185c
11562306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS2_BUS		0x1860
11662306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS2_ETHERNET	0x1864
11762306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_FSYS2_UFS_EMBD	0x1868
11862306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_G2D_G2D		0x186c
11962306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_G2D_MSCL		0x1870
12062306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_G3D00_SWITCH		0x1874
12162306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_G3D01_SWITCH		0x1878
12262306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_G3D1_SWITCH		0x187c
12362306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_ISPB_BUS		0x1884
12462306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_MFC_MFC		0x1888
12562306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_MFC_WFD		0x188c
12662306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_MIF_BUSP		0x1890
12762306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_NPU_BUS		0x1894
12862306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_PERIC0_BUS		0x1898
12962306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_PERIC0_IP		0x189c
13062306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_PERIC1_BUS		0x18a0
13162306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_PERIC1_IP		0x18a4
13262306a36Sopenharmony_ci#define CLK_CON_DIV_CLKCMU_PERIS_BUS		0x18a8
13362306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST	0x18b4
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED0_DIV2		0x18b8
13662306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED0_DIV3		0x18bc
13762306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED1_DIV2		0x18c0
13862306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED1_DIV3		0x18c4
13962306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED1_DIV4		0x18c8
14062306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED2_DIV2		0x18cc
14162306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED2_DIV3		0x18d0
14262306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED2_DIV4		0x18d4
14362306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED4_DIV2		0x18d4
14462306a36Sopenharmony_ci#define CLK_CON_DIV_PLL_SHARED4_DIV4		0x18d8
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci/* GATE */
14762306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_BUSC_BOOST	0x2000
14862306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_BUSMC_BOOST	0x2004
14962306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_CORE_BOOST	0x2008
15062306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_CPUCL0_BOOST	0x2010
15162306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_CPUCL1_BOOST	0x2018
15262306a36Sopenharmony_ci#define CLK_CON_GAT_CLKCMU_CMU_MIF_BOOST	0x2020
15362306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS1_MMC_CARD	0x2024
15462306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_MIF_SWITCH	0x2028
15562306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_ACC_BUS		0x202c
15662306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_APM_BUS		0x2030
15762306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_AUD_BUS		0x2034
15862306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_AUD_CPU		0x2038
15962306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_BUSC_BUS	0x203c
16062306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_BUSMC_BUS	0x2044
16162306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST	0x2048
16262306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CORE_BUS	0x204c
16362306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_CLUSTER	0x2050
16462306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH	0x2058
16562306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CPUCL1_CLUSTER	0x205c
16662306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH	0x2060
16762306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_DPTX_BUS	0x206c
16862306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_DPTX_DPGTC	0x2070
16962306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_DPUM_BUS	0x2060
17062306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_DPUS0_BUS	0x2064
17162306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_DPUS1_BUS	0x207c
17262306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS0_BUS	0x2080
17362306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS0_PCIE	0x2084
17462306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS1_BUS	0x2088
17562306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS1_USBDRD	0x208c
17662306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS2_BUS	0x2090
17762306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS2_ETHERNET	0x2094
17862306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_FSYS2_UFS_EMBD	0x2098
17962306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_G2D_G2D		0x209c
18062306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL	0x20a0
18162306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_G3D00_SWITCH	0x20a4
18262306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_G3D01_SWITCH	0x20a8
18362306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_G3D1_SWITCH	0x20ac
18462306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_ISPB_BUS	0x20b4
18562306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_MFC_MFC		0x20b8
18662306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_MFC_WFD		0x20bc
18762306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP	0x20c0
18862306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_NPU_BUS		0x20c4
18962306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS	0x20c8
19062306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP	0x20cc
19162306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS	0x20d0
19262306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP	0x20d4
19362306a36Sopenharmony_ci#define CLK_CON_GAT_GATE_CLKCMU_PERIS_BUS	0x20d8
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_cistatic const unsigned long top_clk_regs[] __initconst = {
19662306a36Sopenharmony_ci	PLL_LOCKTIME_PLL_SHARED0,
19762306a36Sopenharmony_ci	PLL_LOCKTIME_PLL_SHARED1,
19862306a36Sopenharmony_ci	PLL_LOCKTIME_PLL_SHARED2,
19962306a36Sopenharmony_ci	PLL_LOCKTIME_PLL_SHARED3,
20062306a36Sopenharmony_ci	PLL_LOCKTIME_PLL_SHARED4,
20162306a36Sopenharmony_ci	PLL_CON0_PLL_SHARED0,
20262306a36Sopenharmony_ci	PLL_CON3_PLL_SHARED0,
20362306a36Sopenharmony_ci	PLL_CON0_PLL_SHARED1,
20462306a36Sopenharmony_ci	PLL_CON3_PLL_SHARED1,
20562306a36Sopenharmony_ci	PLL_CON0_PLL_SHARED2,
20662306a36Sopenharmony_ci	PLL_CON3_PLL_SHARED2,
20762306a36Sopenharmony_ci	PLL_CON0_PLL_SHARED3,
20862306a36Sopenharmony_ci	PLL_CON3_PLL_SHARED3,
20962306a36Sopenharmony_ci	PLL_CON0_PLL_SHARED4,
21062306a36Sopenharmony_ci	PLL_CON3_PLL_SHARED4,
21162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_ACC_BUS,
21262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_APM_BUS,
21362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_AUD_BUS,
21462306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_AUD_CPU,
21562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_BUSC_BUS,
21662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST,
21762306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CORE_BUS,
21862306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_CLUSTER,
21962306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
22062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CPUCL1_CLUSTER,
22162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
22262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_DPTX_BUS,
22362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_DPTX_DPGTC,
22462306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_DPUM_BUS,
22562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_DPUS0_BUS,
22662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_DPUS1_BUS,
22762306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS0_BUS,
22862306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS0_PCIE,
22962306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS1_BUS,
23062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS1_MMC_CARD,
23162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS1_USBDRD,
23262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS2_BUS,
23362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS2_ETHERNET,
23462306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_FSYS2_UFS_EMBD,
23562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_G2D_G2D,
23662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL,
23762306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_G3D00_SWITCH,
23862306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_G3D01_SWITCH,
23962306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_G3D1_SWITCH,
24062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_ISPB_BUS,
24162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_MFC_MFC,
24262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_MFC_WFD,
24362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH,
24462306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP,
24562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH,
24662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_NPU_BUS,
24762306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS,
24862306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP,
24962306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS,
25062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP,
25162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLKCMU_PERIS_BUS,
25262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CMU_CMUREF,
25362306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_ACC_BUS,
25462306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_APM_BUS,
25562306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_AUD_BUS,
25662306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_AUD_CPU,
25762306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_BUSC_BUS,
25862306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_BUSMC_BUS,
25962306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_CORE_BUS,
26062306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_CPUCL0_CLUSTER,
26162306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH,
26262306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_CPUCL1_CLUSTER,
26362306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH,
26462306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_DPTX_BUS,
26562306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_DPTX_DPGTC,
26662306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_DPUM_BUS,
26762306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_DPUS0_BUS,
26862306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_DPUS1_BUS,
26962306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS0_BUS,
27062306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS0_PCIE,
27162306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS1_BUS,
27262306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS1_USBDRD,
27362306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS2_BUS,
27462306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS2_ETHERNET,
27562306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_FSYS2_UFS_EMBD,
27662306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_G2D_G2D,
27762306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_G2D_MSCL,
27862306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_G3D00_SWITCH,
27962306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_G3D01_SWITCH,
28062306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_G3D1_SWITCH,
28162306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_ISPB_BUS,
28262306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_MFC_MFC,
28362306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_MFC_WFD,
28462306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_MIF_BUSP,
28562306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_NPU_BUS,
28662306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_PERIC0_BUS,
28762306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_PERIC0_IP,
28862306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_PERIC1_BUS,
28962306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_PERIC1_IP,
29062306a36Sopenharmony_ci	CLK_CON_DIV_CLKCMU_PERIS_BUS,
29162306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST,
29262306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED0_DIV2,
29362306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED0_DIV3,
29462306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED1_DIV2,
29562306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED1_DIV3,
29662306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED1_DIV4,
29762306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED2_DIV2,
29862306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED2_DIV3,
29962306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED2_DIV4,
30062306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED4_DIV2,
30162306a36Sopenharmony_ci	CLK_CON_DIV_PLL_SHARED4_DIV4,
30262306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_BUSC_BOOST,
30362306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_BUSMC_BOOST,
30462306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_CORE_BOOST,
30562306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_CPUCL0_BOOST,
30662306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_CPUCL1_BOOST,
30762306a36Sopenharmony_ci	CLK_CON_GAT_CLKCMU_CMU_MIF_BOOST,
30862306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS1_MMC_CARD,
30962306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_MIF_SWITCH,
31062306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_ACC_BUS,
31162306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_APM_BUS,
31262306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_AUD_BUS,
31362306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_AUD_CPU,
31462306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_BUSC_BUS,
31562306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_BUSMC_BUS,
31662306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST,
31762306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CORE_BUS,
31862306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_CLUSTER,
31962306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH,
32062306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CPUCL1_CLUSTER,
32162306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH,
32262306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_DPTX_BUS,
32362306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_DPTX_DPGTC,
32462306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_DPUM_BUS,
32562306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_DPUS0_BUS,
32662306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_DPUS1_BUS,
32762306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS0_BUS,
32862306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS0_PCIE,
32962306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS1_BUS,
33062306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS1_USBDRD,
33162306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS2_BUS,
33262306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS2_ETHERNET,
33362306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_FSYS2_UFS_EMBD,
33462306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_G2D_G2D,
33562306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL,
33662306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_G3D00_SWITCH,
33762306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_G3D01_SWITCH,
33862306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_G3D1_SWITCH,
33962306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_ISPB_BUS,
34062306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_MFC_MFC,
34162306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_MFC_WFD,
34262306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP,
34362306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_NPU_BUS,
34462306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS,
34562306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP,
34662306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS,
34762306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP,
34862306a36Sopenharmony_ci	CLK_CON_GAT_GATE_CLKCMU_PERIS_BUS,
34962306a36Sopenharmony_ci};
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_cistatic const struct samsung_pll_clock top_pll_clks[] __initconst = {
35262306a36Sopenharmony_ci	/* CMU_TOP_PURECLKCOMP */
35362306a36Sopenharmony_ci	PLL(pll_0822x, FOUT_SHARED0_PLL, "fout_shared0_pll", "oscclk",
35462306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_SHARED0, PLL_CON3_PLL_SHARED0, NULL),
35562306a36Sopenharmony_ci	PLL(pll_0822x, FOUT_SHARED0_PLL, "fout_shared1_pll", "oscclk",
35662306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_SHARED1, PLL_CON3_PLL_SHARED1, NULL),
35762306a36Sopenharmony_ci	PLL(pll_0822x, FOUT_SHARED0_PLL, "fout_shared2_pll", "oscclk",
35862306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_SHARED2, PLL_CON3_PLL_SHARED2, NULL),
35962306a36Sopenharmony_ci	PLL(pll_0822x, FOUT_SHARED0_PLL, "fout_shared3_pll", "oscclk",
36062306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_SHARED3, PLL_CON3_PLL_SHARED3, NULL),
36162306a36Sopenharmony_ci	PLL(pll_0822x, FOUT_SHARED0_PLL, "fout_shared4_pll", "oscclk",
36262306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_SHARED4, PLL_CON3_PLL_SHARED4, NULL),
36362306a36Sopenharmony_ci};
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_TOP */
36662306a36Sopenharmony_ciPNAME(mout_shared0_pll_p) = { "oscclk", "fout_shared0_pll" };
36762306a36Sopenharmony_ciPNAME(mout_shared1_pll_p) = { "oscclk", "fout_shared1_pll" };
36862306a36Sopenharmony_ciPNAME(mout_shared2_pll_p) = { "oscclk", "fout_shared2_pll" };
36962306a36Sopenharmony_ciPNAME(mout_shared3_pll_p) = { "oscclk", "fout_shared3_pll" };
37062306a36Sopenharmony_ciPNAME(mout_shared4_pll_p) = { "oscclk", "fout_shared4_pll" };
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ciPNAME(mout_clkcmu_cmu_boost_p) = { "dout_shared2_div3", "dout_shared1_div4",
37362306a36Sopenharmony_ci				   "dout_shared2_div4", "dout_shared4_div4" };
37462306a36Sopenharmony_ciPNAME(mout_clkcmu_cmu_cmuref_p) = { "oscclk", "dout_cmu_boost" };
37562306a36Sopenharmony_ciPNAME(mout_clkcmu_acc_bus_p) = { "dout_shared1_div3", "dout_shared2_div3",
37662306a36Sopenharmony_ci				 "dout_shared1_div4", "dout_shared2_div4" };
37762306a36Sopenharmony_ciPNAME(mout_clkcmu_apm_bus_p) = { "dout_shared2_div3", "dout_shared1_div4",
37862306a36Sopenharmony_ci				 "dout_shared2_div4", "dout_shared4_div4" };
37962306a36Sopenharmony_ciPNAME(mout_clkcmu_aud_cpu_p) = { "dout_shared0_div2", "dout_shared1_div2",
38062306a36Sopenharmony_ci				 "dout_shared2_div2", "dout_shared0_div3",
38162306a36Sopenharmony_ci				 "dout_shared4_div2", "dout_shared1_div3",
38262306a36Sopenharmony_ci				 "fout_shared3_pll" };
38362306a36Sopenharmony_ciPNAME(mout_clkcmu_aud_bus_p) = { "dout_shared4_div2", "dout_shared1_div3",
38462306a36Sopenharmony_ci				  "dout_shared2_div3", "dout_shared1_div4" };
38562306a36Sopenharmony_ciPNAME(mout_clkcmu_busc_bus_p) = { "dout_shared2_div3", "dout_shared1_div4",
38662306a36Sopenharmony_ci				  "dout_shared2_div4", "dout_shared4_div4" };
38762306a36Sopenharmony_ciPNAME(mout_clkcmu_core_bus_p) = { "dout_shared0_div2", "dout_shared1_div2",
38862306a36Sopenharmony_ci				  "dout_shared2_div2", "dout_shared0_div3",
38962306a36Sopenharmony_ci				  "dout_shared4_div2", "dout_shared1_div3",
39062306a36Sopenharmony_ci				  "dout_shared2_div3", "fout_shared3_pll" };
39162306a36Sopenharmony_ciPNAME(mout_clkcmu_cpucl0_switch_p) = {
39262306a36Sopenharmony_ci	"dout_shared0_div2", "dout_shared1_div2",
39362306a36Sopenharmony_ci	"dout_shared2_div2", "dout_shared4_div2" };
39462306a36Sopenharmony_ciPNAME(mout_clkcmu_cpucl0_cluster_p) = {
39562306a36Sopenharmony_ci	"fout_shared2_pll", "fout_shared4_pll",
39662306a36Sopenharmony_ci	"dout_shared0_div2", "dout_shared1_div2",
39762306a36Sopenharmony_ci	"dout_shared2_div2", "dout_shared4_div2",
39862306a36Sopenharmony_ci	"dout_shared2_div3", "fout_shared3_pll" };
39962306a36Sopenharmony_ciPNAME(mout_clkcmu_dptx_bus_p) = { "dout_shared4_div2", "dout_shared2_div3",
40062306a36Sopenharmony_ci				  "dout_shared1_div4", "dout_shared2_div4" };
40162306a36Sopenharmony_ciPNAME(mout_clkcmu_dptx_dpgtc_p) = { "oscclk", "dout_shared2_div3",
40262306a36Sopenharmony_ci				    "dout_shared2_div4", "dout_shared4_div4" };
40362306a36Sopenharmony_ciPNAME(mout_clkcmu_dpum_bus_p) = { "dout_shared1_div3", "dout_shared2_div3",
40462306a36Sopenharmony_ci				  "dout_shared1_div4", "dout_shared2_div4",
40562306a36Sopenharmony_ci				  "dout_shared4_div4", "fout_shared3_pll" };
40662306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys0_bus_p)	= {
40762306a36Sopenharmony_ci	"dout_shared4_div2", "dout_shared2_div3",
40862306a36Sopenharmony_ci	"dout_shared1_div4", "dout_shared2_div4" };
40962306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys0_pcie_p) = { "oscclk", "dout_shared2_div4" };
41062306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys1_bus_p)	= { "dout_shared2_div3", "dout_shared1_div4",
41162306a36Sopenharmony_ci				    "dout_shared2_div4", "dout_shared4_div4" };
41262306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys1_usbdrd_p) = {
41362306a36Sopenharmony_ci	"oscclk", "dout_shared2_div3",
41462306a36Sopenharmony_ci	"dout_shared2_div4", "dout_shared4_div4" };
41562306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys1_mmc_card_p) = {
41662306a36Sopenharmony_ci	"oscclk", "dout_shared2_div2",
41762306a36Sopenharmony_ci	"dout_shared4_div2", "dout_shared2_div3" };
41862306a36Sopenharmony_ciPNAME(mout_clkcmu_fsys2_ethernet_p) = {
41962306a36Sopenharmony_ci	"oscclk", "dout_shared2_div2",
42062306a36Sopenharmony_ci	"dout_shared0_div3", "dout_shared2_div3",
42162306a36Sopenharmony_ci	"dout_shared1_div4", "fout_shared3_pll" };
42262306a36Sopenharmony_ciPNAME(mout_clkcmu_g2d_g2d_p) = { "dout_shared2_div2", "dout_shared0_div3",
42362306a36Sopenharmony_ci				 "dout_shared4_div2", "dout_shared1_div3",
42462306a36Sopenharmony_ci				 "dout_shared2_div3", "dout_shared1_div4",
42562306a36Sopenharmony_ci				 "dout_shared2_div4", "dout_shared4_div4" };
42662306a36Sopenharmony_ciPNAME(mout_clkcmu_g3d0_switch_p) = { "dout_shared0_div2", "dout_shared1_div2",
42762306a36Sopenharmony_ci				     "dout_shared2_div2", "dout_shared4_div2" };
42862306a36Sopenharmony_ciPNAME(mout_clkcmu_g3d1_switch_p) = { "dout_shared2_div2", "dout_shared4_div2",
42962306a36Sopenharmony_ci				     "dout_shared2_div3", "dout_shared1_div4" };
43062306a36Sopenharmony_ciPNAME(mout_clkcmu_mif_switch_p) = { "fout_shared0_pll", "fout_shared1_pll",
43162306a36Sopenharmony_ci				    "fout_shared2_pll", "fout_shared4_pll",
43262306a36Sopenharmony_ci				    "dout_shared0_div2", "dout_shared1_div2",
43362306a36Sopenharmony_ci				    "dout_shared2_div2", "fout_shared3_pll" };
43462306a36Sopenharmony_ciPNAME(mout_clkcmu_npu_bus_p) = { "dout_shared1_div2", "dout_shared2_div2",
43562306a36Sopenharmony_ci				 "dout_shared0_div3", "dout_shared4_div2",
43662306a36Sopenharmony_ci				 "dout_shared1_div3", "dout_shared2_div3",
43762306a36Sopenharmony_ci				 "dout_shared1_div4", "fout_shared3_pll" };
43862306a36Sopenharmony_ciPNAME(mout_clkcmu_peric0_bus_p) = { "dout_shared2_div3", "dout_shared2_div4" };
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_cistatic const struct samsung_mux_clock top_mux_clks[] __initconst = {
44162306a36Sopenharmony_ci	/* CMU_TOP_PURECLKCOMP */
44262306a36Sopenharmony_ci	MUX(MOUT_SHARED0_PLL, "mout_shared0_pll", mout_shared0_pll_p,
44362306a36Sopenharmony_ci	    PLL_CON0_PLL_SHARED0, 4, 1),
44462306a36Sopenharmony_ci	MUX(MOUT_SHARED1_PLL, "mout_shared1_pll", mout_shared1_pll_p,
44562306a36Sopenharmony_ci	    PLL_CON0_PLL_SHARED1, 4, 1),
44662306a36Sopenharmony_ci	MUX(MOUT_SHARED2_PLL, "mout_shared2_pll", mout_shared2_pll_p,
44762306a36Sopenharmony_ci	    PLL_CON0_PLL_SHARED2, 4, 1),
44862306a36Sopenharmony_ci	MUX(MOUT_SHARED3_PLL, "mout_shared3_pll", mout_shared3_pll_p,
44962306a36Sopenharmony_ci	    PLL_CON0_PLL_SHARED3, 4, 1),
45062306a36Sopenharmony_ci	MUX(MOUT_SHARED4_PLL, "mout_shared4_pll", mout_shared4_pll_p,
45162306a36Sopenharmony_ci	    PLL_CON0_PLL_SHARED4, 4, 1),
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ci	/* BOOST */
45462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CMU_BOOST, "mout_clkcmu_cmu_boost",
45562306a36Sopenharmony_ci	    mout_clkcmu_cmu_boost_p, CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST, 0, 2),
45662306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CMU_CMUREF, "mout_clkcmu_cmu_cmuref",
45762306a36Sopenharmony_ci	    mout_clkcmu_cmu_cmuref_p, CLK_CON_MUX_MUX_CMU_CMUREF, 0, 1),
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci	/* ACC */
46062306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_ACC_BUS, "mout_clkcmu_acc_bus", mout_clkcmu_acc_bus_p,
46162306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_ACC_BUS, 0, 2),
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci	/* APM */
46462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_APM_BUS, "mout_clkcmu_apm_bus", mout_clkcmu_apm_bus_p,
46562306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_APM_BUS, 0, 2),
46662306a36Sopenharmony_ci
46762306a36Sopenharmony_ci	/* AUD */
46862306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_AUD_CPU, "mout_clkcmu_aud_cpu", mout_clkcmu_aud_cpu_p,
46962306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_AUD_CPU, 0, 3),
47062306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_AUD_BUS, "mout_clkcmu_aud_bus", mout_clkcmu_aud_bus_p,
47162306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_AUD_BUS, 0, 2),
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci	/* BUSC */
47462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_BUSC_BUS, "mout_clkcmu_busc_bus",
47562306a36Sopenharmony_ci	    mout_clkcmu_busc_bus_p, CLK_CON_MUX_MUX_CLKCMU_BUSC_BUS, 0, 2),
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci	/* BUSMC */
47862306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_BUSMC_BUS, "mout_clkcmu_busmc_bus",
47962306a36Sopenharmony_ci	    mout_clkcmu_busc_bus_p, CLK_CON_MUX_MUX_CLKCMU_BUSMC_BUS, 0, 2),
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci	/* CORE */
48262306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CORE_BUS, "mout_clkcmu_core_bus",
48362306a36Sopenharmony_ci	    mout_clkcmu_core_bus_p, CLK_CON_MUX_MUX_CLKCMU_CORE_BUS, 0, 3),
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci	/* CPUCL0 */
48662306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CPUCL0_SWITCH, "mout_clkcmu_cpucl0_switch",
48762306a36Sopenharmony_ci	    mout_clkcmu_cpucl0_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
48862306a36Sopenharmony_ci	    0, 2),
48962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CPUCL0_CLUSTER, "mout_clkcmu_cpucl0_cluster",
49062306a36Sopenharmony_ci	    mout_clkcmu_cpucl0_cluster_p,
49162306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_CPUCL0_CLUSTER, 0, 3),
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci	/* CPUCL1 */
49462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CPUCL1_SWITCH, "mout_clkcmu_cpucl1_switch",
49562306a36Sopenharmony_ci	    mout_clkcmu_cpucl0_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
49662306a36Sopenharmony_ci	    0, 2),
49762306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_CPUCL1_CLUSTER, "mout_clkcmu_cpucl1_cluster",
49862306a36Sopenharmony_ci	    mout_clkcmu_cpucl0_cluster_p,
49962306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_CPUCL1_CLUSTER, 0, 3),
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ci	/* DPTX */
50262306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_DPTX_BUS, "mout_clkcmu_dptx_bus",
50362306a36Sopenharmony_ci	    mout_clkcmu_dptx_bus_p, CLK_CON_MUX_MUX_CLKCMU_DPTX_BUS, 0, 2),
50462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_DPTX_DPGTC, "mout_clkcmu_dptx_dpgtc",
50562306a36Sopenharmony_ci	    mout_clkcmu_dptx_dpgtc_p, CLK_CON_MUX_MUX_CLKCMU_DPTX_DPGTC, 0, 2),
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_ci	/* DPUM */
50862306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_DPUM_BUS, "mout_clkcmu_dpum_bus",
50962306a36Sopenharmony_ci	    mout_clkcmu_dpum_bus_p, CLK_CON_MUX_MUX_CLKCMU_DPUM_BUS, 0, 3),
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci	/* DPUS */
51262306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_DPUS0_BUS, "mout_clkcmu_dpus0_bus",
51362306a36Sopenharmony_ci	    mout_clkcmu_dpum_bus_p, CLK_CON_MUX_MUX_CLKCMU_DPUS0_BUS, 0, 3),
51462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_DPUS1_BUS, "mout_clkcmu_dpus1_bus",
51562306a36Sopenharmony_ci	    mout_clkcmu_dpum_bus_p, CLK_CON_MUX_MUX_CLKCMU_DPUS1_BUS, 0, 3),
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci	/* FSYS0 */
51862306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS0_BUS, "mout_clkcmu_fsys0_bus",
51962306a36Sopenharmony_ci	    mout_clkcmu_fsys0_bus_p, CLK_CON_MUX_MUX_CLKCMU_FSYS0_BUS, 0, 2),
52062306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS0_PCIE, "mout_clkcmu_fsys0_pcie",
52162306a36Sopenharmony_ci	    mout_clkcmu_fsys0_pcie_p, CLK_CON_MUX_MUX_CLKCMU_FSYS0_PCIE, 0, 1),
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci	/* FSYS1 */
52462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS1_BUS, "mout_clkcmu_fsys1_bus",
52562306a36Sopenharmony_ci	    mout_clkcmu_fsys1_bus_p, CLK_CON_MUX_MUX_CLKCMU_FSYS1_BUS, 0, 2),
52662306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS1_USBDRD, "mout_clkcmu_fsys1_usbdrd",
52762306a36Sopenharmony_ci	    mout_clkcmu_fsys1_usbdrd_p, CLK_CON_MUX_MUX_CLKCMU_FSYS1_USBDRD,
52862306a36Sopenharmony_ci	    0, 2),
52962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS1_MMC_CARD, "mout_clkcmu_fsys1_mmc_card",
53062306a36Sopenharmony_ci	    mout_clkcmu_fsys1_mmc_card_p,
53162306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_FSYS1_MMC_CARD, 0, 2),
53262306a36Sopenharmony_ci
53362306a36Sopenharmony_ci	/* FSYS2 */
53462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS2_BUS, "mout_clkcmu_fsys2_bus",
53562306a36Sopenharmony_ci	    mout_clkcmu_fsys0_bus_p, CLK_CON_MUX_MUX_CLKCMU_FSYS2_BUS, 0, 2),
53662306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS2_UFS_EMBD, "mout_clkcmu_fsys2_ufs_embd",
53762306a36Sopenharmony_ci	    mout_clkcmu_fsys1_usbdrd_p, CLK_CON_MUX_MUX_CLKCMU_FSYS2_UFS_EMBD,
53862306a36Sopenharmony_ci	    0, 2),
53962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_FSYS2_ETHERNET, "mout_clkcmu_fsys2_ethernet",
54062306a36Sopenharmony_ci	    mout_clkcmu_fsys2_ethernet_p,
54162306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_FSYS2_ETHERNET, 0, 3),
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci	/* G2D */
54462306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_G2D_G2D, "mout_clkcmu_g2d_g2d", mout_clkcmu_g2d_g2d_p,
54562306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_G2D_G2D, 0, 3),
54662306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_G2D_MSCL, "mout_clkcmu_g2d_mscl",
54762306a36Sopenharmony_ci	    mout_clkcmu_fsys1_bus_p, CLK_CON_MUX_MUX_CLKCMU_G2D_MSCL, 0, 2),
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ci	/* G3D0 */
55062306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_G3D00_SWITCH, "mout_clkcmu_g3d00_switch",
55162306a36Sopenharmony_ci	    mout_clkcmu_g3d0_switch_p, CLK_CON_MUX_MUX_CLKCMU_G3D00_SWITCH,
55262306a36Sopenharmony_ci	    0, 2),
55362306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_G3D01_SWITCH, "mout_clkcmu_g3d01_switch",
55462306a36Sopenharmony_ci	    mout_clkcmu_g3d0_switch_p, CLK_CON_MUX_MUX_CLKCMU_G3D01_SWITCH,
55562306a36Sopenharmony_ci	    0, 2),
55662306a36Sopenharmony_ci
55762306a36Sopenharmony_ci	/* G3D1 */
55862306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_G3D1_SWITCH, "mout_clkcmu_g3d1_switch",
55962306a36Sopenharmony_ci	    mout_clkcmu_g3d1_switch_p, CLK_CON_MUX_MUX_CLKCMU_G3D1_SWITCH,
56062306a36Sopenharmony_ci	    0, 2),
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ci	/* ISPB */
56362306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_ISPB_BUS, "mout_clkcmu_ispb_bus",
56462306a36Sopenharmony_ci	    mout_clkcmu_acc_bus_p, CLK_CON_MUX_MUX_CLKCMU_ISPB_BUS, 0, 2),
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci	/* MFC */
56762306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_MFC_MFC, "mout_clkcmu_mfc_mfc",
56862306a36Sopenharmony_ci	    mout_clkcmu_g3d1_switch_p, CLK_CON_MUX_MUX_CLKCMU_MFC_MFC, 0, 2),
56962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_MFC_WFD, "mout_clkcmu_mfc_wfd",
57062306a36Sopenharmony_ci	    mout_clkcmu_fsys0_bus_p, CLK_CON_MUX_MUX_CLKCMU_MFC_WFD, 0, 2),
57162306a36Sopenharmony_ci
57262306a36Sopenharmony_ci	/* MIF */
57362306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_MIF_SWITCH, "mout_clkcmu_mif_switch",
57462306a36Sopenharmony_ci	    mout_clkcmu_mif_switch_p, CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH, 0, 3),
57562306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_MIF_BUSP, "mout_clkcmu_mif_busp",
57662306a36Sopenharmony_ci	    mout_clkcmu_fsys1_bus_p, CLK_CON_MUX_MUX_CLKCMU_MIF_BUSP, 0, 2),
57762306a36Sopenharmony_ci
57862306a36Sopenharmony_ci	/* NPU */
57962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_NPU_BUS, "mout_clkcmu_npu_bus", mout_clkcmu_npu_bus_p,
58062306a36Sopenharmony_ci	    CLK_CON_MUX_MUX_CLKCMU_NPU_BUS, 0, 3),
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_ci	/* PERIC0 */
58362306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_PERIC0_BUS, "mout_clkcmu_peric0_bus",
58462306a36Sopenharmony_ci	    mout_clkcmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_BUS, 0, 1),
58562306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_PERIC0_IP, "mout_clkcmu_peric0_ip",
58662306a36Sopenharmony_ci	    mout_clkcmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP, 0, 1),
58762306a36Sopenharmony_ci
58862306a36Sopenharmony_ci	/* PERIC1 */
58962306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_PERIC1_BUS, "mout_clkcmu_peric1_bus",
59062306a36Sopenharmony_ci	    mout_clkcmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_BUS, 0, 1),
59162306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_PERIC1_IP, "mout_clkcmu_peric1_ip",
59262306a36Sopenharmony_ci	    mout_clkcmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP, 0, 1),
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci	/* PERIS */
59562306a36Sopenharmony_ci	MUX(MOUT_CLKCMU_PERIS_BUS, "mout_clkcmu_peris_bus",
59662306a36Sopenharmony_ci	    mout_clkcmu_peric0_bus_p, CLK_CON_MUX_MUX_CLKCMU_PERIS_BUS, 0, 1),
59762306a36Sopenharmony_ci};
59862306a36Sopenharmony_ci
59962306a36Sopenharmony_cistatic const struct samsung_div_clock top_div_clks[] __initconst = {
60062306a36Sopenharmony_ci	/* CMU_TOP_PURECLKCOMP */
60162306a36Sopenharmony_ci	DIV(DOUT_SHARED0_DIV3, "dout_shared0_div3", "mout_shared0_pll",
60262306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED0_DIV3, 0, 2),
60362306a36Sopenharmony_ci	DIV(DOUT_SHARED0_DIV2, "dout_shared0_div2", "mout_shared0_pll",
60462306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED0_DIV2, 0, 1),
60562306a36Sopenharmony_ci
60662306a36Sopenharmony_ci	DIV(DOUT_SHARED1_DIV3, "dout_shared1_div3", "mout_shared1_pll",
60762306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED1_DIV3, 0, 2),
60862306a36Sopenharmony_ci	DIV(DOUT_SHARED1_DIV2, "dout_shared1_div2", "mout_shared1_pll",
60962306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED1_DIV2, 0, 1),
61062306a36Sopenharmony_ci	DIV(DOUT_SHARED1_DIV4, "dout_shared1_div4", "dout_shared1_div2",
61162306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED1_DIV4, 0, 1),
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	DIV(DOUT_SHARED2_DIV3, "dout_shared2_div3", "mout_shared2_pll",
61462306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED2_DIV3, 0, 2),
61562306a36Sopenharmony_ci	DIV(DOUT_SHARED2_DIV2, "dout_shared2_div2", "mout_shared2_pll",
61662306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED2_DIV2, 0, 1),
61762306a36Sopenharmony_ci	DIV(DOUT_SHARED2_DIV4, "dout_shared2_div4", "dout_shared2_div2",
61862306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED2_DIV4, 0, 1),
61962306a36Sopenharmony_ci
62062306a36Sopenharmony_ci	DIV(DOUT_SHARED4_DIV2, "dout_shared4_div2", "mout_shared4_pll",
62162306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED4_DIV2, 0, 1),
62262306a36Sopenharmony_ci	DIV(DOUT_SHARED4_DIV4, "dout_shared4_div4", "dout_shared4_div2",
62362306a36Sopenharmony_ci	    CLK_CON_DIV_PLL_SHARED4_DIV4, 0, 1),
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci	/* BOOST */
62662306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CMU_BOOST, "dout_clkcmu_cmu_boost",
62762306a36Sopenharmony_ci	    "gout_clkcmu_cmu_boost", CLK_CON_DIV_DIV_CLKCMU_CMU_BOOST, 0, 2),
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_ci	/* ACC */
63062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_ACC_BUS, "dout_clkcmu_acc_bus", "gout_clkcmu_acc_bus",
63162306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_ACC_BUS, 0, 4),
63262306a36Sopenharmony_ci
63362306a36Sopenharmony_ci	/* APM */
63462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_APM_BUS, "dout_clkcmu_apm_bus", "gout_clkcmu_apm_bus",
63562306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_APM_BUS, 0, 3),
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_ci	/* AUD */
63862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_AUD_CPU, "dout_clkcmu_aud_cpu", "gout_clkcmu_aud_cpu",
63962306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_AUD_CPU, 0, 3),
64062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_AUD_BUS, "dout_clkcmu_aud_bus", "gout_clkcmu_aud_bus",
64162306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_AUD_BUS, 0, 4),
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_ci	/* BUSC */
64462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_BUSC_BUS, "dout_clkcmu_busc_bus",
64562306a36Sopenharmony_ci	    "gout_clkcmu_busc_bus", CLK_CON_DIV_CLKCMU_BUSC_BUS, 0, 4),
64662306a36Sopenharmony_ci
64762306a36Sopenharmony_ci	/* BUSMC */
64862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_BUSMC_BUS, "dout_clkcmu_busmc_bus",
64962306a36Sopenharmony_ci	    "gout_clkcmu_busmc_bus", CLK_CON_DIV_CLKCMU_BUSMC_BUS, 0, 4),
65062306a36Sopenharmony_ci
65162306a36Sopenharmony_ci	/* CORE */
65262306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CORE_BUS, "dout_clkcmu_core_bus",
65362306a36Sopenharmony_ci	    "gout_clkcmu_core_bus", CLK_CON_DIV_CLKCMU_CORE_BUS, 0, 4),
65462306a36Sopenharmony_ci
65562306a36Sopenharmony_ci	/* CPUCL0 */
65662306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CPUCL0_SWITCH, "dout_clkcmu_cpucl0_switch",
65762306a36Sopenharmony_ci	    "gout_clkcmu_cpucl0_switch", CLK_CON_DIV_CLKCMU_CPUCL0_SWITCH,
65862306a36Sopenharmony_ci	    0, 3),
65962306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CPUCL0_CLUSTER, "dout_clkcmu_cpucl0_cluster",
66062306a36Sopenharmony_ci	    "gout_clkcmu_cpucl0_cluster", CLK_CON_DIV_CLKCMU_CPUCL0_CLUSTER,
66162306a36Sopenharmony_ci	    0, 3),
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ci	/* CPUCL1 */
66462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CPUCL1_SWITCH, "dout_clkcmu_cpucl1_switch",
66562306a36Sopenharmony_ci	    "gout_clkcmu_cpucl1_switch", CLK_CON_DIV_CLKCMU_CPUCL1_SWITCH,
66662306a36Sopenharmony_ci	    0, 3),
66762306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_CPUCL1_CLUSTER, "dout_clkcmu_cpucl1_cluster",
66862306a36Sopenharmony_ci	    "gout_clkcmu_cpucl1_cluster", CLK_CON_DIV_CLKCMU_CPUCL1_CLUSTER,
66962306a36Sopenharmony_ci	    0, 3),
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_ci	/* DPTX */
67262306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_DPTX_BUS, "dout_clkcmu_dptx_bus",
67362306a36Sopenharmony_ci	    "gout_clkcmu_dptx_bus", CLK_CON_DIV_CLKCMU_DPTX_BUS, 0, 4),
67462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_DPTX_DPGTC, "dout_clkcmu_dptx_dpgtc",
67562306a36Sopenharmony_ci	    "gout_clkcmu_dptx_dpgtc", CLK_CON_DIV_CLKCMU_DPTX_DPGTC, 0, 3),
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci	/* DPUM */
67862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_DPUM_BUS, "dout_clkcmu_dpum_bus",
67962306a36Sopenharmony_ci	    "gout_clkcmu_dpum_bus", CLK_CON_DIV_CLKCMU_DPUM_BUS, 0, 4),
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci	/* DPUS */
68262306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_DPUS0_BUS, "dout_clkcmu_dpus0_bus",
68362306a36Sopenharmony_ci	    "gout_clkcmu_dpus0_bus", CLK_CON_DIV_CLKCMU_DPUS0_BUS, 0, 4),
68462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_DPUS1_BUS, "dout_clkcmu_dpus1_bus",
68562306a36Sopenharmony_ci	    "gout_clkcmu_dpus1_bus", CLK_CON_DIV_CLKCMU_DPUS1_BUS, 0, 4),
68662306a36Sopenharmony_ci
68762306a36Sopenharmony_ci	/* FSYS0 */
68862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS0_BUS, "dout_clkcmu_fsys0_bus",
68962306a36Sopenharmony_ci	    "gout_clkcmu_fsys0_bus", CLK_CON_DIV_CLKCMU_FSYS0_BUS, 0, 4),
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci	/* FSYS1 */
69262306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS1_BUS, "dout_clkcmu_fsys1_bus",
69362306a36Sopenharmony_ci	    "gout_clkcmu_fsys1_bus", CLK_CON_DIV_CLKCMU_FSYS1_BUS, 0, 4),
69462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS1_USBDRD, "dout_clkcmu_fsys1_usbdrd",
69562306a36Sopenharmony_ci	    "gout_clkcmu_fsys1_usbdrd", CLK_CON_DIV_CLKCMU_FSYS1_USBDRD, 0, 4),
69662306a36Sopenharmony_ci
69762306a36Sopenharmony_ci	/* FSYS2 */
69862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS2_BUS, "dout_clkcmu_fsys2_bus",
69962306a36Sopenharmony_ci	    "gout_clkcmu_fsys2_bus", CLK_CON_DIV_CLKCMU_FSYS2_BUS, 0, 4),
70062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS2_UFS_EMBD, "dout_clkcmu_fsys2_ufs_embd",
70162306a36Sopenharmony_ci	    "gout_clkcmu_fsys2_ufs_embd", CLK_CON_DIV_CLKCMU_FSYS2_UFS_EMBD,
70262306a36Sopenharmony_ci	    0, 3),
70362306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_FSYS2_ETHERNET, "dout_clkcmu_fsys2_ethernet",
70462306a36Sopenharmony_ci	    "gout_clkcmu_fsys2_ethernet", CLK_CON_DIV_CLKCMU_FSYS2_ETHERNET,
70562306a36Sopenharmony_ci	    0, 3),
70662306a36Sopenharmony_ci
70762306a36Sopenharmony_ci	/* G2D */
70862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_G2D_G2D, "dout_clkcmu_g2d_g2d", "gout_clkcmu_g2d_g2d",
70962306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_G2D_G2D, 0, 4),
71062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_G2D_MSCL, "dout_clkcmu_g2d_mscl",
71162306a36Sopenharmony_ci	    "gout_clkcmu_g2d_mscl", CLK_CON_DIV_CLKCMU_G2D_MSCL, 0, 4),
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ci	/* G3D0 */
71462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_G3D00_SWITCH, "dout_clkcmu_g3d00_switch",
71562306a36Sopenharmony_ci	    "gout_clkcmu_g3d00_switch", CLK_CON_DIV_CLKCMU_G3D00_SWITCH, 0, 3),
71662306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_G3D01_SWITCH, "dout_clkcmu_g3d01_switch",
71762306a36Sopenharmony_ci	    "gout_clkcmu_g3d01_switch", CLK_CON_DIV_CLKCMU_G3D01_SWITCH, 0, 3),
71862306a36Sopenharmony_ci
71962306a36Sopenharmony_ci	/* G3D1 */
72062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_G3D1_SWITCH, "dout_clkcmu_g3d1_switch",
72162306a36Sopenharmony_ci	    "gout_clkcmu_g3d1_switch", CLK_CON_DIV_CLKCMU_G3D1_SWITCH, 0, 3),
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci	/* ISPB */
72462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_ISPB_BUS, "dout_clkcmu_ispb_bus",
72562306a36Sopenharmony_ci	    "gout_clkcmu_ispb_bus", CLK_CON_DIV_CLKCMU_ISPB_BUS, 0, 4),
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_ci	/* MFC */
72862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_MFC_MFC, "dout_clkcmu_mfc_mfc", "gout_clkcmu_mfc_mfc",
72962306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_MFC_MFC, 0, 4),
73062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_MFC_WFD, "dout_clkcmu_mfc_wfd", "gout_clkcmu_mfc_wfd",
73162306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_MFC_WFD, 0, 4),
73262306a36Sopenharmony_ci
73362306a36Sopenharmony_ci	/* MIF */
73462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_MIF_BUSP, "dout_clkcmu_mif_busp",
73562306a36Sopenharmony_ci	    "gout_clkcmu_mif_busp", CLK_CON_DIV_CLKCMU_MIF_BUSP, 0, 4),
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_ci	/* NPU */
73862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_NPU_BUS, "dout_clkcmu_npu_bus", "gout_clkcmu_npu_bus",
73962306a36Sopenharmony_ci	    CLK_CON_DIV_CLKCMU_NPU_BUS, 0, 4),
74062306a36Sopenharmony_ci
74162306a36Sopenharmony_ci	/* PERIC0 */
74262306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_PERIC0_BUS, "dout_clkcmu_peric0_bus",
74362306a36Sopenharmony_ci	    "gout_clkcmu_peric0_bus", CLK_CON_DIV_CLKCMU_PERIC0_BUS, 0, 4),
74462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_PERIC0_IP, "dout_clkcmu_peric0_ip",
74562306a36Sopenharmony_ci	    "gout_clkcmu_peric0_ip", CLK_CON_DIV_CLKCMU_PERIC0_IP, 0, 4),
74662306a36Sopenharmony_ci
74762306a36Sopenharmony_ci	/* PERIC1 */
74862306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_PERIC1_BUS, "dout_clkcmu_peric1_bus",
74962306a36Sopenharmony_ci	    "gout_clkcmu_peric1_bus", CLK_CON_DIV_CLKCMU_PERIC1_BUS, 0, 4),
75062306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_PERIC1_IP, "dout_clkcmu_peric1_ip",
75162306a36Sopenharmony_ci	    "gout_clkcmu_peric1_ip", CLK_CON_DIV_CLKCMU_PERIC1_IP, 0, 4),
75262306a36Sopenharmony_ci
75362306a36Sopenharmony_ci	/* PERIS */
75462306a36Sopenharmony_ci	DIV(DOUT_CLKCMU_PERIS_BUS, "dout_clkcmu_peris_bus",
75562306a36Sopenharmony_ci	    "gout_clkcmu_peris_bus", CLK_CON_DIV_CLKCMU_PERIS_BUS, 0, 4),
75662306a36Sopenharmony_ci};
75762306a36Sopenharmony_ci
75862306a36Sopenharmony_cistatic const struct samsung_fixed_factor_clock top_fixed_factor_clks[] __initconst = {
75962306a36Sopenharmony_ci	FFACTOR(DOUT_CLKCMU_FSYS0_PCIE, "dout_clkcmu_fsys0_pcie",
76062306a36Sopenharmony_ci		"gout_clkcmu_fsys0_pcie", 1, 4, 0),
76162306a36Sopenharmony_ci};
76262306a36Sopenharmony_ci
76362306a36Sopenharmony_cistatic const struct samsung_gate_clock top_gate_clks[] __initconst = {
76462306a36Sopenharmony_ci	/* BOOST */
76562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CMU_BOOST, "gout_clkcmu_cmu_boost",
76662306a36Sopenharmony_ci	     "mout_clkcmu_cmu_boost", CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST,
76762306a36Sopenharmony_ci	     21, 0, 0),
76862306a36Sopenharmony_ci
76962306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL0_BOOST, "gout_clkcmu_cpucl0_boost",
77062306a36Sopenharmony_ci	     "dout_cmu_boost", CLK_CON_GAT_CLKCMU_CMU_CPUCL0_BOOST, 21, 0, 0),
77162306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL1_BOOST, "gout_clkcmu_cpucl1_boost",
77262306a36Sopenharmony_ci	     "dout_cmu_boost", CLK_CON_GAT_CLKCMU_CMU_CPUCL1_BOOST, 21, 0, 0),
77362306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CORE_BOOST, "gout_clkcmu_core_boost",
77462306a36Sopenharmony_ci	     "dout_cmu_boost", CLK_CON_GAT_CLKCMU_CMU_CORE_BOOST, 21, 0, 0),
77562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_BUSC_BOOST, "gout_clkcmu_busc_boost",
77662306a36Sopenharmony_ci	     "dout_cmu_boost", CLK_CON_GAT_CLKCMU_CMU_BUSC_BOOST, 21, 0, 0),
77762306a36Sopenharmony_ci
77862306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_BUSMC_BOOST, "gout_clkcmu_busmc_boost",
77962306a36Sopenharmony_ci	     "dout_cmu_boost", CLK_CON_GAT_CLKCMU_CMU_BUSMC_BOOST, 21, 0, 0),
78062306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_MIF_BOOST, "gout_clkcmu_mif_boost", "dout_cmu_boost",
78162306a36Sopenharmony_ci	     CLK_CON_GAT_CLKCMU_CMU_MIF_BOOST, 21, 0, 0),
78262306a36Sopenharmony_ci
78362306a36Sopenharmony_ci	/* ACC */
78462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_ACC_BUS, "gout_clkcmu_acc_bus", "mout_clkcmu_acc_bus",
78562306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_ACC_BUS, 21, 0, 0),
78662306a36Sopenharmony_ci
78762306a36Sopenharmony_ci	/* APM */
78862306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_APM_BUS, "gout_clkcmu_apm_bus", "mout_clkcmu_apm_bus",
78962306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_APM_BUS, 21, CLK_IGNORE_UNUSED, 0),
79062306a36Sopenharmony_ci
79162306a36Sopenharmony_ci	/* AUD */
79262306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_AUD_CPU, "gout_clkcmu_aud_cpu", "mout_clkcmu_aud_cpu",
79362306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_AUD_CPU, 21, 0, 0),
79462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_AUD_BUS, "gout_clkcmu_aud_bus", "mout_clkcmu_aud_bus",
79562306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_AUD_BUS, 21, 0, 0),
79662306a36Sopenharmony_ci
79762306a36Sopenharmony_ci	/* BUSC */
79862306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_BUSC_BUS, "gout_clkcmu_busc_bus",
79962306a36Sopenharmony_ci	     "mout_clkcmu_busc_bus", CLK_CON_GAT_GATE_CLKCMU_BUSC_BUS, 21,
80062306a36Sopenharmony_ci	     CLK_IS_CRITICAL, 0),
80162306a36Sopenharmony_ci
80262306a36Sopenharmony_ci	/* BUSMC */
80362306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_BUSMC_BUS, "gout_clkcmu_busmc_bus",
80462306a36Sopenharmony_ci	     "mout_clkcmu_busmc_bus", CLK_CON_GAT_GATE_CLKCMU_BUSMC_BUS, 21,
80562306a36Sopenharmony_ci	     CLK_IS_CRITICAL, 0),
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_ci	/* CORE */
80862306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CORE_BUS, "gout_clkcmu_core_bus",
80962306a36Sopenharmony_ci	     "mout_clkcmu_core_bus", CLK_CON_GAT_GATE_CLKCMU_CORE_BUS,
81062306a36Sopenharmony_ci	     21, 0, 0),
81162306a36Sopenharmony_ci
81262306a36Sopenharmony_ci	/* CPUCL0 */
81362306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL0_SWITCH, "gout_clkcmu_cpucl0_switch",
81462306a36Sopenharmony_ci	     "mout_clkcmu_cpucl0_switch",
81562306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH, 21, CLK_IGNORE_UNUSED, 0),
81662306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL0_CLUSTER, "gout_clkcmu_cpucl0_cluster",
81762306a36Sopenharmony_ci	     "mout_clkcmu_cpucl0_cluster",
81862306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_CPUCL0_CLUSTER, 21, CLK_IGNORE_UNUSED, 0),
81962306a36Sopenharmony_ci
82062306a36Sopenharmony_ci	/* CPUCL1 */
82162306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL1_SWITCH, "gout_clkcmu_cpucl1_switch",
82262306a36Sopenharmony_ci	     "mout_clkcmu_cpucl1_switch",
82362306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH, 21, CLK_IGNORE_UNUSED, 0),
82462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_CPUCL1_CLUSTER, "gout_clkcmu_cpucl1_cluster",
82562306a36Sopenharmony_ci	     "mout_clkcmu_cpucl1_cluster",
82662306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_CPUCL1_CLUSTER, 21, CLK_IGNORE_UNUSED, 0),
82762306a36Sopenharmony_ci
82862306a36Sopenharmony_ci	/* DPTX */
82962306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_DPTX_BUS, "gout_clkcmu_dptx_bus",
83062306a36Sopenharmony_ci	     "mout_clkcmu_dptx_bus", CLK_CON_GAT_GATE_CLKCMU_DPTX_BUS,
83162306a36Sopenharmony_ci	     21, 0, 0),
83262306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_DPTX_DPGTC, "gout_clkcmu_dptx_dpgtc",
83362306a36Sopenharmony_ci	     "mout_clkcmu_dptx_dpgtc", CLK_CON_GAT_GATE_CLKCMU_DPTX_DPGTC,
83462306a36Sopenharmony_ci	     21, 0, 0),
83562306a36Sopenharmony_ci
83662306a36Sopenharmony_ci	/* DPUM */
83762306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_DPUM_BUS, "gout_clkcmu_dpum_bus",
83862306a36Sopenharmony_ci	     "mout_clkcmu_dpum_bus", CLK_CON_GAT_GATE_CLKCMU_DPUM_BUS,
83962306a36Sopenharmony_ci	     21, 0, 0),
84062306a36Sopenharmony_ci
84162306a36Sopenharmony_ci	/* DPUS */
84262306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_DPUS0_BUS, "gout_clkcmu_dpus0_bus",
84362306a36Sopenharmony_ci	     "mout_clkcmu_dpus0_bus", CLK_CON_GAT_GATE_CLKCMU_DPUS0_BUS,
84462306a36Sopenharmony_ci	     21, 0, 0),
84562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_DPUS1_BUS, "gout_clkcmu_dpus1_bus",
84662306a36Sopenharmony_ci	     "mout_clkcmu_dpus1_bus", CLK_CON_GAT_GATE_CLKCMU_DPUS1_BUS,
84762306a36Sopenharmony_ci	     21, 0, 0),
84862306a36Sopenharmony_ci
84962306a36Sopenharmony_ci	/* FSYS0 */
85062306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS0_BUS, "gout_clkcmu_fsys0_bus",
85162306a36Sopenharmony_ci	     "mout_clkcmu_fsys0_bus", CLK_CON_GAT_GATE_CLKCMU_FSYS0_BUS,
85262306a36Sopenharmony_ci	     21, 0, 0),
85362306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS0_PCIE, "gout_clkcmu_fsys0_pcie",
85462306a36Sopenharmony_ci	     "mout_clkcmu_fsys0_pcie", CLK_CON_GAT_GATE_CLKCMU_FSYS0_PCIE,
85562306a36Sopenharmony_ci	     21, 0, 0),
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_ci	/* FSYS1 */
85862306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS1_BUS, "gout_clkcmu_fsys1_bus",
85962306a36Sopenharmony_ci	     "mout_clkcmu_fsys1_bus", CLK_CON_GAT_GATE_CLKCMU_FSYS1_BUS,
86062306a36Sopenharmony_ci	     21, 0, 0),
86162306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS1_USBDRD, "gout_clkcmu_fsys1_usbdrd",
86262306a36Sopenharmony_ci	     "mout_clkcmu_fsys1_usbdrd", CLK_CON_GAT_GATE_CLKCMU_FSYS1_USBDRD,
86362306a36Sopenharmony_ci	     21, 0, 0),
86462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS1_MMC_CARD, "gout_clkcmu_fsys1_mmc_card",
86562306a36Sopenharmony_ci	     "mout_clkcmu_fsys1_mmc_card",
86662306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_FSYS1_MMC_CARD, 21, 0, 0),
86762306a36Sopenharmony_ci
86862306a36Sopenharmony_ci	/* FSYS2 */
86962306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS2_BUS, "gout_clkcmu_fsys2_bus",
87062306a36Sopenharmony_ci	     "mout_clkcmu_fsys2_bus", CLK_CON_GAT_GATE_CLKCMU_FSYS2_BUS,
87162306a36Sopenharmony_ci	     21, 0, 0),
87262306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS2_UFS_EMBD, "gout_clkcmu_fsys2_ufs_embd",
87362306a36Sopenharmony_ci	     "mout_clkcmu_fsys2_ufs_embd",
87462306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_FSYS2_UFS_EMBD, 21, 0, 0),
87562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_FSYS2_ETHERNET, "gout_clkcmu_fsys2_ethernet",
87662306a36Sopenharmony_ci	     "mout_clkcmu_fsys2_ethernet",
87762306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_FSYS2_ETHERNET, 21, 0, 0),
87862306a36Sopenharmony_ci
87962306a36Sopenharmony_ci	/* G2D */
88062306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_G2D_G2D, "gout_clkcmu_g2d_g2d",
88162306a36Sopenharmony_ci	     "mout_clkcmu_g2d_g2d", CLK_CON_GAT_GATE_CLKCMU_G2D_G2D, 21, 0, 0),
88262306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_G2D_MSCL, "gout_clkcmu_g2d_mscl",
88362306a36Sopenharmony_ci	     "mout_clkcmu_g2d_mscl", CLK_CON_GAT_GATE_CLKCMU_G2D_MSCL,
88462306a36Sopenharmony_ci	     21, 0, 0),
88562306a36Sopenharmony_ci
88662306a36Sopenharmony_ci	/* G3D0 */
88762306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_G3D00_SWITCH, "gout_clkcmu_g3d00_switch",
88862306a36Sopenharmony_ci	     "mout_clkcmu_g3d00_switch", CLK_CON_GAT_GATE_CLKCMU_G3D00_SWITCH,
88962306a36Sopenharmony_ci	     21, 0, 0),
89062306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_G3D01_SWITCH, "gout_clkcmu_g3d01_switch",
89162306a36Sopenharmony_ci	     "mout_clkcmu_g3d01_switch", CLK_CON_GAT_GATE_CLKCMU_G3D01_SWITCH,
89262306a36Sopenharmony_ci	     21, 0, 0),
89362306a36Sopenharmony_ci
89462306a36Sopenharmony_ci	/* G3D1 */
89562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_G3D1_SWITCH, "gout_clkcmu_g3d1_switch",
89662306a36Sopenharmony_ci	     "mout_clkcmu_g3d1_switch", CLK_CON_GAT_GATE_CLKCMU_G3D1_SWITCH,
89762306a36Sopenharmony_ci	     21, 0, 0),
89862306a36Sopenharmony_ci
89962306a36Sopenharmony_ci	/* ISPB */
90062306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_ISPB_BUS, "gout_clkcmu_ispb_bus",
90162306a36Sopenharmony_ci	     "mout_clkcmu_ispb_bus", CLK_CON_GAT_GATE_CLKCMU_ISPB_BUS,
90262306a36Sopenharmony_ci	     21, 0, 0),
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci	/* MFC */
90562306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_MFC_MFC, "gout_clkcmu_mfc_mfc", "mout_clkcmu_mfc_mfc",
90662306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_MFC_MFC, 21, 0, 0),
90762306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_MFC_WFD, "gout_clkcmu_mfc_wfd", "mout_clkcmu_mfc_wfd",
90862306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_MFC_WFD, 21, 0, 0),
90962306a36Sopenharmony_ci
91062306a36Sopenharmony_ci	/* MIF */
91162306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_MIF_SWITCH, "gout_clkcmu_mif_switch",
91262306a36Sopenharmony_ci	     "mout_clkcmu_mif_switch", CLK_CON_GAT_GATE_CLKCMU_MIF_SWITCH,
91362306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
91462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_MIF_BUSP, "gout_clkcmu_mif_busp",
91562306a36Sopenharmony_ci	     "mout_clkcmu_mif_busp", CLK_CON_GAT_GATE_CLKCMU_MIF_BUSP,
91662306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_ci	/* NPU */
91962306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_NPU_BUS, "gout_clkcmu_npu_bus", "mout_clkcmu_npu_bus",
92062306a36Sopenharmony_ci	     CLK_CON_GAT_GATE_CLKCMU_NPU_BUS, 21, 0, 0),
92162306a36Sopenharmony_ci
92262306a36Sopenharmony_ci	/* PERIC0 */
92362306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_PERIC0_BUS, "gout_clkcmu_peric0_bus",
92462306a36Sopenharmony_ci	     "mout_clkcmu_peric0_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS,
92562306a36Sopenharmony_ci	     21, 0, 0),
92662306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_PERIC0_IP, "gout_clkcmu_peric0_ip",
92762306a36Sopenharmony_ci	     "mout_clkcmu_peric0_ip", CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP,
92862306a36Sopenharmony_ci	     21, 0, 0),
92962306a36Sopenharmony_ci
93062306a36Sopenharmony_ci	/* PERIC1 */
93162306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_PERIC1_BUS, "gout_clkcmu_peric1_bus",
93262306a36Sopenharmony_ci	     "mout_clkcmu_peric1_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS,
93362306a36Sopenharmony_ci	     21, 0, 0),
93462306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_PERIC1_IP, "gout_clkcmu_peric1_ip",
93562306a36Sopenharmony_ci	     "mout_clkcmu_peric1_ip", CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP,
93662306a36Sopenharmony_ci	     21, 0, 0),
93762306a36Sopenharmony_ci
93862306a36Sopenharmony_ci	/* PERIS */
93962306a36Sopenharmony_ci	GATE(GOUT_CLKCMU_PERIS_BUS, "gout_clkcmu_peris_bus",
94062306a36Sopenharmony_ci	     "mout_clkcmu_peris_bus", CLK_CON_GAT_GATE_CLKCMU_PERIS_BUS,
94162306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
94262306a36Sopenharmony_ci};
94362306a36Sopenharmony_ci
94462306a36Sopenharmony_cistatic const struct samsung_cmu_info top_cmu_info __initconst = {
94562306a36Sopenharmony_ci	.pll_clks		= top_pll_clks,
94662306a36Sopenharmony_ci	.nr_pll_clks		= ARRAY_SIZE(top_pll_clks),
94762306a36Sopenharmony_ci	.mux_clks		= top_mux_clks,
94862306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(top_mux_clks),
94962306a36Sopenharmony_ci	.div_clks		= top_div_clks,
95062306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(top_div_clks),
95162306a36Sopenharmony_ci	.fixed_factor_clks	= top_fixed_factor_clks,
95262306a36Sopenharmony_ci	.nr_fixed_factor_clks	= ARRAY_SIZE(top_fixed_factor_clks),
95362306a36Sopenharmony_ci	.gate_clks		= top_gate_clks,
95462306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(top_gate_clks),
95562306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_TOP,
95662306a36Sopenharmony_ci	.clk_regs		= top_clk_regs,
95762306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(top_clk_regs),
95862306a36Sopenharmony_ci};
95962306a36Sopenharmony_ci
96062306a36Sopenharmony_cistatic void __init exynosautov9_cmu_top_init(struct device_node *np)
96162306a36Sopenharmony_ci{
96262306a36Sopenharmony_ci	exynos_arm64_register_cmu(NULL, np, &top_cmu_info);
96362306a36Sopenharmony_ci}
96462306a36Sopenharmony_ci
96562306a36Sopenharmony_ci/* Register CMU_TOP early, as it's a dependency for other early domains */
96662306a36Sopenharmony_ciCLK_OF_DECLARE(exynosautov9_cmu_top, "samsung,exynosautov9-cmu-top",
96762306a36Sopenharmony_ci	       exynosautov9_cmu_top_init);
96862306a36Sopenharmony_ci
96962306a36Sopenharmony_ci/* ---- CMU_BUSMC ---------------------------------------------------------- */
97062306a36Sopenharmony_ci
97162306a36Sopenharmony_ci/* Register Offset definitions for CMU_BUSMC (0x1b200000) */
97262306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_BUSMC_BUS_USER				0x0600
97362306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_BUSMC_BUSP					0x1800
97462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_PDMA0_IPCLKPORT_PCLK		0x2078
97562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_SPDMA_IPCLKPORT_PCLK		0x2080
97662306a36Sopenharmony_ci
97762306a36Sopenharmony_cistatic const unsigned long busmc_clk_regs[] __initconst = {
97862306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_BUSMC_BUS_USER,
97962306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_BUSMC_BUSP,
98062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_PDMA0_IPCLKPORT_PCLK,
98162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_SPDMA_IPCLKPORT_PCLK,
98262306a36Sopenharmony_ci};
98362306a36Sopenharmony_ci
98462306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_BUSMC */
98562306a36Sopenharmony_ciPNAME(mout_busmc_bus_user_p) = { "oscclk", "dout_clkcmu_busmc_bus" };
98662306a36Sopenharmony_ci
98762306a36Sopenharmony_cistatic const struct samsung_mux_clock busmc_mux_clks[] __initconst = {
98862306a36Sopenharmony_ci	MUX(CLK_MOUT_BUSMC_BUS_USER, "mout_busmc_bus_user",
98962306a36Sopenharmony_ci	    mout_busmc_bus_user_p, PLL_CON0_MUX_CLKCMU_BUSMC_BUS_USER, 4, 1),
99062306a36Sopenharmony_ci};
99162306a36Sopenharmony_ci
99262306a36Sopenharmony_cistatic const struct samsung_div_clock busmc_div_clks[] __initconst = {
99362306a36Sopenharmony_ci	DIV(CLK_DOUT_BUSMC_BUSP, "dout_busmc_busp", "mout_busmc_bus_user",
99462306a36Sopenharmony_ci	    CLK_CON_DIV_DIV_CLK_BUSMC_BUSP, 0, 3),
99562306a36Sopenharmony_ci};
99662306a36Sopenharmony_ci
99762306a36Sopenharmony_cistatic const struct samsung_gate_clock busmc_gate_clks[] __initconst = {
99862306a36Sopenharmony_ci	GATE(CLK_GOUT_BUSMC_PDMA0_PCLK, "gout_busmc_pdma0_pclk",
99962306a36Sopenharmony_ci	     "dout_busmc_busp",
100062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_PDMA0_IPCLKPORT_PCLK, 21,
100162306a36Sopenharmony_ci	     0, 0),
100262306a36Sopenharmony_ci	GATE(CLK_GOUT_BUSMC_SPDMA_PCLK, "gout_busmc_spdma_pclk",
100362306a36Sopenharmony_ci	     "dout_busmc_busp",
100462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_BUSMC_UID_QE_SPDMA_IPCLKPORT_PCLK, 21,
100562306a36Sopenharmony_ci	     0, 0),
100662306a36Sopenharmony_ci};
100762306a36Sopenharmony_ci
100862306a36Sopenharmony_cistatic const struct samsung_cmu_info busmc_cmu_info __initconst = {
100962306a36Sopenharmony_ci	.mux_clks		= busmc_mux_clks,
101062306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(busmc_mux_clks),
101162306a36Sopenharmony_ci	.div_clks		= busmc_div_clks,
101262306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(busmc_div_clks),
101362306a36Sopenharmony_ci	.gate_clks		= busmc_gate_clks,
101462306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(busmc_gate_clks),
101562306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_BUSMC,
101662306a36Sopenharmony_ci	.clk_regs		= busmc_clk_regs,
101762306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(busmc_clk_regs),
101862306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_busmc_bus",
101962306a36Sopenharmony_ci};
102062306a36Sopenharmony_ci
102162306a36Sopenharmony_ci/* ---- CMU_CORE ----------------------------------------------------------- */
102262306a36Sopenharmony_ci
102362306a36Sopenharmony_ci/* Register Offset definitions for CMU_CORE (0x1b030000) */
102462306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_CORE_BUS_USER				0x0600
102562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CORE_CMUREF					0x1000
102662306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_CORE_BUSP					0x1800
102762306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_CLK			0x2000
102862306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_PCLK			0x2004
102962306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_CORE_UID_CORE_CMU_CORE_IPCLKPORT_PCLK	0x2008
103062306a36Sopenharmony_ci
103162306a36Sopenharmony_cistatic const unsigned long core_clk_regs[] __initconst = {
103262306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_CORE_BUS_USER,
103362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CORE_CMUREF,
103462306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_CORE_BUSP,
103562306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_CLK,
103662306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_PCLK,
103762306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_CORE_UID_CORE_CMU_CORE_IPCLKPORT_PCLK,
103862306a36Sopenharmony_ci};
103962306a36Sopenharmony_ci
104062306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_CORE */
104162306a36Sopenharmony_ciPNAME(mout_core_bus_user_p) = { "oscclk", "dout_clkcmu_core_bus" };
104262306a36Sopenharmony_ci
104362306a36Sopenharmony_cistatic const struct samsung_mux_clock core_mux_clks[] __initconst = {
104462306a36Sopenharmony_ci	MUX(CLK_MOUT_CORE_BUS_USER, "mout_core_bus_user", mout_core_bus_user_p,
104562306a36Sopenharmony_ci	    PLL_CON0_MUX_CLKCMU_CORE_BUS_USER, 4, 1),
104662306a36Sopenharmony_ci};
104762306a36Sopenharmony_ci
104862306a36Sopenharmony_cistatic const struct samsung_div_clock core_div_clks[] __initconst = {
104962306a36Sopenharmony_ci	DIV(CLK_DOUT_CORE_BUSP, "dout_core_busp", "mout_core_bus_user",
105062306a36Sopenharmony_ci	    CLK_CON_DIV_DIV_CLK_CORE_BUSP, 0, 3),
105162306a36Sopenharmony_ci};
105262306a36Sopenharmony_ci
105362306a36Sopenharmony_cistatic const struct samsung_gate_clock core_gate_clks[] __initconst = {
105462306a36Sopenharmony_ci	GATE(CLK_GOUT_CORE_CCI_CLK, "gout_core_cci_clk", "mout_core_bus_user",
105562306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_CLK, 21,
105662306a36Sopenharmony_ci	     CLK_IS_CRITICAL, 0),
105762306a36Sopenharmony_ci	GATE(CLK_GOUT_CORE_CCI_PCLK, "gout_core_cci_pclk", "dout_core_busp",
105862306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_CORE_UID_CCI_IPCLKPORT_PCLK, 21,
105962306a36Sopenharmony_ci	     CLK_IS_CRITICAL, 0),
106062306a36Sopenharmony_ci	GATE(CLK_GOUT_CORE_CMU_CORE_PCLK, "gout_core_cmu_core_pclk",
106162306a36Sopenharmony_ci	     "dout_core_busp",
106262306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_CORE_UID_CORE_CMU_CORE_IPCLKPORT_PCLK, 21,
106362306a36Sopenharmony_ci	     CLK_IS_CRITICAL, 0),
106462306a36Sopenharmony_ci};
106562306a36Sopenharmony_ci
106662306a36Sopenharmony_cistatic const struct samsung_cmu_info core_cmu_info __initconst = {
106762306a36Sopenharmony_ci	.mux_clks		= core_mux_clks,
106862306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(core_mux_clks),
106962306a36Sopenharmony_ci	.div_clks		= core_div_clks,
107062306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(core_div_clks),
107162306a36Sopenharmony_ci	.gate_clks		= core_gate_clks,
107262306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(core_gate_clks),
107362306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_CORE,
107462306a36Sopenharmony_ci	.clk_regs		= core_clk_regs,
107562306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(core_clk_regs),
107662306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_core_bus",
107762306a36Sopenharmony_ci};
107862306a36Sopenharmony_ci
107962306a36Sopenharmony_ci/* ---- CMU_FSYS0 ---------------------------------------------------------- */
108062306a36Sopenharmony_ci
108162306a36Sopenharmony_ci/* Register Offset definitions for CMU_FSYS2 (0x17700000) */
108262306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS0_BUS_USER	0x0600
108362306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS0_PCIE_USER	0x0610
108462306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_FSYS0_CMU_FSYS0_IPCLKPORT_PCLK	0x2000
108562306a36Sopenharmony_ci
108662306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_PHY_REFCLK_IN	0x2004
108762306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_PHY_REFCLK_IN	0x2008
108862306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_PHY_REFCLK_IN	0x200c
108962306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_PHY_REFCLK_IN	0x2010
109062306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_PHY_REFCLK_IN	0x2014
109162306a36Sopenharmony_ci#define CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_PHY_REFCLK_IN	0x2018
109262306a36Sopenharmony_ci
109362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_DBI_ACLK	0x205c
109462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_MSTR_ACLK	0x2060
109562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_SLV_ACLK	0x2064
109662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_DBI_ACLK	0x206c
109762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_MSTR_ACLK	0x2070
109862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_SLV_ACLK	0x2074
109962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_PIPE_CLK	0x207c
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_DBI_ACLK	0x2084
110262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_MSTR_ACLK	0x2088
110362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_SLV_ACLK	0x208c
110462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_DBI_ACLK	0x2094
110562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_MSTR_ACLK	0x2098
110662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_SLV_ACLK	0x209c
110762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_PIPE_CLK	0x20a4
110862306a36Sopenharmony_ci
110962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_DBI_ACLK		0x20ac
111062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_MSTR_ACLK	0x20b0
111162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_SLV_ACLK		0x20b4
111262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_DBI_ACLK		0x20bc
111362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_MSTR_ACLK	0x20c0
111462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_SLV_ACLK		0x20c4
111562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_PIPE_CLK		0x20cc
111662306a36Sopenharmony_ci
111762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L0_CLK		0x20d4
111862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L1_CLK		0x20d8
111962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_4L_CLK		0x20dc
112062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L0_CLK		0x20e0
112162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L1_CLK		0x20e4
112262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_4L_CLK		0x20e8
112362306a36Sopenharmony_ci
112462306a36Sopenharmony_ci
112562306a36Sopenharmony_cistatic const unsigned long fsys0_clk_regs[] __initconst = {
112662306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS0_BUS_USER,
112762306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS0_PCIE_USER,
112862306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_FSYS0_CMU_FSYS0_IPCLKPORT_PCLK,
112962306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_PHY_REFCLK_IN,
113062306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_PHY_REFCLK_IN,
113162306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_PHY_REFCLK_IN,
113262306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_PHY_REFCLK_IN,
113362306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_PHY_REFCLK_IN,
113462306a36Sopenharmony_ci	CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_PHY_REFCLK_IN,
113562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_DBI_ACLK,
113662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_MSTR_ACLK,
113762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_SLV_ACLK,
113862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_DBI_ACLK,
113962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_MSTR_ACLK,
114062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_SLV_ACLK,
114162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_PIPE_CLK,
114262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_DBI_ACLK,
114362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_MSTR_ACLK,
114462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_SLV_ACLK,
114562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_DBI_ACLK,
114662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_MSTR_ACLK,
114762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_SLV_ACLK,
114862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_PIPE_CLK,
114962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_DBI_ACLK,
115062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_MSTR_ACLK,
115162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_SLV_ACLK,
115262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_DBI_ACLK,
115362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_MSTR_ACLK,
115462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_SLV_ACLK,
115562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_PIPE_CLK,
115662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L0_CLK,
115762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L1_CLK,
115862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_4L_CLK,
115962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L0_CLK,
116062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L1_CLK,
116162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_4L_CLK,
116262306a36Sopenharmony_ci};
116362306a36Sopenharmony_ci
116462306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_FSYS0 */
116562306a36Sopenharmony_ciPNAME(mout_fsys0_bus_user_p) = { "oscclk", "dout_clkcmu_fsys0_bus" };
116662306a36Sopenharmony_ciPNAME(mout_fsys0_pcie_user_p) = { "oscclk", "dout_clkcmu_fsys0_pcie" };
116762306a36Sopenharmony_ci
116862306a36Sopenharmony_cistatic const struct samsung_mux_clock fsys0_mux_clks[] __initconst = {
116962306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS0_BUS_USER, "mout_fsys0_bus_user",
117062306a36Sopenharmony_ci	    mout_fsys0_bus_user_p, PLL_CON0_MUX_CLKCMU_FSYS0_BUS_USER, 4, 1),
117162306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS0_PCIE_USER, "mout_fsys0_pcie_user",
117262306a36Sopenharmony_ci	    mout_fsys0_pcie_user_p, PLL_CON0_MUX_CLKCMU_FSYS0_PCIE_USER, 4, 1),
117362306a36Sopenharmony_ci};
117462306a36Sopenharmony_ci
117562306a36Sopenharmony_cistatic const struct samsung_gate_clock fsys0_gate_clks[] __initconst = {
117662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_BUS_PCLK, "gout_fsys0_bus_pclk",
117762306a36Sopenharmony_ci	     "mout_fsys0_bus_user",
117862306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_FSYS0_CMU_FSYS0_IPCLKPORT_PCLK,
117962306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
118062306a36Sopenharmony_ci
118162306a36Sopenharmony_ci	/* Gen3 2L0 */
118262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_REFCLK,
118362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x1_refclk", "mout_fsys0_pcie_user",
118462306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_PHY_REFCLK_IN,
118562306a36Sopenharmony_ci	     21, 0, 0),
118662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_REFCLK,
118762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x2_refclk", "mout_fsys0_pcie_user",
118862306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_PHY_REFCLK_IN,
118962306a36Sopenharmony_ci	     21, 0, 0),
119062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_DBI_ACLK,
119162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x1_dbi_aclk", "mout_fsys0_bus_user",
119262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_DBI_ACLK,
119362306a36Sopenharmony_ci	     21, 0, 0),
119462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_MSTR_ACLK,
119562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x1_mstr_aclk", "mout_fsys0_bus_user",
119662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_MSTR_ACLK,
119762306a36Sopenharmony_ci	     21, 0, 0),
119862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_SLV_ACLK,
119962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x1_slv_aclk", "mout_fsys0_bus_user",
120062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X1_SLV_ACLK,
120162306a36Sopenharmony_ci	     21, 0, 0),
120262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_DBI_ACLK,
120362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x2_dbi_aclk", "mout_fsys0_bus_user",
120462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_DBI_ACLK,
120562306a36Sopenharmony_ci	     21, 0, 0),
120662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_MSTR_ACLK,
120762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x2_mstr_aclk", "mout_fsys0_bus_user",
120862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_MSTR_ACLK,
120962306a36Sopenharmony_ci	     21, 0, 0),
121062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_SLV_ACLK,
121162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l0_x2_slv_aclk", "mout_fsys0_bus_user",
121262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L0_X2_SLV_ACLK,
121362306a36Sopenharmony_ci	     21, 0, 0),
121462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3A_2L0_CLK,
121562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3a_2l0_clk", "mout_fsys0_pcie_user",
121662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L0_CLK,
121762306a36Sopenharmony_ci	     21, 0, 0),
121862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3B_2L0_CLK,
121962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3b_2l0_clk", "mout_fsys0_pcie_user",
122062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L0_CLK,
122162306a36Sopenharmony_ci	     21, 0, 0),
122262306a36Sopenharmony_ci
122362306a36Sopenharmony_ci	/* Gen3 2L1 */
122462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_REFCLK,
122562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x1_refclk", "mout_fsys0_pcie_user",
122662306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_PHY_REFCLK_IN,
122762306a36Sopenharmony_ci	     21, 0, 0),
122862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_REFCLK,
122962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x2_refclk", "mout_fsys0_pcie_user",
123062306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_PHY_REFCLK_IN,
123162306a36Sopenharmony_ci	     21, 0, 0),
123262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_DBI_ACLK,
123362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x1_dbi_aclk", "mout_fsys0_bus_user",
123462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_DBI_ACLK,
123562306a36Sopenharmony_ci	     21, 0, 0),
123662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_MSTR_ACLK,
123762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x1_mstr_aclk", "mout_fsys0_bus_user",
123862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_MSTR_ACLK,
123962306a36Sopenharmony_ci	     21, 0, 0),
124062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_SLV_ACLK,
124162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x1_slv_aclk", "mout_fsys0_bus_user",
124262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X1_SLV_ACLK,
124362306a36Sopenharmony_ci	     21, 0, 0),
124462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_DBI_ACLK,
124562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x2_dbi_aclk", "mout_fsys0_bus_user",
124662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_DBI_ACLK,
124762306a36Sopenharmony_ci	     21, 0, 0),
124862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_MSTR_ACLK,
124962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x2_mstr_aclk", "mout_fsys0_bus_user",
125062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_MSTR_ACLK,
125162306a36Sopenharmony_ci	     21, 0, 0),
125262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_SLV_ACLK,
125362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_2l1_x2_slv_aclk", "mout_fsys0_bus_user",
125462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_2L1_X2_SLV_ACLK,
125562306a36Sopenharmony_ci	     21, 0, 0),
125662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3A_2L1_CLK,
125762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3a_2l1_clk", "mout_fsys0_pcie_user",
125862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_2L1_CLK,
125962306a36Sopenharmony_ci	     21, 0, 0),
126062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3B_2L1_CLK,
126162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3b_2l1_clk", "mout_fsys0_pcie_user",
126262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_2L1_CLK,
126362306a36Sopenharmony_ci	     21, 0, 0),
126462306a36Sopenharmony_ci
126562306a36Sopenharmony_ci	/* Gen3 4L */
126662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_REFCLK,
126762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x2_refclk", "mout_fsys0_pcie_user",
126862306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_PHY_REFCLK_IN,
126962306a36Sopenharmony_ci	     21, 0, 0),
127062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_REFCLK,
127162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x4_refclk", "mout_fsys0_pcie_user",
127262306a36Sopenharmony_ci	     CLK_CON_GAT_CLK_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_PHY_REFCLK_IN,
127362306a36Sopenharmony_ci	     21, 0, 0),
127462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_DBI_ACLK,
127562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x2_dbi_aclk", "mout_fsys0_bus_user",
127662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_DBI_ACLK,
127762306a36Sopenharmony_ci	     21, 0, 0),
127862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_MSTR_ACLK,
127962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x2_mstr_aclk", "mout_fsys0_bus_user",
128062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_MSTR_ACLK,
128162306a36Sopenharmony_ci	     21, 0, 0),
128262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_SLV_ACLK,
128362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x2_slv_aclk", "mout_fsys0_bus_user",
128462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X2_SLV_ACLK,
128562306a36Sopenharmony_ci	     21, 0, 0),
128662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_DBI_ACLK,
128762306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x4_dbi_aclk", "mout_fsys0_bus_user",
128862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_DBI_ACLK,
128962306a36Sopenharmony_ci	     21, 0, 0),
129062306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_MSTR_ACLK,
129162306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x4_mstr_aclk", "mout_fsys0_bus_user",
129262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_MSTR_ACLK,
129362306a36Sopenharmony_ci	     21, 0, 0),
129462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_SLV_ACLK,
129562306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3_4l_x4_slv_aclk", "mout_fsys0_bus_user",
129662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3_4L_X4_SLV_ACLK,
129762306a36Sopenharmony_ci	     21, 0, 0),
129862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3A_4L_CLK,
129962306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3a_4l_clk", "mout_fsys0_pcie_user",
130062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3A_4L_CLK,
130162306a36Sopenharmony_ci	     21, 0, 0),
130262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK,
130362306a36Sopenharmony_ci	     "gout_fsys0_pcie_gen3b_4l_clk", "mout_fsys0_pcie_user",
130462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS0_UID_PCIE_GEN3B_4L_CLK,
130562306a36Sopenharmony_ci	     21, 0, 0),
130662306a36Sopenharmony_ci};
130762306a36Sopenharmony_ci
130862306a36Sopenharmony_cistatic const struct samsung_cmu_info fsys0_cmu_info __initconst = {
130962306a36Sopenharmony_ci	.mux_clks		= fsys0_mux_clks,
131062306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(fsys0_mux_clks),
131162306a36Sopenharmony_ci	.gate_clks		= fsys0_gate_clks,
131262306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(fsys0_gate_clks),
131362306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_FSYS0,
131462306a36Sopenharmony_ci	.clk_regs		= fsys0_clk_regs,
131562306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(fsys0_clk_regs),
131662306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_fsys0_bus",
131762306a36Sopenharmony_ci};
131862306a36Sopenharmony_ci
131962306a36Sopenharmony_ci/* ---- CMU_FSYS1 ---------------------------------------------------------- */
132062306a36Sopenharmony_ci
132162306a36Sopenharmony_ci/* Register Offset definitions for CMU_FSYS1 (0x17040000) */
132262306a36Sopenharmony_ci#define PLL_LOCKTIME_PLL_MMC			0x0000
132362306a36Sopenharmony_ci#define PLL_CON0_PLL_MMC			0x0100
132462306a36Sopenharmony_ci#define PLL_CON3_PLL_MMC			0x010c
132562306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS1_BUS_USER	0x0600
132662306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS1_MMC_CARD_USER	0x0610
132762306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS1_USBDRD_USER	0x0620
132862306a36Sopenharmony_ci
132962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_FSYS1_MMC_CARD	0x1000
133062306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_FSYS1_MMC_CARD	0x1800
133162306a36Sopenharmony_ci
133262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_FSYS1_CMU_FSYS1_IPCLKPORT_PCLK	0x2018
133362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_MMC_CARD_IPCLKPORT_SDCLKIN	0x202c
133462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_MMC_CARD_IPCLKPORT_I_ACLK	0x2028
133562306a36Sopenharmony_ci
133662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB20DRD_0_REF_CLK_40		0x204c
133762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB20DRD_1_REF_CLK_40		0x2058
133862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB30DRD_0_REF_CLK_40		0x2064
133962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB30DRD_1_REF_CLK_40		0x2070
134062306a36Sopenharmony_ci
134162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB2_0_IPCLKPORT_ACLK	0x2074
134262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB2_1_IPCLKPORT_ACLK	0x2078
134362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB3_0_IPCLKPORT_ACLK	0x207c
134462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB3_1_IPCLKPORT_ACLK	0x2080
134562306a36Sopenharmony_ci
134662306a36Sopenharmony_cistatic const unsigned long fsys1_clk_regs[] __initconst = {
134762306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS1_BUS_USER,
134862306a36Sopenharmony_ci};
134962306a36Sopenharmony_ci
135062306a36Sopenharmony_cistatic const struct samsung_pll_clock fsys1_pll_clks[] __initconst = {
135162306a36Sopenharmony_ci	PLL(pll_0831x, FOUT_MMC_PLL, "fout_mmc_pll", "oscclk",
135262306a36Sopenharmony_ci	    PLL_LOCKTIME_PLL_MMC, PLL_CON3_PLL_MMC, NULL),
135362306a36Sopenharmony_ci};
135462306a36Sopenharmony_ci
135562306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_FSYS1 */
135662306a36Sopenharmony_ciPNAME(mout_fsys1_bus_user_p) = { "oscclk", "dout_clkcmu_fsys1_bus" };
135762306a36Sopenharmony_ciPNAME(mout_fsys1_mmc_pll_p) = { "oscclk", "fout_mmc_pll" };
135862306a36Sopenharmony_ciPNAME(mout_fsys1_mmc_card_user_p) = { "oscclk", "gout_clkcmu_fsys1_mmc_card" };
135962306a36Sopenharmony_ciPNAME(mout_fsys1_usbdrd_user_p) = { "oscclk", "dout_clkcmu_fsys1_usbdrd" };
136062306a36Sopenharmony_ciPNAME(mout_fsys1_mmc_card_p) = { "mout_fsys1_mmc_card_user",
136162306a36Sopenharmony_ci				 "mout_fsys1_mmc_pll" };
136262306a36Sopenharmony_ci
136362306a36Sopenharmony_cistatic const struct samsung_mux_clock fsys1_mux_clks[] __initconst = {
136462306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS1_BUS_USER, "mout_fsys1_bus_user",
136562306a36Sopenharmony_ci	    mout_fsys1_bus_user_p, PLL_CON0_MUX_CLKCMU_FSYS1_BUS_USER, 4, 1),
136662306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS1_MMC_PLL, "mout_fsys1_mmc_pll", mout_fsys1_mmc_pll_p,
136762306a36Sopenharmony_ci	    PLL_CON0_PLL_MMC, 4, 1),
136862306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS1_MMC_CARD_USER, "mout_fsys1_mmc_card_user",
136962306a36Sopenharmony_ci	    mout_fsys1_mmc_card_user_p, PLL_CON0_MUX_CLKCMU_FSYS1_MMC_CARD_USER,
137062306a36Sopenharmony_ci	    4, 1),
137162306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS1_USBDRD_USER, "mout_fsys1_usbdrd_user",
137262306a36Sopenharmony_ci	    mout_fsys1_usbdrd_user_p, PLL_CON0_MUX_CLKCMU_FSYS1_USBDRD_USER,
137362306a36Sopenharmony_ci	    4, 1),
137462306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS1_MMC_CARD, "mout_fsys1_mmc_card",
137562306a36Sopenharmony_ci	    mout_fsys1_mmc_card_p, CLK_CON_MUX_MUX_CLK_FSYS1_MMC_CARD,
137662306a36Sopenharmony_ci	    0, 1),
137762306a36Sopenharmony_ci};
137862306a36Sopenharmony_ci
137962306a36Sopenharmony_cistatic const struct samsung_div_clock fsys1_div_clks[] __initconst = {
138062306a36Sopenharmony_ci	DIV(CLK_DOUT_FSYS1_MMC_CARD, "dout_fsys1_mmc_card",
138162306a36Sopenharmony_ci	    "mout_fsys1_mmc_card",
138262306a36Sopenharmony_ci	    CLK_CON_DIV_DIV_CLK_FSYS1_MMC_CARD, 0, 9),
138362306a36Sopenharmony_ci};
138462306a36Sopenharmony_ci
138562306a36Sopenharmony_cistatic const struct samsung_gate_clock fsys1_gate_clks[] __initconst = {
138662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_PCLK, "gout_fsys1_pclk", "mout_fsys1_bus_user",
138762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_FSYS1_CMU_FSYS1_IPCLKPORT_PCLK,
138862306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
138962306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_MMC_CARD_SDCLKIN, "gout_fsys1_mmc_card_sdclkin",
139062306a36Sopenharmony_ci	     "dout_fsys1_mmc_card",
139162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_MMC_CARD_IPCLKPORT_SDCLKIN,
139262306a36Sopenharmony_ci	     21, CLK_SET_RATE_PARENT, 0),
139362306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_MMC_CARD_ACLK, "gout_fsys1_mmc_card_aclk",
139462306a36Sopenharmony_ci	     "dout_fsys1_mmc_card",
139562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_MMC_CARD_IPCLKPORT_I_ACLK,
139662306a36Sopenharmony_ci	     21, 0, 0),
139762306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB20DRD_0_REFCLK, "gout_fsys1_usb20drd_0_refclk",
139862306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
139962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB20DRD_0_REF_CLK_40,
140062306a36Sopenharmony_ci	     21, 0, 0),
140162306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB20DRD_1_REFCLK, "gout_fsys1_usb20drd_1_refclk",
140262306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
140362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB20DRD_1_REF_CLK_40,
140462306a36Sopenharmony_ci	     21, 0, 0),
140562306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB30DRD_0_REFCLK, "gout_fsys1_usb30drd_0_refclk",
140662306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
140762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB30DRD_0_REF_CLK_40,
140862306a36Sopenharmony_ci	     21, 0, 0),
140962306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB30DRD_1_REFCLK, "gout_fsys1_usb30drd_1_refclk",
141062306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
141162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_USB30DRD_1_REF_CLK_40,
141262306a36Sopenharmony_ci	     21, 0, 0),
141362306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB20_0_ACLK, "gout_fsys1_usb20_0_aclk",
141462306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
141562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB2_0_IPCLKPORT_ACLK,
141662306a36Sopenharmony_ci	     21, 0, 0),
141762306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB20_1_ACLK, "gout_fsys1_usb20_1_aclk",
141862306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
141962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB2_1_IPCLKPORT_ACLK,
142062306a36Sopenharmony_ci	     21, 0, 0),
142162306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB30_0_ACLK, "gout_fsys1_usb30_0_aclk",
142262306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
142362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB3_0_IPCLKPORT_ACLK,
142462306a36Sopenharmony_ci	     21, 0, 0),
142562306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS1_USB30_1_ACLK, "gout_fsys1_usb30_1_aclk",
142662306a36Sopenharmony_ci	     "mout_fsys1_usbdrd_user",
142762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS1_UID_US_D_USB3_1_IPCLKPORT_ACLK,
142862306a36Sopenharmony_ci	     21, 0, 0),
142962306a36Sopenharmony_ci};
143062306a36Sopenharmony_ci
143162306a36Sopenharmony_cistatic const struct samsung_cmu_info fsys1_cmu_info __initconst = {
143262306a36Sopenharmony_ci	.pll_clks		= fsys1_pll_clks,
143362306a36Sopenharmony_ci	.nr_pll_clks		= ARRAY_SIZE(fsys1_pll_clks),
143462306a36Sopenharmony_ci	.mux_clks		= fsys1_mux_clks,
143562306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(fsys1_mux_clks),
143662306a36Sopenharmony_ci	.div_clks		= fsys1_div_clks,
143762306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(fsys1_div_clks),
143862306a36Sopenharmony_ci	.gate_clks		= fsys1_gate_clks,
143962306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(fsys1_gate_clks),
144062306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_FSYS1,
144162306a36Sopenharmony_ci	.clk_regs		= fsys1_clk_regs,
144262306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(fsys1_clk_regs),
144362306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_fsys1_bus",
144462306a36Sopenharmony_ci};
144562306a36Sopenharmony_ci
144662306a36Sopenharmony_ci/* ---- CMU_FSYS2 ---------------------------------------------------------- */
144762306a36Sopenharmony_ci
144862306a36Sopenharmony_ci/* Register Offset definitions for CMU_FSYS2 (0x17c00000) */
144962306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS2_BUS_USER	0x0600
145062306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS2_UFS_EMBD_USER	0x0620
145162306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_FSYS2_ETHERNET_USER	0x0610
145262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_ACLK	0x2098
145362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_CLK_UNIPRO	0x209c
145462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_ACLK	0x20a4
145562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_CLK_UNIPRO	0x20a8
145662306a36Sopenharmony_ci
145762306a36Sopenharmony_cistatic const unsigned long fsys2_clk_regs[] __initconst = {
145862306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS2_BUS_USER,
145962306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS2_UFS_EMBD_USER,
146062306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_FSYS2_ETHERNET_USER,
146162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_ACLK,
146262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_CLK_UNIPRO,
146362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_ACLK,
146462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_CLK_UNIPRO,
146562306a36Sopenharmony_ci};
146662306a36Sopenharmony_ci
146762306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_FSYS2 */
146862306a36Sopenharmony_ciPNAME(mout_fsys2_bus_user_p) = { "oscclk", "dout_clkcmu_fsys2_bus" };
146962306a36Sopenharmony_ciPNAME(mout_fsys2_ufs_embd_user_p) = { "oscclk", "dout_clkcmu_fsys2_ufs_embd" };
147062306a36Sopenharmony_ciPNAME(mout_fsys2_ethernet_user_p) = { "oscclk", "dout_clkcmu_fsys2_ethernet" };
147162306a36Sopenharmony_ci
147262306a36Sopenharmony_cistatic const struct samsung_mux_clock fsys2_mux_clks[] __initconst = {
147362306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS2_BUS_USER, "mout_fsys2_bus_user",
147462306a36Sopenharmony_ci	    mout_fsys2_bus_user_p, PLL_CON0_MUX_CLKCMU_FSYS2_BUS_USER, 4, 1),
147562306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS2_UFS_EMBD_USER, "mout_fsys2_ufs_embd_user",
147662306a36Sopenharmony_ci	    mout_fsys2_ufs_embd_user_p,
147762306a36Sopenharmony_ci	    PLL_CON0_MUX_CLKCMU_FSYS2_UFS_EMBD_USER, 4, 1),
147862306a36Sopenharmony_ci	MUX(CLK_MOUT_FSYS2_ETHERNET_USER, "mout_fsys2_ethernet_user",
147962306a36Sopenharmony_ci	    mout_fsys2_ethernet_user_p,
148062306a36Sopenharmony_ci	    PLL_CON0_MUX_CLKCMU_FSYS2_ETHERNET_USER, 4, 1),
148162306a36Sopenharmony_ci};
148262306a36Sopenharmony_ci
148362306a36Sopenharmony_cistatic const struct samsung_gate_clock fsys2_gate_clks[] __initconst = {
148462306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS2_UFS_EMBD0_ACLK, "gout_fsys2_ufs_embd0_aclk",
148562306a36Sopenharmony_ci	     "mout_fsys2_ufs_embd_user",
148662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_ACLK, 21,
148762306a36Sopenharmony_ci	     0, 0),
148862306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS2_UFS_EMBD0_UNIPRO, "gout_fsys2_ufs_embd0_unipro",
148962306a36Sopenharmony_ci	     "mout_fsys2_ufs_embd_user",
149062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD0_IPCLKPORT_I_CLK_UNIPRO,
149162306a36Sopenharmony_ci	     21, 0, 0),
149262306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS2_UFS_EMBD1_ACLK, "gout_fsys2_ufs_embd1_aclk",
149362306a36Sopenharmony_ci	     "mout_fsys2_ufs_embd_user",
149462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_ACLK, 21,
149562306a36Sopenharmony_ci	     0, 0),
149662306a36Sopenharmony_ci	GATE(CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO, "gout_fsys2_ufs_embd1_unipro",
149762306a36Sopenharmony_ci	     "mout_fsys2_ufs_embd_user",
149862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_FSYS2_UID_UFS_EMBD1_IPCLKPORT_I_CLK_UNIPRO,
149962306a36Sopenharmony_ci	     21, 0, 0),
150062306a36Sopenharmony_ci};
150162306a36Sopenharmony_ci
150262306a36Sopenharmony_cistatic const struct samsung_cmu_info fsys2_cmu_info __initconst = {
150362306a36Sopenharmony_ci	.mux_clks		= fsys2_mux_clks,
150462306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(fsys2_mux_clks),
150562306a36Sopenharmony_ci	.gate_clks		= fsys2_gate_clks,
150662306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(fsys2_gate_clks),
150762306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_FSYS2,
150862306a36Sopenharmony_ci	.clk_regs		= fsys2_clk_regs,
150962306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(fsys2_clk_regs),
151062306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_fsys2_bus",
151162306a36Sopenharmony_ci};
151262306a36Sopenharmony_ci
151362306a36Sopenharmony_ci/* ---- CMU_PERIC0 --------------------------------------------------------- */
151462306a36Sopenharmony_ci
151562306a36Sopenharmony_ci/* Register Offset definitions for CMU_PERIC0 (0x10200000) */
151662306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER	0x0600
151762306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_PERIC0_IP_USER	0x0610
151862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI00_USI	0x1000
151962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI01_USI	0x1004
152062306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI02_USI	0x1008
152162306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI03_USI	0x100c
152262306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI04_USI	0x1010
152362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI05_USI	0x1014
152462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC0_USI_I2C	0x1018
152562306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI00_USI	0x1800
152662306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI01_USI	0x1804
152762306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI02_USI	0x1808
152862306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI03_USI	0x180c
152962306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI04_USI	0x1810
153062306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI05_USI	0x1814
153162306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC0_USI_I2C	0x1818
153262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0	0x2014
153362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1	0x2018
153462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2	0x2024
153562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3	0x2028
153662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4	0x202c
153762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5	0x2030
153862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6	0x2034
153962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7	0x2038
154062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8	0x203c
154162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9	0x2040
154262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10	0x201c
154362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11	0x2020
154462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0	0x2044
154562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1	0x2048
154662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2	0x2058
154762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3	0x205c
154862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4	0x2060
154962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5	0x2064
155062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6	0x2068
155162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7	0x206c
155262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8	0x2070
155362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9	0x2074
155462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10	0x204c
155562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11	0x2050
155662306a36Sopenharmony_ci
155762306a36Sopenharmony_cistatic const unsigned long peric0_clk_regs[] __initconst = {
155862306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER,
155962306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_PERIC0_IP_USER,
156062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI00_USI,
156162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI01_USI,
156262306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI02_USI,
156362306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI03_USI,
156462306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI04_USI,
156562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI05_USI,
156662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC0_USI_I2C,
156762306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI00_USI,
156862306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI01_USI,
156962306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI02_USI,
157062306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI03_USI,
157162306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI04_USI,
157262306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI05_USI,
157362306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC0_USI_I2C,
157462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0,
157562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1,
157662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2,
157762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3,
157862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4,
157962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5,
158062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6,
158162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7,
158262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8,
158362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9,
158462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10,
158562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11,
158662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0,
158762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1,
158862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2,
158962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3,
159062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4,
159162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7,
159262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5,
159362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6,
159462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8,
159562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9,
159662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10,
159762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11,
159862306a36Sopenharmony_ci};
159962306a36Sopenharmony_ci
160062306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_PERIC0 */
160162306a36Sopenharmony_ciPNAME(mout_peric0_bus_user_p) = { "oscclk", "dout_clkcmu_peric0_bus" };
160262306a36Sopenharmony_ciPNAME(mout_peric0_ip_user_p) = { "oscclk", "dout_clkcmu_peric0_ip" };
160362306a36Sopenharmony_ciPNAME(mout_peric0_usi_p) = { "oscclk", "mout_peric0_ip_user" };
160462306a36Sopenharmony_ci
160562306a36Sopenharmony_cistatic const struct samsung_mux_clock peric0_mux_clks[] __initconst = {
160662306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_BUS_USER, "mout_peric0_bus_user",
160762306a36Sopenharmony_ci	    mout_peric0_bus_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_BUS_USER, 4, 1),
160862306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_IP_USER, "mout_peric0_ip_user",
160962306a36Sopenharmony_ci	    mout_peric0_ip_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_IP_USER, 4, 1),
161062306a36Sopenharmony_ci	/* USI00 ~ USI05 */
161162306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI00_USI, "mout_peric0_usi00_usi",
161262306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI00_USI, 0, 1),
161362306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI01_USI, "mout_peric0_usi01_usi",
161462306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI01_USI, 0, 1),
161562306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI02_USI, "mout_peric0_usi02_usi",
161662306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI02_USI, 0, 1),
161762306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI03_USI, "mout_peric0_usi03_usi",
161862306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI03_USI, 0, 1),
161962306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI04_USI, "mout_peric0_usi04_usi",
162062306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI04_USI, 0, 1),
162162306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI05_USI, "mout_peric0_usi05_usi",
162262306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI05_USI, 0, 1),
162362306a36Sopenharmony_ci	/* USI_I2C */
162462306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC0_USI_I2C, "mout_peric0_usi_i2c",
162562306a36Sopenharmony_ci	    mout_peric0_usi_p, CLK_CON_MUX_MUX_CLK_PERIC0_USI_I2C, 0, 1),
162662306a36Sopenharmony_ci};
162762306a36Sopenharmony_ci
162862306a36Sopenharmony_cistatic const struct samsung_div_clock peric0_div_clks[] __initconst = {
162962306a36Sopenharmony_ci	/* USI00 ~ USI05 */
163062306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI00_USI, "dout_peric0_usi00_usi",
163162306a36Sopenharmony_ci	    "mout_peric0_usi00_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI00_USI,
163262306a36Sopenharmony_ci	    0, 4),
163362306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI01_USI, "dout_peric0_usi01_usi",
163462306a36Sopenharmony_ci	    "mout_peric0_usi01_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI01_USI,
163562306a36Sopenharmony_ci	    0, 4),
163662306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI02_USI, "dout_peric0_usi02_usi",
163762306a36Sopenharmony_ci	    "mout_peric0_usi02_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI02_USI,
163862306a36Sopenharmony_ci	    0, 4),
163962306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI03_USI, "dout_peric0_usi03_usi",
164062306a36Sopenharmony_ci	    "mout_peric0_usi03_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI03_USI,
164162306a36Sopenharmony_ci	    0, 4),
164262306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI04_USI, "dout_peric0_usi04_usi",
164362306a36Sopenharmony_ci	    "mout_peric0_usi04_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI04_USI,
164462306a36Sopenharmony_ci	    0, 4),
164562306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI05_USI, "dout_peric0_usi05_usi",
164662306a36Sopenharmony_ci	    "mout_peric0_usi05_usi", CLK_CON_DIV_DIV_CLK_PERIC0_USI05_USI,
164762306a36Sopenharmony_ci	    0, 4),
164862306a36Sopenharmony_ci	/* USI_I2C */
164962306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC0_USI_I2C, "dout_peric0_usi_i2c",
165062306a36Sopenharmony_ci	    "mout_peric0_usi_i2c", CLK_CON_DIV_DIV_CLK_PERIC0_USI_I2C, 0, 4),
165162306a36Sopenharmony_ci};
165262306a36Sopenharmony_ci
165362306a36Sopenharmony_cistatic const struct samsung_gate_clock peric0_gate_clks[] __initconst = {
165462306a36Sopenharmony_ci	/* IPCLK */
165562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_0, "gout_peric0_ipclk_0",
165662306a36Sopenharmony_ci	     "dout_peric0_usi00_usi",
165762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_0,
165862306a36Sopenharmony_ci	     21, 0, 0),
165962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_1, "gout_peric0_ipclk_1",
166062306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
166162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_1,
166262306a36Sopenharmony_ci	     21, 0, 0),
166362306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_2, "gout_peric0_ipclk_2",
166462306a36Sopenharmony_ci	     "dout_peric0_usi01_usi",
166562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_2,
166662306a36Sopenharmony_ci	     21, 0, 0),
166762306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_3, "gout_peric0_ipclk_3",
166862306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
166962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_3,
167062306a36Sopenharmony_ci	     21, 0, 0),
167162306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_4, "gout_peric0_ipclk_4",
167262306a36Sopenharmony_ci	     "dout_peric0_usi02_usi",
167362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_4,
167462306a36Sopenharmony_ci	     21, 0, 0),
167562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_5, "gout_peric0_ipclk_5",
167662306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
167762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_5,
167862306a36Sopenharmony_ci	     21, 0, 0),
167962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_6, "gout_peric0_ipclk_6",
168062306a36Sopenharmony_ci	     "dout_peric0_usi03_usi",
168162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_6,
168262306a36Sopenharmony_ci	     21, 0, 0),
168362306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_7, "gout_peric0_ipclk_7",
168462306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
168562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_7,
168662306a36Sopenharmony_ci	     21, 0, 0),
168762306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_8, "gout_peric0_ipclk_8",
168862306a36Sopenharmony_ci	     "dout_peric0_usi04_usi",
168962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_8,
169062306a36Sopenharmony_ci	     21, 0, 0),
169162306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_9, "gout_peric0_ipclk_9",
169262306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
169362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_9,
169462306a36Sopenharmony_ci	     21, 0, 0),
169562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_10, "gout_peric0_ipclk_10",
169662306a36Sopenharmony_ci	     "dout_peric0_usi05_usi",
169762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_10,
169862306a36Sopenharmony_ci	     21, 0, 0),
169962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_IPCLK_11, "gout_peric0_ipclk_11",
170062306a36Sopenharmony_ci	     "dout_peric0_usi_i2c",
170162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_IPCLK_11,
170262306a36Sopenharmony_ci	     21, 0, 0),
170362306a36Sopenharmony_ci
170462306a36Sopenharmony_ci	/* PCLK */
170562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_0, "gout_peric0_pclk_0",
170662306a36Sopenharmony_ci	     "mout_peric0_bus_user",
170762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_0,
170862306a36Sopenharmony_ci	     21, 0, 0),
170962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_1, "gout_peric0_pclk_1",
171062306a36Sopenharmony_ci	     "mout_peric0_bus_user",
171162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_1,
171262306a36Sopenharmony_ci	     21, 0, 0),
171362306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_2, "gout_peric0_pclk_2",
171462306a36Sopenharmony_ci	     "mout_peric0_bus_user",
171562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2,
171662306a36Sopenharmony_ci	     21, 0, 0),
171762306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_3, "gout_peric0_pclk_3",
171862306a36Sopenharmony_ci	     "mout_peric0_bus_user",
171962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3,
172062306a36Sopenharmony_ci	     21, 0, 0),
172162306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_4, "gout_peric0_pclk_4",
172262306a36Sopenharmony_ci	     "mout_peric0_bus_user",
172362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4,
172462306a36Sopenharmony_ci	     21, 0, 0),
172562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_5, "gout_peric0_pclk_5",
172662306a36Sopenharmony_ci	     "mout_peric0_bus_user",
172762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5,
172862306a36Sopenharmony_ci	     21, 0, 0),
172962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_6, "gout_peric0_pclk_6",
173062306a36Sopenharmony_ci	     "mout_peric0_bus_user",
173162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6,
173262306a36Sopenharmony_ci	     21, 0, 0),
173362306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_7, "gout_peric0_pclk_7",
173462306a36Sopenharmony_ci	     "mout_peric0_bus_user",
173562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7,
173662306a36Sopenharmony_ci	     21, 0, 0),
173762306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_8, "gout_peric0_pclk_8",
173862306a36Sopenharmony_ci	     "mout_peric0_bus_user",
173962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8,
174062306a36Sopenharmony_ci	     21, 0, 0),
174162306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_9, "gout_peric0_pclk_9",
174262306a36Sopenharmony_ci	     "mout_peric0_bus_user",
174362306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9,
174462306a36Sopenharmony_ci	     21, 0, 0),
174562306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_10, "gout_peric0_pclk_10",
174662306a36Sopenharmony_ci	     "mout_peric0_bus_user",
174762306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10,
174862306a36Sopenharmony_ci	     21, 0, 0),
174962306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC0_PCLK_11, "gout_peric0_pclk_11",
175062306a36Sopenharmony_ci	     "mout_peric0_bus_user",
175162306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_11,
175262306a36Sopenharmony_ci	     21, 0, 0),
175362306a36Sopenharmony_ci};
175462306a36Sopenharmony_ci
175562306a36Sopenharmony_cistatic const struct samsung_cmu_info peric0_cmu_info __initconst = {
175662306a36Sopenharmony_ci	.mux_clks		= peric0_mux_clks,
175762306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(peric0_mux_clks),
175862306a36Sopenharmony_ci	.div_clks		= peric0_div_clks,
175962306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(peric0_div_clks),
176062306a36Sopenharmony_ci	.gate_clks		= peric0_gate_clks,
176162306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(peric0_gate_clks),
176262306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_PERIC0,
176362306a36Sopenharmony_ci	.clk_regs		= peric0_clk_regs,
176462306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(peric0_clk_regs),
176562306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_peric0_bus",
176662306a36Sopenharmony_ci};
176762306a36Sopenharmony_ci
176862306a36Sopenharmony_ci/* ---- CMU_PERIC1 --------------------------------------------------------- */
176962306a36Sopenharmony_ci
177062306a36Sopenharmony_ci/* Register Offset definitions for CMU_PERIC1 (0x10800000) */
177162306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER	0x0600
177262306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_PERIC1_IP_USER	0x0610
177362306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI06_USI	0x1000
177462306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI07_USI	0x1004
177562306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI08_USI	0x1008
177662306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI09_USI	0x100c
177762306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI10_USI	0x1010
177862306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI11_USI	0x1014
177962306a36Sopenharmony_ci#define CLK_CON_MUX_MUX_CLK_PERIC1_USI_I2C	0x1018
178062306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI06_USI	0x1800
178162306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI07_USI	0x1804
178262306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI08_USI	0x1808
178362306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI09_USI	0x180c
178462306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI	0x1810
178562306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI	0x1814
178662306a36Sopenharmony_ci#define CLK_CON_DIV_DIV_CLK_PERIC1_USI_I2C	0x1818
178762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_0	0x2014
178862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1	0x2018
178962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2	0x2024
179062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3	0x2028
179162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4	0x202c
179262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5	0x2030
179362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6	0x2034
179462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_7	0x2038
179562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8	0x203c
179662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_9	0x2040
179762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_10	0x201c
179862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_11	0x2020
179962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_0	0x2044
180062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1	0x2048
180162306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2	0x2054
180262306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3	0x2058
180362306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4	0x205c
180462306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5	0x2060
180562306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6	0x2064
180662306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7	0x2068
180762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8	0x206c
180862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9	0x2070
180962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_10	0x204c
181062306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_11	0x2050
181162306a36Sopenharmony_ci
181262306a36Sopenharmony_cistatic const unsigned long peric1_clk_regs[] __initconst = {
181362306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER,
181462306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_PERIC1_IP_USER,
181562306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI06_USI,
181662306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI07_USI,
181762306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI08_USI,
181862306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI09_USI,
181962306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI10_USI,
182062306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI11_USI,
182162306a36Sopenharmony_ci	CLK_CON_MUX_MUX_CLK_PERIC1_USI_I2C,
182262306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI06_USI,
182362306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI07_USI,
182462306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI08_USI,
182562306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI09_USI,
182662306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI,
182762306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI,
182862306a36Sopenharmony_ci	CLK_CON_DIV_DIV_CLK_PERIC1_USI_I2C,
182962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_0,
183062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1,
183162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2,
183262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3,
183362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4,
183462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5,
183562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6,
183662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_7,
183762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8,
183862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_9,
183962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_10,
184062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_11,
184162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_0,
184262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1,
184362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2,
184462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3,
184562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4,
184662306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5,
184762306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6,
184862306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7,
184962306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8,
185062306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9,
185162306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_10,
185262306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_11,
185362306a36Sopenharmony_ci};
185462306a36Sopenharmony_ci
185562306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_PERIC1 */
185662306a36Sopenharmony_ciPNAME(mout_peric1_bus_user_p) = { "oscclk", "dout_clkcmu_peric1_bus" };
185762306a36Sopenharmony_ciPNAME(mout_peric1_ip_user_p) = { "oscclk", "dout_clkcmu_peric1_ip" };
185862306a36Sopenharmony_ciPNAME(mout_peric1_usi_p) = { "oscclk", "mout_peric1_ip_user" };
185962306a36Sopenharmony_ci
186062306a36Sopenharmony_cistatic const struct samsung_mux_clock peric1_mux_clks[] __initconst = {
186162306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_BUS_USER, "mout_peric1_bus_user",
186262306a36Sopenharmony_ci	    mout_peric1_bus_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER, 4, 1),
186362306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_IP_USER, "mout_peric1_ip_user",
186462306a36Sopenharmony_ci	    mout_peric1_ip_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_IP_USER, 4, 1),
186562306a36Sopenharmony_ci	/* USI06 ~ USI11 */
186662306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI06_USI, "mout_peric1_usi06_usi",
186762306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI06_USI, 0, 1),
186862306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI07_USI, "mout_peric1_usi07_usi",
186962306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI07_USI, 0, 1),
187062306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI08_USI, "mout_peric1_usi08_usi",
187162306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI08_USI, 0, 1),
187262306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI09_USI, "mout_peric1_usi09_usi",
187362306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI09_USI, 0, 1),
187462306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI10_USI, "mout_peric1_usi10_usi",
187562306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI10_USI, 0, 1),
187662306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI11_USI, "mout_peric1_usi11_usi",
187762306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI11_USI, 0, 1),
187862306a36Sopenharmony_ci	/* USI_I2C */
187962306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIC1_USI_I2C, "mout_peric1_usi_i2c",
188062306a36Sopenharmony_ci	    mout_peric1_usi_p, CLK_CON_MUX_MUX_CLK_PERIC1_USI_I2C, 0, 1),
188162306a36Sopenharmony_ci};
188262306a36Sopenharmony_ci
188362306a36Sopenharmony_cistatic const struct samsung_div_clock peric1_div_clks[] __initconst = {
188462306a36Sopenharmony_ci	/* USI06 ~ USI11 */
188562306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI06_USI, "dout_peric1_usi06_usi",
188662306a36Sopenharmony_ci	    "mout_peric1_usi06_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI06_USI,
188762306a36Sopenharmony_ci	    0, 4),
188862306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI07_USI, "dout_peric1_usi07_usi",
188962306a36Sopenharmony_ci	    "mout_peric1_usi07_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI07_USI,
189062306a36Sopenharmony_ci	    0, 4),
189162306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI08_USI, "dout_peric1_usi08_usi",
189262306a36Sopenharmony_ci	    "mout_peric1_usi08_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI08_USI,
189362306a36Sopenharmony_ci	    0, 4),
189462306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI09_USI, "dout_peric1_usi09_usi",
189562306a36Sopenharmony_ci	    "mout_peric1_usi09_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI09_USI,
189662306a36Sopenharmony_ci	    0, 4),
189762306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI10_USI, "dout_peric1_usi10_usi",
189862306a36Sopenharmony_ci	    "mout_peric1_usi10_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI,
189962306a36Sopenharmony_ci	    0, 4),
190062306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI11_USI, "dout_peric1_usi11_usi",
190162306a36Sopenharmony_ci	    "mout_peric1_usi11_usi", CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI,
190262306a36Sopenharmony_ci	    0, 4),
190362306a36Sopenharmony_ci	/* USI_I2C */
190462306a36Sopenharmony_ci	DIV(CLK_DOUT_PERIC1_USI_I2C, "dout_peric1_usi_i2c",
190562306a36Sopenharmony_ci	    "mout_peric1_usi_i2c", CLK_CON_DIV_DIV_CLK_PERIC1_USI_I2C, 0, 4),
190662306a36Sopenharmony_ci};
190762306a36Sopenharmony_ci
190862306a36Sopenharmony_cistatic const struct samsung_gate_clock peric1_gate_clks[] __initconst = {
190962306a36Sopenharmony_ci	/* IPCLK */
191062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_0, "gout_peric1_ipclk_0",
191162306a36Sopenharmony_ci	     "dout_peric1_usi06_usi",
191262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_0,
191362306a36Sopenharmony_ci	     21, 0, 0),
191462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_1, "gout_peric1_ipclk_1",
191562306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
191662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1,
191762306a36Sopenharmony_ci	     21, 0, 0),
191862306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_2, "gout_peric1_ipclk_2",
191962306a36Sopenharmony_ci	     "dout_peric1_usi07_usi",
192062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2,
192162306a36Sopenharmony_ci	     21, 0, 0),
192262306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_3, "gout_peric1_ipclk_3",
192362306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
192462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3,
192562306a36Sopenharmony_ci	     21, 0, 0),
192662306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_4, "gout_peric1_ipclk_4",
192762306a36Sopenharmony_ci	     "dout_peric1_usi08_usi",
192862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4,
192962306a36Sopenharmony_ci	     21, 0, 0),
193062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_5, "gout_peric1_ipclk_5",
193162306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
193262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5,
193362306a36Sopenharmony_ci	     21, 0, 0),
193462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_6, "gout_peric1_ipclk_6",
193562306a36Sopenharmony_ci	     "dout_peric1_usi09_usi",
193662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6,
193762306a36Sopenharmony_ci	     21, 0, 0),
193862306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_7, "gout_peric1_ipclk_7",
193962306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
194062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_7,
194162306a36Sopenharmony_ci	     21, 0, 0),
194262306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_8, "gout_peric1_ipclk_8",
194362306a36Sopenharmony_ci	     "dout_peric1_usi10_usi",
194462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8,
194562306a36Sopenharmony_ci	     21, 0, 0),
194662306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_9, "gout_peric1_ipclk_9",
194762306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
194862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_9,
194962306a36Sopenharmony_ci	     21, 0, 0),
195062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_10, "gout_peric1_ipclk_10",
195162306a36Sopenharmony_ci	     "dout_peric1_usi11_usi",
195262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_10,
195362306a36Sopenharmony_ci	     21, 0, 0),
195462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_IPCLK_11, "gout_peric1_ipclk_11",
195562306a36Sopenharmony_ci	     "dout_peric1_usi_i2c",
195662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_11,
195762306a36Sopenharmony_ci	     21, 0, 0),
195862306a36Sopenharmony_ci
195962306a36Sopenharmony_ci	/* PCLK */
196062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_0, "gout_peric1_pclk_0",
196162306a36Sopenharmony_ci	     "mout_peric1_bus_user",
196262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_0,
196362306a36Sopenharmony_ci	     21, 0, 0),
196462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_1, "gout_peric1_pclk_1",
196562306a36Sopenharmony_ci	     "mout_peric1_bus_user",
196662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1,
196762306a36Sopenharmony_ci	     21, 0, 0),
196862306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_2, "gout_peric1_pclk_2",
196962306a36Sopenharmony_ci	     "mout_peric1_bus_user",
197062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2,
197162306a36Sopenharmony_ci	     21, 0, 0),
197262306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_3, "gout_peric1_pclk_3",
197362306a36Sopenharmony_ci	     "mout_peric1_bus_user",
197462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3,
197562306a36Sopenharmony_ci	     21, 0, 0),
197662306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_4, "gout_peric1_pclk_4",
197762306a36Sopenharmony_ci	     "mout_peric1_bus_user",
197862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4,
197962306a36Sopenharmony_ci	     21, 0, 0),
198062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_5, "gout_peric1_pclk_5",
198162306a36Sopenharmony_ci	     "mout_peric1_bus_user",
198262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5,
198362306a36Sopenharmony_ci	     21, 0, 0),
198462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_6, "gout_peric1_pclk_6",
198562306a36Sopenharmony_ci	     "mout_peric1_bus_user",
198662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6,
198762306a36Sopenharmony_ci	     21, 0, 0),
198862306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_7, "gout_peric1_pclk_7",
198962306a36Sopenharmony_ci	     "mout_peric1_bus_user",
199062306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7,
199162306a36Sopenharmony_ci	     21, 0, 0),
199262306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_8, "gout_peric1_pclk_8",
199362306a36Sopenharmony_ci	     "mout_peric1_bus_user",
199462306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8,
199562306a36Sopenharmony_ci	     21, 0, 0),
199662306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_9, "gout_peric1_pclk_9",
199762306a36Sopenharmony_ci	     "mout_peric1_bus_user",
199862306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9,
199962306a36Sopenharmony_ci	     21, 0, 0),
200062306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_10, "gout_peric1_pclk_10",
200162306a36Sopenharmony_ci	     "mout_peric1_bus_user",
200262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_10,
200362306a36Sopenharmony_ci	     21, 0, 0),
200462306a36Sopenharmony_ci	GATE(CLK_GOUT_PERIC1_PCLK_11, "gout_peric1_pclk_11",
200562306a36Sopenharmony_ci	     "mout_peric1_bus_user",
200662306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_11,
200762306a36Sopenharmony_ci	     21, 0, 0),
200862306a36Sopenharmony_ci};
200962306a36Sopenharmony_ci
201062306a36Sopenharmony_cistatic const struct samsung_cmu_info peric1_cmu_info __initconst = {
201162306a36Sopenharmony_ci	.mux_clks		= peric1_mux_clks,
201262306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(peric1_mux_clks),
201362306a36Sopenharmony_ci	.div_clks		= peric1_div_clks,
201462306a36Sopenharmony_ci	.nr_div_clks		= ARRAY_SIZE(peric1_div_clks),
201562306a36Sopenharmony_ci	.gate_clks		= peric1_gate_clks,
201662306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(peric1_gate_clks),
201762306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_PERIC1,
201862306a36Sopenharmony_ci	.clk_regs		= peric1_clk_regs,
201962306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(peric1_clk_regs),
202062306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_peric1_bus",
202162306a36Sopenharmony_ci};
202262306a36Sopenharmony_ci
202362306a36Sopenharmony_ci/* ---- CMU_PERIS ---------------------------------------------------------- */
202462306a36Sopenharmony_ci
202562306a36Sopenharmony_ci/* Register Offset definitions for CMU_PERIS (0x10020000) */
202662306a36Sopenharmony_ci#define PLL_CON0_MUX_CLKCMU_PERIS_BUS_USER	0x0600
202762306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIS_UID_SYSREG_PERIS_IPCLKPORT_PCLK	0x2058
202862306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER0_IPCLKPORT_PCLK	0x205c
202962306a36Sopenharmony_ci#define CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER1_IPCLKPORT_PCLK	0x2060
203062306a36Sopenharmony_ci
203162306a36Sopenharmony_cistatic const unsigned long peris_clk_regs[] __initconst = {
203262306a36Sopenharmony_ci	PLL_CON0_MUX_CLKCMU_PERIS_BUS_USER,
203362306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIS_UID_SYSREG_PERIS_IPCLKPORT_PCLK,
203462306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER0_IPCLKPORT_PCLK,
203562306a36Sopenharmony_ci	CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER1_IPCLKPORT_PCLK,
203662306a36Sopenharmony_ci};
203762306a36Sopenharmony_ci
203862306a36Sopenharmony_ci/* List of parent clocks for Muxes in CMU_PERIS */
203962306a36Sopenharmony_ciPNAME(mout_peris_bus_user_p) = { "oscclk", "dout_clkcmu_peris_bus" };
204062306a36Sopenharmony_ci
204162306a36Sopenharmony_cistatic const struct samsung_mux_clock peris_mux_clks[] __initconst = {
204262306a36Sopenharmony_ci	MUX(CLK_MOUT_PERIS_BUS_USER, "mout_peris_bus_user",
204362306a36Sopenharmony_ci	    mout_peris_bus_user_p, PLL_CON0_MUX_CLKCMU_PERIS_BUS_USER, 4, 1),
204462306a36Sopenharmony_ci};
204562306a36Sopenharmony_ci
204662306a36Sopenharmony_cistatic const struct samsung_gate_clock peris_gate_clks[] __initconst = {
204762306a36Sopenharmony_ci	GATE(CLK_GOUT_SYSREG_PERIS_PCLK, "gout_sysreg_peris_pclk",
204862306a36Sopenharmony_ci	     "mout_peris_bus_user",
204962306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIS_UID_SYSREG_PERIS_IPCLKPORT_PCLK,
205062306a36Sopenharmony_ci	     21, CLK_IGNORE_UNUSED, 0),
205162306a36Sopenharmony_ci	GATE(CLK_GOUT_WDT_CLUSTER0, "gout_wdt_cluster0", "mout_peris_bus_user",
205262306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER0_IPCLKPORT_PCLK,
205362306a36Sopenharmony_ci	     21, 0, 0),
205462306a36Sopenharmony_ci	GATE(CLK_GOUT_WDT_CLUSTER1, "gout_wdt_cluster1", "mout_peris_bus_user",
205562306a36Sopenharmony_ci	     CLK_CON_GAT_GOUT_BLK_PERIS_UID_WDT_CLUSTER1_IPCLKPORT_PCLK,
205662306a36Sopenharmony_ci	     21, 0, 0),
205762306a36Sopenharmony_ci};
205862306a36Sopenharmony_ci
205962306a36Sopenharmony_cistatic const struct samsung_cmu_info peris_cmu_info __initconst = {
206062306a36Sopenharmony_ci	.mux_clks		= peris_mux_clks,
206162306a36Sopenharmony_ci	.nr_mux_clks		= ARRAY_SIZE(peris_mux_clks),
206262306a36Sopenharmony_ci	.gate_clks		= peris_gate_clks,
206362306a36Sopenharmony_ci	.nr_gate_clks		= ARRAY_SIZE(peris_gate_clks),
206462306a36Sopenharmony_ci	.nr_clk_ids		= CLKS_NR_PERIS,
206562306a36Sopenharmony_ci	.clk_regs		= peris_clk_regs,
206662306a36Sopenharmony_ci	.nr_clk_regs		= ARRAY_SIZE(peris_clk_regs),
206762306a36Sopenharmony_ci	.clk_name		= "dout_clkcmu_peris_bus",
206862306a36Sopenharmony_ci};
206962306a36Sopenharmony_ci
207062306a36Sopenharmony_cistatic int __init exynosautov9_cmu_probe(struct platform_device *pdev)
207162306a36Sopenharmony_ci{
207262306a36Sopenharmony_ci	const struct samsung_cmu_info *info;
207362306a36Sopenharmony_ci	struct device *dev = &pdev->dev;
207462306a36Sopenharmony_ci
207562306a36Sopenharmony_ci	info = of_device_get_match_data(dev);
207662306a36Sopenharmony_ci	exynos_arm64_register_cmu(dev, dev->of_node, info);
207762306a36Sopenharmony_ci
207862306a36Sopenharmony_ci	return 0;
207962306a36Sopenharmony_ci}
208062306a36Sopenharmony_ci
208162306a36Sopenharmony_cistatic const struct of_device_id exynosautov9_cmu_of_match[] = {
208262306a36Sopenharmony_ci	{
208362306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-busmc",
208462306a36Sopenharmony_ci		.data = &busmc_cmu_info,
208562306a36Sopenharmony_ci	}, {
208662306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-core",
208762306a36Sopenharmony_ci		.data = &core_cmu_info,
208862306a36Sopenharmony_ci	}, {
208962306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-fsys0",
209062306a36Sopenharmony_ci		.data = &fsys0_cmu_info,
209162306a36Sopenharmony_ci	}, {
209262306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-fsys1",
209362306a36Sopenharmony_ci		.data = &fsys1_cmu_info,
209462306a36Sopenharmony_ci	}, {
209562306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-fsys2",
209662306a36Sopenharmony_ci		.data = &fsys2_cmu_info,
209762306a36Sopenharmony_ci	}, {
209862306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-peric0",
209962306a36Sopenharmony_ci		.data = &peric0_cmu_info,
210062306a36Sopenharmony_ci	}, {
210162306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-peric1",
210262306a36Sopenharmony_ci		.data = &peric1_cmu_info,
210362306a36Sopenharmony_ci	}, {
210462306a36Sopenharmony_ci		.compatible = "samsung,exynosautov9-cmu-peris",
210562306a36Sopenharmony_ci		.data = &peris_cmu_info,
210662306a36Sopenharmony_ci	}, {
210762306a36Sopenharmony_ci	},
210862306a36Sopenharmony_ci};
210962306a36Sopenharmony_ci
211062306a36Sopenharmony_cistatic struct platform_driver exynosautov9_cmu_driver __refdata = {
211162306a36Sopenharmony_ci	.driver = {
211262306a36Sopenharmony_ci		.name = "exynosautov9-cmu",
211362306a36Sopenharmony_ci		.of_match_table = exynosautov9_cmu_of_match,
211462306a36Sopenharmony_ci		.suppress_bind_attrs = true,
211562306a36Sopenharmony_ci	},
211662306a36Sopenharmony_ci	.probe = exynosautov9_cmu_probe,
211762306a36Sopenharmony_ci};
211862306a36Sopenharmony_ci
211962306a36Sopenharmony_cistatic int __init exynosautov9_cmu_init(void)
212062306a36Sopenharmony_ci{
212162306a36Sopenharmony_ci	return platform_driver_register(&exynosautov9_cmu_driver);
212262306a36Sopenharmony_ci}
212362306a36Sopenharmony_cicore_initcall(exynosautov9_cmu_init);
2124