@@ -426,11 +426,14 @@ CLK_OF_DECLARE(exynos850_cmu_top, "samsung,exynos850-cmu-top",
426426#define CLK_CON_DIV_DIV_CLK_APM_I3C 0x1808
427427#define CLK_CON_GAT_CLKCMU_CMGP_BUS 0x2000
428428#define CLK_CON_GAT_GATE_CLKCMU_CHUB_BUS 0x2014
429+ #define CLK_CON_GAT_GOUT_APM_APBIF_GPIO_ALIVE_PCLK 0x2018
430+ #define CLK_CON_GAT_GOUT_APM_APBIF_PMU_ALIVE_PCLK 0x2020
429431#define CLK_CON_GAT_GOUT_APM_APBIF_RTC_PCLK 0x2024
430432#define CLK_CON_GAT_GOUT_APM_APBIF_TOP_RTC_PCLK 0x2028
431433#define CLK_CON_GAT_GOUT_APM_I3C_APM_PMIC_I_PCLK 0x2034
432434#define CLK_CON_GAT_GOUT_APM_I3C_APM_PMIC_I_SCLK 0x2038
433435#define CLK_CON_GAT_GOUT_APM_SPEEDY_APM_PCLK 0x20bc
436+ #define CLK_CON_GAT_GOUT_APM_SYSREG_APM_PCLK 0x20c0
434437
435438static const unsigned long apm_clk_regs [] __initconst = {
436439 PLL_CON0_MUX_CLKCMU_APM_BUS_USER ,
@@ -445,11 +448,14 @@ static const unsigned long apm_clk_regs[] __initconst = {
445448 CLK_CON_DIV_DIV_CLK_APM_I3C ,
446449 CLK_CON_GAT_CLKCMU_CMGP_BUS ,
447450 CLK_CON_GAT_GATE_CLKCMU_CHUB_BUS ,
451+ CLK_CON_GAT_GOUT_APM_APBIF_GPIO_ALIVE_PCLK ,
452+ CLK_CON_GAT_GOUT_APM_APBIF_PMU_ALIVE_PCLK ,
448453 CLK_CON_GAT_GOUT_APM_APBIF_RTC_PCLK ,
449454 CLK_CON_GAT_GOUT_APM_APBIF_TOP_RTC_PCLK ,
450455 CLK_CON_GAT_GOUT_APM_I3C_APM_PMIC_I_PCLK ,
451456 CLK_CON_GAT_GOUT_APM_I3C_APM_PMIC_I_SCLK ,
452457 CLK_CON_GAT_GOUT_APM_SPEEDY_APM_PCLK ,
458+ CLK_CON_GAT_GOUT_APM_SYSREG_APM_PCLK ,
453459};
454460
455461/* List of parent clocks for Muxes in CMU_APM */
@@ -512,6 +518,14 @@ static const struct samsung_gate_clock apm_gate_clks[] __initconst = {
512518 CLK_CON_GAT_GOUT_APM_I3C_APM_PMIC_I_SCLK , 21 , 0 , 0 ),
513519 GATE (CLK_GOUT_SPEEDY_PCLK , "gout_speedy_pclk" , "dout_apm_bus" ,
514520 CLK_CON_GAT_GOUT_APM_SPEEDY_APM_PCLK , 21 , 0 , 0 ),
521+ /* TODO: Should be enabled in GPIO driver (or made CLK_IS_CRITICAL) */
522+ GATE (CLK_GOUT_GPIO_ALIVE_PCLK , "gout_gpio_alive_pclk" , "dout_apm_bus" ,
523+ CLK_CON_GAT_GOUT_APM_APBIF_GPIO_ALIVE_PCLK , 21 , CLK_IGNORE_UNUSED ,
524+ 0 ),
525+ GATE (CLK_GOUT_PMU_ALIVE_PCLK , "gout_pmu_alive_pclk" , "dout_apm_bus" ,
526+ CLK_CON_GAT_GOUT_APM_APBIF_PMU_ALIVE_PCLK , 21 , 0 , 0 ),
527+ GATE (CLK_GOUT_SYSREG_APM_PCLK , "gout_sysreg_apm_pclk" , "dout_apm_bus" ,
528+ CLK_CON_GAT_GOUT_APM_SYSREG_APM_PCLK , 21 , 0 , 0 ),
515529};
516530
517531static const struct samsung_cmu_info apm_cmu_info __initconst = {
@@ -541,6 +555,7 @@ static const struct samsung_cmu_info apm_cmu_info __initconst = {
541555#define CLK_CON_GAT_GOUT_CMGP_ADC_PCLK_S0 0x200c
542556#define CLK_CON_GAT_GOUT_CMGP_ADC_PCLK_S1 0x2010
543557#define CLK_CON_GAT_GOUT_CMGP_GPIO_PCLK 0x2018
558+ #define CLK_CON_GAT_GOUT_CMGP_SYSREG_CMGP_PCLK 0x2040
544559#define CLK_CON_GAT_GOUT_CMGP_USI_CMGP0_IPCLK 0x2044
545560#define CLK_CON_GAT_GOUT_CMGP_USI_CMGP0_PCLK 0x2048
546561#define CLK_CON_GAT_GOUT_CMGP_USI_CMGP1_IPCLK 0x204c
@@ -556,6 +571,7 @@ static const unsigned long cmgp_clk_regs[] __initconst = {
556571 CLK_CON_GAT_GOUT_CMGP_ADC_PCLK_S0 ,
557572 CLK_CON_GAT_GOUT_CMGP_ADC_PCLK_S1 ,
558573 CLK_CON_GAT_GOUT_CMGP_GPIO_PCLK ,
574+ CLK_CON_GAT_GOUT_CMGP_SYSREG_CMGP_PCLK ,
559575 CLK_CON_GAT_GOUT_CMGP_USI_CMGP0_IPCLK ,
560576 CLK_CON_GAT_GOUT_CMGP_USI_CMGP0_PCLK ,
561577 CLK_CON_GAT_GOUT_CMGP_USI_CMGP1_IPCLK ,
@@ -610,6 +626,9 @@ static const struct samsung_gate_clock cmgp_gate_clks[] __initconst = {
610626 GATE (CLK_GOUT_CMGP_USI1_PCLK , "gout_cmgp_usi1_pclk" ,
611627 "gout_clkcmu_cmgp_bus" ,
612628 CLK_CON_GAT_GOUT_CMGP_USI_CMGP1_PCLK , 21 , 0 , 0 ),
629+ GATE (CLK_GOUT_SYSREG_CMGP_PCLK , "gout_sysreg_cmgp_pclk" ,
630+ "gout_clkcmu_cmgp_bus" ,
631+ CLK_CON_GAT_GOUT_CMGP_SYSREG_CMGP_PCLK , 21 , 0 , 0 ),
613632};
614633
615634static const struct samsung_cmu_info cmgp_cmu_info __initconst = {
@@ -910,10 +929,12 @@ CLK_OF_DECLARE(exynos850_cmu_peri, "samsung,exynos850-cmu-peri",
910929#define CLK_CON_DIV_DIV_CLK_CORE_BUSP 0x1800
911930#define CLK_CON_GAT_GOUT_CORE_CCI_550_ACLK 0x2038
912931#define CLK_CON_GAT_GOUT_CORE_GIC_CLK 0x2040
932+ #define CLK_CON_GAT_GOUT_CORE_GPIO_CORE_PCLK 0x2044
913933#define CLK_CON_GAT_GOUT_CORE_MMC_EMBD_I_ACLK 0x20e8
914934#define CLK_CON_GAT_GOUT_CORE_MMC_EMBD_SDCLKIN 0x20ec
915935#define CLK_CON_GAT_GOUT_CORE_SSS_I_ACLK 0x2128
916936#define CLK_CON_GAT_GOUT_CORE_SSS_I_PCLK 0x212c
937+ #define CLK_CON_GAT_GOUT_CORE_SYSREG_CORE_PCLK 0x2130
917938
918939static const unsigned long core_clk_regs [] __initconst = {
919940 PLL_CON0_MUX_CLKCMU_CORE_BUS_USER ,
@@ -924,10 +945,12 @@ static const unsigned long core_clk_regs[] __initconst = {
924945 CLK_CON_DIV_DIV_CLK_CORE_BUSP ,
925946 CLK_CON_GAT_GOUT_CORE_CCI_550_ACLK ,
926947 CLK_CON_GAT_GOUT_CORE_GIC_CLK ,
948+ CLK_CON_GAT_GOUT_CORE_GPIO_CORE_PCLK ,
927949 CLK_CON_GAT_GOUT_CORE_MMC_EMBD_I_ACLK ,
928950 CLK_CON_GAT_GOUT_CORE_MMC_EMBD_SDCLKIN ,
929951 CLK_CON_GAT_GOUT_CORE_SSS_I_ACLK ,
930952 CLK_CON_GAT_GOUT_CORE_SSS_I_PCLK ,
953+ CLK_CON_GAT_GOUT_CORE_SYSREG_CORE_PCLK ,
931954};
932955
933956/* List of parent clocks for Muxes in CMU_CORE */
@@ -972,6 +995,12 @@ static const struct samsung_gate_clock core_gate_clks[] __initconst = {
972995 CLK_CON_GAT_GOUT_CORE_SSS_I_ACLK , 21 , 0 , 0 ),
973996 GATE (CLK_GOUT_SSS_PCLK , "gout_sss_pclk" , "dout_core_busp" ,
974997 CLK_CON_GAT_GOUT_CORE_SSS_I_PCLK , 21 , 0 , 0 ),
998+ /* TODO: Should be enabled in GPIO driver (or made CLK_IS_CRITICAL) */
999+ GATE (CLK_GOUT_GPIO_CORE_PCLK , "gout_gpio_core_pclk" , "dout_core_busp" ,
1000+ CLK_CON_GAT_GOUT_CORE_GPIO_CORE_PCLK , 21 , CLK_IGNORE_UNUSED , 0 ),
1001+ GATE (CLK_GOUT_SYSREG_CORE_PCLK , "gout_sysreg_core_pclk" ,
1002+ "dout_core_busp" ,
1003+ CLK_CON_GAT_GOUT_CORE_SYSREG_CORE_PCLK , 21 , 0 , 0 ),
9751004};
9761005
9771006static const struct samsung_cmu_info core_cmu_info __initconst = {
0 commit comments