138d779c2SAlejandro Tafalla// SPDX-License-Identifier: BSD-3-Clause 238d779c2SAlejandro Tafalla/* 338d779c2SAlejandro Tafalla * Copyright (c) 2022, Alejandro Tafalla 438d779c2SAlejandro Tafalla */ 538d779c2SAlejandro Tafalla/dts-v1/; 638d779c2SAlejandro Tafalla 738d779c2SAlejandro Tafalla#include "msm8953.dtsi" 838d779c2SAlejandro Tafalla#include "pm8953.dtsi" 938d779c2SAlejandro Tafalla#include "pmi8950.dtsi" 1038d779c2SAlejandro Tafalla 1138d779c2SAlejandro Tafalla/delete-node/ &adsp_fw_mem; 1238d779c2SAlejandro Tafalla/delete-node/ &qseecom_mem; 1338d779c2SAlejandro Tafalla/delete-node/ &wcnss_fw_mem; 1438d779c2SAlejandro Tafalla 1538d779c2SAlejandro Tafalla/ { 1638d779c2SAlejandro Tafalla model = "Xiaomi Mi A2 Lite"; 1738d779c2SAlejandro Tafalla compatible = "xiaomi,daisy", "qcom,msm8953"; 1838d779c2SAlejandro Tafalla chassis-type = "handset"; 1938d779c2SAlejandro Tafalla qcom,msm-id = <293 0>; 2038d779c2SAlejandro Tafalla qcom,board-id = <0x1000b 0x9>; 2138d779c2SAlejandro Tafalla 2238d779c2SAlejandro Tafalla chosen { 2338d779c2SAlejandro Tafalla #address-cells = <2>; 2438d779c2SAlejandro Tafalla #size-cells = <2>; 2538d779c2SAlejandro Tafalla ranges; 2638d779c2SAlejandro Tafalla 2738d779c2SAlejandro Tafalla framebuffer@90001000 { 2838d779c2SAlejandro Tafalla compatible = "simple-framebuffer"; 2938d779c2SAlejandro Tafalla reg = <0 0x90001000 0 (1920 * 2280 * 3)>; 3038d779c2SAlejandro Tafalla 3138d779c2SAlejandro Tafalla width = <1080>; 3238d779c2SAlejandro Tafalla height = <2280>; 3338d779c2SAlejandro Tafalla stride = <(1080 * 3)>; 3438d779c2SAlejandro Tafalla format = "r8g8b8"; 3538d779c2SAlejandro Tafalla 3638d779c2SAlejandro Tafalla power-domains = <&gcc MDSS_GDSC>; 3738d779c2SAlejandro Tafalla 3838d779c2SAlejandro Tafalla clocks = <&gcc GCC_MDSS_AHB_CLK>, 3938d779c2SAlejandro Tafalla <&gcc GCC_MDSS_AXI_CLK>, 4038d779c2SAlejandro Tafalla <&gcc GCC_MDSS_VSYNC_CLK>, 4138d779c2SAlejandro Tafalla <&gcc GCC_MDSS_MDP_CLK>, 4238d779c2SAlejandro Tafalla <&gcc GCC_MDSS_BYTE0_CLK>, 4338d779c2SAlejandro Tafalla <&gcc GCC_MDSS_PCLK0_CLK>, 4438d779c2SAlejandro Tafalla <&gcc GCC_MDSS_ESC0_CLK>; 4538d779c2SAlejandro Tafalla }; 4638d779c2SAlejandro Tafalla }; 4738d779c2SAlejandro Tafalla 4838d779c2SAlejandro Tafalla gpio-keys { 4938d779c2SAlejandro Tafalla compatible = "gpio-keys"; 5038d779c2SAlejandro Tafalla 5138d779c2SAlejandro Tafalla pinctrl-names = "default"; 5238d779c2SAlejandro Tafalla pinctrl-0 = <&gpio_key_default>; 5338d779c2SAlejandro Tafalla 5438d779c2SAlejandro Tafalla key-volume-up { 5538d779c2SAlejandro Tafalla label = "Volume Up"; 5638d779c2SAlejandro Tafalla gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 5738d779c2SAlejandro Tafalla linux,code = <KEY_VOLUMEUP>; 5838d779c2SAlejandro Tafalla }; 5938d779c2SAlejandro Tafalla }; 6038d779c2SAlejandro Tafalla 6138d779c2SAlejandro Tafalla reserved-memory { 6238d779c2SAlejandro Tafalla qseecom_mem: qseecom@84a00000 { 6338d779c2SAlejandro Tafalla reg = <0x0 0x84a00000 0x0 0x1900000>; 6438d779c2SAlejandro Tafalla no-map; 6538d779c2SAlejandro Tafalla }; 6638d779c2SAlejandro Tafalla 6738d779c2SAlejandro Tafalla adsp_fw_mem: adsp@8d600000 { 6838d779c2SAlejandro Tafalla reg = <0x0 0x8d600000 0x0 0x1200000>; 6938d779c2SAlejandro Tafalla no-map; 7038d779c2SAlejandro Tafalla }; 7138d779c2SAlejandro Tafalla 7238d779c2SAlejandro Tafalla wcnss_fw_mem: wcnss@8e800000 { 7338d779c2SAlejandro Tafalla reg = <0x0 0x8e800000 0x0 0x700000>; 7438d779c2SAlejandro Tafalla no-map; 7538d779c2SAlejandro Tafalla }; 7638d779c2SAlejandro Tafalla }; 7738d779c2SAlejandro Tafalla 7838d779c2SAlejandro Tafalla /* 7938d779c2SAlejandro Tafalla * We bitbang on &i2c_4 because BLSP is protected by TZ as sensors are 8038d779c2SAlejandro Tafalla * normally proxied via ADSP firmware. GPIOs aren't protected. 8138d779c2SAlejandro Tafalla */ 8238d779c2SAlejandro Tafalla i2c-sensors { 8338d779c2SAlejandro Tafalla compatible = "i2c-gpio"; 8438d779c2SAlejandro Tafalla sda-gpios = <&tlmm 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 8538d779c2SAlejandro Tafalla scl-gpios = <&tlmm 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 8638d779c2SAlejandro Tafalla i2c-gpio,delay-us = <2>; /* ~100 kHz */ 8738d779c2SAlejandro Tafalla #address-cells = <1>; 8838d779c2SAlejandro Tafalla #size-cells = <0>; 8938d779c2SAlejandro Tafalla 9038d779c2SAlejandro Tafalla imu@6a { 9138d779c2SAlejandro Tafalla compatible = "st,lsm6dsl"; 9238d779c2SAlejandro Tafalla reg = <0x6a>; 9338d779c2SAlejandro Tafalla vdd-supply = <&pm8953_l10>; 9438d779c2SAlejandro Tafalla vddio-supply = <&pm8953_l6>; 9538d779c2SAlejandro Tafalla mount-matrix = "-1", "0", "0", 9638d779c2SAlejandro Tafalla "0", "-1", "0", 9738d779c2SAlejandro Tafalla "0", "0", "1"; 9838d779c2SAlejandro Tafalla }; 9938d779c2SAlejandro Tafalla }; 10038d779c2SAlejandro Tafalla 10138d779c2SAlejandro Tafalla vph_pwr: vph-pwr-regulator { 10238d779c2SAlejandro Tafalla compatible = "regulator-fixed"; 10338d779c2SAlejandro Tafalla regulator-name = "vph_pwr"; 10438d779c2SAlejandro Tafalla regulator-always-on; 10538d779c2SAlejandro Tafalla regulator-boot-on; 10638d779c2SAlejandro Tafalla }; 10738d779c2SAlejandro Tafalla}; 10838d779c2SAlejandro Tafalla 10938d779c2SAlejandro Tafalla&hsusb_phy { 11038d779c2SAlejandro Tafalla vdd-supply = <&pm8953_l3>; 11138d779c2SAlejandro Tafalla vdda-pll-supply = <&pm8953_l7>; 11238d779c2SAlejandro Tafalla vdda-phy-dpdm-supply = <&pm8953_l13>; 11338d779c2SAlejandro Tafalla 11438d779c2SAlejandro Tafalla status = "okay"; 11538d779c2SAlejandro Tafalla}; 11638d779c2SAlejandro Tafalla 11738d779c2SAlejandro Tafalla&i2c_2 { 11838d779c2SAlejandro Tafalla status = "okay"; 11938d779c2SAlejandro Tafalla 12038d779c2SAlejandro Tafalla speaker_codec: audio-codec@3a { 12138d779c2SAlejandro Tafalla compatible = "maxim,max98927"; 12238d779c2SAlejandro Tafalla reg = <0x3a>; 12338d779c2SAlejandro Tafalla 12438d779c2SAlejandro Tafalla reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>; 12538d779c2SAlejandro Tafalla 12638d779c2SAlejandro Tafalla vmon-slot-no = <1>; 12738d779c2SAlejandro Tafalla imon-slot-no = <1>; 128*b6866546SKrzysztof Kozlowski maxim,interleave-mode; 12938d779c2SAlejandro Tafalla 13038d779c2SAlejandro Tafalla #sound-dai-cells = <0>; 13138d779c2SAlejandro Tafalla }; 13238d779c2SAlejandro Tafalla}; 13338d779c2SAlejandro Tafalla 13438d779c2SAlejandro Tafalla&i2c_3 { 13538d779c2SAlejandro Tafalla status = "okay"; 13638d779c2SAlejandro Tafalla 13738d779c2SAlejandro Tafalla touchscreen@38 { 13838d779c2SAlejandro Tafalla compatible = "edt,edt-ft5406"; 13938d779c2SAlejandro Tafalla reg = <0x38>; 14038d779c2SAlejandro Tafalla 14138d779c2SAlejandro Tafalla interrupt-parent = <&tlmm>; 14238d779c2SAlejandro Tafalla interrupts = <65 IRQ_TYPE_EDGE_FALLING>; 14338d779c2SAlejandro Tafalla 14438d779c2SAlejandro Tafalla reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 14538d779c2SAlejandro Tafalla 14638d779c2SAlejandro Tafalla vcc-supply = <&pm8953_l10>; 14738d779c2SAlejandro Tafalla 14838d779c2SAlejandro Tafalla touchscreen-size-x = <1080>; 14938d779c2SAlejandro Tafalla touchscreen-size-y = <2280>; 15038d779c2SAlejandro Tafalla }; 15138d779c2SAlejandro Tafalla}; 15238d779c2SAlejandro Tafalla 15338d779c2SAlejandro Tafalla&pm8953_resin { 15438d779c2SAlejandro Tafalla linux,code = <KEY_VOLUMEDOWN>; 15538d779c2SAlejandro Tafalla status = "okay"; 15638d779c2SAlejandro Tafalla}; 15738d779c2SAlejandro Tafalla 15838d779c2SAlejandro Tafalla&pmi8950_wled { 15938d779c2SAlejandro Tafalla qcom,current-limit-microamp = <20000>; 16038d779c2SAlejandro Tafalla qcom,num-strings = <2>; 16138d779c2SAlejandro Tafalla 16238d779c2SAlejandro Tafalla status = "okay"; 16338d779c2SAlejandro Tafalla}; 16438d779c2SAlejandro Tafalla 16538d779c2SAlejandro Tafalla&rpm_requests { 16638d779c2SAlejandro Tafalla regulators { 16738d779c2SAlejandro Tafalla compatible = "qcom,rpm-pm8953-regulators"; 16838d779c2SAlejandro Tafalla 16938d779c2SAlejandro Tafalla vdd_s1-supply = <&vph_pwr>; 17038d779c2SAlejandro Tafalla vdd_s2-supply = <&vph_pwr>; 17138d779c2SAlejandro Tafalla vdd_s3-supply = <&vph_pwr>; 17238d779c2SAlejandro Tafalla vdd_s4-supply = <&vph_pwr>; 17338d779c2SAlejandro Tafalla vdd_s5-supply = <&vph_pwr>; 17438d779c2SAlejandro Tafalla vdd_s6-supply = <&vph_pwr>; 17538d779c2SAlejandro Tafalla vdd_s7-supply = <&vph_pwr>; 17638d779c2SAlejandro Tafalla vdd_l1-supply = <&pm8953_s3>; 17738d779c2SAlejandro Tafalla vdd_l2_l3-supply = <&pm8953_s3>; 17838d779c2SAlejandro Tafalla vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 17938d779c2SAlejandro Tafalla vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 18038d779c2SAlejandro Tafalla vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 18138d779c2SAlejandro Tafalla 18238d779c2SAlejandro Tafalla pm8953_s1: s1 { 18338d779c2SAlejandro Tafalla regulator-min-microvolt = <863000>; 18438d779c2SAlejandro Tafalla regulator-max-microvolt = <1152000>; 18538d779c2SAlejandro Tafalla }; 18638d779c2SAlejandro Tafalla 18738d779c2SAlejandro Tafalla pm8953_s3: s3 { 18838d779c2SAlejandro Tafalla regulator-min-microvolt = <1224000>; 18938d779c2SAlejandro Tafalla regulator-max-microvolt = <1224000>; 19038d779c2SAlejandro Tafalla }; 19138d779c2SAlejandro Tafalla 19238d779c2SAlejandro Tafalla pm8953_s4: s4 { 19338d779c2SAlejandro Tafalla regulator-min-microvolt = <1896000>; 19438d779c2SAlejandro Tafalla regulator-max-microvolt = <2048000>; 19538d779c2SAlejandro Tafalla }; 19638d779c2SAlejandro Tafalla 19738d779c2SAlejandro Tafalla pm8953_l1: l1 { 19838d779c2SAlejandro Tafalla regulator-min-microvolt = <1000000>; 19938d779c2SAlejandro Tafalla regulator-max-microvolt = <1100000>; 20038d779c2SAlejandro Tafalla }; 20138d779c2SAlejandro Tafalla 20238d779c2SAlejandro Tafalla pm8953_l2: l2 { 20338d779c2SAlejandro Tafalla regulator-min-microvolt = <975000>; 20438d779c2SAlejandro Tafalla regulator-max-microvolt = <1225000>; 20538d779c2SAlejandro Tafalla }; 20638d779c2SAlejandro Tafalla 20738d779c2SAlejandro Tafalla pm8953_l3: l3 { 20838d779c2SAlejandro Tafalla regulator-min-microvolt = <925000>; 20938d779c2SAlejandro Tafalla regulator-max-microvolt = <925000>; 21038d779c2SAlejandro Tafalla regulator-allow-set-load; 21138d779c2SAlejandro Tafalla }; 21238d779c2SAlejandro Tafalla 21338d779c2SAlejandro Tafalla pm8953_l5: l5 { 21438d779c2SAlejandro Tafalla regulator-min-microvolt = <1800000>; 21538d779c2SAlejandro Tafalla regulator-max-microvolt = <1800000>; 21638d779c2SAlejandro Tafalla }; 21738d779c2SAlejandro Tafalla 21838d779c2SAlejandro Tafalla pm8953_l6: l6 { 21938d779c2SAlejandro Tafalla regulator-min-microvolt = <1800000>; 22038d779c2SAlejandro Tafalla regulator-max-microvolt = <1800000>; 22138d779c2SAlejandro Tafalla regulator-always-on; 22238d779c2SAlejandro Tafalla }; 22338d779c2SAlejandro Tafalla 22438d779c2SAlejandro Tafalla pm8953_l7: l7 { 22538d779c2SAlejandro Tafalla regulator-min-microvolt = <1800000>; 22638d779c2SAlejandro Tafalla regulator-max-microvolt = <1900000>; 22738d779c2SAlejandro Tafalla }; 22838d779c2SAlejandro Tafalla 22938d779c2SAlejandro Tafalla pm8953_l8: l8 { 23038d779c2SAlejandro Tafalla regulator-min-microvolt = <2900000>; 23138d779c2SAlejandro Tafalla regulator-max-microvolt = <2900000>; 23238d779c2SAlejandro Tafalla }; 23338d779c2SAlejandro Tafalla 23438d779c2SAlejandro Tafalla pm8953_l9: l9 { 23538d779c2SAlejandro Tafalla regulator-min-microvolt = <3000000>; 23638d779c2SAlejandro Tafalla regulator-max-microvolt = <3300000>; 23738d779c2SAlejandro Tafalla }; 23838d779c2SAlejandro Tafalla 23938d779c2SAlejandro Tafalla pm8953_l10: l10 { 24038d779c2SAlejandro Tafalla regulator-min-microvolt = <2850000>; 24138d779c2SAlejandro Tafalla regulator-max-microvolt = <2850000>; 24238d779c2SAlejandro Tafalla regulator-always-on; 24338d779c2SAlejandro Tafalla }; 24438d779c2SAlejandro Tafalla 24538d779c2SAlejandro Tafalla pm8953_l11: l11 { 24638d779c2SAlejandro Tafalla regulator-min-microvolt = <2950000>; 24738d779c2SAlejandro Tafalla regulator-max-microvolt = <2950000>; 24838d779c2SAlejandro Tafalla }; 24938d779c2SAlejandro Tafalla 25038d779c2SAlejandro Tafalla pm8953_l12: l12 { 25138d779c2SAlejandro Tafalla regulator-min-microvolt = <1800000>; 25238d779c2SAlejandro Tafalla regulator-max-microvolt = <2950000>; 25338d779c2SAlejandro Tafalla }; 25438d779c2SAlejandro Tafalla 25538d779c2SAlejandro Tafalla pm8953_l13: l13 { 25638d779c2SAlejandro Tafalla regulator-min-microvolt = <3125000>; 25738d779c2SAlejandro Tafalla regulator-max-microvolt = <3125000>; 25838d779c2SAlejandro Tafalla }; 25938d779c2SAlejandro Tafalla 26038d779c2SAlejandro Tafalla pm8953_l16: l16 { 26138d779c2SAlejandro Tafalla regulator-min-microvolt = <1800000>; 26238d779c2SAlejandro Tafalla regulator-max-microvolt = <1800000>; 26338d779c2SAlejandro Tafalla }; 26438d779c2SAlejandro Tafalla 26538d779c2SAlejandro Tafalla pm8953_l17: l17 { 26638d779c2SAlejandro Tafalla regulator-min-microvolt = <2850000>; 26738d779c2SAlejandro Tafalla regulator-max-microvolt = <2850000>; 26838d779c2SAlejandro Tafalla }; 26938d779c2SAlejandro Tafalla 27038d779c2SAlejandro Tafalla pm8953_l19: l19 { 27138d779c2SAlejandro Tafalla regulator-min-microvolt = <1200000>; 27238d779c2SAlejandro Tafalla regulator-max-microvolt = <1350000>; 27338d779c2SAlejandro Tafalla }; 27438d779c2SAlejandro Tafalla 27538d779c2SAlejandro Tafalla pm8953_l22: l22 { 27638d779c2SAlejandro Tafalla regulator-min-microvolt = <2800000>; 27738d779c2SAlejandro Tafalla regulator-max-microvolt = <2850000>; 27838d779c2SAlejandro Tafalla regulator-always-on; 27938d779c2SAlejandro Tafalla }; 28038d779c2SAlejandro Tafalla 28138d779c2SAlejandro Tafalla pm8953_l23: l23 { 28238d779c2SAlejandro Tafalla regulator-min-microvolt = <975000>; 28338d779c2SAlejandro Tafalla regulator-max-microvolt = <1225000>; 28438d779c2SAlejandro Tafalla }; 28538d779c2SAlejandro Tafalla }; 28638d779c2SAlejandro Tafalla}; 28738d779c2SAlejandro Tafalla 28838d779c2SAlejandro Tafalla&sdhc_1 { 28938d779c2SAlejandro Tafalla vmmc-supply = <&pm8953_l8>; 29038d779c2SAlejandro Tafalla vqmmc-supply = <&pm8953_l5>; 29138d779c2SAlejandro Tafalla 29238d779c2SAlejandro Tafalla status = "okay"; 29338d779c2SAlejandro Tafalla}; 29438d779c2SAlejandro Tafalla 29538d779c2SAlejandro Tafalla&sdhc_2 { 29638d779c2SAlejandro Tafalla vmmc-supply = <&pm8953_l11>; 29738d779c2SAlejandro Tafalla vqmmc-supply = <&pm8953_l12>; 29838d779c2SAlejandro Tafalla 29938d779c2SAlejandro Tafalla cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 30038d779c2SAlejandro Tafalla 30138d779c2SAlejandro Tafalla pinctrl-names = "default", "sleep"; 30238d779c2SAlejandro Tafalla pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 30338d779c2SAlejandro Tafalla pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 30438d779c2SAlejandro Tafalla 30538d779c2SAlejandro Tafalla status = "okay"; 30638d779c2SAlejandro Tafalla}; 30738d779c2SAlejandro Tafalla 30838d779c2SAlejandro Tafalla&tlmm { 30938d779c2SAlejandro Tafalla gpio-reserved-ranges = <0 4>, <16 4>, <135 4>; 31038d779c2SAlejandro Tafalla}; 31138d779c2SAlejandro Tafalla 31238d779c2SAlejandro Tafalla&uart_0 { 31338d779c2SAlejandro Tafalla pinctrl-names = "default"; 31438d779c2SAlejandro Tafalla pinctrl-0 = <&uart_console_active>; 31538d779c2SAlejandro Tafalla 31638d779c2SAlejandro Tafalla status = "okay"; 31738d779c2SAlejandro Tafalla}; 31838d779c2SAlejandro Tafalla 31938d779c2SAlejandro Tafalla&usb3 { 32038d779c2SAlejandro Tafalla status = "okay"; 32138d779c2SAlejandro Tafalla}; 32238d779c2SAlejandro Tafalla 32338d779c2SAlejandro Tafalla&usb3_dwc3 { 32438d779c2SAlejandro Tafalla dr_mode = "peripheral"; 32538d779c2SAlejandro Tafalla}; 326