Message ID | 20240712-msm89xx-wingtech-init-v1-0-64f4aa1870bd@trvn.ru |
---|---|
Headers | show |
Series | Introduce msm8916/39 based Lenovo devices | expand |
On 12.07.2024 9:53 PM, Konrad Dybcio wrote: > On 12.07.2024 6:04 PM, Nikita Travkin wrote: [...] >> +&pm8916_mpps { >> + pwm_out: mpp4-state { >> + pins = "mpp4"; >> + function = "digital"; >> + power-source = <PM8916_MPP_VPH>; >> + output-low; >> + qcom,dtest = <1>; > > I think you meant qcom,dtest-output No, I apparently found this in msm-3.10, ignore this comment Konrad
On 12/07/2024 18:04, Nikita Travkin wrote: > From: Adam Słaboń <asaillen@protonmail.com> > > This commit introduces multiple hardware variants of Lenovo Vibe K5. > > - A6020a40 (msm8929-wingtech-wt82918hd) > - A6020a46/A6020l36 (msm8939-wingtech-wt82918) > - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) > > These devices are added with support for many features, notably: > > - Basic features like USB, mmc/sd storage, wifi, buttons, leds; > - Accelerometer; > - Touchscreen; > - Sound and modem. > > Note that "HD" variant of K5 is based on msm8929 which is a lower bin > of msm8939 SoC. A simple dtsi is added for this soc along with the new > devices. > > Unfortunately, despite the heavy similarities, the combination of minor > differences between variants make them incompatible between each other. > > Signed-off-by: Adam Słaboń <asaillen@protonmail.com> > [Nikita: Minor cleanup, commit message] > Signed-off-by: Nikita Travkin <nikita@trvn.ru> > --- > arch/arm64/boot/dts/qcom/Makefile | 3 + > .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ > arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + > .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ > .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ > .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ > 6 files changed, 311 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index fd4c7c41ddc4..48ec781fa1d8 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -58,10 +58,13 @@ 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) += msm8929-wingtech-wt82918hd.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8939-sony-xperia-kanuti-tulip.dtb > +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918.dtb > +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918hd.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-daisy.dtb > dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-mido.dtb > diff --git a/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts > new file mode 100644 > index 000000000000..f9a358e852f8 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts > @@ -0,0 +1,17 @@ > +// SPDX-License-Identifier: GPL-2.0-only > + > +/dts-v1/; > + > +#include "msm8939-wingtech-wt82918.dtsi" > +#include "msm8929.dtsi" > + > +/ { > + model = "Lenovo Vibe K5 (HD) (Wingtech WT82918)"; > + compatible = "wingtech,wt82918hd", "qcom,msm8929"; > + chassis-type = "handset"; > +}; > + > +&touchscreen { > + touchscreen-size-x = <720>; > + touchscreen-size-y = <1280>; > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi > new file mode 100644 > index 000000000000..c3d1d1ace2f6 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi > @@ -0,0 +1,5 @@ > +// SPDX-License-Identifier: GPL-2.0-only > + > +&opp_table { > + /delete-node/ opp-550000000; > +}; That's a very odd SoC DTSI. SoCs DTSIs are not meant to be included as complementary, but rather as full DTSI. IOW, this is very confusing code and will confuse everyone reading it. Best regards, Krzysztof
Krzysztof Kozlowski писал(а) 13.07.2024 15:02: > On 12/07/2024 18:04, Nikita Travkin wrote: >> From: Adam Słaboń <asaillen@protonmail.com> >> >> This commit introduces multiple hardware variants of Lenovo Vibe K5. >> >> - A6020a40 (msm8929-wingtech-wt82918hd) >> - A6020a46/A6020l36 (msm8939-wingtech-wt82918) >> - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) >> >> These devices are added with support for many features, notably: >> >> - Basic features like USB, mmc/sd storage, wifi, buttons, leds; >> - Accelerometer; >> - Touchscreen; >> - Sound and modem. >> >> Note that "HD" variant of K5 is based on msm8929 which is a lower bin >> of msm8939 SoC. A simple dtsi is added for this soc along with the new >> devices. >> >> Unfortunately, despite the heavy similarities, the combination of minor >> differences between variants make them incompatible between each other. >> >> Signed-off-by: Adam Słaboń <asaillen@protonmail.com> >> [Nikita: Minor cleanup, commit message] >> Signed-off-by: Nikita Travkin <nikita@trvn.ru> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 3 + >> .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ >> arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + >> .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ >> .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ >> .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ >> 6 files changed, 311 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >> index fd4c7c41ddc4..48ec781fa1d8 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -58,10 +58,13 @@ 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) += msm8929-wingtech-wt82918hd.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-sony-xperia-kanuti-tulip.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918hd.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-daisy.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-mido.dtb >> diff --git a/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >> new file mode 100644 >> index 000000000000..f9a358e852f8 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >> @@ -0,0 +1,17 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> + >> +/dts-v1/; >> + >> +#include "msm8939-wingtech-wt82918.dtsi" >> +#include "msm8929.dtsi" >> + >> +/ { >> + model = "Lenovo Vibe K5 (HD) (Wingtech WT82918)"; >> + compatible = "wingtech,wt82918hd", "qcom,msm8929"; >> + chassis-type = "handset"; >> +}; >> + >> +&touchscreen { >> + touchscreen-size-x = <720>; >> + touchscreen-size-y = <1280>; >> +}; >> diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> new file mode 100644 >> index 000000000000..c3d1d1ace2f6 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> @@ -0,0 +1,5 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> + >> +&opp_table { >> + /delete-node/ opp-550000000; >> +}; > > That's a very odd SoC DTSI. > > SoCs DTSIs are not meant to be included as complementary, but rather as > full DTSI. > > IOW, this is very confusing code and will confuse everyone reading it. > I think Adam wanted to keep the common device dtsi based on msm8939.dtsi to simplify things a bit. I was also a bit unsure if I should change how it's done but decided to keep it as it was. I will rework the v2 so: - msm8929.dtsi includes msm8939.dtsi - devices .dts include needed soc.dtsi, then include the common.dtsi - common.dtsi doesn't include any soc.dtsi Thanks for the review! Nikita > > Best regards, > Krzysztof
Konrad Dybcio писал(а) 13.07.2024 00:53: > On 12.07.2024 6:04 PM, Nikita Travkin wrote: >> From: Adam Słaboń <asaillen@protonmail.com> >> >> This commit introduces multiple hardware variants of Lenovo Vibe K5. >> >> - A6020a40 (msm8929-wingtech-wt82918hd) >> - A6020a46/A6020l36 (msm8939-wingtech-wt82918) >> - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) >> >> These devices are added with support for many features, notably: >> >> - Basic features like USB, mmc/sd storage, wifi, buttons, leds; >> - Accelerometer; >> - Touchscreen; >> - Sound and modem. >> >> Note that "HD" variant of K5 is based on msm8929 which is a lower bin >> of msm8939 SoC. A simple dtsi is added for this soc along with the new >> devices. >> >> Unfortunately, despite the heavy similarities, the combination of minor >> differences between variants make them incompatible between each other. >> >> Signed-off-by: Adam Słaboń <asaillen@protonmail.com> >> [Nikita: Minor cleanup, commit message] >> Signed-off-by: Nikita Travkin <nikita@trvn.ru> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 3 + >> .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ >> arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + >> .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ >> .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ >> .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ >> 6 files changed, 311 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >> index fd4c7c41ddc4..48ec781fa1d8 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -58,10 +58,13 @@ 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) += msm8929-wingtech-wt82918hd.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8939-sony-xperia-kanuti-tulip.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918hd.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-daisy.dtb >> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-mido.dtb >> diff --git a/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >> new file mode 100644 >> index 000000000000..f9a358e852f8 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >> @@ -0,0 +1,17 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> + >> +/dts-v1/; >> + >> +#include "msm8939-wingtech-wt82918.dtsi" >> +#include "msm8929.dtsi" >> + >> +/ { >> + model = "Lenovo Vibe K5 (HD) (Wingtech WT82918)"; >> + compatible = "wingtech,wt82918hd", "qcom,msm8929"; >> + chassis-type = "handset"; >> +}; >> + >> +&touchscreen { >> + touchscreen-size-x = <720>; >> + touchscreen-size-y = <1280>; >> +}; >> diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> new file mode 100644 >> index 000000000000..c3d1d1ace2f6 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> @@ -0,0 +1,5 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> + >> +&opp_table { > > No way somebody called the gpu opp table "opp table".. > >> + /delete-node/ opp-550000000; > > Looking at downstream, seems like there isn't a speedbin fuse for > this :( > > [...] > >> + >> +&blsp_i2c2 { >> + status = "okay"; >> + >> + accelerometer@68 { >> + compatible = "invensense,icm20608"; >> + reg = <0x68>; >> + >> + pinctrl-0 = <&accelerometer_default>; >> + pinctrl-names = "default"; > > interesting choice to stick pintrl before interrupts > Hm, yeah... I will move it a bit down in v2. Thanks! Nikita >> + >> + interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>; >> + >> + vdd-supply = <&pm8916_l17>; >> + vddio-supply = <&pm8916_l6>; >> + >> + mount-matrix = "-1", "0", "0", >> + "0", "1", "0", >> + "0", "0", "1"; >> + }; >> +}; > > [...] > >> +&pm8916_mpps { >> + pwm_out: mpp4-state { >> + pins = "mpp4"; >> + function = "digital"; >> + power-source = <PM8916_MPP_VPH>; >> + output-low; >> + qcom,dtest = <1>; > > I think you meant qcom,dtest-output > > looks good otherwise > > Konrad
Nikita Travkin писал(а) 13.07.2024 15:37: > Krzysztof Kozlowski писал(а) 13.07.2024 15:02: >> On 12/07/2024 18:04, Nikita Travkin wrote: >>> From: Adam Słaboń <asaillen@protonmail.com> >>> >>> This commit introduces multiple hardware variants of Lenovo Vibe K5. >>> >>> - A6020a40 (msm8929-wingtech-wt82918hd) >>> - A6020a46/A6020l36 (msm8939-wingtech-wt82918) >>> - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) >>> >>> These devices are added with support for many features, notably: >>> >>> - Basic features like USB, mmc/sd storage, wifi, buttons, leds; >>> - Accelerometer; >>> - Touchscreen; >>> - Sound and modem. >>> >>> Note that "HD" variant of K5 is based on msm8929 which is a lower bin >>> of msm8939 SoC. A simple dtsi is added for this soc along with the new >>> devices. >>> >>> Unfortunately, despite the heavy similarities, the combination of minor >>> differences between variants make them incompatible between each other. >>> >>> Signed-off-by: Adam Słaboń <asaillen@protonmail.com> >>> [Nikita: Minor cleanup, commit message] >>> Signed-off-by: Nikita Travkin <nikita@trvn.ru> >>> --- >>> arch/arm64/boot/dts/qcom/Makefile | 3 + >>> .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ >>> arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + >>> .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ >>> .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ >>> .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ >>> 6 files changed, 311 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >>> index fd4c7c41ddc4..48ec781fa1d8 100644 >>> --- a/arch/arm64/boot/dts/qcom/Makefile >>> +++ b/arch/arm64/boot/dts/qcom/Makefile >>> @@ -58,10 +58,13 @@ 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) += msm8929-wingtech-wt82918hd.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8939-sony-xperia-kanuti-tulip.dtb >>> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918.dtb >>> +dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918hd.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-daisy.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-mido.dtb >>> diff --git a/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >>> new file mode 100644 >>> index 000000000000..f9a358e852f8 >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dts >>> @@ -0,0 +1,17 @@ >>> +// SPDX-License-Identifier: GPL-2.0-only >>> + >>> +/dts-v1/; >>> + >>> +#include "msm8939-wingtech-wt82918.dtsi" >>> +#include "msm8929.dtsi" >>> + >>> +/ { >>> + model = "Lenovo Vibe K5 (HD) (Wingtech WT82918)"; >>> + compatible = "wingtech,wt82918hd", "qcom,msm8929"; >>> + chassis-type = "handset"; >>> +}; >>> + >>> +&touchscreen { >>> + touchscreen-size-x = <720>; >>> + touchscreen-size-y = <1280>; >>> +}; >>> diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi >>> new file mode 100644 >>> index 000000000000..c3d1d1ace2f6 >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi >>> @@ -0,0 +1,5 @@ >>> +// SPDX-License-Identifier: GPL-2.0-only >>> + >>> +&opp_table { >>> + /delete-node/ opp-550000000; >>> +}; >> >> That's a very odd SoC DTSI. >> >> SoCs DTSIs are not meant to be included as complementary, but rather as >> full DTSI. >> >> IOW, this is very confusing code and will confuse everyone reading it. >> > > I think Adam wanted to keep the common device dtsi based on msm8939.dtsi to > simplify things a bit. I was also a bit unsure if I should change how it's > done but decided to keep it as it was. I will rework the v2 so: > > - msm8929.dtsi includes msm8939.dtsi > - devices .dts include needed soc.dtsi, then include the common.dtsi > - common.dtsi doesn't include any soc.dtsi > (...) except gah this makes things quite a bit more complicated since the device makes use of the "generic design" msm8939-pm8916.dtsi and duplicating that would be quite silly IMO... I wonder if we can clarify things without making everything too complicated by calling that dtsi "msm8929-opp.dtsi" and keeping it as extension for now, then if we find that msm8929 has more differences - we can unfold and refactor everything. What do you think? Nikita > Thanks for the review! > Nikita > >> >> Best regards, >> Krzysztof
On Sat, Jul 13, 2024 at 04:07:13PM GMT, Nikita Travkin wrote: > Nikita Travkin писал(а) 13.07.2024 15:37: > > Krzysztof Kozlowski писал(а) 13.07.2024 15:02: > >> On 12/07/2024 18:04, Nikita Travkin wrote: > >>> From: Adam Słaboń <asaillen@protonmail.com> > >>> > >>> This commit introduces multiple hardware variants of Lenovo Vibe K5. > >>> > >>> - A6020a40 (msm8929-wingtech-wt82918hd) > >>> - A6020a46/A6020l36 (msm8939-wingtech-wt82918) > >>> - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) > >>> > >>> These devices are added with support for many features, notably: > >>> > >>> - Basic features like USB, mmc/sd storage, wifi, buttons, leds; > >>> - Accelerometer; > >>> - Touchscreen; > >>> - Sound and modem. > >>> > >>> diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi > >>> new file mode 100644 > >>> index 000000000000..c3d1d1ace2f6 > >>> --- /dev/null > >>> +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi > >>> @@ -0,0 +1,5 @@ > >>> +// SPDX-License-Identifier: GPL-2.0-only > >>> + > >>> +&opp_table { > >>> + /delete-node/ opp-550000000; > >>> +}; > >> > >> That's a very odd SoC DTSI. > >> > >> SoCs DTSIs are not meant to be included as complementary, but rather as > >> full DTSI. > >> > >> IOW, this is very confusing code and will confuse everyone reading it. > >> > > > > I think Adam wanted to keep the common device dtsi based on msm8939.dtsi to > > simplify things a bit. I was also a bit unsure if I should change how it's > > done but decided to keep it as it was. I will rework the v2 so: > > > > - msm8929.dtsi includes msm8939.dtsi > > - devices .dts include needed soc.dtsi, then include the common.dtsi > > - common.dtsi doesn't include any soc.dtsi > > > > (...) except gah this makes things quite a bit more complicated since the > device makes use of the "generic design" msm8939-pm8916.dtsi and duplicating > that would be quite silly IMO... > > I wonder if we can clarify things without making everything too complicated > by calling that dtsi "msm8929-opp.dtsi" and keeping it as extension for now, > then if we find that msm8929 has more differences - we can unfold and refactor > everything. > > What do you think? What about adding msm8929-pm8916.dtsi, which includes just the right things? This might result in duplication with the existing files, but in the end msm8939-pm8916 and msm8919-pm8916 are also very similar.
Dmitry Baryshkov писал(а) 13.07.2024 21:12: > On Sat, Jul 13, 2024 at 04:07:13PM GMT, Nikita Travkin wrote: >> Nikita Travkin писал(а) 13.07.2024 15:37: >> > Krzysztof Kozlowski писал(а) 13.07.2024 15:02: >> >> On 12/07/2024 18:04, Nikita Travkin wrote: >> >>> From: Adam Słaboń <asaillen@protonmail.com> >> >>> >> >>> This commit introduces multiple hardware variants of Lenovo Vibe K5. >> >>> >> >>> - A6020a40 (msm8929-wingtech-wt82918hd) >> >>> - A6020a46/A6020l36 (msm8939-wingtech-wt82918) >> >>> - A6020a40 S616 H39 (msm8939-wingtech-wt82918hd) >> >>> >> >>> These devices are added with support for many features, notably: >> >>> >> >>> - Basic features like USB, mmc/sd storage, wifi, buttons, leds; >> >>> - Accelerometer; >> >>> - Touchscreen; >> >>> - Sound and modem. >> >>> > >> >>> diff --git a/arch/arm64/boot/dts/qcom/msm8929.dtsi b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> >>> new file mode 100644 >> >>> index 000000000000..c3d1d1ace2f6 >> >>> --- /dev/null >> >>> +++ b/arch/arm64/boot/dts/qcom/msm8929.dtsi >> >>> @@ -0,0 +1,5 @@ >> >>> +// SPDX-License-Identifier: GPL-2.0-only >> >>> + >> >>> +&opp_table { >> >>> + /delete-node/ opp-550000000; >> >>> +}; >> >> >> >> That's a very odd SoC DTSI. >> >> >> >> SoCs DTSIs are not meant to be included as complementary, but rather as >> >> full DTSI. >> >> >> >> IOW, this is very confusing code and will confuse everyone reading it. >> >> >> > >> > I think Adam wanted to keep the common device dtsi based on msm8939.dtsi to >> > simplify things a bit. I was also a bit unsure if I should change how it's >> > done but decided to keep it as it was. I will rework the v2 so: >> > >> > - msm8929.dtsi includes msm8939.dtsi >> > - devices .dts include needed soc.dtsi, then include the common.dtsi >> > - common.dtsi doesn't include any soc.dtsi >> > >> >> (...) except gah this makes things quite a bit more complicated since the >> device makes use of the "generic design" msm8939-pm8916.dtsi and duplicating >> that would be quite silly IMO... >> >> I wonder if we can clarify things without making everything too complicated >> by calling that dtsi "msm8929-opp.dtsi" and keeping it as extension for now, >> then if we find that msm8929 has more differences - we can unfold and refactor >> everything. >> >> What do you think? > > What about adding msm8929-pm8916.dtsi, which includes just the right > things? This might result in duplication with the existing files, but in > the end msm8939-pm8916 and msm8919-pm8916 are also very similar. Right, I guess the reason my thought was to avoid it is that msm8929 is (seemingly) just a bin of msm8939, compared to i.e. msm8916 which is a different soc. But I suppose it's fine to create a new dtsi for it too, will create it and change the includes as suggested (soc+pmic dtsi is included by device, then common dtsi that itself doesn't include soc dtsi) Thanks! Nikita
On Fri, 12 Jul 2024 21:04:05 +0500, Nikita Travkin wrote: > Continuing the work of upstreaming the various msm8916 devices from the > backlog, this series introduces few 8916 and 8939 Lenovo/Wingtech > devices (where Wingtech is the ODM for these designs). > > Included devices are: > > - Lenovo A6000 (Wingtech WT86518) > - Lenovo A6010 (Wingtech WT86528) > - Lenovo Vibe K5 (Wingtech WT82918) > - Lenovo Vibe K5 (HD) (Wingtech WT82918hd) > > Note that "HD" variant of K5 is based on msm8929 which is a lower bin > of msm8939 SoC. A simple dtsi is added for this soc along with the new > devices. > > Signed-off-by: Nikita Travkin <nikita@trvn.ru> > --- > Adam Słaboń (1): > arm64: dts: qcom: msm8939-wingtech-wt82918: Add Lenovo Vibe K5 devices > > Anton Bambura (1): > arm64: dts: qcom: msm8916-wingtech-wt865x8: Add Lenovo A6000/A6010 > > Nikita Travkin (1): > dt-bindings: arm: qcom: Add msm8916/39 based Lenovo devices > > Documentation/devicetree/bindings/arm/qcom.yaml | 9 + > arch/arm64/boot/dts/qcom/Makefile | 5 + > .../boot/dts/qcom/msm8916-wingtech-wt86518.dts | 89 ++++++++ > .../boot/dts/qcom/msm8916-wingtech-wt86528.dts | 160 +++++++++++++ > .../boot/dts/qcom/msm8916-wingtech-wt865x8.dtsi | 216 ++++++++++++++++++ > .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ > arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + > .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ > .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ > .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ > 10 files changed, 787 insertions(+) > --- > base-commit: 3fe121b622825ff8cc995a1e6b026181c48188db > change-id: 20240710-msm89xx-wingtech-init-e07095e2b2ec > > Best regards, > -- > Nikita Travkin <nikita@trvn.ru> > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y qcom/msm8916-wingtech-wt86518.dtb qcom/msm8916-wingtech-wt86528.dtb qcom/msm8929-wingtech-wt82918hd.dtb qcom/msm8939-wingtech-wt82918.dtb qcom/msm8939-wingtech-wt82918hd.dtb' for 20240712-msm89xx-wingtech-init-v1-0-64f4aa1870bd@trvn.ru: arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: iommu@1f08000: clocks: [[31, 129], [31, 140], [31, 175]] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: iommu@1f08000: clock-names: ['iface', 'bus', 'tbu'] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: iommu@1f08000: clocks: [[31, 129], [31, 140], [31, 175]] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: iommu@1f08000: clock-names: ['iface', 'bus', 'tbu'] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: pmic@0: mpps@a000:mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: pmic@0: mpps@a000:mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: iommu@1f08000: clocks: [[31, 129], [31, 140], [31, 175]] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: iommu@1f08000: clock-names: ['iface', 'bus', 'tbu'] is too long from schema $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: pmic@0: mpps@a000:mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: mpps@a000: mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: mpps@a000: mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: mpps@a000: mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: pmic@0: mpps@a000:mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: pmic@0: mpps@a000:mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: mpps@a000: mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: mpps@a000: mpp4-state: 'oneOf' conditional failed, one must be fixed: 'function', 'output-low', 'pins', 'power-source', 'qcom,dtest' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+' [1] is not of type 'integer' [1] is not one of [1, 2, 3, 4] from schema $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: /usb-id: failed to match any schema with compatible: ['linux,extcon-usb-gpio'] arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: /usb-id: failed to match any schema with compatible: ['linux,extcon-usb-gpio'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: /soc@0/power-manager@b088000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: /soc@0/power-manager@b098000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: /soc@0/power-manager@b088000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: /soc@0/power-manager@b0a8000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: /soc@0/power-manager@b098000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: /usb-id: failed to match any schema with compatible: ['linux,extcon-usb-gpio'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86518.dtb: /soc@0/power-manager@b0b8000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: /soc@0/power-manager@b0a8000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: /soc@0/power-manager@b0b8000: failed to match any schema with compatible: ['qcom,msm8916-acc'] arch/arm64/boot/dts/qcom/msm8916-wingtech-wt86528.dtb: /usb-id: failed to match any schema with compatible: ['linux,extcon-usb-gpio']
Continuing the work of upstreaming the various msm8916 devices from the backlog, this series introduces few 8916 and 8939 Lenovo/Wingtech devices (where Wingtech is the ODM for these designs). Included devices are: - Lenovo A6000 (Wingtech WT86518) - Lenovo A6010 (Wingtech WT86528) - Lenovo Vibe K5 (Wingtech WT82918) - Lenovo Vibe K5 (HD) (Wingtech WT82918hd) Note that "HD" variant of K5 is based on msm8929 which is a lower bin of msm8939 SoC. A simple dtsi is added for this soc along with the new devices. Signed-off-by: Nikita Travkin <nikita@trvn.ru> --- Adam Słaboń (1): arm64: dts: qcom: msm8939-wingtech-wt82918: Add Lenovo Vibe K5 devices Anton Bambura (1): arm64: dts: qcom: msm8916-wingtech-wt865x8: Add Lenovo A6000/A6010 Nikita Travkin (1): dt-bindings: arm: qcom: Add msm8916/39 based Lenovo devices Documentation/devicetree/bindings/arm/qcom.yaml | 9 + arch/arm64/boot/dts/qcom/Makefile | 5 + .../boot/dts/qcom/msm8916-wingtech-wt86518.dts | 89 ++++++++ .../boot/dts/qcom/msm8916-wingtech-wt86528.dts | 160 +++++++++++++ .../boot/dts/qcom/msm8916-wingtech-wt865x8.dtsi | 216 ++++++++++++++++++ .../boot/dts/qcom/msm8929-wingtech-wt82918hd.dts | 17 ++ arch/arm64/boot/dts/qcom/msm8929.dtsi | 5 + .../boot/dts/qcom/msm8939-wingtech-wt82918.dts | 16 ++ .../boot/dts/qcom/msm8939-wingtech-wt82918.dtsi | 254 +++++++++++++++++++++ .../boot/dts/qcom/msm8939-wingtech-wt82918hd.dts | 16 ++ 10 files changed, 787 insertions(+) --- base-commit: 3fe121b622825ff8cc995a1e6b026181c48188db change-id: 20240710-msm89xx-wingtech-init-e07095e2b2ec Best regards,