blob: be44519934b9c998fa6cfe05bdde1eb9f3db3308 [file] [log] [blame]
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +00001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * sam9x60.dtsi - Device Tree Include file for SAM9X60 SoC.
4 *
5 * Copyright (C) 2018 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
8 */
9
10#include "skeleton.dtsi"
11#include <dt-bindings/dma/at91.h>
12#include <dt-bindings/pinctrl/at91.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/gpio/gpio.h>
Claudiu Beznea562a8642020-10-07 18:17:12 +030015#include <dt-bindings/clk/at91.h>
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000016
17/{
18 model = "Microchip SAM9X60 SoC";
19 compatible = "microchip,sam9x60";
20
21 aliases {
22 serial0 = &dbgu;
23 gpio0 = &pioA;
24 gpio1 = &pioB;
Mihai Sain48386122021-10-27 10:28:35 +030025 gpio2 = &pioC;
Eugen Hristev94b65ea2019-09-30 07:28:58 +000026 gpio3 = &pioD;
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000027 spi0 = &qspi;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000028 };
29
30 clocks {
Claudiu Bezneaea2d4962020-10-07 18:17:11 +030031 slow_rc_osc: slow_rc_osc {
32 compatible = "fixed-clock";
33 #clock-cells = <0>;
34 clock-frequency = <18500>;
35 };
36
Claudiu Beznea562a8642020-10-07 18:17:12 +030037 main_rc: main_rc {
38 compatible = "fixed-clock";
39 #clock-cells = <0>;
40 clock-frequency = <12000000>;
41 };
42
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000043 slow_xtal: slow_xtal {
44 compatible = "fixed-clock";
45 #clock-cells = <0>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000046 };
47
48 main_xtal: main_xtal {
49 compatible = "fixed-clock";
50 #clock-cells = <0>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000051 };
52 };
53
Claudiu Beznea77306662021-07-16 08:43:50 +030054 cpus {
55 #address-cells = <1>;
56 #size-cells = <0>;
57
58 ARM9260_0: cpu@0 {
59 device_type = "cpu";
60 compatible = "arm,arm926ej-s";
61 clocks = <&pmc PMC_TYPE_CORE 19>, <&pmc PMC_TYPE_CORE 11>, <&main_xtal>;
62 clock-names = "cpu", "master", "xtal";
63 };
64 };
65
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000066 ahb {
67 compatible = "simple-bus";
68 #address-cells = <1>;
69 #size-cells = <1>;
70 ranges;
71
72 sdhci0: sdhci-host@80000000 {
73 compatible = "microchip,sam9x60-sdhci";
74 reg = <0x80000000 0x300>;
Claudiu Beznea562a8642020-10-07 18:17:12 +030075 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
76 clock-names = "hclock", "multclk";
77 assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
78 assigned-clock-rates = <100000000>;
79 assigned-clock-parents = <&pmc PMC_TYPE_CORE 10>; /* ID_PLL_A_DIV */
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000080 bus-width = <4>;
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_sdhci0>;
83 };
84
85 apb {
86 compatible = "simple-bus";
87 #address-cells = <1>;
88 #size-cells = <1>;
89 ranges;
90
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000091 qspi: spi@f0014000 {
92 compatible = "microchip,sam9x60-qspi";
93 reg = <0xf0014000 0x100>, <0x70000000 0x10000000>;
94 reg-names = "qspi_base", "qspi_mmap";
Claudiu Beznea562a8642020-10-07 18:17:12 +030095 clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_SYSTEM 18>; /* ID_QSPI */
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000096 clock-names = "pclk", "qspick";
97 #address-cells = <1>;
98 #size-cells = <0>;
99 status = "disabled";
100 };
101
Eugen Hristeve54f1022019-10-09 09:23:40 +0000102 flx0: flexcom@f801c600 {
103 compatible = "atmel,sama5d2-flexcom";
104 reg = <0xf801c000 0x200>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300105 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
Eugen Hristeve54f1022019-10-09 09:23:40 +0000106 #address-cells = <1>;
107 #size-cells = <1>;
108 ranges = <0x0 0xf801c000 0x800>;
109 status = "disabled";
110 };
111
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000112 macb0: ethernet@f802c000 {
113 compatible = "cdns,sam9x60-macb", "cdns,macb";
114 reg = <0xf802c000 0x100>;
115 pinctrl-names = "default";
116 pinctrl-0 = <&pinctrl_macb0_rmii>;
117 clock-names = "hclk", "pclk";
Claudiu Beznea562a8642020-10-07 18:17:12 +0300118 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>;
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000119 status = "disabled";
120 };
121
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000122 dbgu: serial@fffff200 {
123 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
124 reg = <0xfffff200 0x200>;
125 pinctrl-names = "default";
126 pinctrl-0 = <&pinctrl_dbgu>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300127 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000128 clock-names = "usart";
129 };
130
131 pinctrl {
132 #address-cells = <1>;
133 #size-cells = <1>;
134 compatible = "microchip,sam9x60-pinctrl", "simple-bus";
135 ranges = <0xfffff400 0xfffff400 0x800>;
136 reg = <0xfffff400 0x200 /* pioA */
137 0xfffff600 0x200 /* pioB */
138 0xfffff800 0x200 /* pioC */
139 0xfffffa00 0x200>; /* pioD */
140
141 /* shared pinctrl settings */
142 dbgu {
143 pinctrl_dbgu: dbgu-0 {
144 atmel,pins =
145 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
146 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
147 };
148 };
149
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000150 macb0 {
151 pinctrl_macb0_rmii: macb0_rmii-0 {
152 atmel,pins =
153 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
154 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
155 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
156 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
157 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
158 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
159 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
160 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
161 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
162 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
163 };
164 };
165
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000166 sdhci0 {
167 pinctrl_sdhci0: sdhci0 {
168 atmel,pins =
Eugen Hristev1079bfe2020-11-09 17:35:01 +0200169 <AT91_PIOA 17 AT91_PERIPH_A
170 (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA17 CK periph A with pullup */
171 AT91_PIOA 16 AT91_PERIPH_A
172 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA16 CMD periph A with pullup */
173 AT91_PIOA 15 AT91_PERIPH_A
174 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA15 DAT0 periph A */
175 AT91_PIOA 18 AT91_PERIPH_A
176 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA18 DAT1 periph A with pullup */
177 AT91_PIOA 19 AT91_PERIPH_A
178 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA19 DAT2 periph A with pullup */
179 AT91_PIOA 20 AT91_PERIPH_A
180 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>; /* PA20 DAT3 periph A with pullup */
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000181 };
182 };
183 };
184
185 pioA: gpio@fffff400 {
186 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
187 reg = <0xfffff400 0x200>;
188 #gpio-cells = <2>;
189 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300190 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000191 };
192
193 pioB: gpio@fffff600 {
194 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
195 reg = <0xfffff600 0x200>;
196 #gpio-cells = <2>;
197 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300198 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000199 };
200
Mihai Sain48386122021-10-27 10:28:35 +0300201 pioC: gpio@fffff800 {
202 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
203 reg = <0xfffff800 0x200>;
204 #gpio-cells = <2>;
205 gpio-controller;
206 clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
207 };
208
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000209 pioD: gpio@fffffa00 {
210 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
211 reg = <0xfffffa00 0x200>;
212 #gpio-cells = <2>;
213 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300214 clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000215 };
216
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000217 pmc: pmc@fffffc00 {
Claudiu Beznea562a8642020-10-07 18:17:12 +0300218 compatible = "microchip,sam9x60-pmc";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000219 reg = <0xfffffc00 0x200>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300220 #clock-cells = <2>;
221 clocks = <&clk32 1>, <&clk32 0>, <&main_xtal>, <&main_rc>;
222 clock-names = "td_slck", "md_slck", "main_xtal", "main_rc";
223 status = "okay";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000224 };
225
226 pit: timer@fffffe40 {
227 compatible = "atmel,at91sam9260-pit";
228 reg = <0xfffffe40 0x10>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300229 clocks = <&pmc PMC_TYPE_CORE 11>; /* ID_MCK. */
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000230 };
231
Claudiu Bezneaea2d4962020-10-07 18:17:11 +0300232 clk32: sckc@fffffe50 {
233 compatible = "microchip,sam9x60-sckc";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000234 reg = <0xfffffe50 0x4>;
Claudiu Bezneaea2d4962020-10-07 18:17:11 +0300235 clocks = <&slow_rc_osc>, <&slow_xtal>;
236 #clock-cells = <1>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000237 };
238 };
239 };
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000240
241 onewire_tm: onewire {
242 compatible = "w1-gpio";
243 status = "disabled";
244 };
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000245};