linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics
@ 2022-05-09 11:00 Robert Marko
  2022-05-09 11:00 ` [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU Robert Marko
  2022-05-10 10:20 ` [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Krzysztof Kozlowski
  0 siblings, 2 replies; 8+ messages in thread
From: Robert Marko @ 2022-05-09 11:00 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, andrew, gregory.clement,
	sebastian.hesselbarth, shawnguo, linus.walleij, kostap,
	devicetree, linux-kernel, linux-arm-kernel, pali, marek.behun
  Cc: Robert Marko

Add vendor prefix for Methode Electronics, Inc. (https://www.methode.com)

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 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 01430973ecec..e5ec476f54cd 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -764,6 +764,8 @@ patternProperties:
     description: Cisco Meraki, LLC
   "^merrii,.*":
     description: Merrii Technology Co., Ltd.
+  "^methode,.*":
+    description: Methode Electronics, Inc.
   "^micrel,.*":
     description: Micrel Inc.
   "^microchip,.*":
-- 
2.36.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-09 11:00 [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Robert Marko
@ 2022-05-09 11:00 ` Robert Marko
  2022-05-10 10:20   ` Krzysztof Kozlowski
  2022-05-10 10:20 ` [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Krzysztof Kozlowski
  1 sibling, 1 reply; 8+ messages in thread
From: Robert Marko @ 2022-05-09 11:00 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, andrew, gregory.clement,
	sebastian.hesselbarth, shawnguo, linus.walleij, kostap,
	devicetree, linux-kernel, linux-arm-kernel, pali, marek.behun
  Cc: Robert Marko

Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.

They feature the same CPU, RAM, and storage as well as the form factor.

However, eDPU only has one SFP slot plus a copper G.hn port.

In order to reduce duplication, split the uDPU DTS into a common one.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 arch/arm64/boot/dts/marvell/Makefile          |   1 +
 .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
 .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
 .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
 4 files changed, 179 insertions(+), 147 deletions(-)
 create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
 create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi

diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
index 1c794cdcb8e6..104d7d7e8215 100644
--- a/arch/arm64/boot/dts/marvell/Makefile
+++ b/arch/arm64/boot/dts/marvell/Makefile
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # Mvebu SoC Family
 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
+dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
new file mode 100644
index 000000000000..6b573a6854cc
--- /dev/null
+++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include "armada-3720-uDPU.dtsi"
+
+/ {
+	model = "Methode eDPU Board";
+	compatible = "methode,edpu", "marvell,armada3720";
+};
+
+&eth0 {
+	phy-mode = "2500base-x";
+};
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
index 95d46e8d081c..b146fae9f60b 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
@@ -1,67 +1,13 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-/*
- * Device tree for the uDPU board.
- * Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
- * Copyright (C) 2016 Marvell
- * Copyright (C) 2019 Methode Electronics
- * Copyright (C) 2019 Telus
- *
- * Vladimir Vid <vladimir.vid@sartura.hr>
- */
 
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include "armada-372x.dtsi"
+#include "armada-3720-uDPU.dtsi"
 
 / {
 	model = "Methode uDPU Board";
 	compatible = "methode,udpu", "marvell,armada3720";
 
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
-
-	memory@0 {
-		device_type = "memory";
-		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
-	};
-
-	leds {
-		pinctrl-names = "default";
-		compatible = "gpio-leds";
-
-		power1 {
-			label = "udpu:green:power";
-			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
-		};
-
-		power2 {
-			label = "udpu:red:power";
-			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
-		};
-
-		network1 {
-			label = "udpu:green:network";
-			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
-		};
-
-		network2 {
-			label = "udpu:red:network";
-			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
-		};
-
-		alarm1 {
-			label = "udpu:green:alarm";
-			gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
-		};
-
-		alarm2 {
-			label = "udpu:red:alarm";
-			gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
-		};
-	};
-
 	sfp_eth0: sfp-eth0 {
 		compatible = "sff,sfp";
 		i2c-bus = <&i2c0>;
@@ -71,50 +17,6 @@ sfp_eth0: sfp-eth0 {
 		tx-fault-gpio = <&gpiosb 5 GPIO_ACTIVE_HIGH>;
 		maximum-power-milliwatt = <3000>;
 	};
-
-	sfp_eth1: sfp-eth1 {
-		compatible = "sff,sfp";
-		i2c-bus = <&i2c1>;
-		los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
-		mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
-		tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
-		tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
-		maximum-power-milliwatt = <3000>;
-	};
-};
-
-&sdhci0 {
-	status = "okay";
-	bus-width = <8>;
-	mmc-ddr-1_8v;
-	mmc-hs400-1_8v;
-	marvell,pad-type = "fixed-1-8v";
-	non-removable;
-	no-sd;
-	no-sdio;
-};
-
-&spi0 {
-	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&spi_quad_pins>;
-
-	m25p80@0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <54000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-			/* only bootloader is located on the SPI */
-			partition@0 {
-				label = "uboot";
-				reg = <0 0x400000>;
-			};
-		};
-	};
 };
 
 &pinctrl_nb {
@@ -122,11 +24,6 @@ i2c1_recovery_pins: i2c1-recovery-pins {
 		groups = "i2c1";
 		function = "gpio";
 	};
-
-	i2c2_recovery_pins: i2c2-recovery-pins {
-		groups = "i2c2";
-		function = "gpio";
-	};
 };
 
 &i2c0 {
@@ -139,50 +36,7 @@ &i2c0 {
 	sda-gpios = <&gpionb 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 };
 
-&i2c1 {
-	status = "okay";
-	pinctrl-names = "default", "recovery";
-	pinctrl-0 = <&i2c2_pins>;
-	pinctrl-1 = <&i2c2_recovery_pins>;
-	/delete-property/mrvl,i2c-fast-mode;
-	scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-	sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-
-	lm75@48 {
-		status = "okay";
-		compatible = "lm75";
-		reg = <0x48>;
-	};
-
-	lm75@49 {
-		status = "okay";
-		compatible = "lm75";
-		reg = <0x49>;
-	};
-};
-
 &eth0 {
 	phy-mode = "sgmii";
-	status = "okay";
-	managed = "in-band-status";
-	phys = <&comphy1 0>;
 	sfp = <&sfp_eth0>;
 };
-
-&eth1 {
-	phy-mode = "sgmii";
-	status = "okay";
-	managed = "in-band-status";
-	phys = <&comphy0 1>;
-	sfp = <&sfp_eth1>;
-};
-
-&usb3 {
-	status = "okay";
-	phys = <&usb2_utmi_otg_phy>;
-	phy-names = "usb2-utmi-otg-phy";
-};
-
-&uart0 {
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
new file mode 100644
index 000000000000..5e38acc92a31
--- /dev/null
+++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
@@ -0,0 +1,163 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Device tree for the uDPU board.
+ * Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
+ * Copyright (C) 2016 Marvell
+ * Copyright (C) 2019 Methode Electronics
+ * Copyright (C) 2019 Telus
+ *
+ * Vladimir Vid <vladimir.vid@sartura.hr>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "armada-372x.dtsi"
+
+/ {
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
+	};
+
+	leds {
+		pinctrl-names = "default";
+		compatible = "gpio-leds";
+
+		power1 {
+			label = "udpu:green:power";
+			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
+		};
+
+		power2 {
+			label = "udpu:red:power";
+			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
+		};
+
+		network1 {
+			label = "udpu:green:network";
+			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
+		};
+
+		network2 {
+			label = "udpu:red:network";
+			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
+		};
+
+		alarm1 {
+			label = "udpu:green:alarm";
+			gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
+		};
+
+		alarm2 {
+			label = "udpu:red:alarm";
+			gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	sfp_eth1: sfp-eth1 {
+		compatible = "sff,sfp";
+		i2c-bus = <&i2c1>;
+		los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
+		mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
+		tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
+		tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
+		maximum-power-milliwatt = <3000>;
+	};
+};
+
+&sdhci0 {
+	status = "okay";
+	bus-width = <8>;
+	mmc-ddr-1_8v;
+	mmc-hs400-1_8v;
+	marvell,pad-type = "fixed-1-8v";
+	non-removable;
+	no-sd;
+	no-sdio;
+};
+
+&spi0 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi_quad_pins>;
+
+	spi-flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <54000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			/* only bootloader is located on the SPI */
+			partition@0 {
+				label = "firmware";
+				reg = <0x0 0x180000>;
+			};
+
+			partition@180000 {
+				label = "u-boot-env";
+				reg = <0x180000 0x10000>;
+			};
+		};
+	};
+};
+
+&pinctrl_nb {
+	i2c2_recovery_pins: i2c2-recovery-pins {
+		groups = "i2c2";
+		function = "gpio";
+	};
+};
+
+&i2c1 {
+	status = "okay";
+	pinctrl-names = "default", "recovery";
+	pinctrl-0 = <&i2c2_pins>;
+	pinctrl-1 = <&i2c2_recovery_pins>;
+	/delete-property/mrvl,i2c-fast-mode;
+	scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+
+	nct375@48 {
+		status = "okay";
+		compatible = "ti,tmp75c";
+		reg = <0x48>;
+	};
+
+	nct375@49 {
+		status = "okay";
+		compatible = "ti,tmp75c";
+		reg = <0x49>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	managed = "in-band-status";
+	phys = <&comphy1 0>;
+};
+
+&eth1 {
+	phy-mode = "sgmii";
+	status = "okay";
+	managed = "in-band-status";
+	phys = <&comphy0 1>;
+	sfp = <&sfp_eth1>;
+};
+
+&usb3 {
+	status = "okay";
+	phys = <&usb2_utmi_otg_phy>;
+	phy-names = "usb2-utmi-otg-phy";
+};
+
+&uart0 {
+	status = "okay";
+};
-- 
2.36.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-09 11:00 ` [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU Robert Marko
@ 2022-05-10 10:20   ` Krzysztof Kozlowski
  2022-05-10 11:41     ` Robert Marko
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-10 10:20 UTC (permalink / raw)
  To: Robert Marko, robh+dt, krzysztof.kozlowski+dt, andrew,
	gregory.clement, sebastian.hesselbarth, shawnguo, linus.walleij,
	kostap, devicetree, linux-kernel, linux-arm-kernel, pali,
	marek.behun

On 09/05/2022 13:00, Robert Marko wrote:
> Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.
> 
> They feature the same CPU, RAM, and storage as well as the form factor.
> 
> However, eDPU only has one SFP slot plus a copper G.hn port.
> 
> In order to reduce duplication, split the uDPU DTS into a common one.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> ---
>  arch/arm64/boot/dts/marvell/Makefile          |   1 +
>  .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
>  .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
>  .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
>  4 files changed, 179 insertions(+), 147 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
> 
> diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
> index 1c794cdcb8e6..104d7d7e8215 100644
> --- a/arch/arm64/boot/dts/marvell/Makefile
> +++ b/arch/arm64/boot/dts/marvell/Makefile
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0
>  # Mvebu SoC Family
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
> +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
> diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> new file mode 100644
> index 000000000000..6b573a6854cc
> --- /dev/null
> +++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +/dts-v1/;
> +
> +#include "armada-3720-uDPU.dtsi"
> +
> +/ {
> +	model = "Methode eDPU Board";
> +	compatible = "methode,edpu", "marvell,armada3720";

You need also bindings for the board compatible. Someone should convert
the Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt to YAML.

> +};
> +> +	sfp_eth1: sfp-eth1 {

Generic node names, please.

> +		compatible = "sff,sfp";
> +		i2c-bus = <&i2c1>;
> +		los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
> +		mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
> +		tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
> +		tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
> +		maximum-power-milliwatt = <3000>;
> +	};
> +};
> +
> +&sdhci0 {
> +	status = "okay";
> +	bus-width = <8>;
> +	mmc-ddr-1_8v;
> +	mmc-hs400-1_8v;
> +	marvell,pad-type = "fixed-1-8v";
> +	non-removable;
> +	no-sd;
> +	no-sdio;
> +};
> +
> +&spi0 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi_quad_pins>;
> +
> +	spi-flash@0 {

Run dtbs_check and fix the errors.

> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <54000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			/* only bootloader is located on the SPI */
> +			partition@0 {
> +				label = "firmware";
> +				reg = <0x0 0x180000>;
> +			};
> +
> +			partition@180000 {
> +				label = "u-boot-env";
> +				reg = <0x180000 0x10000>;
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl_nb {
> +	i2c2_recovery_pins: i2c2-recovery-pins {
> +		groups = "i2c2";
> +		function = "gpio";
> +	};
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-names = "default", "recovery";
> +	pinctrl-0 = <&i2c2_pins>;
> +	pinctrl-1 = <&i2c2_recovery_pins>;
> +	/delete-property/mrvl,i2c-fast-mode;
> +	scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> +	sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> +
> +	nct375@48 {

Generic node names, representing class of a device.

> +		status = "okay";

OK status is by default, why do you need it? Also, it goes as last property.

> +		compatible = "ti,tmp75c";
> +		reg = <0x48>;
> +	};
> +
> +	nct375@49 {
> +		status = "okay";
> +		compatible = "ti,tmp75c";
> +		reg = <0x49>;
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +	managed = "in-band-status";
> +	phys = <&comphy1 0>;
> +};
> +
> +&eth1 {
> +	phy-mode = "sgmii";
> +	status = "okay";
> +	managed = "in-band-status";
> +	phys = <&comphy0 1>;
> +	sfp = <&sfp_eth1>;
> +};
> +
> +&usb3 {
> +	status = "okay";
> +	phys = <&usb2_utmi_otg_phy>;
> +	phy-names = "usb2-utmi-otg-phy";
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics
  2022-05-09 11:00 [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Robert Marko
  2022-05-09 11:00 ` [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU Robert Marko
@ 2022-05-10 10:20 ` Krzysztof Kozlowski
  1 sibling, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-10 10:20 UTC (permalink / raw)
  To: Robert Marko, robh+dt, krzysztof.kozlowski+dt, andrew,
	gregory.clement, sebastian.hesselbarth, shawnguo, linus.walleij,
	kostap, devicetree, linux-kernel, linux-arm-kernel, pali,
	marek.behun

On 09/05/2022 13:00, Robert Marko wrote:
> Add vendor prefix for Methode Electronics, Inc. (https://www.methode.com)
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-10 10:20   ` Krzysztof Kozlowski
@ 2022-05-10 11:41     ` Robert Marko
  2022-05-10 11:46       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Robert Marko @ 2022-05-10 11:41 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Rob Herring, krzysztof.kozlowski+dt, Andrew Lunn,
	gregory.clement, sebastian.hesselbarth, shawnguo, Linus Walleij,
	kostap, devicetree, Linux Kernel Mailing List, Linux ARM,
	Pali Rohár, Marek Behún

On Tue, May 10, 2022 at 12:20 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 09/05/2022 13:00, Robert Marko wrote:
> > Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.
> >
> > They feature the same CPU, RAM, and storage as well as the form factor.
> >
> > However, eDPU only has one SFP slot plus a copper G.hn port.
> >
> > In order to reduce duplication, split the uDPU DTS into a common one.
> >
> > Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> > ---
> >  arch/arm64/boot/dts/marvell/Makefile          |   1 +
> >  .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
> >  .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
> >  .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
> >  4 files changed, 179 insertions(+), 147 deletions(-)
> >  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> >  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
> >
> > diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
> > index 1c794cdcb8e6..104d7d7e8215 100644
> > --- a/arch/arm64/boot/dts/marvell/Makefile
> > +++ b/arch/arm64/boot/dts/marvell/Makefile
> > @@ -1,6 +1,7 @@
> >  # SPDX-License-Identifier: GPL-2.0
> >  # Mvebu SoC Family
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
> > +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
> > diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> > new file mode 100644
> > index 000000000000..6b573a6854cc
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> > @@ -0,0 +1,14 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +
> > +/dts-v1/;
> > +
> > +#include "armada-3720-uDPU.dtsi"
> > +
> > +/ {
> > +     model = "Methode eDPU Board";
> > +     compatible = "methode,edpu", "marvell,armada3720";
>
> You need also bindings for the board compatible. Someone should convert
> the Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt to YAML.

Ok, I can convert the SoC compatibles at least for now.
Any advice you can give me on how the handle the Espressobin boards
having multiple board-specific compatibles?
For example, Espressobin V7 has:
"globalscale,espressobin-v7", "globalscale,espressobin"

>
> > +};
> > +> +  sfp_eth1: sfp-eth1 {
>
> Generic node names, please.

Can you give me an example of what would be appropriate here because the SFP
bindings example utilizes the same naming scheme as used here?

>
> > +             compatible = "sff,sfp";
> > +             i2c-bus = <&i2c1>;
> > +             los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
> > +             mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
> > +             tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
> > +             tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
> > +             maximum-power-milliwatt = <3000>;
> > +     };
> > +};
> > +
> > +&sdhci0 {
> > +     status = "okay";
> > +     bus-width = <8>;
> > +     mmc-ddr-1_8v;
> > +     mmc-hs400-1_8v;
> > +     marvell,pad-type = "fixed-1-8v";
> > +     non-removable;
> > +     no-sd;
> > +     no-sdio;
> > +};
> > +
> > +&spi0 {
> > +     status = "okay";
> > +     pinctrl-names = "default";
> > +     pinctrl-0 = <&spi_quad_pins>;
> > +
> > +     spi-flash@0 {
>
> Run dtbs_check and fix the errors.

Ok, will split the DTSI and eDPU commits and fixup nodes in between.
>
> > +             compatible = "jedec,spi-nor";
> > +             reg = <0>;
> > +             spi-max-frequency = <54000000>;
> > +
> > +             partitions {
> > +                     compatible = "fixed-partitions";
> > +                     #address-cells = <1>;
> > +                     #size-cells = <1>;
> > +                     /* only bootloader is located on the SPI */
> > +                     partition@0 {
> > +                             label = "firmware";
> > +                             reg = <0x0 0x180000>;
> > +                     };
> > +
> > +                     partition@180000 {
> > +                             label = "u-boot-env";
> > +                             reg = <0x180000 0x10000>;
> > +                     };
> > +             };
> > +     };
> > +};
> > +
> > +&pinctrl_nb {
> > +     i2c2_recovery_pins: i2c2-recovery-pins {
> > +             groups = "i2c2";
> > +             function = "gpio";
> > +     };
> > +};
> > +
> > +&i2c1 {
> > +     status = "okay";
> > +     pinctrl-names = "default", "recovery";
> > +     pinctrl-0 = <&i2c2_pins>;
> > +     pinctrl-1 = <&i2c2_recovery_pins>;
> > +     /delete-property/mrvl,i2c-fast-mode;
> > +     scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> > +     sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> > +
> > +     nct375@48 {
>
> Generic node names, representing class of a device.
Ok, will rename in v2.
>
> > +             status = "okay";
>
> OK status is by default, why do you need it? Also, it goes as last property.

It's not needed, I have not changed any nodes, they are just
copy/paste during the DTS split.
Will drop it in v2.

Regards,
Robert
>
> > +             compatible = "ti,tmp75c";
> > +             reg = <0x48>;
> > +     };
> > +
> > +     nct375@49 {
> > +             status = "okay";
> > +             compatible = "ti,tmp75c";
> > +             reg = <0x49>;
> > +     };
> > +};
> > +
> > +&eth0 {
> > +     status = "okay";
> > +     managed = "in-band-status";
> > +     phys = <&comphy1 0>;
> > +};
> > +
> > +&eth1 {
> > +     phy-mode = "sgmii";
> > +     status = "okay";
> > +     managed = "in-band-status";
> > +     phys = <&comphy0 1>;
> > +     sfp = <&sfp_eth1>;
> > +};
> > +
> > +&usb3 {
> > +     status = "okay";
> > +     phys = <&usb2_utmi_otg_phy>;
> > +     phy-names = "usb2-utmi-otg-phy";
> > +};
> > +
> > +&uart0 {
> > +     status = "okay";
> > +};
>
>
> Best regards,
> Krzysztof



-- 
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@sartura.hr
Web: www.sartura.hr

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-10 11:41     ` Robert Marko
@ 2022-05-10 11:46       ` Krzysztof Kozlowski
  2022-05-10 12:43         ` Robert Marko
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-10 11:46 UTC (permalink / raw)
  To: Robert Marko
  Cc: Rob Herring, krzysztof.kozlowski+dt, Andrew Lunn,
	gregory.clement, sebastian.hesselbarth, shawnguo, Linus Walleij,
	kostap, devicetree, Linux Kernel Mailing List, Linux ARM,
	Pali Rohár, Marek Behún

On 10/05/2022 13:41, Robert Marko wrote:
> On Tue, May 10, 2022 at 12:20 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 09/05/2022 13:00, Robert Marko wrote:
>>> Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.
>>>
>>> They feature the same CPU, RAM, and storage as well as the form factor.
>>>
>>> However, eDPU only has one SFP slot plus a copper G.hn port.
>>>
>>> In order to reduce duplication, split the uDPU DTS into a common one.
>>>
>>> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
>>> ---
>>>  arch/arm64/boot/dts/marvell/Makefile          |   1 +
>>>  .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
>>>  .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
>>>  .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
>>>  4 files changed, 179 insertions(+), 147 deletions(-)
>>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
>>> index 1c794cdcb8e6..104d7d7e8215 100644
>>> --- a/arch/arm64/boot/dts/marvell/Makefile
>>> +++ b/arch/arm64/boot/dts/marvell/Makefile
>>> @@ -1,6 +1,7 @@
>>>  # SPDX-License-Identifier: GPL-2.0
>>>  # Mvebu SoC Family
>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
>>> +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
>>> diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>> new file mode 100644
>>> index 000000000000..6b573a6854cc
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>> @@ -0,0 +1,14 @@
>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>> +
>>> +/dts-v1/;
>>> +
>>> +#include "armada-3720-uDPU.dtsi"
>>> +
>>> +/ {
>>> +     model = "Methode eDPU Board";
>>> +     compatible = "methode,edpu", "marvell,armada3720";
>>
>> You need also bindings for the board compatible. Someone should convert
>> the Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt to YAML.
> 
> Ok, I can convert the SoC compatibles at least for now.
> Any advice you can give me on how the handle the Espressobin boards
> having multiple board-specific compatibles?
> For example, Espressobin V7 has:
> "globalscale,espressobin-v7", "globalscale,espressobin"
> 

Documentation/devicetree/bindings/arm/fsl.yaml

>>
>>> +};
>>> +> +  sfp_eth1: sfp-eth1 {
>>
>> Generic node names, please.
> 
> Can you give me an example of what would be appropriate here because the SFP
> bindings example utilizes the same naming scheme as used here?

"sfp" if you have only one sfp node.

> 
>>
>>> +             compatible = "sff,sfp";
>>> +             i2c-bus = <&i2c1>;
>>> +             los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
>>> +             mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
>>> +             tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
>>> +             tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
>>> +             maximum-power-milliwatt = <3000>;
>>> +     };
>>> +};
>>> +
>>> +&sdhci0 {
>>> +     status = "okay";
>>> +     bus-width = <8>;
>>> +     mmc-ddr-1_8v;
>>> +     mmc-hs400-1_8v;
>>> +     marvell,pad-type = "fixed-1-8v";
>>> +     non-removable;
>>> +     no-sd;
>>> +     no-sdio;
>>> +};
>>> +
>>> +&spi0 {
>>> +     status = "okay";
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&spi_quad_pins>;
>>> +
>>> +     spi-flash@0 {
>>
>> Run dtbs_check and fix the errors.
> 
> Ok, will split the DTSI and eDPU commits and fixup nodes in between.
>>
>>> +             compatible = "jedec,spi-nor";
>>> +             reg = <0>;
>>> +             spi-max-frequency = <54000000>;
>>> +
>>> +             partitions {
>>> +                     compatible = "fixed-partitions";
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     /* only bootloader is located on the SPI */
>>> +                     partition@0 {
>>> +                             label = "firmware";
>>> +                             reg = <0x0 0x180000>;
>>> +                     };
>>> +
>>> +                     partition@180000 {
>>> +                             label = "u-boot-env";
>>> +                             reg = <0x180000 0x10000>;
>>> +                     };
>>> +             };
>>> +     };
>>> +};
>>> +
>>> +&pinctrl_nb {
>>> +     i2c2_recovery_pins: i2c2-recovery-pins {
>>> +             groups = "i2c2";
>>> +             function = "gpio";
>>> +     };
>>> +};
>>> +
>>> +&i2c1 {
>>> +     status = "okay";
>>> +     pinctrl-names = "default", "recovery";
>>> +     pinctrl-0 = <&i2c2_pins>;
>>> +     pinctrl-1 = <&i2c2_recovery_pins>;
>>> +     /delete-property/mrvl,i2c-fast-mode;
>>> +     scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>>> +     sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>>> +
>>> +     nct375@48 {
>>
>> Generic node names, representing class of a device.
> Ok, will rename in v2.
>>
>>> +             status = "okay";
>>
>> OK status is by default, why do you need it? Also, it goes as last property.
> 
> It's not needed, I have not changed any nodes, they are just
> copy/paste during the DTS split.
> Will drop it in v2.
> 

Hm, but the node names were different in original DTS, so this is not a
simple split. In such case better to correct coding styles in one patch
(node names, status etc) and then perform the split. The split should
create the same output DTB, which is not the case here.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-10 11:46       ` Krzysztof Kozlowski
@ 2022-05-10 12:43         ` Robert Marko
  2022-05-10 12:50           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Robert Marko @ 2022-05-10 12:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Rob Herring, krzysztof.kozlowski+dt, Andrew Lunn,
	gregory.clement, sebastian.hesselbarth, shawnguo, Linus Walleij,
	kostap, devicetree, Linux Kernel Mailing List, Linux ARM,
	Pali Rohár, Marek Behún

On Tue, May 10, 2022 at 1:46 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 10/05/2022 13:41, Robert Marko wrote:
> > On Tue, May 10, 2022 at 12:20 PM Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org> wrote:
> >>
> >> On 09/05/2022 13:00, Robert Marko wrote:
> >>> Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.
> >>>
> >>> They feature the same CPU, RAM, and storage as well as the form factor.
> >>>
> >>> However, eDPU only has one SFP slot plus a copper G.hn port.
> >>>
> >>> In order to reduce duplication, split the uDPU DTS into a common one.
> >>>
> >>> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> >>> ---
> >>>  arch/arm64/boot/dts/marvell/Makefile          |   1 +
> >>>  .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
> >>>  .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
> >>>  .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
> >>>  4 files changed, 179 insertions(+), 147 deletions(-)
> >>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> >>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
> >>>
> >>> diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
> >>> index 1c794cdcb8e6..104d7d7e8215 100644
> >>> --- a/arch/arm64/boot/dts/marvell/Makefile
> >>> +++ b/arch/arm64/boot/dts/marvell/Makefile
> >>> @@ -1,6 +1,7 @@
> >>>  # SPDX-License-Identifier: GPL-2.0
> >>>  # Mvebu SoC Family
> >>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
> >>> +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
> >>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
> >>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
> >>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
> >>> diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> >>> new file mode 100644
> >>> index 000000000000..6b573a6854cc
> >>> --- /dev/null
> >>> +++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
> >>> @@ -0,0 +1,14 @@
> >>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> >>> +
> >>> +/dts-v1/;
> >>> +
> >>> +#include "armada-3720-uDPU.dtsi"
> >>> +
> >>> +/ {
> >>> +     model = "Methode eDPU Board";
> >>> +     compatible = "methode,edpu", "marvell,armada3720";
> >>
> >> You need also bindings for the board compatible. Someone should convert
> >> the Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt to YAML.
> >
> > Ok, I can convert the SoC compatibles at least for now.
> > Any advice you can give me on how the handle the Espressobin boards
> > having multiple board-specific compatibles?
> > For example, Espressobin V7 has:
> > "globalscale,espressobin-v7", "globalscale,espressobin"
> >
>
> Documentation/devicetree/bindings/arm/fsl.yaml

Thanks, now it makes sense.

>
> >>
> >>> +};
> >>> +> +  sfp_eth1: sfp-eth1 {
> >>
> >> Generic node names, please.
> >
> > Can you give me an example of what would be appropriate here because the SFP
> > bindings example utilizes the same naming scheme as used here?
>
> "sfp" if you have only one sfp node.

There are 2 SFP nodes in total, that is why they are named according
to the ethernet controller
to which they are connected.
uDPU has 2 SFP slots while eDPU has 1, so one was moved to uDPU DTS.

>
> >
> >>
> >>> +             compatible = "sff,sfp";
> >>> +             i2c-bus = <&i2c1>;
> >>> +             los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
> >>> +             mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
> >>> +             tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
> >>> +             tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
> >>> +             maximum-power-milliwatt = <3000>;
> >>> +     };
> >>> +};
> >>> +
> >>> +&sdhci0 {
> >>> +     status = "okay";
> >>> +     bus-width = <8>;
> >>> +     mmc-ddr-1_8v;
> >>> +     mmc-hs400-1_8v;
> >>> +     marvell,pad-type = "fixed-1-8v";
> >>> +     non-removable;
> >>> +     no-sd;
> >>> +     no-sdio;
> >>> +};
> >>> +
> >>> +&spi0 {
> >>> +     status = "okay";
> >>> +     pinctrl-names = "default";
> >>> +     pinctrl-0 = <&spi_quad_pins>;
> >>> +
> >>> +     spi-flash@0 {
> >>
> >> Run dtbs_check and fix the errors.
> >
> > Ok, will split the DTSI and eDPU commits and fixup nodes in between.
> >>
> >>> +             compatible = "jedec,spi-nor";
> >>> +             reg = <0>;
> >>> +             spi-max-frequency = <54000000>;
> >>> +
> >>> +             partitions {
> >>> +                     compatible = "fixed-partitions";
> >>> +                     #address-cells = <1>;
> >>> +                     #size-cells = <1>;
> >>> +                     /* only bootloader is located on the SPI */
> >>> +                     partition@0 {
> >>> +                             label = "firmware";
> >>> +                             reg = <0x0 0x180000>;
> >>> +                     };
> >>> +
> >>> +                     partition@180000 {
> >>> +                             label = "u-boot-env";
> >>> +                             reg = <0x180000 0x10000>;
> >>> +                     };
> >>> +             };
> >>> +     };
> >>> +};
> >>> +
> >>> +&pinctrl_nb {
> >>> +     i2c2_recovery_pins: i2c2-recovery-pins {
> >>> +             groups = "i2c2";
> >>> +             function = "gpio";
> >>> +     };
> >>> +};
> >>> +
> >>> +&i2c1 {
> >>> +     status = "okay";
> >>> +     pinctrl-names = "default", "recovery";
> >>> +     pinctrl-0 = <&i2c2_pins>;
> >>> +     pinctrl-1 = <&i2c2_recovery_pins>;
> >>> +     /delete-property/mrvl,i2c-fast-mode;
> >>> +     scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >>> +     sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >>> +
> >>> +     nct375@48 {
> >>
> >> Generic node names, representing class of a device.
> > Ok, will rename in v2.
> >>
> >>> +             status = "okay";
> >>
> >> OK status is by default, why do you need it? Also, it goes as last property.
> >
> > It's not needed, I have not changed any nodes, they are just
> > copy/paste during the DTS split.
> > Will drop it in v2.
> >
>
> Hm, but the node names were different in original DTS, so this is not a
> simple split. In such case better to correct coding styles in one patch
> (node names, status etc) and then perform the split. The split should
> create the same output DTB, which is not the case here.

Understood, I did all of the fixups now before the split to make it clear.

Regards,
Robert
>
> Best regards,
> Krzysztof



-- 
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@sartura.hr
Web: www.sartura.hr

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU
  2022-05-10 12:43         ` Robert Marko
@ 2022-05-10 12:50           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-10 12:50 UTC (permalink / raw)
  To: Robert Marko
  Cc: Rob Herring, krzysztof.kozlowski+dt, Andrew Lunn,
	gregory.clement, sebastian.hesselbarth, shawnguo, Linus Walleij,
	kostap, devicetree, Linux Kernel Mailing List, Linux ARM,
	Pali Rohár, Marek Behún

On 10/05/2022 14:43, Robert Marko wrote:
> On Tue, May 10, 2022 at 1:46 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 10/05/2022 13:41, Robert Marko wrote:
>>> On Tue, May 10, 2022 at 12:20 PM Krzysztof Kozlowski
>>> <krzysztof.kozlowski@linaro.org> wrote:
>>>>
>>>> On 09/05/2022 13:00, Robert Marko wrote:
>>>>> Methode eDPU is an Armada 3720 powered board based on the Methode uDPU.
>>>>>
>>>>> They feature the same CPU, RAM, and storage as well as the form factor.
>>>>>
>>>>> However, eDPU only has one SFP slot plus a copper G.hn port.
>>>>>
>>>>> In order to reduce duplication, split the uDPU DTS into a common one.
>>>>>
>>>>> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
>>>>> ---
>>>>>  arch/arm64/boot/dts/marvell/Makefile          |   1 +
>>>>>  .../boot/dts/marvell/armada-3720-eDPU.dts     |  14 ++
>>>>>  .../boot/dts/marvell/armada-3720-uDPU.dts     | 148 +---------------
>>>>>  .../boot/dts/marvell/armada-3720-uDPU.dtsi    | 163 ++++++++++++++++++
>>>>>  4 files changed, 179 insertions(+), 147 deletions(-)
>>>>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>>>>  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
>>>>> index 1c794cdcb8e6..104d7d7e8215 100644
>>>>> --- a/arch/arm64/boot/dts/marvell/Makefile
>>>>> +++ b/arch/arm64/boot/dts/marvell/Makefile
>>>>> @@ -1,6 +1,7 @@
>>>>>  # SPDX-License-Identifier: GPL-2.0
>>>>>  # Mvebu SoC Family
>>>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
>>>>> +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-eDPU.dtb
>>>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
>>>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
>>>>>  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
>>>>> diff --git a/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>>>> new file mode 100644
>>>>> index 000000000000..6b573a6854cc
>>>>> --- /dev/null
>>>>> +++ b/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
>>>>> @@ -0,0 +1,14 @@
>>>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>>>> +
>>>>> +/dts-v1/;
>>>>> +
>>>>> +#include "armada-3720-uDPU.dtsi"
>>>>> +
>>>>> +/ {
>>>>> +     model = "Methode eDPU Board";
>>>>> +     compatible = "methode,edpu", "marvell,armada3720";
>>>>
>>>> You need also bindings for the board compatible. Someone should convert
>>>> the Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt to YAML.
>>>
>>> Ok, I can convert the SoC compatibles at least for now.
>>> Any advice you can give me on how the handle the Espressobin boards
>>> having multiple board-specific compatibles?
>>> For example, Espressobin V7 has:
>>> "globalscale,espressobin-v7", "globalscale,espressobin"
>>>
>>
>> Documentation/devicetree/bindings/arm/fsl.yaml
> 
> Thanks, now it makes sense.
> 
>>
>>>>
>>>>> +};
>>>>> +> +  sfp_eth1: sfp-eth1 {
>>>>
>>>> Generic node names, please.
>>>
>>> Can you give me an example of what would be appropriate here because the SFP
>>> bindings example utilizes the same naming scheme as used here?
>>
>> "sfp" if you have only one sfp node.
> 
> There are 2 SFP nodes in total, that is why they are named according
> to the ethernet controller
> to which they are connected.
> uDPU has 2 SFP slots while eDPU has 1, so one was moved to uDPU DTS.

Ah, then let it be. sfp-1 and sfp-2 would also work, but that's not
important.


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-05-10 12:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-09 11:00 [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Robert Marko
2022-05-09 11:00 ` [PATCH 2/2] arm64: dts: marvell: add support for Methode eDPU Robert Marko
2022-05-10 10:20   ` Krzysztof Kozlowski
2022-05-10 11:41     ` Robert Marko
2022-05-10 11:46       ` Krzysztof Kozlowski
2022-05-10 12:43         ` Robert Marko
2022-05-10 12:50           ` Krzysztof Kozlowski
2022-05-10 10:20 ` [PATCH 1/2] dt-bindings: vendor-prefixes: add Methode Electronics Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).