Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / sound / cs4271.txt
blobe2cd1d7539e527897cc34566508ed56f070a60cb
1 Cirrus Logic CS4271 DT bindings
3 This driver supports both the I2C and the SPI bus.
5 Required properties:
7  - compatible: "cirrus,cs4271"
9 For required properties on SPI, please consult
10 Documentation/devicetree/bindings/spi/spi-bus.txt
12 Required properties on I2C:
14  - reg: the i2c address
17 Optional properties:
19  - reset-gpio:  a GPIO spec to define which pin is connected to the chip's
20                 !RESET pin
21  - cirrus,amuteb-eq-bmutec:     When given, the Codec's AMUTEB=BMUTEC flag
22                                 is enabled.
23  - cirrus,enable-soft-reset:
24         The CS4271 requires its LRCLK and MCLK to be stable before its RESET
25         line is de-asserted. That also means that clocks cannot be changed
26         without putting the chip back into hardware reset, which also requires
27         a complete re-initialization of all registers.
29         One (undocumented) workaround is to assert and de-assert the PDN bit
30         in the MODE2 register. This workaround can be enabled with this DT
31         property.
33         Note that this is not needed in case the clocks are stable
34         throughout the entire runtime of the codec.
36 Examples:
38         codec_i2c: cs4271@10 {
39                 compatible = "cirrus,cs4271";
40                 reg = <0x10>;
41                 reset-gpio = <&gpio 23 0>;
42         };
44         codec_spi: cs4271@0 {
45                 compatible = "cirrus,cs4271";
46                 reg = <0x0>;
47                 reset-gpio = <&gpio 23 0>;
48                 spi-max-frequency = <6000000>;
49         };