0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003 * Copyright (c) 2021 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
0004 */
0005 /dts-v1/;
0006 #include "sama5d36.dtsi"
0007
0008 / {
0009 model = "EVB-KSZ9477";
0010 compatible = "microchip,sama5d3-ksz9477-evb", "atmel,sama5d36",
0011 "atmel,sama5d3", "atmel,sama5";
0012
0013 chosen {
0014 stdout-path = &dbgu;
0015 };
0016
0017 reg_3v3: regulator-3v3 {
0018 compatible = "regulator-fixed";
0019 regulator-name = "3v3";
0020 regulator-min-microvolt = <3300000>;
0021 regulator-max-microvolt = <3300000>;
0022 };
0023
0024 reg_vcc_mmc0: regulator-mmc0 {
0025 compatible = "regulator-fixed";
0026 pinctrl-names = "default";
0027 pinctrl-0 = <&pinctrl_mcc0_vcc>;
0028 regulator-name = "mmc0-vcc";
0029 regulator-max-microvolt = <3300000>;
0030 regulator-min-microvolt = <3300000>;
0031 gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
0032 };
0033 };
0034
0035 &dbgu {
0036 status = "okay";
0037 };
0038
0039 &ebi {
0040 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
0041 pinctrl-names = "default";
0042 status = "okay";
0043 };
0044
0045 &i2c0 {
0046 pinctrl-0 = <&pinctrl_i2c0_pu>;
0047 status = "okay";
0048 };
0049
0050 &macb0 {
0051 phy-mode = "rgmii";
0052 status = "okay";
0053
0054 fixed-link {
0055 speed = <1000>;
0056 full-duplex;
0057 };
0058 };
0059
0060 &main_xtal {
0061 clock-frequency = <12000000>;
0062 };
0063
0064 &mmc0 {
0065 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
0066 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
0067 status = "okay";
0068
0069 slot@0 {
0070 reg = <0>;
0071 bus-width = <8>;
0072 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
0073 disable-wp;
0074 vmmc-supply = <®_vcc_mmc0>;
0075 vqmmc-supply = <®_3v3>;
0076 };
0077 };
0078
0079 &nand_controller {
0080 status = "okay";
0081
0082 nand@3 {
0083 reg = <0x3 0x0 0x2>;
0084 atmel,rb = <0>;
0085 nand-bus-width = <8>;
0086 nand-ecc-mode = "hw";
0087 nand-ecc-strength = <4>;
0088 nand-ecc-step-size = <512>;
0089 nand-on-flash-bbt;
0090 label = "atmel_nand";
0091 };
0092 };
0093
0094 &slow_xtal {
0095 clock-frequency = <32768>;
0096 };
0097
0098 &spi0 {
0099 cs-gpios = <&pioD 13 GPIO_ACTIVE_LOW>, <0>, <0>,
0100 <&pioD 16 GPIO_ACTIVE_LOW>;
0101 status = "okay";
0102 };
0103
0104 &spi1 {
0105 pinctrl-0 = <&pinctrl_spi_ksz>;
0106 cs-gpios = <&pioC 25 GPIO_ACTIVE_LOW>;
0107 status = "okay";
0108
0109 switch@0 {
0110 compatible = "microchip,ksz9477";
0111 reg = <0>;
0112 spi-max-frequency = <1000000>;
0113 spi-cpha;
0114 spi-cpol;
0115
0116 ports {
0117 #address-cells = <1>;
0118 #size-cells = <0>;
0119
0120 port@0 {
0121 reg = <0>;
0122 label = "lan1";
0123 phy-mode = "internal";
0124 };
0125
0126 port@1 {
0127 reg = <1>;
0128 label = "lan2";
0129 phy-mode = "internal";
0130 };
0131
0132 port@2 {
0133 reg = <2>;
0134 label = "lan3";
0135 phy-mode = "internal";
0136 };
0137
0138 port@3 {
0139 reg = <3>;
0140 label = "lan4";
0141 phy-mode = "internal";
0142 };
0143
0144 port@4 {
0145 reg = <4>;
0146 label = "lan5";
0147 phy-mode = "internal";
0148 };
0149
0150 port@5 {
0151 reg = <5>;
0152 label = "cpu";
0153 ethernet = <&macb0>;
0154 phy-mode = "rgmii-txid";
0155
0156 fixed-link {
0157 speed = <1000>;
0158 full-duplex;
0159 };
0160 };
0161 };
0162 };
0163 };
0164
0165 &usb0 {
0166 pinctrl-names = "default";
0167 pinctrl-0 = <&pinctrl_usba_vbus>;
0168 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
0169 status = "okay";
0170 };
0171
0172 &pinctrl {
0173 board {
0174 pinctrl_i2c0_pu: i2c0-pu {
0175 atmel,pins =
0176 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
0177 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
0178 };
0179
0180 pinctrl_mmc0_cd: mmc0-cd {
0181 atmel,pins = <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0182 };
0183
0184 pinctrl_mcc0_vcc: mmc0-vcc {
0185 atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0186 };
0187
0188 pinctrl_spi_ksz: spi-ksz {
0189 atmel,pins =
0190 <
0191 /* SPI1_MISO */
0192 AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
0193 /* SPI1_MOSI */
0194 AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE
0195 /* SPI1_SPCK */
0196 AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE
0197
0198 /* SPI CS */
0199 AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
0200 /* switch IRQ */
0201 AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH
0202 /* switch PME_N, SoC IN */
0203 AT91_PIOC 30 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP
0204 /* switch RST */
0205 AT91_PIOC 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
0206 >;
0207 };
0208
0209 pinctrl_usba_vbus: usba-vbus {
0210 atmel,pins =
0211 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
0212 };
0213 };
0214 };