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