@@ -175,6 +175,8 @@ static OWL_MUX(dev_clk, "dev_clk", dev_clk_mux_p, CMU_DEVPLL, 12, 1, CLK_SET_RAT
175
175
static OWL_MUX (ahbprediv_clk , "ahbprediv_clk ", ahbprediv_clk_mux_p , CMU_BUSCLK1 , 8 , 3 , CLK_SET_RATE_PARENT ) ;
176
176
177
177
/* gate clocks */
178
+ static OWL_GATE (gpio_clk , "gpio_clk ", "apb_clk ", CMU_DEVCLKEN0, 18, 0, 0);
179
+ static OWL_GATE (dmac_clk , "dmac_clk" , "h_clk" , CMU_DEVCLKEN0 , 1 , 0 , 0 );
178
180
static OWL_GATE (spi0_clk , "spi0_clk ", "ahb_clk ", CMU_DEVCLKEN1, 10, 0, CLK_IGNORE_UNUSED);
179
181
static OWL_GATE (spi1_clk , "spi1_clk" , "ahb_clk" , CMU_DEVCLKEN1 , 11 , 0 , CLK_IGNORE_UNUSED );
180
182
static OWL_GATE (spi2_clk , "spi2_clk ", "ahb_clk ", CMU_DEVCLKEN1, 12, 0, CLK_IGNORE_UNUSED);
@@ -184,6 +186,7 @@ static OWL_GATE(hdmi_clk, "hdmi_clk", "hosc", CMU_DEVCLKEN1, 3, 0, 0);
184
186
185
187
/* divider clocks */
186
188
static OWL_DIVIDER (h_clk , "h_clk ", "ahbprediv_clk ", CMU_BUSCLK1 , 12 , 2 , NULL , 0 , 0 );
189
+ static OWL_DIVIDER (apb_clk , "apb_clk" , "ahb_clk" , CMU_BUSCLK1 , 14 , 2 , NULL , 0 , 0 );
187
190
static OWL_DIVIDER (rmii_ref_clk , "rmii_ref_clk ", "ethernet_pll_clk ", CMU_ETHERNETPLL, 1, 1, rmii_ref_div_table, 0, 0);
188
191
189
192
/* factor clocks */
@@ -428,6 +431,9 @@ static struct owl_clk_common *s500_clks[] = {
428
431
& spdif_clk .common ,
429
432
& nand_clk .common ,
430
433
& ecc_clk .common ,
434
+ & apb_clk .common ,
435
+ & dmac_clk .common ,
436
+ & gpio_clk .common ,
431
437
};
432
438
433
439
static struct clk_hw_onecell_data s500_hw_clks = {
@@ -484,6 +490,9 @@ static struct clk_hw_onecell_data s500_hw_clks = {
484
490
[CLK_SPDIF ] = & spdif_clk .common .hw ,
485
491
[CLK_NAND ] = & nand_clk .common .hw ,
486
492
[CLK_ECC ] = & ecc_clk .common .hw ,
493
+ [CLK_APB ] = & apb_clk .common .hw ,
494
+ [CLK_DMAC ] = & dmac_clk .common .hw ,
495
+ [CLK_GPIO ] = & gpio_clk .common .hw ,
487
496
},
488
497
.num = CLK_NR_CLKS ,
489
498
};
0 commit comments