1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * Copyright (c) 2015, The Linux Foundation. A 3 * Copyright (c) 2015, The Linux Foundation. All rights reserved. 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include "msm8916-pm8916.dtsi" 8 #include "msm8916-pm8916.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 12 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 13 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 13 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 14 #include <dt-bindings/sound/apq8016-lpass.h> 14 #include <dt-bindings/sound/apq8016-lpass.h> 15 15 16 / { 16 / { 17 model = "Qualcomm Technologies, Inc. A 17 model = "Qualcomm Technologies, Inc. APQ 8016 SBC"; 18 compatible = "qcom,apq8016-sbc", "qcom 18 compatible = "qcom,apq8016-sbc", "qcom,apq8016"; 19 19 20 aliases { 20 aliases { 21 mmc0 = &sdhc_1; /* eMMC */ 21 mmc0 = &sdhc_1; /* eMMC */ 22 mmc1 = &sdhc_2; /* SD card */ 22 mmc1 = &sdhc_2; /* SD card */ 23 serial0 = &blsp_uart2; 23 serial0 = &blsp_uart2; 24 serial1 = &blsp_uart1; 24 serial1 = &blsp_uart1; 25 usid0 = &pm8916_0; 25 usid0 = &pm8916_0; 26 i2c0 = &blsp_i2c2; 26 i2c0 = &blsp_i2c2; 27 i2c1 = &blsp_i2c6; 27 i2c1 = &blsp_i2c6; 28 i2c3 = &blsp_i2c4; 28 i2c3 = &blsp_i2c4; 29 spi0 = &blsp_spi5; 29 spi0 = &blsp_spi5; 30 spi1 = &blsp_spi3; 30 spi1 = &blsp_spi3; 31 }; 31 }; 32 32 33 chosen { 33 chosen { 34 stdout-path = "serial0"; 34 stdout-path = "serial0"; 35 }; 35 }; 36 36 >> 37 camera_vdddo_1v8: camera-vdddo-1v8 { >> 38 compatible = "regulator-fixed"; >> 39 regulator-name = "camera_vdddo"; >> 40 regulator-min-microvolt = <1800000>; >> 41 regulator-max-microvolt = <1800000>; >> 42 regulator-always-on; >> 43 }; >> 44 >> 45 camera_vdda_2v8: camera-vdda-2v8 { >> 46 compatible = "regulator-fixed"; >> 47 regulator-name = "camera_vdda"; >> 48 regulator-min-microvolt = <2800000>; >> 49 regulator-max-microvolt = <2800000>; >> 50 regulator-always-on; >> 51 }; >> 52 >> 53 camera_vddd_1v5: camera-vddd-1v5 { >> 54 compatible = "regulator-fixed"; >> 55 regulator-name = "camera_vddd"; >> 56 regulator-min-microvolt = <1500000>; >> 57 regulator-max-microvolt = <1500000>; >> 58 regulator-always-on; >> 59 }; >> 60 37 reserved-memory { 61 reserved-memory { 38 ramoops@bff00000 { 62 ramoops@bff00000 { 39 compatible = "ramoops" 63 compatible = "ramoops"; 40 reg = <0x0 0xbff00000 64 reg = <0x0 0xbff00000 0x0 0x100000>; 41 65 42 record-size = <0x20000 66 record-size = <0x20000>; 43 console-size = <0x2000 67 console-size = <0x20000>; 44 ftrace-size = <0x20000 68 ftrace-size = <0x20000>; 45 }; 69 }; 46 }; 70 }; 47 71 48 usb2513 { 72 usb2513 { 49 compatible = "smsc,usb3503"; 73 compatible = "smsc,usb3503"; 50 reset-gpios = <&pm8916_gpios 3 74 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>; 51 initial-mode = <1>; 75 initial-mode = <1>; 52 }; 76 }; 53 77 54 usb_id: usb-id { 78 usb_id: usb-id { 55 compatible = "linux,extcon-usb 79 compatible = "linux,extcon-usb-gpio"; 56 id-gpios = <&tlmm 121 GPIO_ACT !! 80 id-gpio = <&tlmm 121 GPIO_ACTIVE_HIGH>; 57 pinctrl-names = "default"; 81 pinctrl-names = "default"; 58 pinctrl-0 = <&usb_id_default>; 82 pinctrl-0 = <&usb_id_default>; 59 }; 83 }; 60 84 61 hdmi-out { 85 hdmi-out { 62 compatible = "hdmi-connector"; 86 compatible = "hdmi-connector"; 63 type = "a"; 87 type = "a"; 64 88 65 port { 89 port { 66 hdmi_con: endpoint { 90 hdmi_con: endpoint { 67 remote-endpoin 91 remote-endpoint = <&adv7533_out>; 68 }; 92 }; 69 }; 93 }; 70 }; 94 }; 71 95 72 gpio-keys { 96 gpio-keys { 73 compatible = "gpio-keys"; 97 compatible = "gpio-keys"; 74 autorepeat; 98 autorepeat; 75 99 76 pinctrl-names = "default"; 100 pinctrl-names = "default"; 77 pinctrl-0 = <&msm_key_volp_n_d 101 pinctrl-0 = <&msm_key_volp_n_default>; 78 102 79 button { 103 button { 80 label = "Volume Up"; 104 label = "Volume Up"; 81 linux,code = <KEY_VOLU 105 linux,code = <KEY_VOLUMEUP>; 82 gpios = <&tlmm 107 GPI 106 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 83 }; 107 }; 84 }; 108 }; 85 109 86 leds { 110 leds { 87 pinctrl-names = "default"; 111 pinctrl-names = "default"; 88 pinctrl-0 = <&tlmm_leds>, 112 pinctrl-0 = <&tlmm_leds>, 89 <&pm8916_gpios_led 113 <&pm8916_gpios_leds>, 90 <&pm8916_mpps_leds 114 <&pm8916_mpps_leds>; 91 115 92 compatible = "gpio-leds"; 116 compatible = "gpio-leds"; 93 117 94 led-1 { !! 118 led@1 { 95 label = "apq8016-sbc:g 119 label = "apq8016-sbc:green:user1"; 96 function = LED_FUNCTIO 120 function = LED_FUNCTION_HEARTBEAT; 97 color = <LED_COLOR_ID_ 121 color = <LED_COLOR_ID_GREEN>; 98 gpios = <&tlmm 21 GPIO 122 gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; 99 linux,default-trigger 123 linux,default-trigger = "heartbeat"; 100 default-state = "off"; 124 default-state = "off"; 101 }; 125 }; 102 126 103 led-2 { !! 127 led@2 { 104 label = "apq8016-sbc:g 128 label = "apq8016-sbc:green:user2"; 105 function = LED_FUNCTIO 129 function = LED_FUNCTION_DISK_ACTIVITY; 106 color = <LED_COLOR_ID_ 130 color = <LED_COLOR_ID_GREEN>; 107 gpios = <&tlmm 120 GPI 131 gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>; 108 linux,default-trigger 132 linux,default-trigger = "mmc0"; 109 default-state = "off"; 133 default-state = "off"; 110 }; 134 }; 111 135 112 led-3 { !! 136 led@3 { 113 label = "apq8016-sbc:g 137 label = "apq8016-sbc:green:user3"; 114 function = LED_FUNCTIO 138 function = LED_FUNCTION_DISK_ACTIVITY; 115 color = <LED_COLOR_ID_ 139 color = <LED_COLOR_ID_GREEN>; 116 gpios = <&pm8916_gpios 140 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; 117 linux,default-trigger 141 linux,default-trigger = "mmc1"; 118 default-state = "off"; 142 default-state = "off"; 119 }; 143 }; 120 144 121 led-4 { !! 145 led@4 { 122 label = "apq8016-sbc:g 146 label = "apq8016-sbc:green:user4"; 123 color = <LED_COLOR_ID_ 147 color = <LED_COLOR_ID_GREEN>; 124 gpios = <&pm8916_gpios 148 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>; 125 linux,default-trigger 149 linux,default-trigger = "none"; 126 panic-indicator; 150 panic-indicator; 127 default-state = "off"; 151 default-state = "off"; 128 }; 152 }; 129 153 130 led-5 { !! 154 led@5 { 131 label = "apq8016-sbc:y 155 label = "apq8016-sbc:yellow:wlan"; 132 function = LED_FUNCTIO 156 function = LED_FUNCTION_WLAN; 133 color = <LED_COLOR_ID_ 157 color = <LED_COLOR_ID_YELLOW>; 134 gpios = <&pm8916_mpps 158 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; 135 linux,default-trigger 159 linux,default-trigger = "phy0tx"; 136 default-state = "off"; 160 default-state = "off"; 137 }; 161 }; 138 162 139 led-6 { !! 163 led@6 { 140 label = "apq8016-sbc:b 164 label = "apq8016-sbc:blue:bt"; 141 function = LED_FUNCTIO 165 function = LED_FUNCTION_BLUETOOTH; 142 color = <LED_COLOR_ID_ 166 color = <LED_COLOR_ID_BLUE>; 143 gpios = <&pm8916_mpps 167 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; 144 linux,default-trigger 168 linux,default-trigger = "bluetooth-power"; 145 default-state = "off"; 169 default-state = "off"; 146 }; 170 }; 147 }; 171 }; 148 }; 172 }; 149 173 150 &blsp_i2c2 { 174 &blsp_i2c2 { 151 /* On Low speed expansion: LS-I2C0 */ !! 175 /* On Low speed expansion */ 152 status = "okay"; 176 status = "okay"; >> 177 label = "LS-I2C0"; 153 }; 178 }; 154 179 155 &blsp_i2c4 { 180 &blsp_i2c4 { 156 /* On High speed expansion: HS-I2C2 */ !! 181 /* On High speed expansion */ 157 status = "okay"; 182 status = "okay"; >> 183 label = "HS-I2C2"; 158 184 159 adv_bridge: bridge@39 { 185 adv_bridge: bridge@39 { 160 status = "okay"; 186 status = "okay"; 161 187 162 compatible = "adi,adv7533"; 188 compatible = "adi,adv7533"; 163 reg = <0x39>; 189 reg = <0x39>; 164 190 165 interrupt-parent = <&tlmm>; 191 interrupt-parent = <&tlmm>; 166 interrupts = <31 IRQ_TYPE_EDGE 192 interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 167 193 168 adi,dsi-lanes = <4>; 194 adi,dsi-lanes = <4>; 169 clocks = <&rpmcc RPM_SMD_BB_CL 195 clocks = <&rpmcc RPM_SMD_BB_CLK2>; 170 clock-names = "cec"; 196 clock-names = "cec"; 171 197 172 pd-gpios = <&tlmm 32 GPIO_ACTI 198 pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; 173 199 174 avdd-supply = <&pm8916_l6>; 200 avdd-supply = <&pm8916_l6>; 175 a2vdd-supply = <&pm8916_l6>; 201 a2vdd-supply = <&pm8916_l6>; 176 dvdd-supply = <&pm8916_l6>; 202 dvdd-supply = <&pm8916_l6>; 177 pvdd-supply = <&pm8916_l6>; 203 pvdd-supply = <&pm8916_l6>; 178 v1p2-supply = <&pm8916_l6>; 204 v1p2-supply = <&pm8916_l6>; 179 v3p3-supply = <&pm8916_l17>; 205 v3p3-supply = <&pm8916_l17>; 180 206 181 pinctrl-names = "default","sle 207 pinctrl-names = "default","sleep"; 182 pinctrl-0 = <&adv7533_int_acti 208 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; 183 pinctrl-1 = <&adv7533_int_susp 209 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; 184 #sound-dai-cells = <1>; 210 #sound-dai-cells = <1>; 185 211 186 ports { 212 ports { 187 #address-cells = <1>; 213 #address-cells = <1>; 188 #size-cells = <0>; 214 #size-cells = <0>; 189 215 190 port@0 { 216 port@0 { 191 reg = <0>; 217 reg = <0>; 192 adv7533_in: en 218 adv7533_in: endpoint { 193 remote 219 remote-endpoint = <&mdss_dsi0_out>; 194 }; 220 }; 195 }; 221 }; 196 222 197 port@1 { 223 port@1 { 198 reg = <1>; 224 reg = <1>; 199 adv7533_out: e 225 adv7533_out: endpoint { 200 remote 226 remote-endpoint = <&hdmi_con>; 201 }; 227 }; 202 }; 228 }; 203 }; 229 }; 204 }; 230 }; 205 }; 231 }; 206 232 207 &blsp_i2c6 { 233 &blsp_i2c6 { 208 /* On Low speed expansion: LS-I2C1 */ !! 234 /* On Low speed expansion */ 209 status = "okay"; 235 status = "okay"; >> 236 label = "LS-I2C1"; 210 }; 237 }; 211 238 212 &blsp_spi3 { 239 &blsp_spi3 { 213 /* On High speed expansion: HS-SPI1 */ !! 240 /* On High speed expansion */ 214 status = "okay"; 241 status = "okay"; >> 242 label = "HS-SPI1"; 215 }; 243 }; 216 244 217 &blsp_spi5 { 245 &blsp_spi5 { 218 /* On Low speed expansion: LS-SPI0 */ !! 246 /* On Low speed expansion */ 219 status = "okay"; 247 status = "okay"; >> 248 label = "LS-SPI0"; 220 }; 249 }; 221 250 222 &blsp_uart1 { 251 &blsp_uart1 { 223 status = "okay"; 252 status = "okay"; 224 label = "LS-UART0"; 253 label = "LS-UART0"; 225 }; 254 }; 226 255 227 &blsp_uart2 { 256 &blsp_uart2 { 228 status = "okay"; 257 status = "okay"; 229 label = "LS-UART1"; 258 label = "LS-UART1"; 230 }; 259 }; 231 260 232 &camss { 261 &camss { 233 status = "okay"; 262 status = "okay"; >> 263 ports { >> 264 port@0 { >> 265 reg = <0>; >> 266 csiphy0_ep: endpoint { >> 267 data-lanes = <0 2>; >> 268 remote-endpoint = <&ov5640_ep>; >> 269 status = "okay"; >> 270 }; >> 271 }; >> 272 }; 234 }; 273 }; 235 274 236 &gpu { !! 275 &cci { 237 status = "okay"; 276 status = "okay"; 238 }; 277 }; 239 278 240 &lpass { !! 279 &cci_i2c0 { 241 status = "okay"; !! 280 camera_rear@3b { >> 281 compatible = "ovti,ov5640"; >> 282 reg = <0x3b>; >> 283 >> 284 powerdown-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>; >> 285 reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; >> 286 pinctrl-names = "default"; >> 287 pinctrl-0 = <&camera_rear_default>; >> 288 >> 289 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; >> 290 clock-names = "xclk"; >> 291 clock-frequency = <23880000>; >> 292 >> 293 DOVDD-supply = <&camera_vdddo_1v8>; >> 294 AVDD-supply = <&camera_vdda_2v8>; >> 295 DVDD-supply = <&camera_vddd_1v5>; >> 296 >> 297 /* No camera mezzanine by default */ >> 298 status = "disabled"; >> 299 >> 300 port { >> 301 ov5640_ep: endpoint { >> 302 data-lanes = <0 2>; >> 303 remote-endpoint = <&csiphy0_ep>; >> 304 }; >> 305 }; >> 306 }; 242 }; 307 }; 243 308 244 &lpass_codec { !! 309 &lpass { 245 status = "okay"; 310 status = "okay"; 246 }; 311 }; 247 312 248 &mba_mem { !! 313 &lpass_codec { 249 status = "okay"; 314 status = "okay"; 250 }; 315 }; 251 316 252 &mdss { 317 &mdss { 253 status = "okay"; 318 status = "okay"; 254 }; 319 }; 255 320 256 &mdss_dsi0_out { 321 &mdss_dsi0_out { 257 data-lanes = <0 1 2 3>; 322 data-lanes = <0 1 2 3>; 258 remote-endpoint = <&adv7533_in>; 323 remote-endpoint = <&adv7533_in>; 259 }; 324 }; 260 325 261 &mpss { 326 &mpss { 262 status = "okay"; 327 status = "okay"; 263 328 264 firmware-name = "qcom/apq8016/mba.mbn" 329 firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn"; 265 }; 330 }; 266 331 267 &mpss_mem { << 268 status = "okay"; << 269 reg = <0x0 0x86800000 0x0 0x2b00000>; << 270 }; << 271 << 272 &pm8916_codec { 332 &pm8916_codec { 273 status = "okay"; 333 status = "okay"; >> 334 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; >> 335 clock-names = "mclk"; 274 qcom,mbhc-vthreshold-low = <75 150 237 336 qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 275 qcom,mbhc-vthreshold-high = <75 150 23 337 qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 276 }; 338 }; 277 339 278 &pm8916_resin { 340 &pm8916_resin { 279 status = "okay"; 341 status = "okay"; 280 linux,code = <KEY_VOLUMEDOWN>; 342 linux,code = <KEY_VOLUMEDOWN>; 281 }; 343 }; 282 344 283 &pm8916_rpm_regulators { 345 &pm8916_rpm_regulators { 284 /* 346 /* 285 * The 96Boards specification expects 347 * The 96Boards specification expects a 1.8V power rail on the low-speed 286 * expansion connector that is able to 348 * expansion connector that is able to provide at least 0.18W / 100 mA. 287 * L15/L16 are connected in parallel t 349 * L15/L16 are connected in parallel to provide 55 mA each. A minimum load 288 * must be specified to ensure the reg 350 * must be specified to ensure the regulators are not put in LPM where they 289 * would only provide 5 mA. 351 * would only provide 5 mA. 290 */ 352 */ 291 pm8916_l15: l15 { 353 pm8916_l15: l15 { 292 regulator-min-microvolt = <180 354 regulator-min-microvolt = <1800000>; 293 regulator-max-microvolt = <180 355 regulator-max-microvolt = <1800000>; 294 regulator-system-load = <50000 356 regulator-system-load = <50000>; 295 regulator-allow-set-load; 357 regulator-allow-set-load; 296 regulator-always-on; 358 regulator-always-on; 297 }; 359 }; 298 pm8916_l16: l16 { 360 pm8916_l16: l16 { 299 regulator-min-microvolt = <180 361 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <180 362 regulator-max-microvolt = <1800000>; 301 regulator-system-load = <50000 363 regulator-system-load = <50000>; 302 regulator-allow-set-load; 364 regulator-allow-set-load; 303 regulator-always-on; 365 regulator-always-on; 304 }; 366 }; 305 367 306 pm8916_l17: l17 { 368 pm8916_l17: l17 { 307 regulator-min-microvolt = <330 369 regulator-min-microvolt = <3300000>; 308 regulator-max-microvolt = <330 370 regulator-max-microvolt = <3300000>; 309 }; 371 }; 310 }; 372 }; 311 373 312 &sdhc_1 { 374 &sdhc_1 { 313 status = "okay"; 375 status = "okay"; 314 }; 376 }; 315 377 316 &sdhc_2 { 378 &sdhc_2 { 317 status = "okay"; 379 status = "okay"; 318 380 319 pinctrl-names = "default", "sleep"; 381 pinctrl-names = "default", "sleep"; 320 pinctrl-0 = <&sdc2_default &sdc2_cd_de 382 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 321 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 383 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 322 384 323 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 385 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 324 }; 386 }; 325 387 326 &sound { 388 &sound { 327 status = "okay"; 389 status = "okay"; 328 390 329 pinctrl-0 = <&cdc_pdm_default &sec_mi2 391 pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 330 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_ 392 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 331 pinctrl-names = "default", "sleep"; 393 pinctrl-names = "default", "sleep"; 332 model = "DB410c"; 394 model = "DB410c"; 333 audio-routing = 395 audio-routing = 334 "AMIC2", "MIC BIAS Internal2", 396 "AMIC2", "MIC BIAS Internal2", 335 "AMIC3", "MIC BIAS External1"; 397 "AMIC3", "MIC BIAS External1"; 336 398 337 quaternary-dai-link { 399 quaternary-dai-link { 338 link-name = "ADV7533"; 400 link-name = "ADV7533"; 339 cpu { 401 cpu { 340 sound-dai = <&lpass MI 402 sound-dai = <&lpass MI2S_QUATERNARY>; 341 }; 403 }; 342 codec { 404 codec { 343 sound-dai = <&adv_brid 405 sound-dai = <&adv_bridge 0>; 344 }; 406 }; 345 }; 407 }; 346 408 347 primary-dai-link { 409 primary-dai-link { 348 link-name = "WCD"; 410 link-name = "WCD"; 349 cpu { 411 cpu { 350 sound-dai = <&lpass MI 412 sound-dai = <&lpass MI2S_PRIMARY>; 351 }; 413 }; 352 codec { 414 codec { 353 sound-dai = <&lpass_co 415 sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>; 354 }; 416 }; 355 }; 417 }; 356 418 357 tertiary-dai-link { 419 tertiary-dai-link { 358 link-name = "WCD-Capture"; 420 link-name = "WCD-Capture"; 359 cpu { 421 cpu { 360 sound-dai = <&lpass MI 422 sound-dai = <&lpass MI2S_TERTIARY>; 361 }; 423 }; 362 codec { 424 codec { 363 sound-dai = <&lpass_co 425 sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>; 364 }; 426 }; 365 }; 427 }; 366 }; 428 }; 367 429 368 &usb { 430 &usb { 369 status = "okay"; 431 status = "okay"; 370 extcon = <&usb_id>, <&usb_id>; 432 extcon = <&usb_id>, <&usb_id>; 371 433 372 pinctrl-names = "default", "device"; 434 pinctrl-names = "default", "device"; 373 pinctrl-0 = <&usb_sw_sel_pm &usb_hub_r 435 pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 374 pinctrl-1 = <&usb_sw_sel_pm_device &us 436 pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 375 }; 437 }; 376 438 377 &usb_hs_phy { 439 &usb_hs_phy { 378 extcon = <&usb_id>; 440 extcon = <&usb_id>; 379 }; 441 }; 380 442 381 &venus { << 382 status = "okay"; << 383 }; << 384 << 385 &venus_mem { << 386 status = "okay"; << 387 }; << 388 << 389 &wcnss { 443 &wcnss { 390 status = "okay"; 444 status = "okay"; 391 firmware-name = "qcom/apq8016/wcnss.mb 445 firmware-name = "qcom/apq8016/wcnss.mbn"; 392 }; 446 }; 393 447 394 &wcnss_ctrl { 448 &wcnss_ctrl { 395 firmware-name = "qcom/apq8016/WCNSS_qc 449 firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin"; 396 }; 450 }; 397 451 398 &wcnss_iris { 452 &wcnss_iris { 399 compatible = "qcom,wcn3620"; 453 compatible = "qcom,wcn3620"; 400 }; << 401 << 402 &wcnss_mem { << 403 status = "okay"; << 404 }; 454 }; 405 455 406 /* Enable CoreSight */ 456 /* Enable CoreSight */ 407 &cti0 { status = "okay"; }; 457 &cti0 { status = "okay"; }; 408 &cti1 { status = "okay"; }; 458 &cti1 { status = "okay"; }; 409 &cti12 { status = "okay"; }; 459 &cti12 { status = "okay"; }; 410 &cti13 { status = "okay"; }; 460 &cti13 { status = "okay"; }; 411 &cti14 { status = "okay"; }; 461 &cti14 { status = "okay"; }; 412 &cti15 { status = "okay"; }; 462 &cti15 { status = "okay"; }; 413 &debug0 { status = "okay"; }; 463 &debug0 { status = "okay"; }; 414 &debug1 { status = "okay"; }; 464 &debug1 { status = "okay"; }; 415 &debug2 { status = "okay"; }; 465 &debug2 { status = "okay"; }; 416 &debug3 { status = "okay"; }; 466 &debug3 { status = "okay"; }; 417 &etf { status = "okay"; }; 467 &etf { status = "okay"; }; 418 &etm0 { status = "okay"; }; 468 &etm0 { status = "okay"; }; 419 &etm1 { status = "okay"; }; 469 &etm1 { status = "okay"; }; 420 &etm2 { status = "okay"; }; 470 &etm2 { status = "okay"; }; 421 &etm3 { status = "okay"; }; 471 &etm3 { status = "okay"; }; 422 &etr { status = "okay"; }; 472 &etr { status = "okay"; }; 423 &funnel0 { status = "okay"; }; 473 &funnel0 { status = "okay"; }; 424 &funnel1 { status = "okay"; }; 474 &funnel1 { status = "okay"; }; 425 &replicator { status = "okay"; }; 475 &replicator { status = "okay"; }; 426 &stm { status = "okay"; }; 476 &stm { status = "okay"; }; 427 &tpiu { status = "okay"; }; 477 &tpiu { status = "okay"; }; 428 478 429 /* 479 /* 430 * 2mA drive strength is not enough when conne 480 * 2mA drive strength is not enough when connecting multiple 431 * I2C devices with different pull up resistor 481 * I2C devices with different pull up resistors. 432 */ 482 */ 433 &blsp_i2c2_default { 483 &blsp_i2c2_default { 434 drive-strength = <16>; 484 drive-strength = <16>; 435 }; 485 }; 436 486 437 &blsp_i2c4_default { 487 &blsp_i2c4_default { 438 drive-strength = <16>; 488 drive-strength = <16>; 439 }; 489 }; 440 490 441 &blsp_i2c6_default { 491 &blsp_i2c6_default { 442 drive-strength = <16>; 492 drive-strength = <16>; 443 }; 493 }; 444 494 445 /* 495 /* 446 * GPIO name legend: proper name = the GPIO li 496 * GPIO name legend: proper name = the GPIO line is used as GPIO 447 * NC = not connected (pin out but not 497 * NC = not connected (pin out but not routed from the chip to 448 * anything the board) 498 * anything the board) 449 * "[PER]" = pin is muxed for [periphe 499 * "[PER]" = pin is muxed for [peripheral] (not GPIO) 450 * LSEC = Low Speed External Connector 500 * LSEC = Low Speed External Connector 451 * HSEC = High Speed External Connecto 501 * HSEC = High Speed External Connector 452 * 502 * 453 * Line names are taken from the schematic "Dr 503 * Line names are taken from the schematic "DragonBoard410c" 454 * dated monday, august 31, 2015. Page 5 in pa 504 * dated monday, august 31, 2015. Page 5 in particular. 455 * 505 * 456 * For the lines routed to the external connec 506 * For the lines routed to the external connectors the 457 * lines are named after the 96Boards CE Speci 507 * lines are named after the 96Boards CE Specification 1.0, 458 * Appendix "Expansion Connector Signal Descri 508 * Appendix "Expansion Connector Signal Description". 459 * 509 * 460 * When the 96Board naming of a line and the s 510 * When the 96Board naming of a line and the schematic name of 461 * the same line are in conflict, the 96Board 511 * the same line are in conflict, the 96Board specification 462 * takes precedence, which means that the exte 512 * takes precedence, which means that the external UART on the 463 * LSEC is named UART0 while the schematic and 513 * LSEC is named UART0 while the schematic and SoC names this 464 * UART3. This is only for the informational l 514 * UART3. This is only for the informational lines i.e. "[FOO]", 465 * the GPIO named lines "GPIO-A" thru "GPIO-L" 515 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 466 * ones actually used for GPIO. 516 * ones actually used for GPIO. 467 */ 517 */ 468 518 469 &tlmm { 519 &tlmm { 470 gpio-line-names = 520 gpio-line-names = 471 "[UART0_TX]", /* GPIO_0, LSEC 521 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 472 "[UART0_RX]", /* GPIO_1, LSEC 522 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 473 "[UART0_CTS_N]", /* GPIO_2, LS 523 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 474 "[UART0_RTS_N]", /* GPIO_3, LS 524 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 475 "[UART1_TX]", /* GPIO_4, LSEC 525 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 476 "[UART1_RX]", /* GPIO_5, LSEC 526 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 477 "[I2C0_SDA]", /* GPIO_8, LSEC 527 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 478 "[I2C0_SCL]", /* GPIO_7, LSEC 528 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 479 "[SPI1_DOUT]", /* SPI1_MOSI, H 529 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 480 "[SPI1_DIN]", /* SPI1_MISO, HS 530 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 481 "[SPI1_CS]", /* SPI1_CS_N, HSE 531 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 482 "[SPI1_SCLK]", /* SPI1_CLK, HS 532 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 483 "GPIO-B", /* LS_EXP_GPIO_B, LS 533 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 484 "GPIO-C", /* LS_EXP_GPIO_C, LS 534 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 485 "[I2C3_SDA]", /* HSEC pin 38 * 535 "[I2C3_SDA]", /* HSEC pin 38 */ 486 "[I2C3_SCL]", /* HSEC pin 36 * 536 "[I2C3_SCL]", /* HSEC pin 36 */ 487 "[SPI0_MOSI]", /* LSEC pin 14 537 "[SPI0_MOSI]", /* LSEC pin 14 */ 488 "[SPI0_MISO]", /* LSEC pin 10 538 "[SPI0_MISO]", /* LSEC pin 10 */ 489 "[SPI0_CS_N]", /* LSEC pin 12 539 "[SPI0_CS_N]", /* LSEC pin 12 */ 490 "[SPI0_CLK]", /* LSEC pin 8 */ 540 "[SPI0_CLK]", /* LSEC pin 8 */ 491 "HDMI_HPD_N", /* GPIO 20 */ 541 "HDMI_HPD_N", /* GPIO 20 */ 492 "USR_LED_1_CTRL", 542 "USR_LED_1_CTRL", 493 "[I2C1_SDA]", /* GPIO_22, LSEC 543 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 494 "[I2C1_SCL]", /* GPIO_23, LSEC 544 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 495 "GPIO-G", /* LS_EXP_GPIO_G, LS 545 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 496 "GPIO-H", /* LS_EXP_GPIO_H, LS 546 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 497 "[CSI0_MCLK]", /* HSEC pin 15 547 "[CSI0_MCLK]", /* HSEC pin 15 */ 498 "[CSI1_MCLK]", /* HSEC pin 17 548 "[CSI1_MCLK]", /* HSEC pin 17 */ 499 "GPIO-K", /* LS_EXP_GPIO_K, LS 549 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 500 "[I2C2_SDA]", /* HSEC pin 34 * 550 "[I2C2_SDA]", /* HSEC pin 34 */ 501 "[I2C2_SCL]", /* HSEC pin 32 * 551 "[I2C2_SCL]", /* HSEC pin 32 */ 502 "DSI2HDMI_INT_N", 552 "DSI2HDMI_INT_N", 503 "DSI_SW_SEL_APQ", 553 "DSI_SW_SEL_APQ", 504 "GPIO-L", /* LS_EXP_GPIO_L, LS 554 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 505 "GPIO-J", /* LS_EXP_GPIO_J, LS 555 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 506 "GPIO-I", /* LS_EXP_GPIO_I, LS 556 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 507 "GPIO-A", /* LS_EXP_GPIO_A, LS 557 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 508 "FORCED_USB_BOOT", 558 "FORCED_USB_BOOT", 509 "SD_CARD_DET_N", 559 "SD_CARD_DET_N", 510 "[WCSS_BT_SSBI]", 560 "[WCSS_BT_SSBI]", 511 "[WCSS_WLAN_DATA_2]", /* GPIO 561 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 512 "[WCSS_WLAN_DATA_1]", 562 "[WCSS_WLAN_DATA_1]", 513 "[WCSS_WLAN_DATA_0]", 563 "[WCSS_WLAN_DATA_0]", 514 "[WCSS_WLAN_SET]", 564 "[WCSS_WLAN_SET]", 515 "[WCSS_WLAN_CLK]", 565 "[WCSS_WLAN_CLK]", 516 "[WCSS_FM_SSBI]", 566 "[WCSS_FM_SSBI]", 517 "[WCSS_FM_SDI]", 567 "[WCSS_FM_SDI]", 518 "[WCSS_BT_DAT_CTL]", 568 "[WCSS_BT_DAT_CTL]", 519 "[WCSS_BT_DAT_STB]", 569 "[WCSS_BT_DAT_STB]", 520 "NC", 570 "NC", 521 "NC", /* GPIO 50 */ 571 "NC", /* GPIO 50 */ 522 "NC", 572 "NC", 523 "NC", 573 "NC", 524 "NC", 574 "NC", 525 "NC", 575 "NC", 526 "NC", 576 "NC", 527 "NC", 577 "NC", 528 "NC", 578 "NC", 529 "NC", 579 "NC", 530 "NC", 580 "NC", 531 "NC", /* GPIO 60 */ 581 "NC", /* GPIO 60 */ 532 "NC", 582 "NC", 533 "NC", 583 "NC", 534 "[CDC_PDM0_CLK]", 584 "[CDC_PDM0_CLK]", 535 "[CDC_PDM0_SYNC]", 585 "[CDC_PDM0_SYNC]", 536 "[CDC_PDM0_TX0]", 586 "[CDC_PDM0_TX0]", 537 "[CDC_PDM0_RX0]", 587 "[CDC_PDM0_RX0]", 538 "[CDC_PDM0_RX1]", 588 "[CDC_PDM0_RX1]", 539 "[CDC_PDM0_RX2]", 589 "[CDC_PDM0_RX2]", 540 "GPIO-D", /* LS_EXP_GPIO_D, LS 590 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 541 "NC", /* GPIO 70 */ 591 "NC", /* GPIO 70 */ 542 "NC", 592 "NC", 543 "NC", 593 "NC", 544 "NC", 594 "NC", 545 "NC", /* GPIO 74 */ 595 "NC", /* GPIO 74 */ 546 "NC", 596 "NC", 547 "NC", 597 "NC", 548 "NC", 598 "NC", 549 "NC", 599 "NC", 550 "NC", 600 "NC", 551 "BOOT_CONFIG_0", /* GPIO 80 */ 601 "BOOT_CONFIG_0", /* GPIO 80 */ 552 "BOOT_CONFIG_1", 602 "BOOT_CONFIG_1", 553 "BOOT_CONFIG_2", 603 "BOOT_CONFIG_2", 554 "BOOT_CONFIG_3", 604 "BOOT_CONFIG_3", 555 "NC", 605 "NC", 556 "NC", 606 "NC", 557 "BOOT_CONFIG_5", 607 "BOOT_CONFIG_5", 558 "NC", 608 "NC", 559 "NC", 609 "NC", 560 "NC", 610 "NC", 561 "NC", /* GPIO 90 */ 611 "NC", /* GPIO 90 */ 562 "NC", 612 "NC", 563 "NC", 613 "NC", 564 "NC", 614 "NC", 565 "NC", 615 "NC", 566 "NC", 616 "NC", 567 "NC", 617 "NC", 568 "NC", 618 "NC", 569 "NC", 619 "NC", 570 "NC", 620 "NC", 571 "NC", /* GPIO 100 */ 621 "NC", /* GPIO 100 */ 572 "NC", 622 "NC", 573 "NC", 623 "NC", 574 "NC", 624 "NC", 575 "SSBI_GPS", 625 "SSBI_GPS", 576 "NC", 626 "NC", 577 "NC", 627 "NC", 578 "KEY_VOLP_N", 628 "KEY_VOLP_N", 579 "NC", 629 "NC", 580 "NC", 630 "NC", 581 "[LS_EXP_MI2S_WS]", /* GPIO 11 631 "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 582 "NC", 632 "NC", 583 "NC", 633 "NC", 584 "[LS_EXP_MI2S_SCK]", 634 "[LS_EXP_MI2S_SCK]", 585 "[LS_EXP_MI2S_DATA0]", 635 "[LS_EXP_MI2S_DATA0]", 586 "GPIO-E", /* LS_EXP_GPIO_E, LS 636 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 587 "NC", 637 "NC", 588 "[DSI2HDMI_MI2S_WS]", 638 "[DSI2HDMI_MI2S_WS]", 589 "[DSI2HDMI_MI2S_SCK]", 639 "[DSI2HDMI_MI2S_SCK]", 590 "[DSI2HDMI_MI2S_DATA0]", 640 "[DSI2HDMI_MI2S_DATA0]", 591 "USR_LED_2_CTRL", /* GPIO 120 641 "USR_LED_2_CTRL", /* GPIO 120 */ 592 "SB_HS_ID"; 642 "SB_HS_ID"; 593 643 594 sdc2_cd_default: sdc2-cd-default-state 644 sdc2_cd_default: sdc2-cd-default-state { 595 pins = "gpio38"; 645 pins = "gpio38"; 596 function = "gpio"; 646 function = "gpio"; 597 drive-strength = <2>; 647 drive-strength = <2>; 598 bias-disable; 648 bias-disable; 599 }; 649 }; 600 650 601 tlmm_leds: tlmm-leds-state { 651 tlmm_leds: tlmm-leds-state { 602 pins = "gpio21", "gpio120"; 652 pins = "gpio21", "gpio120"; 603 function = "gpio"; 653 function = "gpio"; 604 654 605 output-low; 655 output-low; 606 }; 656 }; 607 657 608 usb_id_default: usb-id-default-state { 658 usb_id_default: usb-id-default-state { 609 pins = "gpio121"; 659 pins = "gpio121"; 610 function = "gpio"; 660 function = "gpio"; 611 661 612 drive-strength = <8>; 662 drive-strength = <8>; 613 bias-pull-up; 663 bias-pull-up; 614 }; 664 }; 615 665 616 adv7533_int_active: adv533-int-active- 666 adv7533_int_active: adv533-int-active-state { 617 pins = "gpio31"; 667 pins = "gpio31"; 618 function = "gpio"; 668 function = "gpio"; 619 669 620 drive-strength = <16>; 670 drive-strength = <16>; 621 bias-disable; 671 bias-disable; 622 }; 672 }; 623 673 624 adv7533_int_suspend: adv7533-int-suspe 674 adv7533_int_suspend: adv7533-int-suspend-state { 625 pins = "gpio31"; 675 pins = "gpio31"; 626 function = "gpio"; 676 function = "gpio"; 627 677 628 drive-strength = <2>; 678 drive-strength = <2>; 629 bias-disable; 679 bias-disable; 630 }; 680 }; 631 681 632 adv7533_switch_active: adv7533-switch- 682 adv7533_switch_active: adv7533-switch-active-state { 633 pins = "gpio32"; 683 pins = "gpio32"; 634 function = "gpio"; 684 function = "gpio"; 635 685 636 drive-strength = <16>; 686 drive-strength = <16>; 637 bias-disable; 687 bias-disable; 638 }; 688 }; 639 689 640 adv7533_switch_suspend: adv7533-switch 690 adv7533_switch_suspend: adv7533-switch-suspend-state { 641 pins = "gpio32"; 691 pins = "gpio32"; 642 function = "gpio"; 692 function = "gpio"; 643 693 644 drive-strength = <2>; 694 drive-strength = <2>; 645 bias-disable; 695 bias-disable; 646 }; 696 }; 647 697 648 msm_key_volp_n_default: msm-key-volp-n 698 msm_key_volp_n_default: msm-key-volp-n-default-state { 649 pins = "gpio107"; 699 pins = "gpio107"; 650 function = "gpio"; 700 function = "gpio"; 651 701 652 drive-strength = <8>; 702 drive-strength = <8>; 653 bias-pull-up; 703 bias-pull-up; 654 }; 704 }; 655 }; 705 }; 656 706 657 &pm8916_gpios { 707 &pm8916_gpios { 658 gpio-line-names = 708 gpio-line-names = 659 "USR_LED_3_CTRL", 709 "USR_LED_3_CTRL", 660 "USR_LED_4_CTRL", 710 "USR_LED_4_CTRL", 661 "USB_HUB_RESET_N_PM", 711 "USB_HUB_RESET_N_PM", 662 "USB_SW_SEL_PM"; 712 "USB_SW_SEL_PM"; 663 713 664 usb_hub_reset_pm: usb-hub-reset-pm-sta 714 usb_hub_reset_pm: usb-hub-reset-pm-state { 665 pins = "gpio3"; 715 pins = "gpio3"; 666 function = PMIC_GPIO_FUNC_NORM 716 function = PMIC_GPIO_FUNC_NORMAL; 667 717 668 input-disable; 718 input-disable; 669 output-high; 719 output-high; 670 }; 720 }; 671 721 672 usb_hub_reset_pm_device: usb-hub-reset 722 usb_hub_reset_pm_device: usb-hub-reset-pm-device-state { 673 pins = "gpio3"; 723 pins = "gpio3"; 674 function = PMIC_GPIO_FUNC_NORM 724 function = PMIC_GPIO_FUNC_NORMAL; 675 725 676 output-low; 726 output-low; 677 }; 727 }; 678 728 679 usb_sw_sel_pm: usb-sw-sel-pm-state { 729 usb_sw_sel_pm: usb-sw-sel-pm-state { 680 pins = "gpio4"; 730 pins = "gpio4"; 681 function = PMIC_GPIO_FUNC_NORM 731 function = PMIC_GPIO_FUNC_NORMAL; 682 732 683 power-source = <PM8916_GPIO_VP 733 power-source = <PM8916_GPIO_VPH>; 684 input-disable; 734 input-disable; 685 output-high; 735 output-high; 686 }; 736 }; 687 737 688 usb_sw_sel_pm_device: usb-sw-sel-pm-de 738 usb_sw_sel_pm_device: usb-sw-sel-pm-device-state { 689 pins = "gpio4"; 739 pins = "gpio4"; 690 function = PMIC_GPIO_FUNC_NORM 740 function = PMIC_GPIO_FUNC_NORMAL; 691 741 692 power-source = <PM8916_GPIO_VP 742 power-source = <PM8916_GPIO_VPH>; 693 input-disable; 743 input-disable; 694 output-low; 744 output-low; 695 }; 745 }; 696 746 697 pm8916_gpios_leds: pm8916-gpios-leds-s 747 pm8916_gpios_leds: pm8916-gpios-leds-state { 698 pins = "gpio1", "gpio2"; 748 pins = "gpio1", "gpio2"; 699 function = PMIC_GPIO_FUNC_NORM 749 function = PMIC_GPIO_FUNC_NORMAL; 700 750 701 output-low; 751 output-low; 702 }; 752 }; 703 }; 753 }; 704 754 705 &pm8916_mpps { 755 &pm8916_mpps { 706 gpio-line-names = 756 gpio-line-names = 707 "VDD_PX_BIAS", 757 "VDD_PX_BIAS", 708 "WLAN_LED_CTRL", 758 "WLAN_LED_CTRL", 709 "BT_LED_CTRL", 759 "BT_LED_CTRL", 710 "GPIO-F"; /* LS_EXP_GPIO_F, LS 760 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 711 761 712 pinctrl-names = "default"; 762 pinctrl-names = "default"; 713 pinctrl-0 = <&ls_exp_gpio_f>; 763 pinctrl-0 = <&ls_exp_gpio_f>; 714 764 715 ls_exp_gpio_f: pm8916-mpp4-state { 765 ls_exp_gpio_f: pm8916-mpp4-state { 716 pins = "mpp4"; 766 pins = "mpp4"; 717 function = "digital"; 767 function = "digital"; 718 768 719 output-low; 769 output-low; 720 power-source = <PM8916_MPP_L5> 770 power-source = <PM8916_MPP_L5>; /* 1.8V */ 721 }; 771 }; 722 772 723 pm8916_mpps_leds: pm8916-mpps-state { 773 pm8916_mpps_leds: pm8916-mpps-state { 724 pins = "mpp2", "mpp3"; 774 pins = "mpp2", "mpp3"; 725 function = "digital"; 775 function = "digital"; 726 776 727 output-low; 777 output-low; 728 }; 778 }; 729 }; 779 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.