^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ARM Microchip SoCs (aka AT91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) This document gives useful information about the ARM Microchip SoCs that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) currently supported in Linux Mainline (you know, the one on kernel.org).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) It is important to note that the Microchip (previously Atmel) ARM-based MPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) product line is historically named "AT91" or "at91" throughout the Linux kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) development process even if this product prefix has completely disappeared from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) the official Microchip product name. Anyway, files, directories, git trees,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) git branches/tags and email subject always contain this "at91" sub-string.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) AT91 SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Documentation and detailed datasheet for each product are available on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) the Microchip website: http://www.microchip.com.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Flavors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) * ARM 920 based SoC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - at91rm9200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * ARM 926 based SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - at91sam9260
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - at91sam9xe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - at91sam9261
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - at91sam9263
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) - at91sam9rl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) - at91sam9g20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) - at91sam9g45 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) - at91sam9g45
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) - at91sam9g46
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) - at91sam9m10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) - at91sam9m11 (device superset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) - at91sam9x5 family (aka "The 5 series")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) - at91sam9g15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) - at91sam9g25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) - at91sam9g35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) - at91sam9x25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) - at91sam9x35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) * Datasheet (can be considered as covering the whole family)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) - at91sam9n12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) - sam9x60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) * ARM Cortex-A5 based SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) - sama5d3 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) - sama5d31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) - sama5d33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) - sama5d34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) - sama5d35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) - sama5d36 (device superset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) * ARM Cortex-A5 + NEON based SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) - sama5d4 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) - sama5d41
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) - sama5d42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) - sama5d43
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) - sama5d44 (device superset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) - sama5d2 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) - sama5d21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) - sama5d22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) - sama5d23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) - sama5d24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) - sama5d26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) - sama5d27 (device superset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) - sama5d28 (device superset + environmental monitors)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) * ARM Cortex-M7 MCUs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) - sams70 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) - sams70j19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) - sams70j20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) - sams70j21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) - sams70n19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) - sams70n20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) - sams70n21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) - sams70q19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) - sams70q20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) - sams70q21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) - samv70 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) - samv70j19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) - samv70j20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) - samv70n19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) - samv70n20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) - samv70q19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) - samv70q20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) - samv71 family
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) - samv71j19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) - samv71j20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) - samv71j21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) - samv71n19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) - samv71n20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) - samv71n21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) - samv71q19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) - samv71q20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) - samv71q21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) * Datasheet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) Linux kernel information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) ------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) Linux kernel mach directory: arch/arm/mach-at91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) Device Tree for AT91 SoCs and boards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) ------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) must use this method to boot the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) Work In Progress statement:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) considered as "Unstable". To be completely clear, any at91 binding can change at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) the same source tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) Please refer to the Documentation/devicetree/bindings/ABI.rst file for a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) definition of a "Stable" binding/ABI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) This statement will be removed by AT91 MAINTAINERS when appropriate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) Naming conventions and best practice:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) - SoCs Device Tree Source Include files are named after the official name of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) When collecting nodes for a particular peripheral or topic, the identifier have to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) or sama5d3_gmac.dtsi for example).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) - board Device Tree Source files (.dts) are prefixed by the string "at91-" so
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) that they can be identified easily. Note that some files are historical exceptions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).