blob: e801331d80a14f85cf8f8c5472b82fb70cca3703 [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;
Eugen Hristev94b65ea2019-09-30 07:28:58 +000025 gpio3 = &pioD;
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000026 spi0 = &qspi;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000027 };
28
29 clocks {
Claudiu Bezneaea2d4962020-10-07 18:17:11 +030030 slow_rc_osc: slow_rc_osc {
31 compatible = "fixed-clock";
32 #clock-cells = <0>;
33 clock-frequency = <18500>;
34 };
35
Claudiu Beznea562a8642020-10-07 18:17:12 +030036 main_rc: main_rc {
37 compatible = "fixed-clock";
38 #clock-cells = <0>;
39 clock-frequency = <12000000>;
40 };
41
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000042 slow_xtal: slow_xtal {
43 compatible = "fixed-clock";
44 #clock-cells = <0>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000045 };
46
47 main_xtal: main_xtal {
48 compatible = "fixed-clock";
49 #clock-cells = <0>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000050 };
51 };
52
Claudiu Beznea77306662021-07-16 08:43:50 +030053 cpus {
54 #address-cells = <1>;
55 #size-cells = <0>;
56
57 ARM9260_0: cpu@0 {
58 device_type = "cpu";
59 compatible = "arm,arm926ej-s";
60 clocks = <&pmc PMC_TYPE_CORE 19>, <&pmc PMC_TYPE_CORE 11>, <&main_xtal>;
61 clock-names = "cpu", "master", "xtal";
62 };
63 };
64
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000065 ahb {
66 compatible = "simple-bus";
67 #address-cells = <1>;
68 #size-cells = <1>;
69 ranges;
70
71 sdhci0: sdhci-host@80000000 {
72 compatible = "microchip,sam9x60-sdhci";
73 reg = <0x80000000 0x300>;
Claudiu Beznea562a8642020-10-07 18:17:12 +030074 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
75 clock-names = "hclock", "multclk";
76 assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
77 assigned-clock-rates = <100000000>;
78 assigned-clock-parents = <&pmc PMC_TYPE_CORE 10>; /* ID_PLL_A_DIV */
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000079 bus-width = <4>;
80 pinctrl-names = "default";
81 pinctrl-0 = <&pinctrl_sdhci0>;
82 };
83
84 apb {
85 compatible = "simple-bus";
86 #address-cells = <1>;
87 #size-cells = <1>;
88 ranges;
89
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000090 qspi: spi@f0014000 {
91 compatible = "microchip,sam9x60-qspi";
92 reg = <0xf0014000 0x100>, <0x70000000 0x10000000>;
93 reg-names = "qspi_base", "qspi_mmap";
Claudiu Beznea562a8642020-10-07 18:17:12 +030094 clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_SYSTEM 18>; /* ID_QSPI */
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000095 clock-names = "pclk", "qspick";
96 #address-cells = <1>;
97 #size-cells = <0>;
98 status = "disabled";
99 };
100
Eugen Hristeve54f1022019-10-09 09:23:40 +0000101 flx0: flexcom@f801c600 {
102 compatible = "atmel,sama5d2-flexcom";
103 reg = <0xf801c000 0x200>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300104 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
Eugen Hristeve54f1022019-10-09 09:23:40 +0000105 #address-cells = <1>;
106 #size-cells = <1>;
107 ranges = <0x0 0xf801c000 0x800>;
108 status = "disabled";
109 };
110
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000111 macb0: ethernet@f802c000 {
112 compatible = "cdns,sam9x60-macb", "cdns,macb";
113 reg = <0xf802c000 0x100>;
114 pinctrl-names = "default";
115 pinctrl-0 = <&pinctrl_macb0_rmii>;
116 clock-names = "hclk", "pclk";
Claudiu Beznea562a8642020-10-07 18:17:12 +0300117 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>;
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000118 status = "disabled";
119 };
120
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000121 dbgu: serial@fffff200 {
122 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
123 reg = <0xfffff200 0x200>;
124 pinctrl-names = "default";
125 pinctrl-0 = <&pinctrl_dbgu>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300126 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000127 clock-names = "usart";
128 };
129
130 pinctrl {
131 #address-cells = <1>;
132 #size-cells = <1>;
133 compatible = "microchip,sam9x60-pinctrl", "simple-bus";
134 ranges = <0xfffff400 0xfffff400 0x800>;
135 reg = <0xfffff400 0x200 /* pioA */
136 0xfffff600 0x200 /* pioB */
137 0xfffff800 0x200 /* pioC */
138 0xfffffa00 0x200>; /* pioD */
139
140 /* shared pinctrl settings */
141 dbgu {
142 pinctrl_dbgu: dbgu-0 {
143 atmel,pins =
144 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
145 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
146 };
147 };
148
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000149 macb0 {
150 pinctrl_macb0_rmii: macb0_rmii-0 {
151 atmel,pins =
152 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
153 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
154 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
155 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
156 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
157 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
158 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
159 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
160 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
161 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
162 };
163 };
164
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000165 sdhci0 {
166 pinctrl_sdhci0: sdhci0 {
167 atmel,pins =
Eugen Hristev1079bfe2020-11-09 17:35:01 +0200168 <AT91_PIOA 17 AT91_PERIPH_A
169 (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA17 CK periph A with pullup */
170 AT91_PIOA 16 AT91_PERIPH_A
171 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA16 CMD periph A with pullup */
172 AT91_PIOA 15 AT91_PERIPH_A
173 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA15 DAT0 periph A */
174 AT91_PIOA 18 AT91_PERIPH_A
175 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA18 DAT1 periph A with pullup */
176 AT91_PIOA 19 AT91_PERIPH_A
177 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA19 DAT2 periph A with pullup */
178 AT91_PIOA 20 AT91_PERIPH_A
179 (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 +0000180 };
181 };
182 };
183
184 pioA: gpio@fffff400 {
185 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
186 reg = <0xfffff400 0x200>;
187 #gpio-cells = <2>;
188 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300189 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000190 };
191
192 pioB: gpio@fffff600 {
193 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
194 reg = <0xfffff600 0x200>;
195 #gpio-cells = <2>;
196 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300197 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000198 };
199
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000200 pioD: gpio@fffffa00 {
201 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
202 reg = <0xfffffa00 0x200>;
203 #gpio-cells = <2>;
204 gpio-controller;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300205 clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000206 };
207
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000208 pmc: pmc@fffffc00 {
Claudiu Beznea562a8642020-10-07 18:17:12 +0300209 compatible = "microchip,sam9x60-pmc";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000210 reg = <0xfffffc00 0x200>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300211 #clock-cells = <2>;
212 clocks = <&clk32 1>, <&clk32 0>, <&main_xtal>, <&main_rc>;
213 clock-names = "td_slck", "md_slck", "main_xtal", "main_rc";
214 status = "okay";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000215 };
216
217 pit: timer@fffffe40 {
218 compatible = "atmel,at91sam9260-pit";
219 reg = <0xfffffe40 0x10>;
Claudiu Beznea562a8642020-10-07 18:17:12 +0300220 clocks = <&pmc PMC_TYPE_CORE 11>; /* ID_MCK. */
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000221 };
222
Claudiu Bezneaea2d4962020-10-07 18:17:11 +0300223 clk32: sckc@fffffe50 {
224 compatible = "microchip,sam9x60-sckc";
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000225 reg = <0xfffffe50 0x4>;
Claudiu Bezneaea2d4962020-10-07 18:17:11 +0300226 clocks = <&slow_rc_osc>, <&slow_xtal>;
227 #clock-cells = <1>;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000228 };
229 };
230 };
Eugen Hristev94b65ea2019-09-30 07:28:58 +0000231
232 onewire_tm: onewire {
233 compatible = "w1-gpio";
234 status = "disabled";
235 };
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +0000236};