* Re: [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN [not found] <1398268218-31897-1-git-send-email-david@protonic.nl> @ 2014-04-24 5:56 ` Shawn Guo 2014-04-24 8:46 ` Markus Pargmann 1 sibling, 0 replies; 5+ messages in thread From: Shawn Guo @ 2014-04-24 5:56 UTC (permalink / raw) To: David Jander; +Cc: alsa-devel, Sascha Hauer On Wed, Apr 23, 2014 at 05:50:18PM +0200, David Jander wrote: > This enables effectively swapping RX/TX pins on the external audio port > > Signed-off-by: David Jander <david@protonic.nl> You should copy Mark Brown <broonie@kernel.org> and devicetree@vger.kernel.org on this patch. Shawn > --- > Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | 4 ++++ > sound/soc/fsl/imx-sgtl5000.c | 5 ++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > index e4acdd8..3afea85 100644 > --- a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > +++ b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > @@ -29,6 +29,10 @@ Required properties: > - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) > - mux-ext-port : The external port of the i.MX audio muxer > > +Optional properties: > +- ext-port-txrxen : Flag. Set to swap RX/TX signals on external port (set the > + IMX_AUDMUX_V2_PDCR_TXRXEN bit in the PDC register of the external port) > + > Note: The AUDMUX port numbering should start at 1, which is consistent with > hardware manual. > > diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c > index 1cb22dd..b543fa6 100644 > --- a/sound/soc/fsl/imx-sgtl5000.c > +++ b/sound/soc/fsl/imx-sgtl5000.c > @@ -63,6 +63,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > struct i2c_client *codec_dev; > struct imx_sgtl5000_data *data = NULL; > int int_port, ext_port; > + unsigned int ext_txrxen = 0; > int ret; > > ret = of_property_read_u32(np, "mux-int-port", &int_port); > @@ -75,6 +76,8 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > dev_err(&pdev->dev, "mux-ext-port missing or invalid\n"); > return ret; > } > + if (of_property_read_bool(np, "ext-port-txrxen")) > + ext_txrxen = IMX_AUDMUX_V2_PDCR_TXRXEN; > > /* > * The port numbering in the hardware manual starts at 1, while > @@ -95,7 +98,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > } > ret = imx_audmux_v2_configure_port(ext_port, > IMX_AUDMUX_V2_PTCR_SYN, > - IMX_AUDMUX_V2_PDCR_RXDSEL(int_port)); > + IMX_AUDMUX_V2_PDCR_RXDSEL(int_port) | ext_txrxen); > if (ret) { > dev_err(&pdev->dev, "audmux external port setup failed\n"); > return ret; > -- > 1.9.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN [not found] <1398268218-31897-1-git-send-email-david@protonic.nl> 2014-04-24 5:56 ` [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN Shawn Guo @ 2014-04-24 8:46 ` Markus Pargmann 2014-04-24 9:09 ` David Jander 1 sibling, 1 reply; 5+ messages in thread From: Markus Pargmann @ 2014-04-24 8:46 UTC (permalink / raw) To: David Jander; +Cc: alsa-devel, Shawn Guo, Sascha Hauer [-- Attachment #1.1: Type: text/plain, Size: 3544 bytes --] Hi, On Wed, Apr 23, 2014 at 05:50:18PM +0200, David Jander wrote: > This enables effectively swapping RX/TX pins on the external audio port > > Signed-off-by: David Jander <david@protonic.nl> > --- > Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | 4 ++++ > sound/soc/fsl/imx-sgtl5000.c | 5 ++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > index e4acdd8..3afea85 100644 > --- a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > +++ b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > @@ -29,6 +29,10 @@ Required properties: > - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) > - mux-ext-port : The external port of the i.MX audio muxer > > +Optional properties: > +- ext-port-txrxen : Flag. Set to swap RX/TX signals on external port (set the > + IMX_AUDMUX_V2_PDCR_TXRXEN bit in the PDC register of the external port) > + > Note: The AUDMUX port numbering should start at 1, which is consistent with > hardware manual. You could also try to use the simple sound card and use DT properties to setup audmux. This is a configuration example for the audmux: &audmux { status = "okay"; aud4 { fsl,audmux-port = <MX31_AUDMUX_PORT4_SSI_PINS_4>; fsl,port-config = < (IMX_AUDMUX_V2_PTCR_SYN | IMX_AUDMUX_V2_PTCR_TFSDIR | IMX_AUDMUX_V2_PTCR_TFSEL(MX31_AUDMUX_PORT1_SSI0) | IMX_AUDMUX_V2_PTCR_TCLKDIR | IMX_AUDMUX_V2_PTCR_TCSEL(MX31_AUDMUX_PORT1_SSI0)) IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) >; }; }; Regards, Markus > > diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c > index 1cb22dd..b543fa6 100644 > --- a/sound/soc/fsl/imx-sgtl5000.c > +++ b/sound/soc/fsl/imx-sgtl5000.c > @@ -63,6 +63,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > struct i2c_client *codec_dev; > struct imx_sgtl5000_data *data = NULL; > int int_port, ext_port; > + unsigned int ext_txrxen = 0; > int ret; > > ret = of_property_read_u32(np, "mux-int-port", &int_port); > @@ -75,6 +76,8 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > dev_err(&pdev->dev, "mux-ext-port missing or invalid\n"); > return ret; > } > + if (of_property_read_bool(np, "ext-port-txrxen")) > + ext_txrxen = IMX_AUDMUX_V2_PDCR_TXRXEN; > > /* > * The port numbering in the hardware manual starts at 1, while > @@ -95,7 +98,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) > } > ret = imx_audmux_v2_configure_port(ext_port, > IMX_AUDMUX_V2_PTCR_SYN, > - IMX_AUDMUX_V2_PDCR_RXDSEL(int_port)); > + IMX_AUDMUX_V2_PDCR_RXDSEL(int_port) | ext_txrxen); > if (ret) { > dev_err(&pdev->dev, "audmux external port setup failed\n"); > return ret; > -- > 1.9.1 > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN 2014-04-24 8:46 ` Markus Pargmann @ 2014-04-24 9:09 ` David Jander 2014-04-24 9:32 ` Markus Pargmann 0 siblings, 1 reply; 5+ messages in thread From: David Jander @ 2014-04-24 9:09 UTC (permalink / raw) To: Markus Pargmann; +Cc: alsa-devel, Shawn Guo, Sascha Hauer, David Jander On Thu, 24 Apr 2014 10:46:30 +0200 Markus Pargmann <mpa@pengutronix.de> wrote: > Hi, > > On Wed, Apr 23, 2014 at 05:50:18PM +0200, David Jander wrote: > > This enables effectively swapping RX/TX pins on the external audio port > > > > Signed-off-by: David Jander <david@protonic.nl> > > --- > > Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | 4 ++++ > > sound/soc/fsl/imx-sgtl5000.c | 5 ++++- > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > diff --git > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt index > > e4acdd8..3afea85 100644 --- > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt +++ > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt @@ -29,6 > > +29,10 @@ Required properties: > > - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) > > - mux-ext-port : The external port of the i.MX audio muxer > > > > +Optional properties: > > +- ext-port-txrxen : Flag. Set to swap RX/TX signals on external port (set > > the > > + IMX_AUDMUX_V2_PDCR_TXRXEN bit in the PDC register of the external port) > > + > > Note: The AUDMUX port numbering should start at 1, which is consistent > > with hardware manual. > > You could also try to use the simple sound card and use DT properties to > setup audmux. > > This is a configuration example for the audmux: > &audmux { > status = "okay"; > > aud4 { > fsl,audmux-port = <MX31_AUDMUX_PORT4_SSI_PINS_4>; > fsl,port-config = < > (IMX_AUDMUX_V2_PTCR_SYN | > IMX_AUDMUX_V2_PTCR_TFSDIR | > IMX_AUDMUX_V2_PTCR_TFSEL(MX31_AUDMUX_PORT1_SSI0) > | IMX_AUDMUX_V2_PTCR_TCLKDIR | > IMX_AUDMUX_V2_PTCR_TCSEL(MX31_AUDMUX_PORT1_SSI0)) > IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) > >; > }; > }; I tried this, but the glue driver imx-sgtl5000.c changes the port settings to its own knowledge.... and that includes hard-coded clearing of the IMX_AUDMUX_V2_PDCR_TXRXEN bit. How can I avoid the imx-sgtl5000.c driver from clearing the settings I specify in the AUDMUX driver? Best regards, -- David Jander Protonic Holland. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN 2014-04-24 9:09 ` David Jander @ 2014-04-24 9:32 ` Markus Pargmann 2014-04-24 13:35 ` David Jander 0 siblings, 1 reply; 5+ messages in thread From: Markus Pargmann @ 2014-04-24 9:32 UTC (permalink / raw) To: David Jander; +Cc: alsa-devel, Shawn Guo, Sascha Hauer, David Jander [-- Attachment #1.1: Type: text/plain, Size: 3109 bytes --] On Thu, Apr 24, 2014 at 11:09:36AM +0200, David Jander wrote: > On Thu, 24 Apr 2014 10:46:30 +0200 > Markus Pargmann <mpa@pengutronix.de> wrote: > > > Hi, > > > > On Wed, Apr 23, 2014 at 05:50:18PM +0200, David Jander wrote: > > > This enables effectively swapping RX/TX pins on the external audio port > > > > > > Signed-off-by: David Jander <david@protonic.nl> > > > --- > > > Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | 4 ++++ > > > sound/soc/fsl/imx-sgtl5000.c | 5 ++++- > > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > > > diff --git > > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt index > > > e4acdd8..3afea85 100644 --- > > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt +++ > > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt @@ -29,6 > > > +29,10 @@ Required properties: > > > - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) > > > - mux-ext-port : The external port of the i.MX audio muxer > > > > > > +Optional properties: > > > +- ext-port-txrxen : Flag. Set to swap RX/TX signals on external port (set > > > the > > > + IMX_AUDMUX_V2_PDCR_TXRXEN bit in the PDC register of the external port) > > > + > > > Note: The AUDMUX port numbering should start at 1, which is consistent > > > with hardware manual. > > > > You could also try to use the simple sound card and use DT properties to > > setup audmux. > > > > This is a configuration example for the audmux: > > &audmux { > > status = "okay"; > > > > aud4 { > > fsl,audmux-port = <MX31_AUDMUX_PORT4_SSI_PINS_4>; > > fsl,port-config = < > > (IMX_AUDMUX_V2_PTCR_SYN | > > IMX_AUDMUX_V2_PTCR_TFSDIR | > > IMX_AUDMUX_V2_PTCR_TFSEL(MX31_AUDMUX_PORT1_SSI0) > > | IMX_AUDMUX_V2_PTCR_TCLKDIR | > > IMX_AUDMUX_V2_PTCR_TCSEL(MX31_AUDMUX_PORT1_SSI0)) > > IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) > > >; > > }; > > }; > > I tried this, but the glue driver imx-sgtl5000.c changes the port settings to > its own knowledge.... and that includes hard-coded clearing of the > IMX_AUDMUX_V2_PDCR_TXRXEN bit. > > How can I avoid the imx-sgtl5000.c driver from clearing the settings I specify > in the AUDMUX driver? You can use the simple sound card (sound/soc/generic/simple-card.c). The sound card properties have to be described in the DT. See Documentation/devicetree/bindings/sound/simple-card.txt Regards, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN 2014-04-24 9:32 ` Markus Pargmann @ 2014-04-24 13:35 ` David Jander 0 siblings, 0 replies; 5+ messages in thread From: David Jander @ 2014-04-24 13:35 UTC (permalink / raw) To: Markus Pargmann; +Cc: alsa-devel, Shawn Guo, Sascha Hauer, David Jander On Thu, 24 Apr 2014 11:32:29 +0200 Markus Pargmann <mpa@pengutronix.de> wrote: > On Thu, Apr 24, 2014 at 11:09:36AM +0200, David Jander wrote: > > On Thu, 24 Apr 2014 10:46:30 +0200 > > Markus Pargmann <mpa@pengutronix.de> wrote: > > > > > Hi, > > > > > > On Wed, Apr 23, 2014 at 05:50:18PM +0200, David Jander wrote: > > > > This enables effectively swapping RX/TX pins on the external audio port > > > > > > > > Signed-off-by: David Jander <david@protonic.nl> > > > > --- > > > > Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | 4 > > > > ++++ sound/soc/fsl/imx-sgtl5000.c | > > > > 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) > > > > > > > > diff --git > > > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt > > > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt index > > > > e4acdd8..3afea85 100644 --- > > > > a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt +++ > > > > b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt @@ > > > > -29,6 +29,10 @@ Required properties: > > > > - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) > > > > - mux-ext-port : The external port of the i.MX audio muxer > > > > > > > > +Optional properties: > > > > +- ext-port-txrxen : Flag. Set to swap RX/TX signals on external port > > > > (set the > > > > + IMX_AUDMUX_V2_PDCR_TXRXEN bit in the PDC register of the external > > > > port) + > > > > Note: The AUDMUX port numbering should start at 1, which is consistent > > > > with hardware manual. > > > > > > You could also try to use the simple sound card and use DT properties to > > > setup audmux. > > > > > > This is a configuration example for the audmux: > > > &audmux { > > > status = "okay"; > > > > > > aud4 { > > > fsl,audmux-port = <MX31_AUDMUX_PORT4_SSI_PINS_4>; > > > fsl,port-config = < > > > (IMX_AUDMUX_V2_PTCR_SYN | > > > IMX_AUDMUX_V2_PTCR_TFSDIR | > > > IMX_AUDMUX_V2_PTCR_TFSEL(MX31_AUDMUX_PORT1_SSI0) > > > | IMX_AUDMUX_V2_PTCR_TCLKDIR | > > > IMX_AUDMUX_V2_PTCR_TCSEL(MX31_AUDMUX_PORT1_SSI0)) > > > IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) > > > >; > > > }; > > > }; > > > > I tried this, but the glue driver imx-sgtl5000.c changes the port settings > > to its own knowledge.... and that includes hard-coded clearing of the > > IMX_AUDMUX_V2_PDCR_TXRXEN bit. > > > > How can I avoid the imx-sgtl5000.c driver from clearing the settings I > > specify in the AUDMUX driver? > > You can use the simple sound card (sound/soc/generic/simple-card.c). The > sound card properties have to be described in the DT. See > Documentation/devicetree/bindings/sound/simple-card.txt This looks very interesting. I was not aware of this. Thanks! I will see if this solves my problem. Best regards, -- David Jander Protonic Holland. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-04-24 13:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1398268218-31897-1-git-send-email-david@protonic.nl>
2014-04-24 5:56 ` [PATCH] ASoC: imx-sgtl5000.c: Add support for specifying PDCR_TXRXEN Shawn Guo
2014-04-24 8:46 ` Markus Pargmann
2014-04-24 9:09 ` David Jander
2014-04-24 9:32 ` Markus Pargmann
2014-04-24 13:35 ` David Jander
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox