brintos

brintos / linux-shallow public Read only

0
0
Text · 5.7 KiB · d34117b Raw
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