Signed-off-by: Adam Thomson <adam.thomson.opensou...@diasemi.com>
---
 Documentation/devicetree/bindings/sound/da7218.txt | 116 +++++++++++++++++++++
 1 file changed, 116 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..ae7053d
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/da7218.txt
@@ -0,0 +1,116 @@
+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,ldo-lvl : Required internal LDO voltage (mV) level
+       [<1050>, <1100>, <1200>, <1400>]
+- dlg,micbias1-lvl : Voltage (mV) for Mic Bias 1
+       [<1200>, <1600>, <1800>, <2000>, <2200>, <2400>, <2600>, <2800>, <3000>]
+- dlg,micbias2-lvl : 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 : 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 : DMic2 clock frequency (Hz).
+       [<1500000>, <3000000>]
+- dlg,biquad-cfg : List of data & address pairs to configure BiQuad filters
+       [ < {data1} {addr1} {data2} {addr2} ... >; ]
+- dlg,st-biquad-cfg : List of data & address pairs to configure Sidetone
+                     BiQuad filters
+       [ < {data1} {addr1} {data2} {addr2} ... >; ]
+- 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 : 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 : 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 = <&reg_audio>;
+               VDDMIC-supply = <&reg_audio>;
+               VDDIO-supply = <&reg_audio>;
+
+               clocks = <&clks 201>;
+               clock-names = "mclk";
+
+               dlg,ldo-lvl = <1200>;
+
+               dlg,micbias1-lvl = <2600>;
+               dlg,micbias2-lvl = <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 = <3000000>;
+               dlg,dmic2-data-sel = "lrise_rfall";
+               dlg,dmic2-samplephase = "on_clkedge";
+               dlg,dmic2-clkrate = <3000000>;
+
+               dlg,biquad-cfg = <0x9c 0x00 0x40 0x01 0xd0 0x02 0x81 0x03>;
+               dlg,st-biquad-cfg = <0x00 0x00 0x40 0x01 0x00 0x02 0x00 0x03>;
+
+               da7218_hpldet {
+                       dlg,jack-rate = <40>;
+                       dlg,jack-debounce = <2>;
+                       dlg,jack-threshold = <84>;
+                       dlg,hyst;
+               };
+       };
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to