Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^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).