OSDN Git Service

ARM: dts: at91: add Microchip EVB-KSZ9477 board
authorOleksij Rempel <o.rempel@pengutronix.de>
Thu, 11 Nov 2021 08:10:45 +0000 (09:10 +0100)
committerNicolas Ferre <nicolas.ferre@microchip.com>
Wed, 8 Dec 2021 13:05:16 +0000 (14:05 +0100)
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@pengutronix.de>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20211111081045.711323-1-o.rempel@pengutronix.de
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts [new file with mode: 0644]

index 0de64f2..f79585f 100644 (file)
@@ -61,6 +61,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 (file)
index 0000000..443e8b0
--- /dev/null
@@ -0,0 +1,209 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) 2021 Oleksij Rempel <kernel@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@0 {
+               reg = <0>;
+               bus-width = <8>;
+               cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
+               disable-wp;
+               vmmc-supply = <&reg_vcc_mmc0>;
+               vqmmc-supply = <&reg_3v3>;
+       };
+};
+
+&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";
+       };
+};
+
+&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@0 {
+               compatible = "microchip,ksz9477";
+               reg = <0>;
+               spi-max-frequency = <1000000>;
+               spi-cpha;
+               spi-cpol;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               label = "lan1";
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               label = "lan2";
+                       };
+
+                       port@2 {
+                               reg = <2>;
+                               label = "lan3";
+                       };
+
+                       port@3 {
+                               reg = <3>;
+                               label = "lan4";
+                       };
+
+                       port@4 {
+                               reg = <4>;
+                               label = "lan5";
+                       };
+
+                       port@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>;
+               };
+       };
+};