169 lines · plain
1CS35L36 Speaker Amplifier2 3Required properties:4 5 - compatible : "cirrus,cs35l36"6 7 - reg : the I2C address of the device for I2C8 9 - VA-supply, VP-supply : power supplies for the device,10 as covered in11 Documentation/devicetree/bindings/regulator/regulator.txt.12 13 - cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the boost14 converter's output voltage in mV. The range is from 2550mV to 12000mV with15 increments of 50mV.16 (Default) VP17 18 - cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA.19 Configures the peak current by monitoring the current through the boost FET.20 Range starts at 1600mA and goes to a maximum of 4500mA with increments of21 50mA.22 (Default) 4.50 Amps23 24 - cirrus,boost-ind-nanohenry : Inductor estimation LBST reference value.25 Seeds the digital boost converter's inductor estimation block with the initial26 inductance value to reference.27 28 1000 = 1uH (Default)29 1200 = 1.2uH30 31Optional properties:32 - cirrus,multi-amp-mode : Boolean to determine if there are more than33 one amplifier in the system. If more than one it is best to Hi-Z the ASP34 port to prevent bus contention on the output signal35 36 - cirrus,boost-ctl-select : Boost converter control source selection.37 Selects the source of the BST_CTL target VBST voltage for the boost38 converter to generate.39 0x00 - Control Port Value40 0x01 - Class H Tracking (Default)41 0x10 - MultiDevice Sync Value42 43 - cirrus,amp-pcm-inv : Boolean to determine Amplifier will invert incoming44 PCM data45 46 - cirrus,imon-pol-inv : Boolean to determine Amplifier will invert the47 polarity of outbound IMON feedback data48 49 - cirrus,vmon-pol-inv : Boolean to determine Amplifier will invert the50 polarity of outbound VMON feedback data51 52 - cirrus,dcm-mode-enable : Boost converter automatic DCM Mode enable.53 This enables the digital boost converter to operate in a low power54 (Discontinuous Conduction) mode during low loading conditions.55 56 - cirrus,weak-fet-disable : Boolean : The strength of the output drivers is57 reduced when operating in a Weak-FET Drive Mode and must not be used to drive58 a large load.59 60 - cirrus,classh-wk-fet-delay : Weak-FET entry delay. Controls the delay61 (in ms) before the Class H algorithm switches to the weak-FET voltage62 (after the audio falls and remains below the value specified in WKFET_AMP_THLD).63 64 0 = 0ms65 1 = 5ms66 2 = 10ms67 3 = 50ms68 4 = 100ms (Default)69 5 = 200ms70 6 = 500ms71 7 = 1000ms72 73 - cirrus,classh-weak-fet-thld-millivolt : Weak-FET amplifier drive threshold.74 Configures the signal threshold at which the PWM output stage enters75 weak-FET operation. The range is 50mV to 700mV in 50mV increments.76 77 - cirrus,temp-warn-threshold : Amplifier overtemperature warning threshold.78 Configures the threshold at which the overtemperature warning condition occurs.79 When the threshold is met, the overtemperature warning attenuation is applied80 and the TEMP_WARN_EINT interrupt status bit is set.81 If TEMP_WARN_MASK = 0, INTb is asserted.82 83 0 = 105C84 1 = 115C85 2 = 125C (Default)86 3 = 135C87 88 - cirrus,irq-drive-select : Selects the driver type of the selected interrupt89 output.90 91 0 = Open-drain92 1 = Push-pull (Default)93 94 - cirrus,irq-gpio-select : Selects the pin to serve as the programmable95 interrupt output.96 97 0 = PDM_DATA / SWIRE_SD / INT (Default)98 1 = GPIO99 100Optional properties for the "cirrus,vpbr-config" Sub-node101 102 - cirrus,vpbr-en : VBST brownout prevention enable. Configures whether the103 VBST brownout prevention algorithm is enabled or disabled.104 105 0 = VBST brownout prevention disabled (default)106 1 = VBST brownout prevention enabled107 108 See Section 7.31.1 VPBR Config for configuration options & further details109 110 - cirrus,vpbr-thld : Initial VPBR threshold. Configures the VP brownout111 threshold voltage112 113 - cirrus,cirrus,vpbr-atk-rate : Attenuation attack step rate. Configures the114 amount delay between consecutive volume attenuation steps when a brownout115 condition is present and the VP brownout condition is in an attacking state.116 117 - cirrus,vpbr-atk-vol : VP brownout prevention step size. Configures the VP118 brownout prevention attacking attenuation step size when operating in either119 digital volume or analog gain modes.120 121 - cirrus,vpbr-max-attn : Maximum attenuation that the VP brownout prevention122 can apply to the audio signal.123 124 - cirrus,vpbr-wait : Configures the delay time between a brownout condition125 no longer being present and the VP brownout prevention entering an attenuation126 release state.127 128 - cirrus,vpbr-rel-rate : Attenuation release step rate. Configures the delay129 between consecutive volume attenuation release steps when a brownout condition130 is not longer present and the VP brownout is in an attenuation release state.131 132 - cirrus,vpbr-mute-en : During the attack state, if the vpbr-max-attn value133 is reached, the error condition still remains, and this bit is set, the audio134 is muted.135 136Example:137 138cs35l36: cs35l36@40 {139 compatible = "cirrus,cs35l36";140 reg = <0x40>;141 VA-supply = <&dummy_vreg>;142 VP-supply = <&dummy_vreg>;143 reset-gpios = <&gpio0 54 0>;144 interrupt-parent = <&gpio8>;145 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;146 147 cirrus,boost-ind-nanohenry = <1000>;148 cirrus,boost-ctl-millivolt = <10000>;149 cirrus,boost-peak-milliamp = <4500>;150 cirrus,boost-ctl-select = <0x00>;151 cirrus,weak-fet-delay = <0x04>;152 cirrus,weak-fet-thld = <0x01>;153 cirrus,temp-warn-threshold = <0x01>;154 cirrus,multi-amp-mode;155 cirrus,irq-drive-select = <0x01>;156 cirrus,irq-gpio-select = <0x01>;157 158 cirrus,vpbr-config {159 cirrus,vpbr-en = <0x00>;160 cirrus,vpbr-thld = <0x05>;161 cirrus,vpbr-atk-rate = <0x02>;162 cirrus,vpbr-atk-vol = <0x01>;163 cirrus,vpbr-max-attn = <0x09>;164 cirrus,vpbr-wait = <0x01>;165 cirrus,vpbr-rel-rate = <0x05>;166 cirrus,vpbr-mute-en = <0x00>;167 };168};169