sam9x60.dtsi 39 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * sam9x60.dtsi - Device Tree Include file for Microchip SAM9X60 SoC
  4. *
  5. * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
  6. *
  7. * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
  8. */
  9. #include <dt-bindings/dma/at91.h>
  10. #include <dt-bindings/pinctrl/at91.h>
  11. #include <dt-bindings/interrupt-controller/irq.h>
  12. #include <dt-bindings/gpio/gpio.h>
  13. #include <dt-bindings/clock/at91.h>
  14. #include <dt-bindings/mfd/at91-usart.h>
  15. #include <dt-bindings/mfd/atmel-flexcom.h>
  16. / {
  17. #address-cells = <1>;
  18. #size-cells = <1>;
  19. model = "Microchip SAM9X60 SoC";
  20. compatible = "microchip,sam9x60";
  21. interrupt-parent = <&aic>;
  22. aliases {
  23. serial0 = &dbgu;
  24. gpio0 = &pioA;
  25. gpio1 = &pioB;
  26. gpio2 = &pioC;
  27. gpio3 = &pioD;
  28. tcb0 = &tcb0;
  29. tcb1 = &tcb1;
  30. };
  31. cpus {
  32. #address-cells = <1>;
  33. #size-cells = <0>;
  34. cpu@0 {
  35. compatible = "arm,arm926ej-s";
  36. device_type = "cpu";
  37. reg = <0>;
  38. };
  39. };
  40. memory@20000000 {
  41. device_type = "memory";
  42. reg = <0x20000000 0x10000000>;
  43. };
  44. clocks {
  45. slow_xtal: slow_xtal {
  46. compatible = "fixed-clock";
  47. #clock-cells = <0>;
  48. };
  49. main_xtal: main_xtal {
  50. compatible = "fixed-clock";
  51. #clock-cells = <0>;
  52. };
  53. };
  54. sram: sram@300000 {
  55. compatible = "mmio-sram";
  56. reg = <0x00300000 0x100000>;
  57. #address-cells = <1>;
  58. #size-cells = <1>;
  59. ranges = <0 0x00300000 0x100000>;
  60. };
  61. ahb {
  62. compatible = "simple-bus";
  63. #address-cells = <1>;
  64. #size-cells = <1>;
  65. ranges;
  66. usb0: gadget@500000 {
  67. #address-cells = <1>;
  68. #size-cells = <0>;
  69. compatible = "microchip,sam9x60-udc";
  70. reg = <0x00500000 0x100000
  71. 0xf803c000 0x400>;
  72. interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
  73. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
  74. clock-names = "pclk", "hclk";
  75. assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>;
  76. assigned-clock-rates = <480000000>;
  77. status = "disabled";
  78. };
  79. usb1: ohci@600000 {
  80. compatible = "atmel,at91rm9200-ohci", "usb-ohci";
  81. reg = <0x00600000 0x100000>;
  82. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
  83. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>;
  84. clock-names = "ohci_clk", "hclk", "uhpck";
  85. status = "disabled";
  86. };
  87. usb2: ehci@700000 {
  88. compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
  89. reg = <0x00700000 0x100000>;
  90. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
  91. clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 22>;
  92. clock-names = "usb_clk", "ehci_clk";
  93. assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>;
  94. assigned-clock-rates = <480000000>;
  95. status = "disabled";
  96. };
  97. ebi: ebi@10000000 {
  98. compatible = "microchip,sam9x60-ebi";
  99. #address-cells = <2>;
  100. #size-cells = <1>;
  101. atmel,smc = <&smc>;
  102. microchip,sfr = <&sfr>;
  103. reg = <0x10000000 0x60000000>;
  104. ranges = <0x0 0x0 0x10000000 0x10000000
  105. 0x1 0x0 0x20000000 0x10000000
  106. 0x2 0x0 0x30000000 0x10000000
  107. 0x3 0x0 0x40000000 0x10000000
  108. 0x4 0x0 0x50000000 0x10000000
  109. 0x5 0x0 0x60000000 0x10000000>;
  110. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  111. status = "disabled";
  112. nand_controller: nand-controller {
  113. compatible = "microchip,sam9x60-nand-controller";
  114. ecc-engine = <&pmecc>;
  115. #address-cells = <2>;
  116. #size-cells = <1>;
  117. ranges;
  118. status = "disabled";
  119. };
  120. };
  121. sdmmc0: sdio-host@80000000 {
  122. compatible = "microchip,sam9x60-sdhci";
  123. reg = <0x80000000 0x300>;
  124. interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
  125. clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
  126. clock-names = "hclock", "multclk";
  127. assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
  128. assigned-clock-rates = <100000000>;
  129. status = "disabled";
  130. };
  131. sdmmc1: sdio-host@90000000 {
  132. compatible = "microchip,sam9x60-sdhci";
  133. reg = <0x90000000 0x300>;
  134. interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
  135. clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>;
  136. clock-names = "hclock", "multclk";
  137. assigned-clocks = <&pmc PMC_TYPE_GCK 26>;
  138. assigned-clock-rates = <100000000>;
  139. status = "disabled";
  140. };
  141. apb {
  142. compatible = "simple-bus";
  143. #address-cells = <1>;
  144. #size-cells = <1>;
  145. ranges;
  146. flx4: flexcom@f0000000 {
  147. compatible = "atmel,sama5d2-flexcom";
  148. reg = <0xf0000000 0x200>;
  149. clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
  150. #address-cells = <1>;
  151. #size-cells = <1>;
  152. ranges = <0x0 0xf0000000 0x800>;
  153. status = "disabled";
  154. uart4: serial@200 {
  155. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  156. reg = <0x200 0x200>;
  157. interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
  158. dmas = <&dma0
  159. (AT91_XDMAC_DT_MEM_IF(0) |
  160. AT91_XDMAC_DT_PER_IF(1) |
  161. AT91_XDMAC_DT_PERID(8))>,
  162. <&dma0
  163. (AT91_XDMAC_DT_MEM_IF(0) |
  164. AT91_XDMAC_DT_PER_IF(1) |
  165. AT91_XDMAC_DT_PERID(9))>;
  166. dma-names = "tx", "rx";
  167. clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
  168. clock-names = "usart";
  169. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  170. atmel,use-dma-rx;
  171. atmel,use-dma-tx;
  172. atmel,fifo-size = <16>;
  173. status = "disabled";
  174. };
  175. spi4: spi@400 {
  176. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  177. reg = <0x400 0x200>;
  178. interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
  179. clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
  180. clock-names = "spi_clk";
  181. dmas = <&dma0
  182. (AT91_XDMAC_DT_MEM_IF(0) |
  183. AT91_XDMAC_DT_PER_IF(1) |
  184. AT91_XDMAC_DT_PERID(8))>,
  185. <&dma0
  186. (AT91_XDMAC_DT_MEM_IF(0) |
  187. AT91_XDMAC_DT_PER_IF(1) |
  188. AT91_XDMAC_DT_PERID(9))>;
  189. dma-names = "tx", "rx";
  190. atmel,fifo-size = <16>;
  191. status = "disabled";
  192. };
  193. i2c4: i2c@600 {
  194. compatible = "microchip,sam9x60-i2c";
  195. reg = <0x600 0x200>;
  196. interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
  197. #address-cells = <1>;
  198. #size-cells = <0>;
  199. clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
  200. dmas = <&dma0
  201. (AT91_XDMAC_DT_MEM_IF(0) |
  202. AT91_XDMAC_DT_PER_IF(1) |
  203. AT91_XDMAC_DT_PERID(8))>,
  204. <&dma0
  205. (AT91_XDMAC_DT_MEM_IF(0) |
  206. AT91_XDMAC_DT_PER_IF(1) |
  207. AT91_XDMAC_DT_PERID(9))>;
  208. dma-names = "tx", "rx";
  209. atmel,fifo-size = <16>;
  210. status = "disabled";
  211. };
  212. };
  213. flx5: flexcom@f0004000 {
  214. compatible = "atmel,sama5d2-flexcom";
  215. reg = <0xf0004000 0x200>;
  216. clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
  217. #address-cells = <1>;
  218. #size-cells = <1>;
  219. ranges = <0x0 0xf0004000 0x800>;
  220. status = "disabled";
  221. uart5: serial@200 {
  222. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  223. reg = <0x200 0x200>;
  224. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  225. interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
  226. dmas = <&dma0
  227. (AT91_XDMAC_DT_MEM_IF(0) |
  228. AT91_XDMAC_DT_PER_IF(1) |
  229. AT91_XDMAC_DT_PERID(10))>,
  230. <&dma0
  231. (AT91_XDMAC_DT_MEM_IF(0) |
  232. AT91_XDMAC_DT_PER_IF(1) |
  233. AT91_XDMAC_DT_PERID(11))>;
  234. dma-names = "tx", "rx";
  235. clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
  236. clock-names = "usart";
  237. atmel,use-dma-rx;
  238. atmel,use-dma-tx;
  239. atmel,fifo-size = <16>;
  240. status = "disabled";
  241. };
  242. spi5: spi@400 {
  243. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  244. reg = <0x400 0x200>;
  245. interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
  246. clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
  247. clock-names = "spi_clk";
  248. dmas = <&dma0
  249. (AT91_XDMAC_DT_MEM_IF(0) |
  250. AT91_XDMAC_DT_PER_IF(1) |
  251. AT91_XDMAC_DT_PERID(10))>,
  252. <&dma0
  253. (AT91_XDMAC_DT_MEM_IF(0) |
  254. AT91_XDMAC_DT_PER_IF(1) |
  255. AT91_XDMAC_DT_PERID(11))>;
  256. dma-names = "tx", "rx";
  257. atmel,fifo-size = <16>;
  258. status = "disabled";
  259. };
  260. i2c5: i2c@600 {
  261. compatible = "microchip,sam9x60-i2c";
  262. reg = <0x600 0x200>;
  263. interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
  267. dmas = <&dma0
  268. (AT91_XDMAC_DT_MEM_IF(0) |
  269. AT91_XDMAC_DT_PER_IF(1) |
  270. AT91_XDMAC_DT_PERID(10))>,
  271. <&dma0
  272. (AT91_XDMAC_DT_MEM_IF(0) |
  273. AT91_XDMAC_DT_PER_IF(1) |
  274. AT91_XDMAC_DT_PERID(11))>;
  275. dma-names = "tx", "rx";
  276. atmel,fifo-size = <16>;
  277. status = "disabled";
  278. };
  279. };
  280. dma0: dma-controller@f0008000 {
  281. compatible = "microchip,sam9x60-dma", "atmel,sama5d4-dma";
  282. reg = <0xf0008000 0x1000>;
  283. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
  284. #dma-cells = <1>;
  285. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  286. clock-names = "dma_clk";
  287. };
  288. ssc: ssc@f0010000 {
  289. compatible = "atmel,at91sam9g45-ssc";
  290. reg = <0xf0010000 0x4000>;
  291. interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
  292. dmas = <&dma0
  293. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  294. AT91_XDMAC_DT_PERID(38))>,
  295. <&dma0
  296. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  297. AT91_XDMAC_DT_PERID(39))>;
  298. dma-names = "tx", "rx";
  299. clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
  300. clock-names = "pclk";
  301. status = "disabled";
  302. };
  303. qspi: spi@f0014000 {
  304. compatible = "microchip,sam9x60-qspi";
  305. reg = <0xf0014000 0x100>, <0x70000000 0x10000000>;
  306. reg-names = "qspi_base", "qspi_mmap";
  307. interrupts = <35 IRQ_TYPE_LEVEL_HIGH 7>;
  308. dmas = <&dma0
  309. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  310. AT91_XDMAC_DT_PERID(26))>,
  311. <&dma0
  312. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  313. AT91_XDMAC_DT_PERID(27))>;
  314. dma-names = "tx", "rx";
  315. clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_SYSTEM 19>;
  316. clock-names = "pclk", "qspick";
  317. atmel,pmc = <&pmc>;
  318. #address-cells = <1>;
  319. #size-cells = <0>;
  320. status = "disabled";
  321. };
  322. i2s: i2s@f001c000 {
  323. compatible = "microchip,sam9x60-i2smcc";
  324. reg = <0xf001c000 0x100>;
  325. interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
  326. dmas = <&dma0
  327. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  328. AT91_XDMAC_DT_PERID(36))>,
  329. <&dma0
  330. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  331. AT91_XDMAC_DT_PERID(37))>;
  332. dma-names = "tx", "rx";
  333. clocks = <&pmc PMC_TYPE_PERIPHERAL 34>, <&pmc PMC_TYPE_GCK 34>;
  334. clock-names = "pclk", "gclk";
  335. status = "disabled";
  336. };
  337. flx11: flexcom@f0020000 {
  338. compatible = "atmel,sama5d2-flexcom";
  339. reg = <0xf0020000 0x200>;
  340. clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
  341. #address-cells = <1>;
  342. #size-cells = <1>;
  343. ranges = <0x0 0xf0020000 0x800>;
  344. status = "disabled";
  345. uart11: serial@200 {
  346. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  347. reg = <0x200 0x200>;
  348. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
  349. dmas = <&dma0
  350. (AT91_XDMAC_DT_MEM_IF(0) |
  351. AT91_XDMAC_DT_PER_IF(1) |
  352. AT91_XDMAC_DT_PERID(22))>,
  353. <&dma0
  354. (AT91_XDMAC_DT_MEM_IF(0) |
  355. AT91_XDMAC_DT_PER_IF(1) |
  356. AT91_XDMAC_DT_PERID(23))>;
  357. dma-names = "tx", "rx";
  358. clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
  359. clock-names = "usart";
  360. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  361. atmel,use-dma-rx;
  362. atmel,use-dma-tx;
  363. atmel,fifo-size = <16>;
  364. status = "disabled";
  365. };
  366. i2c11: i2c@600 {
  367. compatible = "microchip,sam9x60-i2c";
  368. reg = <0x600 0x200>;
  369. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
  370. #address-cells = <1>;
  371. #size-cells = <0>;
  372. clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
  373. dmas = <&dma0
  374. (AT91_XDMAC_DT_MEM_IF(0) |
  375. AT91_XDMAC_DT_PER_IF(1) |
  376. AT91_XDMAC_DT_PERID(22))>,
  377. <&dma0
  378. (AT91_XDMAC_DT_MEM_IF(0) |
  379. AT91_XDMAC_DT_PER_IF(1) |
  380. AT91_XDMAC_DT_PERID(23))>;
  381. dma-names = "tx", "rx";
  382. atmel,fifo-size = <16>;
  383. status = "disabled";
  384. };
  385. };
  386. flx12: flexcom@f0024000 {
  387. compatible = "atmel,sama5d2-flexcom";
  388. reg = <0xf0024000 0x200>;
  389. clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
  390. #address-cells = <1>;
  391. #size-cells = <1>;
  392. ranges = <0x0 0xf0024000 0x800>;
  393. status = "disabled";
  394. uart12: serial@200 {
  395. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  396. reg = <0x200 0x200>;
  397. interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
  398. dmas = <&dma0
  399. (AT91_XDMAC_DT_MEM_IF(0) |
  400. AT91_XDMAC_DT_PER_IF(1) |
  401. AT91_XDMAC_DT_PERID(24))>,
  402. <&dma0
  403. (AT91_XDMAC_DT_MEM_IF(0) |
  404. AT91_XDMAC_DT_PER_IF(1) |
  405. AT91_XDMAC_DT_PERID(25))>;
  406. dma-names = "tx", "rx";
  407. clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
  408. clock-names = "usart";
  409. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  410. atmel,use-dma-rx;
  411. atmel,use-dma-tx;
  412. atmel,fifo-size = <16>;
  413. status = "disabled";
  414. };
  415. i2c12: i2c@600 {
  416. compatible = "microchip,sam9x60-i2c";
  417. reg = <0x600 0x200>;
  418. interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
  419. #address-cells = <1>;
  420. #size-cells = <0>;
  421. clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
  422. dmas = <&dma0
  423. (AT91_XDMAC_DT_MEM_IF(0) |
  424. AT91_XDMAC_DT_PER_IF(1) |
  425. AT91_XDMAC_DT_PERID(24))>,
  426. <&dma0
  427. (AT91_XDMAC_DT_MEM_IF(0) |
  428. AT91_XDMAC_DT_PER_IF(1) |
  429. AT91_XDMAC_DT_PERID(25))>;
  430. dma-names = "tx", "rx";
  431. atmel,fifo-size = <16>;
  432. status = "disabled";
  433. };
  434. };
  435. pit64b: timer@f0028000 {
  436. compatible = "microchip,sam9x60-pit64b";
  437. reg = <0xf0028000 0x100>;
  438. interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
  439. clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
  440. clock-names = "pclk", "gclk";
  441. };
  442. sha: crypto@f002c000 {
  443. compatible = "atmel,at91sam9g46-sha";
  444. reg = <0xf002c000 0x100>;
  445. interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
  446. dmas = <&dma0
  447. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  448. AT91_XDMAC_DT_PERID(34))>;
  449. dma-names = "tx";
  450. clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
  451. clock-names = "sha_clk";
  452. };
  453. trng: trng@f0030000 {
  454. compatible = "microchip,sam9x60-trng";
  455. reg = <0xf0030000 0x100>;
  456. interrupts = <38 IRQ_TYPE_LEVEL_HIGH 0>;
  457. clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
  458. };
  459. aes: crypto@f0034000 {
  460. compatible = "atmel,at91sam9g46-aes";
  461. reg = <0xf0034000 0x100>;
  462. interrupts = <39 IRQ_TYPE_LEVEL_HIGH 0>;
  463. dmas = <&dma0
  464. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  465. AT91_XDMAC_DT_PERID(32))>,
  466. <&dma0
  467. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  468. AT91_XDMAC_DT_PERID(33))>;
  469. dma-names = "tx", "rx";
  470. clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
  471. clock-names = "aes_clk";
  472. };
  473. tdes: crypto@f0038000 {
  474. compatible = "atmel,at91sam9g46-tdes";
  475. reg = <0xf0038000 0x100>;
  476. interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
  477. dmas = <&dma0
  478. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  479. AT91_XDMAC_DT_PERID(31))>,
  480. <&dma0
  481. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  482. AT91_XDMAC_DT_PERID(30))>;
  483. dma-names = "tx", "rx";
  484. clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
  485. clock-names = "tdes_clk";
  486. };
  487. classd: classd@f003c000 {
  488. compatible = "atmel,sama5d2-classd";
  489. reg = <0xf003c000 0x100>;
  490. interrupts = <42 IRQ_TYPE_LEVEL_HIGH 7>;
  491. dmas = <&dma0
  492. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  493. AT91_XDMAC_DT_PERID(35))>;
  494. dma-names = "tx";
  495. clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_GCK 42>;
  496. clock-names = "pclk", "gclk";
  497. status = "disabled";
  498. };
  499. can0: can@f8000000 {
  500. compatible = "microchip,sam9x60-can", "atmel,at91sam9x5-can";
  501. reg = <0xf8000000 0x300>;
  502. interrupts = <29 IRQ_TYPE_LEVEL_HIGH 3>;
  503. clocks = <&pmc PMC_TYPE_PERIPHERAL 29>;
  504. clock-names = "can_clk";
  505. status = "disabled";
  506. };
  507. can1: can@f8004000 {
  508. compatible = "microchip,sam9x60-can", "atmel,at91sam9x5-can";
  509. reg = <0xf8004000 0x300>;
  510. interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>;
  511. clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
  512. clock-names = "can_clk";
  513. status = "disabled";
  514. };
  515. tcb0: timer@f8008000 {
  516. compatible = "microchip,sam9x60-tcb", "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
  517. #address-cells = <1>;
  518. #size-cells = <0>;
  519. reg = <0xf8008000 0x100>;
  520. interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
  521. clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k 0>;
  522. clock-names = "t0_clk", "slow_clk";
  523. };
  524. tcb1: timer@f800c000 {
  525. compatible = "microchip,sam9x60-tcb", "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
  526. #address-cells = <1>;
  527. #size-cells = <0>;
  528. reg = <0xf800c000 0x100>;
  529. interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
  530. clocks = <&pmc PMC_TYPE_PERIPHERAL 45>, <&clk32k 0>;
  531. clock-names = "t0_clk", "slow_clk";
  532. };
  533. flx6: flexcom@f8010000 {
  534. compatible = "atmel,sama5d2-flexcom";
  535. reg = <0xf8010000 0x200>;
  536. clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
  537. #address-cells = <1>;
  538. #size-cells = <1>;
  539. ranges = <0x0 0xf8010000 0x800>;
  540. status = "disabled";
  541. uart6: serial@200 {
  542. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  543. reg = <0x200 0x200>;
  544. interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
  545. dmas = <&dma0
  546. (AT91_XDMAC_DT_MEM_IF(0) |
  547. AT91_XDMAC_DT_PER_IF(1) |
  548. AT91_XDMAC_DT_PERID(12))>,
  549. <&dma0
  550. (AT91_XDMAC_DT_MEM_IF(0) |
  551. AT91_XDMAC_DT_PER_IF(1) |
  552. AT91_XDMAC_DT_PERID(13))>;
  553. dma-names = "tx", "rx";
  554. clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
  555. clock-names = "usart";
  556. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  557. atmel,use-dma-rx;
  558. atmel,use-dma-tx;
  559. atmel,fifo-size = <16>;
  560. status = "disabled";
  561. };
  562. i2c6: i2c@600 {
  563. compatible = "microchip,sam9x60-i2c";
  564. reg = <0x600 0x200>;
  565. interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
  566. #address-cells = <1>;
  567. #size-cells = <0>;
  568. clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
  569. dmas = <&dma0
  570. (AT91_XDMAC_DT_MEM_IF(0) |
  571. AT91_XDMAC_DT_PER_IF(1) |
  572. AT91_XDMAC_DT_PERID(12))>,
  573. <&dma0
  574. (AT91_XDMAC_DT_MEM_IF(0) |
  575. AT91_XDMAC_DT_PER_IF(1) |
  576. AT91_XDMAC_DT_PERID(13))>;
  577. dma-names = "tx", "rx";
  578. atmel,fifo-size = <16>;
  579. status = "disabled";
  580. };
  581. };
  582. flx7: flexcom@f8014000 {
  583. compatible = "atmel,sama5d2-flexcom";
  584. reg = <0xf8014000 0x200>;
  585. clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
  586. #address-cells = <1>;
  587. #size-cells = <1>;
  588. ranges = <0x0 0xf8014000 0x800>;
  589. status = "disabled";
  590. uart7: serial@200 {
  591. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  592. reg = <0x200 0x200>;
  593. interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
  594. dmas = <&dma0
  595. (AT91_XDMAC_DT_MEM_IF(0) |
  596. AT91_XDMAC_DT_PER_IF(1) |
  597. AT91_XDMAC_DT_PERID(14))>,
  598. <&dma0
  599. (AT91_XDMAC_DT_MEM_IF(0) |
  600. AT91_XDMAC_DT_PER_IF(1) |
  601. AT91_XDMAC_DT_PERID(15))>;
  602. dma-names = "tx", "rx";
  603. clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
  604. clock-names = "usart";
  605. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  606. atmel,use-dma-rx;
  607. atmel,use-dma-tx;
  608. atmel,fifo-size = <16>;
  609. status = "disabled";
  610. };
  611. i2c7: i2c@600 {
  612. compatible = "microchip,sam9x60-i2c";
  613. reg = <0x600 0x200>;
  614. interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
  615. #address-cells = <1>;
  616. #size-cells = <0>;
  617. clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
  618. dmas = <&dma0
  619. (AT91_XDMAC_DT_MEM_IF(0) |
  620. AT91_XDMAC_DT_PER_IF(1) |
  621. AT91_XDMAC_DT_PERID(14))>,
  622. <&dma0
  623. (AT91_XDMAC_DT_MEM_IF(0) |
  624. AT91_XDMAC_DT_PER_IF(1) |
  625. AT91_XDMAC_DT_PERID(15))>;
  626. dma-names = "tx", "rx";
  627. atmel,fifo-size = <16>;
  628. status = "disabled";
  629. };
  630. };
  631. flx8: flexcom@f8018000 {
  632. compatible = "atmel,sama5d2-flexcom";
  633. reg = <0xf8018000 0x200>;
  634. clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
  635. #address-cells = <1>;
  636. #size-cells = <1>;
  637. ranges = <0x0 0xf8018000 0x800>;
  638. status = "disabled";
  639. uart8: serial@200 {
  640. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  641. reg = <0x200 0x200>;
  642. interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
  643. dmas = <&dma0
  644. (AT91_XDMAC_DT_MEM_IF(0) |
  645. AT91_XDMAC_DT_PER_IF(1) |
  646. AT91_XDMAC_DT_PERID(16))>,
  647. <&dma0
  648. (AT91_XDMAC_DT_MEM_IF(0) |
  649. AT91_XDMAC_DT_PER_IF(1) |
  650. AT91_XDMAC_DT_PERID(17))>;
  651. dma-names = "tx", "rx";
  652. clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
  653. clock-names = "usart";
  654. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  655. atmel,use-dma-rx;
  656. atmel,use-dma-tx;
  657. atmel,fifo-size = <16>;
  658. status = "disabled";
  659. };
  660. i2c8: i2c@600 {
  661. compatible = "microchip,sam9x60-i2c";
  662. reg = <0x600 0x200>;
  663. interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
  664. #address-cells = <1>;
  665. #size-cells = <0>;
  666. clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
  667. dmas = <&dma0
  668. (AT91_XDMAC_DT_MEM_IF(0) |
  669. AT91_XDMAC_DT_PER_IF(1) |
  670. AT91_XDMAC_DT_PERID(16))>,
  671. <&dma0
  672. (AT91_XDMAC_DT_MEM_IF(0) |
  673. AT91_XDMAC_DT_PER_IF(1) |
  674. AT91_XDMAC_DT_PERID(17))>;
  675. dma-names = "tx", "rx";
  676. atmel,fifo-size = <16>;
  677. status = "disabled";
  678. };
  679. };
  680. flx0: flexcom@f801c000 {
  681. compatible = "atmel,sama5d2-flexcom";
  682. reg = <0xf801c000 0x200>;
  683. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
  684. #address-cells = <1>;
  685. #size-cells = <1>;
  686. ranges = <0x0 0xf801c000 0x800>;
  687. status = "disabled";
  688. uart0: serial@200 {
  689. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  690. reg = <0x200 0x200>;
  691. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
  692. dmas = <&dma0
  693. (AT91_XDMAC_DT_MEM_IF(0) |
  694. AT91_XDMAC_DT_PER_IF(1) |
  695. AT91_XDMAC_DT_PERID(0))>,
  696. <&dma0
  697. (AT91_XDMAC_DT_MEM_IF(0) |
  698. AT91_XDMAC_DT_PER_IF(1) |
  699. AT91_XDMAC_DT_PERID(1))>;
  700. dma-names = "tx", "rx";
  701. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
  702. clock-names = "usart";
  703. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  704. atmel,use-dma-rx;
  705. atmel,use-dma-tx;
  706. atmel,fifo-size = <16>;
  707. status = "disabled";
  708. };
  709. spi0: spi@400 {
  710. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  711. reg = <0x400 0x200>;
  712. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
  713. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
  714. clock-names = "spi_clk";
  715. dmas = <&dma0
  716. (AT91_XDMAC_DT_MEM_IF(0) |
  717. AT91_XDMAC_DT_PER_IF(1) |
  718. AT91_XDMAC_DT_PERID(0))>,
  719. <&dma0
  720. (AT91_XDMAC_DT_MEM_IF(0) |
  721. AT91_XDMAC_DT_PER_IF(1) |
  722. AT91_XDMAC_DT_PERID(1))>;
  723. dma-names = "tx", "rx";
  724. atmel,fifo-size = <16>;
  725. status = "disabled";
  726. };
  727. i2c0: i2c@600 {
  728. compatible = "microchip,sam9x60-i2c";
  729. reg = <0x600 0x200>;
  730. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
  731. #address-cells = <1>;
  732. #size-cells = <0>;
  733. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
  734. dmas = <&dma0
  735. (AT91_XDMAC_DT_MEM_IF(0) |
  736. AT91_XDMAC_DT_PER_IF(1) |
  737. AT91_XDMAC_DT_PERID(0))>,
  738. <&dma0
  739. (AT91_XDMAC_DT_MEM_IF(0) |
  740. AT91_XDMAC_DT_PER_IF(1) |
  741. AT91_XDMAC_DT_PERID(1))>;
  742. dma-names = "tx", "rx";
  743. atmel,fifo-size = <16>;
  744. status = "disabled";
  745. };
  746. };
  747. flx1: flexcom@f8020000 {
  748. compatible = "atmel,sama5d2-flexcom";
  749. reg = <0xf8020000 0x200>;
  750. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  751. #address-cells = <1>;
  752. #size-cells = <1>;
  753. ranges = <0x0 0xf8020000 0x800>;
  754. status = "disabled";
  755. uart1: serial@200 {
  756. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  757. reg = <0x200 0x200>;
  758. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
  759. dmas = <&dma0
  760. (AT91_XDMAC_DT_MEM_IF(0) |
  761. AT91_XDMAC_DT_PER_IF(1) |
  762. AT91_XDMAC_DT_PERID(2))>,
  763. <&dma0
  764. (AT91_XDMAC_DT_MEM_IF(0) |
  765. AT91_XDMAC_DT_PER_IF(1) |
  766. AT91_XDMAC_DT_PERID(3))>;
  767. dma-names = "tx", "rx";
  768. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  769. clock-names = "usart";
  770. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  771. atmel,use-dma-rx;
  772. atmel,use-dma-tx;
  773. atmel,fifo-size = <16>;
  774. status = "disabled";
  775. };
  776. spi1: spi@400 {
  777. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  778. reg = <0x400 0x200>;
  779. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
  780. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  781. clock-names = "spi_clk";
  782. dmas = <&dma0
  783. (AT91_XDMAC_DT_MEM_IF(0) |
  784. AT91_XDMAC_DT_PER_IF(1) |
  785. AT91_XDMAC_DT_PERID(2))>,
  786. <&dma0
  787. (AT91_XDMAC_DT_MEM_IF(0) |
  788. AT91_XDMAC_DT_PER_IF(1) |
  789. AT91_XDMAC_DT_PERID(3))>;
  790. dma-names = "tx", "rx";
  791. atmel,fifo-size = <16>;
  792. status = "disabled";
  793. };
  794. i2c1: i2c@600 {
  795. compatible = "microchip,sam9x60-i2c";
  796. reg = <0x600 0x200>;
  797. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
  798. #address-cells = <1>;
  799. #size-cells = <0>;
  800. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  801. dmas = <&dma0
  802. (AT91_XDMAC_DT_MEM_IF(0) |
  803. AT91_XDMAC_DT_PER_IF(1) |
  804. AT91_XDMAC_DT_PERID(2))>,
  805. <&dma0
  806. (AT91_XDMAC_DT_MEM_IF(0) |
  807. AT91_XDMAC_DT_PER_IF(1) |
  808. AT91_XDMAC_DT_PERID(3))>;
  809. dma-names = "tx", "rx";
  810. atmel,fifo-size = <16>;
  811. status = "disabled";
  812. };
  813. };
  814. flx2: flexcom@f8024000 {
  815. compatible = "atmel,sama5d2-flexcom";
  816. reg = <0xf8024000 0x200>;
  817. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  818. #address-cells = <1>;
  819. #size-cells = <1>;
  820. ranges = <0x0 0xf8024000 0x800>;
  821. status = "disabled";
  822. uart2: serial@200 {
  823. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  824. reg = <0x200 0x200>;
  825. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
  826. dmas = <&dma0
  827. (AT91_XDMAC_DT_MEM_IF(0) |
  828. AT91_XDMAC_DT_PER_IF(1) |
  829. AT91_XDMAC_DT_PERID(4))>,
  830. <&dma0
  831. (AT91_XDMAC_DT_MEM_IF(0) |
  832. AT91_XDMAC_DT_PER_IF(1) |
  833. AT91_XDMAC_DT_PERID(5))>;
  834. dma-names = "tx", "rx";
  835. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  836. clock-names = "usart";
  837. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  838. atmel,use-dma-rx;
  839. atmel,use-dma-tx;
  840. atmel,fifo-size = <16>;
  841. status = "disabled";
  842. };
  843. spi2: spi@400 {
  844. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  845. reg = <0x400 0x200>;
  846. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
  847. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  848. clock-names = "spi_clk";
  849. dmas = <&dma0
  850. (AT91_XDMAC_DT_MEM_IF(0) |
  851. AT91_XDMAC_DT_PER_IF(1) |
  852. AT91_XDMAC_DT_PERID(4))>,
  853. <&dma0
  854. (AT91_XDMAC_DT_MEM_IF(0) |
  855. AT91_XDMAC_DT_PER_IF(1) |
  856. AT91_XDMAC_DT_PERID(5))>;
  857. dma-names = "tx", "rx";
  858. atmel,fifo-size = <16>;
  859. status = "disabled";
  860. };
  861. i2c2: i2c@600 {
  862. compatible = "microchip,sam9x60-i2c";
  863. reg = <0x600 0x200>;
  864. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
  865. #address-cells = <1>;
  866. #size-cells = <0>;
  867. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  868. dmas = <&dma0
  869. (AT91_XDMAC_DT_MEM_IF(0) |
  870. AT91_XDMAC_DT_PER_IF(1) |
  871. AT91_XDMAC_DT_PERID(4))>,
  872. <&dma0
  873. (AT91_XDMAC_DT_MEM_IF(0) |
  874. AT91_XDMAC_DT_PER_IF(1) |
  875. AT91_XDMAC_DT_PERID(5))>;
  876. dma-names = "tx", "rx";
  877. atmel,fifo-size = <16>;
  878. status = "disabled";
  879. };
  880. };
  881. flx3: flexcom@f8028000 {
  882. compatible = "atmel,sama5d2-flexcom";
  883. reg = <0xf8028000 0x200>;
  884. clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
  885. #address-cells = <1>;
  886. #size-cells = <1>;
  887. ranges = <0x0 0xf8028000 0x800>;
  888. status = "disabled";
  889. uart3: serial@200 {
  890. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  891. reg = <0x200 0x200>;
  892. interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
  893. dmas = <&dma0
  894. (AT91_XDMAC_DT_MEM_IF(0) |
  895. AT91_XDMAC_DT_PER_IF(1) |
  896. AT91_XDMAC_DT_PERID(6))>,
  897. <&dma0
  898. (AT91_XDMAC_DT_MEM_IF(0) |
  899. AT91_XDMAC_DT_PER_IF(1) |
  900. AT91_XDMAC_DT_PERID(7))>;
  901. dma-names = "tx", "rx";
  902. clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
  903. clock-names = "usart";
  904. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  905. atmel,use-dma-rx;
  906. atmel,use-dma-tx;
  907. atmel,fifo-size = <16>;
  908. status = "disabled";
  909. };
  910. spi3: spi@400 {
  911. compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
  912. reg = <0x400 0x200>;
  913. interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
  914. clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
  915. clock-names = "spi_clk";
  916. dmas = <&dma0
  917. (AT91_XDMAC_DT_MEM_IF(0) |
  918. AT91_XDMAC_DT_PER_IF(1) |
  919. AT91_XDMAC_DT_PERID(6))>,
  920. <&dma0
  921. (AT91_XDMAC_DT_MEM_IF(0) |
  922. AT91_XDMAC_DT_PER_IF(1) |
  923. AT91_XDMAC_DT_PERID(7))>;
  924. dma-names = "tx", "rx";
  925. atmel,fifo-size = <16>;
  926. status = "disabled";
  927. };
  928. i2c3: i2c@600 {
  929. compatible = "microchip,sam9x60-i2c";
  930. reg = <0x600 0x200>;
  931. interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
  932. #address-cells = <1>;
  933. #size-cells = <0>;
  934. clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
  935. dmas = <&dma0
  936. (AT91_XDMAC_DT_MEM_IF(0) |
  937. AT91_XDMAC_DT_PER_IF(1) |
  938. AT91_XDMAC_DT_PERID(6))>,
  939. <&dma0
  940. (AT91_XDMAC_DT_MEM_IF(0) |
  941. AT91_XDMAC_DT_PER_IF(1) |
  942. AT91_XDMAC_DT_PERID(7))>;
  943. dma-names = "tx", "rx";
  944. atmel,fifo-size = <16>;
  945. status = "disabled";
  946. };
  947. };
  948. macb0: ethernet@f802c000 {
  949. compatible = "cdns,sam9x60-macb", "cdns,macb";
  950. reg = <0xf802c000 0x1000>;
  951. interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
  952. clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>;
  953. clock-names = "hclk", "pclk";
  954. status = "disabled";
  955. };
  956. macb1: ethernet@f8030000 {
  957. compatible = "cdns,sam9x60-macb", "cdns,macb";
  958. reg = <0xf8030000 0x1000>;
  959. interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
  960. clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 27>;
  961. clock-names = "hclk", "pclk";
  962. status = "disabled";
  963. };
  964. pwm0: pwm@f8034000 {
  965. compatible = "microchip,sam9x60-pwm";
  966. reg = <0xf8034000 0x300>;
  967. interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>;
  968. clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
  969. #pwm-cells = <3>;
  970. status = "disabled";
  971. };
  972. hlcdc: hlcdc@f8038000 {
  973. compatible = "microchip,sam9x60-hlcdc";
  974. reg = <0xf8038000 0x4000>;
  975. interrupts = <25 IRQ_TYPE_LEVEL_HIGH 0>;
  976. clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_GCK 25>, <&clk32k 1>;
  977. clock-names = "periph_clk","sys_clk", "slow_clk";
  978. assigned-clocks = <&pmc PMC_TYPE_GCK 25>;
  979. assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_MCK>;
  980. status = "disabled";
  981. hlcdc-display-controller {
  982. compatible = "atmel,hlcdc-display-controller";
  983. #address-cells = <1>;
  984. #size-cells = <0>;
  985. port@0 {
  986. #address-cells = <1>;
  987. #size-cells = <0>;
  988. reg = <0>;
  989. };
  990. };
  991. hlcdc_pwm: hlcdc-pwm {
  992. compatible = "atmel,hlcdc-pwm";
  993. #pwm-cells = <3>;
  994. };
  995. };
  996. flx9: flexcom@f8040000 {
  997. compatible = "atmel,sama5d2-flexcom";
  998. reg = <0xf8040000 0x200>;
  999. clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
  1000. #address-cells = <1>;
  1001. #size-cells = <1>;
  1002. ranges = <0x0 0xf8040000 0x800>;
  1003. status = "disabled";
  1004. uart9: serial@200 {
  1005. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  1006. reg = <0x200 0x200>;
  1007. interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
  1008. dmas = <&dma0
  1009. (AT91_XDMAC_DT_MEM_IF(0) |
  1010. AT91_XDMAC_DT_PER_IF(1) |
  1011. AT91_XDMAC_DT_PERID(18))>,
  1012. <&dma0
  1013. (AT91_XDMAC_DT_MEM_IF(0) |
  1014. AT91_XDMAC_DT_PER_IF(1) |
  1015. AT91_XDMAC_DT_PERID(19))>;
  1016. dma-names = "tx", "rx";
  1017. clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
  1018. clock-names = "usart";
  1019. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  1020. atmel,use-dma-rx;
  1021. atmel,use-dma-tx;
  1022. atmel,fifo-size = <16>;
  1023. status = "disabled";
  1024. };
  1025. i2c9: i2c@600 {
  1026. compatible = "microchip,sam9x60-i2c";
  1027. reg = <0x600 0x200>;
  1028. interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
  1029. #address-cells = <1>;
  1030. #size-cells = <0>;
  1031. clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
  1032. dmas = <&dma0
  1033. (AT91_XDMAC_DT_MEM_IF(0) |
  1034. AT91_XDMAC_DT_PER_IF(1) |
  1035. AT91_XDMAC_DT_PERID(18))>,
  1036. <&dma0
  1037. (AT91_XDMAC_DT_MEM_IF(0) |
  1038. AT91_XDMAC_DT_PER_IF(1) |
  1039. AT91_XDMAC_DT_PERID(19))>;
  1040. dma-names = "tx", "rx";
  1041. atmel,fifo-size = <16>;
  1042. status = "disabled";
  1043. };
  1044. };
  1045. flx10: flexcom@f8044000 {
  1046. compatible = "atmel,sama5d2-flexcom";
  1047. reg = <0xf8044000 0x200>;
  1048. clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
  1049. #address-cells = <1>;
  1050. #size-cells = <1>;
  1051. ranges = <0x0 0xf8044000 0x800>;
  1052. status = "disabled";
  1053. uart10: serial@200 {
  1054. compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
  1055. reg = <0x200 0x200>;
  1056. interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
  1057. dmas = <&dma0
  1058. (AT91_XDMAC_DT_MEM_IF(0) |
  1059. AT91_XDMAC_DT_PER_IF(1) |
  1060. AT91_XDMAC_DT_PERID(20))>,
  1061. <&dma0
  1062. (AT91_XDMAC_DT_MEM_IF(0) |
  1063. AT91_XDMAC_DT_PER_IF(1) |
  1064. AT91_XDMAC_DT_PERID(21))>;
  1065. dma-names = "tx", "rx";
  1066. clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
  1067. clock-names = "usart";
  1068. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  1069. atmel,use-dma-rx;
  1070. atmel,use-dma-tx;
  1071. atmel,fifo-size = <16>;
  1072. status = "disabled";
  1073. };
  1074. i2c10: i2c@600 {
  1075. compatible = "microchip,sam9x60-i2c";
  1076. reg = <0x600 0x200>;
  1077. interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
  1078. #address-cells = <1>;
  1079. #size-cells = <0>;
  1080. clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
  1081. dmas = <&dma0
  1082. (AT91_XDMAC_DT_MEM_IF(0) |
  1083. AT91_XDMAC_DT_PER_IF(1) |
  1084. AT91_XDMAC_DT_PERID(20))>,
  1085. <&dma0
  1086. (AT91_XDMAC_DT_MEM_IF(0) |
  1087. AT91_XDMAC_DT_PER_IF(1) |
  1088. AT91_XDMAC_DT_PERID(21))>;
  1089. dma-names = "tx", "rx";
  1090. atmel,fifo-size = <16>;
  1091. status = "disabled";
  1092. };
  1093. };
  1094. isi: isi@f8048000 {
  1095. compatible = "microchip,sam9x60-isi", "atmel,at91sam9g45-isi";
  1096. reg = <0xf8048000 0x100>;
  1097. interrupts = <43 IRQ_TYPE_LEVEL_HIGH 5>;
  1098. clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
  1099. clock-names = "isi_clk";
  1100. status = "disabled";
  1101. port {
  1102. #address-cells = <1>;
  1103. #size-cells = <0>;
  1104. };
  1105. };
  1106. adc: adc@f804c000 {
  1107. compatible = "microchip,sam9x60-adc", "atmel,sama5d2-adc";
  1108. reg = <0xf804c000 0x100>;
  1109. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
  1110. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  1111. clock-names = "adc_clk";
  1112. dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(40))>;
  1113. dma-names = "rx";
  1114. atmel,min-sample-rate-hz = <200000>;
  1115. atmel,max-sample-rate-hz = <20000000>;
  1116. atmel,startup-time-ms = <4>;
  1117. atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
  1118. #io-channel-cells = <1>;
  1119. status = "disabled";
  1120. };
  1121. sfr: sfr@f8050000 {
  1122. compatible = "microchip,sam9x60-sfr", "syscon";
  1123. reg = <0xf8050000 0x100>;
  1124. };
  1125. matrix: matrix@ffffde00 {
  1126. compatible = "microchip,sam9x60-matrix", "atmel,at91sam9x5-matrix", "syscon";
  1127. reg = <0xffffde00 0x200>;
  1128. };
  1129. pmecc: ecc-engine@ffffe000 {
  1130. compatible = "microchip,sam9x60-pmecc", "atmel,at91sam9g45-pmecc";
  1131. reg = <0xffffe000 0x300>,
  1132. <0xffffe600 0x100>;
  1133. };
  1134. mpddrc: mpddrc@ffffe800 {
  1135. compatible = "microchip,sam9x60-ddramc", "atmel,sama5d3-ddramc";
  1136. reg = <0xffffe800 0x200>;
  1137. clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
  1138. clock-names = "ddrck", "mpddr";
  1139. };
  1140. smc: smc@ffffea00 {
  1141. compatible = "microchip,sam9x60-smc", "atmel,at91sam9260-smc", "syscon";
  1142. reg = <0xffffea00 0x100>;
  1143. };
  1144. aic: interrupt-controller@fffff100 {
  1145. compatible = "microchip,sam9x60-aic";
  1146. #interrupt-cells = <3>;
  1147. interrupt-controller;
  1148. reg = <0xfffff100 0x100>;
  1149. atmel,external-irqs = <31>;
  1150. };
  1151. dbgu: serial@fffff200 {
  1152. compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
  1153. reg = <0xfffff200 0x200>;
  1154. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  1155. interrupts = <47 IRQ_TYPE_LEVEL_HIGH 7>;
  1156. dmas = <&dma0
  1157. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1158. AT91_XDMAC_DT_PERID(28))>,
  1159. <&dma0
  1160. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
  1161. AT91_XDMAC_DT_PERID(29))>;
  1162. dma-names = "tx", "rx";
  1163. clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
  1164. clock-names = "usart";
  1165. status = "disabled";
  1166. };
  1167. pinctrl: pinctrl@fffff400 {
  1168. #address-cells = <1>;
  1169. #size-cells = <1>;
  1170. compatible = "microchip,sam9x60-pinctrl", "simple-mfd";
  1171. ranges = <0xfffff400 0xfffff400 0x800>;
  1172. /* mux-mask corresponding to sam9x60 SoC in TFBGA228L package */
  1173. atmel,mux-mask = <
  1174. /* A B C */
  1175. 0xffffffff 0xffe03fff 0xef00019d /* pioA */
  1176. 0x03ffffff 0x02fc7e7f 0x00780000 /* pioB */
  1177. 0xffffffff 0xffffffff 0xf83fffff /* pioC */
  1178. 0x003fffff 0x003f8000 0x00000000 /* pioD */
  1179. >;
  1180. pioA: gpio@fffff400 {
  1181. compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
  1182. reg = <0xfffff400 0x200>;
  1183. interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
  1184. #gpio-cells = <2>;
  1185. gpio-controller;
  1186. interrupt-controller;
  1187. #interrupt-cells = <2>;
  1188. clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
  1189. };
  1190. pioB: gpio@fffff600 {
  1191. compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
  1192. reg = <0xfffff600 0x200>;
  1193. interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
  1194. #gpio-cells = <2>;
  1195. gpio-controller;
  1196. #gpio-lines = <26>;
  1197. interrupt-controller;
  1198. #interrupt-cells = <2>;
  1199. clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
  1200. };
  1201. pioC: gpio@fffff800 {
  1202. compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
  1203. reg = <0xfffff800 0x200>;
  1204. interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
  1205. #gpio-cells = <2>;
  1206. gpio-controller;
  1207. interrupt-controller;
  1208. #interrupt-cells = <2>;
  1209. clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
  1210. };
  1211. pioD: gpio@fffffa00 {
  1212. compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
  1213. reg = <0xfffffa00 0x200>;
  1214. interrupts = <44 IRQ_TYPE_LEVEL_HIGH 1>;
  1215. #gpio-cells = <2>;
  1216. gpio-controller;
  1217. #gpio-lines = <22>;
  1218. interrupt-controller;
  1219. #interrupt-cells = <2>;
  1220. clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
  1221. };
  1222. };
  1223. pmc: clock-controller@fffffc00 {
  1224. compatible = "microchip,sam9x60-pmc", "syscon";
  1225. reg = <0xfffffc00 0x200>;
  1226. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1227. #clock-cells = <2>;
  1228. clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>;
  1229. clock-names = "td_slck", "md_slck", "main_xtal";
  1230. };
  1231. reset_controller: reset-controller@fffffe00 {
  1232. compatible = "microchip,sam9x60-rstc";
  1233. reg = <0xfffffe00 0x10>;
  1234. clocks = <&clk32k 0>;
  1235. };
  1236. shutdown_controller: poweroff@fffffe10 {
  1237. compatible = "microchip,sam9x60-shdwc";
  1238. reg = <0xfffffe10 0x10>;
  1239. clocks = <&clk32k 0>;
  1240. #address-cells = <1>;
  1241. #size-cells = <0>;
  1242. atmel,wakeup-rtc-timer;
  1243. atmel,wakeup-rtt-timer;
  1244. status = "disabled";
  1245. };
  1246. rtt: rtc@fffffe20 {
  1247. compatible = "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt";
  1248. reg = <0xfffffe20 0x20>;
  1249. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1250. clocks = <&clk32k 1>;
  1251. };
  1252. pit: timer@fffffe40 {
  1253. compatible = "atmel,at91sam9260-pit";
  1254. reg = <0xfffffe40 0x10>;
  1255. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1256. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  1257. };
  1258. clk32k: clock-controller@fffffe50 {
  1259. compatible = "microchip,sam9x60-sckc";
  1260. reg = <0xfffffe50 0x4>;
  1261. clocks = <&slow_xtal>;
  1262. #clock-cells = <1>;
  1263. };
  1264. gpbr: syscon@fffffe60 {
  1265. compatible = "microchip,sam9x60-gpbr", "atmel,at91sam9260-gpbr", "syscon";
  1266. reg = <0xfffffe60 0x10>;
  1267. };
  1268. rtc: rtc@fffffea8 {
  1269. compatible = "microchip,sam9x60-rtc", "atmel,at91sam9x5-rtc";
  1270. reg = <0xfffffea8 0x100>;
  1271. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1272. clocks = <&clk32k 1>;
  1273. };
  1274. watchdog: watchdog@ffffff80 {
  1275. compatible = "microchip,sam9x60-wdt";
  1276. reg = <0xffffff80 0x24>;
  1277. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1278. clocks = <&clk32k 0>;
  1279. status = "disabled";
  1280. };
  1281. };
  1282. };
  1283. };