2022-09-09 16:38:02

by Jerry Ray

[permalink] [raw]
Subject: [linux][PATCH v9 1/2] dt-bindings: arm: at91: Add info on SAMA5D3-EDS

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

Signed-off-by: Jerry Ray <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
---
v8->v9: No Change
v7->v8:
- correcting patch subject line.
v6->v7:
- Moved the placement of the Microchip SAMA5D3-EDS entry within the file.
v5->v6:
- No code change - patch prefix naming modified to match with others.
v4->v5:
- No change
v3->v4:
- No change
v2->v3:
- No change
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 2b7848bb7769..9e2e66a7566d 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -127,6 +127,13 @@ properties:
- const: atmel,sama5d3
- const: atmel,sama5

+ - description: Microchip SAMA5D3 Ethernet Development System Board
+ items:
+ - const: microchip,sama5d3-eds
+ - const: atmel,sama5d36
+ - const: atmel,sama5d3
+ - const: atmel,sama5
+
- description: CalAmp LMU5000 board
items:
- const: calamp,lmu5000
--
2.17.1


2022-09-09 17:26:04

by Jerry Ray

[permalink] [raw]
Subject: [linux][PATCH v9 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 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.

Link: https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVELOPMENT-SYSTEM
Signed-off-by: Jerry Ray <[email protected]>
---
v8->v9:
- Changed node name from gpio to gpio-inputs
v7->v8:
- correcting patch subject line.
v6->v7:
- Renamed regulators, making things more consistent.
- Made slow_xtal and main_xtal entries direct overrides.
v5->v6:
- Replaced underscores in names where I can, improving naming.
v4->v5:
- patch now applies to v6.0-rc2
v3->v4:
- Fixed regulators as necessary to get the board to boot from SD Card.
v2->v3:
- Alphabetized pinctrl entries.
- cleaned up a warning in the regulators section.
- License tweaked to 'OR MIT'
- Included Makefile change
v1->v2:
- Modified the compatible field in the device tree to reflect Microchip
Ethernet Development System Board.
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/at91-sama5d3_eds.dts | 307 +++++++++++++++++++++++++
2 files changed, 308 insertions(+)
create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 05d8aef6e5d2..e92e639a2dc3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -61,6 +61,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
at91-sama5d2_icp.dtb \
at91-sama5d2_ptc_ek.dtb \
at91-sama5d2_xplained.dtb \
+ at91-sama5d3_eds.dtb \
at91-sama5d3_ksz9477_evb.dtb \
at91-sama5d3_xplained.dtb \
at91-dvk_som60.dtb \
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..bae6819217e0
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
@@ -0,0 +1,307 @@
+// 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 subsidiaries
+ *
+ * Author: Jerry Ray <[email protected]>
+ */
+/dts-v1/;
+#include "sama5d36.dtsi"
+
+/ {
+ model = "SAMA5D3 Ethernet Development System";
+ compatible = "microchip,sama5d3-eds", "atmel,sama5d36",
+ "atmel,sama5d3", "atmel,sama5";
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-inputs {
+ 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>;
+ };
+
+ vcc_3v3_reg: regulator-1 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_3V3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ vcc_2v5_reg: regulator-2 {
+ 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: regulator-3 {
+ 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: regulator-4 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC_1V2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ vcc_mmc0_reg: regulator-5 {
+ 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 {
+ pinctrl-0 = <&pinctrl_i2c2_pu>;
+ status = "okay";
+};
+
+&main_xtal {
+ clock-frequency = <12000000>;
+};
+
+&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>;
+ };
+
+ /* 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>;
+ };
+
+ 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>;
+ };
+
+ /* Reserved for VBUS fault interrupt. */
+ pinctrl_vbusfault_irqn: vbusfault-irqn {
+ atmel,pins =
+ <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
+ };
+
+ pinctrl_vcc_mmc0_reg_gpio: vcc-mmc0-reg-gpio-default {
+ atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+ };
+ };
+};
+
+&slow_xtal {
+ clock-frequency = <32768>;
+};
+
+&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 { /* USB Device port with VBUS detection. */
+ atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usba_vbus>;
+ status = "okay";
+};
+
+&usb1 { /* 3-port Host. First port is unused. */
+ atmel,vbus-gpio = <0
+ &pioE 3 GPIO_ACTIVE_HIGH
+ &pioE 4 GPIO_ACTIVE_HIGH
+ >;
+ num-ports = <3>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usb_default>;
+ status = "okay";
+};
+
+&usb2 {
+ status = "okay";
+};
--
2.17.1

2022-09-13 06:59:53

by Claudiu Beznea

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

On 09.09.2022 19:30, 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 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.
>
> Link: https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVELOPMENT-SYSTEM
> Signed-off-by: Jerry Ray <[email protected]>
> ---
> v8->v9:
> - Changed node name from gpio to gpio-inputs

Why not gpio-keys as all other DTSes are doing? Anyway, I can change it
while applying.

Thank you,
Claudiu Beznea

> v7->v8:
> - correcting patch subject line.
> v6->v7:
> - Renamed regulators, making things more consistent.
> - Made slow_xtal and main_xtal entries direct overrides.
> v5->v6:
> - Replaced underscores in names where I can, improving naming.
> v4->v5:
> - patch now applies to v6.0-rc2
> v3->v4:
> - Fixed regulators as necessary to get the board to boot from SD Card.
> v2->v3:
> - Alphabetized pinctrl entries.
> - cleaned up a warning in the regulators section.
> - License tweaked to 'OR MIT'
> - Included Makefile change
> v1->v2:
> - Modified the compatible field in the device tree to reflect Microchip
> Ethernet Development System Board.
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/at91-sama5d3_eds.dts | 307 +++++++++++++++++++++++++
> 2 files changed, 308 insertions(+)
> create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 05d8aef6e5d2..e92e639a2dc3 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -61,6 +61,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
> at91-sama5d2_icp.dtb \
> at91-sama5d2_ptc_ek.dtb \
> at91-sama5d2_xplained.dtb \
> + at91-sama5d3_eds.dtb \
> at91-sama5d3_ksz9477_evb.dtb \
> at91-sama5d3_xplained.dtb \
> at91-dvk_som60.dtb \
> 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..bae6819217e0
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
> @@ -0,0 +1,307 @@
> +// 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 subsidiaries
> + *
> + * Author: Jerry Ray <[email protected]>
> + */
> +/dts-v1/;
> +#include "sama5d36.dtsi"
> +
> +/ {
> + model = "SAMA5D3 Ethernet Development System";
> + compatible = "microchip,sama5d3-eds", "atmel,sama5d36",
> + "atmel,sama5d3", "atmel,sama5";
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + gpio-inputs {
> + 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>;
> + };
> +
> + vcc_3v3_reg: regulator-1 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_3V3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + vcc_2v5_reg: regulator-2 {
> + 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: regulator-3 {
> + 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: regulator-4 {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC_1V2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + vcc_mmc0_reg: regulator-5 {
> + 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 {
> + pinctrl-0 = <&pinctrl_i2c2_pu>;
> + status = "okay";
> +};
> +
> +&main_xtal {
> + clock-frequency = <12000000>;
> +};
> +
> +&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>;
> + };
> +
> + /* 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>;
> + };
> +
> + 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>;
> + };
> +
> + /* Reserved for VBUS fault interrupt. */
> + pinctrl_vbusfault_irqn: vbusfault-irqn {
> + atmel,pins =
> + <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
> + };
> +
> + pinctrl_vcc_mmc0_reg_gpio: vcc-mmc0-reg-gpio-default {
> + atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> + };
> + };
> +};
> +
> +&slow_xtal {
> + clock-frequency = <32768>;
> +};
> +
> +&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 { /* USB Device port with VBUS detection. */
> + atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usba_vbus>;
> + status = "okay";
> +};
> +
> +&usb1 { /* 3-port Host. First port is unused. */
> + atmel,vbus-gpio = <0
> + &pioE 3 GPIO_ACTIVE_HIGH
> + &pioE 4 GPIO_ACTIVE_HIGH
> + >;
> + num-ports = <3>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usb_default>;
> + status = "okay";
> +};
> +
> +&usb2 {
> + status = "okay";
> +};

2022-09-13 16:01:43

by Jerry Ray

[permalink] [raw]
Subject: RE: [linux][PATCH v9 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 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.
>>
>> Link:
>> https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVE
>> LOPMENT-SYSTEM
>> Signed-off-by: Jerry Ray <[email protected]>
>> ---
>> v8->v9:
>> - Changed node name from gpio to gpio-inputs
>
>Why not gpio-keys as all other DTSes are doing? Anyway, I can change it while applying.
>
>Thank you,
>Claudiu Beznea
>

gpio-keys is the compatible string name. I wanted the node name to be unique
for grep purposes.

Regards,
Jerry.

>> v7->v8:
>> - correcting patch subject line.
>> v6->v7:
>> - Renamed regulators, making things more consistent.
>> - Made slow_xtal and main_xtal entries direct overrides.
>> v5->v6:
>> - Replaced underscores in names where I can, improving naming.
>> v4->v5:
>> - patch now applies to v6.0-rc2
>> v3->v4:
>> - Fixed regulators as necessary to get the board to boot from SD Card.
>> v2->v3:
>> - Alphabetized pinctrl entries.
>> - cleaned up a warning in the regulators section.
>> - License tweaked to 'OR MIT'
>> - Included Makefile change
>> v1->v2:
>> - Modified the compatible field in the device tree to reflect Microchip
>> Ethernet Development System Board.
>> ---
>> arch/arm/boot/dts/Makefile | 1 +
>> arch/arm/boot/dts/at91-sama5d3_eds.dts | 307
>> +++++++++++++++++++++++++
>> 2 files changed, 308 insertions(+)
>> create mode 100644 arch/arm/boot/dts/at91-sama5d3_eds.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 05d8aef6e5d2..e92e639a2dc3 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -61,6 +61,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
>> at91-sama5d2_icp.dtb \
>> at91-sama5d2_ptc_ek.dtb \
>> at91-sama5d2_xplained.dtb \
>> + at91-sama5d3_eds.dtb \
>> at91-sama5d3_ksz9477_evb.dtb \
>> at91-sama5d3_xplained.dtb \
>> at91-dvk_som60.dtb \
>> 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..bae6819217e0
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/at91-sama5d3_eds.dts
>> @@ -0,0 +1,307 @@
>> +// 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 subsidiaries
>> + *
>> + * Author: Jerry Ray <[email protected]> */ /dts-v1/; #include
>> +"sama5d36.dtsi"
>> +
>> +/ {
>> + model = "SAMA5D3 Ethernet Development System";
>> + compatible = "microchip,sama5d3-eds", "atmel,sama5d36",
>> + "atmel,sama5d3", "atmel,sama5";
>> +
>> + chosen {
>> + stdout-path = "serial0:115200n8";
>> + };
>> +
>> + gpio-inputs {
>> + 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>;
>> + };
>> +
>> + vcc_3v3_reg: regulator-1 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "VCC_3V3";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> +
>> + vcc_2v5_reg: regulator-2 {
>> + 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: regulator-3 {
>> + 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: regulator-4 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "VCC_1V2";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + };
>> +
>> + vcc_mmc0_reg: regulator-5 {
>> + 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 {
>> + pinctrl-0 = <&pinctrl_i2c2_pu>;
>> + status = "okay";
>> +};
>> +
>> +&main_xtal {
>> + clock-frequency = <12000000>;
>> +};
>> +
>> +&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>;
>> + };
>> +
>> + /* 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>;
>> + };
>> +
>> + 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>;
>> + };
>> +
>> + /* Reserved for VBUS fault interrupt. */
>> + pinctrl_vbusfault_irqn: vbusfault-irqn {
>> + atmel,pins =
>> + <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
>> + };
>> +
>> + pinctrl_vcc_mmc0_reg_gpio: vcc-mmc0-reg-gpio-default {
>> + atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> + };
>> + };
>> +};
>> +
>> +&slow_xtal {
>> + clock-frequency = <32768>;
>> +};
>> +
>> +&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 { /* USB Device port with VBUS detection. */
>> + atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_usba_vbus>;
>> + status = "okay";
>> +};
>> +
>> +&usb1 { /* 3-port Host. First port is unused. */
>> + atmel,vbus-gpio = <0
>> + &pioE 3 GPIO_ACTIVE_HIGH
>> + &pioE 4 GPIO_ACTIVE_HIGH
>> + >;
>> + num-ports = <3>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_usb_default>;
>> + status = "okay";
>> +};
>> +
>> +&usb2 {
>> + status = "okay";
>> +};
>

2022-09-13 16:25:04

by Krzysztof Kozlowski

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

On 13/09/2022 08:37, [email protected] wrote:
> On 09.09.2022 19:30, 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 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.
>>
>> Link: https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVELOPMENT-SYSTEM
>> Signed-off-by: Jerry Ray <[email protected]>
>> ---
>> v8->v9:
>> - Changed node name from gpio to gpio-inputs
>
> Why not gpio-keys as all other DTSes are doing? Anyway, I can change it
> while applying.

+1 even if these are not physical keys. If we ever run sed pattern, it
would make life easier... :)


Best regards,
Krzysztof

2022-09-14 07:58:16

by Claudiu Beznea

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

On 13.09.2022 16:56, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 13/09/2022 08:37, [email protected] wrote:
>> On 09.09.2022 19:30, 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 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.
>>>
>>> Link: https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVELOPMENT-SYSTEM
>>> Signed-off-by: Jerry Ray <[email protected]>
>>> ---
>>> v8->v9:
>>> - Changed node name from gpio to gpio-inputs
>>
>> Why not gpio-keys as all other DTSes are doing? Anyway, I can change it
>> while applying.
>
> +1 even if these are not physical keys. If we ever run sed pattern, it
> would make life easier... :)

s/gpio-inputs/gpio-keys and applied to at91-dt, thanks!

>
>
> Best regards,
> Krzysztof

2022-09-17 17:26:42

by Krzysztof Kozlowski

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

On 13/09/2022 15:53, [email protected] 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 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.
>>>
>>> Link:
>>> https://www.microchip.com/en-us/development-tool/SAMA5D3-ETHERNET-DEVE
>>> LOPMENT-SYSTEM
>>> Signed-off-by: Jerry Ray <[email protected]>
>>> ---
>>> v8->v9:
>>> - Changed node name from gpio to gpio-inputs
>>
>> Why not gpio-keys as all other DTSes are doing? Anyway, I can change it while applying.
>>
>> Thank you,
>> Claudiu Beznea
>>
>
> gpio-keys is the compatible string name. I wanted the node name to be unique
> for grep purposes.

Node names should not be unique but generic.

https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

>
> Regards,
> Jerry.
>
>>> v7->v8:
>>> - correcting patch subject line.
>>> v6->v7:

Please trim your replies... there is no need to quote everything after
the comment.

(snip)


Best regards,
Krzysztof