diff options
author | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-04-14 14:51:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-07-15 08:20:24 -0400 |
commit | dc7a12bdfccd94c31f79e294f16f7549bd411b49 (patch) | |
tree | 81da5ca148347b94c4539234f50d4bca6465e2f8 | |
parent | 0d07cf5e53a21e35289adc3ab99b6804ff0c3833 (diff) |
docs: arm: convert docs to ReST and rename to *.rst
Converts ARM the text files to ReST, preparing them to be an
architecture book.
The conversion is actually:
- add blank lines and identation in order to identify paragraphs;
- fix tables markups;
- add some lists markups;
- mark literal blocks;
- adjust title markups.
At its new index.rst, let's add a :orphan: while this is not linked to
the main index.rst file, in order to avoid build warnings.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Reviewed-by Corentin Labbe <clabbe.montjoie@gmail.com> # For sun4i-ss
-rw-r--r-- | Documentation/arm/Marvell/README | 395 | ||||
-rw-r--r-- | Documentation/arm/Netwinder | 78 | ||||
-rw-r--r-- | Documentation/arm/SA1100/FreeBird | 21 | ||||
-rw-r--r-- | Documentation/arm/SA1100/empeg | 2 | ||||
-rw-r--r-- | Documentation/arm/SA1100/serial_UART | 47 | ||||
-rw-r--r-- | Documentation/arm/arm.rst (renamed from Documentation/arm/README) | 50 | ||||
-rw-r--r-- | Documentation/arm/booting.rst (renamed from Documentation/arm/Booting) | 71 | ||||
-rw-r--r-- | Documentation/arm/cluster-pm-race-avoidance.rst (renamed from Documentation/arm/cluster-pm-race-avoidance.txt) | 177 | ||||
-rw-r--r-- | Documentation/arm/firmware.rst (renamed from Documentation/arm/firmware.txt) | 14 | ||||
-rw-r--r-- | Documentation/arm/index.rst | 80 | ||||
-rw-r--r-- | Documentation/arm/interrupts.rst (renamed from Documentation/arm/Interrupts) | 90 | ||||
-rw-r--r-- | Documentation/arm/ixp4xx.rst (renamed from Documentation/arm/IXP4xx) | 61 | ||||
-rw-r--r-- | Documentation/arm/kernel_mode_neon.rst (renamed from Documentation/arm/kernel_mode_neon.txt) | 3 | ||||
-rw-r--r-- | Documentation/arm/kernel_user_helpers.rst (renamed from Documentation/arm/kernel_user_helpers.txt) | 79 | ||||
-rw-r--r-- | Documentation/arm/keystone/knav-qmss.rst (renamed from Documentation/arm/keystone/knav-qmss.txt) | 6 | ||||
-rw-r--r-- | Documentation/arm/keystone/overview.rst (renamed from Documentation/arm/keystone/Overview.txt) | 47 | ||||
-rw-r--r-- | Documentation/arm/marvel.rst | 488 | ||||
-rw-r--r-- | Documentation/arm/mem_alignment.rst (renamed from Documentation/arm/mem_alignment) | 11 | ||||
-rw-r--r-- | Documentation/arm/memory.rst (renamed from Documentation/arm/memory.txt) | 9 | ||||
-rw-r--r-- | Documentation/arm/microchip.rst (renamed from Documentation/arm/Microchip/README) | 63 | ||||
-rw-r--r-- | Documentation/arm/netwinder.rst | 85 | ||||
-rw-r--r-- | Documentation/arm/nwfpe/index.rst | 11 | ||||
-rw-r--r-- | Documentation/arm/nwfpe/netwinder-fpe.rst (renamed from Documentation/arm/nwfpe/README.FPE) | 24 | ||||
-rw-r--r-- | Documentation/arm/nwfpe/notes.rst (renamed from Documentation/arm/nwfpe/NOTES) | 3 | ||||
-rw-r--r-- | Documentation/arm/nwfpe/nwfpe.rst (renamed from Documentation/arm/nwfpe/README) | 10 | ||||
-rw-r--r-- | Documentation/arm/nwfpe/todo.rst (renamed from Documentation/arm/nwfpe/TODO) | 47 | ||||
-rw-r--r-- | Documentation/arm/omap/dss.rst (renamed from Documentation/arm/OMAP/DSS) | 102 | ||||
-rw-r--r-- | Documentation/arm/omap/index.rst | 10 | ||||
-rw-r--r-- | Documentation/arm/omap/omap.rst (renamed from Documentation/arm/OMAP/README) | 7 | ||||
-rw-r--r-- | Documentation/arm/omap/omap_pm.rst (renamed from Documentation/arm/OMAP/omap_pm) | 55 | ||||
-rw-r--r-- | Documentation/arm/porting.rst (renamed from Documentation/arm/Porting) | 14 | ||||
-rw-r--r-- | Documentation/arm/pxa/mfp.rst (renamed from Documentation/arm/pxa/mfp.txt) | 110 | ||||
-rw-r--r-- | Documentation/arm/sa1100/adsbitsy.rst (renamed from Documentation/arm/SA1100/ADSBitsy) | 14 | ||||
-rw-r--r-- | Documentation/arm/sa1100/assabet.rst (renamed from Documentation/arm/SA1100/Assabet) | 193 | ||||
-rw-r--r-- | Documentation/arm/sa1100/brutus.rst (renamed from Documentation/arm/SA1100/Brutus) | 49 | ||||
-rw-r--r-- | Documentation/arm/sa1100/cerf.rst (renamed from Documentation/arm/SA1100/CERF) | 10 | ||||
-rw-r--r-- | Documentation/arm/sa1100/freebird.rst | 25 | ||||
-rw-r--r-- | Documentation/arm/sa1100/graphicsclient.rst (renamed from Documentation/arm/SA1100/GraphicsClient) | 48 | ||||
-rw-r--r-- | Documentation/arm/sa1100/graphicsmaster.rst (renamed from Documentation/arm/SA1100/GraphicsMaster) | 13 | ||||
-rw-r--r-- | Documentation/arm/sa1100/huw_webpanel.rst (renamed from Documentation/arm/SA1100/HUW_WEBPANEL) | 8 | ||||
-rw-r--r-- | Documentation/arm/sa1100/index.rst | 23 | ||||
-rw-r--r-- | Documentation/arm/sa1100/itsy.rst (renamed from Documentation/arm/SA1100/Itsy) | 14 | ||||
-rw-r--r-- | Documentation/arm/sa1100/lart.rst (renamed from Documentation/arm/SA1100/LART) | 3 | ||||
-rw-r--r-- | Documentation/arm/sa1100/nanoengine.rst (renamed from Documentation/arm/SA1100/nanoEngine) | 6 | ||||
-rw-r--r-- | Documentation/arm/sa1100/pangolin.rst (renamed from Documentation/arm/SA1100/Pangolin) | 10 | ||||
-rw-r--r-- | Documentation/arm/sa1100/pleb.rst (renamed from Documentation/arm/SA1100/PLEB) | 6 | ||||
-rw-r--r-- | Documentation/arm/sa1100/serial_uart.rst | 51 | ||||
-rw-r--r-- | Documentation/arm/sa1100/tifon.rst (renamed from Documentation/arm/SA1100/Tifon) | 4 | ||||
-rw-r--r-- | Documentation/arm/sa1100/yopy.rst (renamed from Documentation/arm/SA1100/Yopy) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/cpufreq.rst (renamed from Documentation/arm/Samsung-S3C24XX/CPUfreq.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/eb2410itx.rst (renamed from Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/gpio.rst (renamed from Documentation/arm/Samsung-S3C24XX/GPIO.txt) | 23 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/h1940.rst (renamed from Documentation/arm/Samsung-S3C24XX/H1940.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/index.rst | 18 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/nand.rst (renamed from Documentation/arm/Samsung-S3C24XX/NAND.txt) | 6 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/overview.rst (renamed from Documentation/arm/Samsung-S3C24XX/Overview.txt) | 21 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/s3c2412.rst (renamed from Documentation/arm/Samsung-S3C24XX/S3C2412.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/s3c2413.rst (renamed from Documentation/arm/Samsung-S3C24XX/S3C2413.txt) | 7 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/smdk2440.rst (renamed from Documentation/arm/Samsung-S3C24XX/SMDK2440.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/suspend.rst (renamed from Documentation/arm/Samsung-S3C24XX/Suspend.txt) | 20 | ||||
-rw-r--r-- | Documentation/arm/samsung-s3c24xx/usb-host.rst (renamed from Documentation/arm/Samsung-S3C24XX/USB-Host.txt) | 16 | ||||
-rw-r--r-- | Documentation/arm/samsung/bootloader-interface.rst (renamed from Documentation/arm/Samsung/Bootloader-interface.txt) | 27 | ||||
-rwxr-xr-x | Documentation/arm/samsung/clksrc-change-registers.awk (renamed from Documentation/arm/Samsung/clksrc-change-registers.awk) | 0 | ||||
-rw-r--r-- | Documentation/arm/samsung/gpio.rst (renamed from Documentation/arm/Samsung/GPIO.txt) | 7 | ||||
-rw-r--r-- | Documentation/arm/samsung/index.rst | 10 | ||||
-rw-r--r-- | Documentation/arm/samsung/overview.rst (renamed from Documentation/arm/Samsung/Overview.txt) | 15 | ||||
-rw-r--r-- | Documentation/arm/setup.rst (renamed from Documentation/arm/Setup) | 49 | ||||
-rw-r--r-- | Documentation/arm/sh-mobile/.gitignore (renamed from Documentation/arm/SH-Mobile/.gitignore) | 0 | ||||
-rw-r--r-- | Documentation/arm/spear/overview.rst (renamed from Documentation/arm/SPEAr/overview.txt) | 20 | ||||
-rw-r--r-- | Documentation/arm/sti/overview.rst (renamed from Documentation/arm/sti/overview.txt) | 21 | ||||
-rw-r--r-- | Documentation/arm/sti/stih407-overview.rst (renamed from Documentation/arm/sti/stih407-overview.txt) | 9 | ||||
-rw-r--r-- | Documentation/arm/sti/stih415-overview.rst (renamed from Documentation/arm/sti/stih415-overview.txt) | 8 | ||||
-rw-r--r-- | Documentation/arm/sti/stih416-overview.rst (renamed from Documentation/arm/sti/stih416-overview.txt) | 5 | ||||
-rw-r--r-- | Documentation/arm/sti/stih418-overview.rst (renamed from Documentation/arm/sti/stih418-overview.txt) | 9 | ||||
-rw-r--r-- | Documentation/arm/stm32/overview.rst | 2 | ||||
-rw-r--r-- | Documentation/arm/stm32/stm32f429-overview.rst | 7 | ||||
-rw-r--r-- | Documentation/arm/stm32/stm32f746-overview.rst | 7 | ||||
-rw-r--r-- | Documentation/arm/stm32/stm32f769-overview.rst | 7 | ||||
-rw-r--r-- | Documentation/arm/stm32/stm32h743-overview.rst | 7 | ||||
-rw-r--r-- | Documentation/arm/stm32/stm32mp157-overview.rst | 3 | ||||
-rw-r--r-- | Documentation/arm/sunxi.rst (renamed from Documentation/arm/sunxi/README) | 98 | ||||
-rw-r--r-- | Documentation/arm/sunxi/clocks.rst (renamed from Documentation/arm/sunxi/clocks.txt) | 7 | ||||
-rw-r--r-- | Documentation/arm/swp_emulation.rst (renamed from Documentation/arm/swp_emulation) | 24 | ||||
-rw-r--r-- | Documentation/arm/tcm.rst (renamed from Documentation/arm/tcm.txt) | 54 | ||||
-rw-r--r-- | Documentation/arm/uefi.rst (renamed from Documentation/arm/uefi.txt) | 39 | ||||
-rw-r--r-- | Documentation/arm/vfp/release-notes.rst (renamed from Documentation/arm/VFP/release-notes.txt) | 4 | ||||
-rw-r--r-- | Documentation/arm/vlocks.rst (renamed from Documentation/arm/vlocks.txt) | 9 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/xen.txt | 2 | ||||
-rw-r--r-- | Documentation/devicetree/booting-without-of.txt | 4 | ||||
-rw-r--r-- | Documentation/index.rst | 1 | ||||
-rw-r--r-- | Documentation/translations/zh_CN/arm/Booting | 4 | ||||
-rw-r--r-- | Documentation/translations/zh_CN/arm/kernel_user_helpers.txt | 4 | ||||
-rw-r--r-- | MAINTAINERS | 4 | ||||
-rw-r--r-- | arch/arm/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/common/mcpm_entry.c | 2 | ||||
-rw-r--r-- | arch/arm/common/mcpm_head.S | 2 | ||||
-rw-r--r-- | arch/arm/common/vlock.S | 2 | ||||
-rw-r--r-- | arch/arm/include/asm/setup.h | 2 | ||||
-rw-r--r-- | arch/arm/include/uapi/asm/setup.h | 2 | ||||
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/Kconfig | 14 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/pm.c | 2 | ||||
-rw-r--r-- | arch/arm/mm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/tools/mach-types | 2 | ||||
-rw-r--r-- | arch/arm64/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm64/kernel/kuser32.S | 2 | ||||
-rw-r--r-- | arch/mips/bmips/setup.c | 2 | ||||
-rw-r--r-- | drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 2 | ||||
-rw-r--r-- | drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 | ||||
-rw-r--r-- | drivers/crypto/sunxi-ss/sun4i-ss-hash.c | 2 | ||||
-rw-r--r-- | drivers/crypto/sunxi-ss/sun4i-ss.h | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/sun4i-ts.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/Kconfig | 2 |
115 files changed, 1991 insertions, 1426 deletions
diff --git a/Documentation/arm/Marvell/README b/Documentation/arm/Marvell/README deleted file mode 100644 index 56ada27c53be..000000000000 --- a/Documentation/arm/Marvell/README +++ /dev/null | |||
@@ -1,395 +0,0 @@ | |||
1 | ARM Marvell SoCs | ||
2 | ================ | ||
3 | |||
4 | This document lists all the ARM Marvell SoCs that are currently | ||
5 | supported in mainline by the Linux kernel. As the Marvell families of | ||
6 | SoCs are large and complex, it is hard to understand where the support | ||
7 | for a particular SoC is available in the Linux kernel. This document | ||
8 | tries to help in understanding where those SoCs are supported, and to | ||
9 | match them with their corresponding public datasheet, when available. | ||
10 | |||
11 | Orion family | ||
12 | ------------ | ||
13 | |||
14 | Flavors: | ||
15 | 88F5082 | ||
16 | 88F5181 | ||
17 | 88F5181L | ||
18 | 88F5182 | ||
19 | Datasheet : http://www.embeddedarm.com/documentation/third-party/MV88F5182-datasheet.pdf | ||
20 | Programmer's User Guide : http://www.embeddedarm.com/documentation/third-party/MV88F5182-opensource-manual.pdf | ||
21 | User Manual : http://www.embeddedarm.com/documentation/third-party/MV88F5182-usermanual.pdf | ||
22 | 88F5281 | ||
23 | Datasheet : http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf | ||
24 | 88F6183 | ||
25 | Core: Feroceon 88fr331 (88f51xx) or 88fr531-vd (88f52xx) ARMv5 compatible | ||
26 | Linux kernel mach directory: arch/arm/mach-orion5x | ||
27 | Linux kernel plat directory: arch/arm/plat-orion | ||
28 | |||
29 | Kirkwood family | ||
30 | --------------- | ||
31 | |||
32 | Flavors: | ||
33 | 88F6282 a.k.a Armada 300 | ||
34 | Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf | ||
35 | 88F6283 a.k.a Armada 310 | ||
36 | Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf | ||
37 | 88F6190 | ||
38 | Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6190-003_WEB.pdf | ||
39 | Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf | ||
40 | Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
41 | 88F6192 | ||
42 | Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6192-003_ver1.pdf | ||
43 | Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf | ||
44 | Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
45 | 88F6182 | ||
46 | 88F6180 | ||
47 | Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6180-003_ver1.pdf | ||
48 | Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf | ||
49 | Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
50 | 88F6281 | ||
51 | Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6281-004_ver1.pdf | ||
52 | Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf | ||
53 | Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
54 | Homepage: http://www.marvell.com/embedded-processors/kirkwood/ | ||
55 | Core: Feroceon 88fr131 ARMv5 compatible | ||
56 | Linux kernel mach directory: arch/arm/mach-mvebu | ||
57 | Linux kernel plat directory: none | ||
58 | |||
59 | Discovery family | ||
60 | ---------------- | ||
61 | |||
62 | Flavors: | ||
63 | MV78100 | ||
64 | Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78100-003_WEB.pdf | ||
65 | Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78100_OpenSource.pdf | ||
66 | Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf | ||
67 | MV78200 | ||
68 | Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78200-002_WEB.pdf | ||
69 | Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78200_OpenSource.pdf | ||
70 | Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf | ||
71 | MV76100 | ||
72 | Not supported by the Linux kernel. | ||
73 | |||
74 | Core: Feroceon 88fr571-vd ARMv5 compatible | ||
75 | |||
76 | Linux kernel mach directory: arch/arm/mach-mv78xx0 | ||
77 | Linux kernel plat directory: arch/arm/plat-orion | ||
78 | |||
79 | EBU Armada family | ||
80 | ----------------- | ||
81 | |||
82 | Armada 370 Flavors: | ||
83 | 88F6710 | ||
84 | 88F6707 | ||
85 | 88F6W11 | ||
86 | Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf | ||
87 | Hardware Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf | ||
88 | Functional Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf | ||
89 | Core: Sheeva ARMv7 compatible PJ4B | ||
90 | |||
91 | Armada 375 Flavors: | ||
92 | 88F6720 | ||
93 | Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf | ||
94 | Core: ARM Cortex-A9 | ||
95 | |||
96 | Armada 38x Flavors: | ||
97 | 88F6810 Armada 380 | ||
98 | 88F6820 Armada 385 | ||
99 | 88F6828 Armada 388 | ||
100 | Product infos: http://www.marvell.com/embedded-processors/armada-38x/ | ||
101 | Functional Spec: https://marvellcorp.wufoo.com/forms/marvell-armada-38x-functional-specifications/ | ||
102 | Core: ARM Cortex-A9 | ||
103 | |||
104 | Armada 39x Flavors: | ||
105 | 88F6920 Armada 390 | ||
106 | 88F6928 Armada 398 | ||
107 | Product infos: http://www.marvell.com/embedded-processors/armada-39x/ | ||
108 | Core: ARM Cortex-A9 | ||
109 | |||
110 | Armada XP Flavors: | ||
111 | MV78230 | ||
112 | MV78260 | ||
113 | MV78460 | ||
114 | NOTE: not to be confused with the non-SMP 78xx0 SoCs | ||
115 | Product Brief: http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf | ||
116 | Functional Spec: http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf | ||
117 | Hardware Specs: | ||
118 | http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF | ||
119 | http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF | ||
120 | http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF | ||
121 | Core: Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP | ||
122 | |||
123 | Linux kernel mach directory: arch/arm/mach-mvebu | ||
124 | Linux kernel plat directory: none | ||
125 | |||
126 | EBU Armada family ARMv8 | ||
127 | ----------------------- | ||
128 | |||
129 | Armada 3710/3720 Flavors: | ||
130 | 88F3710 | ||
131 | 88F3720 | ||
132 | Core: ARM Cortex A53 (ARMv8) | ||
133 | |||
134 | Homepage: http://www.marvell.com/embedded-processors/armada-3700/ | ||
135 | Product Brief: http://www.marvell.com/embedded-processors/assets/PB-88F3700-FNL.pdf | ||
136 | Device tree files: arch/arm64/boot/dts/marvell/armada-37* | ||
137 | |||
138 | Armada 7K Flavors: | ||
139 | 88F7020 (AP806 Dual + one CP110) | ||
140 | 88F7040 (AP806 Quad + one CP110) | ||
141 | Core: ARM Cortex A72 | ||
142 | |||
143 | Homepage: http://www.marvell.com/embedded-processors/armada-70xx/ | ||
144 | Product Brief: http://www.marvell.com/embedded-processors/assets/Armada7020PB-Jan2016.pdf | ||
145 | http://www.marvell.com/embedded-processors/assets/Armada7040PB-Jan2016.pdf | ||
146 | Device tree files: arch/arm64/boot/dts/marvell/armada-70* | ||
147 | |||
148 | Armada 8K Flavors: | ||
149 | 88F8020 (AP806 Dual + two CP110) | ||
150 | 88F8040 (AP806 Quad + two CP110) | ||
151 | Core: ARM Cortex A72 | ||
152 | |||
153 | Homepage: http://www.marvell.com/embedded-processors/armada-80xx/ | ||
154 | Product Brief: http://www.marvell.com/embedded-processors/assets/Armada8020PB-Jan2016.pdf | ||
155 | http://www.marvell.com/embedded-processors/assets/Armada8040PB-Jan2016.pdf | ||
156 | Device tree files: arch/arm64/boot/dts/marvell/armada-80* | ||
157 | |||
158 | Avanta family | ||
159 | ------------- | ||
160 | |||
161 | Flavors: | ||
162 | 88F6510 | ||
163 | 88F6530P | ||
164 | 88F6550 | ||
165 | 88F6560 | ||
166 | Homepage : http://www.marvell.com/broadband/ | ||
167 | Product Brief: http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf | ||
168 | No public datasheet available. | ||
169 | |||
170 | Core: ARMv5 compatible | ||
171 | |||
172 | Linux kernel mach directory: no code in mainline yet, planned for the future | ||
173 | Linux kernel plat directory: no code in mainline yet, planned for the future | ||
174 | |||
175 | Storage family | ||
176 | -------------- | ||
177 | |||
178 | Armada SP: | ||
179 | 88RC1580 | ||
180 | Product infos: http://www.marvell.com/storage/armada-sp/ | ||
181 | Core: Sheeva ARMv7 comatible Quad-core PJ4C | ||
182 | (not supported in upstream Linux kernel) | ||
183 | |||
184 | Dove family (application processor) | ||
185 | ----------------------------------- | ||
186 | |||
187 | Flavors: | ||
188 | 88AP510 a.k.a Armada 510 | ||
189 | Product Brief : http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf | ||
190 | Hardware Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf | ||
191 | Functional Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf | ||
192 | Homepage: http://www.marvell.com/application-processors/armada-500/ | ||
193 | Core: ARMv7 compatible | ||
194 | |||
195 | Directory: arch/arm/mach-mvebu (DT enabled platforms) | ||
196 | arch/arm/mach-dove (non-DT enabled platforms) | ||
197 | |||
198 | PXA 2xx/3xx/93x/95x family | ||
199 | -------------------------- | ||
200 | |||
201 | Flavors: | ||
202 | PXA21x, PXA25x, PXA26x | ||
203 | Application processor only | ||
204 | Core: ARMv5 XScale1 core | ||
205 | PXA270, PXA271, PXA272 | ||
206 | Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf | ||
207 | Design guide : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf | ||
208 | Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf | ||
209 | Specification : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf | ||
210 | Specification update : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf | ||
211 | Application processor only | ||
212 | Core: ARMv5 XScale2 core | ||
213 | PXA300, PXA310, PXA320 | ||
214 | PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf | ||
215 | PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf | ||
216 | PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf | ||
217 | Design guide : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf | ||
218 | Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip | ||
219 | Specifications : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf | ||
220 | Specification Update : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip | ||
221 | Reference Manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf | ||
222 | Application processor only | ||
223 | Core: ARMv5 XScale3 core | ||
224 | PXA930, PXA935 | ||
225 | Application processor with Communication processor | ||
226 | Core: ARMv5 XScale3 core | ||
227 | PXA955 | ||
228 | Application processor with Communication processor | ||
229 | Core: ARMv7 compatible Sheeva PJ4 core | ||
230 | |||
231 | Comments: | ||
232 | |||
233 | * This line of SoCs originates from the XScale family developed by | ||
234 | Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x, | ||
235 | PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while | ||
236 | the later PXA95x were developed by Marvell. | ||
237 | |||
238 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
239 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
240 | SoCs, except with the MMP/MMP2 family of SoCs. | ||
241 | |||
242 | Linux kernel mach directory: arch/arm/mach-pxa | ||
243 | Linux kernel plat directory: arch/arm/plat-pxa | ||
244 | |||
245 | MMP/MMP2/MMP3 family (communication processor) | ||
246 | ----------------------------------------- | ||
247 | |||
248 | Flavors: | ||
249 | PXA168, a.k.a Armada 168 | ||
250 | Homepage : http://www.marvell.com/application-processors/armada-100/armada-168.jsp | ||
251 | Product brief : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf | ||
252 | Hardware manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf | ||
253 | Software manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf | ||
254 | Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf | ||
255 | Boot ROM manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf | ||
256 | App node package : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf | ||
257 | Application processor only | ||
258 | Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) | ||
259 | PXA910/PXA920 | ||
260 | Homepage : http://www.marvell.com/communication-processors/pxa910/ | ||
261 | Product Brief : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf | ||
262 | Application processor with Communication processor | ||
263 | Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) | ||
264 | PXA688, a.k.a. MMP2, a.k.a Armada 610 | ||
265 | Product Brief : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf | ||
266 | Application processor only | ||
267 | Core: ARMv7 compatible Sheeva PJ4 88sv581x core | ||
268 | PXA2128, a.k.a. MMP3 (OLPC XO4, Linux support not upstream) | ||
269 | Product Brief : http://www.marvell.com/application-processors/armada/pxa2128/assets/Marvell-ARMADA-PXA2128-SoC-PB.pdf | ||
270 | Application processor only | ||
271 | Core: Dual-core ARMv7 compatible Sheeva PJ4C core | ||
272 | PXA960/PXA968/PXA978 (Linux support not upstream) | ||
273 | Application processor with Communication Processor | ||
274 | Core: ARMv7 compatible Sheeva PJ4 core | ||
275 | PXA986/PXA988 (Linux support not upstream) | ||
276 | Application processor with Communication Processor | ||
277 | Core: Dual-core ARMv7 compatible Sheeva PJ4B-MP core | ||
278 | PXA1088/PXA1920 (Linux support not upstream) | ||
279 | Application processor with Communication Processor | ||
280 | Core: quad-core ARMv7 Cortex-A7 | ||
281 | PXA1908/PXA1928/PXA1936 | ||
282 | Application processor with Communication Processor | ||
283 | Core: multi-core ARMv8 Cortex-A53 | ||
284 | |||
285 | Comments: | ||
286 | |||
287 | * This line of SoCs originates from the XScale family developed by | ||
288 | Intel and acquired by Marvell in ~2006. All the processors of | ||
289 | this MMP/MMP2 family were developed by Marvell. | ||
290 | |||
291 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
292 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
293 | SoCs, except with the PXA family of SoCs listed above. | ||
294 | |||
295 | Linux kernel mach directory: arch/arm/mach-mmp | ||
296 | Linux kernel plat directory: arch/arm/plat-pxa | ||
297 | |||
298 | Berlin family (Multimedia Solutions) | ||
299 | ------------------------------------- | ||
300 | |||
301 | Flavors: | ||
302 | 88DE3010, Armada 1000 (no Linux support) | ||
303 | Core: Marvell PJ1 (ARMv5TE), Dual-core | ||
304 | Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf | ||
305 | 88DE3005, Armada 1500 Mini | ||
306 | Design name: BG2CD | ||
307 | Core: ARM Cortex-A9, PL310 L2CC | ||
308 | 88DE3006, Armada 1500 Mini Plus | ||
309 | Design name: BG2CDP | ||
310 | Core: Dual Core ARM Cortex-A7 | ||
311 | 88DE3100, Armada 1500 | ||
312 | Design name: BG2 | ||
313 | Core: Marvell PJ4B-MP (ARMv7), Tauros3 L2CC | ||
314 | 88DE3114, Armada 1500 Pro | ||
315 | Design name: BG2Q | ||
316 | Core: Quad Core ARM Cortex-A9, PL310 L2CC | ||
317 | 88DE3214, Armada 1500 Pro 4K | ||
318 | Design name: BG3 | ||
319 | Core: ARM Cortex-A15, CA15 integrated L2CC | ||
320 | 88DE3218, ARMADA 1500 Ultra | ||
321 | Core: ARM Cortex-A53 | ||
322 | |||
323 | Homepage: https://www.synaptics.com/products/multimedia-solutions | ||
324 | Directory: arch/arm/mach-berlin | ||
325 | |||
326 | Comments: | ||
327 | |||
328 | * This line of SoCs is based on Marvell Sheeva or ARM Cortex CPUs | ||
329 | with Synopsys DesignWare (IRQ, GPIO, Timers, ...) and PXA IP (SDHCI, USB, ETH, ...). | ||
330 | |||
331 | * The Berlin family was acquired by Synaptics from Marvell in 2017. | ||
332 | |||
333 | CPU Cores | ||
334 | --------- | ||
335 | |||
336 | The XScale cores were designed by Intel, and shipped by Marvell in the older | ||
337 | PXA processors. Feroceon is a Marvell designed core that developed in-house, | ||
338 | and that evolved into Sheeva. The XScale and Feroceon cores were phased out | ||
339 | over time and replaced with Sheeva cores in later products, which subsequently | ||
340 | got replaced with licensed ARM Cortex-A cores. | ||
341 | |||
342 | XScale 1 | ||
343 | CPUID 0x69052xxx | ||
344 | ARMv5, iWMMXt | ||
345 | XScale 2 | ||
346 | CPUID 0x69054xxx | ||
347 | ARMv5, iWMMXt | ||
348 | XScale 3 | ||
349 | CPUID 0x69056xxx or 0x69056xxx | ||
350 | ARMv5, iWMMXt | ||
351 | Feroceon-1850 88fr331 "Mohawk" | ||
352 | CPUID 0x5615331x or 0x41xx926x | ||
353 | ARMv5TE, single issue | ||
354 | Feroceon-2850 88fr531-vd "Jolteon" | ||
355 | CPUID 0x5605531x or 0x41xx926x | ||
356 | ARMv5TE, VFP, dual-issue | ||
357 | Feroceon 88fr571-vd "Jolteon" | ||
358 | CPUID 0x5615571x | ||
359 | ARMv5TE, VFP, dual-issue | ||
360 | Feroceon 88fr131 "Mohawk-D" | ||
361 | CPUID 0x5625131x | ||
362 | ARMv5TE, single-issue in-order | ||
363 | Sheeva PJ1 88sv331 "Mohawk" | ||
364 | CPUID 0x561584xx | ||
365 | ARMv5, single-issue iWMMXt v2 | ||
366 | Sheeva PJ4 88sv581x "Flareon" | ||
367 | CPUID 0x560f581x | ||
368 | ARMv7, idivt, optional iWMMXt v2 | ||
369 | Sheeva PJ4B 88sv581x | ||
370 | CPUID 0x561f581x | ||
371 | ARMv7, idivt, optional iWMMXt v2 | ||
372 | Sheeva PJ4B-MP / PJ4C | ||
373 | CPUID 0x562f584x | ||
374 | ARMv7, idivt/idiva, LPAE, optional iWMMXt v2 and/or NEON | ||
375 | |||
376 | Long-term plans | ||
377 | --------------- | ||
378 | |||
379 | * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ into the | ||
380 | mach-mvebu/ to support all SoCs from the Marvell EBU (Engineering | ||
381 | Business Unit) in a single mach-<foo> directory. The plat-orion/ | ||
382 | would therefore disappear. | ||
383 | |||
384 | * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa | ||
385 | directory. The plat-pxa/ would therefore disappear. | ||
386 | |||
387 | Credits | ||
388 | ------- | ||
389 | |||
390 | Maen Suleiman <maen@marvell.com> | ||
391 | Lior Amsalem <alior@marvell.com> | ||
392 | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
393 | Andrew Lunn <andrew@lunn.ch> | ||
394 | Nicolas Pitre <nico@fluxnic.net> | ||
395 | Eric Miao <eric.y.miao@gmail.com> | ||
diff --git a/Documentation/arm/Netwinder b/Documentation/arm/Netwinder deleted file mode 100644 index f1b457fbd3de..000000000000 --- a/Documentation/arm/Netwinder +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | NetWinder specific documentation | ||
2 | ================================ | ||
3 | |||
4 | The NetWinder is a small low-power computer, primarily designed | ||
5 | to run Linux. It is based around the StrongARM RISC processor, | ||
6 | DC21285 PCI bridge, with PC-type hardware glued around it. | ||
7 | |||
8 | Port usage | ||
9 | ========== | ||
10 | |||
11 | Min - Max Description | ||
12 | --------------------------- | ||
13 | 0x0000 - 0x000f DMA1 | ||
14 | 0x0020 - 0x0021 PIC1 | ||
15 | 0x0060 - 0x006f Keyboard | ||
16 | 0x0070 - 0x007f RTC | ||
17 | 0x0080 - 0x0087 DMA1 | ||
18 | 0x0088 - 0x008f DMA2 | ||
19 | 0x00a0 - 0x00a3 PIC2 | ||
20 | 0x00c0 - 0x00df DMA2 | ||
21 | 0x0180 - 0x0187 IRDA | ||
22 | 0x01f0 - 0x01f6 ide0 | ||
23 | 0x0201 Game port | ||
24 | 0x0203 RWA010 configuration read | ||
25 | 0x0220 - ? SoundBlaster | ||
26 | 0x0250 - ? WaveArtist | ||
27 | 0x0279 RWA010 configuration index | ||
28 | 0x02f8 - 0x02ff Serial ttyS1 | ||
29 | 0x0300 - 0x031f Ether10 | ||
30 | 0x0338 GPIO1 | ||
31 | 0x033a GPIO2 | ||
32 | 0x0370 - 0x0371 W83977F configuration registers | ||
33 | 0x0388 - ? AdLib | ||
34 | 0x03c0 - 0x03df VGA | ||
35 | 0x03f6 ide0 | ||
36 | 0x03f8 - 0x03ff Serial ttyS0 | ||
37 | 0x0400 - 0x0408 DC21143 | ||
38 | 0x0480 - 0x0487 DMA1 | ||
39 | 0x0488 - 0x048f DMA2 | ||
40 | 0x0a79 RWA010 configuration write | ||
41 | 0xe800 - 0xe80f ide0/ide1 BM DMA | ||
42 | |||
43 | |||
44 | Interrupt usage | ||
45 | =============== | ||
46 | |||
47 | IRQ type Description | ||
48 | --------------------------- | ||
49 | 0 ISA 100Hz timer | ||
50 | 1 ISA Keyboard | ||
51 | 2 ISA cascade | ||
52 | 3 ISA Serial ttyS1 | ||
53 | 4 ISA Serial ttyS0 | ||
54 | 5 ISA PS/2 mouse | ||
55 | 6 ISA IRDA | ||
56 | 7 ISA Printer | ||
57 | 8 ISA RTC alarm | ||
58 | 9 ISA | ||
59 | 10 ISA GP10 (Orange reset button) | ||
60 | 11 ISA | ||
61 | 12 ISA WaveArtist | ||
62 | 13 ISA | ||
63 | 14 ISA hda1 | ||
64 | 15 ISA | ||
65 | |||
66 | DMA usage | ||
67 | ========= | ||
68 | |||
69 | DMA type Description | ||
70 | --------------------------- | ||
71 | 0 ISA IRDA | ||
72 | 1 ISA | ||
73 | 2 ISA cascade | ||
74 | 3 ISA WaveArtist | ||
75 | 4 ISA | ||
76 | 5 ISA | ||
77 | 6 ISA | ||
78 | 7 ISA WaveArtist | ||
diff --git a/Documentation/arm/SA1100/FreeBird b/Documentation/arm/SA1100/FreeBird deleted file mode 100644 index ab9193663b2b..000000000000 --- a/Documentation/arm/SA1100/FreeBird +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | Freebird-1.1 is produced by Legend(C), Inc. | ||
2 | http://web.archive.org/web/*/http://www.legend.com.cn | ||
3 | and software/linux maintained by Coventive(C), Inc. | ||
4 | (http://www.coventive.com) | ||
5 | |||
6 | Based on the Nicolas's strongarm kernel tree. | ||
7 | |||
8 | =============================================================== | ||
9 | Maintainer: | ||
10 | |||
11 | Chester Kuo <chester@coventive.com> | ||
12 | <chester@linux.org.tw> | ||
13 | |||
14 | Author : | ||
15 | Tim wu <timwu@coventive.com> | ||
16 | CIH <cih@coventive.com> | ||
17 | Eric Peng <ericpeng@coventive.com> | ||
18 | Jeff Lee <jeff_lee@coventive.com> | ||
19 | Allen Cheng | ||
20 | Tony Liu <tonyliu@coventive.com> | ||
21 | |||
diff --git a/Documentation/arm/SA1100/empeg b/Documentation/arm/SA1100/empeg deleted file mode 100644 index 4ece4849a42c..000000000000 --- a/Documentation/arm/SA1100/empeg +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | See ../empeg/README | ||
2 | |||
diff --git a/Documentation/arm/SA1100/serial_UART b/Documentation/arm/SA1100/serial_UART deleted file mode 100644 index a63966f1d083..000000000000 --- a/Documentation/arm/SA1100/serial_UART +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | The SA1100 serial port had its major/minor numbers officially assigned: | ||
2 | |||
3 | > Date: Sun, 24 Sep 2000 21:40:27 -0700 | ||
4 | > From: H. Peter Anvin <hpa@transmeta.com> | ||
5 | > To: Nicolas Pitre <nico@CAM.ORG> | ||
6 | > Cc: Device List Maintainer <device@lanana.org> | ||
7 | > Subject: Re: device | ||
8 | > | ||
9 | > Okay. Note that device numbers 204 and 205 are used for "low density | ||
10 | > serial devices", so you will have a range of minors on those majors (the | ||
11 | > tty device layer handles this just fine, so you don't have to worry about | ||
12 | > doing anything special.) | ||
13 | > | ||
14 | > So your assignments are: | ||
15 | > | ||
16 | > 204 char Low-density serial ports | ||
17 | > 5 = /dev/ttySA0 SA1100 builtin serial port 0 | ||
18 | > 6 = /dev/ttySA1 SA1100 builtin serial port 1 | ||
19 | > 7 = /dev/ttySA2 SA1100 builtin serial port 2 | ||
20 | > | ||
21 | > 205 char Low-density serial ports (alternate device) | ||
22 | > 5 = /dev/cusa0 Callout device for ttySA0 | ||
23 | > 6 = /dev/cusa1 Callout device for ttySA1 | ||
24 | > 7 = /dev/cusa2 Callout device for ttySA2 | ||
25 | > | ||
26 | |||
27 | You must create those inodes in /dev on the root filesystem used | ||
28 | by your SA1100-based device: | ||
29 | |||
30 | mknod ttySA0 c 204 5 | ||
31 | mknod ttySA1 c 204 6 | ||
32 | mknod ttySA2 c 204 7 | ||
33 | mknod cusa0 c 205 5 | ||
34 | mknod cusa1 c 205 6 | ||
35 | mknod cusa2 c 205 7 | ||
36 | |||
37 | In addition to the creation of the appropriate device nodes above, you | ||
38 | must ensure your user space applications make use of the correct device | ||
39 | name. The classic example is the content of the /etc/inittab file where | ||
40 | you might have a getty process started on ttyS0. In this case: | ||
41 | |||
42 | - replace occurrences of ttyS0 with ttySA0, ttyS1 with ttySA1, etc. | ||
43 | |||
44 | - don't forget to add 'ttySA0', 'console', or the appropriate tty name | ||
45 | in /etc/securetty for root to be allowed to login as well. | ||
46 | |||
47 | |||
diff --git a/Documentation/arm/README b/Documentation/arm/arm.rst index 9d1e5b2c92e6..2edc509df92a 100644 --- a/Documentation/arm/README +++ b/Documentation/arm/arm.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | ARM Linux 2.6 | 1 | ======================= |
2 | ============= | 2 | ARM Linux 2.6 and upper |
3 | ======================= | ||
3 | 4 | ||
4 | Please check <ftp://ftp.arm.linux.org.uk/pub/armlinux> for | 5 | Please check <ftp://ftp.arm.linux.org.uk/pub/armlinux> for |
5 | updates. | 6 | updates. |
@@ -18,22 +19,28 @@ Compilation of kernel | |||
18 | line as detailed below. | 19 | line as detailed below. |
19 | 20 | ||
20 | If you wish to cross-compile, then alter the following lines in the top | 21 | If you wish to cross-compile, then alter the following lines in the top |
21 | level make file: | 22 | level make file:: |
22 | 23 | ||
23 | ARCH = <whatever> | 24 | ARCH = <whatever> |
24 | with | 25 | |
26 | with:: | ||
27 | |||
25 | ARCH = arm | 28 | ARCH = arm |
26 | 29 | ||
27 | and | 30 | and:: |
28 | 31 | ||
29 | CROSS_COMPILE= | 32 | CROSS_COMPILE= |
30 | to | 33 | |
34 | to:: | ||
35 | |||
31 | CROSS_COMPILE=<your-path-to-your-compiler-without-gcc> | 36 | CROSS_COMPILE=<your-path-to-your-compiler-without-gcc> |
32 | eg. | 37 | |
38 | eg.:: | ||
39 | |||
33 | CROSS_COMPILE=arm-linux- | 40 | CROSS_COMPILE=arm-linux- |
34 | 41 | ||
35 | Do a 'make config', followed by 'make Image' to build the kernel | 42 | Do a 'make config', followed by 'make Image' to build the kernel |
36 | (arch/arm/boot/Image). A compressed image can be built by doing a | 43 | (arch/arm/boot/Image). A compressed image can be built by doing a |
37 | 'make zImage' instead of 'make Image'. | 44 | 'make zImage' instead of 'make Image'. |
38 | 45 | ||
39 | 46 | ||
@@ -46,7 +53,7 @@ Bug reports etc | |||
46 | 53 | ||
47 | Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk, | 54 | Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk, |
48 | or submitted through the web form at | 55 | or submitted through the web form at |
49 | http://www.arm.linux.org.uk/developer/ | 56 | http://www.arm.linux.org.uk/developer/ |
50 | 57 | ||
51 | When sending bug reports, please ensure that they contain all relevant | 58 | When sending bug reports, please ensure that they contain all relevant |
52 | information, eg. the kernel messages that were printed before/during | 59 | information, eg. the kernel messages that were printed before/during |
@@ -60,11 +67,13 @@ Include files | |||
60 | which are there to reduce the clutter in the top-level directory. These | 67 | which are there to reduce the clutter in the top-level directory. These |
61 | directories, and their purpose is listed below: | 68 | directories, and their purpose is listed below: |
62 | 69 | ||
63 | arch-* machine/platform specific header files | 70 | ============= ========================================================== |
64 | hardware driver-internal ARM specific data structures/definitions | 71 | `arch-*` machine/platform specific header files |
65 | mach descriptions of generic ARM to specific machine interfaces | 72 | `hardware` driver-internal ARM specific data structures/definitions |
66 | proc-* processor dependent header files (currently only two | 73 | `mach` descriptions of generic ARM to specific machine interfaces |
74 | `proc-*` processor dependent header files (currently only two | ||
67 | categories) | 75 | categories) |
76 | ============= ========================================================== | ||
68 | 77 | ||
69 | 78 | ||
70 | Machine/Platform support | 79 | Machine/Platform support |
@@ -129,7 +138,7 @@ ST506 hard drives | |||
129 | HDC base to the source. | 138 | HDC base to the source. |
130 | 139 | ||
131 | As of 31/3/96 it works with two drives (you should get the ADFS | 140 | As of 31/3/96 it works with two drives (you should get the ADFS |
132 | *configure harddrive set to 2). I've got an internal 20MB and a great | 141 | `*configure` harddrive set to 2). I've got an internal 20MB and a great |
133 | big external 5.25" FH 64MB drive (who could ever want more :-) ). | 142 | big external 5.25" FH 64MB drive (who could ever want more :-) ). |
134 | 143 | ||
135 | I've just got 240K/s off it (a dd with bs=128k); thats about half of what | 144 | I've just got 240K/s off it (a dd with bs=128k); thats about half of what |
@@ -149,13 +158,13 @@ ST506 hard drives | |||
149 | are welcome. | 158 | are welcome. |
150 | 159 | ||
151 | 160 | ||
152 | CONFIG_MACH_ and CONFIG_ARCH_ | 161 | `CONFIG_MACH_` and `CONFIG_ARCH_` |
153 | ----------------------------- | 162 | --------------------------------- |
154 | A change was made in 2003 to the macro names for new machines. | 163 | A change was made in 2003 to the macro names for new machines. |
155 | Historically, CONFIG_ARCH_ was used for the bonafide architecture, | 164 | Historically, `CONFIG_ARCH_` was used for the bonafide architecture, |
156 | e.g. SA1100, as well as implementations of the architecture, | 165 | e.g. SA1100, as well as implementations of the architecture, |
157 | e.g. Assabet. It was decided to change the implementation macros | 166 | e.g. Assabet. It was decided to change the implementation macros |
158 | to read CONFIG_MACH_ for clarity. Moreover, a retroactive fixup has | 167 | to read `CONFIG_MACH_` for clarity. Moreover, a retroactive fixup has |
159 | not been made because it would complicate patching. | 168 | not been made because it would complicate patching. |
160 | 169 | ||
161 | Previous registrations may be found online. | 170 | Previous registrations may be found online. |
@@ -163,7 +172,7 @@ CONFIG_MACH_ and CONFIG_ARCH_ | |||
163 | <http://www.arm.linux.org.uk/developer/machines/> | 172 | <http://www.arm.linux.org.uk/developer/machines/> |
164 | 173 | ||
165 | Kernel entry (head.S) | 174 | Kernel entry (head.S) |
166 | -------------------------- | 175 | --------------------- |
167 | The initial entry into the kernel is via head.S, which uses machine | 176 | The initial entry into the kernel is via head.S, which uses machine |
168 | independent code. The machine is selected by the value of 'r1' on | 177 | independent code. The machine is selected by the value of 'r1' on |
169 | entry, which must be kept unique. | 178 | entry, which must be kept unique. |
@@ -201,4 +210,5 @@ Kernel entry (head.S) | |||
201 | platform is DT-only, you do not need a registered machine type. | 210 | platform is DT-only, you do not need a registered machine type. |
202 | 211 | ||
203 | --- | 212 | --- |
213 | |||
204 | Russell King (15/03/2004) | 214 | Russell King (15/03/2004) |
diff --git a/Documentation/arm/Booting b/Documentation/arm/booting.rst index f1f965ce93d6..4babb6c6ae1e 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/booting.rst | |||
@@ -1,7 +1,9 @@ | |||
1 | Booting ARM Linux | 1 | ================= |
2 | ================= | 2 | Booting ARM Linux |
3 | ================= | ||
3 | 4 | ||
4 | Author: Russell King | 5 | Author: Russell King |
6 | |||
5 | Date : 18 May 2002 | 7 | Date : 18 May 2002 |
6 | 8 | ||
7 | The following documentation is relevant to 2.4.18-rmk6 and beyond. | 9 | The following documentation is relevant to 2.4.18-rmk6 and beyond. |
@@ -25,8 +27,10 @@ following: | |||
25 | 1. Setup and initialise RAM | 27 | 1. Setup and initialise RAM |
26 | --------------------------- | 28 | --------------------------- |
27 | 29 | ||
28 | Existing boot loaders: MANDATORY | 30 | Existing boot loaders: |
29 | New boot loaders: MANDATORY | 31 | MANDATORY |
32 | New boot loaders: | ||
33 | MANDATORY | ||
30 | 34 | ||
31 | The boot loader is expected to find and initialise all RAM that the | 35 | The boot loader is expected to find and initialise all RAM that the |
32 | kernel will use for volatile data storage in the system. It performs | 36 | kernel will use for volatile data storage in the system. It performs |
@@ -39,8 +43,10 @@ sees fit.) | |||
39 | 2. Initialise one serial port | 43 | 2. Initialise one serial port |
40 | ----------------------------- | 44 | ----------------------------- |
41 | 45 | ||
42 | Existing boot loaders: OPTIONAL, RECOMMENDED | 46 | Existing boot loaders: |
43 | New boot loaders: OPTIONAL, RECOMMENDED | 47 | OPTIONAL, RECOMMENDED |
48 | New boot loaders: | ||
49 | OPTIONAL, RECOMMENDED | ||
44 | 50 | ||
45 | The boot loader should initialise and enable one serial port on the | 51 | The boot loader should initialise and enable one serial port on the |
46 | target. This allows the kernel serial driver to automatically detect | 52 | target. This allows the kernel serial driver to automatically detect |
@@ -57,8 +63,10 @@ serial format options as described in | |||
57 | 3. Detect the machine type | 63 | 3. Detect the machine type |
58 | -------------------------- | 64 | -------------------------- |
59 | 65 | ||
60 | Existing boot loaders: OPTIONAL | 66 | Existing boot loaders: |
61 | New boot loaders: MANDATORY except for DT-only platforms | 67 | OPTIONAL |
68 | New boot loaders: | ||
69 | MANDATORY except for DT-only platforms | ||
62 | 70 | ||
63 | The boot loader should detect the machine type its running on by some | 71 | The boot loader should detect the machine type its running on by some |
64 | method. Whether this is a hard coded value or some algorithm that | 72 | method. Whether this is a hard coded value or some algorithm that |
@@ -74,8 +82,10 @@ necessary, but assures that it will not match any existing types. | |||
74 | 4. Setup boot data | 82 | 4. Setup boot data |
75 | ------------------ | 83 | ------------------ |
76 | 84 | ||
77 | Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED | 85 | Existing boot loaders: |
78 | New boot loaders: MANDATORY | 86 | OPTIONAL, HIGHLY RECOMMENDED |
87 | New boot loaders: | ||
88 | MANDATORY | ||
79 | 89 | ||
80 | The boot loader must provide either a tagged list or a dtb image for | 90 | The boot loader must provide either a tagged list or a dtb image for |
81 | passing configuration data to the kernel. The physical address of the | 91 | passing configuration data to the kernel. The physical address of the |
@@ -97,15 +107,15 @@ entirety; some tags behave as the former, others the latter. | |||
97 | 107 | ||
98 | The boot loader must pass at a minimum the size and location of | 108 | The boot loader must pass at a minimum the size and location of |
99 | the system memory, and root filesystem location. Therefore, the | 109 | the system memory, and root filesystem location. Therefore, the |
100 | minimum tagged list should look: | 110 | minimum tagged list should look:: |
101 | 111 | ||
102 | +-----------+ | 112 | +-----------+ |
103 | base -> | ATAG_CORE | | | 113 | base -> | ATAG_CORE | | |
104 | +-----------+ | | 114 | +-----------+ | |
105 | | ATAG_MEM | | increasing address | 115 | | ATAG_MEM | | increasing address |
106 | +-----------+ | | 116 | +-----------+ | |
107 | | ATAG_NONE | | | 117 | | ATAG_NONE | | |
108 | +-----------+ v | 118 | +-----------+ v |
109 | 119 | ||
110 | The tagged list should be stored in system RAM. | 120 | The tagged list should be stored in system RAM. |
111 | 121 | ||
@@ -134,8 +144,10 @@ A safe location is just above the 128MiB boundary from start of RAM. | |||
134 | 5. Load initramfs. | 144 | 5. Load initramfs. |
135 | ------------------ | 145 | ------------------ |
136 | 146 | ||
137 | Existing boot loaders: OPTIONAL | 147 | Existing boot loaders: |
138 | New boot loaders: OPTIONAL | 148 | OPTIONAL |
149 | New boot loaders: | ||
150 | OPTIONAL | ||
139 | 151 | ||
140 | If an initramfs is in use then, as with the dtb, it must be placed in | 152 | If an initramfs is in use then, as with the dtb, it must be placed in |
141 | a region of memory where the kernel decompressor will not overwrite it | 153 | a region of memory where the kernel decompressor will not overwrite it |
@@ -149,8 +161,10 @@ recommended above. | |||
149 | 6. Calling the kernel image | 161 | 6. Calling the kernel image |
150 | --------------------------- | 162 | --------------------------- |
151 | 163 | ||
152 | Existing boot loaders: MANDATORY | 164 | Existing boot loaders: |
153 | New boot loaders: MANDATORY | 165 | MANDATORY |
166 | New boot loaders: | ||
167 | MANDATORY | ||
154 | 168 | ||
155 | There are two options for calling the kernel zImage. If the zImage | 169 | There are two options for calling the kernel zImage. If the zImage |
156 | is stored in flash, and is linked correctly to be run from flash, | 170 | is stored in flash, and is linked correctly to be run from flash, |
@@ -174,12 +188,14 @@ In any case, the following conditions must be met: | |||
174 | you many hours of debug. | 188 | you many hours of debug. |
175 | 189 | ||
176 | - CPU register settings | 190 | - CPU register settings |
177 | r0 = 0, | 191 | |
178 | r1 = machine type number discovered in (3) above. | 192 | - r0 = 0, |
179 | r2 = physical address of tagged list in system RAM, or | 193 | - r1 = machine type number discovered in (3) above. |
180 | physical address of device tree block (dtb) in system RAM | 194 | - r2 = physical address of tagged list in system RAM, or |
195 | physical address of device tree block (dtb) in system RAM | ||
181 | 196 | ||
182 | - CPU mode | 197 | - CPU mode |
198 | |||
183 | All forms of interrupts must be disabled (IRQs and FIQs) | 199 | All forms of interrupts must be disabled (IRQs and FIQs) |
184 | 200 | ||
185 | For CPUs which do not include the ARM virtualization extensions, the | 201 | For CPUs which do not include the ARM virtualization extensions, the |
@@ -195,8 +211,11 @@ In any case, the following conditions must be met: | |||
195 | entered in SVC mode. | 211 | entered in SVC mode. |
196 | 212 | ||
197 | - Caches, MMUs | 213 | - Caches, MMUs |
214 | |||
198 | The MMU must be off. | 215 | The MMU must be off. |
216 | |||
199 | Instruction cache may be on or off. | 217 | Instruction cache may be on or off. |
218 | |||
200 | Data cache must be off. | 219 | Data cache must be off. |
201 | 220 | ||
202 | If the kernel is entered in HYP mode, the above requirements apply to | 221 | If the kernel is entered in HYP mode, the above requirements apply to |
diff --git a/Documentation/arm/cluster-pm-race-avoidance.txt b/Documentation/arm/cluster-pm-race-avoidance.rst index 750b6fc24af9..aa58603d3f28 100644 --- a/Documentation/arm/cluster-pm-race-avoidance.txt +++ b/Documentation/arm/cluster-pm-race-avoidance.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ========================================================= | ||
1 | Cluster-wide Power-up/power-down race avoidance algorithm | 2 | Cluster-wide Power-up/power-down race avoidance algorithm |
2 | ========================================================= | 3 | ========================================================= |
3 | 4 | ||
@@ -46,10 +47,12 @@ Basic model | |||
46 | 47 | ||
47 | Each cluster and CPU is assigned a state, as follows: | 48 | Each cluster and CPU is assigned a state, as follows: |
48 | 49 | ||
49 | DOWN | 50 | - DOWN |
50 | COMING_UP | 51 | - COMING_UP |
51 | UP | 52 | - UP |
52 | GOING_DOWN | 53 | - GOING_DOWN |
54 | |||
55 | :: | ||
53 | 56 | ||
54 | +---------> UP ----------+ | 57 | +---------> UP ----------+ |
55 | | v | 58 | | v |
@@ -60,18 +63,22 @@ Each cluster and CPU is assigned a state, as follows: | |||
60 | +--------- DOWN <--------+ | 63 | +--------- DOWN <--------+ |
61 | 64 | ||
62 | 65 | ||
63 | DOWN: The CPU or cluster is not coherent, and is either powered off or | 66 | DOWN: |
67 | The CPU or cluster is not coherent, and is either powered off or | ||
64 | suspended, or is ready to be powered off or suspended. | 68 | suspended, or is ready to be powered off or suspended. |
65 | 69 | ||
66 | COMING_UP: The CPU or cluster has committed to moving to the UP state. | 70 | COMING_UP: |
71 | The CPU or cluster has committed to moving to the UP state. | ||
67 | It may be part way through the process of initialisation and | 72 | It may be part way through the process of initialisation and |
68 | enabling coherency. | 73 | enabling coherency. |
69 | 74 | ||
70 | UP: The CPU or cluster is active and coherent at the hardware | 75 | UP: |
76 | The CPU or cluster is active and coherent at the hardware | ||
71 | level. A CPU in this state is not necessarily being used | 77 | level. A CPU in this state is not necessarily being used |
72 | actively by the kernel. | 78 | actively by the kernel. |
73 | 79 | ||
74 | GOING_DOWN: The CPU or cluster has committed to moving to the DOWN | 80 | GOING_DOWN: |
81 | The CPU or cluster has committed to moving to the DOWN | ||
75 | state. It may be part way through the process of teardown and | 82 | state. It may be part way through the process of teardown and |
76 | coherency exit. | 83 | coherency exit. |
77 | 84 | ||
@@ -86,8 +93,8 @@ CPUs in the cluster simultaneously modifying the state. The cluster- | |||
86 | level states are described in the "Cluster state" section. | 93 | level states are described in the "Cluster state" section. |
87 | 94 | ||
88 | To help distinguish the CPU states from cluster states in this | 95 | To help distinguish the CPU states from cluster states in this |
89 | discussion, the state names are given a CPU_ prefix for the CPU states, | 96 | discussion, the state names are given a `CPU_` prefix for the CPU states, |
90 | and a CLUSTER_ or INBOUND_ prefix for the cluster states. | 97 | and a `CLUSTER_` or `INBOUND_` prefix for the cluster states. |
91 | 98 | ||
92 | 99 | ||
93 | CPU state | 100 | CPU state |
@@ -101,10 +108,12 @@ This means that CPUs fit the basic model closely. | |||
101 | 108 | ||
102 | The algorithm defines the following states for each CPU in the system: | 109 | The algorithm defines the following states for each CPU in the system: |
103 | 110 | ||
104 | CPU_DOWN | 111 | - CPU_DOWN |
105 | CPU_COMING_UP | 112 | - CPU_COMING_UP |
106 | CPU_UP | 113 | - CPU_UP |
107 | CPU_GOING_DOWN | 114 | - CPU_GOING_DOWN |
115 | |||
116 | :: | ||
108 | 117 | ||
109 | cluster setup and | 118 | cluster setup and |
110 | CPU setup complete policy decision | 119 | CPU setup complete policy decision |
@@ -130,17 +139,17 @@ requirement for any external event to happen. | |||
130 | 139 | ||
131 | 140 | ||
132 | CPU_DOWN: | 141 | CPU_DOWN: |
133 | |||
134 | A CPU reaches the CPU_DOWN state when it is ready for | 142 | A CPU reaches the CPU_DOWN state when it is ready for |
135 | power-down. On reaching this state, the CPU will typically | 143 | power-down. On reaching this state, the CPU will typically |
136 | power itself down or suspend itself, via a WFI instruction or a | 144 | power itself down or suspend itself, via a WFI instruction or a |
137 | firmware call. | 145 | firmware call. |
138 | 146 | ||
139 | Next state: CPU_COMING_UP | 147 | Next state: |
140 | Conditions: none | 148 | CPU_COMING_UP |
149 | Conditions: | ||
150 | none | ||
141 | 151 | ||
142 | Trigger events: | 152 | Trigger events: |
143 | |||
144 | a) an explicit hardware power-up operation, resulting | 153 | a) an explicit hardware power-up operation, resulting |
145 | from a policy decision on another CPU; | 154 | from a policy decision on another CPU; |
146 | 155 | ||
@@ -148,15 +157,17 @@ CPU_DOWN: | |||
148 | 157 | ||
149 | 158 | ||
150 | CPU_COMING_UP: | 159 | CPU_COMING_UP: |
151 | |||
152 | A CPU cannot start participating in hardware coherency until the | 160 | A CPU cannot start participating in hardware coherency until the |
153 | cluster is set up and coherent. If the cluster is not ready, | 161 | cluster is set up and coherent. If the cluster is not ready, |
154 | then the CPU will wait in the CPU_COMING_UP state until the | 162 | then the CPU will wait in the CPU_COMING_UP state until the |
155 | cluster has been set up. | 163 | cluster has been set up. |
156 | 164 | ||
157 | Next state: CPU_UP | 165 | Next state: |
158 | Conditions: The CPU's parent cluster must be in CLUSTER_UP. | 166 | CPU_UP |
159 | Trigger events: Transition of the parent cluster to CLUSTER_UP. | 167 | Conditions: |
168 | The CPU's parent cluster must be in CLUSTER_UP. | ||
169 | Trigger events: | ||
170 | Transition of the parent cluster to CLUSTER_UP. | ||
160 | 171 | ||
161 | Refer to the "Cluster state" section for a description of the | 172 | Refer to the "Cluster state" section for a description of the |
162 | CLUSTER_UP state. | 173 | CLUSTER_UP state. |
@@ -178,20 +189,25 @@ CPU_UP: | |||
178 | The CPU remains in this state until an explicit policy decision | 189 | The CPU remains in this state until an explicit policy decision |
179 | is made to shut down or suspend the CPU. | 190 | is made to shut down or suspend the CPU. |
180 | 191 | ||
181 | Next state: CPU_GOING_DOWN | 192 | Next state: |
182 | Conditions: none | 193 | CPU_GOING_DOWN |
183 | Trigger events: explicit policy decision | 194 | Conditions: |
195 | none | ||
196 | Trigger events: | ||
197 | explicit policy decision | ||
184 | 198 | ||
185 | 199 | ||
186 | CPU_GOING_DOWN: | 200 | CPU_GOING_DOWN: |
187 | |||
188 | While in this state, the CPU exits coherency, including any | 201 | While in this state, the CPU exits coherency, including any |
189 | operations required to achieve this (such as cleaning data | 202 | operations required to achieve this (such as cleaning data |
190 | caches). | 203 | caches). |
191 | 204 | ||
192 | Next state: CPU_DOWN | 205 | Next state: |
193 | Conditions: local CPU teardown complete | 206 | CPU_DOWN |
194 | Trigger events: (spontaneous) | 207 | Conditions: |
208 | local CPU teardown complete | ||
209 | Trigger events: | ||
210 | (spontaneous) | ||
195 | 211 | ||
196 | 212 | ||
197 | Cluster state | 213 | Cluster state |
@@ -212,20 +228,20 @@ independently of the CPU which is tearing down the cluster. For this | |||
212 | reason, the cluster state is split into two parts: | 228 | reason, the cluster state is split into two parts: |
213 | 229 | ||
214 | "cluster" state: The global state of the cluster; or the state | 230 | "cluster" state: The global state of the cluster; or the state |
215 | on the outbound side: | 231 | on the outbound side: |
216 | 232 | ||
217 | CLUSTER_DOWN | 233 | - CLUSTER_DOWN |
218 | CLUSTER_UP | 234 | - CLUSTER_UP |
219 | CLUSTER_GOING_DOWN | 235 | - CLUSTER_GOING_DOWN |
220 | 236 | ||
221 | "inbound" state: The state of the cluster on the inbound side. | 237 | "inbound" state: The state of the cluster on the inbound side. |
222 | 238 | ||
223 | INBOUND_NOT_COMING_UP | 239 | - INBOUND_NOT_COMING_UP |
224 | INBOUND_COMING_UP | 240 | - INBOUND_COMING_UP |
225 | 241 | ||
226 | 242 | ||
227 | The different pairings of these states results in six possible | 243 | The different pairings of these states results in six possible |
228 | states for the cluster as a whole: | 244 | states for the cluster as a whole:: |
229 | 245 | ||
230 | CLUSTER_UP | 246 | CLUSTER_UP |
231 | +==========> INBOUND_NOT_COMING_UP -------------+ | 247 | +==========> INBOUND_NOT_COMING_UP -------------+ |
@@ -284,11 +300,12 @@ reason, the cluster state is split into two parts: | |||
284 | 300 | ||
285 | 301 | ||
286 | CLUSTER_DOWN/INBOUND_NOT_COMING_UP: | 302 | CLUSTER_DOWN/INBOUND_NOT_COMING_UP: |
303 | Next state: | ||
304 | CLUSTER_DOWN/INBOUND_COMING_UP (inbound) | ||
305 | Conditions: | ||
306 | none | ||
287 | 307 | ||
288 | Next state: CLUSTER_DOWN/INBOUND_COMING_UP (inbound) | ||
289 | Conditions: none | ||
290 | Trigger events: | 308 | Trigger events: |
291 | |||
292 | a) an explicit hardware power-up operation, resulting | 309 | a) an explicit hardware power-up operation, resulting |
293 | from a policy decision on another CPU; | 310 | from a policy decision on another CPU; |
294 | 311 | ||
@@ -306,9 +323,12 @@ CLUSTER_DOWN/INBOUND_COMING_UP: | |||
306 | setup to enable other CPUs in the cluster to enter coherency | 323 | setup to enable other CPUs in the cluster to enter coherency |
307 | safely. | 324 | safely. |
308 | 325 | ||
309 | Next state: CLUSTER_UP/INBOUND_COMING_UP (inbound) | 326 | Next state: |
310 | Conditions: cluster-level setup and hardware coherency complete | 327 | CLUSTER_UP/INBOUND_COMING_UP (inbound) |
311 | Trigger events: (spontaneous) | 328 | Conditions: |
329 | cluster-level setup and hardware coherency complete | ||
330 | Trigger events: | ||
331 | (spontaneous) | ||
312 | 332 | ||
313 | 333 | ||
314 | CLUSTER_UP/INBOUND_COMING_UP: | 334 | CLUSTER_UP/INBOUND_COMING_UP: |
@@ -321,9 +341,12 @@ CLUSTER_UP/INBOUND_COMING_UP: | |||
321 | CLUSTER_UP/INBOUND_NOT_COMING_UP. All other CPUs on the cluster | 341 | CLUSTER_UP/INBOUND_NOT_COMING_UP. All other CPUs on the cluster |
322 | should consider treat these two states as equivalent. | 342 | should consider treat these two states as equivalent. |
323 | 343 | ||
324 | Next state: CLUSTER_UP/INBOUND_NOT_COMING_UP (inbound) | 344 | Next state: |
325 | Conditions: none | 345 | CLUSTER_UP/INBOUND_NOT_COMING_UP (inbound) |
326 | Trigger events: (spontaneous) | 346 | Conditions: |
347 | none | ||
348 | Trigger events: | ||
349 | (spontaneous) | ||
327 | 350 | ||
328 | 351 | ||
329 | CLUSTER_UP/INBOUND_NOT_COMING_UP: | 352 | CLUSTER_UP/INBOUND_NOT_COMING_UP: |
@@ -335,9 +358,12 @@ CLUSTER_UP/INBOUND_NOT_COMING_UP: | |||
335 | The cluster will remain in this state until a policy decision is | 358 | The cluster will remain in this state until a policy decision is |
336 | made to power the cluster down. | 359 | made to power the cluster down. |
337 | 360 | ||
338 | Next state: CLUSTER_GOING_DOWN/INBOUND_NOT_COMING_UP (outbound) | 361 | Next state: |
339 | Conditions: none | 362 | CLUSTER_GOING_DOWN/INBOUND_NOT_COMING_UP (outbound) |
340 | Trigger events: policy decision to power down the cluster | 363 | Conditions: |
364 | none | ||
365 | Trigger events: | ||
366 | policy decision to power down the cluster | ||
341 | 367 | ||
342 | 368 | ||
343 | CLUSTER_GOING_DOWN/INBOUND_NOT_COMING_UP: | 369 | CLUSTER_GOING_DOWN/INBOUND_NOT_COMING_UP: |
@@ -359,13 +385,16 @@ CLUSTER_GOING_DOWN/INBOUND_NOT_COMING_UP: | |||
359 | Next states: | 385 | Next states: |
360 | 386 | ||
361 | CLUSTER_DOWN/INBOUND_NOT_COMING_UP (outbound) | 387 | CLUSTER_DOWN/INBOUND_NOT_COMING_UP (outbound) |
362 | Conditions: cluster torn down and ready to power off | 388 | Conditions: |
363 | Trigger events: (spontaneous) | 389 | cluster torn down and ready to power off |
390 | Trigger events: | ||
391 | (spontaneous) | ||
364 | 392 | ||
365 | CLUSTER_GOING_DOWN/INBOUND_COMING_UP (inbound) | 393 | CLUSTER_GOING_DOWN/INBOUND_COMING_UP (inbound) |
366 | Conditions: none | 394 | Conditions: |
367 | Trigger events: | 395 | none |
368 | 396 | ||
397 | Trigger events: | ||
369 | a) an explicit hardware power-up operation, | 398 | a) an explicit hardware power-up operation, |
370 | resulting from a policy decision on another | 399 | resulting from a policy decision on another |
371 | CPU; | 400 | CPU; |
@@ -396,13 +425,19 @@ CLUSTER_GOING_DOWN/INBOUND_COMING_UP: | |||
396 | Next states: | 425 | Next states: |
397 | 426 | ||
398 | CLUSTER_UP/INBOUND_COMING_UP (outbound) | 427 | CLUSTER_UP/INBOUND_COMING_UP (outbound) |
399 | Conditions: cluster-level setup and hardware | 428 | Conditions: |
429 | cluster-level setup and hardware | ||
400 | coherency complete | 430 | coherency complete |
401 | Trigger events: (spontaneous) | 431 | |
432 | Trigger events: | ||
433 | (spontaneous) | ||
402 | 434 | ||
403 | CLUSTER_DOWN/INBOUND_COMING_UP (outbound) | 435 | CLUSTER_DOWN/INBOUND_COMING_UP (outbound) |
404 | Conditions: cluster torn down and ready to power off | 436 | Conditions: |
405 | Trigger events: (spontaneous) | 437 | cluster torn down and ready to power off |
438 | |||
439 | Trigger events: | ||
440 | (spontaneous) | ||
406 | 441 | ||
407 | 442 | ||
408 | Last man and First man selection | 443 | Last man and First man selection |
@@ -452,30 +487,30 @@ Implementation: | |||
452 | arch/arm/common/mcpm_entry.c (everything else): | 487 | arch/arm/common/mcpm_entry.c (everything else): |
453 | 488 | ||
454 | __mcpm_cpu_going_down() signals the transition of a CPU to the | 489 | __mcpm_cpu_going_down() signals the transition of a CPU to the |
455 | CPU_GOING_DOWN state. | 490 | CPU_GOING_DOWN state. |
456 | 491 | ||
457 | __mcpm_cpu_down() signals the transition of a CPU to the CPU_DOWN | 492 | __mcpm_cpu_down() signals the transition of a CPU to the CPU_DOWN |
458 | state. | 493 | state. |
459 | 494 | ||
460 | A CPU transitions to CPU_COMING_UP and then to CPU_UP via the | 495 | A CPU transitions to CPU_COMING_UP and then to CPU_UP via the |
461 | low-level power-up code in mcpm_head.S. This could | 496 | low-level power-up code in mcpm_head.S. This could |
462 | involve CPU-specific setup code, but in the current | 497 | involve CPU-specific setup code, but in the current |
463 | implementation it does not. | 498 | implementation it does not. |
464 | 499 | ||
465 | __mcpm_outbound_enter_critical() and __mcpm_outbound_leave_critical() | 500 | __mcpm_outbound_enter_critical() and __mcpm_outbound_leave_critical() |
466 | handle transitions from CLUSTER_UP to CLUSTER_GOING_DOWN | 501 | handle transitions from CLUSTER_UP to CLUSTER_GOING_DOWN |
467 | and from there to CLUSTER_DOWN or back to CLUSTER_UP (in | 502 | and from there to CLUSTER_DOWN or back to CLUSTER_UP (in |
468 | the case of an aborted cluster power-down). | 503 | the case of an aborted cluster power-down). |
469 | 504 | ||
470 | These functions are more complex than the __mcpm_cpu_*() | 505 | These functions are more complex than the __mcpm_cpu_*() |
471 | functions due to the extra inter-CPU coordination which | 506 | functions due to the extra inter-CPU coordination which |
472 | is needed for safe transitions at the cluster level. | 507 | is needed for safe transitions at the cluster level. |
473 | 508 | ||
474 | A cluster transitions from CLUSTER_DOWN back to CLUSTER_UP via | 509 | A cluster transitions from CLUSTER_DOWN back to CLUSTER_UP via |
475 | the low-level power-up code in mcpm_head.S. This | 510 | the low-level power-up code in mcpm_head.S. This |
476 | typically involves platform-specific setup code, | 511 | typically involves platform-specific setup code, |
477 | provided by the platform-specific power_up_setup | 512 | provided by the platform-specific power_up_setup |
478 | function registered via mcpm_sync_init. | 513 | function registered via mcpm_sync_init. |
479 | 514 | ||
480 | Deep topologies: | 515 | Deep topologies: |
481 | 516 | ||
diff --git a/Documentation/arm/firmware.txt b/Documentation/arm/firmware.rst index 7f175dbb427e..efd844baec1d 100644 --- a/Documentation/arm/firmware.txt +++ b/Documentation/arm/firmware.rst | |||
@@ -1,5 +1,7 @@ | |||
1 | Interface for registering and calling firmware-specific operations for ARM. | 1 | ========================================================================== |
2 | ---- | 2 | Interface for registering and calling firmware-specific operations for ARM |
3 | ========================================================================== | ||
4 | |||
3 | Written by Tomasz Figa <t.figa@samsung.com> | 5 | Written by Tomasz Figa <t.figa@samsung.com> |
4 | 6 | ||
5 | Some boards are running with secure firmware running in TrustZone secure | 7 | Some boards are running with secure firmware running in TrustZone secure |
@@ -9,7 +11,7 @@ operations and call them when needed. | |||
9 | 11 | ||
10 | Firmware operations can be specified by filling in a struct firmware_ops | 12 | Firmware operations can be specified by filling in a struct firmware_ops |
11 | with appropriate callbacks and then registering it with register_firmware_ops() | 13 | with appropriate callbacks and then registering it with register_firmware_ops() |
12 | function. | 14 | function:: |
13 | 15 | ||
14 | void register_firmware_ops(const struct firmware_ops *ops) | 16 | void register_firmware_ops(const struct firmware_ops *ops) |
15 | 17 | ||
@@ -19,7 +21,7 @@ and its members can be found in arch/arm/include/asm/firmware.h header. | |||
19 | There is a default, empty set of operations provided, so there is no need to | 21 | There is a default, empty set of operations provided, so there is no need to |
20 | set anything if platform does not require firmware operations. | 22 | set anything if platform does not require firmware operations. |
21 | 23 | ||
22 | To call a firmware operation, a helper macro is provided | 24 | To call a firmware operation, a helper macro is provided:: |
23 | 25 | ||
24 | #define call_firmware_op(op, ...) \ | 26 | #define call_firmware_op(op, ...) \ |
25 | ((firmware_ops->op) ? firmware_ops->op(__VA_ARGS__) : (-ENOSYS)) | 27 | ((firmware_ops->op) ? firmware_ops->op(__VA_ARGS__) : (-ENOSYS)) |
@@ -28,7 +30,7 @@ the macro checks if the operation is provided and calls it or otherwise returns | |||
28 | -ENOSYS to signal that given operation is not available (for example, to allow | 30 | -ENOSYS to signal that given operation is not available (for example, to allow |
29 | fallback to legacy operation). | 31 | fallback to legacy operation). |
30 | 32 | ||
31 | Example of registering firmware operations: | 33 | Example of registering firmware operations:: |
32 | 34 | ||
33 | /* board file */ | 35 | /* board file */ |
34 | 36 | ||
@@ -56,7 +58,7 @@ Example of registering firmware operations: | |||
56 | register_firmware_ops(&platformX_firmware_ops); | 58 | register_firmware_ops(&platformX_firmware_ops); |
57 | } | 59 | } |
58 | 60 | ||
59 | Example of using a firmware operation: | 61 | Example of using a firmware operation:: |
60 | 62 | ||
61 | /* some platform code, e.g. SMP initialization */ | 63 | /* some platform code, e.g. SMP initialization */ |
62 | 64 | ||
diff --git a/Documentation/arm/index.rst b/Documentation/arm/index.rst new file mode 100644 index 000000000000..bd316d1a1802 --- /dev/null +++ b/Documentation/arm/index.rst | |||
@@ -0,0 +1,80 @@ | |||
1 | :orphan: | ||
2 | |||
3 | ================ | ||
4 | ARM Architecture | ||
5 | ================ | ||
6 | |||
7 | .. toctree:: | ||
8 | :maxdepth: 1 | ||
9 | |||
10 | arm | ||
11 | booting | ||
12 | cluster-pm-race-avoidance | ||
13 | firmware | ||
14 | interrupts | ||
15 | kernel_mode_neon | ||
16 | kernel_user_helpers | ||
17 | memory | ||
18 | mem_alignment | ||
19 | tcm | ||
20 | setup | ||
21 | swp_emulation | ||
22 | uefi | ||
23 | vlocks | ||
24 | porting | ||
25 | |||
26 | SoC-specific documents | ||
27 | ====================== | ||
28 | |||
29 | .. toctree:: | ||
30 | :maxdepth: 1 | ||
31 | |||
32 | ixp4xx | ||
33 | |||
34 | marvel | ||
35 | microchip | ||
36 | |||
37 | netwinder | ||
38 | nwfpe/index | ||
39 | |||
40 | keystone/overview | ||
41 | keystone/knav-qmss | ||
42 | |||
43 | omap/index | ||
44 | |||
45 | pxa/mfp | ||
46 | |||
47 | |||
48 | sa1100/index | ||
49 | |||
50 | stm32/stm32f746-overview | ||
51 | stm32/overview | ||
52 | stm32/stm32h743-overview | ||
53 | stm32/stm32f769-overview | ||
54 | stm32/stm32f429-overview | ||
55 | stm32/stm32mp157-overview | ||
56 | |||
57 | sunxi | ||
58 | |||
59 | samsung/index | ||
60 | samsung-s3c24xx/index | ||
61 | |||
62 | sunxi/clocks | ||
63 | |||
64 | spear/overview | ||
65 | |||
66 | sti/stih416-overview | ||
67 | sti/stih407-overview | ||
68 | sti/stih418-overview | ||
69 | sti/overview | ||
70 | sti/stih415-overview | ||
71 | |||
72 | vfp/release-notes | ||
73 | |||
74 | |||
75 | .. only:: subproject and html | ||
76 | |||
77 | Indices | ||
78 | ======= | ||
79 | |||
80 | * :ref:`genindex` | ||
diff --git a/Documentation/arm/Interrupts b/Documentation/arm/interrupts.rst index f09ab1b90ef1..2ae70e0e9732 100644 --- a/Documentation/arm/Interrupts +++ b/Documentation/arm/interrupts.rst | |||
@@ -1,8 +1,10 @@ | |||
1 | 2.5.2-rmk5 | 1 | ========== |
2 | ---------- | 2 | Interrupts |
3 | ========== | ||
3 | 4 | ||
4 | This is the first kernel that contains a major shake up of some of the | 5 | 2.5.2-rmk5: |
5 | major architecture-specific subsystems. | 6 | This is the first kernel that contains a major shake up of some of the |
7 | major architecture-specific subsystems. | ||
6 | 8 | ||
7 | Firstly, it contains some pretty major changes to the way we handle the | 9 | Firstly, it contains some pretty major changes to the way we handle the |
8 | MMU TLB. Each MMU TLB variant is now handled completely separately - | 10 | MMU TLB. Each MMU TLB variant is now handled completely separately - |
@@ -18,7 +20,7 @@ Unfortunately, this means that machine types that touch the irq_desc[] | |||
18 | array (basically all machine types) will break, and this means every | 20 | array (basically all machine types) will break, and this means every |
19 | machine type that we currently have. | 21 | machine type that we currently have. |
20 | 22 | ||
21 | Lets take an example. On the Assabet with Neponset, we have: | 23 | Lets take an example. On the Assabet with Neponset, we have:: |
22 | 24 | ||
23 | GPIO25 IRR:2 | 25 | GPIO25 IRR:2 |
24 | SA1100 ------------> Neponset -----------> SA1111 | 26 | SA1100 ------------> Neponset -----------> SA1111 |
@@ -48,42 +50,47 @@ the irqdesc array). This doesn't have to be a real "IC"; indeed the | |||
48 | SA11x0 IRQs are handled by two separate "chip" structures, one for | 50 | SA11x0 IRQs are handled by two separate "chip" structures, one for |
49 | GPIO0-10, and another for all the rest. It is just a container for | 51 | GPIO0-10, and another for all the rest. It is just a container for |
50 | the various operations (maybe this'll change to a better name). | 52 | the various operations (maybe this'll change to a better name). |
51 | This structure has the following operations: | 53 | This structure has the following operations:: |
52 | 54 | ||
53 | struct irqchip { | 55 | struct irqchip { |
54 | /* | 56 | /* |
55 | * Acknowledge the IRQ. | 57 | * Acknowledge the IRQ. |
56 | * If this is a level-based IRQ, then it is expected to mask the IRQ | 58 | * If this is a level-based IRQ, then it is expected to mask the IRQ |
57 | * as well. | 59 | * as well. |
58 | */ | 60 | */ |
59 | void (*ack)(unsigned int irq); | 61 | void (*ack)(unsigned int irq); |
60 | /* | 62 | /* |
61 | * Mask the IRQ in hardware. | 63 | * Mask the IRQ in hardware. |
62 | */ | 64 | */ |
63 | void (*mask)(unsigned int irq); | 65 | void (*mask)(unsigned int irq); |
64 | /* | 66 | /* |
65 | * Unmask the IRQ in hardware. | 67 | * Unmask the IRQ in hardware. |
66 | */ | 68 | */ |
67 | void (*unmask)(unsigned int irq); | 69 | void (*unmask)(unsigned int irq); |
68 | /* | 70 | /* |
69 | * Re-run the IRQ | 71 | * Re-run the IRQ |
70 | */ | 72 | */ |
71 | void (*rerun)(unsigned int irq); | 73 | void (*rerun)(unsigned int irq); |
72 | /* | 74 | /* |
73 | * Set the type of the IRQ. | 75 | * Set the type of the IRQ. |
74 | */ | 76 | */ |
75 | int (*type)(unsigned int irq, unsigned int, type); | 77 | int (*type)(unsigned int irq, unsigned int, type); |
76 | }; | 78 | }; |
77 | 79 | ||
78 | ack - required. May be the same function as mask for IRQs | 80 | ack |
81 | - required. May be the same function as mask for IRQs | ||
79 | handled by do_level_IRQ. | 82 | handled by do_level_IRQ. |
80 | mask - required. | 83 | mask |
81 | unmask - required. | 84 | - required. |
82 | rerun - optional. Not required if you're using do_level_IRQ for all | 85 | unmask |
86 | - required. | ||
87 | rerun | ||
88 | - optional. Not required if you're using do_level_IRQ for all | ||
83 | IRQs that use this 'irqchip'. Generally expected to re-trigger | 89 | IRQs that use this 'irqchip'. Generally expected to re-trigger |
84 | the hardware IRQ if possible. If not, may call the handler | 90 | the hardware IRQ if possible. If not, may call the handler |
85 | directly. | 91 | directly. |
86 | type - optional. If you don't support changing the type of an IRQ, | 92 | type |
93 | - optional. If you don't support changing the type of an IRQ, | ||
87 | it should be null so people can detect if they are unable to | 94 | it should be null so people can detect if they are unable to |
88 | set the IRQ type. | 95 | set the IRQ type. |
89 | 96 | ||
@@ -109,6 +116,7 @@ manipulation, nor state tracking. This is useful for things like the | |||
109 | SMC9196 and USAR above. | 116 | SMC9196 and USAR above. |
110 | 117 | ||
111 | So, what's changed? | 118 | So, what's changed? |
119 | =================== | ||
112 | 120 | ||
113 | 1. Machine implementations must not write to the irqdesc array. | 121 | 1. Machine implementations must not write to the irqdesc array. |
114 | 122 | ||
@@ -118,24 +126,19 @@ So, what's changed? | |||
118 | absolutely necessary. | 126 | absolutely necessary. |
119 | 127 | ||
120 | set_irq_chip(irq,chip) | 128 | set_irq_chip(irq,chip) |
121 | |||
122 | Set the mask/unmask methods for handling this IRQ | 129 | Set the mask/unmask methods for handling this IRQ |
123 | 130 | ||
124 | set_irq_handler(irq,handler) | 131 | set_irq_handler(irq,handler) |
125 | |||
126 | Set the handler for this IRQ (level, edge, simple) | 132 | Set the handler for this IRQ (level, edge, simple) |
127 | 133 | ||
128 | set_irq_chained_handler(irq,handler) | 134 | set_irq_chained_handler(irq,handler) |
129 | |||
130 | Set a "chained" handler for this IRQ - automatically | 135 | Set a "chained" handler for this IRQ - automatically |
131 | enables this IRQ (eg, Neponset and SA1111 handlers). | 136 | enables this IRQ (eg, Neponset and SA1111 handlers). |
132 | 137 | ||
133 | set_irq_flags(irq,flags) | 138 | set_irq_flags(irq,flags) |
134 | |||
135 | Set the valid/probe/noautoenable flags. | 139 | Set the valid/probe/noautoenable flags. |
136 | 140 | ||
137 | set_irq_type(irq,type) | 141 | set_irq_type(irq,type) |
138 | |||
139 | Set active the IRQ edge(s)/level. This replaces the | 142 | Set active the IRQ edge(s)/level. This replaces the |
140 | SA1111 INTPOL manipulation, and the set_GPIO_IRQ_edge() | 143 | SA1111 INTPOL manipulation, and the set_GPIO_IRQ_edge() |
141 | function. Type should be one of IRQ_TYPE_xxx defined in | 144 | function. Type should be one of IRQ_TYPE_xxx defined in |
@@ -158,10 +161,9 @@ So, what's changed? | |||
158 | be re-checked for pending events. (see the Neponset IRQ handler for | 161 | be re-checked for pending events. (see the Neponset IRQ handler for |
159 | details). | 162 | details). |
160 | 163 | ||
161 | 7. fixup_irq() is gone, as is arch/arm/mach-*/include/mach/irq.h | 164 | 7. fixup_irq() is gone, as is `arch/arm/mach-*/include/mach/irq.h` |
162 | 165 | ||
163 | Please note that this will not solve all problems - some of them are | 166 | Please note that this will not solve all problems - some of them are |
164 | hardware based. Mixing level-based and edge-based IRQs on the same | 167 | hardware based. Mixing level-based and edge-based IRQs on the same |
165 | parent signal (eg neponset) is one such area where a software based | 168 | parent signal (eg neponset) is one such area where a software based |
166 | solution can't provide the full answer to low IRQ latency. | 169 | solution can't provide the full answer to low IRQ latency. |
167 | |||
diff --git a/Documentation/arm/IXP4xx b/Documentation/arm/ixp4xx.rst index e48b74de6ac0..a57235616294 100644 --- a/Documentation/arm/IXP4xx +++ b/Documentation/arm/ixp4xx.rst | |||
@@ -1,6 +1,6 @@ | |||
1 | 1 | =========================================================== | |
2 | ------------------------------------------------------------------------- | ||
3 | Release Notes for Linux on Intel's IXP4xx Network Processor | 2 | Release Notes for Linux on Intel's IXP4xx Network Processor |
3 | =========================================================== | ||
4 | 4 | ||
5 | Maintained by Deepak Saxena <dsaxena@plexity.net> | 5 | Maintained by Deepak Saxena <dsaxena@plexity.net> |
6 | ------------------------------------------------------------------------- | 6 | ------------------------------------------------------------------------- |
@@ -8,7 +8,7 @@ Maintained by Deepak Saxena <dsaxena@plexity.net> | |||
8 | 1. Overview | 8 | 1. Overview |
9 | 9 | ||
10 | Intel's IXP4xx network processor is a highly integrated SOC that | 10 | Intel's IXP4xx network processor is a highly integrated SOC that |
11 | is targeted for network applications, though it has become popular | 11 | is targeted for network applications, though it has become popular |
12 | in industrial control and other areas due to low cost and power | 12 | in industrial control and other areas due to low cost and power |
13 | consumption. The IXP4xx family currently consists of several processors | 13 | consumption. The IXP4xx family currently consists of several processors |
14 | that support different network offload functions such as encryption, | 14 | that support different network offload functions such as encryption, |
@@ -20,7 +20,7 @@ For more information on the various versions of the CPU, see: | |||
20 | 20 | ||
21 | http://developer.intel.com/design/network/products/npfamily/ixp4xx.htm | 21 | http://developer.intel.com/design/network/products/npfamily/ixp4xx.htm |
22 | 22 | ||
23 | Intel also made the IXCP1100 CPU for sometime which is an IXP4xx | 23 | Intel also made the IXCP1100 CPU for sometime which is an IXP4xx |
24 | stripped of much of the network intelligence. | 24 | stripped of much of the network intelligence. |
25 | 25 | ||
26 | 2. Linux Support | 26 | 2. Linux Support |
@@ -31,7 +31,7 @@ Linux currently supports the following features on the IXP4xx chips: | |||
31 | - PCI interface | 31 | - PCI interface |
32 | - Flash access (MTD/JFFS) | 32 | - Flash access (MTD/JFFS) |
33 | - I2C through GPIO on IXP42x | 33 | - I2C through GPIO on IXP42x |
34 | - GPIO for input/output/interrupts | 34 | - GPIO for input/output/interrupts |
35 | See arch/arm/mach-ixp4xx/include/mach/platform.h for access functions. | 35 | See arch/arm/mach-ixp4xx/include/mach/platform.h for access functions. |
36 | - Timers (watchdog, OS) | 36 | - Timers (watchdog, OS) |
37 | 37 | ||
@@ -45,7 +45,7 @@ require the use of Intel's proprietary CSR software: | |||
45 | If you need to use any of the above, you need to download Intel's | 45 | If you need to use any of the above, you need to download Intel's |
46 | software from: | 46 | software from: |
47 | 47 | ||
48 | http://developer.intel.com/design/network/products/npfamily/ixp425.htm | 48 | http://developer.intel.com/design/network/products/npfamily/ixp425.htm |
49 | 49 | ||
50 | DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPRIETARY | 50 | DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPRIETARY |
51 | SOFTWARE. | 51 | SOFTWARE. |
@@ -53,14 +53,14 @@ SOFTWARE. | |||
53 | There are several websites that provide directions/pointers on using | 53 | There are several websites that provide directions/pointers on using |
54 | Intel's software: | 54 | Intel's software: |
55 | 55 | ||
56 | http://sourceforge.net/projects/ixp4xx-osdg/ | 56 | - http://sourceforge.net/projects/ixp4xx-osdg/ |
57 | Open Source Developer's Guide for using uClinux and the Intel libraries | 57 | Open Source Developer's Guide for using uClinux and the Intel libraries |
58 | 58 | ||
59 | http://gatewaymaker.sourceforge.net/ | 59 | - http://gatewaymaker.sourceforge.net/ |
60 | Simple one page summary of building a gateway using an IXP425 and Linux | 60 | Simple one page summary of building a gateway using an IXP425 and Linux |
61 | 61 | ||
62 | http://ixp425.sourceforge.net/ | 62 | - http://ixp425.sourceforge.net/ |
63 | ATM device driver for IXP425 that relies on Intel's libraries | 63 | ATM device driver for IXP425 that relies on Intel's libraries |
64 | 64 | ||
65 | 3. Known Issues/Limitations | 65 | 3. Known Issues/Limitations |
66 | 66 | ||
@@ -70,7 +70,7 @@ The IXP4xx family allows for up to 256MB of memory but the PCI interface | |||
70 | can only expose 64MB of that memory to the PCI bus. This means that if | 70 | can only expose 64MB of that memory to the PCI bus. This means that if |
71 | you are running with > 64MB, all PCI buffers outside of the accessible | 71 | you are running with > 64MB, all PCI buffers outside of the accessible |
72 | range will be bounced using the routines in arch/arm/common/dmabounce.c. | 72 | range will be bounced using the routines in arch/arm/common/dmabounce.c. |
73 | 73 | ||
74 | 3b. Limited outbound PCI window | 74 | 3b. Limited outbound PCI window |
75 | 75 | ||
76 | IXP4xx provides two methods of accessing PCI memory space: | 76 | IXP4xx provides two methods of accessing PCI memory space: |
@@ -79,15 +79,15 @@ IXP4xx provides two methods of accessing PCI memory space: | |||
79 | To access PCI via this space, we simply ioremap() the BAR | 79 | To access PCI via this space, we simply ioremap() the BAR |
80 | into the kernel and we can use the standard read[bwl]/write[bwl] | 80 | into the kernel and we can use the standard read[bwl]/write[bwl] |
81 | macros. This is the preffered method due to speed but it | 81 | macros. This is the preffered method due to speed but it |
82 | limits the system to just 64MB of PCI memory. This can be | 82 | limits the system to just 64MB of PCI memory. This can be |
83 | problamatic if using video cards and other memory-heavy devices. | 83 | problamatic if using video cards and other memory-heavy devices. |
84 | 84 | ||
85 | 2) If > 64MB of memory space is required, the IXP4xx can be | 85 | 2) If > 64MB of memory space is required, the IXP4xx can be |
86 | configured to use indirect registers to access PCI This allows | 86 | configured to use indirect registers to access PCI This allows |
87 | for up to 128MB (0x48000000 to 0x4fffffff) of memory on the bus. | 87 | for up to 128MB (0x48000000 to 0x4fffffff) of memory on the bus. |
88 | The disadvantage of this is that every PCI access requires | 88 | The disadvantage of this is that every PCI access requires |
89 | three local register accesses plus a spinlock, but in some | 89 | three local register accesses plus a spinlock, but in some |
90 | cases the performance hit is acceptable. In addition, you cannot | 90 | cases the performance hit is acceptable. In addition, you cannot |
91 | mmap() PCI devices in this case due to the indirect nature | 91 | mmap() PCI devices in this case due to the indirect nature |
92 | of the PCI window. | 92 | of the PCI window. |
93 | 93 | ||
@@ -96,14 +96,14 @@ you need more PCI memory, enable the IXP4XX_INDIRECT_PCI config option. | |||
96 | 96 | ||
97 | 3c. GPIO as Interrupts | 97 | 3c. GPIO as Interrupts |
98 | 98 | ||
99 | Currently the code only handles level-sensitive GPIO interrupts | 99 | Currently the code only handles level-sensitive GPIO interrupts |
100 | 100 | ||
101 | 4. Supported platforms | 101 | 4. Supported platforms |
102 | 102 | ||
103 | ADI Engineering Coyote Gateway Reference Platform | 103 | ADI Engineering Coyote Gateway Reference Platform |
104 | http://www.adiengineering.com/productsCoyote.html | 104 | http://www.adiengineering.com/productsCoyote.html |
105 | 105 | ||
106 | The ADI Coyote platform is reference design for those building | 106 | The ADI Coyote platform is reference design for those building |
107 | small residential/office gateways. One NPE is connected to a 10/100 | 107 | small residential/office gateways. One NPE is connected to a 10/100 |
108 | interface, one to 4-port 10/100 switch, and the third to and ADSL | 108 | interface, one to 4-port 10/100 switch, and the third to and ADSL |
109 | interface. In addition, it also supports to POTs interfaces connected | 109 | interface. In addition, it also supports to POTs interfaces connected |
@@ -119,9 +119,9 @@ http://www.gateworks.com/support/overview.php | |||
119 | the expansion bus. | 119 | the expansion bus. |
120 | 120 | ||
121 | Intel IXDP425 Development Platform | 121 | Intel IXDP425 Development Platform |
122 | http://www.intel.com/design/network/products/npfamily/ixdpg425.htm | 122 | http://www.intel.com/design/network/products/npfamily/ixdpg425.htm |
123 | 123 | ||
124 | This is Intel's standard reference platform for the IXDP425 and is | 124 | This is Intel's standard reference platform for the IXDP425 and is |
125 | also known as the Richfield board. It contains 4 PCI slots, 16MB | 125 | also known as the Richfield board. It contains 4 PCI slots, 16MB |
126 | of flash, two 10/100 ports and one ADSL port. | 126 | of flash, two 10/100 ports and one ADSL port. |
127 | 127 | ||
@@ -161,11 +161,12 @@ The IXP4xx work has been funded by Intel Corp. and MontaVista Software, Inc. | |||
161 | 161 | ||
162 | The following people have contributed patches/comments/etc: | 162 | The following people have contributed patches/comments/etc: |
163 | 163 | ||
164 | Lennerty Buytenhek | 164 | - Lennerty Buytenhek |
165 | Lutz Jaenicke | 165 | - Lutz Jaenicke |
166 | Justin Mayfield | 166 | - Justin Mayfield |
167 | Robert E. Ranslam | 167 | - Robert E. Ranslam |
168 | [I know I've forgotten others, please email me to be added] | 168 | |
169 | [I know I've forgotten others, please email me to be added] | ||
169 | 170 | ||
170 | ------------------------------------------------------------------------- | 171 | ------------------------------------------------------------------------- |
171 | 172 | ||
diff --git a/Documentation/arm/kernel_mode_neon.txt b/Documentation/arm/kernel_mode_neon.rst index b9e060c5b61e..9bfb71a2a9b9 100644 --- a/Documentation/arm/kernel_mode_neon.txt +++ b/Documentation/arm/kernel_mode_neon.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ================ | ||
1 | Kernel mode NEON | 2 | Kernel mode NEON |
2 | ================ | 3 | ================ |
3 | 4 | ||
@@ -86,6 +87,7 @@ instructions appearing in unexpected places if no special care is taken. | |||
86 | 87 | ||
87 | Therefore, the recommended and only supported way of using NEON/VFP in the | 88 | Therefore, the recommended and only supported way of using NEON/VFP in the |
88 | kernel is by adhering to the following rules: | 89 | kernel is by adhering to the following rules: |
90 | |||
89 | * isolate the NEON code in a separate compilation unit and compile it with | 91 | * isolate the NEON code in a separate compilation unit and compile it with |
90 | '-march=armv7-a -mfpu=neon -mfloat-abi=softfp'; | 92 | '-march=armv7-a -mfpu=neon -mfloat-abi=softfp'; |
91 | * issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls | 93 | * issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls |
@@ -115,6 +117,7 @@ NEON intrinsics | |||
115 | NEON intrinsics are also supported. However, as code using NEON intrinsics | 117 | NEON intrinsics are also supported. However, as code using NEON intrinsics |
116 | relies on the GCC header <arm_neon.h>, (which #includes <stdint.h>), you should | 118 | relies on the GCC header <arm_neon.h>, (which #includes <stdint.h>), you should |
117 | observe the following in addition to the rules above: | 119 | observe the following in addition to the rules above: |
120 | |||
118 | * Compile the unit containing the NEON intrinsics with '-ffreestanding' so GCC | 121 | * Compile the unit containing the NEON intrinsics with '-ffreestanding' so GCC |
119 | uses its builtin version of <stdint.h> (this is a C99 header which the kernel | 122 | uses its builtin version of <stdint.h> (this is a C99 header which the kernel |
120 | does not supply); | 123 | does not supply); |
diff --git a/Documentation/arm/kernel_user_helpers.txt b/Documentation/arm/kernel_user_helpers.rst index 5673594717cf..eb6f3d916622 100644 --- a/Documentation/arm/kernel_user_helpers.txt +++ b/Documentation/arm/kernel_user_helpers.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ============================ | ||
1 | Kernel-provided User Helpers | 2 | Kernel-provided User Helpers |
2 | ============================ | 3 | ============================ |
3 | 4 | ||
@@ -43,7 +44,7 @@ kuser_helper_version | |||
43 | 44 | ||
44 | Location: 0xffff0ffc | 45 | Location: 0xffff0ffc |
45 | 46 | ||
46 | Reference declaration: | 47 | Reference declaration:: |
47 | 48 | ||
48 | extern int32_t __kuser_helper_version; | 49 | extern int32_t __kuser_helper_version; |
49 | 50 | ||
@@ -53,17 +54,17 @@ Definition: | |||
53 | running kernel. User space may read this to determine the availability | 54 | running kernel. User space may read this to determine the availability |
54 | of a particular helper. | 55 | of a particular helper. |
55 | 56 | ||
56 | Usage example: | 57 | Usage example:: |
57 | 58 | ||
58 | #define __kuser_helper_version (*(int32_t *)0xffff0ffc) | 59 | #define __kuser_helper_version (*(int32_t *)0xffff0ffc) |
59 | 60 | ||
60 | void check_kuser_version(void) | 61 | void check_kuser_version(void) |
61 | { | 62 | { |
62 | if (__kuser_helper_version < 2) { | 63 | if (__kuser_helper_version < 2) { |
63 | fprintf(stderr, "can't do atomic operations, kernel too old\n"); | 64 | fprintf(stderr, "can't do atomic operations, kernel too old\n"); |
64 | abort(); | 65 | abort(); |
65 | } | 66 | } |
66 | } | 67 | } |
67 | 68 | ||
68 | Notes: | 69 | Notes: |
69 | 70 | ||
@@ -77,7 +78,7 @@ kuser_get_tls | |||
77 | 78 | ||
78 | Location: 0xffff0fe0 | 79 | Location: 0xffff0fe0 |
79 | 80 | ||
80 | Reference prototype: | 81 | Reference prototype:: |
81 | 82 | ||
82 | void * __kuser_get_tls(void); | 83 | void * __kuser_get_tls(void); |
83 | 84 | ||
@@ -97,16 +98,16 @@ Definition: | |||
97 | 98 | ||
98 | Get the TLS value as previously set via the __ARM_NR_set_tls syscall. | 99 | Get the TLS value as previously set via the __ARM_NR_set_tls syscall. |
99 | 100 | ||
100 | Usage example: | 101 | Usage example:: |
101 | 102 | ||
102 | typedef void * (__kuser_get_tls_t)(void); | 103 | typedef void * (__kuser_get_tls_t)(void); |
103 | #define __kuser_get_tls (*(__kuser_get_tls_t *)0xffff0fe0) | 104 | #define __kuser_get_tls (*(__kuser_get_tls_t *)0xffff0fe0) |
104 | 105 | ||
105 | void foo() | 106 | void foo() |
106 | { | 107 | { |
107 | void *tls = __kuser_get_tls(); | 108 | void *tls = __kuser_get_tls(); |
108 | printf("TLS = %p\n", tls); | 109 | printf("TLS = %p\n", tls); |
109 | } | 110 | } |
110 | 111 | ||
111 | Notes: | 112 | Notes: |
112 | 113 | ||
@@ -117,7 +118,7 @@ kuser_cmpxchg | |||
117 | 118 | ||
118 | Location: 0xffff0fc0 | 119 | Location: 0xffff0fc0 |
119 | 120 | ||
120 | Reference prototype: | 121 | Reference prototype:: |
121 | 122 | ||
122 | int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr); | 123 | int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr); |
123 | 124 | ||
@@ -139,18 +140,18 @@ Clobbered registers: | |||
139 | 140 | ||
140 | Definition: | 141 | Definition: |
141 | 142 | ||
142 | Atomically store newval in *ptr only if *ptr is equal to oldval. | 143 | Atomically store newval in `*ptr` only if `*ptr` is equal to oldval. |
143 | Return zero if *ptr was changed or non-zero if no exchange happened. | 144 | Return zero if `*ptr` was changed or non-zero if no exchange happened. |
144 | The C flag is also set if *ptr was changed to allow for assembly | 145 | The C flag is also set if `*ptr` was changed to allow for assembly |
145 | optimization in the calling code. | 146 | optimization in the calling code. |
146 | 147 | ||
147 | Usage example: | 148 | Usage example:: |
148 | 149 | ||
149 | typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr); | 150 | typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr); |
150 | #define __kuser_cmpxchg (*(__kuser_cmpxchg_t *)0xffff0fc0) | 151 | #define __kuser_cmpxchg (*(__kuser_cmpxchg_t *)0xffff0fc0) |
151 | 152 | ||
152 | int atomic_add(volatile int *ptr, int val) | 153 | int atomic_add(volatile int *ptr, int val) |
153 | { | 154 | { |
154 | int old, new; | 155 | int old, new; |
155 | 156 | ||
156 | do { | 157 | do { |
@@ -159,7 +160,7 @@ int atomic_add(volatile int *ptr, int val) | |||
159 | } while(__kuser_cmpxchg(old, new, ptr)); | 160 | } while(__kuser_cmpxchg(old, new, ptr)); |
160 | 161 | ||
161 | return new; | 162 | return new; |
162 | } | 163 | } |
163 | 164 | ||
164 | Notes: | 165 | Notes: |
165 | 166 | ||
@@ -172,7 +173,7 @@ kuser_memory_barrier | |||
172 | 173 | ||
173 | Location: 0xffff0fa0 | 174 | Location: 0xffff0fa0 |
174 | 175 | ||
175 | Reference prototype: | 176 | Reference prototype:: |
176 | 177 | ||
177 | void __kuser_memory_barrier(void); | 178 | void __kuser_memory_barrier(void); |
178 | 179 | ||
@@ -193,10 +194,10 @@ Definition: | |||
193 | Apply any needed memory barrier to preserve consistency with data modified | 194 | Apply any needed memory barrier to preserve consistency with data modified |
194 | manually and __kuser_cmpxchg usage. | 195 | manually and __kuser_cmpxchg usage. |
195 | 196 | ||
196 | Usage example: | 197 | Usage example:: |
197 | 198 | ||
198 | typedef void (__kuser_dmb_t)(void); | 199 | typedef void (__kuser_dmb_t)(void); |
199 | #define __kuser_dmb (*(__kuser_dmb_t *)0xffff0fa0) | 200 | #define __kuser_dmb (*(__kuser_dmb_t *)0xffff0fa0) |
200 | 201 | ||
201 | Notes: | 202 | Notes: |
202 | 203 | ||
@@ -207,7 +208,7 @@ kuser_cmpxchg64 | |||
207 | 208 | ||
208 | Location: 0xffff0f60 | 209 | Location: 0xffff0f60 |
209 | 210 | ||
210 | Reference prototype: | 211 | Reference prototype:: |
211 | 212 | ||
212 | int __kuser_cmpxchg64(const int64_t *oldval, | 213 | int __kuser_cmpxchg64(const int64_t *oldval, |
213 | const int64_t *newval, | 214 | const int64_t *newval, |
@@ -231,22 +232,22 @@ Clobbered registers: | |||
231 | 232 | ||
232 | Definition: | 233 | Definition: |
233 | 234 | ||
234 | Atomically store the 64-bit value pointed by *newval in *ptr only if *ptr | 235 | Atomically store the 64-bit value pointed by `*newval` in `*ptr` only if `*ptr` |
235 | is equal to the 64-bit value pointed by *oldval. Return zero if *ptr was | 236 | is equal to the 64-bit value pointed by `*oldval`. Return zero if `*ptr` was |
236 | changed or non-zero if no exchange happened. | 237 | changed or non-zero if no exchange happened. |
237 | 238 | ||
238 | The C flag is also set if *ptr was changed to allow for assembly | 239 | The C flag is also set if `*ptr` was changed to allow for assembly |
239 | optimization in the calling code. | 240 | optimization in the calling code. |
240 | 241 | ||
241 | Usage example: | 242 | Usage example:: |
242 | 243 | ||
243 | typedef int (__kuser_cmpxchg64_t)(const int64_t *oldval, | 244 | typedef int (__kuser_cmpxchg64_t)(const int64_t *oldval, |
244 | const int64_t *newval, | 245 | const int64_t *newval, |
245 | volatile int64_t *ptr); | 246 | volatile int64_t *ptr); |
246 | #define __kuser_cmpxchg64 (*(__kuser_cmpxchg64_t *)0xffff0f60) | 247 | #define __kuser_cmpxchg64 (*(__kuser_cmpxchg64_t *)0xffff0f60) |
247 | 248 | ||
248 | int64_t atomic_add64(volatile int64_t *ptr, int64_t val) | 249 | int64_t atomic_add64(volatile int64_t *ptr, int64_t val) |
249 | { | 250 | { |
250 | int64_t old, new; | 251 | int64_t old, new; |
251 | 252 | ||
252 | do { | 253 | do { |
@@ -255,7 +256,7 @@ int64_t atomic_add64(volatile int64_t *ptr, int64_t val) | |||
255 | } while(__kuser_cmpxchg64(&old, &new, ptr)); | 256 | } while(__kuser_cmpxchg64(&old, &new, ptr)); |
256 | 257 | ||
257 | return new; | 258 | return new; |
258 | } | 259 | } |
259 | 260 | ||
260 | Notes: | 261 | Notes: |
261 | 262 | ||
diff --git a/Documentation/arm/keystone/knav-qmss.txt b/Documentation/arm/keystone/knav-qmss.rst index fcdb9fd5f53a..7f7638d80b42 100644 --- a/Documentation/arm/keystone/knav-qmss.txt +++ b/Documentation/arm/keystone/knav-qmss.rst | |||
@@ -1,4 +1,6 @@ | |||
1 | * Texas Instruments Keystone Navigator Queue Management SubSystem driver | 1 | ====================================================================== |
2 | Texas Instruments Keystone Navigator Queue Management SubSystem driver | ||
3 | ====================================================================== | ||
2 | 4 | ||
3 | Driver source code path | 5 | Driver source code path |
4 | drivers/soc/ti/knav_qmss.c | 6 | drivers/soc/ti/knav_qmss.c |
@@ -34,11 +36,13 @@ driver that interface with the accumulator PDSP. This configures | |||
34 | accumulator channels defined in DTS (example in DT documentation) to monitor | 36 | accumulator channels defined in DTS (example in DT documentation) to monitor |
35 | 1 or 32 queues per channel. More description on the firmware is available in | 37 | 1 or 32 queues per channel. More description on the firmware is available in |
36 | CPPI/QMSS Low Level Driver document (docs/CPPI_QMSS_LLD_SDS.pdf) at | 38 | CPPI/QMSS Low Level Driver document (docs/CPPI_QMSS_LLD_SDS.pdf) at |
39 | |||
37 | git://git.ti.com/keystone-rtos/qmss-lld.git | 40 | git://git.ti.com/keystone-rtos/qmss-lld.git |
38 | 41 | ||
39 | k2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin firmware supports upto 48 accumulator | 42 | k2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin firmware supports upto 48 accumulator |
40 | channels. This firmware is available under ti-keystone folder of | 43 | channels. This firmware is available under ti-keystone folder of |
41 | firmware.git at | 44 | firmware.git at |
45 | |||
42 | git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git | 46 | git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git |
43 | 47 | ||
44 | To use copy the firmware image to lib/firmware folder of the initramfs or | 48 | To use copy the firmware image to lib/firmware folder of the initramfs or |
diff --git a/Documentation/arm/keystone/Overview.txt b/Documentation/arm/keystone/overview.rst index 400c0c270d2e..cd90298c493c 100644 --- a/Documentation/arm/keystone/Overview.txt +++ b/Documentation/arm/keystone/overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | TI Keystone Linux Overview | 1 | ========================== |
2 | -------------------------- | 2 | TI Keystone Linux Overview |
3 | ========================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -9,47 +10,65 @@ for users to run Linux on Keystone based EVMs from Texas Instruments. | |||
9 | 10 | ||
10 | Following SoCs & EVMs are currently supported:- | 11 | Following SoCs & EVMs are currently supported:- |
11 | 12 | ||
12 | ------------ K2HK SoC and EVM -------------------------------------------------- | 13 | K2HK SoC and EVM |
14 | ================= | ||
13 | 15 | ||
14 | a.k.a Keystone 2 Hawking/Kepler SoC | 16 | a.k.a Keystone 2 Hawking/Kepler SoC |
15 | TCI6636K2H & TCI6636K2K: See documentation at | 17 | TCI6636K2H & TCI6636K2K: See documentation at |
18 | |||
16 | http://www.ti.com/product/tci6638k2k | 19 | http://www.ti.com/product/tci6638k2k |
17 | http://www.ti.com/product/tci6638k2h | 20 | http://www.ti.com/product/tci6638k2h |
18 | 21 | ||
19 | EVM: | 22 | EVM: |
20 | http://www.advantech.com/Support/TI-EVM/EVMK2HX_sd.aspx | 23 | http://www.advantech.com/Support/TI-EVM/EVMK2HX_sd.aspx |
21 | 24 | ||
22 | ------------ K2E SoC and EVM --------------------------------------------------- | 25 | K2E SoC and EVM |
26 | =============== | ||
23 | 27 | ||
24 | a.k.a Keystone 2 Edison SoC | 28 | a.k.a Keystone 2 Edison SoC |
25 | K2E - 66AK2E05: See documentation at | 29 | |
30 | K2E - 66AK2E05: | ||
31 | |||
32 | See documentation at | ||
33 | |||
26 | http://www.ti.com/product/66AK2E05/technicaldocuments | 34 | http://www.ti.com/product/66AK2E05/technicaldocuments |
27 | 35 | ||
28 | EVM: | 36 | EVM: |
29 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html | 37 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html |
30 | 38 | ||
31 | ------------ K2L SoC and EVM --------------------------------------------------- | 39 | K2L SoC and EVM |
40 | =============== | ||
32 | 41 | ||
33 | a.k.a Keystone 2 Lamarr SoC | 42 | a.k.a Keystone 2 Lamarr SoC |
34 | K2L - TCI6630K2L: See documentation at | 43 | |
44 | K2L - TCI6630K2L: | ||
45 | |||
46 | See documentation at | ||
35 | http://www.ti.com/product/TCI6630K2L/technicaldocuments | 47 | http://www.ti.com/product/TCI6630K2L/technicaldocuments |
48 | |||
36 | EVM: | 49 | EVM: |
37 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2l-evm.html | 50 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2l-evm.html |
38 | 51 | ||
39 | Configuration | 52 | Configuration |
40 | ------------- | 53 | ------------- |
41 | 54 | ||
42 | All of the K2 SoCs/EVMs share a common defconfig, keystone_defconfig and same | 55 | All of the K2 SoCs/EVMs share a common defconfig, keystone_defconfig and same |
43 | image is used to boot on individual EVMs. The platform configuration is | 56 | image is used to boot on individual EVMs. The platform configuration is |
44 | specified through DTS. Following are the DTS used:- | 57 | specified through DTS. Following are the DTS used: |
45 | K2HK EVM : k2hk-evm.dts | 58 | |
46 | K2E EVM : k2e-evm.dts | 59 | K2HK EVM: |
47 | K2L EVM : k2l-evm.dts | 60 | k2hk-evm.dts |
61 | K2E EVM: | ||
62 | k2e-evm.dts | ||
63 | K2L EVM: | ||
64 | k2l-evm.dts | ||
48 | 65 | ||
49 | The device tree documentation for the keystone machines are located at | 66 | The device tree documentation for the keystone machines are located at |
67 | |||
50 | Documentation/devicetree/bindings/arm/keystone/keystone.txt | 68 | Documentation/devicetree/bindings/arm/keystone/keystone.txt |
51 | 69 | ||
52 | Document Author | 70 | Document Author |
53 | --------------- | 71 | --------------- |
54 | Murali Karicheri <m-karicheri2@ti.com> | 72 | Murali Karicheri <m-karicheri2@ti.com> |
73 | |||
55 | Copyright 2015 Texas Instruments | 74 | Copyright 2015 Texas Instruments |
diff --git a/Documentation/arm/marvel.rst b/Documentation/arm/marvel.rst new file mode 100644 index 000000000000..16ab2eb085b8 --- /dev/null +++ b/Documentation/arm/marvel.rst | |||
@@ -0,0 +1,488 @@ | |||
1 | ================ | ||
2 | ARM Marvell SoCs | ||
3 | ================ | ||
4 | |||
5 | This document lists all the ARM Marvell SoCs that are currently | ||
6 | supported in mainline by the Linux kernel. As the Marvell families of | ||
7 | SoCs are large and complex, it is hard to understand where the support | ||
8 | for a particular SoC is available in the Linux kernel. This document | ||
9 | tries to help in understanding where those SoCs are supported, and to | ||
10 | match them with their corresponding public datasheet, when available. | ||
11 | |||
12 | Orion family | ||
13 | ------------ | ||
14 | |||
15 | Flavors: | ||
16 | - 88F5082 | ||
17 | - 88F5181 | ||
18 | - 88F5181L | ||
19 | - 88F5182 | ||
20 | |||
21 | - Datasheet: http://www.embeddedarm.com/documentation/third-party/MV88F5182-datasheet.pdf | ||
22 | - Programmer's User Guide: http://www.embeddedarm.com/documentation/third-party/MV88F5182-opensource-manual.pdf | ||
23 | - User Manual: http://www.embeddedarm.com/documentation/third-party/MV88F5182-usermanual.pdf | ||
24 | - 88F5281 | ||
25 | |||
26 | - Datasheet: http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf | ||
27 | - 88F6183 | ||
28 | Core: | ||
29 | Feroceon 88fr331 (88f51xx) or 88fr531-vd (88f52xx) ARMv5 compatible | ||
30 | Linux kernel mach directory: | ||
31 | arch/arm/mach-orion5x | ||
32 | Linux kernel plat directory: | ||
33 | arch/arm/plat-orion | ||
34 | |||
35 | Kirkwood family | ||
36 | --------------- | ||
37 | |||
38 | Flavors: | ||
39 | - 88F6282 a.k.a Armada 300 | ||
40 | |||
41 | - Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf | ||
42 | - 88F6283 a.k.a Armada 310 | ||
43 | |||
44 | - Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf | ||
45 | - 88F6190 | ||
46 | |||
47 | - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6190-003_WEB.pdf | ||
48 | - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf | ||
49 | - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
50 | - 88F6192 | ||
51 | |||
52 | - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6192-003_ver1.pdf | ||
53 | - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf | ||
54 | - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
55 | - 88F6182 | ||
56 | - 88F6180 | ||
57 | |||
58 | - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6180-003_ver1.pdf | ||
59 | - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf | ||
60 | - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
61 | - 88F6281 | ||
62 | |||
63 | - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6281-004_ver1.pdf | ||
64 | - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf | ||
65 | - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf | ||
66 | Homepage: | ||
67 | http://www.marvell.com/embedded-processors/kirkwood/ | ||
68 | Core: | ||
69 | Feroceon 88fr131 ARMv5 compatible | ||
70 | Linux kernel mach directory: | ||
71 | arch/arm/mach-mvebu | ||
72 | Linux kernel plat directory: | ||
73 | none | ||
74 | |||
75 | Discovery family | ||
76 | ---------------- | ||
77 | |||
78 | Flavors: | ||
79 | - MV78100 | ||
80 | |||
81 | - Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78100-003_WEB.pdf | ||
82 | - Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78100_OpenSource.pdf | ||
83 | - Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf | ||
84 | - MV78200 | ||
85 | |||
86 | - Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78200-002_WEB.pdf | ||
87 | - Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78200_OpenSource.pdf | ||
88 | - Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf | ||
89 | - MV76100 | ||
90 | |||
91 | Not supported by the Linux kernel. | ||
92 | |||
93 | Core: | ||
94 | Feroceon 88fr571-vd ARMv5 compatible | ||
95 | |||
96 | Linux kernel mach directory: | ||
97 | arch/arm/mach-mv78xx0 | ||
98 | Linux kernel plat directory: | ||
99 | arch/arm/plat-orion | ||
100 | |||
101 | EBU Armada family | ||
102 | ----------------- | ||
103 | |||
104 | Armada 370 Flavors: | ||
105 | - 88F6710 | ||
106 | - 88F6707 | ||
107 | - 88F6W11 | ||
108 | |||
109 | - Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf | ||
110 | - Hardware Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf | ||
111 | - Functional Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf | ||
112 | |||
113 | Core: | ||
114 | Sheeva ARMv7 compatible PJ4B | ||
115 | |||
116 | Armada 375 Flavors: | ||
117 | - 88F6720 | ||
118 | |||
119 | - Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf | ||
120 | |||
121 | Core: | ||
122 | ARM Cortex-A9 | ||
123 | |||
124 | Armada 38x Flavors: | ||
125 | - 88F6810 Armada 380 | ||
126 | - 88F6820 Armada 385 | ||
127 | - 88F6828 Armada 388 | ||
128 | |||
129 | - Product infos: http://www.marvell.com/embedded-processors/armada-38x/ | ||
130 | - Functional Spec: https://marvellcorp.wufoo.com/forms/marvell-armada-38x-functional-specifications/ | ||
131 | |||
132 | Core: | ||
133 | ARM Cortex-A9 | ||
134 | |||
135 | Armada 39x Flavors: | ||
136 | - 88F6920 Armada 390 | ||
137 | - 88F6928 Armada 398 | ||
138 | |||
139 | - Product infos: http://www.marvell.com/embedded-processors/armada-39x/ | ||
140 | |||
141 | Core: | ||
142 | ARM Cortex-A9 | ||
143 | |||
144 | Armada XP Flavors: | ||
145 | - MV78230 | ||
146 | - MV78260 | ||
147 | - MV78460 | ||
148 | |||
149 | NOTE: | ||
150 | not to be confused with the non-SMP 78xx0 SoCs | ||
151 | |||
152 | Product Brief: | ||
153 | http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf | ||
154 | |||
155 | Functional Spec: | ||
156 | http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf | ||
157 | |||
158 | - Hardware Specs: | ||
159 | |||
160 | - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF | ||
161 | - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF | ||
162 | - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF | ||
163 | |||
164 | Core: | ||
165 | Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP | ||
166 | |||
167 | Linux kernel mach directory: | ||
168 | arch/arm/mach-mvebu | ||
169 | Linux kernel plat directory: | ||
170 | none | ||
171 | |||
172 | EBU Armada family ARMv8 | ||
173 | ----------------------- | ||
174 | |||
175 | Armada 3710/3720 Flavors: | ||
176 | - 88F3710 | ||
177 | - 88F3720 | ||
178 | |||
179 | Core: | ||
180 | ARM Cortex A53 (ARMv8) | ||
181 | |||
182 | Homepage: | ||
183 | http://www.marvell.com/embedded-processors/armada-3700/ | ||
184 | |||
185 | Product Brief: | ||
186 | http://www.marvell.com/embedded-processors/assets/PB-88F3700-FNL.pdf | ||
187 | |||
188 | Device tree files: | ||
189 | arch/arm64/boot/dts/marvell/armada-37* | ||
190 | |||
191 | Armada 7K Flavors: | ||
192 | - 88F7020 (AP806 Dual + one CP110) | ||
193 | - 88F7040 (AP806 Quad + one CP110) | ||
194 | |||
195 | Core: ARM Cortex A72 | ||
196 | |||
197 | Homepage: | ||
198 | http://www.marvell.com/embedded-processors/armada-70xx/ | ||
199 | |||
200 | Product Brief: | ||
201 | - http://www.marvell.com/embedded-processors/assets/Armada7020PB-Jan2016.pdf | ||
202 | - http://www.marvell.com/embedded-processors/assets/Armada7040PB-Jan2016.pdf | ||
203 | |||
204 | Device tree files: | ||
205 | arch/arm64/boot/dts/marvell/armada-70* | ||
206 | |||
207 | Armada 8K Flavors: | ||
208 | - 88F8020 (AP806 Dual + two CP110) | ||
209 | - 88F8040 (AP806 Quad + two CP110) | ||
210 | Core: | ||
211 | ARM Cortex A72 | ||
212 | |||
213 | Homepage: | ||
214 | http://www.marvell.com/embedded-processors/armada-80xx/ | ||
215 | |||
216 | Product Brief: | ||
217 | - http://www.marvell.com/embedded-processors/assets/Armada8020PB-Jan2016.pdf | ||
218 | - http://www.marvell.com/embedded-processors/assets/Armada8040PB-Jan2016.pdf | ||
219 | |||
220 | Device tree files: | ||
221 | arch/arm64/boot/dts/marvell/armada-80* | ||
222 | |||
223 | Avanta family | ||
224 | ------------- | ||
225 | |||
226 | Flavors: | ||
227 | - 88F6510 | ||
228 | - 88F6530P | ||
229 | - 88F6550 | ||
230 | - 88F6560 | ||
231 | |||
232 | Homepage: | ||
233 | http://www.marvell.com/broadband/ | ||
234 | |||
235 | Product Brief: | ||
236 | http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf | ||
237 | |||
238 | No public datasheet available. | ||
239 | |||
240 | Core: | ||
241 | ARMv5 compatible | ||
242 | |||
243 | Linux kernel mach directory: | ||
244 | no code in mainline yet, planned for the future | ||
245 | Linux kernel plat directory: | ||
246 | no code in mainline yet, planned for the future | ||
247 | |||
248 | Storage family | ||
249 | -------------- | ||
250 | |||
251 | Armada SP: | ||
252 | - 88RC1580 | ||
253 | |||
254 | Product infos: | ||
255 | http://www.marvell.com/storage/armada-sp/ | ||
256 | |||
257 | Core: | ||
258 | Sheeva ARMv7 comatible Quad-core PJ4C | ||
259 | |||
260 | (not supported in upstream Linux kernel) | ||
261 | |||
262 | Dove family (application processor) | ||
263 | ----------------------------------- | ||
264 | |||
265 | Flavors: | ||
266 | - 88AP510 a.k.a Armada 510 | ||
267 | |||
268 | Product Brief: | ||
269 | http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf | ||
270 | |||
271 | Hardware Spec: | ||
272 | http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf | ||
273 | |||
274 | Functional Spec: | ||
275 | http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf | ||
276 | |||
277 | Homepage: | ||
278 | http://www.marvell.com/application-processors/armada-500/ | ||
279 | |||
280 | Core: | ||
281 | ARMv7 compatible | ||
282 | |||
283 | Directory: | ||
284 | - arch/arm/mach-mvebu (DT enabled platforms) | ||
285 | - arch/arm/mach-dove (non-DT enabled platforms) | ||
286 | |||
287 | PXA 2xx/3xx/93x/95x family | ||
288 | -------------------------- | ||
289 | |||
290 | Flavors: | ||
291 | - PXA21x, PXA25x, PXA26x | ||
292 | - Application processor only | ||
293 | - Core: ARMv5 XScale1 core | ||
294 | - PXA270, PXA271, PXA272 | ||
295 | - Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf | ||
296 | - Design guide : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf | ||
297 | - Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf | ||
298 | - Specification : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf | ||
299 | - Specification update : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf | ||
300 | - Application processor only | ||
301 | - Core: ARMv5 XScale2 core | ||
302 | - PXA300, PXA310, PXA320 | ||
303 | - PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf | ||
304 | - PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf | ||
305 | - PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf | ||
306 | - Design guide : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf | ||
307 | - Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip | ||
308 | - Specifications : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf | ||
309 | - Specification Update : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip | ||
310 | - Reference Manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf | ||
311 | - Application processor only | ||
312 | - Core: ARMv5 XScale3 core | ||
313 | - PXA930, PXA935 | ||
314 | - Application processor with Communication processor | ||
315 | - Core: ARMv5 XScale3 core | ||
316 | - PXA955 | ||
317 | - Application processor with Communication processor | ||
318 | - Core: ARMv7 compatible Sheeva PJ4 core | ||
319 | |||
320 | Comments: | ||
321 | |||
322 | * This line of SoCs originates from the XScale family developed by | ||
323 | Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x, | ||
324 | PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while | ||
325 | the later PXA95x were developed by Marvell. | ||
326 | |||
327 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
328 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
329 | SoCs, except with the MMP/MMP2 family of SoCs. | ||
330 | |||
331 | Linux kernel mach directory: | ||
332 | arch/arm/mach-pxa | ||
333 | Linux kernel plat directory: | ||
334 | arch/arm/plat-pxa | ||
335 | |||
336 | MMP/MMP2/MMP3 family (communication processor) | ||
337 | ---------------------------------------------- | ||
338 | |||
339 | Flavors: | ||
340 | - PXA168, a.k.a Armada 168 | ||
341 | - Homepage : http://www.marvell.com/application-processors/armada-100/armada-168.jsp | ||
342 | - Product brief : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf | ||
343 | - Hardware manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf | ||
344 | - Software manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf | ||
345 | - Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf | ||
346 | - Boot ROM manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf | ||
347 | - App node package : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf | ||
348 | - Application processor only | ||
349 | - Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) | ||
350 | - PXA910/PXA920 | ||
351 | - Homepage : http://www.marvell.com/communication-processors/pxa910/ | ||
352 | - Product Brief : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf | ||
353 | - Application processor with Communication processor | ||
354 | - Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) | ||
355 | - PXA688, a.k.a. MMP2, a.k.a Armada 610 | ||
356 | - Product Brief : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf | ||
357 | - Application processor only | ||
358 | - Core: ARMv7 compatible Sheeva PJ4 88sv581x core | ||
359 | - PXA2128, a.k.a. MMP3 (OLPC XO4, Linux support not upstream) | ||
360 | - Product Brief : http://www.marvell.com/application-processors/armada/pxa2128/assets/Marvell-ARMADA-PXA2128-SoC-PB.pdf | ||
361 | - Application processor only | ||
362 | - Core: Dual-core ARMv7 compatible Sheeva PJ4C core | ||
363 | - PXA960/PXA968/PXA978 (Linux support not upstream) | ||
364 | - Application processor with Communication Processor | ||
365 | - Core: ARMv7 compatible Sheeva PJ4 core | ||
366 | - PXA986/PXA988 (Linux support not upstream) | ||
367 | - Application processor with Communication Processor | ||
368 | - Core: Dual-core ARMv7 compatible Sheeva PJ4B-MP core | ||
369 | - PXA1088/PXA1920 (Linux support not upstream) | ||
370 | - Application processor with Communication Processor | ||
371 | - Core: quad-core ARMv7 Cortex-A7 | ||
372 | - PXA1908/PXA1928/PXA1936 | ||
373 | - Application processor with Communication Processor | ||
374 | - Core: multi-core ARMv8 Cortex-A53 | ||
375 | |||
376 | Comments: | ||
377 | |||
378 | * This line of SoCs originates from the XScale family developed by | ||
379 | Intel and acquired by Marvell in ~2006. All the processors of | ||
380 | this MMP/MMP2 family were developed by Marvell. | ||
381 | |||
382 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
383 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
384 | SoCs, except with the PXA family of SoCs listed above. | ||
385 | |||
386 | Linux kernel mach directory: | ||
387 | arch/arm/mach-mmp | ||
388 | Linux kernel plat directory: | ||
389 | arch/arm/plat-pxa | ||
390 | |||
391 | Berlin family (Multimedia Solutions) | ||
392 | ------------------------------------- | ||
393 | |||
394 | - Flavors: | ||
395 | - 88DE3010, Armada 1000 (no Linux support) | ||
396 | - Core: Marvell PJ1 (ARMv5TE), Dual-core | ||
397 | - Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf | ||
398 | - 88DE3005, Armada 1500 Mini | ||
399 | - Design name: BG2CD | ||
400 | - Core: ARM Cortex-A9, PL310 L2CC | ||
401 | - 88DE3006, Armada 1500 Mini Plus | ||
402 | - Design name: BG2CDP | ||
403 | - Core: Dual Core ARM Cortex-A7 | ||
404 | - 88DE3100, Armada 1500 | ||
405 | - Design name: BG2 | ||
406 | - Core: Marvell PJ4B-MP (ARMv7), Tauros3 L2CC | ||
407 | - 88DE3114, Armada 1500 Pro | ||
408 | - Design name: BG2Q | ||
409 | - Core: Quad Core ARM Cortex-A9, PL310 L2CC | ||
410 | - 88DE3214, Armada 1500 Pro 4K | ||
411 | - Design name: BG3 | ||
412 | - Core: ARM Cortex-A15, CA15 integrated L2CC | ||
413 | - 88DE3218, ARMADA 1500 Ultra | ||
414 | - Core: ARM Cortex-A53 | ||
415 | |||
416 | Homepage: https://www.synaptics.com/products/multimedia-solutions | ||
417 | Directory: arch/arm/mach-berlin | ||
418 | |||
419 | Comments: | ||
420 | |||
421 | * This line of SoCs is based on Marvell Sheeva or ARM Cortex CPUs | ||
422 | with Synopsys DesignWare (IRQ, GPIO, Timers, ...) and PXA IP (SDHCI, USB, ETH, ...). | ||
423 | |||
424 | * The Berlin family was acquired by Synaptics from Marvell in 2017. | ||
425 | |||
426 | CPU Cores | ||
427 | --------- | ||
428 | |||
429 | The XScale cores were designed by Intel, and shipped by Marvell in the older | ||
430 | PXA processors. Feroceon is a Marvell designed core that developed in-house, | ||
431 | and that evolved into Sheeva. The XScale and Feroceon cores were phased out | ||
432 | over time and replaced with Sheeva cores in later products, which subsequently | ||
433 | got replaced with licensed ARM Cortex-A cores. | ||
434 | |||
435 | XScale 1 | ||
436 | CPUID 0x69052xxx | ||
437 | ARMv5, iWMMXt | ||
438 | XScale 2 | ||
439 | CPUID 0x69054xxx | ||
440 | ARMv5, iWMMXt | ||
441 | XScale 3 | ||
442 | CPUID 0x69056xxx or 0x69056xxx | ||
443 | ARMv5, iWMMXt | ||
444 | Feroceon-1850 88fr331 "Mohawk" | ||
445 | CPUID 0x5615331x or 0x41xx926x | ||
446 | ARMv5TE, single issue | ||
447 | Feroceon-2850 88fr531-vd "Jolteon" | ||
448 | CPUID 0x5605531x or 0x41xx926x | ||
449 | ARMv5TE, VFP, dual-issue | ||
450 | Feroceon 88fr571-vd "Jolteon" | ||
451 | CPUID 0x5615571x | ||
452 | ARMv5TE, VFP, dual-issue | ||
453 | Feroceon 88fr131 "Mohawk-D" | ||
454 | CPUID 0x5625131x | ||
455 | ARMv5TE, single-issue in-order | ||
456 | Sheeva PJ1 88sv331 "Mohawk" | ||
457 | CPUID 0x561584xx | ||
458 | ARMv5, single-issue iWMMXt v2 | ||
459 | Sheeva PJ4 88sv581x "Flareon" | ||
460 | CPUID 0x560f581x | ||
461 | ARMv7, idivt, optional iWMMXt v2 | ||
462 | Sheeva PJ4B 88sv581x | ||
463 | CPUID 0x561f581x | ||
464 | ARMv7, idivt, optional iWMMXt v2 | ||
465 | Sheeva PJ4B-MP / PJ4C | ||
466 | CPUID 0x562f584x | ||
467 | ARMv7, idivt/idiva, LPAE, optional iWMMXt v2 and/or NEON | ||
468 | |||
469 | Long-term plans | ||
470 | --------------- | ||
471 | |||
472 | * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ into the | ||
473 | mach-mvebu/ to support all SoCs from the Marvell EBU (Engineering | ||
474 | Business Unit) in a single mach-<foo> directory. The plat-orion/ | ||
475 | would therefore disappear. | ||
476 | |||
477 | * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa | ||
478 | directory. The plat-pxa/ would therefore disappear. | ||
479 | |||
480 | Credits | ||
481 | ------- | ||
482 | |||
483 | - Maen Suleiman <maen@marvell.com> | ||
484 | - Lior Amsalem <alior@marvell.com> | ||
485 | - Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
486 | - Andrew Lunn <andrew@lunn.ch> | ||
487 | - Nicolas Pitre <nico@fluxnic.net> | ||
488 | - Eric Miao <eric.y.miao@gmail.com> | ||
diff --git a/Documentation/arm/mem_alignment b/Documentation/arm/mem_alignment.rst index e110e2781039..aa22893b62bc 100644 --- a/Documentation/arm/mem_alignment +++ b/Documentation/arm/mem_alignment.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ================ | ||
2 | Memory alignment | ||
3 | ================ | ||
4 | |||
1 | Too many problems popped up because of unnoticed misaligned memory access in | 5 | Too many problems popped up because of unnoticed misaligned memory access in |
2 | kernel code lately. Therefore the alignment fixup is now unconditionally | 6 | kernel code lately. Therefore the alignment fixup is now unconditionally |
3 | configured in for SA11x0 based targets. According to Alan Cox, this is a | 7 | configured in for SA11x0 based targets. According to Alan Cox, this is a |
@@ -26,9 +30,9 @@ space, and might cause programs to fail unexpectedly. | |||
26 | To change the alignment trap behavior, simply echo a number into | 30 | To change the alignment trap behavior, simply echo a number into |
27 | /proc/cpu/alignment. The number is made up from various bits: | 31 | /proc/cpu/alignment. The number is made up from various bits: |
28 | 32 | ||
33 | === ======================================================== | ||
29 | bit behavior when set | 34 | bit behavior when set |
30 | --- ----------------- | 35 | === ======================================================== |
31 | |||
32 | 0 A user process performing an unaligned memory access | 36 | 0 A user process performing an unaligned memory access |
33 | will cause the kernel to print a message indicating | 37 | will cause the kernel to print a message indicating |
34 | process name, pid, pc, instruction, address, and the | 38 | process name, pid, pc, instruction, address, and the |
@@ -41,12 +45,13 @@ bit behavior when set | |||
41 | 45 | ||
42 | 2 The kernel will send a SIGBUS signal to the user process | 46 | 2 The kernel will send a SIGBUS signal to the user process |
43 | performing the unaligned access. | 47 | performing the unaligned access. |
48 | === ======================================================== | ||
44 | 49 | ||
45 | Note that not all combinations are supported - only values 0 through 5. | 50 | Note that not all combinations are supported - only values 0 through 5. |
46 | (6 and 7 don't make sense). | 51 | (6 and 7 don't make sense). |
47 | 52 | ||
48 | For example, the following will turn on the warnings, but without | 53 | For example, the following will turn on the warnings, but without |
49 | fixing up or sending SIGBUS signals: | 54 | fixing up or sending SIGBUS signals:: |
50 | 55 | ||
51 | echo 1 > /proc/cpu/alignment | 56 | echo 1 > /proc/cpu/alignment |
52 | 57 | ||
diff --git a/Documentation/arm/memory.txt b/Documentation/arm/memory.rst index 546a39048eb0..0521b4ce5c96 100644 --- a/Documentation/arm/memory.txt +++ b/Documentation/arm/memory.rst | |||
@@ -1,6 +1,9 @@ | |||
1 | Kernel Memory Layout on ARM Linux | 1 | ================================= |
2 | Kernel Memory Layout on ARM Linux | ||
3 | ================================= | ||
2 | 4 | ||
3 | Russell King <rmk@arm.linux.org.uk> | 5 | Russell King <rmk@arm.linux.org.uk> |
6 | |||
4 | November 17, 2005 (2.6.15) | 7 | November 17, 2005 (2.6.15) |
5 | 8 | ||
6 | This document describes the virtual memory layout which the Linux | 9 | This document describes the virtual memory layout which the Linux |
@@ -15,8 +18,9 @@ As the ARM architecture matures, it becomes necessary to reserve | |||
15 | certain regions of VM space for use for new facilities; therefore | 18 | certain regions of VM space for use for new facilities; therefore |
16 | this document may reserve more VM space over time. | 19 | this document may reserve more VM space over time. |
17 | 20 | ||
21 | =============== =============== =============================================== | ||
18 | Start End Use | 22 | Start End Use |
19 | -------------------------------------------------------------------------- | 23 | =============== =============== =============================================== |
20 | ffff8000 ffffffff copy_user_page / clear_user_page use. | 24 | ffff8000 ffffffff copy_user_page / clear_user_page use. |
21 | For SA11xx and Xscale, this is used to | 25 | For SA11xx and Xscale, this is used to |
22 | setup a minicache mapping. | 26 | setup a minicache mapping. |
@@ -77,6 +81,7 @@ MODULES_VADDR MODULES_END-1 Kernel module space | |||
77 | place their vector page here. NULL pointer | 81 | place their vector page here. NULL pointer |
78 | dereferences by both the kernel and user | 82 | dereferences by both the kernel and user |
79 | space are also caught via this mapping. | 83 | space are also caught via this mapping. |
84 | =============== =============== =============================================== | ||
80 | 85 | ||
81 | Please note that mappings which collide with the above areas may result | 86 | Please note that mappings which collide with the above areas may result |
82 | in a non-bootable kernel, or may cause the kernel to (eventually) panic | 87 | in a non-bootable kernel, or may cause the kernel to (eventually) panic |
diff --git a/Documentation/arm/Microchip/README b/Documentation/arm/microchip.rst index a366f37d38f1..c9a44c98e868 100644 --- a/Documentation/arm/Microchip/README +++ b/Documentation/arm/microchip.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ============================= | ||
1 | ARM Microchip SoCs (aka AT91) | 2 | ARM Microchip SoCs (aka AT91) |
2 | ============================= | 3 | ============================= |
3 | 4 | ||
@@ -22,32 +23,46 @@ the Microchip website: http://www.microchip.com. | |||
22 | Flavors: | 23 | Flavors: |
23 | * ARM 920 based SoC | 24 | * ARM 920 based SoC |
24 | - at91rm9200 | 25 | - at91rm9200 |
25 | + Datasheet | 26 | |
27 | * Datasheet | ||
28 | |||
26 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf | 29 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf |
27 | 30 | ||
28 | * ARM 926 based SoCs | 31 | * ARM 926 based SoCs |
29 | - at91sam9260 | 32 | - at91sam9260 |
30 | + Datasheet | 33 | |
34 | * Datasheet | ||
35 | |||
31 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf | 36 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf |
32 | 37 | ||
33 | - at91sam9xe | 38 | - at91sam9xe |
34 | + Datasheet | 39 | |
40 | * Datasheet | ||
41 | |||
35 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf | 42 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf |
36 | 43 | ||
37 | - at91sam9261 | 44 | - at91sam9261 |
38 | + Datasheet | 45 | |
46 | * Datasheet | ||
47 | |||
39 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf | 48 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf |
40 | 49 | ||
41 | - at91sam9263 | 50 | - at91sam9263 |
42 | + Datasheet | 51 | |
52 | * Datasheet | ||
53 | |||
43 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf | 54 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf |
44 | 55 | ||
45 | - at91sam9rl | 56 | - at91sam9rl |
46 | + Datasheet | 57 | |
58 | * Datasheet | ||
59 | |||
47 | http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf | 60 | http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf |
48 | 61 | ||
49 | - at91sam9g20 | 62 | - at91sam9g20 |
50 | + Datasheet | 63 | |
64 | * Datasheet | ||
65 | |||
51 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf | 66 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf |
52 | 67 | ||
53 | - at91sam9g45 family | 68 | - at91sam9g45 family |
@@ -55,7 +70,9 @@ the Microchip website: http://www.microchip.com. | |||
55 | - at91sam9g46 | 70 | - at91sam9g46 |
56 | - at91sam9m10 | 71 | - at91sam9m10 |
57 | - at91sam9m11 (device superset) | 72 | - at91sam9m11 (device superset) |
58 | + Datasheet | 73 | |
74 | * Datasheet | ||
75 | |||
59 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf | 76 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf |
60 | 77 | ||
61 | - at91sam9x5 family (aka "The 5 series") | 78 | - at91sam9x5 family (aka "The 5 series") |
@@ -64,33 +81,44 @@ the Microchip website: http://www.microchip.com. | |||
64 | - at91sam9g35 | 81 | - at91sam9g35 |
65 | - at91sam9x25 | 82 | - at91sam9x25 |
66 | - at91sam9x35 | 83 | - at91sam9x35 |
67 | + Datasheet (can be considered as covering the whole family) | 84 | |
85 | * Datasheet (can be considered as covering the whole family) | ||
86 | |||
68 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf | 87 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf |
69 | 88 | ||
70 | - at91sam9n12 | 89 | - at91sam9n12 |
71 | + Datasheet | 90 | |
91 | * Datasheet | ||
92 | |||
72 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf | 93 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf |
73 | 94 | ||
74 | * ARM Cortex-A5 based SoCs | 95 | * ARM Cortex-A5 based SoCs |
75 | - sama5d3 family | 96 | - sama5d3 family |
97 | |||
76 | - sama5d31 | 98 | - sama5d31 |
77 | - sama5d33 | 99 | - sama5d33 |
78 | - sama5d34 | 100 | - sama5d34 |
79 | - sama5d35 | 101 | - sama5d35 |
80 | - sama5d36 (device superset) | 102 | - sama5d36 (device superset) |
81 | + Datasheet | 103 | |
104 | * Datasheet | ||
105 | |||
82 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf | 106 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf |
83 | 107 | ||
84 | * ARM Cortex-A5 + NEON based SoCs | 108 | * ARM Cortex-A5 + NEON based SoCs |
85 | - sama5d4 family | 109 | - sama5d4 family |
110 | |||
86 | - sama5d41 | 111 | - sama5d41 |
87 | - sama5d42 | 112 | - sama5d42 |
88 | - sama5d43 | 113 | - sama5d43 |
89 | - sama5d44 (device superset) | 114 | - sama5d44 (device superset) |
90 | + Datasheet | 115 | |
116 | * Datasheet | ||
117 | |||
91 | http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf | 118 | http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf |
92 | 119 | ||
93 | - sama5d2 family | 120 | - sama5d2 family |
121 | |||
94 | - sama5d21 | 122 | - sama5d21 |
95 | - sama5d22 | 123 | - sama5d22 |
96 | - sama5d23 | 124 | - sama5d23 |
@@ -98,11 +126,14 @@ the Microchip website: http://www.microchip.com. | |||
98 | - sama5d26 | 126 | - sama5d26 |
99 | - sama5d27 (device superset) | 127 | - sama5d27 (device superset) |
100 | - sama5d28 (device superset + environmental monitors) | 128 | - sama5d28 (device superset + environmental monitors) |
101 | + Datasheet | 129 | |
130 | * Datasheet | ||
131 | |||
102 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf | 132 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf |
103 | 133 | ||
104 | * ARM Cortex-M7 MCUs | 134 | * ARM Cortex-M7 MCUs |
105 | - sams70 family | 135 | - sams70 family |
136 | |||
106 | - sams70j19 | 137 | - sams70j19 |
107 | - sams70j20 | 138 | - sams70j20 |
108 | - sams70j21 | 139 | - sams70j21 |
@@ -114,6 +145,7 @@ the Microchip website: http://www.microchip.com. | |||
114 | - sams70q21 | 145 | - sams70q21 |
115 | 146 | ||
116 | - samv70 family | 147 | - samv70 family |
148 | |||
117 | - samv70j19 | 149 | - samv70j19 |
118 | - samv70j20 | 150 | - samv70j20 |
119 | - samv70n19 | 151 | - samv70n19 |
@@ -122,6 +154,7 @@ the Microchip website: http://www.microchip.com. | |||
122 | - samv70q20 | 154 | - samv70q20 |
123 | 155 | ||
124 | - samv71 family | 156 | - samv71 family |
157 | |||
125 | - samv71j19 | 158 | - samv71j19 |
126 | - samv71j20 | 159 | - samv71j20 |
127 | - samv71j21 | 160 | - samv71j21 |
@@ -132,7 +165,8 @@ the Microchip website: http://www.microchip.com. | |||
132 | - samv71q20 | 165 | - samv71q20 |
133 | - samv71q21 | 166 | - samv71q21 |
134 | 167 | ||
135 | + Datasheet | 168 | * Datasheet |
169 | |||
136 | http://ww1.microchip.com/downloads/en/DeviceDoc/60001527A.pdf | 170 | http://ww1.microchip.com/downloads/en/DeviceDoc/60001527A.pdf |
137 | 171 | ||
138 | 172 | ||
@@ -157,6 +191,7 @@ definition of a "Stable" binding/ABI. | |||
157 | This statement will be removed by AT91 MAINTAINERS when appropriate. | 191 | This statement will be removed by AT91 MAINTAINERS when appropriate. |
158 | 192 | ||
159 | Naming conventions and best practice: | 193 | Naming conventions and best practice: |
194 | |||
160 | - SoCs Device Tree Source Include files are named after the official name of | 195 | - SoCs Device Tree Source Include files are named after the official name of |
161 | the product (at91sam9g20.dtsi or sama5d33.dtsi for instance). | 196 | 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 | 197 | - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be |
diff --git a/Documentation/arm/netwinder.rst b/Documentation/arm/netwinder.rst new file mode 100644 index 000000000000..8eab66caa2ac --- /dev/null +++ b/Documentation/arm/netwinder.rst | |||
@@ -0,0 +1,85 @@ | |||
1 | ================================ | ||
2 | NetWinder specific documentation | ||
3 | ================================ | ||
4 | |||
5 | The NetWinder is a small low-power computer, primarily designed | ||
6 | to run Linux. It is based around the StrongARM RISC processor, | ||
7 | DC21285 PCI bridge, with PC-type hardware glued around it. | ||
8 | |||
9 | Port usage | ||
10 | ========== | ||
11 | |||
12 | ======= ====== =============================== | ||
13 | Min Max Description | ||
14 | ======= ====== =============================== | ||
15 | 0x0000 0x000f DMA1 | ||
16 | 0x0020 0x0021 PIC1 | ||
17 | 0x0060 0x006f Keyboard | ||
18 | 0x0070 0x007f RTC | ||
19 | 0x0080 0x0087 DMA1 | ||
20 | 0x0088 0x008f DMA2 | ||
21 | 0x00a0 0x00a3 PIC2 | ||
22 | 0x00c0 0x00df DMA2 | ||
23 | 0x0180 0x0187 IRDA | ||
24 | 0x01f0 0x01f6 ide0 | ||
25 | 0x0201 Game port | ||
26 | 0x0203 RWA010 configuration read | ||
27 | 0x0220 ? SoundBlaster | ||
28 | 0x0250 ? WaveArtist | ||
29 | 0x0279 RWA010 configuration index | ||
30 | 0x02f8 0x02ff Serial ttyS1 | ||
31 | 0x0300 0x031f Ether10 | ||
32 | 0x0338 GPIO1 | ||
33 | 0x033a GPIO2 | ||
34 | 0x0370 0x0371 W83977F configuration registers | ||
35 | 0x0388 ? AdLib | ||
36 | 0x03c0 0x03df VGA | ||
37 | 0x03f6 ide0 | ||
38 | 0x03f8 0x03ff Serial ttyS0 | ||
39 | 0x0400 0x0408 DC21143 | ||
40 | 0x0480 0x0487 DMA1 | ||
41 | 0x0488 0x048f DMA2 | ||
42 | 0x0a79 RWA010 configuration write | ||
43 | 0xe800 0xe80f ide0/ide1 BM DMA | ||
44 | ======= ====== =============================== | ||
45 | |||
46 | |||
47 | Interrupt usage | ||
48 | =============== | ||
49 | |||
50 | ======= ======= ======================== | ||
51 | IRQ type Description | ||
52 | ======= ======= ======================== | ||
53 | 0 ISA 100Hz timer | ||
54 | 1 ISA Keyboard | ||
55 | 2 ISA cascade | ||
56 | 3 ISA Serial ttyS1 | ||
57 | 4 ISA Serial ttyS0 | ||
58 | 5 ISA PS/2 mouse | ||
59 | 6 ISA IRDA | ||
60 | 7 ISA Printer | ||
61 | 8 ISA RTC alarm | ||
62 | 9 ISA | ||
63 | 10 ISA GP10 (Orange reset button) | ||
64 | 11 ISA | ||
65 | 12 ISA WaveArtist | ||
66 | 13 ISA | ||
67 | 14 ISA hda1 | ||
68 | 15 ISA | ||
69 | ======= ======= ======================== | ||
70 | |||
71 | DMA usage | ||
72 | ========= | ||
73 | |||
74 | ======= ======= =========== | ||
75 | DMA type Description | ||
76 | ======= ======= =========== | ||
77 | 0 ISA IRDA | ||
78 | 1 ISA | ||
79 | 2 ISA cascade | ||
80 | 3 ISA WaveArtist | ||
81 | 4 ISA | ||
82 | 5 ISA | ||
83 | 6 ISA | ||
84 | 7 ISA WaveArtist | ||
85 | ======= ======= =========== | ||
diff --git a/Documentation/arm/nwfpe/index.rst b/Documentation/arm/nwfpe/index.rst new file mode 100644 index 000000000000..21fa8ce192ae --- /dev/null +++ b/Documentation/arm/nwfpe/index.rst | |||
@@ -0,0 +1,11 @@ | |||
1 | =================================== | ||
2 | NetWinder's floating point emulator | ||
3 | =================================== | ||
4 | |||
5 | .. toctree:: | ||
6 | :maxdepth: 1 | ||
7 | |||
8 | nwfpe | ||
9 | netwinder-fpe | ||
10 | notes | ||
11 | todo | ||
diff --git a/Documentation/arm/nwfpe/README.FPE b/Documentation/arm/nwfpe/netwinder-fpe.rst index 26f5d7bb9a41..cbb320960fc4 100644 --- a/Documentation/arm/nwfpe/README.FPE +++ b/Documentation/arm/nwfpe/netwinder-fpe.rst | |||
@@ -1,12 +1,18 @@ | |||
1 | ============= | ||
2 | Current State | ||
3 | ============= | ||
4 | |||
1 | The following describes the current state of the NetWinder's floating point | 5 | The following describes the current state of the NetWinder's floating point |
2 | emulator. | 6 | emulator. |
3 | 7 | ||
4 | In the following nomenclature is used to describe the floating point | 8 | In the following nomenclature is used to describe the floating point |
5 | instructions. It follows the conventions in the ARM manual. | 9 | instructions. It follows the conventions in the ARM manual. |
6 | 10 | ||
7 | <S|D|E> = <single|double|extended>, no default | 11 | :: |
8 | {P|M|Z} = {round to +infinity,round to -infinity,round to zero}, | 12 | |
9 | default = round to nearest | 13 | <S|D|E> = <single|double|extended>, no default |
14 | {P|M|Z} = {round to +infinity,round to -infinity,round to zero}, | ||
15 | default = round to nearest | ||
10 | 16 | ||
11 | Note: items enclosed in {} are optional. | 17 | Note: items enclosed in {} are optional. |
12 | 18 | ||
@@ -32,10 +38,10 @@ Form 2 syntax: | |||
32 | <LFM|SFM>{cond}<FD,EA> Fd, <count>, [Rn]{!} | 38 | <LFM|SFM>{cond}<FD,EA> Fd, <count>, [Rn]{!} |
33 | 39 | ||
34 | These instructions are fully implemented. They store/load three words | 40 | These instructions are fully implemented. They store/load three words |
35 | for each floating point register into the memory location given in the | 41 | for each floating point register into the memory location given in the |
36 | instruction. The format in memory is unlikely to be compatible with | 42 | instruction. The format in memory is unlikely to be compatible with |
37 | other implementations, in particular the actual hardware. Specific | 43 | other implementations, in particular the actual hardware. Specific |
38 | mention of this is made in the ARM manuals. | 44 | mention of this is made in the ARM manuals. |
39 | 45 | ||
40 | Floating Point Coprocessor Register Transfer Instructions (CPRT) | 46 | Floating Point Coprocessor Register Transfer Instructions (CPRT) |
41 | ---------------------------------------------------------------- | 47 | ---------------------------------------------------------------- |
@@ -123,7 +129,7 @@ RPW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - reverse power | |||
123 | POL{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - polar angle (arctan2) | 129 | POL{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - polar angle (arctan2) |
124 | 130 | ||
125 | LOG{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base 10 | 131 | LOG{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base 10 |
126 | LGN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base e | 132 | LGN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base e |
127 | EXP{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - exponent | 133 | EXP{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - exponent |
128 | SIN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - sine | 134 | SIN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - sine |
129 | COS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - cosine | 135 | COS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - cosine |
@@ -134,7 +140,7 @@ ATN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arctangent | |||
134 | 140 | ||
135 | These are not implemented. They are not currently issued by the compiler, | 141 | These are not implemented. They are not currently issued by the compiler, |
136 | and are handled by routines in libc. These are not implemented by the FPA11 | 142 | and are handled by routines in libc. These are not implemented by the FPA11 |
137 | hardware, but are handled by the floating point support code. They should | 143 | hardware, but are handled by the floating point support code. They should |
138 | be implemented in future versions. | 144 | be implemented in future versions. |
139 | 145 | ||
140 | Signalling: | 146 | Signalling: |
@@ -147,10 +153,10 @@ current_set[0] correctly. | |||
147 | The kernel provided with this distribution (vmlinux-nwfpe-0.93) contains | 153 | The kernel provided with this distribution (vmlinux-nwfpe-0.93) contains |
148 | a fix for this problem and also incorporates the current version of the | 154 | a fix for this problem and also incorporates the current version of the |
149 | emulator directly. It is possible to run with no floating point module | 155 | emulator directly. It is possible to run with no floating point module |
150 | loaded with this kernel. It is provided as a demonstration of the | 156 | loaded with this kernel. It is provided as a demonstration of the |
151 | technology and for those who want to do floating point work that depends | 157 | technology and for those who want to do floating point work that depends |
152 | on signals. It is not strictly necessary to use the module. | 158 | on signals. It is not strictly necessary to use the module. |
153 | 159 | ||
154 | A module (either the one provided by Russell King, or the one in this | 160 | A module (either the one provided by Russell King, or the one in this |
155 | distribution) can be loaded to replace the functionality of the emulator | 161 | distribution) can be loaded to replace the functionality of the emulator |
156 | built into the kernel. | 162 | built into the kernel. |
diff --git a/Documentation/arm/nwfpe/NOTES b/Documentation/arm/nwfpe/notes.rst index 40577b5a49d3..102e55af8439 100644 --- a/Documentation/arm/nwfpe/NOTES +++ b/Documentation/arm/nwfpe/notes.rst | |||
@@ -1,3 +1,6 @@ | |||
1 | Notes | ||
2 | ===== | ||
3 | |||
1 | There seems to be a problem with exp(double) and our emulator. I haven't | 4 | There seems to be a problem with exp(double) and our emulator. I haven't |
2 | been able to track it down yet. This does not occur with the emulator | 5 | been able to track it down yet. This does not occur with the emulator |
3 | supplied by Russell King. | 6 | supplied by Russell King. |
diff --git a/Documentation/arm/nwfpe/README b/Documentation/arm/nwfpe/nwfpe.rst index 771871de0c8b..35cd90dacbff 100644 --- a/Documentation/arm/nwfpe/README +++ b/Documentation/arm/nwfpe/nwfpe.rst | |||
@@ -1,4 +1,7 @@ | |||
1 | This directory contains the version 0.92 test release of the NetWinder | 1 | Introduction |
2 | ============ | ||
3 | |||
4 | This directory contains the version 0.92 test release of the NetWinder | ||
2 | Floating Point Emulator. | 5 | Floating Point Emulator. |
3 | 6 | ||
4 | The majority of the code was written by me, Scott Bambrough It is | 7 | The majority of the code was written by me, Scott Bambrough It is |
@@ -31,7 +34,7 @@ SoftFloat to the ARM was done by Phil Blundell, based on an earlier | |||
31 | port of SoftFloat version 1 by Neil Carson for NetBSD/arm32. | 34 | port of SoftFloat version 1 by Neil Carson for NetBSD/arm32. |
32 | 35 | ||
33 | The file README.FPE contains a description of what has been implemented | 36 | The file README.FPE contains a description of what has been implemented |
34 | so far in the emulator. The file TODO contains a information on what | 37 | so far in the emulator. The file TODO contains a information on what |
35 | remains to be done, and other ideas for the emulator. | 38 | remains to be done, and other ideas for the emulator. |
36 | 39 | ||
37 | Bug reports, comments, suggestions should be directed to me at | 40 | Bug reports, comments, suggestions should be directed to me at |
@@ -48,10 +51,11 @@ Legal Notices | |||
48 | 51 | ||
49 | The NetWinder Floating Point Emulator is free software. Everything Rebel.com | 52 | The NetWinder Floating Point Emulator is free software. Everything Rebel.com |
50 | has written is provided under the GNU GPL. See the file COPYING for copying | 53 | has written is provided under the GNU GPL. See the file COPYING for copying |
51 | conditions. Excluded from the above is the SoftFloat code. John Hauser's | 54 | conditions. Excluded from the above is the SoftFloat code. John Hauser's |
52 | legal notice for SoftFloat is included below. | 55 | legal notice for SoftFloat is included below. |
53 | 56 | ||
54 | ------------------------------------------------------------------------------- | 57 | ------------------------------------------------------------------------------- |
58 | |||
55 | SoftFloat Legal Notice | 59 | SoftFloat Legal Notice |
56 | 60 | ||
57 | SoftFloat was written by John R. Hauser. This work was made possible in | 61 | SoftFloat was written by John R. Hauser. This work was made possible in |
diff --git a/Documentation/arm/nwfpe/TODO b/Documentation/arm/nwfpe/todo.rst index 8027061b60eb..393f11b14540 100644 --- a/Documentation/arm/nwfpe/TODO +++ b/Documentation/arm/nwfpe/todo.rst | |||
@@ -1,39 +1,42 @@ | |||
1 | TODO LIST | 1 | TODO LIST |
2 | --------- | 2 | ========= |
3 | 3 | ||
4 | POW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - power | 4 | :: |
5 | RPW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - reverse power | ||
6 | POL{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - polar angle (arctan2) | ||
7 | 5 | ||
8 | LOG{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base 10 | 6 | POW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - power |
9 | LGN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base e | 7 | RPW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - reverse power |
10 | EXP{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - exponent | 8 | POL{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - polar angle (arctan2) |
11 | SIN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - sine | 9 | |
12 | COS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - cosine | 10 | LOG{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base 10 |
13 | TAN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - tangent | 11 | LGN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base e |
14 | ASN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arcsine | 12 | EXP{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - exponent |
15 | ACS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arccosine | 13 | SIN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - sine |
16 | ATN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arctangent | 14 | COS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - cosine |
15 | TAN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - tangent | ||
16 | ASN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arcsine | ||
17 | ACS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arccosine | ||
18 | ATN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arctangent | ||
17 | 19 | ||
18 | These are not implemented. They are not currently issued by the compiler, | 20 | These are not implemented. They are not currently issued by the compiler, |
19 | and are handled by routines in libc. These are not implemented by the FPA11 | 21 | and are handled by routines in libc. These are not implemented by the FPA11 |
20 | hardware, but are handled by the floating point support code. They should | 22 | hardware, but are handled by the floating point support code. They should |
21 | be implemented in future versions. | 23 | be implemented in future versions. |
22 | 24 | ||
23 | There are a couple of ways to approach the implementation of these. One | 25 | There are a couple of ways to approach the implementation of these. One |
24 | method would be to use accurate table methods for these routines. I have | 26 | method would be to use accurate table methods for these routines. I have |
25 | a couple of papers by S. Gal from IBM's research labs in Haifa, Israel that | 27 | a couple of papers by S. Gal from IBM's research labs in Haifa, Israel that |
26 | seem to promise extreme accuracy (in the order of 99.8%) and reasonable speed. | 28 | seem to promise extreme accuracy (in the order of 99.8%) and reasonable speed. |
27 | These methods are used in GLIBC for some of the transcendental functions. | 29 | These methods are used in GLIBC for some of the transcendental functions. |
28 | 30 | ||
29 | Another approach, which I know little about is CORDIC. This stands for | 31 | Another approach, which I know little about is CORDIC. This stands for |
30 | Coordinate Rotation Digital Computer, and is a method of computing | 32 | Coordinate Rotation Digital Computer, and is a method of computing |
31 | transcendental functions using mostly shifts and adds and a few | 33 | transcendental functions using mostly shifts and adds and a few |
32 | multiplications and divisions. The ARM excels at shifts and adds, | 34 | multiplications and divisions. The ARM excels at shifts and adds, |
33 | so such a method could be promising, but requires more research to | 35 | so such a method could be promising, but requires more research to |
34 | determine if it is feasible. | 36 | determine if it is feasible. |
35 | 37 | ||
36 | Rounding Methods | 38 | Rounding Methods |
39 | ---------------- | ||
37 | 40 | ||
38 | The IEEE standard defines 4 rounding modes. Round to nearest is the | 41 | The IEEE standard defines 4 rounding modes. Round to nearest is the |
39 | default, but rounding to + or - infinity or round to zero are also allowed. | 42 | default, but rounding to + or - infinity or round to zero are also allowed. |
@@ -42,8 +45,8 @@ in a control register. Not so with the ARM FPA11 architecture. To change | |||
42 | the rounding mode one must specify it with each instruction. | 45 | the rounding mode one must specify it with each instruction. |
43 | 46 | ||
44 | This has made porting some benchmarks difficult. It is possible to | 47 | This has made porting some benchmarks difficult. It is possible to |
45 | introduce such a capability into the emulator. The FPCR contains | 48 | introduce such a capability into the emulator. The FPCR contains |
46 | bits describing the rounding mode. The emulator could be altered to | 49 | bits describing the rounding mode. The emulator could be altered to |
47 | examine a flag, which if set forced it to ignore the rounding mode in | 50 | examine a flag, which if set forced it to ignore the rounding mode in |
48 | the instruction, and use the mode specified in the bits in the FPCR. | 51 | the instruction, and use the mode specified in the bits in the FPCR. |
49 | 52 | ||
@@ -52,7 +55,8 @@ in the FPCR. This requires a kernel call in ArmLinux, as WFC/RFC are | |||
52 | supervisor only instructions. If anyone has any ideas or comments I | 55 | supervisor only instructions. If anyone has any ideas or comments I |
53 | would like to hear them. | 56 | would like to hear them. |
54 | 57 | ||
55 | [NOTE: pulled out from some docs on ARM floating point, specifically | 58 | NOTE: |
59 | pulled out from some docs on ARM floating point, specifically | ||
56 | for the Acorn FPE, but not limited to it: | 60 | for the Acorn FPE, but not limited to it: |
57 | 61 | ||
58 | The floating point control register (FPCR) may only be present in some | 62 | The floating point control register (FPCR) may only be present in some |
@@ -64,4 +68,5 @@ would like to hear them. | |||
64 | 68 | ||
65 | Hence, the answer is yes, you could do this, but then you will run a high | 69 | Hence, the answer is yes, you could do this, but then you will run a high |
66 | risk of becoming isolated if and when hardware FP emulation comes out | 70 | risk of becoming isolated if and when hardware FP emulation comes out |
67 | -- Russell]. | 71 | |
72 | -- Russell. | ||
diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/omap/dss.rst index 4484e021290e..a40c4d9c717a 100644 --- a/Documentation/arm/OMAP/DSS +++ b/Documentation/arm/omap/dss.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | ========================= | ||
1 | OMAP2/3 Display Subsystem | 2 | OMAP2/3 Display Subsystem |
2 | ------------------------- | 3 | ========================= |
3 | 4 | ||
4 | This is an almost total rewrite of the OMAP FB driver in drivers/video/omap | 5 | This is an almost total rewrite of the OMAP FB driver in drivers/video/omap |
5 | (let's call it DSS1). The main differences between DSS1 and DSS2 are DSI, | 6 | (let's call it DSS1). The main differences between DSS1 and DSS2 are DSI, |
@@ -190,6 +191,8 @@ trans_key_value transparency color key (RGB24) | |||
190 | default_color default background color (RGB24) | 191 | default_color default background color (RGB24) |
191 | 192 | ||
192 | /sys/devices/platform/omapdss/display? directory: | 193 | /sys/devices/platform/omapdss/display? directory: |
194 | |||
195 | =============== ============================================================= | ||
193 | ctrl_name Controller name | 196 | ctrl_name Controller name |
194 | mirror 0=off, 1=on | 197 | mirror 0=off, 1=on |
195 | update_mode 0=off, 1=auto, 2=manual | 198 | update_mode 0=off, 1=auto, 2=manual |
@@ -202,6 +205,7 @@ timings Display timings (pixclock,xres/hfp/hbp/hsw,yres/vfp/vbp/vsw) | |||
202 | panel_name | 205 | panel_name |
203 | tear_elim Tearing elimination 0=off, 1=on | 206 | tear_elim Tearing elimination 0=off, 1=on |
204 | output_type Output type (video encoder only): "composite" or "svideo" | 207 | output_type Output type (video encoder only): "composite" or "svideo" |
208 | =============== ============================================================= | ||
205 | 209 | ||
206 | There are also some debugfs files at <debugfs>/omapdss/ which show information | 210 | There are also some debugfs files at <debugfs>/omapdss/ which show information |
207 | about clocks and registers. | 211 | about clocks and registers. |
@@ -209,22 +213,22 @@ about clocks and registers. | |||
209 | Examples | 213 | Examples |
210 | -------- | 214 | -------- |
211 | 215 | ||
212 | The following definitions have been made for the examples below: | 216 | The following definitions have been made for the examples below:: |
213 | 217 | ||
214 | ovl0=/sys/devices/platform/omapdss/overlay0 | 218 | ovl0=/sys/devices/platform/omapdss/overlay0 |
215 | ovl1=/sys/devices/platform/omapdss/overlay1 | 219 | ovl1=/sys/devices/platform/omapdss/overlay1 |
216 | ovl2=/sys/devices/platform/omapdss/overlay2 | 220 | ovl2=/sys/devices/platform/omapdss/overlay2 |
217 | 221 | ||
218 | mgr0=/sys/devices/platform/omapdss/manager0 | 222 | mgr0=/sys/devices/platform/omapdss/manager0 |
219 | mgr1=/sys/devices/platform/omapdss/manager1 | 223 | mgr1=/sys/devices/platform/omapdss/manager1 |
220 | 224 | ||
221 | lcd=/sys/devices/platform/omapdss/display0 | 225 | lcd=/sys/devices/platform/omapdss/display0 |
222 | dvi=/sys/devices/platform/omapdss/display1 | 226 | dvi=/sys/devices/platform/omapdss/display1 |
223 | tv=/sys/devices/platform/omapdss/display2 | 227 | tv=/sys/devices/platform/omapdss/display2 |
224 | 228 | ||
225 | fb0=/sys/class/graphics/fb0 | 229 | fb0=/sys/class/graphics/fb0 |
226 | fb1=/sys/class/graphics/fb1 | 230 | fb1=/sys/class/graphics/fb1 |
227 | fb2=/sys/class/graphics/fb2 | 231 | fb2=/sys/class/graphics/fb2 |
228 | 232 | ||
229 | Default setup on OMAP3 SDP | 233 | Default setup on OMAP3 SDP |
230 | -------------------------- | 234 | -------------------------- |
@@ -232,55 +236,59 @@ Default setup on OMAP3 SDP | |||
232 | Here's the default setup on OMAP3 SDP board. All planes go to LCD. DVI | 236 | Here's the default setup on OMAP3 SDP board. All planes go to LCD. DVI |
233 | and TV-out are not in use. The columns from left to right are: | 237 | and TV-out are not in use. The columns from left to right are: |
234 | framebuffers, overlays, overlay managers, displays. Framebuffers are | 238 | framebuffers, overlays, overlay managers, displays. Framebuffers are |
235 | handled by omapfb, and the rest by the DSS. | 239 | handled by omapfb, and the rest by the DSS:: |
236 | 240 | ||
237 | FB0 --- GFX -\ DVI | 241 | FB0 --- GFX -\ DVI |
238 | FB1 --- VID1 --+- LCD ---- LCD | 242 | FB1 --- VID1 --+- LCD ---- LCD |
239 | FB2 --- VID2 -/ TV ----- TV | 243 | FB2 --- VID2 -/ TV ----- TV |
240 | 244 | ||
241 | Example: Switch from LCD to DVI | 245 | Example: Switch from LCD to DVI |
242 | ---------------------- | 246 | ------------------------------- |
247 | |||
248 | :: | ||
243 | 249 | ||
244 | w=`cat $dvi/timings | cut -d "," -f 2 | cut -d "/" -f 1` | 250 | w=`cat $dvi/timings | cut -d "," -f 2 | cut -d "/" -f 1` |
245 | h=`cat $dvi/timings | cut -d "," -f 3 | cut -d "/" -f 1` | 251 | h=`cat $dvi/timings | cut -d "," -f 3 | cut -d "/" -f 1` |
246 | 252 | ||
247 | echo "0" > $lcd/enabled | 253 | echo "0" > $lcd/enabled |
248 | echo "" > $mgr0/display | 254 | echo "" > $mgr0/display |
249 | fbset -fb /dev/fb0 -xres $w -yres $h -vxres $w -vyres $h | 255 | fbset -fb /dev/fb0 -xres $w -yres $h -vxres $w -vyres $h |
250 | # at this point you have to switch the dvi/lcd dip-switch from the omap board | 256 | # at this point you have to switch the dvi/lcd dip-switch from the omap board |
251 | echo "dvi" > $mgr0/display | 257 | echo "dvi" > $mgr0/display |
252 | echo "1" > $dvi/enabled | 258 | echo "1" > $dvi/enabled |
253 | 259 | ||
254 | After this the configuration looks like: | 260 | After this the configuration looks like::: |
255 | 261 | ||
256 | FB0 --- GFX -\ -- DVI | 262 | FB0 --- GFX -\ -- DVI |
257 | FB1 --- VID1 --+- LCD -/ LCD | 263 | FB1 --- VID1 --+- LCD -/ LCD |
258 | FB2 --- VID2 -/ TV ----- TV | 264 | FB2 --- VID2 -/ TV ----- TV |
259 | 265 | ||
260 | Example: Clone GFX overlay to LCD and TV | 266 | Example: Clone GFX overlay to LCD and TV |
261 | ------------------------------- | 267 | ---------------------------------------- |
268 | |||
269 | :: | ||
262 | 270 | ||
263 | w=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1` | 271 | w=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1` |
264 | h=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1` | 272 | h=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1` |
265 | 273 | ||
266 | echo "0" > $ovl0/enabled | 274 | echo "0" > $ovl0/enabled |
267 | echo "0" > $ovl1/enabled | 275 | echo "0" > $ovl1/enabled |
268 | 276 | ||
269 | echo "" > $fb1/overlays | 277 | echo "" > $fb1/overlays |
270 | echo "0,1" > $fb0/overlays | 278 | echo "0,1" > $fb0/overlays |
271 | 279 | ||
272 | echo "$w,$h" > $ovl1/output_size | 280 | echo "$w,$h" > $ovl1/output_size |
273 | echo "tv" > $ovl1/manager | 281 | echo "tv" > $ovl1/manager |
274 | 282 | ||
275 | echo "1" > $ovl0/enabled | 283 | echo "1" > $ovl0/enabled |
276 | echo "1" > $ovl1/enabled | 284 | echo "1" > $ovl1/enabled |
277 | 285 | ||
278 | echo "1" > $tv/enabled | 286 | echo "1" > $tv/enabled |
279 | 287 | ||
280 | After this the configuration looks like (only relevant parts shown): | 288 | After this the configuration looks like (only relevant parts shown):: |
281 | 289 | ||
282 | FB0 +-- GFX ---- LCD ---- LCD | 290 | FB0 +-- GFX ---- LCD ---- LCD |
283 | \- VID1 ---- TV ---- TV | 291 | \- VID1 ---- TV ---- TV |
284 | 292 | ||
285 | Misc notes | 293 | Misc notes |
286 | ---------- | 294 | ---------- |
@@ -351,12 +359,14 @@ TODO | |||
351 | DSS locking | 359 | DSS locking |
352 | 360 | ||
353 | Error checking | 361 | Error checking |
362 | |||
354 | - Lots of checks are missing or implemented just as BUG() | 363 | - Lots of checks are missing or implemented just as BUG() |
355 | 364 | ||
356 | System DMA update for DSI | 365 | System DMA update for DSI |
366 | |||
357 | - Can be used for RGB16 and RGB24P modes. Probably not for RGB24U (how | 367 | - Can be used for RGB16 and RGB24P modes. Probably not for RGB24U (how |
358 | to skip the empty byte?) | 368 | to skip the empty byte?) |
359 | 369 | ||
360 | OMAP1 support | 370 | OMAP1 support |
361 | - Not sure if needed | ||
362 | 371 | ||
372 | - Not sure if needed | ||
diff --git a/Documentation/arm/omap/index.rst b/Documentation/arm/omap/index.rst new file mode 100644 index 000000000000..f1e9c11d9f9b --- /dev/null +++ b/Documentation/arm/omap/index.rst | |||
@@ -0,0 +1,10 @@ | |||
1 | ======= | ||
2 | TI OMAP | ||
3 | ======= | ||
4 | |||
5 | .. toctree:: | ||
6 | :maxdepth: 1 | ||
7 | |||
8 | omap | ||
9 | omap_pm | ||
10 | dss | ||
diff --git a/Documentation/arm/OMAP/README b/Documentation/arm/omap/omap.rst index 90c6c57d61e8..f440c0f4613f 100644 --- a/Documentation/arm/OMAP/README +++ b/Documentation/arm/omap/omap.rst | |||
@@ -1,7 +1,13 @@ | |||
1 | ============ | ||
2 | OMAP history | ||
3 | ============ | ||
4 | |||
1 | This file contains documentation for running mainline | 5 | This file contains documentation for running mainline |
2 | kernel on omaps. | 6 | kernel on omaps. |
3 | 7 | ||
8 | ====== ====================================================== | ||
4 | KERNEL NEW DEPENDENCIES | 9 | KERNEL NEW DEPENDENCIES |
10 | ====== ====================================================== | ||
5 | v4.3+ Update is needed for custom .config files to make sure | 11 | v4.3+ Update is needed for custom .config files to make sure |
6 | CONFIG_REGULATOR_PBIAS is enabled for MMC1 to work | 12 | CONFIG_REGULATOR_PBIAS is enabled for MMC1 to work |
7 | properly. | 13 | properly. |
@@ -9,3 +15,4 @@ v4.3+ Update is needed for custom .config files to make sure | |||
9 | v4.18+ Update is needed for custom .config files to make sure | 15 | v4.18+ Update is needed for custom .config files to make sure |
10 | CONFIG_MMC_SDHCI_OMAP is enabled for all MMC instances | 16 | CONFIG_MMC_SDHCI_OMAP is enabled for all MMC instances |
11 | to work in DRA7 and K2G based boards. | 17 | to work in DRA7 and K2G based boards. |
18 | ====== ====================================================== | ||
diff --git a/Documentation/arm/OMAP/omap_pm b/Documentation/arm/omap/omap_pm.rst index 4ae915a9f899..a335e4c8ce2c 100644 --- a/Documentation/arm/OMAP/omap_pm +++ b/Documentation/arm/omap/omap_pm.rst | |||
@@ -1,4 +1,4 @@ | |||
1 | 1 | ===================== | |
2 | The OMAP PM interface | 2 | The OMAP PM interface |
3 | ===================== | 3 | ===================== |
4 | 4 | ||
@@ -31,19 +31,24 @@ Drivers need to express PM parameters which: | |||
31 | This document proposes the OMAP PM interface, including the following | 31 | This document proposes the OMAP PM interface, including the following |
32 | five power management functions for driver code: | 32 | five power management functions for driver code: |
33 | 33 | ||
34 | 1. Set the maximum MPU wakeup latency: | 34 | 1. Set the maximum MPU wakeup latency:: |
35 | |||
35 | (*pdata->set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t) | 36 | (*pdata->set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t) |
36 | 37 | ||
37 | 2. Set the maximum device wakeup latency: | 38 | 2. Set the maximum device wakeup latency:: |
39 | |||
38 | (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t) | 40 | (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t) |
39 | 41 | ||
40 | 3. Set the maximum system DMA transfer start latency (CORE pwrdm): | 42 | 3. Set the maximum system DMA transfer start latency (CORE pwrdm):: |
43 | |||
41 | (*pdata->set_max_sdma_lat)(struct device *dev, long t) | 44 | (*pdata->set_max_sdma_lat)(struct device *dev, long t) |
42 | 45 | ||
43 | 4. Set the minimum bus throughput needed by a device: | 46 | 4. Set the minimum bus throughput needed by a device:: |
47 | |||
44 | (*pdata->set_min_bus_tput)(struct device *dev, u8 agent_id, unsigned long r) | 48 | (*pdata->set_min_bus_tput)(struct device *dev, u8 agent_id, unsigned long r) |
45 | 49 | ||
46 | 5. Return the number of times the device has lost context | 50 | 5. Return the number of times the device has lost context:: |
51 | |||
47 | (*pdata->get_dev_context_loss_count)(struct device *dev) | 52 | (*pdata->get_dev_context_loss_count)(struct device *dev) |
48 | 53 | ||
49 | 54 | ||
@@ -65,12 +70,13 @@ Driver usage of the OMAP PM functions | |||
65 | 70 | ||
66 | As the 'pdata' in the above examples indicates, these functions are | 71 | As the 'pdata' in the above examples indicates, these functions are |
67 | exposed to drivers through function pointers in driver .platform_data | 72 | exposed to drivers through function pointers in driver .platform_data |
68 | structures. The function pointers are initialized by the board-*.c | 73 | structures. The function pointers are initialized by the `board-*.c` |
69 | files to point to the corresponding OMAP PM functions: | 74 | files to point to the corresponding OMAP PM functions: |
70 | .set_max_dev_wakeup_lat will point to | 75 | |
71 | omap_pm_set_max_dev_wakeup_lat(), etc. Other architectures which do | 76 | - set_max_dev_wakeup_lat will point to |
72 | not support these functions should leave these function pointers set | 77 | omap_pm_set_max_dev_wakeup_lat(), etc. Other architectures which do |
73 | to NULL. Drivers should use the following idiom: | 78 | not support these functions should leave these function pointers set |
79 | to NULL. Drivers should use the following idiom:: | ||
74 | 80 | ||
75 | if (pdata->set_max_dev_wakeup_lat) | 81 | if (pdata->set_max_dev_wakeup_lat) |
76 | (*pdata->set_max_dev_wakeup_lat)(dev, t); | 82 | (*pdata->set_max_dev_wakeup_lat)(dev, t); |
@@ -81,7 +87,7 @@ becomes accessible. To accomplish this, driver writers should use the | |||
81 | set_max_mpu_wakeup_lat() function to constrain the MPU wakeup | 87 | set_max_mpu_wakeup_lat() function to constrain the MPU wakeup |
82 | latency, and the set_max_dev_wakeup_lat() function to constrain the | 88 | latency, and the set_max_dev_wakeup_lat() function to constrain the |
83 | device wakeup latency (from clk_enable() to accessibility). For | 89 | device wakeup latency (from clk_enable() to accessibility). For |
84 | example, | 90 | example:: |
85 | 91 | ||
86 | /* Limit MPU wakeup latency */ | 92 | /* Limit MPU wakeup latency */ |
87 | if (pdata->set_max_mpu_wakeup_lat) | 93 | if (pdata->set_max_mpu_wakeup_lat) |
@@ -116,17 +122,17 @@ specialized cases to convert that input information (OPPs/MPU | |||
116 | frequency) into the form that the underlying power management | 122 | frequency) into the form that the underlying power management |
117 | implementation needs: | 123 | implementation needs: |
118 | 124 | ||
119 | 6. (*pdata->dsp_get_opp_table)(void) | 125 | 6. `(*pdata->dsp_get_opp_table)(void)` |
120 | 126 | ||
121 | 7. (*pdata->dsp_set_min_opp)(u8 opp_id) | 127 | 7. `(*pdata->dsp_set_min_opp)(u8 opp_id)` |
122 | 128 | ||
123 | 8. (*pdata->dsp_get_opp)(void) | 129 | 8. `(*pdata->dsp_get_opp)(void)` |
124 | 130 | ||
125 | 9. (*pdata->cpu_get_freq_table)(void) | 131 | 9. `(*pdata->cpu_get_freq_table)(void)` |
126 | 132 | ||
127 | 10. (*pdata->cpu_set_freq)(unsigned long f) | 133 | 10. `(*pdata->cpu_set_freq)(unsigned long f)` |
128 | 134 | ||
129 | 11. (*pdata->cpu_get_freq)(void) | 135 | 11. `(*pdata->cpu_get_freq)(void)` |
130 | 136 | ||
131 | Customizing OPP for platform | 137 | Customizing OPP for platform |
132 | ============================ | 138 | ============================ |
@@ -134,12 +140,15 @@ Defining CONFIG_PM should enable OPP layer for the silicon | |||
134 | and the registration of OPP table should take place automatically. | 140 | and the registration of OPP table should take place automatically. |
135 | However, in special cases, the default OPP table may need to be | 141 | However, in special cases, the default OPP table may need to be |
136 | tweaked, for e.g.: | 142 | tweaked, for e.g.: |
143 | |||
137 | * enable default OPPs which are disabled by default, but which | 144 | * enable default OPPs which are disabled by default, but which |
138 | could be enabled on a platform | 145 | could be enabled on a platform |
139 | * Disable an unsupported OPP on the platform | 146 | * Disable an unsupported OPP on the platform |
140 | * Define and add a custom opp table entry | 147 | * Define and add a custom opp table entry |
141 | in these cases, the board file needs to do additional steps as follows: | 148 | in these cases, the board file needs to do additional steps as follows: |
142 | arch/arm/mach-omapx/board-xyz.c | 149 | |
150 | arch/arm/mach-omapx/board-xyz.c:: | ||
151 | |||
143 | #include "pm.h" | 152 | #include "pm.h" |
144 | .... | 153 | .... |
145 | static void __init omap_xyz_init_irq(void) | 154 | static void __init omap_xyz_init_irq(void) |
@@ -150,5 +159,7 @@ arch/arm/mach-omapx/board-xyz.c | |||
150 | /* Do customization to the defaults */ | 159 | /* Do customization to the defaults */ |
151 | .... | 160 | .... |
152 | } | 161 | } |
153 | NOTE: omapx_opp_init will be omap3_opp_init or as required | 162 | |
154 | based on the omap family. | 163 | NOTE: |
164 | omapx_opp_init will be omap3_opp_init or as required | ||
165 | based on the omap family. | ||
diff --git a/Documentation/arm/Porting b/Documentation/arm/porting.rst index a492233931b9..bd21958bdb2d 100644 --- a/Documentation/arm/Porting +++ b/Documentation/arm/porting.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ======= | ||
2 | Porting | ||
3 | ======= | ||
4 | |||
1 | Taken from list archive at http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2001-July/004064.html | 5 | Taken from list archive at http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2001-July/004064.html |
2 | 6 | ||
3 | Initial definitions | 7 | Initial definitions |
@@ -89,8 +93,7 @@ DATAADDR | |||
89 | Virtual address for the kernel data segment. Must not be defined | 93 | Virtual address for the kernel data segment. Must not be defined |
90 | when using the decompressor. | 94 | when using the decompressor. |
91 | 95 | ||
92 | VMALLOC_START | 96 | VMALLOC_START / VMALLOC_END |
93 | VMALLOC_END | ||
94 | Virtual addresses bounding the vmalloc() area. There must not be | 97 | Virtual addresses bounding the vmalloc() area. There must not be |
95 | any static mappings in this area; vmalloc will overwrite them. | 98 | any static mappings in this area; vmalloc will overwrite them. |
96 | The addresses must also be in the kernel segment (see above). | 99 | The addresses must also be in the kernel segment (see above). |
@@ -107,13 +110,13 @@ Architecture Specific Macros | |||
107 | ---------------------------- | 110 | ---------------------------- |
108 | 111 | ||
109 | BOOT_MEM(pram,pio,vio) | 112 | BOOT_MEM(pram,pio,vio) |
110 | `pram' specifies the physical start address of RAM. Must always | 113 | `pram` specifies the physical start address of RAM. Must always |
111 | be present, and should be the same as PHYS_OFFSET. | 114 | be present, and should be the same as PHYS_OFFSET. |
112 | 115 | ||
113 | `pio' is the physical address of an 8MB region containing IO for | 116 | `pio` is the physical address of an 8MB region containing IO for |
114 | use with the debugging macros in arch/arm/kernel/debug-armv.S. | 117 | use with the debugging macros in arch/arm/kernel/debug-armv.S. |
115 | 118 | ||
116 | `vio' is the virtual address of the 8MB debugging region. | 119 | `vio` is the virtual address of the 8MB debugging region. |
117 | 120 | ||
118 | It is expected that the debugging region will be re-initialised | 121 | It is expected that the debugging region will be re-initialised |
119 | by the architecture specific code later in the code (via the | 122 | by the architecture specific code later in the code (via the |
@@ -132,4 +135,3 @@ MAPIO(func) | |||
132 | 135 | ||
133 | INITIRQ(func) | 136 | INITIRQ(func) |
134 | Machine specific function to initialise interrupts. | 137 | Machine specific function to initialise interrupts. |
135 | |||
diff --git a/Documentation/arm/pxa/mfp.txt b/Documentation/arm/pxa/mfp.rst index 0b7cab978c02..ac34e5d7ee44 100644 --- a/Documentation/arm/pxa/mfp.txt +++ b/Documentation/arm/pxa/mfp.rst | |||
@@ -1,4 +1,6 @@ | |||
1 | MFP Configuration for PXA2xx/PXA3xx Processors | 1 | ============================================== |
2 | MFP Configuration for PXA2xx/PXA3xx Processors | ||
3 | ============================================== | ||
2 | 4 | ||
3 | Eric Miao <eric.miao@marvell.com> | 5 | Eric Miao <eric.miao@marvell.com> |
4 | 6 | ||
@@ -6,15 +8,15 @@ MFP stands for Multi-Function Pin, which is the pin-mux logic on PXA3xx and | |||
6 | later PXA series processors. This document describes the existing MFP API, | 8 | later PXA series processors. This document describes the existing MFP API, |
7 | and how board/platform driver authors could make use of it. | 9 | and how board/platform driver authors could make use of it. |
8 | 10 | ||
9 | Basic Concept | 11 | Basic Concept |
10 | =============== | 12 | ============= |
11 | 13 | ||
12 | Unlike the GPIO alternate function settings on PXA25x and PXA27x, a new MFP | 14 | Unlike the GPIO alternate function settings on PXA25x and PXA27x, a new MFP |
13 | mechanism is introduced from PXA3xx to completely move the pin-mux functions | 15 | mechanism is introduced from PXA3xx to completely move the pin-mux functions |
14 | out of the GPIO controller. In addition to pin-mux configurations, the MFP | 16 | out of the GPIO controller. In addition to pin-mux configurations, the MFP |
15 | also controls the low power state, driving strength, pull-up/down and event | 17 | also controls the low power state, driving strength, pull-up/down and event |
16 | detection of each pin. Below is a diagram of internal connections between | 18 | detection of each pin. Below is a diagram of internal connections between |
17 | the MFP logic and the remaining SoC peripherals: | 19 | the MFP logic and the remaining SoC peripherals:: |
18 | 20 | ||
19 | +--------+ | 21 | +--------+ |
20 | | |--(GPIO19)--+ | 22 | | |--(GPIO19)--+ |
@@ -69,8 +71,8 @@ NOTE: with such a clear separation of MFP and GPIO, by GPIO<xx> we normally | |||
69 | mean it is a GPIO signal, and by MFP<xxx> or pin xxx, we mean a physical | 71 | mean it is a GPIO signal, and by MFP<xxx> or pin xxx, we mean a physical |
70 | pad (or ball). | 72 | pad (or ball). |
71 | 73 | ||
72 | MFP API Usage | 74 | MFP API Usage |
73 | =============== | 75 | ============= |
74 | 76 | ||
75 | For board code writers, here are some guidelines: | 77 | For board code writers, here are some guidelines: |
76 | 78 | ||
@@ -94,9 +96,9 @@ For board code writers, here are some guidelines: | |||
94 | PXA310 supporting some additional ones), thus the difference is actually | 96 | PXA310 supporting some additional ones), thus the difference is actually |
95 | covered in a single mfp-pxa300.h. | 97 | covered in a single mfp-pxa300.h. |
96 | 98 | ||
97 | 2. prepare an array for the initial pin configurations, e.g.: | 99 | 2. prepare an array for the initial pin configurations, e.g.:: |
98 | 100 | ||
99 | static unsigned long mainstone_pin_config[] __initdata = { | 101 | static unsigned long mainstone_pin_config[] __initdata = { |
100 | /* Chip Select */ | 102 | /* Chip Select */ |
101 | GPIO15_nCS_1, | 103 | GPIO15_nCS_1, |
102 | 104 | ||
@@ -116,7 +118,7 @@ For board code writers, here are some guidelines: | |||
116 | 118 | ||
117 | /* GPIO */ | 119 | /* GPIO */ |
118 | GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH, | 120 | GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH, |
119 | }; | 121 | }; |
120 | 122 | ||
121 | a) once the pin configurations are passed to pxa{2xx,3xx}_mfp_config(), | 123 | a) once the pin configurations are passed to pxa{2xx,3xx}_mfp_config(), |
122 | and written to the actual registers, they are useless and may discard, | 124 | and written to the actual registers, they are useless and may discard, |
@@ -143,17 +145,17 @@ For board code writers, here are some guidelines: | |||
143 | d) although PXA3xx MFP supports edge detection on each pin, the | 145 | d) although PXA3xx MFP supports edge detection on each pin, the |
144 | internal logic will only wakeup the system when those specific bits | 146 | internal logic will only wakeup the system when those specific bits |
145 | in ADxER registers are set, which can be well mapped to the | 147 | in ADxER registers are set, which can be well mapped to the |
146 | corresponding peripheral, thus set_irq_wake() can be called with | 148 | corresponding peripheral, thus set_irq_wake() can be called with |
147 | the peripheral IRQ to enable the wakeup. | 149 | the peripheral IRQ to enable the wakeup. |
148 | 150 | ||
149 | 151 | ||
150 | MFP on PXA3xx | 152 | MFP on PXA3xx |
151 | =============== | 153 | ============= |
152 | 154 | ||
153 | Every external I/O pad on PXA3xx (excluding those for special purpose) has | 155 | Every external I/O pad on PXA3xx (excluding those for special purpose) has |
154 | one MFP logic associated, and is controlled by one MFP register (MFPR). | 156 | one MFP logic associated, and is controlled by one MFP register (MFPR). |
155 | 157 | ||
156 | The MFPR has the following bit definitions (for PXA300/PXA310/PXA320): | 158 | The MFPR has the following bit definitions (for PXA300/PXA310/PXA320):: |
157 | 159 | ||
158 | 31 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 | 160 | 31 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
159 | +-------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | 161 | +-------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |
@@ -183,8 +185,8 @@ The MFPR has the following bit definitions (for PXA300/PXA310/PXA320): | |||
183 | 0b006 - slow 10mA | 185 | 0b006 - slow 10mA |
184 | 0b007 - fast 10mA | 186 | 0b007 - fast 10mA |
185 | 187 | ||
186 | MFP Design for PXA2xx/PXA3xx | 188 | MFP Design for PXA2xx/PXA3xx |
187 | ============================== | 189 | ============================ |
188 | 190 | ||
189 | Due to the difference of pin-mux handling between PXA2xx and PXA3xx, a unified | 191 | Due to the difference of pin-mux handling between PXA2xx and PXA3xx, a unified |
190 | MFP API is introduced to cover both series of processors. | 192 | MFP API is introduced to cover both series of processors. |
@@ -194,11 +196,11 @@ configurations, these definitions are processor and platform independent, and | |||
194 | the actual API invoked to convert these definitions into register settings and | 196 | the actual API invoked to convert these definitions into register settings and |
195 | make them effective there-after. | 197 | make them effective there-after. |
196 | 198 | ||
197 | Files Involved | 199 | Files Involved |
198 | -------------- | 200 | -------------- |
199 | 201 | ||
200 | - arch/arm/mach-pxa/include/mach/mfp.h | 202 | - arch/arm/mach-pxa/include/mach/mfp.h |
201 | 203 | ||
202 | for | 204 | for |
203 | 1. Unified pin definitions - enum constants for all configurable pins | 205 | 1. Unified pin definitions - enum constants for all configurable pins |
204 | 2. processor-neutral bit definitions for a possible MFP configuration | 206 | 2. processor-neutral bit definitions for a possible MFP configuration |
@@ -226,42 +228,42 @@ make them effective there-after. | |||
226 | for implementation of the pin configuration to take effect for the actual | 228 | for implementation of the pin configuration to take effect for the actual |
227 | processor. | 229 | processor. |
228 | 230 | ||
229 | Pin Configuration | 231 | Pin Configuration |
230 | ----------------- | 232 | ----------------- |
231 | 233 | ||
232 | The following comments are copied from mfp.h (see the actual source code | 234 | The following comments are copied from mfp.h (see the actual source code |
233 | for most updated info) | 235 | for most updated info):: |
234 | 236 | ||
235 | /* | 237 | /* |
236 | * a possible MFP configuration is represented by a 32-bit integer | 238 | * a possible MFP configuration is represented by a 32-bit integer |
237 | * | 239 | * |
238 | * bit 0.. 9 - MFP Pin Number (1024 Pins Maximum) | 240 | * bit 0.. 9 - MFP Pin Number (1024 Pins Maximum) |
239 | * bit 10..12 - Alternate Function Selection | 241 | * bit 10..12 - Alternate Function Selection |
240 | * bit 13..15 - Drive Strength | 242 | * bit 13..15 - Drive Strength |
241 | * bit 16..18 - Low Power Mode State | 243 | * bit 16..18 - Low Power Mode State |
242 | * bit 19..20 - Low Power Mode Edge Detection | 244 | * bit 19..20 - Low Power Mode Edge Detection |
243 | * bit 21..22 - Run Mode Pull State | 245 | * bit 21..22 - Run Mode Pull State |
244 | * | 246 | * |
245 | * to facilitate the definition, the following macros are provided | 247 | * to facilitate the definition, the following macros are provided |
246 | * | 248 | * |
247 | * MFP_CFG_DEFAULT - default MFP configuration value, with | 249 | * MFP_CFG_DEFAULT - default MFP configuration value, with |
248 | * alternate function = 0, | 250 | * alternate function = 0, |
249 | * drive strength = fast 3mA (MFP_DS03X) | 251 | * drive strength = fast 3mA (MFP_DS03X) |
250 | * low power mode = default | 252 | * low power mode = default |
251 | * edge detection = none | 253 | * edge detection = none |
252 | * | 254 | * |
253 | * MFP_CFG - default MFPR value with alternate function | 255 | * MFP_CFG - default MFPR value with alternate function |
254 | * MFP_CFG_DRV - default MFPR value with alternate function and | 256 | * MFP_CFG_DRV - default MFPR value with alternate function and |
255 | * pin drive strength | 257 | * pin drive strength |
256 | * MFP_CFG_LPM - default MFPR value with alternate function and | 258 | * MFP_CFG_LPM - default MFPR value with alternate function and |
257 | * low power mode | 259 | * low power mode |
258 | * MFP_CFG_X - default MFPR value with alternate function, | 260 | * MFP_CFG_X - default MFPR value with alternate function, |
259 | * pin drive strength and low power mode | 261 | * pin drive strength and low power mode |
260 | */ | 262 | */ |
261 | 263 | ||
262 | Examples of pin configurations are: | 264 | Examples of pin configurations are:: |
263 | 265 | ||
264 | #define GPIO94_SSP3_RXD MFP_CFG_X(GPIO94, AF1, DS08X, FLOAT) | 266 | #define GPIO94_SSP3_RXD MFP_CFG_X(GPIO94, AF1, DS08X, FLOAT) |
265 | 267 | ||
266 | which reads GPIO94 can be configured as SSP3_RXD, with alternate function | 268 | which reads GPIO94 can be configured as SSP3_RXD, with alternate function |
267 | selection of 1, driving strength of 0b101, and a float state in low power | 269 | selection of 1, driving strength of 0b101, and a float state in low power |
@@ -272,8 +274,8 @@ make them effective there-after. | |||
272 | do so, simply because this default setting is usually carefully encoded, | 274 | do so, simply because this default setting is usually carefully encoded, |
273 | and is supposed to work in most cases. | 275 | and is supposed to work in most cases. |
274 | 276 | ||
275 | Register Settings | 277 | Register Settings |
276 | ----------------- | 278 | ----------------- |
277 | 279 | ||
278 | Register settings on PXA3xx for a pin configuration is actually very | 280 | Register settings on PXA3xx for a pin configuration is actually very |
279 | straight-forward, most bits can be converted directly into MFPR value | 281 | straight-forward, most bits can be converted directly into MFPR value |
diff --git a/Documentation/arm/SA1100/ADSBitsy b/Documentation/arm/sa1100/adsbitsy.rst index f9f62e8c0719..c179cb26b682 100644 --- a/Documentation/arm/SA1100/ADSBitsy +++ b/Documentation/arm/sa1100/adsbitsy.rst | |||
@@ -1,4 +1,7 @@ | |||
1 | =============================== | ||
1 | ADS Bitsy Single Board Computer | 2 | ADS Bitsy Single Board Computer |
3 | =============================== | ||
4 | |||
2 | (It is different from Bitsy(iPAQ) of Compaq) | 5 | (It is different from Bitsy(iPAQ) of Compaq) |
3 | 6 | ||
4 | For more details, contact Applied Data Systems or see | 7 | For more details, contact Applied Data Systems or see |
@@ -15,7 +18,9 @@ The kernel zImage is linked to be loaded and executed at 0xc0400000. | |||
15 | Linux can be used with the ADS BootLoader that ships with the | 18 | Linux can be used with the ADS BootLoader that ships with the |
16 | newer rev boards. See their documentation on how to load Linux. | 19 | newer rev boards. See their documentation on how to load Linux. |
17 | 20 | ||
18 | Supported peripherals: | 21 | Supported peripherals |
22 | ===================== | ||
23 | |||
19 | - SA1100 LCD frame buffer (8/16bpp...sort of) | 24 | - SA1100 LCD frame buffer (8/16bpp...sort of) |
20 | - SA1111 USB Master | 25 | - SA1111 USB Master |
21 | - SA1100 serial port | 26 | - SA1100 serial port |
@@ -25,10 +30,13 @@ Supported peripherals: | |||
25 | - serial ports (ttyS[0-2]) | 30 | - serial ports (ttyS[0-2]) |
26 | - ttyS0 is default for serial console | 31 | - ttyS0 is default for serial console |
27 | 32 | ||
28 | To do: | 33 | To do |
34 | ===== | ||
35 | |||
29 | - everything else! :-) | 36 | - everything else! :-) |
30 | 37 | ||
31 | Notes: | 38 | Notes |
39 | ===== | ||
32 | 40 | ||
33 | - The flash on board is divided into 3 partitions. | 41 | - The flash on board is divided into 3 partitions. |
34 | You should be careful to use flash on board. | 42 | You should be careful to use flash on board. |
diff --git a/Documentation/arm/SA1100/Assabet b/Documentation/arm/sa1100/assabet.rst index e08a6739e72c..3e704831c311 100644 --- a/Documentation/arm/SA1100/Assabet +++ b/Documentation/arm/sa1100/assabet.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ============================================ | ||
1 | The Intel Assabet (SA-1110 evaluation) board | 2 | The Intel Assabet (SA-1110 evaluation) board |
2 | ============================================ | 3 | ============================================ |
3 | 4 | ||
@@ -11,7 +12,7 @@ http://www.cs.cmu.edu/~wearable/software/assabet.html | |||
11 | Building the kernel | 12 | Building the kernel |
12 | ------------------- | 13 | ------------------- |
13 | 14 | ||
14 | To build the kernel with current defaults: | 15 | To build the kernel with current defaults:: |
15 | 16 | ||
16 | make assabet_config | 17 | make assabet_config |
17 | make oldconfig | 18 | make oldconfig |
@@ -51,9 +52,9 @@ Brief examples on how to boot Linux with RedBoot are shown below. But first | |||
51 | you need to have RedBoot installed in your flash memory. A known to work | 52 | you need to have RedBoot installed in your flash memory. A known to work |
52 | precompiled RedBoot binary is available from the following location: | 53 | precompiled RedBoot binary is available from the following location: |
53 | 54 | ||
54 | ftp://ftp.netwinder.org/users/n/nico/ | 55 | - ftp://ftp.netwinder.org/users/n/nico/ |
55 | ftp://ftp.arm.linux.org.uk/pub/linux/arm/people/nico/ | 56 | - ftp://ftp.arm.linux.org.uk/pub/linux/arm/people/nico/ |
56 | ftp://ftp.handhelds.org/pub/linux/arm/sa-1100-patches/ | 57 | - ftp://ftp.handhelds.org/pub/linux/arm/sa-1100-patches/ |
57 | 58 | ||
58 | Look for redboot-assabet*.tgz. Some installation infos are provided in | 59 | Look for redboot-assabet*.tgz. Some installation infos are provided in |
59 | redboot-assabet*.txt. | 60 | redboot-assabet*.txt. |
@@ -71,12 +72,12 @@ Socket Communications Inc.), you should strongly consider using it for TFTP | |||
71 | file transfers. You must insert it before RedBoot runs since it can't detect | 72 | file transfers. You must insert it before RedBoot runs since it can't detect |
72 | it dynamically. | 73 | it dynamically. |
73 | 74 | ||
74 | To initialize the flash directory: | 75 | To initialize the flash directory:: |
75 | 76 | ||
76 | fis init -f | 77 | fis init -f |
77 | 78 | ||
78 | To initialize the non-volatile settings, like whether you want to use BOOTP or | 79 | To initialize the non-volatile settings, like whether you want to use BOOTP or |
79 | a static IP address, etc, use this command: | 80 | a static IP address, etc, use this command:: |
80 | 81 | ||
81 | fconfig -i | 82 | fconfig -i |
82 | 83 | ||
@@ -85,15 +86,15 @@ Writing a kernel image into flash | |||
85 | --------------------------------- | 86 | --------------------------------- |
86 | 87 | ||
87 | First, the kernel image must be loaded into RAM. If you have the zImage file | 88 | First, the kernel image must be loaded into RAM. If you have the zImage file |
88 | available on a TFTP server: | 89 | available on a TFTP server:: |
89 | 90 | ||
90 | load zImage -r -b 0x100000 | 91 | load zImage -r -b 0x100000 |
91 | 92 | ||
92 | If you rather want to use Y-Modem upload over the serial port: | 93 | If you rather want to use Y-Modem upload over the serial port:: |
93 | 94 | ||
94 | load -m ymodem -r -b 0x100000 | 95 | load -m ymodem -r -b 0x100000 |
95 | 96 | ||
96 | To write it to flash: | 97 | To write it to flash:: |
97 | 98 | ||
98 | fis create "Linux kernel" -b 0x100000 -l 0xc0000 | 99 | fis create "Linux kernel" -b 0x100000 -l 0xc0000 |
99 | 100 | ||
@@ -102,18 +103,18 @@ Booting the kernel | |||
102 | ------------------ | 103 | ------------------ |
103 | 104 | ||
104 | The kernel still requires a filesystem to boot. A ramdisk image can be loaded | 105 | The kernel still requires a filesystem to boot. A ramdisk image can be loaded |
105 | as follows: | 106 | as follows:: |
106 | 107 | ||
107 | load ramdisk_image.gz -r -b 0x800000 | 108 | load ramdisk_image.gz -r -b 0x800000 |
108 | 109 | ||
109 | Again, Y-Modem upload can be used instead of TFTP by replacing the file name | 110 | Again, Y-Modem upload can be used instead of TFTP by replacing the file name |
110 | by '-y ymodem'. | 111 | by '-y ymodem'. |
111 | 112 | ||
112 | Now the kernel can be retrieved from flash like this: | 113 | Now the kernel can be retrieved from flash like this:: |
113 | 114 | ||
114 | fis load "Linux kernel" | 115 | fis load "Linux kernel" |
115 | 116 | ||
116 | or loaded as described previously. To boot the kernel: | 117 | or loaded as described previously. To boot the kernel:: |
117 | 118 | ||
118 | exec -b 0x100000 -l 0xc0000 | 119 | exec -b 0x100000 -l 0xc0000 |
119 | 120 | ||
@@ -134,35 +135,35 @@ creating JFFS/JFFS2 images is available from the same site. | |||
134 | For instance, a sample JFFS2 image can be retrieved from the same FTP sites | 135 | For instance, a sample JFFS2 image can be retrieved from the same FTP sites |
135 | mentioned below for the precompiled RedBoot image. | 136 | mentioned below for the precompiled RedBoot image. |
136 | 137 | ||
137 | To load this file: | 138 | To load this file:: |
138 | 139 | ||
139 | load sample_img.jffs2 -r -b 0x100000 | 140 | load sample_img.jffs2 -r -b 0x100000 |
140 | 141 | ||
141 | The result should look like: | 142 | The result should look like:: |
142 | 143 | ||
143 | RedBoot> load sample_img.jffs2 -r -b 0x100000 | 144 | RedBoot> load sample_img.jffs2 -r -b 0x100000 |
144 | Raw file loaded 0x00100000-0x00377424 | 145 | Raw file loaded 0x00100000-0x00377424 |
145 | 146 | ||
146 | Now we must know the size of the unallocated flash: | 147 | Now we must know the size of the unallocated flash:: |
147 | 148 | ||
148 | fis free | 149 | fis free |
149 | 150 | ||
150 | Result: | 151 | Result:: |
151 | 152 | ||
152 | RedBoot> fis free | 153 | RedBoot> fis free |
153 | 0x500E0000 .. 0x503C0000 | 154 | 0x500E0000 .. 0x503C0000 |
154 | 155 | ||
155 | The values above may be different depending on the size of the filesystem and | 156 | The values above may be different depending on the size of the filesystem and |
156 | the type of flash. See their usage below as an example and take care of | 157 | the type of flash. See their usage below as an example and take care of |
157 | substituting yours appropriately. | 158 | substituting yours appropriately. |
158 | 159 | ||
159 | We must determine some values: | 160 | We must determine some values:: |
160 | 161 | ||
161 | size of unallocated flash: 0x503c0000 - 0x500e0000 = 0x2e0000 | 162 | size of unallocated flash: 0x503c0000 - 0x500e0000 = 0x2e0000 |
162 | size of the filesystem image: 0x00377424 - 0x00100000 = 0x277424 | 163 | size of the filesystem image: 0x00377424 - 0x00100000 = 0x277424 |
163 | 164 | ||
164 | We want to fit the filesystem image of course, but we also want to give it all | 165 | We want to fit the filesystem image of course, but we also want to give it all |
165 | the remaining flash space as well. To write it: | 166 | the remaining flash space as well. To write it:: |
166 | 167 | ||
167 | fis unlock -f 0x500E0000 -l 0x2e0000 | 168 | fis unlock -f 0x500E0000 -l 0x2e0000 |
168 | fis erase -f 0x500E0000 -l 0x2e0000 | 169 | fis erase -f 0x500E0000 -l 0x2e0000 |
@@ -171,32 +172,32 @@ the remaining flash space as well. To write it: | |||
171 | 172 | ||
172 | Now the filesystem is associated to a MTD "partition" once Linux has discovered | 173 | Now the filesystem is associated to a MTD "partition" once Linux has discovered |
173 | what they are in the boot process. From Redboot, the 'fis list' command | 174 | what they are in the boot process. From Redboot, the 'fis list' command |
174 | displays them: | 175 | displays them:: |
175 | 176 | ||
176 | RedBoot> fis list | 177 | RedBoot> fis list |
177 | Name FLASH addr Mem addr Length Entry point | 178 | Name FLASH addr Mem addr Length Entry point |
178 | RedBoot 0x50000000 0x50000000 0x00020000 0x00000000 | 179 | RedBoot 0x50000000 0x50000000 0x00020000 0x00000000 |
179 | RedBoot config 0x503C0000 0x503C0000 0x00020000 0x00000000 | 180 | RedBoot config 0x503C0000 0x503C0000 0x00020000 0x00000000 |
180 | FIS directory 0x503E0000 0x503E0000 0x00020000 0x00000000 | 181 | FIS directory 0x503E0000 0x503E0000 0x00020000 0x00000000 |
181 | Linux kernel 0x50020000 0x00100000 0x000C0000 0x00000000 | 182 | Linux kernel 0x50020000 0x00100000 0x000C0000 0x00000000 |
182 | JFFS2 0x500E0000 0x500E0000 0x002E0000 0x00000000 | 183 | JFFS2 0x500E0000 0x500E0000 0x002E0000 0x00000000 |
183 | 184 | ||
184 | However Linux should display something like: | 185 | However Linux should display something like:: |
185 | 186 | ||
186 | SA1100 flash: probing 32-bit flash bus | 187 | SA1100 flash: probing 32-bit flash bus |
187 | SA1100 flash: Found 2 x16 devices at 0x0 in 32-bit mode | 188 | SA1100 flash: Found 2 x16 devices at 0x0 in 32-bit mode |
188 | Using RedBoot partition definition | 189 | Using RedBoot partition definition |
189 | Creating 5 MTD partitions on "SA1100 flash": | 190 | Creating 5 MTD partitions on "SA1100 flash": |
190 | 0x00000000-0x00020000 : "RedBoot" | 191 | 0x00000000-0x00020000 : "RedBoot" |
191 | 0x00020000-0x000e0000 : "Linux kernel" | 192 | 0x00020000-0x000e0000 : "Linux kernel" |
192 | 0x000e0000-0x003c0000 : "JFFS2" | 193 | 0x000e0000-0x003c0000 : "JFFS2" |
193 | 0x003c0000-0x003e0000 : "RedBoot config" | 194 | 0x003c0000-0x003e0000 : "RedBoot config" |
194 | 0x003e0000-0x00400000 : "FIS directory" | 195 | 0x003e0000-0x00400000 : "FIS directory" |
195 | 196 | ||
196 | What's important here is the position of the partition we are interested in, | 197 | What's important here is the position of the partition we are interested in, |
197 | which is the third one. Within Linux, this correspond to /dev/mtdblock2. | 198 | which is the third one. Within Linux, this correspond to /dev/mtdblock2. |
198 | Therefore to boot Linux with the kernel and its root filesystem in flash, we | 199 | Therefore to boot Linux with the kernel and its root filesystem in flash, we |
199 | need this RedBoot command: | 200 | need this RedBoot command:: |
200 | 201 | ||
201 | fis load "Linux kernel" | 202 | fis load "Linux kernel" |
202 | exec -b 0x100000 -l 0xc0000 -c "root=/dev/mtdblock2" | 203 | exec -b 0x100000 -l 0xc0000 -c "root=/dev/mtdblock2" |
@@ -218,21 +219,21 @@ time the Assabet is rebooted. Therefore it's possible to automate the boot | |||
218 | process using RedBoot's scripting capability. | 219 | process using RedBoot's scripting capability. |
219 | 220 | ||
220 | For example, I use this to boot Linux with both the kernel and the ramdisk | 221 | For example, I use this to boot Linux with both the kernel and the ramdisk |
221 | images retrieved from a TFTP server on the network: | 222 | images retrieved from a TFTP server on the network:: |
222 | 223 | ||
223 | RedBoot> fconfig | 224 | RedBoot> fconfig |
224 | Run script at boot: false true | 225 | Run script at boot: false true |
225 | Boot script: | 226 | Boot script: |
226 | Enter script, terminate with empty line | 227 | Enter script, terminate with empty line |
227 | >> load zImage -r -b 0x100000 | 228 | >> load zImage -r -b 0x100000 |
228 | >> load ramdisk_ks.gz -r -b 0x800000 | 229 | >> load ramdisk_ks.gz -r -b 0x800000 |
229 | >> exec -b 0x100000 -l 0xc0000 | 230 | >> exec -b 0x100000 -l 0xc0000 |
230 | >> | 231 | >> |
231 | Boot script timeout (1000ms resolution): 3 | 232 | Boot script timeout (1000ms resolution): 3 |
232 | Use BOOTP for network configuration: true | 233 | Use BOOTP for network configuration: true |
233 | GDB connection port: 9000 | 234 | GDB connection port: 9000 |
234 | Network debug at boot time: false | 235 | Network debug at boot time: false |
235 | Update RedBoot non-volatile configuration - are you sure (y/n)? y | 236 | Update RedBoot non-volatile configuration - are you sure (y/n)? y |
236 | 237 | ||
237 | Then, rebooting the Assabet is just a matter of waiting for the login prompt. | 238 | Then, rebooting the Assabet is just a matter of waiting for the login prompt. |
238 | 239 | ||
@@ -240,6 +241,7 @@ Then, rebooting the Assabet is just a matter of waiting for the login prompt. | |||
240 | 241 | ||
241 | Nicolas Pitre | 242 | Nicolas Pitre |
242 | nico@fluxnic.net | 243 | nico@fluxnic.net |
244 | |||
243 | June 12, 2001 | 245 | June 12, 2001 |
244 | 246 | ||
245 | 247 | ||
@@ -249,52 +251,51 @@ Status of peripherals in -rmk tree (updated 14/10/2001) | |||
249 | Assabet: | 251 | Assabet: |
250 | Serial ports: | 252 | Serial ports: |
251 | Radio: TX, RX, CTS, DSR, DCD, RI | 253 | Radio: TX, RX, CTS, DSR, DCD, RI |
252 | PM: Not tested. | 254 | - PM: Not tested. |
253 | COM: TX, RX, CTS, DSR, DCD, RTS, DTR, PM | 255 | - COM: TX, RX, CTS, DSR, DCD, RTS, DTR, PM |
254 | PM: Not tested. | 256 | - PM: Not tested. |
255 | I2C: Implemented, not fully tested. | 257 | - I2C: Implemented, not fully tested. |
256 | L3: Fully tested, pass. | 258 | - L3: Fully tested, pass. |
257 | PM: Not tested. | 259 | - PM: Not tested. |
258 | 260 | ||
259 | Video: | 261 | Video: |
260 | LCD: Fully tested. PM | 262 | - LCD: Fully tested. PM |
261 | (LCD doesn't like being blanked with | 263 | |
262 | neponset connected) | 264 | (LCD doesn't like being blanked with neponset connected) |
263 | Video out: Not fully | 265 | |
266 | - Video out: Not fully | ||
264 | 267 | ||
265 | Audio: | 268 | Audio: |
266 | UDA1341: | 269 | UDA1341: |
267 | Playback: Fully tested, pass. | 270 | - Playback: Fully tested, pass. |
268 | Record: Implemented, not tested. | 271 | - Record: Implemented, not tested. |
269 | PM: Not tested. | 272 | - PM: Not tested. |
270 | 273 | ||
271 | UCB1200: | 274 | UCB1200: |
272 | Audio play: Implemented, not heavily tested. | 275 | - Audio play: Implemented, not heavily tested. |
273 | Audio rec: Implemented, not heavily tested. | 276 | - Audio rec: Implemented, not heavily tested. |
274 | Telco audio play: Implemented, not heavily tested. | 277 | - Telco audio play: Implemented, not heavily tested. |
275 | Telco audio rec: Implemented, not heavily tested. | 278 | - Telco audio rec: Implemented, not heavily tested. |
276 | POTS control: No | 279 | - POTS control: No |
277 | Touchscreen: Yes | 280 | - Touchscreen: Yes |
278 | PM: Not tested. | 281 | - PM: Not tested. |
279 | 282 | ||
280 | Other: | 283 | Other: |
281 | PCMCIA: | 284 | - PCMCIA: |
282 | LPE: Fully tested, pass. | 285 | - LPE: Fully tested, pass. |
283 | USB: No | 286 | - USB: No |
284 | IRDA: | 287 | - IRDA: |
285 | SIR: Fully tested, pass. | 288 | - SIR: Fully tested, pass. |
286 | FIR: Fully tested, pass. | 289 | - FIR: Fully tested, pass. |
287 | PM: Not tested. | 290 | - PM: Not tested. |
288 | 291 | ||
289 | Neponset: | 292 | Neponset: |
290 | Serial ports: | 293 | Serial ports: |
291 | COM1,2: TX, RX, CTS, DSR, DCD, RTS, DTR | 294 | - COM1,2: TX, RX, CTS, DSR, DCD, RTS, DTR |
292 | PM: Not tested. | 295 | - PM: Not tested. |
293 | USB: Implemented, not heavily tested. | 296 | - USB: Implemented, not heavily tested. |
294 | PCMCIA: Implemented, not heavily tested. | 297 | - PCMCIA: Implemented, not heavily tested. |
295 | PM: Not tested. | 298 | - CF: Implemented, not heavily tested. |
296 | CF: Implemented, not heavily tested. | 299 | - PM: Not tested. |
297 | PM: Not tested. | ||
298 | 300 | ||
299 | More stuff can be found in the -np (Nicolas Pitre's) tree. | 301 | More stuff can be found in the -np (Nicolas Pitre's) tree. |
300 | |||
diff --git a/Documentation/arm/SA1100/Brutus b/Documentation/arm/sa1100/brutus.rst index 6a3aa95e9bfd..e1a23bee6d44 100644 --- a/Documentation/arm/SA1100/Brutus +++ b/Documentation/arm/sa1100/brutus.rst | |||
@@ -1,9 +1,13 @@ | |||
1 | Brutus is an evaluation platform for the SA1100 manufactured by Intel. | 1 | ====== |
2 | Brutus | ||
3 | ====== | ||
4 | |||
5 | Brutus is an evaluation platform for the SA1100 manufactured by Intel. | ||
2 | For more details, see: | 6 | For more details, see: |
3 | 7 | ||
4 | http://developer.intel.com | 8 | http://developer.intel.com |
5 | 9 | ||
6 | To compile for Brutus, you must issue the following commands: | 10 | To compile for Brutus, you must issue the following commands:: |
7 | 11 | ||
8 | make brutus_config | 12 | make brutus_config |
9 | make config | 13 | make config |
@@ -16,25 +20,23 @@ must be loaded at 0xc0008000 in Brutus's memory and execution started at | |||
16 | entry. | 20 | entry. |
17 | 21 | ||
18 | But prior to execute the kernel, a ramdisk image must also be loaded in | 22 | But prior to execute the kernel, a ramdisk image must also be loaded in |
19 | memory. Use memory address 0xd8000000 for this. Note that the file | 23 | memory. Use memory address 0xd8000000 for this. Note that the file |
20 | containing the (compressed) ramdisk image must not exceed 4 MB. | 24 | containing the (compressed) ramdisk image must not exceed 4 MB. |
21 | 25 | ||
22 | Typically, you'll need angelboot to load the kernel. | 26 | Typically, you'll need angelboot to load the kernel. |
23 | The following angelboot.opt file should be used: | 27 | The following angelboot.opt file should be used:: |
24 | 28 | ||
25 | ----- begin angelboot.opt ----- | 29 | base 0xc0008000 |
26 | base 0xc0008000 | 30 | entry 0xc0008000 |
27 | entry 0xc0008000 | 31 | r0 0x00000000 |
28 | r0 0x00000000 | 32 | r1 0x00000010 |
29 | r1 0x00000010 | 33 | device /dev/ttyS0 |
30 | device /dev/ttyS0 | 34 | options "9600 8N1" |
31 | options "9600 8N1" | 35 | baud 115200 |
32 | baud 115200 | 36 | otherfile ramdisk_img.gz |
33 | otherfile ramdisk_img.gz | 37 | otherbase 0xd8000000 |
34 | otherbase 0xd8000000 | 38 | |
35 | ----- end angelboot.opt ----- | 39 | Then load the kernel and ramdisk with:: |
36 | |||
37 | Then load the kernel and ramdisk with: | ||
38 | 40 | ||
39 | angelboot -f angelboot.opt zImage | 41 | angelboot -f angelboot.opt zImage |
40 | 42 | ||
@@ -44,14 +46,16 @@ console is provided through the second Brutus serial port. To access it, | |||
44 | you may use minicom configured with /dev/ttyS1, 9600 baud, 8N1, no flow | 46 | you may use minicom configured with /dev/ttyS1, 9600 baud, 8N1, no flow |
45 | control. | 47 | control. |
46 | 48 | ||
47 | Currently supported: | 49 | Currently supported |
50 | =================== | ||
51 | |||
48 | - RS232 serial ports | 52 | - RS232 serial ports |
49 | - audio output | 53 | - audio output |
50 | - LCD screen | 54 | - LCD screen |
51 | - keyboard | 55 | - keyboard |
52 | 56 | ||
53 | The actual Brutus support may not be complete without extra patches. | 57 | The actual Brutus support may not be complete without extra patches. |
54 | If such patches exist, they should be found from | 58 | If such patches exist, they should be found from |
55 | ftp.netwinder.org/users/n/nico. | 59 | ftp.netwinder.org/users/n/nico. |
56 | 60 | ||
57 | A full PCMCIA support is still missing, although it's possible to hack | 61 | A full PCMCIA support is still missing, although it's possible to hack |
@@ -63,4 +67,3 @@ Any contribution is welcome. | |||
63 | Please send patches to nico@fluxnic.net | 67 | Please send patches to nico@fluxnic.net |
64 | 68 | ||
65 | Have Fun ! | 69 | Have Fun ! |
66 | |||
diff --git a/Documentation/arm/SA1100/CERF b/Documentation/arm/sa1100/cerf.rst index b3d845301ef1..7fa71b609bf9 100644 --- a/Documentation/arm/SA1100/CERF +++ b/Documentation/arm/sa1100/cerf.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ============== | ||
2 | CerfBoard/Cube | ||
3 | ============== | ||
4 | |||
1 | *** The StrongARM version of the CerfBoard/Cube has been discontinued *** | 5 | *** The StrongARM version of the CerfBoard/Cube has been discontinued *** |
2 | 6 | ||
3 | The Intrinsyc CerfBoard is a StrongARM 1110-based computer on a board | 7 | The Intrinsyc CerfBoard is a StrongARM 1110-based computer on a board |
@@ -9,7 +13,9 @@ Intrinsyc website, http://www.intrinsyc.com. | |||
9 | This document describes the support in the Linux kernel for the | 13 | This document describes the support in the Linux kernel for the |
10 | Intrinsyc CerfBoard. | 14 | Intrinsyc CerfBoard. |
11 | 15 | ||
12 | Supported in this version: | 16 | Supported in this version |
17 | ========================= | ||
18 | |||
13 | - CompactFlash+ slot (select PCMCIA in General Setup and any options | 19 | - CompactFlash+ slot (select PCMCIA in General Setup and any options |
14 | that may be required) | 20 | that may be required) |
15 | - Onboard Crystal CS8900 Ethernet controller (Cerf CS8900A support in | 21 | - Onboard Crystal CS8900 Ethernet controller (Cerf CS8900A support in |
@@ -19,7 +25,7 @@ Supported in this version: | |||
19 | In order to get this kernel onto your Cerf, you need a server that runs | 25 | In order to get this kernel onto your Cerf, you need a server that runs |
20 | both BOOTP and TFTP. Detailed instructions should have come with your | 26 | both BOOTP and TFTP. Detailed instructions should have come with your |
21 | evaluation kit on how to use the bootloader. This series of commands | 27 | evaluation kit on how to use the bootloader. This series of commands |
22 | will suffice: | 28 | will suffice:: |
23 | 29 | ||
24 | make ARCH=arm CROSS_COMPILE=arm-linux- cerfcube_defconfig | 30 | make ARCH=arm CROSS_COMPILE=arm-linux- cerfcube_defconfig |
25 | make ARCH=arm CROSS_COMPILE=arm-linux- zImage | 31 | make ARCH=arm CROSS_COMPILE=arm-linux- zImage |
diff --git a/Documentation/arm/sa1100/freebird.rst b/Documentation/arm/sa1100/freebird.rst new file mode 100644 index 000000000000..81043d0c6d64 --- /dev/null +++ b/Documentation/arm/sa1100/freebird.rst | |||
@@ -0,0 +1,25 @@ | |||
1 | ======== | ||
2 | Freebird | ||
3 | ======== | ||
4 | |||
5 | Freebird-1.1 is produced by Legend(C), Inc. | ||
6 | `http://web.archive.org/web/*/http://www.legend.com.cn` | ||
7 | and software/linux maintained by Coventive(C), Inc. | ||
8 | (http://www.coventive.com) | ||
9 | |||
10 | Based on the Nicolas's strongarm kernel tree. | ||
11 | |||
12 | Maintainer: | ||
13 | |||
14 | Chester Kuo | ||
15 | - <chester@coventive.com> | ||
16 | - <chester@linux.org.tw> | ||
17 | |||
18 | Author: | ||
19 | |||
20 | - Tim wu <timwu@coventive.com> | ||
21 | - CIH <cih@coventive.com> | ||
22 | - Eric Peng <ericpeng@coventive.com> | ||
23 | - Jeff Lee <jeff_lee@coventive.com> | ||
24 | - Allen Cheng | ||
25 | - Tony Liu <tonyliu@coventive.com> | ||
diff --git a/Documentation/arm/SA1100/GraphicsClient b/Documentation/arm/sa1100/graphicsclient.rst index 867bb35943af..a73d61c3ce91 100644 --- a/Documentation/arm/SA1100/GraphicsClient +++ b/Documentation/arm/sa1100/graphicsclient.rst | |||
@@ -1,9 +1,11 @@ | |||
1 | ============================================= | ||
1 | ADS GraphicsClient Plus Single Board Computer | 2 | ADS GraphicsClient Plus Single Board Computer |
3 | ============================================= | ||
2 | 4 | ||
3 | For more details, contact Applied Data Systems or see | 5 | For more details, contact Applied Data Systems or see |
4 | http://www.applieddata.net/products.html | 6 | http://www.applieddata.net/products.html |
5 | 7 | ||
6 | The original Linux support for this product has been provided by | 8 | The original Linux support for this product has been provided by |
7 | Nicolas Pitre <nico@fluxnic.net>. Continued development work by | 9 | Nicolas Pitre <nico@fluxnic.net>. Continued development work by |
8 | Woojung Huh <whuh@applieddata.net> | 10 | Woojung Huh <whuh@applieddata.net> |
9 | 11 | ||
@@ -14,8 +16,8 @@ board supports MTD/JFFS, so you could also mount something on there. | |||
14 | Use 'make graphicsclient_config' before any 'make config'. This will set up | 16 | Use 'make graphicsclient_config' before any 'make config'. This will set up |
15 | defaults for GraphicsClient Plus support. | 17 | defaults for GraphicsClient Plus support. |
16 | 18 | ||
17 | The kernel zImage is linked to be loaded and executed at 0xc0200000. | 19 | The kernel zImage is linked to be loaded and executed at 0xc0200000. |
18 | Also the following registers should have the specified values upon entry: | 20 | Also the following registers should have the specified values upon entry:: |
19 | 21 | ||
20 | r0 = 0 | 22 | r0 = 0 |
21 | r1 = 29 (this is the GraphicsClient architecture number) | 23 | r1 = 29 (this is the GraphicsClient architecture number) |
@@ -31,23 +33,21 @@ as outlined below. In any case, if you're planning on deploying | |||
31 | something en masse, you should probably get the newer board. | 33 | something en masse, you should probably get the newer board. |
32 | 34 | ||
33 | If using Angel on the older boards, here is a typical angel.opt option file | 35 | If using Angel on the older boards, here is a typical angel.opt option file |
34 | if the kernel is loaded through the Angel Debug Monitor: | 36 | if the kernel is loaded through the Angel Debug Monitor:: |
35 | 37 | ||
36 | ----- begin angelboot.opt ----- | 38 | base 0xc0200000 |
37 | base 0xc0200000 | 39 | entry 0xc0200000 |
38 | entry 0xc0200000 | 40 | r0 0x00000000 |
39 | r0 0x00000000 | 41 | r1 0x0000001d |
40 | r1 0x0000001d | 42 | device /dev/ttyS1 |
41 | device /dev/ttyS1 | 43 | options "38400 8N1" |
42 | options "38400 8N1" | 44 | baud 115200 |
43 | baud 115200 | 45 | #otherfile ramdisk.gz |
44 | #otherfile ramdisk.gz | 46 | #otherbase 0xc0800000 |
45 | #otherbase 0xc0800000 | 47 | exec minicom |
46 | exec minicom | ||
47 | ----- end angelboot.opt ----- | ||
48 | 48 | ||
49 | Then the kernel (and ramdisk if otherfile/otherbase lines above are | 49 | Then the kernel (and ramdisk if otherfile/otherbase lines above are |
50 | uncommented) would be loaded with: | 50 | uncommented) would be loaded with:: |
51 | 51 | ||
52 | angelboot -f angelboot.opt zImage | 52 | angelboot -f angelboot.opt zImage |
53 | 53 | ||
@@ -59,7 +59,9 @@ If any other bootloader is used, ensure it accomplish the same, especially | |||
59 | for r0/r1 register values before jumping into the kernel. | 59 | for r0/r1 register values before jumping into the kernel. |
60 | 60 | ||
61 | 61 | ||
62 | Supported peripherals: | 62 | Supported peripherals |
63 | ===================== | ||
64 | |||
63 | - SA1100 LCD frame buffer (8/16bpp...sort of) | 65 | - SA1100 LCD frame buffer (8/16bpp...sort of) |
64 | - on-board SMC 92C96 ethernet NIC | 66 | - on-board SMC 92C96 ethernet NIC |
65 | - SA1100 serial port | 67 | - SA1100 serial port |
@@ -74,11 +76,14 @@ Supported peripherals: | |||
74 | See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation | 76 | See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation |
75 | and example user space code. ps/2 keybd is multiplexed through this driver | 77 | and example user space code. ps/2 keybd is multiplexed through this driver |
76 | 78 | ||
77 | To do: | 79 | To do |
80 | ===== | ||
81 | |||
78 | - UCB1200 audio with new ucb_generic layer | 82 | - UCB1200 audio with new ucb_generic layer |
79 | - everything else! :-) | 83 | - everything else! :-) |
80 | 84 | ||
81 | Notes: | 85 | Notes |
86 | ===== | ||
82 | 87 | ||
83 | - The flash on board is divided into 3 partitions. mtd0 is where | 88 | - The flash on board is divided into 3 partitions. mtd0 is where |
84 | the ADS boot ROM and zImage is stored. It's been marked as | 89 | the ADS boot ROM and zImage is stored. It's been marked as |
@@ -95,4 +100,3 @@ Notes: | |||
95 | fixed soon. | 100 | fixed soon. |
96 | 101 | ||
97 | Any contribution can be sent to nico@fluxnic.net and will be greatly welcome! | 102 | Any contribution can be sent to nico@fluxnic.net and will be greatly welcome! |
98 | |||
diff --git a/Documentation/arm/SA1100/GraphicsMaster b/Documentation/arm/sa1100/graphicsmaster.rst index 9145088a0ba2..e39892514f0c 100644 --- a/Documentation/arm/SA1100/GraphicsMaster +++ b/Documentation/arm/sa1100/graphicsmaster.rst | |||
@@ -1,4 +1,6 @@ | |||
1 | ======================================== | ||
1 | ADS GraphicsMaster Single Board Computer | 2 | ADS GraphicsMaster Single Board Computer |
3 | ======================================== | ||
2 | 4 | ||
3 | For more details, contact Applied Data Systems or see | 5 | For more details, contact Applied Data Systems or see |
4 | http://www.applieddata.net/products.html | 6 | http://www.applieddata.net/products.html |
@@ -15,7 +17,9 @@ The kernel zImage is linked to be loaded and executed at 0xc0400000. | |||
15 | Linux can be used with the ADS BootLoader that ships with the | 17 | Linux can be used with the ADS BootLoader that ships with the |
16 | newer rev boards. See their documentation on how to load Linux. | 18 | newer rev boards. See their documentation on how to load Linux. |
17 | 19 | ||
18 | Supported peripherals: | 20 | Supported peripherals |
21 | ===================== | ||
22 | |||
19 | - SA1100 LCD frame buffer (8/16bpp...sort of) | 23 | - SA1100 LCD frame buffer (8/16bpp...sort of) |
20 | - SA1111 USB Master | 24 | - SA1111 USB Master |
21 | - on-board SMC 92C96 ethernet NIC | 25 | - on-board SMC 92C96 ethernet NIC |
@@ -31,10 +35,13 @@ Supported peripherals: | |||
31 | See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation | 35 | See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation |
32 | and example user space code. ps/2 keybd is multiplexed through this driver | 36 | and example user space code. ps/2 keybd is multiplexed through this driver |
33 | 37 | ||
34 | To do: | 38 | To do |
39 | ===== | ||
40 | |||
35 | - everything else! :-) | 41 | - everything else! :-) |
36 | 42 | ||
37 | Notes: | 43 | Notes |
44 | ===== | ||
38 | 45 | ||
39 | - The flash on board is divided into 3 partitions. mtd0 is where | 46 | - The flash on board is divided into 3 partitions. mtd0 is where |
40 | the zImage is stored. It's been marked as read-only to keep you | 47 | the zImage is stored. It's been marked as read-only to keep you |
diff --git a/Documentation/arm/SA1100/HUW_WEBPANEL b/Documentation/arm/sa1100/huw_webpanel.rst index fd56b48d4833..1dc7ccb165f0 100644 --- a/Documentation/arm/SA1100/HUW_WEBPANEL +++ b/Documentation/arm/sa1100/huw_webpanel.rst | |||
@@ -1,9 +1,14 @@ | |||
1 | ======================= | ||
2 | Hoeft & Wessel Webpanel | ||
3 | ======================= | ||
4 | |||
1 | The HUW_WEBPANEL is a product of the german company Hoeft & Wessel AG | 5 | The HUW_WEBPANEL is a product of the german company Hoeft & Wessel AG |
2 | 6 | ||
3 | If you want more information, please visit | 7 | If you want more information, please visit |
4 | http://www.hoeft-wessel.de | 8 | http://www.hoeft-wessel.de |
5 | 9 | ||
6 | To build the kernel: | 10 | To build the kernel:: |
11 | |||
7 | make huw_webpanel_config | 12 | make huw_webpanel_config |
8 | make oldconfig | 13 | make oldconfig |
9 | [accept all defaults] | 14 | [accept all defaults] |
@@ -14,4 +19,3 @@ Roman Jordan jor@hoeft-wessel.de | |||
14 | Christoph Schulz schu@hoeft-wessel.de | 19 | Christoph Schulz schu@hoeft-wessel.de |
15 | 20 | ||
16 | 2000/12/18/ | 21 | 2000/12/18/ |
17 | |||
diff --git a/Documentation/arm/sa1100/index.rst b/Documentation/arm/sa1100/index.rst new file mode 100644 index 000000000000..fb2385b3accf --- /dev/null +++ b/Documentation/arm/sa1100/index.rst | |||
@@ -0,0 +1,23 @@ | |||
1 | ==================== | ||
2 | Intel StrongARM 1100 | ||
3 | ==================== | ||
4 | |||
5 | .. toctree:: | ||
6 | :maxdepth: 1 | ||
7 | |||
8 | adsbitsy | ||
9 | assabet | ||
10 | brutus | ||
11 | cerf | ||
12 | freebird | ||
13 | graphicsclient | ||
14 | graphicsmaster | ||
15 | huw_webpanel | ||
16 | itsy | ||
17 | lart | ||
18 | nanoengine | ||
19 | pangolin | ||
20 | pleb | ||
21 | serial_uart | ||
22 | tifon | ||
23 | yopy | ||
diff --git a/Documentation/arm/SA1100/Itsy b/Documentation/arm/sa1100/itsy.rst index 44b94997fa0d..f49896ba3ef1 100644 --- a/Documentation/arm/SA1100/Itsy +++ b/Documentation/arm/sa1100/itsy.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ==== | ||
2 | Itsy | ||
3 | ==== | ||
4 | |||
1 | Itsy is a research project done by the Western Research Lab, and Systems | 5 | Itsy is a research project done by the Western Research Lab, and Systems |
2 | Research Center in Palo Alto, CA. The Itsy project is one of several | 6 | Research Center in Palo Alto, CA. The Itsy project is one of several |
3 | research projects at Compaq that are related to pocket computing. | 7 | research projects at Compaq that are related to pocket computing. |
@@ -7,6 +11,7 @@ For more information, see: | |||
7 | http://www.hpl.hp.com/downloads/crl/itsy/ | 11 | http://www.hpl.hp.com/downloads/crl/itsy/ |
8 | 12 | ||
9 | Notes on initial 2.4 Itsy support (8/27/2000) : | 13 | Notes on initial 2.4 Itsy support (8/27/2000) : |
14 | |||
10 | The port was done on an Itsy version 1.5 machine with a daughtercard with | 15 | The port was done on an Itsy version 1.5 machine with a daughtercard with |
11 | 64 Meg of DRAM and 32 Meg of Flash. The initial work includes support for | 16 | 64 Meg of DRAM and 32 Meg of Flash. The initial work includes support for |
12 | serial console (to see what you're doing). No other devices have been | 17 | serial console (to see what you're doing). No other devices have been |
@@ -18,8 +23,10 @@ Finally, you will need to cd to arch/arm/boot/tools and execute a make there | |||
18 | to build the params-itsy program used to boot the kernel. | 23 | to build the params-itsy program used to boot the kernel. |
19 | 24 | ||
20 | In order to install the port of 2.4 to the itsy, You will need to set the | 25 | In order to install the port of 2.4 to the itsy, You will need to set the |
21 | configuration parameters in the monitor as follows: | 26 | configuration parameters in the monitor as follows:: |
22 | Arg 1:0x08340000, Arg2: 0xC0000000, Arg3:18 (0x12), Arg4:0 | 27 | |
28 | Arg 1:0x08340000, Arg2: 0xC0000000, Arg3:18 (0x12), Arg4:0 | ||
29 | |||
23 | Make sure the start-routine address is set to 0x00060000. | 30 | Make sure the start-routine address is set to 0x00060000. |
24 | 31 | ||
25 | Next, flash the params-itsy program to 0x00060000 ("p 1 0x00060000" in the | 32 | Next, flash the params-itsy program to 0x00060000 ("p 1 0x00060000" in the |
@@ -29,7 +36,8 @@ flash menu) Flash the kernel in arch/arm/boot/zImage into 0x08340000 | |||
29 | handhelds.org. | 36 | handhelds.org. |
30 | 37 | ||
31 | The serial connection we established was at: | 38 | The serial connection we established was at: |
32 | 8-bit data, no parity, 1 stop bit(s), 115200.00 b/s. in the monitor, in the | 39 | |
40 | 8-bit data, no parity, 1 stop bit(s), 115200.00 b/s. in the monitor, in the | ||
33 | params-itsy program, and in the kernel itself. This can be changed, but | 41 | params-itsy program, and in the kernel itself. This can be changed, but |
34 | not easily. The monitor parameters are easily changed, the params program | 42 | not easily. The monitor parameters are easily changed, the params program |
35 | setup is assembly outl's, and the kernel is a configuration item specific to | 43 | setup is assembly outl's, and the kernel is a configuration item specific to |
diff --git a/Documentation/arm/SA1100/LART b/Documentation/arm/sa1100/lart.rst index 6d412b685598..94c0568d1095 100644 --- a/Documentation/arm/SA1100/LART +++ b/Documentation/arm/sa1100/lart.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | ==================================== | ||
1 | Linux Advanced Radio Terminal (LART) | 2 | Linux Advanced Radio Terminal (LART) |
2 | ------------------------------------ | 3 | ==================================== |
3 | 4 | ||
4 | The LART is a small (7.5 x 10cm) SA-1100 board, designed for embedded | 5 | The LART is a small (7.5 x 10cm) SA-1100 board, designed for embedded |
5 | applications. It has 32 MB DRAM, 4MB Flash ROM, double RS232 and all | 6 | applications. It has 32 MB DRAM, 4MB Flash ROM, double RS232 and all |
diff --git a/Documentation/arm/SA1100/nanoEngine b/Documentation/arm/sa1100/nanoengine.rst index 48a7934f95f6..47f1a14cf98a 100644 --- a/Documentation/arm/SA1100/nanoEngine +++ b/Documentation/arm/sa1100/nanoengine.rst | |||
@@ -1,11 +1,11 @@ | |||
1 | ========== | ||
1 | nanoEngine | 2 | nanoEngine |
2 | ---------- | 3 | ========== |
3 | 4 | ||
4 | "nanoEngine" is a SA1110 based single board computer from | 5 | "nanoEngine" is a SA1110 based single board computer from |
5 | Bright Star Engineering Inc. See www.brightstareng.com/arm | 6 | Bright Star Engineering Inc. See www.brightstareng.com/arm |
6 | for more info. | 7 | for more info. |
7 | (Ref: Stuart Adams <sja@brightstareng.com>) | 8 | (Ref: Stuart Adams <sja@brightstareng.com>) |
8 | 9 | ||
9 | Also visit Larry Doolittle's "Linux for the nanoEngine" site: | 10 | Also visit Larry Doolittle's "Linux for the nanoEngine" site: |
10 | http://www.brightstareng.com/arm/nanoeng.htm | 11 | http://www.brightstareng.com/arm/nanoeng.htm |
11 | |||
diff --git a/Documentation/arm/SA1100/Pangolin b/Documentation/arm/sa1100/pangolin.rst index 077a6120e129..f0c5c1618553 100644 --- a/Documentation/arm/SA1100/Pangolin +++ b/Documentation/arm/sa1100/pangolin.rst | |||
@@ -1,16 +1,22 @@ | |||
1 | ======== | ||
2 | Pangolin | ||
3 | ======== | ||
4 | |||
1 | Pangolin is a StrongARM 1110-based evaluation platform produced | 5 | Pangolin is a StrongARM 1110-based evaluation platform produced |
2 | by Dialogue Technology (http://www.dialogue.com.tw/). | 6 | by Dialogue Technology (http://www.dialogue.com.tw/). |
3 | It has EISA slots for ease of configuration with SDRAM/Flash | 7 | It has EISA slots for ease of configuration with SDRAM/Flash |
4 | memory card, USB/Serial/Audio card, Compact Flash card, | 8 | memory card, USB/Serial/Audio card, Compact Flash card, |
5 | PCMCIA/IDE card and TFT-LCD card. | 9 | PCMCIA/IDE card and TFT-LCD card. |
6 | 10 | ||
7 | To compile for Pangolin, you must issue the following commands: | 11 | To compile for Pangolin, you must issue the following commands:: |
8 | 12 | ||
9 | make pangolin_config | 13 | make pangolin_config |
10 | make oldconfig | 14 | make oldconfig |
11 | make zImage | 15 | make zImage |
12 | 16 | ||
13 | Supported peripherals: | 17 | Supported peripherals |
18 | ===================== | ||
19 | |||
14 | - SA1110 serial port (UART1/UART2/UART3) | 20 | - SA1110 serial port (UART1/UART2/UART3) |
15 | - flash memory access | 21 | - flash memory access |
16 | - compact flash driver | 22 | - compact flash driver |
diff --git a/Documentation/arm/SA1100/PLEB b/Documentation/arm/sa1100/pleb.rst index b9c8a631a351..d5b732967aa3 100644 --- a/Documentation/arm/SA1100/PLEB +++ b/Documentation/arm/sa1100/pleb.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ==== | ||
2 | PLEB | ||
3 | ==== | ||
4 | |||
1 | The PLEB project was started as a student initiative at the School of | 5 | The PLEB project was started as a student initiative at the School of |
2 | Computer Science and Engineering, University of New South Wales to make a | 6 | Computer Science and Engineering, University of New South Wales to make a |
3 | pocket computer capable of running the Linux Kernel. | 7 | pocket computer capable of running the Linux Kernel. |
@@ -7,5 +11,3 @@ PLEB support has yet to be fully integrated. | |||
7 | For more information, see: | 11 | For more information, see: |
8 | 12 | ||
9 | http://www.cse.unsw.edu.au | 13 | http://www.cse.unsw.edu.au |
10 | |||
11 | |||
diff --git a/Documentation/arm/sa1100/serial_uart.rst b/Documentation/arm/sa1100/serial_uart.rst new file mode 100644 index 000000000000..ea983642b9be --- /dev/null +++ b/Documentation/arm/sa1100/serial_uart.rst | |||
@@ -0,0 +1,51 @@ | |||
1 | ================== | ||
2 | SA1100 serial port | ||
3 | ================== | ||
4 | |||
5 | The SA1100 serial port had its major/minor numbers officially assigned:: | ||
6 | |||
7 | > Date: Sun, 24 Sep 2000 21:40:27 -0700 | ||
8 | > From: H. Peter Anvin <hpa@transmeta.com> | ||
9 | > To: Nicolas Pitre <nico@CAM.ORG> | ||
10 | > Cc: Device List Maintainer <device@lanana.org> | ||
11 | > Subject: Re: device | ||
12 | > | ||
13 | > Okay. Note that device numbers 204 and 205 are used for "low density | ||
14 | > serial devices", so you will have a range of minors on those majors (the | ||
15 | > tty device layer handles this just fine, so you don't have to worry about | ||
16 | > doing anything special.) | ||
17 | > | ||
18 | > So your assignments are: | ||
19 | > | ||
20 | > 204 char Low-density serial ports | ||
21 | > 5 = /dev/ttySA0 SA1100 builtin serial port 0 | ||
22 | > 6 = /dev/ttySA1 SA1100 builtin serial port 1 | ||
23 | > 7 = /dev/ttySA2 SA1100 builtin serial port 2 | ||
24 | > | ||
25 | > 205 char Low-density serial ports (alternate device) | ||
26 | > 5 = /dev/cusa0 Callout device for ttySA0 | ||
27 | > 6 = /dev/cusa1 Callout device for ttySA1 | ||
28 | > 7 = /dev/cusa2 Callout device for ttySA2 | ||
29 | > | ||
30 | |||
31 | You must create those inodes in /dev on the root filesystem used | ||
32 | by your SA1100-based device:: | ||
33 | |||
34 | mknod ttySA0 c 204 5 | ||
35 | mknod ttySA1 c 204 6 | ||
36 | mknod ttySA2 c 204 7 | ||
37 | mknod cusa0 c 205 5 | ||
38 | mknod cusa1 c 205 6 | ||
39 | mknod cusa2 c 205 7 | ||
40 | |||
41 | In addition to the creation of the appropriate device nodes above, you | ||
42 | must ensure your user space applications make use of the correct device | ||
43 | name. The classic example is the content of the /etc/inittab file where | ||
44 | you might have a getty process started on ttyS0. | ||
45 | |||
46 | In this case: | ||
47 | |||
48 | - replace occurrences of ttyS0 with ttySA0, ttyS1 with ttySA1, etc. | ||
49 | |||
50 | - don't forget to add 'ttySA0', 'console', or the appropriate tty name | ||
51 | in /etc/securetty for root to be allowed to login as well. | ||
diff --git a/Documentation/arm/SA1100/Tifon b/Documentation/arm/sa1100/tifon.rst index dd1934d9c851..c26e910b9ea7 100644 --- a/Documentation/arm/SA1100/Tifon +++ b/Documentation/arm/sa1100/tifon.rst | |||
@@ -1,7 +1,7 @@ | |||
1 | ===== | ||
1 | Tifon | 2 | Tifon |
2 | ----- | 3 | ===== |
3 | 4 | ||
4 | More info has to come... | 5 | More info has to come... |
5 | 6 | ||
6 | Contact: Peter Danielsson <peter.danielsson@era-t.ericsson.se> | 7 | Contact: Peter Danielsson <peter.danielsson@era-t.ericsson.se> |
7 | |||
diff --git a/Documentation/arm/SA1100/Yopy b/Documentation/arm/sa1100/yopy.rst index e14f16d836ac..5b35a5f61a44 100644 --- a/Documentation/arm/SA1100/Yopy +++ b/Documentation/arm/sa1100/yopy.rst | |||
@@ -1,2 +1,5 @@ | |||
1 | See http://www.yopydeveloper.org for more. | 1 | ==== |
2 | Yopy | ||
3 | ==== | ||
2 | 4 | ||
5 | See http://www.yopydeveloper.org for more. | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/CPUfreq.txt b/Documentation/arm/samsung-s3c24xx/cpufreq.rst index fa968aa99d67..2ddc26c03b1f 100644 --- a/Documentation/arm/Samsung-S3C24XX/CPUfreq.txt +++ b/Documentation/arm/samsung-s3c24xx/cpufreq.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX CPUfreq support | 1 | ======================= |
2 | ======================= | 2 | S3C24XX CPUfreq support |
3 | ======================= | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
diff --git a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt b/Documentation/arm/samsung-s3c24xx/eb2410itx.rst index b87292e05f2f..7863c93652f8 100644 --- a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt +++ b/Documentation/arm/samsung-s3c24xx/eb2410itx.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | Simtec Electronics EB2410ITX (BAST) | 1 | =================================== |
2 | =================================== | 2 | Simtec Electronics EB2410ITX (BAST) |
3 | =================================== | ||
3 | 4 | ||
4 | http://www.simtec.co.uk/products/EB2410ITX/ | 5 | http://www.simtec.co.uk/products/EB2410ITX/ |
5 | 6 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/samsung-s3c24xx/gpio.rst index e8f918b96123..f7c3d7d011a2 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/samsung-s3c24xx/gpio.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX GPIO Control | 1 | ==================== |
2 | ==================== | 2 | S3C24XX GPIO Control |
3 | ==================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -12,7 +13,7 @@ Introduction | |||
12 | of the s3c2410 GPIO system, please read the Samsung provided | 13 | of the s3c2410 GPIO system, please read the Samsung provided |
13 | data-sheet/users manual to find out the complete list. | 14 | data-sheet/users manual to find out the complete list. |
14 | 15 | ||
15 | See Documentation/arm/Samsung/GPIO.txt for the core implementation. | 16 | See Documentation/arm/samsung/gpio.rst for the core implementation. |
16 | 17 | ||
17 | 18 | ||
18 | GPIOLIB | 19 | GPIOLIB |
@@ -26,16 +27,16 @@ GPIOLIB | |||
26 | listed below will be removed (they may be marked as __deprecated | 27 | listed below will be removed (they may be marked as __deprecated |
27 | in the near future). | 28 | in the near future). |
28 | 29 | ||
29 | The following functions now either have a s3c_ specific variant | 30 | The following functions now either have a `s3c_` specific variant |
30 | or are merged into gpiolib. See the definitions in | 31 | or are merged into gpiolib. See the definitions in |
31 | arch/arm/plat-samsung/include/plat/gpio-cfg.h: | 32 | arch/arm/plat-samsung/include/plat/gpio-cfg.h: |
32 | 33 | ||
33 | s3c2410_gpio_setpin() gpio_set_value() or gpio_direction_output() | 34 | - s3c2410_gpio_setpin() gpio_set_value() or gpio_direction_output() |
34 | s3c2410_gpio_getpin() gpio_get_value() or gpio_direction_input() | 35 | - s3c2410_gpio_getpin() gpio_get_value() or gpio_direction_input() |
35 | s3c2410_gpio_getirq() gpio_to_irq() | 36 | - s3c2410_gpio_getirq() gpio_to_irq() |
36 | s3c2410_gpio_cfgpin() s3c_gpio_cfgpin() | 37 | - s3c2410_gpio_cfgpin() s3c_gpio_cfgpin() |
37 | s3c2410_gpio_getcfg() s3c_gpio_getcfg() | 38 | - s3c2410_gpio_getcfg() s3c_gpio_getcfg() |
38 | s3c2410_gpio_pullup() s3c_gpio_setpull() | 39 | - s3c2410_gpio_pullup() s3c_gpio_setpull() |
39 | 40 | ||
40 | 41 | ||
41 | GPIOLIB conversion | 42 | GPIOLIB conversion |
@@ -77,7 +78,7 @@ out s3c2410 API, then here are some notes on the process. | |||
77 | 6) s3c2410_gpio_getirq() should be directly replaceable with the | 78 | 6) s3c2410_gpio_getirq() should be directly replaceable with the |
78 | gpio_to_irq() call. | 79 | gpio_to_irq() call. |
79 | 80 | ||
80 | The s3c2410_gpio and gpio_ calls have always operated on the same gpio | 81 | The s3c2410_gpio and `gpio_` calls have always operated on the same gpio |
81 | numberspace, so there is no problem with converting the gpio numbering | 82 | numberspace, so there is no problem with converting the gpio numbering |
82 | between the calls. | 83 | between the calls. |
83 | 84 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/H1940.txt b/Documentation/arm/samsung-s3c24xx/h1940.rst index b738859b1fc0..62a562c178e3 100644 --- a/Documentation/arm/Samsung-S3C24XX/H1940.txt +++ b/Documentation/arm/samsung-s3c24xx/h1940.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | HP IPAQ H1940 | 1 | ============= |
2 | ============= | 2 | HP IPAQ H1940 |
3 | ============= | ||
3 | 4 | ||
4 | http://www.handhelds.org/projects/h1940.html | 5 | http://www.handhelds.org/projects/h1940.html |
5 | 6 | ||
diff --git a/Documentation/arm/samsung-s3c24xx/index.rst b/Documentation/arm/samsung-s3c24xx/index.rst new file mode 100644 index 000000000000..6c7b241cbf37 --- /dev/null +++ b/Documentation/arm/samsung-s3c24xx/index.rst | |||
@@ -0,0 +1,18 @@ | |||
1 | ========================== | ||
2 | Samsung S3C24XX SoC Family | ||
3 | ========================== | ||
4 | |||
5 | .. toctree:: | ||
6 | :maxdepth: 1 | ||
7 | |||
8 | h1940 | ||
9 | gpio | ||
10 | cpufreq | ||
11 | suspend | ||
12 | usb-host | ||
13 | s3c2412 | ||
14 | eb2410itx | ||
15 | nand | ||
16 | smdk2440 | ||
17 | s3c2413 | ||
18 | overview | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/NAND.txt b/Documentation/arm/samsung-s3c24xx/nand.rst index bc478a3409b8..938995694ee7 100644 --- a/Documentation/arm/Samsung-S3C24XX/NAND.txt +++ b/Documentation/arm/samsung-s3c24xx/nand.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX NAND Support | 1 | ==================== |
2 | ==================== | 2 | S3C24XX NAND Support |
3 | ==================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -27,4 +28,3 @@ Document Author | |||
27 | --------------- | 28 | --------------- |
28 | 29 | ||
29 | Ben Dooks, Copyright 2007 Simtec Electronics | 30 | Ben Dooks, Copyright 2007 Simtec Electronics |
30 | |||
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/samsung-s3c24xx/overview.rst index 00d3c3141e21..e9a1dc7276b5 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/samsung-s3c24xx/overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX ARM Linux Overview | 1 | ========================== |
2 | ========================== | 2 | S3C24XX ARM Linux Overview |
3 | ========================== | ||
3 | 4 | ||
4 | 5 | ||
5 | 6 | ||
@@ -182,7 +183,7 @@ NAND | |||
182 | controller. If there are any problems the latest linux-mtd | 183 | controller. If there are any problems the latest linux-mtd |
183 | code can be found from http://www.linux-mtd.infradead.org/ | 184 | code can be found from http://www.linux-mtd.infradead.org/ |
184 | 185 | ||
185 | For more information see Documentation/arm/Samsung-S3C24XX/NAND.txt | 186 | For more information see Documentation/arm/samsung-s3c24xx/nand.rst |
186 | 187 | ||
187 | 188 | ||
188 | SD/MMC | 189 | SD/MMC |
@@ -221,8 +222,8 @@ GPIO | |||
221 | As of v2.6.34, the move towards using gpiolib support is almost | 222 | As of v2.6.34, the move towards using gpiolib support is almost |
222 | complete, and very little of the old calls are left. | 223 | complete, and very little of the old calls are left. |
223 | 224 | ||
224 | See Documentation/arm/Samsung-S3C24XX/GPIO.txt for the S3C24XX specific | 225 | See Documentation/arm/samsung-s3c24xx/gpio.rst for the S3C24XX specific |
225 | support and Documentation/arm/Samsung/GPIO.txt for the core Samsung | 226 | support and Documentation/arm/samsung/gpio.rst for the core Samsung |
226 | implementation. | 227 | implementation. |
227 | 228 | ||
228 | 229 | ||
@@ -276,18 +277,18 @@ Platform Data | |||
276 | kmalloc()s an area of memory, and copies the __initdata | 277 | kmalloc()s an area of memory, and copies the __initdata |
277 | and then sets the relevant device's platform data. Making | 278 | and then sets the relevant device's platform data. Making |
278 | the function `__init` takes care of ensuring it is discarded | 279 | the function `__init` takes care of ensuring it is discarded |
279 | with the rest of the initialisation code | 280 | with the rest of the initialisation code:: |
280 | 281 | ||
281 | static __init void s3c24xx_xxx_set_platdata(struct xxx_data *pd) | 282 | static __init void s3c24xx_xxx_set_platdata(struct xxx_data *pd) |
282 | { | 283 | { |
283 | struct s3c2410_xxx_mach_info *npd; | 284 | struct s3c2410_xxx_mach_info *npd; |
284 | 285 | ||
285 | npd = kmalloc(sizeof(struct s3c2410_xxx_mach_info), GFP_KERNEL); | 286 | npd = kmalloc(sizeof(struct s3c2410_xxx_mach_info), GFP_KERNEL); |
286 | if (npd) { | 287 | if (npd) { |
287 | memcpy(npd, pd, sizeof(struct s3c2410_xxx_mach_info)); | 288 | memcpy(npd, pd, sizeof(struct s3c2410_xxx_mach_info)); |
288 | s3c_device_xxx.dev.platform_data = npd; | 289 | s3c_device_xxx.dev.platform_data = npd; |
289 | } else { | 290 | } else { |
290 | printk(KERN_ERR "no memory for xxx platform data\n"); | 291 | printk(KERN_ERR "no memory for xxx platform data\n"); |
291 | } | 292 | } |
292 | } | 293 | } |
293 | 294 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt b/Documentation/arm/samsung-s3c24xx/s3c2412.rst index dc1fd362d3c1..68b985fc6bf4 100644 --- a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt +++ b/Documentation/arm/samsung-s3c24xx/s3c2412.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C2412 ARM Linux Overview | 1 | ========================== |
2 | ========================== | 2 | S3C2412 ARM Linux Overview |
3 | ========================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
diff --git a/Documentation/arm/Samsung-S3C24XX/S3C2413.txt b/Documentation/arm/samsung-s3c24xx/s3c2413.rst index 909bdc7dd7b5..1f51e207fc46 100644 --- a/Documentation/arm/Samsung-S3C24XX/S3C2413.txt +++ b/Documentation/arm/samsung-s3c24xx/s3c2413.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C2413 ARM Linux Overview | 1 | ========================== |
2 | ========================== | 2 | S3C2413 ARM Linux Overview |
3 | ========================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -10,7 +11,7 @@ Introduction | |||
10 | 11 | ||
11 | 12 | ||
12 | Camera Interface | 13 | Camera Interface |
13 | --------------- | 14 | ---------------- |
14 | 15 | ||
15 | This block is currently not supported. | 16 | This block is currently not supported. |
16 | 17 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/SMDK2440.txt b/Documentation/arm/samsung-s3c24xx/smdk2440.rst index 429390bd4684..524fd0b4afaf 100644 --- a/Documentation/arm/Samsung-S3C24XX/SMDK2440.txt +++ b/Documentation/arm/samsung-s3c24xx/smdk2440.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | Samsung/Meritech SMDK2440 | 1 | ========================= |
2 | ========================= | 2 | Samsung/Meritech SMDK2440 |
3 | ========================= | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
diff --git a/Documentation/arm/Samsung-S3C24XX/Suspend.txt b/Documentation/arm/samsung-s3c24xx/suspend.rst index cb4f0c0cdf9d..b4f3ae9fe76e 100644 --- a/Documentation/arm/Samsung-S3C24XX/Suspend.txt +++ b/Documentation/arm/samsung-s3c24xx/suspend.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX Suspend Support | 1 | ======================= |
2 | ======================= | 2 | S3C24XX Suspend Support |
3 | ======================= | ||
3 | 4 | ||
4 | 5 | ||
5 | Introduction | 6 | Introduction |
@@ -57,16 +58,16 @@ Machine Support | |||
57 | and will end up initialising all compiled machines' pm init! | 58 | and will end up initialising all compiled machines' pm init! |
58 | 59 | ||
59 | The following is an example of code used for testing wakeup from | 60 | The following is an example of code used for testing wakeup from |
60 | an falling edge on IRQ_EINT0: | 61 | an falling edge on IRQ_EINT0:: |
61 | 62 | ||
62 | 63 | ||
63 | static irqreturn_t button_irq(int irq, void *pw) | 64 | static irqreturn_t button_irq(int irq, void *pw) |
64 | { | 65 | { |
65 | return IRQ_HANDLED; | 66 | return IRQ_HANDLED; |
66 | } | 67 | } |
67 | 68 | ||
68 | statuc void __init machine_init(void) | 69 | statuc void __init machine_init(void) |
69 | { | 70 | { |
70 | ... | 71 | ... |
71 | 72 | ||
72 | request_irq(IRQ_EINT0, button_irq, IRQF_TRIGGER_FALLING, | 73 | request_irq(IRQ_EINT0, button_irq, IRQF_TRIGGER_FALLING, |
@@ -75,7 +76,7 @@ statuc void __init machine_init(void) | |||
75 | enable_irq_wake(IRQ_EINT0); | 76 | enable_irq_wake(IRQ_EINT0); |
76 | 77 | ||
77 | s3c_pm_init(); | 78 | s3c_pm_init(); |
78 | } | 79 | } |
79 | 80 | ||
80 | 81 | ||
81 | Debugging | 82 | Debugging |
@@ -134,4 +135,3 @@ Document Author | |||
134 | --------------- | 135 | --------------- |
135 | 136 | ||
136 | Ben Dooks, Copyright 2004 Simtec Electronics | 137 | Ben Dooks, Copyright 2004 Simtec Electronics |
137 | |||
diff --git a/Documentation/arm/Samsung-S3C24XX/USB-Host.txt b/Documentation/arm/samsung-s3c24xx/usb-host.rst index f82b1faefad5..c84268bd1884 100644 --- a/Documentation/arm/Samsung-S3C24XX/USB-Host.txt +++ b/Documentation/arm/samsung-s3c24xx/usb-host.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | S3C24XX USB Host support | 1 | ======================== |
2 | ======================== | 2 | S3C24XX USB Host support |
3 | ======================== | ||
3 | 4 | ||
4 | 5 | ||
5 | 6 | ||
@@ -13,7 +14,7 @@ Configuration | |||
13 | 14 | ||
14 | Enable at least the following kernel options: | 15 | Enable at least the following kernel options: |
15 | 16 | ||
16 | menuconfig: | 17 | menuconfig:: |
17 | 18 | ||
18 | Device Drivers ---> | 19 | Device Drivers ---> |
19 | USB support ---> | 20 | USB support ---> |
@@ -22,8 +23,9 @@ Configuration | |||
22 | 23 | ||
23 | 24 | ||
24 | .config: | 25 | .config: |
25 | CONFIG_USB | 26 | |
26 | CONFIG_USB_OHCI_HCD | 27 | - CONFIG_USB |
28 | - CONFIG_USB_OHCI_HCD | ||
27 | 29 | ||
28 | 30 | ||
29 | Once these options are configured, the standard set of USB device | 31 | Once these options are configured, the standard set of USB device |
@@ -60,17 +62,14 @@ Platform Data | |||
60 | The ports are numbered 0 and 1. | 62 | The ports are numbered 0 and 1. |
61 | 63 | ||
62 | power_control: | 64 | power_control: |
63 | |||
64 | Called to enable or disable the power on the port. | 65 | Called to enable or disable the power on the port. |
65 | 66 | ||
66 | enable_oc: | 67 | enable_oc: |
67 | |||
68 | Called to enable or disable the over-current monitoring. | 68 | Called to enable or disable the over-current monitoring. |
69 | This should claim or release the resources being used to | 69 | This should claim or release the resources being used to |
70 | check the power condition on the port, such as an IRQ. | 70 | check the power condition on the port, such as an IRQ. |
71 | 71 | ||
72 | report_oc: | 72 | report_oc: |
73 | |||
74 | The OHCI driver fills this field in for the over-current code | 73 | The OHCI driver fills this field in for the over-current code |
75 | to call when there is a change to the over-current state on | 74 | to call when there is a change to the over-current state on |
76 | an port. The ports argument is a bitmask of 1 bit per port, | 75 | an port. The ports argument is a bitmask of 1 bit per port, |
@@ -80,7 +79,6 @@ Platform Data | |||
80 | ensure this is called correctly. | 79 | ensure this is called correctly. |
81 | 80 | ||
82 | port[x]: | 81 | port[x]: |
83 | |||
84 | This is struct describes each port, 0 or 1. The platform driver | 82 | This is struct describes each port, 0 or 1. The platform driver |
85 | should set the flags field of each port to S3C_HCDFLG_USED if | 83 | should set the flags field of each port to S3C_HCDFLG_USED if |
86 | the port is enabled. | 84 | the port is enabled. |
diff --git a/Documentation/arm/Samsung/Bootloader-interface.txt b/Documentation/arm/samsung/bootloader-interface.rst index d17ed518a7ea..a56f325dae78 100644 --- a/Documentation/arm/Samsung/Bootloader-interface.txt +++ b/Documentation/arm/samsung/bootloader-interface.rst | |||
@@ -1,7 +1,9 @@ | |||
1 | Interface between kernel and boot loaders on Exynos boards | 1 | ========================================================== |
2 | ========================================================== | 2 | Interface between kernel and boot loaders on Exynos boards |
3 | ========================================================== | ||
3 | 4 | ||
4 | Author: Krzysztof Kozlowski | 5 | Author: Krzysztof Kozlowski |
6 | |||
5 | Date : 6 June 2015 | 7 | Date : 6 June 2015 |
6 | 8 | ||
7 | The document tries to describe currently used interface between Linux kernel | 9 | The document tries to describe currently used interface between Linux kernel |
@@ -17,8 +19,10 @@ executing kernel. | |||
17 | 1. Non-Secure mode | 19 | 1. Non-Secure mode |
18 | 20 | ||
19 | Address: sysram_ns_base_addr | 21 | Address: sysram_ns_base_addr |
22 | |||
23 | ============= ============================================ ================== | ||
20 | Offset Value Purpose | 24 | Offset Value Purpose |
21 | ============================================================================= | 25 | ============= ============================================ ================== |
22 | 0x08 exynos_cpu_resume_ns, mcpm_entry_point System suspend | 26 | 0x08 exynos_cpu_resume_ns, mcpm_entry_point System suspend |
23 | 0x0c 0x00000bad (Magic cookie) System suspend | 27 | 0x0c 0x00000bad (Magic cookie) System suspend |
24 | 0x1c exynos4_secondary_startup Secondary CPU boot | 28 | 0x1c exynos4_secondary_startup Secondary CPU boot |
@@ -27,22 +31,28 @@ Offset Value Purpose | |||
27 | 0x24 exynos_cpu_resume_ns AFTR | 31 | 0x24 exynos_cpu_resume_ns AFTR |
28 | 0x28 + 4*cpu 0x8 (Magic cookie, Exynos3250) AFTR | 32 | 0x28 + 4*cpu 0x8 (Magic cookie, Exynos3250) AFTR |
29 | 0x28 0x0 or last value during resume (Exynos542x) System suspend | 33 | 0x28 0x0 or last value during resume (Exynos542x) System suspend |
34 | ============= ============================================ ================== | ||
30 | 35 | ||
31 | 36 | ||
32 | 2. Secure mode | 37 | 2. Secure mode |
33 | 38 | ||
34 | Address: sysram_base_addr | 39 | Address: sysram_base_addr |
40 | |||
41 | ============= ============================================ ================== | ||
35 | Offset Value Purpose | 42 | Offset Value Purpose |
36 | ============================================================================= | 43 | ============= ============================================ ================== |
37 | 0x00 exynos4_secondary_startup Secondary CPU boot | 44 | 0x00 exynos4_secondary_startup Secondary CPU boot |
38 | 0x04 exynos4_secondary_startup (Exynos542x) Secondary CPU boot | 45 | 0x04 exynos4_secondary_startup (Exynos542x) Secondary CPU boot |
39 | 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot | 46 | 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot |
40 | 0x20 exynos_cpu_resume (Exynos4210 r1.0) AFTR | 47 | 0x20 exynos_cpu_resume (Exynos4210 r1.0) AFTR |
41 | 0x24 0xfcba0d10 (Magic cookie, Exynos4210 r1.0) AFTR | 48 | 0x24 0xfcba0d10 (Magic cookie, Exynos4210 r1.0) AFTR |
49 | ============= ============================================ ================== | ||
42 | 50 | ||
43 | Address: pmu_base_addr | 51 | Address: pmu_base_addr |
52 | |||
53 | ============= ============================================ ================== | ||
44 | Offset Value Purpose | 54 | Offset Value Purpose |
45 | ============================================================================= | 55 | ============= ============================================ ================== |
46 | 0x0800 exynos_cpu_resume AFTR, suspend | 56 | 0x0800 exynos_cpu_resume AFTR, suspend |
47 | 0x0800 mcpm_entry_point (Exynos542x with MCPM) AFTR, suspend | 57 | 0x0800 mcpm_entry_point (Exynos542x with MCPM) AFTR, suspend |
48 | 0x0804 0xfcba0d10 (Magic cookie) AFTR | 58 | 0x0804 0xfcba0d10 (Magic cookie) AFTR |
@@ -50,15 +60,18 @@ Offset Value Purpose | |||
50 | 0x0814 exynos4_secondary_startup (Exynos4210 r1.1) Secondary CPU boot | 60 | 0x0814 exynos4_secondary_startup (Exynos4210 r1.1) Secondary CPU boot |
51 | 0x0818 0xfcba0d10 (Magic cookie, Exynos4210 r1.1) AFTR | 61 | 0x0818 0xfcba0d10 (Magic cookie, Exynos4210 r1.1) AFTR |
52 | 0x081C exynos_cpu_resume (Exynos4210 r1.1) AFTR | 62 | 0x081C exynos_cpu_resume (Exynos4210 r1.1) AFTR |
53 | 63 | ============= ============================================ ================== | |
54 | 64 | ||
55 | 3. Other (regardless of secure/non-secure mode) | 65 | 3. Other (regardless of secure/non-secure mode) |
56 | 66 | ||
57 | Address: pmu_base_addr | 67 | Address: pmu_base_addr |
68 | |||
69 | ============= =============================== =============================== | ||
58 | Offset Value Purpose | 70 | Offset Value Purpose |
59 | ============================================================================= | 71 | ============= =============================== =============================== |
60 | 0x0908 Non-zero Secondary CPU boot up indicator | 72 | 0x0908 Non-zero Secondary CPU boot up indicator |
61 | on Exynos3250 and Exynos542x | 73 | on Exynos3250 and Exynos542x |
74 | ============= =============================== =============================== | ||
62 | 75 | ||
63 | 76 | ||
64 | 4. Glossary | 77 | 4. Glossary |
diff --git a/Documentation/arm/Samsung/clksrc-change-registers.awk b/Documentation/arm/samsung/clksrc-change-registers.awk index 7be1b8aa7cd9..7be1b8aa7cd9 100755 --- a/Documentation/arm/Samsung/clksrc-change-registers.awk +++ b/Documentation/arm/samsung/clksrc-change-registers.awk | |||
diff --git a/Documentation/arm/Samsung/GPIO.txt b/Documentation/arm/samsung/gpio.rst index 795adfd88081..5f7cadd7159e 100644 --- a/Documentation/arm/Samsung/GPIO.txt +++ b/Documentation/arm/samsung/gpio.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | Samsung GPIO implementation | 1 | =========================== |
2 | =========================== | 2 | Samsung GPIO implementation |
3 | =========================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -11,7 +12,7 @@ specific calls provided alongside the drivers/gpio core. | |||
11 | S3C24XX (Legacy) | 12 | S3C24XX (Legacy) |
12 | ---------------- | 13 | ---------------- |
13 | 14 | ||
14 | See Documentation/arm/Samsung-S3C24XX/GPIO.txt for more information | 15 | See Documentation/arm/samsung-s3c24xx/gpio.rst for more information |
15 | about these devices. Their implementation has been brought into line | 16 | about these devices. Their implementation has been brought into line |
16 | with the core samsung implementation described in this document. | 17 | with the core samsung implementation described in this document. |
17 | 18 | ||
diff --git a/Documentation/arm/samsung/index.rst b/Documentation/arm/samsung/index.rst new file mode 100644 index 000000000000..f54d95734362 --- /dev/null +++ b/Documentation/arm/samsung/index.rst | |||
@@ -0,0 +1,10 @@ | |||
1 | =========== | ||
2 | Samsung SoC | ||
3 | =========== | ||
4 | |||
5 | .. toctree:: | ||
6 | :maxdepth: 1 | ||
7 | |||
8 | gpio | ||
9 | bootloader-interface | ||
10 | overview | ||
diff --git a/Documentation/arm/Samsung/Overview.txt b/Documentation/arm/samsung/overview.rst index 8f7309bad460..e74307897416 100644 --- a/Documentation/arm/Samsung/Overview.txt +++ b/Documentation/arm/samsung/overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | Samsung ARM Linux Overview | 1 | ========================== |
2 | ========================== | 2 | Samsung ARM Linux Overview |
3 | ========================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -11,7 +12,7 @@ Introduction | |||
11 | 12 | ||
12 | The currently supported SoCs are: | 13 | The currently supported SoCs are: |
13 | 14 | ||
14 | - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list | 15 | - S3C24XX: See Documentation/arm/samsung-s3c24xx/overview.rst for full list |
15 | - S3C64XX: S3C6400 and S3C6410 | 16 | - S3C64XX: S3C6400 and S3C6410 |
16 | - S5PC110 / S5PV210 | 17 | - S5PC110 / S5PV210 |
17 | 18 | ||
@@ -22,7 +23,7 @@ S3C24XX Systems | |||
22 | There is still documentation in Documnetation/arm/Samsung-S3C24XX/ which | 23 | There is still documentation in Documnetation/arm/Samsung-S3C24XX/ which |
23 | deals with the architecture and drivers specific to these devices. | 24 | deals with the architecture and drivers specific to these devices. |
24 | 25 | ||
25 | See Documentation/arm/Samsung-S3C24XX/Overview.txt for more information | 26 | See Documentation/arm/samsung-s3c24xx/overview.rst for more information |
26 | on the implementation details and specific support. | 27 | on the implementation details and specific support. |
27 | 28 | ||
28 | 29 | ||
@@ -32,8 +33,10 @@ Configuration | |||
32 | A number of configurations are supplied, as there is no current way of | 33 | A number of configurations are supplied, as there is no current way of |
33 | unifying all the SoCs into one kernel. | 34 | unifying all the SoCs into one kernel. |
34 | 35 | ||
35 | s5pc110_defconfig - S5PC110 specific default configuration | 36 | s5pc110_defconfig |
36 | s5pv210_defconfig - S5PV210 specific default configuration | 37 | - S5PC110 specific default configuration |
38 | s5pv210_defconfig | ||
39 | - S5PV210 specific default configuration | ||
37 | 40 | ||
38 | 41 | ||
39 | Layout | 42 | Layout |
diff --git a/Documentation/arm/Setup b/Documentation/arm/setup.rst index 0cb1e64bde80..8e12ef3fb9a7 100644 --- a/Documentation/arm/Setup +++ b/Documentation/arm/setup.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | ============================================= | ||
1 | Kernel initialisation parameters on ARM Linux | 2 | Kernel initialisation parameters on ARM Linux |
2 | --------------------------------------------- | 3 | ============================================= |
3 | 4 | ||
4 | The following document describes the kernel initialisation parameter | 5 | The following document describes the kernel initialisation parameter |
5 | structure, otherwise known as 'struct param_struct' which is used | 6 | structure, otherwise known as 'struct param_struct' which is used |
@@ -14,12 +15,10 @@ There are a lot of parameters listed in there, and they are described | |||
14 | below: | 15 | below: |
15 | 16 | ||
16 | page_size | 17 | page_size |
17 | |||
18 | This parameter must be set to the page size of the machine, and | 18 | This parameter must be set to the page size of the machine, and |
19 | will be checked by the kernel. | 19 | will be checked by the kernel. |
20 | 20 | ||
21 | nr_pages | 21 | nr_pages |
22 | |||
23 | This is the total number of pages of memory in the system. If | 22 | This is the total number of pages of memory in the system. If |
24 | the memory is banked, then this should contain the total number | 23 | the memory is banked, then this should contain the total number |
25 | of pages in the system. | 24 | of pages in the system. |
@@ -28,24 +27,22 @@ below: | |||
28 | include this information. | 27 | include this information. |
29 | 28 | ||
30 | ramdisk_size | 29 | ramdisk_size |
31 | |||
32 | This is now obsolete, and should not be used. | 30 | This is now obsolete, and should not be used. |
33 | 31 | ||
34 | flags | 32 | flags |
35 | |||
36 | Various kernel flags, including: | 33 | Various kernel flags, including: |
37 | bit 0 - 1 = mount root read only | ||
38 | bit 1 - unused | ||
39 | bit 2 - 0 = load ramdisk | ||
40 | bit 3 - 0 = prompt for ramdisk | ||
41 | 34 | ||
42 | rootdev | 35 | ===== ======================== |
36 | bit 0 1 = mount root read only | ||
37 | bit 1 unused | ||
38 | bit 2 0 = load ramdisk | ||
39 | bit 3 0 = prompt for ramdisk | ||
40 | ===== ======================== | ||
43 | 41 | ||
42 | rootdev | ||
44 | major/minor number pair of device to mount as the root filesystem. | 43 | major/minor number pair of device to mount as the root filesystem. |
45 | 44 | ||
46 | video_num_cols | 45 | video_num_cols / video_num_rows |
47 | video_num_rows | ||
48 | |||
49 | These two together describe the character size of the dummy console, | 46 | These two together describe the character size of the dummy console, |
50 | or VGA console character size. They should not be used for any other | 47 | or VGA console character size. They should not be used for any other |
51 | purpose. | 48 | purpose. |
@@ -54,66 +51,50 @@ below: | |||
54 | the equivalent character size of your fbcon display. This then allows | 51 | the equivalent character size of your fbcon display. This then allows |
55 | all the bootup messages to be displayed correctly. | 52 | all the bootup messages to be displayed correctly. |
56 | 53 | ||
57 | video_x | 54 | video_x / video_y |
58 | video_y | ||
59 | |||
60 | This describes the character position of cursor on VGA console, and | 55 | This describes the character position of cursor on VGA console, and |
61 | is otherwise unused. (should not be used for other console types, and | 56 | is otherwise unused. (should not be used for other console types, and |
62 | should not be used for other purposes). | 57 | should not be used for other purposes). |
63 | 58 | ||
64 | memc_control_reg | 59 | memc_control_reg |
65 | |||
66 | MEMC chip control register for Acorn Archimedes and Acorn A5000 | 60 | MEMC chip control register for Acorn Archimedes and Acorn A5000 |
67 | based machines. May be used differently by different architectures. | 61 | based machines. May be used differently by different architectures. |
68 | 62 | ||
69 | sounddefault | 63 | sounddefault |
70 | |||
71 | Default sound setting on Acorn machines. May be used differently by | 64 | Default sound setting on Acorn machines. May be used differently by |
72 | different architectures. | 65 | different architectures. |
73 | 66 | ||
74 | adfsdrives | 67 | adfsdrives |
75 | |||
76 | Number of ADFS/MFM disks. May be used differently by different | 68 | Number of ADFS/MFM disks. May be used differently by different |
77 | architectures. | 69 | architectures. |
78 | 70 | ||
79 | bytes_per_char_h | 71 | bytes_per_char_h / bytes_per_char_v |
80 | bytes_per_char_v | ||
81 | |||
82 | These are now obsolete, and should not be used. | 72 | These are now obsolete, and should not be used. |
83 | 73 | ||
84 | pages_in_bank[4] | 74 | pages_in_bank[4] |
85 | |||
86 | Number of pages in each bank of the systems memory (used for RiscPC). | 75 | Number of pages in each bank of the systems memory (used for RiscPC). |
87 | This is intended to be used on systems where the physical memory | 76 | This is intended to be used on systems where the physical memory |
88 | is non-contiguous from the processors point of view. | 77 | is non-contiguous from the processors point of view. |
89 | 78 | ||
90 | pages_in_vram | 79 | pages_in_vram |
91 | |||
92 | Number of pages in VRAM (used on Acorn RiscPC). This value may also | 80 | Number of pages in VRAM (used on Acorn RiscPC). This value may also |
93 | be used by loaders if the size of the video RAM can't be obtained | 81 | be used by loaders if the size of the video RAM can't be obtained |
94 | from the hardware. | 82 | from the hardware. |
95 | 83 | ||
96 | initrd_start | 84 | initrd_start / initrd_size |
97 | initrd_size | ||
98 | |||
99 | This describes the kernel virtual start address and size of the | 85 | This describes the kernel virtual start address and size of the |
100 | initial ramdisk. | 86 | initial ramdisk. |
101 | 87 | ||
102 | rd_start | 88 | rd_start |
103 | |||
104 | Start address in sectors of the ramdisk image on a floppy disk. | 89 | Start address in sectors of the ramdisk image on a floppy disk. |
105 | 90 | ||
106 | system_rev | 91 | system_rev |
107 | |||
108 | system revision number. | 92 | system revision number. |
109 | 93 | ||
110 | system_serial_low | 94 | system_serial_low / system_serial_high |
111 | system_serial_high | ||
112 | |||
113 | system 64-bit serial number | 95 | system 64-bit serial number |
114 | 96 | ||
115 | mem_fclk_21285 | 97 | mem_fclk_21285 |
116 | |||
117 | The speed of the external oscillator to the 21285 (footbridge), | 98 | The speed of the external oscillator to the 21285 (footbridge), |
118 | which control's the speed of the memory bus, timer & serial port. | 99 | which control's the speed of the memory bus, timer & serial port. |
119 | Depending upon the speed of the cpu its value can be between | 100 | Depending upon the speed of the cpu its value can be between |
@@ -121,9 +102,7 @@ below: | |||
121 | then a value of 50 Mhz is the default on 21285 architectures. | 102 | then a value of 50 Mhz is the default on 21285 architectures. |
122 | 103 | ||
123 | paths[8][128] | 104 | paths[8][128] |
124 | |||
125 | These are now obsolete, and should not be used. | 105 | These are now obsolete, and should not be used. |
126 | 106 | ||
127 | commandline | 107 | commandline |
128 | |||
129 | Kernel command line parameters. Details can be found elsewhere. | 108 | Kernel command line parameters. Details can be found elsewhere. |
diff --git a/Documentation/arm/SH-Mobile/.gitignore b/Documentation/arm/sh-mobile/.gitignore index c928dbf3cc88..c928dbf3cc88 100644 --- a/Documentation/arm/SH-Mobile/.gitignore +++ b/Documentation/arm/sh-mobile/.gitignore | |||
diff --git a/Documentation/arm/SPEAr/overview.txt b/Documentation/arm/spear/overview.rst index 1b049be6c84f..8a1a87aca427 100644 --- a/Documentation/arm/SPEAr/overview.txt +++ b/Documentation/arm/spear/overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | SPEAr ARM Linux Overview | 1 | ======================== |
2 | ========================== | 2 | SPEAr ARM Linux Overview |
3 | ======================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -30,17 +31,18 @@ Introduction | |||
30 | - SPEAr1340 (SOC) | 31 | - SPEAr1340 (SOC) |
31 | - SPEAr1340 Evaluation Board | 32 | - SPEAr1340 Evaluation Board |
32 | 33 | ||
33 | Configuration | 34 | Configuration |
34 | ------------- | 35 | ------------- |
35 | 36 | ||
36 | A generic configuration is provided for each machine, and can be used as the | 37 | A generic configuration is provided for each machine, and can be used as the |
37 | default by | 38 | default by:: |
39 | |||
38 | make spear13xx_defconfig | 40 | make spear13xx_defconfig |
39 | make spear3xx_defconfig | 41 | make spear3xx_defconfig |
40 | make spear6xx_defconfig | 42 | make spear6xx_defconfig |
41 | 43 | ||
42 | Layout | 44 | Layout |
43 | ------ | 45 | ------ |
44 | 46 | ||
45 | The common files for multiple machine families (SPEAr3xx, SPEAr6xx and | 47 | The common files for multiple machine families (SPEAr3xx, SPEAr6xx and |
46 | SPEAr13xx) are located in the platform code contained in arch/arm/plat-spear | 48 | SPEAr13xx) are located in the platform code contained in arch/arm/plat-spear |
@@ -57,7 +59,7 @@ Introduction | |||
57 | support Flattened Device Tree. | 59 | support Flattened Device Tree. |
58 | 60 | ||
59 | 61 | ||
60 | Document Author | 62 | Document Author |
61 | --------------- | 63 | --------------- |
62 | 64 | ||
63 | Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics | 65 | Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics |
diff --git a/Documentation/arm/sti/overview.txt b/Documentation/arm/sti/overview.rst index 1a4e93d6027f..70743617a74f 100644 --- a/Documentation/arm/sti/overview.txt +++ b/Documentation/arm/sti/overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | STi ARM Linux Overview | 1 | ====================== |
2 | ========================== | 2 | STi ARM Linux Overview |
3 | ====================== | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -10,15 +11,17 @@ Introduction | |||
10 | B2000 and B2020 Reference boards. | 11 | B2000 and B2020 Reference boards. |
11 | 12 | ||
12 | 13 | ||
13 | configuration | 14 | configuration |
14 | ------------- | 15 | ------------- |
15 | 16 | ||
16 | A generic configuration is provided for both STiH415/416, and can be used as the | 17 | A generic configuration is provided for both STiH415/416, and can be used as the |
17 | default by | 18 | default by:: |
19 | |||
18 | make stih41x_defconfig | 20 | make stih41x_defconfig |
19 | 21 | ||
20 | Layout | 22 | Layout |
21 | ------ | 23 | ------ |
24 | |||
22 | All the files for multiple machine families (STiH415, STiH416, and STiG125) | 25 | All the files for multiple machine families (STiH415, STiH416, and STiG125) |
23 | are located in the platform code contained in arch/arm/mach-sti | 26 | are located in the platform code contained in arch/arm/mach-sti |
24 | 27 | ||
@@ -27,7 +30,7 @@ Introduction | |||
27 | Device Trees. | 30 | Device Trees. |
28 | 31 | ||
29 | 32 | ||
30 | Document Author | 33 | Document Author |
31 | --------------- | 34 | --------------- |
32 | 35 | ||
33 | Srinivas Kandagatla <srinivas.kandagatla@st.com>, (c) 2013 ST Microelectronics | 36 | Srinivas Kandagatla <srinivas.kandagatla@st.com>, (c) 2013 ST Microelectronics |
diff --git a/Documentation/arm/sti/stih407-overview.txt b/Documentation/arm/sti/stih407-overview.rst index 3343f32f58bc..027e75bc7b7c 100644 --- a/Documentation/arm/sti/stih407-overview.txt +++ b/Documentation/arm/sti/stih407-overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | STiH407 Overview | 1 | ================ |
2 | ================ | 2 | STiH407 Overview |
3 | ================ | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -12,7 +13,7 @@ Introduction | |||
12 | - ARM Cortex-A9 1.5 GHz dual core CPU (28nm) | 13 | - ARM Cortex-A9 1.5 GHz dual core CPU (28nm) |
13 | - SATA2, USB 3.0, PCIe, Gbit Ethernet | 14 | - SATA2, USB 3.0, PCIe, Gbit Ethernet |
14 | 15 | ||
15 | Document Author | 16 | Document Author |
16 | --------------- | 17 | --------------- |
17 | 18 | ||
18 | Maxime Coquelin <maxime.coquelin@st.com>, (c) 2014 ST Microelectronics | 19 | Maxime Coquelin <maxime.coquelin@st.com>, (c) 2014 ST Microelectronics |
diff --git a/Documentation/arm/sti/stih415-overview.txt b/Documentation/arm/sti/stih415-overview.rst index 1383e33f265d..b67452d610c4 100644 --- a/Documentation/arm/sti/stih415-overview.txt +++ b/Documentation/arm/sti/stih415-overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | STiH415 Overview | 1 | ================ |
2 | ================ | 2 | STiH415 Overview |
3 | ================ | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -7,6 +8,7 @@ Introduction | |||
7 | The STiH415 is the next generation of HD, AVC set-top box processors | 8 | The STiH415 is the next generation of HD, AVC set-top box processors |
8 | for satellite, cable, terrestrial and IP-STB markets. | 9 | for satellite, cable, terrestrial and IP-STB markets. |
9 | 10 | ||
10 | Features | 11 | Features: |
12 | |||
11 | - ARM Cortex-A9 1.0 GHz, dual-core CPU | 13 | - ARM Cortex-A9 1.0 GHz, dual-core CPU |
12 | - SATA2x2,USB 2.0x3, PCIe, Gbit Ethernet MACx2 | 14 | - SATA2x2,USB 2.0x3, PCIe, Gbit Ethernet MACx2 |
diff --git a/Documentation/arm/sti/stih416-overview.txt b/Documentation/arm/sti/stih416-overview.rst index 558444c201c6..93f17d74d8db 100644 --- a/Documentation/arm/sti/stih416-overview.txt +++ b/Documentation/arm/sti/stih416-overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | STiH416 Overview | 1 | ================ |
2 | ================ | 2 | STiH416 Overview |
3 | ================ | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
diff --git a/Documentation/arm/sti/stih418-overview.txt b/Documentation/arm/sti/stih418-overview.rst index 1cd8fc80646d..b563c1f4fe5a 100644 --- a/Documentation/arm/sti/stih418-overview.txt +++ b/Documentation/arm/sti/stih418-overview.rst | |||
@@ -1,5 +1,6 @@ | |||
1 | STiH418 Overview | 1 | ================ |
2 | ================ | 2 | STiH418 Overview |
3 | ================ | ||
3 | 4 | ||
4 | Introduction | 5 | Introduction |
5 | ------------ | 6 | ------------ |
@@ -14,7 +15,7 @@ Introduction | |||
14 | - HEVC L5.1 Main 10 | 15 | - HEVC L5.1 Main 10 |
15 | - VP9 | 16 | - VP9 |
16 | 17 | ||
17 | Document Author | 18 | Document Author |
18 | --------------- | 19 | --------------- |
19 | 20 | ||
20 | Maxime Coquelin <maxime.coquelin@st.com>, (c) 2015 ST Microelectronics | 21 | Maxime Coquelin <maxime.coquelin@st.com>, (c) 2015 ST Microelectronics |
diff --git a/Documentation/arm/stm32/overview.rst b/Documentation/arm/stm32/overview.rst index f7e734153860..85cfc8410798 100644 --- a/Documentation/arm/stm32/overview.rst +++ b/Documentation/arm/stm32/overview.rst | |||
@@ -1,5 +1,3 @@ | |||
1 | :orphan: | ||
2 | |||
3 | ======================== | 1 | ======================== |
4 | STM32 ARM Linux Overview | 2 | STM32 ARM Linux Overview |
5 | ======================== | 3 | ======================== |
diff --git a/Documentation/arm/stm32/stm32f429-overview.rst b/Documentation/arm/stm32/stm32f429-overview.rst index 65bbb1c3b423..a7ebe8ea6697 100644 --- a/Documentation/arm/stm32/stm32f429-overview.rst +++ b/Documentation/arm/stm32/stm32f429-overview.rst | |||
@@ -1,5 +1,4 @@ | |||
1 | :orphan: | 1 | ================== |
2 | |||
3 | STM32F429 Overview | 2 | STM32F429 Overview |
4 | ================== | 3 | ================== |
5 | 4 | ||
@@ -23,6 +22,4 @@ Datasheet and reference manual are publicly available on ST website (STM32F429_) | |||
23 | 22 | ||
24 | .. _STM32F429: http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013 | 23 | .. _STM32F429: http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013 |
25 | 24 | ||
26 | :Authors: | 25 | :Authors: Maxime Coquelin <mcoquelin.stm32@gmail.com> |
27 | |||
28 | Maxime Coquelin <mcoquelin.stm32@gmail.com> | ||
diff --git a/Documentation/arm/stm32/stm32f746-overview.rst b/Documentation/arm/stm32/stm32f746-overview.rst index 42d593085015..78befddc7740 100644 --- a/Documentation/arm/stm32/stm32f746-overview.rst +++ b/Documentation/arm/stm32/stm32f746-overview.rst | |||
@@ -1,5 +1,4 @@ | |||
1 | :orphan: | 1 | ================== |
2 | |||
3 | STM32F746 Overview | 2 | STM32F746 Overview |
4 | ================== | 3 | ================== |
5 | 4 | ||
@@ -30,6 +29,4 @@ Datasheet and reference manual are publicly available on ST website (STM32F746_) | |||
30 | 29 | ||
31 | .. _STM32F746: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f7-series/stm32f7x6/stm32f746ng.html | 30 | .. _STM32F746: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f7-series/stm32f7x6/stm32f746ng.html |
32 | 31 | ||
33 | :Authors: | 32 | :Authors: Alexandre Torgue <alexandre.torgue@st.com> |
34 | |||
35 | Alexandre Torgue <alexandre.torgue@st.com> | ||
diff --git a/Documentation/arm/stm32/stm32f769-overview.rst b/Documentation/arm/stm32/stm32f769-overview.rst index f6adac862b17..e482980ddf21 100644 --- a/Documentation/arm/stm32/stm32f769-overview.rst +++ b/Documentation/arm/stm32/stm32f769-overview.rst | |||
@@ -1,5 +1,4 @@ | |||
1 | :orphan: | 1 | ================== |
2 | |||
3 | STM32F769 Overview | 2 | STM32F769 Overview |
4 | ================== | 3 | ================== |
5 | 4 | ||
@@ -32,6 +31,4 @@ Datasheet and reference manual are publicly available on ST website (STM32F769_) | |||
32 | 31 | ||
33 | .. _STM32F769: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x9/stm32f769ni.html | 32 | .. _STM32F769: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x9/stm32f769ni.html |
34 | 33 | ||
35 | :Authors: | 34 | :Authors: Alexandre Torgue <alexandre.torgue@st.com> |
36 | |||
37 | Alexandre Torgue <alexandre.torgue@st.com> | ||
diff --git a/Documentation/arm/stm32/stm32h743-overview.rst b/Documentation/arm/stm32/stm32h743-overview.rst index c525835e7473..4e15f1a42730 100644 --- a/Documentation/arm/stm32/stm32h743-overview.rst +++ b/Documentation/arm/stm32/stm32h743-overview.rst | |||
@@ -1,5 +1,4 @@ | |||
1 | :orphan: | 1 | ================== |
2 | |||
3 | STM32H743 Overview | 2 | STM32H743 Overview |
4 | ================== | 3 | ================== |
5 | 4 | ||
@@ -31,6 +30,4 @@ Datasheet and reference manual are publicly available on ST website (STM32H743_) | |||
31 | 30 | ||
32 | .. _STM32H743: http://www.st.com/en/microcontrollers/stm32h7x3.html?querycriteria=productId=LN2033 | 31 | .. _STM32H743: http://www.st.com/en/microcontrollers/stm32h7x3.html?querycriteria=productId=LN2033 |
33 | 32 | ||
34 | :Authors: | 33 | :Authors: Alexandre Torgue <alexandre.torgue@st.com> |
35 | |||
36 | Alexandre Torgue <alexandre.torgue@st.com> | ||
diff --git a/Documentation/arm/stm32/stm32mp157-overview.rst b/Documentation/arm/stm32/stm32mp157-overview.rst index 2c52cd020601..f62fdc8e7d8d 100644 --- a/Documentation/arm/stm32/stm32mp157-overview.rst +++ b/Documentation/arm/stm32/stm32mp157-overview.rst | |||
@@ -1,5 +1,4 @@ | |||
1 | :orphan: | 1 | =================== |
2 | |||
3 | STM32MP157 Overview | 2 | STM32MP157 Overview |
4 | =================== | 3 | =================== |
5 | 4 | ||
diff --git a/Documentation/arm/sunxi/README b/Documentation/arm/sunxi.rst index f8efc21998bf..b037428aee98 100644 --- a/Documentation/arm/sunxi/README +++ b/Documentation/arm/sunxi.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ================== | ||
1 | ARM Allwinner SoCs | 2 | ARM Allwinner SoCs |
2 | ================== | 3 | ================== |
3 | 4 | ||
@@ -10,93 +11,140 @@ SunXi family | |||
10 | Linux kernel mach directory: arch/arm/mach-sunxi | 11 | Linux kernel mach directory: arch/arm/mach-sunxi |
11 | 12 | ||
12 | Flavors: | 13 | Flavors: |
14 | |||
13 | * ARM926 based SoCs | 15 | * ARM926 based SoCs |
14 | - Allwinner F20 (sun3i) | 16 | - Allwinner F20 (sun3i) |
15 | + Not Supported | 17 | |
18 | * Not Supported | ||
16 | 19 | ||
17 | * ARM Cortex-A8 based SoCs | 20 | * ARM Cortex-A8 based SoCs |
18 | - Allwinner A10 (sun4i) | 21 | - Allwinner A10 (sun4i) |
19 | + Datasheet | 22 | |
23 | * Datasheet | ||
24 | |||
20 | http://dl.linux-sunxi.org/A10/A10%20Datasheet%20-%20v1.21%20%282012-04-06%29.pdf | 25 | http://dl.linux-sunxi.org/A10/A10%20Datasheet%20-%20v1.21%20%282012-04-06%29.pdf |
21 | + User Manual | 26 | * User Manual |
27 | |||
22 | http://dl.linux-sunxi.org/A10/A10%20User%20Manual%20-%20v1.20%20%282012-04-09%2c%20DECRYPTED%29.pdf | 28 | http://dl.linux-sunxi.org/A10/A10%20User%20Manual%20-%20v1.20%20%282012-04-09%2c%20DECRYPTED%29.pdf |
23 | 29 | ||
24 | - Allwinner A10s (sun5i) | 30 | - Allwinner A10s (sun5i) |
25 | + Datasheet | 31 | |
32 | * Datasheet | ||
33 | |||
26 | http://dl.linux-sunxi.org/A10s/A10s%20Datasheet%20-%20v1.20%20%282012-03-27%29.pdf | 34 | http://dl.linux-sunxi.org/A10s/A10s%20Datasheet%20-%20v1.20%20%282012-03-27%29.pdf |
27 | 35 | ||
28 | - Allwinner A13 / R8 (sun5i) | 36 | - Allwinner A13 / R8 (sun5i) |
29 | + Datasheet | 37 | |
38 | * Datasheet | ||
39 | |||
30 | http://dl.linux-sunxi.org/A13/A13%20Datasheet%20-%20v1.12%20%282012-03-29%29.pdf | 40 | http://dl.linux-sunxi.org/A13/A13%20Datasheet%20-%20v1.12%20%282012-03-29%29.pdf |
31 | + User Manual | 41 | * User Manual |
42 | |||
32 | http://dl.linux-sunxi.org/A13/A13%20User%20Manual%20-%20v1.2%20%282013-01-08%29.pdf | 43 | http://dl.linux-sunxi.org/A13/A13%20User%20Manual%20-%20v1.2%20%282013-01-08%29.pdf |
33 | 44 | ||
34 | - Next Thing Co GR8 (sun5i) | 45 | - Next Thing Co GR8 (sun5i) |
35 | 46 | ||
36 | * Single ARM Cortex-A7 based SoCs | 47 | * Single ARM Cortex-A7 based SoCs |
37 | - Allwinner V3s (sun8i) | 48 | - Allwinner V3s (sun8i) |
38 | + Datasheet | 49 | |
50 | * Datasheet | ||
51 | |||
39 | http://linux-sunxi.org/File:Allwinner_V3s_Datasheet_V1.0.pdf | 52 | http://linux-sunxi.org/File:Allwinner_V3s_Datasheet_V1.0.pdf |
40 | 53 | ||
41 | * Dual ARM Cortex-A7 based SoCs | 54 | * Dual ARM Cortex-A7 based SoCs |
42 | - Allwinner A20 (sun7i) | 55 | - Allwinner A20 (sun7i) |
43 | + User Manual | 56 | |
57 | * User Manual | ||
58 | |||
44 | http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf | 59 | http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf |
45 | 60 | ||
46 | - Allwinner A23 (sun8i) | 61 | - Allwinner A23 (sun8i) |
47 | + Datasheet | 62 | |
63 | * Datasheet | ||
64 | |||
48 | http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf | 65 | http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf |
49 | + User Manual | 66 | |
67 | * User Manual | ||
68 | |||
50 | http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf | 69 | http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf |
51 | 70 | ||
52 | * Quad ARM Cortex-A7 based SoCs | 71 | * Quad ARM Cortex-A7 based SoCs |
53 | - Allwinner A31 (sun6i) | 72 | - Allwinner A31 (sun6i) |
54 | + Datasheet | 73 | |
74 | * Datasheet | ||
75 | |||
55 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20datasheet%20V1.3%2020131106.pdf | 76 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20datasheet%20V1.3%2020131106.pdf |
56 | + User Manual | 77 | |
78 | * User Manual | ||
79 | |||
57 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf | 80 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf |
58 | 81 | ||
59 | - Allwinner A31s (sun6i) | 82 | - Allwinner A31s (sun6i) |
60 | + Datasheet | 83 | |
84 | * Datasheet | ||
85 | |||
61 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf | 86 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf |
62 | + User Manual | 87 | |
88 | * User Manual | ||
89 | |||
63 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf | 90 | http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf |
64 | 91 | ||
65 | - Allwinner A33 (sun8i) | 92 | - Allwinner A33 (sun8i) |
66 | + Datasheet | 93 | |
94 | * Datasheet | ||
95 | |||
67 | http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf | 96 | http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf |
68 | + User Manual | 97 | |
98 | * User Manual | ||
99 | |||
69 | http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf | 100 | http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf |
70 | 101 | ||
71 | - Allwinner H2+ (sun8i) | 102 | - Allwinner H2+ (sun8i) |
72 | + No document available now, but is known to be working properly with | 103 | |
104 | * No document available now, but is known to be working properly with | ||
73 | H3 drivers and memory map. | 105 | H3 drivers and memory map. |
74 | 106 | ||
75 | - Allwinner H3 (sun8i) | 107 | - Allwinner H3 (sun8i) |
76 | + Datasheet | 108 | |
109 | * Datasheet | ||
110 | |||
77 | http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf | 111 | http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf |
78 | 112 | ||
79 | - Allwinner R40 (sun8i) | 113 | - Allwinner R40 (sun8i) |
80 | + Datasheet | 114 | |
115 | * Datasheet | ||
116 | |||
81 | https://github.com/tinalinux/docs/raw/r40-v1.y/R40_Datasheet_V1.0.pdf | 117 | https://github.com/tinalinux/docs/raw/r40-v1.y/R40_Datasheet_V1.0.pdf |
82 | + User Manual | 118 | |
119 | * User Manual | ||
120 | |||
83 | https://github.com/tinalinux/docs/raw/r40-v1.y/Allwinner_R40_User_Manual_V1.0.pdf | 121 | https://github.com/tinalinux/docs/raw/r40-v1.y/Allwinner_R40_User_Manual_V1.0.pdf |
84 | 122 | ||
85 | * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs | 123 | * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs |
86 | - Allwinner A80 | 124 | - Allwinner A80 |
87 | + Datasheet | 125 | |
126 | * Datasheet | ||
127 | |||
88 | http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf | 128 | http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf |
89 | 129 | ||
90 | * Octa ARM Cortex-A7 based SoCs | 130 | * Octa ARM Cortex-A7 based SoCs |
91 | - Allwinner A83T | 131 | - Allwinner A83T |
92 | + Datasheet | 132 | |
133 | * Datasheet | ||
134 | |||
93 | https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_Datasheet_v1.3_20150510.pdf | 135 | https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_Datasheet_v1.3_20150510.pdf |
94 | + User Manual | 136 | |
137 | * User Manual | ||
138 | |||
95 | https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_User_Manual_v1.5.1_20150513.pdf | 139 | https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_User_Manual_v1.5.1_20150513.pdf |
96 | 140 | ||
97 | * Quad ARM Cortex-A53 based SoCs | 141 | * Quad ARM Cortex-A53 based SoCs |
98 | - Allwinner A64 | 142 | - Allwinner A64 |
99 | + Datasheet | 143 | |
144 | * Datasheet | ||
145 | |||
100 | http://dl.linux-sunxi.org/A64/A64_Datasheet_V1.1.pdf | 146 | http://dl.linux-sunxi.org/A64/A64_Datasheet_V1.1.pdf |
101 | + User Manual | 147 | |
148 | * User Manual | ||
149 | |||
102 | http://dl.linux-sunxi.org/A64/Allwinner%20A64%20User%20Manual%20v1.0.pdf | 150 | http://dl.linux-sunxi.org/A64/Allwinner%20A64%20User%20Manual%20v1.0.pdf |
diff --git a/Documentation/arm/sunxi/clocks.txt b/Documentation/arm/sunxi/clocks.rst index e09a88aa3136..23bd03f3e21f 100644 --- a/Documentation/arm/sunxi/clocks.txt +++ b/Documentation/arm/sunxi/clocks.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ======================================================= | ||
1 | Frequently asked questions about the sunxi clock system | 2 | Frequently asked questions about the sunxi clock system |
2 | ======================================================= | 3 | ======================================================= |
3 | 4 | ||
@@ -12,7 +13,7 @@ A: The 24MHz oscillator allows gating to save power. Indeed, if gated | |||
12 | steps, one can gate it and keep the system running. Consider this | 13 | steps, one can gate it and keep the system running. Consider this |
13 | simplified suspend example: | 14 | simplified suspend example: |
14 | 15 | ||
15 | While the system is operational, you would see something like | 16 | While the system is operational, you would see something like:: |
16 | 17 | ||
17 | 24MHz 32kHz | 18 | 24MHz 32kHz |
18 | | | 19 | | |
@@ -23,7 +24,7 @@ A: The 24MHz oscillator allows gating to save power. Indeed, if gated | |||
23 | [CPU] | 24 | [CPU] |
24 | 25 | ||
25 | When you are about to suspend, you switch the CPU Mux to the 32kHz | 26 | When you are about to suspend, you switch the CPU Mux to the 32kHz |
26 | oscillator: | 27 | oscillator:: |
27 | 28 | ||
28 | 24Mhz 32kHz | 29 | 24Mhz 32kHz |
29 | | | | 30 | | | |
@@ -33,7 +34,7 @@ A: The 24MHz oscillator allows gating to save power. Indeed, if gated | |||
33 | | | 34 | | |
34 | [CPU] | 35 | [CPU] |
35 | 36 | ||
36 | Finally you can gate the main oscillator | 37 | Finally you can gate the main oscillator:: |
37 | 38 | ||
38 | 32kHz | 39 | 32kHz |
39 | | | 40 | | |
diff --git a/Documentation/arm/swp_emulation b/Documentation/arm/swp_emulation.rst index af903d22fd93..6a608a9c3715 100644 --- a/Documentation/arm/swp_emulation +++ b/Documentation/arm/swp_emulation.rst | |||
@@ -11,17 +11,17 @@ sequence. If a memory access fault (an abort) occurs, a segmentation fault is | |||
11 | signalled to the triggering process. | 11 | signalled to the triggering process. |
12 | 12 | ||
13 | /proc/cpu/swp_emulation holds some statistics/information, including the PID of | 13 | /proc/cpu/swp_emulation holds some statistics/information, including the PID of |
14 | the last process to trigger the emulation to be invocated. For example: | 14 | the last process to trigger the emulation to be invocated. For example:: |
15 | --- | ||
16 | Emulated SWP: 12 | ||
17 | Emulated SWPB: 0 | ||
18 | Aborted SWP{B}: 1 | ||
19 | Last process: 314 | ||
20 | --- | ||
21 | 15 | ||
22 | NOTE: when accessing uncached shared regions, LDREX/STREX rely on an external | 16 | Emulated SWP: 12 |
23 | transaction monitoring block called a global monitor to maintain update | 17 | Emulated SWPB: 0 |
24 | atomicity. If your system does not implement a global monitor, this option can | 18 | Aborted SWP{B}: 1 |
25 | cause programs that perform SWP operations to uncached memory to deadlock, as | 19 | Last process: 314 |
26 | the STREX operation will always fail. | ||
27 | 20 | ||
21 | |||
22 | NOTE: | ||
23 | when accessing uncached shared regions, LDREX/STREX rely on an external | ||
24 | transaction monitoring block called a global monitor to maintain update | ||
25 | atomicity. If your system does not implement a global monitor, this option can | ||
26 | cause programs that perform SWP operations to uncached memory to deadlock, as | ||
27 | the STREX operation will always fail. | ||
diff --git a/Documentation/arm/tcm.txt b/Documentation/arm/tcm.rst index 7c15871c1885..effd9c7bc968 100644 --- a/Documentation/arm/tcm.txt +++ b/Documentation/arm/tcm.rst | |||
@@ -1,5 +1,7 @@ | |||
1 | ================================================== | ||
1 | ARM TCM (Tightly-Coupled Memory) handling in Linux | 2 | ARM TCM (Tightly-Coupled Memory) handling in Linux |
2 | ---- | 3 | ================================================== |
4 | |||
3 | Written by Linus Walleij <linus.walleij@stericsson.com> | 5 | Written by Linus Walleij <linus.walleij@stericsson.com> |
4 | 6 | ||
5 | Some ARM SoC:s have a so-called TCM (Tightly-Coupled Memory). | 7 | Some ARM SoC:s have a so-called TCM (Tightly-Coupled Memory). |
@@ -85,46 +87,50 @@ to have functions called locally inside the TCM without | |||
85 | wasting space, there is also the __tcmlocalfunc prefix that | 87 | wasting space, there is also the __tcmlocalfunc prefix that |
86 | will make the call relative. | 88 | will make the call relative. |
87 | 89 | ||
88 | Variables to go into dtcm can be tagged like this: | 90 | Variables to go into dtcm can be tagged like this:: |
89 | int __tcmdata foo; | 91 | |
92 | int __tcmdata foo; | ||
93 | |||
94 | Constants can be tagged like this:: | ||
90 | 95 | ||
91 | Constants can be tagged like this: | 96 | int __tcmconst foo; |
92 | int __tcmconst foo; | 97 | |
98 | To put assembler into TCM just use:: | ||
99 | |||
100 | .section ".tcm.text" or .section ".tcm.data" | ||
93 | 101 | ||
94 | To put assembler into TCM just use | ||
95 | .section ".tcm.text" or .section ".tcm.data" | ||
96 | respectively. | 102 | respectively. |
97 | 103 | ||
98 | Example code: | 104 | Example code:: |
99 | 105 | ||
100 | #include <asm/tcm.h> | 106 | #include <asm/tcm.h> |
101 | 107 | ||
102 | /* Uninitialized data */ | 108 | /* Uninitialized data */ |
103 | static u32 __tcmdata tcmvar; | 109 | static u32 __tcmdata tcmvar; |
104 | /* Initialized data */ | 110 | /* Initialized data */ |
105 | static u32 __tcmdata tcmassigned = 0x2BADBABEU; | 111 | static u32 __tcmdata tcmassigned = 0x2BADBABEU; |
106 | /* Constant */ | 112 | /* Constant */ |
107 | static const u32 __tcmconst tcmconst = 0xCAFEBABEU; | 113 | static const u32 __tcmconst tcmconst = 0xCAFEBABEU; |
108 | 114 | ||
109 | static void __tcmlocalfunc tcm_to_tcm(void) | 115 | static void __tcmlocalfunc tcm_to_tcm(void) |
110 | { | 116 | { |
111 | int i; | 117 | int i; |
112 | for (i = 0; i < 100; i++) | 118 | for (i = 0; i < 100; i++) |
113 | tcmvar ++; | 119 | tcmvar ++; |
114 | } | 120 | } |
115 | 121 | ||
116 | static void __tcmfunc hello_tcm(void) | 122 | static void __tcmfunc hello_tcm(void) |
117 | { | 123 | { |
118 | /* Some abstract code that runs in ITCM */ | 124 | /* Some abstract code that runs in ITCM */ |
119 | int i; | 125 | int i; |
120 | for (i = 0; i < 100; i++) { | 126 | for (i = 0; i < 100; i++) { |
121 | tcmvar ++; | 127 | tcmvar ++; |
122 | } | 128 | } |
123 | tcm_to_tcm(); | 129 | tcm_to_tcm(); |
124 | } | 130 | } |
125 | 131 | ||
126 | static void __init test_tcm(void) | 132 | static void __init test_tcm(void) |
127 | { | 133 | { |
128 | u32 *tcmem; | 134 | u32 *tcmem; |
129 | int i; | 135 | int i; |
130 | 136 | ||
@@ -152,4 +158,4 @@ static void __init test_tcm(void) | |||
152 | printk("TCM tcmem[%d] = %08x\n", i, tcmem[i]); | 158 | printk("TCM tcmem[%d] = %08x\n", i, tcmem[i]); |
153 | tcm_free(tcmem, 20); | 159 | tcm_free(tcmem, 20); |
154 | } | 160 | } |
155 | } | 161 | } |
diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.rst index 6543a0adea8a..f868330df6be 100644 --- a/Documentation/arm/uefi.txt +++ b/Documentation/arm/uefi.rst | |||
@@ -1,3 +1,7 @@ | |||
1 | ================================================ | ||
2 | The Unified Extensible Firmware Interface (UEFI) | ||
3 | ================================================ | ||
4 | |||
1 | UEFI, the Unified Extensible Firmware Interface, is a specification | 5 | UEFI, the Unified Extensible Firmware Interface, is a specification |
2 | governing the behaviours of compatible firmware interfaces. It is | 6 | governing the behaviours of compatible firmware interfaces. It is |
3 | maintained by the UEFI Forum - http://www.uefi.org/. | 7 | maintained by the UEFI Forum - http://www.uefi.org/. |
@@ -11,11 +15,13 @@ UEFI support in Linux | |||
11 | ===================== | 15 | ===================== |
12 | Booting on a platform with firmware compliant with the UEFI specification | 16 | Booting on a platform with firmware compliant with the UEFI specification |
13 | makes it possible for the kernel to support additional features: | 17 | makes it possible for the kernel to support additional features: |
18 | |||
14 | - UEFI Runtime Services | 19 | - UEFI Runtime Services |
15 | - Retrieving various configuration information through the standardised | 20 | - Retrieving various configuration information through the standardised |
16 | interface of UEFI configuration tables. (ACPI, SMBIOS, ...) | 21 | interface of UEFI configuration tables. (ACPI, SMBIOS, ...) |
17 | 22 | ||
18 | For actually enabling [U]EFI support, enable: | 23 | For actually enabling [U]EFI support, enable: |
24 | |||
19 | - CONFIG_EFI=y | 25 | - CONFIG_EFI=y |
20 | - CONFIG_EFI_VARS=y or m | 26 | - CONFIG_EFI_VARS=y or m |
21 | 27 | ||
@@ -42,19 +48,20 @@ Instead, the kernel reads the UEFI memory map. | |||
42 | 48 | ||
43 | The stub populates the FDT /chosen node with (and the kernel scans for) the | 49 | The stub populates the FDT /chosen node with (and the kernel scans for) the |
44 | following parameters: | 50 | following parameters: |
45 | ________________________________________________________________________________ | 51 | |
46 | Name | Size | Description | 52 | ========================== ====== =========================================== |
47 | ================================================================================ | 53 | Name Size Description |
48 | linux,uefi-system-table | 64-bit | Physical address of the UEFI System Table. | 54 | ========================== ====== =========================================== |
49 | -------------------------------------------------------------------------------- | 55 | linux,uefi-system-table 64-bit Physical address of the UEFI System Table. |
50 | linux,uefi-mmap-start | 64-bit | Physical address of the UEFI memory map, | 56 | |
51 | | | populated by the UEFI GetMemoryMap() call. | 57 | linux,uefi-mmap-start 64-bit Physical address of the UEFI memory map, |
52 | -------------------------------------------------------------------------------- | 58 | populated by the UEFI GetMemoryMap() call. |
53 | linux,uefi-mmap-size | 32-bit | Size in bytes of the UEFI memory map | 59 | |
54 | | | pointed to in previous entry. | 60 | linux,uefi-mmap-size 32-bit Size in bytes of the UEFI memory map |
55 | -------------------------------------------------------------------------------- | 61 | pointed to in previous entry. |
56 | linux,uefi-mmap-desc-size | 32-bit | Size in bytes of each entry in the UEFI | 62 | |
57 | | | memory map. | 63 | linux,uefi-mmap-desc-size 32-bit Size in bytes of each entry in the UEFI |
58 | -------------------------------------------------------------------------------- | 64 | memory map. |
59 | linux,uefi-mmap-desc-ver | 32-bit | Version of the mmap descriptor format. | 65 | |
60 | -------------------------------------------------------------------------------- | 66 | linux,uefi-mmap-desc-ver 32-bit Version of the mmap descriptor format. |
67 | ========================== ====== =========================================== | ||
diff --git a/Documentation/arm/VFP/release-notes.txt b/Documentation/arm/vfp/release-notes.rst index 28a2795705ca..c6b04937cee3 100644 --- a/Documentation/arm/VFP/release-notes.txt +++ b/Documentation/arm/vfp/release-notes.rst | |||
@@ -1,7 +1,9 @@ | |||
1 | =============================================== | ||
1 | Release notes for Linux Kernel VFP support code | 2 | Release notes for Linux Kernel VFP support code |
2 | ----------------------------------------------- | 3 | =============================================== |
3 | 4 | ||
4 | Date: 20 May 2004 | 5 | Date: 20 May 2004 |
6 | |||
5 | Author: Russell King | 7 | Author: Russell King |
6 | 8 | ||
7 | This is the first release of the Linux Kernel VFP support code. It | 9 | This is the first release of the Linux Kernel VFP support code. It |
diff --git a/Documentation/arm/vlocks.txt b/Documentation/arm/vlocks.rst index 45731672c564..a40a1742110b 100644 --- a/Documentation/arm/vlocks.txt +++ b/Documentation/arm/vlocks.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | ====================================== | ||
1 | vlocks for Bare-Metal Mutual Exclusion | 2 | vlocks for Bare-Metal Mutual Exclusion |
2 | ====================================== | 3 | ====================================== |
3 | 4 | ||
@@ -26,7 +27,7 @@ started yet. | |||
26 | Algorithm | 27 | Algorithm |
27 | --------- | 28 | --------- |
28 | 29 | ||
29 | The easiest way to explain the vlocks algorithm is with some pseudo-code: | 30 | The easiest way to explain the vlocks algorithm is with some pseudo-code:: |
30 | 31 | ||
31 | 32 | ||
32 | int currently_voting[NR_CPUS] = { 0, }; | 33 | int currently_voting[NR_CPUS] = { 0, }; |
@@ -93,7 +94,7 @@ Features and limitations | |||
93 | number of CPUs. | 94 | number of CPUs. |
94 | 95 | ||
95 | vlocks can be cascaded in a voting hierarchy to permit better scaling | 96 | vlocks can be cascaded in a voting hierarchy to permit better scaling |
96 | if necessary, as in the following hypothetical example for 4096 CPUs: | 97 | if necessary, as in the following hypothetical example for 4096 CPUs:: |
97 | 98 | ||
98 | /* first level: local election */ | 99 | /* first level: local election */ |
99 | my_town = towns[(this_cpu >> 4) & 0xf]; | 100 | my_town = towns[(this_cpu >> 4) & 0xf]; |
@@ -127,12 +128,12 @@ the basic algorithm: | |||
127 | reduces the number of round-trips required to external memory. | 128 | reduces the number of round-trips required to external memory. |
128 | 129 | ||
129 | In the ARM implementation, this means that we can use a single load | 130 | In the ARM implementation, this means that we can use a single load |
130 | and comparison: | 131 | and comparison:: |
131 | 132 | ||
132 | LDR Rt, [Rn] | 133 | LDR Rt, [Rn] |
133 | CMP Rt, #0 | 134 | CMP Rt, #0 |
134 | 135 | ||
135 | ...in place of code equivalent to: | 136 | ...in place of code equivalent to:: |
136 | 137 | ||
137 | LDRB Rt, [Rn] | 138 | LDRB Rt, [Rn] |
138 | CMP Rt, #0 | 139 | CMP Rt, #0 |
diff --git a/Documentation/devicetree/bindings/arm/xen.txt b/Documentation/devicetree/bindings/arm/xen.txt index c9b9321434ea..db5c56db30ec 100644 --- a/Documentation/devicetree/bindings/arm/xen.txt +++ b/Documentation/devicetree/bindings/arm/xen.txt | |||
@@ -54,7 +54,7 @@ hypervisor { | |||
54 | }; | 54 | }; |
55 | 55 | ||
56 | The format and meaning of the "xen,uefi-*" parameters are similar to those in | 56 | The format and meaning of the "xen,uefi-*" parameters are similar to those in |
57 | Documentation/arm/uefi.txt, which are provided by the regular UEFI stub. However | 57 | Documentation/arm/uefi.rst, which are provided by the regular UEFI stub. However |
58 | they differ because they are provided by the Xen hypervisor, together with a set | 58 | they differ because they are provided by the Xen hypervisor, together with a set |
59 | of UEFI runtime services implemented via hypercalls, see | 59 | of UEFI runtime services implemented via hypercalls, see |
60 | http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html. | 60 | http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html. |
diff --git a/Documentation/devicetree/booting-without-of.txt b/Documentation/devicetree/booting-without-of.txt index 60f8640f2b2f..4660ccee35a3 100644 --- a/Documentation/devicetree/booting-without-of.txt +++ b/Documentation/devicetree/booting-without-of.txt | |||
@@ -160,7 +160,7 @@ it with special cases. | |||
160 | of the kernel image. That entry point supports two calling | 160 | of the kernel image. That entry point supports two calling |
161 | conventions. A summary of the interface is described here. A full | 161 | conventions. A summary of the interface is described here. A full |
162 | description of the boot requirements is documented in | 162 | description of the boot requirements is documented in |
163 | Documentation/arm/Booting | 163 | Documentation/arm/booting.rst |
164 | 164 | ||
165 | a) ATAGS interface. Minimal information is passed from firmware | 165 | a) ATAGS interface. Minimal information is passed from firmware |
166 | to the kernel with a tagged list of predefined parameters. | 166 | to the kernel with a tagged list of predefined parameters. |
@@ -174,7 +174,7 @@ it with special cases. | |||
174 | b) Entry with a flattened device-tree block. Firmware loads the | 174 | b) Entry with a flattened device-tree block. Firmware loads the |
175 | physical address of the flattened device tree block (dtb) into r2, | 175 | physical address of the flattened device tree block (dtb) into r2, |
176 | r1 is not used, but it is considered good practice to use a valid | 176 | r1 is not used, but it is considered good practice to use a valid |
177 | machine number as described in Documentation/arm/Booting. | 177 | machine number as described in Documentation/arm/booting.rst. |
178 | 178 | ||
179 | r0 : 0 | 179 | r0 : 0 |
180 | 180 | ||
diff --git a/Documentation/index.rst b/Documentation/index.rst index 216dc0e1e6f2..c6934d90363c 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst | |||
@@ -1,3 +1,4 @@ | |||
1 | |||
1 | .. The Linux Kernel documentation master file, created by | 2 | .. The Linux Kernel documentation master file, created by |
2 | sphinx-quickstart on Fri Feb 12 13:51:46 2016. | 3 | sphinx-quickstart on Fri Feb 12 13:51:46 2016. |
3 | You can adapt this file completely to your liking, but it should at least | 4 | You can adapt this file completely to your liking, but it should at least |
diff --git a/Documentation/translations/zh_CN/arm/Booting b/Documentation/translations/zh_CN/arm/Booting index 1fe866f8218f..562e9a2957e6 100644 --- a/Documentation/translations/zh_CN/arm/Booting +++ b/Documentation/translations/zh_CN/arm/Booting | |||
@@ -1,4 +1,4 @@ | |||
1 | Chinese translated version of Documentation/arm/Booting | 1 | Chinese translated version of Documentation/arm/booting.rst |
2 | 2 | ||
3 | If you have any comment or update to the content, please contact the | 3 | If you have any comment or update to the content, please contact the |
4 | original document maintainer directly. However, if you have a problem | 4 | original document maintainer directly. However, if you have a problem |
@@ -9,7 +9,7 @@ or if there is a problem with the translation. | |||
9 | Maintainer: Russell King <linux@arm.linux.org.uk> | 9 | Maintainer: Russell King <linux@arm.linux.org.uk> |
10 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | 10 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> |
11 | --------------------------------------------------------------------- | 11 | --------------------------------------------------------------------- |
12 | Documentation/arm/Booting 的中文翻译 | 12 | Documentation/arm/booting.rst 的中文翻译 |
13 | 13 | ||
14 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | 14 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 |
15 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | 15 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 |
diff --git a/Documentation/translations/zh_CN/arm/kernel_user_helpers.txt b/Documentation/translations/zh_CN/arm/kernel_user_helpers.txt index cd7fc8f34cf9..99af4363984d 100644 --- a/Documentation/translations/zh_CN/arm/kernel_user_helpers.txt +++ b/Documentation/translations/zh_CN/arm/kernel_user_helpers.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | Chinese translated version of Documentation/arm/kernel_user_helpers.txt | 1 | Chinese translated version of Documentation/arm/kernel_user_helpers.rst |
2 | 2 | ||
3 | If you have any comment or update to the content, please contact the | 3 | If you have any comment or update to the content, please contact the |
4 | original document maintainer directly. However, if you have a problem | 4 | original document maintainer directly. However, if you have a problem |
@@ -10,7 +10,7 @@ Maintainer: Nicolas Pitre <nicolas.pitre@linaro.org> | |||
10 | Dave Martin <dave.martin@linaro.org> | 10 | Dave Martin <dave.martin@linaro.org> |
11 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | 11 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> |
12 | --------------------------------------------------------------------- | 12 | --------------------------------------------------------------------- |
13 | Documentation/arm/kernel_user_helpers.txt 的中文翻译 | 13 | Documentation/arm/kernel_user_helpers.rst 的中文翻译 |
14 | 14 | ||
15 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | 15 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 |
16 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | 16 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 |
diff --git a/MAINTAINERS b/MAINTAINERS index 37ba75bae7aa..96c85695b3d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -2218,7 +2218,7 @@ F: drivers/*/*s3c64xx* | |||
2218 | F: drivers/*/*s5pv210* | 2218 | F: drivers/*/*s5pv210* |
2219 | F: drivers/memory/samsung/* | 2219 | F: drivers/memory/samsung/* |
2220 | F: drivers/soc/samsung/* | 2220 | F: drivers/soc/samsung/* |
2221 | F: Documentation/arm/Samsung/ | 2221 | F: Documentation/arm/samsung/ |
2222 | F: Documentation/devicetree/bindings/arm/samsung/ | 2222 | F: Documentation/devicetree/bindings/arm/samsung/ |
2223 | F: Documentation/devicetree/bindings/sram/samsung-sram.txt | 2223 | F: Documentation/devicetree/bindings/sram/samsung-sram.txt |
2224 | F: Documentation/devicetree/bindings/power/pd-samsung.txt | 2224 | F: Documentation/devicetree/bindings/power/pd-samsung.txt |
@@ -11571,7 +11571,7 @@ L: linux-omap@vger.kernel.org | |||
11571 | L: linux-fbdev@vger.kernel.org | 11571 | L: linux-fbdev@vger.kernel.org |
11572 | S: Orphan | 11572 | S: Orphan |
11573 | F: drivers/video/fbdev/omap2/ | 11573 | F: drivers/video/fbdev/omap2/ |
11574 | F: Documentation/arm/OMAP/DSS | 11574 | F: Documentation/arm/omap/dss.rst |
11575 | 11575 | ||
11576 | OMAP FRAMEBUFFER SUPPORT | 11576 | OMAP FRAMEBUFFER SUPPORT |
11577 | L: linux-fbdev@vger.kernel.org | 11577 | L: linux-fbdev@vger.kernel.org |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2bf1ce39a96d..6425871e9903 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -2142,7 +2142,7 @@ config VFP | |||
2142 | Say Y to include VFP support code in the kernel. This is needed | 2142 | Say Y to include VFP support code in the kernel. This is needed |
2143 | if your hardware includes a VFP unit. | 2143 | if your hardware includes a VFP unit. |
2144 | 2144 | ||
2145 | Please see <file:Documentation/arm/VFP/release-notes.txt> for | 2145 | Please see <file:Documentation/arm/vfp/release-notes.rst> for |
2146 | release notes and additional status information. | 2146 | release notes and additional status information. |
2147 | 2147 | ||
2148 | Say N if your target does not have VFP hardware. | 2148 | Say N if your target does not have VFP hardware. |
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c index e24ad60891b2..8a9aeeb504dd 100644 --- a/arch/arm/common/mcpm_entry.c +++ b/arch/arm/common/mcpm_entry.c | |||
@@ -21,7 +21,7 @@ | |||
21 | /* | 21 | /* |
22 | * The public API for this code is documented in arch/arm/include/asm/mcpm.h. | 22 | * The public API for this code is documented in arch/arm/include/asm/mcpm.h. |
23 | * For a comprehensive description of the main algorithm used here, please | 23 | * For a comprehensive description of the main algorithm used here, please |
24 | * see Documentation/arm/cluster-pm-race-avoidance.txt. | 24 | * see Documentation/arm/cluster-pm-race-avoidance.rst. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | struct sync_struct mcpm_sync; | 27 | struct sync_struct mcpm_sync; |
diff --git a/arch/arm/common/mcpm_head.S b/arch/arm/common/mcpm_head.S index d5bd75dd576d..291d969bc719 100644 --- a/arch/arm/common/mcpm_head.S +++ b/arch/arm/common/mcpm_head.S | |||
@@ -5,7 +5,7 @@ | |||
5 | * Created by: Nicolas Pitre, March 2012 | 5 | * Created by: Nicolas Pitre, March 2012 |
6 | * Copyright: (C) 2012-2013 Linaro Limited | 6 | * Copyright: (C) 2012-2013 Linaro Limited |
7 | * | 7 | * |
8 | * Refer to Documentation/arm/cluster-pm-race-avoidance.txt | 8 | * Refer to Documentation/arm/cluster-pm-race-avoidance.rst |
9 | * for details of the synchronisation algorithms used here. | 9 | * for details of the synchronisation algorithms used here. |
10 | */ | 10 | */ |
11 | 11 | ||
diff --git a/arch/arm/common/vlock.S b/arch/arm/common/vlock.S index 9675cc15d0c4..f1c7fd44f1b1 100644 --- a/arch/arm/common/vlock.S +++ b/arch/arm/common/vlock.S | |||
@@ -6,7 +6,7 @@ | |||
6 | * Copyright: (C) 2012-2013 Linaro Limited | 6 | * Copyright: (C) 2012-2013 Linaro Limited |
7 | * | 7 | * |
8 | * This algorithm is described in more detail in | 8 | * This algorithm is described in more detail in |
9 | * Documentation/arm/vlocks.txt. | 9 | * Documentation/arm/vlocks.rst. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/linkage.h> | 12 | #include <linux/linkage.h> |
diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h index 77e5582c2259..67d20712cb48 100644 --- a/arch/arm/include/asm/setup.h +++ b/arch/arm/include/asm/setup.h | |||
@@ -5,7 +5,7 @@ | |||
5 | * Copyright (C) 1997-1999 Russell King | 5 | * Copyright (C) 1997-1999 Russell King |
6 | * | 6 | * |
7 | * Structure passed to kernel to tell it about the | 7 | * Structure passed to kernel to tell it about the |
8 | * hardware it's running on. See Documentation/arm/Setup | 8 | * hardware it's running on. See Documentation/arm/setup.rst |
9 | * for more info. | 9 | * for more info. |
10 | */ | 10 | */ |
11 | #ifndef __ASMARM_SETUP_H | 11 | #ifndef __ASMARM_SETUP_H |
diff --git a/arch/arm/include/uapi/asm/setup.h b/arch/arm/include/uapi/asm/setup.h index 6b335a9ff8c8..25ceda63b284 100644 --- a/arch/arm/include/uapi/asm/setup.h +++ b/arch/arm/include/uapi/asm/setup.h | |||
@@ -9,7 +9,7 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | * | 10 | * |
11 | * Structure passed to kernel to tell it about the | 11 | * Structure passed to kernel to tell it about the |
12 | * hardware it's running on. See Documentation/arm/Setup | 12 | * hardware it's running on. See Documentation/arm/setup.rst |
13 | * for more info. | 13 | * for more info. |
14 | */ | 14 | */ |
15 | #ifndef _UAPI__ASMARM_SETUP_H | 15 | #ifndef _UAPI__ASMARM_SETUP_H |
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 0b8cfdd60b90..858d4e541532 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -826,7 +826,7 @@ ENDPROC(__switch_to) | |||
826 | * existing ones. This mechanism should be used only for things that are | 826 | * existing ones. This mechanism should be used only for things that are |
827 | * really small and justified, and not be abused freely. | 827 | * really small and justified, and not be abused freely. |
828 | * | 828 | * |
829 | * See Documentation/arm/kernel_user_helpers.txt for formal definitions. | 829 | * See Documentation/arm/kernel_user_helpers.rst for formal definitions. |
830 | */ | 830 | */ |
831 | THUMB( .arm ) | 831 | THUMB( .arm ) |
832 | 832 | ||
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index c93356a8d662..56411bb63d45 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h | |||
@@ -106,7 +106,7 @@ void exynos_firmware_init(void); | |||
106 | #define C2_STATE (1 << 3) | 106 | #define C2_STATE (1 << 3) |
107 | /* | 107 | /* |
108 | * Magic values for bootloader indicating chosen low power mode. | 108 | * Magic values for bootloader indicating chosen low power mode. |
109 | * See also Documentation/arm/Samsung/Bootloader-interface.txt | 109 | * See also Documentation/arm/samsung/bootloader-interface.rst |
110 | */ | 110 | */ |
111 | #define EXYNOS_SLEEP_MAGIC 0x00000bad | 111 | #define EXYNOS_SLEEP_MAGIC 0x00000bad |
112 | #define EXYNOS_AFTR_MAGIC 0xfcba0d10 | 112 | #define EXYNOS_AFTR_MAGIC 0xfcba0d10 |
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig index fc5378b00f3d..f7211b57b1e7 100644 --- a/arch/arm/mach-ixp4xx/Kconfig +++ b/arch/arm/mach-ixp4xx/Kconfig | |||
@@ -33,7 +33,7 @@ config MACH_AVILA | |||
33 | help | 33 | help |
34 | Say 'Y' here if you want your kernel to support the Gateworks | 34 | Say 'Y' here if you want your kernel to support the Gateworks |
35 | Avila Network Platform. For more information on this platform, | 35 | Avila Network Platform. For more information on this platform, |
36 | see <file:Documentation/arm/IXP4xx>. | 36 | see <file:Documentation/arm/ixp4xx.rst>. |
37 | 37 | ||
38 | config MACH_LOFT | 38 | config MACH_LOFT |
39 | bool "Loft" | 39 | bool "Loft" |
@@ -49,7 +49,7 @@ config ARCH_ADI_COYOTE | |||
49 | help | 49 | help |
50 | Say 'Y' here if you want your kernel to support the ADI | 50 | Say 'Y' here if you want your kernel to support the ADI |
51 | Engineering Coyote Gateway Reference Platform. For more | 51 | Engineering Coyote Gateway Reference Platform. For more |
52 | information on this platform, see <file:Documentation/arm/IXP4xx>. | 52 | information on this platform, see <file:Documentation/arm/ixp4xx.rst>. |
53 | 53 | ||
54 | config MACH_GATEWAY7001 | 54 | config MACH_GATEWAY7001 |
55 | bool "Gateway 7001" | 55 | bool "Gateway 7001" |
@@ -72,21 +72,21 @@ config ARCH_IXDP425 | |||
72 | help | 72 | help |
73 | Say 'Y' here if you want your kernel to support Intel's | 73 | Say 'Y' here if you want your kernel to support Intel's |
74 | IXDP425 Development Platform (Also known as Richfield). | 74 | IXDP425 Development Platform (Also known as Richfield). |
75 | For more information on this platform, see <file:Documentation/arm/IXP4xx>. | 75 | For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. |
76 | 76 | ||
77 | config MACH_IXDPG425 | 77 | config MACH_IXDPG425 |
78 | bool "IXDPG425" | 78 | bool "IXDPG425" |
79 | help | 79 | help |
80 | Say 'Y' here if you want your kernel to support Intel's | 80 | Say 'Y' here if you want your kernel to support Intel's |
81 | IXDPG425 Development Platform (Also known as Montajade). | 81 | IXDPG425 Development Platform (Also known as Montajade). |
82 | For more information on this platform, see <file:Documentation/arm/IXP4xx>. | 82 | For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. |
83 | 83 | ||
84 | config MACH_IXDP465 | 84 | config MACH_IXDP465 |
85 | bool "IXDP465" | 85 | bool "IXDP465" |
86 | help | 86 | help |
87 | Say 'Y' here if you want your kernel to support Intel's | 87 | Say 'Y' here if you want your kernel to support Intel's |
88 | IXDP465 Development Platform (Also known as BMP). | 88 | IXDP465 Development Platform (Also known as BMP). |
89 | For more information on this platform, see <file:Documentation/arm/IXP4xx>. | 89 | For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. |
90 | 90 | ||
91 | config MACH_GORAMO_MLR | 91 | config MACH_GORAMO_MLR |
92 | bool "GORAMO Multi Link Router" | 92 | bool "GORAMO Multi Link Router" |
@@ -99,7 +99,7 @@ config MACH_KIXRP435 | |||
99 | help | 99 | help |
100 | Say 'Y' here if you want your kernel to support Intel's | 100 | Say 'Y' here if you want your kernel to support Intel's |
101 | KIXRP435 Reference Platform. | 101 | KIXRP435 Reference Platform. |
102 | For more information on this platform, see <file:Documentation/arm/IXP4xx>. | 102 | For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. |
103 | 103 | ||
104 | # | 104 | # |
105 | # IXCDP1100 is the exact same HW as IXDP425, but with a different machine | 105 | # IXCDP1100 is the exact same HW as IXDP425, but with a different machine |
@@ -116,7 +116,7 @@ config ARCH_PRPMC1100 | |||
116 | help | 116 | help |
117 | Say 'Y' here if you want your kernel to support the Motorola | 117 | Say 'Y' here if you want your kernel to support the Motorola |
118 | PrPCM1100 Processor Mezanine Module. For more information on | 118 | PrPCM1100 Processor Mezanine Module. For more information on |
119 | this platform, see <file:Documentation/arm/IXP4xx>. | 119 | this platform, see <file:Documentation/arm/ixp4xx.rst>. |
120 | 120 | ||
121 | config MACH_NAS100D | 121 | config MACH_NAS100D |
122 | bool | 122 | bool |
diff --git a/arch/arm/mach-s3c24xx/pm.c b/arch/arm/mach-s3c24xx/pm.c index adcb90645460..c64988c609ad 100644 --- a/arch/arm/mach-s3c24xx/pm.c +++ b/arch/arm/mach-s3c24xx/pm.c | |||
@@ -5,7 +5,7 @@ | |||
5 | // | 5 | // |
6 | // S3C24XX Power Manager (Suspend-To-RAM) support | 6 | // S3C24XX Power Manager (Suspend-To-RAM) support |
7 | // | 7 | // |
8 | // See Documentation/arm/Samsung-S3C24XX/Suspend.txt for more information | 8 | // See Documentation/arm/samsung-s3c24xx/suspend.rst for more information |
9 | // | 9 | // |
10 | // Parts based on arch/arm/mach-pxa/pm.c | 10 | // Parts based on arch/arm/mach-pxa/pm.c |
11 | // | 11 | // |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index cc798115aa9b..820b60a50125 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -709,7 +709,7 @@ config ARM_VIRT_EXT | |||
709 | assistance. | 709 | assistance. |
710 | 710 | ||
711 | A compliant bootloader is required in order to make maximum | 711 | A compliant bootloader is required in order to make maximum |
712 | use of this feature. Refer to Documentation/arm/Booting for | 712 | use of this feature. Refer to Documentation/arm/booting.rst for |
713 | details. | 713 | details. |
714 | 714 | ||
715 | config SWP_EMULATE | 715 | config SWP_EMULATE |
@@ -875,7 +875,7 @@ config KUSER_HELPERS | |||
875 | the CPU type fitted to the system. This permits binaries to be | 875 | the CPU type fitted to the system. This permits binaries to be |
876 | run on ARMv4 through to ARMv7 without modification. | 876 | run on ARMv4 through to ARMv7 without modification. |
877 | 877 | ||
878 | See Documentation/arm/kernel_user_helpers.txt for details. | 878 | See Documentation/arm/kernel_user_helpers.rst for details. |
879 | 879 | ||
880 | However, the fixed address nature of these helpers can be used | 880 | However, the fixed address nature of these helpers can be used |
881 | by ROP (return orientated programming) authors when creating | 881 | by ROP (return orientated programming) authors when creating |
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 53da57fba39c..301e572651c0 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig | |||
@@ -243,7 +243,7 @@ config SAMSUNG_PM_DEBUG | |||
243 | depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART | 243 | depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART |
244 | help | 244 | help |
245 | Say Y here if you want verbose debugging from the PM Suspend and | 245 | Say Y here if you want verbose debugging from the PM Suspend and |
246 | Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | 246 | Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> |
247 | for more information. | 247 | for more information. |
248 | 248 | ||
249 | config S3C_PM_DEBUG_LED_SMDK | 249 | config S3C_PM_DEBUG_LED_SMDK |
@@ -268,7 +268,7 @@ config SAMSUNG_PM_CHECK | |||
268 | Note, this can take several seconds depending on memory size | 268 | Note, this can take several seconds depending on memory size |
269 | and CPU speed. | 269 | and CPU speed. |
270 | 270 | ||
271 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | 271 | See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> |
272 | 272 | ||
273 | config SAMSUNG_PM_CHECK_CHUNKSIZE | 273 | config SAMSUNG_PM_CHECK_CHUNKSIZE |
274 | int "S3C2410 PM Suspend CRC Chunksize (KiB)" | 274 | int "S3C2410 PM Suspend CRC Chunksize (KiB)" |
@@ -280,7 +280,7 @@ config SAMSUNG_PM_CHECK_CHUNKSIZE | |||
280 | the CRC data block will take more memory, but will identify any | 280 | the CRC data block will take more memory, but will identify any |
281 | faults with better precision. | 281 | faults with better precision. |
282 | 282 | ||
283 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | 283 | See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> |
284 | 284 | ||
285 | config SAMSUNG_WAKEMASK | 285 | config SAMSUNG_WAKEMASK |
286 | bool | 286 | bool |
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index 4eac94c1eb6f..9e74c7ff6b04 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types | |||
@@ -7,7 +7,7 @@ | |||
7 | # http://www.arm.linux.org.uk/developer/machines/download.php | 7 | # http://www.arm.linux.org.uk/developer/machines/download.php |
8 | # | 8 | # |
9 | # Please do not send patches to this file; it is automatically generated! | 9 | # Please do not send patches to this file; it is automatically generated! |
10 | # To add an entry into this database, please see Documentation/arm/README, | 10 | # To add an entry into this database, please see Documentation/arm/arm.rst, |
11 | # or visit: | 11 | # or visit: |
12 | # | 12 | # |
13 | # http://www.arm.linux.org.uk/developer/machines/?action=new | 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new |
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index a36ff61321ce..a4b22bbf0590 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig | |||
@@ -1142,7 +1142,7 @@ config KUSER_HELPERS | |||
1142 | the system. This permits binaries to be run on ARMv4 through | 1142 | the system. This permits binaries to be run on ARMv4 through |
1143 | to ARMv8 without modification. | 1143 | to ARMv8 without modification. |
1144 | 1144 | ||
1145 | See Documentation/arm/kernel_user_helpers.txt for details. | 1145 | See Documentation/arm/kernel_user_helpers.rst for details. |
1146 | 1146 | ||
1147 | However, the fixed address nature of these helpers can be used | 1147 | However, the fixed address nature of these helpers can be used |
1148 | by ROP (return orientated programming) authors when creating | 1148 | by ROP (return orientated programming) authors when creating |
diff --git a/arch/arm64/kernel/kuser32.S b/arch/arm64/kernel/kuser32.S index 49825e9e421e..42bd8c0c60e0 100644 --- a/arch/arm64/kernel/kuser32.S +++ b/arch/arm64/kernel/kuser32.S | |||
@@ -10,7 +10,7 @@ | |||
10 | * aarch32_setup_additional_pages() and are provided for compatibility | 10 | * aarch32_setup_additional_pages() and are provided for compatibility |
11 | * reasons with 32 bit (aarch32) applications that need them. | 11 | * reasons with 32 bit (aarch32) applications that need them. |
12 | * | 12 | * |
13 | * See Documentation/arm/kernel_user_helpers.txt for formal definitions. | 13 | * See Documentation/arm/kernel_user_helpers.rst for formal definitions. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <asm/unistd.h> | 16 | #include <asm/unistd.h> |
diff --git a/arch/mips/bmips/setup.c b/arch/mips/bmips/setup.c index 1738a06396f9..2f81a94c71a6 100644 --- a/arch/mips/bmips/setup.c +++ b/arch/mips/bmips/setup.c | |||
@@ -162,7 +162,7 @@ void __init plat_mem_setup(void) | |||
162 | ioport_resource.start = 0; | 162 | ioport_resource.start = 0; |
163 | ioport_resource.end = ~0; | 163 | ioport_resource.end = ~0; |
164 | 164 | ||
165 | /* intended to somewhat resemble ARM; see Documentation/arm/Booting */ | 165 | /* intended to somewhat resemble ARM; see Documentation/arm/booting.rst */ |
166 | if (fw_arg0 == 0 && fw_arg1 == 0xffffffff) | 166 | if (fw_arg0 == 0 && fw_arg1 == 0xffffffff) |
167 | dtb = phys_to_virt(fw_arg2); | 167 | dtb = phys_to_virt(fw_arg2); |
168 | else if (fw_passed_dtb) /* UHI interface or appended dtb */ | 168 | else if (fw_passed_dtb) /* UHI interface or appended dtb */ |
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c index 4ab14d58e85b..6f7cbf6c2b55 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | |||
@@ -8,7 +8,7 @@ | |||
8 | * keysize in CBC and ECB mode. | 8 | * keysize in CBC and ECB mode. |
9 | * Add support also for DES and 3DES in CBC and ECB mode. | 9 | * Add support also for DES and 3DES in CBC and ECB mode. |
10 | * | 10 | * |
11 | * You could find the datasheet in Documentation/arm/sunxi/README | 11 | * You could find the datasheet in Documentation/arm/sunxi.rst |
12 | */ | 12 | */ |
13 | #include "sun4i-ss.h" | 13 | #include "sun4i-ss.h" |
14 | 14 | ||
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-core.c b/drivers/crypto/sunxi-ss/sun4i-ss-core.c index cdcda7f059c8..2e8704271f45 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * | 6 | * |
7 | * Core file which registers crypto algorithms supported by the SS. | 7 | * Core file which registers crypto algorithms supported by the SS. |
8 | * | 8 | * |
9 | * You could find a link for the datasheet in Documentation/arm/sunxi/README | 9 | * You could find a link for the datasheet in Documentation/arm/sunxi.rst |
10 | */ | 10 | */ |
11 | #include <linux/clk.h> | 11 | #include <linux/clk.h> |
12 | #include <linux/crypto.h> | 12 | #include <linux/crypto.h> |
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c index d2b6d89aad28..fcffba5ef927 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * | 6 | * |
7 | * This file add support for MD5 and SHA1. | 7 | * This file add support for MD5 and SHA1. |
8 | * | 8 | * |
9 | * You could find the datasheet in Documentation/arm/sunxi/README | 9 | * You could find the datasheet in Documentation/arm/sunxi.rst |
10 | */ | 10 | */ |
11 | #include "sun4i-ss.h" | 11 | #include "sun4i-ss.h" |
12 | #include <linux/scatterlist.h> | 12 | #include <linux/scatterlist.h> |
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss.h b/drivers/crypto/sunxi-ss/sun4i-ss.h index 68b82d1a6303..8654d48aedc0 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss.h +++ b/drivers/crypto/sunxi-ss/sun4i-ss.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * Support MD5 and SHA1 hash algorithms. | 8 | * Support MD5 and SHA1 hash algorithms. |
9 | * Support DES and 3DES | 9 | * Support DES and 3DES |
10 | * | 10 | * |
11 | * You could find the datasheet in Documentation/arm/sunxi/README | 11 | * You could find the datasheet in Documentation/arm/sunxi.rst |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/clk.h> | 14 | #include <linux/clk.h> |
diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c index 92f6e1ae23a2..f11ba7f2dca7 100644 --- a/drivers/input/touchscreen/sun4i-ts.c +++ b/drivers/input/touchscreen/sun4i-ts.c | |||
@@ -22,7 +22,7 @@ | |||
22 | * in the kernel). So this driver offers straight forward, reliable single | 22 | * in the kernel). So this driver offers straight forward, reliable single |
23 | * touch functionality only. | 23 | * touch functionality only. |
24 | * | 24 | * |
25 | * s.a. A20 User Manual "1.15 TP" (Documentation/arm/sunxi/README) | 25 | * s.a. A20 User Manual "1.15 TP" (Documentation/arm/sunxi.rst) |
26 | * (looks like the description in the A20 User Manual v1.3 is better | 26 | * (looks like the description in the A20 User Manual v1.3 is better |
27 | * than the one in the A10 User Manual v.1.5) | 27 | * than the one in the A10 User Manual v.1.5) |
28 | */ | 28 | */ |
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index b416c7b33f49..04c23951b831 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig | |||
@@ -500,7 +500,7 @@ config SERIAL_SA1100 | |||
500 | help | 500 | help |
501 | If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you | 501 | If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you |
502 | can enable its onboard serial port by enabling this option. | 502 | can enable its onboard serial port by enabling this option. |
503 | Please read <file:Documentation/arm/SA1100/serial_UART> for further | 503 | Please read <file:Documentation/arm/sa1100/serial_uart.rst> for further |
504 | info. | 504 | info. |
505 | 505 | ||
506 | config SERIAL_SA1100_CONSOLE | 506 | config SERIAL_SA1100_CONSOLE |