sama5d2.dtsi 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * sama5d2.dtsi - Device Tree Include file for SAMA5D2 family SoC
  4. *
  5. * Copyright (C) 2015 Atmel,
  6. * 2015 Ludovic Desroches <[email protected]>
  7. */
  8. #include <dt-bindings/dma/at91.h>
  9. #include <dt-bindings/interrupt-controller/irq.h>
  10. #include <dt-bindings/clock/at91.h>
  11. #include <dt-bindings/mfd/at91-usart.h>
  12. #include <dt-bindings/iio/adc/at91-sama5d2_adc.h>
  13. / {
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. model = "Atmel SAMA5D2 family SoC";
  17. compatible = "atmel,sama5d2";
  18. interrupt-parent = <&aic>;
  19. aliases {
  20. serial0 = &uart1;
  21. serial1 = &uart3;
  22. };
  23. cpus {
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. cpu@0 {
  27. device_type = "cpu";
  28. compatible = "arm,cortex-a5";
  29. reg = <0>;
  30. next-level-cache = <&L2>;
  31. };
  32. };
  33. pmu {
  34. compatible = "arm,cortex-a5-pmu";
  35. interrupts = <2 IRQ_TYPE_LEVEL_HIGH 0>;
  36. };
  37. etb@740000 {
  38. compatible = "arm,coresight-etb10", "arm,primecell";
  39. reg = <0x740000 0x1000>;
  40. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  41. clock-names = "apb_pclk";
  42. in-ports {
  43. port {
  44. etb_in: endpoint {
  45. remote-endpoint = <&etm_out>;
  46. };
  47. };
  48. };
  49. };
  50. etm@73c000 {
  51. compatible = "arm,coresight-etm3x", "arm,primecell";
  52. reg = <0x73c000 0x1000>;
  53. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  54. clock-names = "apb_pclk";
  55. out-ports {
  56. port {
  57. etm_out: endpoint {
  58. remote-endpoint = <&etb_in>;
  59. };
  60. };
  61. };
  62. };
  63. memory@20000000 {
  64. device_type = "memory";
  65. reg = <0x20000000 0x20000000>;
  66. };
  67. clocks {
  68. slow_xtal: slow_xtal {
  69. compatible = "fixed-clock";
  70. #clock-cells = <0>;
  71. clock-frequency = <0>;
  72. };
  73. main_xtal: main_xtal {
  74. compatible = "fixed-clock";
  75. #clock-cells = <0>;
  76. clock-frequency = <0>;
  77. };
  78. };
  79. ns_sram: sram@200000 {
  80. compatible = "mmio-sram";
  81. reg = <0x00200000 0x20000>;
  82. #address-cells = <1>;
  83. #size-cells = <1>;
  84. ranges = <0 0x00200000 0x20000>;
  85. };
  86. resistive_touch: resistive-touch {
  87. compatible = "resistive-adc-touch";
  88. io-channels = <&adc AT91_SAMA5D2_ADC_X_CHANNEL>,
  89. <&adc AT91_SAMA5D2_ADC_Y_CHANNEL>,
  90. <&adc AT91_SAMA5D2_ADC_P_CHANNEL>;
  91. io-channel-names = "x", "y", "pressure";
  92. touchscreen-min-pressure = <50000>;
  93. status = "disabled";
  94. };
  95. ahb {
  96. compatible = "simple-bus";
  97. #address-cells = <1>;
  98. #size-cells = <1>;
  99. ranges;
  100. nfc_sram: sram@100000 {
  101. compatible = "mmio-sram";
  102. no-memory-wc;
  103. reg = <0x00100000 0x2400>;
  104. #address-cells = <1>;
  105. #size-cells = <1>;
  106. ranges = <0 0x00100000 0x2400>;
  107. };
  108. usb0: gadget@300000 {
  109. compatible = "atmel,sama5d3-udc";
  110. reg = <0x00300000 0x100000
  111. 0xfc02c000 0x400>;
  112. interrupts = <42 IRQ_TYPE_LEVEL_HIGH 2>;
  113. clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
  114. clock-names = "pclk", "hclk";
  115. status = "disabled";
  116. };
  117. usb1: ohci@400000 {
  118. compatible = "atmel,at91rm9200-ohci", "usb-ohci";
  119. reg = <0x00400000 0x100000>;
  120. interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
  121. clocks = <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_SYSTEM 6>;
  122. clock-names = "ohci_clk", "hclk", "uhpck";
  123. status = "disabled";
  124. };
  125. usb2: ehci@500000 {
  126. compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
  127. reg = <0x00500000 0x100000>;
  128. interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
  129. clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>;
  130. clock-names = "usb_clk", "ehci_clk";
  131. status = "disabled";
  132. };
  133. L2: cache-controller@a00000 {
  134. compatible = "arm,pl310-cache";
  135. reg = <0x00a00000 0x1000>;
  136. interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>;
  137. cache-unified;
  138. cache-level = <2>;
  139. };
  140. ebi: ebi@10000000 {
  141. compatible = "atmel,sama5d3-ebi";
  142. #address-cells = <2>;
  143. #size-cells = <1>;
  144. atmel,smc = <&hsmc>;
  145. reg = <0x10000000 0x10000000
  146. 0x60000000 0x30000000>;
  147. ranges = <0x0 0x0 0x10000000 0x10000000
  148. 0x1 0x0 0x60000000 0x10000000
  149. 0x2 0x0 0x70000000 0x10000000
  150. 0x3 0x0 0x80000000 0x10000000>;
  151. clocks = <&pmc PMC_TYPE_CORE PMC_MCK2>;
  152. status = "disabled";
  153. nand_controller: nand-controller {
  154. compatible = "atmel,sama5d3-nand-controller";
  155. atmel,nfc-sram = <&nfc_sram>;
  156. atmel,nfc-io = <&nfc_io>;
  157. ecc-engine = <&pmecc>;
  158. #address-cells = <2>;
  159. #size-cells = <1>;
  160. ranges;
  161. status = "disabled";
  162. };
  163. };
  164. sdmmc0: sdio-host@a0000000 {
  165. compatible = "atmel,sama5d2-sdhci";
  166. reg = <0xa0000000 0x300>;
  167. interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
  168. clocks = <&pmc PMC_TYPE_PERIPHERAL 31>, <&pmc PMC_TYPE_GCK 31>, <&pmc PMC_TYPE_CORE PMC_MAIN>;
  169. clock-names = "hclock", "multclk", "baseclk";
  170. assigned-clocks = <&pmc PMC_TYPE_GCK 31>;
  171. assigned-clock-rates = <480000000>;
  172. status = "disabled";
  173. };
  174. sdmmc1: sdio-host@b0000000 {
  175. compatible = "atmel,sama5d2-sdhci";
  176. reg = <0xb0000000 0x300>;
  177. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 0>;
  178. clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_GCK 32>, <&pmc PMC_TYPE_CORE PMC_MAIN>;
  179. clock-names = "hclock", "multclk", "baseclk";
  180. assigned-clocks = <&pmc PMC_TYPE_GCK 32>;
  181. assigned-clock-rates = <480000000>;
  182. status = "disabled";
  183. };
  184. nfc_io: nfc-io@c0000000 {
  185. compatible = "atmel,sama5d3-nfc-io", "syscon";
  186. reg = <0xc0000000 0x8000000>;
  187. };
  188. apb {
  189. compatible = "simple-bus";
  190. #address-cells = <1>;
  191. #size-cells = <1>;
  192. ranges;
  193. hlcdc: hlcdc@f0000000 {
  194. compatible = "atmel,sama5d2-hlcdc";
  195. reg = <0xf0000000 0x2000>;
  196. interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
  197. clocks = <&pmc PMC_TYPE_PERIPHERAL 45>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>;
  198. clock-names = "periph_clk","sys_clk", "slow_clk";
  199. status = "disabled";
  200. hlcdc-display-controller {
  201. compatible = "atmel,hlcdc-display-controller";
  202. #address-cells = <1>;
  203. #size-cells = <0>;
  204. port@0 {
  205. #address-cells = <1>;
  206. #size-cells = <0>;
  207. reg = <0>;
  208. };
  209. };
  210. hlcdc_pwm: hlcdc-pwm {
  211. compatible = "atmel,hlcdc-pwm";
  212. #pwm-cells = <3>;
  213. };
  214. };
  215. isc: isc@f0008000 {
  216. compatible = "atmel,sama5d2-isc";
  217. reg = <0xf0008000 0x4000>;
  218. interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
  219. clocks = <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_SYSTEM 18>, <&pmc PMC_TYPE_GCK 46>;
  220. clock-names = "hclock", "iscck", "gck";
  221. #clock-cells = <0>;
  222. clock-output-names = "isc-mck";
  223. status = "disabled";
  224. };
  225. ramc0: ramc@f000c000 {
  226. compatible = "atmel,sama5d3-ddramc";
  227. reg = <0xf000c000 0x200>;
  228. clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 13>;
  229. clock-names = "ddrck", "mpddr";
  230. };
  231. dma0: dma-controller@f0010000 {
  232. compatible = "atmel,sama5d4-dma";
  233. reg = <0xf0010000 0x1000>;
  234. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
  235. #dma-cells = <1>;
  236. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  237. clock-names = "dma_clk";
  238. };
  239. /* Place dma1 here despite its address */
  240. dma1: dma-controller@f0004000 {
  241. compatible = "atmel,sama5d4-dma";
  242. reg = <0xf0004000 0x1000>;
  243. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 0>;
  244. #dma-cells = <1>;
  245. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  246. clock-names = "dma_clk";
  247. };
  248. pmc: pmc@f0014000 {
  249. compatible = "atmel,sama5d2-pmc", "syscon";
  250. reg = <0xf0014000 0x160>;
  251. interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
  252. #clock-cells = <2>;
  253. clocks = <&clk32k>, <&main_xtal>;
  254. clock-names = "slow_clk", "main_xtal";
  255. };
  256. qspi0: spi@f0020000 {
  257. compatible = "atmel,sama5d2-qspi";
  258. reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>;
  259. reg-names = "qspi_base", "qspi_mmap";
  260. interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>;
  261. clocks = <&pmc PMC_TYPE_PERIPHERAL 52>;
  262. clock-names = "pclk";
  263. #address-cells = <1>;
  264. #size-cells = <0>;
  265. status = "disabled";
  266. };
  267. qspi1: spi@f0024000 {
  268. compatible = "atmel,sama5d2-qspi";
  269. reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>;
  270. reg-names = "qspi_base", "qspi_mmap";
  271. interrupts = <53 IRQ_TYPE_LEVEL_HIGH 7>;
  272. clocks = <&pmc PMC_TYPE_PERIPHERAL 53>;
  273. clock-names = "pclk";
  274. #address-cells = <1>;
  275. #size-cells = <0>;
  276. status = "disabled";
  277. };
  278. sha: crypto@f0028000 {
  279. compatible = "atmel,at91sam9g46-sha";
  280. reg = <0xf0028000 0x100>;
  281. interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
  282. dmas = <&dma0
  283. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  284. AT91_XDMAC_DT_PERID(30))>;
  285. dma-names = "tx";
  286. clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
  287. clock-names = "sha_clk";
  288. };
  289. aes: crypto@f002c000 {
  290. compatible = "atmel,at91sam9g46-aes";
  291. reg = <0xf002c000 0x100>;
  292. interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
  293. dmas = <&dma0
  294. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  295. AT91_XDMAC_DT_PERID(26))>,
  296. <&dma0
  297. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  298. AT91_XDMAC_DT_PERID(27))>;
  299. dma-names = "tx", "rx";
  300. clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
  301. clock-names = "aes_clk";
  302. };
  303. spi0: spi@f8000000 {
  304. compatible = "atmel,at91rm9200-spi";
  305. reg = <0xf8000000 0x100>;
  306. interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
  307. dmas = <&dma0
  308. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  309. AT91_XDMAC_DT_PERID(6))>,
  310. <&dma0
  311. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  312. AT91_XDMAC_DT_PERID(7))>;
  313. dma-names = "tx", "rx";
  314. clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
  315. clock-names = "spi_clk";
  316. atmel,fifo-size = <16>;
  317. #address-cells = <1>;
  318. #size-cells = <0>;
  319. status = "disabled";
  320. };
  321. ssc0: ssc@f8004000 {
  322. compatible = "atmel,at91sam9g45-ssc";
  323. reg = <0xf8004000 0x4000>;
  324. interrupts = <43 IRQ_TYPE_LEVEL_HIGH 4>;
  325. dmas = <&dma0
  326. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  327. AT91_XDMAC_DT_PERID(21))>,
  328. <&dma0
  329. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  330. AT91_XDMAC_DT_PERID(22))>;
  331. dma-names = "tx", "rx";
  332. clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
  333. clock-names = "pclk";
  334. status = "disabled";
  335. };
  336. macb0: ethernet@f8008000 {
  337. compatible = "atmel,sama5d2-gem";
  338. reg = <0xf8008000 0x1000>;
  339. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 3 /* Queue 0 */
  340. 66 IRQ_TYPE_LEVEL_HIGH 3 /* Queue 1 */
  341. 67 IRQ_TYPE_LEVEL_HIGH 3>; /* Queue 2 */
  342. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>, <&pmc PMC_TYPE_PERIPHERAL 5>;
  343. clock-names = "hclk", "pclk";
  344. status = "disabled";
  345. };
  346. tcb0: timer@f800c000 {
  347. compatible = "atmel,sama5d2-tcb", "simple-mfd", "syscon";
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. reg = <0xf800c000 0x100>;
  351. interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
  352. clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_GCK 35>, <&clk32k>;
  353. clock-names = "t0_clk", "gclk", "slow_clk";
  354. };
  355. tcb1: timer@f8010000 {
  356. compatible = "atmel,sama5d2-tcb", "simple-mfd", "syscon";
  357. #address-cells = <1>;
  358. #size-cells = <0>;
  359. reg = <0xf8010000 0x100>;
  360. interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
  361. clocks = <&pmc PMC_TYPE_PERIPHERAL 36>, <&pmc PMC_TYPE_GCK 36>, <&clk32k>;
  362. clock-names = "t0_clk", "gclk", "slow_clk";
  363. };
  364. hsmc: hsmc@f8014000 {
  365. compatible = "atmel,sama5d2-smc", "syscon", "simple-mfd";
  366. reg = <0xf8014000 0x1000>;
  367. interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
  368. clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
  369. #address-cells = <1>;
  370. #size-cells = <1>;
  371. ranges;
  372. pmecc: ecc-engine@f8014070 {
  373. compatible = "atmel,sama5d2-pmecc";
  374. reg = <0xf8014070 0x490>,
  375. <0xf8014500 0x200>;
  376. };
  377. };
  378. pdmic: pdmic@f8018000 {
  379. compatible = "atmel,sama5d2-pdmic";
  380. reg = <0xf8018000 0x124>;
  381. interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
  382. dmas = <&dma0
  383. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
  384. | AT91_XDMAC_DT_PERID(50))>;
  385. dma-names = "rx";
  386. clocks = <&pmc PMC_TYPE_PERIPHERAL 48>, <&pmc PMC_TYPE_GCK 48>;
  387. clock-names = "pclk", "gclk";
  388. status = "disabled";
  389. };
  390. uart0: serial@f801c000 {
  391. compatible = "atmel,at91sam9260-usart";
  392. reg = <0xf801c000 0x100>;
  393. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  394. interrupts = <24 IRQ_TYPE_LEVEL_HIGH 7>;
  395. dmas = <&dma0
  396. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  397. AT91_XDMAC_DT_PERID(35))>,
  398. <&dma0
  399. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  400. AT91_XDMAC_DT_PERID(36))>;
  401. dma-names = "tx", "rx";
  402. clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
  403. clock-names = "usart";
  404. status = "disabled";
  405. };
  406. uart1: serial@f8020000 {
  407. compatible = "atmel,at91sam9260-usart";
  408. reg = <0xf8020000 0x100>;
  409. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  410. interrupts = <25 IRQ_TYPE_LEVEL_HIGH 7>;
  411. dmas = <&dma0
  412. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  413. AT91_XDMAC_DT_PERID(37))>,
  414. <&dma0
  415. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  416. AT91_XDMAC_DT_PERID(38))>;
  417. dma-names = "tx", "rx";
  418. clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
  419. clock-names = "usart";
  420. status = "disabled";
  421. };
  422. uart2: serial@f8024000 {
  423. compatible = "atmel,at91sam9260-usart";
  424. reg = <0xf8024000 0x100>;
  425. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  426. interrupts = <26 IRQ_TYPE_LEVEL_HIGH 7>;
  427. dmas = <&dma0
  428. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  429. AT91_XDMAC_DT_PERID(39))>,
  430. <&dma0
  431. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  432. AT91_XDMAC_DT_PERID(40))>;
  433. dma-names = "tx", "rx";
  434. clocks = <&pmc PMC_TYPE_PERIPHERAL 26>;
  435. clock-names = "usart";
  436. status = "disabled";
  437. };
  438. i2c0: i2c@f8028000 {
  439. compatible = "atmel,sama5d2-i2c";
  440. reg = <0xf8028000 0x100>;
  441. interrupts = <29 IRQ_TYPE_LEVEL_HIGH 7>;
  442. dmas = <&dma0
  443. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  444. AT91_XDMAC_DT_PERID(0))>,
  445. <&dma0
  446. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  447. AT91_XDMAC_DT_PERID(1))>;
  448. dma-names = "tx", "rx";
  449. #address-cells = <1>;
  450. #size-cells = <0>;
  451. clocks = <&pmc PMC_TYPE_PERIPHERAL 29>;
  452. atmel,fifo-size = <16>;
  453. status = "disabled";
  454. };
  455. pwm0: pwm@f802c000 {
  456. compatible = "atmel,sama5d2-pwm";
  457. reg = <0xf802c000 0x4000>;
  458. interrupts = <38 IRQ_TYPE_LEVEL_HIGH 7>;
  459. #pwm-cells = <3>;
  460. clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
  461. status = "disabled";
  462. };
  463. sfr: sfr@f8030000 {
  464. compatible = "atmel,sama5d2-sfr", "syscon";
  465. reg = <0xf8030000 0x98>;
  466. };
  467. flx0: flexcom@f8034000 {
  468. compatible = "atmel,sama5d2-flexcom";
  469. reg = <0xf8034000 0x200>;
  470. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  471. #address-cells = <1>;
  472. #size-cells = <1>;
  473. ranges = <0x0 0xf8034000 0x800>;
  474. status = "disabled";
  475. uart5: serial@200 {
  476. compatible = "atmel,at91sam9260-usart";
  477. reg = <0x200 0x200>;
  478. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  479. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
  480. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  481. clock-names = "usart";
  482. dmas = <&dma0
  483. (AT91_XDMAC_DT_MEM_IF(0) |
  484. AT91_XDMAC_DT_PER_IF(1) |
  485. AT91_XDMAC_DT_PERID(11))>,
  486. <&dma0
  487. (AT91_XDMAC_DT_MEM_IF(0) |
  488. AT91_XDMAC_DT_PER_IF(1) |
  489. AT91_XDMAC_DT_PERID(12))>;
  490. dma-names = "tx", "rx";
  491. atmel,fifo-size = <32>;
  492. status = "disabled";
  493. };
  494. spi2: spi@400 {
  495. compatible = "atmel,at91rm9200-spi";
  496. reg = <0x400 0x200>;
  497. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
  498. #address-cells = <1>;
  499. #size-cells = <0>;
  500. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  501. clock-names = "spi_clk";
  502. dmas = <&dma0
  503. (AT91_XDMAC_DT_MEM_IF(0) |
  504. AT91_XDMAC_DT_PER_IF(1) |
  505. AT91_XDMAC_DT_PERID(11))>,
  506. <&dma0
  507. (AT91_XDMAC_DT_MEM_IF(0) |
  508. AT91_XDMAC_DT_PER_IF(1) |
  509. AT91_XDMAC_DT_PERID(12))>;
  510. dma-names = "tx", "rx";
  511. atmel,fifo-size = <16>;
  512. status = "disabled";
  513. };
  514. i2c2: i2c@600 {
  515. compatible = "atmel,sama5d2-i2c";
  516. reg = <0x600 0x200>;
  517. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
  518. #address-cells = <1>;
  519. #size-cells = <0>;
  520. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  521. dmas = <&dma0
  522. (AT91_XDMAC_DT_MEM_IF(0) |
  523. AT91_XDMAC_DT_PER_IF(1) |
  524. AT91_XDMAC_DT_PERID(11))>,
  525. <&dma0
  526. (AT91_XDMAC_DT_MEM_IF(0) |
  527. AT91_XDMAC_DT_PER_IF(1) |
  528. AT91_XDMAC_DT_PERID(12))>;
  529. dma-names = "tx", "rx";
  530. atmel,fifo-size = <16>;
  531. status = "disabled";
  532. };
  533. };
  534. flx1: flexcom@f8038000 {
  535. compatible = "atmel,sama5d2-flexcom";
  536. reg = <0xf8038000 0x200>;
  537. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  538. #address-cells = <1>;
  539. #size-cells = <1>;
  540. ranges = <0x0 0xf8038000 0x800>;
  541. status = "disabled";
  542. uart6: serial@200 {
  543. compatible = "atmel,at91sam9260-usart";
  544. reg = <0x200 0x200>;
  545. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  546. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
  547. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  548. clock-names = "usart";
  549. dmas = <&dma0
  550. (AT91_XDMAC_DT_MEM_IF(0) |
  551. AT91_XDMAC_DT_PER_IF(1) |
  552. AT91_XDMAC_DT_PERID(13))>,
  553. <&dma0
  554. (AT91_XDMAC_DT_MEM_IF(0) |
  555. AT91_XDMAC_DT_PER_IF(1) |
  556. AT91_XDMAC_DT_PERID(14))>;
  557. dma-names = "tx", "rx";
  558. atmel,fifo-size = <32>;
  559. status = "disabled";
  560. };
  561. spi3: spi@400 {
  562. compatible = "atmel,at91rm9200-spi";
  563. reg = <0x400 0x200>;
  564. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
  565. #address-cells = <1>;
  566. #size-cells = <0>;
  567. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  568. clock-names = "spi_clk";
  569. dmas = <&dma0
  570. (AT91_XDMAC_DT_MEM_IF(0) |
  571. AT91_XDMAC_DT_PER_IF(1) |
  572. AT91_XDMAC_DT_PERID(13))>,
  573. <&dma0
  574. (AT91_XDMAC_DT_MEM_IF(0) |
  575. AT91_XDMAC_DT_PER_IF(1) |
  576. AT91_XDMAC_DT_PERID(14))>;
  577. dma-names = "tx", "rx";
  578. atmel,fifo-size = <16>;
  579. status = "disabled";
  580. };
  581. i2c3: i2c@600 {
  582. compatible = "atmel,sama5d2-i2c";
  583. reg = <0x600 0x200>;
  584. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
  585. #address-cells = <1>;
  586. #size-cells = <0>;
  587. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  588. dmas = <&dma0
  589. (AT91_XDMAC_DT_MEM_IF(0) |
  590. AT91_XDMAC_DT_PER_IF(1) |
  591. AT91_XDMAC_DT_PERID(13))>,
  592. <&dma0
  593. (AT91_XDMAC_DT_MEM_IF(0) |
  594. AT91_XDMAC_DT_PER_IF(1) |
  595. AT91_XDMAC_DT_PERID(14))>;
  596. dma-names = "tx", "rx";
  597. atmel,fifo-size = <16>;
  598. status = "disabled";
  599. };
  600. };
  601. securam: sram@f8044000 {
  602. compatible = "atmel,sama5d2-securam", "mmio-sram";
  603. reg = <0xf8044000 0x1420>;
  604. clocks = <&pmc PMC_TYPE_PERIPHERAL 51>;
  605. #address-cells = <1>;
  606. #size-cells = <1>;
  607. no-memory-wc;
  608. ranges = <0 0xf8044000 0x1420>;
  609. };
  610. reset_controller: reset-controller@f8048000 {
  611. compatible = "atmel,sama5d3-rstc";
  612. reg = <0xf8048000 0x10>;
  613. clocks = <&clk32k>;
  614. };
  615. shutdown_controller: shdwc@f8048010 {
  616. compatible = "atmel,sama5d2-shdwc";
  617. reg = <0xf8048010 0x10>;
  618. clocks = <&clk32k>;
  619. #address-cells = <1>;
  620. #size-cells = <0>;
  621. atmel,wakeup-rtc-timer;
  622. };
  623. pit: timer@f8048030 {
  624. compatible = "atmel,at91sam9260-pit";
  625. reg = <0xf8048030 0x10>;
  626. interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
  627. clocks = <&pmc PMC_TYPE_CORE PMC_MCK2>;
  628. };
  629. watchdog: watchdog@f8048040 {
  630. compatible = "atmel,sama5d4-wdt";
  631. reg = <0xf8048040 0x10>;
  632. interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
  633. clocks = <&clk32k>;
  634. status = "disabled";
  635. };
  636. clk32k: sckc@f8048050 {
  637. compatible = "atmel,sama5d4-sckc";
  638. reg = <0xf8048050 0x4>;
  639. clocks = <&slow_xtal>;
  640. #clock-cells = <0>;
  641. };
  642. rtc: rtc@f80480b0 {
  643. compatible = "atmel,sama5d2-rtc";
  644. reg = <0xf80480b0 0x30>;
  645. interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
  646. clocks = <&clk32k>;
  647. };
  648. i2s0: i2s@f8050000 {
  649. compatible = "atmel,sama5d2-i2s";
  650. reg = <0xf8050000 0x100>;
  651. interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
  652. dmas = <&dma0
  653. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  654. AT91_XDMAC_DT_PERID(31))>,
  655. <&dma0
  656. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  657. AT91_XDMAC_DT_PERID(32))>;
  658. dma-names = "tx", "rx";
  659. clocks = <&pmc PMC_TYPE_PERIPHERAL 54>, <&pmc PMC_TYPE_GCK 54>;
  660. clock-names = "pclk", "gclk";
  661. assigned-clocks = <&pmc PMC_TYPE_CORE PMC_I2S0_MUX>;
  662. assigned-clock-parents = <&pmc PMC_TYPE_GCK 54>;
  663. status = "disabled";
  664. };
  665. can0: can@f8054000 {
  666. compatible = "bosch,m_can";
  667. reg = <0xf8054000 0x4000>, <0x210000 0x1c00>;
  668. reg-names = "m_can", "message_ram";
  669. interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>,
  670. <64 IRQ_TYPE_LEVEL_HIGH 7>;
  671. interrupt-names = "int0", "int1";
  672. clocks = <&pmc PMC_TYPE_PERIPHERAL 56>, <&pmc PMC_TYPE_GCK 56>;
  673. clock-names = "hclk", "cclk";
  674. assigned-clocks = <&pmc PMC_TYPE_GCK 56>;
  675. assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
  676. assigned-clock-rates = <40000000>;
  677. bosch,mram-cfg = <0x0 0 0 64 0 0 32 32>;
  678. status = "disabled";
  679. };
  680. spi1: spi@fc000000 {
  681. compatible = "atmel,at91rm9200-spi";
  682. reg = <0xfc000000 0x100>;
  683. interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
  684. dmas = <&dma0
  685. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  686. AT91_XDMAC_DT_PERID(8))>,
  687. <&dma0
  688. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  689. AT91_XDMAC_DT_PERID(9))>;
  690. dma-names = "tx", "rx";
  691. clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
  692. clock-names = "spi_clk";
  693. atmel,fifo-size = <16>;
  694. #address-cells = <1>;
  695. #size-cells = <0>;
  696. status = "disabled";
  697. };
  698. uart3: serial@fc008000 {
  699. compatible = "atmel,at91sam9260-usart";
  700. reg = <0xfc008000 0x100>;
  701. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  702. interrupts = <27 IRQ_TYPE_LEVEL_HIGH 7>;
  703. dmas = <&dma1
  704. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  705. AT91_XDMAC_DT_PERID(41))>,
  706. <&dma1
  707. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  708. AT91_XDMAC_DT_PERID(42))>;
  709. dma-names = "tx", "rx";
  710. clocks = <&pmc PMC_TYPE_PERIPHERAL 27>;
  711. clock-names = "usart";
  712. status = "disabled";
  713. };
  714. uart4: serial@fc00c000 {
  715. compatible = "atmel,at91sam9260-usart";
  716. reg = <0xfc00c000 0x100>;
  717. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  718. dmas = <&dma0
  719. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  720. AT91_XDMAC_DT_PERID(43))>,
  721. <&dma0
  722. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  723. AT91_XDMAC_DT_PERID(44))>;
  724. dma-names = "tx", "rx";
  725. interrupts = <28 IRQ_TYPE_LEVEL_HIGH 7>;
  726. clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
  727. clock-names = "usart";
  728. status = "disabled";
  729. };
  730. flx2: flexcom@fc010000 {
  731. compatible = "atmel,sama5d2-flexcom";
  732. reg = <0xfc010000 0x200>;
  733. clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
  734. #address-cells = <1>;
  735. #size-cells = <1>;
  736. ranges = <0x0 0xfc010000 0x800>;
  737. status = "disabled";
  738. uart7: serial@200 {
  739. compatible = "atmel,at91sam9260-usart";
  740. reg = <0x200 0x200>;
  741. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  742. interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
  743. clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
  744. clock-names = "usart";
  745. dmas = <&dma0
  746. (AT91_XDMAC_DT_MEM_IF(0) |
  747. AT91_XDMAC_DT_PER_IF(1) |
  748. AT91_XDMAC_DT_PERID(15))>,
  749. <&dma0
  750. (AT91_XDMAC_DT_MEM_IF(0) |
  751. AT91_XDMAC_DT_PER_IF(1) |
  752. AT91_XDMAC_DT_PERID(16))>;
  753. dma-names = "tx", "rx";
  754. atmel,fifo-size = <32>;
  755. status = "disabled";
  756. };
  757. spi4: spi@400 {
  758. compatible = "atmel,at91rm9200-spi";
  759. reg = <0x400 0x200>;
  760. interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
  761. #address-cells = <1>;
  762. #size-cells = <0>;
  763. clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
  764. clock-names = "spi_clk";
  765. dmas = <&dma0
  766. (AT91_XDMAC_DT_MEM_IF(0) |
  767. AT91_XDMAC_DT_PER_IF(1) |
  768. AT91_XDMAC_DT_PERID(15))>,
  769. <&dma0
  770. (AT91_XDMAC_DT_MEM_IF(0) |
  771. AT91_XDMAC_DT_PER_IF(1) |
  772. AT91_XDMAC_DT_PERID(16))>;
  773. dma-names = "tx", "rx";
  774. atmel,fifo-size = <16>;
  775. status = "disabled";
  776. };
  777. i2c4: i2c@600 {
  778. compatible = "atmel,sama5d2-i2c";
  779. reg = <0x600 0x200>;
  780. interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
  781. #address-cells = <1>;
  782. #size-cells = <0>;
  783. clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
  784. dmas = <&dma0
  785. (AT91_XDMAC_DT_MEM_IF(0) |
  786. AT91_XDMAC_DT_PER_IF(1) |
  787. AT91_XDMAC_DT_PERID(15))>,
  788. <&dma0
  789. (AT91_XDMAC_DT_MEM_IF(0) |
  790. AT91_XDMAC_DT_PER_IF(1) |
  791. AT91_XDMAC_DT_PERID(16))>;
  792. dma-names = "tx", "rx";
  793. atmel,fifo-size = <16>;
  794. status = "disabled";
  795. };
  796. };
  797. flx3: flexcom@fc014000 {
  798. compatible = "atmel,sama5d2-flexcom";
  799. reg = <0xfc014000 0x200>;
  800. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
  801. #address-cells = <1>;
  802. #size-cells = <1>;
  803. ranges = <0x0 0xfc014000 0x800>;
  804. status = "disabled";
  805. uart8: serial@200 {
  806. compatible = "atmel,at91sam9260-usart";
  807. reg = <0x200 0x200>;
  808. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  809. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
  810. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
  811. clock-names = "usart";
  812. dmas = <&dma0
  813. (AT91_XDMAC_DT_MEM_IF(0) |
  814. AT91_XDMAC_DT_PER_IF(1) |
  815. AT91_XDMAC_DT_PERID(17))>,
  816. <&dma0
  817. (AT91_XDMAC_DT_MEM_IF(0) |
  818. AT91_XDMAC_DT_PER_IF(1) |
  819. AT91_XDMAC_DT_PERID(18))>;
  820. dma-names = "tx", "rx";
  821. atmel,fifo-size = <32>;
  822. status = "disabled";
  823. };
  824. spi5: spi@400 {
  825. compatible = "atmel,at91rm9200-spi";
  826. reg = <0x400 0x200>;
  827. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
  828. #address-cells = <1>;
  829. #size-cells = <0>;
  830. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
  831. clock-names = "spi_clk";
  832. dmas = <&dma0
  833. (AT91_XDMAC_DT_MEM_IF(0) |
  834. AT91_XDMAC_DT_PER_IF(1) |
  835. AT91_XDMAC_DT_PERID(17))>,
  836. <&dma0
  837. (AT91_XDMAC_DT_MEM_IF(0) |
  838. AT91_XDMAC_DT_PER_IF(1) |
  839. AT91_XDMAC_DT_PERID(18))>;
  840. dma-names = "tx", "rx";
  841. atmel,fifo-size = <16>;
  842. status = "disabled";
  843. };
  844. i2c5: i2c@600 {
  845. compatible = "atmel,sama5d2-i2c";
  846. reg = <0x600 0x200>;
  847. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
  848. #address-cells = <1>;
  849. #size-cells = <0>;
  850. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
  851. dmas = <&dma0
  852. (AT91_XDMAC_DT_MEM_IF(0) |
  853. AT91_XDMAC_DT_PER_IF(1) |
  854. AT91_XDMAC_DT_PERID(17))>,
  855. <&dma0
  856. (AT91_XDMAC_DT_MEM_IF(0) |
  857. AT91_XDMAC_DT_PER_IF(1) |
  858. AT91_XDMAC_DT_PERID(18))>;
  859. dma-names = "tx", "rx";
  860. atmel,fifo-size = <16>;
  861. status = "disabled";
  862. };
  863. };
  864. flx4: flexcom@fc018000 {
  865. compatible = "atmel,sama5d2-flexcom";
  866. reg = <0xfc018000 0x200>;
  867. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
  868. #address-cells = <1>;
  869. #size-cells = <1>;
  870. ranges = <0x0 0xfc018000 0x800>;
  871. status = "disabled";
  872. uart9: serial@200 {
  873. compatible = "atmel,at91sam9260-usart";
  874. reg = <0x200 0x200>;
  875. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  876. interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
  877. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
  878. clock-names = "usart";
  879. dmas = <&dma0
  880. (AT91_XDMAC_DT_MEM_IF(0) |
  881. AT91_XDMAC_DT_PER_IF(1) |
  882. AT91_XDMAC_DT_PERID(19))>,
  883. <&dma0
  884. (AT91_XDMAC_DT_MEM_IF(0) |
  885. AT91_XDMAC_DT_PER_IF(1) |
  886. AT91_XDMAC_DT_PERID(20))>;
  887. dma-names = "tx", "rx";
  888. atmel,fifo-size = <32>;
  889. status = "disabled";
  890. };
  891. spi6: spi@400 {
  892. compatible = "atmel,at91rm9200-spi";
  893. reg = <0x400 0x200>;
  894. interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
  895. #address-cells = <1>;
  896. #size-cells = <0>;
  897. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
  898. clock-names = "spi_clk";
  899. dmas = <&dma0
  900. (AT91_XDMAC_DT_MEM_IF(0) |
  901. AT91_XDMAC_DT_PER_IF(1) |
  902. AT91_XDMAC_DT_PERID(19))>,
  903. <&dma0
  904. (AT91_XDMAC_DT_MEM_IF(0) |
  905. AT91_XDMAC_DT_PER_IF(1) |
  906. AT91_XDMAC_DT_PERID(20))>;
  907. dma-names = "tx", "rx";
  908. atmel,fifo-size = <16>;
  909. status = "disabled";
  910. };
  911. i2c6: i2c@600 {
  912. compatible = "atmel,sama5d2-i2c";
  913. reg = <0x600 0x200>;
  914. interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
  915. #address-cells = <1>;
  916. #size-cells = <0>;
  917. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
  918. dmas = <&dma0
  919. (AT91_XDMAC_DT_MEM_IF(0) |
  920. AT91_XDMAC_DT_PER_IF(1) |
  921. AT91_XDMAC_DT_PERID(19))>,
  922. <&dma0
  923. (AT91_XDMAC_DT_MEM_IF(0) |
  924. AT91_XDMAC_DT_PER_IF(1) |
  925. AT91_XDMAC_DT_PERID(20))>;
  926. dma-names = "tx", "rx";
  927. atmel,fifo-size = <16>;
  928. status = "disabled";
  929. };
  930. };
  931. trng@fc01c000 {
  932. compatible = "atmel,at91sam9g45-trng";
  933. reg = <0xfc01c000 0x100>;
  934. interrupts = <47 IRQ_TYPE_LEVEL_HIGH 0>;
  935. clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
  936. };
  937. aic: interrupt-controller@fc020000 {
  938. #interrupt-cells = <3>;
  939. compatible = "atmel,sama5d2-aic";
  940. interrupt-controller;
  941. reg = <0xfc020000 0x200>;
  942. atmel,external-irqs = <49>;
  943. };
  944. i2c1: i2c@fc028000 {
  945. compatible = "atmel,sama5d2-i2c";
  946. reg = <0xfc028000 0x100>;
  947. interrupts = <30 IRQ_TYPE_LEVEL_HIGH 7>;
  948. dmas = <&dma0
  949. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  950. AT91_XDMAC_DT_PERID(2))>,
  951. <&dma0
  952. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  953. AT91_XDMAC_DT_PERID(3))>;
  954. dma-names = "tx", "rx";
  955. #address-cells = <1>;
  956. #size-cells = <0>;
  957. clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
  958. atmel,fifo-size = <16>;
  959. status = "disabled";
  960. };
  961. adc: adc@fc030000 {
  962. compatible = "atmel,sama5d2-adc";
  963. reg = <0xfc030000 0x100>;
  964. interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
  965. clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
  966. clock-names = "adc_clk";
  967. dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
  968. dma-names = "rx";
  969. atmel,min-sample-rate-hz = <200000>;
  970. atmel,max-sample-rate-hz = <20000000>;
  971. atmel,startup-time-ms = <4>;
  972. atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
  973. #io-channel-cells = <1>;
  974. status = "disabled";
  975. };
  976. pioA: pinctrl@fc038000 {
  977. compatible = "atmel,sama5d2-pinctrl";
  978. reg = <0xfc038000 0x600>;
  979. interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>,
  980. <68 IRQ_TYPE_LEVEL_HIGH 7>,
  981. <69 IRQ_TYPE_LEVEL_HIGH 7>,
  982. <70 IRQ_TYPE_LEVEL_HIGH 7>;
  983. interrupt-controller;
  984. #interrupt-cells = <2>;
  985. gpio-controller;
  986. #gpio-cells = <2>;
  987. clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
  988. };
  989. pioBU: secumod@fc040000 {
  990. compatible = "atmel,sama5d2-secumod", "syscon";
  991. reg = <0xfc040000 0x100>;
  992. gpio-controller;
  993. #gpio-cells = <2>;
  994. };
  995. tdes: crypto@fc044000 {
  996. compatible = "atmel,at91sam9g46-tdes";
  997. reg = <0xfc044000 0x100>;
  998. interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
  999. dmas = <&dma0
  1000. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1001. AT91_XDMAC_DT_PERID(28))>,
  1002. <&dma0
  1003. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1004. AT91_XDMAC_DT_PERID(29))>;
  1005. dma-names = "tx", "rx";
  1006. clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
  1007. clock-names = "tdes_clk";
  1008. };
  1009. classd: classd@fc048000 {
  1010. compatible = "atmel,sama5d2-classd";
  1011. reg = <0xfc048000 0x100>;
  1012. interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
  1013. dmas = <&dma0
  1014. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1015. AT91_XDMAC_DT_PERID(47))>;
  1016. dma-names = "tx";
  1017. clocks = <&pmc PMC_TYPE_PERIPHERAL 59>, <&pmc PMC_TYPE_GCK 59>;
  1018. clock-names = "pclk", "gclk";
  1019. status = "disabled";
  1020. };
  1021. i2s1: i2s@fc04c000 {
  1022. compatible = "atmel,sama5d2-i2s";
  1023. reg = <0xfc04c000 0x100>;
  1024. interrupts = <55 IRQ_TYPE_LEVEL_HIGH 7>;
  1025. dmas = <&dma0
  1026. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1027. AT91_XDMAC_DT_PERID(33))>,
  1028. <&dma0
  1029. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1030. AT91_XDMAC_DT_PERID(34))>;
  1031. dma-names = "tx", "rx";
  1032. clocks = <&pmc PMC_TYPE_PERIPHERAL 55>, <&pmc PMC_TYPE_GCK 55>;
  1033. clock-names = "pclk", "gclk";
  1034. assigned-clocks = <&pmc PMC_TYPE_CORE PMC_I2S1_MUX>;
  1035. assigned-clock-parents = <&pmc PMC_TYPE_GCK 55>;
  1036. status = "disabled";
  1037. };
  1038. can1: can@fc050000 {
  1039. compatible = "bosch,m_can";
  1040. reg = <0xfc050000 0x4000>, <0x210000 0x3800>;
  1041. reg-names = "m_can", "message_ram";
  1042. interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>,
  1043. <65 IRQ_TYPE_LEVEL_HIGH 7>;
  1044. interrupt-names = "int0", "int1";
  1045. clocks = <&pmc PMC_TYPE_PERIPHERAL 57>, <&pmc PMC_TYPE_GCK 57>;
  1046. clock-names = "hclk", "cclk";
  1047. assigned-clocks = <&pmc PMC_TYPE_GCK 57>;
  1048. assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
  1049. assigned-clock-rates = <40000000>;
  1050. bosch,mram-cfg = <0x1c00 0 0 64 0 0 32 32>;
  1051. status = "disabled";
  1052. };
  1053. sfrbu: sfr@fc05c000 {
  1054. compatible = "atmel,sama5d2-sfrbu", "syscon";
  1055. reg = <0xfc05c000 0x20>;
  1056. };
  1057. chipid@fc069000 {
  1058. compatible = "atmel,sama5d2-chipid";
  1059. reg = <0xfc069000 0x8>;
  1060. };
  1061. };
  1062. };
  1063. };