1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/gpio/gpio.h> 3#include <dt-bindings/input/input.h> 4#include <dt-bindings/mfd/qcom-rpm.h> 5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6 7#include "qcom-apq8064-v2.0.dtsi" 8#include "pm8821.dtsi" 9#include "pm8921.dtsi" 10 11/ { 12 model = "Sony Xperia Z"; 13 compatible = "sony,xperia-yuga", "qcom,apq8064"; 14 chassis-type = "handset"; 15 16 aliases { 17 serial0 = &gsbi5_serial; 18 }; 19 20 chosen { 21 stdout-path = "serial0:115200n8"; 22 }; 23 24 gpio-keys { 25 compatible = "gpio-keys"; 26 27 pinctrl-names = "default"; 28 pinctrl-0 = <&gpio_keys_pin_a>; 29 30 key-camera-focus { 31 label = "camera_focus"; 32 gpios = <&pm8921_gpio 3 GPIO_ACTIVE_LOW>; 33 linux,input-type = <1>; 34 linux,code = <KEY_CAMERA_FOCUS>; 35 }; 36 37 key-camera-snapshot { 38 label = "camera_snapshot"; 39 gpios = <&pm8921_gpio 4 GPIO_ACTIVE_LOW>; 40 linux,input-type = <1>; 41 linux,code = <KEY_CAMERA>; 42 }; 43 44 key-volume-down { 45 label = "volume_down"; 46 gpios = <&pm8921_gpio 29 GPIO_ACTIVE_LOW>; 47 linux,input-type = <1>; 48 linux,code = <KEY_VOLUMEDOWN>; 49 }; 50 51 key-volume-up { 52 label = "volume_up"; 53 gpios = <&pm8921_gpio 35 GPIO_ACTIVE_LOW>; 54 linux,input-type = <1>; 55 linux,code = <KEY_VOLUMEUP>; 56 }; 57 }; 58}; 59 60&gsbi5 { 61 qcom,mode = <GSBI_PROT_I2C_UART>; 62 status = "okay"; 63}; 64 65&gsbi5_serial { 66 pinctrl-names = "default"; 67 pinctrl-0 = <&gsbi5_uart_pin_a>; 68 status = "okay"; 69}; 70 71&pm8821 { 72 interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>; 73}; 74 75&pm8921 { 76 interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>; 77}; 78 79&pm8921_gpio { 80 gpio_keys_pin_a: gpio-keys-active-state { 81 pins = "gpio3", "gpio4", "gpio29", "gpio35"; 82 function = "normal"; 83 84 bias-pull-up; 85 drive-push-pull; 86 input-enable; 87 power-source = <2>; 88 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 89 qcom,pull-up-strength = <0>; 90 }; 91}; 92 93&riva { 94 pinctrl-names = "default"; 95 pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>; 96 97 vddcx-supply = <&pm8921_s3>; 98 vddmx-supply = <&pm8921_l24>; 99 vddpx-supply = <&pm8921_s4>; 100 101 status = "okay"; 102 103 iris { 104 vddxo-supply = <&pm8921_l4>; 105 vddrfa-supply = <&pm8921_s2>; 106 vddpa-supply = <&pm8921_l10>; 107 vdddig-supply = <&pm8921_lvs2>; 108 }; 109}; 110 111&rpm { 112 regulators { 113 compatible = "qcom,rpm-pm8921-regulators"; 114 115 vin_l1_l2_l12_l18-supply = <&pm8921_s4>; 116 vin_lvs_1_3_6-supply = <&pm8921_s4>; 117 vin_lvs_4_5_7-supply = <&pm8921_s4>; 118 vin_ncp-supply = <&pm8921_l6>; 119 vin_lvs2-supply = <&pm8921_s4>; 120 vin_l24-supply = <&pm8921_s1>; 121 vin_l25-supply = <&pm8921_s1>; 122 vin_l27-supply = <&pm8921_s7>; 123 vin_l28-supply = <&pm8921_s7>; 124 125 /* Buck SMPS */ 126 pm8921_s1: s1 { 127 regulator-always-on; 128 regulator-min-microvolt = <1225000>; 129 regulator-max-microvolt = <1225000>; 130 qcom,switch-mode-frequency = <3200000>; 131 bias-pull-down; 132 }; 133 134 pm8921_s2: s2 { 135 regulator-min-microvolt = <1300000>; 136 regulator-max-microvolt = <1300000>; 137 qcom,switch-mode-frequency = <1600000>; 138 bias-pull-down; 139 }; 140 141 pm8921_s3: s3 { 142 regulator-min-microvolt = <500000>; 143 regulator-max-microvolt = <1150000>; 144 qcom,switch-mode-frequency = <4800000>; 145 bias-pull-down; 146 }; 147 148 pm8921_s4: s4 { 149 regulator-always-on; 150 regulator-min-microvolt = <1800000>; 151 regulator-max-microvolt = <1800000>; 152 qcom,switch-mode-frequency = <1600000>; 153 bias-pull-down; 154 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 155 }; 156 157 pm8921_s7: s7 { 158 regulator-min-microvolt = <1300000>; 159 regulator-max-microvolt = <1300000>; 160 qcom,switch-mode-frequency = <3200000>; 161 }; 162 163 pm8921_s8: s8 { 164 regulator-min-microvolt = <2200000>; 165 regulator-max-microvolt = <2200000>; 166 qcom,switch-mode-frequency = <1600000>; 167 }; 168 169 /* PMOS LDO */ 170 pm8921_l1: l1 { 171 regulator-always-on; 172 regulator-min-microvolt = <1100000>; 173 regulator-max-microvolt = <1100000>; 174 bias-pull-down; 175 }; 176 177 pm8921_l2: l2 { 178 regulator-min-microvolt = <1200000>; 179 regulator-max-microvolt = <1200000>; 180 bias-pull-down; 181 }; 182 183 pm8921_l3: l3 { 184 regulator-min-microvolt = <3075000>; 185 regulator-max-microvolt = <3075000>; 186 bias-pull-down; 187 }; 188 189 pm8921_l4: l4 { 190 regulator-always-on; 191 regulator-min-microvolt = <1800000>; 192 regulator-max-microvolt = <1800000>; 193 bias-pull-down; 194 }; 195 196 pm8921_l5: l5 { 197 regulator-min-microvolt = <2950000>; 198 regulator-max-microvolt = <2950000>; 199 bias-pull-down; 200 }; 201 202 pm8921_l6: l6 { 203 regulator-min-microvolt = <2950000>; 204 regulator-max-microvolt = <2950000>; 205 bias-pull-down; 206 }; 207 208 pm8921_l7: l7 { 209 regulator-min-microvolt = <1850000>; 210 regulator-max-microvolt = <2950000>; 211 bias-pull-down; 212 }; 213 214 pm8921_l8: l8 { 215 regulator-min-microvolt = <2800000>; 216 regulator-max-microvolt = <2800000>; 217 bias-pull-down; 218 }; 219 220 pm8921_l9: l9 { 221 regulator-min-microvolt = <3000000>; 222 regulator-max-microvolt = <3000000>; 223 bias-pull-down; 224 }; 225 226 pm8921_l10: l10 { 227 regulator-min-microvolt = <2900000>; 228 regulator-max-microvolt = <2900000>; 229 bias-pull-down; 230 }; 231 232 pm8921_l11: l11 { 233 regulator-min-microvolt = <3000000>; 234 regulator-max-microvolt = <3000000>; 235 bias-pull-down; 236 }; 237 238 pm8921_l12: l12 { 239 regulator-min-microvolt = <1200000>; 240 regulator-max-microvolt = <1200000>; 241 bias-pull-down; 242 }; 243 244 pm8921_l14: l14 { 245 regulator-min-microvolt = <1800000>; 246 regulator-max-microvolt = <1800000>; 247 bias-pull-down; 248 }; 249 250 pm8921_l15: l15 { 251 regulator-min-microvolt = <1800000>; 252 regulator-max-microvolt = <2950000>; 253 bias-pull-down; 254 }; 255 256 pm8921_l16: l16 { 257 regulator-min-microvolt = <2800000>; 258 regulator-max-microvolt = <2800000>; 259 bias-pull-down; 260 }; 261 262 pm8921_l17: l17 { 263 regulator-min-microvolt = <2000000>; 264 regulator-max-microvolt = <2000000>; 265 bias-pull-down; 266 }; 267 268 pm8921_l18: l18 { 269 regulator-min-microvolt = <1200000>; 270 regulator-max-microvolt = <1200000>; 271 bias-pull-down; 272 }; 273 274 pm8921_l21: l21 { 275 regulator-min-microvolt = <1050000>; 276 regulator-max-microvolt = <1050000>; 277 bias-pull-down; 278 }; 279 280 pm8921_l22: l22 { 281 regulator-min-microvolt = <2600000>; 282 regulator-max-microvolt = <2600000>; 283 bias-pull-down; 284 }; 285 286 pm8921_l23: l23 { 287 regulator-min-microvolt = <1800000>; 288 regulator-max-microvolt = <1800000>; 289 bias-pull-down; 290 }; 291 292 pm8921_l24: l24 { 293 regulator-min-microvolt = <750000>; 294 regulator-max-microvolt = <1150000>; 295 bias-pull-down; 296 }; 297 298 pm8921_l25: l25 { 299 regulator-always-on; 300 regulator-min-microvolt = <1250000>; 301 regulator-max-microvolt = <1250000>; 302 bias-pull-down; 303 }; 304 305 pm8921_l27: l27 { 306 regulator-min-microvolt = <1100000>; 307 regulator-max-microvolt = <1100000>; 308 }; 309 310 pm8921_l28: l28 { 311 regulator-min-microvolt = <1050000>; 312 regulator-max-microvolt = <1050000>; 313 bias-pull-down; 314 }; 315 316 pm8921_l29: l29 { 317 regulator-min-microvolt = <2000000>; 318 regulator-max-microvolt = <2000000>; 319 bias-pull-down; 320 }; 321 322 /* Low Voltage Switch */ 323 pm8921_lvs1: lvs1 { 324 bias-pull-down; 325 }; 326 327 pm8921_lvs2: lvs2 { 328 bias-pull-down; 329 }; 330 331 pm8921_lvs3: lvs3 { 332 bias-pull-down; 333 }; 334 335 pm8921_lvs4: lvs4 { 336 bias-pull-down; 337 }; 338 339 pm8921_lvs5: lvs5 { 340 bias-pull-down; 341 }; 342 343 pm8921_lvs6: lvs6 { 344 bias-pull-down; 345 }; 346 347 pm8921_lvs7: lvs7 { 348 bias-pull-down; 349 }; 350 351 pm8921_usb_switch: usb-switch {}; 352 353 pm8921_hdmi_switch: hdmi-switch { 354 bias-pull-down; 355 }; 356 357 pm8921_ncp: ncp { 358 regulator-min-microvolt = <1800000>; 359 regulator-max-microvolt = <1800000>; 360 qcom,switch-mode-frequency = <1600000>; 361 }; 362 }; 363}; 364 365&sdcc1 { 366 vmmc-supply = <&pm8921_l5>; 367 vqmmc-supply = <&pm8921_s4>; 368 status = "okay"; 369}; 370 371&sdcc3 { 372 vmmc-supply = <&pm8921_l6>; 373 cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; 374 375 pinctrl-names = "default"; 376 pinctrl-0 = <&sdcc3_pins>, <&sdcc3_cd_pin_a>; 377 378 status = "okay"; 379}; 380 381&tlmm_pinmux { 382 gsbi5_uart_pin_a: gsbi5-uart-pin-active { 383 rx { 384 pins = "gpio52"; 385 function = "gsbi5"; 386 drive-strength = <2>; 387 bias-pull-up; 388 }; 389 390 tx { 391 pins = "gpio51"; 392 function = "gsbi5"; 393 drive-strength = <4>; 394 bias-disable; 395 }; 396 }; 397 398 399 sdcc3_cd_pin_a: sdcc3-cd-pin-active { 400 pins = "gpio26"; 401 function = "gpio"; 402 403 drive-strength = <2>; 404 bias-disable; 405 }; 406}; 407 408&usb_hs1_phy { 409 v3p3-supply = <&pm8921_l3>; 410 v1p8-supply = <&pm8921_l4>; 411}; 412 413&usb1 { 414 dr_mode = "otg"; 415 status = "okay"; 416}; 417