2014-12-08 09:21:20

by Inha Song

[permalink] [raw]
Subject: [alsa-devel][PATCH 0/2] mfd: arizona: Add support for OUTn_MONO register control

This patch series add support for OUTn_MONO register control using platform data.
Each output signal can be configurated as a mono differential output.
The mono differential configuration is selected using the OUTn_MONO registers.

Inha Song (2):
mfd: arizona: Add support for OUTn_MONO register control
mfd: arizona: Update DT binding to support OUTn_MONO init_data

Documentation/devicetree/bindings/mfd/arizona.txt | 7 +++++++
drivers/mfd/arizona-core.c | 10 ++++++++++
2 files changed, 17 insertions(+)

--
2.0.0.390.gcb682f8


2014-12-08 09:21:30

by Inha Song

[permalink] [raw]
Subject: [alsa-devel][PATCH 1/2] mfd: arizona: Add support for OUTn_MONO register control

Some boards need to set the OUTn_MONO register to configurates
the output signal path as a mono differential output. This
wlf,out-mono property is optional. If present, values must be
specified less than or equal to the number of output signals.
If values less than the number of output signals, elements
that has not been specified are set to 0 by default.

Example:
- wlf,out-mono = <1 0 1>; /* set OUT1,OUT3 to mono differential */

Signed-off-by: Inha Song <[email protected]>
---
drivers/mfd/arizona-core.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index bce7c07..117be32 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -561,6 +561,16 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
count++;
}

+ count = 0;
+ of_property_for_each_u32(arizona->dev->of_node, "wlf,out-mono", prop,
+ cur, val) {
+ if (count == ARRAY_SIZE(arizona->pdata.out_mono))
+ break;
+
+ arizona->pdata.out_mono[count] = !!val;
+ count++;
+ }
+
return 0;
}

--
2.0.0.390.gcb682f8

2014-12-08 09:21:18

by Inha Song

[permalink] [raw]
Subject: [alsa-devel][PATCH 2/2] mfd: arizona: Update DT binding to support OUTn_MONO init_data

This patch update DT binding to support OUTn_MONO init_data. Each
output signal can be configurated as a mono differential output.
The mono differential configuration is selected using the OUTn_MONO
registers.

Signed-off-by: Inha Song <[email protected]>
---
Documentation/devicetree/bindings/mfd/arizona.txt | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
index 7bd1273..cf11d42 100644
--- a/Documentation/devicetree/bindings/mfd/arizona.txt
+++ b/Documentation/devicetree/bindings/mfd/arizona.txt
@@ -49,6 +49,13 @@ Optional properties:
input singals. If values less than the number of input signals, elements
that has not been specifed are set to 0 by default.

+ - wlf,out-mono : A list of OUTn_MONO register values, where n is the number
+ of output signals. Valid values are 0 (Disabled) and 1 (Enabled). If absent,
+ OUTn_MONO registers set to 0 by default. If present, values must be specified
+ less than or equal to the number of output signals. If values less than the
+ number of input signals, elements that has not been specified are set to 0
+ by default.
+
- DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
they are being externally supplied. As covered in
Documentation/devicetree/bindings/regulator/regulator.txt
--
2.0.0.390.gcb682f8

2014-12-09 08:57:29

by Lee Jones

[permalink] [raw]
Subject: Re: [alsa-devel][PATCH 1/2] mfd: arizona: Add support for OUTn_MONO register control

On Mon, 08 Dec 2014, Inha Song wrote:

> Some boards need to set the OUTn_MONO register to configurates
> the output signal path as a mono differential output. This
> wlf,out-mono property is optional. If present, values must be
> specified less than or equal to the number of output signals.
> If values less than the number of output signals, elements
> that has not been specified are set to 0 by default.
>
> Example:
> - wlf,out-mono = <1 0 1>; /* set OUT1,OUT3 to mono differential */
>
> Signed-off-by: Inha Song <[email protected]>
> ---
> drivers/mfd/arizona-core.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index bce7c07..117be32 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -561,6 +561,16 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
> count++;
> }
>
> + count = 0;
> + of_property_for_each_u32(arizona->dev->of_node, "wlf,out-mono", prop,
> + cur, val) {

Nit: Can you break after the first parameter instead?

> + if (count == ARRAY_SIZE(arizona->pdata.out_mono))

It's better practise to use ">=".

> + break;
> +
> + arizona->pdata.out_mono[count] = !!val;
> + count++;
> + }
> +
> return 0;
> }
>

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2014-12-18 07:43:05

by Inha Song

[permalink] [raw]
Subject: Re: [alsa-devel][PATCH 1/2] mfd: arizona: Add support for OUTn_MONO register control

Hi,
Sorry for the late reply.

On Tue, 09 Dec 2014 08:57:17 +0000
Lee Jones <[email protected]> wrote:

> On Mon, 08 Dec 2014, Inha Song wrote:
>
> > Some boards need to set the OUTn_MONO register to configurates
> > the output signal path as a mono differential output. This
> > wlf,out-mono property is optional. If present, values must be
> > specified less than or equal to the number of output signals.
> > If values less than the number of output signals, elements
> > that has not been specified are set to 0 by default.
> >
> > Example:
> > - wlf,out-mono = <1 0 1>; /* set OUT1,OUT3 to mono differential */
> >
> > Signed-off-by: Inha Song <[email protected]>
> > ---
> > drivers/mfd/arizona-core.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> > index bce7c07..117be32 100644
> > --- a/drivers/mfd/arizona-core.c
> > +++ b/drivers/mfd/arizona-core.c
> > @@ -561,6 +561,16 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
> > count++;
> > }
> >
> > + count = 0;
> > + of_property_for_each_u32(arizona->dev->of_node, "wlf,out-mono", prop,
> > + cur, val) {
>
> Nit: Can you break after the first parameter instead?
>
> > + if (count == ARRAY_SIZE(arizona->pdata.out_mono))
>
> It's better practise to use ">=".

OK, I will fix this.

Best Regards,
Inha Song.

>
> > + break;
> > +
> > + arizona->pdata.out_mono[count] = !!val;
> > + count++;
> > + }
> > +
> > return 0;
> > }
> >
>
> --
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog