Message ID | add67c0ebac7a516d3cf515fea10a08b7cabadbc.1447941395.git.Adam.Thomson.Opensource@diasemi.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Nov 19, 2015 at 01:59:34PM +0000, Adam Thomson wrote: > Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> > --- > Documentation/devicetree/bindings/sound/da7218.txt | 104 +++++++++++++++++++++ > 1 file changed, 104 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/da7218.txt > > diff --git a/Documentation/devicetree/bindings/sound/da7218.txt b/Documentation/devicetree/bindings/sound/da7218.txt > new file mode 100644 > index 0000000..18f8f09 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/da7218.txt > @@ -0,0 +1,104 @@ > +Dialog Semiconductor DA7218 Audio Codec bindings > + > +DA7218 is an audio codec with HP detect feature. > + > +====== > + > +Required properties: > +- compatible : Should be "dlg,da7217" or "dlg,da7218" > +- reg: Specifies the I2C slave address > + > +- VDD-supply: VDD power supply for the device > +- VDDMIC-supply: VDDMIC power supply for the device > +- VDDIO-supply: VDDIO power supply for the device These should be lower case (that is documented in ePAPR BTW :)). > + (See Documentation/devicetree/bindings/regulator/regulator.txt for further > + information relating to regulators) > + > +Optional properties: > +- interrupt-parent: Specifies the phandle of the interrupt controller to which > + the IRQs from DA7218 are delivered to. > +- interrupts: IRQ line info for DA7218 chip. > + (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for > + further information relating to interrupt 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). > + > +- clocks : phandle and clock specifier for codec MCLK. > +- clock-names : Clock name string for 'clocks' attribute, should be "mclk". > + > +- dlg,micbias1-lvl-millivolt : Voltage (mV) for Mic Bias 1 > + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, <3000>] > +- dlg,micbias2-lvl-millivolt : Voltage (mV) for Mic Bias 2 > + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, <3000>] > +- dlg,mic1-amp-in-sel : Mic1 input source type > + ["diff", "se_p", "se_n"] > +- dlg,mic2-amp-in-sel : Mic2 input source type > + ["diff", "se_p", "se_n"] > +- dlg,dmic1-data-sel : DMIC1 channel select based on clock edge. > + ["lrise_rfall", "lfall_rrise"] > +- dlg,dmic1-samplephase : When to sample audio from DMIC1. > + ["on_clkedge", "between_clkedge"] > +- dlg,dmic1-clkrate-hertz : DMic1 clock frequency (Hz). -hz Documenting the unit suffixes is on my todo list... > + [<1500000>, <3000000>] > +- dlg,dmic2-data-sel : DMic2 channel select based on clock edge. > + ["lrise_rfall", "lfall_rrise"] > +- dlg,dmic2-samplephase : When to sample audio from DMic2. > + ["on_clkedge", "between_clkedge"] > +- dlg,dmic2-clkrate-hertz : DMic2 clock frequency (Hz). -hz > + [<1500000>, <3000000>] > +- dlg,hp-diff-single-supply : Boolean flag, use single supply for HP > + (DA7217 only) > + > +====== > + > +Optional Child node - 'da7218_hpldet' (DA7218 only): > + > +Optional properties: > +- dlg,jack-rate-microsecond : Time between jack detect measurements (us) -us Completely consistent, isn't it. Why we did -microvolt I don't know. Rob
On Fri, Nov 20, 2015 at 09:53:51AM -0600, Rob Herring wrote: > On Thu, Nov 19, 2015 at 01:59:34PM +0000, Adam Thomson wrote: > > +- VDD-supply: VDD power supply for the device > > +- VDDMIC-supply: VDDMIC power supply for the device > > +- VDDIO-supply: VDDIO power supply for the device > These should be lower case (that is documented in ePAPR BTW :)). Does that actually make a meaningful difference to anything? Things end up this way because the strings we use to request the supplies end up in the property names, we've also got a few other things like representing microvolts as uV which just look very wrong when written all lowercase. We could work around it for the supply names by force lowercasing the name if we don't find the property with the passed name (to avoid breaking existing users) though. There's a bunch of stuff in ePAPR that we're ignoring, and a bunch of other stuff that has no real value like the class naming stuff.
On November 20, 2015 15:54, Rob Herring wrote: > > +- dlg,micbias1-lvl-millivolt : Voltage (mV) for Mic Bias 1 > > + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, > <3000>] > > +- dlg,micbias2-lvl-millivolt : Voltage (mV) for Mic Bias 2 > > + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, > <3000>] > > +- dlg,mic1-amp-in-sel : Mic1 input source type > > + ["diff", "se_p", "se_n"] > > +- dlg,mic2-amp-in-sel : Mic2 input source type > > + ["diff", "se_p", "se_n"] > > +- dlg,dmic1-data-sel : DMIC1 channel select based on clock edge. > > + ["lrise_rfall", "lfall_rrise"] > > +- dlg,dmic1-samplephase : When to sample audio from DMIC1. > > + ["on_clkedge", "between_clkedge"] > > +- dlg,dmic1-clkrate-hertz : DMic1 clock frequency (Hz). > > -hz > > Documenting the unit suffixes is on my todo list... So is the general rule to use abbreviated suffixes, apart from millivolts, microvolts, etc, or are there some other rules that I should be aware of? I don't want to have to keep re-submitting patches in the future because I'm not following a rule I have no way of knowing about? > > + [<1500000>, <3000000>] > > +- dlg,dmic2-data-sel : DMic2 channel select based on clock edge. > > + ["lrise_rfall", "lfall_rrise"] > > +- dlg,dmic2-samplephase : When to sample audio from DMic2. > > + ["on_clkedge", "between_clkedge"] > > +- dlg,dmic2-clkrate-hertz : DMic2 clock frequency (Hz). > > -hz > > > + [<1500000>, <3000000>] > > +- dlg,hp-diff-single-supply : Boolean flag, use single supply for HP > > + (DA7217 only) > > + > > +====== > > + > > +Optional Child node - 'da7218_hpldet' (DA7218 only): > > + > > +Optional properties: > > +- dlg,jack-rate-microsecond : Time between jack detect measurements (us) > > -us > > Completely consistent, isn't it. Why we did -microvolt I don't know. I would guess this is due to the all lower-case rule, as 'uv' doesn't look right when indicating microvolts. Maybe the lower-case rule should not apply for abbreviations like this so we can use 'mV', 'uV', etc...? In theory then it could be 'Hz' as well, if we're being absolutely correct.
diff --git a/Documentation/devicetree/bindings/sound/da7218.txt b/Documentation/devicetree/bindings/sound/da7218.txt new file mode 100644 index 0000000..18f8f09 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/da7218.txt @@ -0,0 +1,104 @@ +Dialog Semiconductor DA7218 Audio Codec bindings + +DA7218 is an audio codec with HP detect feature. + +====== + +Required properties: +- compatible : Should be "dlg,da7217" or "dlg,da7218" +- reg: Specifies the I2C slave address + +- 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-parent: Specifies the phandle of the interrupt controller to which + the IRQs from DA7218 are delivered to. +- interrupts: IRQ line info for DA7218 chip. + (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for + further information relating to interrupt 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). + +- clocks : phandle and clock specifier for codec MCLK. +- clock-names : Clock name string for 'clocks' attribute, should be "mclk". + +- dlg,micbias1-lvl-millivolt : Voltage (mV) for Mic Bias 1 + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, <3000>] +- dlg,micbias2-lvl-millivolt : Voltage (mV) for Mic Bias 2 + [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, <3000>] +- dlg,mic1-amp-in-sel : Mic1 input source type + ["diff", "se_p", "se_n"] +- dlg,mic2-amp-in-sel : Mic2 input source type + ["diff", "se_p", "se_n"] +- dlg,dmic1-data-sel : DMIC1 channel select based on clock edge. + ["lrise_rfall", "lfall_rrise"] +- dlg,dmic1-samplephase : When to sample audio from DMIC1. + ["on_clkedge", "between_clkedge"] +- dlg,dmic1-clkrate-hertz : DMic1 clock frequency (Hz). + [<1500000>, <3000000>] +- dlg,dmic2-data-sel : DMic2 channel select based on clock edge. + ["lrise_rfall", "lfall_rrise"] +- dlg,dmic2-samplephase : When to sample audio from DMic2. + ["on_clkedge", "between_clkedge"] +- dlg,dmic2-clkrate-hertz : DMic2 clock frequency (Hz). + [<1500000>, <3000000>] +- dlg,hp-diff-single-supply : Boolean flag, use single supply for HP + (DA7217 only) + +====== + +Optional Child node - 'da7218_hpldet' (DA7218 only): + +Optional properties: +- dlg,jack-rate-microsecond : Time between jack detect measurements (us) + [<5>, <10>, <20>, <40>, <80>, <160>, <320>, <640>] +- dlg,jack-debounce : Number of debounce measurements taken for jack detect + [<0>, <2>, <3>, <4>] +- dlg,jack-threshold-percent : Threshold level for jack detection (% of VDD) + [<84>, <88>, <92>, <96>] +- dlg,comp-inv : Boolean flag, invert comparator output +- dlg,hyst : Boolean flag, enable hysteresis +- dlg,discharge : Boolean flag, auto discharge of Mic Bias on jack removal + +====== + +Example: + + codec: da7218@1a { + compatible = "dlg,da7218"; + reg = <0x1a>; + interrupt-parent = <&gpio6>; + interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; + wakeup-source; + + VDD-supply = <®_audio>; + VDDMIC-supply = <®_audio>; + VDDIO-supply = <®_audio>; + + clocks = <&clks 201>; + clock-names = "mclk"; + + dlg,micbias1-lvl-millivolt = <2600>; + dlg,micbias2-lvl-millivolt = <2600>; + dlg,mic1-amp-in-sel = "diff"; + dlg,mic2-amp-in-sel = "diff"; + + dlg,dmic1-data-sel = "lrise_rfall"; + dlg,dmic1-samplephase = "on_clkedge"; + dlg,dmic1-clkrate-hertz = <3000000>; + dlg,dmic2-data-sel = "lrise_rfall"; + dlg,dmic2-samplephase = "on_clkedge"; + dlg,dmic2-clkrate-hertz = <3000000>; + + da7218_hpldet { + dlg,jack-rate-microsecond = <40>; + dlg,jack-debounce = <2>; + dlg,jack-threshold-percent = <84>; + dlg,hyst; + }; + };
Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> --- Documentation/devicetree/bindings/sound/da7218.txt | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/da7218.txt -- 1.9.3