// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2021, Martin Botka <martin.botka@somainline.org> */ /dts-v1/; #include "sm6125.dtsi" #include "pm6125.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/gpio-keys.h> #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> / { /* required for bootloader to select correct board */ qcom,msm-id = <394 0x10000>; /* sm6125 v1 */ qcom,board-id = <34 0>; model = "Sony Xperia 10 II"; compatible = "sony,pdx201", "qcom,sm6125"; chassis-type = "handset"; aliases { mmc0 = &sdhc_1; /* SDC1 eMMC slot */ mmc1 = &sdhc_2; /* SDC2 SD card slot */ }; chosen { #address-cells = <2>; #size-cells = <2>; ranges; framebuffer0: framebuffer@5c000000 { compatible = "simple-framebuffer"; reg = <0 0x5c000000 0 (2520 * 1080 * 4)>; width = <1080>; height = <2520>; stride = <(1080 * 4)>; format = "a8r8g8b8"; }; }; extcon_usb: extcon-usb { compatible = "linux,extcon-usb-gpio"; id-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>; }; gpio-keys { compatible = "gpio-keys"; pinctrl-0 = <&vol_down_n>; pinctrl-names = "default"; key-volume-down { label = "Volume Down"; gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; linux,code = <KEY_VOLUMEDOWN>; debounce-interval = <15>; linux,can-disable; wakeup-source; }; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; debug_mem: memory@ffb00000 { reg = <0x0 0xffb00000 0x0 0xc0000>; no-map; }; last_log_mem: memory@ffbc0000 { reg = <0x0 0xffbc0000 0x0 0x80000>; no-map; }; pstore_mem: ramoops@ffc00000 { compatible = "ramoops"; reg = <0x0 0xffc40000 0x0 0xc0000>; record-size = <0x1000>; console-size = <0x40000>; pmsg-size = <0x20000>; }; cmdline_mem: memory@ffd00000 { reg = <0x0 0xffd40000 0x0 0x1000>; no-map; }; }; thermal-zones { rf-pa0-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm6125_adc_tm 0>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "critical"; }; }; }; quiet-thermal { polling-delay-passive = <0>; polling-delay = <5000>; thermal-sensors = <&pm6125_adc_tm 1>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "critical"; }; }; }; xo-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm6125_adc_tm 2>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "critical"; }; }; }; rf-pa1-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm6125_adc_tm 3>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "critical"; }; }; }; }; }; &gpi_dma0 { status = "okay"; }; &hsusb_phy1 { vdd-supply = <&pm6125_l7>; vdda-pll-supply = <&pm6125_l10>; vdda-phy-dpdm-supply = <&pm6125_l15>; status = "okay"; }; &i2c1 { clock-frequency = <400000>; status = "okay"; /* NXP PN553 NFC @ 28 */ }; &i2c2 { clock-frequency = <400000>; status = "okay"; /* Samsung touchscreen @ 48 */ }; &i2c3 { clock-frequency = <1000000>; status = "okay"; /* Cirrus Logic CS35L41 boosted audio amplifier @ 40 */ }; &pm6125_adc { pinctrl-names = "default"; pinctrl-0 = <&camera_flash_therm &emmc_ufs_therm &rf_pa1_therm>; channel@4d { reg = <ADC5_AMUX_THM1_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; label = "rf_pa0_therm"; }; channel@4e { reg = <ADC5_AMUX_THM2_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; label = "quiet_therm"; }; channel@52 { reg = <ADC5_GPIO1_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; label = "camera_flash_therm"; }; channel@54 { reg = <ADC5_GPIO3_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; label = "emmc_ufs_therm"; }; channel@55 { reg = <ADC5_GPIO4_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; label = "rf_pa1_therm"; }; }; &pm6125_adc_tm { status = "okay"; rf-pa0-therm@0 { reg = <0>; io-channels = <&pm6125_adc ADC5_AMUX_THM1_100K_PU>; qcom,ratiometric; qcom,hw-settle-time-us = <200>; }; quiet-therm@1 { reg = <1>; io-channels = <&pm6125_adc ADC5_AMUX_THM2_100K_PU>; qcom,ratiometric; qcom,hw-settle-time-us = <200>; }; xo-therm@2 { reg = <2>; io-channels = <&pm6125_adc ADC5_XO_THERM_100K_PU>; qcom,ratiometric; qcom,hw-settle-time-us = <200>; }; rf-pa1-therm@3 { reg = <3>; io-channels = <&pm6125_adc ADC5_GPIO4_100K_PU>; qcom,ratiometric; qcom,hw-settle-time-us = <200>; }; }; &pm6125_gpios { camera_flash_therm: camera-flash-therm-state { pins = "gpio3"; function = PMIC_GPIO_FUNC_NORMAL; bias-high-impedance; }; emmc_ufs_therm: emmc-ufs-therm-state { pins = "gpio6"; function = PMIC_GPIO_FUNC_NORMAL; bias-high-impedance; }; rf_pa1_therm: rf-pa1-therm-state { pins = "gpio7"; function = PMIC_GPIO_FUNC_NORMAL; bias-high-impedance; }; }; &pon_pwrkey { status = "okay"; }; &pon_resin { status = "okay"; linux,code = <KEY_VOLUMEUP>; }; &rpm_requests { regulators-0 { compatible = "qcom,rpm-pm6125-regulators"; vdd_l2_l3_l4-supply = <&pm6125_l7>; vdd_l5_l15_l19_l20_l21_l22-supply = <&pm6125_l10>; /* * S3/S4 is VDD_CX * S5 is VDD_MX/WCSS_MX */ pm6125_s6: s6 { regulator-min-microvolt = <936000>; regulator-max-microvolt = <1422000>; }; pm6125_l1: l1 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1256000>; }; pm6125_l2: l2 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1056000>; }; pm6125_l3: l3 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1064000>; }; pm6125_l4: l4 { regulator-min-microvolt = <872000>; regulator-max-microvolt = <976000>; }; pm6125_l5: l5 { regulator-min-microvolt = <1648000>; regulator-max-microvolt = <2950000>; regulator-allow-set-load; }; pm6125_l6: l6 { regulator-min-microvolt = <576000>; regulator-max-microvolt = <656000>; }; pm6125_l7: l7 { regulator-min-microvolt = <872000>; regulator-max-microvolt = <976000>; }; pm6125_l8: l8 { regulator-min-microvolt = <400000>; regulator-max-microvolt = <728000>; }; pm6125_l9: l9 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1896000>; }; pm6125_l10: l10 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1896000>; }; pm6125_l11: l11 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-allow-set-load; }; pm6125_l12: l12 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1996000>; }; pm6125_l13: l13 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1832000>; }; pm6125_l14: l14 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1904000>; }; pm6125_l15: l15 { regulator-min-microvolt = <3104000>; regulator-max-microvolt = <3232000>; }; pm6125_l16: l16 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1904000>; }; pm6125_l17: l17 { regulator-min-microvolt = <1248000>; regulator-max-microvolt = <1304000>; }; pm6125_l18: l18 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1264000>; }; pm6125_l19: l19 { regulator-min-microvolt = <1648000>; regulator-max-microvolt = <2952000>; }; pm6125_l20: l20 { regulator-min-microvolt = <1648000>; regulator-max-microvolt = <2952000>; }; pm6125_l21: l21 { regulator-min-microvolt = <2600000>; regulator-max-microvolt = <2856000>; }; pm6125_l22: l22 { regulator-min-microvolt = <2944000>; regulator-max-microvolt = <2950000>; regulator-allow-set-load; }; pm6125_l23: l23 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3400000>; }; pm6125_l24: l24 { regulator-min-microvolt = <2944000>; regulator-max-microvolt = <2950000>; regulator-allow-set-load; }; }; }; &qupv3_id_0 { status = "okay"; }; &sdc2_off_state { sd-cd-pins { pins = "gpio98"; function = "gpio"; drive-strength = <2>; bias-disable; }; }; &sdc2_on_state { sd-cd-pins { pins = "gpio98"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; &sdhc_1 { vmmc-supply = <&pm6125_l24>; vqmmc-supply = <&pm6125_l11>; status = "okay"; }; &sdhc_2 { cd-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>; vmmc-supply = <&pm6125_l22>; vqmmc-supply = <&pm6125_l5>; no-sdio; no-mmc; status = "okay"; }; &tlmm { gpio-reserved-ranges = <22 2>, <28 6>; vol_down_n: vol-down-n-state { pins = "gpio47"; function = "gpio"; drive-strength = <2>; bias-disable; }; }; &usb3 { status = "okay"; }; &usb3_dwc3 { extcon = <&extcon_usb>; };