ARM: dts: boundary: fix sgtl5000 pinctrl init
Subsystems (2)
cover ARM: dts: boundary: fix sgtl5000 pinctrl init
Hi Shawn, all,
While testing other features, I realized that the sound card wouldn't probe on Nitrogen6_MAX. This is because the pinctrl node was under the sound driver node whereas it should be under the codec one.
This caused GPIO_0 not to be set as CLKO1 and therefore the codec probing was failing. The pinctrl node is just moved around to fix it.
Also making the same patch for our SOM2 although it was working, the reason is that U-Boot is setting GPIO_0 in U-Boot for SOM2 and not MAX.
Regards,
Gary
Gary Bisson (2):
ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 4 ++-- arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Signature · 1 line
2.11.0
PATCH 1/2 ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
This patch fixes the following error:
sgtl5000 0-000a: Error reading chip id -6 imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered imx-sgtl5000 sound: snd_soc_register_card failed (-517)
The problem was that the pinctrl group was linked to the sound driver instead of the codec node. Since the codec is probed first, the sys_mclk was missing and it would therefore fail to initialize.
--- arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi +2 -2
@@ -319,8 +319,6 @@ compatible = "fsl,imx6q-nitrogen6_max-sgtl5000", "fsl,imx-audio-sgtl5000"; model = "imx6q-nitrogen6_max-sgtl5000"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_sgtl5000>; ssi-controller = <&ssi1>; audio-codec = <&codec>; audio-routing =
@@ -402,6 +400,8 @@ codec: sgtl5000 at 0a { compatible = "fsl,sgtl5000"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgtl5000>; reg = <0x0a>; clocks = <&clks IMX6QDL_CLK_CKO>; VDDA-supply = <®_2p5v>;
Signature · 1 line
2.11.0
PATCH 1/2 ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
Quoted 10 lines · Gary Bisson
This patch fixes the following error:
sgtl5000 0-000a: Error reading chip id -6 imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered imx-sgtl5000 sound:snd_soc_register_cardfailed (-517)The problem was that the pinctrl group was linked to the sound driver instead of the codec node. Since the codec is probed first, the
sys_mclkwas missing and it would therefore fail to initialize.Signed-off-by Gary Bisson <[email protected]>
Should we have it go as a fix for v4.10-rc cycles? In that case, please add a Fixes: tag. Also, do we need to apply it for stable kernel?
Shawn
Quoted 29 lines
--- arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi +2
-2@@ -319,8 +319,6 @@ compatible = "fsl,imx6q-nitrogen6_max-sgtl5000", "fsl,imx-audio-sgtl5000"; model = "imx6q-nitrogen6_max-sgtl5000"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_sgtl5000>; ssi-controller = <&ssi1>; audio-codec = <&codec>; audio-routing =@@ -402,6 +400,8 @@ codec: sgtl5000 at 0a { compatible = "fsl,sgtl5000"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgtl5000>; reg = <0x0a>; clocks = <&clks IMX6QDL_CLK_CKO>; VDDA-supply = <®_2p5v>;Signature · 1 line
2.11.0
PATCH 1/2 ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
Hi Shawn,
Quoted 6 lines · Shawn Guo
Quoted 5 lines · Gary Bisson
This patch fixes the following error:
sgtl5000 0-000a: Error reading chip id -6 imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered imx-sgtl5000 sound:snd_soc_register_cardfailed (-517)
Quoted 8 lines
Quoted 5 lines
The problem was that the pinctrl group was linked to the sound driver instead of the codec node. Since the codec is probed first, the
sys_mclkwas missing and it would therefore fail to initialize.Signed-off-by Gary Bisson <[email protected]>Should we have it go as a fix for v4.10-rc cycles? In that case, please add a Fixes: tag. Also, do we need to apply it for stable kernel?
Sure it'd be great if it could be in v4.10.
As for stable kernel, I guess it wouldn't hurt but it's not mandatory in my opinion.
Do you want me to re-send with the Fixes line? What about the SOM2 patch, should it include a Fixes line although it works thanks to U-Boot?
Thanks,
Gary
PATCH 1/2 ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
Quoted 15 lines · Gary Bisson
Hi Shawn,
Quoted 12 lines · Shawn Guo
Quoted 10 lines · Gary Bisson
This patch fixes the following error:
sgtl5000 0-000a: Error reading chip id -6 imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered imx-sgtl5000 sound:snd_soc_register_cardfailed (-517)The problem was that the pinctrl group was linked to the sound driver instead of the codec node. Since the codec is probed first, the
sys_mclkwas missing and it would therefore fail to initialize.Signed-off-by Gary Bisson <[email protected]>
Quoted 8 lines
Quoted 2 lines
Should we have it go as a fix for v4.10-rc cycles? In that case, please add a Fixes: tag. Also, do we need to apply it for stable kernel?
Sure it'd be great if it could be in v4.10.
Fixes b32e700256bc ("ARM: dts: imx: add Boundary Devices Nitrogen6_Max board")As for stable kernel, I guess it wouldn't hurt but it's not mandatory in my opinion.
I wouldn't bother stable kernel then.
Quoted 2 lines
Do you want me to re-send with the Fixes line?
No. I can add the Fixes tag.
Quoted 3 lines
What about the SOM2
patch, should it include a Fixes line although it works thanks to U-Boot?
Yes, please give me the Fixes tag, and I will send both patches for v4.10 inclusion.
Shawn
PATCH 2/2 ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
In reply to Gary BissonSince the codec is probed first, the pinctrl node should be under the codec node.
The codec init was working for this board since U-Boot was already setting GPIO_0 as CLKO1 but better fix it anyway.
--- arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi +2 -2
@@ -250,8 +250,6 @@ compatible = "fsl,imx6q-nitrogen6_som2-sgtl5000", "fsl,imx-audio-sgtl5000"; model = "imx6q-nitrogen6_som2-sgtl5000"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_sgtl5000>; ssi-controller = <&ssi1>; audio-codec = <&codec>; audio-routing =
@@ -320,6 +318,8 @@ codec: sgtl5000 at 0a { compatible = "fsl,sgtl5000"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgtl5000>; reg = <0x0a>; clocks = <&clks IMX6QDL_CLK_CKO>; VDDA-supply = <®_2p5v>;
Signature · 1 line
2.11.0
PATCH 2/2 ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
Hi Shawn,
Quoted 7 lines · Gary Bisson
Since the codec is probed first, the pinctrl node should be under the codec node.
The codec init was working for this board since U-Boot was already setting
GPIO_0as CLKO1 but better fix it anyway.Signed-off-by Gary Bisson <[email protected]>
Thanks,
Gary
Shawn Guo
Appliedcover ARM: dts: boundary: fix sgtl5000 pinctrl init
In reply to Gary BissonQuoted 3 lines · Gary Bisson
Gary Bisson (2):
ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
Applied both, thanks.