cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cs35l36.txt (5824B)


      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};