Skip to content

Commit 5c7a71f

Browse files
openedevmmind
authored andcommitted
clk: rockchip: rv1126: Add PD_VO clock tree
PD_VO clock tree diagram in RV1126 is connected to - BIU_VO - VOP - RGA - IEP - DSIHOST Add entire PD_VO clock tree for rv1126. Signed-off-by: Jagan Teki <jagan@edgeble.ai> Link: https://lore.kernel.org/r/20230731110012.2913742-3-jagan@edgeble.ai Signed-off-by: Heiko Stuebner <heiko@sntech.de>
1 parent dafebd0 commit 5c7a71f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

drivers/clk/rockchip/clk-rv1126.c

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ PNAME(mux_i2s2_p) = { "mclk_i2s2_div", "mclk_i2s2_fracdiv", "i2s2_mclkin", "xi
175175
PNAME(mux_i2s2_out2io_p) = { "mclk_i2s2", "xin12m" };
176176
PNAME(mux_gpll_cpll_xin24m_p) = { "gpll", "cpll", "xin24m" };
177177
PNAME(mux_audpwm_p) = { "sclk_audpwm_div", "sclk_audpwm_fracdiv", "xin24m" };
178+
PNAME(mux_dclk_vop_p) = { "dclk_vop_div", "dclk_vop_fracdiv", "xin24m" };
178179
PNAME(mux_usb480m_gpll_p) = { "usb480m", "gpll" };
179180
PNAME(clk_gmac_src_m0_p) = { "clk_gmac_div", "clk_gmac_rgmii_m0" };
180181
PNAME(clk_gmac_src_m1_p) = { "clk_gmac_div", "clk_gmac_rgmii_m1" };
@@ -259,6 +260,10 @@ static struct rockchip_clk_branch rv1126_audpwm_fracmux __initdata =
259260
MUX(SCLK_AUDPWM_MUX, "mclk_audpwm_mux", mux_audpwm_p, CLK_SET_RATE_PARENT,
260261
RV1126_CLKSEL_CON(36), 8, 2, MFLAGS);
261262

263+
static struct rockchip_clk_branch rv1126_dclk_vop_fracmux __initdata =
264+
MUX(DCLK_VOP_MUX, "dclk_vop_mux", mux_dclk_vop_p, CLK_SET_RATE_PARENT,
265+
RV1126_CLKSEL_CON(47), 10, 2, MFLAGS);
266+
262267
static struct rockchip_clk_branch rv1126_clk_pmu_branches[] __initdata = {
263268
/*
264269
* Clock-Architecture Diagram 2
@@ -714,6 +719,49 @@ static struct rockchip_clk_branch rv1126_clk_branches[] __initdata = {
714719
RV1126_CLKSEL_CON(72), 8, 1, MFLAGS, 0, 7, DFLAGS,
715720
RV1126_CLKGATE_CON(11), 1, GFLAGS),
716721

722+
/*
723+
* Clock-Architecture Diagram 9
724+
*/
725+
/* PD_VO */
726+
COMPOSITE(ACLK_PDVO, "aclk_pdvo", mux_gpll_cpll_p, 0,
727+
RV1126_CLKSEL_CON(45), 7, 1, MFLAGS, 0, 5, DFLAGS,
728+
RV1126_CLKGATE_CON(14), 0, GFLAGS),
729+
COMPOSITE_NOMUX(HCLK_PDVO, "hclk_pdvo", "aclk_pdvo", 0,
730+
RV1126_CLKSEL_CON(45), 8, 5, DFLAGS,
731+
RV1126_CLKGATE_CON(14), 1, GFLAGS),
732+
COMPOSITE_NOMUX(PCLK_PDVO, "pclk_pdvo", "aclk_pdvo", 0,
733+
RV1126_CLKSEL_CON(46), 8, 5, DFLAGS,
734+
RV1126_CLKGATE_CON(14), 2, GFLAGS),
735+
GATE(ACLK_RGA, "aclk_rga", "aclk_pdvo", 0,
736+
RV1126_CLKGATE_CON(14), 6, GFLAGS),
737+
GATE(HCLK_RGA, "hclk_rga", "hclk_pdvo", 0,
738+
RV1126_CLKGATE_CON(14), 7, GFLAGS),
739+
COMPOSITE(CLK_RGA_CORE, "clk_rga_core", mux_gpll_cpll_p, 0,
740+
RV1126_CLKSEL_CON(46), 7, 1, MFLAGS, 0, 5, DFLAGS,
741+
RV1126_CLKGATE_CON(14), 8, GFLAGS),
742+
GATE(ACLK_VOP, "aclk_vop", "aclk_pdvo", 0,
743+
RV1126_CLKGATE_CON(14), 9, GFLAGS),
744+
GATE(HCLK_VOP, "hclk_vop", "hclk_pdvo", 0,
745+
RV1126_CLKGATE_CON(14), 10, GFLAGS),
746+
COMPOSITE(DCLK_VOP_DIV, "dclk_vop_div", mux_gpll_cpll_p, 0,
747+
RV1126_CLKSEL_CON(47), 8, 1, MFLAGS, 0, 8, DFLAGS,
748+
RV1126_CLKGATE_CON(14), 11, GFLAGS),
749+
COMPOSITE_FRACMUX(DCLK_VOP_FRACDIV, "dclk_vop_fracdiv", "dclk_vop_div",
750+
CLK_SET_RATE_PARENT, RV1126_CLKSEL_CON(48), 0,
751+
RV1126_CLKGATE_CON(14), 12, GFLAGS,
752+
&rv1126_dclk_vop_fracmux),
753+
GATE(DCLK_VOP, "dclk_vop", "dclk_vop_mux", 0,
754+
RV1126_CLKGATE_CON(14), 13, GFLAGS),
755+
GATE(PCLK_DSIHOST, "pclk_dsihost", "pclk_pdvo", 0,
756+
RV1126_CLKGATE_CON(14), 14, GFLAGS),
757+
GATE(ACLK_IEP, "aclk_iep", "aclk_pdvo", 0,
758+
RV1126_CLKGATE_CON(12), 7, GFLAGS),
759+
GATE(HCLK_IEP, "hclk_iep", "hclk_pdvo", 0,
760+
RV1126_CLKGATE_CON(12), 8, GFLAGS),
761+
COMPOSITE(CLK_IEP_CORE, "clk_iep_core", mux_gpll_cpll_p, 0,
762+
RV1126_CLKSEL_CON(54), 7, 1, MFLAGS, 0, 5, DFLAGS,
763+
RV1126_CLKGATE_CON(12), 9, GFLAGS),
764+
717765
/*
718766
* Clock-Architecture Diagram 12
719767
*/
@@ -905,6 +953,17 @@ static struct rockchip_clk_branch rv1126_clk_branches[] __initdata = {
905953
GATE(0, "pclk_pdaudio_niu", "hclk_pdaudio", CLK_IGNORE_UNUSED,
906954
RV1126_CLKGATE_CON(9), 3, GFLAGS),
907955

956+
/*
957+
* Clock-Architecture Diagram 9
958+
*/
959+
/* PD_VO */
960+
GATE(0, "aclk_pdvo_niu", "aclk_pdvo", CLK_IGNORE_UNUSED,
961+
RV1126_CLKGATE_CON(14), 3, GFLAGS),
962+
GATE(0, "hclk_pdvo_niu", "hclk_pdvo", CLK_IGNORE_UNUSED,
963+
RV1126_CLKGATE_CON(14), 4, GFLAGS),
964+
GATE(0, "pclk_pdvo_niu", "pclk_pdvo", CLK_IGNORE_UNUSED,
965+
RV1126_CLKGATE_CON(14), 5, GFLAGS),
966+
908967
/*
909968
* Clock-Architecture Diagram 12
910969
*/

0 commit comments

Comments
 (0)