21
21
#define CLKS_NR_APM (CLK_APM_PLL_DIV16_APM + 1)
22
22
#define CLKS_NR_MISC (CLK_GOUT_MISC_XIU_D_MISC_ACLK + 1)
23
23
#define CLKS_NR_PERIC0 (CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK + 1)
24
+ #define CLKS_NR_PERIC1 (CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK + 1)
24
25
25
26
/* ---- CMU_TOP ------------------------------------------------------------- */
26
27
@@ -3066,6 +3067,348 @@ static const struct samsung_cmu_info peric0_cmu_info __initconst = {
3066
3067
.clk_name = "bus" ,
3067
3068
};
3068
3069
3070
+ /* ---- CMU_PERIC1 ---------------------------------------------------------- */
3071
+
3072
+ /* Register Offset definitions for CMU_PERIC1 (0x10c00000) */
3073
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER 0x0600
3074
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_BUS_USER 0x0604
3075
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER 0x0610
3076
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_I3C_USER 0x0614
3077
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER 0x0620
3078
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI0_USI_USER 0x0624
3079
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER 0x0630
3080
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI10_USI_USER 0x0634
3081
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER 0x0640
3082
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI11_USI_USER 0x0644
3083
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER 0x0650
3084
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI12_USI_USER 0x0654
3085
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER 0x0660
3086
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI13_USI_USER 0x0664
3087
+ #define PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER 0x0670
3088
+ #define PLL_CON1_MUX_CLKCMU_PERIC1_USI9_USI_USER 0x0674
3089
+ #define PERIC1_CMU_PERIC1_CONTROLLER_OPTION 0x0800
3090
+ #define CLKOUT_CON_BLK_PERIC1_CMU_PERIC1_CLKOUT0 0x0810
3091
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_I3C 0x1800
3092
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI 0x1804
3093
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI 0x1808
3094
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI 0x180c
3095
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI 0x1810
3096
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI 0x1814
3097
+ #define CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI 0x1818
3098
+ #define CLK_CON_BUF_CLKBUF_PERIC1_IP 0x2000
3099
+ #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK 0x2004
3100
+ #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK 0x2008
3101
+ #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK 0x200c
3102
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK 0x2010
3103
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK 0x2014
3104
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK 0x2018
3105
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK 0x201c
3106
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1 0x2020
3107
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2 0x2024
3108
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3 0x2028
3109
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4 0x202c
3110
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5 0x2030
3111
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6 0x2034
3112
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8 0x2038
3113
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1 0x203c
3114
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15 0x2040
3115
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2 0x2044
3116
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3 0x2048
3117
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4 0x204c
3118
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5 0x2050
3119
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6 0x2054
3120
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8 0x2058
3121
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK 0x205c
3122
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK 0x2060
3123
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK 0x2064
3124
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK 0x2068
3125
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK 0x206c
3126
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK 0x2070
3127
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK 0x2074
3128
+ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK 0x2078
3129
+ #define DMYQCH_CON_PERIC1_TOP0_QCH_S 0x3000
3130
+ #define PCH_CON_LHM_AXI_P_PERIC1_PCH 0x3004
3131
+ #define QCH_CON_D_TZPC_PERIC1_QCH 0x3008
3132
+ #define QCH_CON_GPC_PERIC1_QCH 0x300c
3133
+ #define QCH_CON_GPIO_PERIC1_QCH 0x3010
3134
+ #define QCH_CON_LHM_AXI_P_PERIC1_QCH 0x3014
3135
+ #define QCH_CON_PERIC1_CMU_PERIC1_QCH 0x3018
3136
+ #define QCH_CON_PERIC1_TOP0_QCH_I3C0 0x301c
3137
+ #define QCH_CON_PERIC1_TOP0_QCH_PWM 0x3020
3138
+ #define QCH_CON_PERIC1_TOP0_QCH_USI0_USI 0x3024
3139
+ #define QCH_CON_PERIC1_TOP0_QCH_USI10_USI 0x3028
3140
+ #define QCH_CON_PERIC1_TOP0_QCH_USI11_USI 0x302c
3141
+ #define QCH_CON_PERIC1_TOP0_QCH_USI12_USI 0x3030
3142
+ #define QCH_CON_PERIC1_TOP0_QCH_USI13_USI 0x3034
3143
+ #define QCH_CON_PERIC1_TOP0_QCH_USI9_USI 0x3038
3144
+ #define QCH_CON_SYSREG_PERIC1_QCH 0x303c
3145
+ #define QUEUE_CTRL_REG_BLK_PERIC1_CMU_PERIC1 0x3c00
3146
+
3147
+ static const unsigned long peric1_clk_regs [] __initconst = {
3148
+ PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER ,
3149
+ PLL_CON1_MUX_CLKCMU_PERIC1_BUS_USER ,
3150
+ PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER ,
3151
+ PLL_CON1_MUX_CLKCMU_PERIC1_I3C_USER ,
3152
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER ,
3153
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI0_USI_USER ,
3154
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER ,
3155
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI10_USI_USER ,
3156
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER ,
3157
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI11_USI_USER ,
3158
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER ,
3159
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI12_USI_USER ,
3160
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER ,
3161
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI13_USI_USER ,
3162
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER ,
3163
+ PLL_CON1_MUX_CLKCMU_PERIC1_USI9_USI_USER ,
3164
+ PERIC1_CMU_PERIC1_CONTROLLER_OPTION ,
3165
+ CLKOUT_CON_BLK_PERIC1_CMU_PERIC1_CLKOUT0 ,
3166
+ CLK_CON_DIV_DIV_CLK_PERIC1_I3C ,
3167
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI ,
3168
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI ,
3169
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI ,
3170
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI ,
3171
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI ,
3172
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI ,
3173
+ CLK_CON_BUF_CLKBUF_PERIC1_IP ,
3174
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK ,
3175
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK ,
3176
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK ,
3177
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK ,
3178
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK ,
3179
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK ,
3180
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK ,
3181
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1 ,
3182
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2 ,
3183
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3 ,
3184
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4 ,
3185
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5 ,
3186
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6 ,
3187
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8 ,
3188
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1 ,
3189
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15 ,
3190
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2 ,
3191
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3 ,
3192
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4 ,
3193
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5 ,
3194
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6 ,
3195
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8 ,
3196
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK ,
3197
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK ,
3198
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK ,
3199
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK ,
3200
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK ,
3201
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK ,
3202
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK ,
3203
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK ,
3204
+ DMYQCH_CON_PERIC1_TOP0_QCH_S ,
3205
+ PCH_CON_LHM_AXI_P_PERIC1_PCH ,
3206
+ QCH_CON_D_TZPC_PERIC1_QCH ,
3207
+ QCH_CON_GPC_PERIC1_QCH ,
3208
+ QCH_CON_GPIO_PERIC1_QCH ,
3209
+ QCH_CON_LHM_AXI_P_PERIC1_QCH ,
3210
+ QCH_CON_PERIC1_CMU_PERIC1_QCH ,
3211
+ QCH_CON_PERIC1_TOP0_QCH_I3C0 ,
3212
+ QCH_CON_PERIC1_TOP0_QCH_PWM ,
3213
+ QCH_CON_PERIC1_TOP0_QCH_USI0_USI ,
3214
+ QCH_CON_PERIC1_TOP0_QCH_USI10_USI ,
3215
+ QCH_CON_PERIC1_TOP0_QCH_USI11_USI ,
3216
+ QCH_CON_PERIC1_TOP0_QCH_USI12_USI ,
3217
+ QCH_CON_PERIC1_TOP0_QCH_USI13_USI ,
3218
+ QCH_CON_PERIC1_TOP0_QCH_USI9_USI ,
3219
+ QCH_CON_SYSREG_PERIC1_QCH ,
3220
+ QUEUE_CTRL_REG_BLK_PERIC1_CMU_PERIC1 ,
3221
+ };
3222
+
3223
+ /* List of parent clocks for Muxes in CMU_PERIC1 */
3224
+ PNAME (mout_peric1_bus_user_p ) = { "oscclk" , "dout_cmu_peric1_bus" };
3225
+ PNAME (mout_peric1_nonbususer_p ) = { "oscclk" , "dout_cmu_peric1_ip" };
3226
+
3227
+ static const struct samsung_mux_clock peric1_mux_clks [] __initconst = {
3228
+ MUX (CLK_MOUT_PERIC1_BUS_USER , "mout_peric1_bus_user" ,
3229
+ mout_peric1_bus_user_p , PLL_CON0_MUX_CLKCMU_PERIC1_BUS_USER , 4 , 1 ),
3230
+ MUX (CLK_MOUT_PERIC1_I3C_USER ,
3231
+ "mout_peric1_i3c_user" , mout_peric1_nonbususer_p ,
3232
+ PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER , 4 , 1 ),
3233
+ MUX (CLK_MOUT_PERIC1_USI0_USI_USER ,
3234
+ "mout_peric1_usi0_usi_user" , mout_peric1_nonbususer_p ,
3235
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER , 4 , 1 ),
3236
+ MUX (CLK_MOUT_PERIC1_USI10_USI_USER ,
3237
+ "mout_peric1_usi10_usi_user" , mout_peric1_nonbususer_p ,
3238
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER , 4 , 1 ),
3239
+ MUX (CLK_MOUT_PERIC1_USI11_USI_USER ,
3240
+ "mout_peric1_usi11_usi_user" , mout_peric1_nonbususer_p ,
3241
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER , 4 , 1 ),
3242
+ MUX (CLK_MOUT_PERIC1_USI12_USI_USER ,
3243
+ "mout_peric1_usi12_usi_user" , mout_peric1_nonbususer_p ,
3244
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER , 4 , 1 ),
3245
+ MUX (CLK_MOUT_PERIC1_USI13_USI_USER ,
3246
+ "mout_peric1_usi13_usi_user" , mout_peric1_nonbususer_p ,
3247
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER , 4 , 1 ),
3248
+ MUX (CLK_MOUT_PERIC1_USI9_USI_USER ,
3249
+ "mout_peric1_usi9_usi_user" , mout_peric1_nonbususer_p ,
3250
+ PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER , 4 , 1 ),
3251
+ };
3252
+
3253
+ static const struct samsung_div_clock peric1_div_clks [] __initconst = {
3254
+ DIV (CLK_DOUT_PERIC1_I3C , "dout_peric1_i3c" , "mout_peric1_i3c_user" ,
3255
+ CLK_CON_DIV_DIV_CLK_PERIC1_I3C , 0 , 4 ),
3256
+ DIV (CLK_DOUT_PERIC1_USI0_USI ,
3257
+ "dout_peric1_usi0_usi" , "mout_peric1_usi0_usi_user" ,
3258
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI , 0 , 4 ),
3259
+ DIV (CLK_DOUT_PERIC1_USI10_USI ,
3260
+ "dout_peric1_usi10_usi" , "mout_peric1_usi10_usi_user" ,
3261
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI , 0 , 4 ),
3262
+ DIV (CLK_DOUT_PERIC1_USI11_USI ,
3263
+ "dout_peric1_usi11_usi" , "mout_peric1_usi11_usi_user" ,
3264
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI , 0 , 4 ),
3265
+ DIV (CLK_DOUT_PERIC1_USI12_USI ,
3266
+ "dout_peric1_usi12_usi" , "mout_peric1_usi12_usi_user" ,
3267
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI , 0 , 4 ),
3268
+ DIV (CLK_DOUT_PERIC1_USI13_USI ,
3269
+ "dout_peric1_usi13_usi" , "mout_peric1_usi13_usi_user" ,
3270
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI , 0 , 4 ),
3271
+ DIV (CLK_DOUT_PERIC1_USI9_USI ,
3272
+ "dout_peric1_usi9_usi" , "mout_peric1_usi9_usi_user" ,
3273
+ CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI , 0 , 4 ),
3274
+ };
3275
+
3276
+ static const struct samsung_gate_clock peric1_gate_clks [] __initconst = {
3277
+ GATE (CLK_GOUT_PERIC1_PCLK ,
3278
+ "gout_peric1_peric1_pclk" , "mout_peric1_bus_user" ,
3279
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK ,
3280
+ 21 , CLK_IS_CRITICAL , 0 ),
3281
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_I3C_CLK ,
3282
+ "gout_peric1_clk_peric1_i3c_clk" , "dout_peric1_i3c" ,
3283
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_I3C_IPCLKPORT_CLK ,
3284
+ 21 , 0 , 0 ),
3285
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_OSCCLK_CLK ,
3286
+ "gout_peric1_clk_peric1_oscclk_clk" , "oscclk" ,
3287
+ CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_OSCCLK_IPCLKPORT_CLK ,
3288
+ 21 , 0 , 0 ),
3289
+ GATE (CLK_GOUT_PERIC1_D_TZPC_PERIC1_PCLK ,
3290
+ "gout_peric1_d_tzpc_peric1_pclk" , "mout_peric1_bus_user" ,
3291
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK ,
3292
+ 21 , 0 , 0 ),
3293
+ GATE (CLK_GOUT_PERIC1_GPC_PERIC1_PCLK ,
3294
+ "gout_peric1_gpc_peric1_pclk" , "mout_peric1_bus_user" ,
3295
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPC_PERIC1_IPCLKPORT_PCLK ,
3296
+ 21 , 0 , 0 ),
3297
+ GATE (CLK_GOUT_PERIC1_GPIO_PERIC1_PCLK ,
3298
+ "gout_peric1_gpio_peric1_pclk" , "mout_peric1_bus_user" ,
3299
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK ,
3300
+ 21 , CLK_IGNORE_UNUSED , 0 ),
3301
+ GATE (CLK_GOUT_PERIC1_LHM_AXI_P_PERIC1_I_CLK ,
3302
+ "gout_peric1_lhm_axi_p_peric1_i_clk" , "mout_peric1_bus_user" ,
3303
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_LHM_AXI_P_PERIC1_IPCLKPORT_I_CLK ,
3304
+ 21 , CLK_IS_CRITICAL , 0 ),
3305
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_1 ,
3306
+ "gout_peric1_peric1_top0_ipclk_1" , "dout_peric1_usi0_usi" ,
3307
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1 ,
3308
+ 21 , 0 , 0 ),
3309
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_2 ,
3310
+ "gout_peric1_peric1_top0_ipclk_2" , "dout_peric1_usi9_usi" ,
3311
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2 ,
3312
+ 21 , 0 , 0 ),
3313
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_3 ,
3314
+ "gout_peric1_peric1_top0_ipclk_3" , "dout_peric1_usi10_usi" ,
3315
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3 ,
3316
+ 21 , 0 , 0 ),
3317
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_4 ,
3318
+ "gout_peric1_peric1_top0_ipclk_4" , "dout_peric1_usi11_usi" ,
3319
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4 ,
3320
+ 21 , 0 , 0 ),
3321
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_5 ,
3322
+ "gout_peric1_peric1_top0_ipclk_5" , "dout_peric1_usi12_usi" ,
3323
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5 ,
3324
+ 21 , 0 , 0 ),
3325
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_6 ,
3326
+ "gout_peric1_peric1_top0_ipclk_6" , "dout_peric1_usi13_usi" ,
3327
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6 ,
3328
+ 21 , 0 , 0 ),
3329
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_8 ,
3330
+ "gout_peric1_peric1_top0_ipclk_8" , "dout_peric1_i3c" ,
3331
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8 ,
3332
+ 21 , 0 , 0 ),
3333
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_1 ,
3334
+ "gout_peric1_peric1_top0_pclk_1" , "mout_peric1_bus_user" ,
3335
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1 ,
3336
+ 21 , 0 , 0 ),
3337
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_15 ,
3338
+ "gout_peric1_peric1_top0_pclk_15" , "mout_peric1_bus_user" ,
3339
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_15 ,
3340
+ 21 , 0 , 0 ),
3341
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_2 ,
3342
+ "gout_peric1_peric1_top0_pclk_2" , "mout_peric1_bus_user" ,
3343
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2 ,
3344
+ 21 , 0 , 0 ),
3345
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_3 ,
3346
+ "gout_peric1_peric1_top0_pclk_3" , "mout_peric1_bus_user" ,
3347
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3 ,
3348
+ 21 , 0 , 0 ),
3349
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_4 ,
3350
+ "gout_peric1_peric1_top0_pclk_4" , "mout_peric1_bus_user" ,
3351
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4 ,
3352
+ 21 , 0 , 0 ),
3353
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_5 ,
3354
+ "gout_peric1_peric1_top0_pclk_5" , "mout_peric1_bus_user" ,
3355
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5 ,
3356
+ 21 , 0 , 0 ),
3357
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_6 ,
3358
+ "gout_peric1_peric1_top0_pclk_6" , "mout_peric1_bus_user" ,
3359
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6 ,
3360
+ 21 , 0 , 0 ),
3361
+ GATE (CLK_GOUT_PERIC1_PERIC1_TOP0_PCLK_8 ,
3362
+ "gout_peric1_peric1_top0_pclk_8" , "mout_peric1_bus_user" ,
3363
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8 ,
3364
+ 21 , 0 , 0 ),
3365
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_BUSP_CLK ,
3366
+ "gout_peric1_clk_peric1_busp_clk" , "mout_peric1_bus_user" ,
3367
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_BUSP_IPCLKPORT_CLK ,
3368
+ 21 , 0 , 0 ),
3369
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI0_USI_CLK ,
3370
+ "gout_peric1_clk_peric1_usi0_usi_clk" , "dout_peric1_usi0_usi" ,
3371
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI0_USI_IPCLKPORT_CLK ,
3372
+ 21 , 0 , 0 ),
3373
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI10_USI_CLK ,
3374
+ "gout_peric1_clk_peric1_usi10_usi_clk" , "dout_peric1_usi10_usi" ,
3375
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI10_USI_IPCLKPORT_CLK ,
3376
+ 21 , 0 , 0 ),
3377
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI11_USI_CLK ,
3378
+ "gout_peric1_clk_peric1_usi11_usi_clk" , "dout_peric1_usi11_usi" ,
3379
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI11_USI_IPCLKPORT_CLK ,
3380
+ 21 , 0 , 0 ),
3381
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI12_USI_CLK ,
3382
+ "gout_peric1_clk_peric1_usi12_usi_clk" , "dout_peric1_usi12_usi" ,
3383
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI12_USI_IPCLKPORT_CLK ,
3384
+ 21 , 0 , 0 ),
3385
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI13_USI_CLK ,
3386
+ "gout_peric1_clk_peric1_usi13_usi_clk" , "dout_peric1_usi13_usi" ,
3387
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI13_USI_IPCLKPORT_CLK ,
3388
+ 21 , 0 , 0 ),
3389
+ GATE (CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK ,
3390
+ "gout_peric1_clk_peric1_usi9_usi_clk" , "dout_peric1_usi9_usi" ,
3391
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_USI9_USI_IPCLKPORT_CLK ,
3392
+ 21 , 0 , 0 ),
3393
+ GATE (CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK ,
3394
+ "gout_peric1_sysreg_peric1_pclk" , "mout_peric1_bus_user" ,
3395
+ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK ,
3396
+ 21 , 0 , 0 ),
3397
+ };
3398
+
3399
+ static const struct samsung_cmu_info peric1_cmu_info __initconst = {
3400
+ .mux_clks = peric1_mux_clks ,
3401
+ .nr_mux_clks = ARRAY_SIZE (peric1_mux_clks ),
3402
+ .div_clks = peric1_div_clks ,
3403
+ .nr_div_clks = ARRAY_SIZE (peric1_div_clks ),
3404
+ .gate_clks = peric1_gate_clks ,
3405
+ .nr_gate_clks = ARRAY_SIZE (peric1_gate_clks ),
3406
+ .nr_clk_ids = CLKS_NR_PERIC1 ,
3407
+ .clk_regs = peric1_clk_regs ,
3408
+ .nr_clk_regs = ARRAY_SIZE (peric1_clk_regs ),
3409
+ .clk_name = "bus" ,
3410
+ };
3411
+
3069
3412
/* ---- platform_driver ----------------------------------------------------- */
3070
3413
3071
3414
static int __init gs101_cmu_probe (struct platform_device * pdev )
@@ -3086,6 +3429,9 @@ static const struct of_device_id gs101_cmu_of_match[] = {
3086
3429
}, {
3087
3430
.compatible = "google,gs101-cmu-peric0" ,
3088
3431
.data = & peric0_cmu_info ,
3432
+ }, {
3433
+ .compatible = "google,gs101-cmu-peric1" ,
3434
+ .data = & peric1_cmu_info ,
3089
3435
}, {
3090
3436
},
3091
3437
};
0 commit comments