[PATCH v1] ARM: at91: add Microchip EVB-KSZ9477 board
Nicolas Ferre
nicolas.ferre at microchip.com
Wed Dec 8 03:35:19 PST 2021
On 11/11/2021 at 09:10, Oleksij Rempel wrote:
> Add KSZ9477 managed switch evaluation kit with SAMA5D36 MPU:
> https://www.microchip.com/en-us/development-tool/evb-ksz9477
>
> Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
Patch looks good to me:
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Thanks Oleksij, best regards,
Nicolas
> ---
> arch/arm/boot/dts/Makefile | 1 +
> .../arm/boot/dts/at91-sama5d3_ksz9477_evb.dts | 209 ++++++++++++++++++
> 2 files changed, 210 insertions(+)
> create mode 100644 arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 7e0934180724..ff0557b9dfc7 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -59,6 +59,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
> at91-sama5d2_icp.dtb \
> at91-sama5d2_ptc_ek.dtb \
> at91-sama5d2_xplained.dtb \
> + at91-sama5d3_ksz9477_evb.dtb \
> at91-sama5d3_xplained.dtb \
> at91-dvk_som60.dtb \
> at91-gatwick.dtb \
> diff --git a/arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts b/arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts
> new file mode 100644
> index 000000000000..443e8b022897
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts
> @@ -0,0 +1,209 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright (c) 2021 Oleksij Rempel <kernel at pengutronix.de>, Pengutronix
> + */
> +/dts-v1/;
> +#include "sama5d36.dtsi"
> +
> +/ {
> + model = "EVB-KSZ9477";
> + compatible = "microchip,sama5d3-ksz9477-evb", "atmel,sama5d36",
> + "atmel,sama5d3", "atmel,sama5";
> +
> + chosen {
> + stdout-path = &dbgu;
> + };
> +
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + reg_vcc_mmc0: regulator-mmc0 {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_mcc0_vcc>;
> + regulator-name = "mmc0-vcc";
> + regulator-max-microvolt = <3300000>;
> + regulator-min-microvolt = <3300000>;
> + gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&dbgu {
> + status = "okay";
> +};
> +
> +&ebi {
> + pinctrl-0 = <&pinctrl_ebi_nand_addr>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&i2c0 {
> + pinctrl-0 = <&pinctrl_i2c0_pu>;
> + status = "okay";
> +};
> +
> +&macb0 {
> + phy-mode = "rgmii";
> + status = "okay";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };
> +};
> +
> +&main_xtal {
> + clock-frequency = <12000000>;
> +};
> +
> +&mmc0 {
> + pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
> + &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
> + status = "okay";
> +
> + slot at 0 {
> + reg = <0>;
> + bus-width = <8>;
> + cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
> + disable-wp;
> + vmmc-supply = <®_vcc_mmc0>;
> + vqmmc-supply = <®_3v3>;
> + };
> +};
> +
> +&nand_controller {
> + status = "okay";
> +
> + nand at 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";
> + };
> +};
> +
> +&slow_xtal {
> + clock-frequency = <32768>;
> +};
> +
> +&spi0 {
> + cs-gpios = <&pioD 13 GPIO_ACTIVE_LOW>, <0>, <0>,
> + <&pioD 16 GPIO_ACTIVE_LOW>;
> + status = "okay";
> +};
> +
> +&spi1 {
> + pinctrl-0 = <&pinctrl_spi_ksz>;
> + cs-gpios = <&pioC 25 GPIO_ACTIVE_LOW>;
> + status = "okay";
> +
> + switch at 0 {
> + compatible = "microchip,ksz9477";
> + reg = <0>;
> + spi-max-frequency = <1000000>;
> + spi-cpha;
> + spi-cpol;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port at 0 {
> + reg = <0>;
> + label = "lan1";
> + };
> +
> + port at 1 {
> + reg = <1>;
> + label = "lan2";
> + };
> +
> + port at 2 {
> + reg = <2>;
> + label = "lan3";
> + };
> +
> + port at 3 {
> + reg = <3>;
> + label = "lan4";
> + };
> +
> + port at 4 {
> + reg = <4>;
> + label = "lan5";
> + };
> +
> + port at 5 {
> + reg = <5>;
> + label = "cpu";
> + ethernet = <&macb0>;
> + phy-mode = "rgmii-txid";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };
> + };
> + };
> + };
> +};
> +
> +&usb0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usba_vbus>;
> + atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +};
> +
> +&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_mmc0_cd: mmc0-cd {
> + atmel,pins = <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> + };
> +
> + pinctrl_mcc0_vcc: mmc0-vcc {
> + atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> + };
> +
> + pinctrl_spi_ksz: spi-ksz {
> + atmel,pins =
> + <
> + /* SPI1_MISO */
> + AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> + /* SPI1_MOSI */
> + AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE
> + /* SPI1_SPCK */
> + AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE
> +
> + /* SPI CS */
> + AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> + /* switch IRQ */
> + AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH
> + /* switch PME_N, SoC IN */
> + AT91_PIOC 30 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP
> + /* switch RST */
> + AT91_PIOC 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
> + >;
> + };
> +
> + pinctrl_usba_vbus: usba-vbus {
> + atmel,pins =
> + <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
> + };
> + };
> +};
> --
> 2.30.2
>
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list