Message ID | 20241229152332.3068172-6-quic_wasimn@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | arm64: qcom: Add support for QCS9075 boards | expand |
On 29.12.2024 4:23 PM, Wasim Nazir wrote: > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > subsystem which is available in QCS9100, and it affects thermal > management. > > Also, between ride and ride-r3 ethernet phy is different. > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > --- + Andrew IIUC we have a similar case to https://lore.kernel.org/linux-arm-msm/cbd696c0-3b25-438b-a279-a4263308323a@lunn.ch/ here in the first file changed, please see below and let me know if the rest makes sense for the networking part Konrad > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > 3 files changed, 94 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 78613a1bd34a..41cb2bbd3472 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > new file mode 100644 > index 000000000000..d9a8956d3a76 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "2500base-x"; > +}; > + > +ðernet1 { > + phy-mode = "2500base-x"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@0 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x0>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > new file mode 100644 > index 000000000000..3b524359a72d > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "sgmii"; > +}; > + > +ðernet1 { > + phy-mode = "sgmii"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@a { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0xa>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > -- > 2.47.0 >
On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > subsystem which is available in QCS9100, and it affects thermal > management. > > Also, between ride and ride-r3 ethernet phy is different. > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just include corresponding SA8775P files. This is not ideal for the following reasons: - The approach is not uniform (between QCS9100 and QCS9075), which might lead to mistakes. - The approach ends up duplicating DT code unnecessarily, which can lead to issues being patches in the one board file, but not in the other file. If there are any reasons why you want to follow this approach, they must be a part of the commit message. > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > 3 files changed, 94 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 78613a1bd34a..41cb2bbd3472 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > new file mode 100644 > index 000000000000..d9a8956d3a76 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "2500base-x"; > +}; > + > +ðernet1 { > + phy-mode = "2500base-x"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@0 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x0>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > new file mode 100644 > index 000000000000..3b524359a72d > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "sgmii"; > +}; > + > +ðernet1 { > + phy-mode = "sgmii"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@a { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0xa>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > -- > 2.47.0 >
> > +ðernet0 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +ðernet1 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +&mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + sgmii_phy0: phy@8 { > > + compatible = "ethernet-phy-id31c3.1c33"; > > + reg = <0x8>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > + > > + sgmii_phy1: phy@0 { SGMII is 10/100/1000. You have a phy-mode of 2500base-x, which is only 2500. So calling this sgmii_phy is wrong. Just call it phy1: phy@0. Andrew
On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > subsystem which is available in QCS9100, and it affects thermal > > management. > > > > Also, between ride and ride-r3 ethernet phy is different. > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > include corresponding SA8775P files. > > This is not ideal for the following reasons: > - The approach is not uniform (between QCS9100 and QCS9075), which might > lead to mistakes. > - The approach ends up duplicating DT code unnecessarily, which can lead > to issues being patches in the one board file, but not in the other > file. > > If there are any reasons why you want to follow this approach, they must > be a part of the commit message. > Hi Dmitry, Initially, we included the DTS [1] file to avoid duplication. However, based on Krzysztof's previous suggestion [2], we change to this format. Please let us know how to proceed further on this. [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > --- > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > 3 files changed, 94 insertions(+) > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > index 78613a1bd34a..41cb2bbd3472 100644 > > --- a/arch/arm64/boot/dts/qcom/Makefile > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > new file mode 100644 > > index 000000000000..d9a8956d3a76 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > @@ -0,0 +1,46 @@ > > +// SPDX-License-Identifier: BSD-3-Clause > > +/* > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > + */ > > +/dts-v1/; > > + > > +#include "sa8775p-ride.dtsi" > > + > > +/ { > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > +}; > > + > > +ðernet0 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +ðernet1 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +&mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + sgmii_phy0: phy@8 { > > + compatible = "ethernet-phy-id31c3.1c33"; > > + reg = <0x8>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > + > > + sgmii_phy1: phy@0 { > > + compatible = "ethernet-phy-id31c3.1c33"; > > + reg = <0x0>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > +}; > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > new file mode 100644 > > index 000000000000..3b524359a72d > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > @@ -0,0 +1,46 @@ > > +// SPDX-License-Identifier: BSD-3-Clause > > +/* > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > + */ > > +/dts-v1/; > > + > > +#include "sa8775p-ride.dtsi" > > + > > +/ { > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > +}; > > + > > +ðernet0 { > > + phy-mode = "sgmii"; > > +}; > > + > > +ðernet1 { > > + phy-mode = "sgmii"; > > +}; > > + > > +&mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + sgmii_phy0: phy@8 { > > + compatible = "ethernet-phy-id0141.0dd4"; > > + reg = <0x8>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > + > > + sgmii_phy1: phy@a { > > + compatible = "ethernet-phy-id0141.0dd4"; > > + reg = <0xa>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > +}; > > -- > > 2.47.0 > > > > -- > With best wishes > Dmitry Thanks & Regards, Wasim
On Tue, Dec 31, 2024 at 06:10:15AM +0100, Andrew Lunn wrote: > > > +ðernet0 { > > > + phy-mode = "2500base-x"; > > > +}; > > > + > > > +ðernet1 { > > > + phy-mode = "2500base-x"; > > > +}; > > > + > > > +&mdio { > > > + compatible = "snps,dwmac-mdio"; > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + sgmii_phy0: phy@8 { > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > + reg = <0x8>; > > > + device_type = "ethernet-phy"; > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > + reset-assert-us = <11000>; > > > + reset-deassert-us = <70000>; > > > + }; > > > + > > > + sgmii_phy1: phy@0 { > > SGMII is 10/100/1000. You have a phy-mode of 2500base-x, which is only > 2500. So calling this sgmii_phy is wrong. Just call it phy1: phy@0. > Thanks Konrad/Andrew will fix this in next patch. Regards, Wasim
On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > subsystem which is available in QCS9100, and it affects thermal > > > management. > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > include corresponding SA8775P files. > > > > This is not ideal for the following reasons: > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > lead to mistakes. > > - The approach ends up duplicating DT code unnecessarily, which can lead > > to issues being patches in the one board file, but not in the other > > file. > > > > If there are any reasons why you want to follow this approach, they must > > be a part of the commit message. > > > > Hi Dmitry, > > Initially, we included the DTS [1] file to avoid duplication. However, > based on Krzysztof's previous suggestion [2], we change to this format. > > Please let us know how to proceed further on this. Krzysztof asked you to include DTSI files instead of including DTS files. Hope this helps. > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > --- > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > 3 files changed, 94 insertions(+) > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > new file mode 100644 > > > index 000000000000..d9a8956d3a76 > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > @@ -0,0 +1,46 @@ > > > +// SPDX-License-Identifier: BSD-3-Clause > > > +/* > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > + */ > > > +/dts-v1/; > > > + > > > +#include "sa8775p-ride.dtsi" > > > + > > > +/ { > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > +}; > > > + > > > +ðernet0 { > > > + phy-mode = "2500base-x"; > > > +}; > > > + > > > +ðernet1 { > > > + phy-mode = "2500base-x"; > > > +}; > > > + > > > +&mdio { > > > + compatible = "snps,dwmac-mdio"; > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + sgmii_phy0: phy@8 { > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > + reg = <0x8>; > > > + device_type = "ethernet-phy"; > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > + reset-assert-us = <11000>; > > > + reset-deassert-us = <70000>; > > > + }; > > > + > > > + sgmii_phy1: phy@0 { > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > + reg = <0x0>; > > > + device_type = "ethernet-phy"; > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > + reset-assert-us = <11000>; > > > + reset-deassert-us = <70000>; > > > + }; > > > +}; > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > new file mode 100644 > > > index 000000000000..3b524359a72d > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > @@ -0,0 +1,46 @@ > > > +// SPDX-License-Identifier: BSD-3-Clause > > > +/* > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > + */ > > > +/dts-v1/; > > > + > > > +#include "sa8775p-ride.dtsi" > > > + > > > +/ { > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > +}; > > > + > > > +ðernet0 { > > > + phy-mode = "sgmii"; > > > +}; > > > + > > > +ðernet1 { > > > + phy-mode = "sgmii"; > > > +}; > > > + > > > +&mdio { > > > + compatible = "snps,dwmac-mdio"; > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + sgmii_phy0: phy@8 { > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > + reg = <0x8>; > > > + device_type = "ethernet-phy"; > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > + reset-assert-us = <11000>; > > > + reset-deassert-us = <70000>; > > > + }; > > > + > > > + sgmii_phy1: phy@a { > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > + reg = <0xa>; > > > + device_type = "ethernet-phy"; > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > + reset-assert-us = <11000>; > > > + reset-deassert-us = <70000>; > > > + }; > > > +}; > > > -- > > > 2.47.0 > > > > > > > -- > > With best wishes > > Dmitry > > > Thanks & Regards, > Wasim
On Fri, Jan 03, 2025 at 07:50:43AM +0200, Dmitry Baryshkov wrote: > On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > > subsystem which is available in QCS9100, and it affects thermal > > > > management. > > > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > > include corresponding SA8775P files. > > > > > > This is not ideal for the following reasons: > > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > > lead to mistakes. > > > - The approach ends up duplicating DT code unnecessarily, which can lead > > > to issues being patches in the one board file, but not in the other > > > file. > > > > > > If there are any reasons why you want to follow this approach, they must > > > be a part of the commit message. > > > > > > > Hi Dmitry, > > > > Initially, we included the DTS [1] file to avoid duplication. However, > > based on Krzysztof's previous suggestion [2], we change to this format. > > > > Please let us know how to proceed further on this. > > Krzysztof asked you to include DTSI files instead of including DTS > files. Hope this helps. Are you suggesting that we should also modify the 9100-ride files to include DTSI instead of DTS for consistency between QCS9100 and QCS9075? However, this would result in the duplication of Ethernet nodes in all the ride board files. Would that be acceptable? > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > > --- > > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > > 3 files changed, 94 insertions(+) > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > new file mode 100644 > > > > index 000000000000..d9a8956d3a76 > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > @@ -0,0 +1,46 @@ > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > +/* > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > + */ > > > > +/dts-v1/; > > > > + > > > > +#include "sa8775p-ride.dtsi" > > > > + > > > > +/ { > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > > +}; > > > > + > > > > +ðernet0 { > > > > + phy-mode = "2500base-x"; > > > > +}; > > > > + > > > > +ðernet1 { > > > > + phy-mode = "2500base-x"; > > > > +}; > > > > + > > > > +&mdio { > > > > + compatible = "snps,dwmac-mdio"; > > > > + #address-cells = <1>; > > > > + #size-cells = <0>; > > > > + > > > > + sgmii_phy0: phy@8 { > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > + reg = <0x8>; > > > > + device_type = "ethernet-phy"; > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > + reset-assert-us = <11000>; > > > > + reset-deassert-us = <70000>; > > > > + }; > > > > + > > > > + sgmii_phy1: phy@0 { > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > + reg = <0x0>; > > > > + device_type = "ethernet-phy"; > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > + reset-assert-us = <11000>; > > > > + reset-deassert-us = <70000>; > > > > + }; > > > > +}; > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > new file mode 100644 > > > > index 000000000000..3b524359a72d > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > @@ -0,0 +1,46 @@ > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > +/* > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > + */ > > > > +/dts-v1/; > > > > + > > > > +#include "sa8775p-ride.dtsi" > > > > + > > > > +/ { > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > > +}; > > > > + > > > > +ðernet0 { > > > > + phy-mode = "sgmii"; > > > > +}; > > > > + > > > > +ðernet1 { > > > > + phy-mode = "sgmii"; > > > > +}; > > > > + > > > > +&mdio { > > > > + compatible = "snps,dwmac-mdio"; > > > > + #address-cells = <1>; > > > > + #size-cells = <0>; > > > > + > > > > + sgmii_phy0: phy@8 { > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > + reg = <0x8>; > > > > + device_type = "ethernet-phy"; > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > + reset-assert-us = <11000>; > > > > + reset-deassert-us = <70000>; > > > > + }; > > > > + > > > > + sgmii_phy1: phy@a { > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > + reg = <0xa>; > > > > + device_type = "ethernet-phy"; > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > + reset-assert-us = <11000>; > > > > + reset-deassert-us = <70000>; > > > > + }; > > > > +}; > > > > -- > > > > 2.47.0 > > > > > > > > > > -- > > > With best wishes > > > Dmitry > > > > > > Thanks & Regards, > > Wasim > > -- > With best wishes > Dmitry Thanks & Regards, Wasim
On Fri, Jan 03, 2025 at 12:37:50PM +0530, Wasim Nazir wrote: > On Fri, Jan 03, 2025 at 07:50:43AM +0200, Dmitry Baryshkov wrote: > > On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > > > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > > > subsystem which is available in QCS9100, and it affects thermal > > > > > management. > > > > > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > > > include corresponding SA8775P files. > > > > > > > > This is not ideal for the following reasons: > > > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > > > lead to mistakes. > > > > - The approach ends up duplicating DT code unnecessarily, which can lead > > > > to issues being patches in the one board file, but not in the other > > > > file. > > > > > > > > If there are any reasons why you want to follow this approach, they must > > > > be a part of the commit message. > > > > > > > > > > Hi Dmitry, > > > > > > Initially, we included the DTS [1] file to avoid duplication. However, > > > based on Krzysztof's previous suggestion [2], we change to this format. > > > > > > Please let us know how to proceed further on this. > > > > Krzysztof asked you to include DTSI files instead of including DTS > > files. Hope this helps. > > Are you suggesting that we should also modify the 9100-ride files to > include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > However, this would result in the duplication of Ethernet nodes in all > the ride board files. Would that be acceptable? git mv foo.dts foo.dtsi echo '#include "foo.dtsi"' > foo.dts git add foo.dts git commit > > > > > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > > > --- > > > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > > > 3 files changed, 94 insertions(+) > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > new file mode 100644 > > > > > index 000000000000..d9a8956d3a76 > > > > > --- /dev/null > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > @@ -0,0 +1,46 @@ > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > +/* > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > + */ > > > > > +/dts-v1/; > > > > > + > > > > > +#include "sa8775p-ride.dtsi" > > > > > + > > > > > +/ { > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > > > +}; > > > > > + > > > > > +ðernet0 { > > > > > + phy-mode = "2500base-x"; > > > > > +}; > > > > > + > > > > > +ðernet1 { > > > > > + phy-mode = "2500base-x"; > > > > > +}; > > > > > + > > > > > +&mdio { > > > > > + compatible = "snps,dwmac-mdio"; > > > > > + #address-cells = <1>; > > > > > + #size-cells = <0>; > > > > > + > > > > > + sgmii_phy0: phy@8 { > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > + reg = <0x8>; > > > > > + device_type = "ethernet-phy"; > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > + reset-assert-us = <11000>; > > > > > + reset-deassert-us = <70000>; > > > > > + }; > > > > > + > > > > > + sgmii_phy1: phy@0 { > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > + reg = <0x0>; > > > > > + device_type = "ethernet-phy"; > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > + reset-assert-us = <11000>; > > > > > + reset-deassert-us = <70000>; > > > > > + }; > > > > > +}; > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > new file mode 100644 > > > > > index 000000000000..3b524359a72d > > > > > --- /dev/null > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > @@ -0,0 +1,46 @@ > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > +/* > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > + */ > > > > > +/dts-v1/; > > > > > + > > > > > +#include "sa8775p-ride.dtsi" > > > > > + > > > > > +/ { > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > > > +}; > > > > > + > > > > > +ðernet0 { > > > > > + phy-mode = "sgmii"; > > > > > +}; > > > > > + > > > > > +ðernet1 { > > > > > + phy-mode = "sgmii"; > > > > > +}; > > > > > + > > > > > +&mdio { > > > > > + compatible = "snps,dwmac-mdio"; > > > > > + #address-cells = <1>; > > > > > + #size-cells = <0>; > > > > > + > > > > > + sgmii_phy0: phy@8 { > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > + reg = <0x8>; > > > > > + device_type = "ethernet-phy"; > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > + reset-assert-us = <11000>; > > > > > + reset-deassert-us = <70000>; > > > > > + }; > > > > > + > > > > > + sgmii_phy1: phy@a { > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > + reg = <0xa>; > > > > > + device_type = "ethernet-phy"; > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > + reset-assert-us = <11000>; > > > > > + reset-deassert-us = <70000>; > > > > > + }; > > > > > +}; > > > > > -- > > > > > 2.47.0 > > > > > > > > > > > > > -- > > > > With best wishes > > > > Dmitry > > > > > > > > > Thanks & Regards, > > > Wasim > > > > -- > > With best wishes > > Dmitry > > > Thanks & Regards, > Wasim
On Fri, Jan 03, 2025 at 12:31:55PM +0200, Dmitry Baryshkov wrote: > On Fri, Jan 03, 2025 at 12:37:50PM +0530, Wasim Nazir wrote: > > On Fri, Jan 03, 2025 at 07:50:43AM +0200, Dmitry Baryshkov wrote: > > > On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > > > > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > > > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > > > > subsystem which is available in QCS9100, and it affects thermal > > > > > > management. > > > > > > > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > > > > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > > > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > > > > include corresponding SA8775P files. > > > > > > > > > > This is not ideal for the following reasons: > > > > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > > > > lead to mistakes. > > > > > - The approach ends up duplicating DT code unnecessarily, which can lead > > > > > to issues being patches in the one board file, but not in the other > > > > > file. > > > > > > > > > > If there are any reasons why you want to follow this approach, they must > > > > > be a part of the commit message. > > > > > > > > > > > > > Hi Dmitry, > > > > > > > > Initially, we included the DTS [1] file to avoid duplication. However, > > > > based on Krzysztof's previous suggestion [2], we change to this format. > > > > > > > > Please let us know how to proceed further on this. > > > > > > Krzysztof asked you to include DTSI files instead of including DTS > > > files. Hope this helps. > > > > Are you suggesting that we should also modify the 9100-ride files to > > include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > > However, this would result in the duplication of Ethernet nodes in all > > the ride board files. Would that be acceptable? > > git mv foo.dts foo.dtsi > echo '#include "foo.dtsi"' > foo.dts > git add foo.dts > git commit > We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as they represent different platforms. In patch [1], we included these DTS files to reuse the common hardware nodes. Could you please advise on how we should proceed with the following approaches? a) Previous approach [1]: Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride platform DTS, similar to the qcs9100-ride platform DTS. This approach avoids duplicating Ethernet nodes and maintains uniformity. However, it involves including the DTS file directly. b) Current suggestion: Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also modify the qcs9100-ride platform DTS files to maintain uniformity. This approach results in duplicating Ethernet nodes. Please let us know your recommendation to finalize the DT structure. [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > > > > > > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > > > > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > > > > --- > > > > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > > > > 3 files changed, 94 insertions(+) > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > new file mode 100644 > > > > > > index 000000000000..d9a8956d3a76 > > > > > > --- /dev/null > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > @@ -0,0 +1,46 @@ > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > +/* > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > + */ > > > > > > +/dts-v1/; > > > > > > + > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > + > > > > > > +/ { > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > +}; > > > > > > + > > > > > > +ðernet0 { > > > > > > + phy-mode = "2500base-x"; > > > > > > +}; > > > > > > + > > > > > > +ðernet1 { > > > > > > + phy-mode = "2500base-x"; > > > > > > +}; > > > > > > + > > > > > > +&mdio { > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > + #address-cells = <1>; > > > > > > + #size-cells = <0>; > > > > > > + > > > > > > + sgmii_phy0: phy@8 { > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > + reg = <0x8>; > > > > > > + device_type = "ethernet-phy"; > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > + reset-assert-us = <11000>; > > > > > > + reset-deassert-us = <70000>; > > > > > > + }; > > > > > > + > > > > > > + sgmii_phy1: phy@0 { > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > + reg = <0x0>; > > > > > > + device_type = "ethernet-phy"; > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > + reset-assert-us = <11000>; > > > > > > + reset-deassert-us = <70000>; > > > > > > + }; > > > > > > +}; > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > new file mode 100644 > > > > > > index 000000000000..3b524359a72d > > > > > > --- /dev/null > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > @@ -0,0 +1,46 @@ > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > +/* > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > + */ > > > > > > +/dts-v1/; > > > > > > + > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > + > > > > > > +/ { > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > +}; > > > > > > + > > > > > > +ðernet0 { > > > > > > + phy-mode = "sgmii"; > > > > > > +}; > > > > > > + > > > > > > +ðernet1 { > > > > > > + phy-mode = "sgmii"; > > > > > > +}; > > > > > > + > > > > > > +&mdio { > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > + #address-cells = <1>; > > > > > > + #size-cells = <0>; > > > > > > + > > > > > > + sgmii_phy0: phy@8 { > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > + reg = <0x8>; > > > > > > + device_type = "ethernet-phy"; > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > + reset-assert-us = <11000>; > > > > > > + reset-deassert-us = <70000>; > > > > > > + }; > > > > > > + > > > > > > + sgmii_phy1: phy@a { > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > + reg = <0xa>; > > > > > > + device_type = "ethernet-phy"; > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > + reset-assert-us = <11000>; > > > > > > + reset-deassert-us = <70000>; > > > > > > + }; > > > > > > +}; > > > > > > -- > > > > > > 2.47.0 > > > > > > > > > > > > > > > > -- > > > > > With best wishes > > > > > Dmitry > > > > > > > > > > > > Thanks & Regards, > > > > Wasim > > > > > > -- > > > With best wishes > > > Dmitry > > > > > > Thanks & Regards, > > Wasim > > -- > With best wishes > Dmitry Thanks & Regards, Wasim
On Sat, Jan 04, 2025 at 12:29:07AM +0530, Wasim Nazir wrote: > On Fri, Jan 03, 2025 at 12:31:55PM +0200, Dmitry Baryshkov wrote: > > On Fri, Jan 03, 2025 at 12:37:50PM +0530, Wasim Nazir wrote: > > > On Fri, Jan 03, 2025 at 07:50:43AM +0200, Dmitry Baryshkov wrote: > > > > On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > > > > > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > > > > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > > > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > > > > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > > > > > subsystem which is available in QCS9100, and it affects thermal > > > > > > > management. > > > > > > > > > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > > > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > > > > > > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > > > > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > > > > > include corresponding SA8775P files. > > > > > > > > > > > > This is not ideal for the following reasons: > > > > > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > > > > > lead to mistakes. > > > > > > - The approach ends up duplicating DT code unnecessarily, which can lead > > > > > > to issues being patches in the one board file, but not in the other > > > > > > file. > > > > > > > > > > > > If there are any reasons why you want to follow this approach, they must > > > > > > be a part of the commit message. > > > > > > > > > > > > > > > > Hi Dmitry, > > > > > > > > > > Initially, we included the DTS [1] file to avoid duplication. However, > > > > > based on Krzysztof's previous suggestion [2], we change to this format. > > > > > > > > > > Please let us know how to proceed further on this. > > > > > > > > Krzysztof asked you to include DTSI files instead of including DTS > > > > files. Hope this helps. > > > > > > Are you suggesting that we should also modify the 9100-ride files to > > > include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > > > However, this would result in the duplication of Ethernet nodes in all > > > the ride board files. Would that be acceptable? > > > > git mv foo.dts foo.dtsi > > echo '#include "foo.dtsi"' > foo.dts > > git add foo.dts > > git commit > > > > We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as > they represent different platforms. In patch [1], we included these DTS > files to reuse the common hardware nodes. > > Could you please advise on how we should proceed with the following > approaches? > > a) Previous approach [1]: > Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride > platform DTS, similar to the qcs9100-ride platform DTS. This approach > avoids duplicating Ethernet nodes and maintains uniformity. However, it > involves including the DTS file directly. > > b) Current suggestion: > Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also > modify the qcs9100-ride platform DTS files to maintain uniformity. This > approach results in duplicating Ethernet nodes. > > Please let us know your recommendation to finalize the DT structure. sa8775p.dtsi `__sa8775p-ride.dtsi `__sa8775p-ride-r2.dtsi `__sa8775p-ride.dts `__qcs9100-ride.dts `__qcs9075-ride.dts `__sa8775p-ride-r3.dtsi `__sa8775p-ride-r3.dts `__qcs9100-ride-r3.dts `__qcs9075-ride-r3.dts > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > > > > > > > > > > > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > > > > > > > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > > > > > --- > > > > > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > > > > > 3 files changed, 94 insertions(+) > > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > > > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > > > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > > > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > > > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > new file mode 100644 > > > > > > > index 000000000000..d9a8956d3a76 > > > > > > > --- /dev/null > > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > @@ -0,0 +1,46 @@ > > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > > +/* > > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > > + */ > > > > > > > +/dts-v1/; > > > > > > > + > > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > > + > > > > > > > +/ { > > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > > > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > > +}; > > > > > > > + > > > > > > > +ðernet0 { > > > > > > > + phy-mode = "2500base-x"; > > > > > > > +}; > > > > > > > + > > > > > > > +ðernet1 { > > > > > > > + phy-mode = "2500base-x"; > > > > > > > +}; > > > > > > > + > > > > > > > +&mdio { > > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > > + #address-cells = <1>; > > > > > > > + #size-cells = <0>; > > > > > > > + > > > > > > > + sgmii_phy0: phy@8 { > > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > > + reg = <0x8>; > > > > > > > + device_type = "ethernet-phy"; > > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > > + reset-assert-us = <11000>; > > > > > > > + reset-deassert-us = <70000>; > > > > > > > + }; > > > > > > > + > > > > > > > + sgmii_phy1: phy@0 { > > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > > + reg = <0x0>; > > > > > > > + device_type = "ethernet-phy"; > > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > > + reset-assert-us = <11000>; > > > > > > > + reset-deassert-us = <70000>; > > > > > > > + }; > > > > > > > +}; > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > new file mode 100644 > > > > > > > index 000000000000..3b524359a72d > > > > > > > --- /dev/null > > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > @@ -0,0 +1,46 @@ > > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > > +/* > > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > > + */ > > > > > > > +/dts-v1/; > > > > > > > + > > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > > + > > > > > > > +/ { > > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > > > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > > +}; > > > > > > > + > > > > > > > +ðernet0 { > > > > > > > + phy-mode = "sgmii"; > > > > > > > +}; > > > > > > > + > > > > > > > +ðernet1 { > > > > > > > + phy-mode = "sgmii"; > > > > > > > +}; > > > > > > > + > > > > > > > +&mdio { > > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > > + #address-cells = <1>; > > > > > > > + #size-cells = <0>; > > > > > > > + > > > > > > > + sgmii_phy0: phy@8 { > > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > > + reg = <0x8>; > > > > > > > + device_type = "ethernet-phy"; > > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > > + reset-assert-us = <11000>; > > > > > > > + reset-deassert-us = <70000>; > > > > > > > + }; > > > > > > > + > > > > > > > + sgmii_phy1: phy@a { > > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > > + reg = <0xa>; > > > > > > > + device_type = "ethernet-phy"; > > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > > + reset-assert-us = <11000>; > > > > > > > + reset-deassert-us = <70000>; > > > > > > > + }; > > > > > > > +}; > > > > > > > -- > > > > > > > 2.47.0 > > > > > > > > > > > > > > > > > > > -- > > > > > > With best wishes > > > > > > Dmitry > > > > > > > > > > > > > > > Thanks & Regards, > > > > > Wasim > > > > > > > > -- > > > > With best wishes > > > > Dmitry > > > > > > > > > Thanks & Regards, > > > Wasim > > > > -- > > With best wishes > > Dmitry > > Thanks & Regards, > Wasim
On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > subsystem which is available in QCS9100, and it affects thermal > management. > > Also, between ride and ride-r3 ethernet phy is different. > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > This commit message is written under the assumption that the reader first reads the patch, to determine what QCS9075 subtracts features from. Please describe what the QCS9075 Ride and Ride R3 are, if it's just a variant of QCS9100 without SAIL, write that - and if that is all the difference, then Dmitry's request makes total sense. Also, subject prefix doesn't match upstream style. Prefix with the subsystem/platform/device and avoid "for XYZ". See "git log" on a few of the other files to see how it should look like. Thanks, Bjorn > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > 3 files changed, 94 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 78613a1bd34a..41cb2bbd3472 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > new file mode 100644 > index 000000000000..d9a8956d3a76 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "2500base-x"; > +}; > + > +ðernet1 { > + phy-mode = "2500base-x"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@0 { > + compatible = "ethernet-phy-id31c3.1c33"; > + reg = <0x0>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > new file mode 100644 > index 000000000000..3b524359a72d > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > @@ -0,0 +1,46 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include "sa8775p-ride.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > +}; > + > +ðernet0 { > + phy-mode = "sgmii"; > +}; > + > +ðernet1 { > + phy-mode = "sgmii"; > +}; > + > +&mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sgmii_phy0: phy@8 { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0x8>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > + > + sgmii_phy1: phy@a { > + compatible = "ethernet-phy-id0141.0dd4"; > + reg = <0xa>; > + device_type = "ethernet-phy"; > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > + reset-assert-us = <11000>; > + reset-deassert-us = <70000>; > + }; > +}; > -- > 2.47.0 >
On 03/01/2025 20:58, Dmitry Baryshkov wrote: >>>>>> Initially, we included the DTS [1] file to avoid duplication. However, >>>>>> based on Krzysztof's previous suggestion [2], we change to this format. >>>>>> >>>>>> Please let us know how to proceed further on this. >>>>> >>>>> Krzysztof asked you to include DTSI files instead of including DTS >>>>> files. Hope this helps. >>>> >>>> Are you suggesting that we should also modify the 9100-ride files to >>>> include DTSI instead of DTS for consistency between QCS9100 and QCS9075? >>>> However, this would result in the duplication of Ethernet nodes in all >>>> the ride board files. Would that be acceptable? >>> >>> git mv foo.dts foo.dtsi >>> echo '#include "foo.dtsi"' > foo.dts >>> git add foo.dts >>> git commit >>> >> >> We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as >> they represent different platforms. In patch [1], we included these DTS >> files to reuse the common hardware nodes. >> >> Could you please advise on how we should proceed with the following >> approaches? >> >> a) Previous approach [1]: >> Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride >> platform DTS, similar to the qcs9100-ride platform DTS. This approach >> avoids duplicating Ethernet nodes and maintains uniformity. However, it >> involves including the DTS file directly. >> >> b) Current suggestion: >> Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also >> modify the qcs9100-ride platform DTS files to maintain uniformity. This >> approach results in duplicating Ethernet nodes. >> >> Please let us know your recommendation to finalize the DT structure. > > sa8775p.dtsi > `__sa8775p-ride.dtsi > `__sa8775p-ride-r2.dtsi > `__sa8775p-ride.dts > `__qcs9100-ride.dts > `__qcs9075-ride.dts > `__sa8775p-ride-r3.dtsi > `__sa8775p-ride-r3.dts > `__qcs9100-ride-r3.dts > `__qcs9075-ride-r3.dts > Wasim and all other copy-pasters of sa8775p-ride, Just to recap, qcs9100 contributions started this terrible pattern of board including a board. Unfortunately qcs9100 was merged, so that ship has sailed. This patchset was going the same way, because poor choices like to keep spreading, but at one of previous versions I noticed it and objected. This v5 however solves above problem by duplicating the nodes. Apparently all these designs - sa8755p, qcs9100 and qcs9075 - use the same board, but none of this was communicated. I checked all the commit msgs in this patchset and nothing explained about it. What annoys me is that you do not communicate your design forcing us to accept poor DTS or forcing us to guess and make poor judgments. Come with proper hardware description and split out shared parts, like motherboard. Look how other vendors are doing it, e.g. NXP or Renesas. But assuming there are shared parts because I am pretty sure you will pick my comments when it suits you without actually following them fully and without understanding and explaining to us your own hardware. Best regards, Krzysztof
On Mon, Jan 06, 2025 at 05:59:01PM -0600, Bjorn Andersson wrote: > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > subsystem which is available in QCS9100, and it affects thermal > > management. > > > > Also, between ride and ride-r3 ethernet phy is different. > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > This commit message is written under the assumption that the reader > first reads the patch, to determine what QCS9075 subtracts features > from. > > Please describe what the QCS9075 Ride and Ride R3 are, if it's just a > variant of QCS9100 without SAIL, write that - and if that is all the > difference, then Dmitry's request makes total sense. > 9075 is not derived from 9100 but from 8775, though difference between 9075 & 9100 is only SAIL. And in commit message I have tried to add details to differentiate between 9075 & 9100 and most importantly to highlight why we need sperate DT for 9075. Will add more details in commit message instead of adding it in cover-letter. Also, I am convinced to proceed with Dmitry's approach to structure the DT. > > Also, subject prefix doesn't match upstream style. Prefix with the > subsystem/platform/device and avoid "for XYZ". See "git log" on a few > of the other files to see how it should look like. Sure will change this accordingly. > > Thanks, > Bjorn > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > --- > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > 3 files changed, 94 insertions(+) > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > index 78613a1bd34a..41cb2bbd3472 100644 > > --- a/arch/arm64/boot/dts/qcom/Makefile > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > new file mode 100644 > > index 000000000000..d9a8956d3a76 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > @@ -0,0 +1,46 @@ > > +// SPDX-License-Identifier: BSD-3-Clause > > +/* > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > + */ > > +/dts-v1/; > > + > > +#include "sa8775p-ride.dtsi" > > + > > +/ { > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > +}; > > + > > +ðernet0 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +ðernet1 { > > + phy-mode = "2500base-x"; > > +}; > > + > > +&mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + sgmii_phy0: phy@8 { > > + compatible = "ethernet-phy-id31c3.1c33"; > > + reg = <0x8>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > + > > + sgmii_phy1: phy@0 { > > + compatible = "ethernet-phy-id31c3.1c33"; > > + reg = <0x0>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > +}; > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > new file mode 100644 > > index 000000000000..3b524359a72d > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > @@ -0,0 +1,46 @@ > > +// SPDX-License-Identifier: BSD-3-Clause > > +/* > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > + */ > > +/dts-v1/; > > + > > +#include "sa8775p-ride.dtsi" > > + > > +/ { > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > +}; > > + > > +ðernet0 { > > + phy-mode = "sgmii"; > > +}; > > + > > +ðernet1 { > > + phy-mode = "sgmii"; > > +}; > > + > > +&mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + sgmii_phy0: phy@8 { > > + compatible = "ethernet-phy-id0141.0dd4"; > > + reg = <0x8>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > + > > + sgmii_phy1: phy@a { > > + compatible = "ethernet-phy-id0141.0dd4"; > > + reg = <0xa>; > > + device_type = "ethernet-phy"; > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <11000>; > > + reset-deassert-us = <70000>; > > + }; > > +}; > > -- > > 2.47.0 > > Thanks & Regards, Wasim
On Fri, Jan 03, 2025 at 09:58:40PM +0200, Dmitry Baryshkov wrote: > On Sat, Jan 04, 2025 at 12:29:07AM +0530, Wasim Nazir wrote: > > On Fri, Jan 03, 2025 at 12:31:55PM +0200, Dmitry Baryshkov wrote: > > > On Fri, Jan 03, 2025 at 12:37:50PM +0530, Wasim Nazir wrote: > > > > On Fri, Jan 03, 2025 at 07:50:43AM +0200, Dmitry Baryshkov wrote: > > > > > On Thu, Jan 02, 2025 at 02:37:39PM +0530, Wasim Nazir wrote: > > > > > > On Mon, Dec 30, 2024 at 05:45:39PM +0200, Dmitry Baryshkov wrote: > > > > > > > On Sun, Dec 29, 2024 at 08:53:31PM +0530, Wasim Nazir wrote: > > > > > > > > Add device tree support for QCS9075 Ride & Ride-r3 boards. > > > > > > > > > > > > > > > > QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) > > > > > > > > subsystem which is available in QCS9100, and it affects thermal > > > > > > > > management. > > > > > > > > > > > > > > > > Also, between ride and ride-r3 ethernet phy is different. > > > > > > > > Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. > > > > > > > > > > > > > > Your board files duplicate sa8775p-ride-r3.dts and sa8775p-ride.dts, but > > > > > > > include them. Existing qcs9100-ride-r3.dts and qcs9100-ride-r3.dts just > > > > > > > include corresponding SA8775P files. > > > > > > > > > > > > > > This is not ideal for the following reasons: > > > > > > > - The approach is not uniform (between QCS9100 and QCS9075), which might > > > > > > > lead to mistakes. > > > > > > > - The approach ends up duplicating DT code unnecessarily, which can lead > > > > > > > to issues being patches in the one board file, but not in the other > > > > > > > file. > > > > > > > > > > > > > > If there are any reasons why you want to follow this approach, they must > > > > > > > be a part of the commit message. > > > > > > > > > > > > > > > > > > > Hi Dmitry, > > > > > > > > > > > > Initially, we included the DTS [1] file to avoid duplication. However, > > > > > > based on Krzysztof's previous suggestion [2], we change to this format. > > > > > > > > > > > > Please let us know how to proceed further on this. > > > > > > > > > > Krzysztof asked you to include DTSI files instead of including DTS > > > > > files. Hope this helps. > > > > > > > > Are you suggesting that we should also modify the 9100-ride files to > > > > include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > > > > However, this would result in the duplication of Ethernet nodes in all > > > > the ride board files. Would that be acceptable? > > > > > > git mv foo.dts foo.dtsi > > > echo '#include "foo.dtsi"' > foo.dts > > > git add foo.dts > > > git commit > > > > > > > We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as > > they represent different platforms. In patch [1], we included these DTS > > files to reuse the common hardware nodes. > > > > Could you please advise on how we should proceed with the following > > approaches? > > > > a) Previous approach [1]: > > Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride > > platform DTS, similar to the qcs9100-ride platform DTS. This approach > > avoids duplicating Ethernet nodes and maintains uniformity. However, it > > involves including the DTS file directly. > > > > b) Current suggestion: > > Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also > > modify the qcs9100-ride platform DTS files to maintain uniformity. This > > approach results in duplicating Ethernet nodes. > > > > Please let us know your recommendation to finalize the DT structure. > > sa8775p.dtsi > `__sa8775p-ride.dtsi > `__sa8775p-ride-r2.dtsi > `__sa8775p-ride.dts > `__qcs9100-ride.dts > `__qcs9075-ride.dts > `__sa8775p-ride-r3.dtsi > `__sa8775p-ride-r3.dts > `__qcs9100-ride-r3.dts > `__qcs9075-ride-r3.dts Thanks Dmitry, we need slight modification to the above structure as we don't have any ride-r2 boards, so we want to go ahead with this structure: sa8775p.dtsi `__sa8775p-ride-common.dtsi `__sa8775p-ride.dtsi `__sa8775p-ride.dts `__qcs9100-ride.dts `__qcs9075-ride.dts `__sa8775p-ride-r3.dtsi `__sa8775p-ride-r3.dts `__qcs9100-ride-r3.dts `__qcs9075-ride-r3.dts > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > > > > > > > > > > > > > > > > > > > > [1] https://lore.kernel.org/all/20241119174954.1219002-6-quic_wasimn@quicinc.com/ > > > > > > [2] https://lore.kernel.org/all/8cf9edc0-a0cb-4fd0-b10e-2138784dfba3@kernel.org/ > > > > > > > > > > > > > > > > > > > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > > > > > > > --- > > > > > > > > arch/arm64/boot/dts/qcom/Makefile | 2 + > > > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ > > > > > > > > arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ > > > > > > > > 3 files changed, 94 insertions(+) > > > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > > > > > > index 78613a1bd34a..41cb2bbd3472 100644 > > > > > > > > --- a/arch/arm64/boot/dts/qcom/Makefile > > > > > > > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > > > > > > > @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb > > > > > > > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > > > > > > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > > new file mode 100644 > > > > > > > > index 000000000000..d9a8956d3a76 > > > > > > > > --- /dev/null > > > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts > > > > > > > > @@ -0,0 +1,46 @@ > > > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > > > +/* > > > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > > > + */ > > > > > > > > +/dts-v1/; > > > > > > > > + > > > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > > > + > > > > > > > > +/ { > > > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; > > > > > > > > + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +ðernet0 { > > > > > > > > + phy-mode = "2500base-x"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +ðernet1 { > > > > > > > > + phy-mode = "2500base-x"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +&mdio { > > > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > > > + #address-cells = <1>; > > > > > > > > + #size-cells = <0>; > > > > > > > > + > > > > > > > > + sgmii_phy0: phy@8 { > > > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > > > + reg = <0x8>; > > > > > > > > + device_type = "ethernet-phy"; > > > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > > > + reset-assert-us = <11000>; > > > > > > > > + reset-deassert-us = <70000>; > > > > > > > > + }; > > > > > > > > + > > > > > > > > + sgmii_phy1: phy@0 { > > > > > > > > + compatible = "ethernet-phy-id31c3.1c33"; > > > > > > > > + reg = <0x0>; > > > > > > > > + device_type = "ethernet-phy"; > > > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > > > + reset-assert-us = <11000>; > > > > > > > > + reset-deassert-us = <70000>; > > > > > > > > + }; > > > > > > > > +}; > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > new file mode 100644 > > > > > > > > index 000000000000..3b524359a72d > > > > > > > > --- /dev/null > > > > > > > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts > > > > > > > > @@ -0,0 +1,46 @@ > > > > > > > > +// SPDX-License-Identifier: BSD-3-Clause > > > > > > > > +/* > > > > > > > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > > > > > > > + */ > > > > > > > > +/dts-v1/; > > > > > > > > + > > > > > > > > +#include "sa8775p-ride.dtsi" > > > > > > > > + > > > > > > > > +/ { > > > > > > > > + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; > > > > > > > > + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +ðernet0 { > > > > > > > > + phy-mode = "sgmii"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +ðernet1 { > > > > > > > > + phy-mode = "sgmii"; > > > > > > > > +}; > > > > > > > > + > > > > > > > > +&mdio { > > > > > > > > + compatible = "snps,dwmac-mdio"; > > > > > > > > + #address-cells = <1>; > > > > > > > > + #size-cells = <0>; > > > > > > > > + > > > > > > > > + sgmii_phy0: phy@8 { > > > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > > > + reg = <0x8>; > > > > > > > > + device_type = "ethernet-phy"; > > > > > > > > + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; > > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > > > > > > > > + reset-assert-us = <11000>; > > > > > > > > + reset-deassert-us = <70000>; > > > > > > > > + }; > > > > > > > > + > > > > > > > > + sgmii_phy1: phy@a { > > > > > > > > + compatible = "ethernet-phy-id0141.0dd4"; > > > > > > > > + reg = <0xa>; > > > > > > > > + device_type = "ethernet-phy"; > > > > > > > > + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; > > > > > > > > + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; > > > > > > > > + reset-assert-us = <11000>; > > > > > > > > + reset-deassert-us = <70000>; > > > > > > > > + }; > > > > > > > > +}; > > > > > > > > -- > > > > > > > > 2.47.0 > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > With best wishes > > > > > > > Dmitry > > > > > > > > > > > > > > > > > > Thanks & Regards, > > > > > > Wasim > > > > > > > > > > -- > > > > > With best wishes > > > > > Dmitry > > > > > > > > > > > > Thanks & Regards, > > > > Wasim > > > > > > -- > > > With best wishes > > > Dmitry > > > > Thanks & Regards, > > Wasim > > -- > With best wishes > Dmitry Thanks & Regards, Wasim
On Wed, Jan 08, 2025 at 03:09:09PM +0100, Krzysztof Kozlowski wrote: > On 03/01/2025 20:58, Dmitry Baryshkov wrote: > >>>>>> Initially, we included the DTS [1] file to avoid duplication. However, > >>>>>> based on Krzysztof's previous suggestion [2], we change to this format. > >>>>>> > >>>>>> Please let us know how to proceed further on this. > >>>>> > >>>>> Krzysztof asked you to include DTSI files instead of including DTS > >>>>> files. Hope this helps. > >>>> > >>>> Are you suggesting that we should also modify the 9100-ride files to > >>>> include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > >>>> However, this would result in the duplication of Ethernet nodes in all > >>>> the ride board files. Would that be acceptable? > >>> > >>> git mv foo.dts foo.dtsi > >>> echo '#include "foo.dtsi"' > foo.dts > >>> git add foo.dts > >>> git commit > >>> > >> > >> We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as > >> they represent different platforms. In patch [1], we included these DTS > >> files to reuse the common hardware nodes. > >> > >> Could you please advise on how we should proceed with the following > >> approaches? > >> > >> a) Previous approach [1]: > >> Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride > >> platform DTS, similar to the qcs9100-ride platform DTS. This approach > >> avoids duplicating Ethernet nodes and maintains uniformity. However, it > >> involves including the DTS file directly. > >> > >> b) Current suggestion: > >> Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also > >> modify the qcs9100-ride platform DTS files to maintain uniformity. This > >> approach results in duplicating Ethernet nodes. > >> > >> Please let us know your recommendation to finalize the DT structure. > > > > sa8775p.dtsi > > `__sa8775p-ride.dtsi > > `__sa8775p-ride-r2.dtsi > > `__sa8775p-ride.dts > > `__qcs9100-ride.dts > > `__qcs9075-ride.dts > > `__sa8775p-ride-r3.dtsi > > `__sa8775p-ride-r3.dts > > `__qcs9100-ride-r3.dts > > `__qcs9075-ride-r3.dts > > > Wasim and all other copy-pasters of sa8775p-ride, > > Just to recap, qcs9100 contributions started this terrible pattern of > board including a board. Unfortunately qcs9100 was merged, so that ship > has sailed. > > This patchset was going the same way, because poor choices like to keep > spreading, but at one of previous versions I noticed it and objected. > > This v5 however solves above problem by duplicating the nodes. > > Apparently all these designs - sa8755p, qcs9100 and qcs9075 - use the > same board, but none of this was communicated. I checked all the commit > msgs in this patchset and nothing explained about it. What annoys me is > that you do not communicate your design forcing us to accept poor DTS or > forcing us to guess and make poor judgments. > > Come with proper hardware description and split out shared parts, like > motherboard. Look how other vendors are doing it, e.g. NXP or Renesas. > But assuming there are shared parts because I am pretty sure you will > pick my comments when it suits you without actually following them fully > and without understanding and explaining to us your own hardware. > Hi Krzysztof, Here is the pictorial flow showing how SoCs are derived and what all boards are supported. +---------------------------------------------------------------------+ | | | sa8775p | | | | | +-----------------------+-----------------------+ | | | | | | | v | v | | qcs9100 | qcs9075 | | | | | | | v v v | | (IOT) (AUTO) (IOT) | | qcs9100-ride.dts sa8775p-ride.dts qcs9075-ride.dts | | qcs9100-ride-r3.dts sa8775p-ride-r3.dts qcs9075-ride-r3.dts | | qcs9075-rb8.dts | | | +---------------------------------------------------------------------+ Although we included details about the QCS9075 and QCS9100 in the cover letter and commit message, explaining their differences and common origin from the SA8775P SOC, the new DT structure suggested by Dmitry should make things clearer. This structure properly splits common parts and enhances reusability. > Best regards, > Krzysztof Thanks & Regards, Wasim
On Thu, Jan 09, 2025 at 08:17:54PM +0530, Wasim Nazir wrote: > On Wed, Jan 08, 2025 at 03:09:09PM +0100, Krzysztof Kozlowski wrote: > > On 03/01/2025 20:58, Dmitry Baryshkov wrote: > > >>>>>> Initially, we included the DTS [1] file to avoid duplication. However, > > >>>>>> based on Krzysztof's previous suggestion [2], we change to this format. > > >>>>>> > > >>>>>> Please let us know how to proceed further on this. > > >>>>> > > >>>>> Krzysztof asked you to include DTSI files instead of including DTS > > >>>>> files. Hope this helps. > > >>>> > > >>>> Are you suggesting that we should also modify the 9100-ride files to > > >>>> include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > > >>>> However, this would result in the duplication of Ethernet nodes in all > > >>>> the ride board files. Would that be acceptable? > > >>> > > >>> git mv foo.dts foo.dtsi > > >>> echo '#include "foo.dtsi"' > foo.dts > > >>> git add foo.dts > > >>> git commit > > >>> > > >> > > >> We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as > > >> they represent different platforms. In patch [1], we included these DTS > > >> files to reuse the common hardware nodes. > > >> > > >> Could you please advise on how we should proceed with the following > > >> approaches? > > >> > > >> a) Previous approach [1]: > > >> Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride > > >> platform DTS, similar to the qcs9100-ride platform DTS. This approach > > >> avoids duplicating Ethernet nodes and maintains uniformity. However, it > > >> involves including the DTS file directly. > > >> > > >> b) Current suggestion: > > >> Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also > > >> modify the qcs9100-ride platform DTS files to maintain uniformity. This > > >> approach results in duplicating Ethernet nodes. > > >> > > >> Please let us know your recommendation to finalize the DT structure. > > > > > > sa8775p.dtsi > > > `__sa8775p-ride.dtsi > > > `__sa8775p-ride-r2.dtsi > > > `__sa8775p-ride.dts > > > `__qcs9100-ride.dts > > > `__qcs9075-ride.dts > > > `__sa8775p-ride-r3.dtsi > > > `__sa8775p-ride-r3.dts > > > `__qcs9100-ride-r3.dts > > > `__qcs9075-ride-r3.dts > > > > > Wasim and all other copy-pasters of sa8775p-ride, > > > > Just to recap, qcs9100 contributions started this terrible pattern of > > board including a board. Unfortunately qcs9100 was merged, so that ship > > has sailed. > > > > This patchset was going the same way, because poor choices like to keep > > spreading, but at one of previous versions I noticed it and objected. > > > > This v5 however solves above problem by duplicating the nodes. > > > > Apparently all these designs - sa8755p, qcs9100 and qcs9075 - use the > > same board, but none of this was communicated. I checked all the commit > > msgs in this patchset and nothing explained about it. What annoys me is > > that you do not communicate your design forcing us to accept poor DTS or > > forcing us to guess and make poor judgments. > > > > Come with proper hardware description and split out shared parts, like > > motherboard. Look how other vendors are doing it, e.g. NXP or Renesas. > > But assuming there are shared parts because I am pretty sure you will > > pick my comments when it suits you without actually following them fully > > and without understanding and explaining to us your own hardware. > > > > Hi Krzysztof, > > Here is the pictorial flow showing how SoCs are derived and what all boards > are supported. > +-----------------------------------------------------------------------+ | | | sa8775p | | | | | +-----------------------+-----------------------+ | | | | | | | v | v | | qcs9100 | qcs9075 | | | | | | | v v v | | (IOT) (AUTO) (IOT) | | qcs9100-ride.dts sa8775p-ride.dts qcs9075-ride.dts | | qcs9100-ride-r3.dts sa8775p-ride-r3.dts qcs9075-ride-r3.dts | | qcs9075-rb8.dts | | | +-----------------------------------------------------------------------+ Updating it as previous one is messed up with whitespaces. > > Although we included details about the QCS9075 and QCS9100 in the cover > letter and commit message, explaining their differences and common > origin from the SA8775P SOC, the new DT structure suggested by Dmitry > should make things clearer. This structure properly splits common parts > and enhances reusability. > > > Best regards, > > Krzysztof > > Thanks & Regards, > Wasim
On 09/01/2025 15:47, Wasim Nazir wrote: > On Wed, Jan 08, 2025 at 03:09:09PM +0100, Krzysztof Kozlowski wrote: >> On 03/01/2025 20:58, Dmitry Baryshkov wrote: >>>>>>>> Initially, we included the DTS [1] file to avoid duplication. However, >>>>>>>> based on Krzysztof's previous suggestion [2], we change to this format. >>>>>>>> >>>>>>>> Please let us know how to proceed further on this. >>>>>>> >>>>>>> Krzysztof asked you to include DTSI files instead of including DTS >>>>>>> files. Hope this helps. >>>>>> >>>>>> Are you suggesting that we should also modify the 9100-ride files to >>>>>> include DTSI instead of DTS for consistency between QCS9100 and QCS9075? >>>>>> However, this would result in the duplication of Ethernet nodes in all >>>>>> the ride board files. Would that be acceptable? >>>>> >>>>> git mv foo.dts foo.dtsi >>>>> echo '#include "foo.dtsi"' > foo.dts >>>>> git add foo.dts >>>>> git commit >>>>> >>>> >>>> We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as >>>> they represent different platforms. In patch [1], we included these DTS >>>> files to reuse the common hardware nodes. >>>> >>>> Could you please advise on how we should proceed with the following >>>> approaches? >>>> >>>> a) Previous approach [1]: >>>> Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride >>>> platform DTS, similar to the qcs9100-ride platform DTS. This approach >>>> avoids duplicating Ethernet nodes and maintains uniformity. However, it >>>> involves including the DTS file directly. >>>> >>>> b) Current suggestion: >>>> Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also >>>> modify the qcs9100-ride platform DTS files to maintain uniformity. This >>>> approach results in duplicating Ethernet nodes. >>>> >>>> Please let us know your recommendation to finalize the DT structure. >>> >>> sa8775p.dtsi >>> `__sa8775p-ride.dtsi >>> `__sa8775p-ride-r2.dtsi >>> `__sa8775p-ride.dts >>> `__qcs9100-ride.dts >>> `__qcs9075-ride.dts >>> `__sa8775p-ride-r3.dtsi >>> `__sa8775p-ride-r3.dts >>> `__qcs9100-ride-r3.dts >>> `__qcs9075-ride-r3.dts >>> >> Wasim and all other copy-pasters of sa8775p-ride, >> >> Just to recap, qcs9100 contributions started this terrible pattern of >> board including a board. Unfortunately qcs9100 was merged, so that ship >> has sailed. >> >> This patchset was going the same way, because poor choices like to keep >> spreading, but at one of previous versions I noticed it and objected. >> >> This v5 however solves above problem by duplicating the nodes. >> >> Apparently all these designs - sa8755p, qcs9100 and qcs9075 - use the >> same board, but none of this was communicated. I checked all the commit >> msgs in this patchset and nothing explained about it. What annoys me is >> that you do not communicate your design forcing us to accept poor DTS or >> forcing us to guess and make poor judgments. >> >> Come with proper hardware description and split out shared parts, like >> motherboard. Look how other vendors are doing it, e.g. NXP or Renesas. >> But assuming there are shared parts because I am pretty sure you will >> pick my comments when it suits you without actually following them fully >> and without understanding and explaining to us your own hardware. >> > > Hi Krzysztof, > > Here is the pictorial flow showing how SoCs are derived and what all boards > are supported. > > +---------------------------------------------------------------------+ > | | > | sa8775p | > | | | > | +-----------------------+-----------------------+ | > | | | | | > | v | v | > | qcs9100 | qcs9075 | > | | | | | > | v v v | > | (IOT) (AUTO) (IOT) | > | qcs9100-ride.dts sa8775p-ride.dts qcs9075-ride.dts | > | qcs9100-ride-r3.dts sa8775p-ride-r3.dts qcs9075-ride-r3.dts | > | qcs9075-rb8.dts | > | | > +---------------------------------------------------------------------+ The the SoC, I am asking about the board. Why each of them is for example r3? So this is not sufficient explanation, nothing about the board, and again just look Renesas and NXP. Best regards, Krzysztof
On Thu, Jan 09, 2025 at 05:16:25PM +0100, Krzysztof Kozlowski wrote: > On 09/01/2025 15:47, Wasim Nazir wrote: > > On Wed, Jan 08, 2025 at 03:09:09PM +0100, Krzysztof Kozlowski wrote: > >> On 03/01/2025 20:58, Dmitry Baryshkov wrote: > >>>>>>>> Initially, we included the DTS [1] file to avoid duplication. However, > >>>>>>>> based on Krzysztof's previous suggestion [2], we change to this format. > >>>>>>>> > >>>>>>>> Please let us know how to proceed further on this. > >>>>>>> > >>>>>>> Krzysztof asked you to include DTSI files instead of including DTS > >>>>>>> files. Hope this helps. > >>>>>> > >>>>>> Are you suggesting that we should also modify the 9100-ride files to > >>>>>> include DTSI instead of DTS for consistency between QCS9100 and QCS9075? > >>>>>> However, this would result in the duplication of Ethernet nodes in all > >>>>>> the ride board files. Would that be acceptable? > >>>>> > >>>>> git mv foo.dts foo.dtsi > >>>>> echo '#include "foo.dtsi"' > foo.dts > >>>>> git add foo.dts > >>>>> git commit > >>>>> > >>>> > >>>> We cannot convert sa8775p-ride-r3.dts and sa8775p-ride.dts to .dtsi as > >>>> they represent different platforms. In patch [1], we included these DTS > >>>> files to reuse the common hardware nodes. > >>>> > >>>> Could you please advise on how we should proceed with the following > >>>> approaches? > >>>> > >>>> a) Previous approach [1]: > >>>> Include sa8775p-ride-r3.dts and sa8775p-ride.dts in the qcs9075-ride > >>>> platform DTS, similar to the qcs9100-ride platform DTS. This approach > >>>> avoids duplicating Ethernet nodes and maintains uniformity. However, it > >>>> involves including the DTS file directly. > >>>> > >>>> b) Current suggestion: > >>>> Include sa8775p-ride.dtsi in the qcs9075-ride platform DTS and also > >>>> modify the qcs9100-ride platform DTS files to maintain uniformity. This > >>>> approach results in duplicating Ethernet nodes. > >>>> > >>>> Please let us know your recommendation to finalize the DT structure. > >>> > >>> sa8775p.dtsi > >>> `__sa8775p-ride.dtsi > >>> `__sa8775p-ride-r2.dtsi > >>> `__sa8775p-ride.dts > >>> `__qcs9100-ride.dts > >>> `__qcs9075-ride.dts > >>> `__sa8775p-ride-r3.dtsi > >>> `__sa8775p-ride-r3.dts > >>> `__qcs9100-ride-r3.dts > >>> `__qcs9075-ride-r3.dts > >>> > >> Wasim and all other copy-pasters of sa8775p-ride, > >> > >> Just to recap, qcs9100 contributions started this terrible pattern of > >> board including a board. Unfortunately qcs9100 was merged, so that ship > >> has sailed. > >> > >> This patchset was going the same way, because poor choices like to keep > >> spreading, but at one of previous versions I noticed it and objected. > >> > >> This v5 however solves above problem by duplicating the nodes. > >> > >> Apparently all these designs - sa8755p, qcs9100 and qcs9075 - use the > >> same board, but none of this was communicated. I checked all the commit > >> msgs in this patchset and nothing explained about it. What annoys me is > >> that you do not communicate your design forcing us to accept poor DTS or > >> forcing us to guess and make poor judgments. > >> > >> Come with proper hardware description and split out shared parts, like > >> motherboard. Look how other vendors are doing it, e.g. NXP or Renesas. > >> But assuming there are shared parts because I am pretty sure you will > >> pick my comments when it suits you without actually following them fully > >> and without understanding and explaining to us your own hardware. > >> > > > > Hi Krzysztof, > > > > Here is the pictorial flow showing how SoCs are derived and what all boards > > are supported. > > > > +---------------------------------------------------------------------+ > > | | > > | sa8775p | > > | | | > > | +-----------------------+-----------------------+ | > > | | | | | > > | v | v | > > | qcs9100 | qcs9075 | > > | | | | | > > | v v v | > > | (IOT) (AUTO) (IOT) | > > | qcs9100-ride.dts sa8775p-ride.dts qcs9075-ride.dts | > > | qcs9100-ride-r3.dts sa8775p-ride-r3.dts qcs9075-ride-r3.dts | > > | qcs9075-rb8.dts | > > | | > > +---------------------------------------------------------------------+ > > The the SoC, I am asking about the board. Why each of them is for > example r3? > > So this is not sufficient explanation, nothing about the board, and > again just look Renesas and NXP. > Hi Krzysztof, sa8775p(AUTO), qcs9100(IOT), qcs9075(IOT) are different SoCs based on safety capabilities and memory map, serving different purpose. Ride & Ride-r3 are different boards based on ethernet capabilities and are compatible with all the SoCs mentioned. With the combination of these 3 SoCs and 2 boards, we have 6 platforms, all of which we need. - sa8775p-ride.dts is auto grade Ride platform with safety feature. - qcs9100-ride.dts is IOT grade Ride platform with safety feature. - qcs9075-ride.dts is IOT grade Ride platform without safety feature. Since the Ride-r3 boards are essentially Ride boards with Ethernet modifications, we can convert the Ride-r3 DTS to overlays. Please let me know if this solution works for you. > > Best regards, > Krzysztof Thanks & Regards, Wasim
On 15/01/2025 06:48, Wasim Nazir wrote: >> The the SoC, I am asking about the board. Why each of them is for >> example r3? >> >> So this is not sufficient explanation, nothing about the board, and >> again just look Renesas and NXP. >> > > Hi Krzysztof, > > sa8775p(AUTO), qcs9100(IOT), qcs9075(IOT) are different SoCs based on > safety capabilities and memory map, serving different purpose. > Ride & Ride-r3 are different boards based on ethernet capabilities and > are compatible with all the SoCs mentioned. Compatible? What does it mean for a board? Third time: did you look how other vendors do it? > > With the combination of these 3 SoCs and 2 boards, we have 6 platforms, > all of which we need. > - sa8775p-ride.dts is auto grade Ride platform with safety feature. > - qcs9100-ride.dts is IOT grade Ride platform with safety feature. > - qcs9075-ride.dts is IOT grade Ride platform without safety feature. > > Since the Ride-r3 boards are essentially Ride boards with Ethernet > modifications, we can convert the Ride-r3 DTS to overlays. How one board can be with multiple SoCs? If it is soldered, it's close to impossible - that's just not the same board. If it is not soldered, why you are not explaining it? What is Ride board? What is there? What can go there? How it can be used in other SoCs? Or for which SoCs? Is there a datasheet available? You keep repeating my about SoC and I keep responding the same: don't care. Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 78613a1bd34a..41cb2bbd3472 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride.dtb +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-ride-r3.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts new file mode 100644 index 000000000000..d9a8956d3a76 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include "sa8775p-ride.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. QCS9075 Ride Rev3"; + compatible = "qcom,qcs9075-ride-r3", "qcom,qcs9075", "qcom,sa8775p"; +}; + +ðernet0 { + phy-mode = "2500base-x"; +}; + +ðernet1 { + phy-mode = "2500base-x"; +}; + +&mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + sgmii_phy0: phy@8 { + compatible = "ethernet-phy-id31c3.1c33"; + reg = <0x8>; + device_type = "ethernet-phy"; + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; + reset-assert-us = <11000>; + reset-deassert-us = <70000>; + }; + + sgmii_phy1: phy@0 { + compatible = "ethernet-phy-id31c3.1c33"; + reg = <0x0>; + device_type = "ethernet-phy"; + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; + reset-assert-us = <11000>; + reset-deassert-us = <70000>; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/qcs9075-ride.dts b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts new file mode 100644 index 000000000000..3b524359a72d --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs9075-ride.dts @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include "sa8775p-ride.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. QCS9075 Ride"; + compatible = "qcom,qcs9075-ride", "qcom,qcs9075", "qcom,sa8775p"; +}; + +ðernet0 { + phy-mode = "sgmii"; +}; + +ðernet1 { + phy-mode = "sgmii"; +}; + +&mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + sgmii_phy0: phy@8 { + compatible = "ethernet-phy-id0141.0dd4"; + reg = <0x8>; + device_type = "ethernet-phy"; + interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; + reset-assert-us = <11000>; + reset-deassert-us = <70000>; + }; + + sgmii_phy1: phy@a { + compatible = "ethernet-phy-id0141.0dd4"; + reg = <0xa>; + device_type = "ethernet-phy"; + interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>; + reset-assert-us = <11000>; + reset-deassert-us = <70000>; + }; +};
Add device tree support for QCS9075 Ride & Ride-r3 boards. QCS9075 lacks the safety monitoring features of Safety-Island (SAIL) subsystem which is available in QCS9100, and it affects thermal management. Also, between ride and ride-r3 ethernet phy is different. Ride uses 1G ethernet phy while ride-r3 uses 2.5G ethernet phy. Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> --- arch/arm64/boot/dts/qcom/Makefile | 2 + arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts | 46 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/qcs9075-ride.dts | 46 ++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride-r3.dts create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-ride.dts -- 2.47.0