[alsa-devel] [PATCH v5 0/2] mfd: arizona: add support for INn_MODE register control
This patch series add support for INn_MODE register control using platform data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers.
Changes for v5 - Change to use of_property_for_each_u32
Changes for v4 - Update document content for more clarity
Changes for v3 - Change to use of_property_read_u32_array - Fix a few typos - Update commit message
Changes for v2 - Change to support - Update commit message - Update document content for more clarity
Inha Song (2): mfd: arizona: Add support for INn_Mode register control mfd: arizona: Update DT binding to support INn_MODE init_data
Documentation/devicetree/bindings/mfd/arizona.txt | 7 +++++++ drivers/mfd/arizona-core.c | 13 +++++++++++++ 2 files changed, 20 insertions(+)
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default.
Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com --- drivers/mfd/arizona-core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 10a0cb9..31757f7 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -534,7 +534,11 @@ EXPORT_SYMBOL_GPL(arizona_of_get_named_gpio); static int arizona_of_get_core_pdata(struct arizona *arizona) { struct arizona_pdata *pdata = &arizona->pdata; + struct property *prop; + const __be32 *cur; + u32 val; int ret, i; + int count = 0;
pdata->reset = arizona_of_get_named_gpio(arizona, "wlf,reset", true);
@@ -560,6 +564,15 @@ static int arizona_of_get_core_pdata(struct arizona *arizona) ret); }
+ of_property_for_each_u32(arizona->dev->of_node, "wlf,inmode", prop, + cur, val) { + if (count == ARRAY_SIZE(arizona->pdata.inmode)) + break; + + arizona->pdata.inmode[count] = val; + count++; + } + return 0; }
On Sat, 30 Aug 2014, Inha Song wrote:
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default.
Example:
- wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
drivers/mfd/arizona-core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
That looks better.
Applied, thanks.
Charles, Can you confirm your Reviewed-by for this version of the patch please?
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 10a0cb9..31757f7 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -534,7 +534,11 @@ EXPORT_SYMBOL_GPL(arizona_of_get_named_gpio); static int arizona_of_get_core_pdata(struct arizona *arizona) { struct arizona_pdata *pdata = &arizona->pdata;
struct property *prop;
const __be32 *cur;
u32 val; int ret, i;
int count = 0;
pdata->reset = arizona_of_get_named_gpio(arizona, "wlf,reset", true);
@@ -560,6 +564,15 @@ static int arizona_of_get_core_pdata(struct arizona *arizona) ret); }
- of_property_for_each_u32(arizona->dev->of_node, "wlf,inmode", prop,
cur, val) {
if (count == ARRAY_SIZE(arizona->pdata.inmode))
break;
arizona->pdata.inmode[count] = val;
count++;
- }
- return 0;
}
On Mon, Sep 01, 2014 at 09:32:33AM +0100, Lee Jones wrote:
On Sat, 30 Aug 2014, Inha Song wrote:
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default.
Example:
- wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
drivers/mfd/arizona-core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
That looks better.
Applied, thanks.
Charles, Can you confirm your Reviewed-by for this version of the patch please?
Yeah all looks fine to me.
Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
Thanks, Charles
This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers.
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com --- 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 5c7e723..7bd1273 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt @@ -42,6 +42,13 @@ Optional properties: the chip default will be used. If present exactly five values must be specified.
+ - wlf,inmode : A list of INn_MODE register values, where n is the number + of input signals. Valid values are 0 (Differential), 1 (Single-ended) and + 2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default. + If present, values must be specified less than or equal to the number of + input singals. If values less than the number of input signals, elements + that has not been specifed 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
On Sat, 30 Aug 2014, Inha Song wrote:
This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers.
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
Documentation/devicetree/bindings/mfd/arizona.txt | 7 +++++++ 1 file changed, 7 insertions(+)
Applied, thanks.
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt index 5c7e723..7bd1273 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt @@ -42,6 +42,13 @@ Optional properties: the chip default will be used. If present exactly five values must be specified.
- wlf,inmode : A list of INn_MODE register values, where n is the number
- of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
- 2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
Please #define these in include/dt-bindings in a subsequent patch.
And an example?
- If present, values must be specified less than or equal to the number of
- input singals. If values less than the number of input signals, elements
- that has not been specifed 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
On Mon, Sep 01, 2014 at 09:34:00AM +0100, Lee Jones wrote:
On Sat, 30 Aug 2014, Inha Song wrote:
This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers.
Signed-off-by: Inha Song ideal.song@samsung.com Reviewed-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
Documentation/devicetree/bindings/mfd/arizona.txt | 7 +++++++ 1 file changed, 7 insertions(+)
Applied, thanks.
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt index 5c7e723..7bd1273 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt @@ -42,6 +42,13 @@ Optional properties: the chip default will be used. If present exactly five values must be specified.
- wlf,inmode : A list of INn_MODE register values, where n is the number
- of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
- 2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
Please #define these in include/dt-bindings in a subsequent patch.
And an example?
I have a patch here that I am hoping to push out soon that moves a lot of defines into include/dt-bindings I can probably roll it into that or at the least we should probably wait till I have pushed that out first.
Thanks, Charles
participants (3)
-
Charles Keepax
-
Inha Song
-
Lee Jones