18c2ecf20Sopenharmony_ciAtmel system registers 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciChipid required properties: 48c2ecf20Sopenharmony_ci- compatible: Should be "atmel,sama5d2-chipid" 58c2ecf20Sopenharmony_ci- reg : Should contain registers location and length 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciPIT Timer required properties: 88c2ecf20Sopenharmony_ci- compatible: Should be "atmel,at91sam9260-pit" 98c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 108c2ecf20Sopenharmony_ci- interrupts: Should contain interrupt for the PIT which is the IRQ line 118c2ecf20Sopenharmony_ci shared across all System Controller members. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciPIT64B Timer required properties: 148c2ecf20Sopenharmony_ci- compatible: Should be "microchip,sam9x60-pit64b" 158c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 168c2ecf20Sopenharmony_ci- interrupts: Should contain interrupt for PIT64B timer 178c2ecf20Sopenharmony_ci- clocks: Should contain the available clock sources for PIT64B timer. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciSystem Timer (ST) required properties: 208c2ecf20Sopenharmony_ci- compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd" 218c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 228c2ecf20Sopenharmony_ci- interrupts: Should contain interrupt for the ST which is the IRQ line 238c2ecf20Sopenharmony_ci shared across all System Controller members. 248c2ecf20Sopenharmony_ci- clocks: phandle to input clock. 258c2ecf20Sopenharmony_ciIts subnodes can be: 268c2ecf20Sopenharmony_ci- watchdog: compatible should be "atmel,at91rm9200-wdt" 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciRSTC Reset Controller required properties: 298c2ecf20Sopenharmony_ci- compatible: Should be "atmel,<chip>-rstc". 308c2ecf20Sopenharmony_ci <chip> can be "at91sam9260", "at91sam9g45", "sama5d3" or "samx7" 318c2ecf20Sopenharmony_ci it also can be "microchip,sam9x60-rstc" 328c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 338c2ecf20Sopenharmony_ci- clocks: phandle to input clock. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciExample: 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci rstc@fffffd00 { 388c2ecf20Sopenharmony_ci compatible = "atmel,at91sam9260-rstc"; 398c2ecf20Sopenharmony_ci reg = <0xfffffd00 0x10>; 408c2ecf20Sopenharmony_ci clocks = <&clk32k>; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciRAMC SDRAM/DDR Controller required properties: 448c2ecf20Sopenharmony_ci- compatible: Should be "atmel,at91rm9200-sdramc", "syscon" 458c2ecf20Sopenharmony_ci "atmel,at91sam9260-sdramc", 468c2ecf20Sopenharmony_ci "atmel,at91sam9g45-ddramc", 478c2ecf20Sopenharmony_ci "atmel,sama5d3-ddramc", 488c2ecf20Sopenharmony_ci "microchip,sam9x60-ddramc" 498c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ciExamples: 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci ramc0: ramc@ffffe800 { 548c2ecf20Sopenharmony_ci compatible = "atmel,at91sam9g45-ddramc"; 558c2ecf20Sopenharmony_ci reg = <0xffffe800 0x200>; 568c2ecf20Sopenharmony_ci }; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciSHDWC Shutdown Controller 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_cirequired properties: 618c2ecf20Sopenharmony_ci- compatible: Should be "atmel,<chip>-shdwc". 628c2ecf20Sopenharmony_ci <chip> can be "at91sam9260", "at91sam9rl" or "at91sam9x5". 638c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 648c2ecf20Sopenharmony_ci- clocks: phandle to input clock. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_cioptional properties: 678c2ecf20Sopenharmony_ci- atmel,wakeup-mode: String, operation mode of the wakeup mode. 688c2ecf20Sopenharmony_ci Supported values are: "none", "high", "low", "any". 698c2ecf20Sopenharmony_ci- atmel,wakeup-counter: Counter on Wake-up 0 (between 0x0 and 0xf). 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_cioptional at91sam9260 properties: 728c2ecf20Sopenharmony_ci- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_cioptional at91sam9rl properties: 758c2ecf20Sopenharmony_ci- atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up. 768c2ecf20Sopenharmony_ci- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_cioptional at91sam9x5 properties: 798c2ecf20Sopenharmony_ci- atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciExample: 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci shdwc@fffffd10 { 848c2ecf20Sopenharmony_ci compatible = "atmel,at91sam9260-shdwc"; 858c2ecf20Sopenharmony_ci reg = <0xfffffd10 0x10>; 868c2ecf20Sopenharmony_ci clocks = <&clk32k>; 878c2ecf20Sopenharmony_ci }; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciSHDWC SAMA5D2-Compatible Shutdown Controller 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci1) shdwc node 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_cirequired properties: 948c2ecf20Sopenharmony_ci- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-shdwc". 958c2ecf20Sopenharmony_ci- reg: should contain registers location and length 968c2ecf20Sopenharmony_ci- clocks: phandle to input clock. 978c2ecf20Sopenharmony_ci- #address-cells: should be one. The cell is the wake-up input index. 988c2ecf20Sopenharmony_ci- #size-cells: should be zero. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_cioptional properties: 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci- debounce-delay-us: minimum wake-up inputs debouncer period in 1038c2ecf20Sopenharmony_ci microseconds. It's usually a board-related property. 1048c2ecf20Sopenharmony_ci- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_cioptional microchip,sam9x60-shdwc properties: 1078c2ecf20Sopenharmony_ci- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciThe node contains child nodes for each wake-up input that the platform uses. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci2) input nodes 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ciWake-up input nodes are usually described in the "board" part of the Device 1148c2ecf20Sopenharmony_ciTree. Note also that input 0 is linked to the wake-up pin and is frequently 1158c2ecf20Sopenharmony_ciused. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciRequired properties: 1188c2ecf20Sopenharmony_ci- reg: should contain the wake-up input index [0 - 15]. 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ciOptional properties: 1218c2ecf20Sopenharmony_ci- atmel,wakeup-active-high: boolean, the corresponding wake-up input described 1228c2ecf20Sopenharmony_ci by the child, forces the wake-up of the core power supply on a high level. 1238c2ecf20Sopenharmony_ci The default is to be active low. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ciExample: 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciOn the SoC side: 1288c2ecf20Sopenharmony_ci shdwc@f8048010 { 1298c2ecf20Sopenharmony_ci compatible = "atmel,sama5d2-shdwc"; 1308c2ecf20Sopenharmony_ci reg = <0xf8048010 0x10>; 1318c2ecf20Sopenharmony_ci clocks = <&clk32k>; 1328c2ecf20Sopenharmony_ci #address-cells = <1>; 1338c2ecf20Sopenharmony_ci #size-cells = <0>; 1348c2ecf20Sopenharmony_ci atmel,wakeup-rtc-timer; 1358c2ecf20Sopenharmony_ci }; 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ciOn the board side: 1388c2ecf20Sopenharmony_ci shdwc@f8048010 { 1398c2ecf20Sopenharmony_ci debounce-delay-us = <976>; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci input@0 { 1428c2ecf20Sopenharmony_ci reg = <0>; 1438c2ecf20Sopenharmony_ci }; 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci input@1 { 1468c2ecf20Sopenharmony_ci reg = <1>; 1478c2ecf20Sopenharmony_ci atmel,wakeup-active-high; 1488c2ecf20Sopenharmony_ci }; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciSpecial Function Registers (SFR) 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciSpecial Function Registers (SFR) manage specific aspects of the integrated 1548c2ecf20Sopenharmony_cimemory, bridge implementations, processor and other functionality not controlled 1558c2ecf20Sopenharmony_cielsewhere. 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_cirequired properties: 1588c2ecf20Sopenharmony_ci- compatible: Should be "atmel,<chip>-sfr", "syscon" or 1598c2ecf20Sopenharmony_ci "atmel,<chip>-sfrbu", "syscon" 1608c2ecf20Sopenharmony_ci <chip> can be "sama5d3", "sama5d4" or "sama5d2". 1618c2ecf20Sopenharmony_ci It also can be "microchip,sam9x60-sfr", "syscon". 1628c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci sfr@f0038000 { 1658c2ecf20Sopenharmony_ci compatible = "atmel,sama5d3-sfr", "syscon"; 1668c2ecf20Sopenharmony_ci reg = <0xf0038000 0x60>; 1678c2ecf20Sopenharmony_ci }; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ciSecurity Module (SECUMOD) 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ciThe Security Module macrocell provides all necessary secure functions to avoid 1728c2ecf20Sopenharmony_civoltage, temperature, frequency and mechanical attacks on the chip. It also 1738c2ecf20Sopenharmony_ciembeds secure memories that can be scrambled. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ciThe Security Module also offers the PIOBU pins which can be used as GPIO pins. 1768c2ecf20Sopenharmony_ciNote that they maintain their voltage during Backup/Self-refresh. 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_cirequired properties: 1798c2ecf20Sopenharmony_ci- compatible: Should be "atmel,<chip>-secumod", "syscon". 1808c2ecf20Sopenharmony_ci <chip> can be "sama5d2". 1818c2ecf20Sopenharmony_ci- reg: Should contain registers location and length 1828c2ecf20Sopenharmony_ci- gpio-controller: Marks the port as GPIO controller. 1838c2ecf20Sopenharmony_ci- #gpio-cells: There are 2. The pin number is the 1848c2ecf20Sopenharmony_ci first, the second represents additional 1858c2ecf20Sopenharmony_ci parameters such as GPIO_ACTIVE_HIGH/LOW. 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci secumod@fc040000 { 1898c2ecf20Sopenharmony_ci compatible = "atmel,sama5d2-secumod", "syscon"; 1908c2ecf20Sopenharmony_ci reg = <0xfc040000 0x100>; 1918c2ecf20Sopenharmony_ci gpio-controller; 1928c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1938c2ecf20Sopenharmony_ci }; 194