| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org> |
| */ |
| |
| /dts-v1/; |
| |
| /* PMK8350 is configured to use SID6 instead of 0 */ |
| #define PMK8350_SID 6 |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include "sm6375.dtsi" |
| #include "pm6125.dtsi" |
| #include "pmk8350.dtsi" |
| #include "pmr735a.dtsi" |
| |
| /* PM6125 PON is used and we can't have duplicate labels */ |
| /delete-node/ &pmk8350_pon; |
| |
| / { |
| model = "Sony Xperia 10 IV"; |
| compatible = "sony,pdx225", "qcom,sm6375"; |
| chassis-type = "handset"; |
| |
| chosen { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| ranges; |
| |
| framebuffer: framebuffer@85200000 { |
| compatible = "simple-framebuffer"; |
| reg = <0 0x85200000 0 0xc00000>; |
| |
| width = <1080>; |
| height = <2520>; |
| stride = <(1080 * 4)>; |
| format = "a8r8g8b8"; |
| /* |
| * That's (going to be) a lot of clocks, but it's necessary due |
| * to unused clk cleanup & no panel driver yet |
| */ |
| clocks = <&gcc GCC_DISP_AHB_CLK>, |
| <&gcc GCC_DISP_HF_AXI_CLK>, |
| <&gcc GCC_DISP_THROTTLE_CORE_CLK>, |
| <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| label = "gpio-keys"; |
| |
| pinctrl-0 = <&vol_down_n>; |
| pinctrl-names = "default"; |
| |
| key-volume-down { |
| label = "Volume Down"; |
| linux,code = <KEY_VOLUMEDOWN>; |
| gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>; |
| debounce-interval = <15>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| }; |
| |
| reserved-memory { |
| cont_splash_mem: memory@85200000 { |
| reg = <0 0x85200000 0 0xc00000>; |
| no-map; |
| }; |
| |
| ramoops@ffc40000 { |
| compatible = "ramoops"; |
| reg = <0 0xffc40000 0 0xb0000>; |
| record-size = <0x10000>; |
| console-size = <0x60000>; |
| ftrace-size = <0x10000>; |
| pmsg-size = <0x20000>; |
| ecc-size = <16>; |
| }; |
| }; |
| |
| touch_avdd: touch-avdd-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "touch_avdd"; |
| gpio = <&tlmm 59 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ts_avdd_default>; |
| enable-active-high; |
| }; |
| |
| vph_pwr: vph-pwr-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "vph_pwr"; |
| regulator-min-microvolt = <3700000>; |
| regulator-max-microvolt = <3700000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| |
| &sdc2_off_state { |
| sd-cd-pins { |
| pins = "gpio94"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| &sdc2_on_state { |
| sd-cd-pins { |
| pins = "gpio94"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| |
| &sdhc_2 { |
| status = "okay"; |
| |
| vmmc-supply = <&pm6125_l22>; |
| vqmmc-supply = <&pm6125_l5>; |
| |
| cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| &gpi_dma0 { |
| status = "okay"; |
| }; |
| |
| &gpi_dma1 { |
| status = "okay"; |
| }; |
| |
| &i2c8 { |
| clock-frequency = <400000>; |
| status = "okay"; |
| |
| touchscreen@48 { |
| compatible = "samsung,s6sy761"; |
| reg = <0x48>; |
| interrupt-parent = <&tlmm>; |
| interrupts = <22 IRQ_TYPE_LEVEL_LOW>; |
| |
| vdd-supply = <&pm6125_l13>; |
| avdd-supply = <&touch_avdd>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ts_int_default>; |
| }; |
| }; |
| |
| &pmk8350_adc_tm { |
| status = "okay"; |
| }; |
| |
| &pmk8350_rtc { |
| status = "okay"; |
| }; |
| |
| &pmr735a_gpios { |
| vol_down_n: vol-down-n-state { |
| pins = "gpio1"; |
| function = "normal"; |
| power-source = <1>; |
| bias-pull-up; |
| input-enable; |
| }; |
| }; |
| |
| &pon_pwrkey { |
| status = "okay"; |
| }; |
| |
| &pon_resin { |
| linux,code = <KEY_VOLUMEUP>; |
| status = "okay"; |
| }; |
| |
| &qupv3_id_0 { |
| status = "okay"; |
| }; |
| |
| &qupv3_id_1 { |
| status = "okay"; |
| }; |
| |
| &remoteproc_adsp { |
| firmware-name = "qcom/sm6375/Sony/murray/adsp.mbn"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_cdsp { |
| firmware-name = "qcom/sm6375/Sony/murray/cdsp.mbn"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_mss { |
| firmware-name = "qcom/sm6375/Sony/murray/modem.mbn"; |
| status = "okay"; |
| }; |
| |
| &rpm_requests { |
| regulators-0 { |
| compatible = "qcom,rpm-pm6125-regulators"; |
| |
| pm6125_s5: s5 { |
| regulator-min-microvolt = <382000>; |
| regulator-max-microvolt = <1120000>; |
| }; |
| |
| pm6125_s6: s6 { |
| regulator-min-microvolt = <320000>; |
| regulator-max-microvolt = <1374000>; |
| }; |
| |
| pm6125_s7: s7 { |
| regulator-min-microvolt = <1574000>; |
| regulator-max-microvolt = <2040000>; |
| }; |
| |
| /* |
| * S8 is VDD_GFX |
| * L1 is VDD_LPI_CX |
| */ |
| |
| pm6125_l2: l2 { |
| regulator-min-microvolt = <1170000>; |
| regulator-max-microvolt = <1304000>; |
| }; |
| |
| pm6125_l3: l3 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1300000>; |
| }; |
| |
| pm6125_l4: l4 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1300000>; |
| }; |
| |
| pm6125_l5: l5 { |
| regulator-min-microvolt = <1650000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm6125_l6: l6 { |
| regulator-min-microvolt = <1080000>; |
| regulator-max-microvolt = <1304000>; |
| }; |
| |
| pm6125_l7: l7 { |
| regulator-min-microvolt = <880000>; |
| regulator-max-microvolt = <880000>; |
| }; |
| |
| pm6125_l8: l8 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1304000>; |
| }; |
| |
| pm6125_l9: l9 { |
| regulator-min-microvolt = <1504000>; |
| regulator-max-microvolt = <2000000>; |
| }; |
| |
| pm6125_l10: l10 { |
| regulator-min-microvolt = <1620000>; |
| regulator-max-microvolt = <1980000>; |
| }; |
| |
| pm6125_l11: l11 { |
| regulator-min-microvolt = <1620000>; |
| regulator-max-microvolt = <1980000>; |
| }; |
| |
| pm6125_l12: l12 { |
| regulator-min-microvolt = <1620000>; |
| regulator-max-microvolt = <2000000>; |
| }; |
| |
| pm6125_l13: l13 { |
| regulator-min-microvolt = <1650000>; |
| regulator-max-microvolt = <1980000>; |
| }; |
| |
| pm6125_l14: l14 { |
| regulator-min-microvolt = <1700000>; |
| regulator-max-microvolt = <1900000>; |
| }; |
| |
| pm6125_l15: l15 { |
| regulator-min-microvolt = <1650000>; |
| regulator-max-microvolt = <3544000>; |
| }; |
| |
| pm6125_l16: l16 { |
| regulator-min-microvolt = <1620000>; |
| regulator-max-microvolt = <1980000>; |
| }; |
| |
| /* L17 is VDD_LPI_MX */ |
| |
| pm6125_l18: l18 { |
| regulator-min-microvolt = <830000>; |
| regulator-max-microvolt = <920000>; |
| }; |
| |
| pm6125_l19: l19 { |
| regulator-min-microvolt = <1624000>; |
| regulator-max-microvolt = <3304000>; |
| }; |
| |
| pm6125_l20: l20 { |
| regulator-min-microvolt = <1624000>; |
| regulator-max-microvolt = <3304000>; |
| }; |
| |
| pm6125_l21: l21 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3312000>; |
| }; |
| |
| pm6125_l22: l22 { |
| regulator-min-microvolt = <2704000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm6125_l23: l23 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3312000>; |
| }; |
| |
| pm6125_l24: l24 { |
| regulator-min-microvolt = <2704000>; |
| regulator-max-microvolt = <3544000>; |
| }; |
| }; |
| |
| regulators-1 { |
| compatible = "qcom,rpm-pmr735a-regulators"; |
| |
| /* |
| * S1 is VDD_MX |
| * S2 is VDD_CX |
| */ |
| |
| pmr735a_l1: l1 { |
| regulator-min-microvolt = <570000>; |
| regulator-max-microvolt = <650000>; |
| }; |
| |
| pmr735a_l2: l2 { |
| regulator-min-microvolt = <640000>; |
| regulator-max-microvolt = <640000>; |
| }; |
| |
| pmr735a_l3: l3 { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pmr735a_l4: l4 { |
| regulator-min-microvolt = <1504000>; |
| regulator-max-microvolt = <2000000>; |
| }; |
| |
| pmr735a_l5: l5 { |
| regulator-min-microvolt = <751000>; |
| regulator-max-microvolt = <824000>; |
| }; |
| |
| pmr735a_l6: l6 { |
| regulator-min-microvolt = <504000>; |
| regulator-max-microvolt = <868000>; |
| }; |
| |
| pmr735a_l7: l7 { |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <3544000>; |
| }; |
| }; |
| }; |
| |
| &sdc2_off_state { |
| sd-cd-pins { |
| pins = "gpio94"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| &sdc2_on_state { |
| sd-cd-pins { |
| pins = "gpio94"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| |
| &sdhc_2 { |
| status = "okay"; |
| |
| vmmc-supply = <&pm6125_l22>; |
| vqmmc-supply = <&pm6125_l5>; |
| |
| cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <13 4>; |
| |
| ts_int_default: ts-int-default-state { |
| pins = "gpio22"; |
| function = "gpio"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| |
| ts_avdd_default: ts-avdd-default-state { |
| pins = "gpio59"; |
| function = "gpio"; |
| drive-strength = <8>; |
| output-low; |
| }; |
| }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3 { |
| dr_mode = "peripheral"; |
| }; |
| |
| &usb_1_hsphy { |
| vdda-pll-supply = <&pm6125_l7>; |
| vdda18-supply = <&pm6125_l10>; |
| vdda33-supply = <&pmr735a_l7>; |
| status = "okay"; |
| }; |
| |
| &wifi { |
| vdd-0.8-cx-mx-supply = <&pmr735a_l2>; |
| vdd-1.8-xo-supply = <&pm6125_l16>; |
| vdd-1.3-rfa-supply = <&pm6125_l2>; |
| vdd-3.3-ch0-supply = <&pm6125_l23>; |
| vdd-3.3-ch1-supply = <&pm6125_l21>; |
| status = "okay"; |
| }; |
| |
| &xo_board_clk { |
| clock-frequency = <19200000>; |
| }; |