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