On Sat, Oct 19, 2024 at 01:50:51PM +0200, Barnabás Czémán wrote: > Add initial support for Xiaomi Redmi 5A (riva). > > Signed-off-by: Barnabás Czémán <barnabas.czeman@xxxxxxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts | 295 +++++++++++++++++++++++ > 2 files changed, 296 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 065bb19481c16db2affd291826d420c83a89c52a..79add0e07d8a5f3362d70b0aaaaa9b8c48e31239 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt86518.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt86528.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt88047.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8916-yiming-uz801v3.dtb > +dtb-$(CONFIG_ARCH_QCOM) += msm8917-xiaomi-riva.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8929-wingtech-wt82918hd.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb > diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts > new file mode 100644 > index 0000000000000000000000000000000000000000..7553f73603fc87797b0d424a2af6f2da65c90f5f > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts > @@ -0,0 +1,295 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2023, Barnabas Czeman > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/arm/qcom,ids.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/linux-event-codes.h> > +#include <dt-bindings/leds/common.h> > +#include "msm8917.dtsi" > +#include "pm8937.dtsi" > + > +/ { > + model = "Xiaomi Redmi 5A (riva)"; > + compatible = "xiaomi,riva", "qcom,msm8917"; > + chassis-type = "handset"; > + > + qcom,msm-id = <QCOM_ID_MSM8917 0>; > + qcom,board-id = <0x1000b 2>, <0x2000b 2>; Is this required to boot? > + > + battery: battery { > + compatible = "simple-battery"; > + charge-full-design-microamp-hours = <3000000>; > + energy-full-design-microwatt-hours = <11500000>; > + constant-charge-current-max-microamp = <1000000>; > + constant-charge-voltage-max-microvolt = <4400000>; > + precharge-current-microamp = <256000>; > + charge-term-current-microamp = <60000>; > + voltage-min-design-microvolt = <3400000>; > + }; > + > + chosen { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + stdout-path = "framebuffer0"; > + > + framebuffer0: framebuffer@90001000 { > + compatible = "simple-framebuffer"; > + reg = <0x0 0x90001000 0x0 (720 * 1280 * 3)>; > + width = <720>; > + height = <1280>; > + stride = <(720 * 3)>; > + format = "r8g8b8"; > + > + clocks = <&gcc GCC_MDSS_AHB_CLK>, > + <&gcc GCC_MDSS_AXI_CLK>, > + <&gcc GCC_MDSS_VSYNC_CLK>, > + <&gcc GCC_MDSS_MDP_CLK>, > + <&gcc GCC_MDSS_BYTE0_CLK>, > + <&gcc GCC_MDSS_PCLK0_CLK>, > + <&gcc GCC_MDSS_ESC0_CLK>; > + power-domains = <&gcc MDSS_GDSC>; > + }; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + > + key-volup { > + label = "Volume Up"; > + linux,code = <KEY_VOLUMEUP>; > + gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; > + debounce-interval = <15>; > + }; > + }; > + > + reserved-memory { > + /delete-node/ reserved@85b00000; > + qseecom_mem: reserved@84a00000 { > + reg = <0x0 0x84a00000 0x0 0x1900000>; > + no-map; > + }; > + > + framebuffer_mem: memory@90001000 { > + reg = <0x0 0x90001000 0x0 (720 * 1280 * 3)>; > + no-map; > + }; > + }; > + > + vph_pwr: vph-pwr-regulator { regulator-vph-pwr, please > + compatible = "regulator-fixed"; > + regulator-name = "vph_pwr"; > + regulator-min-microvolt = <3700000>; > + regulator-max-microvolt = <3700000>; > + regulator-always-on; > + regulator-boot-on; > + }; > +}; > + > +&blsp_i2c3 { > + status = "okay"; > + > + touchscreen@38 { > + compatible = "edt,edt-ft5306"; > + reg = <0x38>; > + interrupt-parent = <&tlmm>; > + interrupts = <65 0x2008>; > + reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; > + vcc-supply = <&pm8937_l10>; > + iovcc-supply = <&pm8937_l5>; > + > + touchscreen-size-x = <720>; > + touchscreen-size-y = <1280>; > + }; > +}; > + > +&blsp_i2c5 { > + status = "okay"; > + > + bq27426@55 { > + compatible = "ti,bq27426"; > + reg = <0x55>; > + monitored-battery = <&battery>; > + }; > + > + bq25601@6b{ > + compatible = "ti,bq25601"; > + reg = <0x6b>; > + monitored-battery = <&battery>; > + > + interrupt-parent = <&tlmm>; > + interrupts = <61 IRQ_TYPE_EDGE_FALLING>; > + > + input-voltage-limit-microvolt = <4400000>; > + input-current-limit-microamp = <1000000>; > + }; > +}; > + > +&pm8937_resin { > + linux,code = <KEY_VOLUMEDOWN>; > + status = "okay"; > +}; > + > +&pm8937_spmi_regulators { > + pm8937_s5: s5 { Which regulator is this? > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1350000>; > + regulator-always-on; > + regulator-boot-on; > + }; > +}; > + [..] > + > +&wcnss { > + vddpx-supply = <&pm8937_l5>; > + status = "okay"; > + rogue empty line > +}; > + > +&wcnss_iris { > + compatible = "qcom,wcn3620"; > + vddxo-supply = <&pm8937_l7>; > + vddrfa-supply = <&pm8937_l19>; > + vddpa-supply = <&pm8937_l9>; > + vdddig-supply = <&pm8937_l5>; > +}; > + > +&wcnss_mem { > + status = "okay"; > +}; > > -- > 2.47.0 > -- With best wishes Dmitry