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