|
53 | 53 | #define APMU_DISP1 0x110
|
54 | 54 | #define APMU_CCIC0 0x50
|
55 | 55 | #define APMU_CCIC1 0xf4
|
| 56 | +#define APMU_SP 0x68 |
56 | 57 | #define MPMU_UART_PLL 0x14
|
57 | 58 |
|
58 | 59 | struct mmp2_clk_unit {
|
@@ -209,6 +210,8 @@ static struct mmp_clk_mix_config ccic1_mix_config = {
|
209 | 210 | .reg_info = DEFINE_MIX_REG_INFO(4, 16, 2, 6, 32),
|
210 | 211 | };
|
211 | 212 |
|
| 213 | +static DEFINE_SPINLOCK(sp_lock); |
| 214 | + |
212 | 215 | static struct mmp_param_mux_clk apmu_mux_clks[] = {
|
213 | 216 | {MMP2_CLK_DISP0_MUX, "disp0_mux", disp_parent_names, ARRAY_SIZE(disp_parent_names), CLK_SET_RATE_PARENT, APMU_DISP0, 6, 2, 0, &disp0_lock},
|
214 | 217 | {MMP2_CLK_DISP1_MUX, "disp1_mux", disp_parent_names, ARRAY_SIZE(disp_parent_names), CLK_SET_RATE_PARENT, APMU_DISP1, 6, 2, 0, &disp1_lock},
|
@@ -239,6 +242,7 @@ static struct mmp_param_gate_clk apmu_gate_clks[] = {
|
239 | 242 | {MMP2_CLK_CCIC1, "ccic1_clk", "ccic1_mix_clk", CLK_SET_RATE_PARENT, APMU_CCIC1, 0x1b, 0x1b, 0x0, 0, &ccic1_lock},
|
240 | 243 | {MMP2_CLK_CCIC1_PHY, "ccic1_phy_clk", "ccic1_mix_clk", CLK_SET_RATE_PARENT, APMU_CCIC1, 0x24, 0x24, 0x0, 0, &ccic1_lock},
|
241 | 244 | {MMP2_CLK_CCIC1_SPHY, "ccic1_sphy_clk", "ccic1_sphy_div", CLK_SET_RATE_PARENT, APMU_CCIC1, 0x300, 0x300, 0x0, 0, &ccic1_lock},
|
| 245 | + {MMP2_CLK_SP, "sp_clk", NULL, CLK_SET_RATE_PARENT, APMU_SP, 0x1b, 0x1b, 0x0, 0, &sp_lock}, |
242 | 246 | };
|
243 | 247 |
|
244 | 248 | static void mmp2_axi_periph_clk_init(struct mmp2_clk_unit *pxa_unit)
|
|
0 commit comments