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