Message ID | 20190728152040.15323-1-daniel.baluta@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v4] arm64: dts: imx8mq: Init rates and parents configs for clocks | expand |
Hi, On Sun, Jul 28, 2019 at 06:20:40PM +0300, Daniel Baluta wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > Add the initial configuration for clocks that need default parent and rate > setting. This is based on the vendor tree clock provider parents and rates > configuration except this is doing the setup in dts rather then using clock > consumer API in a clock provider driver. > > Note that by adding the initial rate setting for audio_pll1/audio_pll > setting we need to remove it from imx8mq-librem5-devkit.dts > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> > Tested-by: Angus Ainslie (Purism) <angus@akkea.ca> > --- > Changes since v3: > - fix extra new lines > > .../dts/freescale/imx8mq-librem5-devkit.dts | 5 ----- > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 19 +++++++++++++++++++ > 2 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > index 683a11035643..c702ccc82867 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > @@ -169,11 +169,6 @@ > }; > }; > > -&clk { > - assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>; > - assigned-clock-rates = <786432000>, <722534400>; > -}; > - > &dphy { > status = "okay"; > }; > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > index 02fbd0625318..a55d72ba2e05 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > @@ -494,6 +494,25 @@ > clock-names = "ckil", "osc_25m", "osc_27m", > "clk_ext1", "clk_ext2", > "clk_ext3", "clk_ext4"; > + assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL2>, > + <&clk IMX8MQ_CLK_AHB>, > + <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, > + <&clk IMX8MQ_CLK_AUDIO_AHB>, > + <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, > + <&clk IMX8MQ_CLK_NOC>; > + assigned-clock-parents = <0>, > + <0>, > + <0>, > + <&clk IMX8MQ_SYS1_PLL_133M>, > + <&clk IMX8MQ_SYS1_PLL_266M>, > + <&clk IMX8MQ_SYS2_PLL_500M>, > + <&clk IMX8MQ_CLK_27M>, > + <&clk IMX8MQ_SYS1_PLL_800M>; > + assigned-clock-rates = <593999999>, > + <786432000>, > + <722534400>; > }; > > src: reset-controller@30390000 { Tested-by: Guido Günther <agx@sigxcpu.org> Cheers, -- Guido
On 28.07.2019 18:20, Daniel Baluta wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > Add the initial configuration for clocks that need default parent and rate > setting. This is based on the vendor tree clock provider parents and rates > configuration except this is doing the setup in dts rather then using clock > consumer API in a clock provider driver. > > Note that by adding the initial rate setting for audio_pll1/audio_pll > setting we need to remove it from imx8mq-librem5-devkit.dts Setting default rates for audio_pll1 and audio_pll2 in soc dtsi makes a lot of sense to me; the intention is for one to run at a multiple of 44.1k and another at a multiple of 48k. > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > index 02fbd0625318..a55d72ba2e05 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > @@ -494,6 +494,25 @@ > clock-names = "ckil", "osc_25m", "osc_27m", > "clk_ext1", "clk_ext2", > "clk_ext3", "clk_ext4"; > + assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL2>, > + <&clk IMX8MQ_CLK_AHB>, > + <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, > + <&clk IMX8MQ_CLK_AUDIO_AHB>, > + <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, > + <&clk IMX8MQ_CLK_NOC>; > + assigned-clock-parents = <0>, > + <0>, > + <0> > + <&clk IMX8MQ_SYS1_PLL_133M>, > + <&clk IMX8MQ_SYS1_PLL_266M>, > + <&clk IMX8MQ_SYS2_PLL_500M>, > + <&clk IMX8MQ_CLK_27M>, > + <&clk IMX8MQ_SYS1_PLL_800M>; > + assigned-clock-rates = <593999999>, > + <786432000>, > + <722534400>; The audio PLLs should run below 650 mHz so please use 393216000 and 361267200 instead of 786432000 and 722534400. For the 8mm equivalent see commit 053a4ffe2988 ("clk: imx: imx8mm: fix audio pll setting"). You should also move the unbypassing of AUDIO_PLL1 and AUDIO_PLL2 here just add two more assigned-clocks and assigned-clock-parents. -- Regards, Leonard
Hi, On Sun, Jul 28, 2019 at 06:20:40PM +0300, Daniel Baluta wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > Add the initial configuration for clocks that need default parent and rate > setting. This is based on the vendor tree clock provider parents and rates > configuration except this is doing the setup in dts rather then using clock > consumer API in a clock provider driver. > > Note that by adding the initial rate setting for audio_pll1/audio_pll > setting we need to remove it from imx8mq-librem5-devkit.dts It seems this never made it into any tree, any particular reason for that? Cheers, -- Guido > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> > Tested-by: Angus Ainslie (Purism) <angus@akkea.ca> > --- > Changes since v3: > - fix extra new lines > > .../dts/freescale/imx8mq-librem5-devkit.dts | 5 ----- > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 19 +++++++++++++++++++ > 2 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > index 683a11035643..c702ccc82867 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts > @@ -169,11 +169,6 @@ > }; > }; > > -&clk { > - assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>; > - assigned-clock-rates = <786432000>, <722534400>; > -}; > - > &dphy { > status = "okay"; > }; > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > index 02fbd0625318..a55d72ba2e05 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > @@ -494,6 +494,25 @@ > clock-names = "ckil", "osc_25m", "osc_27m", > "clk_ext1", "clk_ext2", > "clk_ext3", "clk_ext4"; > + assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL1>, > + <&clk IMX8MQ_AUDIO_PLL2>, > + <&clk IMX8MQ_CLK_AHB>, > + <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, > + <&clk IMX8MQ_CLK_AUDIO_AHB>, > + <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, > + <&clk IMX8MQ_CLK_NOC>; > + assigned-clock-parents = <0>, > + <0>, > + <0>, > + <&clk IMX8MQ_SYS1_PLL_133M>, > + <&clk IMX8MQ_SYS1_PLL_266M>, > + <&clk IMX8MQ_SYS2_PLL_500M>, > + <&clk IMX8MQ_CLK_27M>, > + <&clk IMX8MQ_SYS1_PLL_800M>; > + assigned-clock-rates = <593999999>, > + <786432000>, > + <722534400>; > }; > > src: reset-controller@30390000 { > -- > 2.17.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
On 2019-10-23 9:29 AM, Viorel Suman wrote: > On Mi, 2019-08-21 at 20:39 +0000, Leonard Crestez wrote: >> The audio PLLs should run below 650 mHz so please use 393216000 and >> 361267200 instead of 786432000 and 722534400. For the 8mm equivalent see >> commit 053a4ffe2988 ("clk: imx: imx8mm: fix audio pll setting"). > > Hi Leonard, > > Audio PLL IP on 8mm and 8mn is different than the Audio PLL IP on 8mq, > so the requirement to run below 650 MHZ may not apply to 8mq. This "max 650mHz" limit is from internal ADD and is also mentioned for imx8mq. Peng: you made the change in our internal tree, can you confirm this requirement also applies to 8mq? Viorel: Is there any impact from 393216000 vs 786432000 on PLL on audio? As far as I can know this rate goes through various dividers anyway. -- Regards, Leonard
On Tue, Oct 22, 2019 at 06:19:19PM +0200, Guido Günther wrote: > Hi, > On Sun, Jul 28, 2019 at 06:20:40PM +0300, Daniel Baluta wrote: > > From: Abel Vesa <abel.vesa@nxp.com> > > > > Add the initial configuration for clocks that need default parent and rate > > setting. This is based on the vendor tree clock provider parents and rates > > configuration except this is doing the setup in dts rather then using clock > > consumer API in a clock provider driver. > > > > Note that by adding the initial rate setting for audio_pll1/audio_pll > > setting we need to remove it from imx8mq-librem5-devkit.dts > > It seems this never made it into any tree, any particular reason for > that? There is some discussion going on and I haven't seen it reaches an explicit agreement. Shawn
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts index 683a11035643..c702ccc82867 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts @@ -169,11 +169,6 @@ }; }; -&clk { - assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>; - assigned-clock-rates = <786432000>, <722534400>; -}; - &dphy { status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index 02fbd0625318..a55d72ba2e05 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -494,6 +494,25 @@ clock-names = "ckil", "osc_25m", "osc_27m", "clk_ext1", "clk_ext2", "clk_ext3", "clk_ext4"; + assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1>, + <&clk IMX8MQ_AUDIO_PLL1>, + <&clk IMX8MQ_AUDIO_PLL2>, + <&clk IMX8MQ_CLK_AHB>, + <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, + <&clk IMX8MQ_CLK_AUDIO_AHB>, + <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, + <&clk IMX8MQ_CLK_NOC>; + assigned-clock-parents = <0>, + <0>, + <0>, + <&clk IMX8MQ_SYS1_PLL_133M>, + <&clk IMX8MQ_SYS1_PLL_266M>, + <&clk IMX8MQ_SYS2_PLL_500M>, + <&clk IMX8MQ_CLK_27M>, + <&clk IMX8MQ_SYS1_PLL_800M>; + assigned-clock-rates = <593999999>, + <786432000>, + <722534400>; }; src: reset-controller@30390000 {