| Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs |
| |
| These devices are audio SoCs with extensive digital capabilities and a range |
| of analogue I/O. |
| |
| Required properties: |
| |
| - compatible : One of the following chip-specific strings: |
| "cirrus,cs47l24" |
| "wlf,wm5102" |
| "wlf,wm5110" |
| "wlf,wm8280" |
| "wlf,wm8997" |
| "wlf,wm8998" |
| "wlf,wm1814" |
| "wlf,wm1831" |
| |
| - reg : I2C slave address when connected using I2C, chip select number when |
| using SPI. |
| |
| - interrupts : The interrupt line the /IRQ signal for the device is |
| connected to. |
| - interrupt-controller : Arizona class devices contain interrupt controllers |
| and may provide interrupt services to other devices. |
| - interrupt-parent : The parent interrupt controller. |
| - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. |
| The first cell is the IRQ number. |
| The second cell is the flags, encoded as the trigger masks from |
| Documentation/devicetree/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 and the |
| second cell is used to specify optional parameters, see ../gpio/gpio.txt |
| for details. |
| |
| - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device, |
| as covered in Documentation/devicetree/bindings/regulator/regulator.txt |
| |
| - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102, |
| wm5110, wm8280, wm8998, wm1814) |
| |
| - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102, |
| wm5110, wm8280, wm8998, wm1814) |
| |
| - SPKVDD-supply : Speaker driver power supply (wm8997) |
| |
| - DCVDD-supply : Main power supply (cs47l24, wm1831) |
| |
| - MICVDD-supply : Microphone power supply (cs47l24, wm1831) |
| |
| Optional properties: |
| |
| - wlf,reset : GPIO specifier for the GPIO controlling /RESET |
| |
| - clocks: Should reference the clocks supplied on MCLK1 and MCLK2 |
| - clock-names: Should contains two strings: |
| "mclk1" for the clock supplied on MCLK1, recommended to be a high |
| quality audio reference clock |
| "mclk2" for the clock supplied on MCLK2, recommended to be an always on |
| 32k clock |
| |
| - wlf,gpio-defaults : A list of GPIO configuration register values. Defines |
| for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If |
| absent, no configuration of these registers is performed. If any entry has |
| a value that is out of range for a 16 bit register then the chip default |
| will be used. If present exactly five values must be specified. |
| |
| - wlf,inmode : A list of INn_MODE register values, where n is the number |
| of input signals. Valid values are 0 (Differential), 1 (Single-ended) and |
| 2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default. |
| If present, values must be specified less than or equal to the number of |
| input signals. If values less than the number of input signals, elements |
| that have not been specified are set to 0 by default. Entries are: |
| <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997) |
| <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814) |
| - wlf,out-mono : A list of boolean values indicating whether each output is |
| mono or stereo. Position within the list indicates the output affected |
| (eg. First entry in the list corresponds to output 1). A non-zero value |
| indicates a mono output. If present, the number of values should be less |
| than or equal to the number of outputs, if less values are supplied the |
| additional outputs will be treated as stereo. |
| |
| - wlf,dmic-ref : DMIC reference voltage source for each input, can be |
| selected from either MICVDD or one of the MICBIAS's, defines |
| (ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If |
| present, the number of values should be less than or equal to the |
| number of inputs, unspecified inputs will use the chip default. |
| |
| - wlf,max-channels-clocked : The maximum number of channels to be clocked on |
| each AIF, useful for I2S systems with multiple data lines being mastered. |
| Specify one cell for each AIF to be configured, specify zero for AIFs that |
| should be handled normally. |
| If present, number of cells must be less than or equal to the number of |
| AIFs. If less than the number of AIFs, for cells that have not been |
| specified the corresponding AIFs will be treated as default setting. |
| |
| - wlf,spk-fmt : PDM speaker data format, must contain 2 cells (OUT5 and OUT6). |
| See the datasheet for values. |
| The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997, |
| wm8998, wm1814) |
| |
| - wlf,spk-mute : PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6). |
| See the datasheet for values. |
| The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997, |
| wm8998, wm1814) |
| |
| - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if |
| they are being externally supplied. As covered in |
| Documentation/devicetree/bindings/regulator/regulator.txt |
| (wm5102, wm5110, wm8280, wm8997, wm8998, wm1814) |
| |
| Also see child specific device properties: |
| Regulator - ../regulator/arizona-regulator.txt |
| Extcon - ../extcon/extcon-arizona.txt |
| |
| Example: |
| |
| codec: wm5102@1a { |
| compatible = "wlf,wm5102"; |
| reg = <0x1a>; |
| interrupts = <347>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| interrupt-parent = <&gic>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| wlf,gpio-defaults = < |
| ARIZONA_GP_FN_TXLRCLK |
| ARIZONA_GP_DEFAULT |
| ARIZONA_GP_DEFAULT |
| ARIZONA_GP_DEFAULT |
| ARIZONA_GP_DEFAULT |
| >; |
| }; |