Re: [PATCH RFC 14/14] arm64: dts: qcom: Add Xiaomi Redmi 5A

From: Dmitry Baryshkov
Date: Sat Oct 19 2024 - 09:48:31 EST


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