| CS35L36 Speaker Amplifier |
| |
| Required properties: |
| |
| - compatible : "cirrus,cs35l36" |
| |
| - reg : the I2C address of the device for I2C |
| |
| - VA-supply, VP-supply : power supplies for the device, |
| as covered in |
| Documentation/devicetree/bindings/regulator/regulator.txt. |
| |
| - cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the boost |
| converter's output voltage in mV. The range is from 2550mV to 12000mV with |
| increments of 50mV. |
| (Default) VP |
| |
| - cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA. |
| Configures the peak current by monitoring the current through the boost FET. |
| Range starts at 1600mA and goes to a maximum of 4500mA with increments of |
| 50mA. |
| (Default) 4.50 Amps |
| |
| - cirrus,boost-ind-nanohenry : Inductor estimation LBST reference value. |
| Seeds the digital boost converter's inductor estimation block with the initial |
| inductance value to reference. |
| |
| 1000 = 1uH (Default) |
| 1200 = 1.2uH |
| |
| Optional properties: |
| - cirrus,multi-amp-mode : Boolean to determine if there are more than |
| one amplifier in the system. If more than one it is best to Hi-Z the ASP |
| port to prevent bus contention on the output signal |
| |
| - cirrus,boost-ctl-select : Boost conerter control source selection. |
| Selects the source of the BST_CTL target VBST voltage for the boost |
| converter to generate. |
| 0x00 - Control Port Value |
| 0x01 - Class H Tracking (Default) |
| 0x10 - MultiDevice Sync Value |
| |
| - cirrus,amp-pcm-inv : Boolean to determine Amplifier will invert incoming |
| PCM data |
| |
| - cirrus,imon-pol-inv : Boolean to determine Amplifier will invert the |
| polarity of outbound IMON feedback data |
| |
| - cirrus,vmon-pol-inv : Boolean to determine Amplifier will invert the |
| polarity of outbound VMON feedback data |
| |
| - cirrus,dcm-mode-enable : Boost converter automatic DCM Mode enable. |
| This enables the digital boost converter to operate in a low power |
| (Discontinuous Conduction) mode during low loading conditions. |
| |
| - cirrus,weak-fet-disable : Boolean : The strength of the output drivers is |
| reduced when operating in a Weak-FET Drive Mode and must not be used to drive |
| a large load. |
| |
| - cirrus,classh-wk-fet-delay : Weak-FET entry delay. Controls the delay |
| (in ms) before the Class H algorithm switches to the weak-FET voltage |
| (after the audio falls and remains below the value specified in WKFET_AMP_THLD). |
| |
| 0 = 0ms |
| 1 = 5ms |
| 2 = 10ms |
| 3 = 50ms |
| 4 = 100ms (Default) |
| 5 = 200ms |
| 6 = 500ms |
| 7 = 1000ms |
| |
| - cirrus,classh-weak-fet-thld-millivolt : Weak-FET amplifier drive threshold. |
| Configures the signal threshold at which the PWM output stage enters |
| weak-FET operation. The range is 50mV to 700mV in 50mV increments. |
| |
| - cirrus,temp-warn-threshold : Amplifier overtemperature warning threshold. |
| Configures the threshold at which the overtemperature warning condition occurs. |
| When the threshold is met, the overtemperature warning attenuation is applied |
| and the TEMP_WARN_EINT interrupt status bit is set. |
| If TEMP_WARN_MASK = 0, INTb is asserted. |
| |
| 0 = 105C |
| 1 = 115C |
| 2 = 125C (Default) |
| 3 = 135C |
| |
| - cirrus,irq-drive-select : Selects the driver type of the selected interrupt |
| output. |
| |
| 0 = Open-drain |
| 1 = Push-pull (Default) |
| |
| - cirrus,irq-gpio-select : Selects the pin to serve as the programmable |
| interrupt output. |
| |
| 0 = PDM_DATA / SWIRE_SD / INT (Default) |
| 1 = GPIO |
| |
| Optional properties for the "cirrus,vpbr-config" Sub-node |
| |
| - cirrus,vpbr-en : VBST brownout prevention enable. Configures whether the |
| VBST brownout prevention algorithm is enabled or disabled. |
| |
| 0 = VBST brownout prevention disabled (default) |
| 1 = VBST brownout prevention enabled |
| |
| See Section 7.31.1 VPBR Config for configuration options & further details |
| |
| - cirrus,vpbr-thld : Initial VPBR threshold. Configures the VP brownout |
| threshold voltage |
| |
| - cirrus,cirrus,vpbr-atk-rate : Attenuation attack step rate. Configures the |
| amount delay between consecutive volume attenuation steps when a brownout |
| condition is present and the VP brownout condition is in an attacking state. |
| |
| - cirrus,vpbr-atk-vol : VP brownout prevention step size. Configures the VP |
| brownout prevention attacking attenuation step size when operating in either |
| digital volume or analog gain modes. |
| |
| - cirrus,vpbr-max-attn : Maximum attenuation that the VP brownout prevention |
| can apply to the audio signal. |
| |
| - cirrus,vpbr-wait : Configures the delay time between a brownout condition |
| no longer being present and the VP brownout prevention entering an attenuation |
| release state. |
| |
| - cirrus,vpbr-rel-rate : Attenuation release step rate. Configures the delay |
| between consecutive volume attenuation release steps when a brownout condition |
| is not longer present and the VP brownout is in an attenuation release state. |
| |
| - cirrus,vpbr-mute-en : During the attack state, if the vpbr-max-attn value |
| is reached, the error condition still remains, and this bit is set, the audio |
| is muted. |
| |
| Example: |
| |
| cs35l36: cs35l36@40 { |
| compatible = "cirrus,cs35l36"; |
| reg = <0x40>; |
| VA-supply = <&dummy_vreg>; |
| VP-supply = <&dummy_vreg>; |
| reset-gpios = <&gpio0 54 0>; |
| interrupt-parent = <&gpio8>; |
| interrupts = <3 IRQ_TYPE_LEVEL_LOW>; |
| |
| cirrus,boost-ind-nanohenry = <1000>; |
| cirrus,boost-ctl-millivolt = <10000>; |
| cirrus,boost-peak-milliamp = <4500>; |
| cirrus,boost-ctl-select = <0x00>; |
| cirrus,weak-fet-delay = <0x04>; |
| cirrus,weak-fet-thld = <0x01>; |
| cirrus,temp-warn-threshold = <0x01>; |
| cirrus,multi-amp-mode; |
| cirrus,irq-drive-select = <0x01>; |
| cirrus,irq-gpio-select = <0x01>; |
| |
| cirrus,vpbr-config { |
| cirrus,vpbr-en = <0x00>; |
| cirrus,vpbr-thld = <0x05>; |
| cirrus,vpbr-atk-rate = <0x02>; |
| cirrus,vpbr-atk-vol = <0x01>; |
| cirrus,vpbr-max-attn = <0x09>; |
| cirrus,vpbr-wait = <0x01>; |
| cirrus,vpbr-rel-rate = <0x05>; |
| cirrus,vpbr-mute-en = <0x00>; |
| }; |
| }; |