1*4882a593SmuzhiyunAtmel system registers 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunChipid required properties: 4*4882a593Smuzhiyun- compatible: Should be "atmel,sama5d2-chipid" 5*4882a593Smuzhiyun- reg : Should contain registers location and length 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunPIT Timer required properties: 8*4882a593Smuzhiyun- compatible: Should be "atmel,at91sam9260-pit" 9*4882a593Smuzhiyun- reg: Should contain registers location and length 10*4882a593Smuzhiyun- interrupts: Should contain interrupt for the PIT which is the IRQ line 11*4882a593Smuzhiyun shared across all System Controller members. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunPIT64B Timer required properties: 14*4882a593Smuzhiyun- compatible: Should be "microchip,sam9x60-pit64b" 15*4882a593Smuzhiyun- reg: Should contain registers location and length 16*4882a593Smuzhiyun- interrupts: Should contain interrupt for PIT64B timer 17*4882a593Smuzhiyun- clocks: Should contain the available clock sources for PIT64B timer. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunSystem Timer (ST) required properties: 20*4882a593Smuzhiyun- compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd" 21*4882a593Smuzhiyun- reg: Should contain registers location and length 22*4882a593Smuzhiyun- interrupts: Should contain interrupt for the ST which is the IRQ line 23*4882a593Smuzhiyun shared across all System Controller members. 24*4882a593Smuzhiyun- clocks: phandle to input clock. 25*4882a593SmuzhiyunIts subnodes can be: 26*4882a593Smuzhiyun- watchdog: compatible should be "atmel,at91rm9200-wdt" 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunRSTC Reset Controller required properties: 29*4882a593Smuzhiyun- compatible: Should be "atmel,<chip>-rstc". 30*4882a593Smuzhiyun <chip> can be "at91sam9260", "at91sam9g45", "sama5d3" or "samx7" 31*4882a593Smuzhiyun it also can be "microchip,sam9x60-rstc" 32*4882a593Smuzhiyun- reg: Should contain registers location and length 33*4882a593Smuzhiyun- clocks: phandle to input clock. 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunExample: 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun rstc@fffffd00 { 38*4882a593Smuzhiyun compatible = "atmel,at91sam9260-rstc"; 39*4882a593Smuzhiyun reg = <0xfffffd00 0x10>; 40*4882a593Smuzhiyun clocks = <&clk32k>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunRAMC SDRAM/DDR Controller required properties: 44*4882a593Smuzhiyun- compatible: Should be "atmel,at91rm9200-sdramc", "syscon" 45*4882a593Smuzhiyun "atmel,at91sam9260-sdramc", 46*4882a593Smuzhiyun "atmel,at91sam9g45-ddramc", 47*4882a593Smuzhiyun "atmel,sama5d3-ddramc", 48*4882a593Smuzhiyun "microchip,sam9x60-ddramc" 49*4882a593Smuzhiyun- reg: Should contain registers location and length 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunExamples: 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun ramc0: ramc@ffffe800 { 54*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-ddramc"; 55*4882a593Smuzhiyun reg = <0xffffe800 0x200>; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunSHDWC Shutdown Controller 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunrequired properties: 61*4882a593Smuzhiyun- compatible: Should be "atmel,<chip>-shdwc". 62*4882a593Smuzhiyun <chip> can be "at91sam9260", "at91sam9rl" or "at91sam9x5". 63*4882a593Smuzhiyun- reg: Should contain registers location and length 64*4882a593Smuzhiyun- clocks: phandle to input clock. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunoptional properties: 67*4882a593Smuzhiyun- atmel,wakeup-mode: String, operation mode of the wakeup mode. 68*4882a593Smuzhiyun Supported values are: "none", "high", "low", "any". 69*4882a593Smuzhiyun- atmel,wakeup-counter: Counter on Wake-up 0 (between 0x0 and 0xf). 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunoptional at91sam9260 properties: 72*4882a593Smuzhiyun- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyunoptional at91sam9rl properties: 75*4882a593Smuzhiyun- atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up. 76*4882a593Smuzhiyun- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunoptional at91sam9x5 properties: 79*4882a593Smuzhiyun- atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up. 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunExample: 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun shdwc@fffffd10 { 84*4882a593Smuzhiyun compatible = "atmel,at91sam9260-shdwc"; 85*4882a593Smuzhiyun reg = <0xfffffd10 0x10>; 86*4882a593Smuzhiyun clocks = <&clk32k>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunSHDWC SAMA5D2-Compatible Shutdown Controller 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun1) shdwc node 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunrequired properties: 94*4882a593Smuzhiyun- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-shdwc". 95*4882a593Smuzhiyun- reg: should contain registers location and length 96*4882a593Smuzhiyun- clocks: phandle to input clock. 97*4882a593Smuzhiyun- #address-cells: should be one. The cell is the wake-up input index. 98*4882a593Smuzhiyun- #size-cells: should be zero. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunoptional properties: 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun- debounce-delay-us: minimum wake-up inputs debouncer period in 103*4882a593Smuzhiyun microseconds. It's usually a board-related property. 104*4882a593Smuzhiyun- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunoptional microchip,sam9x60-shdwc properties: 107*4882a593Smuzhiyun- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up. 108*4882a593Smuzhiyun 109*4882a593SmuzhiyunThe node contains child nodes for each wake-up input that the platform uses. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun2) input nodes 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunWake-up input nodes are usually described in the "board" part of the Device 114*4882a593SmuzhiyunTree. Note also that input 0 is linked to the wake-up pin and is frequently 115*4882a593Smuzhiyunused. 116*4882a593Smuzhiyun 117*4882a593SmuzhiyunRequired properties: 118*4882a593Smuzhiyun- reg: should contain the wake-up input index [0 - 15]. 119*4882a593Smuzhiyun 120*4882a593SmuzhiyunOptional properties: 121*4882a593Smuzhiyun- atmel,wakeup-active-high: boolean, the corresponding wake-up input described 122*4882a593Smuzhiyun by the child, forces the wake-up of the core power supply on a high level. 123*4882a593Smuzhiyun The default is to be active low. 124*4882a593Smuzhiyun 125*4882a593SmuzhiyunExample: 126*4882a593Smuzhiyun 127*4882a593SmuzhiyunOn the SoC side: 128*4882a593Smuzhiyun shdwc@f8048010 { 129*4882a593Smuzhiyun compatible = "atmel,sama5d2-shdwc"; 130*4882a593Smuzhiyun reg = <0xf8048010 0x10>; 131*4882a593Smuzhiyun clocks = <&clk32k>; 132*4882a593Smuzhiyun #address-cells = <1>; 133*4882a593Smuzhiyun #size-cells = <0>; 134*4882a593Smuzhiyun atmel,wakeup-rtc-timer; 135*4882a593Smuzhiyun }; 136*4882a593Smuzhiyun 137*4882a593SmuzhiyunOn the board side: 138*4882a593Smuzhiyun shdwc@f8048010 { 139*4882a593Smuzhiyun debounce-delay-us = <976>; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun input@0 { 142*4882a593Smuzhiyun reg = <0>; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun input@1 { 146*4882a593Smuzhiyun reg = <1>; 147*4882a593Smuzhiyun atmel,wakeup-active-high; 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun }; 150*4882a593Smuzhiyun 151*4882a593SmuzhiyunSpecial Function Registers (SFR) 152*4882a593Smuzhiyun 153*4882a593SmuzhiyunSpecial Function Registers (SFR) manage specific aspects of the integrated 154*4882a593Smuzhiyunmemory, bridge implementations, processor and other functionality not controlled 155*4882a593Smuzhiyunelsewhere. 156*4882a593Smuzhiyun 157*4882a593Smuzhiyunrequired properties: 158*4882a593Smuzhiyun- compatible: Should be "atmel,<chip>-sfr", "syscon" or 159*4882a593Smuzhiyun "atmel,<chip>-sfrbu", "syscon" 160*4882a593Smuzhiyun <chip> can be "sama5d3", "sama5d4" or "sama5d2". 161*4882a593Smuzhiyun It also can be "microchip,sam9x60-sfr", "syscon". 162*4882a593Smuzhiyun- reg: Should contain registers location and length 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun sfr@f0038000 { 165*4882a593Smuzhiyun compatible = "atmel,sama5d3-sfr", "syscon"; 166*4882a593Smuzhiyun reg = <0xf0038000 0x60>; 167*4882a593Smuzhiyun }; 168*4882a593Smuzhiyun 169*4882a593SmuzhiyunSecurity Module (SECUMOD) 170*4882a593Smuzhiyun 171*4882a593SmuzhiyunThe Security Module macrocell provides all necessary secure functions to avoid 172*4882a593Smuzhiyunvoltage, temperature, frequency and mechanical attacks on the chip. It also 173*4882a593Smuzhiyunembeds secure memories that can be scrambled. 174*4882a593Smuzhiyun 175*4882a593SmuzhiyunThe Security Module also offers the PIOBU pins which can be used as GPIO pins. 176*4882a593SmuzhiyunNote that they maintain their voltage during Backup/Self-refresh. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunrequired properties: 179*4882a593Smuzhiyun- compatible: Should be "atmel,<chip>-secumod", "syscon". 180*4882a593Smuzhiyun <chip> can be "sama5d2". 181*4882a593Smuzhiyun- reg: Should contain registers location and length 182*4882a593Smuzhiyun- gpio-controller: Marks the port as GPIO controller. 183*4882a593Smuzhiyun- #gpio-cells: There are 2. The pin number is the 184*4882a593Smuzhiyun first, the second represents additional 185*4882a593Smuzhiyun parameters such as GPIO_ACTIVE_HIGH/LOW. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun secumod@fc040000 { 189*4882a593Smuzhiyun compatible = "atmel,sama5d2-secumod", "syscon"; 190*4882a593Smuzhiyun reg = <0xfc040000 0x100>; 191*4882a593Smuzhiyun gpio-controller; 192*4882a593Smuzhiyun #gpio-cells = <2>; 193*4882a593Smuzhiyun }; 194