Message ID | 20230518091449.17984-1-David.Rau.opensource@dm.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ASoC: dt-bindings: dialog,da7219: convert to dtschema | expand |
On Thu, 18 May 2023 09:14:49 +0000, David Rau wrote: > - Convert Dialog DA7219 bindings to DT schema format. > - Add Jack insertion detection polarity selection. > - Remove unused `dlg,ldo-lvl` parameter. > > Signed-off-by: David Rau <David.Rau.opensource@dm.renesas.com> > --- > .../devicetree/bindings/sound/da7219.txt | 112 -------- > .../bindings/sound/dialog,da7219.yaml | 240 ++++++++++++++++++ > 2 files changed, 240 insertions(+), 112 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/da7219.txt > create mode 100644 Documentation/devicetree/bindings/sound/dialog,da7219.yaml > (partially sending this to make sure that I can actually send these things during Rob & Krzysztof's absence) Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/1783077 da7219@1a: interrupts: [[165, 8], [165, 0]] is too long arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
Hey David, On Thu, May 18, 2023 at 09:14:49AM +0000, David Rau wrote: > - Convert Dialog DA7219 bindings to DT schema format. > - Add Jack insertion detection polarity selection. > - Remove unused `dlg,ldo-lvl` parameter. Could you please split this out, so that the conversion is done in a patch of its own, with the addition separate (unless it is my unfamiliarity with sound at play, and the addition is required as part of the conversion). > diff --git a/Documentation/devicetree/bindings/sound/dialog,da7219.yaml b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml > new file mode 100644 > index 000000000000..32dfc4559052 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml > @@ -0,0 +1,240 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Dialog Semiconductor DA7219 Audio Codec > + > +maintainers: > + - David Rau <David.Rau.opensource@dm.renesas.com> > + > +description: > + The DA7219 is an ultra low-power audio codec with > + in-built advanced accessory detection (AAD) for mobile > + computing and accessory applications, which supports > + sample rates up to 96 kHz at 24-bit resolution. > + > +properties: > + compatible: > + enum: > + - dlg,da7219 This is just a const. > + reg: > + description: > + The I2C slave address of the DA7219. > + maxItems: 1 Drop the description please, it's stating the obvious IMO. > + interrupts: > + description: > + Interrupt for DA7219 IRQ line. > + maxItems: 1 Ditto here. > + > + VDD-supply: > + description: > + VDD power supply for the device. I would say and here, but there seem to be dozens of other similar properties in sound. > + > + VDDMIC-supply: > + description: > + VDDMIC power supply for the device. > + > + VDDIO-supply: > + description: > + VDDIO power supply for the device. > + > + interrupt-names: > + description: > + Name associated with interrupt line. > + Should be "wakeup" if interrupt is to be used to wake system, > + otherwise "irq" should be used. Please encode these names using the items: field. + oneOf. > + > + wakeup-source: type: boolean > + description: > + Flag to indicate this device can wake system (suspend/resume). > + > + "#clock-cells": > + description: > + Two clock sources provided. Drop the description here please. > + const: 1 > + > + clock-output-names: > + description: > + Names given for DAI clock outputs (WCLK & BCLK). Please encode these as items: > + > + clocks: > + description: > + phandle and clock specifier for codec MCLK. maxItems: 1 & given the clock name I think you can drop both descriptions from here and clock-names. > + "da7219_aad": Drop the quotes please. > + dlg,jack-ins-det-pty: > + enum: ["low", "high"] > + description: > + Polarity for jack insertion detection. > + $ref: /schemas/types.yaml#/definitions/string > + $ref: /schemas/types.yaml#/definitions/uint32 Yeah, please do the change from txt -> yaml as one patch and this as another. Cheers, Conor.
-----Original Message----- From: Conor Dooley <conor@kernel.org> Sent: Friday, May 19, 2023 04:04 To: David.Rau.opensource <David.Rau.opensource@dm.renesas.com> Cc: broonie@kernel.org; support.opensource@diasemi.com; devicetree@vger.kernel.org; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; conor+dt@kernel.org; robh+dt@kernel.org; lgirdwood@gmail.com; krzysztof.kozlowski+dt@linaro.org Subject: Re: [PATCH] ASoC: dt-bindings: dialog,da7219: convert to dtschema On Thu, 18 May 2023 09:14:49 +0000, David Rau wrote: > - Convert Dialog DA7219 bindings to DT schema format. > - Add Jack insertion detection polarity selection. > - Remove unused `dlg,ldo-lvl` parameter. > > Signed-off-by: David Rau <David.Rau.opensource@dm.renesas.com> > --- > .../devicetree/bindings/sound/da7219.txt | 112 -------- > .../bindings/sound/dialog,da7219.yaml | 240 ++++++++++++++++++ > 2 files changed, 240 insertions(+), 112 deletions(-) delete mode > 100644 Documentation/devicetree/bindings/sound/da7219.txt > create mode 100644 > Documentation/devicetree/bindings/sound/dialog,da7219.yaml > > (partially sending this to make sure that I can actually send these things during Rob & Krzysztof's absence) > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > Full log is available here: https://patchwork.ozlabs.org/patch/1783077 Hi Conor, Thanks for the kind feedback. There is no such warning message in my test environment. (RPI-4) DTC_CHK arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-io.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2837-rpi-cm3-io3.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dtb DTC_CHK arch/arm64/boot/dts/broadcom/bcm2710-rpi-zero-2.dtb > da7219@1a: interrupts: [[165, 8], [165, 0]] is too long > arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb > arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb > arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb > arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb > arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb > arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
-----Original Message----- From: Conor Dooley <conor@kernel.org> Sent: Friday, May 19, 2023 04:57 To: David.Rau.opensource <David.Rau.opensource@dm.renesas.com> Cc: krzysztof.kozlowski+dt@linaro.org; support.opensource@diasemi.com; lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; conor+dt@kernel.org; alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH] ASoC: dt-bindings: dialog,da7219: convert to dtschema > Hey David, On Thu, May 18, 2023 at 09:14:49AM +0000, David Rau wrote: > - Convert Dialog DA7219 bindings to DT schema format. > - Add Jack insertion detection polarity selection. > - Remove unused `dlg,ldo-lvl` parameter. > Could you please split this out, so that the conversion is done in a patch of its own, with the addition separate (unless it is my unfamiliarity with sound at play, and the addition is > required as part of the conversion). Hey Conor, Thanks a lot for the kind suggestions. I just submitted another patch to do the conversion only. > diff --git > a/Documentation/devicetree/bindings/sound/dialog,da7219.yaml > b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml > new file mode 100644 > index 000000000000..32dfc4559052 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml > @@ -0,0 +1,240 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Dialog Semiconductor DA7219 Audio Codec > + > +maintainers: > + - David Rau <David.Rau.opensource@dm.renesas.com> > + > +description: > + The DA7219 is an ultra low-power audio codec with > + in-built advanced accessory detection (AAD) for mobile > + computing and accessory applications, which supports > + sample rates up to 96 kHz at 24-bit resolution. > + > +properties: > + compatible: > + enum: > + - dlg,da7219 This is just a const. > + reg: > + description: > + The I2C slave address of the DA7219. > + maxItems: 1 > Drop the description please, it's stating the obvious IMO. > + interrupts: > + description: > + Interrupt for DA7219 IRQ line. > + maxItems: 1 > Ditto here. > + > + VDD-supply: > + description: > + VDD power supply for the device. > I would say and here, but there seem to be dozens of other similar properties in sound. > + > + VDDMIC-supply: > + description: > + VDDMIC power supply for the device. > + > + VDDIO-supply: > + description: > + VDDIO power supply for the device. > + > + interrupt-names: > + description: > + Name associated with interrupt line. > + Should be "wakeup" if interrupt is to be used to wake system, > + otherwise "irq" should be used. > Please encode these names using the items: field. + oneOf. > + > + wakeup-source: > type: boolean > + description: > + Flag to indicate this device can wake system (suspend/resume). > + > + "#clock-cells": > + description: > + Two clock sources provided. > Drop the description here please. > + const: 1 > + > + clock-output-names: > + description: > + Names given for DAI clock outputs (WCLK & BCLK). > Please encode these as items: > + > + clocks: > + description: > + phandle and clock specifier for codec MCLK. > maxItems: 1 & given the clock name I think you can drop both descriptions from here and clock-names. > + "da7219_aad": > Drop the quotes please. > + dlg,jack-ins-det-pty: > + enum: ["low", "high"] > + description: > + Polarity for jack insertion detection. > + $ref: /schemas/types.yaml#/definitions/string > + $ref: /schemas/types.yaml#/definitions/uint32 > Yeah, please do the change from txt -> yaml as one patch and this as another. Cheers, Conor.
diff --git a/Documentation/devicetree/bindings/sound/da7219.txt b/Documentation/devicetree/bindings/sound/da7219.txt deleted file mode 100644 index add1caf26ac2..000000000000 --- a/Documentation/devicetree/bindings/sound/da7219.txt +++ /dev/null @@ -1,112 +0,0 @@ -Dialog Semiconductor DA7219 Audio Codec bindings - -DA7219 is an audio codec with advanced accessory detect features. - -====== - -Required properties: -- compatible : Should be "dlg,da7219" -- reg: Specifies the I2C slave address - -- interrupts : IRQ line info for DA7219. - (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for - further information relating to interrupt properties) - -- VDD-supply: VDD power supply for the device -- VDDMIC-supply: VDDMIC power supply for the device -- VDDIO-supply: VDDIO power supply for the device - (See Documentation/devicetree/bindings/regulator/regulator.txt for further - information relating to regulators) - -Optional properties: -- interrupt-names : Name associated with interrupt line. Should be "wakeup" if - interrupt is to be used to wake system, otherwise "irq" should be used. -- wakeup-source: Flag to indicate this device can wake system (suspend/resume). - -- #clock-cells : Should be set to '<1>', two clock sources provided; -- clock-output-names : Names given for DAI clock outputs (WCLK & BCLK); - -- clocks : phandle and clock specifier for codec MCLK. -- clock-names : Clock name string for 'clocks' attribute, should be "mclk". - -- dlg,micbias-lvl : Voltage (mV) for Mic Bias - [<1600>, <1800>, <2000>, <2200>, <2400>, <2600>] -- dlg,mic-amp-in-sel : Mic input source type - ["diff", "se_p", "se_n"] - -Deprecated properties: -- dlg,ldo-lvl : Required internal LDO voltage (mV) level for digital engine - (LDO unavailable in production HW so property no longer required). - -====== - -Child node - 'da7219_aad': - -Optional properties: -- dlg,micbias-pulse-lvl : Mic bias higher voltage pulse level (mV). - [<2800>, <2900>] -- dlg,micbias-pulse-time : Mic bias higher voltage pulse duration (ms) -- dlg,btn-cfg : Periodic button press measurements for 4-pole jack (ms) - [<2>, <5>, <10>, <50>, <100>, <200>, <500>] -- dlg,mic-det-thr : Impedance threshold for mic detection measurement (Ohms) - [<200>, <500>, <750>, <1000>] -- dlg,jack-ins-deb : Debounce time for jack insertion (ms) - [<5>, <10>, <20>, <50>, <100>, <200>, <500>, <1000>] -- dlg,jack-det-rate: Jack type detection latency (3/4 pole) - ["32ms_64ms", "64ms_128ms", "128ms_256ms", "256ms_512ms"] -- dlg,jack-rem-deb : Debounce time for jack removal (ms) - [<1>, <5>, <10>, <20>] -- dlg,a-d-btn-thr : Impedance threshold between buttons A and D - [0x0 - 0xFF] -- dlg,d-b-btn-thr : Impedance threshold between buttons D and B - [0x0 - 0xFF] -- dlg,b-c-btn-thr : Impedance threshold between buttons B and C - [0x0 - 0xFF] -- dlg,c-mic-btn-thr : Impedance threshold between button C and Mic - [0x0 - 0xFF] -- dlg,btn-avg : Number of 8-bit readings for averaged button measurement - [<1>, <2>, <4>, <8>] -- dlg,adc-1bit-rpt : Repeat count for 1-bit button measurement - [<1>, <2>, <4>, <8>] - -====== - -Example: - - codec: da7219@1a { - compatible = "dlg,da7219"; - reg = <0x1a>; - - interrupt-parent = <&gpio6>; - interrupts = <11 IRQ_TYPE_LEVEL_LOW>; - - VDD-supply = <®_audio>; - VDDMIC-supply = <®_audio>; - VDDIO-supply = <®_audio>; - - #clock-cells = <1>; - clock-output-names = "dai-wclk", "dai-bclk"; - - clocks = <&clks 201>; - clock-names = "mclk"; - - dlg,ldo-lvl = <1200>; - dlg,micbias-lvl = <2600>; - dlg,mic-amp-in-sel = "diff"; - - da7219_aad { - dlg,btn-cfg = <50>; - dlg,mic-det-thr = <500>; - dlg,jack-ins-deb = <20>; - dlg,jack-det-rate = "32ms_64ms"; - dlg,jack-rem-deb = <1>; - - dlg,a-d-btn-thr = <0xa>; - dlg,d-b-btn-thr = <0x16>; - dlg,b-c-btn-thr = <0x21>; - dlg,c-mic-btn-thr = <0x3E>; - - dlg,btn-avg = <4>; - dlg,adc-1bit-rpt = <1>; - }; - }; diff --git a/Documentation/devicetree/bindings/sound/dialog,da7219.yaml b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml new file mode 100644 index 000000000000..32dfc4559052 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/dialog,da7219.yaml @@ -0,0 +1,240 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Dialog Semiconductor DA7219 Audio Codec + +maintainers: + - David Rau <David.Rau.opensource@dm.renesas.com> + +description: + The DA7219 is an ultra low-power audio codec with + in-built advanced accessory detection (AAD) for mobile + computing and accessory applications, which supports + sample rates up to 96 kHz at 24-bit resolution. + +properties: + compatible: + enum: + - dlg,da7219 + + reg: + description: + The I2C slave address of the DA7219. + maxItems: 1 + + interrupts: + description: + Interrupt for DA7219 IRQ line. + maxItems: 1 + + VDD-supply: + description: + VDD power supply for the device. + + VDDMIC-supply: + description: + VDDMIC power supply for the device. + + VDDIO-supply: + description: + VDDIO power supply for the device. + + interrupt-names: + description: + Name associated with interrupt line. + Should be "wakeup" if interrupt is to be used to wake system, + otherwise "irq" should be used. + + wakeup-source: + description: + Flag to indicate this device can wake system (suspend/resume). + + "#clock-cells": + description: + Two clock sources provided. + const: 1 + + clock-output-names: + description: + Names given for DAI clock outputs (WCLK & BCLK). + + clocks: + description: + phandle and clock specifier for codec MCLK. + + clock-names: + description: + Clock name string for "clocks" attribute. + const: mclk + + dlg,micbias-lvl: + enum: [1600, 1800, 2000, 2200, 2400, 2600] + description: + Voltage (mV) for Mic Bias. + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,mic-amp-in-sel: + enum: ["diff", "se_p", "se_n"] + description: + Mic input source type. + + diff - Differential. + + se_p - MIC_P. + Positive differential analog microphone input. + + se_n - MIC_N. + Negative differential analog microphone input. + $ref: /schemas/types.yaml#/definitions/string + + "da7219_aad": + type: object + description: + Configuration of advanced accessory detection. + properties: + dlg,micbias-pulse-lvl: + enum: [2800, 2900] + description: + Mic bias higher voltage pulse level (mV). + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,micbias-pulse-time: + description: + Mic bias higher voltage pulse duration (ms). + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + + dlg,btn-cfg: + enum: [2, 5, 10, 50, 100, 200, 500] + description: + Periodic button press measurements for 4-pole jack (ms). + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,mic-det-thr: + enum: [200, 500, 750, 1000] + description: + Impedance threshold for mic detection measurement (Ohms). + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,jack-ins-deb: + enum: [5, 10, 20, 50, 100, 200, 500, 1000] + description: + Debounce time for jack insertion (ms). + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,jack-ins-det-pty: + enum: ["low", "high"] + description: + Polarity for jack insertion detection. + $ref: /schemas/types.yaml#/definitions/string + + dlg,jack-det-rate: + enum: ["32ms_64ms", "64ms_128ms", "128ms_256ms", "256ms_512ms"] + description: + Jack type detection latency (3/4 pole). + $ref: /schemas/types.yaml#/definitions/string + + dlg,jack-rem-deb: + enum: [1, 5, 10, 20] + description: + Debounce time for jack removal (ms). + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,a-d-btn-thr: + description: + Impedance threshold between buttons A and D. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + + dlg,d-b-btn-thr: + description: + Impedance threshold between buttons D and B. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + + dlg,b-c-btn-thr: + description: + Impedance threshold between buttons B and C. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + + dlg,c-mic-btn-thr: + description: + Impedance threshold between button C and Mic. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + + dlg,btn-avg: + enum: [1, 2, 4, 8] + description: + Number of 8-bit readings for averaged button measurement. + $ref: /schemas/types.yaml#/definitions/uint32 + + dlg,adc-1bit-rpt: + enum: [1, 2, 4, 8] + description: + Repeat count for 1-bit button measurement. + $ref: /schemas/types.yaml#/definitions/uint32 + +required: + - compatible + - reg + - interrupts + - VDD-supply + - VDDMIC-supply + - VDDIO-supply + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + codec: da7219@1a { + compatible = "dlg,da7219"; + reg = <0x1a>; + + interrupt-parent = <&gpio6>; + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; + + VDD-supply = <&vdd_reg>; + VDDMIC-supply = <&vddmic_reg>; + VDDIO-supply = <&vddio_reg>; + + #clock-cells = <1>; + clock-output-names = "dai-wclk", "dai-bclk"; + + clocks = <&clks 201>; + clock-names = "mclk"; + + dlg,micbias-lvl = <2600>; + dlg,mic-amp-in-sel = "diff"; + + da7219_aad { + dlg,btn-cfg = <50>; + dlg,mic-det-thr = <500>; + dlg,jack-ins-deb = <20>; + dlg,jack-ins-det-pty = "low"; + dlg,jack-det-rate = "32ms_64ms"; + dlg,jack-rem-deb = <1>; + + dlg,a-d-btn-thr = <0xa>; + dlg,d-b-btn-thr = <0x16>; + dlg,b-c-btn-thr = <0x21>; + dlg,c-mic-btn-thr = <0x3E>; + + dlg,btn-avg = <4>; + dlg,adc-1bit-rpt = <1>; + }; + }; + };
- Convert Dialog DA7219 bindings to DT schema format. - Add Jack insertion detection polarity selection. - Remove unused `dlg,ldo-lvl` parameter. Signed-off-by: David Rau <David.Rau.opensource@dm.renesas.com> --- .../devicetree/bindings/sound/da7219.txt | 112 -------- .../bindings/sound/dialog,da7219.yaml | 240 ++++++++++++++++++ 2 files changed, 240 insertions(+), 112 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/da7219.txt create mode 100644 Documentation/devicetree/bindings/sound/dialog,da7219.yaml