[media] staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs()
[linux/fpc-iii.git] / Documentation / arm / Atmel / README
blob6ca78f818dbf03be4120da8ff3284b9534664a1c
1 ARM Atmel SoCs (aka AT91)
2 =========================
5 Introduction
6 ------------
7 This document gives useful information about the ARM Atmel SoCs that are
8 currently supported in Linux Mainline (you know, the one on kernel.org).
10 It is important to note that the Atmel | SMART ARM-based MPU product line is
11 historically named "AT91" or "at91" throughout the Linux kernel development
12 process even if this product prefix has completely disappeared from the
13 official Atmel product name. Anyway, files, directories, git trees,
14 git branches/tags and email subject always contain this "at91" sub-string.
17 AT91 SoCs
18 ---------
19 Documentation and detailled datasheet for each product are available on
20 the Atmel website: http://www.atmel.com.
22   Flavors:
23     * ARM 920 based SoC
24       - at91rm9200
25         + Datasheet
26           http://www.atmel.com/Images/doc1768.pdf
28     * ARM 926 based SoCs
29       - at91sam9260
30         + Datasheet
31           http://www.atmel.com/Images/doc6221.pdf
33       - at91sam9xe
34         + Datasheet
35           http://www.atmel.com/Images/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
37       - at91sam9261
38         + Datasheet
39           http://www.atmel.com/Images/doc6062.pdf
41       - at91sam9263
42         + Datasheet
43           http://www.atmel.com/Images/Atmel_6249_32-bit-ARM926EJ-S-Microcontroller_SAM9263_Datasheet.pdf
45       - at91sam9rl
46         + Datasheet
47           http://www.atmel.com/Images/doc6289.pdf
49       - at91sam9g20
50         + Datasheet
51           http://www.atmel.com/Images/doc6384.pdf
53       - at91sam9g45 family
54         - at91sam9g45
55         - at91sam9g46
56         - at91sam9m10
57         - at91sam9m11 (device superset)
58         + Datasheet
59           http://www.atmel.com/Images/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
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://www.atmel.com/Images/Atmel_11055_32-bit-ARM926EJ-S-Microcontroller_SAM9X35_Datasheet.pdf
70       - at91sam9n12
71         + Datasheet
72           http://www.atmel.com/Images/Atmel_11063_32-bit-ARM926EJ-S-Microcontroller_SAM9N12CN11CN12_Datasheet.pdf
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://www.atmel.com/Images/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf
84     * ARM Cortex-A5 + NEON based SoCs
85       - sama5d4 family
86         - sama5d41
87         - sama5d42
88         - sama5d43
89         - sama5d44 (device superset)
90         + Datasheet
91           http://www.atmel.com/Images/Atmel-11238-32-bit-Cortex-A5-Microcontroller-SAMA5D4_Datasheet.pdf
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://www.atmel.com/Images/Atmel-11267-32-bit-Cortex-A5-Microcontroller-SAMA5D2_Datasheet.pdf
105 Linux kernel information
106 ------------------------
107 Linux kernel mach directory: arch/arm/mach-at91
108 MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES"
111 Device Tree for AT91 SoCs and boards
112 ------------------------------------
113 All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
114 must use this method to boot the Linux kernel.
116 Work In Progress statement:
117 Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
118 considered as "Unstable". To be completely clear, any at91 binding can change at
119 any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
120 the same source tree.
121 Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
122 definition of a "Stable" binding/ABI.
123 This statement will be removed by AT91 MAINTAINERS when appropriate.
125 Naming conventions and best practice:
126 - SoCs Device Tree Source Include files are named after the official name of
127   the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
128 - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
129   shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
130   When collecting nodes for a particular peripheral or topic, the identifier have to
131   be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
132   or sama5d3_gmac.dtsi for example).
133 - board Device Tree Source files (.dts) are prefixed by the string "at91-" so
134   that they can be identified easily. Note that some files are historical exceptions
135   to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).