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(-)
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(-)
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>;
---
base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc
change-id: 20241101-am64-hb-fix-overlay-5c3074974008
Best regards,
--
Josua Mayer <josua@solid-run.com>
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 -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
© 2016 - 2024 Red Hat, Inc.