Amlogic clock updates for v5.17

* Fix MPLL0 gxbb SDM enable
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE9OFZrhjz9W1fG7cb5vwPHDfy2oUFAmHF1sUACgkQ5vwPHDfy
 2oWQ/xAAgI95laLeXBAAWrbm+kQ7kwr/JnIPGu4ZkOvLvorkaMAqlL008TpvMlOG
 ozY+FfIX/XBrSMfW53I4R9vUBzW2Tb5atM7oQi/7FWxayfwFIv44RsYrUOa/RA0t
 y7Rn+Hrh2m0gMzNcPOS9ci7REfdgzly9HDoLIekrCV5aAXoYFOqrc4G06EF2lKoL
 60+7GoL3svh1iIJqoFyj7sjVxP8xqJvmmShhbU5KI0PmjxLSjBQ4Az+Dzu93YIE9
 0z1ZWZbnyYBg1+Rj1vBgwCMgWCcF1J6GQqzJzbNvxHaXS6Ymswehx7fXw30frszm
 7NuoNeEc/7NhOiVi5yDoKHewEBpIn9I8Gm29ia7RkF1J3DuFhRofg++gPuSdRMVc
 OGDprdwA59eXLOLuhUDua91XQEKmOGhDxc+mdJSH1DZ1j8npBmjfuCBNSjozDlDX
 HzqllLzbLBWArKbCt+AUDLb8RaNW9+uXEYvJvZW+cWOyXWtEGRm4pUuDGrHsa4Fe
 vA+hALjbQAm4LgM/+YqjjKlNn7mpHzmN5J30F8TMyKC9GzEzAmDSMVRF3eSu8lZm
 /CRt/cyQ22NH+dDdZVp1AmyFT6sLT/vwo46iC+EQOZBcLRJy0yu88KMhh+XEQt4Z
 629B56aCZF7GJfxw8XxTZed4ijeVC5rNC8SFu4TdLpZBdrzfpYQ=
 =bZFF
 -----END PGP SIGNATURE-----

Merge tag 'clk-meson-v5.17-1' of https://github.com/BayLibre/clk-meson into clk-amlogic

Pull an Amlogic clock driver update from Jerome Brunet:

 - Fix MPLL0 gxbb SDM enable

* tag 'clk-meson-v5.17-1' of https://github.com/BayLibre/clk-meson:
  clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB
This commit is contained in:
Stephen Boyd 2021-12-28 21:36:40 -08:00
commit c1001a62f2

View File

@ -713,6 +713,35 @@ static struct clk_regmap gxbb_mpll_prediv = {
};
static struct clk_regmap gxbb_mpll0_div = {
.data = &(struct meson_clk_mpll_data){
.sdm = {
.reg_off = HHI_MPLL_CNTL7,
.shift = 0,
.width = 14,
},
.sdm_en = {
.reg_off = HHI_MPLL_CNTL,
.shift = 25,
.width = 1,
},
.n2 = {
.reg_off = HHI_MPLL_CNTL7,
.shift = 16,
.width = 9,
},
.lock = &meson_clk_lock,
},
.hw.init = &(struct clk_init_data){
.name = "mpll0_div",
.ops = &meson_clk_mpll_ops,
.parent_hws = (const struct clk_hw *[]) {
&gxbb_mpll_prediv.hw
},
.num_parents = 1,
},
};
static struct clk_regmap gxl_mpll0_div = {
.data = &(struct meson_clk_mpll_data){
.sdm = {
.reg_off = HHI_MPLL_CNTL7,
@ -749,7 +778,16 @@ static struct clk_regmap gxbb_mpll0 = {
.hw.init = &(struct clk_init_data){
.name = "mpll0",
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &gxbb_mpll0_div.hw },
.parent_data = &(const struct clk_parent_data) {
/*
* Note:
* GXL and GXBB have different SDM_EN registers. We
* fallback to the global naming string mechanism so
* mpll0_div picks up the appropriate one.
*/
.name = "mpll0_div",
.index = -1,
},
.num_parents = 1,
.flags = CLK_SET_RATE_PARENT,
},
@ -3044,7 +3082,7 @@ static struct clk_hw_onecell_data gxl_hw_onecell_data = {
[CLKID_VAPB_1] = &gxbb_vapb_1.hw,
[CLKID_VAPB_SEL] = &gxbb_vapb_sel.hw,
[CLKID_VAPB] = &gxbb_vapb.hw,
[CLKID_MPLL0_DIV] = &gxbb_mpll0_div.hw,
[CLKID_MPLL0_DIV] = &gxl_mpll0_div.hw,
[CLKID_MPLL1_DIV] = &gxbb_mpll1_div.hw,
[CLKID_MPLL2_DIV] = &gxbb_mpll2_div.hw,
[CLKID_MPLL_PREDIV] = &gxbb_mpll_prediv.hw,
@ -3439,7 +3477,7 @@ static struct clk_regmap *const gxl_clk_regmaps[] = {
&gxbb_mpll0,
&gxbb_mpll1,
&gxbb_mpll2,
&gxbb_mpll0_div,
&gxl_mpll0_div,
&gxbb_mpll1_div,
&gxbb_mpll2_div,
&gxbb_cts_amclk_div,