Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | STA32X audio CODEC |
| 2 | |
| 3 | The driver for this device only supports I2C. |
| 4 | |
| 5 | Required properties: |
| 6 | |
| 7 | - compatible: "st,sta32x" |
| 8 | - reg: the I2C address of the device for I2C |
| 9 | - reset-gpios: a GPIO spec for the reset pin. If specified, it will be |
| 10 | deasserted before communication to the codec starts. |
| 11 | |
| 12 | - power-down-gpios: a GPIO spec for the power down pin. If specified, |
| 13 | it will be deasserted before communication to the codec |
| 14 | starts. |
| 15 | |
| 16 | - Vdda-supply: regulator spec, providing 3.3V |
| 17 | - Vdd3-supply: regulator spec, providing 3.3V |
| 18 | - Vcc-supply: regulator spec, providing 5V - 26V |
| 19 | |
| 20 | Optional properties: |
| 21 | |
| 22 | - clocks, clock-names: Clock specifier for XTI input clock. |
| 23 | If specified, the clock will be enabled when the codec is probed, |
| 24 | and disabled when it is removed. The 'clock-names' must be set to 'xti'. |
| 25 | |
| 26 | - st,output-conf: number, Selects the output configuration: |
| 27 | 0: 2-channel (full-bridge) power, 2-channel data-out |
| 28 | 1: 2 (half-bridge). 1 (full-bridge) on-board power |
| 29 | 2: 2 Channel (Full-Bridge) Power, 1 Channel FFX |
| 30 | 3: 1 Channel Mono-Parallel |
| 31 | If parameter is missing, mode 0 will be enabled. |
| 32 | This property has to be specified as '/bits/ 8' value. |
| 33 | |
| 34 | - st,ch1-output-mapping: Channel 1 output mapping |
| 35 | - st,ch2-output-mapping: Channel 2 output mapping |
| 36 | - st,ch3-output-mapping: Channel 3 output mapping |
| 37 | 0: Channel 1 |
| 38 | 1: Channel 2 |
| 39 | 2: Channel 3 |
| 40 | If parameter is missing, channel 1 is chosen. |
| 41 | This properties have to be specified as '/bits/ 8' values. |
| 42 | |
| 43 | - st,thermal-warning-recover: |
| 44 | If present, thermal warning recovery is enabled. |
| 45 | |
| 46 | - st,fault-detect-recovery: |
| 47 | If present, fault detect recovery is enabled. |
| 48 | |
| 49 | - st,thermal-warning-adjustment: |
| 50 | If present, thermal warning adjustment is enabled. |
| 51 | |
| 52 | - st,fault-detect-recovery: |
| 53 | If present, then fault recovery will be enabled. |
| 54 | |
| 55 | - st,drop-compensation-ns: number |
| 56 | Only required for "st,ffx-power-output-mode" == |
| 57 | "variable-drop-compensation". |
| 58 | Specifies the drop compensation in nanoseconds. |
| 59 | The value must be in the range of 0..300, and only |
| 60 | multiples of 20 are allowed. Default is 140ns. |
| 61 | |
| 62 | - st,max-power-use-mpcc: |
| 63 | If present, then MPCC bits are used for MPC coefficients, |
| 64 | otherwise standard MPC coefficients are used. |
| 65 | |
| 66 | - st,max-power-corr: |
| 67 | If present, power bridge correction for THD reduction near maximum |
| 68 | power output is enabled. |
| 69 | |
| 70 | - st,am-reduction-mode: |
| 71 | If present, FFX mode runs in AM reduction mode, otherwise normal |
| 72 | FFX mode is used. |
| 73 | |
| 74 | - st,odd-pwm-speed-mode: |
| 75 | If present, PWM speed mode run on odd speed mode (341.3 kHz) on all |
| 76 | channels. If not present, normal PWM spped mode (384 kHz) will be used. |
| 77 | |
| 78 | - st,invalid-input-detect-mute: |
| 79 | If present, automatic invalid input detect mute is enabled. |
| 80 | |
| 81 | Example: |
| 82 | |
| 83 | codec: sta32x@38 { |
| 84 | compatible = "st,sta32x"; |
| 85 | reg = <0x1c>; |
| 86 | clocks = <&clock>; |
| 87 | clock-names = "xti"; |
| 88 | reset-gpios = <&gpio1 19 0>; |
| 89 | power-down-gpios = <&gpio1 16 0>; |
| 90 | st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel |
| 91 | // (full-bridge) power, |
| 92 | // 2-channel data-out |
| 93 | st,ch1-output-mapping = /bits/ 8 <0>; // set channel 1 output ch 1 |
| 94 | st,ch2-output-mapping = /bits/ 8 <0>; // set channel 2 output ch 1 |
| 95 | st,ch3-output-mapping = /bits/ 8 <0>; // set channel 3 output ch 1 |
| 96 | st,max-power-correction; // enables power bridge |
| 97 | // correction for THD reduction |
| 98 | // near maximum power output |
| 99 | st,invalid-input-detect-mute; // mute if no valid digital |
| 100 | // audio signal is provided. |
| 101 | }; |