2023-04-12 02:59:52

by Tony Dinh

[permalink] [raw]
Subject: [PATCH v2 0/2] Add support for Thecus N2350 board


Thecus N2350 is a NAS based on Marvell Armada 385 SoC.

Board Specification:

- Marvel MV88F6820 Dual Core at 1GHz
- 1 GiB DDR4 RAM
- 4MB Macronix mx25l3205d SPI flash
- 512MB Hynix H27U4G8F2DTR-BC NAND flash
- I2C
- 2x USB 3.0
- 1x GBE LAN port (PHY: Marvell 88E1510)
- 2x SATA (hot swap slots)
- 3x buttons
- 10x LEDS
- serial console

Changes in v2:
- Add marvell,38x.yaml. For now, add this binding to the Marvell
directory to keep it consistent with other Marvell yaml files.
At a later date and a separate patch, consolidate the Marvell
yaml files into marvell.yaml.
- Fix various DT bindings conformance (too numerous to list)
- Vendor prefix is not necessary, so remove it.

Tony Dinh (2):
ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x
ARM: dts: mvebu: add Thecus N2350 board DTS

.../bindings/arm/marvell/armada-38x.yaml | 27 ++
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/armada-385-thecus-n2350.dts | 432 ++++++++++++++++++
3 files changed, 460 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
create mode 100644 arch/arm/boot/dts/armada-385-thecus-n2350.dts

--
2.30.2


2023-04-12 03:00:01

by Tony Dinh

[permalink] [raw]
Subject: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

Add device tree binding for Marvell Armada 38x.

Signed-off-by: Tony Dinh <[email protected]>
---

Changes in v2:
- Add marvell,38x.yaml. For now, add this binding to the Marvell
directory to keep it consistent with other Marvell yaml files.
At a later date and a separate patch, consolidate the Marvell
yaml files into marvell.yaml.

.../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml

diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
new file mode 100644
index 000000000000..096bd46d932a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/marvell/marvell,38x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell Armada 38x Platforms
+
+maintainers:
+ - Gregory CLEMENT <[email protected]>
+ - Andrew Lunn <[email protected]>
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+
+ - description: Armada 380 SoC
+ items:
+ - const: marvell,armada380
+
+ - description: Armada 385 SoC
+ items:
+ - const: marvell,armada385
+
+additionalProperties: true
--
2.30.2

2023-04-12 03:00:23

by Tony Dinh

[permalink] [raw]
Subject: [PATCH v2 2/2] ARM: dts: mvebu: add Thecus N2350 board DTS

Add Thecus N2350 board DTS and Makefile.

Signed-off-by: Tony Dinh <[email protected]>
---

Changes in v2:
- Fix various DT bindings conformance (too numerous to list)
- Vendor prefix is not necessary, so remove it.

arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/armada-385-thecus-n2350.dts | 432 ++++++++++++++++++
2 files changed, 433 insertions(+)
create mode 100644 arch/arm/boot/dts/armada-385-thecus-n2350.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index efe4152e5846..cc856a57e58d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1535,6 +1535,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
armada-385-linksys-rango.dtb \
armada-385-linksys-shelby.dtb \
armada-385-synology-ds116.dtb \
+ armada-385-thecus-n2350.dtb \
armada-385-turris-omnia.dtb \
armada-388-clearfog.dtb \
armada-388-clearfog-base.dtb \
diff --git a/arch/arm/boot/dts/armada-385-thecus-n2350.dts b/arch/arm/boot/dts/armada-385-thecus-n2350.dts
new file mode 100644
index 000000000000..54f1eab770a4
--- /dev/null
+++ b/arch/arm/boot/dts/armada-385-thecus-n2350.dts
@@ -0,0 +1,432 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Device Tree file for Thecus N2350 board
+ *
+ * Copyright (C) 2018-2023 Tony Dinh <[email protected]>
+ * Copyright (C) 2018 Manuel Jung <[email protected]>
+ */
+
+/dts-v1/;
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "armada-385.dtsi"
+
+/ {
+ model = "Thecus N2350";
+ compatible = "marvell,armada385";
+
+ aliases {
+ ethernet0 = &eth0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x40000000>; /* 1GB */
+ };
+
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
+ MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
+ MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
+ MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
+
+ };
+
+ usb3_0_phy: usb-phy {
+ compatible = "usb-nop-xceiv";
+ vcc-supply = <&usb3_0_power>;
+ #phy-cells = <0>;
+ };
+
+ usb3_1_phy: usb-phy {
+ compatible = "usb-nop-xceiv";
+ vcc-supply = <&usb3_1_power>;
+ #phy-cells = <0>;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&pmx_power_button &pmx_copy_button &pmx_reset_button>;
+ pinctrl-names = "default";
+
+ button-1 {
+ label = "Power Button";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
+ };
+
+ button-2 {
+ label = "Copy Button";
+ linux,code = <KEY_COPY>;
+ gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
+ };
+
+ button-3 {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&pmx_sata1_white_led
+ &pmx_sata1_red_led
+ &pmx_sata2_white_led
+ &pmx_sata2_red_led
+ &pmx_sys_white_led
+ &pmx_sys_red_led
+ &pmx_pwr_blue_led
+ &pmx_pwr_red_led
+ &pmx_usb_white_led
+ &pmx_usb_red_led>;
+
+ pinctrl-names = "default";
+
+ led-1 {
+ label = "n2350:white:sata1";
+ gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-2 {
+ label = "n2350:red:sata1";
+ gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-3 {
+ label = "n2350:white:sata2";
+ gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-4 {
+ label = "n2350:red:sata2";
+ gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-5 {
+ label = "n2350:white:sys";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+ led-6 {
+ label = "n2350:red:sys";
+ gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-7 {
+ label = "n2350:blue:pwr";
+ gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-8 {
+ label = "n2350:red:pwr";
+ gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-9 {
+ label = "n2350:white:usb";
+ gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-10 {
+ label = "n2350:red:usb";
+ gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb3_0_power: v5-vbus0 {
+ compatible = "regulator-fixed";
+ regulator-name = "USB3_0_Power";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+ };
+
+ usb3_1_power: v5-vbus1 {
+ compatible = "regulator-fixed";
+ regulator-name = "USB3_1_Power";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+ };
+
+ reg_sata0: pwr-sata0 {
+ compatible = "regulator-fixed";
+ regulator-name = "pwr_en_sata0";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ reg_5v_sata0: v5-sata0 {
+ compatible = "regulator-fixed";
+ regulator-name = "v5.0-sata0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&reg_sata0>;
+ };
+
+ reg_12v_sata0: v12-sata0 {
+ compatible = "regulator-fixed";
+ regulator-name = "v12.0-sata0";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ vin-supply = <&reg_sata0>;
+ };
+
+ reg_sata1: pwr-sata0 {
+ regulator-name = "pwr_en_sata1";
+ compatible = "regulator-fixed";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
+ };
+
+ reg_5v_sata1: v5-sata1 {
+ compatible = "regulator-fixed";
+ regulator-name = "v5.0-sata1";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&reg_sata1>;
+ };
+
+ reg_12v_sata1: v12-sata1 {
+ compatible = "regulator-fixed";
+ regulator-name = "v12.0-sata1";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ vin-supply = <&reg_sata1>;
+ };
+
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ pinctrl-0 = <&pmx_pwr_off>;
+ pinctrl-names = "default";
+ gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
+ };
+
+};
+
+&ahci0 {
+ status = "okay";
+};
+
+&bm {
+ status = "okay";
+};
+
+&bm_bppi {
+ status = "okay";
+};
+
+&eth0 {
+ status = "okay";
+ phy = <&phy0>;
+ phy-mode = "sgmii";
+ buffer-manager = <&bm>;
+ bm,pool-long = <0>;
+ bm,pool-short = <1>;
+};
+
+&i2c0 {
+ status = "okay";
+ clock-frequency = <100000>;
+};
+
+&i2c1 {
+ status = "okay";
+ clock-frequency = <100000>;
+};
+
+&mdio {
+ phy0: ethernet-phy@0 {
+ reg = <1>;
+ };
+};
+
+&nand_controller {
+ status = "okay";
+
+ nand@0 {
+ status = "okay";
+ reg = <0>;
+ label = "pxa3xx_nand-0";
+ nand-rb = <0>;
+ marvell,nand-keep-config;
+ nand-on-flash-bbt;
+ nand-ecc-strength = <4>;
+ nand-ecc-step-size = <512>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "rootfs";
+ reg = <0x00000000 0x20000000>;
+ };
+
+ };
+ };
+};
+
+&pciec {
+ status = "okay";
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&pcie2 {
+ status = "okay";
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+
+ pmx_power_button: pmx-power-button {
+ marvell,pins = "mpp49";
+ marvell,function = "gpio";
+ };
+
+ pmx_copy_button: pmx-copy-button {
+ marvell,pins = "mpp52";
+ marvell,function = "gpio";
+ };
+
+ pmx_reset_button: pmx-reset-button {
+ marvell,pins = "mpp50";
+ marvell,function = "gpio";
+ };
+
+ pmx_sata1_white_led: pmx-sata1-white-led {
+ marvell,pins = "mpp20";
+ marvell,function = "gpio";
+ };
+
+ pmx_sata1_red_led: pmx-sata1-red-led {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+
+ pmx_sata2_white_led: pmx-sata2-white-led {
+ marvell,pins = "mpp19";
+ marvell,function = "gpio";
+ };
+
+ pmx_sata2_red_led: pmx-sata2-red-led {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+
+ pmx_sys_white_led: pmx-sys-white-led {
+ marvell,pins = "mpp14";
+ marvell,function = "gpio";
+ };
+
+ pmx_sys_red_led: pmx-sys-red-led {
+ marvell,pins = "mpp15";
+ marvell,function = "gpio";
+ };
+
+ pmx_buzzer: pmx-buzzer {
+ marvell,pins = "mpp51";
+ marvell,function = "gpio";
+ };
+
+ pmx_pwr_off: pmx-pwr-off {
+ marvell,pins = "mpp54";
+ marvell,function = "gpio";
+ };
+
+ pmx_pwr_blue_led: pmx-pwr-blue-led {
+ marvell,pins = "mpp43";
+ marvell,function = "gpio";
+ };
+
+ pmx_pwr_red_led: pmx-pwr-red-led {
+ marvell,pins = "mpp18";
+ marvell,function = "gpio";
+ };
+
+ pmx_usb_white_led: pmx-usb-white-led {
+ marvell,pins = "mpp16";
+ marvell,function = "gpio";
+ };
+
+ pmx_usb_red_led: pmx-usb-red-led {
+ marvell,pins = "mpp17";
+ marvell,function = "gpio";
+ };
+};
+
+&sdhci {
+ broken-cd;
+ wp-inverted;
+ bus-width = <8>;
+ status = "okay";
+ no-1-8-v;
+};
+
+&spi1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi1_pins>;
+ status = "okay";
+
+ /* spi: 4M Flash Macronix MX25L3205D */
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+
+ spi-max-frequency = <108000000>;
+ spi-cpha;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x00000000 0x00100000>;
+ };
+
+ partition@100000 {
+ label = "u-boot-env";
+ reg = <0x00100000 0x00010000>;
+ };
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb3_0 {
+ status = "okay";
+};
+
+&usb3_1 {
+ status = "okay";
+};
--
2.30.2

2023-04-12 07:20:22

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

On 12/04/2023 04:57, Tony Dinh wrote:
> Add device tree binding for Marvell Armada 38x.
>
> Signed-off-by: Tony Dinh <[email protected]>

Use subject prefixes matching the subsystem (which you can get for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching).

This is not DTS. These are bindings.

> ---
>
> Changes in v2:
> - Add marvell,38x.yaml. For now, add this binding to the Marvell
> directory to keep it consistent with other Marvell yaml files.
> At a later date and a separate patch, consolidate the Marvell
> yaml files into marvell.yaml.
>
> .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml

marvell,armada-38x.yaml

Or just squash it with existing armada bindings... Keeping one binding
per one SoC group is a bit a lot.

>
> diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
> new file mode 100644
> index 000000000000..096bd46d932a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
> @@ -0,0 +1,27 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/marvell/marvell,38x.yaml#

Does not look like you tested the bindings. Please run `make
dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).


Best regards,
Krzysztof

2023-04-12 12:30:51

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: mvebu: add Thecus N2350 board DTS

> +
> +/ {
> + model = "Thecus N2350";
> + compatible = "marvell,armada385";

If you look at all the other armarda-385 .dts files, they all have a
board compatible. It might not be needed now, but it could be useful
in the future and allow backwards compatibility.

> +&mdio {
> + phy0: ethernet-phy@0 {
> + reg = <1>;
> + };
> +};

Since you have ref = <1>, this should be ethernet-phy@1.

2023-04-12 12:37:56

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x


On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
> Add device tree binding for Marvell Armada 38x.
>
> Signed-off-by: Tony Dinh <[email protected]>
> ---
>
> Changes in v2:
> - Add marvell,38x.yaml. For now, add this binding to the Marvell
> directory to keep it consistent with other Marvell yaml files.
> At a later date and a separate patch, consolidate the Marvell
> yaml files into marvell.yaml.
>
> .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.

2023-04-12 18:54:52

by Tony Dinh

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: mvebu: add Thecus N2350 board DTS

Hi Andrew,

On Wed, Apr 12, 2023 at 5:24 AM Andrew Lunn <[email protected]> wrote:
>
> > +
> > +/ {
> > + model = "Thecus N2350";
> > + compatible = "marvell,armada385";
>
> If you look at all the other armarda-385 .dts files, they all have a
> board compatible. It might not be needed now, but it could be useful
> in the future and allow backwards compatibility.
>
> > +&mdio {
> > + phy0: ethernet-phy@0 {
> > + reg = <1>;
> > + };
> > +};
>
> Since you have ref = <1>, this should be ethernet-phy@1.
>

Thanks! somehow I kept missing that change.

All the best,
Tony

2023-04-12 19:17:07

by Tony Dinh

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

Hi Rob,
Hi Krzysztof,

On Wed, Apr 12, 2023 at 5:36 AM Rob Herring <[email protected]> wrote:
>
>
> On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
> > Add device tree binding for Marvell Armada 38x.
> >
> > Signed-off-by: Tony Dinh <[email protected]>
> > ---
> >
> > Changes in v2:
> > - Add marvell,38x.yaml. For now, add this binding to the Marvell
> > directory to keep it consistent with other Marvell yaml files.
> > At a later date and a separate patch, consolidate the Marvell
> > yaml files into marvell.yaml.
> >
> > .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
> > 1 file changed, 27 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> ./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
> expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]
>
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
>

Thanks for the reviews. After running make dt_binding_check for it
seems like hours (on a dual-core 1.8GHz ARM box), I got impatient and
used
make CHECK_DTBS=y armada-385-thecus-n2350.dtb

I'll move this to another faster box and run make dt_binding_check.

All the best,
Tony

2023-04-13 07:53:16

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

On 12/04/2023 21:05, Tony Dinh wrote:
> Hi Rob,
> Hi Krzysztof,
>
> On Wed, Apr 12, 2023 at 5:36 AM Rob Herring <[email protected]> wrote:
>>
>>
>> On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
>>> Add device tree binding for Marvell Armada 38x.
>>>
>>> Signed-off-by: Tony Dinh <[email protected]>
>>> ---
>>>
>>> Changes in v2:
>>> - Add marvell,38x.yaml. For now, add this binding to the Marvell
>>> directory to keep it consistent with other Marvell yaml files.
>>> At a later date and a separate patch, consolidate the Marvell
>>> yaml files into marvell.yaml.
>>>
>>> .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
>>> 1 file changed, 27 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
>>>
>>
>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> ./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
>> expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#
>>
>> doc reference errors (make refcheckdocs):
>>
>> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]
>>
>> The base for the series is generally the latest rc1. A different dependency
>> should be noted in *this* patch.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
>> Please check and re-submit after running the above command yourself. Note
>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>> your schema. However, it must be unset to test all examples with your schema.
>>
>
> Thanks for the reviews. After running make dt_binding_check for it
> seems like hours (on a dual-core 1.8GHz ARM box), I got impatient and
> used
> make CHECK_DTBS=y armada-385-thecus-n2350.dtb
>
> I'll move this to another faster box and run make dt_binding_check.

So many questions...
1. Why do you have to run it on arm? Not on regular machine for work? No
one of us does like that...
2. You are now mixing now two different commands. You were asked to run
DT_SCHEMA_FILES
3. Read the provided guide how to speed it up. It runs within few seconds.


Best regards,
Krzysztof

2023-04-13 19:16:58

by Tony Dinh

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

Hi Krzysztof,

On Thu, Apr 13, 2023 at 12:51 AM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 12/04/2023 21:05, Tony Dinh wrote:
> > Hi Rob,
> > Hi Krzysztof,
> >
> > On Wed, Apr 12, 2023 at 5:36 AM Rob Herring <[email protected]> wrote:
> >>
> >>
> >> On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
> >>> Add device tree binding for Marvell Armada 38x.
> >>>
> >>> Signed-off-by: Tony Dinh <[email protected]>
> >>> ---
> >>>
> >>> Changes in v2:
> >>> - Add marvell,38x.yaml. For now, add this binding to the Marvell
> >>> directory to keep it consistent with other Marvell yaml files.
> >>> At a later date and a separate patch, consolidate the Marvell
> >>> yaml files into marvell.yaml.
> >>>
> >>> .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
> >>> 1 file changed, 27 insertions(+)
> >>> create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
> >>>
> >>
> >> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> >> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> >>
> >> yamllint warnings/errors:
> >>
> >> dtschema/dtc warnings/errors:
> >> ./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
> >> expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#
> >>
> >> doc reference errors (make refcheckdocs):
> >>
> >> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]
> >>
> >> The base for the series is generally the latest rc1. A different dependency
> >> should be noted in *this* patch.
> >>
> >> If you already ran 'make dt_binding_check' and didn't see the above
> >> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> >> date:
> >>
> >> pip3 install dtschema --upgrade
> >>
> >> Please check and re-submit after running the above command yourself. Note
> >> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> >> your schema. However, it must be unset to test all examples with your schema.
> >>
> >
> > Thanks for the reviews. After running make dt_binding_check for it
> > seems like hours (on a dual-core 1.8GHz ARM box), I got impatient and
> > used
> > make CHECK_DTBS=y armada-385-thecus-n2350.dtb
> >
> > I'll move this to another faster box and run make dt_binding_check.
>
> So many questions...
> 1. Why do you have to run it on arm? Not on regular machine for work? No
> one of us does like that...

It's just more convenient for me to run on ARM (I also build ARM
kernels natively with distcc). This is not work related, so I cannot
use machines at work. I can use my personal 4-core laptop, though.

> 2. You are now mixing now two different commands. You were asked to run
> DT_SCHEMA_FILES

OK. As you can see, I have no experience with schema before.

> 3. Read the provided guide how to speed it up. It runs within few seconds.

Good to know there is a way. Thanks for the advice!

All the best,
Tony

>
>
> Best regards,
> Krzysztof
>

2023-05-01 23:02:46

by Tony Dinh

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

Hi Rob,

On Wed, Apr 12, 2023 at 5:36 AM Rob Herring <[email protected]> wrote:
>
>
> On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
> > Add device tree binding for Marvell Armada 38x.
> >
> > Signed-off-by: Tony Dinh <[email protected]>
> > ---
> >
> > Changes in v2:
> > - Add marvell,38x.yaml. For now, add this binding to the Marvell
> > directory to keep it consistent with other Marvell yaml files.
> > At a later date and a separate patch, consolidate the Marvell
> > yaml files into marvell.yaml.
> >
> > .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
> > 1 file changed, 27 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> ./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
> expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]
>
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
>

Would dt-schema in Debian 12 work? or must it be the latest dtschema
installed by pip3 or from GitHub?

Thanks,
Tony

2023-05-02 06:58:53

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: mvebu: Add device tree binding for Marvell Armada 38x

On 02/05/2023 00:46, Tony Dinh wrote:
> Hi Rob,
>
> On Wed, Apr 12, 2023 at 5:36 AM Rob Herring <[email protected]> wrote:
>>
>>
>> On Tue, 11 Apr 2023 19:57:35 -0700, Tony Dinh wrote:
>>> Add device tree binding for Marvell Armada 38x.
>>>
>>> Signed-off-by: Tony Dinh <[email protected]>
>>> ---
>>>
>>> Changes in v2:
>>> - Add marvell,38x.yaml. For now, add this binding to the Marvell
>>> directory to keep it consistent with other Marvell yaml files.
>>> At a later date and a separate patch, consolidate the Marvell
>>> yaml files into marvell.yaml.
>>>
>>> .../bindings/arm/marvell/armada-38x.yaml | 27 +++++++++++++++++++
>>> 1 file changed, 27 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
>>>
>>
>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> ./Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml: $id: relative path/filename doesn't match actual path or filename
>> expected: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml#
>>
>> doc reference errors (make refcheckdocs):
>>
>> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]
>>
>> The base for the series is generally the latest rc1. A different dependency
>> should be noted in *this* patch.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
>> Please check and re-submit after running the above command yourself. Note
>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>> your schema. However, it must be unset to test all examples with your schema.
>>
>
> Would dt-schema in Debian 12 work? or must it be the latest dtschema
> installed by pip3 or from GitHub?

If Debian 12 has latest schema, it would work.

Best regards,
Krzysztof