Merge tag 'for-5.19/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-sama5d3_ksz9477_evb.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright (c) 2021 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
4  */
5 /dts-v1/;
6 #include "sama5d36.dtsi"
7
8 / {
9         model = "EVB-KSZ9477";
10         compatible = "microchip,sama5d3-ksz9477-evb", "atmel,sama5d36",
11                      "atmel,sama5d3", "atmel,sama5";
12
13         chosen {
14                 stdout-path = &dbgu;
15         };
16
17         reg_3v3: regulator-3v3 {
18                 compatible = "regulator-fixed";
19                 regulator-name = "3v3";
20                 regulator-min-microvolt = <3300000>;
21                 regulator-max-microvolt = <3300000>;
22         };
23
24         reg_vcc_mmc0: regulator-mmc0 {
25                 compatible = "regulator-fixed";
26                 pinctrl-names = "default";
27                 pinctrl-0 = <&pinctrl_mcc0_vcc>;
28                 regulator-name = "mmc0-vcc";
29                 regulator-max-microvolt = <3300000>;
30                 regulator-min-microvolt = <3300000>;
31                 gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
32         };
33 };
34
35 &dbgu {
36         status = "okay";
37 };
38
39 &ebi {
40         pinctrl-0 = <&pinctrl_ebi_nand_addr>;
41         pinctrl-names = "default";
42         status = "okay";
43 };
44
45 &i2c0 {
46         pinctrl-0 = <&pinctrl_i2c0_pu>;
47         status = "okay";
48 };
49
50 &macb0 {
51         phy-mode = "rgmii";
52         status = "okay";
53
54         fixed-link {
55                 speed = <1000>;
56                 full-duplex;
57         };
58 };
59
60 &main_xtal {
61         clock-frequency = <12000000>;
62 };
63
64 &mmc0 {
65         pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
66                      &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
67         status = "okay";
68
69         slot@0 {
70                 reg = <0>;
71                 bus-width = <8>;
72                 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
73                 disable-wp;
74                 vmmc-supply = <&reg_vcc_mmc0>;
75                 vqmmc-supply = <&reg_3v3>;
76         };
77 };
78
79 &nand_controller {
80         status = "okay";
81
82         nand@3 {
83                 reg = <0x3 0x0 0x2>;
84                 atmel,rb = <0>;
85                 nand-bus-width = <8>;
86                 nand-ecc-mode = "hw";
87                 nand-ecc-strength = <4>;
88                 nand-ecc-step-size = <512>;
89                 nand-on-flash-bbt;
90                 label = "atmel_nand";
91         };
92 };
93
94 &slow_xtal {
95         clock-frequency = <32768>;
96 };
97
98 &spi0 {
99         cs-gpios = <&pioD 13 GPIO_ACTIVE_LOW>, <0>, <0>,
100                    <&pioD 16 GPIO_ACTIVE_LOW>;
101         status = "okay";
102 };
103
104 &spi1 {
105         pinctrl-0 = <&pinctrl_spi_ksz>;
106         cs-gpios = <&pioC 25 GPIO_ACTIVE_LOW>;
107         status = "okay";
108
109         switch@0 {
110                 compatible = "microchip,ksz9477";
111                 reg = <0>;
112                 spi-max-frequency = <1000000>;
113                 spi-cpha;
114                 spi-cpol;
115
116                 ports {
117                         #address-cells = <1>;
118                         #size-cells = <0>;
119
120                         port@0 {
121                                 reg = <0>;
122                                 label = "lan1";
123                         };
124
125                         port@1 {
126                                 reg = <1>;
127                                 label = "lan2";
128                         };
129
130                         port@2 {
131                                 reg = <2>;
132                                 label = "lan3";
133                         };
134
135                         port@3 {
136                                 reg = <3>;
137                                 label = "lan4";
138                         };
139
140                         port@4 {
141                                 reg = <4>;
142                                 label = "lan5";
143                         };
144
145                         port@5 {
146                                 reg = <5>;
147                                 label = "cpu";
148                                 ethernet = <&macb0>;
149                                 phy-mode = "rgmii-txid";
150
151                                 fixed-link {
152                                         speed = <1000>;
153                                         full-duplex;
154                                 };
155                         };
156                 };
157         };
158 };
159
160 &usb0 {
161         pinctrl-names = "default";
162         pinctrl-0 = <&pinctrl_usba_vbus>;
163         atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
164         status = "okay";
165 };
166
167 &pinctrl {
168         board {
169                 pinctrl_i2c0_pu: i2c0-pu {
170                         atmel,pins =
171                                 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
172                                 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
173                 };
174
175                 pinctrl_mmc0_cd: mmc0-cd {
176                         atmel,pins = <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
177                 };
178
179                 pinctrl_mcc0_vcc: mmc0-vcc {
180                         atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
181                 };
182
183                 pinctrl_spi_ksz: spi-ksz {
184                         atmel,pins =
185                                 <
186                                 /* SPI1_MISO */
187                                 AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
188                                 /* SPI1_MOSI */
189                                 AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE
190                                 /* SPI1_SPCK */
191                                 AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE
192
193                                 /* SPI CS */
194                                 AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
195                                 /* switch IRQ */
196                                 AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH
197                                 /* switch PME_N, SoC IN */
198                                 AT91_PIOC 30 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP
199                                 /* switch RST */
200                                 AT91_PIOC 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
201                                 >;
202                 };
203
204                 pinctrl_usba_vbus: usba-vbus {
205                         atmel,pins =
206                                 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
207                 };
208         };
209 };