All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: imx53-qsb: Let the codec control MCLK pinctrl
@ 2018-06-05  0:56 Fabio Estevam
  2018-06-19  1:16 ` Shawn Guo
  0 siblings, 1 reply; 3+ messages in thread
From: Fabio Estevam @ 2018-06-05  0:56 UTC (permalink / raw)
  To: linux-arm-kernel

From: Fabio Estevam <fabio.estevam@nxp.com>

sgtl5000 codec needs MCLK clock to be present so that it can
successfully read/write via I2C.

In the case of imx53-qsb, MCLK is provided via
MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK pad. 

Move the MCLK pinctrl from hog group to the codec group, so that the
codec clock can be present prior to reading the codec ID.

This avoids the following sgtl5000 probe error:

sgtl5000 1-000a: Error reading chip id -6

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
 arch/arm/boot/dts/imx53-qsb-common.dtsi | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi
index ef7658a..7423d46 100644
--- a/arch/arm/boot/dts/imx53-qsb-common.dtsi
+++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi
@@ -153,7 +153,6 @@
 	imx53-qsb {
 		pinctrl_hog: hoggrp {
 			fsl,pins = <
-				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
 				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
 				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
 				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
@@ -180,6 +179,12 @@
 			>;
 		};
 
+		pinctrl_codec: codecgrp {
+			fsl,pins = <
+				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK	0x1c4
+			>;
+		};
+
 		pinctrl_esdhc1: esdhc1grp {
 			fsl,pins = <
 				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
@@ -310,6 +315,8 @@
 	sgtl5000: codec@a {
 		compatible = "fsl,sgtl5000";
 		reg = <0x0a>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_codec>;
 		#sound-dai-cells = <0>;
 		VDDA-supply = <&reg_3p2v>;
 		VDDIO-supply = <&reg_3p2v>;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH] ARM: dts: imx53-qsb: Let the codec control MCLK pinctrl
  2018-06-05  0:56 [PATCH] ARM: dts: imx53-qsb: Let the codec control MCLK pinctrl Fabio Estevam
@ 2018-06-19  1:16 ` Shawn Guo
  2018-06-19 10:53   ` Fabio Estevam
  0 siblings, 1 reply; 3+ messages in thread
From: Shawn Guo @ 2018-06-19  1:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 04, 2018 at 09:56:49PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@nxp.com>
> 
> sgtl5000 codec needs MCLK clock to be present so that it can
> successfully read/write via I2C.
> 
> In the case of imx53-qsb, MCLK is provided via
> MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK pad. 
> 
> Move the MCLK pinctrl from hog group to the codec group, so that the
> codec clock can be present prior to reading the codec ID.

Are you saying that pins in hog group hasn't been set up yet when codec
driver probes?

Shawn

> 
> This avoids the following sgtl5000 probe error:
> 
> sgtl5000 1-000a: Error reading chip id -6
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---
>  arch/arm/boot/dts/imx53-qsb-common.dtsi | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi
> index ef7658a..7423d46 100644
> --- a/arch/arm/boot/dts/imx53-qsb-common.dtsi
> +++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi
> @@ -153,7 +153,6 @@
>  	imx53-qsb {
>  		pinctrl_hog: hoggrp {
>  			fsl,pins = <
> -				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
>  				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
>  				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
>  				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
> @@ -180,6 +179,12 @@
>  			>;
>  		};
>  
> +		pinctrl_codec: codecgrp {
> +			fsl,pins = <
> +				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK	0x1c4
> +			>;
> +		};
> +
>  		pinctrl_esdhc1: esdhc1grp {
>  			fsl,pins = <
>  				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
> @@ -310,6 +315,8 @@
>  	sgtl5000: codec at a {
>  		compatible = "fsl,sgtl5000";
>  		reg = <0x0a>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_codec>;
>  		#sound-dai-cells = <0>;
>  		VDDA-supply = <&reg_3p2v>;
>  		VDDIO-supply = <&reg_3p2v>;
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] ARM: dts: imx53-qsb: Let the codec control MCLK pinctrl
  2018-06-19  1:16 ` Shawn Guo
@ 2018-06-19 10:53   ` Fabio Estevam
  0 siblings, 0 replies; 3+ messages in thread
From: Fabio Estevam @ 2018-06-19 10:53 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Shawn,

On Mon, Jun 18, 2018 at 10:16 PM, Shawn Guo <shawnguo@kernel.org> wrote:

> Are you saying that pins in hog group hasn't been set up yet when codec
> driver probes?

After further investigation I found the root cause as to why
pinctrl_hog pins were failling and sent a fix for it:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/commit/?h=fixes&id=bc3322bc166a2905bc91f774d7b22773dc7c063a

We can drop this dts patch.

Moving from hog to codec group is still a good idea though. I can
respin this patch later, but it will be a cleanup, not a bug fix.

Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-06-19 10:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-05  0:56 [PATCH] ARM: dts: imx53-qsb: Let the codec control MCLK pinctrl Fabio Estevam
2018-06-19  1:16 ` Shawn Guo
2018-06-19 10:53   ` Fabio Estevam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.