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