2022-08-22 18:38:01

by Jerry Ray

[permalink] [raw]
Subject: [linux][PATCH v2 1/2] dts: arm: Adding docs for SAMA5D3-EDS board

Adding the SAMA5D3-EDS board from Microchip into the atmel AT91 board
description yaml file.

Signed-off-by: Jerry Ray <[email protected]>
---
v1->v2:
- Added Device Tree documentation for Microchip SAMA5D3-EDS board
---
Documentation/devicetree/bindings/arm/atmel-at91.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
index 08efb259a947..635491aaeb0c 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -138,6 +138,13 @@ properties:
- const: atmel,at91sam9g20
- const: atmel,at91sam9

+ - description: Microchip SAMA5D3 Ethernet Development System Board
+ items:
+ - const: microchip,sama5d3-eds
+ - const: atmel,sama5d36
+ - const: atmel,sama5d3
+ - const: atmel,sama5
+
- items:
- enum:
- atmel,sama5d31
--
2.17.1


2022-08-22 18:38:16

by Jerry Ray

[permalink] [raw]
Subject: [linux][PATCH v2 2/2] dts: arm: at91: Add SAMA5D3-EDS Board

The SAMA5D3-EDS board is an Ethernet Development Platform allowing for
evaluating many Microchip ethernet switch and PHY products. Various
daughter cards can connect up via an RGMII connector or an RMII connector.

The EDS board is not intended for stand-alone use and has no ethernet
capabilities when no daughter board is connected. As such, this device
tree is intended to be used with a DT overlay defining the add-on board.
To better ensure consistency, some items are defined here as a form of
documentation so that all add-on overlays will use the same terms.

Google search keywords: "Microchip SAMA5D3-EDS"

Signed-off-by: Jerry Ray <[email protected]>
---
v1->v2:
- Modified the compatible field in the device tree to reflect Microchip
Ethernet Development System Board.
---
arch/arm/boot/dts/at91-sama5d3_eds.dts | 314 +++++++++++++++++++++++++
1 file changed, 314 insertions(+)
create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts

diff --git a/arch/arm/boot/dts/at91-sama5d3_eds.dts b/arch/arm/boot/dts/at91-sama5d3_eds.dts
new file mode 100644
index 000000000000..626f7bbe0164
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
@@ -0,0 +1,314 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * at91-sama5d3_eds.dts - Device Tree file for the SAMA5D3 Ethernet
+ * Development System board.
+ *
+ * Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+ * 2022 Jerry Ray <[email protected]>
+ */
+/dts-v1/;
+#include "sama5d36.dtsi"
+
+/ {
+ model = "SAMA5D3 Ethernet Development System";
+ compatible = "microchip,sama5d3-eds", "atmel,sama5d3", "atmel,sama5";
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ slow_xtal {
+ clock-frequency = <32768>;
+ };
+
+ main_xtal {
+ clock-frequency = <12000000>;
+ };
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_key_gpio>;
+
+ button-3 {
+ label = "PB_USER";
+ gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
+ linux,code = <0x104>;
+ wakeup-source;
+ };
+ };
+
+ memory@20000000 {
+ reg = <0x20000000 0x10000000>;
+ };
+
+ regulators: regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vcc_3v3_reg: BUCK_REG1 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_3V3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ vcc_2v5_reg: LDO_REG2 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_2V5";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-always-on;
+ vin-supply = <&vcc_3v3_reg>;
+ };
+
+ vcc_1v8_reg: LDO_REG3 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_1V8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <&vcc_3v3_reg>;
+ };
+
+ vcc_1v2_reg: BUCK_REG4 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_1V2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ vcc_mmc0_reg: fixedregulator_mmc0 {
+ compatible = "regulator-fixed";
+ regulator-name = "mmc0-card-supply";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
+ gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&can0 {
+ status = "okay";
+};
+
+&dbgu {
+ status = "okay";
+};
+
+&ebi {
+ pinctrl-0 = <&pinctrl_ebi_nand_addr>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ nand_controller: nand-controller {
+ status = "okay";
+
+ nand@3 {
+ reg = <0x3 0x0 0x2>;
+ atmel,rb = <0>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-ecc-strength = <4>;
+ nand-ecc-step-size = <512>;
+ nand-on-flash-bbt;
+ label = "atmel_nand";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ at91bootstrap@0 {
+ label = "at91bootstrap";
+ reg = <0x0 0x40000>;
+ };
+
+ bootloader@40000 {
+ label = "bootloader";
+ reg = <0x40000 0xc0000>;
+ };
+
+ bootloaderenvred@100000 {
+ label = "bootloader env redundant";
+ reg = <0x100000 0x40000>;
+ };
+
+ bootloaderenv@140000 {
+ label = "bootloader env";
+ reg = <0x140000 0x40000>;
+ };
+
+ dtb@180000 {
+ label = "device tree";
+ reg = <0x180000 0x80000>;
+ };
+
+ kernel@200000 {
+ label = "kernel";
+ reg = <0x200000 0x600000>;
+ };
+
+ rootfs@800000 {
+ label = "rootfs";
+ reg = <0x800000 0x0f800000>;
+ };
+ };
+ };
+ };
+};
+
+&i2c0 {
+ pinctrl-0 = <&pinctrl_i2c0_pu>;
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ dmas = <0>, <0>; /* Do not use DMA for i2c2 */
+ pinctrl-0 = <&pinctrl_i2c2_pu>;
+ status = "okay";
+};
+
+&mmc0 {
+ pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
+ &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
+ vmmc-supply = <&vcc_mmc0_reg>;
+ vqmmc-supply = <&vcc_3v3_reg>;
+ status = "okay";
+ slot@0 {
+ reg = <0>;
+ bus-width = <8>;
+ cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&pinctrl {
+ board {
+ pinctrl_i2c0_pu: i2c0_pu {
+ atmel,pins =
+ <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
+ <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
+ };
+
+ pinctrl_i2c2_pu: i2c2_pu {
+ atmel,pins =
+ <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
+ <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
+ };
+
+ pinctrl_key_gpio: key_gpio_0 {
+ atmel,pins =
+ <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+ };
+
+ pinctrl_mmc0_cd: mmc0_cd {
+ atmel,pins =
+ <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+ };
+
+ pinctrl_spi0_cs: spi0_cs_default {
+ atmel,pins =
+ <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+ AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+
+ pinctrl_spi1_cs: spi1_cs_default {
+ atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+ AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+
+ pinctrl_usba_vbus: usba_vbus {
+ atmel,pins =
+ <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
+ };
+
+ pinctrl_usb_default: usb_default {
+ atmel,pins =
+ <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+ AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+
+ pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
+ atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+ };
+
+ /* Reserved for reset signal to the RGMII connector. */
+ pinctrl_rgmii_rstn: rgmii_rstn {
+ atmel,pins =
+ <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+ };
+
+ /* Reserved for an interrupt line from the RMII and RGMII connectors. */
+ pinctrl_spi_irqn: spi_irqn {
+ atmel,pins =
+ <AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
+ };
+
+ /* Reserved for VBUS fault interrupt. */
+ pinctrl_vbusfault_irqn: vbusfault_irqn {
+ atmel,pins =
+ <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
+ };
+ };
+};
+
+&spi0 {
+ pinctrl-names = "default", "cs";
+ pinctrl-1 = <&pinctrl_spi0_cs>;
+ cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
+ status = "okay";
+};
+
+&spi1 {
+ pinctrl-names = "default", "cs";
+ pinctrl-1 = <&pinctrl_spi1_cs>;
+ cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioC 28 0>;
+ status = "okay";
+};
+
+&tcb0 {
+ timer0: timer@0 {
+ compatible = "atmel,tcb-timer";
+ reg = <0>;
+ };
+
+ timer1: timer@1 {
+ compatible = "atmel,tcb-timer";
+ reg = <1>;
+ };
+};
+
+&usb0 {
+ atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usba_vbus>;
+ status = "okay";
+};
+
+&usb1 {
+ atmel,vbus-gpio = <0
+ &pioE 3 GPIO_ACTIVE_HIGH
+ &pioE 4 GPIO_ACTIVE_HIGH
+ >;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usb_default>;
+ num-ports = <3>;
+ status = "okay";
+};
+
+&usb2 {
+ status = "okay";
+};
--
2.17.1

2022-08-23 08:08:08

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [linux][PATCH v2 2/2] dts: arm: at91: Add SAMA5D3-EDS Board

On 22.08.2022 21:13, Jerry Ray wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> The SAMA5D3-EDS board is an Ethernet Development Platform allowing for
> evaluating many Microchip ethernet switch and PHY products. Various
> daughter cards can connect up via an RGMII connector or an RMII connector.
>
> The EDS board is not intended for stand-alone use and has no ethernet
> capabilities when no daughter board is connected. As such, this device
> tree is intended to be used with a DT overlay defining the add-on board.
> To better ensure consistency, some items are defined here as a form of
> documentation so that all add-on overlays will use the same terms.
>
> Google search keywords: "Microchip SAMA5D3-EDS"
>
> Signed-off-by: Jerry Ray <[email protected]>
> ---
> v1->v2:
> - Modified the compatible field in the device tree to reflect Microchip
> Ethernet Development System Board.
> ---
> arch/arm/boot/dts/at91-sama5d3_eds.dts | 314 +++++++++++++++++++++++++
> 1 file changed, 314 insertions(+)
> create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts
>
> diff --git a/arch/arm/boot/dts/at91-sama5d3_eds.dts b/arch/arm/boot/dts/at91-sama5d3_eds.dts
> new file mode 100644

You have to add this file to Makefile to be compiled.

> index 000000000000..626f7bbe0164
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
> @@ -0,0 +1,314 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * at91-sama5d3_eds.dts - Device Tree file for the SAMA5D3 Ethernet
> + * Development System board.
> + *
> + * Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
> + * 2022 Jerry Ray <[email protected]>
> + */
> +/dts-v1/;
> +#include "sama5d36.dtsi"
> +
> +/ {
> + model = "SAMA5D3 Ethernet Development System";
> + compatible = "microchip,sama5d3-eds", "atmel,sama5d3", "atmel,sama5";
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + clocks {
> + slow_xtal {
> + clock-frequency = <32768>;
> + };
> +
> + main_xtal {
> + clock-frequency = <12000000>;
> + };
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_key_gpio>;
> +
> + button-3 {
> + label = "PB_USER";
> + gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
> + linux,code = <0x104>;
> + wakeup-source;
> + };
> + };
> +
> + memory@20000000 {
> + reg = <0x20000000 0x10000000>;
> + };
> +
> + regulators: regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;

Also, check "make W=1 dtbs". Please solve the warning related to
regulators. You can remove simple bus here, it should be fine w/o it and
compilation warning should be gone.

Thank you,
Claudiu Beznea

> +
> + vcc_3v3_reg: BUCK_REG1 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_3V3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + vcc_2v5_reg: LDO_REG2 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_2V5";
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <2500000>;
> + regulator-always-on;
> + vin-supply = <&vcc_3v3_reg>;
> + };
> +
> + vcc_1v8_reg: LDO_REG3 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_1V8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + vin-supply = <&vcc_3v3_reg>;
> + };
> +
> + vcc_1v2_reg: BUCK_REG4 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_1V2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + vcc_mmc0_reg: fixedregulator_mmc0 {
> + compatible = "regulator-fixed";
> + regulator-name = "mmc0-card-supply";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
> + gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
> + };
> + };
> +};
> +
> +&can0 {
> + status = "okay";
> +};
> +
> +&dbgu {
> + status = "okay";
> +};
> +
> +&ebi {
> + pinctrl-0 = <&pinctrl_ebi_nand_addr>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + nand_controller: nand-controller {
> + status = "okay";
> +
> + nand@3 {
> + reg = <0x3 0x0 0x2>;
> + atmel,rb = <0>;
> + nand-bus-width = <8>;
> + nand-ecc-mode = "hw";
> + nand-ecc-strength = <4>;
> + nand-ecc-step-size = <512>;
> + nand-on-flash-bbt;
> + label = "atmel_nand";
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + at91bootstrap@0 {
> + label = "at91bootstrap";
> + reg = <0x0 0x40000>;
> + };
> +
> + bootloader@40000 {
> + label = "bootloader";
> + reg = <0x40000 0xc0000>;
> + };
> +
> + bootloaderenvred@100000 {
> + label = "bootloader env redundant";
> + reg = <0x100000 0x40000>;
> + };
> +
> + bootloaderenv@140000 {
> + label = "bootloader env";
> + reg = <0x140000 0x40000>;
> + };
> +
> + dtb@180000 {
> + label = "device tree";
> + reg = <0x180000 0x80000>;
> + };
> +
> + kernel@200000 {
> + label = "kernel";
> + reg = <0x200000 0x600000>;
> + };
> +
> + rootfs@800000 {
> + label = "rootfs";
> + reg = <0x800000 0x0f800000>;
> + };
> + };
> + };
> + };
> +};
> +
> +&i2c0 {
> + pinctrl-0 = <&pinctrl_i2c0_pu>;
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "okay";
> +};
> +
> +&i2c2 {
> + dmas = <0>, <0>; /* Do not use DMA for i2c2 */
> + pinctrl-0 = <&pinctrl_i2c2_pu>;
> + status = "okay";
> +};
> +
> +&mmc0 {
> + pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
> + &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
> + vmmc-supply = <&vcc_mmc0_reg>;
> + vqmmc-supply = <&vcc_3v3_reg>;
> + status = "okay";
> + slot@0 {
> + reg = <0>;
> + bus-width = <8>;
> + cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&pinctrl {
> + board {
> + pinctrl_i2c0_pu: i2c0_pu {
> + atmel,pins =
> + <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
> + <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
> + };
> +
> + pinctrl_i2c2_pu: i2c2_pu {
> + atmel,pins =
> + <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
> + <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
> + };
> +
> + pinctrl_key_gpio: key_gpio_0 {
> + atmel,pins =
> + <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
> + };
> +
> + pinctrl_mmc0_cd: mmc0_cd {
> + atmel,pins =
> + <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
> + };
> +
> + pinctrl_spi0_cs: spi0_cs_default {
> + atmel,pins =
> + <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> + AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> + };
> +
> + pinctrl_spi1_cs: spi1_cs_default {
> + atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> + AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> + };
> +
> + pinctrl_usba_vbus: usba_vbus {
> + atmel,pins =
> + <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
> + };
> +
> + pinctrl_usb_default: usb_default {
> + atmel,pins =
> + <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> + AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> + };
> +
> + pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
> + atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> + };
> +
> + /* Reserved for reset signal to the RGMII connector. */
> + pinctrl_rgmii_rstn: rgmii_rstn {
> + atmel,pins =
> + <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
> + };
> +
> + /* Reserved for an interrupt line from the RMII and RGMII connectors. */
> + pinctrl_spi_irqn: spi_irqn {
> + atmel,pins =
> + <AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
> + };
> +
> + /* Reserved for VBUS fault interrupt. */
> + pinctrl_vbusfault_irqn: vbusfault_irqn {
> + atmel,pins =
> + <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
> + };
> + };
> +};
> +
> +&spi0 {
> + pinctrl-names = "default", "cs";
> + pinctrl-1 = <&pinctrl_spi0_cs>;
> + cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
> + status = "okay";
> +};
> +
> +&spi1 {
> + pinctrl-names = "default", "cs";
> + pinctrl-1 = <&pinctrl_spi1_cs>;
> + cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioC 28 0>;
> + status = "okay";
> +};
> +
> +&tcb0 {
> + timer0: timer@0 {
> + compatible = "atmel,tcb-timer";
> + reg = <0>;
> + };
> +
> + timer1: timer@1 {
> + compatible = "atmel,tcb-timer";
> + reg = <1>;
> + };
> +};
> +
> +&usb0 {
> + atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usba_vbus>;
> + status = "okay";
> +};
> +
> +&usb1 {
> + atmel,vbus-gpio = <0
> + &pioE 3 GPIO_ACTIVE_HIGH
> + &pioE 4 GPIO_ACTIVE_HIGH
> + >;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usb_default>;
> + num-ports = <3>;
> + status = "okay";
> +};
> +
> +&usb2 {
> + status = "okay";
> +};
> --
> 2.17.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2022-08-23 16:22:01

by Nicolas Ferre

[permalink] [raw]
Subject: Re: [linux][PATCH v2 2/2] dts: arm: at91: Add SAMA5D3-EDS Board

Hi Jerry,

On 23/08/2022 at 09:28, Claudiu Beznea - M18063 wrote:
> On 22.08.2022 21:13, Jerry Ray wrote:
>> The SAMA5D3-EDS board is an Ethernet Development Platform allowing for
>> evaluating many Microchip ethernet switch and PHY products. Various
>> daughter cards can connect up via an RGMII connector or an RMII connector.
>>
>> The EDS board is not intended for stand-alone use and has no ethernet
>> capabilities when no daughter board is connected. As such, this device
>> tree is intended to be used with a DT overlay defining the add-on board.
>> To better ensure consistency, some items are defined here as a form of
>> documentation so that all add-on overlays will use the same terms.
>>
>> Google search keywords: "Microchip SAMA5D3-EDS"
>>
>> Signed-off-by: Jerry Ray <[email protected]>
>> ---
>> v1->v2:
>> - Modified the compatible field in the device tree to reflect Microchip
>> Ethernet Development System Board.
>> ---
>> arch/arm/boot/dts/at91-sama5d3_eds.dts | 314 +++++++++++++++++++++++++
>> 1 file changed, 314 insertions(+)
>> create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts
>>
>> diff --git a/arch/arm/boot/dts/at91-sama5d3_eds.dts b/arch/arm/boot/dts/at91-sama5d3_eds.dts
>> new file mode 100644
>
> You have to add this file to Makefile to be compiled.
>
>> index 000000000000..626f7bbe0164
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
>> @@ -0,0 +1,314 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later

I would prefer that we also allow MIT:

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

>> +/*
>> + * at91-sama5d3_eds.dts - Device Tree file for the SAMA5D3 Ethernet
>> + * Development System board.
>> + *
>> + * Copyright (C) 2022 Microchip Technology, Inc. and its subsidiarie >> + * 2022 Jerry Ray <[email protected]>

Let's have only Microchip as a copyright holder and add yourself as
Author like:

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Brief description goes here.
*
* Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
*
* Author: John Doe <[email protected]>
*
* Longer description goes here.
* Even on multiple lines.
*/

>> + */
>> +/dts-v1/;
>> +#include "sama5d36.dtsi"
>> +
>> +/ {
>> + model = "SAMA5D3 Ethernet Development System";
>> + compatible = "microchip,sama5d3-eds", "atmel,sama5d3", "atmel,sama5";
>> +

[..]

>> +&pinctrl {
>> + board {
>> + pinctrl_i2c0_pu: i2c0_pu {
>> + atmel,pins =
>> + <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
>> + <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
>> + };
>> +
>> + pinctrl_i2c2_pu: i2c2_pu {
>> + atmel,pins =
>> + <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
>> + <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
>> + };
>> +
>> + pinctrl_key_gpio: key_gpio_0 {
>> + atmel,pins =
>> + <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
>> + };
>> +
>> + pinctrl_mmc0_cd: mmc0_cd {
>> + atmel,pins =
>> + <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
>> + };
>> +
>> + pinctrl_spi0_cs: spi0_cs_default {
>> + atmel,pins =
>> + <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> + AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> + };
>> +
>> + pinctrl_spi1_cs: spi1_cs_default {
>> + atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> + AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> + };
>> +
>> + pinctrl_usba_vbus: usba_vbus {
>> + atmel,pins =
>> + <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
>> + };
>> +
>> + pinctrl_usb_default: usb_default {
>> + atmel,pins =
>> + <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> + AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> + };
>> +
>> + pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
>> + atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> + };
>> +
>> + /* Reserved for reset signal to the RGMII connector. */
>> + pinctrl_rgmii_rstn: rgmii_rstn {

It's better if you sort these nodes alphabetically: please rearrange the
end of this list of pinctrl nodes.

>> + atmel,pins =
>> + <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
>> + };
>> +
>> + /* Reserved for an interrupt line from the RMII and RGMII connectors. */
>> + pinctrl_spi_irqn: spi_irqn {
>> + atmel,pins =
>> + <AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
>> + };
>> +
>> + /* Reserved for VBUS fault interrupt. */
>> + pinctrl_vbusfault_irqn: vbusfault_irqn {
>> + atmel,pins =
>> + <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
>> + };
>> + };
>> +};

Thanks for your patch Jerry. Best regards,
Nicolas


--
Nicolas Ferre

2022-08-25 22:19:51

by Rob Herring

[permalink] [raw]
Subject: Re: [linux][PATCH v2 1/2] dts: arm: Adding docs for SAMA5D3-EDS board

On Mon, 22 Aug 2022 13:13:13 -0500, Jerry Ray wrote:
> Adding the SAMA5D3-EDS board from Microchip into the atmel AT91 board
> description yaml file.
>
> Signed-off-by: Jerry Ray <[email protected]>
> ---
> v1->v2:
> - Added Device Tree documentation for Microchip SAMA5D3-EDS board
> ---
> Documentation/devicetree/bindings/arm/atmel-at91.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>

Acked-by: Rob Herring <[email protected]>