1 CS35L36 Speaker Amplifier 1 CS35L36 Speaker Amplifier 2 2 3 Required properties: 3 Required properties: 4 4 5 - compatible : "cirrus,cs35l36" 5 - compatible : "cirrus,cs35l36" 6 6 7 - reg : the I2C address of the device for I2 7 - reg : the I2C address of the device for I2C 8 8 9 - VA-supply, VP-supply : power supplies for 9 - VA-supply, VP-supply : power supplies for the device, 10 as covered in 10 as covered in 11 Documentation/devicetree/bindings/regulator/ 11 Documentation/devicetree/bindings/regulator/regulator.txt. 12 12 13 - cirrus,boost-ctl-millivolt : Boost Voltage 13 - cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the boost 14 converter's output voltage in mV. The range 14 converter's output voltage in mV. The range is from 2550mV to 12000mV with 15 increments of 50mV. 15 increments of 50mV. 16 (Default) VP 16 (Default) VP 17 17 18 - cirrus,boost-peak-milliamp : Boost-convert 18 - cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA. 19 Configures the peak current by monitoring th 19 Configures the peak current by monitoring the current through the boost FET. 20 Range starts at 1600mA and goes to a maximum 20 Range starts at 1600mA and goes to a maximum of 4500mA with increments of 21 50mA. 21 50mA. 22 (Default) 4.50 Amps 22 (Default) 4.50 Amps 23 23 24 - cirrus,boost-ind-nanohenry : Inductor esti 24 - cirrus,boost-ind-nanohenry : Inductor estimation LBST reference value. 25 Seeds the digital boost converter's inductor 25 Seeds the digital boost converter's inductor estimation block with the initial 26 inductance value to reference. 26 inductance value to reference. 27 27 28 1000 = 1uH (Default) 28 1000 = 1uH (Default) 29 1200 = 1.2uH 29 1200 = 1.2uH 30 30 31 Optional properties: 31 Optional properties: 32 - cirrus,multi-amp-mode : Boolean to determi 32 - cirrus,multi-amp-mode : Boolean to determine if there are more than 33 one amplifier in the system. If more than on 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 34 port to prevent bus contention on the output signal 35 35 36 - cirrus,boost-ctl-select : Boost converter 36 - cirrus,boost-ctl-select : Boost converter control source selection. 37 Selects the source of the BST_CTL target VBS 37 Selects the source of the BST_CTL target VBST voltage for the boost 38 converter to generate. 38 converter to generate. 39 0x00 - Control Port Value 39 0x00 - Control Port Value 40 0x01 - Class H Tracking (Default) 40 0x01 - Class H Tracking (Default) 41 0x10 - MultiDevice Sync Value 41 0x10 - MultiDevice Sync Value 42 42 43 - cirrus,amp-pcm-inv : Boolean to determine 43 - cirrus,amp-pcm-inv : Boolean to determine Amplifier will invert incoming 44 PCM data 44 PCM data 45 45 46 - cirrus,imon-pol-inv : Boolean to determine 46 - cirrus,imon-pol-inv : Boolean to determine Amplifier will invert the 47 polarity of outbound IMON feedback data 47 polarity of outbound IMON feedback data 48 48 49 - cirrus,vmon-pol-inv : Boolean to determine 49 - cirrus,vmon-pol-inv : Boolean to determine Amplifier will invert the 50 polarity of outbound VMON feedback data 50 polarity of outbound VMON feedback data 51 51 52 - cirrus,dcm-mode-enable : Boost converter a 52 - cirrus,dcm-mode-enable : Boost converter automatic DCM Mode enable. 53 This enables the digital boost converter to 53 This enables the digital boost converter to operate in a low power 54 (Discontinuous Conduction) mode during low l 54 (Discontinuous Conduction) mode during low loading conditions. 55 55 56 - cirrus,weak-fet-disable : Boolean : The st 56 - cirrus,weak-fet-disable : Boolean : The strength of the output drivers is 57 reduced when operating in a Weak-FET Drive M 57 reduced when operating in a Weak-FET Drive Mode and must not be used to drive 58 a large load. 58 a large load. 59 59 60 - cirrus,classh-wk-fet-delay : Weak-FET ent 60 - cirrus,classh-wk-fet-delay : Weak-FET entry delay. Controls the delay 61 (in ms) before the Class H algorithm switche 61 (in ms) before the Class H algorithm switches to the weak-FET voltage 62 (after the audio falls and remains below the 62 (after the audio falls and remains below the value specified in WKFET_AMP_THLD). 63 63 64 0 = 0ms 64 0 = 0ms 65 1 = 5ms 65 1 = 5ms 66 2 = 10ms 66 2 = 10ms 67 3 = 50ms 67 3 = 50ms 68 4 = 100ms (Default) 68 4 = 100ms (Default) 69 5 = 200ms 69 5 = 200ms 70 6 = 500ms 70 6 = 500ms 71 7 = 1000ms 71 7 = 1000ms 72 72 73 - cirrus,classh-weak-fet-thld-millivolt : We 73 - cirrus,classh-weak-fet-thld-millivolt : Weak-FET amplifier drive threshold. 74 Configures the signal threshold at which the 74 Configures the signal threshold at which the PWM output stage enters 75 weak-FET operation. The range is 50mV to 700 75 weak-FET operation. The range is 50mV to 700mV in 50mV increments. 76 76 77 - cirrus,temp-warn-threshold : Amplifier ov 77 - cirrus,temp-warn-threshold : Amplifier overtemperature warning threshold. 78 Configures the threshold at which the overte 78 Configures the threshold at which the overtemperature warning condition occurs. 79 When the threshold is met, the overtemperatu 79 When the threshold is met, the overtemperature warning attenuation is applied 80 and the TEMP_WARN_EINT interrupt status bit 80 and the TEMP_WARN_EINT interrupt status bit is set. 81 If TEMP_WARN_MASK = 0, INTb is asserted. 81 If TEMP_WARN_MASK = 0, INTb is asserted. 82 82 83 0 = 105C 83 0 = 105C 84 1 = 115C 84 1 = 115C 85 2 = 125C (Default) 85 2 = 125C (Default) 86 3 = 135C 86 3 = 135C 87 87 88 - cirrus,irq-drive-select : Selects the driv 88 - cirrus,irq-drive-select : Selects the driver type of the selected interrupt 89 output. 89 output. 90 90 91 0 = Open-drain 91 0 = Open-drain 92 1 = Push-pull (Default) 92 1 = Push-pull (Default) 93 93 94 - cirrus,irq-gpio-select : Selects the pin t 94 - cirrus,irq-gpio-select : Selects the pin to serve as the programmable 95 interrupt output. 95 interrupt output. 96 96 97 0 = PDM_DATA / SWIRE_SD / INT (Default) 97 0 = PDM_DATA / SWIRE_SD / INT (Default) 98 1 = GPIO 98 1 = GPIO 99 99 100 Optional properties for the "cirrus,vpbr-confi 100 Optional properties for the "cirrus,vpbr-config" Sub-node 101 101 102 - cirrus,vpbr-en : VBST brownout prevention 102 - cirrus,vpbr-en : VBST brownout prevention enable. Configures whether the 103 VBST brownout prevention algorithm is enable 103 VBST brownout prevention algorithm is enabled or disabled. 104 104 105 0 = VBST brownout prevention disabled (defau 105 0 = VBST brownout prevention disabled (default) 106 1 = VBST brownout prevention enabled 106 1 = VBST brownout prevention enabled 107 107 108 See Section 7.31.1 VPBR Config for configura 108 See Section 7.31.1 VPBR Config for configuration options & further details 109 109 110 - cirrus,vpbr-thld : Initial VPBR threshold. 110 - cirrus,vpbr-thld : Initial VPBR threshold. Configures the VP brownout 111 threshold voltage 111 threshold voltage 112 112 113 - cirrus,cirrus,vpbr-atk-rate : Attenuation 113 - cirrus,cirrus,vpbr-atk-rate : Attenuation attack step rate. Configures the 114 amount delay between consecutive volume atte 114 amount delay between consecutive volume attenuation steps when a brownout 115 condition is present and the VP brownout con 115 condition is present and the VP brownout condition is in an attacking state. 116 116 117 - cirrus,vpbr-atk-vol : VP brownout preventi 117 - cirrus,vpbr-atk-vol : VP brownout prevention step size. Configures the VP 118 brownout prevention attacking attenuation st 118 brownout prevention attacking attenuation step size when operating in either 119 digital volume or analog gain modes. 119 digital volume or analog gain modes. 120 120 121 - cirrus,vpbr-max-attn : Maximum attenuation 121 - cirrus,vpbr-max-attn : Maximum attenuation that the VP brownout prevention 122 can apply to the audio signal. 122 can apply to the audio signal. 123 123 124 - cirrus,vpbr-wait : Configures the delay ti 124 - cirrus,vpbr-wait : Configures the delay time between a brownout condition 125 no longer being present and the VP brownout 125 no longer being present and the VP brownout prevention entering an attenuation 126 release state. 126 release state. 127 127 128 - cirrus,vpbr-rel-rate : Attenuation release 128 - cirrus,vpbr-rel-rate : Attenuation release step rate. Configures the delay 129 between consecutive volume attenuation relea 129 between consecutive volume attenuation release steps when a brownout condition 130 is not longer present and the VP brownout is 130 is not longer present and the VP brownout is in an attenuation release state. 131 131 132 - cirrus,vpbr-mute-en : During the attack st 132 - cirrus,vpbr-mute-en : During the attack state, if the vpbr-max-attn value 133 is reached, the error condition still remain 133 is reached, the error condition still remains, and this bit is set, the audio 134 is muted. 134 is muted. 135 135 136 Example: 136 Example: 137 137 138 cs35l36: cs35l36@40 { 138 cs35l36: cs35l36@40 { 139 compatible = "cirrus,cs35l36"; 139 compatible = "cirrus,cs35l36"; 140 reg = <0x40>; 140 reg = <0x40>; 141 VA-supply = <&dummy_vreg>; 141 VA-supply = <&dummy_vreg>; 142 VP-supply = <&dummy_vreg>; 142 VP-supply = <&dummy_vreg>; 143 reset-gpios = <&gpio0 54 0>; 143 reset-gpios = <&gpio0 54 0>; 144 interrupt-parent = <&gpio8>; 144 interrupt-parent = <&gpio8>; 145 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 145 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 146 146 147 cirrus,boost-ind-nanohenry = <1000>; 147 cirrus,boost-ind-nanohenry = <1000>; 148 cirrus,boost-ctl-millivolt = <10000>; 148 cirrus,boost-ctl-millivolt = <10000>; 149 cirrus,boost-peak-milliamp = <4500>; 149 cirrus,boost-peak-milliamp = <4500>; 150 cirrus,boost-ctl-select = <0x00>; 150 cirrus,boost-ctl-select = <0x00>; 151 cirrus,weak-fet-delay = <0x04>; 151 cirrus,weak-fet-delay = <0x04>; 152 cirrus,weak-fet-thld = <0x01>; 152 cirrus,weak-fet-thld = <0x01>; 153 cirrus,temp-warn-threshold = <0x01>; 153 cirrus,temp-warn-threshold = <0x01>; 154 cirrus,multi-amp-mode; 154 cirrus,multi-amp-mode; 155 cirrus,irq-drive-select = <0x01>; 155 cirrus,irq-drive-select = <0x01>; 156 cirrus,irq-gpio-select = <0x01>; 156 cirrus,irq-gpio-select = <0x01>; 157 157 158 cirrus,vpbr-config { 158 cirrus,vpbr-config { 159 cirrus,vpbr-en = <0x00>; 159 cirrus,vpbr-en = <0x00>; 160 cirrus,vpbr-thld = <0x05>; 160 cirrus,vpbr-thld = <0x05>; 161 cirrus,vpbr-atk-rate = <0x02>; 161 cirrus,vpbr-atk-rate = <0x02>; 162 cirrus,vpbr-atk-vol = <0x01>; 162 cirrus,vpbr-atk-vol = <0x01>; 163 cirrus,vpbr-max-attn = <0x09>; 163 cirrus,vpbr-max-attn = <0x09>; 164 cirrus,vpbr-wait = <0x01>; 164 cirrus,vpbr-wait = <0x01>; 165 cirrus,vpbr-rel-rate = <0x05>; 165 cirrus,vpbr-rel-rate = <0x05>; 166 cirrus,vpbr-mute-en = <0x00>; 166 cirrus,vpbr-mute-en = <0x00>; 167 }; 167 }; 168 }; 168 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.