|
74 | 74 | .hw.init = &(struct clk_init_data) { \
|
75 | 75 | .name = "aud_"#_name, \
|
76 | 76 | .ops = &clk_regmap_gate_ops, \
|
77 |
| - .parent_data = &(const struct clk_parent_data) { \ |
78 |
| - .fw_name = "pclk", \ |
79 |
| - }, \ |
| 77 | + .parent_names = (const char *[]){ "aud_top" }, \ |
80 | 78 | .num_parents = 1, \
|
81 | 79 | }, \
|
82 | 80 | }
|
@@ -504,6 +502,18 @@ static struct clk_regmap tdmout_c_lrclk =
|
504 | 502 | AUD_TDM_LRLCK(out_c, AUDIO_CLK_TDMOUT_C_CTRL);
|
505 | 503 |
|
506 | 504 | /* AXG/G12A Clocks */
|
| 505 | +static struct clk_hw axg_aud_top = { |
| 506 | + .init = &(struct clk_init_data) { |
| 507 | + /* Provide aud_top signal name on axg and g12a */ |
| 508 | + .name = "aud_top", |
| 509 | + .ops = &(const struct clk_ops) {}, |
| 510 | + .parent_data = &(const struct clk_parent_data) { |
| 511 | + .fw_name = "pclk", |
| 512 | + }, |
| 513 | + .num_parents = 1, |
| 514 | + }, |
| 515 | +}; |
| 516 | + |
507 | 517 | static struct clk_regmap mst_a_mclk_sel =
|
508 | 518 | AUD_MST_MCLK_MUX(mst_a_mclk, AUDIO_MCLK_A_CTRL);
|
509 | 519 | static struct clk_regmap mst_b_mclk_sel =
|
@@ -691,6 +701,7 @@ static struct clk_hw_onecell_data axg_audio_hw_onecell_data = {
|
691 | 701 | [AUD_CLKID_TDMOUT_A_LRCLK] = &tdmout_a_lrclk.hw,
|
692 | 702 | [AUD_CLKID_TDMOUT_B_LRCLK] = &tdmout_b_lrclk.hw,
|
693 | 703 | [AUD_CLKID_TDMOUT_C_LRCLK] = &tdmout_c_lrclk.hw,
|
| 704 | + [AUD_CLKID_TOP] = &axg_aud_top, |
694 | 705 | [NR_CLKS] = NULL,
|
695 | 706 | },
|
696 | 707 | .num = NR_CLKS,
|
@@ -835,6 +846,7 @@ static struct clk_hw_onecell_data g12a_audio_hw_onecell_data = {
|
835 | 846 | [AUD_CLKID_TDM_SCLK_PAD0] = &g12a_tdm_sclk_pad_0.hw,
|
836 | 847 | [AUD_CLKID_TDM_SCLK_PAD1] = &g12a_tdm_sclk_pad_1.hw,
|
837 | 848 | [AUD_CLKID_TDM_SCLK_PAD2] = &g12a_tdm_sclk_pad_2.hw,
|
| 849 | + [AUD_CLKID_TOP] = &axg_aud_top, |
838 | 850 | [NR_CLKS] = NULL,
|
839 | 851 | },
|
840 | 852 | .num = NR_CLKS,
|
|
0 commit comments