/* * Device Tree for Poco F4 (munch) with Snapdragon 870 (sm8250) */ /dts-v1/; #include "qcom-msm8250.dtsi" / { model = "Poco F4 (munch) with Snapdragon 870"; compatible = "xiaomi,poco-f4", "qcom,msm8250"; chosen { bootargs = "androidboot.hardware=qcom androidboot.console=ttyMSM0,115200n8"; }; memory { reg = <0x00000000 0x80000000>; /* 8GB RAM */ }; soc { compatible = "qcom,msm8250-sdx"; interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; pm8150b@800000 { compatible = "qcom,pm8150b"; reg = <0x800000 0x100000>; #clock-cells = <1>; interrupts = <0 131 0>; interrupt-controller; interrupt-parent = <&gic>; status = "okay"; regulators { pm8150b_l1: regulator@1 { compatible = "regulator-fixed"; regulator-name = "pm8150b_l1"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <700000>; regulator-always-on; }; pm8150b_l2: regulator@2 { compatible = "regulator-fixed"; regulator-name = "pm8150b_l2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; pm8150b_l4: regulator@4 { compatible = "regulator-fixed"; regulator-name = "pm8150b_l4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; }; }; /* Display panel node */ panel { compatible = "qcom,smd-dsi"; reg = <0>; power-supplies = <&pm8150b_l1>; status = "okay"; }; /* UART */ uart@78b6000 { compatible = "qcom,msm-uart"; reg = <0x0 0x78b6000 0x0 0x1000>; interrupts = <0 49 0>; clocks = <&gcc GCC_UART2_APPS_CLK>; clock-names = "core"; status = "okay"; }; /* SDHCI */ sdhci@8800000 { compatible = "qcom,sdhci-msm"; reg = <0x0 0x8800000 0x0 0x10000>; interrupts = <0 104 0>; clocks = <&gcc GCC_SDCC2_APPS_CLK>; clock-names = "core"; status = "okay"; non-removable; bus-width = <8>; cap-sdio-irq; cap-mmc-highspeed; cap-sd-highspeed; }; /* GPU node */ gpu { compatible = "qcom,adreno-630"; reg = <0x0 0x9600000 0x0 0x2000000>; interrupts = <0 119 0>; clocks = <&gcc GCC_GPU_GPLL0_CLK>; clock-names = "core"; operating-points = <750000000 420000000 805000000 650000000>; status = "okay"; }; /* Touchscreen node */ touchscreen@78f0000 { compatible = "qcom,msm-touchscreen"; reg = <0x78f0000 0x1000>; interrupts = <0 118 0>; interrupt-parent = <&gic>; status = "okay"; }; /* Audio codec node */ sound { compatible = "qcom,sdm845-wcd9335"; reg = <0x0 0x77c0000 0x0 0x100000>; interrupts = <0 138 0>; clocks = <&gcc GCC_AUDIO_CDC_CLK>; clock-names = "bus_clk"; status = "okay"; }; /* WiFi node */ wlan@78a0000 { compatible = "qcom,wcnss-wlan"; reg = <0x78a0000 0x1000>; interrupts = <0 97 0>; interrupt-parent = <&gic>; clocks = <&gcc GCC_WCNSS_Q6_CLK>; clock-names = "core"; status = "okay"; }; /* USB node */ usb@600000 { compatible = "qcom,hsusb"; reg = <0x0 0x600000 0x0 0x1000>; interrupts = <0 32 0>; interrupt-parent = <&gic>; status = "okay"; }; /* Button nodes */ buttons { compatible = "gpio-keys"; power { label = "power"; gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; linux,code = <116>; }; volume_up { label = "volume_up"; gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; linux,code = <115>; }; volume_down { label = "volume_down"; gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; linux,code = <114>; }; }; /* Modem node */ modem { compatible = "qcom,sdm845-modem"; reg = <0x0 0x8800000 0x0 0x1000>; interrupts = <0 48 0>; interrupt-parent = <&gic>; status = "okay"; }; /* Ethernet node */ ethernet { compatible = "qcom,rmnet"; reg = <0x0 0x8801000 0x0 0x1000>; interrupts = <0 49 0>; interrupt-parent = <&gic>; status = "okay"; }; /* Include additional specific configurations if needed */ /* #include "munch-audio-overlay.dtsi" */ /* #include "munch-pinctrl.dtsi" */ /* #include "munch-sm8250-camera-board.dtsi" */ /* #include "munch-sm8250-camera-sensor-mtp.dtsi" */ /* #include "munch-sm8250-overlay.dts" */ /* #include "munch-sm8250.dtsi" */ }; aliases { uart0 = &uart@78b6000; mmc0 = &sdhci@8800000; /* Define aliases for devices if needed */ }; /* Additional device-specific configurations */ };