blob: 3bf45c14e42a17cbfba21e980fa18ad11144778d [file] [log] [blame]
Sandeep Sheriker Mallikarjun976c2dc2019-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 Hristeveecfff02021-08-27 13:44:12 +030010#include <dt-bindings/mfd/atmel-flexcom.h>
Sandeep Sheriker Mallikarjun976c2dc2019-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 Hristeveeb172b2019-10-09 09:23:41 +000019 i2c0 = &flx0;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000020 };
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000021
Claudiu Beznea3de09762020-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 Hristeve3b47be2019-09-30 07:28:59 +000032 onewire_tm: onewire {
Eugen Hristev87a31d72021-06-23 16:13:35 +030033 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
Eugen Hristeve3b47be2019-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 Ambarus6c8b9502019-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 Moga9e351d72022-05-13 18:13:39 +030052 compatible = "jedec,spi-nor";
Tudor Ambarus6c8b9502019-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 Hristeveeb172b2019-10-09 09:23:41 +000060 flx0: flexcom@f801c600 {
Eugen Hristeveecfff02021-08-27 13:44:12 +030061 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
Eugen Hristeveeb172b2019-10-09 09:23:41 +000062 status = "okay";
63
64 i2c@600 {
Alexander Dahl4b9e78b2023-07-05 22:16:59 +020065 compatible = "microchip,sam9x60-i2c";
Eugen Hristeveeb172b2019-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 Beznea562a8642020-10-07 18:17:12 +030071 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
Eugen Hristeveeb172b2019-10-09 09:23:41 +000072 status = "okay";
73
74 eeprom@53 {
Eugen Hristev6ff8a642022-05-26 17:04:56 +030075 compatible = "atmel,24c02"; /* EEPROM is 2Kbits microchip 24aa025e48, an at24c02 with page size of 16 */
Eugen Hristeveeb172b2019-10-09 09:23:41 +000076 reg = <0x53>;
77 pagesize = <16>;
78 };
79 };
80 };
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000081 };
82 };
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000083};
Nicolas Ferred7d06bf2019-09-27 13:08:48 +000084
Balamanikandan Gunasundar557d9172022-10-25 16:21:08 +053085&ebi {
86 pinctrl-names = "default";
87 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
88 status = "okay";
89
90 nand_controller: nand-controller {
91 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
93 status = "okay";
94
95 nand@3 {
96 reg = <0x3 0x0 0x800000>;
97 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
98 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
99 nand-bus-width = <8>;
100 nand-ecc-mode = "hw";
101 nand-ecc-strength = <8>;
102 nand-ecc-step-size = <512>;
103 nand-on-flash-bbt;
104 label = "atmel_nand";
105
106 partitions {
107 compatible = "fixed-partitions";
108 #address-cells = <1>;
109 #size-cells = <1>;
110
111 at91bootstrap@0 {
112 label = "at91bootstrap";
113 reg = <0x0 0x40000>;
114 };
115
116 uboot@40000 {
117 label = "u-boot";
118 reg = <0x40000 0xc0000>;
119 };
120
121 ubootenvred@100000 {
122 label = "U-Boot Env Redundant";
123 reg = <0x100000 0x40000>;
124 };
125
126 ubootenv@140000 {
127 label = "U-Boot Env";
128 reg = <0x140000 0x40000>;
129 };
130
131 dtb@180000 {
132 label = "device tree";
133 reg = <0x180000 0x80000>;
134 };
135
136 kernel@200000 {
137 label = "kernel";
138 reg = <0x200000 0x600000>;
139 };
140
141 rootfs@800000 {
142 label = "rootfs";
143 reg = <0x800000 0x1f800000>;
144 };
145 };
146 };
147 };
148};
149
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000150&macb0 {
151 phy-mode = "rmii";
152 status = "okay";
153};
Sergiu Moga534b1242023-01-04 16:04:12 +0200154
Balamanikandan Gunasundar5ad42062025-02-10 12:21:38 +0530155&pinctrl {
156 /* shared pinctrl settings */
157 qspi {
158 pinctrl_qspi: qspi {
159 atmel,pins =
160 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
161 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE
162 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
163 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
164 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
165 AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
166 };
167 };
168
169 nand {
170 pinctrl_nand_oe_we: nand-oe-we-0 {
171 atmel,pins =
172 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
173 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
174 };
175
176 pinctrl_nand_rb: nand-rb-0 {
177 atmel,pins =
178 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
179 };
180
181 pinctrl_nand_cs: nand-cs-0 {
182 atmel,pins =
183 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
184 };
185 };
186
187 ebi {
188 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
189 atmel,pins =
190 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
191 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
192 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
193 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
194 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
195 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
196 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
197 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
198 };
199
200 pinctrl_ebi_addr_nand: ebi-addr-0 {
201 atmel,pins =
202 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
203 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
204 };
205 };
206
207 flexcom {
208 pinctrl_flx0: flx0_default {
209 atmel,pins =
210 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE
211 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
212 };
213 };
214
215 pinctrl_onewire_tm_default: onewire_tm_default {
216 atmel,pins =
217 <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
218 };
219
220 usb1 {
221 pinctrl_usb_default: usb_default {
222 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
223 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
224 };
225 };
226};
227
Sergiu Moga534b1242023-01-04 16:04:12 +0200228&usb1 {
229 num-ports = <3>;
230 atmel,vbus-gpio = <0
231 &pioD 15 GPIO_ACTIVE_HIGH
232 &pioD 16 GPIO_ACTIVE_HIGH>;
233 pinctrl-names = "default";
234 pinctrl-0 = <&pinctrl_usb_default>;
235 status = "okay";
236};
237
238&usb2 {
239 status = "okay";
240};