1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 >> 2 #include "qcom-apq8064-v2.0.dtsi" 2 #include <dt-bindings/gpio/gpio.h> 3 #include <dt-bindings/gpio/gpio.h> 3 #include <dt-bindings/leds/common.h> 4 #include <dt-bindings/leds/common.h> 4 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 5 6 6 #include "qcom-apq8064-v2.0.dtsi" << 7 #include "pm8821.dtsi" << 8 #include "pm8921.dtsi" << 9 << 10 / { 7 / { 11 model = "Qualcomm APQ8064/IFC6410"; 8 model = "Qualcomm APQ8064/IFC6410"; 12 compatible = "qcom,apq8064-ifc6410", " 9 compatible = "qcom,apq8064-ifc6410", "qcom,apq8064"; 13 10 14 aliases { 11 aliases { 15 serial0 = &gsbi7_serial; 12 serial0 = &gsbi7_serial; 16 serial1 = &gsbi6_serial; 13 serial1 = &gsbi6_serial; 17 i2c0 = &gsbi1_i2c; 14 i2c0 = &gsbi1_i2c; 18 i2c1 = &gsbi2_i2c; 15 i2c1 = &gsbi2_i2c; 19 i2c2 = &gsbi3_i2c; 16 i2c2 = &gsbi3_i2c; 20 i2c3 = &gsbi4_i2c; 17 i2c3 = &gsbi4_i2c; 21 spi0 = &gsbi5_spi; 18 spi0 = &gsbi5_spi; 22 }; 19 }; 23 20 24 chosen { 21 chosen { 25 stdout-path = "serial0:115200n 22 stdout-path = "serial0:115200n8"; 26 }; 23 }; 27 24 28 leds { 25 leds { 29 compatible = "gpio-leds"; 26 compatible = "gpio-leds"; 30 pinctrl-names = "default"; 27 pinctrl-names = "default"; 31 pinctrl-0 = <¬ify_led>; 28 pinctrl-0 = <¬ify_led>; 32 29 33 led-user1 { 30 led-user1 { 34 label = "apq8064:green 31 label = "apq8064:green:user1"; 35 color = <LED_COLOR_ID_ 32 color = <LED_COLOR_ID_GREEN>; 36 gpios = <&pm8921_gpio 33 gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>; 37 default-state = "on"; 34 default-state = "on"; 38 }; 35 }; 39 }; 36 }; 40 37 41 hdmi-out { 38 hdmi-out { 42 compatible = "hdmi-connector"; 39 compatible = "hdmi-connector"; 43 type = "d"; 40 type = "d"; 44 41 45 port { 42 port { 46 hdmi_con: endpoint { 43 hdmi_con: endpoint { 47 remote-endpoin 44 remote-endpoint = <&hdmi_out>; 48 }; 45 }; 49 }; 46 }; 50 }; 47 }; 51 48 52 sdcc4_pwrseq: pwrseq-sdcc4 { 49 sdcc4_pwrseq: pwrseq-sdcc4 { 53 pinctrl-names = "default"; 50 pinctrl-names = "default"; 54 pinctrl-0 = <&wlan_default_gpi 51 pinctrl-0 = <&wlan_default_gpios>; 55 compatible = "mmc-pwrseq-simpl 52 compatible = "mmc-pwrseq-simple"; 56 reset-gpios = <&pm8921_gpio 43 53 reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>; 57 }; 54 }; 58 55 59 ext_3p3v: regulator-ext-3p3v { 56 ext_3p3v: regulator-ext-3p3v { 60 compatible = "regulator-fixed" 57 compatible = "regulator-fixed"; 61 regulator-min-microvolt = <330 58 regulator-min-microvolt = <3300000>; 62 regulator-max-microvolt = <330 59 regulator-max-microvolt = <3300000>; 63 regulator-name = "ext_3p3v"; 60 regulator-name = "ext_3p3v"; 64 startup-delay-us = <0>; 61 startup-delay-us = <0>; 65 gpio = <&tlmm_pinmux 77 GPIO_A 62 gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; 66 enable-active-high; 63 enable-active-high; 67 regulator-boot-on; 64 regulator-boot-on; 68 }; 65 }; 69 }; 66 }; 70 67 71 &gsbi1 { 68 &gsbi1 { 72 qcom,mode = <GSBI_PROT_I2C>; 69 qcom,mode = <GSBI_PROT_I2C>; 73 status = "okay"; 70 status = "okay"; 74 }; 71 }; 75 72 76 &gsbi1_i2c { 73 &gsbi1_i2c { 77 clock-frequency = <200000>; 74 clock-frequency = <200000>; 78 status = "okay"; 75 status = "okay"; 79 76 80 eeprom@52 { 77 eeprom@52 { 81 compatible = "atmel,24c128"; 78 compatible = "atmel,24c128"; 82 reg = <0x52>; 79 reg = <0x52>; 83 pagesize = <32>; 80 pagesize = <32>; 84 }; 81 }; 85 }; 82 }; 86 83 87 &gsbi3 { 84 &gsbi3 { 88 qcom,mode = <GSBI_PROT_I2C>; 85 qcom,mode = <GSBI_PROT_I2C>; 89 status = "okay"; 86 status = "okay"; 90 }; 87 }; 91 88 92 &gsbi3_i2c { 89 &gsbi3_i2c { 93 status = "okay"; 90 status = "okay"; 94 }; 91 }; 95 92 96 &gsbi4 { 93 &gsbi4 { 97 qcom,mode = <GSBI_PROT_I2C>; 94 qcom,mode = <GSBI_PROT_I2C>; 98 status = "okay"; 95 status = "okay"; 99 }; 96 }; 100 97 101 /* CAM I2C MIPI-CSI connector */ 98 /* CAM I2C MIPI-CSI connector */ 102 &gsbi4_i2c { 99 &gsbi4_i2c { 103 status = "okay"; 100 status = "okay"; 104 }; 101 }; 105 102 106 &gsbi5 { 103 &gsbi5 { 107 qcom,mode = <GSBI_PROT_SPI>; 104 qcom,mode = <GSBI_PROT_SPI>; 108 status = "okay"; 105 status = "okay"; 109 }; 106 }; 110 107 111 &gsbi5_spi { 108 &gsbi5_spi { 112 num-cs = <1>; 109 num-cs = <1>; 113 cs-gpios = <&tlmm_pinmux 53 0>; 110 cs-gpios = <&tlmm_pinmux 53 0>; 114 status = "okay"; 111 status = "okay"; 115 }; 112 }; 116 113 117 &gsbi6 { 114 &gsbi6 { 118 qcom,mode = <GSBI_PROT_UART_W_FC>; 115 qcom,mode = <GSBI_PROT_UART_W_FC>; 119 status = "okay"; 116 status = "okay"; 120 }; 117 }; 121 118 122 &gsbi6_serial { 119 &gsbi6_serial { 123 pinctrl-names = "default"; 120 pinctrl-names = "default"; 124 pinctrl-0 = <&gsbi6_uart_4pins>; 121 pinctrl-0 = <&gsbi6_uart_4pins>; 125 status = "okay"; 122 status = "okay"; 126 }; 123 }; 127 124 128 &gsbi7 { 125 &gsbi7 { 129 qcom,mode = <GSBI_PROT_I2C_UART>; 126 qcom,mode = <GSBI_PROT_I2C_UART>; 130 status = "okay"; 127 status = "okay"; 131 }; 128 }; 132 129 133 &gsbi7_serial { 130 &gsbi7_serial { 134 pinctrl-names = "default"; 131 pinctrl-names = "default"; 135 pinctrl-0 = <&gsbi7_uart_2pins>; 132 pinctrl-0 = <&gsbi7_uart_2pins>; 136 status = "okay"; 133 status = "okay"; 137 }; 134 }; 138 135 139 &hdmi { 136 &hdmi { 140 core-vdda-supply = <&pm8921_hdmi_switc 137 core-vdda-supply = <&pm8921_hdmi_switch>; 141 hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTI 138 hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>; 142 status = "okay"; 139 status = "okay"; 143 }; 140 }; 144 141 145 &hdmi_in { 142 &hdmi_in { 146 remote-endpoint = <&mdp_dtv_out>; 143 remote-endpoint = <&mdp_dtv_out>; 147 }; 144 }; 148 145 149 &hdmi_out { 146 &hdmi_out { 150 remote-endpoint = <&hdmi_con>; 147 remote-endpoint = <&hdmi_con>; 151 }; 148 }; 152 149 153 &hdmi_phy { 150 &hdmi_phy { 154 status = "okay"; 151 status = "okay"; 155 core-vdda-supply = <&pm8921_hdmi_switc 152 core-vdda-supply = <&pm8921_hdmi_switch>; 156 }; 153 }; 157 154 158 &mdp { 155 &mdp { 159 status = "okay"; 156 status = "okay"; 160 }; 157 }; 161 158 162 &mdp_dtv_out { 159 &mdp_dtv_out { 163 remote-endpoint = <&hdmi_in>; 160 remote-endpoint = <&hdmi_in>; 164 }; 161 }; 165 162 166 &pcie { 163 &pcie { 167 status = "okay"; 164 status = "okay"; 168 vdda-supply = <&pm8921_s3>; 165 vdda-supply = <&pm8921_s3>; 169 vdda_phy-supply = <&pm8921_lvs6>; 166 vdda_phy-supply = <&pm8921_lvs6>; 170 vdda_refclk-supply = <&ext_3p3v>; 167 vdda_refclk-supply = <&ext_3p3v>; 171 pinctrl-0 = <&pcie_pins>; 168 pinctrl-0 = <&pcie_pins>; 172 pinctrl-names = "default"; 169 pinctrl-names = "default"; 173 perst-gpios = <&tlmm_pinmux 27 GPIO_AC 170 perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; 174 }; 171 }; 175 172 176 &pm8821 { << 177 interrupts-extended = <&tlmm_pinmux 76 << 178 }; << 179 << 180 &pm8921 { << 181 interrupts-extended = <&tlmm_pinmux 74 << 182 }; << 183 << 184 &pm8921_gpio { 173 &pm8921_gpio { 185 wlan_default_gpios: wlan-gpios-state { 174 wlan_default_gpios: wlan-gpios-state { 186 pinconf { 175 pinconf { 187 pins = "gpio43"; 176 pins = "gpio43"; 188 function = "normal"; 177 function = "normal"; 189 bias-disable; 178 bias-disable; 190 power-source = <PM8921 179 power-source = <PM8921_GPIO_S4>; 191 }; 180 }; 192 }; 181 }; 193 182 194 notify_led: nled-state { 183 notify_led: nled-state { 195 pinconf { 184 pinconf { 196 pins = "gpio18"; 185 pins = "gpio18"; 197 function = "normal"; 186 function = "normal"; 198 bias-disable; 187 bias-disable; 199 power-source = <PM8921 188 power-source = <PM8921_GPIO_S4>; 200 }; 189 }; 201 }; 190 }; 202 }; 191 }; 203 192 204 &rpm { 193 &rpm { 205 regulators { 194 regulators { 206 compatible = "qcom,rpm-pm8921- << 207 << 208 vin_lvs1_3_6-supply = <&pm8921 195 vin_lvs1_3_6-supply = <&pm8921_s4>; 209 vin_lvs2-supply = <&pm8921_s1> 196 vin_lvs2-supply = <&pm8921_s1>; 210 vin_lvs4_5_7-supply = <&pm8921 197 vin_lvs4_5_7-supply = <&pm8921_s4>; 211 198 212 vdd_l1_l2_l12_l18-supply = <&p 199 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 213 vdd_l24-supply = <&pm8921_s1>; 200 vdd_l24-supply = <&pm8921_s1>; 214 vdd_l25-supply = <&pm8921_s1>; 201 vdd_l25-supply = <&pm8921_s1>; 215 vdd_l26-supply = <&pm8921_s7>; 202 vdd_l26-supply = <&pm8921_s7>; 216 vdd_l27-supply = <&pm8921_s7>; 203 vdd_l27-supply = <&pm8921_s7>; 217 vdd_l28-supply = <&pm8921_s7>; 204 vdd_l28-supply = <&pm8921_s7>; 218 205 >> 206 219 /* Buck SMPS */ 207 /* Buck SMPS */ 220 pm8921_s1: s1 { !! 208 s1 { 221 regulator-always-on; 209 regulator-always-on; 222 regulator-min-microvol 210 regulator-min-microvolt = <1225000>; 223 regulator-max-microvol 211 regulator-max-microvolt = <1225000>; 224 qcom,switch-mode-frequ 212 qcom,switch-mode-frequency = <3200000>; 225 bias-pull-down; 213 bias-pull-down; 226 }; 214 }; 227 215 228 pm8921_s3: s3 { !! 216 s3 { 229 regulator-min-microvol 217 regulator-min-microvolt = <1000000>; 230 regulator-max-microvol 218 regulator-max-microvolt = <1400000>; 231 qcom,switch-mode-frequ 219 qcom,switch-mode-frequency = <4800000>; 232 }; 220 }; 233 221 234 pm8921_s4: s4 { !! 222 s4 { 235 regulator-min-microvol 223 regulator-min-microvolt = <1800000>; 236 regulator-max-microvol 224 regulator-max-microvolt = <1800000>; 237 qcom,switch-mode-frequ 225 qcom,switch-mode-frequency = <3200000>; 238 }; 226 }; 239 227 240 pm8921_s7: s7 { !! 228 s7 { 241 regulator-min-microvol 229 regulator-min-microvolt = <1300000>; 242 regulator-max-microvol 230 regulator-max-microvolt = <1300000>; 243 qcom,switch-mode-frequ 231 qcom,switch-mode-frequency = <3200000>; 244 }; 232 }; 245 233 246 pm8921_l3: l3 { !! 234 l3 { 247 regulator-min-microvol 235 regulator-min-microvolt = <3050000>; 248 regulator-max-microvol 236 regulator-max-microvolt = <3300000>; 249 bias-pull-down; 237 bias-pull-down; 250 }; 238 }; 251 239 252 pm8921_l4: l4 { !! 240 l4 { 253 regulator-min-microvol 241 regulator-min-microvolt = <1000000>; 254 regulator-max-microvol 242 regulator-max-microvolt = <1800000>; 255 bias-pull-down; 243 bias-pull-down; 256 }; 244 }; 257 245 258 pm8921_l5: l5 { !! 246 l5 { 259 regulator-min-microvol 247 regulator-min-microvolt = <2750000>; 260 regulator-max-microvol 248 regulator-max-microvolt = <3000000>; 261 bias-pull-down; 249 bias-pull-down; 262 }; 250 }; 263 251 264 pm8921_l6: l6 { !! 252 l6 { 265 regulator-min-microvol 253 regulator-min-microvolt = <2950000>; 266 regulator-max-microvol 254 regulator-max-microvolt = <2950000>; 267 bias-pull-down; 255 bias-pull-down; 268 }; 256 }; 269 257 270 pm8921_l23: l23 { !! 258 l23 { 271 regulator-min-microvol 259 regulator-min-microvolt = <1700000>; 272 regulator-max-microvol 260 regulator-max-microvolt = <1900000>; 273 bias-pull-down; 261 bias-pull-down; 274 }; 262 }; 275 263 276 pm8921_lvs1: lvs1 { !! 264 lvs1 { 277 bias-pull-down; << 278 }; << 279 << 280 pm8921_lvs6: lvs6 { << 281 bias-pull-down; 265 bias-pull-down; 282 }; 266 }; 283 267 284 pm8921_hdmi_switch: hdmi-switc !! 268 lvs6 { 285 bias-pull-down; 269 bias-pull-down; 286 }; 270 }; 287 }; 271 }; 288 }; 272 }; 289 273 290 &sata_phy0 { 274 &sata_phy0 { 291 status = "okay"; 275 status = "okay"; 292 }; 276 }; 293 277 294 &sata0 { 278 &sata0 { 295 target-supply = <&pm8921_s4>; 279 target-supply = <&pm8921_s4>; 296 status = "okay"; 280 status = "okay"; 297 }; 281 }; 298 282 299 /* eMMC */ 283 /* eMMC */ 300 &sdcc1 { 284 &sdcc1 { 301 vmmc-supply = <&pm8921_l5>; 285 vmmc-supply = <&pm8921_l5>; 302 vqmmc-supply = <&pm8921_s4>; 286 vqmmc-supply = <&pm8921_s4>; 303 status = "okay"; 287 status = "okay"; 304 }; 288 }; 305 289 306 /* External micro SD card */ 290 /* External micro SD card */ 307 &sdcc3 { 291 &sdcc3 { 308 vmmc-supply = <&pm8921_l6>; 292 vmmc-supply = <&pm8921_l6>; 309 pinctrl-names = "default"; 293 pinctrl-names = "default"; 310 pinctrl-0 = <&card_detect>; 294 pinctrl-0 = <&card_detect>; 311 cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIV 295 cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; 312 status = "okay"; 296 status = "okay"; 313 }; 297 }; 314 298 315 /* WLAN */ 299 /* WLAN */ 316 &sdcc4 { 300 &sdcc4 { 317 vmmc-supply = <&ext_3p3v>; 301 vmmc-supply = <&ext_3p3v>; 318 vqmmc-supply = <&pm8921_lvs1>; 302 vqmmc-supply = <&pm8921_lvs1>; 319 mmc-pwrseq = <&sdcc4_pwrseq>; 303 mmc-pwrseq = <&sdcc4_pwrseq>; 320 status = "okay"; 304 status = "okay"; 321 }; 305 }; 322 306 323 &tlmm_pinmux { 307 &tlmm_pinmux { 324 card_detect: card-detect-state { !! 308 card_detect: card_detect { 325 pins = "gpio26"; !! 309 mux { 326 function = "gpio"; !! 310 pins = "gpio26"; 327 bias-disable; !! 311 function = "gpio"; >> 312 bias-disable; >> 313 }; 328 }; 314 }; 329 315 330 pcie_pins: pcie-state { !! 316 pcie_pins: pcie_pinmux { 331 pins = "gpio27"; !! 317 mux { 332 function = "gpio"; !! 318 pins = "gpio27"; 333 drive-strength = <12>; !! 319 function = "gpio"; 334 bias-disable; !! 320 }; >> 321 conf { >> 322 pins = "gpio27"; >> 323 drive-strength = <12>; >> 324 bias-disable; >> 325 }; 335 }; 326 }; 336 }; 327 }; 337 328 338 &usb_hs1_phy { 329 &usb_hs1_phy { 339 v3p3-supply = <&pm8921_l3>; 330 v3p3-supply = <&pm8921_l3>; 340 v1p8-supply = <&pm8921_l4>; 331 v1p8-supply = <&pm8921_l4>; 341 }; 332 }; 342 333 343 &usb_hs3_phy { 334 &usb_hs3_phy { 344 v3p3-supply = <&pm8921_l3>; 335 v3p3-supply = <&pm8921_l3>; 345 v1p8-supply = <&pm8921_l23>; 336 v1p8-supply = <&pm8921_l23>; 346 }; 337 }; 347 338 348 &usb_hs4_phy { 339 &usb_hs4_phy { 349 v3p3-supply = <&pm8921_l3>; 340 v3p3-supply = <&pm8921_l3>; 350 v1p8-supply = <&pm8921_l23>; 341 v1p8-supply = <&pm8921_l23>; 351 }; 342 }; 352 343 353 /* OTG */ 344 /* OTG */ 354 &usb1 { 345 &usb1 { 355 dr_mode = "otg"; 346 dr_mode = "otg"; 356 status = "okay"; 347 status = "okay"; 357 }; 348 }; 358 349 359 &usb3 { 350 &usb3 { 360 dr_mode = "host"; 351 dr_mode = "host"; 361 status = "okay"; 352 status = "okay"; 362 }; 353 }; 363 354 364 &usb4 { 355 &usb4 { 365 dr_mode = "host"; 356 dr_mode = "host"; 366 status = "okay"; 357 status = "okay"; 367 }; 358 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.