| Cirrus Logic Madera class audio codecs Multi-Functional Device |
| |
| These devices are audio SoCs with extensive digital capabilities and a range |
| of analogue I/O. |
| |
| See also the child driver bindings in: |
| bindings/pinctrl/cirrus,madera-pinctrl.txt |
| bindings/regulator/arizona-regulator.txt |
| bindings/sound/madera.txt |
| |
| Required properties: |
| |
| - compatible : One of the following chip-specific strings: |
| "cirrus,cs47l15" |
| "cirrus,cs47l35" |
| "cirrus,cs47l85" |
| "cirrus,cs47l90" |
| "cirrus,cs47l91" |
| "cirrus,cs42l92" |
| "cirrus,cs47l92" |
| "cirrus,cs47l93" |
| "cirrus,wm1840" |
| |
| - reg : I2C slave address when connected using I2C, chip select number when |
| using SPI. |
| |
| - DCVDD-supply : Power supply for the device as defined in |
| bindings/regulator/regulator.txt |
| Mandatory on CS47L15, CS47L35, CS47L90, CS47L91, CS42L92, CS47L92, CS47L93 |
| Optional on CS47L85, WM1840 |
| |
| - AVDD-supply, DBVDD1-supply, DBVDD2-supply, CPVDD1-supply, CPVDD2-supply : |
| Power supplies for the device |
| |
| - DBVDD3-supply, DBVDD4-supply : Power supplies for the device |
| (CS47L85, CS47L90, CS47L91, WM1840) |
| |
| - SPKVDDL-supply, SPKVDDR-supply : Power supplies for the device |
| (CS47L85, WM1840) |
| |
| - SPKVDD-supply : Power supply for the device |
| (CS47L15, CS47L35) |
| |
| - interrupt-controller : Indicates that this device is an interrupt controller |
| |
| - #interrupt-cells: the number of cells to describe an IRQ, must be 2. |
| The first cell is the IRQ number. |
| The second cell is the flags, encoded as the trigger masks from |
| bindings/interrupt-controller/interrupts.txt |
| |
| - gpio-controller : Indicates this device is a GPIO controller. |
| |
| - #gpio-cells : Must be 2. The first cell is the pin number. The second cell |
| is reserved for future use and must be zero |
| |
| - interrupt-parent : The parent interrupt controller. |
| |
| - interrupts : The interrupt line the /IRQ signal for the device is |
| connected to. |
| |
| Optional properties: |
| |
| - MICVDD-supply : Power supply, only need to be specified if |
| powered externally |
| |
| - reset-gpios : One entry specifying the GPIO controlling /RESET. |
| As defined in bindings/gpio.txt. |
| Although optional, it is strongly recommended to use a hardware reset |
| |
| - clocks: Should reference the clocks supplied on MCLK1, MCLK2 and MCLK3 |
| - clock-names: May contain up to three strings: |
| "mclk1" for the clock supplied on MCLK1, recommended to be a high |
| quality audio reference clock |
| "mclk2" for the clock supplied on MCLK2, required to be an always on |
| 32k clock |
| "mclk3" for the clock supplied on MCLK3 |
| |
| - MICBIASx : Initial data for the MICBIAS regulators, as covered in |
| Documentation/devicetree/bindings/regulator/regulator.txt. |
| One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...) |
| (all codecs) |
| |
| One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...) |
| (all except CS47L85, WM1840) |
| |
| The following following additional property is supported for the generator |
| nodes: |
| - cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling |
| capacitors attached. |
| |
| Optional child nodes: |
| micvdd : Node containing initialization data for the micvdd regulator |
| See bindings/regulator/arizona-regulator.txt |
| |
| ldo1 : Node containing initialization data for the LDO1 regulator |
| See bindings/regulator/arizona-regulator.txt |
| (cs47l85, wm1840) |
| |
| Example: |
| |
| cs47l85@0 { |
| compatible = "cirrus,cs47l85"; |
| reg = <0>; |
| |
| reset-gpios = <&gpio 0>; |
| |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| interrupts = <&host_irq1>; |
| interrupt-parent = <&gic>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |