1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Copyright (c) 2019, Linaro Ltd. 3 * Copyright (c) 2019, Linaro Ltd. 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 10 #include <dt-bindings/regulator/qcom,rpmh-regu 10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11 #include <dt-bindings/sound/qcom,q6afe.h> 11 #include <dt-bindings/sound/qcom,q6afe.h> 12 #include <dt-bindings/sound/qcom,q6asm.h> 12 #include <dt-bindings/sound/qcom,q6asm.h> 13 #include "sdm845.dtsi" 13 #include "sdm845.dtsi" 14 #include "sdm845-wcd9340.dtsi" 14 #include "sdm845-wcd9340.dtsi" 15 #include "pm8998.dtsi" 15 #include "pm8998.dtsi" 16 #include "pmi8998.dtsi" 16 #include "pmi8998.dtsi" 17 17 18 / { 18 / { 19 model = "Thundercomm Dragonboard 845c" 19 model = "Thundercomm Dragonboard 845c"; 20 compatible = "thundercomm,db845c", "qc 20 compatible = "thundercomm,db845c", "qcom,sdm845"; 21 qcom,msm-id = <341 0x20001>; 21 qcom,msm-id = <341 0x20001>; 22 qcom,board-id = <8 0>; 22 qcom,board-id = <8 0>; 23 23 24 aliases { 24 aliases { 25 serial0 = &uart9; 25 serial0 = &uart9; 26 serial1 = &uart6; 26 serial1 = &uart6; 27 }; 27 }; 28 28 29 chosen { 29 chosen { 30 stdout-path = "serial0:115200n 30 stdout-path = "serial0:115200n8"; 31 }; 31 }; 32 32 33 /* Fixed crystal oscillator dedicated 33 /* Fixed crystal oscillator dedicated to MCP2517FD */ 34 clk40M: can-clock { 34 clk40M: can-clock { 35 compatible = "fixed-clock"; 35 compatible = "fixed-clock"; 36 #clock-cells = <0>; 36 #clock-cells = <0>; 37 clock-frequency = <40000000>; 37 clock-frequency = <40000000>; 38 }; 38 }; 39 39 40 dc12v: dc12v-regulator { 40 dc12v: dc12v-regulator { 41 compatible = "regulator-fixed" 41 compatible = "regulator-fixed"; 42 regulator-name = "DC12V"; 42 regulator-name = "DC12V"; 43 regulator-min-microvolt = <120 43 regulator-min-microvolt = <12000000>; 44 regulator-max-microvolt = <120 44 regulator-max-microvolt = <12000000>; 45 regulator-always-on; 45 regulator-always-on; 46 }; 46 }; 47 47 48 gpio-keys { 48 gpio-keys { 49 compatible = "gpio-keys"; 49 compatible = "gpio-keys"; 50 autorepeat; 50 autorepeat; 51 51 52 pinctrl-names = "default"; 52 pinctrl-names = "default"; 53 pinctrl-0 = <&vol_up_pin_a>; 53 pinctrl-0 = <&vol_up_pin_a>; 54 54 55 key-vol-up { 55 key-vol-up { 56 label = "Volume Up"; 56 label = "Volume Up"; 57 linux,code = <KEY_VOLU 57 linux,code = <KEY_VOLUMEUP>; 58 gpios = <&pm8998_gpios 58 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; 59 }; 59 }; 60 }; 60 }; 61 61 62 leds { 62 leds { 63 compatible = "gpio-leds"; 63 compatible = "gpio-leds"; 64 64 65 led-0 { 65 led-0 { 66 label = "green:user4"; 66 label = "green:user4"; 67 function = LED_FUNCTIO 67 function = LED_FUNCTION_INDICATOR; 68 color = <LED_COLOR_ID_ 68 color = <LED_COLOR_ID_GREEN>; 69 gpios = <&pm8998_gpios 69 gpios = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>; >> 70 linux,default-trigger = "panic-indicator"; 70 default-state = "off"; 71 default-state = "off"; 71 panic-indicator; << 72 }; 72 }; 73 73 74 led-1 { 74 led-1 { 75 label = "yellow:wlan"; 75 label = "yellow:wlan"; 76 function = LED_FUNCTIO 76 function = LED_FUNCTION_WLAN; 77 color = <LED_COLOR_ID_ 77 color = <LED_COLOR_ID_YELLOW>; 78 gpios = <&pm8998_gpios 78 gpios = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>; 79 linux,default-trigger 79 linux,default-trigger = "phy0tx"; 80 default-state = "off"; 80 default-state = "off"; 81 }; 81 }; 82 82 83 led-2 { 83 led-2 { 84 label = "blue:bt"; 84 label = "blue:bt"; 85 function = LED_FUNCTIO 85 function = LED_FUNCTION_BLUETOOTH; 86 color = <LED_COLOR_ID_ 86 color = <LED_COLOR_ID_BLUE>; 87 gpios = <&pm8998_gpios 87 gpios = <&pm8998_gpios 5 GPIO_ACTIVE_HIGH>; 88 linux,default-trigger 88 linux,default-trigger = "bluetooth-power"; 89 default-state = "off"; 89 default-state = "off"; 90 }; 90 }; 91 }; 91 }; 92 92 93 hdmi-out { 93 hdmi-out { 94 compatible = "hdmi-connector"; 94 compatible = "hdmi-connector"; 95 type = "a"; 95 type = "a"; 96 96 97 port { 97 port { 98 hdmi_con: endpoint { 98 hdmi_con: endpoint { 99 remote-endpoin 99 remote-endpoint = <<9611_out>; 100 }; 100 }; 101 }; 101 }; 102 }; 102 }; 103 103 104 reserved-memory { << 105 /* Cont splash region set up b << 106 cont_splash_mem: framebuffer@9 << 107 reg = <0x0 0x9d400000 << 108 no-map; << 109 }; << 110 }; << 111 << 112 lt9611_1v8: lt9611-vdd18-regulator { 104 lt9611_1v8: lt9611-vdd18-regulator { 113 compatible = "regulator-fixed" 105 compatible = "regulator-fixed"; 114 regulator-name = "LT9611_1V8"; 106 regulator-name = "LT9611_1V8"; 115 107 116 vin-supply = <&vdc_5v>; 108 vin-supply = <&vdc_5v>; 117 regulator-min-microvolt = <180 109 regulator-min-microvolt = <1800000>; 118 regulator-max-microvolt = <180 110 regulator-max-microvolt = <1800000>; 119 111 120 gpio = <&tlmm 89 GPIO_ACTIVE_H 112 gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 121 enable-active-high; 113 enable-active-high; 122 }; 114 }; 123 115 124 lt9611_3v3: lt9611-3v3 { 116 lt9611_3v3: lt9611-3v3 { 125 compatible = "regulator-fixed" 117 compatible = "regulator-fixed"; 126 regulator-name = "LT9611_3V3"; 118 regulator-name = "LT9611_3V3"; 127 119 128 vin-supply = <&vdc_3v3>; 120 vin-supply = <&vdc_3v3>; 129 regulator-min-microvolt = <330 121 regulator-min-microvolt = <3300000>; 130 regulator-max-microvolt = <330 122 regulator-max-microvolt = <3300000>; 131 123 132 /* 124 /* 133 * TODO: make it possible to d 125 * TODO: make it possible to drive same GPIO from two clients 134 * gpio = <&tlmm 89 GPIO_ACTIV 126 * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 135 * enable-active-high; 127 * enable-active-high; 136 */ 128 */ 137 }; 129 }; 138 130 139 pcie0_1p05v: pcie-0-1p05v-regulator { 131 pcie0_1p05v: pcie-0-1p05v-regulator { 140 compatible = "regulator-fixed" 132 compatible = "regulator-fixed"; 141 regulator-name = "PCIE0_1.05V" 133 regulator-name = "PCIE0_1.05V"; 142 134 143 vin-supply = <&vbat>; 135 vin-supply = <&vbat>; 144 regulator-min-microvolt = <105 136 regulator-min-microvolt = <1050000>; 145 regulator-max-microvolt = <105 137 regulator-max-microvolt = <1050000>; 146 138 147 /* 139 /* 148 * TODO: make it possible to d 140 * TODO: make it possible to drive same GPIO from two clients 149 * gpio = <&tlmm 90 GPIO_ACTIV 141 * gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>; 150 * enable-active-high; 142 * enable-active-high; 151 */ 143 */ 152 }; 144 }; 153 145 154 cam0_dvdd_1v2: cam0-dvdd-1v2-regulator 146 cam0_dvdd_1v2: cam0-dvdd-1v2-regulator { 155 compatible = "regulator-fixed" 147 compatible = "regulator-fixed"; 156 regulator-name = "CAM0_DVDD_1V 148 regulator-name = "CAM0_DVDD_1V2"; 157 regulator-min-microvolt = <120 149 regulator-min-microvolt = <1200000>; 158 regulator-max-microvolt = <120 150 regulator-max-microvolt = <1200000>; 159 enable-active-high; 151 enable-active-high; 160 gpio = <&pm8998_gpios 12 GPIO_ 152 gpio = <&pm8998_gpios 12 GPIO_ACTIVE_HIGH>; 161 pinctrl-names = "default"; 153 pinctrl-names = "default"; 162 pinctrl-0 = <&cam0_dvdd_1v2_en 154 pinctrl-0 = <&cam0_dvdd_1v2_en_default>; 163 vin-supply = <&vbat>; 155 vin-supply = <&vbat>; 164 }; 156 }; 165 157 166 cam0_avdd_2v8: cam0-avdd-2v8-regulator 158 cam0_avdd_2v8: cam0-avdd-2v8-regulator { 167 compatible = "regulator-fixed" 159 compatible = "regulator-fixed"; 168 regulator-name = "CAM0_AVDD_2V 160 regulator-name = "CAM0_AVDD_2V8"; 169 regulator-min-microvolt = <280 161 regulator-min-microvolt = <2800000>; 170 regulator-max-microvolt = <280 162 regulator-max-microvolt = <2800000>; 171 enable-active-high; 163 enable-active-high; 172 gpio = <&pm8998_gpios 10 GPIO_ 164 gpio = <&pm8998_gpios 10 GPIO_ACTIVE_HIGH>; 173 pinctrl-names = "default"; 165 pinctrl-names = "default"; 174 pinctrl-0 = <&cam0_avdd_2v8_en 166 pinctrl-0 = <&cam0_avdd_2v8_en_default>; 175 vin-supply = <&vbat>; 167 vin-supply = <&vbat>; 176 }; 168 }; 177 169 178 /* This regulator is enabled when the 170 /* This regulator is enabled when the VREG_LVS1A_1P8 trace is enabled */ 179 cam3_avdd_2v8: cam3-avdd-2v8-regulator 171 cam3_avdd_2v8: cam3-avdd-2v8-regulator { 180 compatible = "regulator-fixed" 172 compatible = "regulator-fixed"; 181 regulator-name = "CAM3_AVDD_2V 173 regulator-name = "CAM3_AVDD_2V8"; 182 regulator-min-microvolt = <280 174 regulator-min-microvolt = <2800000>; 183 regulator-max-microvolt = <280 175 regulator-max-microvolt = <2800000>; 184 regulator-always-on; 176 regulator-always-on; 185 vin-supply = <&vbat>; 177 vin-supply = <&vbat>; 186 }; 178 }; 187 179 188 pcie0_3p3v_dual: vldo-3v3-regulator { 180 pcie0_3p3v_dual: vldo-3v3-regulator { 189 compatible = "regulator-fixed" 181 compatible = "regulator-fixed"; 190 regulator-name = "VLDO_3V3"; 182 regulator-name = "VLDO_3V3"; 191 183 192 vin-supply = <&vbat>; 184 vin-supply = <&vbat>; 193 regulator-min-microvolt = <330 185 regulator-min-microvolt = <3300000>; 194 regulator-max-microvolt = <330 186 regulator-max-microvolt = <3300000>; 195 187 196 gpio = <&tlmm 90 GPIO_ACTIVE_H 188 gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>; 197 enable-active-high; 189 enable-active-high; 198 /* << 199 * FIXME: this regulator is re << 200 * port. Keep it always on unt << 201 * relationship. << 202 */ << 203 regulator-always-on; << 204 190 205 pinctrl-names = "default"; 191 pinctrl-names = "default"; 206 pinctrl-0 = <&pcie0_pwren_stat 192 pinctrl-0 = <&pcie0_pwren_state>; 207 }; 193 }; 208 194 209 v5p0_hdmiout: v5p0-hdmiout-regulator { 195 v5p0_hdmiout: v5p0-hdmiout-regulator { 210 compatible = "regulator-fixed" 196 compatible = "regulator-fixed"; 211 regulator-name = "V5P0_HDMIOUT 197 regulator-name = "V5P0_HDMIOUT"; 212 198 213 vin-supply = <&vdc_5v>; 199 vin-supply = <&vdc_5v>; 214 regulator-min-microvolt = <500 200 regulator-min-microvolt = <500000>; 215 regulator-max-microvolt = <500 201 regulator-max-microvolt = <500000>; 216 202 217 /* 203 /* 218 * TODO: make it possible to d 204 * TODO: make it possible to drive same GPIO from two clients 219 * gpio = <&tlmm 89 GPIO_ACTIV 205 * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 220 * enable-active-high; 206 * enable-active-high; 221 */ 207 */ 222 }; 208 }; 223 209 224 vbat: vbat-regulator { 210 vbat: vbat-regulator { 225 compatible = "regulator-fixed" 211 compatible = "regulator-fixed"; 226 regulator-name = "VBAT"; 212 regulator-name = "VBAT"; 227 213 228 vin-supply = <&dc12v>; 214 vin-supply = <&dc12v>; 229 regulator-min-microvolt = <420 215 regulator-min-microvolt = <4200000>; 230 regulator-max-microvolt = <420 216 regulator-max-microvolt = <4200000>; 231 regulator-always-on; 217 regulator-always-on; 232 }; 218 }; 233 219 234 vbat_som: vbat-som-regulator { 220 vbat_som: vbat-som-regulator { 235 compatible = "regulator-fixed" 221 compatible = "regulator-fixed"; 236 regulator-name = "VBAT_SOM"; 222 regulator-name = "VBAT_SOM"; 237 223 238 vin-supply = <&dc12v>; 224 vin-supply = <&dc12v>; 239 regulator-min-microvolt = <420 225 regulator-min-microvolt = <4200000>; 240 regulator-max-microvolt = <420 226 regulator-max-microvolt = <4200000>; 241 regulator-always-on; 227 regulator-always-on; 242 }; 228 }; 243 229 244 vdc_3v3: vdc-3v3-regulator { 230 vdc_3v3: vdc-3v3-regulator { 245 compatible = "regulator-fixed" 231 compatible = "regulator-fixed"; 246 regulator-name = "VDC_3V3"; 232 regulator-name = "VDC_3V3"; 247 vin-supply = <&dc12v>; 233 vin-supply = <&dc12v>; 248 regulator-min-microvolt = <330 234 regulator-min-microvolt = <3300000>; 249 regulator-max-microvolt = <330 235 regulator-max-microvolt = <3300000>; 250 regulator-always-on; 236 regulator-always-on; 251 }; 237 }; 252 238 253 vdc_5v: vdc-5v-regulator { 239 vdc_5v: vdc-5v-regulator { 254 compatible = "regulator-fixed" 240 compatible = "regulator-fixed"; 255 regulator-name = "VDC_5V"; 241 regulator-name = "VDC_5V"; 256 242 257 vin-supply = <&dc12v>; 243 vin-supply = <&dc12v>; 258 regulator-min-microvolt = <500 244 regulator-min-microvolt = <500000>; 259 regulator-max-microvolt = <500 245 regulator-max-microvolt = <500000>; 260 regulator-always-on; 246 regulator-always-on; 261 }; 247 }; 262 248 263 vreg_s4a_1p8: vreg-s4a-1p8 { 249 vreg_s4a_1p8: vreg-s4a-1p8 { 264 compatible = "regulator-fixed" 250 compatible = "regulator-fixed"; 265 regulator-name = "vreg_s4a_1p8 251 regulator-name = "vreg_s4a_1p8"; 266 252 267 regulator-min-microvolt = <180 253 regulator-min-microvolt = <1800000>; 268 regulator-max-microvolt = <180 254 regulator-max-microvolt = <1800000>; 269 regulator-always-on; 255 regulator-always-on; 270 }; 256 }; 271 257 272 vph_pwr: vph-pwr-regulator { 258 vph_pwr: vph-pwr-regulator { 273 compatible = "regulator-fixed" 259 compatible = "regulator-fixed"; 274 regulator-name = "vph_pwr"; 260 regulator-name = "vph_pwr"; 275 261 276 vin-supply = <&vbat_som>; 262 vin-supply = <&vbat_som>; 277 }; 263 }; 278 }; 264 }; 279 265 280 &adsp_pas { 266 &adsp_pas { 281 status = "okay"; 267 status = "okay"; 282 268 283 firmware-name = "qcom/sdm845/adsp.mbn" 269 firmware-name = "qcom/sdm845/adsp.mbn"; 284 }; 270 }; 285 271 286 &apps_rsc { 272 &apps_rsc { 287 regulators-0 { 273 regulators-0 { 288 compatible = "qcom,pm8998-rpmh 274 compatible = "qcom,pm8998-rpmh-regulators"; 289 qcom,pmic-id = "a"; 275 qcom,pmic-id = "a"; 290 vdd-s1-supply = <&vph_pwr>; 276 vdd-s1-supply = <&vph_pwr>; 291 vdd-s2-supply = <&vph_pwr>; 277 vdd-s2-supply = <&vph_pwr>; 292 vdd-s3-supply = <&vph_pwr>; 278 vdd-s3-supply = <&vph_pwr>; 293 vdd-s4-supply = <&vph_pwr>; 279 vdd-s4-supply = <&vph_pwr>; 294 vdd-s5-supply = <&vph_pwr>; 280 vdd-s5-supply = <&vph_pwr>; 295 vdd-s6-supply = <&vph_pwr>; 281 vdd-s6-supply = <&vph_pwr>; 296 vdd-s7-supply = <&vph_pwr>; 282 vdd-s7-supply = <&vph_pwr>; 297 vdd-s8-supply = <&vph_pwr>; 283 vdd-s8-supply = <&vph_pwr>; 298 vdd-s9-supply = <&vph_pwr>; 284 vdd-s9-supply = <&vph_pwr>; 299 vdd-s10-supply = <&vph_pwr>; 285 vdd-s10-supply = <&vph_pwr>; 300 vdd-s11-supply = <&vph_pwr>; 286 vdd-s11-supply = <&vph_pwr>; 301 vdd-s12-supply = <&vph_pwr>; 287 vdd-s12-supply = <&vph_pwr>; 302 vdd-s13-supply = <&vph_pwr>; 288 vdd-s13-supply = <&vph_pwr>; 303 vdd-l1-l27-supply = <&vreg_s7a 289 vdd-l1-l27-supply = <&vreg_s7a_1p025>; 304 vdd-l2-l8-l17-supply = <&vreg_ 290 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 305 vdd-l3-l11-supply = <&vreg_s7a 291 vdd-l3-l11-supply = <&vreg_s7a_1p025>; 306 vdd-l4-l5-supply = <&vreg_s7a_ 292 vdd-l4-l5-supply = <&vreg_s7a_1p025>; 307 vdd-l6-supply = <&vph_pwr>; 293 vdd-l6-supply = <&vph_pwr>; 308 vdd-l7-l12-l14-l15-supply = <& 294 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 309 vdd-l9-supply = <&vreg_bob>; 295 vdd-l9-supply = <&vreg_bob>; 310 vdd-l10-l23-l25-supply = <&vre 296 vdd-l10-l23-l25-supply = <&vreg_bob>; 311 vdd-l13-l19-l21-supply = <&vre 297 vdd-l13-l19-l21-supply = <&vreg_bob>; 312 vdd-l16-l28-supply = <&vreg_bo 298 vdd-l16-l28-supply = <&vreg_bob>; 313 vdd-l18-l22-supply = <&vreg_bo 299 vdd-l18-l22-supply = <&vreg_bob>; 314 vdd-l20-l24-supply = <&vreg_bo 300 vdd-l20-l24-supply = <&vreg_bob>; 315 vdd-l26-supply = <&vreg_s3a_1p 301 vdd-l26-supply = <&vreg_s3a_1p35>; 316 vin-lvs-1-2-supply = <&vreg_s4 302 vin-lvs-1-2-supply = <&vreg_s4a_1p8>; 317 303 318 vreg_s3a_1p35: smps3 { 304 vreg_s3a_1p35: smps3 { 319 regulator-min-microvol 305 regulator-min-microvolt = <1352000>; 320 regulator-max-microvol 306 regulator-max-microvolt = <1352000>; 321 }; 307 }; 322 308 323 vreg_s5a_2p04: smps5 { 309 vreg_s5a_2p04: smps5 { 324 regulator-min-microvol 310 regulator-min-microvolt = <1904000>; 325 regulator-max-microvol 311 regulator-max-microvolt = <2040000>; 326 }; 312 }; 327 313 328 vreg_s7a_1p025: smps7 { 314 vreg_s7a_1p025: smps7 { 329 regulator-min-microvol 315 regulator-min-microvolt = <900000>; 330 regulator-max-microvol 316 regulator-max-microvolt = <1028000>; 331 }; 317 }; 332 318 333 vreg_l1a_0p875: ldo1 { 319 vreg_l1a_0p875: ldo1 { 334 regulator-min-microvol 320 regulator-min-microvolt = <880000>; 335 regulator-max-microvol 321 regulator-max-microvolt = <880000>; 336 regulator-initial-mode 322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 337 }; 323 }; 338 324 339 vreg_l5a_0p8: ldo5 { 325 vreg_l5a_0p8: ldo5 { 340 regulator-min-microvol 326 regulator-min-microvolt = <800000>; 341 regulator-max-microvol 327 regulator-max-microvolt = <800000>; 342 regulator-initial-mode 328 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 343 }; 329 }; 344 330 345 vreg_l12a_1p8: ldo12 { 331 vreg_l12a_1p8: ldo12 { 346 regulator-min-microvol 332 regulator-min-microvolt = <1800000>; 347 regulator-max-microvol 333 regulator-max-microvolt = <1800000>; 348 regulator-initial-mode 334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 349 }; 335 }; 350 336 351 vreg_l7a_1p8: ldo7 { 337 vreg_l7a_1p8: ldo7 { 352 regulator-min-microvol 338 regulator-min-microvolt = <1800000>; 353 regulator-max-microvol 339 regulator-max-microvolt = <1800000>; 354 regulator-initial-mode 340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 355 }; 341 }; 356 342 357 vreg_l13a_2p95: ldo13 { 343 vreg_l13a_2p95: ldo13 { 358 regulator-min-microvol 344 regulator-min-microvolt = <1800000>; 359 regulator-max-microvol 345 regulator-max-microvolt = <2960000>; 360 regulator-initial-mode 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 361 }; 347 }; 362 348 363 vreg_l17a_1p3: ldo17 { 349 vreg_l17a_1p3: ldo17 { 364 regulator-min-microvol 350 regulator-min-microvolt = <1304000>; 365 regulator-max-microvol 351 regulator-max-microvolt = <1304000>; 366 regulator-initial-mode 352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 367 }; 353 }; 368 354 369 vreg_l20a_2p95: ldo20 { 355 vreg_l20a_2p95: ldo20 { 370 regulator-min-microvol 356 regulator-min-microvolt = <2960000>; 371 regulator-max-microvol 357 regulator-max-microvolt = <2968000>; 372 regulator-initial-mode 358 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 373 }; 359 }; 374 360 375 vreg_l21a_2p95: ldo21 { 361 vreg_l21a_2p95: ldo21 { 376 regulator-min-microvol 362 regulator-min-microvolt = <2960000>; 377 regulator-max-microvol 363 regulator-max-microvolt = <2968000>; 378 regulator-initial-mode 364 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 379 }; 365 }; 380 366 381 vreg_l24a_3p075: ldo24 { 367 vreg_l24a_3p075: ldo24 { 382 regulator-min-microvol 368 regulator-min-microvolt = <3088000>; 383 regulator-max-microvol 369 regulator-max-microvolt = <3088000>; 384 regulator-initial-mode 370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 385 }; 371 }; 386 372 387 vreg_l25a_3p3: ldo25 { 373 vreg_l25a_3p3: ldo25 { 388 regulator-min-microvol 374 regulator-min-microvolt = <3300000>; 389 regulator-max-microvol 375 regulator-max-microvolt = <3312000>; 390 regulator-initial-mode 376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 391 }; 377 }; 392 378 393 vreg_l26a_1p2: ldo26 { 379 vreg_l26a_1p2: ldo26 { 394 regulator-min-microvol 380 regulator-min-microvolt = <1200000>; 395 regulator-max-microvol 381 regulator-max-microvolt = <1200000>; 396 regulator-initial-mode 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 397 }; 383 }; 398 384 399 vreg_lvs1a_1p8: lvs1 { 385 vreg_lvs1a_1p8: lvs1 { 400 regulator-min-microvol 386 regulator-min-microvolt = <1800000>; 401 regulator-max-microvol 387 regulator-max-microvolt = <1800000>; 402 regulator-always-on; 388 regulator-always-on; 403 }; 389 }; 404 390 405 vreg_lvs2a_1p8: lvs2 { 391 vreg_lvs2a_1p8: lvs2 { 406 regulator-min-microvol 392 regulator-min-microvolt = <1800000>; 407 regulator-max-microvol 393 regulator-max-microvolt = <1800000>; 408 regulator-always-on; 394 regulator-always-on; 409 }; 395 }; 410 }; 396 }; 411 397 412 regulators-1 { 398 regulators-1 { 413 compatible = "qcom,pmi8998-rpm 399 compatible = "qcom,pmi8998-rpmh-regulators"; 414 qcom,pmic-id = "b"; 400 qcom,pmic-id = "b"; 415 401 416 vdd-bob-supply = <&vph_pwr>; 402 vdd-bob-supply = <&vph_pwr>; 417 403 418 vreg_bob: bob { 404 vreg_bob: bob { 419 regulator-min-microvol 405 regulator-min-microvolt = <3312000>; 420 regulator-max-microvol 406 regulator-max-microvolt = <3600000>; 421 regulator-initial-mode 407 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 422 regulator-allow-bypass 408 regulator-allow-bypass; 423 }; 409 }; 424 }; 410 }; 425 }; 411 }; 426 412 427 &camss { !! 413 &cdsp_pas { 428 status = "okay"; 414 status = "okay"; >> 415 firmware-name = "qcom/sdm845/cdsp.mbn"; >> 416 }; 429 417 430 vdda-phy-supply = <&vreg_l1a_0p875>; !! 418 &dsi0 { 431 vdda-pll-supply = <&vreg_l26a_1p2>; !! 419 status = "okay"; >> 420 vdda-supply = <&vreg_l26a_1p2>; >> 421 >> 422 ports { >> 423 port@1 { >> 424 endpoint { >> 425 remote-endpoint = <<9611_a>; >> 426 data-lanes = <0 1 2 3>; >> 427 }; >> 428 }; >> 429 }; 432 }; 430 }; 433 431 434 &cdsp_pas { !! 432 &dsi0_phy { 435 status = "okay"; 433 status = "okay"; 436 firmware-name = "qcom/sdm845/cdsp.mbn" !! 434 vdds-supply = <&vreg_l1a_0p875>; 437 }; 435 }; 438 436 439 &gcc { 437 &gcc { 440 protected-clocks = <GCC_QSPI_CORE_CLK> 438 protected-clocks = <GCC_QSPI_CORE_CLK>, 441 <GCC_QSPI_CORE_CLK_ 439 <GCC_QSPI_CORE_CLK_SRC>, 442 <GCC_QSPI_CNOC_PERI 440 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 443 <GCC_LPASS_Q6_AXI_C 441 <GCC_LPASS_Q6_AXI_CLK>, 444 <GCC_LPASS_SWAY_CLK 442 <GCC_LPASS_SWAY_CLK>; 445 }; 443 }; 446 444 447 &gmu { 445 &gmu { 448 status = "okay"; 446 status = "okay"; 449 }; 447 }; 450 448 451 &gpi_dma0 { 449 &gpi_dma0 { 452 status = "okay"; 450 status = "okay"; 453 }; 451 }; 454 452 455 &gpi_dma1 { 453 &gpi_dma1 { 456 status = "okay"; 454 status = "okay"; 457 }; 455 }; 458 456 459 &gpu { 457 &gpu { 460 status = "okay"; 458 status = "okay"; 461 zap-shader { 459 zap-shader { 462 memory-region = <&gpu_mem>; 460 memory-region = <&gpu_mem>; 463 firmware-name = "qcom/sdm845/a 461 firmware-name = "qcom/sdm845/a630_zap.mbn"; 464 }; 462 }; 465 }; 463 }; 466 464 467 &i2c10 { 465 &i2c10 { 468 status = "okay"; 466 status = "okay"; 469 clock-frequency = <400000>; 467 clock-frequency = <400000>; 470 468 471 lt9611_codec: hdmi-bridge@3b { 469 lt9611_codec: hdmi-bridge@3b { 472 compatible = "lontium,lt9611"; 470 compatible = "lontium,lt9611"; 473 reg = <0x3b>; 471 reg = <0x3b>; 474 #sound-dai-cells = <1>; 472 #sound-dai-cells = <1>; 475 473 476 interrupts-extended = <&tlmm 8 474 interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>; 477 475 478 reset-gpios = <&tlmm 128 GPIO_ 476 reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>; 479 477 480 vdd-supply = <<9611_1v8>; 478 vdd-supply = <<9611_1v8>; 481 vcc-supply = <<9611_3v3>; 479 vcc-supply = <<9611_3v3>; 482 480 483 pinctrl-names = "default"; 481 pinctrl-names = "default"; 484 pinctrl-0 = <<9611_irq_pin>, 482 pinctrl-0 = <<9611_irq_pin>, <&dsi_sw_sel>; 485 483 486 ports { 484 ports { 487 #address-cells = <1>; 485 #address-cells = <1>; 488 #size-cells = <0>; 486 #size-cells = <0>; 489 487 490 port@0 { 488 port@0 { 491 reg = <0>; 489 reg = <0>; 492 490 493 lt9611_a: endp 491 lt9611_a: endpoint { 494 remote !! 492 remote-endpoint = <&dsi0_out>; 495 }; << 496 }; << 497 << 498 port@1 { << 499 reg = <1>; << 500 << 501 lt9611_b: endp << 502 remote << 503 }; 493 }; 504 }; 494 }; 505 495 506 port@2 { 496 port@2 { 507 reg = <2>; 497 reg = <2>; 508 498 509 lt9611_out: en 499 lt9611_out: endpoint { 510 remote 500 remote-endpoint = <&hdmi_con>; 511 }; 501 }; 512 }; 502 }; 513 }; 503 }; 514 }; 504 }; 515 }; 505 }; 516 506 517 &i2c11 { 507 &i2c11 { 518 /* On Low speed expansion */ 508 /* On Low speed expansion */ 519 clock-frequency = <100000>; 509 clock-frequency = <100000>; 520 status = "okay"; 510 status = "okay"; 521 }; 511 }; 522 512 523 &i2c14 { 513 &i2c14 { 524 /* On Low speed expansion */ 514 /* On Low speed expansion */ 525 clock-frequency = <100000>; 515 clock-frequency = <100000>; 526 status = "okay"; 516 status = "okay"; 527 }; 517 }; 528 518 529 &mdss { 519 &mdss { 530 memory-region = <&cont_splash_mem>; << 531 status = "okay"; << 532 }; << 533 << 534 &mdss_dsi0 { << 535 status = "okay"; << 536 vdda-supply = <&vreg_l26a_1p2>; << 537 << 538 qcom,dual-dsi-mode; << 539 qcom,master-dsi; << 540 << 541 ports { << 542 port@1 { << 543 endpoint { << 544 remote-endpoin << 545 data-lanes = < << 546 }; << 547 }; << 548 }; << 549 }; << 550 << 551 &mdss_dsi0_phy { << 552 status = "okay"; << 553 vdds-supply = <&vreg_l1a_0p875>; << 554 }; << 555 << 556 &mdss_dsi1 { << 557 vdda-supply = <&vreg_l26a_1p2>; << 558 << 559 qcom,dual-dsi-mode; << 560 << 561 /* DSI1 is slave, so use DSI0 clocks * << 562 assigned-clock-parents = <&mdss_dsi0_p << 563 << 564 status = "okay"; << 565 << 566 ports { << 567 port@1 { << 568 endpoint { << 569 remote-endpoin << 570 data-lanes = < << 571 }; << 572 }; << 573 }; << 574 }; << 575 << 576 &mdss_dsi1_phy { << 577 vdds-supply = <&vreg_l1a_0p875>; << 578 status = "okay"; 520 status = "okay"; 579 }; 521 }; 580 522 581 &mss_pil { 523 &mss_pil { 582 status = "okay"; 524 status = "okay"; 583 firmware-name = "qcom/sdm845/mba.mbn", 525 firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn"; 584 }; 526 }; 585 527 586 &pcie0 { 528 &pcie0 { 587 status = "okay"; 529 status = "okay"; 588 perst-gpios = <&tlmm 35 GPIO_ACTIVE_LO 530 perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; 589 wake-gpios = <&tlmm 134 GPIO_ACTIVE_HI !! 531 enable-gpio = <&tlmm 134 GPIO_ACTIVE_HIGH>; 590 532 591 vddpe-3v3-supply = <&pcie0_3p3v_dual>; 533 vddpe-3v3-supply = <&pcie0_3p3v_dual>; 592 534 593 pinctrl-names = "default"; 535 pinctrl-names = "default"; 594 pinctrl-0 = <&pcie0_default_state>; 536 pinctrl-0 = <&pcie0_default_state>; 595 }; 537 }; 596 538 597 &pcie0_phy { 539 &pcie0_phy { 598 status = "okay"; 540 status = "okay"; 599 541 600 vdda-phy-supply = <&vreg_l1a_0p875>; 542 vdda-phy-supply = <&vreg_l1a_0p875>; 601 vdda-pll-supply = <&vreg_l26a_1p2>; 543 vdda-pll-supply = <&vreg_l26a_1p2>; 602 }; 544 }; 603 545 604 &pcie1 { 546 &pcie1 { 605 status = "okay"; 547 status = "okay"; 606 perst-gpios = <&tlmm 102 GPIO_ACTIVE_L 548 perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>; 607 549 608 pinctrl-names = "default"; 550 pinctrl-names = "default"; 609 pinctrl-0 = <&pcie1_default_state>; 551 pinctrl-0 = <&pcie1_default_state>; 610 }; 552 }; 611 553 612 &pcie1_phy { 554 &pcie1_phy { 613 status = "okay"; 555 status = "okay"; 614 556 615 vdda-phy-supply = <&vreg_l1a_0p875>; 557 vdda-phy-supply = <&vreg_l1a_0p875>; 616 vdda-pll-supply = <&vreg_l26a_1p2>; 558 vdda-pll-supply = <&vreg_l26a_1p2>; 617 }; 559 }; 618 560 619 &pm8998_gpios { 561 &pm8998_gpios { 620 gpio-line-names = 562 gpio-line-names = 621 "NC", 563 "NC", 622 "NC", 564 "NC", 623 "WLAN_SW_CTRL", 565 "WLAN_SW_CTRL", 624 "NC", 566 "NC", 625 "PM_GPIO5_BLUE_BT_LED", 567 "PM_GPIO5_BLUE_BT_LED", 626 "VOL_UP_N", 568 "VOL_UP_N", 627 "NC", 569 "NC", 628 "ADC_IN1", 570 "ADC_IN1", 629 "PM_GPIO9_YEL_WIFI_LED", 571 "PM_GPIO9_YEL_WIFI_LED", 630 "CAM0_AVDD_EN", 572 "CAM0_AVDD_EN", 631 "NC", 573 "NC", 632 "CAM0_DVDD_EN", 574 "CAM0_DVDD_EN", 633 "PM_GPIO13_GREEN_U4_LED", 575 "PM_GPIO13_GREEN_U4_LED", 634 "DIV_CLK2", 576 "DIV_CLK2", 635 "NC", 577 "NC", 636 "NC", 578 "NC", 637 "NC", 579 "NC", 638 "SMB_STAT", 580 "SMB_STAT", 639 "NC", 581 "NC", 640 "NC", 582 "NC", 641 "ADC_IN2", 583 "ADC_IN2", 642 "OPTION1", 584 "OPTION1", 643 "WCSS_PWR_REQ", 585 "WCSS_PWR_REQ", 644 "PM845_GPIO24", 586 "PM845_GPIO24", 645 "OPTION2", 587 "OPTION2", 646 "PM845_SLB"; 588 "PM845_SLB"; 647 589 648 cam0_dvdd_1v2_en_default: cam0-dvdd-1v 590 cam0_dvdd_1v2_en_default: cam0-dvdd-1v2-en-state { 649 pins = "gpio12"; 591 pins = "gpio12"; 650 function = "normal"; 592 function = "normal"; 651 593 652 bias-pull-up; 594 bias-pull-up; 653 drive-push-pull; 595 drive-push-pull; 654 qcom,drive-strength = <PMIC_GP 596 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>; 655 }; 597 }; 656 598 657 cam0_avdd_2v8_en_default: cam0-avdd-2v 599 cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { 658 pins = "gpio10"; 600 pins = "gpio10"; 659 function = "normal"; 601 function = "normal"; 660 602 661 bias-pull-up; 603 bias-pull-up; 662 drive-push-pull; 604 drive-push-pull; 663 qcom,drive-strength = <PMIC_GP 605 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>; 664 }; 606 }; 665 607 666 vol_up_pin_a: vol-up-active-state { 608 vol_up_pin_a: vol-up-active-state { 667 pins = "gpio6"; 609 pins = "gpio6"; 668 function = "normal"; 610 function = "normal"; 669 input-enable; 611 input-enable; 670 bias-pull-up; 612 bias-pull-up; 671 qcom,drive-strength = <PMIC_GP 613 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 672 }; 614 }; 673 }; 615 }; 674 616 675 &pm8998_resin { 617 &pm8998_resin { 676 linux,code = <KEY_VOLUMEDOWN>; 618 linux,code = <KEY_VOLUMEDOWN>; 677 status = "okay"; 619 status = "okay"; 678 }; 620 }; 679 621 680 &pmi8998_lpg { 622 &pmi8998_lpg { 681 status = "okay"; 623 status = "okay"; 682 624 683 qcom,power-source = <1>; 625 qcom,power-source = <1>; 684 626 685 led@3 { 627 led@3 { 686 reg = <3>; 628 reg = <3>; 687 color = <LED_COLOR_ID_GREEN>; 629 color = <LED_COLOR_ID_GREEN>; 688 function = LED_FUNCTION_HEARTB 630 function = LED_FUNCTION_HEARTBEAT; 689 function-enumerator = <3>; 631 function-enumerator = <3>; 690 632 691 linux,default-trigger = "heart 633 linux,default-trigger = "heartbeat"; 692 default-state = "on"; 634 default-state = "on"; 693 }; 635 }; 694 636 695 led@4 { 637 led@4 { 696 reg = <4>; 638 reg = <4>; 697 color = <LED_COLOR_ID_GREEN>; 639 color = <LED_COLOR_ID_GREEN>; 698 function = LED_FUNCTION_INDICA 640 function = LED_FUNCTION_INDICATOR; 699 function-enumerator = <2>; 641 function-enumerator = <2>; 700 }; 642 }; 701 643 702 led@5 { 644 led@5 { 703 reg = <5>; 645 reg = <5>; 704 color = <LED_COLOR_ID_GREEN>; 646 color = <LED_COLOR_ID_GREEN>; 705 function = LED_FUNCTION_INDICA 647 function = LED_FUNCTION_INDICATOR; 706 function-enumerator = <1>; 648 function-enumerator = <1>; 707 }; 649 }; 708 }; 650 }; 709 651 >> 652 &pmi8998_rradc { >> 653 status = "okay"; >> 654 }; >> 655 710 /* QUAT I2S Uses 4 I2S SD Lines for audio on L 656 /* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */ 711 &q6afedai { 657 &q6afedai { 712 dai@22 { 658 dai@22 { 713 reg = <QUATERNARY_MI2S_RX>; 659 reg = <QUATERNARY_MI2S_RX>; 714 qcom,sd-lines = <0 1 2 3>; 660 qcom,sd-lines = <0 1 2 3>; 715 }; 661 }; 716 }; 662 }; 717 663 718 &q6asmdai { 664 &q6asmdai { 719 dai@0 { 665 dai@0 { 720 reg = <0>; 666 reg = <0>; 721 }; 667 }; 722 668 723 dai@1 { 669 dai@1 { 724 reg = <1>; 670 reg = <1>; 725 }; 671 }; 726 672 727 dai@2 { 673 dai@2 { 728 reg = <2>; 674 reg = <2>; 729 }; 675 }; 730 676 731 dai@3 { 677 dai@3 { 732 reg = <3>; 678 reg = <3>; 733 direction = <2>; 679 direction = <2>; 734 is-compress-dai; 680 is-compress-dai; 735 }; 681 }; 736 }; 682 }; 737 683 738 &qupv3_id_0 { 684 &qupv3_id_0 { 739 status = "okay"; 685 status = "okay"; 740 }; 686 }; 741 687 742 &qupv3_id_1 { 688 &qupv3_id_1 { 743 status = "okay"; 689 status = "okay"; 744 }; 690 }; 745 691 746 &sdhc_2 { 692 &sdhc_2 { 747 status = "okay"; 693 status = "okay"; 748 694 749 pinctrl-names = "default"; 695 pinctrl-names = "default"; 750 pinctrl-0 = <&sdc2_default_state &sdc2 696 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; 751 697 752 vmmc-supply = <&vreg_l21a_2p95>; 698 vmmc-supply = <&vreg_l21a_2p95>; 753 vqmmc-supply = <&vreg_l13a_2p95>; 699 vqmmc-supply = <&vreg_l13a_2p95>; 754 700 755 bus-width = <4>; 701 bus-width = <4>; 756 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW> 702 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; 757 }; 703 }; 758 704 759 &sound { 705 &sound { 760 compatible = "qcom,db845c-sndcard", "q 706 compatible = "qcom,db845c-sndcard", "qcom,sdm845-sndcard"; 761 pinctrl-0 = <&quat_mi2s_active 707 pinctrl-0 = <&quat_mi2s_active 762 &quat_mi2s_sd0_active 708 &quat_mi2s_sd0_active 763 &quat_mi2s_sd1_active 709 &quat_mi2s_sd1_active 764 &quat_mi2s_sd2_active 710 &quat_mi2s_sd2_active 765 &quat_mi2s_sd3_active 711 &quat_mi2s_sd3_active>; 766 pinctrl-names = "default"; 712 pinctrl-names = "default"; 767 model = "DB845c"; 713 model = "DB845c"; 768 audio-routing = 714 audio-routing = 769 "RX_BIAS", "MCLK", 715 "RX_BIAS", "MCLK", 770 "AMIC1", "MIC BIAS1", 716 "AMIC1", "MIC BIAS1", 771 "AMIC2", "MIC BIAS2", 717 "AMIC2", "MIC BIAS2", 772 "DMIC0", "MIC BIAS1", 718 "DMIC0", "MIC BIAS1", 773 "DMIC1", "MIC BIAS1", 719 "DMIC1", "MIC BIAS1", 774 "DMIC2", "MIC BIAS3", 720 "DMIC2", "MIC BIAS3", 775 "DMIC3", "MIC BIAS3", 721 "DMIC3", "MIC BIAS3", 776 "SpkrLeft IN", "SPK1 OUT", 722 "SpkrLeft IN", "SPK1 OUT", 777 "SpkrRight IN", "SPK2 OUT", 723 "SpkrRight IN", "SPK2 OUT", 778 "MM_DL1", "MultiMedia1 Playba 724 "MM_DL1", "MultiMedia1 Playback", 779 "MM_DL2", "MultiMedia2 Playba 725 "MM_DL2", "MultiMedia2 Playback", 780 "MM_DL4", "MultiMedia4 Playba 726 "MM_DL4", "MultiMedia4 Playback", 781 "MultiMedia3 Capture", "MM_UL3 727 "MultiMedia3 Capture", "MM_UL3"; 782 728 783 mm1-dai-link { 729 mm1-dai-link { 784 link-name = "MultiMedia1"; 730 link-name = "MultiMedia1"; 785 cpu { 731 cpu { 786 sound-dai = <&q6asmdai 732 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 787 }; 733 }; 788 }; 734 }; 789 735 790 mm2-dai-link { 736 mm2-dai-link { 791 link-name = "MultiMedia2"; 737 link-name = "MultiMedia2"; 792 cpu { 738 cpu { 793 sound-dai = <&q6asmdai 739 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 794 }; 740 }; 795 }; 741 }; 796 742 797 mm3-dai-link { 743 mm3-dai-link { 798 link-name = "MultiMedia3"; 744 link-name = "MultiMedia3"; 799 cpu { 745 cpu { 800 sound-dai = <&q6asmdai 746 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 801 }; 747 }; 802 }; 748 }; 803 749 804 mm4-dai-link { 750 mm4-dai-link { 805 link-name = "MultiMedia4"; 751 link-name = "MultiMedia4"; 806 cpu { 752 cpu { 807 sound-dai = <&q6asmdai 753 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; 808 }; 754 }; 809 }; 755 }; 810 756 811 hdmi-dai-link { 757 hdmi-dai-link { 812 link-name = "HDMI Playback"; 758 link-name = "HDMI Playback"; 813 cpu { 759 cpu { 814 sound-dai = <&q6afedai 760 sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; 815 }; 761 }; 816 762 817 platform { 763 platform { 818 sound-dai = <&q6routin 764 sound-dai = <&q6routing>; 819 }; 765 }; 820 766 821 codec { 767 codec { 822 sound-dai = <<9611_c 768 sound-dai = <<9611_codec 0>; 823 }; 769 }; 824 }; 770 }; 825 771 826 slim-dai-link { 772 slim-dai-link { 827 link-name = "SLIM Playback"; 773 link-name = "SLIM Playback"; 828 cpu { 774 cpu { 829 sound-dai = <&q6afedai 775 sound-dai = <&q6afedai SLIMBUS_0_RX>; 830 }; 776 }; 831 777 832 platform { 778 platform { 833 sound-dai = <&q6routin 779 sound-dai = <&q6routing>; 834 }; 780 }; 835 781 836 codec { 782 codec { 837 sound-dai = <&left_spk 783 sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 838 }; 784 }; 839 }; 785 }; 840 786 841 slimcap-dai-link { 787 slimcap-dai-link { 842 link-name = "SLIM Capture"; 788 link-name = "SLIM Capture"; 843 cpu { 789 cpu { 844 sound-dai = <&q6afedai 790 sound-dai = <&q6afedai SLIMBUS_0_TX>; 845 }; 791 }; 846 792 847 platform { 793 platform { 848 sound-dai = <&q6routin 794 sound-dai = <&q6routing>; 849 }; 795 }; 850 796 851 codec { 797 codec { 852 sound-dai = <&wcd9340 798 sound-dai = <&wcd9340 1>; 853 }; 799 }; 854 }; 800 }; 855 }; 801 }; 856 802 857 &spi0 { 803 &spi0 { 858 status = "okay"; 804 status = "okay"; 859 pinctrl-names = "default"; 805 pinctrl-names = "default"; 860 pinctrl-0 = <&qup_spi0_default>; 806 pinctrl-0 = <&qup_spi0_default>; 861 cs-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; 807 cs-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; 862 808 863 can@0 { 809 can@0 { 864 compatible = "microchip,mcp251 810 compatible = "microchip,mcp2517fd"; 865 reg = <0>; 811 reg = <0>; 866 clocks = <&clk40M>; 812 clocks = <&clk40M>; 867 interrupts-extended = <&tlmm 1 813 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; 868 spi-max-frequency = <10000000> 814 spi-max-frequency = <10000000>; 869 vdd-supply = <&vdc_5v>; 815 vdd-supply = <&vdc_5v>; 870 xceiver-supply = <&vdc_5v>; 816 xceiver-supply = <&vdc_5v>; 871 }; 817 }; 872 }; 818 }; 873 819 874 &spi2 { 820 &spi2 { 875 /* On Low speed expansion */ 821 /* On Low speed expansion */ >> 822 label = "LS-SPI0"; 876 status = "okay"; 823 status = "okay"; 877 }; 824 }; 878 825 879 &tlmm { 826 &tlmm { 880 cam0_default: cam0-default-state { 827 cam0_default: cam0-default-state { 881 rst-pins { 828 rst-pins { 882 pins = "gpio9"; 829 pins = "gpio9"; 883 function = "gpio"; 830 function = "gpio"; 884 831 885 drive-strength = <16>; 832 drive-strength = <16>; 886 bias-disable; 833 bias-disable; 887 }; 834 }; 888 835 889 mclk0-pins { 836 mclk0-pins { 890 pins = "gpio13"; 837 pins = "gpio13"; 891 function = "cam_mclk"; 838 function = "cam_mclk"; 892 839 893 drive-strength = <16>; 840 drive-strength = <16>; 894 bias-disable; 841 bias-disable; 895 }; 842 }; 896 }; 843 }; 897 844 898 cam3_default: cam3-default-state { 845 cam3_default: cam3-default-state { 899 rst-pins { 846 rst-pins { 900 function = "gpio"; 847 function = "gpio"; 901 pins = "gpio21"; 848 pins = "gpio21"; 902 849 903 drive-strength = <16>; 850 drive-strength = <16>; 904 bias-disable; 851 bias-disable; 905 }; 852 }; 906 853 907 mclk3-pins { 854 mclk3-pins { 908 function = "cam_mclk"; 855 function = "cam_mclk"; 909 pins = "gpio16"; 856 pins = "gpio16"; 910 857 911 drive-strength = <16>; 858 drive-strength = <16>; 912 bias-disable; 859 bias-disable; 913 }; 860 }; 914 }; 861 }; 915 862 916 dsi_sw_sel: dsi-sw-sel-state { 863 dsi_sw_sel: dsi-sw-sel-state { 917 pins = "gpio120"; 864 pins = "gpio120"; 918 function = "gpio"; 865 function = "gpio"; 919 866 920 drive-strength = <2>; 867 drive-strength = <2>; 921 bias-disable; 868 bias-disable; 922 output-high; 869 output-high; 923 }; 870 }; 924 871 925 lt9611_irq_pin: lt9611-irq-state { 872 lt9611_irq_pin: lt9611-irq-state { 926 pins = "gpio84"; 873 pins = "gpio84"; 927 function = "gpio"; 874 function = "gpio"; 928 bias-disable; 875 bias-disable; 929 }; 876 }; 930 877 931 pcie0_default_state: pcie0-default-sta 878 pcie0_default_state: pcie0-default-state { 932 clkreq-pins { 879 clkreq-pins { 933 pins = "gpio36"; 880 pins = "gpio36"; 934 function = "pci_e0"; 881 function = "pci_e0"; 935 bias-pull-up; 882 bias-pull-up; 936 }; 883 }; 937 884 938 reset-n-pins { 885 reset-n-pins { 939 pins = "gpio35"; 886 pins = "gpio35"; 940 function = "gpio"; 887 function = "gpio"; 941 888 942 drive-strength = <2>; 889 drive-strength = <2>; 943 output-low; 890 output-low; 944 bias-pull-down; 891 bias-pull-down; 945 }; 892 }; 946 893 947 wake-n-pins { 894 wake-n-pins { 948 pins = "gpio37"; 895 pins = "gpio37"; 949 function = "gpio"; 896 function = "gpio"; 950 897 951 drive-strength = <2>; 898 drive-strength = <2>; 952 bias-pull-up; 899 bias-pull-up; 953 }; 900 }; 954 }; 901 }; 955 902 956 pcie0_pwren_state: pcie0-pwren-state { 903 pcie0_pwren_state: pcie0-pwren-state { 957 pins = "gpio90"; 904 pins = "gpio90"; 958 function = "gpio"; 905 function = "gpio"; 959 906 960 drive-strength = <2>; 907 drive-strength = <2>; 961 bias-disable; 908 bias-disable; 962 }; 909 }; 963 910 964 pcie1_default_state: pcie1-default-sta 911 pcie1_default_state: pcie1-default-state { 965 perst-n-pins { 912 perst-n-pins { 966 pins = "gpio102"; 913 pins = "gpio102"; 967 function = "gpio"; 914 function = "gpio"; 968 915 969 drive-strength = <16>; 916 drive-strength = <16>; 970 bias-disable; 917 bias-disable; 971 }; 918 }; 972 919 973 clkreq-pins { 920 clkreq-pins { 974 pins = "gpio103"; 921 pins = "gpio103"; 975 function = "pci_e1"; 922 function = "pci_e1"; 976 bias-pull-up; 923 bias-pull-up; 977 }; 924 }; 978 925 979 wake-n-pins { 926 wake-n-pins { 980 pins = "gpio11"; 927 pins = "gpio11"; 981 function = "gpio"; 928 function = "gpio"; 982 929 983 drive-strength = <2>; 930 drive-strength = <2>; 984 bias-pull-up; 931 bias-pull-up; 985 }; 932 }; 986 933 987 reset-n-pins { 934 reset-n-pins { 988 pins = "gpio75"; 935 pins = "gpio75"; 989 function = "gpio"; 936 function = "gpio"; 990 937 991 drive-strength = <16>; 938 drive-strength = <16>; 992 bias-pull-up; 939 bias-pull-up; 993 output-high; 940 output-high; 994 }; 941 }; 995 }; 942 }; 996 943 997 sdc2_default_state: sdc2-default-state 944 sdc2_default_state: sdc2-default-state { 998 clk-pins { 945 clk-pins { 999 pins = "sdc2_clk"; 946 pins = "sdc2_clk"; 1000 bias-disable; 947 bias-disable; 1001 948 1002 /* 949 /* 1003 * It seems that mmc_ 950 * It seems that mmc_test reports errors if drive 1004 * strength is not 16 951 * strength is not 16 on clk, cmd, and data pins. 1005 */ 952 */ 1006 drive-strength = <16> 953 drive-strength = <16>; 1007 }; 954 }; 1008 955 1009 cmd-pins { 956 cmd-pins { 1010 pins = "sdc2_cmd"; 957 pins = "sdc2_cmd"; 1011 bias-pull-up; 958 bias-pull-up; 1012 drive-strength = <10> 959 drive-strength = <10>; 1013 }; 960 }; 1014 961 1015 data-pins { 962 data-pins { 1016 pins = "sdc2_data"; 963 pins = "sdc2_data"; 1017 bias-pull-up; 964 bias-pull-up; 1018 drive-strength = <10> 965 drive-strength = <10>; 1019 }; 966 }; 1020 }; 967 }; 1021 968 1022 sdc2_card_det_n: sd-card-det-n-state 969 sdc2_card_det_n: sd-card-det-n-state { 1023 pins = "gpio126"; 970 pins = "gpio126"; 1024 function = "gpio"; 971 function = "gpio"; 1025 bias-pull-up; 972 bias-pull-up; 1026 }; 973 }; 1027 }; 974 }; 1028 975 1029 &uart3 { 976 &uart3 { 1030 label = "LS-UART0"; 977 label = "LS-UART0"; 1031 pinctrl-0 = <&qup_uart3_4pin>; 978 pinctrl-0 = <&qup_uart3_4pin>; 1032 979 1033 status = "disabled"; 980 status = "disabled"; 1034 }; 981 }; 1035 982 1036 &uart6 { 983 &uart6 { 1037 status = "okay"; 984 status = "okay"; 1038 985 1039 pinctrl-0 = <&qup_uart6_4pin>; 986 pinctrl-0 = <&qup_uart6_4pin>; 1040 987 1041 bluetooth { 988 bluetooth { 1042 compatible = "qcom,wcn3990-bt 989 compatible = "qcom,wcn3990-bt"; 1043 990 1044 vddio-supply = <&vreg_s4a_1p8 991 vddio-supply = <&vreg_s4a_1p8>; 1045 vddxo-supply = <&vreg_l7a_1p8 992 vddxo-supply = <&vreg_l7a_1p8>; 1046 vddrf-supply = <&vreg_l17a_1p 993 vddrf-supply = <&vreg_l17a_1p3>; 1047 vddch0-supply = <&vreg_l25a_3 994 vddch0-supply = <&vreg_l25a_3p3>; 1048 max-speed = <3200000>; 995 max-speed = <3200000>; 1049 }; 996 }; 1050 }; 997 }; 1051 998 1052 &uart9 { 999 &uart9 { 1053 label = "LS-UART1"; 1000 label = "LS-UART1"; 1054 status = "okay"; 1001 status = "okay"; 1055 }; 1002 }; 1056 1003 1057 &usb_1 { 1004 &usb_1 { 1058 status = "okay"; 1005 status = "okay"; 1059 }; 1006 }; 1060 1007 1061 &usb_1_dwc3 { 1008 &usb_1_dwc3 { 1062 dr_mode = "peripheral"; 1009 dr_mode = "peripheral"; 1063 }; 1010 }; 1064 1011 1065 &usb_1_hsphy { 1012 &usb_1_hsphy { 1066 status = "okay"; 1013 status = "okay"; 1067 1014 1068 vdd-supply = <&vreg_l1a_0p875>; 1015 vdd-supply = <&vreg_l1a_0p875>; 1069 vdda-pll-supply = <&vreg_l12a_1p8>; 1016 vdda-pll-supply = <&vreg_l12a_1p8>; 1070 vdda-phy-dpdm-supply = <&vreg_l24a_3p 1017 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 1071 1018 1072 qcom,imp-res-offset-value = <8>; 1019 qcom,imp-res-offset-value = <8>; 1073 qcom,hstx-trim-value = <QUSB2_V2_HSTX 1020 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 1074 qcom,preemphasis-level = <QUSB2_V2_PR 1021 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 1075 qcom,preemphasis-width = <QUSB2_V2_PR 1022 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 1076 }; 1023 }; 1077 1024 1078 &usb_1_qmpphy { 1025 &usb_1_qmpphy { 1079 status = "okay"; 1026 status = "okay"; 1080 1027 1081 vdda-phy-supply = <&vreg_l26a_1p2>; 1028 vdda-phy-supply = <&vreg_l26a_1p2>; 1082 vdda-pll-supply = <&vreg_l1a_0p875>; 1029 vdda-pll-supply = <&vreg_l1a_0p875>; 1083 }; 1030 }; 1084 1031 1085 &usb_2 { 1032 &usb_2 { 1086 status = "okay"; 1033 status = "okay"; 1087 }; 1034 }; 1088 1035 1089 &usb_2_dwc3 { 1036 &usb_2_dwc3 { 1090 dr_mode = "host"; 1037 dr_mode = "host"; 1091 }; 1038 }; 1092 1039 1093 &usb_2_hsphy { 1040 &usb_2_hsphy { 1094 status = "okay"; 1041 status = "okay"; 1095 1042 1096 vdd-supply = <&vreg_l1a_0p875>; 1043 vdd-supply = <&vreg_l1a_0p875>; 1097 vdda-pll-supply = <&vreg_l12a_1p8>; 1044 vdda-pll-supply = <&vreg_l12a_1p8>; 1098 vdda-phy-dpdm-supply = <&vreg_l24a_3p 1045 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 1099 1046 1100 qcom,imp-res-offset-value = <8>; 1047 qcom,imp-res-offset-value = <8>; 1101 qcom,hstx-trim-value = <QUSB2_V2_HSTX 1048 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 1102 }; 1049 }; 1103 1050 1104 &usb_2_qmpphy { 1051 &usb_2_qmpphy { 1105 status = "okay"; 1052 status = "okay"; 1106 1053 1107 vdda-phy-supply = <&vreg_l26a_1p2>; 1054 vdda-phy-supply = <&vreg_l26a_1p2>; 1108 vdda-pll-supply = <&vreg_l1a_0p875>; 1055 vdda-pll-supply = <&vreg_l1a_0p875>; 1109 }; 1056 }; 1110 1057 1111 &ufs_mem_hc { 1058 &ufs_mem_hc { 1112 status = "okay"; 1059 status = "okay"; 1113 1060 1114 reset-gpios = <&tlmm 150 GPIO_ACTIVE_ 1061 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 1115 1062 1116 vcc-supply = <&vreg_l20a_2p95>; 1063 vcc-supply = <&vreg_l20a_2p95>; 1117 vcc-max-microamp = <800000>; 1064 vcc-max-microamp = <800000>; 1118 }; 1065 }; 1119 1066 1120 &ufs_mem_phy { 1067 &ufs_mem_phy { 1121 status = "okay"; 1068 status = "okay"; 1122 1069 1123 vdda-phy-supply = <&vreg_l1a_0p875>; 1070 vdda-phy-supply = <&vreg_l1a_0p875>; 1124 vdda-pll-supply = <&vreg_l26a_1p2>; 1071 vdda-pll-supply = <&vreg_l26a_1p2>; 1125 }; 1072 }; 1126 1073 1127 &venus { 1074 &venus { 1128 status = "okay"; 1075 status = "okay"; 1129 }; 1076 }; 1130 1077 1131 &wcd9340 { 1078 &wcd9340 { 1132 reset-gpios = <&tlmm 64 GPIO_ACTIVE_H 1079 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 1133 vdd-buck-supply = <&vreg_s4a_1p8>; 1080 vdd-buck-supply = <&vreg_s4a_1p8>; 1134 vdd-buck-sido-supply = <&vreg_s4a_1p8 1081 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 1135 vdd-tx-supply = <&vreg_s4a_1p8>; 1082 vdd-tx-supply = <&vreg_s4a_1p8>; 1136 vdd-rx-supply = <&vreg_s4a_1p8>; 1083 vdd-rx-supply = <&vreg_s4a_1p8>; 1137 vdd-io-supply = <&vreg_s4a_1p8>; 1084 vdd-io-supply = <&vreg_s4a_1p8>; 1138 1085 1139 swm: soundwire@c85 { !! 1086 swm: swm@c85 { 1140 left_spkr: speaker@0,1 { 1087 left_spkr: speaker@0,1 { 1141 compatible = "sdw1021 1088 compatible = "sdw10217201000"; 1142 reg = <0 1>; 1089 reg = <0 1>; 1143 powerdown-gpios = <&w 1090 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; 1144 #thermal-sensor-cells 1091 #thermal-sensor-cells = <0>; 1145 sound-name-prefix = " 1092 sound-name-prefix = "SpkrLeft"; 1146 #sound-dai-cells = <0 1093 #sound-dai-cells = <0>; 1147 }; 1094 }; 1148 1095 1149 right_spkr: speaker@0,2 { 1096 right_spkr: speaker@0,2 { 1150 compatible = "sdw1021 1097 compatible = "sdw10217201000"; 1151 powerdown-gpios = <&w 1098 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; 1152 reg = <0 2>; 1099 reg = <0 2>; 1153 #thermal-sensor-cells 1100 #thermal-sensor-cells = <0>; 1154 sound-name-prefix = " 1101 sound-name-prefix = "SpkrRight"; 1155 #sound-dai-cells = <0 1102 #sound-dai-cells = <0>; 1156 }; 1103 }; 1157 }; 1104 }; 1158 }; 1105 }; 1159 1106 1160 &wifi { 1107 &wifi { 1161 status = "okay"; 1108 status = "okay"; 1162 1109 1163 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8 1110 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 1164 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 1111 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 1165 vdd-1.3-rfa-supply = <&vreg_l17a_1p3> 1112 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 1166 vdd-3.3-ch0-supply = <&vreg_l25a_3p3> 1113 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 1167 1114 1168 qcom,snoc-host-cap-8bit-quirk; 1115 qcom,snoc-host-cap-8bit-quirk; 1169 qcom,ath10k-calibration-variant = "Th 1116 qcom,ath10k-calibration-variant = "Thundercomm_DB845C"; 1170 }; 1117 }; 1171 1118 1172 /* PINCTRL - additions to nodes defined in sd 1119 /* PINCTRL - additions to nodes defined in sdm845.dtsi */ 1173 &qup_spi2_default { 1120 &qup_spi2_default { 1174 drive-strength = <16>; 1121 drive-strength = <16>; 1175 }; 1122 }; 1176 1123 1177 &qup_i2c10_default { 1124 &qup_i2c10_default { 1178 drive-strength = <2>; 1125 drive-strength = <2>; 1179 bias-disable; 1126 bias-disable; 1180 }; 1127 }; 1181 1128 1182 &qup_uart9_rx { 1129 &qup_uart9_rx { 1183 drive-strength = <2>; 1130 drive-strength = <2>; 1184 bias-pull-up; 1131 bias-pull-up; 1185 }; 1132 }; 1186 1133 1187 &qup_uart9_tx { 1134 &qup_uart9_tx { 1188 drive-strength = <2>; 1135 drive-strength = <2>; 1189 bias-disable; 1136 bias-disable; >> 1137 }; >> 1138 >> 1139 &pm8998_gpios { >> 1140 1190 }; 1141 }; 1191 1142 1192 /* PINCTRL - additions to nodes defined in sd 1143 /* PINCTRL - additions to nodes defined in sdm845.dtsi */ 1193 &qup_spi0_default { 1144 &qup_spi0_default { 1194 drive-strength = <6>; 1145 drive-strength = <6>; 1195 bias-disable; 1146 bias-disable; 1196 }; 1147 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.