Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | STA350 audio CODEC |
| 2 | |
| 3 | The driver for this device only supports I2C. |
| 4 | |
| 5 | Required properties: |
| 6 | |
| 7 | - compatible: "st,sta350" |
| 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 | - vdd-dig-supply: regulator spec, providing 3.3V |
| 17 | - vdd-pll-supply: regulator spec, providing 3.3V |
| 18 | - vcc-supply: regulator spec, providing 5V - 26V |
| 19 | |
| 20 | Optional properties: |
| 21 | |
| 22 | - st,output-conf: number, Selects the output configuration: |
| 23 | 0: 2-channel (full-bridge) power, 2-channel data-out |
| 24 | 1: 2 (half-bridge). 1 (full-bridge) on-board power |
| 25 | 2: 2 Channel (Full-Bridge) Power, 1 Channel FFX |
| 26 | 3: 1 Channel Mono-Parallel |
| 27 | If parameter is missing, mode 0 will be enabled. |
| 28 | This property has to be specified as '/bits/ 8' value. |
| 29 | |
| 30 | - st,ch1-output-mapping: Channel 1 output mapping |
| 31 | - st,ch2-output-mapping: Channel 2 output mapping |
| 32 | - st,ch3-output-mapping: Channel 3 output mapping |
| 33 | 0: Channel 1 |
| 34 | 1: Channel 2 |
| 35 | 2: Channel 3 |
| 36 | If parameter is missing, channel 1 is chosen. |
| 37 | This properties have to be specified as '/bits/ 8' values. |
| 38 | |
| 39 | - st,thermal-warning-recover: |
| 40 | If present, thermal warning recovery is enabled. |
| 41 | |
| 42 | - st,thermal-warning-adjustment: |
| 43 | If present, thermal warning adjustment is enabled. |
| 44 | |
| 45 | - st,fault-detect-recovery: |
| 46 | If present, then fault recovery will be enabled. |
| 47 | |
| 48 | - st,ffx-power-output-mode: string |
| 49 | The FFX power output mode selects how the FFX output timing is |
| 50 | configured. Must be one of these values: |
| 51 | - "drop-compensation" |
| 52 | - "tapered-compensation" |
| 53 | - "full-power-mode" |
| 54 | - "variable-drop-compensation" (default) |
| 55 | |
| 56 | - st,drop-compensation-ns: number |
| 57 | Only required for "st,ffx-power-output-mode" == |
| 58 | "variable-drop-compensation". |
| 59 | Specifies the drop compensation in nanoseconds. |
| 60 | The value must be in the range of 0..300, and only |
| 61 | multiples of 20 are allowed. Default is 140ns. |
| 62 | |
| 63 | - st,overcurrent-warning-adjustment: |
| 64 | If present, overcurrent warning adjustment is enabled. |
| 65 | |
| 66 | - st,max-power-use-mpcc: |
| 67 | If present, then MPCC bits are used for MPC coefficients, |
| 68 | otherwise standard MPC coefficients are used. |
| 69 | |
| 70 | - st,max-power-corr: |
| 71 | If present, power bridge correction for THD reduction near maximum |
| 72 | power output is enabled. |
| 73 | |
| 74 | - st,am-reduction-mode: |
| 75 | If present, FFX mode runs in AM reduction mode, otherwise normal |
| 76 | FFX mode is used. |
| 77 | |
| 78 | - st,odd-pwm-speed-mode: |
| 79 | If present, PWM speed mode run on odd speed mode (341.3 kHz) on all |
| 80 | channels. If not present, normal PWM spped mode (384 kHz) will be used. |
| 81 | |
| 82 | - st,distortion-compensation: |
| 83 | If present, distortion compensation variable uses DCC coefficient. |
| 84 | If not present, preset DC coefficient is used. |
| 85 | |
| 86 | - st,invalid-input-detect-mute: |
| 87 | If present, automatic invalid input detect mute is enabled. |
| 88 | |
| 89 | - st,activate-mute-output: |
| 90 | If present, a mute output will be activated in ase the volume will |
| 91 | reach a value lower than -76 dBFS. |
| 92 | |
| 93 | - st,bridge-immediate-off: |
| 94 | If present, the bridge will be switched off immediately after the |
| 95 | power-down-gpio goes low. Otherwise, the bridge will wait for 13 |
| 96 | million clock cycles to pass before shutting down. |
| 97 | |
| 98 | - st,noise-shape-dc-cut: |
| 99 | If present, the noise-shaping technique on the DC cutoff filter are |
| 100 | enabled. |
| 101 | |
| 102 | - st,powerdown-master-volume: |
| 103 | If present, the power-down pin and I2C power-down functions will |
| 104 | act on the master volume. Otherwise, the functions will act on the |
| 105 | mute commands. |
| 106 | |
| 107 | - st,powerdown-delay-divider: |
| 108 | If present, the bridge power-down time will be divided by the provided |
| 109 | value. If not specified, a divider of 1 will be used. Allowed values |
| 110 | are 1, 2, 4, 8, 16, 32, 64 and 128. |
| 111 | This property has to be specified as '/bits/ 8' value. |
| 112 | |
| 113 | Example: |
| 114 | |
| 115 | codec: sta350@38 { |
| 116 | compatible = "st,sta350"; |
| 117 | reg = <0x1c>; |
| 118 | reset-gpios = <&gpio1 19 0>; |
| 119 | power-down-gpios = <&gpio1 16 0>; |
| 120 | st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel |
| 121 | // (full-bridge) power, |
| 122 | // 2-channel data-out |
| 123 | st,ch1-output-mapping = /bits/ 8 <0>; // set channel 1 output ch 1 |
| 124 | st,ch2-output-mapping = /bits/ 8 <0>; // set channel 2 output ch 1 |
| 125 | st,ch3-output-mapping = /bits/ 8 <0>; // set channel 3 output ch 1 |
| 126 | st,max-power-correction; // enables power bridge |
| 127 | // correction for THD reduction |
| 128 | // near maximum power output |
| 129 | st,invalid-input-detect-mute; // mute if no valid digital |
| 130 | // audio signal is provided. |
| 131 | }; |