Message ID | 20241019-msm8917-v1-14-f1f3ca1d88e5@mainlining.org (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
Series | Add MSM8917/PM8937/Redmi 5A | expand |
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@mainlining.org> > --- > 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 >
On 2024-10-19 15:48, Dmitry Baryshkov wrote: > 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@mainlining.org> >> --- >> 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? Yes > >> + >> + 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 >>
On Sat, Oct 19, 2024 at 03:57:54PM +0200, barnabas.czeman@mainlining.org wrote: > On 2024-10-19 15:48, Dmitry Baryshkov wrote: > > 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@mainlining.org> > > > --- > > > 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? > Yes Hmm, did you verify the dts against DT bindings? I think you need to fix them.
On Sat, 19 Oct 2024 at 17:38, Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > On Sat, Oct 19, 2024 at 03:57:54PM +0200, barnabas.czeman@mainlining.org wrote: > > On 2024-10-19 15:48, Dmitry Baryshkov wrote: > > > 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@mainlining.org> > > > > --- > > > > 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? > > Yes > > Hmm, did you verify the dts against DT bindings? I think you need to fix > them. Hmm, ignore this. You added qcom,msm8917 to the allow list in the previous patch. Please expand the commit message there, describing that you are enabling msm-id / board-id for this SoC, which doesn't work otherwise.
On 2024-10-19 16:38, Dmitry Baryshkov wrote: > On Sat, Oct 19, 2024 at 03:57:54PM +0200, > barnabas.czeman@mainlining.org wrote: >> On 2024-10-19 15:48, Dmitry Baryshkov wrote: >> > 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@mainlining.org> >> > > --- >> > > 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? >> Yes > > Hmm, did you verify the dts against DT bindings? I think you need to > fix > them. I have checked with this `make CHECK_DTBS=1 qcom/msm8917-xiaomi-riva.dtb`
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>; + + 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 { + 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 { + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; +}; + +&rpm_requests { + regulators-0 { + compatible = "qcom,rpm-pm8937-regulators"; + + vdd_s1-supply = <&vph_pwr>; + vdd_s2-supply = <&vph_pwr>; + vdd_s3-supply = <&vph_pwr>; + vdd_s4-supply = <&vph_pwr>; + + vdd_l1_l19-supply = <&pm8937_s3>; + vdd_l2_l23-supply = <&pm8937_s3>; + vdd_l3-supply = <&pm8937_s3>; + vdd_l4_l5_l6_l7_l16-supply = <&pm8937_s4>; + vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>; + vdd_l9_l10_l13_l14_l15_l18-supply = <&vph_pwr>; + + pm8937_s1: s1 { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1225000>; + }; + + pm8937_s3: s3 { + regulator-min-microvolt = <1300000>; + regulator-max-microvolt = <1300000>; + }; + + pm8937_s4: s4 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + pm8937_l2: l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + pm8937_l5: l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8937_l6: l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8937_l7: l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8937_l8: l8 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2900000>; + }; + + pm8937_l9: l9 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + }; + + pm8937_l10: l10 { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <3000000>; + }; + + pm8937_l11: l11 { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + }; + + pm8937_l12: l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + pm8937_l13: l13 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + pm8937_l14: l14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + pm8937_l15: l15 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + pm8937_l16: l16 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8937_l17: l17 { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2900000>; + }; + + pm8937_l19: l19 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1350000>; + }; + + pm8937_l22: l22 { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + pm8937_l23: l23 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + }; + +}; + +&sdhc_1 { + vmmc-supply = <&pm8937_l8>; + vqmmc-supply = <&pm8937_l5>; + status = "okay"; +}; + +&sdhc_2 { + cd-gpios = <&tlmm 67 GPIO_ACTIVE_LOW>; + vmmc-supply = <&pm8937_l11>; + vqmmc-supply = <&pm8937_l12>; + status = "okay"; +}; + +&wcnss { + vddpx-supply = <&pm8937_l5>; + status = "okay"; + +}; + +&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"; +};
Add initial support for Xiaomi Redmi 5A (riva). Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org> --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts | 295 +++++++++++++++++++++++ 2 files changed, 296 insertions(+)