blob: 74016f5e288aeea693804472f96c991fbdadb4c5 [file] [log] [blame]
Sandeep Sheriker Mallikarjunf99e0ad2019-09-27 13:08:45 +00001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * sam9x60ek.dts - Device Tree file for SAM9X60 EK board
4 *
5 * Copyright (C) 2018 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Sandeep Sheriker M <Sandeepsheriker.mallikarjun@microchip.com>
8 */
9/dts-v1/;
Eugen Hristevd65b84a2021-08-27 13:44:12 +030010#include <dt-bindings/mfd/atmel-flexcom.h>
Sandeep Sheriker Mallikarjunf99e0ad2019-09-27 13:08:45 +000011#include "sam9x60.dtsi"
12
13/ {
14 model = "Microchip SAM9X60-Ek";
15 compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
16
17 chosen {
18 stdout-path = &dbgu;
Eugen Hristev67fd5d82019-10-09 09:23:41 +000019 i2c0 = &flx0;
Sandeep Sheriker Mallikarjunf99e0ad2019-09-27 13:08:45 +000020 };
Tudor Ambarus228f9e02019-09-27 13:09:19 +000021
Claudiu Bezneaffd204f2020-10-07 18:17:09 +030022 clocks {
23 slow_xtal: slow_xtal {
24 clock-frequency = <32768>;
25 };
26
27 main_xtal: main_xtal {
28 clock-frequency = <24000000>;
29 };
30 };
31
Eugen Hristevc69ce802019-09-30 07:28:59 +000032 onewire_tm: onewire {
Eugen Hristev89bd68a2021-06-23 16:13:35 +030033 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
Eugen Hristevc69ce802019-09-30 07:28:59 +000034 pinctrl-names = "default";
35 pinctrl-0 = <&pinctrl_onewire_tm_default>;
36 status = "okay";
37
38 w1_eeprom: w1_eeprom@0 {
39 compatible = "maxim,ds24b33";
40 status = "okay";
41 };
42 };
43
Tudor Ambarus228f9e02019-09-27 13:09:19 +000044 ahb {
45 apb {
46 qspi: spi@f0014000 {
47 pinctrl-names = "default";
48 pinctrl-0 = <&pinctrl_qspi>;
49 status = "okay";
50
51 nor_flash: sst26vf064@0 {
Sergiu Moga47413092022-05-13 18:13:39 +030052 compatible = "jedec,spi-nor";
Tudor Ambarus228f9e02019-09-27 13:09:19 +000053 reg = <0>;
54 spi-max-frequency = <80000000>;
55 spi-rx-bus-width = <4>;
56 spi-tx-bus-width = <4>;
57 };
58 };
59
Eugen Hristev67fd5d82019-10-09 09:23:41 +000060 flx0: flexcom@f801c600 {
Eugen Hristevd65b84a2021-08-27 13:44:12 +030061 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
Eugen Hristev67fd5d82019-10-09 09:23:41 +000062 status = "okay";
63
64 i2c@600 {
Alexander Dahlcdbd40d2023-07-05 22:16:59 +020065 compatible = "microchip,sam9x60-i2c";
Eugen Hristev67fd5d82019-10-09 09:23:41 +000066 reg = <0x600 0x200>;
67 pinctrl-names = "default";
68 pinctrl-0 = <&pinctrl_flx0>;
69 #address-cells = <1>;
70 #size-cells = <0>;
Claudiu Bezneac37d59a2020-10-07 18:17:12 +030071 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
Eugen Hristev67fd5d82019-10-09 09:23:41 +000072 status = "okay";
73
74 eeprom@53 {
Eugen Hristev5ae89b32022-05-26 17:04:56 +030075 compatible = "atmel,24c02"; /* EEPROM is 2Kbits microchip 24aa025e48, an at24c02 with page size of 16 */
Eugen Hristev67fd5d82019-10-09 09:23:41 +000076 reg = <0x53>;
77 pagesize = <16>;
78 };
79 };
80 };
81
Tudor Ambarus228f9e02019-09-27 13:09:19 +000082 pinctrl {
Balamanikandan Gunasundar70cbf2f2022-10-25 16:21:08 +053083 nand {
84 pinctrl_nand_oe_we: nand-oe-we-0 {
85 atmel,pins =
86 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
87 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
88 };
89
90 pinctrl_nand_rb: nand-rb-0 {
91 atmel,pins =
92 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
93 };
94
95 pinctrl_nand_cs: nand-cs-0 {
96 atmel,pins =
97 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
98 };
99 };
100
101 ebi {
102 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
103 atmel,pins =
104 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
105 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
106 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
107 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
108 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
109 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
110 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
111 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
112 };
113
114 pinctrl_ebi_addr_nand: ebi-addr-0 {
115 atmel,pins =
116 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
117 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
118 };
119 };
120
Dario Binacchi275943d2022-09-20 10:32:47 +0200121 pinctrl_qspi: qspi {
122 atmel,pins =
123 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
124 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE
125 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
126 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
127 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
128 AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
129 };
Tudor Ambarus228f9e02019-09-27 13:09:19 +0000130
Dario Binacchi275943d2022-09-20 10:32:47 +0200131 pinctrl_flx0: flx0_default {
132 atmel,pins =
133 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE
134 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
135 };
Eugen Hristev67fd5d82019-10-09 09:23:41 +0000136
Dario Binacchi275943d2022-09-20 10:32:47 +0200137 pinctrl_onewire_tm_default: onewire_tm_default {
138 atmel,pins =
139 <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
140 };
Eugen Hristevc69ce802019-09-30 07:28:59 +0000141
Sergiu Moga205ecbd2023-01-04 16:04:12 +0200142 usb1 {
143 pinctrl_usb_default: usb_default {
144 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
145 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
146 };
147 };
148
Tudor Ambarus228f9e02019-09-27 13:09:19 +0000149 };
150 };
151 };
Sandeep Sheriker Mallikarjunf99e0ad2019-09-27 13:08:45 +0000152};
Nicolas Ferre88555432019-09-27 13:08:48 +0000153
Balamanikandan Gunasundar70cbf2f2022-10-25 16:21:08 +0530154&ebi {
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
157 status = "okay";
158
159 nand_controller: nand-controller {
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
162 status = "okay";
163
164 nand@3 {
165 reg = <0x3 0x0 0x800000>;
166 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
167 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
168 nand-bus-width = <8>;
169 nand-ecc-mode = "hw";
170 nand-ecc-strength = <8>;
171 nand-ecc-step-size = <512>;
172 nand-on-flash-bbt;
173 label = "atmel_nand";
174
175 partitions {
176 compatible = "fixed-partitions";
177 #address-cells = <1>;
178 #size-cells = <1>;
179
180 at91bootstrap@0 {
181 label = "at91bootstrap";
182 reg = <0x0 0x40000>;
183 };
184
185 uboot@40000 {
186 label = "u-boot";
187 reg = <0x40000 0xc0000>;
188 };
189
190 ubootenvred@100000 {
191 label = "U-Boot Env Redundant";
192 reg = <0x100000 0x40000>;
193 };
194
195 ubootenv@140000 {
196 label = "U-Boot Env";
197 reg = <0x140000 0x40000>;
198 };
199
200 dtb@180000 {
201 label = "device tree";
202 reg = <0x180000 0x80000>;
203 };
204
205 kernel@200000 {
206 label = "kernel";
207 reg = <0x200000 0x600000>;
208 };
209
210 rootfs@800000 {
211 label = "rootfs";
212 reg = <0x800000 0x1f800000>;
213 };
214 };
215 };
216 };
217};
218
Nicolas Ferre88555432019-09-27 13:08:48 +0000219&macb0 {
220 phy-mode = "rmii";
221 status = "okay";
222};
Sergiu Moga205ecbd2023-01-04 16:04:12 +0200223
224&usb1 {
225 num-ports = <3>;
226 atmel,vbus-gpio = <0
227 &pioD 15 GPIO_ACTIVE_HIGH
228 &pioD 16 GPIO_ACTIVE_HIGH>;
229 pinctrl-names = "default";
230 pinctrl-0 = <&pinctrl_usb_default>;
231 status = "okay";
232};
233
234&usb2 {
235 status = "okay";
236};