1CS35L36 Speaker Amplifier 2 3Required properties: 4 5 - compatible : "cirrus,cs35l36" 6 7 - reg : the I2C address of the device for I2C 8 9 - VA-supply, VP-supply : power supplies for the device, 10 as covered in 11 Documentation/devicetree/bindings/regulator/regulator.txt. 12 13 - cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the boost 14 converter's output voltage in mV. The range is from 2550mV to 12000mV with 15 increments of 50mV. 16 (Default) VP 17 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 of 21 50mA. 22 (Default) 4.50 Amps 23 24 - cirrus,boost-ind-nanohenry : Inductor estimation LBST reference value. 25 Seeds the digital boost converter's inductor estimation block with the initial 26 inductance value to reference. 27 28 1000 = 1uH (Default) 29 1200 = 1.2uH 30 31Optional properties: 32 - cirrus,multi-amp-mode : Boolean to determine if there are more than 33 one amplifier in the system. If more than one it is best to Hi-Z the ASP 34 port to prevent bus contention on the output signal 35 36 - cirrus,boost-ctl-select : Boost conerter control source selection. 37 Selects the source of the BST_CTL target VBST voltage for the boost 38 converter to generate. 39 0x00 - Control Port Value 40 0x01 - Class H Tracking (Default) 41 0x10 - MultiDevice Sync Value 42 43 - cirrus,amp-pcm-inv : Boolean to determine Amplifier will invert incoming 44 PCM data 45 46 - cirrus,imon-pol-inv : Boolean to determine Amplifier will invert the 47 polarity of outbound IMON feedback data 48 49 - cirrus,vmon-pol-inv : Boolean to determine Amplifier will invert the 50 polarity of outbound VMON feedback data 51 52 - cirrus,dcm-mode-enable : Boost converter automatic DCM Mode enable. 53 This enables the digital boost converter to operate in a low power 54 (Discontinuous Conduction) mode during low loading conditions. 55 56 - cirrus,weak-fet-disable : Boolean : The strength of the output drivers is 57 reduced when operating in a Weak-FET Drive Mode and must not be used to drive 58 a large load. 59 60 - cirrus,classh-wk-fet-delay : Weak-FET entry delay. Controls the delay 61 (in ms) before the Class H algorithm switches to the weak-FET voltage 62 (after the audio falls and remains below the value specified in WKFET_AMP_THLD). 63 64 0 = 0ms 65 1 = 5ms 66 2 = 10ms 67 3 = 50ms 68 4 = 100ms (Default) 69 5 = 200ms 70 6 = 500ms 71 7 = 1000ms 72 73 - cirrus,classh-weak-fet-thld-millivolt : Weak-FET amplifier drive threshold. 74 Configures the signal threshold at which the PWM output stage enters 75 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 applied 80 and the TEMP_WARN_EINT interrupt status bit is set. 81 If TEMP_WARN_MASK = 0, INTb is asserted. 82 83 0 = 105C 84 1 = 115C 85 2 = 125C (Default) 86 3 = 135C 87 88 - cirrus,irq-drive-select : Selects the driver type of the selected interrupt 89 output. 90 91 0 = Open-drain 92 1 = Push-pull (Default) 93 94 - cirrus,irq-gpio-select : Selects the pin to serve as the programmable 95 interrupt output. 96 97 0 = PDM_DATA / SWIRE_SD / INT (Default) 98 1 = GPIO 99 100Optional properties for the "cirrus,vpbr-config" Sub-node 101 102 - cirrus,vpbr-en : VBST brownout prevention enable. Configures whether the 103 VBST brownout prevention algorithm is enabled or disabled. 104 105 0 = VBST brownout prevention disabled (default) 106 1 = VBST brownout prevention enabled 107 108 See Section 7.31.1 VPBR Config for configuration options & further details 109 110 - cirrus,vpbr-thld : Initial VPBR threshold. Configures the VP brownout 111 threshold voltage 112 113 - cirrus,cirrus,vpbr-atk-rate : Attenuation attack step rate. Configures the 114 amount delay between consecutive volume attenuation steps when a brownout 115 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 VP 118 brownout prevention attacking attenuation step size when operating in either 119 digital volume or analog gain modes. 120 121 - cirrus,vpbr-max-attn : Maximum attenuation that the VP brownout prevention 122 can apply to the audio signal. 123 124 - cirrus,vpbr-wait : Configures the delay time between a brownout condition 125 no longer being present and the VP brownout prevention entering an attenuation 126 release state. 127 128 - cirrus,vpbr-rel-rate : Attenuation release step rate. Configures the delay 129 between consecutive volume attenuation release steps when a brownout condition 130 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 value 133 is reached, the error condition still remains, and this bit is set, the audio 134 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