diff options
author | Olof Johansson <olof@lixom.net> | 2012-10-04 23:17:25 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-10-04 23:17:25 -0400 |
commit | 54d69df5849ec2e660aa12ac75562618c10fb499 (patch) | |
tree | adbfb8bcc7cc73b83bf2b784fa331911ba03573a /Documentation | |
parent | ad932bb6b549722a561fb31ac2fa50dcbcb3e36b (diff) | |
parent | 46f2007c1efadfa4071c17e75f140c47f09293de (diff) |
Merge branch 'late/kirkwood' into late/soc
Merge in the late Kirkwood branch with the OMAP late branch for upstream
submission.
Final contents described in shared tag.
Fixup remove/change conflicts in arch/arm/mach-omap2/devices.c and
drivers/spi/spi-omap2-mcspi.c.
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'Documentation')
33 files changed, 1897 insertions, 89 deletions
diff --git a/Documentation/arm/Marvell/README b/Documentation/arm/Marvell/README new file mode 100644 index 000000000000..8f08a86e03b7 --- /dev/null +++ b/Documentation/arm/Marvell/README | |||
@@ -0,0 +1,232 @@ | |||
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 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 ARMv5 compatible | ||
56 | Linux kernel mach directory: arch/arm/mach-kirkwood | ||
57 | Linux kernel plat directory: arch/arm/plat-orion | ||
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 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 | |||
87 | Armada XP Flavors: | ||
88 | MV78230 | ||
89 | MV78260 | ||
90 | MV78460 | ||
91 | |||
92 | Product Brief: http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf | ||
93 | No public datasheet available. | ||
94 | |||
95 | Core: Sheeva ARMv7 compatible | ||
96 | |||
97 | Linux kernel mach directory: arch/arm/mach-mvebu | ||
98 | Linux kernel plat directory: none | ||
99 | |||
100 | Avanta family | ||
101 | ------------- | ||
102 | |||
103 | Flavors: | ||
104 | 88F6510 | ||
105 | 88F6530P | ||
106 | 88F6550 | ||
107 | 88F6560 | ||
108 | Homepage : http://www.marvell.com/broadband/ | ||
109 | Product Brief: http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf | ||
110 | No public datasheet available. | ||
111 | |||
112 | Core: ARMv5 compatible | ||
113 | |||
114 | Linux kernel mach directory: no code in mainline yet, planned for the future | ||
115 | Linux kernel plat directory: no code in mainline yet, planned for the future | ||
116 | |||
117 | Dove family (application processor) | ||
118 | ----------------------------------- | ||
119 | |||
120 | Flavors: | ||
121 | 88AP510 a.k.a Armada 510 | ||
122 | Product Brief : http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf | ||
123 | Hardware Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf | ||
124 | Functional Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf | ||
125 | Homepage: http://www.marvell.com/application-processors/armada-500/ | ||
126 | Core: ARMv7 compatible | ||
127 | Directory: arch/arm/mach-dove | ||
128 | |||
129 | PXA 2xx/3xx/93x/95x family | ||
130 | -------------------------- | ||
131 | |||
132 | Flavors: | ||
133 | PXA21x, PXA25x, PXA26x | ||
134 | Application processor only | ||
135 | Core: ARMv5 XScale core | ||
136 | PXA270, PXA271, PXA272 | ||
137 | Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf | ||
138 | Design guide : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf | ||
139 | Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf | ||
140 | Specification : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf | ||
141 | Specification update : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf | ||
142 | Application processor only | ||
143 | Core: ARMv5 XScale core | ||
144 | PXA300, PXA310, PXA320 | ||
145 | PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf | ||
146 | PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf | ||
147 | PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf | ||
148 | Design guide : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf | ||
149 | Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip | ||
150 | Specifications : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf | ||
151 | Specification Update : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip | ||
152 | Reference Manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf | ||
153 | Application processor only | ||
154 | Core: ARMv5 XScale core | ||
155 | PXA930, PXA935 | ||
156 | Application processor with Communication processor | ||
157 | Core: ARMv5 XScale core | ||
158 | PXA955 | ||
159 | Application processor with Communication processor | ||
160 | Core: ARMv7 compatible Sheeva PJ4 core | ||
161 | |||
162 | Comments: | ||
163 | |||
164 | * This line of SoCs originates from the XScale family developed by | ||
165 | Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x, | ||
166 | PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while | ||
167 | the later PXA95x were developed by Marvell. | ||
168 | |||
169 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
170 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
171 | SoCs, except with the MMP/MMP2 family of SoCs. | ||
172 | |||
173 | Linux kernel mach directory: arch/arm/mach-pxa | ||
174 | Linux kernel plat directory: arch/arm/plat-pxa | ||
175 | |||
176 | MMP/MMP2 family (communication processor) | ||
177 | ----------------------------------------- | ||
178 | |||
179 | Flavors: | ||
180 | PXA168, a.k.a Armada 168 | ||
181 | Homepage : http://www.marvell.com/application-processors/armada-100/armada-168.jsp | ||
182 | Product brief : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf | ||
183 | Hardware manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf | ||
184 | Software manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf | ||
185 | Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf | ||
186 | Boot ROM manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf | ||
187 | App node package : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf | ||
188 | Application processor only | ||
189 | Core: ARMv5 compatible Marvell PJ1 (Mohawk) | ||
190 | PXA910 | ||
191 | Homepage : http://www.marvell.com/communication-processors/pxa910/ | ||
192 | Product Brief : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf | ||
193 | Application processor with Communication processor | ||
194 | Core: ARMv5 compatible Marvell PJ1 (Mohawk) | ||
195 | MMP2, a.k.a Armada 610 | ||
196 | Product Brief : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf | ||
197 | Application processor only | ||
198 | Core: ARMv7 compatible Sheeva PJ4 core | ||
199 | |||
200 | Comments: | ||
201 | |||
202 | * This line of SoCs originates from the XScale family developed by | ||
203 | Intel and acquired by Marvell in ~2006. All the processors of | ||
204 | this MMP/MMP2 family were developed by Marvell. | ||
205 | |||
206 | * Due to their XScale origin, these SoCs have virtually nothing in | ||
207 | common with the other (Kirkwood, Dove, etc.) families of Marvell | ||
208 | SoCs, except with the PXA family of SoCs listed above. | ||
209 | |||
210 | Linux kernel mach directory: arch/arm/mach-mmp | ||
211 | Linux kernel plat directory: arch/arm/plat-pxa | ||
212 | |||
213 | Long-term plans | ||
214 | --------------- | ||
215 | |||
216 | * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ and | ||
217 | mach-kirkwood/ into the mach-mvebu/ to support all SoCs from the | ||
218 | Marvell EBU (Engineering Business Unit) in a single mach-<foo> | ||
219 | directory. The plat-orion/ would therefore disappear. | ||
220 | |||
221 | * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa | ||
222 | directory. The plat-pxa/ would therefore disappear. | ||
223 | |||
224 | Credits | ||
225 | ------- | ||
226 | |||
227 | Maen Suleiman <maen@marvell.com> | ||
228 | Lior Amsalem <alior@marvell.com> | ||
229 | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
230 | Andrew Lunn <andrew@lunn.ch> | ||
231 | Nicolas Pitre <nico@fluxnic.net> | ||
232 | Eric Miao <eric.y.miao@gmail.com> | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt index 816d6071669e..8b46c79679c4 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | S3C2410 GPIO Control | 1 | S3C24XX GPIO Control |
2 | ==================== | 2 | ==================== |
3 | 3 | ||
4 | Introduction | 4 | Introduction |
@@ -12,7 +12,7 @@ Introduction | |||
12 | of the s3c2410 GPIO system, please read the Samsung provided | 12 | of the s3c2410 GPIO system, please read the Samsung provided |
13 | data-sheet/users manual to find out the complete list. | 13 | data-sheet/users manual to find out the complete list. |
14 | 14 | ||
15 | See Documentation/arm/Samsung/GPIO.txt for the core implemetation. | 15 | See Documentation/arm/Samsung/GPIO.txt for the core implementation. |
16 | 16 | ||
17 | 17 | ||
18 | GPIOLIB | 18 | GPIOLIB |
@@ -41,8 +41,8 @@ GPIOLIB | |||
41 | GPIOLIB conversion | 41 | GPIOLIB conversion |
42 | ------------------ | 42 | ------------------ |
43 | 43 | ||
44 | If you need to convert your board or driver to use gpiolib from the exiting | 44 | If you need to convert your board or driver to use gpiolib from the phased |
45 | s3c2410 api, then here are some notes on the process. | 45 | out s3c2410 API, then here are some notes on the process. |
46 | 46 | ||
47 | 1) If your board is exclusively using an GPIO, say to control peripheral | 47 | 1) If your board is exclusively using an GPIO, say to control peripheral |
48 | power, then it will require to claim the gpio with gpio_request() before | 48 | power, then it will require to claim the gpio with gpio_request() before |
@@ -55,7 +55,7 @@ s3c2410 api, then here are some notes on the process. | |||
55 | as they have the same arguments, and can either take the pin specific | 55 | as they have the same arguments, and can either take the pin specific |
56 | values, or the more generic special-function-number arguments. | 56 | values, or the more generic special-function-number arguments. |
57 | 57 | ||
58 | 3) s3c2410_gpio_pullup() changs have the problem that whilst the | 58 | 3) s3c2410_gpio_pullup() changes have the problem that whilst the |
59 | s3c2410_gpio_pullup(x, 1) can be easily translated to the | 59 | s3c2410_gpio_pullup(x, 1) can be easily translated to the |
60 | s3c_gpio_setpull(x, S3C_GPIO_PULL_NONE), the s3c2410_gpio_pullup(x, 0) | 60 | s3c_gpio_setpull(x, S3C_GPIO_PULL_NONE), the s3c2410_gpio_pullup(x, 0) |
61 | are not so easy. | 61 | are not so easy. |
@@ -74,7 +74,7 @@ s3c2410 api, then here are some notes on the process. | |||
74 | when using gpio_get_value() on an output pin (s3c2410_gpio_getpin | 74 | when using gpio_get_value() on an output pin (s3c2410_gpio_getpin |
75 | would return the value the pin is supposed to be outputting). | 75 | would return the value the pin is supposed to be outputting). |
76 | 76 | ||
77 | 6) s3c2410_gpio_getirq() should be directly replacable with the | 77 | 6) s3c2410_gpio_getirq() should be directly replaceable with the |
78 | gpio_to_irq() call. | 78 | gpio_to_irq() call. |
79 | 79 | ||
80 | The s3c2410_gpio and gpio_ calls have always operated on the same gpio | 80 | The s3c2410_gpio and gpio_ calls have always operated on the same gpio |
@@ -105,7 +105,7 @@ PIN Numbers | |||
105 | ----------- | 105 | ----------- |
106 | 106 | ||
107 | Each pin has an unique number associated with it in regs-gpio.h, | 107 | Each pin has an unique number associated with it in regs-gpio.h, |
108 | eg S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell | 108 | e.g. S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell |
109 | the GPIO functions which pin is to be used. | 109 | the GPIO functions which pin is to be used. |
110 | 110 | ||
111 | With the conversion to gpiolib, there is no longer a direct conversion | 111 | With the conversion to gpiolib, there is no longer a direct conversion |
@@ -120,31 +120,27 @@ Configuring a pin | |||
120 | The following function allows the configuration of a given pin to | 120 | The following function allows the configuration of a given pin to |
121 | be changed. | 121 | be changed. |
122 | 122 | ||
123 | void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function); | 123 | void s3c_gpio_cfgpin(unsigned int pin, unsigned int function); |
124 | 124 | ||
125 | Eg: | 125 | e.g.: |
126 | 126 | ||
127 | s3c2410_gpio_cfgpin(S3C2410_GPA(0), S3C2410_GPA0_ADDR0); | 127 | s3c_gpio_cfgpin(S3C2410_GPA(0), S3C_GPIO_SFN(1)); |
128 | s3c2410_gpio_cfgpin(S3C2410_GPE(8), S3C2410_GPE8_SDDAT1); | 128 | s3c_gpio_cfgpin(S3C2410_GPE(8), S3C_GPIO_SFN(2)); |
129 | 129 | ||
130 | which would turn GPA(0) into the lowest Address line A0, and set | 130 | which would turn GPA(0) into the lowest Address line A0, and set |
131 | GPE(8) to be connected to the SDIO/MMC controller's SDDAT1 line. | 131 | GPE(8) to be connected to the SDIO/MMC controller's SDDAT1 line. |
132 | 132 | ||
133 | The s3c_gpio_cfgpin() call is a functional replacement for this call. | ||
134 | |||
135 | 133 | ||
136 | Reading the current configuration | 134 | Reading the current configuration |
137 | --------------------------------- | 135 | --------------------------------- |
138 | 136 | ||
139 | The current configuration of a pin can be read by using: | 137 | The current configuration of a pin can be read by using standard |
138 | gpiolib function: | ||
140 | 139 | ||
141 | s3c2410_gpio_getcfg(unsigned int pin); | 140 | s3c_gpio_getcfg(unsigned int pin); |
142 | 141 | ||
143 | The return value will be from the same set of values which can be | 142 | The return value will be from the same set of values which can be |
144 | passed to s3c2410_gpio_cfgpin(). | 143 | passed to s3c_gpio_cfgpin(). |
145 | |||
146 | The s3c_gpio_getcfg() call should be a functional replacement for | ||
147 | this call. | ||
148 | 144 | ||
149 | 145 | ||
150 | Configuring a pull-up resistor | 146 | Configuring a pull-up resistor |
@@ -154,61 +150,33 @@ Configuring a pull-up resistor | |||
154 | pull-up resistors enabled. This can be configured by the following | 150 | pull-up resistors enabled. This can be configured by the following |
155 | function: | 151 | function: |
156 | 152 | ||
157 | void s3c2410_gpio_pullup(unsigned int pin, unsigned int to); | 153 | void s3c_gpio_setpull(unsigned int pin, unsigned int to); |
158 | |||
159 | Where the to value is zero to set the pull-up off, and 1 to enable | ||
160 | the specified pull-up. Any other values are currently undefined. | ||
161 | |||
162 | The s3c_gpio_setpull() offers similar functionality, but with the | ||
163 | ability to encode whether the pull is up or down. Currently there | ||
164 | is no 'just on' state, so up or down must be selected. | ||
165 | |||
166 | |||
167 | Getting the state of a PIN | ||
168 | -------------------------- | ||
169 | |||
170 | The state of a pin can be read by using the function: | ||
171 | |||
172 | unsigned int s3c2410_gpio_getpin(unsigned int pin); | ||
173 | 154 | ||
174 | This will return either zero or non-zero. Do not count on this | 155 | Where the to value is S3C_GPIO_PULL_NONE to set the pull-up off, |
175 | function returning 1 if the pin is set. | 156 | and S3C_GPIO_PULL_UP to enable the specified pull-up. Any other |
157 | values are currently undefined. | ||
176 | 158 | ||
177 | This call is now implemented by the relevant gpiolib calls, convert | ||
178 | your board or driver to use gpiolib. | ||
179 | |||
180 | |||
181 | Setting the state of a PIN | ||
182 | -------------------------- | ||
183 | |||
184 | The value an pin is outputing can be modified by using the following: | ||
185 | 159 | ||
186 | void s3c2410_gpio_setpin(unsigned int pin, unsigned int to); | 160 | Getting and setting the state of a PIN |
161 | -------------------------------------- | ||
187 | 162 | ||
188 | Which sets the given pin to the value. Use 0 to write 0, and 1 to | 163 | These calls are now implemented by the relevant gpiolib calls, convert |
189 | set the output to 1. | ||
190 | |||
191 | This call is now implemented by the relevant gpiolib calls, convert | ||
192 | your board or driver to use gpiolib. | 164 | your board or driver to use gpiolib. |
193 | 165 | ||
194 | 166 | ||
195 | Getting the IRQ number associated with a PIN | 167 | Getting the IRQ number associated with a PIN |
196 | -------------------------------------------- | 168 | -------------------------------------------- |
197 | 169 | ||
198 | The following function can map the given pin number to an IRQ | 170 | A standard gpiolib function can map the given pin number to an IRQ |
199 | number to pass to the IRQ system. | 171 | number to pass to the IRQ system. |
200 | 172 | ||
201 | int s3c2410_gpio_getirq(unsigned int pin); | 173 | int gpio_to_irq(unsigned int pin); |
202 | 174 | ||
203 | Note, not all pins have an IRQ. | 175 | Note, not all pins have an IRQ. |
204 | 176 | ||
205 | This call is now implemented by the relevant gpiolib calls, convert | ||
206 | your board or driver to use gpiolib. | ||
207 | |||
208 | 177 | ||
209 | Authour | 178 | Author |
210 | ------- | 179 | ------- |
211 | 180 | ||
212 | |||
213 | Ben Dooks, 03 October 2004 | 181 | Ben Dooks, 03 October 2004 |
214 | Copyright 2004 Ben Dooks, Simtec Electronics | 182 | Copyright 2004 Ben Dooks, Simtec Electronics |
diff --git a/Documentation/arm/Samsung/GPIO.txt b/Documentation/arm/Samsung/GPIO.txt index 513f2562c1a3..795adfd88081 100644 --- a/Documentation/arm/Samsung/GPIO.txt +++ b/Documentation/arm/Samsung/GPIO.txt | |||
@@ -5,14 +5,14 @@ Introduction | |||
5 | ------------ | 5 | ------------ |
6 | 6 | ||
7 | This outlines the Samsung GPIO implementation and the architecture | 7 | This outlines the Samsung GPIO implementation and the architecture |
8 | specific calls provided alongisde the drivers/gpio core. | 8 | specific calls provided alongside the drivers/gpio core. |
9 | 9 | ||
10 | 10 | ||
11 | S3C24XX (Legacy) | 11 | S3C24XX (Legacy) |
12 | ---------------- | 12 | ---------------- |
13 | 13 | ||
14 | See Documentation/arm/Samsung-S3C24XX/GPIO.txt for more information | 14 | See Documentation/arm/Samsung-S3C24XX/GPIO.txt for more information |
15 | about these devices. Their implementation is being brought into line | 15 | about these devices. Their implementation has been brought into line |
16 | with the core samsung implementation described in this document. | 16 | with the core samsung implementation described in this document. |
17 | 17 | ||
18 | 18 | ||
@@ -29,7 +29,7 @@ GPIO numbering is synchronised between the Samsung and gpiolib system. | |||
29 | PIN configuration | 29 | PIN configuration |
30 | ----------------- | 30 | ----------------- |
31 | 31 | ||
32 | Pin configuration is specific to the Samsung architecutre, with each SoC | 32 | Pin configuration is specific to the Samsung architecture, with each SoC |
33 | registering the necessary information for the core gpio configuration | 33 | registering the necessary information for the core gpio configuration |
34 | implementation to configure pins as necessary. | 34 | implementation to configure pins as necessary. |
35 | 35 | ||
@@ -38,5 +38,3 @@ driver or machine to change gpio configuration. | |||
38 | 38 | ||
39 | See arch/arm/plat-samsung/include/plat/gpio-cfg.h for more information | 39 | See arch/arm/plat-samsung/include/plat/gpio-cfg.h for more information |
40 | on these functions. | 40 | on these functions. |
41 | |||
42 | |||
diff --git a/Documentation/arm/memory.txt b/Documentation/arm/memory.txt index 208a2d465b92..4bfb9ffbdbc1 100644 --- a/Documentation/arm/memory.txt +++ b/Documentation/arm/memory.txt | |||
@@ -51,6 +51,9 @@ ffc00000 ffefffff DMA memory mapping region. Memory returned | |||
51 | ff000000 ffbfffff Reserved for future expansion of DMA | 51 | ff000000 ffbfffff Reserved for future expansion of DMA |
52 | mapping region. | 52 | mapping region. |
53 | 53 | ||
54 | fee00000 feffffff Mapping of PCI I/O space. This is a static | ||
55 | mapping within the vmalloc space. | ||
56 | |||
54 | VMALLOC_START VMALLOC_END-1 vmalloc() / ioremap() space. | 57 | VMALLOC_START VMALLOC_END-1 vmalloc() / ioremap() space. |
55 | Memory returned by vmalloc/ioremap will | 58 | Memory returned by vmalloc/ioremap will |
56 | be dynamically placed in this region. | 59 | be dynamically placed in this region. |
diff --git a/Documentation/devicetree/bindings/arm/bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm2835.txt new file mode 100644 index 000000000000..ac683480c486 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm2835.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | Broadcom BCM2835 device tree bindings | ||
2 | ------------------------------------------- | ||
3 | |||
4 | Boards with the BCM2835 SoC shall have the following properties: | ||
5 | |||
6 | Required root node property: | ||
7 | |||
8 | compatible = "brcm,bcm2835"; | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt b/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt new file mode 100644 index 000000000000..31af1cbb60bd --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * Marvell Tauros2 Cache | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "marvell,tauros2-cache". | ||
5 | - marvell,tauros2-cache-features : Specify the features supported for the | ||
6 | tauros2 cache. | ||
7 | The features including | ||
8 | CACHE_TAUROS2_PREFETCH_ON (1 << 0) | ||
9 | CACHE_TAUROS2_LINEFILL_BURST8 (1 << 1) | ||
10 | The definition can be found at | ||
11 | arch/arm/include/asm/hardware/cache-tauros2.h | ||
12 | |||
13 | Example: | ||
14 | L2: l2-cache { | ||
15 | compatible = "marvell,tauros2-cache"; | ||
16 | marvell,tauros2-cache-features = <0x3>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/msm/timer.txt b/Documentation/devicetree/bindings/arm/msm/timer.txt new file mode 100644 index 000000000000..8c5907b9cae8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/timer.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | * MSM Timer | ||
2 | |||
3 | Properties: | ||
4 | |||
5 | - compatible : Should at least contain "qcom,msm-timer". More specific | ||
6 | properties such as "qcom,msm-gpt" and "qcom,msm-dgt" specify a general | ||
7 | purpose timer and a debug timer respectively. | ||
8 | |||
9 | - interrupts : Interrupt indicating a match event. | ||
10 | |||
11 | - reg : Specifies the base address of the timer registers. The second region | ||
12 | specifies an optional register used to configure the clock divider. | ||
13 | |||
14 | - clock-frequency : The frequency of the timer in Hz. | ||
15 | |||
16 | Optional: | ||
17 | |||
18 | - cpu-offset : per-cpu offset used when the timer is accessed without the | ||
19 | CPU remapping facilities. The offset is cpu-offset * cpu-nr. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | timer@200a004 { | ||
24 | compatible = "qcom,msm-gpt", "qcom,msm-timer"; | ||
25 | interrupts = <1 2 0x301>; | ||
26 | reg = <0x0200a004 0x10>; | ||
27 | clock-frequency = <32768>; | ||
28 | cpu-offset = <0x40000>; | ||
29 | }; | ||
30 | |||
31 | timer@200a024 { | ||
32 | compatible = "qcom,msm-dgt", "qcom,msm-timer"; | ||
33 | interrupts = <1 3 0x301>; | ||
34 | reg = <0x0200a024 0x10>, | ||
35 | <0x0200a034 0x4>; | ||
36 | clock-frequency = <6750000>; | ||
37 | cpu-offset = <0x40000>; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index ccdd0e53451f..d0051a750587 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -36,6 +36,9 @@ Boards: | |||
36 | - OMAP3 BeagleBoard : Low cost community board | 36 | - OMAP3 BeagleBoard : Low cost community board |
37 | compatible = "ti,omap3-beagle", "ti,omap3" | 37 | compatible = "ti,omap3-beagle", "ti,omap3" |
38 | 38 | ||
39 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board | ||
40 | compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" | ||
41 | |||
39 | - OMAP4 SDP : Software Developement Board | 42 | - OMAP4 SDP : Software Developement Board |
40 | compatible = "ti,omap4-sdp", "ti,omap4430" | 43 | compatible = "ti,omap4-sdp", "ti,omap4430" |
41 | 44 | ||
diff --git a/Documentation/devicetree/bindings/arm/pmu.txt b/Documentation/devicetree/bindings/arm/pmu.txt index 1c044eb320cc..343781b9f246 100644 --- a/Documentation/devicetree/bindings/arm/pmu.txt +++ b/Documentation/devicetree/bindings/arm/pmu.txt | |||
@@ -7,8 +7,12 @@ representation in the device tree should be done as under:- | |||
7 | Required properties: | 7 | Required properties: |
8 | 8 | ||
9 | - compatible : should be one of | 9 | - compatible : should be one of |
10 | "arm,cortex-a15-pmu" | ||
10 | "arm,cortex-a9-pmu" | 11 | "arm,cortex-a9-pmu" |
11 | "arm,cortex-a8-pmu" | 12 | "arm,cortex-a8-pmu" |
13 | "arm,cortex-a7-pmu" | ||
14 | "arm,cortex-a5-pmu" | ||
15 | "arm,arm11mpcore-pmu" | ||
12 | "arm,arm1176-pmu" | 16 | "arm,arm1176-pmu" |
13 | "arm,arm1136-pmu" | 17 | "arm,arm1136-pmu" |
14 | - interrupts : 1 combined interrupt or 1 per core. | 18 | - interrupts : 1 combined interrupt or 1 per core. |
diff --git a/Documentation/devicetree/bindings/clock/imx23-clock.txt b/Documentation/devicetree/bindings/clock/imx23-clock.txt new file mode 100644 index 000000000000..a0b867ef8d96 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx23-clock.txt | |||
@@ -0,0 +1,76 @@ | |||
1 | * Clock bindings for Freescale i.MX23 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx23-clkctrl" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. The following is a full list of i.MX23 | ||
10 | clocks and IDs. | ||
11 | |||
12 | Clock ID | ||
13 | ------------------ | ||
14 | ref_xtal 0 | ||
15 | pll 1 | ||
16 | ref_cpu 2 | ||
17 | ref_emi 3 | ||
18 | ref_pix 4 | ||
19 | ref_io 5 | ||
20 | saif_sel 6 | ||
21 | lcdif_sel 7 | ||
22 | gpmi_sel 8 | ||
23 | ssp_sel 9 | ||
24 | emi_sel 10 | ||
25 | cpu 11 | ||
26 | etm_sel 12 | ||
27 | cpu_pll 13 | ||
28 | cpu_xtal 14 | ||
29 | hbus 15 | ||
30 | xbus 16 | ||
31 | lcdif_div 17 | ||
32 | ssp_div 18 | ||
33 | gpmi_div 19 | ||
34 | emi_pll 20 | ||
35 | emi_xtal 21 | ||
36 | etm_div 22 | ||
37 | saif_div 23 | ||
38 | clk32k_div 24 | ||
39 | rtc 25 | ||
40 | adc 26 | ||
41 | spdif_div 27 | ||
42 | clk32k 28 | ||
43 | dri 29 | ||
44 | pwm 30 | ||
45 | filt 31 | ||
46 | uart 32 | ||
47 | ssp 33 | ||
48 | gpmi 34 | ||
49 | spdif 35 | ||
50 | emi 36 | ||
51 | saif 37 | ||
52 | lcdif 38 | ||
53 | etm 39 | ||
54 | usb 40 | ||
55 | usb_pwr 41 | ||
56 | |||
57 | Examples: | ||
58 | |||
59 | clks: clkctrl@80040000 { | ||
60 | compatible = "fsl,imx23-clkctrl"; | ||
61 | reg = <0x80040000 0x2000>; | ||
62 | #clock-cells = <1>; | ||
63 | clock-output-names = | ||
64 | ... | ||
65 | "uart", /* 32 */ | ||
66 | ... | ||
67 | "end_of_list"; | ||
68 | }; | ||
69 | |||
70 | auart0: serial@8006c000 { | ||
71 | compatible = "fsl,imx23-auart"; | ||
72 | reg = <0x8006c000 0x2000>; | ||
73 | interrupts = <24 25 23>; | ||
74 | clocks = <&clks 32>; | ||
75 | status = "disabled"; | ||
76 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx28-clock.txt b/Documentation/devicetree/bindings/clock/imx28-clock.txt new file mode 100644 index 000000000000..aa2af2866fe8 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx28-clock.txt | |||
@@ -0,0 +1,99 @@ | |||
1 | * Clock bindings for Freescale i.MX28 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx28-clkctrl" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. The following is a full list of i.MX28 | ||
10 | clocks and IDs. | ||
11 | |||
12 | Clock ID | ||
13 | ------------------ | ||
14 | ref_xtal 0 | ||
15 | pll0 1 | ||
16 | pll1 2 | ||
17 | pll2 3 | ||
18 | ref_cpu 4 | ||
19 | ref_emi 5 | ||
20 | ref_io0 6 | ||
21 | ref_io1 7 | ||
22 | ref_pix 8 | ||
23 | ref_hsadc 9 | ||
24 | ref_gpmi 10 | ||
25 | saif0_sel 11 | ||
26 | saif1_sel 12 | ||
27 | gpmi_sel 13 | ||
28 | ssp0_sel 14 | ||
29 | ssp1_sel 15 | ||
30 | ssp2_sel 16 | ||
31 | ssp3_sel 17 | ||
32 | emi_sel 18 | ||
33 | etm_sel 19 | ||
34 | lcdif_sel 20 | ||
35 | cpu 21 | ||
36 | ptp_sel 22 | ||
37 | cpu_pll 23 | ||
38 | cpu_xtal 24 | ||
39 | hbus 25 | ||
40 | xbus 26 | ||
41 | ssp0_div 27 | ||
42 | ssp1_div 28 | ||
43 | ssp2_div 29 | ||
44 | ssp3_div 30 | ||
45 | gpmi_div 31 | ||
46 | emi_pll 32 | ||
47 | emi_xtal 33 | ||
48 | lcdif_div 34 | ||
49 | etm_div 35 | ||
50 | ptp 36 | ||
51 | saif0_div 37 | ||
52 | saif1_div 38 | ||
53 | clk32k_div 39 | ||
54 | rtc 40 | ||
55 | lradc 41 | ||
56 | spdif_div 42 | ||
57 | clk32k 43 | ||
58 | pwm 44 | ||
59 | uart 45 | ||
60 | ssp0 46 | ||
61 | ssp1 47 | ||
62 | ssp2 48 | ||
63 | ssp3 49 | ||
64 | gpmi 50 | ||
65 | spdif 51 | ||
66 | emi 52 | ||
67 | saif0 53 | ||
68 | saif1 54 | ||
69 | lcdif 55 | ||
70 | etm 56 | ||
71 | fec 57 | ||
72 | can0 58 | ||
73 | can1 59 | ||
74 | usb0 60 | ||
75 | usb1 61 | ||
76 | usb0_pwr 62 | ||
77 | usb1_pwr 63 | ||
78 | enet_out 64 | ||
79 | |||
80 | Examples: | ||
81 | |||
82 | clks: clkctrl@80040000 { | ||
83 | compatible = "fsl,imx28-clkctrl"; | ||
84 | reg = <0x80040000 0x2000>; | ||
85 | #clock-cells = <1>; | ||
86 | clock-output-names = | ||
87 | ... | ||
88 | "uart", /* 45 */ | ||
89 | ... | ||
90 | "end_of_list"; | ||
91 | }; | ||
92 | |||
93 | auart0: serial@8006a000 { | ||
94 | compatible = "fsl,imx28-auart", "fsl,imx23-auart"; | ||
95 | reg = <0x8006a000 0x2000>; | ||
96 | interrupts = <112 70 71>; | ||
97 | clocks = <&clks 45>; | ||
98 | status = "disabled"; | ||
99 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt new file mode 100644 index 000000000000..492bd991d52a --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt | |||
@@ -0,0 +1,222 @@ | |||
1 | * Clock bindings for Freescale i.MX6 Quad | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx6q-ccm" | ||
5 | - reg: Address and length of the register set | ||
6 | - interrupts: Should contain CCM interrupt | ||
7 | - #clock-cells: Should be <1> | ||
8 | |||
9 | The clock consumer should specify the desired clock by having the clock | ||
10 | ID in its "clocks" phandle cell. The following is a full list of i.MX6Q | ||
11 | clocks and IDs. | ||
12 | |||
13 | Clock ID | ||
14 | --------------------------- | ||
15 | dummy 0 | ||
16 | ckil 1 | ||
17 | ckih 2 | ||
18 | osc 3 | ||
19 | pll2_pfd0_352m 4 | ||
20 | pll2_pfd1_594m 5 | ||
21 | pll2_pfd2_396m 6 | ||
22 | pll3_pfd0_720m 7 | ||
23 | pll3_pfd1_540m 8 | ||
24 | pll3_pfd2_508m 9 | ||
25 | pll3_pfd3_454m 10 | ||
26 | pll2_198m 11 | ||
27 | pll3_120m 12 | ||
28 | pll3_80m 13 | ||
29 | pll3_60m 14 | ||
30 | twd 15 | ||
31 | step 16 | ||
32 | pll1_sw 17 | ||
33 | periph_pre 18 | ||
34 | periph2_pre 19 | ||
35 | periph_clk2_sel 20 | ||
36 | periph2_clk2_sel 21 | ||
37 | axi_sel 22 | ||
38 | esai_sel 23 | ||
39 | asrc_sel 24 | ||
40 | spdif_sel 25 | ||
41 | gpu2d_axi 26 | ||
42 | gpu3d_axi 27 | ||
43 | gpu2d_core_sel 28 | ||
44 | gpu3d_core_sel 29 | ||
45 | gpu3d_shader_sel 30 | ||
46 | ipu1_sel 31 | ||
47 | ipu2_sel 32 | ||
48 | ldb_di0_sel 33 | ||
49 | ldb_di1_sel 34 | ||
50 | ipu1_di0_pre_sel 35 | ||
51 | ipu1_di1_pre_sel 36 | ||
52 | ipu2_di0_pre_sel 37 | ||
53 | ipu2_di1_pre_sel 38 | ||
54 | ipu1_di0_sel 39 | ||
55 | ipu1_di1_sel 40 | ||
56 | ipu2_di0_sel 41 | ||
57 | ipu2_di1_sel 42 | ||
58 | hsi_tx_sel 43 | ||
59 | pcie_axi_sel 44 | ||
60 | ssi1_sel 45 | ||
61 | ssi2_sel 46 | ||
62 | ssi3_sel 47 | ||
63 | usdhc1_sel 48 | ||
64 | usdhc2_sel 49 | ||
65 | usdhc3_sel 50 | ||
66 | usdhc4_sel 51 | ||
67 | enfc_sel 52 | ||
68 | emi_sel 53 | ||
69 | emi_slow_sel 54 | ||
70 | vdo_axi_sel 55 | ||
71 | vpu_axi_sel 56 | ||
72 | cko1_sel 57 | ||
73 | periph 58 | ||
74 | periph2 59 | ||
75 | periph_clk2 60 | ||
76 | periph2_clk2 61 | ||
77 | ipg 62 | ||
78 | ipg_per 63 | ||
79 | esai_pred 64 | ||
80 | esai_podf 65 | ||
81 | asrc_pred 66 | ||
82 | asrc_podf 67 | ||
83 | spdif_pred 68 | ||
84 | spdif_podf 69 | ||
85 | can_root 70 | ||
86 | ecspi_root 71 | ||
87 | gpu2d_core_podf 72 | ||
88 | gpu3d_core_podf 73 | ||
89 | gpu3d_shader 74 | ||
90 | ipu1_podf 75 | ||
91 | ipu2_podf 76 | ||
92 | ldb_di0_podf 77 | ||
93 | ldb_di1_podf 78 | ||
94 | ipu1_di0_pre 79 | ||
95 | ipu1_di1_pre 80 | ||
96 | ipu2_di0_pre 81 | ||
97 | ipu2_di1_pre 82 | ||
98 | hsi_tx_podf 83 | ||
99 | ssi1_pred 84 | ||
100 | ssi1_podf 85 | ||
101 | ssi2_pred 86 | ||
102 | ssi2_podf 87 | ||
103 | ssi3_pred 88 | ||
104 | ssi3_podf 89 | ||
105 | uart_serial_podf 90 | ||
106 | usdhc1_podf 91 | ||
107 | usdhc2_podf 92 | ||
108 | usdhc3_podf 93 | ||
109 | usdhc4_podf 94 | ||
110 | enfc_pred 95 | ||
111 | enfc_podf 96 | ||
112 | emi_podf 97 | ||
113 | emi_slow_podf 98 | ||
114 | vpu_axi_podf 99 | ||
115 | cko1_podf 100 | ||
116 | axi 101 | ||
117 | mmdc_ch0_axi_podf 102 | ||
118 | mmdc_ch1_axi_podf 103 | ||
119 | arm 104 | ||
120 | ahb 105 | ||
121 | apbh_dma 106 | ||
122 | asrc 107 | ||
123 | can1_ipg 108 | ||
124 | can1_serial 109 | ||
125 | can2_ipg 110 | ||
126 | can2_serial 111 | ||
127 | ecspi1 112 | ||
128 | ecspi2 113 | ||
129 | ecspi3 114 | ||
130 | ecspi4 115 | ||
131 | ecspi5 116 | ||
132 | enet 117 | ||
133 | esai 118 | ||
134 | gpt_ipg 119 | ||
135 | gpt_ipg_per 120 | ||
136 | gpu2d_core 121 | ||
137 | gpu3d_core 122 | ||
138 | hdmi_iahb 123 | ||
139 | hdmi_isfr 124 | ||
140 | i2c1 125 | ||
141 | i2c2 126 | ||
142 | i2c3 127 | ||
143 | iim 128 | ||
144 | enfc 129 | ||
145 | ipu1 130 | ||
146 | ipu1_di0 131 | ||
147 | ipu1_di1 132 | ||
148 | ipu2 133 | ||
149 | ipu2_di0 134 | ||
150 | ldb_di0 135 | ||
151 | ldb_di1 136 | ||
152 | ipu2_di1 137 | ||
153 | hsi_tx 138 | ||
154 | mlb 139 | ||
155 | mmdc_ch0_axi 140 | ||
156 | mmdc_ch1_axi 141 | ||
157 | ocram 142 | ||
158 | openvg_axi 143 | ||
159 | pcie_axi 144 | ||
160 | pwm1 145 | ||
161 | pwm2 146 | ||
162 | pwm3 147 | ||
163 | pwm4 148 | ||
164 | per1_bch 149 | ||
165 | gpmi_bch_apb 150 | ||
166 | gpmi_bch 151 | ||
167 | gpmi_io 152 | ||
168 | gpmi_apb 153 | ||
169 | sata 154 | ||
170 | sdma 155 | ||
171 | spba 156 | ||
172 | ssi1 157 | ||
173 | ssi2 158 | ||
174 | ssi3 159 | ||
175 | uart_ipg 160 | ||
176 | uart_serial 161 | ||
177 | usboh3 162 | ||
178 | usdhc1 163 | ||
179 | usdhc2 164 | ||
180 | usdhc3 165 | ||
181 | usdhc4 166 | ||
182 | vdo_axi 167 | ||
183 | vpu_axi 168 | ||
184 | cko1 169 | ||
185 | pll1_sys 170 | ||
186 | pll2_bus 171 | ||
187 | pll3_usb_otg 172 | ||
188 | pll4_audio 173 | ||
189 | pll5_video 174 | ||
190 | pll6_mlb 175 | ||
191 | pll7_usb_host 176 | ||
192 | pll8_enet 177 | ||
193 | ssi1_ipg 178 | ||
194 | ssi2_ipg 179 | ||
195 | ssi3_ipg 180 | ||
196 | rom 181 | ||
197 | usbphy1 182 | ||
198 | usbphy2 183 | ||
199 | ldb_di0_div_3_5 184 | ||
200 | ldb_di1_div_3_5 185 | ||
201 | |||
202 | Examples: | ||
203 | |||
204 | clks: ccm@020c4000 { | ||
205 | compatible = "fsl,imx6q-ccm"; | ||
206 | reg = <0x020c4000 0x4000>; | ||
207 | interrupts = <0 87 0x04 0 88 0x04>; | ||
208 | #clock-cells = <1>; | ||
209 | clock-output-names = ... | ||
210 | "uart_ipg", | ||
211 | "uart_serial", | ||
212 | ...; | ||
213 | }; | ||
214 | |||
215 | uart1: serial@02020000 { | ||
216 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | ||
217 | reg = <0x02020000 0x4000>; | ||
218 | interrupts = <0 26 0x04>; | ||
219 | clocks = <&clks 160>, <&clks 161>; | ||
220 | clock-names = "ipg", "per"; | ||
221 | status = "disabled"; | ||
222 | }; | ||
diff --git a/Documentation/devicetree/bindings/crypto/mv_cesa.txt b/Documentation/devicetree/bindings/crypto/mv_cesa.txt new file mode 100644 index 000000000000..47229b1a594b --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/mv_cesa.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | Marvell Cryptographic Engines And Security Accelerator | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "marvell,orion-crypto" | ||
5 | - reg : base physical address of the engine and length of memory mapped | ||
6 | region, followed by base physical address of sram and its memory | ||
7 | length | ||
8 | - reg-names : "regs" , "sram"; | ||
9 | - interrupts : interrupt number | ||
10 | |||
11 | Examples: | ||
12 | |||
13 | crypto@30000 { | ||
14 | compatible = "marvell,orion-crypto"; | ||
15 | reg = <0x30000 0x10000>, | ||
16 | <0x4000000 0x800>; | ||
17 | reg-names = "regs" , "sram"; | ||
18 | interrupts = <22>; | ||
19 | status = "okay"; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-fan.txt b/Documentation/devicetree/bindings/gpio/gpio-fan.txt new file mode 100644 index 000000000000..2dd457a3469a --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-fan.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | Bindings for fan connected to GPIO lines | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "gpio-fan" | ||
5 | - gpios: Specifies the pins that map to bits in the control value, | ||
6 | ordered MSB-->LSB. | ||
7 | - gpio-fan,speed-map: A mapping of possible fan RPM speeds and the | ||
8 | control value that should be set to achieve them. This array | ||
9 | must have the RPM values in ascending order. | ||
10 | |||
11 | Optional properties: | ||
12 | - alarm-gpios: This pin going active indicates something is wrong with | ||
13 | the fan, and a udev event will be fired. | ||
14 | |||
15 | Examples: | ||
16 | |||
17 | gpio_fan { | ||
18 | compatible = "gpio-fan"; | ||
19 | gpios = <&gpio1 14 1 | ||
20 | &gpio1 13 1>; | ||
21 | gpio-fan,speed-map = <0 0 | ||
22 | 3000 1 | ||
23 | 6000 2>; | ||
24 | alarm-gpios = <&gpio1 15 1>; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mvebu.txt b/Documentation/devicetree/bindings/gpio/gpio-mvebu.txt new file mode 100644 index 000000000000..a6f3bec1da7d --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-mvebu.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | * Marvell EBU GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : Should be "marvell,orion-gpio", "marvell,mv78200-gpio" | ||
6 | or "marvell,armadaxp-gpio". "marvell,orion-gpio" should be used for | ||
7 | Orion, Kirkwood, Dove, Discovery (except MV78200) and Armada | ||
8 | 370. "marvell,mv78200-gpio" should be used for the Discovery | ||
9 | MV78200. "marvel,armadaxp-gpio" should be used for all Armada XP | ||
10 | SoCs (MV78230, MV78260, MV78460). | ||
11 | |||
12 | - reg: Address and length of the register set for the device. Only one | ||
13 | entry is expected, except for the "marvell,armadaxp-gpio" variant | ||
14 | for which two entries are expected: one for the general registers, | ||
15 | one for the per-cpu registers. | ||
16 | |||
17 | - interrupts: The list of interrupts that are used for all the pins | ||
18 | managed by this GPIO bank. There can be more than one interrupt | ||
19 | (example: 1 interrupt per 8 pins on Armada XP, which means 4 | ||
20 | interrupts per bank of 32 GPIOs). | ||
21 | |||
22 | - interrupt-controller: identifies the node as an interrupt controller | ||
23 | |||
24 | - #interrupt-cells: specifies the number of cells needed to encode an | ||
25 | interrupt source. Should be two. | ||
26 | The first cell is the GPIO number. | ||
27 | The second cell is used to specify flags: | ||
28 | bits[3:0] trigger type and level flags: | ||
29 | 1 = low-to-high edge triggered. | ||
30 | 2 = high-to-low edge triggered. | ||
31 | 4 = active high level-sensitive. | ||
32 | 8 = active low level-sensitive. | ||
33 | |||
34 | - gpio-controller: marks the device node as a gpio controller | ||
35 | |||
36 | - ngpios: number of GPIOs this controller has | ||
37 | |||
38 | - #gpio-cells: Should be two. The first cell is the pin number. The | ||
39 | second cell is reserved for flags, unused at the moment. | ||
40 | |||
41 | Example: | ||
42 | |||
43 | gpio0: gpio@d0018100 { | ||
44 | compatible = "marvell,armadaxp-gpio"; | ||
45 | reg = <0xd0018100 0x40>, | ||
46 | <0xd0018800 0x30>; | ||
47 | ngpios = <32>; | ||
48 | gpio-controller; | ||
49 | #gpio-cells = <2>; | ||
50 | interrupt-controller; | ||
51 | #interrupt-cells = <2>; | ||
52 | interrupts = <16>, <17>, <18>, <19>; | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt index 5375625e8cd2..f1e5dfecf55d 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt | |||
@@ -39,3 +39,46 @@ Example: | |||
39 | #gpio-cells = <4>; | 39 | #gpio-cells = <4>; |
40 | gpio-controller; | 40 | gpio-controller; |
41 | }; | 41 | }; |
42 | |||
43 | |||
44 | Samsung S3C24XX GPIO Controller | ||
45 | |||
46 | Required properties: | ||
47 | - compatible: Compatible property value should be "samsung,s3c24xx-gpio". | ||
48 | |||
49 | - reg: Physical base address of the controller and length of memory mapped | ||
50 | region. | ||
51 | |||
52 | - #gpio-cells: Should be 3. The syntax of the gpio specifier used by client nodes | ||
53 | should be the following with values derived from the SoC user manual. | ||
54 | <[phandle of the gpio controller node] | ||
55 | [pin number within the gpio controller] | ||
56 | [mux function] | ||
57 | [flags and pull up/down] | ||
58 | |||
59 | Values for gpio specifier: | ||
60 | - Pin number: depending on the controller a number from 0 up to 15. | ||
61 | - Mux function: Depending on the SoC and the gpio bank the gpio can be set | ||
62 | as input, output or a special function | ||
63 | - Flags and Pull Up/Down: the values to use differ for the individual SoCs | ||
64 | example S3C2416/S3C2450: | ||
65 | 0 - Pull Up/Down Disabled. | ||
66 | 1 - Pull Down Enabled. | ||
67 | 2 - Pull Up Enabled. | ||
68 | Bit 16 (0x00010000) - Input is active low. | ||
69 | Consult the user manual for the correct values of Mux and Pull Up/Down. | ||
70 | |||
71 | - gpio-controller: Specifies that the node is a gpio controller. | ||
72 | - #address-cells: should be 1. | ||
73 | - #size-cells: should be 1. | ||
74 | |||
75 | Example: | ||
76 | |||
77 | gpa: gpio-controller@56000000 { | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <1>; | ||
80 | compatible = "samsung,s3c24xx-gpio"; | ||
81 | reg = <0x56000000 0x10>; | ||
82 | #gpio-cells = <3>; | ||
83 | gpio-controller; | ||
84 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt b/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt index 16695d9cf1e8..66788fda1db3 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt | |||
@@ -11,6 +11,11 @@ Required properties: | |||
11 | - interrupt-controller: Mark the device node as an interrupt controller | 11 | - interrupt-controller: Mark the device node as an interrupt controller |
12 | The first cell is the GPIO number. | 12 | The first cell is the GPIO number. |
13 | The second cell is not used. | 13 | The second cell is not used. |
14 | - ti,use-leds : Enables LEDA and LEDB outputs if set | ||
15 | - ti,debounce : if n-th bit is set, debounces GPIO-n | ||
16 | - ti,mmc-cd : if n-th bit is set, GPIO-n controls VMMC(n+1) | ||
17 | - ti,pullups : if n-th bit is set, set a pullup on GPIO-n | ||
18 | - ti,pulldowns : if n-th bit is set, set a pulldown on GPIO-n | ||
14 | 19 | ||
15 | Example: | 20 | Example: |
16 | 21 | ||
@@ -20,4 +25,5 @@ twl_gpio: gpio { | |||
20 | gpio-controller; | 25 | gpio-controller; |
21 | #interrupt-cells = <2>; | 26 | #interrupt-cells = <2>; |
22 | interrupt-controller; | 27 | interrupt-controller; |
28 | ti,use-leds; | ||
23 | }; | 29 | }; |
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index 1a85f986961b..2f5322b119eb 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -56,3 +56,4 @@ stm,m41t00 Serial Access TIMEKEEPER | |||
56 | stm,m41t62 Serial real-time clock (RTC) with alarm | 56 | stm,m41t62 Serial real-time clock (RTC) with alarm |
57 | stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS | 57 | stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS |
58 | ti,tsc2003 I2C Touch-Screen Controller | 58 | ti,tsc2003 I2C Touch-Screen Controller |
59 | ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt new file mode 100644 index 000000000000..548892c08c59 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt | |||
@@ -0,0 +1,110 @@ | |||
1 | BCM2835 Top-Level ("ARMCTRL") Interrupt Controller | ||
2 | |||
3 | The BCM2835 contains a custom top-level interrupt controller, which supports | ||
4 | 72 interrupt sources using a 2-level register scheme. The interrupt | ||
5 | controller, or the HW block containing it, is referred to occasionally | ||
6 | as "armctrl" in the SoC documentation, hence naming of this binding. | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - compatible : should be "brcm,bcm2835-armctrl-ic.txt" | ||
11 | - reg : Specifies base physical address and size of the registers. | ||
12 | - interrupt-controller : Identifies the node as an interrupt controller | ||
13 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
14 | interrupt source. The value shall be 2. | ||
15 | |||
16 | The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic | ||
17 | pending" register, or 1/2 respectively for interrupts in the "IRQ pending | ||
18 | 1/2" register. | ||
19 | |||
20 | The 2nd cell contains the interrupt number within the bank. Valid values | ||
21 | are 0..7 for bank 0, and 0..31 for bank 1. | ||
22 | |||
23 | The interrupt sources are as follows: | ||
24 | |||
25 | Bank 0: | ||
26 | 0: ARM_TIMER | ||
27 | 1: ARM_MAILBOX | ||
28 | 2: ARM_DOORBELL_0 | ||
29 | 3: ARM_DOORBELL_1 | ||
30 | 4: VPU0_HALTED | ||
31 | 5: VPU1_HALTED | ||
32 | 6: ILLEGAL_TYPE0 | ||
33 | 7: ILLEGAL_TYPE1 | ||
34 | |||
35 | Bank 1: | ||
36 | 0: TIMER0 | ||
37 | 1: TIMER1 | ||
38 | 2: TIMER2 | ||
39 | 3: TIMER3 | ||
40 | 4: CODEC0 | ||
41 | 5: CODEC1 | ||
42 | 6: CODEC2 | ||
43 | 7: VC_JPEG | ||
44 | 8: ISP | ||
45 | 9: VC_USB | ||
46 | 10: VC_3D | ||
47 | 11: TRANSPOSER | ||
48 | 12: MULTICORESYNC0 | ||
49 | 13: MULTICORESYNC1 | ||
50 | 14: MULTICORESYNC2 | ||
51 | 15: MULTICORESYNC3 | ||
52 | 16: DMA0 | ||
53 | 17: DMA1 | ||
54 | 18: VC_DMA2 | ||
55 | 19: VC_DMA3 | ||
56 | 20: DMA4 | ||
57 | 21: DMA5 | ||
58 | 22: DMA6 | ||
59 | 23: DMA7 | ||
60 | 24: DMA8 | ||
61 | 25: DMA9 | ||
62 | 26: DMA10 | ||
63 | 27: DMA11 | ||
64 | 28: DMA12 | ||
65 | 29: AUX | ||
66 | 30: ARM | ||
67 | 31: VPUDMA | ||
68 | |||
69 | Bank 2: | ||
70 | 0: HOSTPORT | ||
71 | 1: VIDEOSCALER | ||
72 | 2: CCP2TX | ||
73 | 3: SDC | ||
74 | 4: DSI0 | ||
75 | 5: AVE | ||
76 | 6: CAM0 | ||
77 | 7: CAM1 | ||
78 | 8: HDMI0 | ||
79 | 9: HDMI1 | ||
80 | 10: PIXELVALVE1 | ||
81 | 11: I2CSPISLV | ||
82 | 12: DSI1 | ||
83 | 13: PWA0 | ||
84 | 14: PWA1 | ||
85 | 15: CPR | ||
86 | 16: SMI | ||
87 | 17: GPIO0 | ||
88 | 18: GPIO1 | ||
89 | 19: GPIO2 | ||
90 | 20: GPIO3 | ||
91 | 21: VC_I2C | ||
92 | 22: VC_SPI | ||
93 | 23: VC_I2SPCM | ||
94 | 24: VC_SDIO | ||
95 | 25: VC_UART | ||
96 | 26: SLIMBUS | ||
97 | 27: VEC | ||
98 | 28: CPG | ||
99 | 29: RNG | ||
100 | 30: VC_ARASANSDIO | ||
101 | 31: AVSPMON | ||
102 | |||
103 | Example: | ||
104 | |||
105 | intc: interrupt-controller { | ||
106 | compatible = "brcm,bcm2835-armctrl-ic"; | ||
107 | reg = <0x7e00b200 0x200>; | ||
108 | interrupt-controller; | ||
109 | #interrupt-cells = <2>; | ||
110 | }; | ||
diff --git a/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt b/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt new file mode 100644 index 000000000000..9ceb19e0c7fd --- /dev/null +++ b/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt | |||
@@ -0,0 +1,52 @@ | |||
1 | * AC timing parameters of LPDDR2(JESD209-2) memories for a given speed-bin | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "jedec,lpddr2-timings" | ||
5 | - min-freq : minimum DDR clock frequency for the speed-bin. Type is <u32> | ||
6 | - max-freq : maximum DDR clock frequency for the speed-bin. Type is <u32> | ||
7 | |||
8 | Optional properties: | ||
9 | |||
10 | The following properties represent AC timing parameters from the memory | ||
11 | data-sheet of the device for a given speed-bin. All these properties are | ||
12 | of type <u32> and the default unit is ps (pico seconds). Parameters with | ||
13 | a different unit have a suffix indicating the unit such as 'tRAS-max-ns' | ||
14 | - tRCD | ||
15 | - tWR | ||
16 | - tRAS-min | ||
17 | - tRRD | ||
18 | - tWTR | ||
19 | - tXP | ||
20 | - tRTP | ||
21 | - tDQSCK-max | ||
22 | - tFAW | ||
23 | - tZQCS | ||
24 | - tZQinit | ||
25 | - tRPab | ||
26 | - tZQCL | ||
27 | - tCKESR | ||
28 | - tRAS-max-ns | ||
29 | - tDQSCK-max-derated | ||
30 | |||
31 | Example: | ||
32 | |||
33 | timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 { | ||
34 | compatible = "jedec,lpddr2-timings"; | ||
35 | min-freq = <10000000>; | ||
36 | max-freq = <400000000>; | ||
37 | tRPab = <21000>; | ||
38 | tRCD = <18000>; | ||
39 | tWR = <15000>; | ||
40 | tRAS-min = <42000>; | ||
41 | tRRD = <10000>; | ||
42 | tWTR = <7500>; | ||
43 | tXP = <7500>; | ||
44 | tRTP = <7500>; | ||
45 | tCKESR = <15000>; | ||
46 | tDQSCK-max = <5500>; | ||
47 | tFAW = <50000>; | ||
48 | tZQCS = <90000>; | ||
49 | tZQCL = <360000>; | ||
50 | tZQinit = <1000000>; | ||
51 | tRAS-max-ns = <70000>; | ||
52 | }; | ||
diff --git a/Documentation/devicetree/bindings/lpddr2/lpddr2.txt b/Documentation/devicetree/bindings/lpddr2/lpddr2.txt new file mode 100644 index 000000000000..58354a075e13 --- /dev/null +++ b/Documentation/devicetree/bindings/lpddr2/lpddr2.txt | |||
@@ -0,0 +1,102 @@ | |||
1 | * LPDDR2 SDRAM memories compliant to JEDEC JESD209-2 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be one of - "jedec,lpddr2-nvm", "jedec,lpddr2-s2", | ||
5 | "jedec,lpddr2-s4" | ||
6 | |||
7 | "ti,jedec-lpddr2-s2" should be listed if the memory part is LPDDR2-S2 type | ||
8 | |||
9 | "ti,jedec-lpddr2-s4" should be listed if the memory part is LPDDR2-S4 type | ||
10 | |||
11 | "ti,jedec-lpddr2-nvm" should be listed if the memory part is LPDDR2-NVM type | ||
12 | |||
13 | - density : <u32> representing density in Mb (Mega bits) | ||
14 | |||
15 | - io-width : <u32> representing bus width. Possible values are 8, 16, and 32 | ||
16 | |||
17 | Optional properties: | ||
18 | |||
19 | The following optional properties represent the minimum value of some AC | ||
20 | timing parameters of the DDR device in terms of number of clock cycles. | ||
21 | These values shall be obtained from the device data-sheet. | ||
22 | - tRRD-min-tck | ||
23 | - tWTR-min-tck | ||
24 | - tXP-min-tck | ||
25 | - tRTP-min-tck | ||
26 | - tCKE-min-tck | ||
27 | - tRPab-min-tck | ||
28 | - tRCD-min-tck | ||
29 | - tWR-min-tck | ||
30 | - tRASmin-min-tck | ||
31 | - tCKESR-min-tck | ||
32 | - tFAW-min-tck | ||
33 | |||
34 | Child nodes: | ||
35 | - The lpddr2 node may have one or more child nodes of type "lpddr2-timings". | ||
36 | "lpddr2-timings" provides AC timing parameters of the device for | ||
37 | a given speed-bin. The user may provide the timings for as many | ||
38 | speed-bins as is required. Please see Documentation/devicetree/ | ||
39 | bindings/lpddr2/lpddr2-timings.txt for more information on "lpddr2-timings" | ||
40 | |||
41 | Example: | ||
42 | |||
43 | elpida_ECB240ABACN : lpddr2 { | ||
44 | compatible = "Elpida,ECB240ABACN","jedec,lpddr2-s4"; | ||
45 | density = <2048>; | ||
46 | io-width = <32>; | ||
47 | |||
48 | tRPab-min-tck = <3>; | ||
49 | tRCD-min-tck = <3>; | ||
50 | tWR-min-tck = <3>; | ||
51 | tRASmin-min-tck = <3>; | ||
52 | tRRD-min-tck = <2>; | ||
53 | tWTR-min-tck = <2>; | ||
54 | tXP-min-tck = <2>; | ||
55 | tRTP-min-tck = <2>; | ||
56 | tCKE-min-tck = <3>; | ||
57 | tCKESR-min-tck = <3>; | ||
58 | tFAW-min-tck = <8>; | ||
59 | |||
60 | timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 { | ||
61 | compatible = "jedec,lpddr2-timings"; | ||
62 | min-freq = <10000000>; | ||
63 | max-freq = <400000000>; | ||
64 | tRPab = <21000>; | ||
65 | tRCD = <18000>; | ||
66 | tWR = <15000>; | ||
67 | tRAS-min = <42000>; | ||
68 | tRRD = <10000>; | ||
69 | tWTR = <7500>; | ||
70 | tXP = <7500>; | ||
71 | tRTP = <7500>; | ||
72 | tCKESR = <15000>; | ||
73 | tDQSCK-max = <5500>; | ||
74 | tFAW = <50000>; | ||
75 | tZQCS = <90000>; | ||
76 | tZQCL = <360000>; | ||
77 | tZQinit = <1000000>; | ||
78 | tRAS-max-ns = <70000>; | ||
79 | }; | ||
80 | |||
81 | timings_elpida_ECB240ABACN_200mhz: lpddr2-timings@1 { | ||
82 | compatible = "jedec,lpddr2-timings"; | ||
83 | min-freq = <10000000>; | ||
84 | max-freq = <200000000>; | ||
85 | tRPab = <21000>; | ||
86 | tRCD = <18000>; | ||
87 | tWR = <15000>; | ||
88 | tRAS-min = <42000>; | ||
89 | tRRD = <10000>; | ||
90 | tWTR = <10000>; | ||
91 | tXP = <7500>; | ||
92 | tRTP = <7500>; | ||
93 | tCKESR = <15000>; | ||
94 | tDQSCK-max = <5500>; | ||
95 | tFAW = <50000>; | ||
96 | tZQCS = <90000>; | ||
97 | tZQCL = <360000>; | ||
98 | tZQinit = <1000000>; | ||
99 | tRAS-max-ns = <70000>; | ||
100 | }; | ||
101 | |||
102 | } | ||
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt new file mode 100644 index 000000000000..938f8e1ba205 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | * EMIF family of TI SDRAM controllers | ||
2 | |||
3 | EMIF - External Memory Interface - is an SDRAM controller used in | ||
4 | TI SoCs. EMIF supports, based on the IP revision, one or more of | ||
5 | DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance | ||
6 | of the EMIF IP and memory parts attached to it. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev> | ||
10 | is the IP revision of the specific EMIF instance. | ||
11 | |||
12 | - phy-type : <u32> indicating the DDR phy type. Following are the | ||
13 | allowed values | ||
14 | <1> : Attila PHY | ||
15 | <2> : Intelli PHY | ||
16 | |||
17 | - device-handle : phandle to a "lpddr2" node representing the memory part | ||
18 | |||
19 | - ti,hwmods : For TI hwmods processing and omap device creation | ||
20 | the value shall be "emif<n>" where <n> is the number of the EMIF | ||
21 | instance with base 1. | ||
22 | |||
23 | Optional properties: | ||
24 | - cs1-used : Have this property if CS1 of this EMIF | ||
25 | instance has a memory part attached to it. If there is a memory | ||
26 | part attached to CS1, it should be the same type as the one on CS0, | ||
27 | so there is no need to give the details of this memory part. | ||
28 | |||
29 | - cal-resistor-per-cs : Have this property if the board has one | ||
30 | calibration resistor per chip-select. | ||
31 | |||
32 | - hw-caps-read-idle-ctrl: Have this property if the controller | ||
33 | supports read idle window programming | ||
34 | |||
35 | - hw-caps-dll-calib-ctrl: Have this property if the controller | ||
36 | supports dll calibration control | ||
37 | |||
38 | - hw-caps-ll-interface : Have this property if the controller | ||
39 | has a low latency interface and corresponding interrupt events | ||
40 | |||
41 | - hw-caps-temp-alert : Have this property if the controller | ||
42 | has capability for generating SDRAM temperature alerts | ||
43 | |||
44 | Example: | ||
45 | |||
46 | emif1: emif@0x4c000000 { | ||
47 | compatible = "ti,emif-4d"; | ||
48 | ti,hwmods = "emif2"; | ||
49 | phy-type = <1>; | ||
50 | device-handle = <&elpida_ECB240ABACN>; | ||
51 | cs1-used; | ||
52 | hw-caps-read-idle-ctrl; | ||
53 | hw-caps-ll-interface; | ||
54 | hw-caps-temp-alert; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt b/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt new file mode 100644 index 000000000000..f1421e2bbab7 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | PXA3xx NAND DT bindings | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: Should be "marvell,pxa3xx-nand" | ||
6 | - reg: The register base for the controller | ||
7 | - interrupts: The interrupt to map | ||
8 | - #address-cells: Set to <1> if the node includes partitions | ||
9 | |||
10 | Optional properties: | ||
11 | |||
12 | - marvell,nand-enable-arbiter: Set to enable the bus arbiter | ||
13 | - marvell,nand-keep-config: Set to keep the NAND controller config as set | ||
14 | by the bootloader | ||
15 | - num-cs: Number of chipselect lines to usw | ||
16 | |||
17 | Example: | ||
18 | |||
19 | nand0: nand@43100000 { | ||
20 | compatible = "marvell,pxa3xx-nand"; | ||
21 | reg = <0x43100000 90>; | ||
22 | interrupts = <45>; | ||
23 | #address-cells = <1>; | ||
24 | |||
25 | marvell,nand-enable-arbiter; | ||
26 | marvell,nand-keep-config; | ||
27 | num-cs = <1>; | ||
28 | |||
29 | /* partitions (optional) */ | ||
30 | }; | ||
31 | |||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt new file mode 100644 index 000000000000..01ef408e205f --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt | |||
@@ -0,0 +1,95 @@ | |||
1 | * Marvell Armada 370 SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,88f6710-pinctrl" | ||
8 | |||
9 | Available mpp pins/groups and functions: | ||
10 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
11 | only for more detailed description in this document. | ||
12 | |||
13 | name pins functions | ||
14 | ================================================================================ | ||
15 | mpp0 0 gpio, uart0(rxd) | ||
16 | mpp1 1 gpo, uart0(txd) | ||
17 | mpp2 2 gpio, i2c0(sck), uart0(txd) | ||
18 | mpp3 3 gpio, i2c0(sda), uart0(rxd) | ||
19 | mpp4 4 gpio, cpu_pd(vdd) | ||
20 | mpp5 5 gpo, ge0(txclko), uart1(txd), spi1(clk), audio(mclk) | ||
21 | mpp6 6 gpio, ge0(txd0), sata0(prsnt), tdm(rst), audio(sdo) | ||
22 | mpp7 7 gpo, ge0(txd1), tdm(tdx), audio(lrclk) | ||
23 | mpp8 8 gpio, ge0(txd2), uart0(rts), tdm(drx), audio(bclk) | ||
24 | mpp9 9 gpo, ge0(txd3), uart1(txd), sd0(clk), audio(spdifo) | ||
25 | mpp10 10 gpio, ge0(txctl), uart0(cts), tdm(fsync), audio(sdi) | ||
26 | mpp11 11 gpio, ge0(rxd0), uart1(rxd), sd0(cmd), spi0(cs1), | ||
27 | sata1(prsnt), spi1(cs1) | ||
28 | mpp12 12 gpio, ge0(rxd1), i2c1(sda), sd0(d0), spi1(cs0), | ||
29 | audio(spdifi) | ||
30 | mpp13 13 gpio, ge0(rxd2), i2c1(sck), sd0(d1), tdm(pclk), | ||
31 | audio(rmclk) | ||
32 | mpp14 14 gpio, ge0(rxd3), pcie(clkreq0), sd0(d2), spi1(mosi), | ||
33 | spi0(cs2) | ||
34 | mpp15 15 gpio, ge0(rxctl), pcie(clkreq1), sd0(d3), spi1(miso), | ||
35 | spi0(cs3) | ||
36 | mpp16 16 gpio, ge0(rxclk), uart1(rxd), tdm(int), audio(extclk) | ||
37 | mpp17 17 gpo, ge(mdc) | ||
38 | mpp18 18 gpio, ge(mdio) | ||
39 | mpp19 19 gpio, ge0(txclk), ge1(txclkout), tdm(pclk) | ||
40 | mpp20 20 gpo, ge0(txd4), ge1(txd0) | ||
41 | mpp21 21 gpo, ge0(txd5), ge1(txd1), uart1(txd) | ||
42 | mpp22 22 gpo, ge0(txd6), ge1(txd2), uart0(rts) | ||
43 | mpp23 23 gpo, ge0(txd7), ge1(txd3), spi1(mosi) | ||
44 | mpp24 24 gpio, ge0(col), ge1(txctl), spi1(cs0) | ||
45 | mpp25 25 gpio, ge0(rxerr), ge1(rxd0), uart1(rxd) | ||
46 | mpp26 26 gpio, ge0(crs), ge1(rxd1), spi1(miso) | ||
47 | mpp27 27 gpio, ge0(rxd4), ge1(rxd2), uart0(cts) | ||
48 | mpp28 28 gpio, ge0(rxd5), ge1(rxd3) | ||
49 | mpp29 29 gpio, ge0(rxd6), ge1(rxctl), i2c1(sda) | ||
50 | mpp30 30 gpio, ge0(rxd7), ge1(rxclk), i2c1(sck) | ||
51 | mpp31 31 gpio, tclk, ge0(txerr) | ||
52 | mpp32 32 gpio, spi0(cs0) | ||
53 | mpp33 33 gpio, dev(bootcs), spi0(cs0) | ||
54 | mpp34 34 gpo, dev(wen0), spi0(mosi) | ||
55 | mpp35 35 gpo, dev(oen), spi0(sck) | ||
56 | mpp36 36 gpo, dev(a1), spi0(miso) | ||
57 | mpp37 37 gpo, dev(a0), sata0(prsnt) | ||
58 | mpp38 38 gpio, dev(ready), uart1(cts), uart0(cts) | ||
59 | mpp39 39 gpo, dev(ad0), audio(spdifo) | ||
60 | mpp40 40 gpio, dev(ad1), uart1(rts), uart0(rts) | ||
61 | mpp41 41 gpio, dev(ad2), uart1(rxd) | ||
62 | mpp42 42 gpo, dev(ad3), uart1(txd) | ||
63 | mpp43 43 gpo, dev(ad4), audio(bclk) | ||
64 | mpp44 44 gpo, dev(ad5), audio(mclk) | ||
65 | mpp45 45 gpo, dev(ad6), audio(lrclk) | ||
66 | mpp46 46 gpo, dev(ad7), audio(sdo) | ||
67 | mpp47 47 gpo, dev(ad8), sd0(clk), audio(spdifo) | ||
68 | mpp48 48 gpio, dev(ad9), uart0(rts), sd0(cmd), sata1(prsnt), | ||
69 | spi0(cs1) | ||
70 | mpp49 49 gpio, dev(ad10), pcie(clkreq1), sd0(d0), spi1(cs0), | ||
71 | audio(spdifi) | ||
72 | mpp50 50 gpio, dev(ad11), uart0(cts), sd0(d1), spi1(miso), | ||
73 | audio(rmclk) | ||
74 | mpp51 51 gpio, dev(ad12), i2c1(sda), sd0(d2), spi1(mosi) | ||
75 | mpp52 52 gpio, dev(ad13), i2c1(sck), sd0(d3), spi1(sck) | ||
76 | mpp53 53 gpio, dev(ad14), sd0(clk), tdm(pclk), spi0(cs2), | ||
77 | pcie(clkreq1) | ||
78 | mpp54 54 gpo, dev(ad15), tdm(dtx) | ||
79 | mpp55 55 gpio, dev(cs1), uart1(txd), tdm(rst), sata1(prsnt), | ||
80 | sata0(prsnt) | ||
81 | mpp56 56 gpio, dev(cs2), uart1(cts), uart0(cts), spi0(cs3), | ||
82 | pcie(clkreq0), spi1(cs1) | ||
83 | mpp57 57 gpio, dev(cs3), uart1(rxd), tdm(fsync), sata0(prsnt), | ||
84 | audio(sdo) | ||
85 | mpp58 58 gpio, dev(cs0), uart1(rts), tdm(int), audio(extclk), | ||
86 | uart0(rts) | ||
87 | mpp59 59 gpo, dev(ale0), uart1(rts), uart0(rts), audio(bclk) | ||
88 | mpp60 60 gpio, dev(ale1), uart1(rxd), sata0(prsnt), pcie(rst-out), | ||
89 | audio(sdi) | ||
90 | mpp61 61 gpo, dev(wen1), uart1(txd), audio(rclk) | ||
91 | mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0), | ||
92 | audio(mclk), uart0(cts) | ||
93 | mpp63 63 gpo, spi0(sck), tclk | ||
94 | mpp64 64 gpio, spi0(miso), spi0-1(cs1) | ||
95 | mpp65 65 gpio, spi0(mosi), spi0-1(cs2) | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt new file mode 100644 index 000000000000..bfa0a2e5e0cb --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt | |||
@@ -0,0 +1,100 @@ | |||
1 | * Marvell Armada XP SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl", | ||
8 | "marvell,mv78460-pinctrl" | ||
9 | |||
10 | This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460. | ||
11 | |||
12 | Available mpp pins/groups and functions: | ||
13 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
14 | only for more detailed description in this document. | ||
15 | |||
16 | * Marvell Armada XP (all variants) | ||
17 | |||
18 | name pins functions | ||
19 | ================================================================================ | ||
20 | mpp0 0 gpio, ge0(txclko), lcd(d0) | ||
21 | mpp1 1 gpio, ge0(txd0), lcd(d1) | ||
22 | mpp2 2 gpio, ge0(txd1), lcd(d2) | ||
23 | mpp3 3 gpio, ge0(txd2), lcd(d3) | ||
24 | mpp4 4 gpio, ge0(txd3), lcd(d4) | ||
25 | mpp5 5 gpio, ge0(txctl), lcd(d5) | ||
26 | mpp6 6 gpio, ge0(rxd0), lcd(d6) | ||
27 | mpp7 7 gpio, ge0(rxd1), lcd(d7) | ||
28 | mpp8 8 gpio, ge0(rxd2), lcd(d8) | ||
29 | mpp9 9 gpio, ge0(rxd3), lcd(d9) | ||
30 | mpp10 10 gpio, ge0(rxctl), lcd(d10) | ||
31 | mpp11 11 gpio, ge0(rxclk), lcd(d11) | ||
32 | mpp12 12 gpio, ge0(txd4), ge1(txd0), lcd(d12) | ||
33 | mpp13 13 gpio, ge0(txd5), ge1(txd1), lcd(d13) | ||
34 | mpp14 14 gpio, ge0(txd6), ge1(txd2), lcd(d15) | ||
35 | mpp15 15 gpio, ge0(txd7), ge1(txd3), lcd(d16) | ||
36 | mpp16 16 gpio, ge0(txd7), ge1(txd3), lcd(d16) | ||
37 | mpp17 17 gpio, ge0(col), ge1(txctl), lcd(d17) | ||
38 | mpp18 18 gpio, ge0(rxerr), ge1(rxd0), lcd(d18), ptp(trig) | ||
39 | mpp19 19 gpio, ge0(crs), ge1(rxd1), lcd(d19), ptp(evreq) | ||
40 | mpp20 20 gpio, ge0(rxd4), ge1(rxd2), lcd(d20), ptp(clk) | ||
41 | mpp21 21 gpio, ge0(rxd5), ge1(rxd3), lcd(d21), mem(bat) | ||
42 | mpp22 22 gpio, ge0(rxd6), ge1(rxctl), lcd(d22), sata0(prsnt) | ||
43 | mpp23 23 gpio, ge0(rxd7), ge1(rxclk), lcd(d23), sata1(prsnt) | ||
44 | mpp24 24 gpio, lcd(hsync), sata1(prsnt), nf(bootcs-re), tdm(rst) | ||
45 | mpp25 25 gpio, lcd(vsync), sata0(prsnt), nf(bootcs-we), tdm(pclk) | ||
46 | mpp26 26 gpio, lcd(clk), tdm(fsync), vdd(cpu1-pd) | ||
47 | mpp27 27 gpio, lcd(e), tdm(dtx), ptp(trig) | ||
48 | mpp28 28 gpio, lcd(pwm), tdm(drx), ptp(evreq) | ||
49 | mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk), vdd(cpu0-pd) | ||
50 | mpp30 30 gpio, tdm(int1), sd0(clk) | ||
51 | mpp31 31 gpio, tdm(int2), sd0(cmd), vdd(cpu0-pd) | ||
52 | mpp32 32 gpio, tdm(int3), sd0(d0), vdd(cpu1-pd) | ||
53 | mpp33 33 gpio, tdm(int4), sd0(d1), mem(bat) | ||
54 | mpp34 34 gpio, tdm(int5), sd0(d2), sata0(prsnt) | ||
55 | mpp35 35 gpio, tdm(int6), sd0(d3), sata1(prsnt) | ||
56 | mpp36 36 gpio, spi(mosi) | ||
57 | mpp37 37 gpio, spi(miso) | ||
58 | mpp38 38 gpio, spi(sck) | ||
59 | mpp39 39 gpio, spi(cs0) | ||
60 | mpp40 40 gpio, spi(cs1), uart2(cts), lcd(vga-hsync), vdd(cpu1-pd), | ||
61 | pcie(clkreq0) | ||
62 | mpp41 41 gpio, spi(cs2), uart2(rts), lcd(vga-vsync), sata1(prsnt), | ||
63 | pcie(clkreq1) | ||
64 | mpp42 42 gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer), | ||
65 | vdd(cpu0-pd) | ||
66 | mpp43 43 gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout), | ||
67 | vdd(cpu2-3-pd){1} | ||
68 | mpp44 44 gpio, uart2(cts), uart3(rxd), spi(cs4), pcie(clkreq2), | ||
69 | mem(bat) | ||
70 | mpp45 45 gpio, uart2(rts), uart3(txd), spi(cs5), sata1(prsnt) | ||
71 | mpp46 46 gpio, uart3(rts), uart1(rts), spi(cs6), sata0(prsnt) | ||
72 | mpp47 47 gpio, uart3(cts), uart1(cts), spi(cs7), pcie(clkreq3), | ||
73 | ref(clkout) | ||
74 | mpp48 48 gpio, tclk, dev(burst/last) | ||
75 | |||
76 | * Marvell Armada XP (mv78260 and mv78460 only) | ||
77 | |||
78 | name pins functions | ||
79 | ================================================================================ | ||
80 | mpp49 49 gpio, dev(we3) | ||
81 | mpp50 50 gpio, dev(we2) | ||
82 | mpp51 51 gpio, dev(ad16) | ||
83 | mpp52 52 gpio, dev(ad17) | ||
84 | mpp53 53 gpio, dev(ad18) | ||
85 | mpp54 54 gpio, dev(ad19) | ||
86 | mpp55 55 gpio, dev(ad20), vdd(cpu0-pd) | ||
87 | mpp56 56 gpio, dev(ad21), vdd(cpu1-pd) | ||
88 | mpp57 57 gpio, dev(ad22), vdd(cpu2-3-pd){1} | ||
89 | mpp58 58 gpio, dev(ad23) | ||
90 | mpp59 59 gpio, dev(ad24) | ||
91 | mpp60 60 gpio, dev(ad25) | ||
92 | mpp61 61 gpio, dev(ad26) | ||
93 | mpp62 62 gpio, dev(ad27) | ||
94 | mpp63 63 gpio, dev(ad28) | ||
95 | mpp64 64 gpio, dev(ad29) | ||
96 | mpp65 65 gpio, dev(ad30) | ||
97 | mpp66 66 gpio, dev(ad31) | ||
98 | |||
99 | Notes: | ||
100 | * {1} vdd(cpu2-3-pd) only available on mv78460. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt new file mode 100644 index 000000000000..a648aaad6110 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt | |||
@@ -0,0 +1,72 @@ | |||
1 | * Marvell Dove SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,dove-pinctrl" | ||
8 | - clocks: (optional) phandle of pdma clock | ||
9 | |||
10 | Available mpp pins/groups and functions: | ||
11 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
12 | only for more detailed description in this document. | ||
13 | |||
14 | name pins functions | ||
15 | ================================================================================ | ||
16 | mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm) | ||
17 | mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm) | ||
18 | mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt), | ||
19 | uart1(rts) | ||
20 | mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act), | ||
21 | uart1(cts), lcd-spi(cs1) | ||
22 | mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso) | ||
23 | mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs) | ||
24 | mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi) | ||
25 | mpp7 7 gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck) | ||
26 | mpp8 8 gpio, pmu, watchdog(rstout) | ||
27 | mpp9 9 gpio, pmu, pex1(clkreq) | ||
28 | mpp10 10 gpio, pmu, ssp(sclk) | ||
29 | mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl), | ||
30 | sdio1(ledctrl), pex0(clkreq) | ||
31 | mpp12 12 gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd), sata(act) | ||
32 | mpp13 13 gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp), | ||
33 | ssp(extclk) | ||
34 | mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd) | ||
35 | mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm) | ||
36 | mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1) | ||
37 | mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda), | ||
38 | ac97-1(sysclko) | ||
39 | mpp18 18 gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm) | ||
40 | mpp19 19 gpio, uart3(rxd), sdio0(ledctrl), twsi(sck) | ||
41 | mpp20 20 gpio, sdio0(cd), sdio1(cd), spi1(miso), lcd-spi(miso), | ||
42 | ac97(sysclko) | ||
43 | mpp21 21 gpio, sdio0(wp), sdio1(wp), spi1(cs), lcd-spi(cs0), | ||
44 | uart1(cts), ssp(sfrm) | ||
45 | mpp22 22 gpio, sdio0(buspwr), sdio1(buspwr), spi1(mosi), | ||
46 | lcd-spi(mosi), uart1(cts), ssp(txd) | ||
47 | mpp23 23 gpio, sdio0(ledctrl), sdio1(ledctrl), spi1(sck), | ||
48 | lcd-spi(sck), ssp(sclk) | ||
49 | mpp_camera 24-39 gpio, camera | ||
50 | mpp_sdio0 40-45 gpio, sdio0 | ||
51 | mpp_sdio1 46-51 gpio, sdio1 | ||
52 | mpp_audio1 52-57 gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp, | ||
53 | ssp/twsi | ||
54 | mpp_spi0 58-61 gpio, spi0 | ||
55 | mpp_uart1 62-63 gpio, uart1 | ||
56 | mpp_nand 64-71 gpo, nand | ||
57 | audio0 - i2s, ac97 | ||
58 | twsi - none, opt1, opt2, opt3 | ||
59 | |||
60 | Notes: | ||
61 | * group "mpp_audio1" allows the following functions and gpio pins: | ||
62 | - gpio : gpio on pins 52-57 | ||
63 | - i2s1/spdifo : audio1 i2s on pins 52-55 and spdifo on 57, no gpios | ||
64 | - i2s1 : audio1 i2s on pins 52-55, gpio on pins 56,57 | ||
65 | - spdifo : spdifo on pin 57, gpio on pins 52-55 | ||
66 | - twsi : twsi on pins 56,57, gpio on pins 52-55 | ||
67 | - ssp/spdifo : ssp on pins 52-55, spdifo on pin 57, no gpios | ||
68 | - ssp : ssp on pins 52-55, gpio on pins 56,57 | ||
69 | - ssp/twsi : ssp on pins 52-55, twsi on pins 56,57, no gpios | ||
70 | * group "audio0" internally muxes i2s0 or ac97 controller to the dedicated | ||
71 | audio0 pins. | ||
72 | * group "twsi" internally muxes twsi controller to the dedicated or option pins. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt new file mode 100644 index 000000000000..361bccb7ec89 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt | |||
@@ -0,0 +1,279 @@ | |||
1 | * Marvell Kirkwood SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,88f6180-pinctrl", | ||
8 | "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl", | ||
9 | "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl" | ||
10 | |||
11 | This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x. | ||
12 | |||
13 | Available mpp pins/groups and functions: | ||
14 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
15 | only for more detailed description in this document. | ||
16 | |||
17 | * Marvell Kirkwood 88f6180 | ||
18 | |||
19 | name pins functions | ||
20 | ================================================================================ | ||
21 | mpp0 0 gpio, nand(io2), spi(cs) | ||
22 | mpp1 1 gpo, nand(io3), spi(mosi) | ||
23 | mpp2 2 gpo, nand(io4), spi(sck) | ||
24 | mpp3 3 gpo, nand(io5), spi(miso) | ||
25 | mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk) | ||
26 | mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig) | ||
27 | mpp6 6 sysrst(out), spi(mosi), ptp(trig) | ||
28 | mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig) | ||
29 | mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk), | ||
30 | mii(col) | ||
31 | mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq), | ||
32 | mii(crs) | ||
33 | mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig) | ||
34 | mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq), | ||
35 | ptp-2(trig) | ||
36 | mpp12 12 gpo, sdio(clk) | ||
37 | mpp13 13 gpio, sdio(cmd), uart1(txd) | ||
38 | mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col) | ||
39 | mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd) | ||
40 | mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs) | ||
41 | mpp17 17 gpio, sdio(d3) | ||
42 | mpp18 18 gpo, nand(io0) | ||
43 | mpp19 19 gpo, nand(io1) | ||
44 | mpp20 20 gpio, mii(rxerr) | ||
45 | mpp21 21 gpio, audio(spdifi) | ||
46 | mpp22 22 gpio, audio(spdifo) | ||
47 | mpp23 23 gpio, audio(rmclk) | ||
48 | mpp24 24 gpio, audio(bclk) | ||
49 | mpp25 25 gpio, audio(sdo) | ||
50 | mpp26 26 gpio, audio(lrclk) | ||
51 | mpp27 27 gpio, audio(mclk) | ||
52 | mpp28 28 gpio, audio(sdi) | ||
53 | mpp29 29 gpio, audio(extclk) | ||
54 | |||
55 | * Marvell Kirkwood 88f6190 | ||
56 | |||
57 | name pins functions | ||
58 | ================================================================================ | ||
59 | mpp0 0 gpio, nand(io2), spi(cs) | ||
60 | mpp1 1 gpo, nand(io3), spi(mosi) | ||
61 | mpp2 2 gpo, nand(io4), spi(sck) | ||
62 | mpp3 3 gpo, nand(io5), spi(miso) | ||
63 | mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk) | ||
64 | mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act) | ||
65 | mpp6 6 sysrst(out), spi(mosi), ptp(trig) | ||
66 | mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig) | ||
67 | mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk), | ||
68 | mii(col), mii-1(rxerr) | ||
69 | mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq), | ||
70 | mii(crs), sata0(prsnt) | ||
71 | mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig) | ||
72 | mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq), | ||
73 | ptp-2(trig), sata0(act) | ||
74 | mpp12 12 gpo, sdio(clk) | ||
75 | mpp13 13 gpio, sdio(cmd), uart1(txd) | ||
76 | mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col) | ||
77 | mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act) | ||
78 | mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs) | ||
79 | mpp17 17 gpio, sdio(d3), sata0(prsnt) | ||
80 | mpp18 18 gpo, nand(io0) | ||
81 | mpp19 19 gpo, nand(io1) | ||
82 | mpp20 20 gpio, ge1(txd0) | ||
83 | mpp21 21 gpio, ge1(txd1), sata0(act) | ||
84 | mpp22 22 gpio, ge1(txd2) | ||
85 | mpp23 23 gpio, ge1(txd3), sata0(prsnt) | ||
86 | mpp24 24 gpio, ge1(rxd0) | ||
87 | mpp25 25 gpio, ge1(rxd1) | ||
88 | mpp26 26 gpio, ge1(rxd2) | ||
89 | mpp27 27 gpio, ge1(rxd3) | ||
90 | mpp28 28 gpio, ge1(col) | ||
91 | mpp29 29 gpio, ge1(txclk) | ||
92 | mpp30 30 gpio, ge1(rxclk) | ||
93 | mpp31 31 gpio, ge1(rxclk) | ||
94 | mpp32 32 gpio, ge1(txclko) | ||
95 | mpp33 33 gpo, ge1(txclk) | ||
96 | mpp34 34 gpio, ge1(txen) | ||
97 | mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr) | ||
98 | |||
99 | * Marvell Kirkwood 88f6192 | ||
100 | |||
101 | name pins functions | ||
102 | ================================================================================ | ||
103 | mpp0 0 gpio, nand(io2), spi(cs) | ||
104 | mpp1 1 gpo, nand(io3), spi(mosi) | ||
105 | mpp2 2 gpo, nand(io4), spi(sck) | ||
106 | mpp3 3 gpo, nand(io5), spi(miso) | ||
107 | mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act) | ||
108 | mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act) | ||
109 | mpp6 6 sysrst(out), spi(mosi), ptp(trig) | ||
110 | mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig) | ||
111 | mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk), | ||
112 | mii(col), mii-1(rxerr), sata1(prsnt) | ||
113 | mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq), | ||
114 | mii(crs), sata0(prsnt) | ||
115 | mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig), sata1(act) | ||
116 | mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq), | ||
117 | ptp-2(trig), sata0(act) | ||
118 | mpp12 12 gpo, sdio(clk) | ||
119 | mpp13 13 gpio, sdio(cmd), uart1(txd) | ||
120 | mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt) | ||
121 | mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act) | ||
122 | mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs), | ||
123 | sata1(act) | ||
124 | mpp17 17 gpio, sdio(d3), sata0(prsnt) | ||
125 | mpp18 18 gpo, nand(io0) | ||
126 | mpp19 19 gpo, nand(io1) | ||
127 | mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi), | ||
128 | sata1(act) | ||
129 | mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql), | ||
130 | audio(spdifo) | ||
131 | mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk), | ||
132 | sata1(prsnt) | ||
133 | mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql), | ||
134 | audio(bclk) | ||
135 | mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo) | ||
136 | mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk) | ||
137 | mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk) | ||
138 | mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi) | ||
139 | mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk) | ||
140 | mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst) | ||
141 | mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk) | ||
142 | mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs) | ||
143 | mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx) | ||
144 | mpp33 33 gpo, ge1(txclk), tdm(drx) | ||
145 | mpp34 34 gpio, ge1(txen), tdm(spi-cs1) | ||
146 | mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql) | ||
147 | |||
148 | * Marvell Kirkwood 88f6281 | ||
149 | |||
150 | name pins functions | ||
151 | ================================================================================ | ||
152 | mpp0 0 gpio, nand(io2), spi(cs) | ||
153 | mpp1 1 gpo, nand(io3), spi(mosi) | ||
154 | mpp2 2 gpo, nand(io4), spi(sck) | ||
155 | mpp3 3 gpo, nand(io5), spi(miso) | ||
156 | mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act) | ||
157 | mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act) | ||
158 | mpp6 6 sysrst(out), spi(mosi), ptp(trig) | ||
159 | mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig) | ||
160 | mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk), | ||
161 | mii(col), mii-1(rxerr), sata1(prsnt) | ||
162 | mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq), | ||
163 | mii(crs), sata0(prsnt) | ||
164 | mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig), sata1(act) | ||
165 | mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq), | ||
166 | ptp-2(trig), sata0(act) | ||
167 | mpp12 12 gpio, sdio(clk) | ||
168 | mpp13 13 gpio, sdio(cmd), uart1(txd) | ||
169 | mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt) | ||
170 | mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act) | ||
171 | mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs), | ||
172 | sata1(act) | ||
173 | mpp17 17 gpio, sdio(d3), sata0(prsnt) | ||
174 | mpp18 18 gpo, nand(io0) | ||
175 | mpp19 19 gpo, nand(io1) | ||
176 | mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi), | ||
177 | sata1(act) | ||
178 | mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql), | ||
179 | audio(spdifo) | ||
180 | mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk), | ||
181 | sata1(prsnt) | ||
182 | mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql), | ||
183 | audio(bclk) | ||
184 | mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo) | ||
185 | mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk) | ||
186 | mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk) | ||
187 | mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi) | ||
188 | mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk) | ||
189 | mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst) | ||
190 | mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk) | ||
191 | mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs) | ||
192 | mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx) | ||
193 | mpp33 33 gpo, ge1(txclk), tdm(drx) | ||
194 | mpp34 34 gpio, ge1(txen), tdm(spi-cs1), sata1(act) | ||
195 | mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql) | ||
196 | mpp36 36 gpio, ts(mp0), tdm(spi-cs1), audio(spdifi) | ||
197 | mpp37 37 gpio, ts(mp1), tdm(tx2ql), audio(spdifo) | ||
198 | mpp38 38 gpio, ts(mp2), tdm(rx2ql), audio(rmclk) | ||
199 | mpp39 39 gpio, ts(mp3), tdm(spi-cs0), audio(bclk) | ||
200 | mpp40 40 gpio, ts(mp4), tdm(spi-sck), audio(sdo) | ||
201 | mpp41 41 gpio, ts(mp5), tdm(spi-miso), audio(lrclk) | ||
202 | mpp42 42 gpio, ts(mp6), tdm(spi-mosi), audio(mclk) | ||
203 | mpp43 43 gpio, ts(mp7), tdm(int), audio(sdi) | ||
204 | mpp44 44 gpio, ts(mp8), tdm(rst), audio(extclk) | ||
205 | mpp45 45 gpio, ts(mp9), tdm(pclk) | ||
206 | mpp46 46 gpio, ts(mp10), tdm(fs) | ||
207 | mpp47 47 gpio, ts(mp11), tdm(drx) | ||
208 | mpp48 48 gpio, ts(mp12), tdm(dtx) | ||
209 | mpp49 49 gpio, ts(mp9), tdm(rx0ql), ptp(clk) | ||
210 | |||
211 | * Marvell Kirkwood 88f6282 | ||
212 | |||
213 | name pins functions | ||
214 | ================================================================================ | ||
215 | mpp0 0 gpio, nand(io2), spi(cs) | ||
216 | mpp1 1 gpo, nand(io3), spi(mosi) | ||
217 | mpp2 2 gpo, nand(io4), spi(sck) | ||
218 | mpp3 3 gpo, nand(io5), spi(miso) | ||
219 | mpp4 4 gpio, nand(io6), uart0(rxd), sata1(act), lcd(hsync) | ||
220 | mpp5 5 gpo, nand(io7), uart0(txd), sata0(act), lcd(vsync) | ||
221 | mpp6 6 sysrst(out), spi(mosi) | ||
222 | mpp7 7 gpo, spi(cs), lcd(pwm) | ||
223 | mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), mii(col), | ||
224 | mii-1(rxerr), sata1(prsnt) | ||
225 | mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), mii(crs), | ||
226 | sata0(prsnt) | ||
227 | mpp10 10 gpo, spi(sck), uart0(txd), sata1(act) | ||
228 | mpp11 11 gpio, spi(miso), uart0(rxd), sata0(act) | ||
229 | mpp12 12 gpo, sdio(clk), audio(spdifo), spi(mosi), twsi(sda) | ||
230 | mpp13 13 gpio, sdio(cmd), uart1(txd), audio(rmclk), lcd(pwm) | ||
231 | mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt), | ||
232 | audio(spdifi), audio-1(sdi) | ||
233 | mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act), | ||
234 | spi(cs) | ||
235 | mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs), | ||
236 | sata1(act), lcd(extclk) | ||
237 | mpp17 17 gpio, sdio(d3), sata0(prsnt), sata1(act), twsi1(sck) | ||
238 | mpp18 18 gpo, nand(io0), pex(clkreq) | ||
239 | mpp19 19 gpo, nand(io1) | ||
240 | mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi), | ||
241 | sata1(act), lcd(d0) | ||
242 | mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql), | ||
243 | audio(spdifo), lcd(d1) | ||
244 | mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk), | ||
245 | sata1(prsnt), lcd(d2) | ||
246 | mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql), | ||
247 | audio(bclk), lcd(d3) | ||
248 | mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo), | ||
249 | lcd(d4) | ||
250 | mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk), | ||
251 | lcd(d5) | ||
252 | mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk), | ||
253 | lcd(d6) | ||
254 | mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi), | ||
255 | lcd(d7) | ||
256 | mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk), | ||
257 | lcd(d8) | ||
258 | mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst), lcd(d9) | ||
259 | mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk), lcd(d10) | ||
260 | mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs), lcd(d11) | ||
261 | mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx), lcd(d12) | ||
262 | mpp33 33 gpo, ge1(txclk), tdm(drx), lcd(d13) | ||
263 | mpp34 34 gpio, ge1(txen), tdm(spi-cs1), sata1(act), lcd(d14) | ||
264 | mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql), | ||
265 | lcd(d15) | ||
266 | mpp36 36 gpio, ts(mp0), tdm(spi-cs1), audio(spdifi), twsi1(sda) | ||
267 | mpp37 37 gpio, ts(mp1), tdm(tx2ql), audio(spdifo), twsi1(sck) | ||
268 | mpp38 38 gpio, ts(mp2), tdm(rx2ql), audio(rmclk), lcd(d18) | ||
269 | mpp39 39 gpio, ts(mp3), tdm(spi-cs0), audio(bclk), lcd(d19) | ||
270 | mpp40 40 gpio, ts(mp4), tdm(spi-sck), audio(sdo), lcd(d20) | ||
271 | mpp41 41 gpio, ts(mp5), tdm(spi-miso), audio(lrclk), lcd(d21) | ||
272 | mpp42 42 gpio, ts(mp6), tdm(spi-mosi), audio(mclk), lcd(d22) | ||
273 | mpp43 43 gpio, ts(mp7), tdm(int), audio(sdi), lcd(d23) | ||
274 | mpp44 44 gpio, ts(mp8), tdm(rst), audio(extclk), lcd(clk) | ||
275 | mpp45 45 gpio, ts(mp9), tdm(pclk), lcd(e) | ||
276 | mpp46 46 gpio, ts(mp10), tdm(fs), lcd(hsync) | ||
277 | mpp47 47 gpio, ts(mp11), tdm(drx), lcd(vsync) | ||
278 | mpp48 48 gpio, ts(mp12), tdm(dtx), lcd(d16) | ||
279 | mpp49 49 gpo, tdm(rx0ql), pex(clkreq), lcd(d17) | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt new file mode 100644 index 000000000000..0a26c3aa4e6d --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | * Marvell SoC pinctrl core driver for mpp | ||
2 | |||
3 | The pinctrl driver enables Marvell SoCs to configure the multi-purpose pins | ||
4 | (mpp) to a specific function. For each SoC family there is a SoC specific | ||
5 | driver using this core driver. | ||
6 | |||
7 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
8 | common pinctrl bindings used by client devices, including the meaning of the | ||
9 | phrase "pin configuration node". | ||
10 | |||
11 | A Marvell SoC pin configuration node is a node of a group of pins which can | ||
12 | be used for a specific device or function. Each node requires one or more | ||
13 | mpp pins or group of pins and a mpp function common to all pins. | ||
14 | |||
15 | Required properties for pinctrl driver: | ||
16 | - compatible: "marvell,<soc>-pinctrl" | ||
17 | Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs. | ||
18 | |||
19 | Required properties for pin configuration node: | ||
20 | - marvell,pins: string array of mpp pins or group of pins to be muxed. | ||
21 | - marvell,function: string representing a function to mux to for all | ||
22 | marvell,pins given in this pin configuration node. The function has to be | ||
23 | common for all marvell,pins. Please refer to marvell,<soc>-pinctrl.txt for | ||
24 | valid pin/pin group names and available function names for each SoC. | ||
25 | |||
26 | Examples: | ||
27 | |||
28 | uart1: serial@12100 { | ||
29 | compatible = "ns16550a"; | ||
30 | reg = <0x12100 0x100>; | ||
31 | reg-shift = <2>; | ||
32 | interrupts = <7>; | ||
33 | |||
34 | pinctrl-0 = <&pmx_uart1_sw>; | ||
35 | pinctrl-names = "default"; | ||
36 | }; | ||
37 | |||
38 | pinctrl: pinctrl@d0200 { | ||
39 | compatible = "marvell,dove-pinctrl"; | ||
40 | reg = <0xd0200 0x20>; | ||
41 | |||
42 | pmx_uart1_sw: pmx-uart1-sw { | ||
43 | marvell,pins = "mpp_uart1"; | ||
44 | marvell,function = "uart1"; | ||
45 | }; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt index da80c2ae0915..a2436e1edfc1 100644 --- a/Documentation/devicetree/bindings/regulator/tps6586x.txt +++ b/Documentation/devicetree/bindings/regulator/tps6586x.txt | |||
@@ -8,7 +8,8 @@ Required properties: | |||
8 | - gpio-controller: mark the device as a GPIO controller | 8 | - gpio-controller: mark the device as a GPIO controller |
9 | - regulators: list of regulators provided by this controller, must have | 9 | - regulators: list of regulators provided by this controller, must have |
10 | property "regulator-compatible" to match their hardware counterparts: | 10 | property "regulator-compatible" to match their hardware counterparts: |
11 | sm[0-2], ldo[0-9] and ldo_rtc | 11 | sys, sm[0-2], ldo[0-9] and ldo_rtc |
12 | - sys-supply: The input supply for SYS. | ||
12 | - vin-sm0-supply: The input supply for the SM0. | 13 | - vin-sm0-supply: The input supply for the SM0. |
13 | - vin-sm1-supply: The input supply for the SM1. | 14 | - vin-sm1-supply: The input supply for the SM1. |
14 | - vin-sm2-supply: The input supply for the SM2. | 15 | - vin-sm2-supply: The input supply for the SM2. |
@@ -20,6 +21,9 @@ Required properties: | |||
20 | 21 | ||
21 | Each regulator is defined using the standard binding for regulators. | 22 | Each regulator is defined using the standard binding for regulators. |
22 | 23 | ||
24 | Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver | ||
25 | take care of making proper parent child relationship. | ||
26 | |||
23 | Example: | 27 | Example: |
24 | 28 | ||
25 | pmu: tps6586x@34 { | 29 | pmu: tps6586x@34 { |
@@ -30,6 +34,7 @@ Example: | |||
30 | #gpio-cells = <2>; | 34 | #gpio-cells = <2>; |
31 | gpio-controller; | 35 | gpio-controller; |
32 | 36 | ||
37 | sys-supply = <&some_reg>; | ||
33 | vin-sm0-supply = <&some_reg>; | 38 | vin-sm0-supply = <&some_reg>; |
34 | vin-sm1-supply = <&some_reg>; | 39 | vin-sm1-supply = <&some_reg>; |
35 | vin-sm2-supply = <&some_reg>; | 40 | vin-sm2-supply = <&some_reg>; |
@@ -43,8 +48,16 @@ Example: | |||
43 | #address-cells = <1>; | 48 | #address-cells = <1>; |
44 | #size-cells = <0>; | 49 | #size-cells = <0>; |
45 | 50 | ||
46 | sm0_reg: regulator@0 { | 51 | sys_reg: regulator@0 { |
47 | reg = <0>; | 52 | reg = <0>; |
53 | regulator-compatible = "sys"; | ||
54 | regulator-name = "vdd_sys"; | ||
55 | regulator-boot-on; | ||
56 | regulator-always-on; | ||
57 | }; | ||
58 | |||
59 | sm0_reg: regulator@1 { | ||
60 | reg = <1>; | ||
48 | regulator-compatible = "sm0"; | 61 | regulator-compatible = "sm0"; |
49 | regulator-min-microvolt = < 725000>; | 62 | regulator-min-microvolt = < 725000>; |
50 | regulator-max-microvolt = <1500000>; | 63 | regulator-max-microvolt = <1500000>; |
@@ -52,8 +65,8 @@ Example: | |||
52 | regulator-always-on; | 65 | regulator-always-on; |
53 | }; | 66 | }; |
54 | 67 | ||
55 | sm1_reg: regulator@1 { | 68 | sm1_reg: regulator@2 { |
56 | reg = <1>; | 69 | reg = <2>; |
57 | regulator-compatible = "sm1"; | 70 | regulator-compatible = "sm1"; |
58 | regulator-min-microvolt = < 725000>; | 71 | regulator-min-microvolt = < 725000>; |
59 | regulator-max-microvolt = <1500000>; | 72 | regulator-max-microvolt = <1500000>; |
@@ -61,8 +74,8 @@ Example: | |||
61 | regulator-always-on; | 74 | regulator-always-on; |
62 | }; | 75 | }; |
63 | 76 | ||
64 | sm2_reg: regulator@2 { | 77 | sm2_reg: regulator@3 { |
65 | reg = <2>; | 78 | reg = <3>; |
66 | regulator-compatible = "sm2"; | 79 | regulator-compatible = "sm2"; |
67 | regulator-min-microvolt = <3000000>; | 80 | regulator-min-microvolt = <3000000>; |
68 | regulator-max-microvolt = <4550000>; | 81 | regulator-max-microvolt = <4550000>; |
@@ -70,72 +83,72 @@ Example: | |||
70 | regulator-always-on; | 83 | regulator-always-on; |
71 | }; | 84 | }; |
72 | 85 | ||
73 | ldo0_reg: regulator@3 { | 86 | ldo0_reg: regulator@4 { |
74 | reg = <3>; | 87 | reg = <4>; |
75 | regulator-compatible = "ldo0"; | 88 | regulator-compatible = "ldo0"; |
76 | regulator-name = "PCIE CLK"; | 89 | regulator-name = "PCIE CLK"; |
77 | regulator-min-microvolt = <3300000>; | 90 | regulator-min-microvolt = <3300000>; |
78 | regulator-max-microvolt = <3300000>; | 91 | regulator-max-microvolt = <3300000>; |
79 | }; | 92 | }; |
80 | 93 | ||
81 | ldo1_reg: regulator@4 { | 94 | ldo1_reg: regulator@5 { |
82 | reg = <4>; | 95 | reg = <5>; |
83 | regulator-compatible = "ldo1"; | 96 | regulator-compatible = "ldo1"; |
84 | regulator-min-microvolt = < 725000>; | 97 | regulator-min-microvolt = < 725000>; |
85 | regulator-max-microvolt = <1500000>; | 98 | regulator-max-microvolt = <1500000>; |
86 | }; | 99 | }; |
87 | 100 | ||
88 | ldo2_reg: regulator@5 { | 101 | ldo2_reg: regulator@6 { |
89 | reg = <5>; | 102 | reg = <6>; |
90 | regulator-compatible = "ldo2"; | 103 | regulator-compatible = "ldo2"; |
91 | regulator-min-microvolt = < 725000>; | 104 | regulator-min-microvolt = < 725000>; |
92 | regulator-max-microvolt = <1500000>; | 105 | regulator-max-microvolt = <1500000>; |
93 | }; | 106 | }; |
94 | 107 | ||
95 | ldo3_reg: regulator@6 { | 108 | ldo3_reg: regulator@7 { |
96 | reg = <6>; | 109 | reg = <7>; |
97 | regulator-compatible = "ldo3"; | 110 | regulator-compatible = "ldo3"; |
98 | regulator-min-microvolt = <1250000>; | 111 | regulator-min-microvolt = <1250000>; |
99 | regulator-max-microvolt = <3300000>; | 112 | regulator-max-microvolt = <3300000>; |
100 | }; | 113 | }; |
101 | 114 | ||
102 | ldo4_reg: regulator@7 { | 115 | ldo4_reg: regulator@8 { |
103 | reg = <7>; | 116 | reg = <8>; |
104 | regulator-compatible = "ldo4"; | 117 | regulator-compatible = "ldo4"; |
105 | regulator-min-microvolt = <1700000>; | 118 | regulator-min-microvolt = <1700000>; |
106 | regulator-max-microvolt = <2475000>; | 119 | regulator-max-microvolt = <2475000>; |
107 | }; | 120 | }; |
108 | 121 | ||
109 | ldo5_reg: regulator@8 { | 122 | ldo5_reg: regulator@9 { |
110 | reg = <8>; | 123 | reg = <9>; |
111 | regulator-compatible = "ldo5"; | 124 | regulator-compatible = "ldo5"; |
112 | regulator-min-microvolt = <1250000>; | 125 | regulator-min-microvolt = <1250000>; |
113 | regulator-max-microvolt = <3300000>; | 126 | regulator-max-microvolt = <3300000>; |
114 | }; | 127 | }; |
115 | 128 | ||
116 | ldo6_reg: regulator@9 { | 129 | ldo6_reg: regulator@10 { |
117 | reg = <9>; | 130 | reg = <10>; |
118 | regulator-compatible = "ldo6"; | 131 | regulator-compatible = "ldo6"; |
119 | regulator-min-microvolt = <1250000>; | 132 | regulator-min-microvolt = <1250000>; |
120 | regulator-max-microvolt = <3300000>; | 133 | regulator-max-microvolt = <3300000>; |
121 | }; | 134 | }; |
122 | 135 | ||
123 | ldo7_reg: regulator@10 { | 136 | ldo7_reg: regulator@11 { |
124 | reg = <10>; | 137 | reg = <11>; |
125 | regulator-compatible = "ldo7"; | 138 | regulator-compatible = "ldo7"; |
126 | regulator-min-microvolt = <1250000>; | 139 | regulator-min-microvolt = <1250000>; |
127 | regulator-max-microvolt = <3300000>; | 140 | regulator-max-microvolt = <3300000>; |
128 | }; | 141 | }; |
129 | 142 | ||
130 | ldo8_reg: regulator@11 { | 143 | ldo8_reg: regulator@12 { |
131 | reg = <11>; | 144 | reg = <12>; |
132 | regulator-compatible = "ldo8"; | 145 | regulator-compatible = "ldo8"; |
133 | regulator-min-microvolt = <1250000>; | 146 | regulator-min-microvolt = <1250000>; |
134 | regulator-max-microvolt = <3300000>; | 147 | regulator-max-microvolt = <3300000>; |
135 | }; | 148 | }; |
136 | 149 | ||
137 | ldo9_reg: regulator@12 { | 150 | ldo9_reg: regulator@13 { |
138 | reg = <12>; | 151 | reg = <13>; |
139 | regulator-compatible = "ldo9"; | 152 | regulator-compatible = "ldo9"; |
140 | regulator-min-microvolt = <1250000>; | 153 | regulator-min-microvolt = <1250000>; |
141 | regulator-max-microvolt = <3300000>; | 154 | regulator-max-microvolt = <3300000>; |
diff --git a/Documentation/devicetree/bindings/rtc/pxa-rtc.txt b/Documentation/devicetree/bindings/rtc/pxa-rtc.txt new file mode 100644 index 000000000000..8c6672a1b7d7 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/pxa-rtc.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * PXA RTC | ||
2 | |||
3 | PXA specific RTC driver. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Should be "marvell,pxa-rtc" | ||
7 | |||
8 | Examples: | ||
9 | |||
10 | rtc@40900000 { | ||
11 | compatible = "marvell,pxa-rtc"; | ||
12 | reg = <0x40900000 0x3c>; | ||
13 | interrupts = <30 31>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt b/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt new file mode 100644 index 000000000000..2de21c2acf55 --- /dev/null +++ b/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | BCM2835 System Timer | ||
2 | |||
3 | The System Timer peripheral provides four 32-bit timer channels and a | ||
4 | single 64-bit free running counter. Each channel has an output compare | ||
5 | register, which is compared against the 32 least significant bits of the | ||
6 | free running counter values, and generates an interrupt. | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - compatible : should be "brcm,bcm2835-system-timer.txt" | ||
11 | - reg : Specifies base physical address and size of the registers. | ||
12 | - interrupts : A list of 4 interrupt sinks; one per timer channel. | ||
13 | - clock-frequency : The frequency of the clock that drives the counter, in Hz. | ||
14 | |||
15 | Example: | ||
16 | |||
17 | timer { | ||
18 | compatible = "brcm,bcm2835-system-timer"; | ||
19 | reg = <0x7e003000 0x1000>; | ||
20 | interrupts = <1 0>, <1 1>, <1 2>, <1 3>; | ||
21 | clock-frequency = <1000000>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index db4d3af3643c..4f293e5571f0 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -10,6 +10,7 @@ apm Applied Micro Circuits Corporation (APM) | |||
10 | arm ARM Ltd. | 10 | arm ARM Ltd. |
11 | atmel Atmel Corporation | 11 | atmel Atmel Corporation |
12 | bosch Bosch Sensortec GmbH | 12 | bosch Bosch Sensortec GmbH |
13 | brcm Broadcom Corporation | ||
13 | cavium Cavium, Inc. | 14 | cavium Cavium, Inc. |
14 | chrp Common Hardware Reference Platform | 15 | chrp Common Hardware Reference Platform |
15 | cortina Cortina Systems, Inc. | 16 | cortina Cortina Systems, Inc. |
diff --git a/Documentation/spi/ep93xx_spi b/Documentation/spi/ep93xx_spi index d8eb01c15db1..832ddce6e5fb 100644 --- a/Documentation/spi/ep93xx_spi +++ b/Documentation/spi/ep93xx_spi | |||
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c: | |||
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
27 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
28 | 28 | ||
29 | #include <mach/ep93xx_spi.h> | 29 | #include <linux/platform_data/spi-ep93xx.h> |
30 | 30 | ||
31 | /* this is our GPIO line used for chip select */ | 31 | /* this is our GPIO line used for chip select */ |
32 | #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9 | 32 | #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9 |