~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/cs35l35.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 CS35L35 Boosted Speaker Amplifier
  2 
  3 Required properties:
  4 
  5   - compatible : "cirrus,cs35l35"
  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   - interrupts : IRQ line info CS35L35.
 14     (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
 15     for further information relating to interrupt properties)
 16 
 17  - cirrus,boost-ind-nanohenry: Inductor value for boost converter. The value is
 18     in nH and they can be values of 1000nH, 1200nH, 1500nH, and 2200nH.
 19 
 20 Optional properties:
 21   - reset-gpios : gpio used to reset the amplifier
 22 
 23   - cirrus,stereo-config : Boolean to determine if there are 2 AMPs for a
 24   Stereo configuration
 25 
 26   - cirrus,audio-channel : Set Location of Audio Signal on Serial Port
 27   0 = Data Packet received on Left I2S Channel
 28   1 = Data Packet received on Right I2S Channel
 29 
 30   - cirrus,advisory-channel : Set Location of Advisory Signal on Serial Port
 31   0 = Data Packet received on Left I2S Channel
 32   1 = Data Packet received on Right I2S Channel
 33 
 34   - cirrus,shared-boost : Boolean to enable ClassH tracking of Advisory Signal
 35   if 2 Devices share Boost BST_CTL
 36 
 37   - cirrus,external-boost : Boolean to specify the device is using an external
 38   boost supply, note that sharing a boost from another cs35l35 would constitute
 39   using an external supply for the slave device
 40 
 41   - cirrus,sp-drv-strength : Value for setting the Serial Port drive strength
 42   Table 3-10 of the datasheet lists drive-strength specifications
 43   0 = 1x (Default)
 44   1 = .5x
 45   - cirrus,sp-drv-unused : Determines how unused slots should be driven on the
 46   Serial Port.
 47   0 - Hi-Z
 48   2 - Drive 0's (Default)
 49   3 - Drive 1's
 50 
 51   - cirrus,bst-pdn-fet-on : Boolean to determine if the Boost PDN control
 52   powers down with a rectification FET On or Off. If VSPK is supplied
 53   externally then FET is off.
 54 
 55   - cirrus,boost-ctl-millivolt : Boost Voltage Value.  Configures the boost
 56     converter's output voltage in mV. The range is from 2600mV to 9000mV with
 57     increments of 100mV.
 58     (Default) VP
 59 
 60   - cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA.
 61   Configures the peak current by monitoring the current through the boost FET.
 62   Range starts at 1680mA and goes to a maximum of 4480mA with increments of
 63   110mA.
 64   (Default) 2.46 Amps
 65 
 66   - cirrus,amp-gain-zc : Boolean to determine if to use Amplifier gain-change
 67   zero-cross
 68 
 69 Optional H/G Algorithm sub-node:
 70 
 71   The cs35l35 node can have a single "cirrus,classh-internal-algo" sub-node
 72   that will disable automatic control of the internal H/G Algorithm.
 73 
 74   It is strongly recommended that the Datasheet be referenced when adjusting
 75   or using these Class H Algorithm controls over the internal Algorithm.
 76   Serious damage can occur to the Device and surrounding components.
 77 
 78   - cirrus,classh-internal-algo : Sub-node for the Internal Class H Algorithm
 79   See Section 4.3 Internal Class H Algorithm in the Datasheet.
 80   If not used, the device manages the ClassH Algorithm internally.
 81 
 82 Optional properties for the "cirrus,classh-internal-algo" Sub-node
 83 
 84   Section 7.29 Class H Control
 85   - cirrus,classh-bst-overide : Boolean
 86   - cirrus,classh-bst-max-limit
 87   - cirrus,classh-mem-depth
 88 
 89   Section 7.30 Class H Headroom Control
 90   - cirrus,classh-headroom
 91 
 92   Section 7.31 Class H Release Rate
 93   - cirrus,classh-release-rate
 94 
 95   Section 7.32 Class H Weak FET Drive Control
 96   - cirrus,classh-wk-fet-disable
 97   - cirrus,classh-wk-fet-delay
 98   - cirrus,classh-wk-fet-thld
 99 
100   Section 7.34 Class H VP Control
101   - cirrus,classh-vpch-auto
102   - cirrus,classh-vpch-rate
103   - cirrus,classh-vpch-man
104 
105 Optional Monitor Signal Format sub-node:
106 
107   The cs35l35 node can have a single "cirrus,monitor-signal-format" sub-node
108   for adjusting the Depth, Location and Frame of the Monitoring Signals
109   for Algorithms.
110 
111   See Sections 4.8.2 through 4.8.4 Serial-Port Control in the Datasheet
112 
113   -cirrus,monitor-signal-format : Sub-node for the Monitor Signaling Formatting
114   on the I2S Port. Each of the 3 8 bit values in the array contain the settings
115   for depth, location, and frame.
116 
117   If not used, the defaults for the 6 monitor signals is used.
118 
119   Sections 7.44 - 7.53 lists values for the depth, location, and frame
120   for each monitoring signal.
121 
122   - cirrus,imon : 4 8 bit values to set the depth, location, frame and ADC
123   scale of the IMON monitor signal.
124 
125   - cirrus,vmon : 3 8 bit values to set the depth, location, and frame
126   of the VMON monitor signal.
127 
128   - cirrus,vpmon : 3 8 bit values to set the depth, location, and frame
129   of the VPMON monitor signal.
130 
131   - cirrus,vbstmon : 3 8 bit values to set the depth, location, and frame
132   of the VBSTMON monitor signal
133 
134   - cirrus,vpbrstat : 3 8 bit values to set the depth, location, and frame
135   of the VPBRSTAT monitor signal
136 
137   - cirrus,zerofill : 3 8 bit values to set the depth, location, and frame\
138   of the ZEROFILL packet in the monitor signal
139 
140 Example:
141 
142 cs35l35: cs35l35@20 {
143         compatible = "cirrus,cs35l35";
144         reg = <0x20>;
145         VA-supply = <&dummy_vreg>;
146         VP-supply = <&dummy_vreg>;
147         reset-gpios = <&axi_gpio 54 0>;
148         interrupt-parent = <&gpio8>;
149         interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
150         cirrus,boost-ctl-millivolt = <9000>;
151 
152         cirrus,stereo-config;
153         cirrus,audio-channel = <0x00>;
154         cirrus,advisory-channel = <0x01>;
155         cirrus,shared-boost;
156 
157         cirrus,classh-internal-algo {
158                 cirrus,classh-bst-overide;
159                 cirrus,classh-bst-max-limit = <0x01>;
160                 cirrus,classh-mem-depth = <0x01>;
161                 cirrus,classh-release-rate = <0x08>;
162                 cirrus,classh-headroom-millivolt = <0x0B>;
163                 cirrus,classh-wk-fet-disable = <0x01>;
164                 cirrus,classh-wk-fet-delay = <0x04>;
165                 cirrus,classh-wk-fet-thld = <0x01>;
166                 cirrus,classh-vpch-auto = <0x01>;
167                 cirrus,classh-vpch-rate = <0x02>;
168                 cirrus,classh-vpch-man = <0x05>;
169         };
170 
171         /* Depth, Location, Frame */
172         cirrus,monitor-signal-format {
173                 cirrus,imon = /bits/ 8 <0x03 0x00 0x01>;
174                 cirrus,vmon = /bits/ 8 <0x03 0x00 0x00>;
175                 cirrus,vpmon = /bits/ 8 <0x03 0x04 0x00>;
176                 cirrus,vbstmon = /bits/ 8 <0x03 0x04 0x01>;
177                 cirrus,vpbrstat = /bits/ 8 <0x00 0x04 0x00>;
178                 cirrus,zerofill = /bits/ 8 <0x00 0x00 0x00>;
179         };
180 
181 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php