Re: [PATCH v1 2/2] arm64: dts: imx8mp: add aristainetos3 board support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Krzysztof,

On 28.10.24 11:49, Krzysztof Kozlowski wrote:
On 28/10/2024 11:41, Heiko Schocher wrote:
Hello Krzysztof,

On 28.10.24 11:24, Krzysztof Kozlowski wrote:
On 28/10/2024 09:23, Heiko Schocher wrote:
Add support for the i.MX8MP based aristainetos3 boards from ABB.

The board uses a ABB specific SoM from ADLink, based on NXP
i.MX8MP SoC. The SoM is used on 3 different carrier boards,
with small differences, which are all catched up in
devicetree overlays. The kernel image, the basic dtb
and all dtbos are collected in a fitimage. As bootloader
is used U-Boot which detects in his SPL stage the carrier
board by probing some i2c devices. When the correct
carrier is probed, the SPL applies all needed dtbos to
the dtb with which U-Boot gets loaded. Same principle
later before linux image boot, U-Boot applies the dtbos
needed for the carrier board before booting Linux.

Signed-off-by: Heiko Schocher <hs@xxxxxxx>
---
checkpatch dropped the following warnings:
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3a-som-v1.dtsi:248: warning: DT compatible string "ethernet-phy-id2000.a231" appears un-documented -- check ./Documentation/devicetree/bindings/

ignored, as this compatible string is usedin other dts too, for example in

arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi

   arch/arm64/boot/dts/freescale/Makefile        |    5 +
   .../imx8mp-aristainetos3-adpismarc.dtsi       |   64 +
   .../imx8mp-aristainetos3-adpismarc.dtso       |   14 +
   .../imx8mp-aristainetos3-helios-lvds.dtsi     |   89 ++
   .../imx8mp-aristainetos3-helios-lvds.dtso     |   13 +
   .../imx8mp-aristainetos3-helios.dtsi          |  103 ++
   .../imx8mp-aristainetos3-helios.dtso          |   13 +
   .../imx8mp-aristainetos3-proton2s.dtsi        |  176 +++
   .../imx8mp-aristainetos3-proton2s.dtso        |   13 +
   .../imx8mp-aristainetos3a-som-v1.dts          |   18 +
   .../imx8mp-aristainetos3a-som-v1.dtsi         | 1210 +++++++++++++++++
   11 files changed, 1718 insertions(+)
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtsi
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtso
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-helios-lvds.dtsi
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-helios-lvds.dtso
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-helios.dtsi
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-helios.dtso
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dtsi
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dtso
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3a-som-v1.dts
   create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aristainetos3a-som-v1.dtsi

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 9d3df8b218a2..7c3586509b8b 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -163,6 +163,11 @@ imx8mn-tqma8mqnl-mba8mx-usbotg-dtbs += imx8mn-tqma8mqnl-mba8mx.dtb imx8mn-tqma8m
   dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx-lvds-tm070jvhg33.dtb
   dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx-usbotg.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-aristainetos3a-som-v1.dtb \
+			  imx8mp-aristainetos3-adpismarc.dtbo \
+			  imx8mp-aristainetos3-proton2s.dtbo \
+			  imx8mp-aristainetos3-helios.dtbo \
+			  imx8mp-aristainetos3-helios-lvds.dtbo
   dtb-$(CONFIG_ARCH_MXC) += imx8mp-beacon-kit.dtb
   dtb-$(CONFIG_ARCH_MXC) += imx8mp-data-modul-edm-sbc.dtb
   dtb-$(CONFIG_ARCH_MXC) += imx8mp-debix-model-a.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtsi
new file mode 100644
index 000000000000..cc0cddaa33ea
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtsi
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2024 Heiko Schocher <hs@xxxxxxx>
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&ecspi1 {
+	spidev0: spi@0 {
+		reg = <0>;
+		compatible = "rohm,dh2228fv";

Hm? I have some doubts, what device is here?

$ grep -lr dh2228fv drivers/
drivers/spi/spidev.c

Customer uses an userspace implementation...

That's not the question. I asked what device is here.

I do not know, as on carrier boards there are only connectors,
to which a spi device can be attached. So may I need to use here
a more generic entry?



+		spi-max-frequency = <500000>;
+	};
+};
+
+&ecspi2 {
+	spidev1: spi@0 {
+		reg = <0>;
+		compatible = "rohm,dh2228fv";
+		spi-max-frequency = <500000>;
+	};
+};
+
+&i2c2 {
+	/* SX1509(2) U1001@IPi SMARC Plus */
+	gpio8: i2c2_gpioext0@3e {

Uh, no, please never send us downstream code.

Please follow DTS coding style in all upstream submissions.

driver is in here:

$ grep -lr probe-reset drivers/pinctrl/
drivers/pinctrl/pinctrl-sx150x.c

This so not related... Your driver does not matter. You send us poor
quality downstream code.

The driver is upstream... see:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pinctrl/pinctrl-sx150x.c

or may I misunderstood you here too?

Poor is my dts, checks are running and I fix them.

...


And why this is DTSO, I have no clue...

Why is this a DTSO, not a DTS?

Hmm... the idea is, that the bootloader applies the dtbo on runtime,
when it has detected the carrier board it runs on, I tried to explain
in cover letter.

And again... sorry...

bye,
Heiko
--
DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs@xxxxxxx




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux