* [PATCH v11 1/3] dt-bindings: vendor-prefixes: add Draeger AG
2026-10-15 14:58 [PATCH v11 0/3] arm: dts: altera: add Draeger M48 CPU board Petko Manolov
@ 2026-10-15 14:58 ` Petko Manolov
2026-10-15 14:58 ` [PATCH v11 2/3] dt-bindings: arm: altera: add Draeger M48 dual-cpu board Petko Manolov
2026-10-15 14:58 ` [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module Petko Manolov
2 siblings, 0 replies; 8+ messages in thread
From: Petko Manolov @ 2026-10-15 14:58 UTC (permalink / raw)
To: linux-kernel
Cc: devicetree, robh, krzk+dt, conor+dt, dinguyen,
arnemaximilian.richter, martynas.grybauskas, Petko Manolov,
Conor Dooley
Add a vendor prefix for Draegar AG, which is Draegerwerk AG & Co. KGaA
Link: https://www.draeger.com/de_de/Home
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Petko Manolov <petko.manolov@konsulko.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ba2002969373..276d62b848d5 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -467,6 +467,8 @@ patternProperties:
description: DPTechnics
"^dptel,.*":
description: Guangdong Dapu Telecom Co., Ltd.
+ "^draeger,.*":
+ description: Draegerwerk AG & Co. KGaA
"^dragino,.*":
description: Dragino Technology Co., Limited
"^dream,.*":
--
2.47.3
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v11 2/3] dt-bindings: arm: altera: add Draeger M48 dual-cpu board
2026-10-15 14:58 [PATCH v11 0/3] arm: dts: altera: add Draeger M48 CPU board Petko Manolov
2026-10-15 14:58 ` [PATCH v11 1/3] dt-bindings: vendor-prefixes: add Draeger AG Petko Manolov
@ 2026-10-15 14:58 ` Petko Manolov
2026-10-15 14:58 ` [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module Petko Manolov
2 siblings, 0 replies; 8+ messages in thread
From: Petko Manolov @ 2026-10-15 14:58 UTC (permalink / raw)
To: linux-kernel
Cc: devicetree, robh, krzk+dt, conor+dt, dinguyen,
arnemaximilian.richter, martynas.grybauskas, Petko Manolov,
Krzysztof Kozlowski
M48 is a heterogeneous board made by Draeger that is based on two
independent cpus, that are monitoring each other. One of them is
imx6, the other is Altera SoCFPGA Cyclone 5. The latter is booting
independently off qspi.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Petko Manolov <petko.manolov@konsulko.com>
---
Documentation/devicetree/bindings/arm/altera.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/altera.yaml b/Documentation/devicetree/bindings/arm/altera.yaml
index 3030cf46fe74..b67dc10b0a11 100644
--- a/Documentation/devicetree/bindings/arm/altera.yaml
+++ b/Documentation/devicetree/bindings/arm/altera.yaml
@@ -47,6 +47,7 @@ properties:
- enum:
- altr,socfpga-cyclone5-socdk
- denx,mcvevk
+ - draeger,socfpga-m48
- ebv,socrates
- macnica,sodia
- novtech,chameleon96
--
2.47.3
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module
2026-10-15 14:58 [PATCH v11 0/3] arm: dts: altera: add Draeger M48 CPU board Petko Manolov
2026-10-15 14:58 ` [PATCH v11 1/3] dt-bindings: vendor-prefixes: add Draeger AG Petko Manolov
2026-10-15 14:58 ` [PATCH v11 2/3] dt-bindings: arm: altera: add Draeger M48 dual-cpu board Petko Manolov
@ 2026-10-15 14:58 ` Petko Manolov
2026-10-15 15:09 ` sashiko-bot
2026-10-16 11:08 ` Dinh Nguyen
2 siblings, 2 replies; 8+ messages in thread
From: Petko Manolov @ 2026-10-15 14:58 UTC (permalink / raw)
To: linux-kernel
Cc: devicetree, robh, krzk+dt, conor+dt, dinguyen,
arnemaximilian.richter, martynas.grybauskas, Petko Manolov
M48 is a heterogeneous board made by Draeger that is based on two
independent cpus, that are monitoring each other. One of them is
imx6, the other is Altera SoCFPGA Cyclone 5. The latter is booting
independently off qspi.
This one adds the DT for the Altera SoCFPGA part of M48.
Signed-off-by: Petko Manolov <petko.manolov@konsulko.com>
---
arch/arm/boot/dts/intel/socfpga/Makefile | 1 +
.../socfpga/socfpga_cyclone5_draeger_m48.dts | 101 ++++++++++++++++++
2 files changed, 102 insertions(+)
create mode 100644 arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
diff --git a/arch/arm/boot/dts/intel/socfpga/Makefile b/arch/arm/boot/dts/intel/socfpga/Makefile
index 8df0976da01c..cdcea11abdfa 100644
--- a/arch/arm/boot/dts/intel/socfpga/Makefile
+++ b/arch/arm/boot/dts/intel/socfpga/Makefile
@@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += \
socfpga_arria10_mercury_aa1_st1_emmc.dtb \
socfpga_arria10_mercury_aa1_st1_qspi.dtb \
socfpga_arria10_mercury_aa1_st1_sdmmc.dtb \
+ socfpga_cyclone5_draeger_m48.dtb \
socfpga_cyclone5_mercury_sa1_pe1_emmc.dtb \
socfpga_cyclone5_mercury_sa1_pe1_qspi.dtb \
socfpga_cyclone5_mercury_sa1_pe1_sdmmc.dtb \
diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
new file mode 100644
index 000000000000..314930a52de5
--- /dev/null
+++ b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
@@ -0,0 +1,101 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2020 Draeger and Licensors, info@draeger.com
+ */
+#include "socfpga_cyclone5.dtsi"
+
+/ {
+ model = "Draeger M48 Cyclone V SoC";
+ compatible = "draeger,socfpga-m48", "altr,socfpga-cyclone5", "altr,socfpga";
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x40000000>;
+ };
+
+ aliases {
+ /* this allow the ethaddr uboot environment variable contents
+ * to be added to the gmac0 device tree blob.
+ */
+ ethernet0 = &gmac0;
+ };
+};
+
+&gmac0 {
+ status = "okay";
+ phy-mode = "rgmii";
+ phy-handle = <ðphy>;
+
+ mdio0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ rxc-skew-ps = <1860>;
+ rxd0-skew-ps = <0>;
+ rxd1-skew-ps = <0>;
+ rxd2-skew-ps = <0>;
+ rxd3-skew-ps = <0>;
+ rxdv-skew-ps = <0>;
+ txc-skew-ps = <900>;
+ txd0-skew-ps = <0>;
+ txd1-skew-ps = <0>;
+ txd2-skew-ps = <0>;
+ txd3-skew-ps = <0>;
+ txen-skew-ps = <0>;
+ };
+ };
+};
+
+&gpio0 {
+ status = "okay";
+};
+
+&gpio1 {
+ status = "okay";
+};
+
+&gpio2 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+ clock-frequency = <100000>;
+
+ eeprom_mac: eeprom@50 {
+ compatible = "atmel,24c08";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+};
+
+&mmc0 {
+ status = "okay";
+};
+
+&qspi {
+ status = "okay";
+
+ flash: flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "micron,n25q256a", "jedec,spi-nor";
+ reg = <0>;
+
+ /* chip select */
+ spi-max-frequency = <100000000>;
+ m25p,fast-read;
+ cdns,read-delay = <4>;
+ cdns,tshsl-ns = <50>;
+ cdns,tsd2d-ns = <50>;
+ cdns,tchsh-ns = <4>;
+ cdns,tslch-ns = <4>;
+ };
+};
--
2.47.3
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module
2026-10-15 14:58 ` [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module Petko Manolov
@ 2026-10-15 15:09 ` sashiko-bot
2026-10-16 11:08 ` Dinh Nguyen
1 sibling, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-10-15 15:09 UTC (permalink / raw)
To: Petko Manolov; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] net: stmmac: missing snps,dwmac-mdio compatible breaks MDIO registration
--
commit d908833e7bbbda78aeaec54305a0979e4a84551f
Author: Petko Manolov <petko.manolov@konsulko.com>
arm: dts: altera: add Draeger M48 CPU Module
M48 is a heterogeneous board made by Draeger that is based on two independent
cpus. This commit adds the device tree for the Altera SoCFPGA Cyclone 5 based
CPU module of the Draeger M48.
> diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
> new file mode 100644
> index 0000000000000..314930a52de58
> --- /dev/null
> +++ b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
[ ... ]
> +&gmac0 {
> + status = "okay";
> + phy-mode = "rgmii";
> + phy-handle = <ðphy>;
> +
> + mdio0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
[Severity: High]
Does this node need a compatible string to ensure the MDIO bus is registered?
Looking at stmmac_of_get_mdio(), it searches for the MDIO bus by checking if
the MAC is compatible with snps,dwc-qos-ethernet-4.10 or if the MDIO child
node has compatible = "snps,dwmac-mdio". Since neither condition is met,
stmmac_of_get_mdio() returns NULL.
Later in stmmac_mdio_setup(), because phy-handle is defined, the legacy_mdio
fallback evaluates to false and mdio_bus_data is left unallocated. This
causes stmmac_mdio_register() to return early without registering the bus.
Would adding compatible = "snps,dwmac-mdio" to this node prevent the ethernet
interface from failing to probe its PHY?
> + ethphy: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261015145804.3632839-1-petko.manolov@konsulko.com?part=3
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module
2026-10-15 14:58 ` [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module Petko Manolov
2026-10-15 15:09 ` sashiko-bot
@ 2026-10-16 11:08 ` Dinh Nguyen
2026-10-16 12:33 ` Petko Manolov
1 sibling, 1 reply; 8+ messages in thread
From: Dinh Nguyen @ 2026-10-16 11:08 UTC (permalink / raw)
To: Petko Manolov, linux-kernel
Cc: devicetree, robh, krzk+dt, conor+dt, arnemaximilian.richter,
martynas.grybauskas
On 10/15/26 09:58, Petko Manolov wrote:
> M48 is a heterogeneous board made by Draeger that is based on two
> independent cpus, that are monitoring each other. One of them is
> imx6, the other is Altera SoCFPGA Cyclone 5. The latter is booting
> independently off qspi.
>
> This one adds the DT for the Altera SoCFPGA part of M48.
>
> Signed-off-by: Petko Manolov <petko.manolov@konsulko.com>
> ---
> arch/arm/boot/dts/intel/socfpga/Makefile | 1 +
> .../socfpga/socfpga_cyclone5_draeger_m48.dts | 101 ++++++++++++++++++
> 2 files changed, 102 insertions(+)
> create mode 100644 arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
>
> diff --git a/arch/arm/boot/dts/intel/socfpga/Makefile b/arch/arm/boot/dts/intel/socfpga/Makefile
> index 8df0976da01c..cdcea11abdfa 100644
> --- a/arch/arm/boot/dts/intel/socfpga/Makefile
> +++ b/arch/arm/boot/dts/intel/socfpga/Makefile
> @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += \
> socfpga_arria10_mercury_aa1_st1_emmc.dtb \
> socfpga_arria10_mercury_aa1_st1_qspi.dtb \
> socfpga_arria10_mercury_aa1_st1_sdmmc.dtb \
> + socfpga_cyclone5_draeger_m48.dtb \
> socfpga_cyclone5_mercury_sa1_pe1_emmc.dtb \
> socfpga_cyclone5_mercury_sa1_pe1_qspi.dtb \
> socfpga_cyclone5_mercury_sa1_pe1_sdmmc.dtb \
> diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
> new file mode 100644
> index 000000000000..314930a52de5
> --- /dev/null
> +++ b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts
> @@ -0,0 +1,101 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * (C) Copyright 2020 Draeger and Licensors, info@draeger.com
> + */
> +#include "socfpga_cyclone5.dtsi"
> +
> +/ {
> + model = "Draeger M48 Cyclone V SoC";
> + compatible = "draeger,socfpga-m48", "altr,socfpga-cyclone5", "altr,socfpga";
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + memory@0 {
> + device_type = "memory";
> + reg = <0x0 0x40000000>;
> + };
> +
> + aliases {
> + /* this allow the ethaddr uboot environment variable contents
> + * to be added to the gmac0 device tree blob.
> + */
> + ethernet0 = &gmac0;
> + };
> +};
> +
> +&gmac0 {
> + status = "okay";
> + phy-mode = "rgmii";
> + phy-handle = <ðphy>;
> +
> + mdio0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
You also need this here: compatible = "snps,dwmac-mdio"
Dinh
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module
2026-10-16 11:08 ` Dinh Nguyen
@ 2026-10-16 12:33 ` Petko Manolov
2026-10-16 14:25 ` Dinh Nguyen
0 siblings, 1 reply; 8+ messages in thread
From: Petko Manolov @ 2026-10-16 12:33 UTC (permalink / raw)
To: Dinh Nguyen
Cc: linux-kernel, devicetree, robh, krzk+dt, conor+dt,
arnemaximilian.richter, martynas.grybauskas
On 26-10-16 06:08:53, Dinh Nguyen wrote:
>
> On 10/15/26 09:58, Petko Manolov wrote:
> > M48 is a heterogeneous board made by Draeger that is based on two
> > independent cpus, that are monitoring each other. One of them is
> > imx6, the other is Altera SoCFPGA Cyclone 5. The latter is booting
> > independently off qspi.
<snip>
> > +&gmac0 {
> > + status = "okay";
> > + phy-mode = "rgmii";
> > + phy-handle = <ðphy>;
> > +
> > + mdio0 {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
>
> You also need this here: compatible = "snps,dwmac-mdio"
Thanks a lot. Is there a way to send patches to Sashiko without bombing the
LKML and, respectively, all of you guys?
Petko
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v11 3/3] arm: dts: altera: add Draeger M48 CPU Module
2026-10-16 12:33 ` Petko Manolov
@ 2026-10-16 14:25 ` Dinh Nguyen
0 siblings, 0 replies; 8+ messages in thread
From: Dinh Nguyen @ 2026-10-16 14:25 UTC (permalink / raw)
To: Petko Manolov
Cc: linux-kernel, devicetree, robh, krzk+dt, conor+dt,
arnemaximilian.richter, martynas.grybauskas
On 10/16/26 07:33, Petko Manolov wrote:
> On 26-10-16 06:08:53, Dinh Nguyen wrote:
>>
>> On 10/15/26 09:58, Petko Manolov wrote:
>>> M48 is a heterogeneous board made by Draeger that is based on two
>>> independent cpus, that are monitoring each other. One of them is
>>> imx6, the other is Altera SoCFPGA Cyclone 5. The latter is booting
>>> independently off qspi.
>
> <snip>
>
>>> +&gmac0 {
>>> + status = "okay";
>>> + phy-mode = "rgmii";
>>> + phy-handle = <ðphy>;
>>> +
>>> + mdio0 {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>
>> You also need this here: compatible = "snps,dwmac-mdio"
>
> Thanks a lot. Is there a way to send patches to Sashiko without bombing the
> LKML and, respectively, all of you guys?
>
Yes, you can run sashiko locally. The instructions are in the sashiko
project.
Dinh
^ permalink raw reply [flat|nested] 8+ messages in thread