0001 // SPDX-License-Identifier: GPL-2.0
0002 #include "qcom-apq8064-v2.0.dtsi"
0003 #include <dt-bindings/gpio/gpio.h>
0004 #include <dt-bindings/input/input.h>
0005 #include <dt-bindings/mfd/qcom-rpm.h>
0006 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
0007
0008 / {
0009 model = "Sony Xperia Z";
0010 compatible = "sony,xperia-yuga", "qcom,apq8064";
0011
0012 aliases {
0013 serial0 = &gsbi5_serial;
0014 };
0015
0016 chosen {
0017 stdout-path = "serial0:115200n8";
0018 };
0019
0020 gpio-keys {
0021 compatible = "gpio-keys";
0022
0023 pinctrl-names = "default";
0024 pinctrl-0 = <&gpio_keys_pin_a>;
0025
0026 key-camera-focus {
0027 label = "camera_focus";
0028 gpios = <&pm8921_gpio 3 GPIO_ACTIVE_LOW>;
0029 linux,input-type = <1>;
0030 linux,code = <KEY_CAMERA_FOCUS>;
0031 };
0032
0033 key-camera-snapshot {
0034 label = "camera_snapshot";
0035 gpios = <&pm8921_gpio 4 GPIO_ACTIVE_LOW>;
0036 linux,input-type = <1>;
0037 linux,code = <KEY_CAMERA>;
0038 };
0039
0040 key-volume-down {
0041 label = "volume_down";
0042 gpios = <&pm8921_gpio 29 GPIO_ACTIVE_LOW>;
0043 linux,input-type = <1>;
0044 linux,code = <KEY_VOLUMEDOWN>;
0045 };
0046
0047 key-volume-up {
0048 label = "volume_up";
0049 gpios = <&pm8921_gpio 35 GPIO_ACTIVE_LOW>;
0050 linux,input-type = <1>;
0051 linux,code = <KEY_VOLUMEUP>;
0052 };
0053 };
0054
0055 soc {
0056 pinctrl@800000 {
0057 gsbi5_uart_pin_a: gsbi5-uart-pin-active {
0058 rx {
0059 pins = "gpio52";
0060 function = "gsbi5";
0061 drive-strength = <2>;
0062 bias-pull-up;
0063 };
0064
0065 tx {
0066 pins = "gpio51";
0067 function = "gsbi5";
0068 drive-strength = <4>;
0069 bias-disable;
0070 };
0071 };
0072
0073
0074 sdcc3_cd_pin_a: sdcc3-cd-pin-active {
0075 pins = "gpio26";
0076 function = "gpio";
0077
0078 drive-strength = <2>;
0079 bias-disable;
0080 };
0081 };
0082
0083
0084 rpm@108000 {
0085 regulators {
0086 vin_l1_l2_l12_l18-supply = <&pm8921_s4>;
0087 vin_lvs_1_3_6-supply = <&pm8921_s4>;
0088 vin_lvs_4_5_7-supply = <&pm8921_s4>;
0089 vin_ncp-supply = <&pm8921_l6>;
0090 vin_lvs2-supply = <&pm8921_s4>;
0091 vin_l24-supply = <&pm8921_s1>;
0092 vin_l25-supply = <&pm8921_s1>;
0093 vin_l27-supply = <&pm8921_s7>;
0094 vin_l28-supply = <&pm8921_s7>;
0095
0096 /* Buck SMPS */
0097 s1 {
0098 regulator-always-on;
0099 regulator-min-microvolt = <1225000>;
0100 regulator-max-microvolt = <1225000>;
0101 qcom,switch-mode-frequency = <3200000>;
0102 bias-pull-down;
0103 };
0104
0105 s2 {
0106 regulator-min-microvolt = <1300000>;
0107 regulator-max-microvolt = <1300000>;
0108 qcom,switch-mode-frequency = <1600000>;
0109 bias-pull-down;
0110 };
0111
0112 s3 {
0113 regulator-min-microvolt = <500000>;
0114 regulator-max-microvolt = <1150000>;
0115 qcom,switch-mode-frequency = <4800000>;
0116 bias-pull-down;
0117 };
0118
0119 s4 {
0120 regulator-always-on;
0121 regulator-min-microvolt = <1800000>;
0122 regulator-max-microvolt = <1800000>;
0123 qcom,switch-mode-frequency = <1600000>;
0124 bias-pull-down;
0125 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
0126 };
0127
0128 s7 {
0129 regulator-min-microvolt = <1300000>;
0130 regulator-max-microvolt = <1300000>;
0131 qcom,switch-mode-frequency = <3200000>;
0132 };
0133
0134 s8 {
0135 regulator-min-microvolt = <2200000>;
0136 regulator-max-microvolt = <2200000>;
0137 qcom,switch-mode-frequency = <1600000>;
0138 };
0139
0140 /* PMOS LDO */
0141 l1 {
0142 regulator-always-on;
0143 regulator-min-microvolt = <1100000>;
0144 regulator-max-microvolt = <1100000>;
0145 bias-pull-down;
0146 };
0147
0148 l2 {
0149 regulator-min-microvolt = <1200000>;
0150 regulator-max-microvolt = <1200000>;
0151 bias-pull-down;
0152 };
0153
0154 l3 {
0155 regulator-min-microvolt = <3075000>;
0156 regulator-max-microvolt = <3075000>;
0157 bias-pull-down;
0158 };
0159
0160 l4 {
0161 regulator-always-on;
0162 regulator-min-microvolt = <1800000>;
0163 regulator-max-microvolt = <1800000>;
0164 bias-pull-down;
0165 };
0166
0167 l5 {
0168 regulator-min-microvolt = <2950000>;
0169 regulator-max-microvolt = <2950000>;
0170 bias-pull-down;
0171 };
0172
0173 l6 {
0174 regulator-min-microvolt = <2950000>;
0175 regulator-max-microvolt = <2950000>;
0176 bias-pull-down;
0177 };
0178
0179 l7 {
0180 regulator-min-microvolt = <1850000>;
0181 regulator-max-microvolt = <2950000>;
0182 bias-pull-down;
0183 };
0184
0185 l8 {
0186 regulator-min-microvolt = <2800000>;
0187 regulator-max-microvolt = <2800000>;
0188 bias-pull-down;
0189 };
0190
0191 l9 {
0192 regulator-min-microvolt = <3000000>;
0193 regulator-max-microvolt = <3000000>;
0194 bias-pull-down;
0195 };
0196
0197 l10 {
0198 regulator-min-microvolt = <2900000>;
0199 regulator-max-microvolt = <2900000>;
0200 bias-pull-down;
0201 };
0202
0203 l11 {
0204 regulator-min-microvolt = <3000000>;
0205 regulator-max-microvolt = <3000000>;
0206 bias-pull-down;
0207 };
0208
0209 l12 {
0210 regulator-min-microvolt = <1200000>;
0211 regulator-max-microvolt = <1200000>;
0212 bias-pull-down;
0213 };
0214
0215 l14 {
0216 regulator-min-microvolt = <1800000>;
0217 regulator-max-microvolt = <1800000>;
0218 bias-pull-down;
0219 };
0220
0221 l15 {
0222 regulator-min-microvolt = <1800000>;
0223 regulator-max-microvolt = <2950000>;
0224 bias-pull-down;
0225 };
0226
0227 l16 {
0228 regulator-min-microvolt = <2800000>;
0229 regulator-max-microvolt = <2800000>;
0230 bias-pull-down;
0231 };
0232
0233 l17 {
0234 regulator-min-microvolt = <2000000>;
0235 regulator-max-microvolt = <2000000>;
0236 bias-pull-down;
0237 };
0238
0239 l18 {
0240 regulator-min-microvolt = <1200000>;
0241 regulator-max-microvolt = <1200000>;
0242 bias-pull-down;
0243 };
0244
0245 l21 {
0246 regulator-min-microvolt = <1050000>;
0247 regulator-max-microvolt = <1050000>;
0248 bias-pull-down;
0249 };
0250
0251 l22 {
0252 regulator-min-microvolt = <2600000>;
0253 regulator-max-microvolt = <2600000>;
0254 bias-pull-down;
0255 };
0256
0257 l23 {
0258 regulator-min-microvolt = <1800000>;
0259 regulator-max-microvolt = <1800000>;
0260 bias-pull-down;
0261 };
0262
0263 l24 {
0264 regulator-min-microvolt = <750000>;
0265 regulator-max-microvolt = <1150000>;
0266 bias-pull-down;
0267 };
0268
0269 l25 {
0270 regulator-always-on;
0271 regulator-min-microvolt = <1250000>;
0272 regulator-max-microvolt = <1250000>;
0273 bias-pull-down;
0274 };
0275
0276 l27 {
0277 regulator-min-microvolt = <1100000>;
0278 regulator-max-microvolt = <1100000>;
0279 };
0280
0281 l28 {
0282 regulator-min-microvolt = <1050000>;
0283 regulator-max-microvolt = <1050000>;
0284 bias-pull-down;
0285 };
0286
0287 l29 {
0288 regulator-min-microvolt = <2000000>;
0289 regulator-max-microvolt = <2000000>;
0290 bias-pull-down;
0291 };
0292
0293 /* Low Voltage Switch */
0294 lvs1 {
0295 bias-pull-down;
0296 };
0297
0298 lvs2 {
0299 bias-pull-down;
0300 };
0301
0302 lvs3 {
0303 bias-pull-down;
0304 };
0305
0306 lvs4 {
0307 bias-pull-down;
0308 };
0309
0310 lvs5 {
0311 bias-pull-down;
0312 };
0313
0314 lvs6 {
0315 bias-pull-down;
0316 };
0317
0318 lvs7 {
0319 bias-pull-down;
0320 };
0321
0322 usb-switch {};
0323
0324 hdmi-switch {};
0325
0326 ncp {
0327 regulator-min-microvolt = <1800000>;
0328 regulator-max-microvolt = <1800000>;
0329 qcom,switch-mode-frequency = <1600000>;
0330 };
0331 };
0332 };
0333
0334 qcom,ssbi@500000 {
0335 pmic@0 {
0336 gpio@150 {
0337 gpio_keys_pin_a: gpio-keys-active-state {
0338 pins = "gpio3", "gpio4", "gpio29", "gpio35";
0339 function = "normal";
0340
0341 bias-pull-up;
0342 drive-push-pull;
0343 input-enable;
0344 power-source = <2>;
0345 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
0346 qcom,pull-up-strength = <0>;
0347 };
0348 };
0349 };
0350 };
0351
0352 usb@12500000 {
0353 status = "okay";
0354 dr_mode = "otg";
0355 ulpi {
0356 phy {
0357 v3p3-supply = <&pm8921_l3>;
0358 v1p8-supply = <&pm8921_l4>;
0359 };
0360 };
0361 };
0362
0363 gsbi@1a200000 {
0364 status = "okay";
0365 qcom,mode = <GSBI_PROT_I2C_UART>;
0366
0367 serial@1a240000 {
0368 status = "okay";
0369
0370 pinctrl-names = "default";
0371 pinctrl-0 = <&gsbi5_uart_pin_a>;
0372 };
0373 };
0374
0375 amba {
0376 sdcc1: mmc@12400000 {
0377 status = "okay";
0378
0379 vmmc-supply = <&pm8921_l5>;
0380 vqmmc-supply = <&pm8921_s4>;
0381 };
0382
0383 sdcc3: mmc@12180000 {
0384 status = "okay";
0385
0386 vmmc-supply = <&pm8921_l6>;
0387 cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
0388
0389 pinctrl-names = "default";
0390 pinctrl-0 = <&sdcc3_pins>, <&sdcc3_cd_pin_a>;
0391 };
0392 };
0393
0394 riva-pil@3204000 {
0395 status = "okay";
0396
0397 pinctrl-names = "default";
0398 pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>;
0399 };
0400 };
0401 };