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