[alsa-devel] [RESEND PATCH v4 0/2] mfd: arizona: add support for INn_MODE register
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 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 | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-)
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 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 10a0cb9..81e6db8 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -534,7 +534,7 @@ EXPORT_SYMBOL_GPL(arizona_of_get_named_gpio); static int arizona_of_get_core_pdata(struct arizona *arizona) { struct arizona_pdata *pdata = &arizona->pdata; - int ret, i; + int ret, i, proplen;
pdata->reset = arizona_of_get_named_gpio(arizona, "wlf,reset", true);
@@ -560,6 +560,12 @@ static int arizona_of_get_core_pdata(struct arizona *arizona) ret); }
+ proplen = of_property_count_u32_elems(arizona->dev->of_node, + "wlf,inmode"); + if (proplen > 0 && proplen <= ARRAY_SIZE(arizona->pdata.inmode)) + of_property_read_u32_array(arizona->dev->of_node, "wlf,inmode", + arizona->pdata.inmode, proplen); + return 0; }
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
participants (1)
-
Inha Song