Message ID | 20241101-am64-hb-fix-overlay-v1-1-080b98b057b6@solid-run.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: ti: k3-am642-hummingboard-t: convert overlay to board dts | expand |
Am 01.11.24 um 15:16 schrieb Josua Mayer: > SolidRun HummingBoard-T has two options for M.2 connector, supporting > either PCI-E or USB-3.1 Gen 1 - depending on configuration of a mux > on the serdes lane. > The required configurations in device-tree were modeled as overlays. > > The USB-3.1 overlay uses /delete-property/ to unset a boolean property > on the usb controller limiting it to USB-2.0 by default. > Overlays can not delete a property from the base dtb, therefore this > overlay is at this time useless. > > Convert both overlays into full dts by including the base board dts. > While the pcie overlay was functional, both are converted for a > consistent user experience when selecting between the two mutually > exclusive configurations. > > Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> > Closes: https://lore.kernel.org/linux-devicetree/CAMuHMdXTgpTnJ9U7egC2XjFXXNZ5uiY1O+WxNd6LPJW5Rs5KTw@mail.gmail.com > Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3") > Signed-off-by: Josua Mayer <josua@solid-run.com> > --- > arch/arm64/boot/dts/ti/Makefile | 4 ---- > ...gboard-t-pcie.dtso => k3-am642-hummingboard-t-pcie.dts} | 14 ++++++++------ > ...gboard-t-usb3.dtso => k3-am642-hummingboard-t-usb3.dts} | 13 ++++++++----- > 3 files changed, 16 insertions(+), 15 deletions(-) > Please hold off on this patch for the moment, Thanks to some comments from Geert I wish to submit an alternative solution via separate patch-set, for further discussion.
Hi Josua, On Tue, Nov 12, 2024 at 6:05 AM Josua Mayer <josua@solid-run.com> wrote: > Am 01.11.24 um 15:16 schrieb Josua Mayer: > > SolidRun HummingBoard-T has two options for M.2 connector, supporting > > either PCI-E or USB-3.1 Gen 1 - depending on configuration of a mux > > on the serdes lane. > > The required configurations in device-tree were modeled as overlays. > > > > The USB-3.1 overlay uses /delete-property/ to unset a boolean property > > on the usb controller limiting it to USB-2.0 by default. > > Overlays can not delete a property from the base dtb, therefore this > > overlay is at this time useless. > > > > Convert both overlays into full dts by including the base board dts. > > While the pcie overlay was functional, both are converted for a > > consistent user experience when selecting between the two mutually > > exclusive configurations. > > > > Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> > > Closes: https://lore.kernel.org/linux-devicetree/CAMuHMdXTgpTnJ9U7egC2XjFXXNZ5uiY1O+WxNd6LPJW5Rs5KTw@mail.gmail.com > > Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3") > > Signed-off-by: Josua Mayer <josua@solid-run.com> > > --- > > arch/arm64/boot/dts/ti/Makefile | 4 ---- > > ...gboard-t-pcie.dtso => k3-am642-hummingboard-t-pcie.dts} | 14 ++++++++------ > > ...gboard-t-usb3.dtso => k3-am642-hummingboard-t-usb3.dts} | 13 ++++++++----- > > 3 files changed, 16 insertions(+), 15 deletions(-) > > > Please hold off on this patch for the moment, > Thanks to some comments from Geert I wish to submit an alternative > solution via separate patch-set, for further discussion. As you state in the other patch set "I do not consider it ready for current merge window", it may be worthwhile to not hold off? It can always be reverted whenif the alternative solution is accepted. Gr{oetje,eeting}s, Geert
Am 12.11.24 um 10:21 schrieb Geert Uytterhoeven: > Hi Josua, > > On Tue, Nov 12, 2024 at 6:05 AM Josua Mayer <josua@solid-run.com> wrote: >> Am 01.11.24 um 15:16 schrieb Josua Mayer: >>> SolidRun HummingBoard-T has two options for M.2 connector, supporting >>> either PCI-E or USB-3.1 Gen 1 - depending on configuration of a mux >>> on the serdes lane. >>> The required configurations in device-tree were modeled as overlays. >>> >>> The USB-3.1 overlay uses /delete-property/ to unset a boolean property >>> on the usb controller limiting it to USB-2.0 by default. >>> Overlays can not delete a property from the base dtb, therefore this >>> overlay is at this time useless. >>> >>> Convert both overlays into full dts by including the base board dts. >>> While the pcie overlay was functional, both are converted for a >>> consistent user experience when selecting between the two mutually >>> exclusive configurations. >>> >>> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> >>> Closes: https://lore.kernel.org/linux-devicetree/CAMuHMdXTgpTnJ9U7egC2XjFXXNZ5uiY1O+WxNd6LPJW5Rs5KTw@mail.gmail.com >>> Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3") >>> Signed-off-by: Josua Mayer <josua@solid-run.com> >>> --- >>> arch/arm64/boot/dts/ti/Makefile | 4 ---- >>> ...gboard-t-pcie.dtso => k3-am642-hummingboard-t-pcie.dts} | 14 ++++++++------ >>> ...gboard-t-usb3.dtso => k3-am642-hummingboard-t-usb3.dts} | 13 ++++++++----- >>> 3 files changed, 16 insertions(+), 15 deletions(-) >>> >> Please hold off on this patch for the moment, >> Thanks to some comments from Geert I wish to submit an alternative >> solution via separate patch-set, for further discussion. > As you state in the other patch set "I do not consider it ready for > current merge window", it may be worthwhile to not hold off? > It can always be reverted whenif the alternative solution is accepted. From my side it is not a high priority to solve the usb3 function, I am more worried for the difference in how a user(space) or bootloader will select the correct file during boot. Right now even though pcie and usb3 variants are overlays, "make" generates standalone dtb for each. Should distros expect to have a .dtb for each combination of overlays on a particular board? E.g. imagine if there was also an overlay reassigning ethernet port, then we have 4 combinations. Alternatively expectation can be that the bootloader collects overlays, and applies them as needed before boot on top of a base dtb. This is relevant e.g. as Debian uses the "model" property to identify the correct dtb file and copy it to /boot. I added "model" fields in this patch-set to allow differentiation. But once the boolean issue will be fixed, and the change reverted, A distro may have already chosen the usb3 or pcie variants as base dtb I would prefer to hold off on this patch-set until other options have been explored fully. . sincerely Josua Mayer
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index bcd392c3206e50a0b4082118fd13c3a7a0c1d291..562e6d57bc9919393920afe684a61a8ab58dcc21 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -41,10 +41,6 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-imx219.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-hdmi-audio.dtbo # Boards with AM64x SoC -k3-am642-hummingboard-t-pcie-dtbs := \ - k3-am642-hummingboard-t.dtb k3-am642-hummingboard-t-pcie.dtbo -k3-am642-hummingboard-t-usb3-dtbs := \ - k3-am642-hummingboard-t.dtb k3-am642-hummingboard-t-usb3.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-icssg1-dualemac.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-icssg1-dualemac-mii.dtbo diff --git a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dtso b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dts similarity index 78% rename from arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dtso rename to arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dts index bd9a5caf20da5b7f11266575f69f0f5dcc1a47ae..023b2a6aaa56689f712a6c1ede6ba427d746fe34 100644 --- a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dtso +++ b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-pcie.dts @@ -2,17 +2,19 @@ /* * Copyright (C) 2023 Josua Mayer <josua@solid-run.com> * - * Overlay for SolidRun AM642 HummingBoard-T to enable PCI-E. + * DTS for SolidRun AM642 HummingBoard-T, + * running on Cortex A53, with PCI-E. + * */ -/dts-v1/; -/plugin/; - -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/phy/phy.h> +#include "k3-am642-hummingboard-t.dts" #include "k3-serdes.h" +/ { + model = "SolidRun AM642 HummingBoard-T with PCI-E"; +}; + &pcie0_rc { pinctrl-names = "default"; pinctrl-0 = <&pcie0_default_pins>; diff --git a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dtso b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts similarity index 74% rename from arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dtso rename to arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts index ffcc3bd3c7bc5d47ce9926a95a13af3f61182a2b..ee9bd618f3701047be4ac7502cb70e7d3589ff5d 100644 --- a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dtso +++ b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts @@ -2,16 +2,19 @@ /* * Copyright (C) 2023 Josua Mayer <josua@solid-run.com> * - * Overlay for SolidRun AM642 HummingBoard-T to enable USB-3.1. + * DTS for SolidRun AM642 HummingBoard-T, + * running on Cortex A53, with USB-3.1 Gen 1. + * */ -/dts-v1/; -/plugin/; - -#include <dt-bindings/phy/phy.h> +#include "k3-am642-hummingboard-t.dts" #include "k3-serdes.h" +/ { + model = "SolidRun AM642 HummingBoard-T with USB-3.1 Gen 1"; +}; + &serdes0 { #address-cells = <1>; #size-cells = <0>;
SolidRun HummingBoard-T has two options for M.2 connector, supporting either PCI-E or USB-3.1 Gen 1 - depending on configuration of a mux on the serdes lane. The required configurations in device-tree were modeled as overlays. The USB-3.1 overlay uses /delete-property/ to unset a boolean property on the usb controller limiting it to USB-2.0 by default. Overlays can not delete a property from the base dtb, therefore this overlay is at this time useless. Convert both overlays into full dts by including the base board dts. While the pcie overlay was functional, both are converted for a consistent user experience when selecting between the two mutually exclusive configurations. Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Closes: https://lore.kernel.org/linux-devicetree/CAMuHMdXTgpTnJ9U7egC2XjFXXNZ5uiY1O+WxNd6LPJW5Rs5KTw@mail.gmail.com Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3") Signed-off-by: Josua Mayer <josua@solid-run.com> --- arch/arm64/boot/dts/ti/Makefile | 4 ---- ...gboard-t-pcie.dtso => k3-am642-hummingboard-t-pcie.dts} | 14 ++++++++------ ...gboard-t-usb3.dtso => k3-am642-hummingboard-t-usb3.dts} | 13 ++++++++----- 3 files changed, 16 insertions(+), 15 deletions(-) --- base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc change-id: 20241101-am64-hb-fix-overlay-5c3074974008 Best regards,