diff options
Diffstat (limited to 'Documentation')
84 files changed, 8703 insertions, 814 deletions
diff --git a/Documentation/ABI/removed/ip_queue b/Documentation/ABI/removed/ip_queue new file mode 100644 index 000000000000..3243613bc2d2 --- /dev/null +++ b/Documentation/ABI/removed/ip_queue | |||
@@ -0,0 +1,9 @@ | |||
1 | What: ip_queue | ||
2 | Date: finally removed in kernel v3.5.0 | ||
3 | Contact: Pablo Neira Ayuso <pablo@netfilter.org> | ||
4 | Description: | ||
5 | ip_queue has been replaced by nfnetlink_queue which provides | ||
6 | more advanced queueing mechanism to user-space. The ip_queue | ||
7 | module was already announced to become obsolete years ago. | ||
8 | |||
9 | Users: | ||
diff --git a/Documentation/ABI/testing/dev-kmsg b/Documentation/ABI/testing/dev-kmsg new file mode 100644 index 000000000000..281ecc5f9709 --- /dev/null +++ b/Documentation/ABI/testing/dev-kmsg | |||
@@ -0,0 +1,90 @@ | |||
1 | What: /dev/kmsg | ||
2 | Date: Mai 2012 | ||
3 | KernelVersion: 3.5 | ||
4 | Contact: Kay Sievers <kay@vrfy.org> | ||
5 | Description: The /dev/kmsg character device node provides userspace access | ||
6 | to the kernel's printk buffer. | ||
7 | |||
8 | Injecting messages: | ||
9 | Every write() to the opened device node places a log entry in | ||
10 | the kernel's printk buffer. | ||
11 | |||
12 | The logged line can be prefixed with a <N> syslog prefix, which | ||
13 | carries the syslog priority and facility. The single decimal | ||
14 | prefix number is composed of the 3 lowest bits being the syslog | ||
15 | priority and the higher bits the syslog facility number. | ||
16 | |||
17 | If no prefix is given, the priority number is the default kernel | ||
18 | log priority and the facility number is set to LOG_USER (1). It | ||
19 | is not possible to inject messages from userspace with the | ||
20 | facility number LOG_KERN (0), to make sure that the origin of | ||
21 | the messages can always be reliably determined. | ||
22 | |||
23 | Accessing the buffer: | ||
24 | Every read() from the opened device node receives one record | ||
25 | of the kernel's printk buffer. | ||
26 | |||
27 | The first read() directly following an open() always returns | ||
28 | first message in the buffer; there is no kernel-internal | ||
29 | persistent state; many readers can concurrently open the device | ||
30 | and read from it, without affecting other readers. | ||
31 | |||
32 | Every read() will receive the next available record. If no more | ||
33 | records are available read() will block, or if O_NONBLOCK is | ||
34 | used -EAGAIN returned. | ||
35 | |||
36 | Messages in the record ring buffer get overwritten as whole, | ||
37 | there are never partial messages received by read(). | ||
38 | |||
39 | In case messages get overwritten in the circular buffer while | ||
40 | the device is kept open, the next read() will return -EPIPE, | ||
41 | and the seek position be updated to the next available record. | ||
42 | Subsequent reads() will return available records again. | ||
43 | |||
44 | Unlike the classic syslog() interface, the 64 bit record | ||
45 | sequence numbers allow to calculate the amount of lost | ||
46 | messages, in case the buffer gets overwritten. And they allow | ||
47 | to reconnect to the buffer and reconstruct the read position | ||
48 | if needed, without limiting the interface to a single reader. | ||
49 | |||
50 | The device supports seek with the following parameters: | ||
51 | SEEK_SET, 0 | ||
52 | seek to the first entry in the buffer | ||
53 | SEEK_END, 0 | ||
54 | seek after the last entry in the buffer | ||
55 | SEEK_DATA, 0 | ||
56 | seek after the last record available at the time | ||
57 | the last SYSLOG_ACTION_CLEAR was issued. | ||
58 | |||
59 | The output format consists of a prefix carrying the syslog | ||
60 | prefix including priority and facility, the 64 bit message | ||
61 | sequence number and the monotonic timestamp in microseconds. | ||
62 | The values are separated by a ','. Future extensions might | ||
63 | add more comma separated values before the terminating ';'. | ||
64 | Unknown values should be gracefully ignored. | ||
65 | |||
66 | The human readable text string starts directly after the ';' | ||
67 | and is terminated by a '\n'. Untrusted values derived from | ||
68 | hardware or other facilities are printed, therefore | ||
69 | all non-printable characters in the log message are escaped | ||
70 | by "\x00" C-style hex encoding. | ||
71 | |||
72 | A line starting with ' ', is a continuation line, adding | ||
73 | key/value pairs to the log message, which provide the machine | ||
74 | readable context of the message, for reliable processing in | ||
75 | userspace. | ||
76 | |||
77 | Example: | ||
78 | 7,160,424069;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) | ||
79 | SUBSYSTEM=acpi | ||
80 | DEVICE=+acpi:PNP0A03:00 | ||
81 | 6,339,5140900;NET: Registered protocol family 10 | ||
82 | 30,340,5690716;udevd[80]: starting version 181 | ||
83 | |||
84 | The DEVICE= key uniquely identifies devices the following way: | ||
85 | b12:8 - block dev_t | ||
86 | c127:3 - char dev_t | ||
87 | n8 - netdev ifindex | ||
88 | +sound:card0 - subsystem:devname | ||
89 | |||
90 | Users: dmesg(1), userspace kernel log consumers | ||
diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb index 7c22a532fdfb..6ae9fec8e07d 100644 --- a/Documentation/ABI/testing/sysfs-bus-usb +++ b/Documentation/ABI/testing/sysfs-bus-usb | |||
@@ -135,6 +135,17 @@ Description: | |||
135 | for the device and attempt to bind to it. For example: | 135 | for the device and attempt to bind to it. For example: |
136 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | 136 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id |
137 | 137 | ||
138 | Reading from this file will list all dynamically added | ||
139 | device IDs in the same format, with one entry per | ||
140 | line. For example: | ||
141 | # cat /sys/bus/usb/drivers/foo/new_id | ||
142 | 8086 10f5 | ||
143 | dead beef 06 | ||
144 | f00d cafe | ||
145 | |||
146 | The list will be truncated at PAGE_SIZE bytes due to | ||
147 | sysfs restrictions. | ||
148 | |||
138 | What: /sys/bus/usb-serial/drivers/.../new_id | 149 | What: /sys/bus/usb-serial/drivers/.../new_id |
139 | Date: October 2011 | 150 | Date: October 2011 |
140 | Contact: linux-usb@vger.kernel.org | 151 | Contact: linux-usb@vger.kernel.org |
@@ -157,6 +168,10 @@ Description: | |||
157 | match the driver to the device. For example: | 168 | match the driver to the device. For example: |
158 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id | 169 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id |
159 | 170 | ||
171 | Reading from this file will list the dynamically added | ||
172 | device IDs, exactly like reading from the entry | ||
173 | "/sys/bus/usb/drivers/.../new_id" | ||
174 | |||
160 | What: /sys/bus/usb/device/.../avoid_reset_quirk | 175 | What: /sys/bus/usb/device/.../avoid_reset_quirk |
161 | Date: December 2009 | 176 | Date: December 2009 |
162 | Contact: Oliver Neukum <oliver@neukum.org> | 177 | Contact: Oliver Neukum <oliver@neukum.org> |
diff --git a/Documentation/ABI/testing/sysfs-class-extcon b/Documentation/ABI/testing/sysfs-class-extcon new file mode 100644 index 000000000000..20ab361bd8c6 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-extcon | |||
@@ -0,0 +1,97 @@ | |||
1 | What: /sys/class/extcon/.../ | ||
2 | Date: February 2012 | ||
3 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
4 | Description: | ||
5 | Provide a place in sysfs for the extcon objects. | ||
6 | This allows accessing extcon specific variables. | ||
7 | The name of extcon object denoted as ... is the name given | ||
8 | with extcon_dev_register. | ||
9 | |||
10 | One extcon device denotes a single external connector | ||
11 | port. An external connector may have multiple cables | ||
12 | attached simultaneously. Many of docks, cradles, and | ||
13 | accessory cables have such capability. For example, | ||
14 | the 30-pin port of Nuri board (/arch/arm/mach-exynos) | ||
15 | may have both HDMI and Charger attached, or analog audio, | ||
16 | video, and USB cables attached simulteneously. | ||
17 | |||
18 | If there are cables mutually exclusive with each other, | ||
19 | such binary relations may be expressed with extcon_dev's | ||
20 | mutually_exclusive array. | ||
21 | |||
22 | What: /sys/class/extcon/.../name | ||
23 | Date: February 2012 | ||
24 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
25 | Description: | ||
26 | The /sys/class/extcon/.../name shows the name of the extcon | ||
27 | object. If the extcon object has an optional callback | ||
28 | "show_name" defined, the callback will provide the name with | ||
29 | this sysfs node. | ||
30 | |||
31 | What: /sys/class/extcon/.../state | ||
32 | Date: February 2012 | ||
33 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
34 | Description: | ||
35 | The /sys/class/extcon/.../state shows and stores the cable | ||
36 | attach/detach information of the corresponding extcon object. | ||
37 | If the extcon object has an optional callback "show_state" | ||
38 | defined, the showing function is overriden with the optional | ||
39 | callback. | ||
40 | |||
41 | If the default callback for showing function is used, the | ||
42 | format is like this: | ||
43 | # cat state | ||
44 | USB_OTG=1 | ||
45 | HDMI=0 | ||
46 | TA=1 | ||
47 | EAR_JACK=0 | ||
48 | # | ||
49 | In this example, the extcon device have USB_OTG and TA | ||
50 | cables attached and HDMI and EAR_JACK cables detached. | ||
51 | |||
52 | In order to update the state of an extcon device, enter a hex | ||
53 | state number starting with 0x. | ||
54 | echo 0xHEX > state | ||
55 | |||
56 | This updates the whole state of the extcon dev. | ||
57 | Inputs of all the methods are required to meet the | ||
58 | mutually_exclusive contidions if they exist. | ||
59 | |||
60 | It is recommended to use this "global" state interface if | ||
61 | you need to enter the value atomically. The later state | ||
62 | interface associated with each cable cannot update | ||
63 | multiple cable states of an extcon device simultaneously. | ||
64 | |||
65 | What: /sys/class/extcon/.../cable.x/name | ||
66 | Date: February 2012 | ||
67 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
68 | Description: | ||
69 | The /sys/class/extcon/.../cable.x/name shows the name of cable | ||
70 | "x" (integer between 0 and 31) of an extcon device. | ||
71 | |||
72 | What: /sys/class/extcon/.../cable.x/state | ||
73 | Date: February 2012 | ||
74 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
75 | Description: | ||
76 | The /sys/class/extcon/.../cable.x/name shows and stores the | ||
77 | state of cable "x" (integer between 0 and 31) of an extcon | ||
78 | device. The state value is either 0 (detached) or 1 | ||
79 | (attached). | ||
80 | |||
81 | What: /sys/class/extcon/.../mutually_exclusive/... | ||
82 | Date: December 2011 | ||
83 | Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | ||
84 | Description: | ||
85 | Shows the relations of mutually exclusiveness. For example, | ||
86 | if the mutually_exclusive array of extcon_dev is | ||
87 | {0x3, 0x5, 0xC, 0x0}, the, the output is: | ||
88 | # ls mutually_exclusive/ | ||
89 | 0x3 | ||
90 | 0x5 | ||
91 | 0xc | ||
92 | # | ||
93 | |||
94 | Note that mutually_exclusive is a sub-directory of the extcon | ||
95 | device and the file names under the mutually_exclusive | ||
96 | directory show the mutually-exclusive sets, not the contents | ||
97 | of the files. | ||
diff --git a/Documentation/ABI/testing/sysfs-class-net-mesh b/Documentation/ABI/testing/sysfs-class-net-mesh index b218e0f8bdb3..c81fe89c4c46 100644 --- a/Documentation/ABI/testing/sysfs-class-net-mesh +++ b/Documentation/ABI/testing/sysfs-class-net-mesh | |||
@@ -14,6 +14,15 @@ Description: | |||
14 | mesh will be sent using multiple interfaces at the | 14 | mesh will be sent using multiple interfaces at the |
15 | same time (if available). | 15 | same time (if available). |
16 | 16 | ||
17 | What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance | ||
18 | Date: November 2011 | ||
19 | Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> | ||
20 | Description: | ||
21 | Indicates whether the bridge loop avoidance feature | ||
22 | is enabled. This feature detects and avoids loops | ||
23 | between the mesh and devices bridged with the soft | ||
24 | interface <mesh_iface>. | ||
25 | |||
17 | What: /sys/class/net/<mesh_iface>/mesh/fragmentation | 26 | What: /sys/class/net/<mesh_iface>/mesh/fragmentation |
18 | Date: October 2010 | 27 | Date: October 2010 |
19 | Contact: Andreas Langer <an.langer@gmx.de> | 28 | Contact: Andreas Langer <an.langer@gmx.de> |
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl index c5ac6929c41c..f3e214f9e256 100644 --- a/Documentation/DocBook/80211.tmpl +++ b/Documentation/DocBook/80211.tmpl | |||
@@ -516,7 +516,7 @@ | |||
516 | !Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe | 516 | !Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe |
517 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_session | 517 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_session |
518 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe | 518 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe |
519 | !Finclude/net/mac80211.h rate_control_changed | 519 | !Finclude/net/mac80211.h ieee80211_rate_control_changed |
520 | !Finclude/net/mac80211.h ieee80211_tx_rate_control | 520 | !Finclude/net/mac80211.h ieee80211_tx_rate_control |
521 | !Finclude/net/mac80211.h rate_control_send_low | 521 | !Finclude/net/mac80211.h rate_control_send_low |
522 | </chapter> | 522 | </chapter> |
diff --git a/Documentation/HOWTO b/Documentation/HOWTO index f7ade3b3b40d..59c080f084ef 100644 --- a/Documentation/HOWTO +++ b/Documentation/HOWTO | |||
@@ -218,16 +218,16 @@ The development process | |||
218 | Linux kernel development process currently consists of a few different | 218 | Linux kernel development process currently consists of a few different |
219 | main kernel "branches" and lots of different subsystem-specific kernel | 219 | main kernel "branches" and lots of different subsystem-specific kernel |
220 | branches. These different branches are: | 220 | branches. These different branches are: |
221 | - main 2.6.x kernel tree | 221 | - main 3.x kernel tree |
222 | - 2.6.x.y -stable kernel tree | 222 | - 3.x.y -stable kernel tree |
223 | - 2.6.x -git kernel patches | 223 | - 3.x -git kernel patches |
224 | - subsystem specific kernel trees and patches | 224 | - subsystem specific kernel trees and patches |
225 | - the 2.6.x -next kernel tree for integration tests | 225 | - the 3.x -next kernel tree for integration tests |
226 | 226 | ||
227 | 2.6.x kernel tree | 227 | 3.x kernel tree |
228 | ----------------- | 228 | ----------------- |
229 | 2.6.x kernels are maintained by Linus Torvalds, and can be found on | 229 | 3.x kernels are maintained by Linus Torvalds, and can be found on |
230 | kernel.org in the pub/linux/kernel/v2.6/ directory. Its development | 230 | kernel.org in the pub/linux/kernel/v3.x/ directory. Its development |
231 | process is as follows: | 231 | process is as follows: |
232 | - As soon as a new kernel is released a two weeks window is open, | 232 | - As soon as a new kernel is released a two weeks window is open, |
233 | during this period of time maintainers can submit big diffs to | 233 | during this period of time maintainers can submit big diffs to |
@@ -262,20 +262,20 @@ mailing list about kernel releases: | |||
262 | released according to perceived bug status, not according to a | 262 | released according to perceived bug status, not according to a |
263 | preconceived timeline." | 263 | preconceived timeline." |
264 | 264 | ||
265 | 2.6.x.y -stable kernel tree | 265 | 3.x.y -stable kernel tree |
266 | --------------------------- | 266 | --------------------------- |
267 | Kernels with 4-part versions are -stable kernels. They contain | 267 | Kernels with 3-part versions are -stable kernels. They contain |
268 | relatively small and critical fixes for security problems or significant | 268 | relatively small and critical fixes for security problems or significant |
269 | regressions discovered in a given 2.6.x kernel. | 269 | regressions discovered in a given 3.x kernel. |
270 | 270 | ||
271 | This is the recommended branch for users who want the most recent stable | 271 | This is the recommended branch for users who want the most recent stable |
272 | kernel and are not interested in helping test development/experimental | 272 | kernel and are not interested in helping test development/experimental |
273 | versions. | 273 | versions. |
274 | 274 | ||
275 | If no 2.6.x.y kernel is available, then the highest numbered 2.6.x | 275 | If no 3.x.y kernel is available, then the highest numbered 3.x |
276 | kernel is the current stable kernel. | 276 | kernel is the current stable kernel. |
277 | 277 | ||
278 | 2.6.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and | 278 | 3.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and |
279 | are released as needs dictate. The normal release period is approximately | 279 | are released as needs dictate. The normal release period is approximately |
280 | two weeks, but it can be longer if there are no pressing problems. A | 280 | two weeks, but it can be longer if there are no pressing problems. A |
281 | security-related problem, instead, can cause a release to happen almost | 281 | security-related problem, instead, can cause a release to happen almost |
@@ -285,7 +285,7 @@ The file Documentation/stable_kernel_rules.txt in the kernel tree | |||
285 | documents what kinds of changes are acceptable for the -stable tree, and | 285 | documents what kinds of changes are acceptable for the -stable tree, and |
286 | how the release process works. | 286 | how the release process works. |
287 | 287 | ||
288 | 2.6.x -git patches | 288 | 3.x -git patches |
289 | ------------------ | 289 | ------------------ |
290 | These are daily snapshots of Linus' kernel tree which are managed in a | 290 | These are daily snapshots of Linus' kernel tree which are managed in a |
291 | git repository (hence the name.) These patches are usually released | 291 | git repository (hence the name.) These patches are usually released |
@@ -317,13 +317,13 @@ revisions to it, and maintainers can mark patches as under review, | |||
317 | accepted, or rejected. Most of these patchwork sites are listed at | 317 | accepted, or rejected. Most of these patchwork sites are listed at |
318 | http://patchwork.kernel.org/. | 318 | http://patchwork.kernel.org/. |
319 | 319 | ||
320 | 2.6.x -next kernel tree for integration tests | 320 | 3.x -next kernel tree for integration tests |
321 | --------------------------------------------- | 321 | --------------------------------------------- |
322 | Before updates from subsystem trees are merged into the mainline 2.6.x | 322 | Before updates from subsystem trees are merged into the mainline 3.x |
323 | tree, they need to be integration-tested. For this purpose, a special | 323 | tree, they need to be integration-tested. For this purpose, a special |
324 | testing repository exists into which virtually all subsystem trees are | 324 | testing repository exists into which virtually all subsystem trees are |
325 | pulled on an almost daily basis: | 325 | pulled on an almost daily basis: |
326 | http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git | 326 | http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git |
327 | http://linux.f-seidel.de/linux-next/pmwiki/ | 327 | http://linux.f-seidel.de/linux-next/pmwiki/ |
328 | 328 | ||
329 | This way, the -next kernel gives a summary outlook onto what will be | 329 | This way, the -next kernel gives a summary outlook onto what will be |
diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt index 375d3fb71437..4ddf3913fd8c 100644 --- a/Documentation/RCU/torture.txt +++ b/Documentation/RCU/torture.txt | |||
@@ -47,6 +47,16 @@ irqreader Says to invoke RCU readers from irq level. This is currently | |||
47 | permit this. (Or, more accurately, variants of RCU that do | 47 | permit this. (Or, more accurately, variants of RCU that do |
48 | -not- permit this know to ignore this variable.) | 48 | -not- permit this know to ignore this variable.) |
49 | 49 | ||
50 | n_barrier_cbs If this is nonzero, RCU barrier testing will be conducted, | ||
51 | in which case n_barrier_cbs specifies the number of | ||
52 | RCU callbacks (and corresponding kthreads) to use for | ||
53 | this testing. The value cannot be negative. If you | ||
54 | specify this to be non-zero when torture_type indicates a | ||
55 | synchronous RCU implementation (one for which a member of | ||
56 | the synchronize_rcu() rather than the call_rcu() family is | ||
57 | used -- see the documentation for torture_type below), an | ||
58 | error will be reported and no testing will be carried out. | ||
59 | |||
50 | nfakewriters This is the number of RCU fake writer threads to run. Fake | 60 | nfakewriters This is the number of RCU fake writer threads to run. Fake |
51 | writer threads repeatedly use the synchronous "wait for | 61 | writer threads repeatedly use the synchronous "wait for |
52 | current readers" function of the interface selected by | 62 | current readers" function of the interface selected by |
@@ -188,7 +198,7 @@ OUTPUT | |||
188 | The statistics output is as follows: | 198 | The statistics output is as follows: |
189 | 199 | ||
190 | rcu-torture:--- Start of test: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4 | 200 | rcu-torture:--- Start of test: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4 |
191 | rcu-torture: rtc: (null) ver: 155441 tfle: 0 rta: 155441 rtaf: 8884 rtf: 155440 rtmbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 3055767 | 201 | rcu-torture: rtc: (null) ver: 155441 tfle: 0 rta: 155441 rtaf: 8884 rtf: 155440 rtmbe: 0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 3055767 |
192 | rcu-torture: Reader Pipe: 727860534 34213 0 0 0 0 0 0 0 0 0 | 202 | rcu-torture: Reader Pipe: 727860534 34213 0 0 0 0 0 0 0 0 0 |
193 | rcu-torture: Reader Batch: 727877838 17003 0 0 0 0 0 0 0 0 0 | 203 | rcu-torture: Reader Batch: 727877838 17003 0 0 0 0 0 0 0 0 0 |
194 | rcu-torture: Free-Block Circulation: 155440 155440 155440 155440 155440 155440 155440 155440 155440 155440 0 | 204 | rcu-torture: Free-Block Circulation: 155440 155440 155440 155440 155440 155440 155440 155440 155440 155440 0 |
@@ -230,6 +240,9 @@ o "rtmbe": A non-zero value indicates that rcutorture believes that | |||
230 | rcu_assign_pointer() and rcu_dereference() are not working | 240 | rcu_assign_pointer() and rcu_dereference() are not working |
231 | correctly. This value should be zero. | 241 | correctly. This value should be zero. |
232 | 242 | ||
243 | o "rtbe": A non-zero value indicates that one of the rcu_barrier() | ||
244 | family of functions is not working correctly. | ||
245 | |||
233 | o "rtbke": rcutorture was unable to create the real-time kthreads | 246 | o "rtbke": rcutorture was unable to create the real-time kthreads |
234 | used to force RCU priority inversion. This value should be zero. | 247 | used to force RCU priority inversion. This value should be zero. |
235 | 248 | ||
diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX index 91c24a1e8a9e..36420e116c90 100644 --- a/Documentation/arm/00-INDEX +++ b/Documentation/arm/00-INDEX | |||
@@ -4,8 +4,6 @@ Booting | |||
4 | - requirements for booting | 4 | - requirements for booting |
5 | Interrupts | 5 | Interrupts |
6 | - ARM Interrupt subsystem documentation | 6 | - ARM Interrupt subsystem documentation |
7 | IXP2000 | ||
8 | - Release Notes for Linux on Intel's IXP2000 Network Processor | ||
9 | msm | 7 | msm |
10 | - MSM specific documentation | 8 | - MSM specific documentation |
11 | Netwinder | 9 | Netwinder |
diff --git a/Documentation/arm/IXP2000 b/Documentation/arm/IXP2000 deleted file mode 100644 index 68d21d92a30b..000000000000 --- a/Documentation/arm/IXP2000 +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | |||
2 | ------------------------------------------------------------------------- | ||
3 | Release Notes for Linux on Intel's IXP2000 Network Processor | ||
4 | |||
5 | Maintained by Deepak Saxena <dsaxena@plexity.net> | ||
6 | ------------------------------------------------------------------------- | ||
7 | |||
8 | 1. Overview | ||
9 | |||
10 | Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850) is designed | ||
11 | for high-performance network applications such high-availability | ||
12 | telecom systems. In addition to an XScale core, it contains up to 8 | ||
13 | "MicroEngines" that run special code, several high-end networking | ||
14 | interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port, | ||
15 | flash interface, and some other odds and ends. For more information, see: | ||
16 | |||
17 | http://developer.intel.com | ||
18 | |||
19 | 2. Linux Support | ||
20 | |||
21 | Linux currently supports the following features on the IXP2000 NPUs: | ||
22 | |||
23 | - On-chip serial | ||
24 | - PCI | ||
25 | - Flash (MTD/JFFS2) | ||
26 | - I2C through GPIO | ||
27 | - Timers (watchdog, OS) | ||
28 | |||
29 | That is about all we can support under Linux ATM b/c the core networking | ||
30 | components of the chip are accessed via Intel's closed source SDK. | ||
31 | Please contact Intel directly on issues with using those. There is | ||
32 | also a mailing list run by some folks at Princeton University that might | ||
33 | be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx | ||
34 | |||
35 | WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL | ||
36 | MAILING LISTS REGARDING THE INTEL SDK. | ||
37 | |||
38 | 3. Supported Platforms | ||
39 | |||
40 | - Intel IXDP2400 Reference Platform | ||
41 | - Intel IXDP2800 Reference Platform | ||
42 | - Intel IXDP2401 Reference Platform | ||
43 | - Intel IXDP2801 Reference Platform | ||
44 | - RadiSys ENP-2611 | ||
45 | |||
46 | 4. Usage Notes | ||
47 | |||
48 | - The IXP2000 platforms usually have rather complex PCI bus topologies | ||
49 | with large memory space requirements. In addition, b/c of the way the | ||
50 | Intel SDK is designed, devices are enumerated in a very specific | ||
51 | way. B/c of this this, we use "pci=firmware" option in the kernel | ||
52 | command line so that we do not re-enumerate the bus. | ||
53 | |||
54 | - IXDP2x01 systems have variable clock tick rates that we cannot determine | ||
55 | via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you | ||
56 | to pass the clock rate to the board port. | ||
57 | |||
58 | 5. Thanks | ||
59 | |||
60 | The IXP2000 work has been funded by Intel Corp. and MontaVista Software, Inc. | ||
61 | |||
62 | The following people have contributed patches/comments/etc: | ||
63 | |||
64 | Naeem F. Afzal | ||
65 | Lennert Buytenhek | ||
66 | Jeffrey Daly | ||
67 | |||
68 | ------------------------------------------------------------------------- | ||
69 | Last Update: 8/09/2004 | ||
diff --git a/Documentation/arm/SPEAr/overview.txt b/Documentation/arm/SPEAr/overview.txt index 253a35c6f782..28a9af953b9d 100644 --- a/Documentation/arm/SPEAr/overview.txt +++ b/Documentation/arm/SPEAr/overview.txt | |||
@@ -17,14 +17,14 @@ Introduction | |||
17 | SPEAr (Platform) | 17 | SPEAr (Platform) |
18 | - SPEAr3XX (3XX SOC series, based on ARM9) | 18 | - SPEAr3XX (3XX SOC series, based on ARM9) |
19 | - SPEAr300 (SOC) | 19 | - SPEAr300 (SOC) |
20 | - SPEAr300_EVB (Evaluation Board) | 20 | - SPEAr300 Evaluation Board |
21 | - SPEAr310 (SOC) | 21 | - SPEAr310 (SOC) |
22 | - SPEAr310_EVB (Evaluation Board) | 22 | - SPEAr310 Evaluation Board |
23 | - SPEAr320 (SOC) | 23 | - SPEAr320 (SOC) |
24 | - SPEAr320_EVB (Evaluation Board) | 24 | - SPEAr320 Evaluation Board |
25 | - SPEAr6XX (6XX SOC series, based on ARM9) | 25 | - SPEAr6XX (6XX SOC series, based on ARM9) |
26 | - SPEAr600 (SOC) | 26 | - SPEAr600 (SOC) |
27 | - SPEAr600_EVB (Evaluation Board) | 27 | - SPEAr600 Evaluation Board |
28 | - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9) | 28 | - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9) |
29 | - SPEAr1300 (SOC) | 29 | - SPEAr1300 (SOC) |
30 | 30 | ||
@@ -51,10 +51,11 @@ Introduction | |||
51 | Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for | 51 | Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for |
52 | spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine | 52 | spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine |
53 | specific files, like spear300.c, spear310.c, spear320.c and spear600.c. | 53 | specific files, like spear300.c, spear310.c, spear320.c and spear600.c. |
54 | mach-spear* also contains board specific files for each machine type. | 54 | mach-spear* doesn't contains board specific files as they fully support |
55 | Flattened Device Tree. | ||
55 | 56 | ||
56 | 57 | ||
57 | Document Author | 58 | Document Author |
58 | --------------- | 59 | --------------- |
59 | 60 | ||
60 | Viresh Kumar, (c) 2010 ST Microelectronics | 61 | Viresh Kumar <viresh.kumar@st.com>, (c) 2010-2012 ST Microelectronics |
diff --git a/Documentation/devices.txt b/Documentation/devices.txt index 00383186d8fb..5941f5136c6b 100644 --- a/Documentation/devices.txt +++ b/Documentation/devices.txt | |||
@@ -98,7 +98,8 @@ Your cooperation is appreciated. | |||
98 | 8 = /dev/random Nondeterministic random number gen. | 98 | 8 = /dev/random Nondeterministic random number gen. |
99 | 9 = /dev/urandom Faster, less secure random number gen. | 99 | 9 = /dev/urandom Faster, less secure random number gen. |
100 | 10 = /dev/aio Asynchronous I/O notification interface | 100 | 10 = /dev/aio Asynchronous I/O notification interface |
101 | 11 = /dev/kmsg Writes to this come out as printk's | 101 | 11 = /dev/kmsg Writes to this come out as printk's, reads |
102 | export the buffered printk records. | ||
102 | 12 = /dev/oldmem Used by crashdump kernels to access | 103 | 12 = /dev/oldmem Used by crashdump kernels to access |
103 | the memory of the kernel that crashed. | 104 | the memory of the kernel that crashed. |
104 | 105 | ||
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt new file mode 100644 index 000000000000..52478c83d0cc --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arch_timer.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * ARM architected timer | ||
2 | |||
3 | ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which | ||
4 | provides per-cpu timers. | ||
5 | |||
6 | The timer is attached to a GIC to deliver its per-processor interrupts. | ||
7 | |||
8 | ** Timer node properties: | ||
9 | |||
10 | - compatible : Should at least contain "arm,armv7-timer". | ||
11 | |||
12 | - interrupts : Interrupt list for secure, non-secure, virtual and | ||
13 | hypervisor timers, in that order. | ||
14 | |||
15 | - clock-frequency : The frequency of the main counter, in Hz. Optional. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | timer { | ||
20 | compatible = "arm,cortex-a15-timer", | ||
21 | "arm,armv7-timer"; | ||
22 | interrupts = <1 13 0xf08>, | ||
23 | <1 14 0xf08>, | ||
24 | <1 11 0xf08>, | ||
25 | <1 10 0xf08>; | ||
26 | clock-frequency = <100000000>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/lpc32xx-mic.txt b/Documentation/devicetree/bindings/arm/lpc32xx-mic.txt new file mode 100644 index 000000000000..539adca19e8f --- /dev/null +++ b/Documentation/devicetree/bindings/arm/lpc32xx-mic.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | * NXP LPC32xx Main Interrupt Controller | ||
2 | (MIC, including SIC1 and SIC2 secondary controllers) | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: Should be "nxp,lpc3220-mic" | ||
6 | - interrupt-controller: Identifies the node as an interrupt controller. | ||
7 | - interrupt-parent: Empty for the interrupt controller itself | ||
8 | - #interrupt-cells: The number of cells to define the interrupts. Should be 2. | ||
9 | The first cell is the IRQ number | ||
10 | The second cell is used to specify mode: | ||
11 | 1 = low-to-high edge triggered | ||
12 | 2 = high-to-low edge triggered | ||
13 | 4 = active high level-sensitive | ||
14 | 8 = active low level-sensitive | ||
15 | Default for internal sources should be set to 4 (active high). | ||
16 | - reg: Should contain MIC registers location and length | ||
17 | |||
18 | Examples: | ||
19 | /* | ||
20 | * MIC | ||
21 | */ | ||
22 | mic: interrupt-controller@40008000 { | ||
23 | compatible = "nxp,lpc3220-mic"; | ||
24 | interrupt-controller; | ||
25 | interrupt-parent; | ||
26 | #interrupt-cells = <2>; | ||
27 | reg = <0x40008000 0xC000>; | ||
28 | }; | ||
29 | |||
30 | /* | ||
31 | * ADC | ||
32 | */ | ||
33 | adc@40048000 { | ||
34 | compatible = "nxp,lpc3220-adc"; | ||
35 | reg = <0x40048000 0x1000>; | ||
36 | interrupt-parent = <&mic>; | ||
37 | interrupts = <39 4>; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/lpc32xx.txt b/Documentation/devicetree/bindings/arm/lpc32xx.txt new file mode 100644 index 000000000000..56ec8ddc4a3b --- /dev/null +++ b/Documentation/devicetree/bindings/arm/lpc32xx.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | NXP LPC32xx Platforms Device Tree Bindings | ||
2 | ------------------------------------------ | ||
3 | |||
4 | Boards with the NXP LPC32xx SoC shall have the following properties: | ||
5 | |||
6 | Required root node property: | ||
7 | |||
8 | compatible: must be "nxp,lpc3220", "nxp,lpc3230", "nxp,lpc3240" or "nxp,lpc3250" | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt new file mode 100644 index 000000000000..80b9a94d9a23 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | * Marvell MMP Interrupt controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or | ||
5 | "mrvl,mmp2-mux-intc" | ||
6 | - reg : Address and length of the register set of the interrupt controller. | ||
7 | If the interrupt controller is intc, address and length means the range | ||
8 | of the whold interrupt controller. If the interrupt controller is mux-intc, | ||
9 | address and length means one register. Since address of mux-intc is in the | ||
10 | range of intc. mux-intc is secondary interrupt controller. | ||
11 | - reg-names : Name of the register set of the interrupt controller. It's | ||
12 | only required in mux-intc interrupt controller. | ||
13 | - interrupts : Should be the port interrupt shared by mux interrupts. It's | ||
14 | only required in mux-intc interrupt controller. | ||
15 | - interrupt-controller : Identifies the node as an interrupt controller. | ||
16 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
17 | interrupt source. | ||
18 | - mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt | ||
19 | controller. | ||
20 | - mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge | ||
21 | detection first. | ||
22 | |||
23 | Example: | ||
24 | intc: interrupt-controller@d4282000 { | ||
25 | compatible = "mrvl,mmp2-intc"; | ||
26 | interrupt-controller; | ||
27 | #interrupt-cells = <1>; | ||
28 | reg = <0xd4282000 0x1000>; | ||
29 | mrvl,intc-nr-irqs = <64>; | ||
30 | }; | ||
31 | |||
32 | intcmux4@d4282150 { | ||
33 | compatible = "mrvl,mmp2-mux-intc"; | ||
34 | interrupts = <4>; | ||
35 | interrupt-controller; | ||
36 | #interrupt-cells = <1>; | ||
37 | reg = <0x150 0x4>, <0x168 0x4>; | ||
38 | reg-names = "mux status", "mux mask"; | ||
39 | mrvl,intc-nr-irqs = <2>; | ||
40 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt index d8de933e9d81..117d741a2e4f 100644 --- a/Documentation/devicetree/bindings/arm/mrvl.txt +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt | |||
@@ -4,3 +4,11 @@ Marvell Platforms Device Tree Bindings | |||
4 | PXA168 Aspenite Board | 4 | PXA168 Aspenite Board |
5 | Required root node properties: | 5 | Required root node properties: |
6 | - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; | 6 | - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; |
7 | |||
8 | PXA910 DKB Board | ||
9 | Required root node properties: | ||
10 | - compatible = "mrvl,pxa910-dkb"; | ||
11 | |||
12 | MMP2 Brownstone Board | ||
13 | Required root node properties: | ||
14 | - compatible = "mrvl,mmp2-brownstone"; | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt new file mode 100644 index 000000000000..9a6e251462e7 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | * Marvell MMP Timer controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "mrvl,mmp-timer". | ||
5 | - reg : Address and length of the register set of timer controller. | ||
6 | - interrupts : Should be the interrupt number. | ||
7 | |||
8 | Example: | ||
9 | timer0: timer@d4014000 { | ||
10 | compatible = "mrvl,mmp-timer"; | ||
11 | reg = <0xd4014000 0x100>; | ||
12 | interrupts = <13>; | ||
13 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/spear.txt b/Documentation/devicetree/bindings/arm/spear.txt index f8e54f092328..aa5f355cc947 100644 --- a/Documentation/devicetree/bindings/arm/spear.txt +++ b/Documentation/devicetree/bindings/arm/spear.txt | |||
@@ -6,3 +6,21 @@ Boards with the ST SPEAr600 SoC shall have the following properties: | |||
6 | Required root node property: | 6 | Required root node property: |
7 | 7 | ||
8 | compatible = "st,spear600"; | 8 | compatible = "st,spear600"; |
9 | |||
10 | Boards with the ST SPEAr300 SoC shall have the following properties: | ||
11 | |||
12 | Required root node property: | ||
13 | |||
14 | compatible = "st,spear300"; | ||
15 | |||
16 | Boards with the ST SPEAr310 SoC shall have the following properties: | ||
17 | |||
18 | Required root node property: | ||
19 | |||
20 | compatible = "st,spear310"; | ||
21 | |||
22 | Boards with the ST SPEAr320 SoC shall have the following properties: | ||
23 | |||
24 | Required root node property: | ||
25 | |||
26 | compatible = "st,spear320"; | ||
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt new file mode 100644 index 000000000000..c25a0a55151d --- /dev/null +++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | NVIDIA Tegra20 MC(Memory Controller) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-mc" | ||
5 | - reg : Should contain 2 register ranges(address and length); see the | ||
6 | example below. Note that the MC registers are interleaved with the | ||
7 | GART registers, and hence must be represented as multiple ranges. | ||
8 | - interrupts : Should contain MC General interrupt. | ||
9 | |||
10 | Example: | ||
11 | mc { | ||
12 | compatible = "nvidia,tegra20-mc"; | ||
13 | reg = <0x7000f000 0x024 | ||
14 | 0x7000f03c 0x3c4>; | ||
15 | interrupts = <0 77 0x04>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt new file mode 100644 index 000000000000..e47e73f612f4 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | NVIDIA Tegra30 MC(Memory Controller) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra30-mc" | ||
5 | - reg : Should contain 4 register ranges(address and length); see the | ||
6 | example below. Note that the MC registers are interleaved with the | ||
7 | SMMU registers, and hence must be represented as multiple ranges. | ||
8 | - interrupts : Should contain MC General interrupt. | ||
9 | |||
10 | Example: | ||
11 | mc { | ||
12 | compatible = "nvidia,tegra30-mc"; | ||
13 | reg = <0x7000f000 0x010 | ||
14 | 0x7000f03c 0x1b4 | ||
15 | 0x7000f200 0x028 | ||
16 | 0x7000f284 0x17c>; | ||
17 | interrupts = <0 77 0x04>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/calxeda-sata.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index 79caa5651f53..8bb8a76d42e8 100644 --- a/Documentation/devicetree/bindings/ata/calxeda-sata.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | * Calxeda SATA Controller | 1 | * AHCI SATA Controller |
2 | 2 | ||
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. |
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : compatible list, contains "calxeda,hb-ahci" | 7 | - compatible : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci" |
8 | - interrupts : <interrupt mapping for SATA IRQ> | 8 | - interrupts : <interrupt mapping for SATA IRQ> |
9 | - reg : <registers mapping> | 9 | - reg : <registers mapping> |
10 | 10 | ||
@@ -14,4 +14,3 @@ Example: | |||
14 | reg = <0xffe08000 0x1000>; | 14 | reg = <0xffe08000 0x1000>; |
15 | interrupts = <115>; | 15 | interrupts = <115>; |
16 | }; | 16 | }; |
17 | |||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-nmk.txt b/Documentation/devicetree/bindings/gpio/gpio-nmk.txt new file mode 100644 index 000000000000..ee87467ad8d6 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-nmk.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | Nomadik GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "st,nomadik-gpio". | ||
5 | - reg : Physical base address and length of the controller's registers. | ||
6 | - interrupts : The interrupt outputs from the controller. | ||
7 | - #gpio-cells : Should be two: | ||
8 | The first cell is the pin number. | ||
9 | The second cell is used to specify optional parameters: | ||
10 | - bits[3:0] trigger type and level flags: | ||
11 | 1 = low-to-high edge triggered. | ||
12 | 2 = high-to-low edge triggered. | ||
13 | 4 = active high level-sensitive. | ||
14 | 8 = active low level-sensitive. | ||
15 | - gpio-controller : Marks the device node as a GPIO controller. | ||
16 | - interrupt-controller : Marks the device node as an interrupt controller. | ||
17 | - gpio-bank : Specifies which bank a controller owns. | ||
18 | - st,supports-sleepmode : Specifies whether controller can sleep or not | ||
19 | |||
20 | Example: | ||
21 | |||
22 | gpio1: gpio@8012e080 { | ||
23 | compatible = "st,nomadik-gpio"; | ||
24 | reg = <0x8012e080 0x80>; | ||
25 | interrupts = <0 120 0x4>; | ||
26 | #gpio-cells = <2>; | ||
27 | gpio-controller; | ||
28 | interrupt-controller; | ||
29 | supports-sleepmode; | ||
30 | gpio-bank = <1>; | ||
31 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt index 1e34cfe5ebea..05428f39d9ac 100644 --- a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt +++ b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt | |||
@@ -3,19 +3,25 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio" | 4 | - compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio" |
5 | - reg : Address and length of the register set for the device | 5 | - reg : Address and length of the register set for the device |
6 | - interrupts : Should be the port interrupt shared by all gpio pins, if | 6 | - interrupts : Should be the port interrupt shared by all gpio pins. |
7 | - interrupt-name : Should be the name of irq resource. | 7 | There're three gpio interrupts in arch-pxa, and they're gpio0, |
8 | one number. | 8 | gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp, |
9 | gpio_mux. | ||
10 | - interrupt-name : Should be the name of irq resource. Each interrupt | ||
11 | binds its interrupt-name. | ||
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. | ||
9 | - gpio-controller : Marks the device node as a gpio controller. | 15 | - gpio-controller : Marks the device node as a gpio controller. |
10 | - #gpio-cells : Should be one. It is the pin number. | 16 | - #gpio-cells : Should be one. It is the pin number. |
11 | 17 | ||
12 | Example: | 18 | Example: |
13 | 19 | ||
14 | gpio: gpio@d4019000 { | 20 | gpio: gpio@d4019000 { |
15 | compatible = "mrvl,mmp-gpio", "mrvl,pxa-gpio"; | 21 | compatible = "mrvl,mmp-gpio"; |
16 | reg = <0xd4019000 0x1000>; | 22 | reg = <0xd4019000 0x1000>; |
17 | interrupts = <49>, <17>, <18>; | 23 | interrupts = <49>; |
18 | interrupt-name = "gpio_mux", "gpio0", "gpio1"; | 24 | interrupt-name = "gpio_mux"; |
19 | gpio-controller; | 25 | gpio-controller; |
20 | #gpio-cells = <1>; | 26 | #gpio-cells = <1>; |
21 | interrupt-controller; | 27 | interrupt-controller; |
diff --git a/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt b/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt index 071eb3caae91..b891ee218354 100644 --- a/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt +++ b/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt | |||
@@ -3,34 +3,31 @@ | |||
3 | Required properties : | 3 | Required properties : |
4 | 4 | ||
5 | - reg : Offset and length of the register set for the device | 5 | - reg : Offset and length of the register set for the device |
6 | - compatible : should be "mrvl,mmp-twsi" where CHIP is the name of a | 6 | - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a |
7 | compatible processor, e.g. pxa168, pxa910, mmp2, mmp3. | 7 | compatible processor, e.g. pxa168, pxa910, mmp2, mmp3. |
8 | For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required | 8 | For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required |
9 | as shown in the example below. | 9 | as shown in the example below. |
10 | 10 | ||
11 | Recommended properties : | 11 | Recommended properties : |
12 | 12 | ||
13 | - interrupts : <a b> where a is the interrupt number and b is a | 13 | - interrupts : the interrupt number |
14 | field that represents an encoding of the sense and level | ||
15 | information for the interrupt. This should be encoded based on | ||
16 | the information in section 2) depending on the type of interrupt | ||
17 | controller you have. | ||
18 | - interrupt-parent : the phandle for the interrupt controller that | 14 | - interrupt-parent : the phandle for the interrupt controller that |
19 | services interrupts for this device. | 15 | services interrupts for this device. If the parent is the default |
16 | interrupt controller in device tree, it could be ignored. | ||
20 | - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling | 17 | - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling |
21 | status register of i2c controller instead. | 18 | status register of i2c controller instead. |
22 | - mrvl,i2c-fast-mode : Enable fast mode of i2c controller. | 19 | - mrvl,i2c-fast-mode : Enable fast mode of i2c controller. |
23 | 20 | ||
24 | Examples: | 21 | Examples: |
25 | twsi1: i2c@d4011000 { | 22 | twsi1: i2c@d4011000 { |
26 | compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; | 23 | compatible = "mrvl,mmp-twsi"; |
27 | reg = <0xd4011000 0x1000>; | 24 | reg = <0xd4011000 0x1000>; |
28 | interrupts = <7>; | 25 | interrupts = <7>; |
29 | mrvl,i2c-fast-mode; | 26 | mrvl,i2c-fast-mode; |
30 | }; | 27 | }; |
31 | 28 | ||
32 | twsi2: i2c@d4025000 { | 29 | twsi2: i2c@d4025000 { |
33 | compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; | 30 | compatible = "mrvl,mmp-twsi"; |
34 | reg = <0xd4025000 0x1000>; | 31 | reg = <0xd4025000 0x1000>; |
35 | interrupts = <58>; | 32 | interrupts = <58>; |
36 | }; | 33 | }; |
diff --git a/Documentation/devicetree/bindings/i2c/pnx.txt b/Documentation/devicetree/bindings/i2c/pnx.txt new file mode 100644 index 000000000000..fe98ada33ee4 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/pnx.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | * NXP PNX I2C Controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - reg: Offset and length of the register set for the device | ||
6 | - compatible: should be "nxp,pnx-i2c" | ||
7 | - interrupts: configure one interrupt line | ||
8 | - #address-cells: always 1 (for i2c addresses) | ||
9 | - #size-cells: always 0 | ||
10 | - interrupt-parent: the phandle for the interrupt controller that | ||
11 | services interrupts for this device. | ||
12 | |||
13 | Optional properties: | ||
14 | |||
15 | - clock-frequency: desired I2C bus clock frequency in Hz, Default: 100000 Hz | ||
16 | |||
17 | Examples: | ||
18 | |||
19 | i2c1: i2c@400a0000 { | ||
20 | compatible = "nxp,pnx-i2c"; | ||
21 | reg = <0x400a0000 0x100>; | ||
22 | interrupt-parent = <&mic>; | ||
23 | interrupts = <51 0>; | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | }; | ||
27 | |||
28 | i2c2: i2c@400a8000 { | ||
29 | compatible = "nxp,pnx-i2c"; | ||
30 | reg = <0x400a8000 0x100>; | ||
31 | interrupt-parent = <&mic>; | ||
32 | interrupts = <50 0>; | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | clock-frequency = <100000>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/misc/bmp085.txt b/Documentation/devicetree/bindings/misc/bmp085.txt new file mode 100644 index 000000000000..91dfda2e4e11 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/bmp085.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | BMP085/BMP18x digital pressure sensors | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: bosch,bmp085 | ||
5 | |||
6 | Optional properties: | ||
7 | - chip-id: configurable chip id for non-default chip revisions | ||
8 | - temp-measurement-period: temperature measurement period (milliseconds) | ||
9 | - default-oversampling: default oversampling value to be used at startup, | ||
10 | value range is 0-3 with rising sensitivity. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | pressure@77 { | ||
15 | compatible = "bosch,bmp085"; | ||
16 | reg = <0x77>; | ||
17 | chip-id = <10>; | ||
18 | temp-measurement-period = <100>; | ||
19 | default-oversampling = <2>; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/orion-nand.txt b/Documentation/devicetree/bindings/mtd/orion-nand.txt new file mode 100644 index 000000000000..b2356b7d2fa4 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/orion-nand.txt | |||
@@ -0,0 +1,50 @@ | |||
1 | NAND support for Marvell Orion SoC platforms | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "mrvl,orion-nand". | ||
5 | - reg : Base physical address of the NAND and length of memory mapped | ||
6 | region | ||
7 | |||
8 | Optional properties: | ||
9 | - cle : Address line number connected to CLE. Default is 0 | ||
10 | - ale : Address line number connected to ALE. Default is 1 | ||
11 | - bank-width : Width in bytes of the device. Default is 1 | ||
12 | - chip-delay : Chip dependent delay for transferring data from array to read | ||
13 | registers in usecs | ||
14 | |||
15 | The device tree may optionally contain sub-nodes describing partitions of the | ||
16 | address space. See partition.txt for more detail. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | nand@f4000000 { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <1>; | ||
23 | cle = <0>; | ||
24 | ale = <1>; | ||
25 | bank-width = <1>; | ||
26 | chip-delay = <25>; | ||
27 | compatible = "mrvl,orion-nand"; | ||
28 | reg = <0xf4000000 0x400>; | ||
29 | |||
30 | partition@0 { | ||
31 | label = "u-boot"; | ||
32 | reg = <0x0000000 0x100000>; | ||
33 | read-only; | ||
34 | }; | ||
35 | |||
36 | partition@100000 { | ||
37 | label = "uImage"; | ||
38 | reg = <0x0100000 0x200000>; | ||
39 | }; | ||
40 | |||
41 | partition@300000 { | ||
42 | label = "dtb"; | ||
43 | reg = <0x0300000 0x100000>; | ||
44 | }; | ||
45 | |||
46 | partition@400000 { | ||
47 | label = "root"; | ||
48 | reg = <0x0400000 0x7d00000>; | ||
49 | }; | ||
50 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/lpc-eth.txt b/Documentation/devicetree/bindings/net/lpc-eth.txt new file mode 100644 index 000000000000..585021acd178 --- /dev/null +++ b/Documentation/devicetree/bindings/net/lpc-eth.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | * NXP LPC32xx SoC Ethernet Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "nxp,lpc-eth" | ||
5 | - reg: Address and length of the register set for the device | ||
6 | - interrupts: Should contain ethernet controller interrupt | ||
7 | |||
8 | Optional properties: | ||
9 | - phy-mode: String, operation mode of the PHY interface. | ||
10 | Supported values are: "mii", "rmii" (default) | ||
11 | - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering | ||
12 | - local-mac-address : 6 bytes, mac address | ||
13 | |||
14 | Example: | ||
15 | |||
16 | mac: ethernet@31060000 { | ||
17 | compatible = "nxp,lpc-eth"; | ||
18 | reg = <0x31060000 0x1000>; | ||
19 | interrupt-parent = <&mic>; | ||
20 | interrupts = <29 0>; | ||
21 | |||
22 | phy-mode = "rmii"; | ||
23 | use-iram; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt b/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt new file mode 100644 index 000000000000..79384113c2b0 --- /dev/null +++ b/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt | |||
@@ -0,0 +1,127 @@ | |||
1 | Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. | ||
2 | |||
3 | This is a special case of a MDIO bus multiplexer. One or more GPIO | ||
4 | lines are used to control which child bus is connected. | ||
5 | |||
6 | Required properties in addition to the generic multiplexer properties: | ||
7 | |||
8 | - compatible : mdio-mux-gpio. | ||
9 | - gpios : GPIO specifiers for each GPIO line. One or more must be specified. | ||
10 | |||
11 | |||
12 | Example : | ||
13 | |||
14 | /* The parent MDIO bus. */ | ||
15 | smi1: mdio@1180000001900 { | ||
16 | compatible = "cavium,octeon-3860-mdio"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <0>; | ||
19 | reg = <0x11800 0x00001900 0x0 0x40>; | ||
20 | }; | ||
21 | |||
22 | /* | ||
23 | An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a | ||
24 | pair of GPIO lines. Child busses 2 and 3 populated with 4 | ||
25 | PHYs each. | ||
26 | */ | ||
27 | mdio-mux { | ||
28 | compatible = "mdio-mux-gpio"; | ||
29 | gpios = <&gpio1 3 0>, <&gpio1 4 0>; | ||
30 | mdio-parent-bus = <&smi1>; | ||
31 | #address-cells = <1>; | ||
32 | #size-cells = <0>; | ||
33 | |||
34 | mdio@2 { | ||
35 | reg = <2>; | ||
36 | #address-cells = <1>; | ||
37 | #size-cells = <0>; | ||
38 | |||
39 | phy11: ethernet-phy@1 { | ||
40 | reg = <1>; | ||
41 | compatible = "marvell,88e1149r"; | ||
42 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
43 | <3 0x11 0 0x00aa>, | ||
44 | <3 0x12 0 0x4105>, | ||
45 | <3 0x13 0 0x0a60>; | ||
46 | interrupt-parent = <&gpio>; | ||
47 | interrupts = <10 8>; /* Pin 10, active low */ | ||
48 | }; | ||
49 | phy12: ethernet-phy@2 { | ||
50 | reg = <2>; | ||
51 | compatible = "marvell,88e1149r"; | ||
52 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
53 | <3 0x11 0 0x00aa>, | ||
54 | <3 0x12 0 0x4105>, | ||
55 | <3 0x13 0 0x0a60>; | ||
56 | interrupt-parent = <&gpio>; | ||
57 | interrupts = <10 8>; /* Pin 10, active low */ | ||
58 | }; | ||
59 | phy13: ethernet-phy@3 { | ||
60 | reg = <3>; | ||
61 | compatible = "marvell,88e1149r"; | ||
62 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
63 | <3 0x11 0 0x00aa>, | ||
64 | <3 0x12 0 0x4105>, | ||
65 | <3 0x13 0 0x0a60>; | ||
66 | interrupt-parent = <&gpio>; | ||
67 | interrupts = <10 8>; /* Pin 10, active low */ | ||
68 | }; | ||
69 | phy14: ethernet-phy@4 { | ||
70 | reg = <4>; | ||
71 | compatible = "marvell,88e1149r"; | ||
72 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
73 | <3 0x11 0 0x00aa>, | ||
74 | <3 0x12 0 0x4105>, | ||
75 | <3 0x13 0 0x0a60>; | ||
76 | interrupt-parent = <&gpio>; | ||
77 | interrupts = <10 8>; /* Pin 10, active low */ | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | mdio@3 { | ||
82 | reg = <3>; | ||
83 | #address-cells = <1>; | ||
84 | #size-cells = <0>; | ||
85 | |||
86 | phy21: ethernet-phy@1 { | ||
87 | reg = <1>; | ||
88 | compatible = "marvell,88e1149r"; | ||
89 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
90 | <3 0x11 0 0x00aa>, | ||
91 | <3 0x12 0 0x4105>, | ||
92 | <3 0x13 0 0x0a60>; | ||
93 | interrupt-parent = <&gpio>; | ||
94 | interrupts = <12 8>; /* Pin 12, active low */ | ||
95 | }; | ||
96 | phy22: ethernet-phy@2 { | ||
97 | reg = <2>; | ||
98 | compatible = "marvell,88e1149r"; | ||
99 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
100 | <3 0x11 0 0x00aa>, | ||
101 | <3 0x12 0 0x4105>, | ||
102 | <3 0x13 0 0x0a60>; | ||
103 | interrupt-parent = <&gpio>; | ||
104 | interrupts = <12 8>; /* Pin 12, active low */ | ||
105 | }; | ||
106 | phy23: ethernet-phy@3 { | ||
107 | reg = <3>; | ||
108 | compatible = "marvell,88e1149r"; | ||
109 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
110 | <3 0x11 0 0x00aa>, | ||
111 | <3 0x12 0 0x4105>, | ||
112 | <3 0x13 0 0x0a60>; | ||
113 | interrupt-parent = <&gpio>; | ||
114 | interrupts = <12 8>; /* Pin 12, active low */ | ||
115 | }; | ||
116 | phy24: ethernet-phy@4 { | ||
117 | reg = <4>; | ||
118 | compatible = "marvell,88e1149r"; | ||
119 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
120 | <3 0x11 0 0x00aa>, | ||
121 | <3 0x12 0 0x4105>, | ||
122 | <3 0x13 0 0x0a60>; | ||
123 | interrupt-parent = <&gpio>; | ||
124 | interrupts = <12 8>; /* Pin 12, active low */ | ||
125 | }; | ||
126 | }; | ||
127 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/mdio-mux.txt b/Documentation/devicetree/bindings/net/mdio-mux.txt new file mode 100644 index 000000000000..f65606f8d632 --- /dev/null +++ b/Documentation/devicetree/bindings/net/mdio-mux.txt | |||
@@ -0,0 +1,136 @@ | |||
1 | Common MDIO bus multiplexer/switch properties. | ||
2 | |||
3 | An MDIO bus multiplexer/switch will have several child busses that are | ||
4 | numbered uniquely in a device dependent manner. The nodes for an MDIO | ||
5 | bus multiplexer/switch will have one child node for each child bus. | ||
6 | |||
7 | Required properties: | ||
8 | - mdio-parent-bus : phandle to the parent MDIO bus. | ||
9 | - #address-cells = <1>; | ||
10 | - #size-cells = <0>; | ||
11 | |||
12 | Optional properties: | ||
13 | - Other properties specific to the multiplexer/switch hardware. | ||
14 | |||
15 | Required properties for child nodes: | ||
16 | - #address-cells = <1>; | ||
17 | - #size-cells = <0>; | ||
18 | - reg : The sub-bus number. | ||
19 | |||
20 | |||
21 | Example : | ||
22 | |||
23 | /* The parent MDIO bus. */ | ||
24 | smi1: mdio@1180000001900 { | ||
25 | compatible = "cavium,octeon-3860-mdio"; | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <0>; | ||
28 | reg = <0x11800 0x00001900 0x0 0x40>; | ||
29 | }; | ||
30 | |||
31 | /* | ||
32 | An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a | ||
33 | pair of GPIO lines. Child busses 2 and 3 populated with 4 | ||
34 | PHYs each. | ||
35 | */ | ||
36 | mdio-mux { | ||
37 | compatible = "mdio-mux-gpio"; | ||
38 | gpios = <&gpio1 3 0>, <&gpio1 4 0>; | ||
39 | mdio-parent-bus = <&smi1>; | ||
40 | #address-cells = <1>; | ||
41 | #size-cells = <0>; | ||
42 | |||
43 | mdio@2 { | ||
44 | reg = <2>; | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <0>; | ||
47 | |||
48 | phy11: ethernet-phy@1 { | ||
49 | reg = <1>; | ||
50 | compatible = "marvell,88e1149r"; | ||
51 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
52 | <3 0x11 0 0x00aa>, | ||
53 | <3 0x12 0 0x4105>, | ||
54 | <3 0x13 0 0x0a60>; | ||
55 | interrupt-parent = <&gpio>; | ||
56 | interrupts = <10 8>; /* Pin 10, active low */ | ||
57 | }; | ||
58 | phy12: ethernet-phy@2 { | ||
59 | reg = <2>; | ||
60 | compatible = "marvell,88e1149r"; | ||
61 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
62 | <3 0x11 0 0x00aa>, | ||
63 | <3 0x12 0 0x4105>, | ||
64 | <3 0x13 0 0x0a60>; | ||
65 | interrupt-parent = <&gpio>; | ||
66 | interrupts = <10 8>; /* Pin 10, active low */ | ||
67 | }; | ||
68 | phy13: ethernet-phy@3 { | ||
69 | reg = <3>; | ||
70 | compatible = "marvell,88e1149r"; | ||
71 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
72 | <3 0x11 0 0x00aa>, | ||
73 | <3 0x12 0 0x4105>, | ||
74 | <3 0x13 0 0x0a60>; | ||
75 | interrupt-parent = <&gpio>; | ||
76 | interrupts = <10 8>; /* Pin 10, active low */ | ||
77 | }; | ||
78 | phy14: ethernet-phy@4 { | ||
79 | reg = <4>; | ||
80 | compatible = "marvell,88e1149r"; | ||
81 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
82 | <3 0x11 0 0x00aa>, | ||
83 | <3 0x12 0 0x4105>, | ||
84 | <3 0x13 0 0x0a60>; | ||
85 | interrupt-parent = <&gpio>; | ||
86 | interrupts = <10 8>; /* Pin 10, active low */ | ||
87 | }; | ||
88 | }; | ||
89 | |||
90 | mdio@3 { | ||
91 | reg = <3>; | ||
92 | #address-cells = <1>; | ||
93 | #size-cells = <0>; | ||
94 | |||
95 | phy21: ethernet-phy@1 { | ||
96 | reg = <1>; | ||
97 | compatible = "marvell,88e1149r"; | ||
98 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
99 | <3 0x11 0 0x00aa>, | ||
100 | <3 0x12 0 0x4105>, | ||
101 | <3 0x13 0 0x0a60>; | ||
102 | interrupt-parent = <&gpio>; | ||
103 | interrupts = <12 8>; /* Pin 12, active low */ | ||
104 | }; | ||
105 | phy22: ethernet-phy@2 { | ||
106 | reg = <2>; | ||
107 | compatible = "marvell,88e1149r"; | ||
108 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
109 | <3 0x11 0 0x00aa>, | ||
110 | <3 0x12 0 0x4105>, | ||
111 | <3 0x13 0 0x0a60>; | ||
112 | interrupt-parent = <&gpio>; | ||
113 | interrupts = <12 8>; /* Pin 12, active low */ | ||
114 | }; | ||
115 | phy23: ethernet-phy@3 { | ||
116 | reg = <3>; | ||
117 | compatible = "marvell,88e1149r"; | ||
118 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
119 | <3 0x11 0 0x00aa>, | ||
120 | <3 0x12 0 0x4105>, | ||
121 | <3 0x13 0 0x0a60>; | ||
122 | interrupt-parent = <&gpio>; | ||
123 | interrupts = <12 8>; /* Pin 12, active low */ | ||
124 | }; | ||
125 | phy24: ethernet-phy@4 { | ||
126 | reg = <4>; | ||
127 | compatible = "marvell,88e1149r"; | ||
128 | marvell,reg-init = <3 0x10 0 0x5777>, | ||
129 | <3 0x11 0 0x00aa>, | ||
130 | <3 0x12 0 0x4105>, | ||
131 | <3 0x13 0 0x0a60>; | ||
132 | interrupt-parent = <&gpio>; | ||
133 | interrupts = <12 8>; /* Pin 12, active low */ | ||
134 | }; | ||
135 | }; | ||
136 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt new file mode 100644 index 000000000000..ab19e6bc7d3b --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt | |||
@@ -0,0 +1,95 @@ | |||
1 | * Freescale IOMUX Controller (IOMUXC) for i.MX | ||
2 | |||
3 | The IOMUX Controller (IOMUXC), together with the IOMUX, enables the IC | ||
4 | to share one PAD to several functional blocks. The sharing is done by | ||
5 | multiplexing the PAD input/output signals. For each PAD there are up to | ||
6 | 8 muxing options (called ALT modes). Since different modules require | ||
7 | different PAD settings (like pull up, keeper, etc) the IOMUXC controls | ||
8 | also the PAD settings parameters. | ||
9 | |||
10 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
11 | common pinctrl bindings used by client devices, including the meaning of the | ||
12 | phrase "pin configuration node". | ||
13 | |||
14 | Freescale IMX pin configuration node is a node of a group of pins which can be | ||
15 | used for a specific device or function. This node represents both mux and config | ||
16 | of the pins in that group. The 'mux' selects the function mode(also named mux | ||
17 | mode) this pin can work on and the 'config' configures various pad settings | ||
18 | such as pull-up, open drain, drive strength, etc. | ||
19 | |||
20 | Required properties for iomux controller: | ||
21 | - compatible: "fsl,<soc>-iomuxc" | ||
22 | Please refer to each fsl,<soc>-pinctrl.txt binding doc for supported SoCs. | ||
23 | |||
24 | Required properties for pin configuration node: | ||
25 | - fsl,pins: two integers array, represents a group of pins mux and config | ||
26 | setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a | ||
27 | pin working on a specific function, CONFIG is the pad setting value like | ||
28 | pull-up on this pin. Please refer to fsl,<soc>-pinctrl.txt for the valid | ||
29 | pins and functions of each SoC. | ||
30 | |||
31 | Bits used for CONFIG: | ||
32 | NO_PAD_CTL(1 << 31): indicate this pin does not need config. | ||
33 | |||
34 | SION(1 << 30): Software Input On Field. | ||
35 | Force the selected mux mode input path no matter of MUX_MODE functionality. | ||
36 | By default the input path is determined by functionality of the selected | ||
37 | mux mode (regular). | ||
38 | |||
39 | Other bits are used for PAD setting. | ||
40 | Please refer to each fsl,<soc>-pinctrl,txt binding doc for SoC specific part | ||
41 | of bits definitions. | ||
42 | |||
43 | NOTE: | ||
44 | Some requirements for using fsl,imx-pinctrl binding: | ||
45 | 1. We have pin function node defined under iomux controller node to represent | ||
46 | what pinmux functions this SoC supports. | ||
47 | 2. The pin configuration node intends to work on a specific function should | ||
48 | to be defined under that specific function node. | ||
49 | The function node's name should represent well about what function | ||
50 | this group of pins in this pin configuration node are working on. | ||
51 | 3. The driver can use the function node's name and pin configuration node's | ||
52 | name describe the pin function and group hierarchy. | ||
53 | For example, Linux IMX pinctrl driver takes the function node's name | ||
54 | as the function name and pin configuration node's name as group name to | ||
55 | create the map table. | ||
56 | 4. Each pin configuration node should have a phandle, devices can set pins | ||
57 | configurations by referring to the phandle of that pin configuration node. | ||
58 | |||
59 | Examples: | ||
60 | usdhc@0219c000 { /* uSDHC4 */ | ||
61 | fsl,card-wired; | ||
62 | vmmc-supply = <®_3p3v>; | ||
63 | status = "okay"; | ||
64 | pinctrl-names = "default"; | ||
65 | pinctrl-0 = <&pinctrl_usdhc4_1>; | ||
66 | }; | ||
67 | |||
68 | iomuxc@020e0000 { | ||
69 | compatible = "fsl,imx6q-iomuxc"; | ||
70 | reg = <0x020e0000 0x4000>; | ||
71 | |||
72 | /* shared pinctrl settings */ | ||
73 | usdhc4 { | ||
74 | pinctrl_usdhc4_1: usdhc4grp-1 { | ||
75 | fsl,pins = <1386 0x17059 /* MX6Q_PAD_SD4_CMD__USDHC4_CMD */ | ||
76 | 1392 0x10059 /* MX6Q_PAD_SD4_CLK__USDHC4_CLK */ | ||
77 | 1462 0x17059 /* MX6Q_PAD_SD4_DAT0__USDHC4_DAT0 */ | ||
78 | 1470 0x17059 /* MX6Q_PAD_SD4_DAT1__USDHC4_DAT1 */ | ||
79 | 1478 0x17059 /* MX6Q_PAD_SD4_DAT2__USDHC4_DAT2 */ | ||
80 | 1486 0x17059 /* MX6Q_PAD_SD4_DAT3__USDHC4_DAT3 */ | ||
81 | 1493 0x17059 /* MX6Q_PAD_SD4_DAT4__USDHC4_DAT4 */ | ||
82 | 1501 0x17059 /* MX6Q_PAD_SD4_DAT5__USDHC4_DAT5 */ | ||
83 | 1509 0x17059 /* MX6Q_PAD_SD4_DAT6__USDHC4_DAT6 */ | ||
84 | 1517 0x17059>; /* MX6Q_PAD_SD4_DAT7__USDHC4_DAT7 */ | ||
85 | }; | ||
86 | }; | ||
87 | .... | ||
88 | }; | ||
89 | Refer to the IOMUXC controller chapter in imx6q datasheet, | ||
90 | 0x17059 means enable hysteresis, 47KOhm Pull Up, 50Mhz speed, | ||
91 | 80Ohm driver strength and Fast Slew Rate. | ||
92 | User should refer to each SoC spec to set the correct value. | ||
93 | |||
94 | TODO: when dtc macro support is available, we can change above raw data | ||
95 | to dt macro which can get better readability in dts file. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx51-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx51-pinctrl.txt new file mode 100644 index 000000000000..b96fa4c31745 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx51-pinctrl.txt | |||
@@ -0,0 +1,787 @@ | |||
1 | * Freescale IMX51 IOMUX Controller | ||
2 | |||
3 | Please refer to fsl,imx-pinctrl.txt in this directory for common binding part | ||
4 | and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "fsl,imx51-iomuxc" | ||
8 | - fsl,pins: two integers array, represents a group of pins mux and config | ||
9 | setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a | ||
10 | pin working on a specific function, CONFIG is the pad setting value like | ||
11 | pull-up for this pin. Please refer to imx51 datasheet for the valid pad | ||
12 | config settings. | ||
13 | |||
14 | CONFIG bits definition: | ||
15 | PAD_CTL_HVE (1 << 13) | ||
16 | PAD_CTL_HYS (1 << 8) | ||
17 | PAD_CTL_PKE (1 << 7) | ||
18 | PAD_CTL_PUE (1 << 6) | ||
19 | PAD_CTL_PUS_100K_DOWN (0 << 4) | ||
20 | PAD_CTL_PUS_47K_UP (1 << 4) | ||
21 | PAD_CTL_PUS_100K_UP (2 << 4) | ||
22 | PAD_CTL_PUS_22K_UP (3 << 4) | ||
23 | PAD_CTL_ODE (1 << 3) | ||
24 | PAD_CTL_DSE_LOW (0 << 1) | ||
25 | PAD_CTL_DSE_MED (1 << 1) | ||
26 | PAD_CTL_DSE_HIGH (2 << 1) | ||
27 | PAD_CTL_DSE_MAX (3 << 1) | ||
28 | PAD_CTL_SRE_FAST (1 << 0) | ||
29 | PAD_CTL_SRE_SLOW (0 << 0) | ||
30 | |||
31 | See below for available PIN_FUNC_ID for imx51: | ||
32 | MX51_PAD_EIM_D16__AUD4_RXFS 0 | ||
33 | MX51_PAD_EIM_D16__AUD5_TXD 1 | ||
34 | MX51_PAD_EIM_D16__EIM_D16 2 | ||
35 | MX51_PAD_EIM_D16__GPIO2_0 3 | ||
36 | MX51_PAD_EIM_D16__I2C1_SDA 4 | ||
37 | MX51_PAD_EIM_D16__UART2_CTS 5 | ||
38 | MX51_PAD_EIM_D16__USBH2_DATA0 6 | ||
39 | MX51_PAD_EIM_D17__AUD5_RXD 7 | ||
40 | MX51_PAD_EIM_D17__EIM_D17 8 | ||
41 | MX51_PAD_EIM_D17__GPIO2_1 9 | ||
42 | MX51_PAD_EIM_D17__UART2_RXD 10 | ||
43 | MX51_PAD_EIM_D17__UART3_CTS 11 | ||
44 | MX51_PAD_EIM_D17__USBH2_DATA1 12 | ||
45 | MX51_PAD_EIM_D18__AUD5_TXC 13 | ||
46 | MX51_PAD_EIM_D18__EIM_D18 14 | ||
47 | MX51_PAD_EIM_D18__GPIO2_2 15 | ||
48 | MX51_PAD_EIM_D18__UART2_TXD 16 | ||
49 | MX51_PAD_EIM_D18__UART3_RTS 17 | ||
50 | MX51_PAD_EIM_D18__USBH2_DATA2 18 | ||
51 | MX51_PAD_EIM_D19__AUD4_RXC 19 | ||
52 | MX51_PAD_EIM_D19__AUD5_TXFS 20 | ||
53 | MX51_PAD_EIM_D19__EIM_D19 21 | ||
54 | MX51_PAD_EIM_D19__GPIO2_3 22 | ||
55 | MX51_PAD_EIM_D19__I2C1_SCL 23 | ||
56 | MX51_PAD_EIM_D19__UART2_RTS 24 | ||
57 | MX51_PAD_EIM_D19__USBH2_DATA3 25 | ||
58 | MX51_PAD_EIM_D20__AUD4_TXD 26 | ||
59 | MX51_PAD_EIM_D20__EIM_D20 27 | ||
60 | MX51_PAD_EIM_D20__GPIO2_4 28 | ||
61 | MX51_PAD_EIM_D20__SRTC_ALARM_DEB 29 | ||
62 | MX51_PAD_EIM_D20__USBH2_DATA4 30 | ||
63 | MX51_PAD_EIM_D21__AUD4_RXD 31 | ||
64 | MX51_PAD_EIM_D21__EIM_D21 32 | ||
65 | MX51_PAD_EIM_D21__GPIO2_5 33 | ||
66 | MX51_PAD_EIM_D21__SRTC_ALARM_DEB 34 | ||
67 | MX51_PAD_EIM_D21__USBH2_DATA5 35 | ||
68 | MX51_PAD_EIM_D22__AUD4_TXC 36 | ||
69 | MX51_PAD_EIM_D22__EIM_D22 37 | ||
70 | MX51_PAD_EIM_D22__GPIO2_6 38 | ||
71 | MX51_PAD_EIM_D22__USBH2_DATA6 39 | ||
72 | MX51_PAD_EIM_D23__AUD4_TXFS 40 | ||
73 | MX51_PAD_EIM_D23__EIM_D23 41 | ||
74 | MX51_PAD_EIM_D23__GPIO2_7 42 | ||
75 | MX51_PAD_EIM_D23__SPDIF_OUT1 43 | ||
76 | MX51_PAD_EIM_D23__USBH2_DATA7 44 | ||
77 | MX51_PAD_EIM_D24__AUD6_RXFS 45 | ||
78 | MX51_PAD_EIM_D24__EIM_D24 46 | ||
79 | MX51_PAD_EIM_D24__GPIO2_8 47 | ||
80 | MX51_PAD_EIM_D24__I2C2_SDA 48 | ||
81 | MX51_PAD_EIM_D24__UART3_CTS 49 | ||
82 | MX51_PAD_EIM_D24__USBOTG_DATA0 50 | ||
83 | MX51_PAD_EIM_D25__EIM_D25 51 | ||
84 | MX51_PAD_EIM_D25__KEY_COL6 52 | ||
85 | MX51_PAD_EIM_D25__UART2_CTS 53 | ||
86 | MX51_PAD_EIM_D25__UART3_RXD 54 | ||
87 | MX51_PAD_EIM_D25__USBOTG_DATA1 55 | ||
88 | MX51_PAD_EIM_D26__EIM_D26 56 | ||
89 | MX51_PAD_EIM_D26__KEY_COL7 57 | ||
90 | MX51_PAD_EIM_D26__UART2_RTS 58 | ||
91 | MX51_PAD_EIM_D26__UART3_TXD 59 | ||
92 | MX51_PAD_EIM_D26__USBOTG_DATA2 60 | ||
93 | MX51_PAD_EIM_D27__AUD6_RXC 61 | ||
94 | MX51_PAD_EIM_D27__EIM_D27 62 | ||
95 | MX51_PAD_EIM_D27__GPIO2_9 63 | ||
96 | MX51_PAD_EIM_D27__I2C2_SCL 64 | ||
97 | MX51_PAD_EIM_D27__UART3_RTS 65 | ||
98 | MX51_PAD_EIM_D27__USBOTG_DATA3 66 | ||
99 | MX51_PAD_EIM_D28__AUD6_TXD 67 | ||
100 | MX51_PAD_EIM_D28__EIM_D28 68 | ||
101 | MX51_PAD_EIM_D28__KEY_ROW4 69 | ||
102 | MX51_PAD_EIM_D28__USBOTG_DATA4 70 | ||
103 | MX51_PAD_EIM_D29__AUD6_RXD 71 | ||
104 | MX51_PAD_EIM_D29__EIM_D29 72 | ||
105 | MX51_PAD_EIM_D29__KEY_ROW5 73 | ||
106 | MX51_PAD_EIM_D29__USBOTG_DATA5 74 | ||
107 | MX51_PAD_EIM_D30__AUD6_TXC 75 | ||
108 | MX51_PAD_EIM_D30__EIM_D30 76 | ||
109 | MX51_PAD_EIM_D30__KEY_ROW6 77 | ||
110 | MX51_PAD_EIM_D30__USBOTG_DATA6 78 | ||
111 | MX51_PAD_EIM_D31__AUD6_TXFS 79 | ||
112 | MX51_PAD_EIM_D31__EIM_D31 80 | ||
113 | MX51_PAD_EIM_D31__KEY_ROW7 81 | ||
114 | MX51_PAD_EIM_D31__USBOTG_DATA7 82 | ||
115 | MX51_PAD_EIM_A16__EIM_A16 83 | ||
116 | MX51_PAD_EIM_A16__GPIO2_10 84 | ||
117 | MX51_PAD_EIM_A16__OSC_FREQ_SEL0 85 | ||
118 | MX51_PAD_EIM_A17__EIM_A17 86 | ||
119 | MX51_PAD_EIM_A17__GPIO2_11 87 | ||
120 | MX51_PAD_EIM_A17__OSC_FREQ_SEL1 88 | ||
121 | MX51_PAD_EIM_A18__BOOT_LPB0 89 | ||
122 | MX51_PAD_EIM_A18__EIM_A18 90 | ||
123 | MX51_PAD_EIM_A18__GPIO2_12 91 | ||
124 | MX51_PAD_EIM_A19__BOOT_LPB1 92 | ||
125 | MX51_PAD_EIM_A19__EIM_A19 93 | ||
126 | MX51_PAD_EIM_A19__GPIO2_13 94 | ||
127 | MX51_PAD_EIM_A20__BOOT_UART_SRC0 95 | ||
128 | MX51_PAD_EIM_A20__EIM_A20 96 | ||
129 | MX51_PAD_EIM_A20__GPIO2_14 97 | ||
130 | MX51_PAD_EIM_A21__BOOT_UART_SRC1 98 | ||
131 | MX51_PAD_EIM_A21__EIM_A21 99 | ||
132 | MX51_PAD_EIM_A21__GPIO2_15 100 | ||
133 | MX51_PAD_EIM_A22__EIM_A22 101 | ||
134 | MX51_PAD_EIM_A22__GPIO2_16 102 | ||
135 | MX51_PAD_EIM_A23__BOOT_HPN_EN 103 | ||
136 | MX51_PAD_EIM_A23__EIM_A23 104 | ||
137 | MX51_PAD_EIM_A23__GPIO2_17 105 | ||
138 | MX51_PAD_EIM_A24__EIM_A24 106 | ||
139 | MX51_PAD_EIM_A24__GPIO2_18 107 | ||
140 | MX51_PAD_EIM_A24__USBH2_CLK 108 | ||
141 | MX51_PAD_EIM_A25__DISP1_PIN4 109 | ||
142 | MX51_PAD_EIM_A25__EIM_A25 110 | ||
143 | MX51_PAD_EIM_A25__GPIO2_19 111 | ||
144 | MX51_PAD_EIM_A25__USBH2_DIR 112 | ||
145 | MX51_PAD_EIM_A26__CSI1_DATA_EN 113 | ||
146 | MX51_PAD_EIM_A26__DISP2_EXT_CLK 114 | ||
147 | MX51_PAD_EIM_A26__EIM_A26 115 | ||
148 | MX51_PAD_EIM_A26__GPIO2_20 116 | ||
149 | MX51_PAD_EIM_A26__USBH2_STP 117 | ||
150 | MX51_PAD_EIM_A27__CSI2_DATA_EN 118 | ||
151 | MX51_PAD_EIM_A27__DISP1_PIN1 119 | ||
152 | MX51_PAD_EIM_A27__EIM_A27 120 | ||
153 | MX51_PAD_EIM_A27__GPIO2_21 121 | ||
154 | MX51_PAD_EIM_A27__USBH2_NXT 122 | ||
155 | MX51_PAD_EIM_EB0__EIM_EB0 123 | ||
156 | MX51_PAD_EIM_EB1__EIM_EB1 124 | ||
157 | MX51_PAD_EIM_EB2__AUD5_RXFS 125 | ||
158 | MX51_PAD_EIM_EB2__CSI1_D2 126 | ||
159 | MX51_PAD_EIM_EB2__EIM_EB2 127 | ||
160 | MX51_PAD_EIM_EB2__FEC_MDIO 128 | ||
161 | MX51_PAD_EIM_EB2__GPIO2_22 129 | ||
162 | MX51_PAD_EIM_EB2__GPT_CMPOUT1 130 | ||
163 | MX51_PAD_EIM_EB3__AUD5_RXC 131 | ||
164 | MX51_PAD_EIM_EB3__CSI1_D3 132 | ||
165 | MX51_PAD_EIM_EB3__EIM_EB3 133 | ||
166 | MX51_PAD_EIM_EB3__FEC_RDATA1 134 | ||
167 | MX51_PAD_EIM_EB3__GPIO2_23 135 | ||
168 | MX51_PAD_EIM_EB3__GPT_CMPOUT2 136 | ||
169 | MX51_PAD_EIM_OE__EIM_OE 137 | ||
170 | MX51_PAD_EIM_OE__GPIO2_24 138 | ||
171 | MX51_PAD_EIM_CS0__EIM_CS0 139 | ||
172 | MX51_PAD_EIM_CS0__GPIO2_25 140 | ||
173 | MX51_PAD_EIM_CS1__EIM_CS1 141 | ||
174 | MX51_PAD_EIM_CS1__GPIO2_26 142 | ||
175 | MX51_PAD_EIM_CS2__AUD5_TXD 143 | ||
176 | MX51_PAD_EIM_CS2__CSI1_D4 144 | ||
177 | MX51_PAD_EIM_CS2__EIM_CS2 145 | ||
178 | MX51_PAD_EIM_CS2__FEC_RDATA2 146 | ||
179 | MX51_PAD_EIM_CS2__GPIO2_27 147 | ||
180 | MX51_PAD_EIM_CS2__USBOTG_STP 148 | ||
181 | MX51_PAD_EIM_CS3__AUD5_RXD 149 | ||
182 | MX51_PAD_EIM_CS3__CSI1_D5 150 | ||
183 | MX51_PAD_EIM_CS3__EIM_CS3 151 | ||
184 | MX51_PAD_EIM_CS3__FEC_RDATA3 152 | ||
185 | MX51_PAD_EIM_CS3__GPIO2_28 153 | ||
186 | MX51_PAD_EIM_CS3__USBOTG_NXT 154 | ||
187 | MX51_PAD_EIM_CS4__AUD5_TXC 155 | ||
188 | MX51_PAD_EIM_CS4__CSI1_D6 156 | ||
189 | MX51_PAD_EIM_CS4__EIM_CS4 157 | ||
190 | MX51_PAD_EIM_CS4__FEC_RX_ER 158 | ||
191 | MX51_PAD_EIM_CS4__GPIO2_29 159 | ||
192 | MX51_PAD_EIM_CS4__USBOTG_CLK 160 | ||
193 | MX51_PAD_EIM_CS5__AUD5_TXFS 161 | ||
194 | MX51_PAD_EIM_CS5__CSI1_D7 162 | ||
195 | MX51_PAD_EIM_CS5__DISP1_EXT_CLK 163 | ||
196 | MX51_PAD_EIM_CS5__EIM_CS5 164 | ||
197 | MX51_PAD_EIM_CS5__FEC_CRS 165 | ||
198 | MX51_PAD_EIM_CS5__GPIO2_30 166 | ||
199 | MX51_PAD_EIM_CS5__USBOTG_DIR 167 | ||
200 | MX51_PAD_EIM_DTACK__EIM_DTACK 168 | ||
201 | MX51_PAD_EIM_DTACK__GPIO2_31 169 | ||
202 | MX51_PAD_EIM_LBA__EIM_LBA 170 | ||
203 | MX51_PAD_EIM_LBA__GPIO3_1 171 | ||
204 | MX51_PAD_EIM_CRE__EIM_CRE 172 | ||
205 | MX51_PAD_EIM_CRE__GPIO3_2 173 | ||
206 | MX51_PAD_DRAM_CS1__DRAM_CS1 174 | ||
207 | MX51_PAD_NANDF_WE_B__GPIO3_3 175 | ||
208 | MX51_PAD_NANDF_WE_B__NANDF_WE_B 176 | ||
209 | MX51_PAD_NANDF_WE_B__PATA_DIOW 177 | ||
210 | MX51_PAD_NANDF_WE_B__SD3_DATA0 178 | ||
211 | MX51_PAD_NANDF_RE_B__GPIO3_4 179 | ||
212 | MX51_PAD_NANDF_RE_B__NANDF_RE_B 180 | ||
213 | MX51_PAD_NANDF_RE_B__PATA_DIOR 181 | ||
214 | MX51_PAD_NANDF_RE_B__SD3_DATA1 182 | ||
215 | MX51_PAD_NANDF_ALE__GPIO3_5 183 | ||
216 | MX51_PAD_NANDF_ALE__NANDF_ALE 184 | ||
217 | MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 185 | ||
218 | MX51_PAD_NANDF_CLE__GPIO3_6 186 | ||
219 | MX51_PAD_NANDF_CLE__NANDF_CLE 187 | ||
220 | MX51_PAD_NANDF_CLE__PATA_RESET_B 188 | ||
221 | MX51_PAD_NANDF_WP_B__GPIO3_7 189 | ||
222 | MX51_PAD_NANDF_WP_B__NANDF_WP_B 190 | ||
223 | MX51_PAD_NANDF_WP_B__PATA_DMACK 191 | ||
224 | MX51_PAD_NANDF_WP_B__SD3_DATA2 192 | ||
225 | MX51_PAD_NANDF_RB0__ECSPI2_SS1 193 | ||
226 | MX51_PAD_NANDF_RB0__GPIO3_8 194 | ||
227 | MX51_PAD_NANDF_RB0__NANDF_RB0 195 | ||
228 | MX51_PAD_NANDF_RB0__PATA_DMARQ 196 | ||
229 | MX51_PAD_NANDF_RB0__SD3_DATA3 197 | ||
230 | MX51_PAD_NANDF_RB1__CSPI_MOSI 198 | ||
231 | MX51_PAD_NANDF_RB1__ECSPI2_RDY 199 | ||
232 | MX51_PAD_NANDF_RB1__GPIO3_9 200 | ||
233 | MX51_PAD_NANDF_RB1__NANDF_RB1 201 | ||
234 | MX51_PAD_NANDF_RB1__PATA_IORDY 202 | ||
235 | MX51_PAD_NANDF_RB1__SD4_CMD 203 | ||
236 | MX51_PAD_NANDF_RB2__DISP2_WAIT 204 | ||
237 | MX51_PAD_NANDF_RB2__ECSPI2_SCLK 205 | ||
238 | MX51_PAD_NANDF_RB2__FEC_COL 206 | ||
239 | MX51_PAD_NANDF_RB2__GPIO3_10 207 | ||
240 | MX51_PAD_NANDF_RB2__NANDF_RB2 208 | ||
241 | MX51_PAD_NANDF_RB2__USBH3_H3_DP 209 | ||
242 | MX51_PAD_NANDF_RB2__USBH3_NXT 210 | ||
243 | MX51_PAD_NANDF_RB3__DISP1_WAIT 211 | ||
244 | MX51_PAD_NANDF_RB3__ECSPI2_MISO 212 | ||
245 | MX51_PAD_NANDF_RB3__FEC_RX_CLK 213 | ||
246 | MX51_PAD_NANDF_RB3__GPIO3_11 214 | ||
247 | MX51_PAD_NANDF_RB3__NANDF_RB3 215 | ||
248 | MX51_PAD_NANDF_RB3__USBH3_CLK 216 | ||
249 | MX51_PAD_NANDF_RB3__USBH3_H3_DM 217 | ||
250 | MX51_PAD_GPIO_NAND__GPIO_NAND 218 | ||
251 | MX51_PAD_GPIO_NAND__PATA_INTRQ 219 | ||
252 | MX51_PAD_NANDF_CS0__GPIO3_16 220 | ||
253 | MX51_PAD_NANDF_CS0__NANDF_CS0 221 | ||
254 | MX51_PAD_NANDF_CS1__GPIO3_17 222 | ||
255 | MX51_PAD_NANDF_CS1__NANDF_CS1 223 | ||
256 | MX51_PAD_NANDF_CS2__CSPI_SCLK 224 | ||
257 | MX51_PAD_NANDF_CS2__FEC_TX_ER 225 | ||
258 | MX51_PAD_NANDF_CS2__GPIO3_18 226 | ||
259 | MX51_PAD_NANDF_CS2__NANDF_CS2 227 | ||
260 | MX51_PAD_NANDF_CS2__PATA_CS_0 228 | ||
261 | MX51_PAD_NANDF_CS2__SD4_CLK 229 | ||
262 | MX51_PAD_NANDF_CS2__USBH3_H1_DP 230 | ||
263 | MX51_PAD_NANDF_CS3__FEC_MDC 231 | ||
264 | MX51_PAD_NANDF_CS3__GPIO3_19 232 | ||
265 | MX51_PAD_NANDF_CS3__NANDF_CS3 233 | ||
266 | MX51_PAD_NANDF_CS3__PATA_CS_1 234 | ||
267 | MX51_PAD_NANDF_CS3__SD4_DAT0 235 | ||
268 | MX51_PAD_NANDF_CS3__USBH3_H1_DM 236 | ||
269 | MX51_PAD_NANDF_CS4__FEC_TDATA1 237 | ||
270 | MX51_PAD_NANDF_CS4__GPIO3_20 238 | ||
271 | MX51_PAD_NANDF_CS4__NANDF_CS4 239 | ||
272 | MX51_PAD_NANDF_CS4__PATA_DA_0 240 | ||
273 | MX51_PAD_NANDF_CS4__SD4_DAT1 241 | ||
274 | MX51_PAD_NANDF_CS4__USBH3_STP 242 | ||
275 | MX51_PAD_NANDF_CS5__FEC_TDATA2 243 | ||
276 | MX51_PAD_NANDF_CS5__GPIO3_21 244 | ||
277 | MX51_PAD_NANDF_CS5__NANDF_CS5 245 | ||
278 | MX51_PAD_NANDF_CS5__PATA_DA_1 246 | ||
279 | MX51_PAD_NANDF_CS5__SD4_DAT2 247 | ||
280 | MX51_PAD_NANDF_CS5__USBH3_DIR 248 | ||
281 | MX51_PAD_NANDF_CS6__CSPI_SS3 249 | ||
282 | MX51_PAD_NANDF_CS6__FEC_TDATA3 250 | ||
283 | MX51_PAD_NANDF_CS6__GPIO3_22 251 | ||
284 | MX51_PAD_NANDF_CS6__NANDF_CS6 252 | ||
285 | MX51_PAD_NANDF_CS6__PATA_DA_2 253 | ||
286 | MX51_PAD_NANDF_CS6__SD4_DAT3 254 | ||
287 | MX51_PAD_NANDF_CS7__FEC_TX_EN 255 | ||
288 | MX51_PAD_NANDF_CS7__GPIO3_23 256 | ||
289 | MX51_PAD_NANDF_CS7__NANDF_CS7 257 | ||
290 | MX51_PAD_NANDF_CS7__SD3_CLK 258 | ||
291 | MX51_PAD_NANDF_RDY_INT__ECSPI2_SS0 259 | ||
292 | MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 260 | ||
293 | MX51_PAD_NANDF_RDY_INT__GPIO3_24 261 | ||
294 | MX51_PAD_NANDF_RDY_INT__NANDF_RDY_INT 262 | ||
295 | MX51_PAD_NANDF_RDY_INT__SD3_CMD 263 | ||
296 | MX51_PAD_NANDF_D15__ECSPI2_MOSI 264 | ||
297 | MX51_PAD_NANDF_D15__GPIO3_25 265 | ||
298 | MX51_PAD_NANDF_D15__NANDF_D15 266 | ||
299 | MX51_PAD_NANDF_D15__PATA_DATA15 267 | ||
300 | MX51_PAD_NANDF_D15__SD3_DAT7 268 | ||
301 | MX51_PAD_NANDF_D14__ECSPI2_SS3 269 | ||
302 | MX51_PAD_NANDF_D14__GPIO3_26 270 | ||
303 | MX51_PAD_NANDF_D14__NANDF_D14 271 | ||
304 | MX51_PAD_NANDF_D14__PATA_DATA14 272 | ||
305 | MX51_PAD_NANDF_D14__SD3_DAT6 273 | ||
306 | MX51_PAD_NANDF_D13__ECSPI2_SS2 274 | ||
307 | MX51_PAD_NANDF_D13__GPIO3_27 275 | ||
308 | MX51_PAD_NANDF_D13__NANDF_D13 276 | ||
309 | MX51_PAD_NANDF_D13__PATA_DATA13 277 | ||
310 | MX51_PAD_NANDF_D13__SD3_DAT5 278 | ||
311 | MX51_PAD_NANDF_D12__ECSPI2_SS1 279 | ||
312 | MX51_PAD_NANDF_D12__GPIO3_28 280 | ||
313 | MX51_PAD_NANDF_D12__NANDF_D12 281 | ||
314 | MX51_PAD_NANDF_D12__PATA_DATA12 282 | ||
315 | MX51_PAD_NANDF_D12__SD3_DAT4 283 | ||
316 | MX51_PAD_NANDF_D11__FEC_RX_DV 284 | ||
317 | MX51_PAD_NANDF_D11__GPIO3_29 285 | ||
318 | MX51_PAD_NANDF_D11__NANDF_D11 286 | ||
319 | MX51_PAD_NANDF_D11__PATA_DATA11 287 | ||
320 | MX51_PAD_NANDF_D11__SD3_DATA3 288 | ||
321 | MX51_PAD_NANDF_D10__GPIO3_30 289 | ||
322 | MX51_PAD_NANDF_D10__NANDF_D10 290 | ||
323 | MX51_PAD_NANDF_D10__PATA_DATA10 291 | ||
324 | MX51_PAD_NANDF_D10__SD3_DATA2 292 | ||
325 | MX51_PAD_NANDF_D9__FEC_RDATA0 293 | ||
326 | MX51_PAD_NANDF_D9__GPIO3_31 294 | ||
327 | MX51_PAD_NANDF_D9__NANDF_D9 295 | ||
328 | MX51_PAD_NANDF_D9__PATA_DATA9 296 | ||
329 | MX51_PAD_NANDF_D9__SD3_DATA1 297 | ||
330 | MX51_PAD_NANDF_D8__FEC_TDATA0 298 | ||
331 | MX51_PAD_NANDF_D8__GPIO4_0 299 | ||
332 | MX51_PAD_NANDF_D8__NANDF_D8 300 | ||
333 | MX51_PAD_NANDF_D8__PATA_DATA8 301 | ||
334 | MX51_PAD_NANDF_D8__SD3_DATA0 302 | ||
335 | MX51_PAD_NANDF_D7__GPIO4_1 303 | ||
336 | MX51_PAD_NANDF_D7__NANDF_D7 304 | ||
337 | MX51_PAD_NANDF_D7__PATA_DATA7 305 | ||
338 | MX51_PAD_NANDF_D7__USBH3_DATA0 306 | ||
339 | MX51_PAD_NANDF_D6__GPIO4_2 307 | ||
340 | MX51_PAD_NANDF_D6__NANDF_D6 308 | ||
341 | MX51_PAD_NANDF_D6__PATA_DATA6 309 | ||
342 | MX51_PAD_NANDF_D6__SD4_LCTL 310 | ||
343 | MX51_PAD_NANDF_D6__USBH3_DATA1 311 | ||
344 | MX51_PAD_NANDF_D5__GPIO4_3 312 | ||
345 | MX51_PAD_NANDF_D5__NANDF_D5 313 | ||
346 | MX51_PAD_NANDF_D5__PATA_DATA5 314 | ||
347 | MX51_PAD_NANDF_D5__SD4_WP 315 | ||
348 | MX51_PAD_NANDF_D5__USBH3_DATA2 316 | ||
349 | MX51_PAD_NANDF_D4__GPIO4_4 317 | ||
350 | MX51_PAD_NANDF_D4__NANDF_D4 318 | ||
351 | MX51_PAD_NANDF_D4__PATA_DATA4 319 | ||
352 | MX51_PAD_NANDF_D4__SD4_CD 320 | ||
353 | MX51_PAD_NANDF_D4__USBH3_DATA3 321 | ||
354 | MX51_PAD_NANDF_D3__GPIO4_5 322 | ||
355 | MX51_PAD_NANDF_D3__NANDF_D3 323 | ||
356 | MX51_PAD_NANDF_D3__PATA_DATA3 324 | ||
357 | MX51_PAD_NANDF_D3__SD4_DAT4 325 | ||
358 | MX51_PAD_NANDF_D3__USBH3_DATA4 326 | ||
359 | MX51_PAD_NANDF_D2__GPIO4_6 327 | ||
360 | MX51_PAD_NANDF_D2__NANDF_D2 328 | ||
361 | MX51_PAD_NANDF_D2__PATA_DATA2 329 | ||
362 | MX51_PAD_NANDF_D2__SD4_DAT5 330 | ||
363 | MX51_PAD_NANDF_D2__USBH3_DATA5 331 | ||
364 | MX51_PAD_NANDF_D1__GPIO4_7 332 | ||
365 | MX51_PAD_NANDF_D1__NANDF_D1 333 | ||
366 | MX51_PAD_NANDF_D1__PATA_DATA1 334 | ||
367 | MX51_PAD_NANDF_D1__SD4_DAT6 335 | ||
368 | MX51_PAD_NANDF_D1__USBH3_DATA6 336 | ||
369 | MX51_PAD_NANDF_D0__GPIO4_8 337 | ||
370 | MX51_PAD_NANDF_D0__NANDF_D0 338 | ||
371 | MX51_PAD_NANDF_D0__PATA_DATA0 339 | ||
372 | MX51_PAD_NANDF_D0__SD4_DAT7 340 | ||
373 | MX51_PAD_NANDF_D0__USBH3_DATA7 341 | ||
374 | MX51_PAD_CSI1_D8__CSI1_D8 342 | ||
375 | MX51_PAD_CSI1_D8__GPIO3_12 343 | ||
376 | MX51_PAD_CSI1_D9__CSI1_D9 344 | ||
377 | MX51_PAD_CSI1_D9__GPIO3_13 345 | ||
378 | MX51_PAD_CSI1_D10__CSI1_D10 346 | ||
379 | MX51_PAD_CSI1_D11__CSI1_D11 347 | ||
380 | MX51_PAD_CSI1_D12__CSI1_D12 348 | ||
381 | MX51_PAD_CSI1_D13__CSI1_D13 349 | ||
382 | MX51_PAD_CSI1_D14__CSI1_D14 350 | ||
383 | MX51_PAD_CSI1_D15__CSI1_D15 351 | ||
384 | MX51_PAD_CSI1_D16__CSI1_D16 352 | ||
385 | MX51_PAD_CSI1_D17__CSI1_D17 353 | ||
386 | MX51_PAD_CSI1_D18__CSI1_D18 354 | ||
387 | MX51_PAD_CSI1_D19__CSI1_D19 355 | ||
388 | MX51_PAD_CSI1_VSYNC__CSI1_VSYNC 356 | ||
389 | MX51_PAD_CSI1_VSYNC__GPIO3_14 357 | ||
390 | MX51_PAD_CSI1_HSYNC__CSI1_HSYNC 358 | ||
391 | MX51_PAD_CSI1_HSYNC__GPIO3_15 359 | ||
392 | MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK 360 | ||
393 | MX51_PAD_CSI1_MCLK__CSI1_MCLK 361 | ||
394 | MX51_PAD_CSI2_D12__CSI2_D12 362 | ||
395 | MX51_PAD_CSI2_D12__GPIO4_9 363 | ||
396 | MX51_PAD_CSI2_D13__CSI2_D13 364 | ||
397 | MX51_PAD_CSI2_D13__GPIO4_10 365 | ||
398 | MX51_PAD_CSI2_D14__CSI2_D14 366 | ||
399 | MX51_PAD_CSI2_D15__CSI2_D15 367 | ||
400 | MX51_PAD_CSI2_D16__CSI2_D16 368 | ||
401 | MX51_PAD_CSI2_D17__CSI2_D17 369 | ||
402 | MX51_PAD_CSI2_D18__CSI2_D18 370 | ||
403 | MX51_PAD_CSI2_D18__GPIO4_11 371 | ||
404 | MX51_PAD_CSI2_D19__CSI2_D19 372 | ||
405 | MX51_PAD_CSI2_D19__GPIO4_12 373 | ||
406 | MX51_PAD_CSI2_VSYNC__CSI2_VSYNC 374 | ||
407 | MX51_PAD_CSI2_VSYNC__GPIO4_13 375 | ||
408 | MX51_PAD_CSI2_HSYNC__CSI2_HSYNC 376 | ||
409 | MX51_PAD_CSI2_HSYNC__GPIO4_14 377 | ||
410 | MX51_PAD_CSI2_PIXCLK__CSI2_PIXCLK 378 | ||
411 | MX51_PAD_CSI2_PIXCLK__GPIO4_15 379 | ||
412 | MX51_PAD_I2C1_CLK__GPIO4_16 380 | ||
413 | MX51_PAD_I2C1_CLK__I2C1_CLK 381 | ||
414 | MX51_PAD_I2C1_DAT__GPIO4_17 382 | ||
415 | MX51_PAD_I2C1_DAT__I2C1_DAT 383 | ||
416 | MX51_PAD_AUD3_BB_TXD__AUD3_TXD 384 | ||
417 | MX51_PAD_AUD3_BB_TXD__GPIO4_18 385 | ||
418 | MX51_PAD_AUD3_BB_RXD__AUD3_RXD 386 | ||
419 | MX51_PAD_AUD3_BB_RXD__GPIO4_19 387 | ||
420 | MX51_PAD_AUD3_BB_RXD__UART3_RXD 388 | ||
421 | MX51_PAD_AUD3_BB_CK__AUD3_TXC 389 | ||
422 | MX51_PAD_AUD3_BB_CK__GPIO4_20 390 | ||
423 | MX51_PAD_AUD3_BB_FS__AUD3_TXFS 391 | ||
424 | MX51_PAD_AUD3_BB_FS__GPIO4_21 392 | ||
425 | MX51_PAD_AUD3_BB_FS__UART3_TXD 393 | ||
426 | MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 394 | ||
427 | MX51_PAD_CSPI1_MOSI__GPIO4_22 395 | ||
428 | MX51_PAD_CSPI1_MOSI__I2C1_SDA 396 | ||
429 | MX51_PAD_CSPI1_MISO__AUD4_RXD 397 | ||
430 | MX51_PAD_CSPI1_MISO__ECSPI1_MISO 398 | ||
431 | MX51_PAD_CSPI1_MISO__GPIO4_23 399 | ||
432 | MX51_PAD_CSPI1_SS0__AUD4_TXC 400 | ||
433 | MX51_PAD_CSPI1_SS0__ECSPI1_SS0 401 | ||
434 | MX51_PAD_CSPI1_SS0__GPIO4_24 402 | ||
435 | MX51_PAD_CSPI1_SS1__AUD4_TXD 403 | ||
436 | MX51_PAD_CSPI1_SS1__ECSPI1_SS1 404 | ||
437 | MX51_PAD_CSPI1_SS1__GPIO4_25 405 | ||
438 | MX51_PAD_CSPI1_RDY__AUD4_TXFS 406 | ||
439 | MX51_PAD_CSPI1_RDY__ECSPI1_RDY 407 | ||
440 | MX51_PAD_CSPI1_RDY__GPIO4_26 408 | ||
441 | MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 409 | ||
442 | MX51_PAD_CSPI1_SCLK__GPIO4_27 410 | ||
443 | MX51_PAD_CSPI1_SCLK__I2C1_SCL 411 | ||
444 | MX51_PAD_UART1_RXD__GPIO4_28 412 | ||
445 | MX51_PAD_UART1_RXD__UART1_RXD 413 | ||
446 | MX51_PAD_UART1_TXD__GPIO4_29 414 | ||
447 | MX51_PAD_UART1_TXD__PWM2_PWMO 415 | ||
448 | MX51_PAD_UART1_TXD__UART1_TXD 416 | ||
449 | MX51_PAD_UART1_RTS__GPIO4_30 417 | ||
450 | MX51_PAD_UART1_RTS__UART1_RTS 418 | ||
451 | MX51_PAD_UART1_CTS__GPIO4_31 419 | ||
452 | MX51_PAD_UART1_CTS__UART1_CTS 420 | ||
453 | MX51_PAD_UART2_RXD__FIRI_TXD 421 | ||
454 | MX51_PAD_UART2_RXD__GPIO1_20 422 | ||
455 | MX51_PAD_UART2_RXD__UART2_RXD 423 | ||
456 | MX51_PAD_UART2_TXD__FIRI_RXD 424 | ||
457 | MX51_PAD_UART2_TXD__GPIO1_21 425 | ||
458 | MX51_PAD_UART2_TXD__UART2_TXD 426 | ||
459 | MX51_PAD_UART3_RXD__CSI1_D0 427 | ||
460 | MX51_PAD_UART3_RXD__GPIO1_22 428 | ||
461 | MX51_PAD_UART3_RXD__UART1_DTR 429 | ||
462 | MX51_PAD_UART3_RXD__UART3_RXD 430 | ||
463 | MX51_PAD_UART3_TXD__CSI1_D1 431 | ||
464 | MX51_PAD_UART3_TXD__GPIO1_23 432 | ||
465 | MX51_PAD_UART3_TXD__UART1_DSR 433 | ||
466 | MX51_PAD_UART3_TXD__UART3_TXD 434 | ||
467 | MX51_PAD_OWIRE_LINE__GPIO1_24 435 | ||
468 | MX51_PAD_OWIRE_LINE__OWIRE_LINE 436 | ||
469 | MX51_PAD_OWIRE_LINE__SPDIF_OUT 437 | ||
470 | MX51_PAD_KEY_ROW0__KEY_ROW0 438 | ||
471 | MX51_PAD_KEY_ROW1__KEY_ROW1 439 | ||
472 | MX51_PAD_KEY_ROW2__KEY_ROW2 440 | ||
473 | MX51_PAD_KEY_ROW3__KEY_ROW3 441 | ||
474 | MX51_PAD_KEY_COL0__KEY_COL0 442 | ||
475 | MX51_PAD_KEY_COL0__PLL1_BYP 443 | ||
476 | MX51_PAD_KEY_COL1__KEY_COL1 444 | ||
477 | MX51_PAD_KEY_COL1__PLL2_BYP 445 | ||
478 | MX51_PAD_KEY_COL2__KEY_COL2 446 | ||
479 | MX51_PAD_KEY_COL2__PLL3_BYP 447 | ||
480 | MX51_PAD_KEY_COL3__KEY_COL3 448 | ||
481 | MX51_PAD_KEY_COL4__I2C2_SCL 449 | ||
482 | MX51_PAD_KEY_COL4__KEY_COL4 450 | ||
483 | MX51_PAD_KEY_COL4__SPDIF_OUT1 451 | ||
484 | MX51_PAD_KEY_COL4__UART1_RI 452 | ||
485 | MX51_PAD_KEY_COL4__UART3_RTS 453 | ||
486 | MX51_PAD_KEY_COL5__I2C2_SDA 454 | ||
487 | MX51_PAD_KEY_COL5__KEY_COL5 455 | ||
488 | MX51_PAD_KEY_COL5__UART1_DCD 456 | ||
489 | MX51_PAD_KEY_COL5__UART3_CTS 457 | ||
490 | MX51_PAD_USBH1_CLK__CSPI_SCLK 458 | ||
491 | MX51_PAD_USBH1_CLK__GPIO1_25 459 | ||
492 | MX51_PAD_USBH1_CLK__I2C2_SCL 460 | ||
493 | MX51_PAD_USBH1_CLK__USBH1_CLK 461 | ||
494 | MX51_PAD_USBH1_DIR__CSPI_MOSI 462 | ||
495 | MX51_PAD_USBH1_DIR__GPIO1_26 463 | ||
496 | MX51_PAD_USBH1_DIR__I2C2_SDA 464 | ||
497 | MX51_PAD_USBH1_DIR__USBH1_DIR 465 | ||
498 | MX51_PAD_USBH1_STP__CSPI_RDY 466 | ||
499 | MX51_PAD_USBH1_STP__GPIO1_27 467 | ||
500 | MX51_PAD_USBH1_STP__UART3_RXD 468 | ||
501 | MX51_PAD_USBH1_STP__USBH1_STP 469 | ||
502 | MX51_PAD_USBH1_NXT__CSPI_MISO 470 | ||
503 | MX51_PAD_USBH1_NXT__GPIO1_28 471 | ||
504 | MX51_PAD_USBH1_NXT__UART3_TXD 472 | ||
505 | MX51_PAD_USBH1_NXT__USBH1_NXT 473 | ||
506 | MX51_PAD_USBH1_DATA0__GPIO1_11 474 | ||
507 | MX51_PAD_USBH1_DATA0__UART2_CTS 475 | ||
508 | MX51_PAD_USBH1_DATA0__USBH1_DATA0 476 | ||
509 | MX51_PAD_USBH1_DATA1__GPIO1_12 477 | ||
510 | MX51_PAD_USBH1_DATA1__UART2_RXD 478 | ||
511 | MX51_PAD_USBH1_DATA1__USBH1_DATA1 479 | ||
512 | MX51_PAD_USBH1_DATA2__GPIO1_13 480 | ||
513 | MX51_PAD_USBH1_DATA2__UART2_TXD 481 | ||
514 | MX51_PAD_USBH1_DATA2__USBH1_DATA2 482 | ||
515 | MX51_PAD_USBH1_DATA3__GPIO1_14 483 | ||
516 | MX51_PAD_USBH1_DATA3__UART2_RTS 484 | ||
517 | MX51_PAD_USBH1_DATA3__USBH1_DATA3 485 | ||
518 | MX51_PAD_USBH1_DATA4__CSPI_SS0 486 | ||
519 | MX51_PAD_USBH1_DATA4__GPIO1_15 487 | ||
520 | MX51_PAD_USBH1_DATA4__USBH1_DATA4 488 | ||
521 | MX51_PAD_USBH1_DATA5__CSPI_SS1 489 | ||
522 | MX51_PAD_USBH1_DATA5__GPIO1_16 490 | ||
523 | MX51_PAD_USBH1_DATA5__USBH1_DATA5 491 | ||
524 | MX51_PAD_USBH1_DATA6__CSPI_SS3 492 | ||
525 | MX51_PAD_USBH1_DATA6__GPIO1_17 493 | ||
526 | MX51_PAD_USBH1_DATA6__USBH1_DATA6 494 | ||
527 | MX51_PAD_USBH1_DATA7__ECSPI1_SS3 495 | ||
528 | MX51_PAD_USBH1_DATA7__ECSPI2_SS3 496 | ||
529 | MX51_PAD_USBH1_DATA7__GPIO1_18 497 | ||
530 | MX51_PAD_USBH1_DATA7__USBH1_DATA7 498 | ||
531 | MX51_PAD_DI1_PIN11__DI1_PIN11 499 | ||
532 | MX51_PAD_DI1_PIN11__ECSPI1_SS2 500 | ||
533 | MX51_PAD_DI1_PIN11__GPIO3_0 501 | ||
534 | MX51_PAD_DI1_PIN12__DI1_PIN12 502 | ||
535 | MX51_PAD_DI1_PIN12__GPIO3_1 503 | ||
536 | MX51_PAD_DI1_PIN13__DI1_PIN13 504 | ||
537 | MX51_PAD_DI1_PIN13__GPIO3_2 505 | ||
538 | MX51_PAD_DI1_D0_CS__DI1_D0_CS 506 | ||
539 | MX51_PAD_DI1_D0_CS__GPIO3_3 507 | ||
540 | MX51_PAD_DI1_D1_CS__DI1_D1_CS 508 | ||
541 | MX51_PAD_DI1_D1_CS__DISP1_PIN14 509 | ||
542 | MX51_PAD_DI1_D1_CS__DISP1_PIN5 510 | ||
543 | MX51_PAD_DI1_D1_CS__GPIO3_4 511 | ||
544 | MX51_PAD_DISPB2_SER_DIN__DISP1_PIN1 512 | ||
545 | MX51_PAD_DISPB2_SER_DIN__DISPB2_SER_DIN 513 | ||
546 | MX51_PAD_DISPB2_SER_DIN__GPIO3_5 514 | ||
547 | MX51_PAD_DISPB2_SER_DIO__DISP1_PIN6 515 | ||
548 | MX51_PAD_DISPB2_SER_DIO__DISPB2_SER_DIO 516 | ||
549 | MX51_PAD_DISPB2_SER_DIO__GPIO3_6 517 | ||
550 | MX51_PAD_DISPB2_SER_CLK__DISP1_PIN17 518 | ||
551 | MX51_PAD_DISPB2_SER_CLK__DISP1_PIN7 519 | ||
552 | MX51_PAD_DISPB2_SER_CLK__DISPB2_SER_CLK 520 | ||
553 | MX51_PAD_DISPB2_SER_CLK__GPIO3_7 521 | ||
554 | MX51_PAD_DISPB2_SER_RS__DISP1_EXT_CLK 522 | ||
555 | MX51_PAD_DISPB2_SER_RS__DISP1_PIN16 523 | ||
556 | MX51_PAD_DISPB2_SER_RS__DISP1_PIN8 524 | ||
557 | MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS 525 | ||
558 | MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS 526 | ||
559 | MX51_PAD_DISPB2_SER_RS__GPIO3_8 527 | ||
560 | MX51_PAD_DISP1_DAT0__DISP1_DAT0 528 | ||
561 | MX51_PAD_DISP1_DAT1__DISP1_DAT1 529 | ||
562 | MX51_PAD_DISP1_DAT2__DISP1_DAT2 530 | ||
563 | MX51_PAD_DISP1_DAT3__DISP1_DAT3 531 | ||
564 | MX51_PAD_DISP1_DAT4__DISP1_DAT4 532 | ||
565 | MX51_PAD_DISP1_DAT5__DISP1_DAT5 533 | ||
566 | MX51_PAD_DISP1_DAT6__BOOT_USB_SRC 534 | ||
567 | MX51_PAD_DISP1_DAT6__DISP1_DAT6 535 | ||
568 | MX51_PAD_DISP1_DAT7__BOOT_EEPROM_CFG 536 | ||
569 | MX51_PAD_DISP1_DAT7__DISP1_DAT7 537 | ||
570 | MX51_PAD_DISP1_DAT8__BOOT_SRC0 538 | ||
571 | MX51_PAD_DISP1_DAT8__DISP1_DAT8 539 | ||
572 | MX51_PAD_DISP1_DAT9__BOOT_SRC1 540 | ||
573 | MX51_PAD_DISP1_DAT9__DISP1_DAT9 541 | ||
574 | MX51_PAD_DISP1_DAT10__BOOT_SPARE_SIZE 542 | ||
575 | MX51_PAD_DISP1_DAT10__DISP1_DAT10 543 | ||
576 | MX51_PAD_DISP1_DAT11__BOOT_LPB_FREQ2 544 | ||
577 | MX51_PAD_DISP1_DAT11__DISP1_DAT11 545 | ||
578 | MX51_PAD_DISP1_DAT12__BOOT_MLC_SEL 546 | ||
579 | MX51_PAD_DISP1_DAT12__DISP1_DAT12 547 | ||
580 | MX51_PAD_DISP1_DAT13__BOOT_MEM_CTL0 548 | ||
581 | MX51_PAD_DISP1_DAT13__DISP1_DAT13 549 | ||
582 | MX51_PAD_DISP1_DAT14__BOOT_MEM_CTL1 550 | ||
583 | MX51_PAD_DISP1_DAT14__DISP1_DAT14 551 | ||
584 | MX51_PAD_DISP1_DAT15__BOOT_BUS_WIDTH 552 | ||
585 | MX51_PAD_DISP1_DAT15__DISP1_DAT15 553 | ||
586 | MX51_PAD_DISP1_DAT16__BOOT_PAGE_SIZE0 554 | ||
587 | MX51_PAD_DISP1_DAT16__DISP1_DAT16 555 | ||
588 | MX51_PAD_DISP1_DAT17__BOOT_PAGE_SIZE1 556 | ||
589 | MX51_PAD_DISP1_DAT17__DISP1_DAT17 557 | ||
590 | MX51_PAD_DISP1_DAT18__BOOT_WEIM_MUXED0 558 | ||
591 | MX51_PAD_DISP1_DAT18__DISP1_DAT18 559 | ||
592 | MX51_PAD_DISP1_DAT18__DISP2_PIN11 560 | ||
593 | MX51_PAD_DISP1_DAT18__DISP2_PIN5 561 | ||
594 | MX51_PAD_DISP1_DAT19__BOOT_WEIM_MUXED1 562 | ||
595 | MX51_PAD_DISP1_DAT19__DISP1_DAT19 563 | ||
596 | MX51_PAD_DISP1_DAT19__DISP2_PIN12 564 | ||
597 | MX51_PAD_DISP1_DAT19__DISP2_PIN6 565 | ||
598 | MX51_PAD_DISP1_DAT20__BOOT_MEM_TYPE0 566 | ||
599 | MX51_PAD_DISP1_DAT20__DISP1_DAT20 567 | ||
600 | MX51_PAD_DISP1_DAT20__DISP2_PIN13 568 | ||
601 | MX51_PAD_DISP1_DAT20__DISP2_PIN7 569 | ||
602 | MX51_PAD_DISP1_DAT21__BOOT_MEM_TYPE1 570 | ||
603 | MX51_PAD_DISP1_DAT21__DISP1_DAT21 571 | ||
604 | MX51_PAD_DISP1_DAT21__DISP2_PIN14 572 | ||
605 | MX51_PAD_DISP1_DAT21__DISP2_PIN8 573 | ||
606 | MX51_PAD_DISP1_DAT22__BOOT_LPB_FREQ0 574 | ||
607 | MX51_PAD_DISP1_DAT22__DISP1_DAT22 575 | ||
608 | MX51_PAD_DISP1_DAT22__DISP2_D0_CS 576 | ||
609 | MX51_PAD_DISP1_DAT22__DISP2_DAT16 577 | ||
610 | MX51_PAD_DISP1_DAT23__BOOT_LPB_FREQ1 578 | ||
611 | MX51_PAD_DISP1_DAT23__DISP1_DAT23 579 | ||
612 | MX51_PAD_DISP1_DAT23__DISP2_D1_CS 580 | ||
613 | MX51_PAD_DISP1_DAT23__DISP2_DAT17 581 | ||
614 | MX51_PAD_DISP1_DAT23__DISP2_SER_CS 582 | ||
615 | MX51_PAD_DI1_PIN3__DI1_PIN3 583 | ||
616 | MX51_PAD_DI1_PIN2__DI1_PIN2 584 | ||
617 | MX51_PAD_DI_GP2__DISP1_SER_CLK 585 | ||
618 | MX51_PAD_DI_GP2__DISP2_WAIT 586 | ||
619 | MX51_PAD_DI_GP3__CSI1_DATA_EN 587 | ||
620 | MX51_PAD_DI_GP3__DISP1_SER_DIO 588 | ||
621 | MX51_PAD_DI_GP3__FEC_TX_ER 589 | ||
622 | MX51_PAD_DI2_PIN4__CSI2_DATA_EN 590 | ||
623 | MX51_PAD_DI2_PIN4__DI2_PIN4 591 | ||
624 | MX51_PAD_DI2_PIN4__FEC_CRS 592 | ||
625 | MX51_PAD_DI2_PIN2__DI2_PIN2 593 | ||
626 | MX51_PAD_DI2_PIN2__FEC_MDC 594 | ||
627 | MX51_PAD_DI2_PIN3__DI2_PIN3 595 | ||
628 | MX51_PAD_DI2_PIN3__FEC_MDIO 596 | ||
629 | MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 597 | ||
630 | MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 598 | ||
631 | MX51_PAD_DI_GP4__DI2_PIN15 599 | ||
632 | MX51_PAD_DI_GP4__DISP1_SER_DIN 600 | ||
633 | MX51_PAD_DI_GP4__DISP2_PIN1 601 | ||
634 | MX51_PAD_DI_GP4__FEC_RDATA2 602 | ||
635 | MX51_PAD_DISP2_DAT0__DISP2_DAT0 603 | ||
636 | MX51_PAD_DISP2_DAT0__FEC_RDATA3 604 | ||
637 | MX51_PAD_DISP2_DAT0__KEY_COL6 605 | ||
638 | MX51_PAD_DISP2_DAT0__UART3_RXD 606 | ||
639 | MX51_PAD_DISP2_DAT0__USBH3_CLK 607 | ||
640 | MX51_PAD_DISP2_DAT1__DISP2_DAT1 608 | ||
641 | MX51_PAD_DISP2_DAT1__FEC_RX_ER 609 | ||
642 | MX51_PAD_DISP2_DAT1__KEY_COL7 610 | ||
643 | MX51_PAD_DISP2_DAT1__UART3_TXD 611 | ||
644 | MX51_PAD_DISP2_DAT1__USBH3_DIR 612 | ||
645 | MX51_PAD_DISP2_DAT2__DISP2_DAT2 613 | ||
646 | MX51_PAD_DISP2_DAT3__DISP2_DAT3 614 | ||
647 | MX51_PAD_DISP2_DAT4__DISP2_DAT4 615 | ||
648 | MX51_PAD_DISP2_DAT5__DISP2_DAT5 616 | ||
649 | MX51_PAD_DISP2_DAT6__DISP2_DAT6 617 | ||
650 | MX51_PAD_DISP2_DAT6__FEC_TDATA1 618 | ||
651 | MX51_PAD_DISP2_DAT6__GPIO1_19 619 | ||
652 | MX51_PAD_DISP2_DAT6__KEY_ROW4 620 | ||
653 | MX51_PAD_DISP2_DAT6__USBH3_STP 621 | ||
654 | MX51_PAD_DISP2_DAT7__DISP2_DAT7 622 | ||
655 | MX51_PAD_DISP2_DAT7__FEC_TDATA2 623 | ||
656 | MX51_PAD_DISP2_DAT7__GPIO1_29 624 | ||
657 | MX51_PAD_DISP2_DAT7__KEY_ROW5 625 | ||
658 | MX51_PAD_DISP2_DAT7__USBH3_NXT 626 | ||
659 | MX51_PAD_DISP2_DAT8__DISP2_DAT8 627 | ||
660 | MX51_PAD_DISP2_DAT8__FEC_TDATA3 628 | ||
661 | MX51_PAD_DISP2_DAT8__GPIO1_30 629 | ||
662 | MX51_PAD_DISP2_DAT8__KEY_ROW6 630 | ||
663 | MX51_PAD_DISP2_DAT8__USBH3_DATA0 631 | ||
664 | MX51_PAD_DISP2_DAT9__AUD6_RXC 632 | ||
665 | MX51_PAD_DISP2_DAT9__DISP2_DAT9 633 | ||
666 | MX51_PAD_DISP2_DAT9__FEC_TX_EN 634 | ||
667 | MX51_PAD_DISP2_DAT9__GPIO1_31 635 | ||
668 | MX51_PAD_DISP2_DAT9__USBH3_DATA1 636 | ||
669 | MX51_PAD_DISP2_DAT10__DISP2_DAT10 637 | ||
670 | MX51_PAD_DISP2_DAT10__DISP2_SER_CS 638 | ||
671 | MX51_PAD_DISP2_DAT10__FEC_COL 639 | ||
672 | MX51_PAD_DISP2_DAT10__KEY_ROW7 640 | ||
673 | MX51_PAD_DISP2_DAT10__USBH3_DATA2 641 | ||
674 | MX51_PAD_DISP2_DAT11__AUD6_TXD 642 | ||
675 | MX51_PAD_DISP2_DAT11__DISP2_DAT11 643 | ||
676 | MX51_PAD_DISP2_DAT11__FEC_RX_CLK 644 | ||
677 | MX51_PAD_DISP2_DAT11__GPIO1_10 645 | ||
678 | MX51_PAD_DISP2_DAT11__USBH3_DATA3 646 | ||
679 | MX51_PAD_DISP2_DAT12__AUD6_RXD 647 | ||
680 | MX51_PAD_DISP2_DAT12__DISP2_DAT12 648 | ||
681 | MX51_PAD_DISP2_DAT12__FEC_RX_DV 649 | ||
682 | MX51_PAD_DISP2_DAT12__USBH3_DATA4 650 | ||
683 | MX51_PAD_DISP2_DAT13__AUD6_TXC 651 | ||
684 | MX51_PAD_DISP2_DAT13__DISP2_DAT13 652 | ||
685 | MX51_PAD_DISP2_DAT13__FEC_TX_CLK 653 | ||
686 | MX51_PAD_DISP2_DAT13__USBH3_DATA5 654 | ||
687 | MX51_PAD_DISP2_DAT14__AUD6_TXFS 655 | ||
688 | MX51_PAD_DISP2_DAT14__DISP2_DAT14 656 | ||
689 | MX51_PAD_DISP2_DAT14__FEC_RDATA0 657 | ||
690 | MX51_PAD_DISP2_DAT14__USBH3_DATA6 658 | ||
691 | MX51_PAD_DISP2_DAT15__AUD6_RXFS 659 | ||
692 | MX51_PAD_DISP2_DAT15__DISP1_SER_CS 660 | ||
693 | MX51_PAD_DISP2_DAT15__DISP2_DAT15 661 | ||
694 | MX51_PAD_DISP2_DAT15__FEC_TDATA0 662 | ||
695 | MX51_PAD_DISP2_DAT15__USBH3_DATA7 663 | ||
696 | MX51_PAD_SD1_CMD__AUD5_RXFS 664 | ||
697 | MX51_PAD_SD1_CMD__CSPI_MOSI 665 | ||
698 | MX51_PAD_SD1_CMD__SD1_CMD 666 | ||
699 | MX51_PAD_SD1_CLK__AUD5_RXC 667 | ||
700 | MX51_PAD_SD1_CLK__CSPI_SCLK 668 | ||
701 | MX51_PAD_SD1_CLK__SD1_CLK 669 | ||
702 | MX51_PAD_SD1_DATA0__AUD5_TXD 670 | ||
703 | MX51_PAD_SD1_DATA0__CSPI_MISO 671 | ||
704 | MX51_PAD_SD1_DATA0__SD1_DATA0 672 | ||
705 | MX51_PAD_EIM_DA0__EIM_DA0 673 | ||
706 | MX51_PAD_EIM_DA1__EIM_DA1 674 | ||
707 | MX51_PAD_EIM_DA2__EIM_DA2 675 | ||
708 | MX51_PAD_EIM_DA3__EIM_DA3 676 | ||
709 | MX51_PAD_SD1_DATA1__AUD5_RXD 677 | ||
710 | MX51_PAD_SD1_DATA1__SD1_DATA1 678 | ||
711 | MX51_PAD_EIM_DA4__EIM_DA4 679 | ||
712 | MX51_PAD_EIM_DA5__EIM_DA5 680 | ||
713 | MX51_PAD_EIM_DA6__EIM_DA6 681 | ||
714 | MX51_PAD_EIM_DA7__EIM_DA7 682 | ||
715 | MX51_PAD_SD1_DATA2__AUD5_TXC 683 | ||
716 | MX51_PAD_SD1_DATA2__SD1_DATA2 684 | ||
717 | MX51_PAD_EIM_DA10__EIM_DA10 685 | ||
718 | MX51_PAD_EIM_DA11__EIM_DA11 686 | ||
719 | MX51_PAD_EIM_DA8__EIM_DA8 687 | ||
720 | MX51_PAD_EIM_DA9__EIM_DA9 688 | ||
721 | MX51_PAD_SD1_DATA3__AUD5_TXFS 689 | ||
722 | MX51_PAD_SD1_DATA3__CSPI_SS1 690 | ||
723 | MX51_PAD_SD1_DATA3__SD1_DATA3 691 | ||
724 | MX51_PAD_GPIO1_0__CSPI_SS2 692 | ||
725 | MX51_PAD_GPIO1_0__GPIO1_0 693 | ||
726 | MX51_PAD_GPIO1_0__SD1_CD 694 | ||
727 | MX51_PAD_GPIO1_1__CSPI_MISO 695 | ||
728 | MX51_PAD_GPIO1_1__GPIO1_1 696 | ||
729 | MX51_PAD_GPIO1_1__SD1_WP 697 | ||
730 | MX51_PAD_EIM_DA12__EIM_DA12 698 | ||
731 | MX51_PAD_EIM_DA13__EIM_DA13 699 | ||
732 | MX51_PAD_EIM_DA14__EIM_DA14 700 | ||
733 | MX51_PAD_EIM_DA15__EIM_DA15 701 | ||
734 | MX51_PAD_SD2_CMD__CSPI_MOSI 702 | ||
735 | MX51_PAD_SD2_CMD__I2C1_SCL 703 | ||
736 | MX51_PAD_SD2_CMD__SD2_CMD 704 | ||
737 | MX51_PAD_SD2_CLK__CSPI_SCLK 705 | ||
738 | MX51_PAD_SD2_CLK__I2C1_SDA 706 | ||
739 | MX51_PAD_SD2_CLK__SD2_CLK 707 | ||
740 | MX51_PAD_SD2_DATA0__CSPI_MISO 708 | ||
741 | MX51_PAD_SD2_DATA0__SD1_DAT4 709 | ||
742 | MX51_PAD_SD2_DATA0__SD2_DATA0 710 | ||
743 | MX51_PAD_SD2_DATA1__SD1_DAT5 711 | ||
744 | MX51_PAD_SD2_DATA1__SD2_DATA1 712 | ||
745 | MX51_PAD_SD2_DATA1__USBH3_H2_DP 713 | ||
746 | MX51_PAD_SD2_DATA2__SD1_DAT6 714 | ||
747 | MX51_PAD_SD2_DATA2__SD2_DATA2 715 | ||
748 | MX51_PAD_SD2_DATA2__USBH3_H2_DM 716 | ||
749 | MX51_PAD_SD2_DATA3__CSPI_SS2 717 | ||
750 | MX51_PAD_SD2_DATA3__SD1_DAT7 718 | ||
751 | MX51_PAD_SD2_DATA3__SD2_DATA3 719 | ||
752 | MX51_PAD_GPIO1_2__CCM_OUT_2 720 | ||
753 | MX51_PAD_GPIO1_2__GPIO1_2 721 | ||
754 | MX51_PAD_GPIO1_2__I2C2_SCL 722 | ||
755 | MX51_PAD_GPIO1_2__PLL1_BYP 723 | ||
756 | MX51_PAD_GPIO1_2__PWM1_PWMO 724 | ||
757 | MX51_PAD_GPIO1_3__GPIO1_3 725 | ||
758 | MX51_PAD_GPIO1_3__I2C2_SDA 726 | ||
759 | MX51_PAD_GPIO1_3__PLL2_BYP 727 | ||
760 | MX51_PAD_GPIO1_3__PWM2_PWMO 728 | ||
761 | MX51_PAD_PMIC_INT_REQ__PMIC_INT_REQ 729 | ||
762 | MX51_PAD_PMIC_INT_REQ__PMIC_PMU_IRQ_B 730 | ||
763 | MX51_PAD_GPIO1_4__DISP2_EXT_CLK 731 | ||
764 | MX51_PAD_GPIO1_4__EIM_RDY 732 | ||
765 | MX51_PAD_GPIO1_4__GPIO1_4 733 | ||
766 | MX51_PAD_GPIO1_4__WDOG1_WDOG_B 734 | ||
767 | MX51_PAD_GPIO1_5__CSI2_MCLK 735 | ||
768 | MX51_PAD_GPIO1_5__DISP2_PIN16 736 | ||
769 | MX51_PAD_GPIO1_5__GPIO1_5 737 | ||
770 | MX51_PAD_GPIO1_5__WDOG2_WDOG_B 738 | ||
771 | MX51_PAD_GPIO1_6__DISP2_PIN17 739 | ||
772 | MX51_PAD_GPIO1_6__GPIO1_6 740 | ||
773 | MX51_PAD_GPIO1_6__REF_EN_B 741 | ||
774 | MX51_PAD_GPIO1_7__CCM_OUT_0 742 | ||
775 | MX51_PAD_GPIO1_7__GPIO1_7 743 | ||
776 | MX51_PAD_GPIO1_7__SD2_WP 744 | ||
777 | MX51_PAD_GPIO1_7__SPDIF_OUT1 745 | ||
778 | MX51_PAD_GPIO1_8__CSI2_DATA_EN 746 | ||
779 | MX51_PAD_GPIO1_8__GPIO1_8 747 | ||
780 | MX51_PAD_GPIO1_8__SD2_CD 748 | ||
781 | MX51_PAD_GPIO1_8__USBH3_PWR 749 | ||
782 | MX51_PAD_GPIO1_9__CCM_OUT_1 750 | ||
783 | MX51_PAD_GPIO1_9__DISP2_D1_CS 751 | ||
784 | MX51_PAD_GPIO1_9__DISP2_SER_CS 752 | ||
785 | MX51_PAD_GPIO1_9__GPIO1_9 753 | ||
786 | MX51_PAD_GPIO1_9__SD2_LCTL 754 | ||
787 | MX51_PAD_GPIO1_9__USBH3_OC 755 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx53-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx53-pinctrl.txt new file mode 100644 index 000000000000..ca85ca432ef0 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx53-pinctrl.txt | |||
@@ -0,0 +1,1202 @@ | |||
1 | * Freescale IMX53 IOMUX Controller | ||
2 | |||
3 | Please refer to fsl,imx-pinctrl.txt in this directory for common binding part | ||
4 | and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "fsl,imx53-iomuxc" | ||
8 | - fsl,pins: two integers array, represents a group of pins mux and config | ||
9 | setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a | ||
10 | pin working on a specific function, CONFIG is the pad setting value like | ||
11 | pull-up for this pin. Please refer to imx53 datasheet for the valid pad | ||
12 | config settings. | ||
13 | |||
14 | CONFIG bits definition: | ||
15 | PAD_CTL_HVE (1 << 13) | ||
16 | PAD_CTL_HYS (1 << 8) | ||
17 | PAD_CTL_PKE (1 << 7) | ||
18 | PAD_CTL_PUE (1 << 6) | ||
19 | PAD_CTL_PUS_100K_DOWN (0 << 4) | ||
20 | PAD_CTL_PUS_47K_UP (1 << 4) | ||
21 | PAD_CTL_PUS_100K_UP (2 << 4) | ||
22 | PAD_CTL_PUS_22K_UP (3 << 4) | ||
23 | PAD_CTL_ODE (1 << 3) | ||
24 | PAD_CTL_DSE_LOW (0 << 1) | ||
25 | PAD_CTL_DSE_MED (1 << 1) | ||
26 | PAD_CTL_DSE_HIGH (2 << 1) | ||
27 | PAD_CTL_DSE_MAX (3 << 1) | ||
28 | PAD_CTL_SRE_FAST (1 << 0) | ||
29 | PAD_CTL_SRE_SLOW (0 << 0) | ||
30 | |||
31 | See below for available PIN_FUNC_ID for imx53: | ||
32 | MX53_PAD_GPIO_19__KPP_COL_5 0 | ||
33 | MX53_PAD_GPIO_19__GPIO4_5 1 | ||
34 | MX53_PAD_GPIO_19__CCM_CLKO 2 | ||
35 | MX53_PAD_GPIO_19__SPDIF_OUT1 3 | ||
36 | MX53_PAD_GPIO_19__RTC_CE_RTC_EXT_TRIG2 4 | ||
37 | MX53_PAD_GPIO_19__ECSPI1_RDY 5 | ||
38 | MX53_PAD_GPIO_19__FEC_TDATA_3 6 | ||
39 | MX53_PAD_GPIO_19__SRC_INT_BOOT 7 | ||
40 | MX53_PAD_KEY_COL0__KPP_COL_0 8 | ||
41 | MX53_PAD_KEY_COL0__GPIO4_6 9 | ||
42 | MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC 10 | ||
43 | MX53_PAD_KEY_COL0__UART4_TXD_MUX 11 | ||
44 | MX53_PAD_KEY_COL0__ECSPI1_SCLK 12 | ||
45 | MX53_PAD_KEY_COL0__FEC_RDATA_3 13 | ||
46 | MX53_PAD_KEY_COL0__SRC_ANY_PU_RST 14 | ||
47 | MX53_PAD_KEY_ROW0__KPP_ROW_0 15 | ||
48 | MX53_PAD_KEY_ROW0__GPIO4_7 16 | ||
49 | MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 17 | ||
50 | MX53_PAD_KEY_ROW0__UART4_RXD_MUX 18 | ||
51 | MX53_PAD_KEY_ROW0__ECSPI1_MOSI 19 | ||
52 | MX53_PAD_KEY_ROW0__FEC_TX_ER 20 | ||
53 | MX53_PAD_KEY_COL1__KPP_COL_1 21 | ||
54 | MX53_PAD_KEY_COL1__GPIO4_8 22 | ||
55 | MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 23 | ||
56 | MX53_PAD_KEY_COL1__UART5_TXD_MUX 24 | ||
57 | MX53_PAD_KEY_COL1__ECSPI1_MISO 25 | ||
58 | MX53_PAD_KEY_COL1__FEC_RX_CLK 26 | ||
59 | MX53_PAD_KEY_COL1__USBPHY1_TXREADY 27 | ||
60 | MX53_PAD_KEY_ROW1__KPP_ROW_1 28 | ||
61 | MX53_PAD_KEY_ROW1__GPIO4_9 29 | ||
62 | MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 30 | ||
63 | MX53_PAD_KEY_ROW1__UART5_RXD_MUX 31 | ||
64 | MX53_PAD_KEY_ROW1__ECSPI1_SS0 32 | ||
65 | MX53_PAD_KEY_ROW1__FEC_COL 33 | ||
66 | MX53_PAD_KEY_ROW1__USBPHY1_RXVALID 34 | ||
67 | MX53_PAD_KEY_COL2__KPP_COL_2 35 | ||
68 | MX53_PAD_KEY_COL2__GPIO4_10 36 | ||
69 | MX53_PAD_KEY_COL2__CAN1_TXCAN 37 | ||
70 | MX53_PAD_KEY_COL2__FEC_MDIO 38 | ||
71 | MX53_PAD_KEY_COL2__ECSPI1_SS1 39 | ||
72 | MX53_PAD_KEY_COL2__FEC_RDATA_2 40 | ||
73 | MX53_PAD_KEY_COL2__USBPHY1_RXACTIVE 41 | ||
74 | MX53_PAD_KEY_ROW2__KPP_ROW_2 42 | ||
75 | MX53_PAD_KEY_ROW2__GPIO4_11 43 | ||
76 | MX53_PAD_KEY_ROW2__CAN1_RXCAN 44 | ||
77 | MX53_PAD_KEY_ROW2__FEC_MDC 45 | ||
78 | MX53_PAD_KEY_ROW2__ECSPI1_SS2 46 | ||
79 | MX53_PAD_KEY_ROW2__FEC_TDATA_2 47 | ||
80 | MX53_PAD_KEY_ROW2__USBPHY1_RXERROR 48 | ||
81 | MX53_PAD_KEY_COL3__KPP_COL_3 49 | ||
82 | MX53_PAD_KEY_COL3__GPIO4_12 50 | ||
83 | MX53_PAD_KEY_COL3__USBOH3_H2_DP 51 | ||
84 | MX53_PAD_KEY_COL3__SPDIF_IN1 52 | ||
85 | MX53_PAD_KEY_COL3__I2C2_SCL 53 | ||
86 | MX53_PAD_KEY_COL3__ECSPI1_SS3 54 | ||
87 | MX53_PAD_KEY_COL3__FEC_CRS 55 | ||
88 | MX53_PAD_KEY_COL3__USBPHY1_SIECLOCK 56 | ||
89 | MX53_PAD_KEY_ROW3__KPP_ROW_3 57 | ||
90 | MX53_PAD_KEY_ROW3__GPIO4_13 58 | ||
91 | MX53_PAD_KEY_ROW3__USBOH3_H2_DM 59 | ||
92 | MX53_PAD_KEY_ROW3__CCM_ASRC_EXT_CLK 60 | ||
93 | MX53_PAD_KEY_ROW3__I2C2_SDA 61 | ||
94 | MX53_PAD_KEY_ROW3__OSC32K_32K_OUT 62 | ||
95 | MX53_PAD_KEY_ROW3__CCM_PLL4_BYP 63 | ||
96 | MX53_PAD_KEY_ROW3__USBPHY1_LINESTATE_0 64 | ||
97 | MX53_PAD_KEY_COL4__KPP_COL_4 65 | ||
98 | MX53_PAD_KEY_COL4__GPIO4_14 66 | ||
99 | MX53_PAD_KEY_COL4__CAN2_TXCAN 67 | ||
100 | MX53_PAD_KEY_COL4__IPU_SISG_4 68 | ||
101 | MX53_PAD_KEY_COL4__UART5_RTS 69 | ||
102 | MX53_PAD_KEY_COL4__USBOH3_USBOTG_OC 70 | ||
103 | MX53_PAD_KEY_COL4__USBPHY1_LINESTATE_1 71 | ||
104 | MX53_PAD_KEY_ROW4__KPP_ROW_4 72 | ||
105 | MX53_PAD_KEY_ROW4__GPIO4_15 73 | ||
106 | MX53_PAD_KEY_ROW4__CAN2_RXCAN 74 | ||
107 | MX53_PAD_KEY_ROW4__IPU_SISG_5 75 | ||
108 | MX53_PAD_KEY_ROW4__UART5_CTS 76 | ||
109 | MX53_PAD_KEY_ROW4__USBOH3_USBOTG_PWR 77 | ||
110 | MX53_PAD_KEY_ROW4__USBPHY1_VBUSVALID 78 | ||
111 | MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 79 | ||
112 | MX53_PAD_DI0_DISP_CLK__GPIO4_16 80 | ||
113 | MX53_PAD_DI0_DISP_CLK__USBOH3_USBH2_DIR 81 | ||
114 | MX53_PAD_DI0_DISP_CLK__SDMA_DEBUG_CORE_STATE_0 82 | ||
115 | MX53_PAD_DI0_DISP_CLK__EMI_EMI_DEBUG_0 83 | ||
116 | MX53_PAD_DI0_DISP_CLK__USBPHY1_AVALID 84 | ||
117 | MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 85 | ||
118 | MX53_PAD_DI0_PIN15__GPIO4_17 86 | ||
119 | MX53_PAD_DI0_PIN15__AUDMUX_AUD6_TXC 87 | ||
120 | MX53_PAD_DI0_PIN15__SDMA_DEBUG_CORE_STATE_1 88 | ||
121 | MX53_PAD_DI0_PIN15__EMI_EMI_DEBUG_1 89 | ||
122 | MX53_PAD_DI0_PIN15__USBPHY1_BVALID 90 | ||
123 | MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 91 | ||
124 | MX53_PAD_DI0_PIN2__GPIO4_18 92 | ||
125 | MX53_PAD_DI0_PIN2__AUDMUX_AUD6_TXD 93 | ||
126 | MX53_PAD_DI0_PIN2__SDMA_DEBUG_CORE_STATE_2 94 | ||
127 | MX53_PAD_DI0_PIN2__EMI_EMI_DEBUG_2 95 | ||
128 | MX53_PAD_DI0_PIN2__USBPHY1_ENDSESSION 96 | ||
129 | MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 97 | ||
130 | MX53_PAD_DI0_PIN3__GPIO4_19 98 | ||
131 | MX53_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS 99 | ||
132 | MX53_PAD_DI0_PIN3__SDMA_DEBUG_CORE_STATE_3 100 | ||
133 | MX53_PAD_DI0_PIN3__EMI_EMI_DEBUG_3 101 | ||
134 | MX53_PAD_DI0_PIN3__USBPHY1_IDDIG 102 | ||
135 | MX53_PAD_DI0_PIN4__IPU_DI0_PIN4 103 | ||
136 | MX53_PAD_DI0_PIN4__GPIO4_20 104 | ||
137 | MX53_PAD_DI0_PIN4__AUDMUX_AUD6_RXD 105 | ||
138 | MX53_PAD_DI0_PIN4__ESDHC1_WP 106 | ||
139 | MX53_PAD_DI0_PIN4__SDMA_DEBUG_YIELD 107 | ||
140 | MX53_PAD_DI0_PIN4__EMI_EMI_DEBUG_4 108 | ||
141 | MX53_PAD_DI0_PIN4__USBPHY1_HOSTDISCONNECT 109 | ||
142 | MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 110 | ||
143 | MX53_PAD_DISP0_DAT0__GPIO4_21 111 | ||
144 | MX53_PAD_DISP0_DAT0__CSPI_SCLK 112 | ||
145 | MX53_PAD_DISP0_DAT0__USBOH3_USBH2_DATA_0 113 | ||
146 | MX53_PAD_DISP0_DAT0__SDMA_DEBUG_CORE_RUN 114 | ||
147 | MX53_PAD_DISP0_DAT0__EMI_EMI_DEBUG_5 115 | ||
148 | MX53_PAD_DISP0_DAT0__USBPHY2_TXREADY 116 | ||
149 | MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 117 | ||
150 | MX53_PAD_DISP0_DAT1__GPIO4_22 118 | ||
151 | MX53_PAD_DISP0_DAT1__CSPI_MOSI 119 | ||
152 | MX53_PAD_DISP0_DAT1__USBOH3_USBH2_DATA_1 120 | ||
153 | MX53_PAD_DISP0_DAT1__SDMA_DEBUG_EVENT_CHANNEL_SEL 121 | ||
154 | MX53_PAD_DISP0_DAT1__EMI_EMI_DEBUG_6 122 | ||
155 | MX53_PAD_DISP0_DAT1__USBPHY2_RXVALID 123 | ||
156 | MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 124 | ||
157 | MX53_PAD_DISP0_DAT2__GPIO4_23 125 | ||
158 | MX53_PAD_DISP0_DAT2__CSPI_MISO 126 | ||
159 | MX53_PAD_DISP0_DAT2__USBOH3_USBH2_DATA_2 127 | ||
160 | MX53_PAD_DISP0_DAT2__SDMA_DEBUG_MODE 128 | ||
161 | MX53_PAD_DISP0_DAT2__EMI_EMI_DEBUG_7 129 | ||
162 | MX53_PAD_DISP0_DAT2__USBPHY2_RXACTIVE 130 | ||
163 | MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 131 | ||
164 | MX53_PAD_DISP0_DAT3__GPIO4_24 132 | ||
165 | MX53_PAD_DISP0_DAT3__CSPI_SS0 133 | ||
166 | MX53_PAD_DISP0_DAT3__USBOH3_USBH2_DATA_3 134 | ||
167 | MX53_PAD_DISP0_DAT3__SDMA_DEBUG_BUS_ERROR 135 | ||
168 | MX53_PAD_DISP0_DAT3__EMI_EMI_DEBUG_8 136 | ||
169 | MX53_PAD_DISP0_DAT3__USBPHY2_RXERROR 137 | ||
170 | MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 138 | ||
171 | MX53_PAD_DISP0_DAT4__GPIO4_25 139 | ||
172 | MX53_PAD_DISP0_DAT4__CSPI_SS1 140 | ||
173 | MX53_PAD_DISP0_DAT4__USBOH3_USBH2_DATA_4 141 | ||
174 | MX53_PAD_DISP0_DAT4__SDMA_DEBUG_BUS_RWB 142 | ||
175 | MX53_PAD_DISP0_DAT4__EMI_EMI_DEBUG_9 143 | ||
176 | MX53_PAD_DISP0_DAT4__USBPHY2_SIECLOCK 144 | ||
177 | MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 145 | ||
178 | MX53_PAD_DISP0_DAT5__GPIO4_26 146 | ||
179 | MX53_PAD_DISP0_DAT5__CSPI_SS2 147 | ||
180 | MX53_PAD_DISP0_DAT5__USBOH3_USBH2_DATA_5 148 | ||
181 | MX53_PAD_DISP0_DAT5__SDMA_DEBUG_MATCHED_DMBUS 149 | ||
182 | MX53_PAD_DISP0_DAT5__EMI_EMI_DEBUG_10 150 | ||
183 | MX53_PAD_DISP0_DAT5__USBPHY2_LINESTATE_0 151 | ||
184 | MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 152 | ||
185 | MX53_PAD_DISP0_DAT6__GPIO4_27 153 | ||
186 | MX53_PAD_DISP0_DAT6__CSPI_SS3 154 | ||
187 | MX53_PAD_DISP0_DAT6__USBOH3_USBH2_DATA_6 155 | ||
188 | MX53_PAD_DISP0_DAT6__SDMA_DEBUG_RTBUFFER_WRITE 156 | ||
189 | MX53_PAD_DISP0_DAT6__EMI_EMI_DEBUG_11 157 | ||
190 | MX53_PAD_DISP0_DAT6__USBPHY2_LINESTATE_1 158 | ||
191 | MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 159 | ||
192 | MX53_PAD_DISP0_DAT7__GPIO4_28 160 | ||
193 | MX53_PAD_DISP0_DAT7__CSPI_RDY 161 | ||
194 | MX53_PAD_DISP0_DAT7__USBOH3_USBH2_DATA_7 162 | ||
195 | MX53_PAD_DISP0_DAT7__SDMA_DEBUG_EVENT_CHANNEL_0 163 | ||
196 | MX53_PAD_DISP0_DAT7__EMI_EMI_DEBUG_12 164 | ||
197 | MX53_PAD_DISP0_DAT7__USBPHY2_VBUSVALID 165 | ||
198 | MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 166 | ||
199 | MX53_PAD_DISP0_DAT8__GPIO4_29 167 | ||
200 | MX53_PAD_DISP0_DAT8__PWM1_PWMO 168 | ||
201 | MX53_PAD_DISP0_DAT8__WDOG1_WDOG_B 169 | ||
202 | MX53_PAD_DISP0_DAT8__SDMA_DEBUG_EVENT_CHANNEL_1 170 | ||
203 | MX53_PAD_DISP0_DAT8__EMI_EMI_DEBUG_13 171 | ||
204 | MX53_PAD_DISP0_DAT8__USBPHY2_AVALID 172 | ||
205 | MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 173 | ||
206 | MX53_PAD_DISP0_DAT9__GPIO4_30 174 | ||
207 | MX53_PAD_DISP0_DAT9__PWM2_PWMO 175 | ||
208 | MX53_PAD_DISP0_DAT9__WDOG2_WDOG_B 176 | ||
209 | MX53_PAD_DISP0_DAT9__SDMA_DEBUG_EVENT_CHANNEL_2 177 | ||
210 | MX53_PAD_DISP0_DAT9__EMI_EMI_DEBUG_14 178 | ||
211 | MX53_PAD_DISP0_DAT9__USBPHY2_VSTATUS_0 179 | ||
212 | MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 180 | ||
213 | MX53_PAD_DISP0_DAT10__GPIO4_31 181 | ||
214 | MX53_PAD_DISP0_DAT10__USBOH3_USBH2_STP 182 | ||
215 | MX53_PAD_DISP0_DAT10__SDMA_DEBUG_EVENT_CHANNEL_3 183 | ||
216 | MX53_PAD_DISP0_DAT10__EMI_EMI_DEBUG_15 184 | ||
217 | MX53_PAD_DISP0_DAT10__USBPHY2_VSTATUS_1 185 | ||
218 | MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 186 | ||
219 | MX53_PAD_DISP0_DAT11__GPIO5_5 187 | ||
220 | MX53_PAD_DISP0_DAT11__USBOH3_USBH2_NXT 188 | ||
221 | MX53_PAD_DISP0_DAT11__SDMA_DEBUG_EVENT_CHANNEL_4 189 | ||
222 | MX53_PAD_DISP0_DAT11__EMI_EMI_DEBUG_16 190 | ||
223 | MX53_PAD_DISP0_DAT11__USBPHY2_VSTATUS_2 191 | ||
224 | MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 192 | ||
225 | MX53_PAD_DISP0_DAT12__GPIO5_6 193 | ||
226 | MX53_PAD_DISP0_DAT12__USBOH3_USBH2_CLK 194 | ||
227 | MX53_PAD_DISP0_DAT12__SDMA_DEBUG_EVENT_CHANNEL_5 195 | ||
228 | MX53_PAD_DISP0_DAT12__EMI_EMI_DEBUG_17 196 | ||
229 | MX53_PAD_DISP0_DAT12__USBPHY2_VSTATUS_3 197 | ||
230 | MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 198 | ||
231 | MX53_PAD_DISP0_DAT13__GPIO5_7 199 | ||
232 | MX53_PAD_DISP0_DAT13__AUDMUX_AUD5_RXFS 200 | ||
233 | MX53_PAD_DISP0_DAT13__SDMA_DEBUG_EVT_CHN_LINES_0 201 | ||
234 | MX53_PAD_DISP0_DAT13__EMI_EMI_DEBUG_18 202 | ||
235 | MX53_PAD_DISP0_DAT13__USBPHY2_VSTATUS_4 203 | ||
236 | MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 204 | ||
237 | MX53_PAD_DISP0_DAT14__GPIO5_8 205 | ||
238 | MX53_PAD_DISP0_DAT14__AUDMUX_AUD5_RXC 206 | ||
239 | MX53_PAD_DISP0_DAT14__SDMA_DEBUG_EVT_CHN_LINES_1 207 | ||
240 | MX53_PAD_DISP0_DAT14__EMI_EMI_DEBUG_19 208 | ||
241 | MX53_PAD_DISP0_DAT14__USBPHY2_VSTATUS_5 209 | ||
242 | MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 210 | ||
243 | MX53_PAD_DISP0_DAT15__GPIO5_9 211 | ||
244 | MX53_PAD_DISP0_DAT15__ECSPI1_SS1 212 | ||
245 | MX53_PAD_DISP0_DAT15__ECSPI2_SS1 213 | ||
246 | MX53_PAD_DISP0_DAT15__SDMA_DEBUG_EVT_CHN_LINES_2 214 | ||
247 | MX53_PAD_DISP0_DAT15__EMI_EMI_DEBUG_20 215 | ||
248 | MX53_PAD_DISP0_DAT15__USBPHY2_VSTATUS_6 216 | ||
249 | MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 217 | ||
250 | MX53_PAD_DISP0_DAT16__GPIO5_10 218 | ||
251 | MX53_PAD_DISP0_DAT16__ECSPI2_MOSI 219 | ||
252 | MX53_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC 220 | ||
253 | MX53_PAD_DISP0_DAT16__SDMA_EXT_EVENT_0 221 | ||
254 | MX53_PAD_DISP0_DAT16__SDMA_DEBUG_EVT_CHN_LINES_3 222 | ||
255 | MX53_PAD_DISP0_DAT16__EMI_EMI_DEBUG_21 223 | ||
256 | MX53_PAD_DISP0_DAT16__USBPHY2_VSTATUS_7 224 | ||
257 | MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 225 | ||
258 | MX53_PAD_DISP0_DAT17__GPIO5_11 226 | ||
259 | MX53_PAD_DISP0_DAT17__ECSPI2_MISO 227 | ||
260 | MX53_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD 228 | ||
261 | MX53_PAD_DISP0_DAT17__SDMA_EXT_EVENT_1 229 | ||
262 | MX53_PAD_DISP0_DAT17__SDMA_DEBUG_EVT_CHN_LINES_4 230 | ||
263 | MX53_PAD_DISP0_DAT17__EMI_EMI_DEBUG_22 231 | ||
264 | MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 232 | ||
265 | MX53_PAD_DISP0_DAT18__GPIO5_12 233 | ||
266 | MX53_PAD_DISP0_DAT18__ECSPI2_SS0 234 | ||
267 | MX53_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS 235 | ||
268 | MX53_PAD_DISP0_DAT18__AUDMUX_AUD4_RXFS 236 | ||
269 | MX53_PAD_DISP0_DAT18__SDMA_DEBUG_EVT_CHN_LINES_5 237 | ||
270 | MX53_PAD_DISP0_DAT18__EMI_EMI_DEBUG_23 238 | ||
271 | MX53_PAD_DISP0_DAT18__EMI_WEIM_CS_2 239 | ||
272 | MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 240 | ||
273 | MX53_PAD_DISP0_DAT19__GPIO5_13 241 | ||
274 | MX53_PAD_DISP0_DAT19__ECSPI2_SCLK 242 | ||
275 | MX53_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD 243 | ||
276 | MX53_PAD_DISP0_DAT19__AUDMUX_AUD4_RXC 244 | ||
277 | MX53_PAD_DISP0_DAT19__SDMA_DEBUG_EVT_CHN_LINES_6 245 | ||
278 | MX53_PAD_DISP0_DAT19__EMI_EMI_DEBUG_24 246 | ||
279 | MX53_PAD_DISP0_DAT19__EMI_WEIM_CS_3 247 | ||
280 | MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 248 | ||
281 | MX53_PAD_DISP0_DAT20__GPIO5_14 249 | ||
282 | MX53_PAD_DISP0_DAT20__ECSPI1_SCLK 250 | ||
283 | MX53_PAD_DISP0_DAT20__AUDMUX_AUD4_TXC 251 | ||
284 | MX53_PAD_DISP0_DAT20__SDMA_DEBUG_EVT_CHN_LINES_7 252 | ||
285 | MX53_PAD_DISP0_DAT20__EMI_EMI_DEBUG_25 253 | ||
286 | MX53_PAD_DISP0_DAT20__SATA_PHY_TDI 254 | ||
287 | MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 255 | ||
288 | MX53_PAD_DISP0_DAT21__GPIO5_15 256 | ||
289 | MX53_PAD_DISP0_DAT21__ECSPI1_MOSI 257 | ||
290 | MX53_PAD_DISP0_DAT21__AUDMUX_AUD4_TXD 258 | ||
291 | MX53_PAD_DISP0_DAT21__SDMA_DEBUG_BUS_DEVICE_0 259 | ||
292 | MX53_PAD_DISP0_DAT21__EMI_EMI_DEBUG_26 260 | ||
293 | MX53_PAD_DISP0_DAT21__SATA_PHY_TDO 261 | ||
294 | MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 262 | ||
295 | MX53_PAD_DISP0_DAT22__GPIO5_16 263 | ||
296 | MX53_PAD_DISP0_DAT22__ECSPI1_MISO 264 | ||
297 | MX53_PAD_DISP0_DAT22__AUDMUX_AUD4_TXFS 265 | ||
298 | MX53_PAD_DISP0_DAT22__SDMA_DEBUG_BUS_DEVICE_1 266 | ||
299 | MX53_PAD_DISP0_DAT22__EMI_EMI_DEBUG_27 267 | ||
300 | MX53_PAD_DISP0_DAT22__SATA_PHY_TCK 268 | ||
301 | MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 269 | ||
302 | MX53_PAD_DISP0_DAT23__GPIO5_17 270 | ||
303 | MX53_PAD_DISP0_DAT23__ECSPI1_SS0 271 | ||
304 | MX53_PAD_DISP0_DAT23__AUDMUX_AUD4_RXD 272 | ||
305 | MX53_PAD_DISP0_DAT23__SDMA_DEBUG_BUS_DEVICE_2 273 | ||
306 | MX53_PAD_DISP0_DAT23__EMI_EMI_DEBUG_28 274 | ||
307 | MX53_PAD_DISP0_DAT23__SATA_PHY_TMS 275 | ||
308 | MX53_PAD_CSI0_PIXCLK__IPU_CSI0_PIXCLK 276 | ||
309 | MX53_PAD_CSI0_PIXCLK__GPIO5_18 277 | ||
310 | MX53_PAD_CSI0_PIXCLK__SDMA_DEBUG_PC_0 278 | ||
311 | MX53_PAD_CSI0_PIXCLK__EMI_EMI_DEBUG_29 279 | ||
312 | MX53_PAD_CSI0_MCLK__IPU_CSI0_HSYNC 280 | ||
313 | MX53_PAD_CSI0_MCLK__GPIO5_19 281 | ||
314 | MX53_PAD_CSI0_MCLK__CCM_CSI0_MCLK 282 | ||
315 | MX53_PAD_CSI0_MCLK__SDMA_DEBUG_PC_1 283 | ||
316 | MX53_PAD_CSI0_MCLK__EMI_EMI_DEBUG_30 284 | ||
317 | MX53_PAD_CSI0_MCLK__TPIU_TRCTL 285 | ||
318 | MX53_PAD_CSI0_DATA_EN__IPU_CSI0_DATA_EN 286 | ||
319 | MX53_PAD_CSI0_DATA_EN__GPIO5_20 287 | ||
320 | MX53_PAD_CSI0_DATA_EN__SDMA_DEBUG_PC_2 288 | ||
321 | MX53_PAD_CSI0_DATA_EN__EMI_EMI_DEBUG_31 289 | ||
322 | MX53_PAD_CSI0_DATA_EN__TPIU_TRCLK 290 | ||
323 | MX53_PAD_CSI0_VSYNC__IPU_CSI0_VSYNC 291 | ||
324 | MX53_PAD_CSI0_VSYNC__GPIO5_21 292 | ||
325 | MX53_PAD_CSI0_VSYNC__SDMA_DEBUG_PC_3 293 | ||
326 | MX53_PAD_CSI0_VSYNC__EMI_EMI_DEBUG_32 294 | ||
327 | MX53_PAD_CSI0_VSYNC__TPIU_TRACE_0 295 | ||
328 | MX53_PAD_CSI0_DAT4__IPU_CSI0_D_4 296 | ||
329 | MX53_PAD_CSI0_DAT4__GPIO5_22 297 | ||
330 | MX53_PAD_CSI0_DAT4__KPP_COL_5 298 | ||
331 | MX53_PAD_CSI0_DAT4__ECSPI1_SCLK 299 | ||
332 | MX53_PAD_CSI0_DAT4__USBOH3_USBH3_STP 300 | ||
333 | MX53_PAD_CSI0_DAT4__AUDMUX_AUD3_TXC 301 | ||
334 | MX53_PAD_CSI0_DAT4__EMI_EMI_DEBUG_33 302 | ||
335 | MX53_PAD_CSI0_DAT4__TPIU_TRACE_1 303 | ||
336 | MX53_PAD_CSI0_DAT5__IPU_CSI0_D_5 304 | ||
337 | MX53_PAD_CSI0_DAT5__GPIO5_23 305 | ||
338 | MX53_PAD_CSI0_DAT5__KPP_ROW_5 306 | ||
339 | MX53_PAD_CSI0_DAT5__ECSPI1_MOSI 307 | ||
340 | MX53_PAD_CSI0_DAT5__USBOH3_USBH3_NXT 308 | ||
341 | MX53_PAD_CSI0_DAT5__AUDMUX_AUD3_TXD 309 | ||
342 | MX53_PAD_CSI0_DAT5__EMI_EMI_DEBUG_34 310 | ||
343 | MX53_PAD_CSI0_DAT5__TPIU_TRACE_2 311 | ||
344 | MX53_PAD_CSI0_DAT6__IPU_CSI0_D_6 312 | ||
345 | MX53_PAD_CSI0_DAT6__GPIO5_24 313 | ||
346 | MX53_PAD_CSI0_DAT6__KPP_COL_6 314 | ||
347 | MX53_PAD_CSI0_DAT6__ECSPI1_MISO 315 | ||
348 | MX53_PAD_CSI0_DAT6__USBOH3_USBH3_CLK 316 | ||
349 | MX53_PAD_CSI0_DAT6__AUDMUX_AUD3_TXFS 317 | ||
350 | MX53_PAD_CSI0_DAT6__EMI_EMI_DEBUG_35 318 | ||
351 | MX53_PAD_CSI0_DAT6__TPIU_TRACE_3 319 | ||
352 | MX53_PAD_CSI0_DAT7__IPU_CSI0_D_7 320 | ||
353 | MX53_PAD_CSI0_DAT7__GPIO5_25 321 | ||
354 | MX53_PAD_CSI0_DAT7__KPP_ROW_6 322 | ||
355 | MX53_PAD_CSI0_DAT7__ECSPI1_SS0 323 | ||
356 | MX53_PAD_CSI0_DAT7__USBOH3_USBH3_DIR 324 | ||
357 | MX53_PAD_CSI0_DAT7__AUDMUX_AUD3_RXD 325 | ||
358 | MX53_PAD_CSI0_DAT7__EMI_EMI_DEBUG_36 326 | ||
359 | MX53_PAD_CSI0_DAT7__TPIU_TRACE_4 327 | ||
360 | MX53_PAD_CSI0_DAT8__IPU_CSI0_D_8 328 | ||
361 | MX53_PAD_CSI0_DAT8__GPIO5_26 329 | ||
362 | MX53_PAD_CSI0_DAT8__KPP_COL_7 330 | ||
363 | MX53_PAD_CSI0_DAT8__ECSPI2_SCLK 331 | ||
364 | MX53_PAD_CSI0_DAT8__USBOH3_USBH3_OC 332 | ||
365 | MX53_PAD_CSI0_DAT8__I2C1_SDA 333 | ||
366 | MX53_PAD_CSI0_DAT8__EMI_EMI_DEBUG_37 334 | ||
367 | MX53_PAD_CSI0_DAT8__TPIU_TRACE_5 335 | ||
368 | MX53_PAD_CSI0_DAT9__IPU_CSI0_D_9 336 | ||
369 | MX53_PAD_CSI0_DAT9__GPIO5_27 337 | ||
370 | MX53_PAD_CSI0_DAT9__KPP_ROW_7 338 | ||
371 | MX53_PAD_CSI0_DAT9__ECSPI2_MOSI 339 | ||
372 | MX53_PAD_CSI0_DAT9__USBOH3_USBH3_PWR 340 | ||
373 | MX53_PAD_CSI0_DAT9__I2C1_SCL 341 | ||
374 | MX53_PAD_CSI0_DAT9__EMI_EMI_DEBUG_38 342 | ||
375 | MX53_PAD_CSI0_DAT9__TPIU_TRACE_6 343 | ||
376 | MX53_PAD_CSI0_DAT10__IPU_CSI0_D_10 344 | ||
377 | MX53_PAD_CSI0_DAT10__GPIO5_28 345 | ||
378 | MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 346 | ||
379 | MX53_PAD_CSI0_DAT10__ECSPI2_MISO 347 | ||
380 | MX53_PAD_CSI0_DAT10__AUDMUX_AUD3_RXC 348 | ||
381 | MX53_PAD_CSI0_DAT10__SDMA_DEBUG_PC_4 349 | ||
382 | MX53_PAD_CSI0_DAT10__EMI_EMI_DEBUG_39 350 | ||
383 | MX53_PAD_CSI0_DAT10__TPIU_TRACE_7 351 | ||
384 | MX53_PAD_CSI0_DAT11__IPU_CSI0_D_11 352 | ||
385 | MX53_PAD_CSI0_DAT11__GPIO5_29 353 | ||
386 | MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 354 | ||
387 | MX53_PAD_CSI0_DAT11__ECSPI2_SS0 355 | ||
388 | MX53_PAD_CSI0_DAT11__AUDMUX_AUD3_RXFS 356 | ||
389 | MX53_PAD_CSI0_DAT11__SDMA_DEBUG_PC_5 357 | ||
390 | MX53_PAD_CSI0_DAT11__EMI_EMI_DEBUG_40 358 | ||
391 | MX53_PAD_CSI0_DAT11__TPIU_TRACE_8 359 | ||
392 | MX53_PAD_CSI0_DAT12__IPU_CSI0_D_12 360 | ||
393 | MX53_PAD_CSI0_DAT12__GPIO5_30 361 | ||
394 | MX53_PAD_CSI0_DAT12__UART4_TXD_MUX 362 | ||
395 | MX53_PAD_CSI0_DAT12__USBOH3_USBH3_DATA_0 363 | ||
396 | MX53_PAD_CSI0_DAT12__SDMA_DEBUG_PC_6 364 | ||
397 | MX53_PAD_CSI0_DAT12__EMI_EMI_DEBUG_41 365 | ||
398 | MX53_PAD_CSI0_DAT12__TPIU_TRACE_9 366 | ||
399 | MX53_PAD_CSI0_DAT13__IPU_CSI0_D_13 367 | ||
400 | MX53_PAD_CSI0_DAT13__GPIO5_31 368 | ||
401 | MX53_PAD_CSI0_DAT13__UART4_RXD_MUX 369 | ||
402 | MX53_PAD_CSI0_DAT13__USBOH3_USBH3_DATA_1 370 | ||
403 | MX53_PAD_CSI0_DAT13__SDMA_DEBUG_PC_7 371 | ||
404 | MX53_PAD_CSI0_DAT13__EMI_EMI_DEBUG_42 372 | ||
405 | MX53_PAD_CSI0_DAT13__TPIU_TRACE_10 373 | ||
406 | MX53_PAD_CSI0_DAT14__IPU_CSI0_D_14 374 | ||
407 | MX53_PAD_CSI0_DAT14__GPIO6_0 375 | ||
408 | MX53_PAD_CSI0_DAT14__UART5_TXD_MUX 376 | ||
409 | MX53_PAD_CSI0_DAT14__USBOH3_USBH3_DATA_2 377 | ||
410 | MX53_PAD_CSI0_DAT14__SDMA_DEBUG_PC_8 378 | ||
411 | MX53_PAD_CSI0_DAT14__EMI_EMI_DEBUG_43 379 | ||
412 | MX53_PAD_CSI0_DAT14__TPIU_TRACE_11 380 | ||
413 | MX53_PAD_CSI0_DAT15__IPU_CSI0_D_15 381 | ||
414 | MX53_PAD_CSI0_DAT15__GPIO6_1 382 | ||
415 | MX53_PAD_CSI0_DAT15__UART5_RXD_MUX 383 | ||
416 | MX53_PAD_CSI0_DAT15__USBOH3_USBH3_DATA_3 384 | ||
417 | MX53_PAD_CSI0_DAT15__SDMA_DEBUG_PC_9 385 | ||
418 | MX53_PAD_CSI0_DAT15__EMI_EMI_DEBUG_44 386 | ||
419 | MX53_PAD_CSI0_DAT15__TPIU_TRACE_12 387 | ||
420 | MX53_PAD_CSI0_DAT16__IPU_CSI0_D_16 388 | ||
421 | MX53_PAD_CSI0_DAT16__GPIO6_2 389 | ||
422 | MX53_PAD_CSI0_DAT16__UART4_RTS 390 | ||
423 | MX53_PAD_CSI0_DAT16__USBOH3_USBH3_DATA_4 391 | ||
424 | MX53_PAD_CSI0_DAT16__SDMA_DEBUG_PC_10 392 | ||
425 | MX53_PAD_CSI0_DAT16__EMI_EMI_DEBUG_45 393 | ||
426 | MX53_PAD_CSI0_DAT16__TPIU_TRACE_13 394 | ||
427 | MX53_PAD_CSI0_DAT17__IPU_CSI0_D_17 395 | ||
428 | MX53_PAD_CSI0_DAT17__GPIO6_3 396 | ||
429 | MX53_PAD_CSI0_DAT17__UART4_CTS 397 | ||
430 | MX53_PAD_CSI0_DAT17__USBOH3_USBH3_DATA_5 398 | ||
431 | MX53_PAD_CSI0_DAT17__SDMA_DEBUG_PC_11 399 | ||
432 | MX53_PAD_CSI0_DAT17__EMI_EMI_DEBUG_46 400 | ||
433 | MX53_PAD_CSI0_DAT17__TPIU_TRACE_14 401 | ||
434 | MX53_PAD_CSI0_DAT18__IPU_CSI0_D_18 402 | ||
435 | MX53_PAD_CSI0_DAT18__GPIO6_4 403 | ||
436 | MX53_PAD_CSI0_DAT18__UART5_RTS 404 | ||
437 | MX53_PAD_CSI0_DAT18__USBOH3_USBH3_DATA_6 405 | ||
438 | MX53_PAD_CSI0_DAT18__SDMA_DEBUG_PC_12 406 | ||
439 | MX53_PAD_CSI0_DAT18__EMI_EMI_DEBUG_47 407 | ||
440 | MX53_PAD_CSI0_DAT18__TPIU_TRACE_15 408 | ||
441 | MX53_PAD_CSI0_DAT19__IPU_CSI0_D_19 409 | ||
442 | MX53_PAD_CSI0_DAT19__GPIO6_5 410 | ||
443 | MX53_PAD_CSI0_DAT19__UART5_CTS 411 | ||
444 | MX53_PAD_CSI0_DAT19__USBOH3_USBH3_DATA_7 412 | ||
445 | MX53_PAD_CSI0_DAT19__SDMA_DEBUG_PC_13 413 | ||
446 | MX53_PAD_CSI0_DAT19__EMI_EMI_DEBUG_48 414 | ||
447 | MX53_PAD_CSI0_DAT19__USBPHY2_BISTOK 415 | ||
448 | MX53_PAD_EIM_A25__EMI_WEIM_A_25 416 | ||
449 | MX53_PAD_EIM_A25__GPIO5_2 417 | ||
450 | MX53_PAD_EIM_A25__ECSPI2_RDY 418 | ||
451 | MX53_PAD_EIM_A25__IPU_DI1_PIN12 419 | ||
452 | MX53_PAD_EIM_A25__CSPI_SS1 420 | ||
453 | MX53_PAD_EIM_A25__IPU_DI0_D1_CS 421 | ||
454 | MX53_PAD_EIM_A25__USBPHY1_BISTOK 422 | ||
455 | MX53_PAD_EIM_EB2__EMI_WEIM_EB_2 423 | ||
456 | MX53_PAD_EIM_EB2__GPIO2_30 424 | ||
457 | MX53_PAD_EIM_EB2__CCM_DI1_EXT_CLK 425 | ||
458 | MX53_PAD_EIM_EB2__IPU_SER_DISP1_CS 426 | ||
459 | MX53_PAD_EIM_EB2__ECSPI1_SS0 427 | ||
460 | MX53_PAD_EIM_EB2__I2C2_SCL 428 | ||
461 | MX53_PAD_EIM_D16__EMI_WEIM_D_16 429 | ||
462 | MX53_PAD_EIM_D16__GPIO3_16 430 | ||
463 | MX53_PAD_EIM_D16__IPU_DI0_PIN5 431 | ||
464 | MX53_PAD_EIM_D16__IPU_DISPB1_SER_CLK 432 | ||
465 | MX53_PAD_EIM_D16__ECSPI1_SCLK 433 | ||
466 | MX53_PAD_EIM_D16__I2C2_SDA 434 | ||
467 | MX53_PAD_EIM_D17__EMI_WEIM_D_17 435 | ||
468 | MX53_PAD_EIM_D17__GPIO3_17 436 | ||
469 | MX53_PAD_EIM_D17__IPU_DI0_PIN6 437 | ||
470 | MX53_PAD_EIM_D17__IPU_DISPB1_SER_DIN 438 | ||
471 | MX53_PAD_EIM_D17__ECSPI1_MISO 439 | ||
472 | MX53_PAD_EIM_D17__I2C3_SCL 440 | ||
473 | MX53_PAD_EIM_D18__EMI_WEIM_D_18 441 | ||
474 | MX53_PAD_EIM_D18__GPIO3_18 442 | ||
475 | MX53_PAD_EIM_D18__IPU_DI0_PIN7 443 | ||
476 | MX53_PAD_EIM_D18__IPU_DISPB1_SER_DIO 444 | ||
477 | MX53_PAD_EIM_D18__ECSPI1_MOSI 445 | ||
478 | MX53_PAD_EIM_D18__I2C3_SDA 446 | ||
479 | MX53_PAD_EIM_D18__IPU_DI1_D0_CS 447 | ||
480 | MX53_PAD_EIM_D19__EMI_WEIM_D_19 448 | ||
481 | MX53_PAD_EIM_D19__GPIO3_19 449 | ||
482 | MX53_PAD_EIM_D19__IPU_DI0_PIN8 450 | ||
483 | MX53_PAD_EIM_D19__IPU_DISPB1_SER_RS 451 | ||
484 | MX53_PAD_EIM_D19__ECSPI1_SS1 452 | ||
485 | MX53_PAD_EIM_D19__EPIT1_EPITO 453 | ||
486 | MX53_PAD_EIM_D19__UART1_CTS 454 | ||
487 | MX53_PAD_EIM_D19__USBOH3_USBH2_OC 455 | ||
488 | MX53_PAD_EIM_D20__EMI_WEIM_D_20 456 | ||
489 | MX53_PAD_EIM_D20__GPIO3_20 457 | ||
490 | MX53_PAD_EIM_D20__IPU_DI0_PIN16 458 | ||
491 | MX53_PAD_EIM_D20__IPU_SER_DISP0_CS 459 | ||
492 | MX53_PAD_EIM_D20__CSPI_SS0 460 | ||
493 | MX53_PAD_EIM_D20__EPIT2_EPITO 461 | ||
494 | MX53_PAD_EIM_D20__UART1_RTS 462 | ||
495 | MX53_PAD_EIM_D20__USBOH3_USBH2_PWR 463 | ||
496 | MX53_PAD_EIM_D21__EMI_WEIM_D_21 464 | ||
497 | MX53_PAD_EIM_D21__GPIO3_21 465 | ||
498 | MX53_PAD_EIM_D21__IPU_DI0_PIN17 466 | ||
499 | MX53_PAD_EIM_D21__IPU_DISPB0_SER_CLK 467 | ||
500 | MX53_PAD_EIM_D21__CSPI_SCLK 468 | ||
501 | MX53_PAD_EIM_D21__I2C1_SCL 469 | ||
502 | MX53_PAD_EIM_D21__USBOH3_USBOTG_OC 470 | ||
503 | MX53_PAD_EIM_D22__EMI_WEIM_D_22 471 | ||
504 | MX53_PAD_EIM_D22__GPIO3_22 472 | ||
505 | MX53_PAD_EIM_D22__IPU_DI0_PIN1 473 | ||
506 | MX53_PAD_EIM_D22__IPU_DISPB0_SER_DIN 474 | ||
507 | MX53_PAD_EIM_D22__CSPI_MISO 475 | ||
508 | MX53_PAD_EIM_D22__USBOH3_USBOTG_PWR 476 | ||
509 | MX53_PAD_EIM_D23__EMI_WEIM_D_23 477 | ||
510 | MX53_PAD_EIM_D23__GPIO3_23 478 | ||
511 | MX53_PAD_EIM_D23__UART3_CTS 479 | ||
512 | MX53_PAD_EIM_D23__UART1_DCD 480 | ||
513 | MX53_PAD_EIM_D23__IPU_DI0_D0_CS 481 | ||
514 | MX53_PAD_EIM_D23__IPU_DI1_PIN2 482 | ||
515 | MX53_PAD_EIM_D23__IPU_CSI1_DATA_EN 483 | ||
516 | MX53_PAD_EIM_D23__IPU_DI1_PIN14 484 | ||
517 | MX53_PAD_EIM_EB3__EMI_WEIM_EB_3 485 | ||
518 | MX53_PAD_EIM_EB3__GPIO2_31 486 | ||
519 | MX53_PAD_EIM_EB3__UART3_RTS 487 | ||
520 | MX53_PAD_EIM_EB3__UART1_RI 488 | ||
521 | MX53_PAD_EIM_EB3__IPU_DI1_PIN3 489 | ||
522 | MX53_PAD_EIM_EB3__IPU_CSI1_HSYNC 490 | ||
523 | MX53_PAD_EIM_EB3__IPU_DI1_PIN16 491 | ||
524 | MX53_PAD_EIM_D24__EMI_WEIM_D_24 492 | ||
525 | MX53_PAD_EIM_D24__GPIO3_24 493 | ||
526 | MX53_PAD_EIM_D24__UART3_TXD_MUX 494 | ||
527 | MX53_PAD_EIM_D24__ECSPI1_SS2 495 | ||
528 | MX53_PAD_EIM_D24__CSPI_SS2 496 | ||
529 | MX53_PAD_EIM_D24__AUDMUX_AUD5_RXFS 497 | ||
530 | MX53_PAD_EIM_D24__ECSPI2_SS2 498 | ||
531 | MX53_PAD_EIM_D24__UART1_DTR 499 | ||
532 | MX53_PAD_EIM_D25__EMI_WEIM_D_25 500 | ||
533 | MX53_PAD_EIM_D25__GPIO3_25 501 | ||
534 | MX53_PAD_EIM_D25__UART3_RXD_MUX 502 | ||
535 | MX53_PAD_EIM_D25__ECSPI1_SS3 503 | ||
536 | MX53_PAD_EIM_D25__CSPI_SS3 504 | ||
537 | MX53_PAD_EIM_D25__AUDMUX_AUD5_RXC 505 | ||
538 | MX53_PAD_EIM_D25__ECSPI2_SS3 506 | ||
539 | MX53_PAD_EIM_D25__UART1_DSR 507 | ||
540 | MX53_PAD_EIM_D26__EMI_WEIM_D_26 508 | ||
541 | MX53_PAD_EIM_D26__GPIO3_26 509 | ||
542 | MX53_PAD_EIM_D26__UART2_TXD_MUX 510 | ||
543 | MX53_PAD_EIM_D26__FIRI_RXD 511 | ||
544 | MX53_PAD_EIM_D26__IPU_CSI0_D_1 512 | ||
545 | MX53_PAD_EIM_D26__IPU_DI1_PIN11 513 | ||
546 | MX53_PAD_EIM_D26__IPU_SISG_2 514 | ||
547 | MX53_PAD_EIM_D26__IPU_DISP1_DAT_22 515 | ||
548 | MX53_PAD_EIM_D27__EMI_WEIM_D_27 516 | ||
549 | MX53_PAD_EIM_D27__GPIO3_27 517 | ||
550 | MX53_PAD_EIM_D27__UART2_RXD_MUX 518 | ||
551 | MX53_PAD_EIM_D27__FIRI_TXD 519 | ||
552 | MX53_PAD_EIM_D27__IPU_CSI0_D_0 520 | ||
553 | MX53_PAD_EIM_D27__IPU_DI1_PIN13 521 | ||
554 | MX53_PAD_EIM_D27__IPU_SISG_3 522 | ||
555 | MX53_PAD_EIM_D27__IPU_DISP1_DAT_23 523 | ||
556 | MX53_PAD_EIM_D28__EMI_WEIM_D_28 524 | ||
557 | MX53_PAD_EIM_D28__GPIO3_28 525 | ||
558 | MX53_PAD_EIM_D28__UART2_CTS 526 | ||
559 | MX53_PAD_EIM_D28__IPU_DISPB0_SER_DIO 527 | ||
560 | MX53_PAD_EIM_D28__CSPI_MOSI 528 | ||
561 | MX53_PAD_EIM_D28__I2C1_SDA 529 | ||
562 | MX53_PAD_EIM_D28__IPU_EXT_TRIG 530 | ||
563 | MX53_PAD_EIM_D28__IPU_DI0_PIN13 531 | ||
564 | MX53_PAD_EIM_D29__EMI_WEIM_D_29 532 | ||
565 | MX53_PAD_EIM_D29__GPIO3_29 533 | ||
566 | MX53_PAD_EIM_D29__UART2_RTS 534 | ||
567 | MX53_PAD_EIM_D29__IPU_DISPB0_SER_RS 535 | ||
568 | MX53_PAD_EIM_D29__CSPI_SS0 536 | ||
569 | MX53_PAD_EIM_D29__IPU_DI1_PIN15 537 | ||
570 | MX53_PAD_EIM_D29__IPU_CSI1_VSYNC 538 | ||
571 | MX53_PAD_EIM_D29__IPU_DI0_PIN14 539 | ||
572 | MX53_PAD_EIM_D30__EMI_WEIM_D_30 540 | ||
573 | MX53_PAD_EIM_D30__GPIO3_30 541 | ||
574 | MX53_PAD_EIM_D30__UART3_CTS 542 | ||
575 | MX53_PAD_EIM_D30__IPU_CSI0_D_3 543 | ||
576 | MX53_PAD_EIM_D30__IPU_DI0_PIN11 544 | ||
577 | MX53_PAD_EIM_D30__IPU_DISP1_DAT_21 545 | ||
578 | MX53_PAD_EIM_D30__USBOH3_USBH1_OC 546 | ||
579 | MX53_PAD_EIM_D30__USBOH3_USBH2_OC 547 | ||
580 | MX53_PAD_EIM_D31__EMI_WEIM_D_31 548 | ||
581 | MX53_PAD_EIM_D31__GPIO3_31 549 | ||
582 | MX53_PAD_EIM_D31__UART3_RTS 550 | ||
583 | MX53_PAD_EIM_D31__IPU_CSI0_D_2 551 | ||
584 | MX53_PAD_EIM_D31__IPU_DI0_PIN12 552 | ||
585 | MX53_PAD_EIM_D31__IPU_DISP1_DAT_20 553 | ||
586 | MX53_PAD_EIM_D31__USBOH3_USBH1_PWR 554 | ||
587 | MX53_PAD_EIM_D31__USBOH3_USBH2_PWR 555 | ||
588 | MX53_PAD_EIM_A24__EMI_WEIM_A_24 556 | ||
589 | MX53_PAD_EIM_A24__GPIO5_4 557 | ||
590 | MX53_PAD_EIM_A24__IPU_DISP1_DAT_19 558 | ||
591 | MX53_PAD_EIM_A24__IPU_CSI1_D_19 559 | ||
592 | MX53_PAD_EIM_A24__IPU_SISG_2 560 | ||
593 | MX53_PAD_EIM_A24__USBPHY2_BVALID 561 | ||
594 | MX53_PAD_EIM_A23__EMI_WEIM_A_23 562 | ||
595 | MX53_PAD_EIM_A23__GPIO6_6 563 | ||
596 | MX53_PAD_EIM_A23__IPU_DISP1_DAT_18 564 | ||
597 | MX53_PAD_EIM_A23__IPU_CSI1_D_18 565 | ||
598 | MX53_PAD_EIM_A23__IPU_SISG_3 566 | ||
599 | MX53_PAD_EIM_A23__USBPHY2_ENDSESSION 567 | ||
600 | MX53_PAD_EIM_A22__EMI_WEIM_A_22 568 | ||
601 | MX53_PAD_EIM_A22__GPIO2_16 569 | ||
602 | MX53_PAD_EIM_A22__IPU_DISP1_DAT_17 570 | ||
603 | MX53_PAD_EIM_A22__IPU_CSI1_D_17 571 | ||
604 | MX53_PAD_EIM_A22__SRC_BT_CFG1_7 572 | ||
605 | MX53_PAD_EIM_A21__EMI_WEIM_A_21 573 | ||
606 | MX53_PAD_EIM_A21__GPIO2_17 574 | ||
607 | MX53_PAD_EIM_A21__IPU_DISP1_DAT_16 575 | ||
608 | MX53_PAD_EIM_A21__IPU_CSI1_D_16 576 | ||
609 | MX53_PAD_EIM_A21__SRC_BT_CFG1_6 577 | ||
610 | MX53_PAD_EIM_A20__EMI_WEIM_A_20 578 | ||
611 | MX53_PAD_EIM_A20__GPIO2_18 579 | ||
612 | MX53_PAD_EIM_A20__IPU_DISP1_DAT_15 580 | ||
613 | MX53_PAD_EIM_A20__IPU_CSI1_D_15 581 | ||
614 | MX53_PAD_EIM_A20__SRC_BT_CFG1_5 582 | ||
615 | MX53_PAD_EIM_A19__EMI_WEIM_A_19 583 | ||
616 | MX53_PAD_EIM_A19__GPIO2_19 584 | ||
617 | MX53_PAD_EIM_A19__IPU_DISP1_DAT_14 585 | ||
618 | MX53_PAD_EIM_A19__IPU_CSI1_D_14 586 | ||
619 | MX53_PAD_EIM_A19__SRC_BT_CFG1_4 587 | ||
620 | MX53_PAD_EIM_A18__EMI_WEIM_A_18 588 | ||
621 | MX53_PAD_EIM_A18__GPIO2_20 589 | ||
622 | MX53_PAD_EIM_A18__IPU_DISP1_DAT_13 590 | ||
623 | MX53_PAD_EIM_A18__IPU_CSI1_D_13 591 | ||
624 | MX53_PAD_EIM_A18__SRC_BT_CFG1_3 592 | ||
625 | MX53_PAD_EIM_A17__EMI_WEIM_A_17 593 | ||
626 | MX53_PAD_EIM_A17__GPIO2_21 594 | ||
627 | MX53_PAD_EIM_A17__IPU_DISP1_DAT_12 595 | ||
628 | MX53_PAD_EIM_A17__IPU_CSI1_D_12 596 | ||
629 | MX53_PAD_EIM_A17__SRC_BT_CFG1_2 597 | ||
630 | MX53_PAD_EIM_A16__EMI_WEIM_A_16 598 | ||
631 | MX53_PAD_EIM_A16__GPIO2_22 599 | ||
632 | MX53_PAD_EIM_A16__IPU_DI1_DISP_CLK 600 | ||
633 | MX53_PAD_EIM_A16__IPU_CSI1_PIXCLK 601 | ||
634 | MX53_PAD_EIM_A16__SRC_BT_CFG1_1 602 | ||
635 | MX53_PAD_EIM_CS0__EMI_WEIM_CS_0 603 | ||
636 | MX53_PAD_EIM_CS0__GPIO2_23 604 | ||
637 | MX53_PAD_EIM_CS0__ECSPI2_SCLK 605 | ||
638 | MX53_PAD_EIM_CS0__IPU_DI1_PIN5 606 | ||
639 | MX53_PAD_EIM_CS1__EMI_WEIM_CS_1 607 | ||
640 | MX53_PAD_EIM_CS1__GPIO2_24 608 | ||
641 | MX53_PAD_EIM_CS1__ECSPI2_MOSI 609 | ||
642 | MX53_PAD_EIM_CS1__IPU_DI1_PIN6 610 | ||
643 | MX53_PAD_EIM_OE__EMI_WEIM_OE 611 | ||
644 | MX53_PAD_EIM_OE__GPIO2_25 612 | ||
645 | MX53_PAD_EIM_OE__ECSPI2_MISO 613 | ||
646 | MX53_PAD_EIM_OE__IPU_DI1_PIN7 614 | ||
647 | MX53_PAD_EIM_OE__USBPHY2_IDDIG 615 | ||
648 | MX53_PAD_EIM_RW__EMI_WEIM_RW 616 | ||
649 | MX53_PAD_EIM_RW__GPIO2_26 617 | ||
650 | MX53_PAD_EIM_RW__ECSPI2_SS0 618 | ||
651 | MX53_PAD_EIM_RW__IPU_DI1_PIN8 619 | ||
652 | MX53_PAD_EIM_RW__USBPHY2_HOSTDISCONNECT 620 | ||
653 | MX53_PAD_EIM_LBA__EMI_WEIM_LBA 621 | ||
654 | MX53_PAD_EIM_LBA__GPIO2_27 622 | ||
655 | MX53_PAD_EIM_LBA__ECSPI2_SS1 623 | ||
656 | MX53_PAD_EIM_LBA__IPU_DI1_PIN17 624 | ||
657 | MX53_PAD_EIM_LBA__SRC_BT_CFG1_0 625 | ||
658 | MX53_PAD_EIM_EB0__EMI_WEIM_EB_0 626 | ||
659 | MX53_PAD_EIM_EB0__GPIO2_28 627 | ||
660 | MX53_PAD_EIM_EB0__IPU_DISP1_DAT_11 628 | ||
661 | MX53_PAD_EIM_EB0__IPU_CSI1_D_11 629 | ||
662 | MX53_PAD_EIM_EB0__GPC_PMIC_RDY 630 | ||
663 | MX53_PAD_EIM_EB0__SRC_BT_CFG2_7 631 | ||
664 | MX53_PAD_EIM_EB1__EMI_WEIM_EB_1 632 | ||
665 | MX53_PAD_EIM_EB1__GPIO2_29 633 | ||
666 | MX53_PAD_EIM_EB1__IPU_DISP1_DAT_10 634 | ||
667 | MX53_PAD_EIM_EB1__IPU_CSI1_D_10 635 | ||
668 | MX53_PAD_EIM_EB1__SRC_BT_CFG2_6 636 | ||
669 | MX53_PAD_EIM_DA0__EMI_NAND_WEIM_DA_0 637 | ||
670 | MX53_PAD_EIM_DA0__GPIO3_0 638 | ||
671 | MX53_PAD_EIM_DA0__IPU_DISP1_DAT_9 639 | ||
672 | MX53_PAD_EIM_DA0__IPU_CSI1_D_9 640 | ||
673 | MX53_PAD_EIM_DA0__SRC_BT_CFG2_5 641 | ||
674 | MX53_PAD_EIM_DA1__EMI_NAND_WEIM_DA_1 642 | ||
675 | MX53_PAD_EIM_DA1__GPIO3_1 643 | ||
676 | MX53_PAD_EIM_DA1__IPU_DISP1_DAT_8 644 | ||
677 | MX53_PAD_EIM_DA1__IPU_CSI1_D_8 645 | ||
678 | MX53_PAD_EIM_DA1__SRC_BT_CFG2_4 646 | ||
679 | MX53_PAD_EIM_DA2__EMI_NAND_WEIM_DA_2 647 | ||
680 | MX53_PAD_EIM_DA2__GPIO3_2 648 | ||
681 | MX53_PAD_EIM_DA2__IPU_DISP1_DAT_7 649 | ||
682 | MX53_PAD_EIM_DA2__IPU_CSI1_D_7 650 | ||
683 | MX53_PAD_EIM_DA2__SRC_BT_CFG2_3 651 | ||
684 | MX53_PAD_EIM_DA3__EMI_NAND_WEIM_DA_3 652 | ||
685 | MX53_PAD_EIM_DA3__GPIO3_3 653 | ||
686 | MX53_PAD_EIM_DA3__IPU_DISP1_DAT_6 654 | ||
687 | MX53_PAD_EIM_DA3__IPU_CSI1_D_6 655 | ||
688 | MX53_PAD_EIM_DA3__SRC_BT_CFG2_2 656 | ||
689 | MX53_PAD_EIM_DA4__EMI_NAND_WEIM_DA_4 657 | ||
690 | MX53_PAD_EIM_DA4__GPIO3_4 658 | ||
691 | MX53_PAD_EIM_DA4__IPU_DISP1_DAT_5 659 | ||
692 | MX53_PAD_EIM_DA4__IPU_CSI1_D_5 660 | ||
693 | MX53_PAD_EIM_DA4__SRC_BT_CFG3_7 661 | ||
694 | MX53_PAD_EIM_DA5__EMI_NAND_WEIM_DA_5 662 | ||
695 | MX53_PAD_EIM_DA5__GPIO3_5 663 | ||
696 | MX53_PAD_EIM_DA5__IPU_DISP1_DAT_4 664 | ||
697 | MX53_PAD_EIM_DA5__IPU_CSI1_D_4 665 | ||
698 | MX53_PAD_EIM_DA5__SRC_BT_CFG3_6 666 | ||
699 | MX53_PAD_EIM_DA6__EMI_NAND_WEIM_DA_6 667 | ||
700 | MX53_PAD_EIM_DA6__GPIO3_6 668 | ||
701 | MX53_PAD_EIM_DA6__IPU_DISP1_DAT_3 669 | ||
702 | MX53_PAD_EIM_DA6__IPU_CSI1_D_3 670 | ||
703 | MX53_PAD_EIM_DA6__SRC_BT_CFG3_5 671 | ||
704 | MX53_PAD_EIM_DA7__EMI_NAND_WEIM_DA_7 672 | ||
705 | MX53_PAD_EIM_DA7__GPIO3_7 673 | ||
706 | MX53_PAD_EIM_DA7__IPU_DISP1_DAT_2 674 | ||
707 | MX53_PAD_EIM_DA7__IPU_CSI1_D_2 675 | ||
708 | MX53_PAD_EIM_DA7__SRC_BT_CFG3_4 676 | ||
709 | MX53_PAD_EIM_DA8__EMI_NAND_WEIM_DA_8 677 | ||
710 | MX53_PAD_EIM_DA8__GPIO3_8 678 | ||
711 | MX53_PAD_EIM_DA8__IPU_DISP1_DAT_1 679 | ||
712 | MX53_PAD_EIM_DA8__IPU_CSI1_D_1 680 | ||
713 | MX53_PAD_EIM_DA8__SRC_BT_CFG3_3 681 | ||
714 | MX53_PAD_EIM_DA9__EMI_NAND_WEIM_DA_9 682 | ||
715 | MX53_PAD_EIM_DA9__GPIO3_9 683 | ||
716 | MX53_PAD_EIM_DA9__IPU_DISP1_DAT_0 684 | ||
717 | MX53_PAD_EIM_DA9__IPU_CSI1_D_0 685 | ||
718 | MX53_PAD_EIM_DA9__SRC_BT_CFG3_2 686 | ||
719 | MX53_PAD_EIM_DA10__EMI_NAND_WEIM_DA_10 687 | ||
720 | MX53_PAD_EIM_DA10__GPIO3_10 688 | ||
721 | MX53_PAD_EIM_DA10__IPU_DI1_PIN15 689 | ||
722 | MX53_PAD_EIM_DA10__IPU_CSI1_DATA_EN 690 | ||
723 | MX53_PAD_EIM_DA10__SRC_BT_CFG3_1 691 | ||
724 | MX53_PAD_EIM_DA11__EMI_NAND_WEIM_DA_11 692 | ||
725 | MX53_PAD_EIM_DA11__GPIO3_11 693 | ||
726 | MX53_PAD_EIM_DA11__IPU_DI1_PIN2 694 | ||
727 | MX53_PAD_EIM_DA11__IPU_CSI1_HSYNC 695 | ||
728 | MX53_PAD_EIM_DA12__EMI_NAND_WEIM_DA_12 696 | ||
729 | MX53_PAD_EIM_DA12__GPIO3_12 697 | ||
730 | MX53_PAD_EIM_DA12__IPU_DI1_PIN3 698 | ||
731 | MX53_PAD_EIM_DA12__IPU_CSI1_VSYNC 699 | ||
732 | MX53_PAD_EIM_DA13__EMI_NAND_WEIM_DA_13 700 | ||
733 | MX53_PAD_EIM_DA13__GPIO3_13 701 | ||
734 | MX53_PAD_EIM_DA13__IPU_DI1_D0_CS 702 | ||
735 | MX53_PAD_EIM_DA13__CCM_DI1_EXT_CLK 703 | ||
736 | MX53_PAD_EIM_DA14__EMI_NAND_WEIM_DA_14 704 | ||
737 | MX53_PAD_EIM_DA14__GPIO3_14 705 | ||
738 | MX53_PAD_EIM_DA14__IPU_DI1_D1_CS 706 | ||
739 | MX53_PAD_EIM_DA14__CCM_DI0_EXT_CLK 707 | ||
740 | MX53_PAD_EIM_DA15__EMI_NAND_WEIM_DA_15 708 | ||
741 | MX53_PAD_EIM_DA15__GPIO3_15 709 | ||
742 | MX53_PAD_EIM_DA15__IPU_DI1_PIN1 710 | ||
743 | MX53_PAD_EIM_DA15__IPU_DI1_PIN4 711 | ||
744 | MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B 712 | ||
745 | MX53_PAD_NANDF_WE_B__GPIO6_12 713 | ||
746 | MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B 714 | ||
747 | MX53_PAD_NANDF_RE_B__GPIO6_13 715 | ||
748 | MX53_PAD_EIM_WAIT__EMI_WEIM_WAIT 716 | ||
749 | MX53_PAD_EIM_WAIT__GPIO5_0 717 | ||
750 | MX53_PAD_EIM_WAIT__EMI_WEIM_DTACK_B 718 | ||
751 | MX53_PAD_LVDS1_TX3_P__GPIO6_22 719 | ||
752 | MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 720 | ||
753 | MX53_PAD_LVDS1_TX2_P__GPIO6_24 721 | ||
754 | MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 722 | ||
755 | MX53_PAD_LVDS1_CLK_P__GPIO6_26 723 | ||
756 | MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 724 | ||
757 | MX53_PAD_LVDS1_TX1_P__GPIO6_28 725 | ||
758 | MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 726 | ||
759 | MX53_PAD_LVDS1_TX0_P__GPIO6_30 727 | ||
760 | MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 728 | ||
761 | MX53_PAD_LVDS0_TX3_P__GPIO7_22 729 | ||
762 | MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 730 | ||
763 | MX53_PAD_LVDS0_CLK_P__GPIO7_24 731 | ||
764 | MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 732 | ||
765 | MX53_PAD_LVDS0_TX2_P__GPIO7_26 733 | ||
766 | MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 734 | ||
767 | MX53_PAD_LVDS0_TX1_P__GPIO7_28 735 | ||
768 | MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 736 | ||
769 | MX53_PAD_LVDS0_TX0_P__GPIO7_30 737 | ||
770 | MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 738 | ||
771 | MX53_PAD_GPIO_10__GPIO4_0 739 | ||
772 | MX53_PAD_GPIO_10__OSC32k_32K_OUT 740 | ||
773 | MX53_PAD_GPIO_11__GPIO4_1 741 | ||
774 | MX53_PAD_GPIO_12__GPIO4_2 742 | ||
775 | MX53_PAD_GPIO_13__GPIO4_3 743 | ||
776 | MX53_PAD_GPIO_14__GPIO4_4 744 | ||
777 | MX53_PAD_NANDF_CLE__EMI_NANDF_CLE 745 | ||
778 | MX53_PAD_NANDF_CLE__GPIO6_7 746 | ||
779 | MX53_PAD_NANDF_CLE__USBPHY1_VSTATUS_0 747 | ||
780 | MX53_PAD_NANDF_ALE__EMI_NANDF_ALE 748 | ||
781 | MX53_PAD_NANDF_ALE__GPIO6_8 749 | ||
782 | MX53_PAD_NANDF_ALE__USBPHY1_VSTATUS_1 750 | ||
783 | MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B 751 | ||
784 | MX53_PAD_NANDF_WP_B__GPIO6_9 752 | ||
785 | MX53_PAD_NANDF_WP_B__USBPHY1_VSTATUS_2 753 | ||
786 | MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0 754 | ||
787 | MX53_PAD_NANDF_RB0__GPIO6_10 755 | ||
788 | MX53_PAD_NANDF_RB0__USBPHY1_VSTATUS_3 756 | ||
789 | MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0 757 | ||
790 | MX53_PAD_NANDF_CS0__GPIO6_11 758 | ||
791 | MX53_PAD_NANDF_CS0__USBPHY1_VSTATUS_4 759 | ||
792 | MX53_PAD_NANDF_CS1__EMI_NANDF_CS_1 760 | ||
793 | MX53_PAD_NANDF_CS1__GPIO6_14 761 | ||
794 | MX53_PAD_NANDF_CS1__MLB_MLBCLK 762 | ||
795 | MX53_PAD_NANDF_CS1__USBPHY1_VSTATUS_5 763 | ||
796 | MX53_PAD_NANDF_CS2__EMI_NANDF_CS_2 764 | ||
797 | MX53_PAD_NANDF_CS2__GPIO6_15 765 | ||
798 | MX53_PAD_NANDF_CS2__IPU_SISG_0 766 | ||
799 | MX53_PAD_NANDF_CS2__ESAI1_TX0 767 | ||
800 | MX53_PAD_NANDF_CS2__EMI_WEIM_CRE 768 | ||
801 | MX53_PAD_NANDF_CS2__CCM_CSI0_MCLK 769 | ||
802 | MX53_PAD_NANDF_CS2__MLB_MLBSIG 770 | ||
803 | MX53_PAD_NANDF_CS2__USBPHY1_VSTATUS_6 771 | ||
804 | MX53_PAD_NANDF_CS3__EMI_NANDF_CS_3 772 | ||
805 | MX53_PAD_NANDF_CS3__GPIO6_16 773 | ||
806 | MX53_PAD_NANDF_CS3__IPU_SISG_1 774 | ||
807 | MX53_PAD_NANDF_CS3__ESAI1_TX1 775 | ||
808 | MX53_PAD_NANDF_CS3__EMI_WEIM_A_26 776 | ||
809 | MX53_PAD_NANDF_CS3__MLB_MLBDAT 777 | ||
810 | MX53_PAD_NANDF_CS3__USBPHY1_VSTATUS_7 778 | ||
811 | MX53_PAD_FEC_MDIO__FEC_MDIO 779 | ||
812 | MX53_PAD_FEC_MDIO__GPIO1_22 780 | ||
813 | MX53_PAD_FEC_MDIO__ESAI1_SCKR 781 | ||
814 | MX53_PAD_FEC_MDIO__FEC_COL 782 | ||
815 | MX53_PAD_FEC_MDIO__RTC_CE_RTC_PS2 783 | ||
816 | MX53_PAD_FEC_MDIO__SDMA_DEBUG_BUS_DEVICE_3 784 | ||
817 | MX53_PAD_FEC_MDIO__EMI_EMI_DEBUG_49 785 | ||
818 | MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 786 | ||
819 | MX53_PAD_FEC_REF_CLK__GPIO1_23 787 | ||
820 | MX53_PAD_FEC_REF_CLK__ESAI1_FSR 788 | ||
821 | MX53_PAD_FEC_REF_CLK__SDMA_DEBUG_BUS_DEVICE_4 789 | ||
822 | MX53_PAD_FEC_REF_CLK__EMI_EMI_DEBUG_50 790 | ||
823 | MX53_PAD_FEC_RX_ER__FEC_RX_ER 791 | ||
824 | MX53_PAD_FEC_RX_ER__GPIO1_24 792 | ||
825 | MX53_PAD_FEC_RX_ER__ESAI1_HCKR 793 | ||
826 | MX53_PAD_FEC_RX_ER__FEC_RX_CLK 794 | ||
827 | MX53_PAD_FEC_RX_ER__RTC_CE_RTC_PS3 795 | ||
828 | MX53_PAD_FEC_CRS_DV__FEC_RX_DV 796 | ||
829 | MX53_PAD_FEC_CRS_DV__GPIO1_25 797 | ||
830 | MX53_PAD_FEC_CRS_DV__ESAI1_SCKT 798 | ||
831 | MX53_PAD_FEC_RXD1__FEC_RDATA_1 799 | ||
832 | MX53_PAD_FEC_RXD1__GPIO1_26 800 | ||
833 | MX53_PAD_FEC_RXD1__ESAI1_FST 801 | ||
834 | MX53_PAD_FEC_RXD1__MLB_MLBSIG 802 | ||
835 | MX53_PAD_FEC_RXD1__RTC_CE_RTC_PS1 803 | ||
836 | MX53_PAD_FEC_RXD0__FEC_RDATA_0 804 | ||
837 | MX53_PAD_FEC_RXD0__GPIO1_27 805 | ||
838 | MX53_PAD_FEC_RXD0__ESAI1_HCKT 806 | ||
839 | MX53_PAD_FEC_RXD0__OSC32k_32K_OUT 807 | ||
840 | MX53_PAD_FEC_TX_EN__FEC_TX_EN 808 | ||
841 | MX53_PAD_FEC_TX_EN__GPIO1_28 809 | ||
842 | MX53_PAD_FEC_TX_EN__ESAI1_TX3_RX2 810 | ||
843 | MX53_PAD_FEC_TXD1__FEC_TDATA_1 811 | ||
844 | MX53_PAD_FEC_TXD1__GPIO1_29 812 | ||
845 | MX53_PAD_FEC_TXD1__ESAI1_TX2_RX3 813 | ||
846 | MX53_PAD_FEC_TXD1__MLB_MLBCLK 814 | ||
847 | MX53_PAD_FEC_TXD1__RTC_CE_RTC_PRSC_CLK 815 | ||
848 | MX53_PAD_FEC_TXD0__FEC_TDATA_0 816 | ||
849 | MX53_PAD_FEC_TXD0__GPIO1_30 817 | ||
850 | MX53_PAD_FEC_TXD0__ESAI1_TX4_RX1 818 | ||
851 | MX53_PAD_FEC_TXD0__USBPHY2_DATAOUT_0 819 | ||
852 | MX53_PAD_FEC_MDC__FEC_MDC 820 | ||
853 | MX53_PAD_FEC_MDC__GPIO1_31 821 | ||
854 | MX53_PAD_FEC_MDC__ESAI1_TX5_RX0 822 | ||
855 | MX53_PAD_FEC_MDC__MLB_MLBDAT 823 | ||
856 | MX53_PAD_FEC_MDC__RTC_CE_RTC_ALARM1_TRIG 824 | ||
857 | MX53_PAD_FEC_MDC__USBPHY2_DATAOUT_1 825 | ||
858 | MX53_PAD_PATA_DIOW__PATA_DIOW 826 | ||
859 | MX53_PAD_PATA_DIOW__GPIO6_17 827 | ||
860 | MX53_PAD_PATA_DIOW__UART1_TXD_MUX 828 | ||
861 | MX53_PAD_PATA_DIOW__USBPHY2_DATAOUT_2 829 | ||
862 | MX53_PAD_PATA_DMACK__PATA_DMACK 830 | ||
863 | MX53_PAD_PATA_DMACK__GPIO6_18 831 | ||
864 | MX53_PAD_PATA_DMACK__UART1_RXD_MUX 832 | ||
865 | MX53_PAD_PATA_DMACK__USBPHY2_DATAOUT_3 833 | ||
866 | MX53_PAD_PATA_DMARQ__PATA_DMARQ 834 | ||
867 | MX53_PAD_PATA_DMARQ__GPIO7_0 835 | ||
868 | MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 836 | ||
869 | MX53_PAD_PATA_DMARQ__CCM_CCM_OUT_0 837 | ||
870 | MX53_PAD_PATA_DMARQ__USBPHY2_DATAOUT_4 838 | ||
871 | MX53_PAD_PATA_BUFFER_EN__PATA_BUFFER_EN 839 | ||
872 | MX53_PAD_PATA_BUFFER_EN__GPIO7_1 840 | ||
873 | MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 841 | ||
874 | MX53_PAD_PATA_BUFFER_EN__CCM_CCM_OUT_1 842 | ||
875 | MX53_PAD_PATA_BUFFER_EN__USBPHY2_DATAOUT_5 843 | ||
876 | MX53_PAD_PATA_INTRQ__PATA_INTRQ 844 | ||
877 | MX53_PAD_PATA_INTRQ__GPIO7_2 845 | ||
878 | MX53_PAD_PATA_INTRQ__UART2_CTS 846 | ||
879 | MX53_PAD_PATA_INTRQ__CAN1_TXCAN 847 | ||
880 | MX53_PAD_PATA_INTRQ__CCM_CCM_OUT_2 848 | ||
881 | MX53_PAD_PATA_INTRQ__USBPHY2_DATAOUT_6 849 | ||
882 | MX53_PAD_PATA_DIOR__PATA_DIOR 850 | ||
883 | MX53_PAD_PATA_DIOR__GPIO7_3 851 | ||
884 | MX53_PAD_PATA_DIOR__UART2_RTS 852 | ||
885 | MX53_PAD_PATA_DIOR__CAN1_RXCAN 853 | ||
886 | MX53_PAD_PATA_DIOR__USBPHY2_DATAOUT_7 854 | ||
887 | MX53_PAD_PATA_RESET_B__PATA_PATA_RESET_B 855 | ||
888 | MX53_PAD_PATA_RESET_B__GPIO7_4 856 | ||
889 | MX53_PAD_PATA_RESET_B__ESDHC3_CMD 857 | ||
890 | MX53_PAD_PATA_RESET_B__UART1_CTS 858 | ||
891 | MX53_PAD_PATA_RESET_B__CAN2_TXCAN 859 | ||
892 | MX53_PAD_PATA_RESET_B__USBPHY1_DATAOUT_0 860 | ||
893 | MX53_PAD_PATA_IORDY__PATA_IORDY 861 | ||
894 | MX53_PAD_PATA_IORDY__GPIO7_5 862 | ||
895 | MX53_PAD_PATA_IORDY__ESDHC3_CLK 863 | ||
896 | MX53_PAD_PATA_IORDY__UART1_RTS 864 | ||
897 | MX53_PAD_PATA_IORDY__CAN2_RXCAN 865 | ||
898 | MX53_PAD_PATA_IORDY__USBPHY1_DATAOUT_1 866 | ||
899 | MX53_PAD_PATA_DA_0__PATA_DA_0 867 | ||
900 | MX53_PAD_PATA_DA_0__GPIO7_6 868 | ||
901 | MX53_PAD_PATA_DA_0__ESDHC3_RST 869 | ||
902 | MX53_PAD_PATA_DA_0__OWIRE_LINE 870 | ||
903 | MX53_PAD_PATA_DA_0__USBPHY1_DATAOUT_2 871 | ||
904 | MX53_PAD_PATA_DA_1__PATA_DA_1 872 | ||
905 | MX53_PAD_PATA_DA_1__GPIO7_7 873 | ||
906 | MX53_PAD_PATA_DA_1__ESDHC4_CMD 874 | ||
907 | MX53_PAD_PATA_DA_1__UART3_CTS 875 | ||
908 | MX53_PAD_PATA_DA_1__USBPHY1_DATAOUT_3 876 | ||
909 | MX53_PAD_PATA_DA_2__PATA_DA_2 877 | ||
910 | MX53_PAD_PATA_DA_2__GPIO7_8 878 | ||
911 | MX53_PAD_PATA_DA_2__ESDHC4_CLK 879 | ||
912 | MX53_PAD_PATA_DA_2__UART3_RTS 880 | ||
913 | MX53_PAD_PATA_DA_2__USBPHY1_DATAOUT_4 881 | ||
914 | MX53_PAD_PATA_CS_0__PATA_CS_0 882 | ||
915 | MX53_PAD_PATA_CS_0__GPIO7_9 883 | ||
916 | MX53_PAD_PATA_CS_0__UART3_TXD_MUX 884 | ||
917 | MX53_PAD_PATA_CS_0__USBPHY1_DATAOUT_5 885 | ||
918 | MX53_PAD_PATA_CS_1__PATA_CS_1 886 | ||
919 | MX53_PAD_PATA_CS_1__GPIO7_10 887 | ||
920 | MX53_PAD_PATA_CS_1__UART3_RXD_MUX 888 | ||
921 | MX53_PAD_PATA_CS_1__USBPHY1_DATAOUT_6 889 | ||
922 | MX53_PAD_PATA_DATA0__PATA_DATA_0 890 | ||
923 | MX53_PAD_PATA_DATA0__GPIO2_0 891 | ||
924 | MX53_PAD_PATA_DATA0__EMI_NANDF_D_0 892 | ||
925 | MX53_PAD_PATA_DATA0__ESDHC3_DAT4 893 | ||
926 | MX53_PAD_PATA_DATA0__GPU3d_GPU_DEBUG_OUT_0 894 | ||
927 | MX53_PAD_PATA_DATA0__IPU_DIAG_BUS_0 895 | ||
928 | MX53_PAD_PATA_DATA0__USBPHY1_DATAOUT_7 896 | ||
929 | MX53_PAD_PATA_DATA1__PATA_DATA_1 897 | ||
930 | MX53_PAD_PATA_DATA1__GPIO2_1 898 | ||
931 | MX53_PAD_PATA_DATA1__EMI_NANDF_D_1 899 | ||
932 | MX53_PAD_PATA_DATA1__ESDHC3_DAT5 900 | ||
933 | MX53_PAD_PATA_DATA1__GPU3d_GPU_DEBUG_OUT_1 901 | ||
934 | MX53_PAD_PATA_DATA1__IPU_DIAG_BUS_1 902 | ||
935 | MX53_PAD_PATA_DATA2__PATA_DATA_2 903 | ||
936 | MX53_PAD_PATA_DATA2__GPIO2_2 904 | ||
937 | MX53_PAD_PATA_DATA2__EMI_NANDF_D_2 905 | ||
938 | MX53_PAD_PATA_DATA2__ESDHC3_DAT6 906 | ||
939 | MX53_PAD_PATA_DATA2__GPU3d_GPU_DEBUG_OUT_2 907 | ||
940 | MX53_PAD_PATA_DATA2__IPU_DIAG_BUS_2 908 | ||
941 | MX53_PAD_PATA_DATA3__PATA_DATA_3 909 | ||
942 | MX53_PAD_PATA_DATA3__GPIO2_3 910 | ||
943 | MX53_PAD_PATA_DATA3__EMI_NANDF_D_3 911 | ||
944 | MX53_PAD_PATA_DATA3__ESDHC3_DAT7 912 | ||
945 | MX53_PAD_PATA_DATA3__GPU3d_GPU_DEBUG_OUT_3 913 | ||
946 | MX53_PAD_PATA_DATA3__IPU_DIAG_BUS_3 914 | ||
947 | MX53_PAD_PATA_DATA4__PATA_DATA_4 915 | ||
948 | MX53_PAD_PATA_DATA4__GPIO2_4 916 | ||
949 | MX53_PAD_PATA_DATA4__EMI_NANDF_D_4 917 | ||
950 | MX53_PAD_PATA_DATA4__ESDHC4_DAT4 918 | ||
951 | MX53_PAD_PATA_DATA4__GPU3d_GPU_DEBUG_OUT_4 919 | ||
952 | MX53_PAD_PATA_DATA4__IPU_DIAG_BUS_4 920 | ||
953 | MX53_PAD_PATA_DATA5__PATA_DATA_5 921 | ||
954 | MX53_PAD_PATA_DATA5__GPIO2_5 922 | ||
955 | MX53_PAD_PATA_DATA5__EMI_NANDF_D_5 923 | ||
956 | MX53_PAD_PATA_DATA5__ESDHC4_DAT5 924 | ||
957 | MX53_PAD_PATA_DATA5__GPU3d_GPU_DEBUG_OUT_5 925 | ||
958 | MX53_PAD_PATA_DATA5__IPU_DIAG_BUS_5 926 | ||
959 | MX53_PAD_PATA_DATA6__PATA_DATA_6 927 | ||
960 | MX53_PAD_PATA_DATA6__GPIO2_6 928 | ||
961 | MX53_PAD_PATA_DATA6__EMI_NANDF_D_6 929 | ||
962 | MX53_PAD_PATA_DATA6__ESDHC4_DAT6 930 | ||
963 | MX53_PAD_PATA_DATA6__GPU3d_GPU_DEBUG_OUT_6 931 | ||
964 | MX53_PAD_PATA_DATA6__IPU_DIAG_BUS_6 932 | ||
965 | MX53_PAD_PATA_DATA7__PATA_DATA_7 933 | ||
966 | MX53_PAD_PATA_DATA7__GPIO2_7 934 | ||
967 | MX53_PAD_PATA_DATA7__EMI_NANDF_D_7 935 | ||
968 | MX53_PAD_PATA_DATA7__ESDHC4_DAT7 936 | ||
969 | MX53_PAD_PATA_DATA7__GPU3d_GPU_DEBUG_OUT_7 937 | ||
970 | MX53_PAD_PATA_DATA7__IPU_DIAG_BUS_7 938 | ||
971 | MX53_PAD_PATA_DATA8__PATA_DATA_8 939 | ||
972 | MX53_PAD_PATA_DATA8__GPIO2_8 940 | ||
973 | MX53_PAD_PATA_DATA8__ESDHC1_DAT4 941 | ||
974 | MX53_PAD_PATA_DATA8__EMI_NANDF_D_8 942 | ||
975 | MX53_PAD_PATA_DATA8__ESDHC3_DAT0 943 | ||
976 | MX53_PAD_PATA_DATA8__GPU3d_GPU_DEBUG_OUT_8 944 | ||
977 | MX53_PAD_PATA_DATA8__IPU_DIAG_BUS_8 945 | ||
978 | MX53_PAD_PATA_DATA9__PATA_DATA_9 946 | ||
979 | MX53_PAD_PATA_DATA9__GPIO2_9 947 | ||
980 | MX53_PAD_PATA_DATA9__ESDHC1_DAT5 948 | ||
981 | MX53_PAD_PATA_DATA9__EMI_NANDF_D_9 949 | ||
982 | MX53_PAD_PATA_DATA9__ESDHC3_DAT1 950 | ||
983 | MX53_PAD_PATA_DATA9__GPU3d_GPU_DEBUG_OUT_9 951 | ||
984 | MX53_PAD_PATA_DATA9__IPU_DIAG_BUS_9 952 | ||
985 | MX53_PAD_PATA_DATA10__PATA_DATA_10 953 | ||
986 | MX53_PAD_PATA_DATA10__GPIO2_10 954 | ||
987 | MX53_PAD_PATA_DATA10__ESDHC1_DAT6 955 | ||
988 | MX53_PAD_PATA_DATA10__EMI_NANDF_D_10 956 | ||
989 | MX53_PAD_PATA_DATA10__ESDHC3_DAT2 957 | ||
990 | MX53_PAD_PATA_DATA10__GPU3d_GPU_DEBUG_OUT_10 958 | ||
991 | MX53_PAD_PATA_DATA10__IPU_DIAG_BUS_10 959 | ||
992 | MX53_PAD_PATA_DATA11__PATA_DATA_11 960 | ||
993 | MX53_PAD_PATA_DATA11__GPIO2_11 961 | ||
994 | MX53_PAD_PATA_DATA11__ESDHC1_DAT7 962 | ||
995 | MX53_PAD_PATA_DATA11__EMI_NANDF_D_11 963 | ||
996 | MX53_PAD_PATA_DATA11__ESDHC3_DAT3 964 | ||
997 | MX53_PAD_PATA_DATA11__GPU3d_GPU_DEBUG_OUT_11 965 | ||
998 | MX53_PAD_PATA_DATA11__IPU_DIAG_BUS_11 966 | ||
999 | MX53_PAD_PATA_DATA12__PATA_DATA_12 967 | ||
1000 | MX53_PAD_PATA_DATA12__GPIO2_12 968 | ||
1001 | MX53_PAD_PATA_DATA12__ESDHC2_DAT4 969 | ||
1002 | MX53_PAD_PATA_DATA12__EMI_NANDF_D_12 970 | ||
1003 | MX53_PAD_PATA_DATA12__ESDHC4_DAT0 971 | ||
1004 | MX53_PAD_PATA_DATA12__GPU3d_GPU_DEBUG_OUT_12 972 | ||
1005 | MX53_PAD_PATA_DATA12__IPU_DIAG_BUS_12 973 | ||
1006 | MX53_PAD_PATA_DATA13__PATA_DATA_13 974 | ||
1007 | MX53_PAD_PATA_DATA13__GPIO2_13 975 | ||
1008 | MX53_PAD_PATA_DATA13__ESDHC2_DAT5 976 | ||
1009 | MX53_PAD_PATA_DATA13__EMI_NANDF_D_13 977 | ||
1010 | MX53_PAD_PATA_DATA13__ESDHC4_DAT1 978 | ||
1011 | MX53_PAD_PATA_DATA13__GPU3d_GPU_DEBUG_OUT_13 979 | ||
1012 | MX53_PAD_PATA_DATA13__IPU_DIAG_BUS_13 980 | ||
1013 | MX53_PAD_PATA_DATA14__PATA_DATA_14 981 | ||
1014 | MX53_PAD_PATA_DATA14__GPIO2_14 982 | ||
1015 | MX53_PAD_PATA_DATA14__ESDHC2_DAT6 983 | ||
1016 | MX53_PAD_PATA_DATA14__EMI_NANDF_D_14 984 | ||
1017 | MX53_PAD_PATA_DATA14__ESDHC4_DAT2 985 | ||
1018 | MX53_PAD_PATA_DATA14__GPU3d_GPU_DEBUG_OUT_14 986 | ||
1019 | MX53_PAD_PATA_DATA14__IPU_DIAG_BUS_14 987 | ||
1020 | MX53_PAD_PATA_DATA15__PATA_DATA_15 988 | ||
1021 | MX53_PAD_PATA_DATA15__GPIO2_15 989 | ||
1022 | MX53_PAD_PATA_DATA15__ESDHC2_DAT7 990 | ||
1023 | MX53_PAD_PATA_DATA15__EMI_NANDF_D_15 991 | ||
1024 | MX53_PAD_PATA_DATA15__ESDHC4_DAT3 992 | ||
1025 | MX53_PAD_PATA_DATA15__GPU3d_GPU_DEBUG_OUT_15 993 | ||
1026 | MX53_PAD_PATA_DATA15__IPU_DIAG_BUS_15 994 | ||
1027 | MX53_PAD_SD1_DATA0__ESDHC1_DAT0 995 | ||
1028 | MX53_PAD_SD1_DATA0__GPIO1_16 996 | ||
1029 | MX53_PAD_SD1_DATA0__GPT_CAPIN1 997 | ||
1030 | MX53_PAD_SD1_DATA0__CSPI_MISO 998 | ||
1031 | MX53_PAD_SD1_DATA0__CCM_PLL3_BYP 999 | ||
1032 | MX53_PAD_SD1_DATA1__ESDHC1_DAT1 1000 | ||
1033 | MX53_PAD_SD1_DATA1__GPIO1_17 1001 | ||
1034 | MX53_PAD_SD1_DATA1__GPT_CAPIN2 1002 | ||
1035 | MX53_PAD_SD1_DATA1__CSPI_SS0 1003 | ||
1036 | MX53_PAD_SD1_DATA1__CCM_PLL4_BYP 1004 | ||
1037 | MX53_PAD_SD1_CMD__ESDHC1_CMD 1005 | ||
1038 | MX53_PAD_SD1_CMD__GPIO1_18 1006 | ||
1039 | MX53_PAD_SD1_CMD__GPT_CMPOUT1 1007 | ||
1040 | MX53_PAD_SD1_CMD__CSPI_MOSI 1008 | ||
1041 | MX53_PAD_SD1_CMD__CCM_PLL1_BYP 1009 | ||
1042 | MX53_PAD_SD1_DATA2__ESDHC1_DAT2 1010 | ||
1043 | MX53_PAD_SD1_DATA2__GPIO1_19 1011 | ||
1044 | MX53_PAD_SD1_DATA2__GPT_CMPOUT2 1012 | ||
1045 | MX53_PAD_SD1_DATA2__PWM2_PWMO 1013 | ||
1046 | MX53_PAD_SD1_DATA2__WDOG1_WDOG_B 1014 | ||
1047 | MX53_PAD_SD1_DATA2__CSPI_SS1 1015 | ||
1048 | MX53_PAD_SD1_DATA2__WDOG1_WDOG_RST_B_DEB 1016 | ||
1049 | MX53_PAD_SD1_DATA2__CCM_PLL2_BYP 1017 | ||
1050 | MX53_PAD_SD1_CLK__ESDHC1_CLK 1018 | ||
1051 | MX53_PAD_SD1_CLK__GPIO1_20 1019 | ||
1052 | MX53_PAD_SD1_CLK__OSC32k_32K_OUT 1020 | ||
1053 | MX53_PAD_SD1_CLK__GPT_CLKIN 1021 | ||
1054 | MX53_PAD_SD1_CLK__CSPI_SCLK 1022 | ||
1055 | MX53_PAD_SD1_CLK__SATA_PHY_DTB_0 1023 | ||
1056 | MX53_PAD_SD1_DATA3__ESDHC1_DAT3 1024 | ||
1057 | MX53_PAD_SD1_DATA3__GPIO1_21 1025 | ||
1058 | MX53_PAD_SD1_DATA3__GPT_CMPOUT3 1026 | ||
1059 | MX53_PAD_SD1_DATA3__PWM1_PWMO 1027 | ||
1060 | MX53_PAD_SD1_DATA3__WDOG2_WDOG_B 1028 | ||
1061 | MX53_PAD_SD1_DATA3__CSPI_SS2 1029 | ||
1062 | MX53_PAD_SD1_DATA3__WDOG2_WDOG_RST_B_DEB 1030 | ||
1063 | MX53_PAD_SD1_DATA3__SATA_PHY_DTB_1 1031 | ||
1064 | MX53_PAD_SD2_CLK__ESDHC2_CLK 1032 | ||
1065 | MX53_PAD_SD2_CLK__GPIO1_10 1033 | ||
1066 | MX53_PAD_SD2_CLK__KPP_COL_5 1034 | ||
1067 | MX53_PAD_SD2_CLK__AUDMUX_AUD4_RXFS 1035 | ||
1068 | MX53_PAD_SD2_CLK__CSPI_SCLK 1036 | ||
1069 | MX53_PAD_SD2_CLK__SCC_RANDOM_V 1037 | ||
1070 | MX53_PAD_SD2_CMD__ESDHC2_CMD 1038 | ||
1071 | MX53_PAD_SD2_CMD__GPIO1_11 1039 | ||
1072 | MX53_PAD_SD2_CMD__KPP_ROW_5 1040 | ||
1073 | MX53_PAD_SD2_CMD__AUDMUX_AUD4_RXC 1041 | ||
1074 | MX53_PAD_SD2_CMD__CSPI_MOSI 1042 | ||
1075 | MX53_PAD_SD2_CMD__SCC_RANDOM 1043 | ||
1076 | MX53_PAD_SD2_DATA3__ESDHC2_DAT3 1044 | ||
1077 | MX53_PAD_SD2_DATA3__GPIO1_12 1045 | ||
1078 | MX53_PAD_SD2_DATA3__KPP_COL_6 1046 | ||
1079 | MX53_PAD_SD2_DATA3__AUDMUX_AUD4_TXC 1047 | ||
1080 | MX53_PAD_SD2_DATA3__CSPI_SS2 1048 | ||
1081 | MX53_PAD_SD2_DATA3__SJC_DONE 1049 | ||
1082 | MX53_PAD_SD2_DATA2__ESDHC2_DAT2 1050 | ||
1083 | MX53_PAD_SD2_DATA2__GPIO1_13 1051 | ||
1084 | MX53_PAD_SD2_DATA2__KPP_ROW_6 1052 | ||
1085 | MX53_PAD_SD2_DATA2__AUDMUX_AUD4_TXD 1053 | ||
1086 | MX53_PAD_SD2_DATA2__CSPI_SS1 1054 | ||
1087 | MX53_PAD_SD2_DATA2__SJC_FAIL 1055 | ||
1088 | MX53_PAD_SD2_DATA1__ESDHC2_DAT1 1056 | ||
1089 | MX53_PAD_SD2_DATA1__GPIO1_14 1057 | ||
1090 | MX53_PAD_SD2_DATA1__KPP_COL_7 1058 | ||
1091 | MX53_PAD_SD2_DATA1__AUDMUX_AUD4_TXFS 1059 | ||
1092 | MX53_PAD_SD2_DATA1__CSPI_SS0 1060 | ||
1093 | MX53_PAD_SD2_DATA1__RTIC_SEC_VIO 1061 | ||
1094 | MX53_PAD_SD2_DATA0__ESDHC2_DAT0 1062 | ||
1095 | MX53_PAD_SD2_DATA0__GPIO1_15 1063 | ||
1096 | MX53_PAD_SD2_DATA0__KPP_ROW_7 1064 | ||
1097 | MX53_PAD_SD2_DATA0__AUDMUX_AUD4_RXD 1065 | ||
1098 | MX53_PAD_SD2_DATA0__CSPI_MISO 1066 | ||
1099 | MX53_PAD_SD2_DATA0__RTIC_DONE_INT 1067 | ||
1100 | MX53_PAD_GPIO_0__CCM_CLKO 1068 | ||
1101 | MX53_PAD_GPIO_0__GPIO1_0 1069 | ||
1102 | MX53_PAD_GPIO_0__KPP_COL_5 1070 | ||
1103 | MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 1071 | ||
1104 | MX53_PAD_GPIO_0__EPIT1_EPITO 1072 | ||
1105 | MX53_PAD_GPIO_0__SRTC_ALARM_DEB 1073 | ||
1106 | MX53_PAD_GPIO_0__USBOH3_USBH1_PWR 1074 | ||
1107 | MX53_PAD_GPIO_0__CSU_TD 1075 | ||
1108 | MX53_PAD_GPIO_1__ESAI1_SCKR 1076 | ||
1109 | MX53_PAD_GPIO_1__GPIO1_1 1077 | ||
1110 | MX53_PAD_GPIO_1__KPP_ROW_5 1078 | ||
1111 | MX53_PAD_GPIO_1__CCM_SSI_EXT2_CLK 1079 | ||
1112 | MX53_PAD_GPIO_1__PWM2_PWMO 1080 | ||
1113 | MX53_PAD_GPIO_1__WDOG2_WDOG_B 1081 | ||
1114 | MX53_PAD_GPIO_1__ESDHC1_CD 1082 | ||
1115 | MX53_PAD_GPIO_1__SRC_TESTER_ACK 1083 | ||
1116 | MX53_PAD_GPIO_9__ESAI1_FSR 1084 | ||
1117 | MX53_PAD_GPIO_9__GPIO1_9 1085 | ||
1118 | MX53_PAD_GPIO_9__KPP_COL_6 1086 | ||
1119 | MX53_PAD_GPIO_9__CCM_REF_EN_B 1087 | ||
1120 | MX53_PAD_GPIO_9__PWM1_PWMO 1088 | ||
1121 | MX53_PAD_GPIO_9__WDOG1_WDOG_B 1089 | ||
1122 | MX53_PAD_GPIO_9__ESDHC1_WP 1090 | ||
1123 | MX53_PAD_GPIO_9__SCC_FAIL_STATE 1091 | ||
1124 | MX53_PAD_GPIO_3__ESAI1_HCKR 1092 | ||
1125 | MX53_PAD_GPIO_3__GPIO1_3 1093 | ||
1126 | MX53_PAD_GPIO_3__I2C3_SCL 1094 | ||
1127 | MX53_PAD_GPIO_3__DPLLIP1_TOG_EN 1095 | ||
1128 | MX53_PAD_GPIO_3__CCM_CLKO2 1096 | ||
1129 | MX53_PAD_GPIO_3__OBSERVE_MUX_OBSRV_INT_OUT0 1097 | ||
1130 | MX53_PAD_GPIO_3__USBOH3_USBH1_OC 1098 | ||
1131 | MX53_PAD_GPIO_3__MLB_MLBCLK 1099 | ||
1132 | MX53_PAD_GPIO_6__ESAI1_SCKT 1100 | ||
1133 | MX53_PAD_GPIO_6__GPIO1_6 1101 | ||
1134 | MX53_PAD_GPIO_6__I2C3_SDA 1102 | ||
1135 | MX53_PAD_GPIO_6__CCM_CCM_OUT_0 1103 | ||
1136 | MX53_PAD_GPIO_6__CSU_CSU_INT_DEB 1104 | ||
1137 | MX53_PAD_GPIO_6__OBSERVE_MUX_OBSRV_INT_OUT1 1105 | ||
1138 | MX53_PAD_GPIO_6__ESDHC2_LCTL 1106 | ||
1139 | MX53_PAD_GPIO_6__MLB_MLBSIG 1107 | ||
1140 | MX53_PAD_GPIO_2__ESAI1_FST 1108 | ||
1141 | MX53_PAD_GPIO_2__GPIO1_2 1109 | ||
1142 | MX53_PAD_GPIO_2__KPP_ROW_6 1110 | ||
1143 | MX53_PAD_GPIO_2__CCM_CCM_OUT_1 1111 | ||
1144 | MX53_PAD_GPIO_2__CSU_CSU_ALARM_AUT_0 1112 | ||
1145 | MX53_PAD_GPIO_2__OBSERVE_MUX_OBSRV_INT_OUT2 1113 | ||
1146 | MX53_PAD_GPIO_2__ESDHC2_WP 1114 | ||
1147 | MX53_PAD_GPIO_2__MLB_MLBDAT 1115 | ||
1148 | MX53_PAD_GPIO_4__ESAI1_HCKT 1116 | ||
1149 | MX53_PAD_GPIO_4__GPIO1_4 1117 | ||
1150 | MX53_PAD_GPIO_4__KPP_COL_7 1118 | ||
1151 | MX53_PAD_GPIO_4__CCM_CCM_OUT_2 1119 | ||
1152 | MX53_PAD_GPIO_4__CSU_CSU_ALARM_AUT_1 1120 | ||
1153 | MX53_PAD_GPIO_4__OBSERVE_MUX_OBSRV_INT_OUT3 1121 | ||
1154 | MX53_PAD_GPIO_4__ESDHC2_CD 1122 | ||
1155 | MX53_PAD_GPIO_4__SCC_SEC_STATE 1123 | ||
1156 | MX53_PAD_GPIO_5__ESAI1_TX2_RX3 1124 | ||
1157 | MX53_PAD_GPIO_5__GPIO1_5 1125 | ||
1158 | MX53_PAD_GPIO_5__KPP_ROW_7 1126 | ||
1159 | MX53_PAD_GPIO_5__CCM_CLKO 1127 | ||
1160 | MX53_PAD_GPIO_5__CSU_CSU_ALARM_AUT_2 1128 | ||
1161 | MX53_PAD_GPIO_5__OBSERVE_MUX_OBSRV_INT_OUT4 1129 | ||
1162 | MX53_PAD_GPIO_5__I2C3_SCL 1130 | ||
1163 | MX53_PAD_GPIO_5__CCM_PLL1_BYP 1131 | ||
1164 | MX53_PAD_GPIO_7__ESAI1_TX4_RX1 1132 | ||
1165 | MX53_PAD_GPIO_7__GPIO1_7 1133 | ||
1166 | MX53_PAD_GPIO_7__EPIT1_EPITO 1134 | ||
1167 | MX53_PAD_GPIO_7__CAN1_TXCAN 1135 | ||
1168 | MX53_PAD_GPIO_7__UART2_TXD_MUX 1136 | ||
1169 | MX53_PAD_GPIO_7__FIRI_RXD 1137 | ||
1170 | MX53_PAD_GPIO_7__SPDIF_PLOCK 1138 | ||
1171 | MX53_PAD_GPIO_7__CCM_PLL2_BYP 1139 | ||
1172 | MX53_PAD_GPIO_8__ESAI1_TX5_RX0 1140 | ||
1173 | MX53_PAD_GPIO_8__GPIO1_8 1141 | ||
1174 | MX53_PAD_GPIO_8__EPIT2_EPITO 1142 | ||
1175 | MX53_PAD_GPIO_8__CAN1_RXCAN 1143 | ||
1176 | MX53_PAD_GPIO_8__UART2_RXD_MUX 1144 | ||
1177 | MX53_PAD_GPIO_8__FIRI_TXD 1145 | ||
1178 | MX53_PAD_GPIO_8__SPDIF_SRCLK 1146 | ||
1179 | MX53_PAD_GPIO_8__CCM_PLL3_BYP 1147 | ||
1180 | MX53_PAD_GPIO_16__ESAI1_TX3_RX2 1148 | ||
1181 | MX53_PAD_GPIO_16__GPIO7_11 1149 | ||
1182 | MX53_PAD_GPIO_16__TZIC_PWRFAIL_INT 1150 | ||
1183 | MX53_PAD_GPIO_16__RTC_CE_RTC_EXT_TRIG1 1151 | ||
1184 | MX53_PAD_GPIO_16__SPDIF_IN1 1152 | ||
1185 | MX53_PAD_GPIO_16__I2C3_SDA 1153 | ||
1186 | MX53_PAD_GPIO_16__SJC_DE_B 1154 | ||
1187 | MX53_PAD_GPIO_17__ESAI1_TX0 1155 | ||
1188 | MX53_PAD_GPIO_17__GPIO7_12 1156 | ||
1189 | MX53_PAD_GPIO_17__SDMA_EXT_EVENT_0 1157 | ||
1190 | MX53_PAD_GPIO_17__GPC_PMIC_RDY 1158 | ||
1191 | MX53_PAD_GPIO_17__RTC_CE_RTC_FSV_TRIG 1159 | ||
1192 | MX53_PAD_GPIO_17__SPDIF_OUT1 1160 | ||
1193 | MX53_PAD_GPIO_17__IPU_SNOOP2 1161 | ||
1194 | MX53_PAD_GPIO_17__SJC_JTAG_ACT 1162 | ||
1195 | MX53_PAD_GPIO_18__ESAI1_TX1 1163 | ||
1196 | MX53_PAD_GPIO_18__GPIO7_13 1164 | ||
1197 | MX53_PAD_GPIO_18__SDMA_EXT_EVENT_1 1165 | ||
1198 | MX53_PAD_GPIO_18__OWIRE_LINE 1166 | ||
1199 | MX53_PAD_GPIO_18__RTC_CE_RTC_ALARM2_TRIG 1167 | ||
1200 | MX53_PAD_GPIO_18__CCM_ASRC_EXT_CLK 1168 | ||
1201 | MX53_PAD_GPIO_18__ESDHC1_LCTL 1169 | ||
1202 | MX53_PAD_GPIO_18__SRC_SYSTEM_RST 1170 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt new file mode 100644 index 000000000000..82b43f915857 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt | |||
@@ -0,0 +1,1628 @@ | |||
1 | * Freescale IMX6Q IOMUX Controller | ||
2 | |||
3 | Please refer to fsl,imx-pinctrl.txt in this directory for common binding part | ||
4 | and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "fsl,imx6q-iomuxc" | ||
8 | - fsl,pins: two integers array, represents a group of pins mux and config | ||
9 | setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a | ||
10 | pin working on a specific function, CONFIG is the pad setting value like | ||
11 | pull-up for this pin. Please refer to imx6q datasheet for the valid pad | ||
12 | config settings. | ||
13 | |||
14 | CONFIG bits definition: | ||
15 | PAD_CTL_HYS (1 << 16) | ||
16 | PAD_CTL_PUS_100K_DOWN (0 << 14) | ||
17 | PAD_CTL_PUS_47K_UP (1 << 14) | ||
18 | PAD_CTL_PUS_100K_UP (2 << 14) | ||
19 | PAD_CTL_PUS_22K_UP (3 << 14) | ||
20 | PAD_CTL_PUE (1 << 13) | ||
21 | PAD_CTL_PKE (1 << 12) | ||
22 | PAD_CTL_ODE (1 << 11) | ||
23 | PAD_CTL_SPEED_LOW (1 << 6) | ||
24 | PAD_CTL_SPEED_MED (2 << 6) | ||
25 | PAD_CTL_SPEED_HIGH (3 << 6) | ||
26 | PAD_CTL_DSE_DISABLE (0 << 3) | ||
27 | PAD_CTL_DSE_240ohm (1 << 3) | ||
28 | PAD_CTL_DSE_120ohm (2 << 3) | ||
29 | PAD_CTL_DSE_80ohm (3 << 3) | ||
30 | PAD_CTL_DSE_60ohm (4 << 3) | ||
31 | PAD_CTL_DSE_48ohm (5 << 3) | ||
32 | PAD_CTL_DSE_40ohm (6 << 3) | ||
33 | PAD_CTL_DSE_34ohm (7 << 3) | ||
34 | PAD_CTL_SRE_FAST (1 << 0) | ||
35 | PAD_CTL_SRE_SLOW (0 << 0) | ||
36 | |||
37 | See below for available PIN_FUNC_ID for imx6q: | ||
38 | MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 0 | ||
39 | MX6Q_PAD_SD2_DAT1__ECSPI5_SS0 1 | ||
40 | MX6Q_PAD_SD2_DAT1__WEIM_WEIM_CS_2 2 | ||
41 | MX6Q_PAD_SD2_DAT1__AUDMUX_AUD4_TXFS 3 | ||
42 | MX6Q_PAD_SD2_DAT1__KPP_COL_7 4 | ||
43 | MX6Q_PAD_SD2_DAT1__GPIO_1_14 5 | ||
44 | MX6Q_PAD_SD2_DAT1__CCM_WAIT 6 | ||
45 | MX6Q_PAD_SD2_DAT1__ANATOP_TESTO_0 7 | ||
46 | MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 8 | ||
47 | MX6Q_PAD_SD2_DAT2__ECSPI5_SS1 9 | ||
48 | MX6Q_PAD_SD2_DAT2__WEIM_WEIM_CS_3 10 | ||
49 | MX6Q_PAD_SD2_DAT2__AUDMUX_AUD4_TXD 11 | ||
50 | MX6Q_PAD_SD2_DAT2__KPP_ROW_6 12 | ||
51 | MX6Q_PAD_SD2_DAT2__GPIO_1_13 13 | ||
52 | MX6Q_PAD_SD2_DAT2__CCM_STOP 14 | ||
53 | MX6Q_PAD_SD2_DAT2__ANATOP_TESTO_1 15 | ||
54 | MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 16 | ||
55 | MX6Q_PAD_SD2_DAT0__ECSPI5_MISO 17 | ||
56 | MX6Q_PAD_SD2_DAT0__AUDMUX_AUD4_RXD 18 | ||
57 | MX6Q_PAD_SD2_DAT0__KPP_ROW_7 19 | ||
58 | MX6Q_PAD_SD2_DAT0__GPIO_1_15 20 | ||
59 | MX6Q_PAD_SD2_DAT0__DCIC2_DCIC_OUT 21 | ||
60 | MX6Q_PAD_SD2_DAT0__TESTO_2 22 | ||
61 | MX6Q_PAD_RGMII_TXC__USBOH3_H2_DATA 23 | ||
62 | MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC 24 | ||
63 | MX6Q_PAD_RGMII_TXC__SPDIF_SPDIF_EXTCLK 25 | ||
64 | MX6Q_PAD_RGMII_TXC__GPIO_6_19 26 | ||
65 | MX6Q_PAD_RGMII_TXC__MIPI_CORE_DPHY_IN_0 27 | ||
66 | MX6Q_PAD_RGMII_TXC__ANATOP_24M_OUT 28 | ||
67 | MX6Q_PAD_RGMII_TD0__MIPI_HSI_CRL_TX_RDY 29 | ||
68 | MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0 30 | ||
69 | MX6Q_PAD_RGMII_TD0__GPIO_6_20 31 | ||
70 | MX6Q_PAD_RGMII_TD0__MIPI_CORE_DPHY_IN_1 32 | ||
71 | MX6Q_PAD_RGMII_TD1__MIPI_HSI_CRL_RX_FLG 33 | ||
72 | MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1 34 | ||
73 | MX6Q_PAD_RGMII_TD1__GPIO_6_21 35 | ||
74 | MX6Q_PAD_RGMII_TD1__MIPI_CORE_DPHY_IN_2 36 | ||
75 | MX6Q_PAD_RGMII_TD1__CCM_PLL3_BYP 37 | ||
76 | MX6Q_PAD_RGMII_TD2__MIPI_HSI_CRL_RX_DTA 38 | ||
77 | MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2 39 | ||
78 | MX6Q_PAD_RGMII_TD2__GPIO_6_22 40 | ||
79 | MX6Q_PAD_RGMII_TD2__MIPI_CORE_DPHY_IN_3 41 | ||
80 | MX6Q_PAD_RGMII_TD2__CCM_PLL2_BYP 42 | ||
81 | MX6Q_PAD_RGMII_TD3__MIPI_HSI_CRL_RX_WAK 43 | ||
82 | MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3 44 | ||
83 | MX6Q_PAD_RGMII_TD3__GPIO_6_23 45 | ||
84 | MX6Q_PAD_RGMII_TD3__MIPI_CORE_DPHY_IN_4 46 | ||
85 | MX6Q_PAD_RGMII_RX_CTL__USBOH3_H3_DATA 47 | ||
86 | MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL 48 | ||
87 | MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24 49 | ||
88 | MX6Q_PAD_RGMII_RX_CTL__MIPI_DPHY_IN_5 50 | ||
89 | MX6Q_PAD_RGMII_RD0__MIPI_HSI_CRL_RX_RDY 51 | ||
90 | MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0 52 | ||
91 | MX6Q_PAD_RGMII_RD0__GPIO_6_25 53 | ||
92 | MX6Q_PAD_RGMII_RD0__MIPI_CORE_DPHY_IN_6 54 | ||
93 | MX6Q_PAD_RGMII_TX_CTL__USBOH3_H2_STROBE 55 | ||
94 | MX6Q_PAD_RGMII_TX_CTL__RGMII_TX_CTL 56 | ||
95 | MX6Q_PAD_RGMII_TX_CTL__GPIO_6_26 57 | ||
96 | MX6Q_PAD_RGMII_TX_CTL__CORE_DPHY_IN_7 58 | ||
97 | MX6Q_PAD_RGMII_TX_CTL__ANATOP_REF_OUT 59 | ||
98 | MX6Q_PAD_RGMII_RD1__MIPI_HSI_CTRL_TX_FL 60 | ||
99 | MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1 61 | ||
100 | MX6Q_PAD_RGMII_RD1__GPIO_6_27 62 | ||
101 | MX6Q_PAD_RGMII_RD1__CORE_DPHY_TEST_IN_8 63 | ||
102 | MX6Q_PAD_RGMII_RD1__SJC_FAIL 64 | ||
103 | MX6Q_PAD_RGMII_RD2__MIPI_HSI_CRL_TX_DTA 65 | ||
104 | MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2 66 | ||
105 | MX6Q_PAD_RGMII_RD2__GPIO_6_28 67 | ||
106 | MX6Q_PAD_RGMII_RD2__MIPI_CORE_DPHY_IN_9 68 | ||
107 | MX6Q_PAD_RGMII_RD3__MIPI_HSI_CRL_TX_WAK 69 | ||
108 | MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3 70 | ||
109 | MX6Q_PAD_RGMII_RD3__GPIO_6_29 71 | ||
110 | MX6Q_PAD_RGMII_RD3__MIPI_CORE_DPHY_IN10 72 | ||
111 | MX6Q_PAD_RGMII_RXC__USBOH3_H3_STROBE 73 | ||
112 | MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC 74 | ||
113 | MX6Q_PAD_RGMII_RXC__GPIO_6_30 75 | ||
114 | MX6Q_PAD_RGMII_RXC__MIPI_CORE_DPHY_IN11 76 | ||
115 | MX6Q_PAD_EIM_A25__WEIM_WEIM_A_25 77 | ||
116 | MX6Q_PAD_EIM_A25__ECSPI4_SS1 78 | ||
117 | MX6Q_PAD_EIM_A25__ECSPI2_RDY 79 | ||
118 | MX6Q_PAD_EIM_A25__IPU1_DI1_PIN12 80 | ||
119 | MX6Q_PAD_EIM_A25__IPU1_DI0_D1_CS 81 | ||
120 | MX6Q_PAD_EIM_A25__GPIO_5_2 82 | ||
121 | MX6Q_PAD_EIM_A25__HDMI_TX_CEC_LINE 83 | ||
122 | MX6Q_PAD_EIM_A25__PL301_PER1_HBURST_0 84 | ||
123 | MX6Q_PAD_EIM_EB2__WEIM_WEIM_EB_2 85 | ||
124 | MX6Q_PAD_EIM_EB2__ECSPI1_SS0 86 | ||
125 | MX6Q_PAD_EIM_EB2__CCM_DI1_EXT_CLK 87 | ||
126 | MX6Q_PAD_EIM_EB2__IPU2_CSI1_D_19 88 | ||
127 | MX6Q_PAD_EIM_EB2__HDMI_TX_DDC_SCL 89 | ||
128 | MX6Q_PAD_EIM_EB2__GPIO_2_30 90 | ||
129 | MX6Q_PAD_EIM_EB2__I2C2_SCL 91 | ||
130 | MX6Q_PAD_EIM_EB2__SRC_BT_CFG_30 92 | ||
131 | MX6Q_PAD_EIM_D16__WEIM_WEIM_D_16 93 | ||
132 | MX6Q_PAD_EIM_D16__ECSPI1_SCLK 94 | ||
133 | MX6Q_PAD_EIM_D16__IPU1_DI0_PIN5 95 | ||
134 | MX6Q_PAD_EIM_D16__IPU2_CSI1_D_18 96 | ||
135 | MX6Q_PAD_EIM_D16__HDMI_TX_DDC_SDA 97 | ||
136 | MX6Q_PAD_EIM_D16__GPIO_3_16 98 | ||
137 | MX6Q_PAD_EIM_D16__I2C2_SDA 99 | ||
138 | MX6Q_PAD_EIM_D17__WEIM_WEIM_D_17 100 | ||
139 | MX6Q_PAD_EIM_D17__ECSPI1_MISO 101 | ||
140 | MX6Q_PAD_EIM_D17__IPU1_DI0_PIN6 102 | ||
141 | MX6Q_PAD_EIM_D17__IPU2_CSI1_PIXCLK 103 | ||
142 | MX6Q_PAD_EIM_D17__DCIC1_DCIC_OUT 104 | ||
143 | MX6Q_PAD_EIM_D17__GPIO_3_17 105 | ||
144 | MX6Q_PAD_EIM_D17__I2C3_SCL 106 | ||
145 | MX6Q_PAD_EIM_D17__PL301_PER1_HBURST_1 107 | ||
146 | MX6Q_PAD_EIM_D18__WEIM_WEIM_D_18 108 | ||
147 | MX6Q_PAD_EIM_D18__ECSPI1_MOSI 109 | ||
148 | MX6Q_PAD_EIM_D18__IPU1_DI0_PIN7 110 | ||
149 | MX6Q_PAD_EIM_D18__IPU2_CSI1_D_17 111 | ||
150 | MX6Q_PAD_EIM_D18__IPU1_DI1_D0_CS 112 | ||
151 | MX6Q_PAD_EIM_D18__GPIO_3_18 113 | ||
152 | MX6Q_PAD_EIM_D18__I2C3_SDA 114 | ||
153 | MX6Q_PAD_EIM_D18__PL301_PER1_HBURST_2 115 | ||
154 | MX6Q_PAD_EIM_D19__WEIM_WEIM_D_19 116 | ||
155 | MX6Q_PAD_EIM_D19__ECSPI1_SS1 117 | ||
156 | MX6Q_PAD_EIM_D19__IPU1_DI0_PIN8 118 | ||
157 | MX6Q_PAD_EIM_D19__IPU2_CSI1_D_16 119 | ||
158 | MX6Q_PAD_EIM_D19__UART1_CTS 120 | ||
159 | MX6Q_PAD_EIM_D19__GPIO_3_19 121 | ||
160 | MX6Q_PAD_EIM_D19__EPIT1_EPITO 122 | ||
161 | MX6Q_PAD_EIM_D19__PL301_PER1_HRESP 123 | ||
162 | MX6Q_PAD_EIM_D20__WEIM_WEIM_D_20 124 | ||
163 | MX6Q_PAD_EIM_D20__ECSPI4_SS0 125 | ||
164 | MX6Q_PAD_EIM_D20__IPU1_DI0_PIN16 126 | ||
165 | MX6Q_PAD_EIM_D20__IPU2_CSI1_D_15 127 | ||
166 | MX6Q_PAD_EIM_D20__UART1_RTS 128 | ||
167 | MX6Q_PAD_EIM_D20__GPIO_3_20 129 | ||
168 | MX6Q_PAD_EIM_D20__EPIT2_EPITO 130 | ||
169 | MX6Q_PAD_EIM_D21__WEIM_WEIM_D_21 131 | ||
170 | MX6Q_PAD_EIM_D21__ECSPI4_SCLK 132 | ||
171 | MX6Q_PAD_EIM_D21__IPU1_DI0_PIN17 133 | ||
172 | MX6Q_PAD_EIM_D21__IPU2_CSI1_D_11 134 | ||
173 | MX6Q_PAD_EIM_D21__USBOH3_USBOTG_OC 135 | ||
174 | MX6Q_PAD_EIM_D21__GPIO_3_21 136 | ||
175 | MX6Q_PAD_EIM_D21__I2C1_SCL 137 | ||
176 | MX6Q_PAD_EIM_D21__SPDIF_IN1 138 | ||
177 | MX6Q_PAD_EIM_D22__WEIM_WEIM_D_22 139 | ||
178 | MX6Q_PAD_EIM_D22__ECSPI4_MISO 140 | ||
179 | MX6Q_PAD_EIM_D22__IPU1_DI0_PIN1 141 | ||
180 | MX6Q_PAD_EIM_D22__IPU2_CSI1_D_10 142 | ||
181 | MX6Q_PAD_EIM_D22__USBOH3_USBOTG_PWR 143 | ||
182 | MX6Q_PAD_EIM_D22__GPIO_3_22 144 | ||
183 | MX6Q_PAD_EIM_D22__SPDIF_OUT1 145 | ||
184 | MX6Q_PAD_EIM_D22__PL301_PER1_HWRITE 146 | ||
185 | MX6Q_PAD_EIM_D23__WEIM_WEIM_D_23 147 | ||
186 | MX6Q_PAD_EIM_D23__IPU1_DI0_D0_CS 148 | ||
187 | MX6Q_PAD_EIM_D23__UART3_CTS 149 | ||
188 | MX6Q_PAD_EIM_D23__UART1_DCD 150 | ||
189 | MX6Q_PAD_EIM_D23__IPU2_CSI1_DATA_EN 151 | ||
190 | MX6Q_PAD_EIM_D23__GPIO_3_23 152 | ||
191 | MX6Q_PAD_EIM_D23__IPU1_DI1_PIN2 153 | ||
192 | MX6Q_PAD_EIM_D23__IPU1_DI1_PIN14 154 | ||
193 | MX6Q_PAD_EIM_EB3__WEIM_WEIM_EB_3 155 | ||
194 | MX6Q_PAD_EIM_EB3__ECSPI4_RDY 156 | ||
195 | MX6Q_PAD_EIM_EB3__UART3_RTS 157 | ||
196 | MX6Q_PAD_EIM_EB3__UART1_RI 158 | ||
197 | MX6Q_PAD_EIM_EB3__IPU2_CSI1_HSYNC 159 | ||
198 | MX6Q_PAD_EIM_EB3__GPIO_2_31 160 | ||
199 | MX6Q_PAD_EIM_EB3__IPU1_DI1_PIN3 161 | ||
200 | MX6Q_PAD_EIM_EB3__SRC_BT_CFG_31 162 | ||
201 | MX6Q_PAD_EIM_D24__WEIM_WEIM_D_24 163 | ||
202 | MX6Q_PAD_EIM_D24__ECSPI4_SS2 164 | ||
203 | MX6Q_PAD_EIM_D24__UART3_TXD 165 | ||
204 | MX6Q_PAD_EIM_D24__ECSPI1_SS2 166 | ||
205 | MX6Q_PAD_EIM_D24__ECSPI2_SS2 167 | ||
206 | MX6Q_PAD_EIM_D24__GPIO_3_24 168 | ||
207 | MX6Q_PAD_EIM_D24__AUDMUX_AUD5_RXFS 169 | ||
208 | MX6Q_PAD_EIM_D24__UART1_DTR 170 | ||
209 | MX6Q_PAD_EIM_D25__WEIM_WEIM_D_25 171 | ||
210 | MX6Q_PAD_EIM_D25__ECSPI4_SS3 172 | ||
211 | MX6Q_PAD_EIM_D25__UART3_RXD 173 | ||
212 | MX6Q_PAD_EIM_D25__ECSPI1_SS3 174 | ||
213 | MX6Q_PAD_EIM_D25__ECSPI2_SS3 175 | ||
214 | MX6Q_PAD_EIM_D25__GPIO_3_25 176 | ||
215 | MX6Q_PAD_EIM_D25__AUDMUX_AUD5_RXC 177 | ||
216 | MX6Q_PAD_EIM_D25__UART1_DSR 178 | ||
217 | MX6Q_PAD_EIM_D26__WEIM_WEIM_D_26 179 | ||
218 | MX6Q_PAD_EIM_D26__IPU1_DI1_PIN11 180 | ||
219 | MX6Q_PAD_EIM_D26__IPU1_CSI0_D_1 181 | ||
220 | MX6Q_PAD_EIM_D26__IPU2_CSI1_D_14 182 | ||
221 | MX6Q_PAD_EIM_D26__UART2_TXD 183 | ||
222 | MX6Q_PAD_EIM_D26__GPIO_3_26 184 | ||
223 | MX6Q_PAD_EIM_D26__IPU1_SISG_2 185 | ||
224 | MX6Q_PAD_EIM_D26__IPU1_DISP1_DAT_22 186 | ||
225 | MX6Q_PAD_EIM_D27__WEIM_WEIM_D_27 187 | ||
226 | MX6Q_PAD_EIM_D27__IPU1_DI1_PIN13 188 | ||
227 | MX6Q_PAD_EIM_D27__IPU1_CSI0_D_0 189 | ||
228 | MX6Q_PAD_EIM_D27__IPU2_CSI1_D_13 190 | ||
229 | MX6Q_PAD_EIM_D27__UART2_RXD 191 | ||
230 | MX6Q_PAD_EIM_D27__GPIO_3_27 192 | ||
231 | MX6Q_PAD_EIM_D27__IPU1_SISG_3 193 | ||
232 | MX6Q_PAD_EIM_D27__IPU1_DISP1_DAT_23 194 | ||
233 | MX6Q_PAD_EIM_D28__WEIM_WEIM_D_28 195 | ||
234 | MX6Q_PAD_EIM_D28__I2C1_SDA 196 | ||
235 | MX6Q_PAD_EIM_D28__ECSPI4_MOSI 197 | ||
236 | MX6Q_PAD_EIM_D28__IPU2_CSI1_D_12 198 | ||
237 | MX6Q_PAD_EIM_D28__UART2_CTS 199 | ||
238 | MX6Q_PAD_EIM_D28__GPIO_3_28 200 | ||
239 | MX6Q_PAD_EIM_D28__IPU1_EXT_TRIG 201 | ||
240 | MX6Q_PAD_EIM_D28__IPU1_DI0_PIN13 202 | ||
241 | MX6Q_PAD_EIM_D29__WEIM_WEIM_D_29 203 | ||
242 | MX6Q_PAD_EIM_D29__IPU1_DI1_PIN15 204 | ||
243 | MX6Q_PAD_EIM_D29__ECSPI4_SS0 205 | ||
244 | MX6Q_PAD_EIM_D29__UART2_RTS 206 | ||
245 | MX6Q_PAD_EIM_D29__GPIO_3_29 207 | ||
246 | MX6Q_PAD_EIM_D29__IPU2_CSI1_VSYNC 208 | ||
247 | MX6Q_PAD_EIM_D29__IPU1_DI0_PIN14 209 | ||
248 | MX6Q_PAD_EIM_D30__WEIM_WEIM_D_30 210 | ||
249 | MX6Q_PAD_EIM_D30__IPU1_DISP1_DAT_21 211 | ||
250 | MX6Q_PAD_EIM_D30__IPU1_DI0_PIN11 212 | ||
251 | MX6Q_PAD_EIM_D30__IPU1_CSI0_D_3 213 | ||
252 | MX6Q_PAD_EIM_D30__UART3_CTS 214 | ||
253 | MX6Q_PAD_EIM_D30__GPIO_3_30 215 | ||
254 | MX6Q_PAD_EIM_D30__USBOH3_USBH1_OC 216 | ||
255 | MX6Q_PAD_EIM_D30__PL301_PER1_HPROT_0 217 | ||
256 | MX6Q_PAD_EIM_D31__WEIM_WEIM_D_31 218 | ||
257 | MX6Q_PAD_EIM_D31__IPU1_DISP1_DAT_20 219 | ||
258 | MX6Q_PAD_EIM_D31__IPU1_DI0_PIN12 220 | ||
259 | MX6Q_PAD_EIM_D31__IPU1_CSI0_D_2 221 | ||
260 | MX6Q_PAD_EIM_D31__UART3_RTS 222 | ||
261 | MX6Q_PAD_EIM_D31__GPIO_3_31 223 | ||
262 | MX6Q_PAD_EIM_D31__USBOH3_USBH1_PWR 224 | ||
263 | MX6Q_PAD_EIM_D31__PL301_PER1_HPROT_1 225 | ||
264 | MX6Q_PAD_EIM_A24__WEIM_WEIM_A_24 226 | ||
265 | MX6Q_PAD_EIM_A24__IPU1_DISP1_DAT_19 227 | ||
266 | MX6Q_PAD_EIM_A24__IPU2_CSI1_D_19 228 | ||
267 | MX6Q_PAD_EIM_A24__IPU2_SISG_2 229 | ||
268 | MX6Q_PAD_EIM_A24__IPU1_SISG_2 230 | ||
269 | MX6Q_PAD_EIM_A24__GPIO_5_4 231 | ||
270 | MX6Q_PAD_EIM_A24__PL301_PER1_HPROT_2 232 | ||
271 | MX6Q_PAD_EIM_A24__SRC_BT_CFG_24 233 | ||
272 | MX6Q_PAD_EIM_A23__WEIM_WEIM_A_23 234 | ||
273 | MX6Q_PAD_EIM_A23__IPU1_DISP1_DAT_18 235 | ||
274 | MX6Q_PAD_EIM_A23__IPU2_CSI1_D_18 236 | ||
275 | MX6Q_PAD_EIM_A23__IPU2_SISG_3 237 | ||
276 | MX6Q_PAD_EIM_A23__IPU1_SISG_3 238 | ||
277 | MX6Q_PAD_EIM_A23__GPIO_6_6 239 | ||
278 | MX6Q_PAD_EIM_A23__PL301_PER1_HPROT_3 240 | ||
279 | MX6Q_PAD_EIM_A23__SRC_BT_CFG_23 241 | ||
280 | MX6Q_PAD_EIM_A22__WEIM_WEIM_A_22 242 | ||
281 | MX6Q_PAD_EIM_A22__IPU1_DISP1_DAT_17 243 | ||
282 | MX6Q_PAD_EIM_A22__IPU2_CSI1_D_17 244 | ||
283 | MX6Q_PAD_EIM_A22__GPIO_2_16 245 | ||
284 | MX6Q_PAD_EIM_A22__TPSMP_HDATA_0 246 | ||
285 | MX6Q_PAD_EIM_A22__SRC_BT_CFG_22 247 | ||
286 | MX6Q_PAD_EIM_A21__WEIM_WEIM_A_21 248 | ||
287 | MX6Q_PAD_EIM_A21__IPU1_DISP1_DAT_16 249 | ||
288 | MX6Q_PAD_EIM_A21__IPU2_CSI1_D_16 250 | ||
289 | MX6Q_PAD_EIM_A21__RESERVED_RESERVED 251 | ||
290 | MX6Q_PAD_EIM_A21__MIPI_CORE_DPHY_OUT_18 252 | ||
291 | MX6Q_PAD_EIM_A21__GPIO_2_17 253 | ||
292 | MX6Q_PAD_EIM_A21__TPSMP_HDATA_1 254 | ||
293 | MX6Q_PAD_EIM_A21__SRC_BT_CFG_21 255 | ||
294 | MX6Q_PAD_EIM_A20__WEIM_WEIM_A_20 256 | ||
295 | MX6Q_PAD_EIM_A20__IPU1_DISP1_DAT_15 257 | ||
296 | MX6Q_PAD_EIM_A20__IPU2_CSI1_D_15 258 | ||
297 | MX6Q_PAD_EIM_A20__RESERVED_RESERVED 259 | ||
298 | MX6Q_PAD_EIM_A20__MIPI_CORE_DPHY_OUT_19 260 | ||
299 | MX6Q_PAD_EIM_A20__GPIO_2_18 261 | ||
300 | MX6Q_PAD_EIM_A20__TPSMP_HDATA_2 262 | ||
301 | MX6Q_PAD_EIM_A20__SRC_BT_CFG_20 263 | ||
302 | MX6Q_PAD_EIM_A19__WEIM_WEIM_A_19 264 | ||
303 | MX6Q_PAD_EIM_A19__IPU1_DISP1_DAT_14 265 | ||
304 | MX6Q_PAD_EIM_A19__IPU2_CSI1_D_14 266 | ||
305 | MX6Q_PAD_EIM_A19__RESERVED_RESERVED 267 | ||
306 | MX6Q_PAD_EIM_A19__MIPI_CORE_DPHY_OUT_20 268 | ||
307 | MX6Q_PAD_EIM_A19__GPIO_2_19 269 | ||
308 | MX6Q_PAD_EIM_A19__TPSMP_HDATA_3 270 | ||
309 | MX6Q_PAD_EIM_A19__SRC_BT_CFG_19 271 | ||
310 | MX6Q_PAD_EIM_A18__WEIM_WEIM_A_18 272 | ||
311 | MX6Q_PAD_EIM_A18__IPU1_DISP1_DAT_13 273 | ||
312 | MX6Q_PAD_EIM_A18__IPU2_CSI1_D_13 274 | ||
313 | MX6Q_PAD_EIM_A18__RESERVED_RESERVED 275 | ||
314 | MX6Q_PAD_EIM_A18__MIPI_CORE_DPHY_OUT_21 276 | ||
315 | MX6Q_PAD_EIM_A18__GPIO_2_20 277 | ||
316 | MX6Q_PAD_EIM_A18__TPSMP_HDATA_4 278 | ||
317 | MX6Q_PAD_EIM_A18__SRC_BT_CFG_18 279 | ||
318 | MX6Q_PAD_EIM_A17__WEIM_WEIM_A_17 280 | ||
319 | MX6Q_PAD_EIM_A17__IPU1_DISP1_DAT_12 281 | ||
320 | MX6Q_PAD_EIM_A17__IPU2_CSI1_D_12 282 | ||
321 | MX6Q_PAD_EIM_A17__RESERVED_RESERVED 283 | ||
322 | MX6Q_PAD_EIM_A17__MIPI_CORE_DPHY_OUT_22 284 | ||
323 | MX6Q_PAD_EIM_A17__GPIO_2_21 285 | ||
324 | MX6Q_PAD_EIM_A17__TPSMP_HDATA_5 286 | ||
325 | MX6Q_PAD_EIM_A17__SRC_BT_CFG_17 287 | ||
326 | MX6Q_PAD_EIM_A16__WEIM_WEIM_A_16 288 | ||
327 | MX6Q_PAD_EIM_A16__IPU1_DI1_DISP_CLK 289 | ||
328 | MX6Q_PAD_EIM_A16__IPU2_CSI1_PIXCLK 290 | ||
329 | MX6Q_PAD_EIM_A16__MIPI_CORE_DPHY_OUT_23 291 | ||
330 | MX6Q_PAD_EIM_A16__GPIO_2_22 292 | ||
331 | MX6Q_PAD_EIM_A16__TPSMP_HDATA_6 293 | ||
332 | MX6Q_PAD_EIM_A16__SRC_BT_CFG_16 294 | ||
333 | MX6Q_PAD_EIM_CS0__WEIM_WEIM_CS_0 295 | ||
334 | MX6Q_PAD_EIM_CS0__IPU1_DI1_PIN5 296 | ||
335 | MX6Q_PAD_EIM_CS0__ECSPI2_SCLK 297 | ||
336 | MX6Q_PAD_EIM_CS0__MIPI_CORE_DPHY_OUT_24 298 | ||
337 | MX6Q_PAD_EIM_CS0__GPIO_2_23 299 | ||
338 | MX6Q_PAD_EIM_CS0__TPSMP_HDATA_7 300 | ||
339 | MX6Q_PAD_EIM_CS1__WEIM_WEIM_CS_1 301 | ||
340 | MX6Q_PAD_EIM_CS1__IPU1_DI1_PIN6 302 | ||
341 | MX6Q_PAD_EIM_CS1__ECSPI2_MOSI 303 | ||
342 | MX6Q_PAD_EIM_CS1__MIPI_CORE_DPHY_OUT_25 304 | ||
343 | MX6Q_PAD_EIM_CS1__GPIO_2_24 305 | ||
344 | MX6Q_PAD_EIM_CS1__TPSMP_HDATA_8 306 | ||
345 | MX6Q_PAD_EIM_OE__WEIM_WEIM_OE 307 | ||
346 | MX6Q_PAD_EIM_OE__IPU1_DI1_PIN7 308 | ||
347 | MX6Q_PAD_EIM_OE__ECSPI2_MISO 309 | ||
348 | MX6Q_PAD_EIM_OE__MIPI_CORE_DPHY_OUT_26 310 | ||
349 | MX6Q_PAD_EIM_OE__GPIO_2_25 311 | ||
350 | MX6Q_PAD_EIM_OE__TPSMP_HDATA_9 312 | ||
351 | MX6Q_PAD_EIM_RW__WEIM_WEIM_RW 313 | ||
352 | MX6Q_PAD_EIM_RW__IPU1_DI1_PIN8 314 | ||
353 | MX6Q_PAD_EIM_RW__ECSPI2_SS0 315 | ||
354 | MX6Q_PAD_EIM_RW__MIPI_CORE_DPHY_OUT_27 316 | ||
355 | MX6Q_PAD_EIM_RW__GPIO_2_26 317 | ||
356 | MX6Q_PAD_EIM_RW__TPSMP_HDATA_10 318 | ||
357 | MX6Q_PAD_EIM_RW__SRC_BT_CFG_29 319 | ||
358 | MX6Q_PAD_EIM_LBA__WEIM_WEIM_LBA 320 | ||
359 | MX6Q_PAD_EIM_LBA__IPU1_DI1_PIN17 321 | ||
360 | MX6Q_PAD_EIM_LBA__ECSPI2_SS1 322 | ||
361 | MX6Q_PAD_EIM_LBA__GPIO_2_27 323 | ||
362 | MX6Q_PAD_EIM_LBA__TPSMP_HDATA_11 324 | ||
363 | MX6Q_PAD_EIM_LBA__SRC_BT_CFG_26 325 | ||
364 | MX6Q_PAD_EIM_EB0__WEIM_WEIM_EB_0 326 | ||
365 | MX6Q_PAD_EIM_EB0__IPU1_DISP1_DAT_11 327 | ||
366 | MX6Q_PAD_EIM_EB0__IPU2_CSI1_D_11 328 | ||
367 | MX6Q_PAD_EIM_EB0__MIPI_CORE_DPHY_OUT_0 329 | ||
368 | MX6Q_PAD_EIM_EB0__CCM_PMIC_RDY 330 | ||
369 | MX6Q_PAD_EIM_EB0__GPIO_2_28 331 | ||
370 | MX6Q_PAD_EIM_EB0__TPSMP_HDATA_12 332 | ||
371 | MX6Q_PAD_EIM_EB0__SRC_BT_CFG_27 333 | ||
372 | MX6Q_PAD_EIM_EB1__WEIM_WEIM_EB_1 334 | ||
373 | MX6Q_PAD_EIM_EB1__IPU1_DISP1_DAT_10 335 | ||
374 | MX6Q_PAD_EIM_EB1__IPU2_CSI1_D_10 336 | ||
375 | MX6Q_PAD_EIM_EB1__MIPI_CORE_DPHY__OUT_1 337 | ||
376 | MX6Q_PAD_EIM_EB1__GPIO_2_29 338 | ||
377 | MX6Q_PAD_EIM_EB1__TPSMP_HDATA_13 339 | ||
378 | MX6Q_PAD_EIM_EB1__SRC_BT_CFG_28 340 | ||
379 | MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0 341 | ||
380 | MX6Q_PAD_EIM_DA0__IPU1_DISP1_DAT_9 342 | ||
381 | MX6Q_PAD_EIM_DA0__IPU2_CSI1_D_9 343 | ||
382 | MX6Q_PAD_EIM_DA0__MIPI_CORE_DPHY__OUT_2 344 | ||
383 | MX6Q_PAD_EIM_DA0__GPIO_3_0 345 | ||
384 | MX6Q_PAD_EIM_DA0__TPSMP_HDATA_14 346 | ||
385 | MX6Q_PAD_EIM_DA0__SRC_BT_CFG_0 347 | ||
386 | MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1 348 | ||
387 | MX6Q_PAD_EIM_DA1__IPU1_DISP1_DAT_8 349 | ||
388 | MX6Q_PAD_EIM_DA1__IPU2_CSI1_D_8 350 | ||
389 | MX6Q_PAD_EIM_DA1__MIPI_CORE_DPHY_OUT_3 351 | ||
390 | MX6Q_PAD_EIM_DA1__USBPHY1_TX_LS_MODE 352 | ||
391 | MX6Q_PAD_EIM_DA1__GPIO_3_1 353 | ||
392 | MX6Q_PAD_EIM_DA1__TPSMP_HDATA_15 354 | ||
393 | MX6Q_PAD_EIM_DA1__SRC_BT_CFG_1 355 | ||
394 | MX6Q_PAD_EIM_DA2__WEIM_WEIM_DA_A_2 356 | ||
395 | MX6Q_PAD_EIM_DA2__IPU1_DISP1_DAT_7 357 | ||
396 | MX6Q_PAD_EIM_DA2__IPU2_CSI1_D_7 358 | ||
397 | MX6Q_PAD_EIM_DA2__MIPI_CORE_DPHY_OUT_4 359 | ||
398 | MX6Q_PAD_EIM_DA2__USBPHY1_TX_HS_MODE 360 | ||
399 | MX6Q_PAD_EIM_DA2__GPIO_3_2 361 | ||
400 | MX6Q_PAD_EIM_DA2__TPSMP_HDATA_16 362 | ||
401 | MX6Q_PAD_EIM_DA2__SRC_BT_CFG_2 363 | ||
402 | MX6Q_PAD_EIM_DA3__WEIM_WEIM_DA_A_3 364 | ||
403 | MX6Q_PAD_EIM_DA3__IPU1_DISP1_DAT_6 365 | ||
404 | MX6Q_PAD_EIM_DA3__IPU2_CSI1_D_6 366 | ||
405 | MX6Q_PAD_EIM_DA3__MIPI_CORE_DPHY_OUT_5 367 | ||
406 | MX6Q_PAD_EIM_DA3__USBPHY1_TX_HIZ 368 | ||
407 | MX6Q_PAD_EIM_DA3__GPIO_3_3 369 | ||
408 | MX6Q_PAD_EIM_DA3__TPSMP_HDATA_17 370 | ||
409 | MX6Q_PAD_EIM_DA3__SRC_BT_CFG_3 371 | ||
410 | MX6Q_PAD_EIM_DA4__WEIM_WEIM_DA_A_4 372 | ||
411 | MX6Q_PAD_EIM_DA4__IPU1_DISP1_DAT_5 373 | ||
412 | MX6Q_PAD_EIM_DA4__IPU2_CSI1_D_5 374 | ||
413 | MX6Q_PAD_EIM_DA4__MIPI_CORE_DPHY_OUT_6 375 | ||
414 | MX6Q_PAD_EIM_DA4__ANATOP_USBPHY1_TX_EN 376 | ||
415 | MX6Q_PAD_EIM_DA4__GPIO_3_4 377 | ||
416 | MX6Q_PAD_EIM_DA4__TPSMP_HDATA_18 378 | ||
417 | MX6Q_PAD_EIM_DA4__SRC_BT_CFG_4 379 | ||
418 | MX6Q_PAD_EIM_DA5__WEIM_WEIM_DA_A_5 380 | ||
419 | MX6Q_PAD_EIM_DA5__IPU1_DISP1_DAT_4 381 | ||
420 | MX6Q_PAD_EIM_DA5__IPU2_CSI1_D_4 382 | ||
421 | MX6Q_PAD_EIM_DA5__MIPI_CORE_DPHY_OUT_7 383 | ||
422 | MX6Q_PAD_EIM_DA5__ANATOP_USBPHY1_TX_DP 384 | ||
423 | MX6Q_PAD_EIM_DA5__GPIO_3_5 385 | ||
424 | MX6Q_PAD_EIM_DA5__TPSMP_HDATA_19 386 | ||
425 | MX6Q_PAD_EIM_DA5__SRC_BT_CFG_5 387 | ||
426 | MX6Q_PAD_EIM_DA6__WEIM_WEIM_DA_A_6 388 | ||
427 | MX6Q_PAD_EIM_DA6__IPU1_DISP1_DAT_3 389 | ||
428 | MX6Q_PAD_EIM_DA6__IPU2_CSI1_D_3 390 | ||
429 | MX6Q_PAD_EIM_DA6__MIPI_CORE_DPHY_OUT_8 391 | ||
430 | MX6Q_PAD_EIM_DA6__ANATOP_USBPHY1_TX_DN 392 | ||
431 | MX6Q_PAD_EIM_DA6__GPIO_3_6 393 | ||
432 | MX6Q_PAD_EIM_DA6__TPSMP_HDATA_20 394 | ||
433 | MX6Q_PAD_EIM_DA6__SRC_BT_CFG_6 395 | ||
434 | MX6Q_PAD_EIM_DA7__WEIM_WEIM_DA_A_7 396 | ||
435 | MX6Q_PAD_EIM_DA7__IPU1_DISP1_DAT_2 397 | ||
436 | MX6Q_PAD_EIM_DA7__IPU2_CSI1_D_2 398 | ||
437 | MX6Q_PAD_EIM_DA7__MIPI_CORE_DPHY_OUT_9 399 | ||
438 | MX6Q_PAD_EIM_DA7__GPIO_3_7 400 | ||
439 | MX6Q_PAD_EIM_DA7__TPSMP_HDATA_21 401 | ||
440 | MX6Q_PAD_EIM_DA7__SRC_BT_CFG_7 402 | ||
441 | MX6Q_PAD_EIM_DA8__WEIM_WEIM_DA_A_8 403 | ||
442 | MX6Q_PAD_EIM_DA8__IPU1_DISP1_DAT_1 404 | ||
443 | MX6Q_PAD_EIM_DA8__IPU2_CSI1_D_1 405 | ||
444 | MX6Q_PAD_EIM_DA8__MIPI_CORE_DPHY_OUT_10 406 | ||
445 | MX6Q_PAD_EIM_DA8__GPIO_3_8 407 | ||
446 | MX6Q_PAD_EIM_DA8__TPSMP_HDATA_22 408 | ||
447 | MX6Q_PAD_EIM_DA8__SRC_BT_CFG_8 409 | ||
448 | MX6Q_PAD_EIM_DA9__WEIM_WEIM_DA_A_9 410 | ||
449 | MX6Q_PAD_EIM_DA9__IPU1_DISP1_DAT_0 411 | ||
450 | MX6Q_PAD_EIM_DA9__IPU2_CSI1_D_0 412 | ||
451 | MX6Q_PAD_EIM_DA9__MIPI_CORE_DPHY_OUT_11 413 | ||
452 | MX6Q_PAD_EIM_DA9__GPIO_3_9 414 | ||
453 | MX6Q_PAD_EIM_DA9__TPSMP_HDATA_23 415 | ||
454 | MX6Q_PAD_EIM_DA9__SRC_BT_CFG_9 416 | ||
455 | MX6Q_PAD_EIM_DA10__WEIM_WEIM_DA_A_10 417 | ||
456 | MX6Q_PAD_EIM_DA10__IPU1_DI1_PIN15 418 | ||
457 | MX6Q_PAD_EIM_DA10__IPU2_CSI1_DATA_EN 419 | ||
458 | MX6Q_PAD_EIM_DA10__MIPI_CORE_DPHY_OUT12 420 | ||
459 | MX6Q_PAD_EIM_DA10__GPIO_3_10 421 | ||
460 | MX6Q_PAD_EIM_DA10__TPSMP_HDATA_24 422 | ||
461 | MX6Q_PAD_EIM_DA10__SRC_BT_CFG_10 423 | ||
462 | MX6Q_PAD_EIM_DA11__WEIM_WEIM_DA_A_11 424 | ||
463 | MX6Q_PAD_EIM_DA11__IPU1_DI1_PIN2 425 | ||
464 | MX6Q_PAD_EIM_DA11__IPU2_CSI1_HSYNC 426 | ||
465 | MX6Q_PAD_EIM_DA11__MIPI_CORE_DPHY_OUT13 427 | ||
466 | MX6Q_PAD_EIM_DA11__SDMA_DBG_EVT_CHN_6 428 | ||
467 | MX6Q_PAD_EIM_DA11__GPIO_3_11 429 | ||
468 | MX6Q_PAD_EIM_DA11__TPSMP_HDATA_25 430 | ||
469 | MX6Q_PAD_EIM_DA11__SRC_BT_CFG_11 431 | ||
470 | MX6Q_PAD_EIM_DA12__WEIM_WEIM_DA_A_12 432 | ||
471 | MX6Q_PAD_EIM_DA12__IPU1_DI1_PIN3 433 | ||
472 | MX6Q_PAD_EIM_DA12__IPU2_CSI1_VSYNC 434 | ||
473 | MX6Q_PAD_EIM_DA12__MIPI_CORE_DPHY_OUT14 435 | ||
474 | MX6Q_PAD_EIM_DA12__SDMA_DEBUG_EVT_CHN_3 436 | ||
475 | MX6Q_PAD_EIM_DA12__GPIO_3_12 437 | ||
476 | MX6Q_PAD_EIM_DA12__TPSMP_HDATA_26 438 | ||
477 | MX6Q_PAD_EIM_DA12__SRC_BT_CFG_12 439 | ||
478 | MX6Q_PAD_EIM_DA13__WEIM_WEIM_DA_A_13 440 | ||
479 | MX6Q_PAD_EIM_DA13__IPU1_DI1_D0_CS 441 | ||
480 | MX6Q_PAD_EIM_DA13__CCM_DI1_EXT_CLK 442 | ||
481 | MX6Q_PAD_EIM_DA13__MIPI_CORE_DPHY_OUT15 443 | ||
482 | MX6Q_PAD_EIM_DA13__SDMA_DEBUG_EVT_CHN_4 444 | ||
483 | MX6Q_PAD_EIM_DA13__GPIO_3_13 445 | ||
484 | MX6Q_PAD_EIM_DA13__TPSMP_HDATA_27 446 | ||
485 | MX6Q_PAD_EIM_DA13__SRC_BT_CFG_13 447 | ||
486 | MX6Q_PAD_EIM_DA14__WEIM_WEIM_DA_A_14 448 | ||
487 | MX6Q_PAD_EIM_DA14__IPU1_DI1_D1_CS 449 | ||
488 | MX6Q_PAD_EIM_DA14__CCM_DI0_EXT_CLK 450 | ||
489 | MX6Q_PAD_EIM_DA14__MIPI_CORE_DPHY_OUT16 451 | ||
490 | MX6Q_PAD_EIM_DA14__SDMA_DEBUG_EVT_CHN_5 452 | ||
491 | MX6Q_PAD_EIM_DA14__GPIO_3_14 453 | ||
492 | MX6Q_PAD_EIM_DA14__TPSMP_HDATA_28 454 | ||
493 | MX6Q_PAD_EIM_DA14__SRC_BT_CFG_14 455 | ||
494 | MX6Q_PAD_EIM_DA15__WEIM_WEIM_DA_A_15 456 | ||
495 | MX6Q_PAD_EIM_DA15__IPU1_DI1_PIN1 457 | ||
496 | MX6Q_PAD_EIM_DA15__IPU1_DI1_PIN4 458 | ||
497 | MX6Q_PAD_EIM_DA15__MIPI_CORE_DPHY_OUT17 459 | ||
498 | MX6Q_PAD_EIM_DA15__GPIO_3_15 460 | ||
499 | MX6Q_PAD_EIM_DA15__TPSMP_HDATA_29 461 | ||
500 | MX6Q_PAD_EIM_DA15__SRC_BT_CFG_15 462 | ||
501 | MX6Q_PAD_EIM_WAIT__WEIM_WEIM_WAIT 463 | ||
502 | MX6Q_PAD_EIM_WAIT__WEIM_WEIM_DTACK_B 464 | ||
503 | MX6Q_PAD_EIM_WAIT__GPIO_5_0 465 | ||
504 | MX6Q_PAD_EIM_WAIT__TPSMP_HDATA_30 466 | ||
505 | MX6Q_PAD_EIM_WAIT__SRC_BT_CFG_25 467 | ||
506 | MX6Q_PAD_EIM_BCLK__WEIM_WEIM_BCLK 468 | ||
507 | MX6Q_PAD_EIM_BCLK__IPU1_DI1_PIN16 469 | ||
508 | MX6Q_PAD_EIM_BCLK__GPIO_6_31 470 | ||
509 | MX6Q_PAD_EIM_BCLK__TPSMP_HDATA_31 471 | ||
510 | MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DSP_CLK 472 | ||
511 | MX6Q_PAD_DI0_DISP_CLK__IPU2_DI0_DSP_CLK 473 | ||
512 | MX6Q_PAD_DI0_DISP_CLK__MIPI_CR_DPY_OT28 474 | ||
513 | MX6Q_PAD_DI0_DISP_CLK__SDMA_DBG_CR_STA0 475 | ||
514 | MX6Q_PAD_DI0_DISP_CLK__GPIO_4_16 476 | ||
515 | MX6Q_PAD_DI0_DISP_CLK__MMDC_DEBUG_0 477 | ||
516 | MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15 478 | ||
517 | MX6Q_PAD_DI0_PIN15__IPU2_DI0_PIN15 479 | ||
518 | MX6Q_PAD_DI0_PIN15__AUDMUX_AUD6_TXC 480 | ||
519 | MX6Q_PAD_DI0_PIN15__MIPI_CR_DPHY_OUT_29 481 | ||
520 | MX6Q_PAD_DI0_PIN15__SDMA_DBG_CORE_STA_1 482 | ||
521 | MX6Q_PAD_DI0_PIN15__GPIO_4_17 483 | ||
522 | MX6Q_PAD_DI0_PIN15__MMDC_MMDC_DEBUG_1 484 | ||
523 | MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2 485 | ||
524 | MX6Q_PAD_DI0_PIN2__IPU2_DI0_PIN2 486 | ||
525 | MX6Q_PAD_DI0_PIN2__AUDMUX_AUD6_TXD 487 | ||
526 | MX6Q_PAD_DI0_PIN2__MIPI_CR_DPHY_OUT_30 488 | ||
527 | MX6Q_PAD_DI0_PIN2__SDMA_DBG_CORE_STA_2 489 | ||
528 | MX6Q_PAD_DI0_PIN2__GPIO_4_18 490 | ||
529 | MX6Q_PAD_DI0_PIN2__MMDC_DEBUG_2 491 | ||
530 | MX6Q_PAD_DI0_PIN2__PL301_PER1_HADDR_9 492 | ||
531 | MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3 493 | ||
532 | MX6Q_PAD_DI0_PIN3__IPU2_DI0_PIN3 494 | ||
533 | MX6Q_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS 495 | ||
534 | MX6Q_PAD_DI0_PIN3__MIPI_CORE_DPHY_OUT31 496 | ||
535 | MX6Q_PAD_DI0_PIN3__SDMA_DBG_CORE_STA_3 497 | ||
536 | MX6Q_PAD_DI0_PIN3__GPIO_4_19 498 | ||
537 | MX6Q_PAD_DI0_PIN3__MMDC_MMDC_DEBUG_3 499 | ||
538 | MX6Q_PAD_DI0_PIN3__PL301_PER1_HADDR_10 500 | ||
539 | MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4 501 | ||
540 | MX6Q_PAD_DI0_PIN4__IPU2_DI0_PIN4 502 | ||
541 | MX6Q_PAD_DI0_PIN4__AUDMUX_AUD6_RXD 503 | ||
542 | MX6Q_PAD_DI0_PIN4__USDHC1_WP 504 | ||
543 | MX6Q_PAD_DI0_PIN4__SDMA_DEBUG_YIELD 505 | ||
544 | MX6Q_PAD_DI0_PIN4__GPIO_4_20 506 | ||
545 | MX6Q_PAD_DI0_PIN4__MMDC_MMDC_DEBUG_4 507 | ||
546 | MX6Q_PAD_DI0_PIN4__PL301_PER1_HADDR_11 508 | ||
547 | MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0 509 | ||
548 | MX6Q_PAD_DISP0_DAT0__IPU2_DISP0_DAT_0 510 | ||
549 | MX6Q_PAD_DISP0_DAT0__ECSPI3_SCLK 511 | ||
550 | MX6Q_PAD_DISP0_DAT0__USDHC1_USDHC_DBG_0 512 | ||
551 | MX6Q_PAD_DISP0_DAT0__SDMA_DBG_CORE_RUN 513 | ||
552 | MX6Q_PAD_DISP0_DAT0__GPIO_4_21 514 | ||
553 | MX6Q_PAD_DISP0_DAT0__MMDC_MMDC_DEBUG_5 515 | ||
554 | MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1 516 | ||
555 | MX6Q_PAD_DISP0_DAT1__IPU2_DISP0_DAT_1 517 | ||
556 | MX6Q_PAD_DISP0_DAT1__ECSPI3_MOSI 518 | ||
557 | MX6Q_PAD_DISP0_DAT1__USDHC1_USDHC_DBG_1 519 | ||
558 | MX6Q_PAD_DISP0_DAT1__SDMA_DBG_EVT_CHNSL 520 | ||
559 | MX6Q_PAD_DISP0_DAT1__GPIO_4_22 521 | ||
560 | MX6Q_PAD_DISP0_DAT1__MMDC_DEBUG_6 522 | ||
561 | MX6Q_PAD_DISP0_DAT1__PL301_PER1_HADR_12 523 | ||
562 | MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2 524 | ||
563 | MX6Q_PAD_DISP0_DAT2__IPU2_DISP0_DAT_2 525 | ||
564 | MX6Q_PAD_DISP0_DAT2__ECSPI3_MISO 526 | ||
565 | MX6Q_PAD_DISP0_DAT2__USDHC1_USDHC_DBG_2 527 | ||
566 | MX6Q_PAD_DISP0_DAT2__SDMA_DEBUG_MODE 528 | ||
567 | MX6Q_PAD_DISP0_DAT2__GPIO_4_23 529 | ||
568 | MX6Q_PAD_DISP0_DAT2__MMDC_DEBUG_7 530 | ||
569 | MX6Q_PAD_DISP0_DAT2__PL301_PER1_HADR_13 531 | ||
570 | MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3 532 | ||
571 | MX6Q_PAD_DISP0_DAT3__IPU2_DISP0_DAT_3 533 | ||
572 | MX6Q_PAD_DISP0_DAT3__ECSPI3_SS0 534 | ||
573 | MX6Q_PAD_DISP0_DAT3__USDHC1_USDHC_DBG_3 535 | ||
574 | MX6Q_PAD_DISP0_DAT3__SDMA_DBG_BUS_ERROR 536 | ||
575 | MX6Q_PAD_DISP0_DAT3__GPIO_4_24 537 | ||
576 | MX6Q_PAD_DISP0_DAT3__MMDC_MMDC_DBG_8 538 | ||
577 | MX6Q_PAD_DISP0_DAT3__PL301_PER1_HADR_14 539 | ||
578 | MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4 540 | ||
579 | MX6Q_PAD_DISP0_DAT4__IPU2_DISP0_DAT_4 541 | ||
580 | MX6Q_PAD_DISP0_DAT4__ECSPI3_SS1 542 | ||
581 | MX6Q_PAD_DISP0_DAT4__USDHC1_USDHC_DBG_4 543 | ||
582 | MX6Q_PAD_DISP0_DAT4__SDMA_DEBUG_BUS_RWB 544 | ||
583 | MX6Q_PAD_DISP0_DAT4__GPIO_4_25 545 | ||
584 | MX6Q_PAD_DISP0_DAT4__MMDC_MMDC_DEBUG_9 546 | ||
585 | MX6Q_PAD_DISP0_DAT4__PL301_PER1_HADR_15 547 | ||
586 | MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5 548 | ||
587 | MX6Q_PAD_DISP0_DAT5__IPU2_DISP0_DAT_5 549 | ||
588 | MX6Q_PAD_DISP0_DAT5__ECSPI3_SS2 550 | ||
589 | MX6Q_PAD_DISP0_DAT5__AUDMUX_AUD6_RXFS 551 | ||
590 | MX6Q_PAD_DISP0_DAT5__SDMA_DBG_MCH_DMBUS 552 | ||
591 | MX6Q_PAD_DISP0_DAT5__GPIO_4_26 553 | ||
592 | MX6Q_PAD_DISP0_DAT5__MMDC_DEBUG_10 554 | ||
593 | MX6Q_PAD_DISP0_DAT5__PL301_PER1_HADR_16 555 | ||
594 | MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6 556 | ||
595 | MX6Q_PAD_DISP0_DAT6__IPU2_DISP0_DAT_6 557 | ||
596 | MX6Q_PAD_DISP0_DAT6__ECSPI3_SS3 558 | ||
597 | MX6Q_PAD_DISP0_DAT6__AUDMUX_AUD6_RXC 559 | ||
598 | MX6Q_PAD_DISP0_DAT6__SDMA_DBG_RTBUF_WRT 560 | ||
599 | MX6Q_PAD_DISP0_DAT6__GPIO_4_27 561 | ||
600 | MX6Q_PAD_DISP0_DAT6__MMDC_DEBUG_11 562 | ||
601 | MX6Q_PAD_DISP0_DAT6__PL301_PER1_HADR_17 563 | ||
602 | MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7 564 | ||
603 | MX6Q_PAD_DISP0_DAT7__IPU2_DISP0_DAT_7 565 | ||
604 | MX6Q_PAD_DISP0_DAT7__ECSPI3_RDY 566 | ||
605 | MX6Q_PAD_DISP0_DAT7__USDHC1_USDHC_DBG_5 567 | ||
606 | MX6Q_PAD_DISP0_DAT7__SDMA_DBG_EVT_CHN_0 568 | ||
607 | MX6Q_PAD_DISP0_DAT7__GPIO_4_28 569 | ||
608 | MX6Q_PAD_DISP0_DAT7__MMDC_DEBUG_12 570 | ||
609 | MX6Q_PAD_DISP0_DAT7__PL301_PER1_HADR_18 571 | ||
610 | MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8 572 | ||
611 | MX6Q_PAD_DISP0_DAT8__IPU2_DISP0_DAT_8 573 | ||
612 | MX6Q_PAD_DISP0_DAT8__PWM1_PWMO 574 | ||
613 | MX6Q_PAD_DISP0_DAT8__WDOG1_WDOG_B 575 | ||
614 | MX6Q_PAD_DISP0_DAT8__SDMA_DBG_EVT_CHN_1 576 | ||
615 | MX6Q_PAD_DISP0_DAT8__GPIO_4_29 577 | ||
616 | MX6Q_PAD_DISP0_DAT8__MMDC_DEBUG_13 578 | ||
617 | MX6Q_PAD_DISP0_DAT8__PL301_PER1_HADR_19 579 | ||
618 | MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9 580 | ||
619 | MX6Q_PAD_DISP0_DAT9__IPU2_DISP0_DAT_9 581 | ||
620 | MX6Q_PAD_DISP0_DAT9__PWM2_PWMO 582 | ||
621 | MX6Q_PAD_DISP0_DAT9__WDOG2_WDOG_B 583 | ||
622 | MX6Q_PAD_DISP0_DAT9__SDMA_DBG_EVT_CHN_2 584 | ||
623 | MX6Q_PAD_DISP0_DAT9__GPIO_4_30 585 | ||
624 | MX6Q_PAD_DISP0_DAT9__MMDC_DEBUG_14 586 | ||
625 | MX6Q_PAD_DISP0_DAT9__PL301_PER1_HADR_20 587 | ||
626 | MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10 588 | ||
627 | MX6Q_PAD_DISP0_DAT10__IPU2_DISP0_DAT_10 589 | ||
628 | MX6Q_PAD_DISP0_DAT10__USDHC1_DBG_6 590 | ||
629 | MX6Q_PAD_DISP0_DAT10__SDMA_DBG_EVT_CHN3 591 | ||
630 | MX6Q_PAD_DISP0_DAT10__GPIO_4_31 592 | ||
631 | MX6Q_PAD_DISP0_DAT10__MMDC_DEBUG_15 593 | ||
632 | MX6Q_PAD_DISP0_DAT10__PL301_PER1_HADR21 594 | ||
633 | MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11 595 | ||
634 | MX6Q_PAD_DISP0_DAT11__IPU2_DISP0_DAT_11 596 | ||
635 | MX6Q_PAD_DISP0_DAT11__USDHC1_USDHC_DBG7 597 | ||
636 | MX6Q_PAD_DISP0_DAT11__SDMA_DBG_EVT_CHN4 598 | ||
637 | MX6Q_PAD_DISP0_DAT11__GPIO_5_5 599 | ||
638 | MX6Q_PAD_DISP0_DAT11__MMDC_DEBUG_16 600 | ||
639 | MX6Q_PAD_DISP0_DAT11__PL301_PER1_HADR22 601 | ||
640 | MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12 602 | ||
641 | MX6Q_PAD_DISP0_DAT12__IPU2_DISP0_DAT_12 603 | ||
642 | MX6Q_PAD_DISP0_DAT12__RESERVED_RESERVED 604 | ||
643 | MX6Q_PAD_DISP0_DAT12__SDMA_DBG_EVT_CHN5 605 | ||
644 | MX6Q_PAD_DISP0_DAT12__GPIO_5_6 606 | ||
645 | MX6Q_PAD_DISP0_DAT12__MMDC_DEBUG_17 607 | ||
646 | MX6Q_PAD_DISP0_DAT12__PL301_PER1_HADR23 608 | ||
647 | MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13 609 | ||
648 | MX6Q_PAD_DISP0_DAT13__IPU2_DISP0_DAT_13 610 | ||
649 | MX6Q_PAD_DISP0_DAT13__AUDMUX_AUD5_RXFS 611 | ||
650 | MX6Q_PAD_DISP0_DAT13__SDMA_DBG_EVT_CHN0 612 | ||
651 | MX6Q_PAD_DISP0_DAT13__GPIO_5_7 613 | ||
652 | MX6Q_PAD_DISP0_DAT13__MMDC_DEBUG_18 614 | ||
653 | MX6Q_PAD_DISP0_DAT13__PL301_PER1_HADR24 615 | ||
654 | MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14 616 | ||
655 | MX6Q_PAD_DISP0_DAT14__IPU2_DISP0_DAT_14 617 | ||
656 | MX6Q_PAD_DISP0_DAT14__AUDMUX_AUD5_RXC 618 | ||
657 | MX6Q_PAD_DISP0_DAT14__SDMA_DBG_EVT_CHN1 619 | ||
658 | MX6Q_PAD_DISP0_DAT14__GPIO_5_8 620 | ||
659 | MX6Q_PAD_DISP0_DAT14__MMDC_DEBUG_19 621 | ||
660 | MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15 622 | ||
661 | MX6Q_PAD_DISP0_DAT15__IPU2_DISP0_DAT_15 623 | ||
662 | MX6Q_PAD_DISP0_DAT15__ECSPI1_SS1 624 | ||
663 | MX6Q_PAD_DISP0_DAT15__ECSPI2_SS1 625 | ||
664 | MX6Q_PAD_DISP0_DAT15__SDMA_DBG_EVT_CHN2 626 | ||
665 | MX6Q_PAD_DISP0_DAT15__GPIO_5_9 627 | ||
666 | MX6Q_PAD_DISP0_DAT15__MMDC_DEBUG_20 628 | ||
667 | MX6Q_PAD_DISP0_DAT15__PL301_PER1_HADR25 629 | ||
668 | MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16 630 | ||
669 | MX6Q_PAD_DISP0_DAT16__IPU2_DISP0_DAT_16 631 | ||
670 | MX6Q_PAD_DISP0_DAT16__ECSPI2_MOSI 632 | ||
671 | MX6Q_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC 633 | ||
672 | MX6Q_PAD_DISP0_DAT16__SDMA_EXT_EVENT_0 634 | ||
673 | MX6Q_PAD_DISP0_DAT16__GPIO_5_10 635 | ||
674 | MX6Q_PAD_DISP0_DAT16__MMDC_DEBUG_21 636 | ||
675 | MX6Q_PAD_DISP0_DAT16__PL301_PER1_HADR26 637 | ||
676 | MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17 638 | ||
677 | MX6Q_PAD_DISP0_DAT17__IPU2_DISP0_DAT_17 639 | ||
678 | MX6Q_PAD_DISP0_DAT17__ECSPI2_MISO 640 | ||
679 | MX6Q_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD 641 | ||
680 | MX6Q_PAD_DISP0_DAT17__SDMA_EXT_EVENT_1 642 | ||
681 | MX6Q_PAD_DISP0_DAT17__GPIO_5_11 643 | ||
682 | MX6Q_PAD_DISP0_DAT17__MMDC_DEBUG_22 644 | ||
683 | MX6Q_PAD_DISP0_DAT17__PL301_PER1_HADR27 645 | ||
684 | MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18 646 | ||
685 | MX6Q_PAD_DISP0_DAT18__IPU2_DISP0_DAT_18 647 | ||
686 | MX6Q_PAD_DISP0_DAT18__ECSPI2_SS0 648 | ||
687 | MX6Q_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS 649 | ||
688 | MX6Q_PAD_DISP0_DAT18__AUDMUX_AUD4_RXFS 650 | ||
689 | MX6Q_PAD_DISP0_DAT18__GPIO_5_12 651 | ||
690 | MX6Q_PAD_DISP0_DAT18__MMDC_DEBUG_23 652 | ||
691 | MX6Q_PAD_DISP0_DAT18__WEIM_WEIM_CS_2 653 | ||
692 | MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19 654 | ||
693 | MX6Q_PAD_DISP0_DAT19__IPU2_DISP0_DAT_19 655 | ||
694 | MX6Q_PAD_DISP0_DAT19__ECSPI2_SCLK 656 | ||
695 | MX6Q_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD 657 | ||
696 | MX6Q_PAD_DISP0_DAT19__AUDMUX_AUD4_RXC 658 | ||
697 | MX6Q_PAD_DISP0_DAT19__GPIO_5_13 659 | ||
698 | MX6Q_PAD_DISP0_DAT19__MMDC_DEBUG_24 660 | ||
699 | MX6Q_PAD_DISP0_DAT19__WEIM_WEIM_CS_3 661 | ||
700 | MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20 662 | ||
701 | MX6Q_PAD_DISP0_DAT20__IPU2_DISP0_DAT_20 663 | ||
702 | MX6Q_PAD_DISP0_DAT20__ECSPI1_SCLK 664 | ||
703 | MX6Q_PAD_DISP0_DAT20__AUDMUX_AUD4_TXC 665 | ||
704 | MX6Q_PAD_DISP0_DAT20__SDMA_DBG_EVT_CHN7 666 | ||
705 | MX6Q_PAD_DISP0_DAT20__GPIO_5_14 667 | ||
706 | MX6Q_PAD_DISP0_DAT20__MMDC_DEBUG_25 668 | ||
707 | MX6Q_PAD_DISP0_DAT20__PL301_PER1_HADR28 669 | ||
708 | MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21 670 | ||
709 | MX6Q_PAD_DISP0_DAT21__IPU2_DISP0_DAT_21 671 | ||
710 | MX6Q_PAD_DISP0_DAT21__ECSPI1_MOSI 672 | ||
711 | MX6Q_PAD_DISP0_DAT21__AUDMUX_AUD4_TXD 673 | ||
712 | MX6Q_PAD_DISP0_DAT21__SDMA_DBG_BUS_DEV0 674 | ||
713 | MX6Q_PAD_DISP0_DAT21__GPIO_5_15 675 | ||
714 | MX6Q_PAD_DISP0_DAT21__MMDC_DEBUG_26 676 | ||
715 | MX6Q_PAD_DISP0_DAT21__PL301_PER1_HADR29 677 | ||
716 | MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22 678 | ||
717 | MX6Q_PAD_DISP0_DAT22__IPU2_DISP0_DAT_22 679 | ||
718 | MX6Q_PAD_DISP0_DAT22__ECSPI1_MISO 680 | ||
719 | MX6Q_PAD_DISP0_DAT22__AUDMUX_AUD4_TXFS 681 | ||
720 | MX6Q_PAD_DISP0_DAT22__SDMA_DBG_BUS_DEV1 682 | ||
721 | MX6Q_PAD_DISP0_DAT22__GPIO_5_16 683 | ||
722 | MX6Q_PAD_DISP0_DAT22__MMDC_DEBUG_27 684 | ||
723 | MX6Q_PAD_DISP0_DAT22__PL301_PER1_HADR30 685 | ||
724 | MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23 686 | ||
725 | MX6Q_PAD_DISP0_DAT23__IPU2_DISP0_DAT_23 687 | ||
726 | MX6Q_PAD_DISP0_DAT23__ECSPI1_SS0 688 | ||
727 | MX6Q_PAD_DISP0_DAT23__AUDMUX_AUD4_RXD 689 | ||
728 | MX6Q_PAD_DISP0_DAT23__SDMA_DBG_BUS_DEV2 690 | ||
729 | MX6Q_PAD_DISP0_DAT23__GPIO_5_17 691 | ||
730 | MX6Q_PAD_DISP0_DAT23__MMDC_DEBUG_28 692 | ||
731 | MX6Q_PAD_DISP0_DAT23__PL301_PER1_HADR31 693 | ||
732 | MX6Q_PAD_ENET_MDIO__RESERVED_RESERVED 694 | ||
733 | MX6Q_PAD_ENET_MDIO__ENET_MDIO 695 | ||
734 | MX6Q_PAD_ENET_MDIO__ESAI1_SCKR 696 | ||
735 | MX6Q_PAD_ENET_MDIO__SDMA_DEBUG_BUS_DEV3 697 | ||
736 | MX6Q_PAD_ENET_MDIO__ENET_1588_EVT1_OUT 698 | ||
737 | MX6Q_PAD_ENET_MDIO__GPIO_1_22 699 | ||
738 | MX6Q_PAD_ENET_MDIO__SPDIF_PLOCK 700 | ||
739 | MX6Q_PAD_ENET_REF_CLK__RESERVED_RSRVED 701 | ||
740 | MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK 702 | ||
741 | MX6Q_PAD_ENET_REF_CLK__ESAI1_FSR 703 | ||
742 | MX6Q_PAD_ENET_REF_CLK__SDMA_DBGBUS_DEV4 704 | ||
743 | MX6Q_PAD_ENET_REF_CLK__GPIO_1_23 705 | ||
744 | MX6Q_PAD_ENET_REF_CLK__SPDIF_SRCLK 706 | ||
745 | MX6Q_PAD_ENET_REF_CLK__USBPHY1_RX_SQH 707 | ||
746 | MX6Q_PAD_ENET_RX_ER__ENET_RX_ER 708 | ||
747 | MX6Q_PAD_ENET_RX_ER__ESAI1_HCKR 709 | ||
748 | MX6Q_PAD_ENET_RX_ER__SPDIF_IN1 710 | ||
749 | MX6Q_PAD_ENET_RX_ER__ENET_1588_EVT2_OUT 711 | ||
750 | MX6Q_PAD_ENET_RX_ER__GPIO_1_24 712 | ||
751 | MX6Q_PAD_ENET_RX_ER__PHY_TDI 713 | ||
752 | MX6Q_PAD_ENET_RX_ER__USBPHY1_RX_HS_RXD 714 | ||
753 | MX6Q_PAD_ENET_CRS_DV__RESERVED_RSRVED 715 | ||
754 | MX6Q_PAD_ENET_CRS_DV__ENET_RX_EN 716 | ||
755 | MX6Q_PAD_ENET_CRS_DV__ESAI1_SCKT 717 | ||
756 | MX6Q_PAD_ENET_CRS_DV__SPDIF_EXTCLK 718 | ||
757 | MX6Q_PAD_ENET_CRS_DV__GPIO_1_25 719 | ||
758 | MX6Q_PAD_ENET_CRS_DV__PHY_TDO 720 | ||
759 | MX6Q_PAD_ENET_CRS_DV__USBPHY1_RX_FS_RXD 721 | ||
760 | MX6Q_PAD_ENET_RXD1__MLB_MLBSIG 722 | ||
761 | MX6Q_PAD_ENET_RXD1__ENET_RDATA_1 723 | ||
762 | MX6Q_PAD_ENET_RXD1__ESAI1_FST 724 | ||
763 | MX6Q_PAD_ENET_RXD1__ENET_1588_EVT3_OUT 725 | ||
764 | MX6Q_PAD_ENET_RXD1__GPIO_1_26 726 | ||
765 | MX6Q_PAD_ENET_RXD1__PHY_TCK 727 | ||
766 | MX6Q_PAD_ENET_RXD1__USBPHY1_RX_DISCON 728 | ||
767 | MX6Q_PAD_ENET_RXD0__OSC32K_32K_OUT 729 | ||
768 | MX6Q_PAD_ENET_RXD0__ENET_RDATA_0 730 | ||
769 | MX6Q_PAD_ENET_RXD0__ESAI1_HCKT 731 | ||
770 | MX6Q_PAD_ENET_RXD0__SPDIF_OUT1 732 | ||
771 | MX6Q_PAD_ENET_RXD0__GPIO_1_27 733 | ||
772 | MX6Q_PAD_ENET_RXD0__PHY_TMS 734 | ||
773 | MX6Q_PAD_ENET_RXD0__USBPHY1_PLL_CK20DIV 735 | ||
774 | MX6Q_PAD_ENET_TX_EN__RESERVED_RSRVED 736 | ||
775 | MX6Q_PAD_ENET_TX_EN__ENET_TX_EN 737 | ||
776 | MX6Q_PAD_ENET_TX_EN__ESAI1_TX3_RX2 738 | ||
777 | MX6Q_PAD_ENET_TX_EN__GPIO_1_28 739 | ||
778 | MX6Q_PAD_ENET_TX_EN__SATA_PHY_TDI 740 | ||
779 | MX6Q_PAD_ENET_TX_EN__USBPHY2_RX_SQH 741 | ||
780 | MX6Q_PAD_ENET_TXD1__MLB_MLBCLK 742 | ||
781 | MX6Q_PAD_ENET_TXD1__ENET_TDATA_1 743 | ||
782 | MX6Q_PAD_ENET_TXD1__ESAI1_TX2_RX3 744 | ||
783 | MX6Q_PAD_ENET_TXD1__ENET_1588_EVENT0_IN 745 | ||
784 | MX6Q_PAD_ENET_TXD1__GPIO_1_29 746 | ||
785 | MX6Q_PAD_ENET_TXD1__SATA_PHY_TDO 747 | ||
786 | MX6Q_PAD_ENET_TXD1__USBPHY2_RX_HS_RXD 748 | ||
787 | MX6Q_PAD_ENET_TXD0__RESERVED_RSRVED 749 | ||
788 | MX6Q_PAD_ENET_TXD0__ENET_TDATA_0 750 | ||
789 | MX6Q_PAD_ENET_TXD0__ESAI1_TX4_RX1 751 | ||
790 | MX6Q_PAD_ENET_TXD0__GPIO_1_30 752 | ||
791 | MX6Q_PAD_ENET_TXD0__SATA_PHY_TCK 753 | ||
792 | MX6Q_PAD_ENET_TXD0__USBPHY2_RX_FS_RXD 754 | ||
793 | MX6Q_PAD_ENET_MDC__MLB_MLBDAT 755 | ||
794 | MX6Q_PAD_ENET_MDC__ENET_MDC 756 | ||
795 | MX6Q_PAD_ENET_MDC__ESAI1_TX5_RX0 757 | ||
796 | MX6Q_PAD_ENET_MDC__ENET_1588_EVENT1_IN 758 | ||
797 | MX6Q_PAD_ENET_MDC__GPIO_1_31 759 | ||
798 | MX6Q_PAD_ENET_MDC__SATA_PHY_TMS 760 | ||
799 | MX6Q_PAD_ENET_MDC__USBPHY2_RX_DISCON 761 | ||
800 | MX6Q_PAD_DRAM_D40__MMDC_DRAM_D_40 762 | ||
801 | MX6Q_PAD_DRAM_D41__MMDC_DRAM_D_41 763 | ||
802 | MX6Q_PAD_DRAM_D42__MMDC_DRAM_D_42 764 | ||
803 | MX6Q_PAD_DRAM_D43__MMDC_DRAM_D_43 765 | ||
804 | MX6Q_PAD_DRAM_D44__MMDC_DRAM_D_44 766 | ||
805 | MX6Q_PAD_DRAM_D45__MMDC_DRAM_D_45 767 | ||
806 | MX6Q_PAD_DRAM_D46__MMDC_DRAM_D_46 768 | ||
807 | MX6Q_PAD_DRAM_D47__MMDC_DRAM_D_47 769 | ||
808 | MX6Q_PAD_DRAM_SDQS5__MMDC_DRAM_SDQS_5 770 | ||
809 | MX6Q_PAD_DRAM_DQM5__MMDC_DRAM_DQM_5 771 | ||
810 | MX6Q_PAD_DRAM_D32__MMDC_DRAM_D_32 772 | ||
811 | MX6Q_PAD_DRAM_D33__MMDC_DRAM_D_33 773 | ||
812 | MX6Q_PAD_DRAM_D34__MMDC_DRAM_D_34 774 | ||
813 | MX6Q_PAD_DRAM_D35__MMDC_DRAM_D_35 775 | ||
814 | MX6Q_PAD_DRAM_D36__MMDC_DRAM_D_36 776 | ||
815 | MX6Q_PAD_DRAM_D37__MMDC_DRAM_D_37 777 | ||
816 | MX6Q_PAD_DRAM_D38__MMDC_DRAM_D_38 778 | ||
817 | MX6Q_PAD_DRAM_D39__MMDC_DRAM_D_39 779 | ||
818 | MX6Q_PAD_DRAM_DQM4__MMDC_DRAM_DQM_4 780 | ||
819 | MX6Q_PAD_DRAM_SDQS4__MMDC_DRAM_SDQS_4 781 | ||
820 | MX6Q_PAD_DRAM_D24__MMDC_DRAM_D_24 782 | ||
821 | MX6Q_PAD_DRAM_D25__MMDC_DRAM_D_25 783 | ||
822 | MX6Q_PAD_DRAM_D26__MMDC_DRAM_D_26 784 | ||
823 | MX6Q_PAD_DRAM_D27__MMDC_DRAM_D_27 785 | ||
824 | MX6Q_PAD_DRAM_D28__MMDC_DRAM_D_28 786 | ||
825 | MX6Q_PAD_DRAM_D29__MMDC_DRAM_D_29 787 | ||
826 | MX6Q_PAD_DRAM_SDQS3__MMDC_DRAM_SDQS_3 788 | ||
827 | MX6Q_PAD_DRAM_D30__MMDC_DRAM_D_30 789 | ||
828 | MX6Q_PAD_DRAM_D31__MMDC_DRAM_D_31 790 | ||
829 | MX6Q_PAD_DRAM_DQM3__MMDC_DRAM_DQM_3 791 | ||
830 | MX6Q_PAD_DRAM_D16__MMDC_DRAM_D_16 792 | ||
831 | MX6Q_PAD_DRAM_D17__MMDC_DRAM_D_17 793 | ||
832 | MX6Q_PAD_DRAM_D18__MMDC_DRAM_D_18 794 | ||
833 | MX6Q_PAD_DRAM_D19__MMDC_DRAM_D_19 795 | ||
834 | MX6Q_PAD_DRAM_D20__MMDC_DRAM_D_20 796 | ||
835 | MX6Q_PAD_DRAM_D21__MMDC_DRAM_D_21 797 | ||
836 | MX6Q_PAD_DRAM_D22__MMDC_DRAM_D_22 798 | ||
837 | MX6Q_PAD_DRAM_SDQS2__MMDC_DRAM_SDQS_2 799 | ||
838 | MX6Q_PAD_DRAM_D23__MMDC_DRAM_D_23 800 | ||
839 | MX6Q_PAD_DRAM_DQM2__MMDC_DRAM_DQM_2 801 | ||
840 | MX6Q_PAD_DRAM_A0__MMDC_DRAM_A_0 802 | ||
841 | MX6Q_PAD_DRAM_A1__MMDC_DRAM_A_1 803 | ||
842 | MX6Q_PAD_DRAM_A2__MMDC_DRAM_A_2 804 | ||
843 | MX6Q_PAD_DRAM_A3__MMDC_DRAM_A_3 805 | ||
844 | MX6Q_PAD_DRAM_A4__MMDC_DRAM_A_4 806 | ||
845 | MX6Q_PAD_DRAM_A5__MMDC_DRAM_A_5 807 | ||
846 | MX6Q_PAD_DRAM_A6__MMDC_DRAM_A_6 808 | ||
847 | MX6Q_PAD_DRAM_A7__MMDC_DRAM_A_7 809 | ||
848 | MX6Q_PAD_DRAM_A8__MMDC_DRAM_A_8 810 | ||
849 | MX6Q_PAD_DRAM_A9__MMDC_DRAM_A_9 811 | ||
850 | MX6Q_PAD_DRAM_A10__MMDC_DRAM_A_10 812 | ||
851 | MX6Q_PAD_DRAM_A11__MMDC_DRAM_A_11 813 | ||
852 | MX6Q_PAD_DRAM_A12__MMDC_DRAM_A_12 814 | ||
853 | MX6Q_PAD_DRAM_A13__MMDC_DRAM_A_13 815 | ||
854 | MX6Q_PAD_DRAM_A14__MMDC_DRAM_A_14 816 | ||
855 | MX6Q_PAD_DRAM_A15__MMDC_DRAM_A_15 817 | ||
856 | MX6Q_PAD_DRAM_CAS__MMDC_DRAM_CAS 818 | ||
857 | MX6Q_PAD_DRAM_CS0__MMDC_DRAM_CS_0 819 | ||
858 | MX6Q_PAD_DRAM_CS1__MMDC_DRAM_CS_1 820 | ||
859 | MX6Q_PAD_DRAM_RAS__MMDC_DRAM_RAS 821 | ||
860 | MX6Q_PAD_DRAM_RESET__MMDC_DRAM_RESET 822 | ||
861 | MX6Q_PAD_DRAM_SDBA0__MMDC_DRAM_SDBA_0 823 | ||
862 | MX6Q_PAD_DRAM_SDBA1__MMDC_DRAM_SDBA_1 824 | ||
863 | MX6Q_PAD_DRAM_SDCLK_0__MMDC_DRAM_SDCLK0 825 | ||
864 | MX6Q_PAD_DRAM_SDBA2__MMDC_DRAM_SDBA_2 826 | ||
865 | MX6Q_PAD_DRAM_SDCKE0__MMDC_DRAM_SDCKE_0 827 | ||
866 | MX6Q_PAD_DRAM_SDCLK_1__MMDC_DRAM_SDCLK1 828 | ||
867 | MX6Q_PAD_DRAM_SDCKE1__MMDC_DRAM_SDCKE_1 829 | ||
868 | MX6Q_PAD_DRAM_SDODT0__MMDC_DRAM_ODT_0 830 | ||
869 | MX6Q_PAD_DRAM_SDODT1__MMDC_DRAM_ODT_1 831 | ||
870 | MX6Q_PAD_DRAM_SDWE__MMDC_DRAM_SDWE 832 | ||
871 | MX6Q_PAD_DRAM_D0__MMDC_DRAM_D_0 833 | ||
872 | MX6Q_PAD_DRAM_D1__MMDC_DRAM_D_1 834 | ||
873 | MX6Q_PAD_DRAM_D2__MMDC_DRAM_D_2 835 | ||
874 | MX6Q_PAD_DRAM_D3__MMDC_DRAM_D_3 836 | ||
875 | MX6Q_PAD_DRAM_D4__MMDC_DRAM_D_4 837 | ||
876 | MX6Q_PAD_DRAM_D5__MMDC_DRAM_D_5 838 | ||
877 | MX6Q_PAD_DRAM_SDQS0__MMDC_DRAM_SDQS_0 839 | ||
878 | MX6Q_PAD_DRAM_D6__MMDC_DRAM_D_6 840 | ||
879 | MX6Q_PAD_DRAM_D7__MMDC_DRAM_D_7 841 | ||
880 | MX6Q_PAD_DRAM_DQM0__MMDC_DRAM_DQM_0 842 | ||
881 | MX6Q_PAD_DRAM_D8__MMDC_DRAM_D_8 843 | ||
882 | MX6Q_PAD_DRAM_D9__MMDC_DRAM_D_9 844 | ||
883 | MX6Q_PAD_DRAM_D10__MMDC_DRAM_D_10 845 | ||
884 | MX6Q_PAD_DRAM_D11__MMDC_DRAM_D_11 846 | ||
885 | MX6Q_PAD_DRAM_D12__MMDC_DRAM_D_12 847 | ||
886 | MX6Q_PAD_DRAM_D13__MMDC_DRAM_D_13 848 | ||
887 | MX6Q_PAD_DRAM_D14__MMDC_DRAM_D_14 849 | ||
888 | MX6Q_PAD_DRAM_SDQS1__MMDC_DRAM_SDQS_1 850 | ||
889 | MX6Q_PAD_DRAM_D15__MMDC_DRAM_D_15 851 | ||
890 | MX6Q_PAD_DRAM_DQM1__MMDC_DRAM_DQM_1 852 | ||
891 | MX6Q_PAD_DRAM_D48__MMDC_DRAM_D_48 853 | ||
892 | MX6Q_PAD_DRAM_D49__MMDC_DRAM_D_49 854 | ||
893 | MX6Q_PAD_DRAM_D50__MMDC_DRAM_D_50 855 | ||
894 | MX6Q_PAD_DRAM_D51__MMDC_DRAM_D_51 856 | ||
895 | MX6Q_PAD_DRAM_D52__MMDC_DRAM_D_52 857 | ||
896 | MX6Q_PAD_DRAM_D53__MMDC_DRAM_D_53 858 | ||
897 | MX6Q_PAD_DRAM_D54__MMDC_DRAM_D_54 859 | ||
898 | MX6Q_PAD_DRAM_D55__MMDC_DRAM_D_55 860 | ||
899 | MX6Q_PAD_DRAM_SDQS6__MMDC_DRAM_SDQS_6 861 | ||
900 | MX6Q_PAD_DRAM_DQM6__MMDC_DRAM_DQM_6 862 | ||
901 | MX6Q_PAD_DRAM_D56__MMDC_DRAM_D_56 863 | ||
902 | MX6Q_PAD_DRAM_SDQS7__MMDC_DRAM_SDQS_7 864 | ||
903 | MX6Q_PAD_DRAM_D57__MMDC_DRAM_D_57 865 | ||
904 | MX6Q_PAD_DRAM_D58__MMDC_DRAM_D_58 866 | ||
905 | MX6Q_PAD_DRAM_D59__MMDC_DRAM_D_59 867 | ||
906 | MX6Q_PAD_DRAM_D60__MMDC_DRAM_D_60 868 | ||
907 | MX6Q_PAD_DRAM_DQM7__MMDC_DRAM_DQM_7 869 | ||
908 | MX6Q_PAD_DRAM_D61__MMDC_DRAM_D_61 870 | ||
909 | MX6Q_PAD_DRAM_D62__MMDC_DRAM_D_62 871 | ||
910 | MX6Q_PAD_DRAM_D63__MMDC_DRAM_D_63 872 | ||
911 | MX6Q_PAD_KEY_COL0__ECSPI1_SCLK 873 | ||
912 | MX6Q_PAD_KEY_COL0__ENET_RDATA_3 874 | ||
913 | MX6Q_PAD_KEY_COL0__AUDMUX_AUD5_TXC 875 | ||
914 | MX6Q_PAD_KEY_COL0__KPP_COL_0 876 | ||
915 | MX6Q_PAD_KEY_COL0__UART4_TXD 877 | ||
916 | MX6Q_PAD_KEY_COL0__GPIO_4_6 878 | ||
917 | MX6Q_PAD_KEY_COL0__DCIC1_DCIC_OUT 879 | ||
918 | MX6Q_PAD_KEY_COL0__SRC_ANY_PU_RST 880 | ||
919 | MX6Q_PAD_KEY_ROW0__ECSPI1_MOSI 881 | ||
920 | MX6Q_PAD_KEY_ROW0__ENET_TDATA_3 882 | ||
921 | MX6Q_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 883 | ||
922 | MX6Q_PAD_KEY_ROW0__KPP_ROW_0 884 | ||
923 | MX6Q_PAD_KEY_ROW0__UART4_RXD 885 | ||
924 | MX6Q_PAD_KEY_ROW0__GPIO_4_7 886 | ||
925 | MX6Q_PAD_KEY_ROW0__DCIC2_DCIC_OUT 887 | ||
926 | MX6Q_PAD_KEY_ROW0__PL301_PER1_HADR_0 888 | ||
927 | MX6Q_PAD_KEY_COL1__ECSPI1_MISO 889 | ||
928 | MX6Q_PAD_KEY_COL1__ENET_MDIO 890 | ||
929 | MX6Q_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 891 | ||
930 | MX6Q_PAD_KEY_COL1__KPP_COL_1 892 | ||
931 | MX6Q_PAD_KEY_COL1__UART5_TXD 893 | ||
932 | MX6Q_PAD_KEY_COL1__GPIO_4_8 894 | ||
933 | MX6Q_PAD_KEY_COL1__USDHC1_VSELECT 895 | ||
934 | MX6Q_PAD_KEY_COL1__PL301MX_PER1_HADR_1 896 | ||
935 | MX6Q_PAD_KEY_ROW1__ECSPI1_SS0 897 | ||
936 | MX6Q_PAD_KEY_ROW1__ENET_COL 898 | ||
937 | MX6Q_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 899 | ||
938 | MX6Q_PAD_KEY_ROW1__KPP_ROW_1 900 | ||
939 | MX6Q_PAD_KEY_ROW1__UART5_RXD 901 | ||
940 | MX6Q_PAD_KEY_ROW1__GPIO_4_9 902 | ||
941 | MX6Q_PAD_KEY_ROW1__USDHC2_VSELECT 903 | ||
942 | MX6Q_PAD_KEY_ROW1__PL301_PER1_HADDR_2 904 | ||
943 | MX6Q_PAD_KEY_COL2__ECSPI1_SS1 905 | ||
944 | MX6Q_PAD_KEY_COL2__ENET_RDATA_2 906 | ||
945 | MX6Q_PAD_KEY_COL2__CAN1_TXCAN 907 | ||
946 | MX6Q_PAD_KEY_COL2__KPP_COL_2 908 | ||
947 | MX6Q_PAD_KEY_COL2__ENET_MDC 909 | ||
948 | MX6Q_PAD_KEY_COL2__GPIO_4_10 910 | ||
949 | MX6Q_PAD_KEY_COL2__USBOH3_H1_PWRCTL_WKP 911 | ||
950 | MX6Q_PAD_KEY_COL2__PL301_PER1_HADDR_3 912 | ||
951 | MX6Q_PAD_KEY_ROW2__ECSPI1_SS2 913 | ||
952 | MX6Q_PAD_KEY_ROW2__ENET_TDATA_2 914 | ||
953 | MX6Q_PAD_KEY_ROW2__CAN1_RXCAN 915 | ||
954 | MX6Q_PAD_KEY_ROW2__KPP_ROW_2 916 | ||
955 | MX6Q_PAD_KEY_ROW2__USDHC2_VSELECT 917 | ||
956 | MX6Q_PAD_KEY_ROW2__GPIO_4_11 918 | ||
957 | MX6Q_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 919 | ||
958 | MX6Q_PAD_KEY_ROW2__PL301_PER1_HADR_4 920 | ||
959 | MX6Q_PAD_KEY_COL3__ECSPI1_SS3 921 | ||
960 | MX6Q_PAD_KEY_COL3__ENET_CRS 922 | ||
961 | MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL 923 | ||
962 | MX6Q_PAD_KEY_COL3__KPP_COL_3 924 | ||
963 | MX6Q_PAD_KEY_COL3__I2C2_SCL 925 | ||
964 | MX6Q_PAD_KEY_COL3__GPIO_4_12 926 | ||
965 | MX6Q_PAD_KEY_COL3__SPDIF_IN1 927 | ||
966 | MX6Q_PAD_KEY_COL3__PL301_PER1_HADR_5 928 | ||
967 | MX6Q_PAD_KEY_ROW3__OSC32K_32K_OUT 929 | ||
968 | MX6Q_PAD_KEY_ROW3__ASRC_ASRC_EXT_CLK 930 | ||
969 | MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 931 | ||
970 | MX6Q_PAD_KEY_ROW3__KPP_ROW_3 932 | ||
971 | MX6Q_PAD_KEY_ROW3__I2C2_SDA 933 | ||
972 | MX6Q_PAD_KEY_ROW3__GPIO_4_13 934 | ||
973 | MX6Q_PAD_KEY_ROW3__USDHC1_VSELECT 935 | ||
974 | MX6Q_PAD_KEY_ROW3__PL301_PER1_HADR_6 936 | ||
975 | MX6Q_PAD_KEY_COL4__CAN2_TXCAN 937 | ||
976 | MX6Q_PAD_KEY_COL4__IPU1_SISG_4 938 | ||
977 | MX6Q_PAD_KEY_COL4__USBOH3_USBOTG_OC 939 | ||
978 | MX6Q_PAD_KEY_COL4__KPP_COL_4 940 | ||
979 | MX6Q_PAD_KEY_COL4__UART5_RTS 941 | ||
980 | MX6Q_PAD_KEY_COL4__GPIO_4_14 942 | ||
981 | MX6Q_PAD_KEY_COL4__MMDC_DEBUG_49 943 | ||
982 | MX6Q_PAD_KEY_COL4__PL301_PER1_HADDR_7 944 | ||
983 | MX6Q_PAD_KEY_ROW4__CAN2_RXCAN 945 | ||
984 | MX6Q_PAD_KEY_ROW4__IPU1_SISG_5 946 | ||
985 | MX6Q_PAD_KEY_ROW4__USBOH3_USBOTG_PWR 947 | ||
986 | MX6Q_PAD_KEY_ROW4__KPP_ROW_4 948 | ||
987 | MX6Q_PAD_KEY_ROW4__UART5_CTS 949 | ||
988 | MX6Q_PAD_KEY_ROW4__GPIO_4_15 950 | ||
989 | MX6Q_PAD_KEY_ROW4__MMDC_DEBUG_50 951 | ||
990 | MX6Q_PAD_KEY_ROW4__PL301_PER1_HADR_8 952 | ||
991 | MX6Q_PAD_GPIO_0__CCM_CLKO 953 | ||
992 | MX6Q_PAD_GPIO_0__KPP_COL_5 954 | ||
993 | MX6Q_PAD_GPIO_0__ASRC_ASRC_EXT_CLK 955 | ||
994 | MX6Q_PAD_GPIO_0__EPIT1_EPITO 956 | ||
995 | MX6Q_PAD_GPIO_0__GPIO_1_0 957 | ||
996 | MX6Q_PAD_GPIO_0__USBOH3_USBH1_PWR 958 | ||
997 | MX6Q_PAD_GPIO_0__SNVS_HP_WRAP_SNVS_VIO5 959 | ||
998 | MX6Q_PAD_GPIO_1__ESAI1_SCKR 960 | ||
999 | MX6Q_PAD_GPIO_1__WDOG2_WDOG_B 961 | ||
1000 | MX6Q_PAD_GPIO_1__KPP_ROW_5 962 | ||
1001 | MX6Q_PAD_GPIO_1__PWM2_PWMO 963 | ||
1002 | MX6Q_PAD_GPIO_1__GPIO_1_1 964 | ||
1003 | MX6Q_PAD_GPIO_1__USDHC1_CD 965 | ||
1004 | MX6Q_PAD_GPIO_1__SRC_TESTER_ACK 966 | ||
1005 | MX6Q_PAD_GPIO_9__ESAI1_FSR 967 | ||
1006 | MX6Q_PAD_GPIO_9__WDOG1_WDOG_B 968 | ||
1007 | MX6Q_PAD_GPIO_9__KPP_COL_6 969 | ||
1008 | MX6Q_PAD_GPIO_9__CCM_REF_EN_B 970 | ||
1009 | MX6Q_PAD_GPIO_9__PWM1_PWMO 971 | ||
1010 | MX6Q_PAD_GPIO_9__GPIO_1_9 972 | ||
1011 | MX6Q_PAD_GPIO_9__USDHC1_WP 973 | ||
1012 | MX6Q_PAD_GPIO_9__SRC_EARLY_RST 974 | ||
1013 | MX6Q_PAD_GPIO_3__ESAI1_HCKR 975 | ||
1014 | MX6Q_PAD_GPIO_3__OBSERVE_MUX_INT_OUT0 976 | ||
1015 | MX6Q_PAD_GPIO_3__I2C3_SCL 977 | ||
1016 | MX6Q_PAD_GPIO_3__ANATOP_24M_OUT 978 | ||
1017 | MX6Q_PAD_GPIO_3__CCM_CLKO2 979 | ||
1018 | MX6Q_PAD_GPIO_3__GPIO_1_3 980 | ||
1019 | MX6Q_PAD_GPIO_3__USBOH3_USBH1_OC 981 | ||
1020 | MX6Q_PAD_GPIO_3__MLB_MLBCLK 982 | ||
1021 | MX6Q_PAD_GPIO_6__ESAI1_SCKT 983 | ||
1022 | MX6Q_PAD_GPIO_6__OBSERVE_MUX_INT_OUT1 984 | ||
1023 | MX6Q_PAD_GPIO_6__I2C3_SDA 985 | ||
1024 | MX6Q_PAD_GPIO_6__CCM_CCM_OUT_0 986 | ||
1025 | MX6Q_PAD_GPIO_6__CSU_CSU_INT_DEB 987 | ||
1026 | MX6Q_PAD_GPIO_6__GPIO_1_6 988 | ||
1027 | MX6Q_PAD_GPIO_6__USDHC2_LCTL 989 | ||
1028 | MX6Q_PAD_GPIO_6__MLB_MLBSIG 990 | ||
1029 | MX6Q_PAD_GPIO_2__ESAI1_FST 991 | ||
1030 | MX6Q_PAD_GPIO_2__OBSERVE_MUX_INT_OUT2 992 | ||
1031 | MX6Q_PAD_GPIO_2__KPP_ROW_6 993 | ||
1032 | MX6Q_PAD_GPIO_2__CCM_CCM_OUT_1 994 | ||
1033 | MX6Q_PAD_GPIO_2__CSU_CSU_ALARM_AUT_0 995 | ||
1034 | MX6Q_PAD_GPIO_2__GPIO_1_2 996 | ||
1035 | MX6Q_PAD_GPIO_2__USDHC2_WP 997 | ||
1036 | MX6Q_PAD_GPIO_2__MLB_MLBDAT 998 | ||
1037 | MX6Q_PAD_GPIO_4__ESAI1_HCKT 999 | ||
1038 | MX6Q_PAD_GPIO_4__OBSERVE_MUX_INT_OUT3 1000 | ||
1039 | MX6Q_PAD_GPIO_4__KPP_COL_7 1001 | ||
1040 | MX6Q_PAD_GPIO_4__CCM_CCM_OUT_2 1002 | ||
1041 | MX6Q_PAD_GPIO_4__CSU_CSU_ALARM_AUT_1 1003 | ||
1042 | MX6Q_PAD_GPIO_4__GPIO_1_4 1004 | ||
1043 | MX6Q_PAD_GPIO_4__USDHC2_CD 1005 | ||
1044 | MX6Q_PAD_GPIO_4__OCOTP_CRL_WRAR_FUSE_LA 1006 | ||
1045 | MX6Q_PAD_GPIO_5__ESAI1_TX2_RX3 1007 | ||
1046 | MX6Q_PAD_GPIO_5__OBSERVE_MUX_INT_OUT4 1008 | ||
1047 | MX6Q_PAD_GPIO_5__KPP_ROW_7 1009 | ||
1048 | MX6Q_PAD_GPIO_5__CCM_CLKO 1010 | ||
1049 | MX6Q_PAD_GPIO_5__CSU_CSU_ALARM_AUT_2 1011 | ||
1050 | MX6Q_PAD_GPIO_5__GPIO_1_5 1012 | ||
1051 | MX6Q_PAD_GPIO_5__I2C3_SCL 1013 | ||
1052 | MX6Q_PAD_GPIO_5__CHEETAH_EVENTI 1014 | ||
1053 | MX6Q_PAD_GPIO_7__ESAI1_TX4_RX1 1015 | ||
1054 | MX6Q_PAD_GPIO_7__ECSPI5_RDY 1016 | ||
1055 | MX6Q_PAD_GPIO_7__EPIT1_EPITO 1017 | ||
1056 | MX6Q_PAD_GPIO_7__CAN1_TXCAN 1018 | ||
1057 | MX6Q_PAD_GPIO_7__UART2_TXD 1019 | ||
1058 | MX6Q_PAD_GPIO_7__GPIO_1_7 1020 | ||
1059 | MX6Q_PAD_GPIO_7__SPDIF_PLOCK 1021 | ||
1060 | MX6Q_PAD_GPIO_7__USBOH3_OTGUSB_HST_MODE 1022 | ||
1061 | MX6Q_PAD_GPIO_8__ESAI1_TX5_RX0 1023 | ||
1062 | MX6Q_PAD_GPIO_8__ANATOP_ANATOP_32K_OUT 1024 | ||
1063 | MX6Q_PAD_GPIO_8__EPIT2_EPITO 1025 | ||
1064 | MX6Q_PAD_GPIO_8__CAN1_RXCAN 1026 | ||
1065 | MX6Q_PAD_GPIO_8__UART2_RXD 1027 | ||
1066 | MX6Q_PAD_GPIO_8__GPIO_1_8 1028 | ||
1067 | MX6Q_PAD_GPIO_8__SPDIF_SRCLK 1029 | ||
1068 | MX6Q_PAD_GPIO_8__USBOH3_OTG_PWRCTL_WAK 1030 | ||
1069 | MX6Q_PAD_GPIO_16__ESAI1_TX3_RX2 1031 | ||
1070 | MX6Q_PAD_GPIO_16__ENET_1588_EVENT2_IN 1032 | ||
1071 | MX6Q_PAD_GPIO_16__ENET_ETHERNET_REF_OUT 1033 | ||
1072 | MX6Q_PAD_GPIO_16__USDHC1_LCTL 1034 | ||
1073 | MX6Q_PAD_GPIO_16__SPDIF_IN1 1035 | ||
1074 | MX6Q_PAD_GPIO_16__GPIO_7_11 1036 | ||
1075 | MX6Q_PAD_GPIO_16__I2C3_SDA 1037 | ||
1076 | MX6Q_PAD_GPIO_16__SJC_DE_B 1038 | ||
1077 | MX6Q_PAD_GPIO_17__ESAI1_TX0 1039 | ||
1078 | MX6Q_PAD_GPIO_17__ENET_1588_EVENT3_IN 1040 | ||
1079 | MX6Q_PAD_GPIO_17__CCM_PMIC_RDY 1041 | ||
1080 | MX6Q_PAD_GPIO_17__SDMA_SDMA_EXT_EVENT_0 1042 | ||
1081 | MX6Q_PAD_GPIO_17__SPDIF_OUT1 1043 | ||
1082 | MX6Q_PAD_GPIO_17__GPIO_7_12 1044 | ||
1083 | MX6Q_PAD_GPIO_17__SJC_JTAG_ACT 1045 | ||
1084 | MX6Q_PAD_GPIO_18__ESAI1_TX1 1046 | ||
1085 | MX6Q_PAD_GPIO_18__ENET_RX_CLK 1047 | ||
1086 | MX6Q_PAD_GPIO_18__USDHC3_VSELECT 1048 | ||
1087 | MX6Q_PAD_GPIO_18__SDMA_SDMA_EXT_EVENT_1 1049 | ||
1088 | MX6Q_PAD_GPIO_18__ASRC_ASRC_EXT_CLK 1050 | ||
1089 | MX6Q_PAD_GPIO_18__GPIO_7_13 1051 | ||
1090 | MX6Q_PAD_GPIO_18__SNVS_HP_WRA_SNVS_VIO5 1052 | ||
1091 | MX6Q_PAD_GPIO_18__SRC_SYSTEM_RST 1053 | ||
1092 | MX6Q_PAD_GPIO_19__KPP_COL_5 1054 | ||
1093 | MX6Q_PAD_GPIO_19__ENET_1588_EVENT0_OUT 1055 | ||
1094 | MX6Q_PAD_GPIO_19__SPDIF_OUT1 1056 | ||
1095 | MX6Q_PAD_GPIO_19__CCM_CLKO 1057 | ||
1096 | MX6Q_PAD_GPIO_19__ECSPI1_RDY 1058 | ||
1097 | MX6Q_PAD_GPIO_19__GPIO_4_5 1059 | ||
1098 | MX6Q_PAD_GPIO_19__ENET_TX_ER 1060 | ||
1099 | MX6Q_PAD_GPIO_19__SRC_INT_BOOT 1061 | ||
1100 | MX6Q_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 1062 | ||
1101 | MX6Q_PAD_CSI0_PIXCLK__PCIE_CTRL_MUX_12 1063 | ||
1102 | MX6Q_PAD_CSI0_PIXCLK__SDMA_DEBUG_PC_0 1064 | ||
1103 | MX6Q_PAD_CSI0_PIXCLK__GPIO_5_18 1065 | ||
1104 | MX6Q_PAD_CSI0_PIXCLK___MMDC_DEBUG_29 1066 | ||
1105 | MX6Q_PAD_CSI0_PIXCLK__CHEETAH_EVENTO 1067 | ||
1106 | MX6Q_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC 1068 | ||
1107 | MX6Q_PAD_CSI0_MCLK__PCIE_CTRL_MUX_13 1069 | ||
1108 | MX6Q_PAD_CSI0_MCLK__CCM_CLKO 1070 | ||
1109 | MX6Q_PAD_CSI0_MCLK__SDMA_DEBUG_PC_1 1071 | ||
1110 | MX6Q_PAD_CSI0_MCLK__GPIO_5_19 1072 | ||
1111 | MX6Q_PAD_CSI0_MCLK__MMDC_MMDC_DEBUG_30 1073 | ||
1112 | MX6Q_PAD_CSI0_MCLK__CHEETAH_TRCTL 1074 | ||
1113 | MX6Q_PAD_CSI0_DATA_EN__IPU1_CSI0_DA_EN 1075 | ||
1114 | MX6Q_PAD_CSI0_DATA_EN__WEIM_WEIM_D_0 1076 | ||
1115 | MX6Q_PAD_CSI0_DATA_EN__PCIE_CTRL_MUX_14 1077 | ||
1116 | MX6Q_PAD_CSI0_DATA_EN__SDMA_DEBUG_PC_2 1078 | ||
1117 | MX6Q_PAD_CSI0_DATA_EN__GPIO_5_20 1079 | ||
1118 | MX6Q_PAD_CSI0_DATA_EN__MMDC_DEBUG_31 1080 | ||
1119 | MX6Q_PAD_CSI0_DATA_EN__CHEETAH_TRCLK 1081 | ||
1120 | MX6Q_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC 1082 | ||
1121 | MX6Q_PAD_CSI0_VSYNC__WEIM_WEIM_D_1 1083 | ||
1122 | MX6Q_PAD_CSI0_VSYNC__PCIE_CTRL_MUX_15 1084 | ||
1123 | MX6Q_PAD_CSI0_VSYNC__SDMA_DEBUG_PC_3 1085 | ||
1124 | MX6Q_PAD_CSI0_VSYNC__GPIO_5_21 1086 | ||
1125 | MX6Q_PAD_CSI0_VSYNC__MMDC_DEBUG_32 1087 | ||
1126 | MX6Q_PAD_CSI0_VSYNC__CHEETAH_TRACE_0 1088 | ||
1127 | MX6Q_PAD_CSI0_DAT4__IPU1_CSI0_D_4 1089 | ||
1128 | MX6Q_PAD_CSI0_DAT4__WEIM_WEIM_D_2 1090 | ||
1129 | MX6Q_PAD_CSI0_DAT4__ECSPI1_SCLK 1091 | ||
1130 | MX6Q_PAD_CSI0_DAT4__KPP_COL_5 1092 | ||
1131 | MX6Q_PAD_CSI0_DAT4__AUDMUX_AUD3_TXC 1093 | ||
1132 | MX6Q_PAD_CSI0_DAT4__GPIO_5_22 1094 | ||
1133 | MX6Q_PAD_CSI0_DAT4__MMDC_DEBUG_43 1095 | ||
1134 | MX6Q_PAD_CSI0_DAT4__CHEETAH_TRACE_1 1096 | ||
1135 | MX6Q_PAD_CSI0_DAT5__IPU1_CSI0_D_5 1097 | ||
1136 | MX6Q_PAD_CSI0_DAT5__WEIM_WEIM_D_3 1098 | ||
1137 | MX6Q_PAD_CSI0_DAT5__ECSPI1_MOSI 1099 | ||
1138 | MX6Q_PAD_CSI0_DAT5__KPP_ROW_5 1100 | ||
1139 | MX6Q_PAD_CSI0_DAT5__AUDMUX_AUD3_TXD 1101 | ||
1140 | MX6Q_PAD_CSI0_DAT5__GPIO_5_23 1102 | ||
1141 | MX6Q_PAD_CSI0_DAT5__MMDC_MMDC_DEBUG_44 1103 | ||
1142 | MX6Q_PAD_CSI0_DAT5__CHEETAH_TRACE_2 1104 | ||
1143 | MX6Q_PAD_CSI0_DAT6__IPU1_CSI0_D_6 1105 | ||
1144 | MX6Q_PAD_CSI0_DAT6__WEIM_WEIM_D_4 1106 | ||
1145 | MX6Q_PAD_CSI0_DAT6__ECSPI1_MISO 1107 | ||
1146 | MX6Q_PAD_CSI0_DAT6__KPP_COL_6 1108 | ||
1147 | MX6Q_PAD_CSI0_DAT6__AUDMUX_AUD3_TXFS 1109 | ||
1148 | MX6Q_PAD_CSI0_DAT6__GPIO_5_24 1110 | ||
1149 | MX6Q_PAD_CSI0_DAT6__MMDC_MMDC_DEBUG_45 1111 | ||
1150 | MX6Q_PAD_CSI0_DAT6__CHEETAH_TRACE_3 1112 | ||
1151 | MX6Q_PAD_CSI0_DAT7__IPU1_CSI0_D_7 1113 | ||
1152 | MX6Q_PAD_CSI0_DAT7__WEIM_WEIM_D_5 1114 | ||
1153 | MX6Q_PAD_CSI0_DAT7__ECSPI1_SS0 1115 | ||
1154 | MX6Q_PAD_CSI0_DAT7__KPP_ROW_6 1116 | ||
1155 | MX6Q_PAD_CSI0_DAT7__AUDMUX_AUD3_RXD 1117 | ||
1156 | MX6Q_PAD_CSI0_DAT7__GPIO_5_25 1118 | ||
1157 | MX6Q_PAD_CSI0_DAT7__MMDC_MMDC_DEBUG_46 1119 | ||
1158 | MX6Q_PAD_CSI0_DAT7__CHEETAH_TRACE_4 1120 | ||
1159 | MX6Q_PAD_CSI0_DAT8__IPU1_CSI0_D_8 1121 | ||
1160 | MX6Q_PAD_CSI0_DAT8__WEIM_WEIM_D_6 1122 | ||
1161 | MX6Q_PAD_CSI0_DAT8__ECSPI2_SCLK 1123 | ||
1162 | MX6Q_PAD_CSI0_DAT8__KPP_COL_7 1124 | ||
1163 | MX6Q_PAD_CSI0_DAT8__I2C1_SDA 1125 | ||
1164 | MX6Q_PAD_CSI0_DAT8__GPIO_5_26 1126 | ||
1165 | MX6Q_PAD_CSI0_DAT8__MMDC_MMDC_DEBUG_47 1127 | ||
1166 | MX6Q_PAD_CSI0_DAT8__CHEETAH_TRACE_5 1128 | ||
1167 | MX6Q_PAD_CSI0_DAT9__IPU1_CSI0_D_9 1129 | ||
1168 | MX6Q_PAD_CSI0_DAT9__WEIM_WEIM_D_7 1130 | ||
1169 | MX6Q_PAD_CSI0_DAT9__ECSPI2_MOSI 1131 | ||
1170 | MX6Q_PAD_CSI0_DAT9__KPP_ROW_7 1132 | ||
1171 | MX6Q_PAD_CSI0_DAT9__I2C1_SCL 1133 | ||
1172 | MX6Q_PAD_CSI0_DAT9__GPIO_5_27 1134 | ||
1173 | MX6Q_PAD_CSI0_DAT9__MMDC_MMDC_DEBUG_48 1135 | ||
1174 | MX6Q_PAD_CSI0_DAT9__CHEETAH_TRACE_6 1136 | ||
1175 | MX6Q_PAD_CSI0_DAT10__IPU1_CSI0_D_10 1137 | ||
1176 | MX6Q_PAD_CSI0_DAT10__AUDMUX_AUD3_RXC 1138 | ||
1177 | MX6Q_PAD_CSI0_DAT10__ECSPI2_MISO 1139 | ||
1178 | MX6Q_PAD_CSI0_DAT10__UART1_TXD 1140 | ||
1179 | MX6Q_PAD_CSI0_DAT10__SDMA_DEBUG_PC_4 1141 | ||
1180 | MX6Q_PAD_CSI0_DAT10__GPIO_5_28 1142 | ||
1181 | MX6Q_PAD_CSI0_DAT10__MMDC_MMDC_DEBUG_33 1143 | ||
1182 | MX6Q_PAD_CSI0_DAT10__CHEETAH_TRACE_7 1144 | ||
1183 | MX6Q_PAD_CSI0_DAT11__IPU1_CSI0_D_11 1145 | ||
1184 | MX6Q_PAD_CSI0_DAT11__AUDMUX_AUD3_RXFS 1146 | ||
1185 | MX6Q_PAD_CSI0_DAT11__ECSPI2_SS0 1147 | ||
1186 | MX6Q_PAD_CSI0_DAT11__UART1_RXD 1148 | ||
1187 | MX6Q_PAD_CSI0_DAT11__SDMA_DEBUG_PC_5 1149 | ||
1188 | MX6Q_PAD_CSI0_DAT11__GPIO_5_29 1150 | ||
1189 | MX6Q_PAD_CSI0_DAT11__MMDC_MMDC_DEBUG_34 1151 | ||
1190 | MX6Q_PAD_CSI0_DAT11__CHEETAH_TRACE_8 1152 | ||
1191 | MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_D_12 1153 | ||
1192 | MX6Q_PAD_CSI0_DAT12__WEIM_WEIM_D_8 1154 | ||
1193 | MX6Q_PAD_CSI0_DAT12__PCIE_CTRL_MUX_16 1155 | ||
1194 | MX6Q_PAD_CSI0_DAT12__UART4_TXD 1156 | ||
1195 | MX6Q_PAD_CSI0_DAT12__SDMA_DEBUG_PC_6 1157 | ||
1196 | MX6Q_PAD_CSI0_DAT12__GPIO_5_30 1158 | ||
1197 | MX6Q_PAD_CSI0_DAT12__MMDC_MMDC_DEBUG_35 1159 | ||
1198 | MX6Q_PAD_CSI0_DAT12__CHEETAH_TRACE_9 1160 | ||
1199 | MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_D_13 1161 | ||
1200 | MX6Q_PAD_CSI0_DAT13__WEIM_WEIM_D_9 1162 | ||
1201 | MX6Q_PAD_CSI0_DAT13__PCIE_CTRL_MUX_17 1163 | ||
1202 | MX6Q_PAD_CSI0_DAT13__UART4_RXD 1164 | ||
1203 | MX6Q_PAD_CSI0_DAT13__SDMA_DEBUG_PC_7 1165 | ||
1204 | MX6Q_PAD_CSI0_DAT13__GPIO_5_31 1166 | ||
1205 | MX6Q_PAD_CSI0_DAT13__MMDC_MMDC_DEBUG_36 1167 | ||
1206 | MX6Q_PAD_CSI0_DAT13__CHEETAH_TRACE_10 1168 | ||
1207 | MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_D_14 1169 | ||
1208 | MX6Q_PAD_CSI0_DAT14__WEIM_WEIM_D_10 1170 | ||
1209 | MX6Q_PAD_CSI0_DAT14__PCIE_CTRL_MUX_18 1171 | ||
1210 | MX6Q_PAD_CSI0_DAT14__UART5_TXD 1172 | ||
1211 | MX6Q_PAD_CSI0_DAT14__SDMA_DEBUG_PC_8 1173 | ||
1212 | MX6Q_PAD_CSI0_DAT14__GPIO_6_0 1174 | ||
1213 | MX6Q_PAD_CSI0_DAT14__MMDC_MMDC_DEBUG_37 1175 | ||
1214 | MX6Q_PAD_CSI0_DAT14__CHEETAH_TRACE_11 1176 | ||
1215 | MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_D_15 1177 | ||
1216 | MX6Q_PAD_CSI0_DAT15__WEIM_WEIM_D_11 1178 | ||
1217 | MX6Q_PAD_CSI0_DAT15__PCIE_CTRL_MUX_19 1179 | ||
1218 | MX6Q_PAD_CSI0_DAT15__UART5_RXD 1180 | ||
1219 | MX6Q_PAD_CSI0_DAT15__SDMA_DEBUG_PC_9 1181 | ||
1220 | MX6Q_PAD_CSI0_DAT15__GPIO_6_1 1182 | ||
1221 | MX6Q_PAD_CSI0_DAT15__MMDC_MMDC_DEBUG_38 1183 | ||
1222 | MX6Q_PAD_CSI0_DAT15__CHEETAH_TRACE_12 1184 | ||
1223 | MX6Q_PAD_CSI0_DAT16__IPU1_CSI0_D_16 1185 | ||
1224 | MX6Q_PAD_CSI0_DAT16__WEIM_WEIM_D_12 1186 | ||
1225 | MX6Q_PAD_CSI0_DAT16__PCIE_CTRL_MUX_20 1187 | ||
1226 | MX6Q_PAD_CSI0_DAT16__UART4_RTS 1188 | ||
1227 | MX6Q_PAD_CSI0_DAT16__SDMA_DEBUG_PC_10 1189 | ||
1228 | MX6Q_PAD_CSI0_DAT16__GPIO_6_2 1190 | ||
1229 | MX6Q_PAD_CSI0_DAT16__MMDC_MMDC_DEBUG_39 1191 | ||
1230 | MX6Q_PAD_CSI0_DAT16__CHEETAH_TRACE_13 1192 | ||
1231 | MX6Q_PAD_CSI0_DAT17__IPU1_CSI0_D_17 1193 | ||
1232 | MX6Q_PAD_CSI0_DAT17__WEIM_WEIM_D_13 1194 | ||
1233 | MX6Q_PAD_CSI0_DAT17__PCIE_CTRL_MUX_21 1195 | ||
1234 | MX6Q_PAD_CSI0_DAT17__UART4_CTS 1196 | ||
1235 | MX6Q_PAD_CSI0_DAT17__SDMA_DEBUG_PC_11 1197 | ||
1236 | MX6Q_PAD_CSI0_DAT17__GPIO_6_3 1198 | ||
1237 | MX6Q_PAD_CSI0_DAT17__MMDC_MMDC_DEBUG_40 1199 | ||
1238 | MX6Q_PAD_CSI0_DAT17__CHEETAH_TRACE_14 1200 | ||
1239 | MX6Q_PAD_CSI0_DAT18__IPU1_CSI0_D_18 1201 | ||
1240 | MX6Q_PAD_CSI0_DAT18__WEIM_WEIM_D_14 1202 | ||
1241 | MX6Q_PAD_CSI0_DAT18__PCIE_CTRL_MUX_22 1203 | ||
1242 | MX6Q_PAD_CSI0_DAT18__UART5_RTS 1204 | ||
1243 | MX6Q_PAD_CSI0_DAT18__SDMA_DEBUG_PC_12 1205 | ||
1244 | MX6Q_PAD_CSI0_DAT18__GPIO_6_4 1206 | ||
1245 | MX6Q_PAD_CSI0_DAT18__MMDC_MMDC_DEBUG_41 1207 | ||
1246 | MX6Q_PAD_CSI0_DAT18__CHEETAH_TRACE_15 1208 | ||
1247 | MX6Q_PAD_CSI0_DAT19__IPU1_CSI0_D_19 1209 | ||
1248 | MX6Q_PAD_CSI0_DAT19__WEIM_WEIM_D_15 1210 | ||
1249 | MX6Q_PAD_CSI0_DAT19__PCIE_CTRL_MUX_23 1211 | ||
1250 | MX6Q_PAD_CSI0_DAT19__UART5_CTS 1212 | ||
1251 | MX6Q_PAD_CSI0_DAT19__SDMA_DEBUG_PC_13 1213 | ||
1252 | MX6Q_PAD_CSI0_DAT19__GPIO_6_5 1214 | ||
1253 | MX6Q_PAD_CSI0_DAT19__MMDC_MMDC_DEBUG_42 1215 | ||
1254 | MX6Q_PAD_CSI0_DAT19__ANATOP_TESTO_9 1216 | ||
1255 | MX6Q_PAD_JTAG_TMS__SJC_TMS 1217 | ||
1256 | MX6Q_PAD_JTAG_MOD__SJC_MOD 1218 | ||
1257 | MX6Q_PAD_JTAG_TRSTB__SJC_TRSTB 1219 | ||
1258 | MX6Q_PAD_JTAG_TDI__SJC_TDI 1220 | ||
1259 | MX6Q_PAD_JTAG_TCK__SJC_TCK 1221 | ||
1260 | MX6Q_PAD_JTAG_TDO__SJC_TDO 1222 | ||
1261 | MX6Q_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 1223 | ||
1262 | MX6Q_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 1224 | ||
1263 | MX6Q_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 1225 | ||
1264 | MX6Q_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 1226 | ||
1265 | MX6Q_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 1227 | ||
1266 | MX6Q_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 1228 | ||
1267 | MX6Q_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 1229 | ||
1268 | MX6Q_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 1230 | ||
1269 | MX6Q_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 1231 | ||
1270 | MX6Q_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 1232 | ||
1271 | MX6Q_PAD_TAMPER__SNVS_LP_WRAP_SNVS_TD1 1233 | ||
1272 | MX6Q_PAD_PMIC_ON_REQ__SNVS_LPWRAP_WKALM 1234 | ||
1273 | MX6Q_PAD_PMIC_STBY_REQ__CCM_PMIC_STBYRQ 1235 | ||
1274 | MX6Q_PAD_POR_B__SRC_POR_B 1236 | ||
1275 | MX6Q_PAD_BOOT_MODE1__SRC_BOOT_MODE_1 1237 | ||
1276 | MX6Q_PAD_RESET_IN_B__SRC_RESET_B 1238 | ||
1277 | MX6Q_PAD_BOOT_MODE0__SRC_BOOT_MODE_0 1239 | ||
1278 | MX6Q_PAD_TEST_MODE__TCU_TEST_MODE 1240 | ||
1279 | MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 1241 | ||
1280 | MX6Q_PAD_SD3_DAT7__UART1_TXD 1242 | ||
1281 | MX6Q_PAD_SD3_DAT7__PCIE_CTRL_MUX_24 1243 | ||
1282 | MX6Q_PAD_SD3_DAT7__USBOH3_UH3_DFD_OUT_0 1244 | ||
1283 | MX6Q_PAD_SD3_DAT7__USBOH3_UH2_DFD_OUT_0 1245 | ||
1284 | MX6Q_PAD_SD3_DAT7__GPIO_6_17 1246 | ||
1285 | MX6Q_PAD_SD3_DAT7__MIPI_CORE_DPHY_IN_12 1247 | ||
1286 | MX6Q_PAD_SD3_DAT7__USBPHY2_CLK20DIV 1248 | ||
1287 | MX6Q_PAD_SD3_DAT6__USDHC3_DAT6 1249 | ||
1288 | MX6Q_PAD_SD3_DAT6__UART1_RXD 1250 | ||
1289 | MX6Q_PAD_SD3_DAT6__PCIE_CTRL_MUX_25 1251 | ||
1290 | MX6Q_PAD_SD3_DAT6__USBOH3_UH3_DFD_OUT_1 1252 | ||
1291 | MX6Q_PAD_SD3_DAT6__USBOH3_UH2_DFD_OUT_1 1253 | ||
1292 | MX6Q_PAD_SD3_DAT6__GPIO_6_18 1254 | ||
1293 | MX6Q_PAD_SD3_DAT6__MIPI_CORE_DPHY_IN_13 1255 | ||
1294 | MX6Q_PAD_SD3_DAT6__ANATOP_TESTO_10 1256 | ||
1295 | MX6Q_PAD_SD3_DAT5__USDHC3_DAT5 1257 | ||
1296 | MX6Q_PAD_SD3_DAT5__UART2_TXD 1258 | ||
1297 | MX6Q_PAD_SD3_DAT5__PCIE_CTRL_MUX_26 1259 | ||
1298 | MX6Q_PAD_SD3_DAT5__USBOH3_UH3_DFD_OUT_2 1260 | ||
1299 | MX6Q_PAD_SD3_DAT5__USBOH3_UH2_DFD_OUT_2 1261 | ||
1300 | MX6Q_PAD_SD3_DAT5__GPIO_7_0 1262 | ||
1301 | MX6Q_PAD_SD3_DAT5__MIPI_CORE_DPHY_IN_14 1263 | ||
1302 | MX6Q_PAD_SD3_DAT5__ANATOP_TESTO_11 1264 | ||
1303 | MX6Q_PAD_SD3_DAT4__USDHC3_DAT4 1265 | ||
1304 | MX6Q_PAD_SD3_DAT4__UART2_RXD 1266 | ||
1305 | MX6Q_PAD_SD3_DAT4__PCIE_CTRL_MUX_27 1267 | ||
1306 | MX6Q_PAD_SD3_DAT4__USBOH3_UH3_DFD_OUT_3 1268 | ||
1307 | MX6Q_PAD_SD3_DAT4__USBOH3_UH2_DFD_OUT_3 1269 | ||
1308 | MX6Q_PAD_SD3_DAT4__GPIO_7_1 1270 | ||
1309 | MX6Q_PAD_SD3_DAT4__MIPI_CORE_DPHY_IN_15 1271 | ||
1310 | MX6Q_PAD_SD3_DAT4__ANATOP_TESTO_12 1272 | ||
1311 | MX6Q_PAD_SD3_CMD__USDHC3_CMD 1273 | ||
1312 | MX6Q_PAD_SD3_CMD__UART2_CTS 1274 | ||
1313 | MX6Q_PAD_SD3_CMD__CAN1_TXCAN 1275 | ||
1314 | MX6Q_PAD_SD3_CMD__USBOH3_UH3_DFD_OUT_4 1276 | ||
1315 | MX6Q_PAD_SD3_CMD__USBOH3_UH2_DFD_OUT_4 1277 | ||
1316 | MX6Q_PAD_SD3_CMD__GPIO_7_2 1278 | ||
1317 | MX6Q_PAD_SD3_CMD__MIPI_CORE_DPHY_IN_16 1279 | ||
1318 | MX6Q_PAD_SD3_CMD__ANATOP_TESTO_13 1280 | ||
1319 | MX6Q_PAD_SD3_CLK__USDHC3_CLK 1281 | ||
1320 | MX6Q_PAD_SD3_CLK__UART2_RTS 1282 | ||
1321 | MX6Q_PAD_SD3_CLK__CAN1_RXCAN 1283 | ||
1322 | MX6Q_PAD_SD3_CLK__USBOH3_UH3_DFD_OUT_5 1284 | ||
1323 | MX6Q_PAD_SD3_CLK__USBOH3_UH2_DFD_OUT_5 1285 | ||
1324 | MX6Q_PAD_SD3_CLK__GPIO_7_3 1286 | ||
1325 | MX6Q_PAD_SD3_CLK__MIPI_CORE_DPHY_IN_17 1287 | ||
1326 | MX6Q_PAD_SD3_CLK__ANATOP_TESTO_14 1288 | ||
1327 | MX6Q_PAD_SD3_DAT0__USDHC3_DAT0 1289 | ||
1328 | MX6Q_PAD_SD3_DAT0__UART1_CTS 1290 | ||
1329 | MX6Q_PAD_SD3_DAT0__CAN2_TXCAN 1291 | ||
1330 | MX6Q_PAD_SD3_DAT0__USBOH3_UH3_DFD_OUT_6 1292 | ||
1331 | MX6Q_PAD_SD3_DAT0__USBOH3_UH2_DFD_OUT_6 1293 | ||
1332 | MX6Q_PAD_SD3_DAT0__GPIO_7_4 1294 | ||
1333 | MX6Q_PAD_SD3_DAT0__MIPI_CORE_DPHY_IN_18 1295 | ||
1334 | MX6Q_PAD_SD3_DAT0__ANATOP_TESTO_15 1296 | ||
1335 | MX6Q_PAD_SD3_DAT1__USDHC3_DAT1 1297 | ||
1336 | MX6Q_PAD_SD3_DAT1__UART1_RTS 1298 | ||
1337 | MX6Q_PAD_SD3_DAT1__CAN2_RXCAN 1299 | ||
1338 | MX6Q_PAD_SD3_DAT1__USBOH3_UH3_DFD_OUT_7 1300 | ||
1339 | MX6Q_PAD_SD3_DAT1__USBOH3_UH2_DFD_OUT_7 1301 | ||
1340 | MX6Q_PAD_SD3_DAT1__GPIO_7_5 1302 | ||
1341 | MX6Q_PAD_SD3_DAT1__MIPI_CORE_DPHY_IN_19 1303 | ||
1342 | MX6Q_PAD_SD3_DAT1__ANATOP_TESTI_0 1304 | ||
1343 | MX6Q_PAD_SD3_DAT2__USDHC3_DAT2 1305 | ||
1344 | MX6Q_PAD_SD3_DAT2__PCIE_CTRL_MUX_28 1306 | ||
1345 | MX6Q_PAD_SD3_DAT2__USBOH3_UH3_DFD_OUT_8 1307 | ||
1346 | MX6Q_PAD_SD3_DAT2__USBOH3_UH2_DFD_OUT_8 1308 | ||
1347 | MX6Q_PAD_SD3_DAT2__GPIO_7_6 1309 | ||
1348 | MX6Q_PAD_SD3_DAT2__MIPI_CORE_DPHY_IN_20 1310 | ||
1349 | MX6Q_PAD_SD3_DAT2__ANATOP_TESTI_1 1311 | ||
1350 | MX6Q_PAD_SD3_DAT3__USDHC3_DAT3 1312 | ||
1351 | MX6Q_PAD_SD3_DAT3__UART3_CTS 1313 | ||
1352 | MX6Q_PAD_SD3_DAT3__PCIE_CTRL_MUX_29 1314 | ||
1353 | MX6Q_PAD_SD3_DAT3__USBOH3_UH3_DFD_OUT_9 1315 | ||
1354 | MX6Q_PAD_SD3_DAT3__USBOH3_UH2_DFD_OUT_9 1316 | ||
1355 | MX6Q_PAD_SD3_DAT3__GPIO_7_7 1317 | ||
1356 | MX6Q_PAD_SD3_DAT3__MIPI_CORE_DPHY_IN_21 1318 | ||
1357 | MX6Q_PAD_SD3_DAT3__ANATOP_TESTI_2 1319 | ||
1358 | MX6Q_PAD_SD3_RST__USDHC3_RST 1320 | ||
1359 | MX6Q_PAD_SD3_RST__UART3_RTS 1321 | ||
1360 | MX6Q_PAD_SD3_RST__PCIE_CTRL_MUX_30 1322 | ||
1361 | MX6Q_PAD_SD3_RST__USBOH3_UH3_DFD_OUT_10 1323 | ||
1362 | MX6Q_PAD_SD3_RST__USBOH3_UH2_DFD_OUT_10 1324 | ||
1363 | MX6Q_PAD_SD3_RST__GPIO_7_8 1325 | ||
1364 | MX6Q_PAD_SD3_RST__MIPI_CORE_DPHY_IN_22 1326 | ||
1365 | MX6Q_PAD_SD3_RST__ANATOP_ANATOP_TESTI_3 1327 | ||
1366 | MX6Q_PAD_NANDF_CLE__RAWNAND_CLE 1328 | ||
1367 | MX6Q_PAD_NANDF_CLE__IPU2_SISG_4 1329 | ||
1368 | MX6Q_PAD_NANDF_CLE__PCIE_CTRL_MUX_31 1330 | ||
1369 | MX6Q_PAD_NANDF_CLE__USBOH3_UH3_DFD_OT11 1331 | ||
1370 | MX6Q_PAD_NANDF_CLE__USBOH3_UH2_DFD_OT11 1332 | ||
1371 | MX6Q_PAD_NANDF_CLE__GPIO_6_7 1333 | ||
1372 | MX6Q_PAD_NANDF_CLE__MIPI_CORE_DPHY_IN23 1334 | ||
1373 | MX6Q_PAD_NANDF_CLE__TPSMP_HTRANS_0 1335 | ||
1374 | MX6Q_PAD_NANDF_ALE__RAWNAND_ALE 1336 | ||
1375 | MX6Q_PAD_NANDF_ALE__USDHC4_RST 1337 | ||
1376 | MX6Q_PAD_NANDF_ALE__PCIE_CTRL_MUX_0 1338 | ||
1377 | MX6Q_PAD_NANDF_ALE__USBOH3_UH3_DFD_OT12 1339 | ||
1378 | MX6Q_PAD_NANDF_ALE__USBOH3_UH2_DFD_OT12 1340 | ||
1379 | MX6Q_PAD_NANDF_ALE__GPIO_6_8 1341 | ||
1380 | MX6Q_PAD_NANDF_ALE__MIPI_CR_DPHY_IN_24 1342 | ||
1381 | MX6Q_PAD_NANDF_ALE__TPSMP_HTRANS_1 1343 | ||
1382 | MX6Q_PAD_NANDF_WP_B__RAWNAND_RESETN 1344 | ||
1383 | MX6Q_PAD_NANDF_WP_B__IPU2_SISG_5 1345 | ||
1384 | MX6Q_PAD_NANDF_WP_B__PCIE_CTRL__MUX_1 1346 | ||
1385 | MX6Q_PAD_NANDF_WP_B__USBOH3_UH3_DFDOT13 1347 | ||
1386 | MX6Q_PAD_NANDF_WP_B__USBOH3_UH2_DFDOT13 1348 | ||
1387 | MX6Q_PAD_NANDF_WP_B__GPIO_6_9 1349 | ||
1388 | MX6Q_PAD_NANDF_WP_B__MIPI_CR_DPHY_OUT32 1350 | ||
1389 | MX6Q_PAD_NANDF_WP_B__PL301_PER1_HSIZE_0 1351 | ||
1390 | MX6Q_PAD_NANDF_RB0__RAWNAND_READY0 1352 | ||
1391 | MX6Q_PAD_NANDF_RB0__IPU2_DI0_PIN1 1353 | ||
1392 | MX6Q_PAD_NANDF_RB0__PCIE_CTRL_MUX_2 1354 | ||
1393 | MX6Q_PAD_NANDF_RB0__USBOH3_UH3_DFD_OT14 1355 | ||
1394 | MX6Q_PAD_NANDF_RB0__USBOH3_UH2_DFD_OT14 1356 | ||
1395 | MX6Q_PAD_NANDF_RB0__GPIO_6_10 1357 | ||
1396 | MX6Q_PAD_NANDF_RB0__MIPI_CR_DPHY_OUT_33 1358 | ||
1397 | MX6Q_PAD_NANDF_RB0__PL301_PER1_HSIZE_1 1359 | ||
1398 | MX6Q_PAD_NANDF_CS0__RAWNAND_CE0N 1360 | ||
1399 | MX6Q_PAD_NANDF_CS0__USBOH3_UH3_DFD_OT15 1361 | ||
1400 | MX6Q_PAD_NANDF_CS0__USBOH3_UH2_DFD_OT15 1362 | ||
1401 | MX6Q_PAD_NANDF_CS0__GPIO_6_11 1363 | ||
1402 | MX6Q_PAD_NANDF_CS0__PL301_PER1_HSIZE_2 1364 | ||
1403 | MX6Q_PAD_NANDF_CS1__RAWNAND_CE1N 1365 | ||
1404 | MX6Q_PAD_NANDF_CS1__USDHC4_VSELECT 1366 | ||
1405 | MX6Q_PAD_NANDF_CS1__USDHC3_VSELECT 1367 | ||
1406 | MX6Q_PAD_NANDF_CS1__PCIE_CTRL_MUX_3 1368 | ||
1407 | MX6Q_PAD_NANDF_CS1__GPIO_6_14 1369 | ||
1408 | MX6Q_PAD_NANDF_CS1__PL301_PER1_HRDYOUT 1370 | ||
1409 | MX6Q_PAD_NANDF_CS2__RAWNAND_CE2N 1371 | ||
1410 | MX6Q_PAD_NANDF_CS2__IPU1_SISG_0 1372 | ||
1411 | MX6Q_PAD_NANDF_CS2__ESAI1_TX0 1373 | ||
1412 | MX6Q_PAD_NANDF_CS2__WEIM_WEIM_CRE 1374 | ||
1413 | MX6Q_PAD_NANDF_CS2__CCM_CLKO2 1375 | ||
1414 | MX6Q_PAD_NANDF_CS2__GPIO_6_15 1376 | ||
1415 | MX6Q_PAD_NANDF_CS2__IPU2_SISG_0 1377 | ||
1416 | MX6Q_PAD_NANDF_CS3__RAWNAND_CE3N 1378 | ||
1417 | MX6Q_PAD_NANDF_CS3__IPU1_SISG_1 1379 | ||
1418 | MX6Q_PAD_NANDF_CS3__ESAI1_TX1 1380 | ||
1419 | MX6Q_PAD_NANDF_CS3__WEIM_WEIM_A_26 1381 | ||
1420 | MX6Q_PAD_NANDF_CS3__PCIE_CTRL_MUX_4 1382 | ||
1421 | MX6Q_PAD_NANDF_CS3__GPIO_6_16 1383 | ||
1422 | MX6Q_PAD_NANDF_CS3__IPU2_SISG_1 1384 | ||
1423 | MX6Q_PAD_NANDF_CS3__TPSMP_CLK 1385 | ||
1424 | MX6Q_PAD_SD4_CMD__USDHC4_CMD 1386 | ||
1425 | MX6Q_PAD_SD4_CMD__RAWNAND_RDN 1387 | ||
1426 | MX6Q_PAD_SD4_CMD__UART3_TXD 1388 | ||
1427 | MX6Q_PAD_SD4_CMD__PCIE_CTRL_MUX_5 1389 | ||
1428 | MX6Q_PAD_SD4_CMD__GPIO_7_9 1390 | ||
1429 | MX6Q_PAD_SD4_CMD__TPSMP_HDATA_DIR 1391 | ||
1430 | MX6Q_PAD_SD4_CLK__USDHC4_CLK 1392 | ||
1431 | MX6Q_PAD_SD4_CLK__RAWNAND_WRN 1393 | ||
1432 | MX6Q_PAD_SD4_CLK__UART3_RXD 1394 | ||
1433 | MX6Q_PAD_SD4_CLK__PCIE_CTRL_MUX_6 1395 | ||
1434 | MX6Q_PAD_SD4_CLK__GPIO_7_10 1396 | ||
1435 | MX6Q_PAD_NANDF_D0__RAWNAND_D0 1397 | ||
1436 | MX6Q_PAD_NANDF_D0__USDHC1_DAT4 1398 | ||
1437 | MX6Q_PAD_NANDF_D0__GPU3D_GPU_DBG_OUT_0 1399 | ||
1438 | MX6Q_PAD_NANDF_D0__USBOH3_UH2_DFD_OUT16 1400 | ||
1439 | MX6Q_PAD_NANDF_D0__USBOH3_UH3_DFD_OUT16 1401 | ||
1440 | MX6Q_PAD_NANDF_D0__GPIO_2_0 1402 | ||
1441 | MX6Q_PAD_NANDF_D0__IPU1_IPU_DIAG_BUS_0 1403 | ||
1442 | MX6Q_PAD_NANDF_D0__IPU2_IPU_DIAG_BUS_0 1404 | ||
1443 | MX6Q_PAD_NANDF_D1__RAWNAND_D1 1405 | ||
1444 | MX6Q_PAD_NANDF_D1__USDHC1_DAT5 1406 | ||
1445 | MX6Q_PAD_NANDF_D1__GPU3D_GPU_DEBUG_OUT1 1407 | ||
1446 | MX6Q_PAD_NANDF_D1__USBOH3_UH2_DFD_OUT17 1408 | ||
1447 | MX6Q_PAD_NANDF_D1__USBOH3_UH3_DFD_OUT17 1409 | ||
1448 | MX6Q_PAD_NANDF_D1__GPIO_2_1 1410 | ||
1449 | MX6Q_PAD_NANDF_D1__IPU1_IPU_DIAG_BUS_1 1411 | ||
1450 | MX6Q_PAD_NANDF_D1__IPU2_IPU_DIAG_BUS_1 1412 | ||
1451 | MX6Q_PAD_NANDF_D2__RAWNAND_D2 1413 | ||
1452 | MX6Q_PAD_NANDF_D2__USDHC1_DAT6 1414 | ||
1453 | MX6Q_PAD_NANDF_D2__GPU3D_GPU_DBG_OUT_2 1415 | ||
1454 | MX6Q_PAD_NANDF_D2__USBOH3_UH2_DFD_OUT18 1416 | ||
1455 | MX6Q_PAD_NANDF_D2__USBOH3_UH3_DFD_OUT18 1417 | ||
1456 | MX6Q_PAD_NANDF_D2__GPIO_2_2 1418 | ||
1457 | MX6Q_PAD_NANDF_D2__IPU1_IPU_DIAG_BUS_2 1419 | ||
1458 | MX6Q_PAD_NANDF_D2__IPU2_IPU_DIAG_BUS_2 1420 | ||
1459 | MX6Q_PAD_NANDF_D3__RAWNAND_D3 1421 | ||
1460 | MX6Q_PAD_NANDF_D3__USDHC1_DAT7 1422 | ||
1461 | MX6Q_PAD_NANDF_D3__GPU3D_GPU_DBG_OUT_3 1423 | ||
1462 | MX6Q_PAD_NANDF_D3__USBOH3_UH2_DFD_OUT19 1424 | ||
1463 | MX6Q_PAD_NANDF_D3__USBOH3_UH3_DFD_OUT19 1425 | ||
1464 | MX6Q_PAD_NANDF_D3__GPIO_2_3 1426 | ||
1465 | MX6Q_PAD_NANDF_D3__IPU1_IPU_DIAG_BUS_3 1427 | ||
1466 | MX6Q_PAD_NANDF_D3__IPU2_IPU_DIAG_BUS_3 1428 | ||
1467 | MX6Q_PAD_NANDF_D4__RAWNAND_D4 1429 | ||
1468 | MX6Q_PAD_NANDF_D4__USDHC2_DAT4 1430 | ||
1469 | MX6Q_PAD_NANDF_D4__GPU3D_GPU_DBG_OUT_4 1431 | ||
1470 | MX6Q_PAD_NANDF_D4__USBOH3_UH2_DFD_OUT20 1432 | ||
1471 | MX6Q_PAD_NANDF_D4__USBOH3_UH3_DFD_OUT20 1433 | ||
1472 | MX6Q_PAD_NANDF_D4__GPIO_2_4 1434 | ||
1473 | MX6Q_PAD_NANDF_D4__IPU1_IPU_DIAG_BUS_4 1435 | ||
1474 | MX6Q_PAD_NANDF_D4__IPU2_IPU_DIAG_BUS_4 1436 | ||
1475 | MX6Q_PAD_NANDF_D5__RAWNAND_D5 1437 | ||
1476 | MX6Q_PAD_NANDF_D5__USDHC2_DAT5 1438 | ||
1477 | MX6Q_PAD_NANDF_D5__GPU3D_GPU_DBG_OUT_5 1439 | ||
1478 | MX6Q_PAD_NANDF_D5__USBOH3_UH2_DFD_OUT21 1440 | ||
1479 | MX6Q_PAD_NANDF_D5__USBOH3_UH3_DFD_OUT21 1441 | ||
1480 | MX6Q_PAD_NANDF_D5__GPIO_2_5 1442 | ||
1481 | MX6Q_PAD_NANDF_D5__IPU1_IPU_DIAG_BUS_5 1443 | ||
1482 | MX6Q_PAD_NANDF_D5__IPU2_IPU_DIAG_BUS_5 1444 | ||
1483 | MX6Q_PAD_NANDF_D6__RAWNAND_D6 1445 | ||
1484 | MX6Q_PAD_NANDF_D6__USDHC2_DAT6 1446 | ||
1485 | MX6Q_PAD_NANDF_D6__GPU3D_GPU_DBG_OUT_6 1447 | ||
1486 | MX6Q_PAD_NANDF_D6__USBOH3_UH2_DFD_OUT22 1448 | ||
1487 | MX6Q_PAD_NANDF_D6__USBOH3_UH3_DFD_OUT22 1449 | ||
1488 | MX6Q_PAD_NANDF_D6__GPIO_2_6 1450 | ||
1489 | MX6Q_PAD_NANDF_D6__IPU1_IPU_DIAG_BUS_6 1451 | ||
1490 | MX6Q_PAD_NANDF_D6__IPU2_IPU_DIAG_BUS_6 1452 | ||
1491 | MX6Q_PAD_NANDF_D7__RAWNAND_D7 1453 | ||
1492 | MX6Q_PAD_NANDF_D7__USDHC2_DAT7 1454 | ||
1493 | MX6Q_PAD_NANDF_D7__GPU3D_GPU_DBG_OUT_7 1455 | ||
1494 | MX6Q_PAD_NANDF_D7__USBOH3_UH2_DFD_OUT23 1456 | ||
1495 | MX6Q_PAD_NANDF_D7__USBOH3_UH3_DFD_OUT23 1457 | ||
1496 | MX6Q_PAD_NANDF_D7__GPIO_2_7 1458 | ||
1497 | MX6Q_PAD_NANDF_D7__IPU1_IPU_DIAG_BUS_7 1459 | ||
1498 | MX6Q_PAD_NANDF_D7__IPU2_IPU_DIAG_BUS_7 1460 | ||
1499 | MX6Q_PAD_SD4_DAT0__RAWNAND_D8 1461 | ||
1500 | MX6Q_PAD_SD4_DAT0__USDHC4_DAT0 1462 | ||
1501 | MX6Q_PAD_SD4_DAT0__RAWNAND_DQS 1463 | ||
1502 | MX6Q_PAD_SD4_DAT0__USBOH3_UH2_DFD_OUT24 1464 | ||
1503 | MX6Q_PAD_SD4_DAT0__USBOH3_UH3_DFD_OUT24 1465 | ||
1504 | MX6Q_PAD_SD4_DAT0__GPIO_2_8 1466 | ||
1505 | MX6Q_PAD_SD4_DAT0__IPU1_IPU_DIAG_BUS_8 1467 | ||
1506 | MX6Q_PAD_SD4_DAT0__IPU2_IPU_DIAG_BUS_8 1468 | ||
1507 | MX6Q_PAD_SD4_DAT1__RAWNAND_D9 1469 | ||
1508 | MX6Q_PAD_SD4_DAT1__USDHC4_DAT1 1470 | ||
1509 | MX6Q_PAD_SD4_DAT1__PWM3_PWMO 1471 | ||
1510 | MX6Q_PAD_SD4_DAT1__USBOH3_UH2_DFD_OUT25 1472 | ||
1511 | MX6Q_PAD_SD4_DAT1__USBOH3_UH3_DFD_OUT25 1473 | ||
1512 | MX6Q_PAD_SD4_DAT1__GPIO_2_9 1474 | ||
1513 | MX6Q_PAD_SD4_DAT1__IPU1_IPU_DIAG_BUS_9 1475 | ||
1514 | MX6Q_PAD_SD4_DAT1__IPU2_IPU_DIAG_BUS_9 1476 | ||
1515 | MX6Q_PAD_SD4_DAT2__RAWNAND_D10 1477 | ||
1516 | MX6Q_PAD_SD4_DAT2__USDHC4_DAT2 1478 | ||
1517 | MX6Q_PAD_SD4_DAT2__PWM4_PWMO 1479 | ||
1518 | MX6Q_PAD_SD4_DAT2__USBOH3_UH2_DFD_OUT26 1480 | ||
1519 | MX6Q_PAD_SD4_DAT2__USBOH3_UH3_DFD_OUT26 1481 | ||
1520 | MX6Q_PAD_SD4_DAT2__GPIO_2_10 1482 | ||
1521 | MX6Q_PAD_SD4_DAT2__IPU1_IPU_DIAG_BUS_10 1483 | ||
1522 | MX6Q_PAD_SD4_DAT2__IPU2_IPU_DIAG_BUS_10 1484 | ||
1523 | MX6Q_PAD_SD4_DAT3__RAWNAND_D11 1485 | ||
1524 | MX6Q_PAD_SD4_DAT3__USDHC4_DAT3 1486 | ||
1525 | MX6Q_PAD_SD4_DAT3__USBOH3_UH2_DFD_OUT27 1487 | ||
1526 | MX6Q_PAD_SD4_DAT3__USBOH3_UH3_DFD_OUT27 1488 | ||
1527 | MX6Q_PAD_SD4_DAT3__GPIO_2_11 1489 | ||
1528 | MX6Q_PAD_SD4_DAT3__IPU1_IPU_DIAG_BUS_11 1490 | ||
1529 | MX6Q_PAD_SD4_DAT3__IPU2_IPU_DIAG_BUS_11 1491 | ||
1530 | MX6Q_PAD_SD4_DAT4__RAWNAND_D12 1492 | ||
1531 | MX6Q_PAD_SD4_DAT4__USDHC4_DAT4 1493 | ||
1532 | MX6Q_PAD_SD4_DAT4__UART2_RXD 1494 | ||
1533 | MX6Q_PAD_SD4_DAT4__USBOH3_UH2_DFD_OUT28 1495 | ||
1534 | MX6Q_PAD_SD4_DAT4__USBOH3_UH3_DFD_OUT28 1496 | ||
1535 | MX6Q_PAD_SD4_DAT4__GPIO_2_12 1497 | ||
1536 | MX6Q_PAD_SD4_DAT4__IPU1_IPU_DIAG_BUS_12 1498 | ||
1537 | MX6Q_PAD_SD4_DAT4__IPU2_IPU_DIAG_BUS_12 1499 | ||
1538 | MX6Q_PAD_SD4_DAT5__RAWNAND_D13 1500 | ||
1539 | MX6Q_PAD_SD4_DAT5__USDHC4_DAT5 1501 | ||
1540 | MX6Q_PAD_SD4_DAT5__UART2_RTS 1502 | ||
1541 | MX6Q_PAD_SD4_DAT5__USBOH3_UH2_DFD_OUT29 1503 | ||
1542 | MX6Q_PAD_SD4_DAT5__USBOH3_UH3_DFD_OUT29 1504 | ||
1543 | MX6Q_PAD_SD4_DAT5__GPIO_2_13 1505 | ||
1544 | MX6Q_PAD_SD4_DAT5__IPU1_IPU_DIAG_BUS_13 1506 | ||
1545 | MX6Q_PAD_SD4_DAT5__IPU2_IPU_DIAG_BUS_13 1507 | ||
1546 | MX6Q_PAD_SD4_DAT6__RAWNAND_D14 1508 | ||
1547 | MX6Q_PAD_SD4_DAT6__USDHC4_DAT6 1509 | ||
1548 | MX6Q_PAD_SD4_DAT6__UART2_CTS 1510 | ||
1549 | MX6Q_PAD_SD4_DAT6__USBOH3_UH2_DFD_OUT30 1511 | ||
1550 | MX6Q_PAD_SD4_DAT6__USBOH3_UH3_DFD_OUT30 1512 | ||
1551 | MX6Q_PAD_SD4_DAT6__GPIO_2_14 1513 | ||
1552 | MX6Q_PAD_SD4_DAT6__IPU1_IPU_DIAG_BUS_14 1514 | ||
1553 | MX6Q_PAD_SD4_DAT6__IPU2_IPU_DIAG_BUS_14 1515 | ||
1554 | MX6Q_PAD_SD4_DAT7__RAWNAND_D15 1516 | ||
1555 | MX6Q_PAD_SD4_DAT7__USDHC4_DAT7 1517 | ||
1556 | MX6Q_PAD_SD4_DAT7__UART2_TXD 1518 | ||
1557 | MX6Q_PAD_SD4_DAT7__USBOH3_UH2_DFD_OUT31 1519 | ||
1558 | MX6Q_PAD_SD4_DAT7__USBOH3_UH3_DFD_OUT31 1520 | ||
1559 | MX6Q_PAD_SD4_DAT7__GPIO_2_15 1521 | ||
1560 | MX6Q_PAD_SD4_DAT7__IPU1_IPU_DIAG_BUS_15 1522 | ||
1561 | MX6Q_PAD_SD4_DAT7__IPU2_IPU_DIAG_BUS_15 1523 | ||
1562 | MX6Q_PAD_SD1_DAT1__USDHC1_DAT1 1524 | ||
1563 | MX6Q_PAD_SD1_DAT1__ECSPI5_SS0 1525 | ||
1564 | MX6Q_PAD_SD1_DAT1__PWM3_PWMO 1526 | ||
1565 | MX6Q_PAD_SD1_DAT1__GPT_CAPIN2 1527 | ||
1566 | MX6Q_PAD_SD1_DAT1__PCIE_CTRL_MUX_7 1528 | ||
1567 | MX6Q_PAD_SD1_DAT1__GPIO_1_17 1529 | ||
1568 | MX6Q_PAD_SD1_DAT1__HDMI_TX_OPHYDTB_0 1530 | ||
1569 | MX6Q_PAD_SD1_DAT1__ANATOP_TESTO_8 1531 | ||
1570 | MX6Q_PAD_SD1_DAT0__USDHC1_DAT0 1532 | ||
1571 | MX6Q_PAD_SD1_DAT0__ECSPI5_MISO 1533 | ||
1572 | MX6Q_PAD_SD1_DAT0__CAAM_WRAP_RNG_OSCOBS 1534 | ||
1573 | MX6Q_PAD_SD1_DAT0__GPT_CAPIN1 1535 | ||
1574 | MX6Q_PAD_SD1_DAT0__PCIE_CTRL_MUX_8 1536 | ||
1575 | MX6Q_PAD_SD1_DAT0__GPIO_1_16 1537 | ||
1576 | MX6Q_PAD_SD1_DAT0__HDMI_TX_OPHYDTB_1 1538 | ||
1577 | MX6Q_PAD_SD1_DAT0__ANATOP_TESTO_7 1539 | ||
1578 | MX6Q_PAD_SD1_DAT3__USDHC1_DAT3 1540 | ||
1579 | MX6Q_PAD_SD1_DAT3__ECSPI5_SS2 1541 | ||
1580 | MX6Q_PAD_SD1_DAT3__GPT_CMPOUT3 1542 | ||
1581 | MX6Q_PAD_SD1_DAT3__PWM1_PWMO 1543 | ||
1582 | MX6Q_PAD_SD1_DAT3__WDOG2_WDOG_B 1544 | ||
1583 | MX6Q_PAD_SD1_DAT3__GPIO_1_21 1545 | ||
1584 | MX6Q_PAD_SD1_DAT3__WDOG2_WDOG_RST_B_DEB 1546 | ||
1585 | MX6Q_PAD_SD1_DAT3__ANATOP_TESTO_6 1547 | ||
1586 | MX6Q_PAD_SD1_CMD__USDHC1_CMD 1548 | ||
1587 | MX6Q_PAD_SD1_CMD__ECSPI5_MOSI 1549 | ||
1588 | MX6Q_PAD_SD1_CMD__PWM4_PWMO 1550 | ||
1589 | MX6Q_PAD_SD1_CMD__GPT_CMPOUT1 1551 | ||
1590 | MX6Q_PAD_SD1_CMD__GPIO_1_18 1552 | ||
1591 | MX6Q_PAD_SD1_CMD__ANATOP_TESTO_5 1553 | ||
1592 | MX6Q_PAD_SD1_DAT2__USDHC1_DAT2 1554 | ||
1593 | MX6Q_PAD_SD1_DAT2__ECSPI5_SS1 1555 | ||
1594 | MX6Q_PAD_SD1_DAT2__GPT_CMPOUT2 1556 | ||
1595 | MX6Q_PAD_SD1_DAT2__PWM2_PWMO 1557 | ||
1596 | MX6Q_PAD_SD1_DAT2__WDOG1_WDOG_B 1558 | ||
1597 | MX6Q_PAD_SD1_DAT2__GPIO_1_19 1559 | ||
1598 | MX6Q_PAD_SD1_DAT2__WDOG1_WDOG_RST_B_DEB 1560 | ||
1599 | MX6Q_PAD_SD1_DAT2__ANATOP_TESTO_4 1561 | ||
1600 | MX6Q_PAD_SD1_CLK__USDHC1_CLK 1562 | ||
1601 | MX6Q_PAD_SD1_CLK__ECSPI5_SCLK 1563 | ||
1602 | MX6Q_PAD_SD1_CLK__OSC32K_32K_OUT 1564 | ||
1603 | MX6Q_PAD_SD1_CLK__GPT_CLKIN 1565 | ||
1604 | MX6Q_PAD_SD1_CLK__GPIO_1_20 1566 | ||
1605 | MX6Q_PAD_SD1_CLK__PHY_DTB_0 1567 | ||
1606 | MX6Q_PAD_SD1_CLK__SATA_PHY_DTB_0 1568 | ||
1607 | MX6Q_PAD_SD2_CLK__USDHC2_CLK 1569 | ||
1608 | MX6Q_PAD_SD2_CLK__ECSPI5_SCLK 1570 | ||
1609 | MX6Q_PAD_SD2_CLK__KPP_COL_5 1571 | ||
1610 | MX6Q_PAD_SD2_CLK__AUDMUX_AUD4_RXFS 1572 | ||
1611 | MX6Q_PAD_SD2_CLK__PCIE_CTRL_MUX_9 1573 | ||
1612 | MX6Q_PAD_SD2_CLK__GPIO_1_10 1574 | ||
1613 | MX6Q_PAD_SD2_CLK__PHY_DTB_1 1575 | ||
1614 | MX6Q_PAD_SD2_CLK__SATA_PHY_DTB_1 1576 | ||
1615 | MX6Q_PAD_SD2_CMD__USDHC2_CMD 1577 | ||
1616 | MX6Q_PAD_SD2_CMD__ECSPI5_MOSI 1578 | ||
1617 | MX6Q_PAD_SD2_CMD__KPP_ROW_5 1579 | ||
1618 | MX6Q_PAD_SD2_CMD__AUDMUX_AUD4_RXC 1580 | ||
1619 | MX6Q_PAD_SD2_CMD__PCIE_CTRL_MUX_10 1581 | ||
1620 | MX6Q_PAD_SD2_CMD__GPIO_1_11 1582 | ||
1621 | MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 1583 | ||
1622 | MX6Q_PAD_SD2_DAT3__ECSPI5_SS3 1584 | ||
1623 | MX6Q_PAD_SD2_DAT3__KPP_COL_6 1585 | ||
1624 | MX6Q_PAD_SD2_DAT3__AUDMUX_AUD4_TXC 1586 | ||
1625 | MX6Q_PAD_SD2_DAT3__PCIE_CTRL_MUX_11 1587 | ||
1626 | MX6Q_PAD_SD2_DAT3__GPIO_1_12 1588 | ||
1627 | MX6Q_PAD_SD2_DAT3__SJC_DONE 1589 | ||
1628 | MX6Q_PAD_SD2_DAT3__ANATOP_TESTO_3 1590 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,mxs-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,mxs-pinctrl.txt new file mode 100644 index 000000000000..f7e8e8f4d9a3 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,mxs-pinctrl.txt | |||
@@ -0,0 +1,918 @@ | |||
1 | * Freescale MXS Pin Controller | ||
2 | |||
3 | The pins controlled by mxs pin controller are organized in banks, each bank | ||
4 | has 32 pins. Each pin has 4 multiplexing functions, and generally, the 4th | ||
5 | function is GPIO. The configuration on the pins includes drive strength, | ||
6 | voltage and pull-up. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: "fsl,imx23-pinctrl" or "fsl,imx28-pinctrl" | ||
10 | - reg: Should contain the register physical address and length for the | ||
11 | pin controller. | ||
12 | |||
13 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
14 | common pinctrl bindings used by client devices. | ||
15 | |||
16 | The node of mxs pin controller acts as a container for an arbitrary number of | ||
17 | subnodes. Each of these subnodes represents some desired configuration for | ||
18 | a group of pins, and only affects those parameters that are explicitly listed. | ||
19 | In other words, a subnode that describes a drive strength parameter implies no | ||
20 | information about pull-up. For this reason, even seemingly boolean values are | ||
21 | actually tristates in this binding: unspecified, off, or on. Unspecified is | ||
22 | represented as an absent property, and off/on are represented as integer | ||
23 | values 0 and 1. | ||
24 | |||
25 | Those subnodes under mxs pin controller node will fall into two categories. | ||
26 | One is to set up a group of pins for a function, both mux selection and pin | ||
27 | configurations, and it's called group node in the binding document. The other | ||
28 | one is to adjust the pin configuration for some particular pins that need a | ||
29 | different configuration than what is defined in group node. The binding | ||
30 | document calls this type of node config node. | ||
31 | |||
32 | On mxs, there is no hardware pin group. The pin group in this binding only | ||
33 | means a group of pins put together for particular peripheral to work in | ||
34 | particular function, like SSP0 functioning as mmc0-8bit. That said, the | ||
35 | group node should include all the pins needed for one function rather than | ||
36 | having these pins defined in several group nodes. It also means each of | ||
37 | "pinctrl-*" phandle in client device node should only have one group node | ||
38 | pointed in there, while the phandle can have multiple config node referenced | ||
39 | there to adjust configurations for some pins in the group. | ||
40 | |||
41 | Required subnode-properties: | ||
42 | - fsl,pinmux-ids: An integer array. Each integer in the array specify a pin | ||
43 | with given mux function, with bank, pin and mux packed as below. | ||
44 | |||
45 | [15..12] : bank number | ||
46 | [11..4] : pin number | ||
47 | [3..0] : mux selection | ||
48 | |||
49 | This integer with mux selection packed is used as an entity by both group | ||
50 | and config nodes to identify a pin. The mux selection in the integer takes | ||
51 | effects only on group node, and will get ignored by driver with config node, | ||
52 | since config node is only meant to set up pin configurations. | ||
53 | |||
54 | Valid values for these integers are listed below. | ||
55 | |||
56 | - reg: Should be the index of the group nodes for same function. This property | ||
57 | is required only for group nodes, and should not be present in any config | ||
58 | nodes. | ||
59 | |||
60 | Optional subnode-properties: | ||
61 | - fsl,drive-strength: Integer. | ||
62 | 0: 4 mA | ||
63 | 1: 8 mA | ||
64 | 2: 12 mA | ||
65 | 3: 16 mA | ||
66 | - fsl,voltage: Integer. | ||
67 | 0: 1.8 V | ||
68 | 1: 3.3 V | ||
69 | - fsl,pull-up: Integer. | ||
70 | 0: Disable the internal pull-up | ||
71 | 1: Enable the internal pull-up | ||
72 | |||
73 | Examples: | ||
74 | |||
75 | pinctrl@80018000 { | ||
76 | #address-cells = <1>; | ||
77 | #size-cells = <0>; | ||
78 | compatible = "fsl,imx28-pinctrl"; | ||
79 | reg = <0x80018000 2000>; | ||
80 | |||
81 | mmc0_8bit_pins_a: mmc0-8bit@0 { | ||
82 | reg = <0>; | ||
83 | fsl,pinmux-ids = < | ||
84 | 0x2000 0x2010 0x2020 0x2030 | ||
85 | 0x2040 0x2050 0x2060 0x2070 | ||
86 | 0x2080 0x2090 0x20a0>; | ||
87 | fsl,drive-strength = <1>; | ||
88 | fsl,voltage = <1>; | ||
89 | fsl,pull-up = <1>; | ||
90 | }; | ||
91 | |||
92 | mmc_cd_cfg: mmc-cd-cfg { | ||
93 | fsl,pinmux-ids = <0x2090>; | ||
94 | fsl,pull-up = <0>; | ||
95 | }; | ||
96 | |||
97 | mmc_sck_cfg: mmc-sck-cfg { | ||
98 | fsl,pinmux-ids = <0x20a0>; | ||
99 | fsl,drive-strength = <2>; | ||
100 | fsl,pull-up = <0>; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | In this example, group node mmc0-8bit defines a group of pins for mxs SSP0 | ||
105 | to function as a 8-bit mmc device, with 8mA, 3.3V and pull-up configurations | ||
106 | applied on all these pins. And config nodes mmc-cd-cfg and mmc-sck-cfg are | ||
107 | adjusting the configuration for pins card-detection and clock from what group | ||
108 | node mmc0-8bit defines. Only the configuration properties to be adjusted need | ||
109 | to be listed in the config nodes. | ||
110 | |||
111 | Valid values for i.MX28 pinmux-id: | ||
112 | |||
113 | pinmux id | ||
114 | ------ -- | ||
115 | MX28_PAD_GPMI_D00__GPMI_D0 0x0000 | ||
116 | MX28_PAD_GPMI_D01__GPMI_D1 0x0010 | ||
117 | MX28_PAD_GPMI_D02__GPMI_D2 0x0020 | ||
118 | MX28_PAD_GPMI_D03__GPMI_D3 0x0030 | ||
119 | MX28_PAD_GPMI_D04__GPMI_D4 0x0040 | ||
120 | MX28_PAD_GPMI_D05__GPMI_D5 0x0050 | ||
121 | MX28_PAD_GPMI_D06__GPMI_D6 0x0060 | ||
122 | MX28_PAD_GPMI_D07__GPMI_D7 0x0070 | ||
123 | MX28_PAD_GPMI_CE0N__GPMI_CE0N 0x0100 | ||
124 | MX28_PAD_GPMI_CE1N__GPMI_CE1N 0x0110 | ||
125 | MX28_PAD_GPMI_CE2N__GPMI_CE2N 0x0120 | ||
126 | MX28_PAD_GPMI_CE3N__GPMI_CE3N 0x0130 | ||
127 | MX28_PAD_GPMI_RDY0__GPMI_READY0 0x0140 | ||
128 | MX28_PAD_GPMI_RDY1__GPMI_READY1 0x0150 | ||
129 | MX28_PAD_GPMI_RDY2__GPMI_READY2 0x0160 | ||
130 | MX28_PAD_GPMI_RDY3__GPMI_READY3 0x0170 | ||
131 | MX28_PAD_GPMI_RDN__GPMI_RDN 0x0180 | ||
132 | MX28_PAD_GPMI_WRN__GPMI_WRN 0x0190 | ||
133 | MX28_PAD_GPMI_ALE__GPMI_ALE 0x01a0 | ||
134 | MX28_PAD_GPMI_CLE__GPMI_CLE 0x01b0 | ||
135 | MX28_PAD_GPMI_RESETN__GPMI_RESETN 0x01c0 | ||
136 | MX28_PAD_LCD_D00__LCD_D0 0x1000 | ||
137 | MX28_PAD_LCD_D01__LCD_D1 0x1010 | ||
138 | MX28_PAD_LCD_D02__LCD_D2 0x1020 | ||
139 | MX28_PAD_LCD_D03__LCD_D3 0x1030 | ||
140 | MX28_PAD_LCD_D04__LCD_D4 0x1040 | ||
141 | MX28_PAD_LCD_D05__LCD_D5 0x1050 | ||
142 | MX28_PAD_LCD_D06__LCD_D6 0x1060 | ||
143 | MX28_PAD_LCD_D07__LCD_D7 0x1070 | ||
144 | MX28_PAD_LCD_D08__LCD_D8 0x1080 | ||
145 | MX28_PAD_LCD_D09__LCD_D9 0x1090 | ||
146 | MX28_PAD_LCD_D10__LCD_D10 0x10a0 | ||
147 | MX28_PAD_LCD_D11__LCD_D11 0x10b0 | ||
148 | MX28_PAD_LCD_D12__LCD_D12 0x10c0 | ||
149 | MX28_PAD_LCD_D13__LCD_D13 0x10d0 | ||
150 | MX28_PAD_LCD_D14__LCD_D14 0x10e0 | ||
151 | MX28_PAD_LCD_D15__LCD_D15 0x10f0 | ||
152 | MX28_PAD_LCD_D16__LCD_D16 0x1100 | ||
153 | MX28_PAD_LCD_D17__LCD_D17 0x1110 | ||
154 | MX28_PAD_LCD_D18__LCD_D18 0x1120 | ||
155 | MX28_PAD_LCD_D19__LCD_D19 0x1130 | ||
156 | MX28_PAD_LCD_D20__LCD_D20 0x1140 | ||
157 | MX28_PAD_LCD_D21__LCD_D21 0x1150 | ||
158 | MX28_PAD_LCD_D22__LCD_D22 0x1160 | ||
159 | MX28_PAD_LCD_D23__LCD_D23 0x1170 | ||
160 | MX28_PAD_LCD_RD_E__LCD_RD_E 0x1180 | ||
161 | MX28_PAD_LCD_WR_RWN__LCD_WR_RWN 0x1190 | ||
162 | MX28_PAD_LCD_RS__LCD_RS 0x11a0 | ||
163 | MX28_PAD_LCD_CS__LCD_CS 0x11b0 | ||
164 | MX28_PAD_LCD_VSYNC__LCD_VSYNC 0x11c0 | ||
165 | MX28_PAD_LCD_HSYNC__LCD_HSYNC 0x11d0 | ||
166 | MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 0x11e0 | ||
167 | MX28_PAD_LCD_ENABLE__LCD_ENABLE 0x11f0 | ||
168 | MX28_PAD_SSP0_DATA0__SSP0_D0 0x2000 | ||
169 | MX28_PAD_SSP0_DATA1__SSP0_D1 0x2010 | ||
170 | MX28_PAD_SSP0_DATA2__SSP0_D2 0x2020 | ||
171 | MX28_PAD_SSP0_DATA3__SSP0_D3 0x2030 | ||
172 | MX28_PAD_SSP0_DATA4__SSP0_D4 0x2040 | ||
173 | MX28_PAD_SSP0_DATA5__SSP0_D5 0x2050 | ||
174 | MX28_PAD_SSP0_DATA6__SSP0_D6 0x2060 | ||
175 | MX28_PAD_SSP0_DATA7__SSP0_D7 0x2070 | ||
176 | MX28_PAD_SSP0_CMD__SSP0_CMD 0x2080 | ||
177 | MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT 0x2090 | ||
178 | MX28_PAD_SSP0_SCK__SSP0_SCK 0x20a0 | ||
179 | MX28_PAD_SSP1_SCK__SSP1_SCK 0x20c0 | ||
180 | MX28_PAD_SSP1_CMD__SSP1_CMD 0x20d0 | ||
181 | MX28_PAD_SSP1_DATA0__SSP1_D0 0x20e0 | ||
182 | MX28_PAD_SSP1_DATA3__SSP1_D3 0x20f0 | ||
183 | MX28_PAD_SSP2_SCK__SSP2_SCK 0x2100 | ||
184 | MX28_PAD_SSP2_MOSI__SSP2_CMD 0x2110 | ||
185 | MX28_PAD_SSP2_MISO__SSP2_D0 0x2120 | ||
186 | MX28_PAD_SSP2_SS0__SSP2_D3 0x2130 | ||
187 | MX28_PAD_SSP2_SS1__SSP2_D4 0x2140 | ||
188 | MX28_PAD_SSP2_SS2__SSP2_D5 0x2150 | ||
189 | MX28_PAD_SSP3_SCK__SSP3_SCK 0x2180 | ||
190 | MX28_PAD_SSP3_MOSI__SSP3_CMD 0x2190 | ||
191 | MX28_PAD_SSP3_MISO__SSP3_D0 0x21a0 | ||
192 | MX28_PAD_SSP3_SS0__SSP3_D3 0x21b0 | ||
193 | MX28_PAD_AUART0_RX__AUART0_RX 0x3000 | ||
194 | MX28_PAD_AUART0_TX__AUART0_TX 0x3010 | ||
195 | MX28_PAD_AUART0_CTS__AUART0_CTS 0x3020 | ||
196 | MX28_PAD_AUART0_RTS__AUART0_RTS 0x3030 | ||
197 | MX28_PAD_AUART1_RX__AUART1_RX 0x3040 | ||
198 | MX28_PAD_AUART1_TX__AUART1_TX 0x3050 | ||
199 | MX28_PAD_AUART1_CTS__AUART1_CTS 0x3060 | ||
200 | MX28_PAD_AUART1_RTS__AUART1_RTS 0x3070 | ||
201 | MX28_PAD_AUART2_RX__AUART2_RX 0x3080 | ||
202 | MX28_PAD_AUART2_TX__AUART2_TX 0x3090 | ||
203 | MX28_PAD_AUART2_CTS__AUART2_CTS 0x30a0 | ||
204 | MX28_PAD_AUART2_RTS__AUART2_RTS 0x30b0 | ||
205 | MX28_PAD_AUART3_RX__AUART3_RX 0x30c0 | ||
206 | MX28_PAD_AUART3_TX__AUART3_TX 0x30d0 | ||
207 | MX28_PAD_AUART3_CTS__AUART3_CTS 0x30e0 | ||
208 | MX28_PAD_AUART3_RTS__AUART3_RTS 0x30f0 | ||
209 | MX28_PAD_PWM0__PWM_0 0x3100 | ||
210 | MX28_PAD_PWM1__PWM_1 0x3110 | ||
211 | MX28_PAD_PWM2__PWM_2 0x3120 | ||
212 | MX28_PAD_SAIF0_MCLK__SAIF0_MCLK 0x3140 | ||
213 | MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK 0x3150 | ||
214 | MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK 0x3160 | ||
215 | MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 0x3170 | ||
216 | MX28_PAD_I2C0_SCL__I2C0_SCL 0x3180 | ||
217 | MX28_PAD_I2C0_SDA__I2C0_SDA 0x3190 | ||
218 | MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 0x31a0 | ||
219 | MX28_PAD_SPDIF__SPDIF_TX 0x31b0 | ||
220 | MX28_PAD_PWM3__PWM_3 0x31c0 | ||
221 | MX28_PAD_PWM4__PWM_4 0x31d0 | ||
222 | MX28_PAD_LCD_RESET__LCD_RESET 0x31e0 | ||
223 | MX28_PAD_ENET0_MDC__ENET0_MDC 0x4000 | ||
224 | MX28_PAD_ENET0_MDIO__ENET0_MDIO 0x4010 | ||
225 | MX28_PAD_ENET0_RX_EN__ENET0_RX_EN 0x4020 | ||
226 | MX28_PAD_ENET0_RXD0__ENET0_RXD0 0x4030 | ||
227 | MX28_PAD_ENET0_RXD1__ENET0_RXD1 0x4040 | ||
228 | MX28_PAD_ENET0_TX_CLK__ENET0_TX_CLK 0x4050 | ||
229 | MX28_PAD_ENET0_TX_EN__ENET0_TX_EN 0x4060 | ||
230 | MX28_PAD_ENET0_TXD0__ENET0_TXD0 0x4070 | ||
231 | MX28_PAD_ENET0_TXD1__ENET0_TXD1 0x4080 | ||
232 | MX28_PAD_ENET0_RXD2__ENET0_RXD2 0x4090 | ||
233 | MX28_PAD_ENET0_RXD3__ENET0_RXD3 0x40a0 | ||
234 | MX28_PAD_ENET0_TXD2__ENET0_TXD2 0x40b0 | ||
235 | MX28_PAD_ENET0_TXD3__ENET0_TXD3 0x40c0 | ||
236 | MX28_PAD_ENET0_RX_CLK__ENET0_RX_CLK 0x40d0 | ||
237 | MX28_PAD_ENET0_COL__ENET0_COL 0x40e0 | ||
238 | MX28_PAD_ENET0_CRS__ENET0_CRS 0x40f0 | ||
239 | MX28_PAD_ENET_CLK__CLKCTRL_ENET 0x4100 | ||
240 | MX28_PAD_JTAG_RTCK__JTAG_RTCK 0x4140 | ||
241 | MX28_PAD_EMI_D00__EMI_DATA0 0x5000 | ||
242 | MX28_PAD_EMI_D01__EMI_DATA1 0x5010 | ||
243 | MX28_PAD_EMI_D02__EMI_DATA2 0x5020 | ||
244 | MX28_PAD_EMI_D03__EMI_DATA3 0x5030 | ||
245 | MX28_PAD_EMI_D04__EMI_DATA4 0x5040 | ||
246 | MX28_PAD_EMI_D05__EMI_DATA5 0x5050 | ||
247 | MX28_PAD_EMI_D06__EMI_DATA6 0x5060 | ||
248 | MX28_PAD_EMI_D07__EMI_DATA7 0x5070 | ||
249 | MX28_PAD_EMI_D08__EMI_DATA8 0x5080 | ||
250 | MX28_PAD_EMI_D09__EMI_DATA9 0x5090 | ||
251 | MX28_PAD_EMI_D10__EMI_DATA10 0x50a0 | ||
252 | MX28_PAD_EMI_D11__EMI_DATA11 0x50b0 | ||
253 | MX28_PAD_EMI_D12__EMI_DATA12 0x50c0 | ||
254 | MX28_PAD_EMI_D13__EMI_DATA13 0x50d0 | ||
255 | MX28_PAD_EMI_D14__EMI_DATA14 0x50e0 | ||
256 | MX28_PAD_EMI_D15__EMI_DATA15 0x50f0 | ||
257 | MX28_PAD_EMI_ODT0__EMI_ODT0 0x5100 | ||
258 | MX28_PAD_EMI_DQM0__EMI_DQM0 0x5110 | ||
259 | MX28_PAD_EMI_ODT1__EMI_ODT1 0x5120 | ||
260 | MX28_PAD_EMI_DQM1__EMI_DQM1 0x5130 | ||
261 | MX28_PAD_EMI_DDR_OPEN_FB__EMI_DDR_OPEN_FEEDBACK 0x5140 | ||
262 | MX28_PAD_EMI_CLK__EMI_CLK 0x5150 | ||
263 | MX28_PAD_EMI_DQS0__EMI_DQS0 0x5160 | ||
264 | MX28_PAD_EMI_DQS1__EMI_DQS1 0x5170 | ||
265 | MX28_PAD_EMI_DDR_OPEN__EMI_DDR_OPEN 0x51a0 | ||
266 | MX28_PAD_EMI_A00__EMI_ADDR0 0x6000 | ||
267 | MX28_PAD_EMI_A01__EMI_ADDR1 0x6010 | ||
268 | MX28_PAD_EMI_A02__EMI_ADDR2 0x6020 | ||
269 | MX28_PAD_EMI_A03__EMI_ADDR3 0x6030 | ||
270 | MX28_PAD_EMI_A04__EMI_ADDR4 0x6040 | ||
271 | MX28_PAD_EMI_A05__EMI_ADDR5 0x6050 | ||
272 | MX28_PAD_EMI_A06__EMI_ADDR6 0x6060 | ||
273 | MX28_PAD_EMI_A07__EMI_ADDR7 0x6070 | ||
274 | MX28_PAD_EMI_A08__EMI_ADDR8 0x6080 | ||
275 | MX28_PAD_EMI_A09__EMI_ADDR9 0x6090 | ||
276 | MX28_PAD_EMI_A10__EMI_ADDR10 0x60a0 | ||
277 | MX28_PAD_EMI_A11__EMI_ADDR11 0x60b0 | ||
278 | MX28_PAD_EMI_A12__EMI_ADDR12 0x60c0 | ||
279 | MX28_PAD_EMI_A13__EMI_ADDR13 0x60d0 | ||
280 | MX28_PAD_EMI_A14__EMI_ADDR14 0x60e0 | ||
281 | MX28_PAD_EMI_BA0__EMI_BA0 0x6100 | ||
282 | MX28_PAD_EMI_BA1__EMI_BA1 0x6110 | ||
283 | MX28_PAD_EMI_BA2__EMI_BA2 0x6120 | ||
284 | MX28_PAD_EMI_CASN__EMI_CASN 0x6130 | ||
285 | MX28_PAD_EMI_RASN__EMI_RASN 0x6140 | ||
286 | MX28_PAD_EMI_WEN__EMI_WEN 0x6150 | ||
287 | MX28_PAD_EMI_CE0N__EMI_CE0N 0x6160 | ||
288 | MX28_PAD_EMI_CE1N__EMI_CE1N 0x6170 | ||
289 | MX28_PAD_EMI_CKE__EMI_CKE 0x6180 | ||
290 | MX28_PAD_GPMI_D00__SSP1_D0 0x0001 | ||
291 | MX28_PAD_GPMI_D01__SSP1_D1 0x0011 | ||
292 | MX28_PAD_GPMI_D02__SSP1_D2 0x0021 | ||
293 | MX28_PAD_GPMI_D03__SSP1_D3 0x0031 | ||
294 | MX28_PAD_GPMI_D04__SSP1_D4 0x0041 | ||
295 | MX28_PAD_GPMI_D05__SSP1_D5 0x0051 | ||
296 | MX28_PAD_GPMI_D06__SSP1_D6 0x0061 | ||
297 | MX28_PAD_GPMI_D07__SSP1_D7 0x0071 | ||
298 | MX28_PAD_GPMI_CE0N__SSP3_D0 0x0101 | ||
299 | MX28_PAD_GPMI_CE1N__SSP3_D3 0x0111 | ||
300 | MX28_PAD_GPMI_CE2N__CAN1_TX 0x0121 | ||
301 | MX28_PAD_GPMI_CE3N__CAN1_RX 0x0131 | ||
302 | MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT 0x0141 | ||
303 | MX28_PAD_GPMI_RDY1__SSP1_CMD 0x0151 | ||
304 | MX28_PAD_GPMI_RDY2__CAN0_TX 0x0161 | ||
305 | MX28_PAD_GPMI_RDY3__CAN0_RX 0x0171 | ||
306 | MX28_PAD_GPMI_RDN__SSP3_SCK 0x0181 | ||
307 | MX28_PAD_GPMI_WRN__SSP1_SCK 0x0191 | ||
308 | MX28_PAD_GPMI_ALE__SSP3_D1 0x01a1 | ||
309 | MX28_PAD_GPMI_CLE__SSP3_D2 0x01b1 | ||
310 | MX28_PAD_GPMI_RESETN__SSP3_CMD 0x01c1 | ||
311 | MX28_PAD_LCD_D03__ETM_DA8 0x1031 | ||
312 | MX28_PAD_LCD_D04__ETM_DA9 0x1041 | ||
313 | MX28_PAD_LCD_D08__ETM_DA3 0x1081 | ||
314 | MX28_PAD_LCD_D09__ETM_DA4 0x1091 | ||
315 | MX28_PAD_LCD_D20__ENET1_1588_EVENT2_OUT 0x1141 | ||
316 | MX28_PAD_LCD_D21__ENET1_1588_EVENT2_IN 0x1151 | ||
317 | MX28_PAD_LCD_D22__ENET1_1588_EVENT3_OUT 0x1161 | ||
318 | MX28_PAD_LCD_D23__ENET1_1588_EVENT3_IN 0x1171 | ||
319 | MX28_PAD_LCD_RD_E__LCD_VSYNC 0x1181 | ||
320 | MX28_PAD_LCD_WR_RWN__LCD_HSYNC 0x1191 | ||
321 | MX28_PAD_LCD_RS__LCD_DOTCLK 0x11a1 | ||
322 | MX28_PAD_LCD_CS__LCD_ENABLE 0x11b1 | ||
323 | MX28_PAD_LCD_VSYNC__SAIF1_SDATA0 0x11c1 | ||
324 | MX28_PAD_LCD_HSYNC__SAIF1_SDATA1 0x11d1 | ||
325 | MX28_PAD_LCD_DOTCLK__SAIF1_MCLK 0x11e1 | ||
326 | MX28_PAD_SSP0_DATA4__SSP2_D0 0x2041 | ||
327 | MX28_PAD_SSP0_DATA5__SSP2_D3 0x2051 | ||
328 | MX28_PAD_SSP0_DATA6__SSP2_CMD 0x2061 | ||
329 | MX28_PAD_SSP0_DATA7__SSP2_SCK 0x2071 | ||
330 | MX28_PAD_SSP1_SCK__SSP2_D1 0x20c1 | ||
331 | MX28_PAD_SSP1_CMD__SSP2_D2 0x20d1 | ||
332 | MX28_PAD_SSP1_DATA0__SSP2_D6 0x20e1 | ||
333 | MX28_PAD_SSP1_DATA3__SSP2_D7 0x20f1 | ||
334 | MX28_PAD_SSP2_SCK__AUART2_RX 0x2101 | ||
335 | MX28_PAD_SSP2_MOSI__AUART2_TX 0x2111 | ||
336 | MX28_PAD_SSP2_MISO__AUART3_RX 0x2121 | ||
337 | MX28_PAD_SSP2_SS0__AUART3_TX 0x2131 | ||
338 | MX28_PAD_SSP2_SS1__SSP2_D1 0x2141 | ||
339 | MX28_PAD_SSP2_SS2__SSP2_D2 0x2151 | ||
340 | MX28_PAD_SSP3_SCK__AUART4_TX 0x2181 | ||
341 | MX28_PAD_SSP3_MOSI__AUART4_RX 0x2191 | ||
342 | MX28_PAD_SSP3_MISO__AUART4_RTS 0x21a1 | ||
343 | MX28_PAD_SSP3_SS0__AUART4_CTS 0x21b1 | ||
344 | MX28_PAD_AUART0_RX__I2C0_SCL 0x3001 | ||
345 | MX28_PAD_AUART0_TX__I2C0_SDA 0x3011 | ||
346 | MX28_PAD_AUART0_CTS__AUART4_RX 0x3021 | ||
347 | MX28_PAD_AUART0_RTS__AUART4_TX 0x3031 | ||
348 | MX28_PAD_AUART1_RX__SSP2_CARD_DETECT 0x3041 | ||
349 | MX28_PAD_AUART1_TX__SSP3_CARD_DETECT 0x3051 | ||
350 | MX28_PAD_AUART1_CTS__USB0_OVERCURRENT 0x3061 | ||
351 | MX28_PAD_AUART1_RTS__USB0_ID 0x3071 | ||
352 | MX28_PAD_AUART2_RX__SSP3_D1 0x3081 | ||
353 | MX28_PAD_AUART2_TX__SSP3_D2 0x3091 | ||
354 | MX28_PAD_AUART2_CTS__I2C1_SCL 0x30a1 | ||
355 | MX28_PAD_AUART2_RTS__I2C1_SDA 0x30b1 | ||
356 | MX28_PAD_AUART3_RX__CAN0_TX 0x30c1 | ||
357 | MX28_PAD_AUART3_TX__CAN0_RX 0x30d1 | ||
358 | MX28_PAD_AUART3_CTS__CAN1_TX 0x30e1 | ||
359 | MX28_PAD_AUART3_RTS__CAN1_RX 0x30f1 | ||
360 | MX28_PAD_PWM0__I2C1_SCL 0x3101 | ||
361 | MX28_PAD_PWM1__I2C1_SDA 0x3111 | ||
362 | MX28_PAD_PWM2__USB0_ID 0x3121 | ||
363 | MX28_PAD_SAIF0_MCLK__PWM_3 0x3141 | ||
364 | MX28_PAD_SAIF0_LRCLK__PWM_4 0x3151 | ||
365 | MX28_PAD_SAIF0_BITCLK__PWM_5 0x3161 | ||
366 | MX28_PAD_SAIF0_SDATA0__PWM_6 0x3171 | ||
367 | MX28_PAD_I2C0_SCL__TIMROT_ROTARYA 0x3181 | ||
368 | MX28_PAD_I2C0_SDA__TIMROT_ROTARYB 0x3191 | ||
369 | MX28_PAD_SAIF1_SDATA0__PWM_7 0x31a1 | ||
370 | MX28_PAD_LCD_RESET__LCD_VSYNC 0x31e1 | ||
371 | MX28_PAD_ENET0_MDC__GPMI_CE4N 0x4001 | ||
372 | MX28_PAD_ENET0_MDIO__GPMI_CE5N 0x4011 | ||
373 | MX28_PAD_ENET0_RX_EN__GPMI_CE6N 0x4021 | ||
374 | MX28_PAD_ENET0_RXD0__GPMI_CE7N 0x4031 | ||
375 | MX28_PAD_ENET0_RXD1__GPMI_READY4 0x4041 | ||
376 | MX28_PAD_ENET0_TX_CLK__HSADC_TRIGGER 0x4051 | ||
377 | MX28_PAD_ENET0_TX_EN__GPMI_READY5 0x4061 | ||
378 | MX28_PAD_ENET0_TXD0__GPMI_READY6 0x4071 | ||
379 | MX28_PAD_ENET0_TXD1__GPMI_READY7 0x4081 | ||
380 | MX28_PAD_ENET0_RXD2__ENET1_RXD0 0x4091 | ||
381 | MX28_PAD_ENET0_RXD3__ENET1_RXD1 0x40a1 | ||
382 | MX28_PAD_ENET0_TXD2__ENET1_TXD0 0x40b1 | ||
383 | MX28_PAD_ENET0_TXD3__ENET1_TXD1 0x40c1 | ||
384 | MX28_PAD_ENET0_RX_CLK__ENET0_RX_ER 0x40d1 | ||
385 | MX28_PAD_ENET0_COL__ENET1_TX_EN 0x40e1 | ||
386 | MX28_PAD_ENET0_CRS__ENET1_RX_EN 0x40f1 | ||
387 | MX28_PAD_GPMI_CE2N__ENET0_RX_ER 0x0122 | ||
388 | MX28_PAD_GPMI_CE3N__SAIF1_MCLK 0x0132 | ||
389 | MX28_PAD_GPMI_RDY0__USB0_ID 0x0142 | ||
390 | MX28_PAD_GPMI_RDY2__ENET0_TX_ER 0x0162 | ||
391 | MX28_PAD_GPMI_RDY3__HSADC_TRIGGER 0x0172 | ||
392 | MX28_PAD_GPMI_ALE__SSP3_D4 0x01a2 | ||
393 | MX28_PAD_GPMI_CLE__SSP3_D5 0x01b2 | ||
394 | MX28_PAD_LCD_D00__ETM_DA0 0x1002 | ||
395 | MX28_PAD_LCD_D01__ETM_DA1 0x1012 | ||
396 | MX28_PAD_LCD_D02__ETM_DA2 0x1022 | ||
397 | MX28_PAD_LCD_D03__ETM_DA3 0x1032 | ||
398 | MX28_PAD_LCD_D04__ETM_DA4 0x1042 | ||
399 | MX28_PAD_LCD_D05__ETM_DA5 0x1052 | ||
400 | MX28_PAD_LCD_D06__ETM_DA6 0x1062 | ||
401 | MX28_PAD_LCD_D07__ETM_DA7 0x1072 | ||
402 | MX28_PAD_LCD_D08__ETM_DA8 0x1082 | ||
403 | MX28_PAD_LCD_D09__ETM_DA9 0x1092 | ||
404 | MX28_PAD_LCD_D10__ETM_DA10 0x10a2 | ||
405 | MX28_PAD_LCD_D11__ETM_DA11 0x10b2 | ||
406 | MX28_PAD_LCD_D12__ETM_DA12 0x10c2 | ||
407 | MX28_PAD_LCD_D13__ETM_DA13 0x10d2 | ||
408 | MX28_PAD_LCD_D14__ETM_DA14 0x10e2 | ||
409 | MX28_PAD_LCD_D15__ETM_DA15 0x10f2 | ||
410 | MX28_PAD_LCD_D16__ETM_DA7 0x1102 | ||
411 | MX28_PAD_LCD_D17__ETM_DA6 0x1112 | ||
412 | MX28_PAD_LCD_D18__ETM_DA5 0x1122 | ||
413 | MX28_PAD_LCD_D19__ETM_DA4 0x1132 | ||
414 | MX28_PAD_LCD_D20__ETM_DA3 0x1142 | ||
415 | MX28_PAD_LCD_D21__ETM_DA2 0x1152 | ||
416 | MX28_PAD_LCD_D22__ETM_DA1 0x1162 | ||
417 | MX28_PAD_LCD_D23__ETM_DA0 0x1172 | ||
418 | MX28_PAD_LCD_RD_E__ETM_TCTL 0x1182 | ||
419 | MX28_PAD_LCD_WR_RWN__ETM_TCLK 0x1192 | ||
420 | MX28_PAD_LCD_HSYNC__ETM_TCTL 0x11d2 | ||
421 | MX28_PAD_LCD_DOTCLK__ETM_TCLK 0x11e2 | ||
422 | MX28_PAD_SSP1_SCK__ENET0_1588_EVENT2_OUT 0x20c2 | ||
423 | MX28_PAD_SSP1_CMD__ENET0_1588_EVENT2_IN 0x20d2 | ||
424 | MX28_PAD_SSP1_DATA0__ENET0_1588_EVENT3_OUT 0x20e2 | ||
425 | MX28_PAD_SSP1_DATA3__ENET0_1588_EVENT3_IN 0x20f2 | ||
426 | MX28_PAD_SSP2_SCK__SAIF0_SDATA1 0x2102 | ||
427 | MX28_PAD_SSP2_MOSI__SAIF0_SDATA2 0x2112 | ||
428 | MX28_PAD_SSP2_MISO__SAIF1_SDATA1 0x2122 | ||
429 | MX28_PAD_SSP2_SS0__SAIF1_SDATA2 0x2132 | ||
430 | MX28_PAD_SSP2_SS1__USB1_OVERCURRENT 0x2142 | ||
431 | MX28_PAD_SSP2_SS2__USB0_OVERCURRENT 0x2152 | ||
432 | MX28_PAD_SSP3_SCK__ENET1_1588_EVENT0_OUT 0x2182 | ||
433 | MX28_PAD_SSP3_MOSI__ENET1_1588_EVENT0_IN 0x2192 | ||
434 | MX28_PAD_SSP3_MISO__ENET1_1588_EVENT1_OUT 0x21a2 | ||
435 | MX28_PAD_SSP3_SS0__ENET1_1588_EVENT1_IN 0x21b2 | ||
436 | MX28_PAD_AUART0_RX__DUART_CTS 0x3002 | ||
437 | MX28_PAD_AUART0_TX__DUART_RTS 0x3012 | ||
438 | MX28_PAD_AUART0_CTS__DUART_RX 0x3022 | ||
439 | MX28_PAD_AUART0_RTS__DUART_TX 0x3032 | ||
440 | MX28_PAD_AUART1_RX__PWM_0 0x3042 | ||
441 | MX28_PAD_AUART1_TX__PWM_1 0x3052 | ||
442 | MX28_PAD_AUART1_CTS__TIMROT_ROTARYA 0x3062 | ||
443 | MX28_PAD_AUART1_RTS__TIMROT_ROTARYB 0x3072 | ||
444 | MX28_PAD_AUART2_RX__SSP3_D4 0x3082 | ||
445 | MX28_PAD_AUART2_TX__SSP3_D5 0x3092 | ||
446 | MX28_PAD_AUART2_CTS__SAIF1_BITCLK 0x30a2 | ||
447 | MX28_PAD_AUART2_RTS__SAIF1_LRCLK 0x30b2 | ||
448 | MX28_PAD_AUART3_RX__ENET0_1588_EVENT0_OUT 0x30c2 | ||
449 | MX28_PAD_AUART3_TX__ENET0_1588_EVENT0_IN 0x30d2 | ||
450 | MX28_PAD_AUART3_CTS__ENET0_1588_EVENT1_OUT 0x30e2 | ||
451 | MX28_PAD_AUART3_RTS__ENET0_1588_EVENT1_IN 0x30f2 | ||
452 | MX28_PAD_PWM0__DUART_RX 0x3102 | ||
453 | MX28_PAD_PWM1__DUART_TX 0x3112 | ||
454 | MX28_PAD_PWM2__USB1_OVERCURRENT 0x3122 | ||
455 | MX28_PAD_SAIF0_MCLK__AUART4_CTS 0x3142 | ||
456 | MX28_PAD_SAIF0_LRCLK__AUART4_RTS 0x3152 | ||
457 | MX28_PAD_SAIF0_BITCLK__AUART4_RX 0x3162 | ||
458 | MX28_PAD_SAIF0_SDATA0__AUART4_TX 0x3172 | ||
459 | MX28_PAD_I2C0_SCL__DUART_RX 0x3182 | ||
460 | MX28_PAD_I2C0_SDA__DUART_TX 0x3192 | ||
461 | MX28_PAD_SAIF1_SDATA0__SAIF0_SDATA1 0x31a2 | ||
462 | MX28_PAD_SPDIF__ENET1_RX_ER 0x31b2 | ||
463 | MX28_PAD_ENET0_MDC__SAIF0_SDATA1 0x4002 | ||
464 | MX28_PAD_ENET0_MDIO__SAIF0_SDATA2 0x4012 | ||
465 | MX28_PAD_ENET0_RX_EN__SAIF1_SDATA1 0x4022 | ||
466 | MX28_PAD_ENET0_RXD0__SAIF1_SDATA2 0x4032 | ||
467 | MX28_PAD_ENET0_TX_CLK__ENET0_1588_EVENT2_OUT 0x4052 | ||
468 | MX28_PAD_ENET0_RXD2__ENET0_1588_EVENT0_OUT 0x4092 | ||
469 | MX28_PAD_ENET0_RXD3__ENET0_1588_EVENT0_IN 0x40a2 | ||
470 | MX28_PAD_ENET0_TXD2__ENET0_1588_EVENT1_OUT 0x40b2 | ||
471 | MX28_PAD_ENET0_TXD3__ENET0_1588_EVENT1_IN 0x40c2 | ||
472 | MX28_PAD_ENET0_RX_CLK__ENET0_1588_EVENT2_IN 0x40d2 | ||
473 | MX28_PAD_ENET0_COL__ENET0_1588_EVENT3_OUT 0x40e2 | ||
474 | MX28_PAD_ENET0_CRS__ENET0_1588_EVENT3_IN 0x40f2 | ||
475 | MX28_PAD_GPMI_D00__GPIO_0_0 0x0003 | ||
476 | MX28_PAD_GPMI_D01__GPIO_0_1 0x0013 | ||
477 | MX28_PAD_GPMI_D02__GPIO_0_2 0x0023 | ||
478 | MX28_PAD_GPMI_D03__GPIO_0_3 0x0033 | ||
479 | MX28_PAD_GPMI_D04__GPIO_0_4 0x0043 | ||
480 | MX28_PAD_GPMI_D05__GPIO_0_5 0x0053 | ||
481 | MX28_PAD_GPMI_D06__GPIO_0_6 0x0063 | ||
482 | MX28_PAD_GPMI_D07__GPIO_0_7 0x0073 | ||
483 | MX28_PAD_GPMI_CE0N__GPIO_0_16 0x0103 | ||
484 | MX28_PAD_GPMI_CE1N__GPIO_0_17 0x0113 | ||
485 | MX28_PAD_GPMI_CE2N__GPIO_0_18 0x0123 | ||
486 | MX28_PAD_GPMI_CE3N__GPIO_0_19 0x0133 | ||
487 | MX28_PAD_GPMI_RDY0__GPIO_0_20 0x0143 | ||
488 | MX28_PAD_GPMI_RDY1__GPIO_0_21 0x0153 | ||
489 | MX28_PAD_GPMI_RDY2__GPIO_0_22 0x0163 | ||
490 | MX28_PAD_GPMI_RDY3__GPIO_0_23 0x0173 | ||
491 | MX28_PAD_GPMI_RDN__GPIO_0_24 0x0183 | ||
492 | MX28_PAD_GPMI_WRN__GPIO_0_25 0x0193 | ||
493 | MX28_PAD_GPMI_ALE__GPIO_0_26 0x01a3 | ||
494 | MX28_PAD_GPMI_CLE__GPIO_0_27 0x01b3 | ||
495 | MX28_PAD_GPMI_RESETN__GPIO_0_28 0x01c3 | ||
496 | MX28_PAD_LCD_D00__GPIO_1_0 0x1003 | ||
497 | MX28_PAD_LCD_D01__GPIO_1_1 0x1013 | ||
498 | MX28_PAD_LCD_D02__GPIO_1_2 0x1023 | ||
499 | MX28_PAD_LCD_D03__GPIO_1_3 0x1033 | ||
500 | MX28_PAD_LCD_D04__GPIO_1_4 0x1043 | ||
501 | MX28_PAD_LCD_D05__GPIO_1_5 0x1053 | ||
502 | MX28_PAD_LCD_D06__GPIO_1_6 0x1063 | ||
503 | MX28_PAD_LCD_D07__GPIO_1_7 0x1073 | ||
504 | MX28_PAD_LCD_D08__GPIO_1_8 0x1083 | ||
505 | MX28_PAD_LCD_D09__GPIO_1_9 0x1093 | ||
506 | MX28_PAD_LCD_D10__GPIO_1_10 0x10a3 | ||
507 | MX28_PAD_LCD_D11__GPIO_1_11 0x10b3 | ||
508 | MX28_PAD_LCD_D12__GPIO_1_12 0x10c3 | ||
509 | MX28_PAD_LCD_D13__GPIO_1_13 0x10d3 | ||
510 | MX28_PAD_LCD_D14__GPIO_1_14 0x10e3 | ||
511 | MX28_PAD_LCD_D15__GPIO_1_15 0x10f3 | ||
512 | MX28_PAD_LCD_D16__GPIO_1_16 0x1103 | ||
513 | MX28_PAD_LCD_D17__GPIO_1_17 0x1113 | ||
514 | MX28_PAD_LCD_D18__GPIO_1_18 0x1123 | ||
515 | MX28_PAD_LCD_D19__GPIO_1_19 0x1133 | ||
516 | MX28_PAD_LCD_D20__GPIO_1_20 0x1143 | ||
517 | MX28_PAD_LCD_D21__GPIO_1_21 0x1153 | ||
518 | MX28_PAD_LCD_D22__GPIO_1_22 0x1163 | ||
519 | MX28_PAD_LCD_D23__GPIO_1_23 0x1173 | ||
520 | MX28_PAD_LCD_RD_E__GPIO_1_24 0x1183 | ||
521 | MX28_PAD_LCD_WR_RWN__GPIO_1_25 0x1193 | ||
522 | MX28_PAD_LCD_RS__GPIO_1_26 0x11a3 | ||
523 | MX28_PAD_LCD_CS__GPIO_1_27 0x11b3 | ||
524 | MX28_PAD_LCD_VSYNC__GPIO_1_28 0x11c3 | ||
525 | MX28_PAD_LCD_HSYNC__GPIO_1_29 0x11d3 | ||
526 | MX28_PAD_LCD_DOTCLK__GPIO_1_30 0x11e3 | ||
527 | MX28_PAD_LCD_ENABLE__GPIO_1_31 0x11f3 | ||
528 | MX28_PAD_SSP0_DATA0__GPIO_2_0 0x2003 | ||
529 | MX28_PAD_SSP0_DATA1__GPIO_2_1 0x2013 | ||
530 | MX28_PAD_SSP0_DATA2__GPIO_2_2 0x2023 | ||
531 | MX28_PAD_SSP0_DATA3__GPIO_2_3 0x2033 | ||
532 | MX28_PAD_SSP0_DATA4__GPIO_2_4 0x2043 | ||
533 | MX28_PAD_SSP0_DATA5__GPIO_2_5 0x2053 | ||
534 | MX28_PAD_SSP0_DATA6__GPIO_2_6 0x2063 | ||
535 | MX28_PAD_SSP0_DATA7__GPIO_2_7 0x2073 | ||
536 | MX28_PAD_SSP0_CMD__GPIO_2_8 0x2083 | ||
537 | MX28_PAD_SSP0_DETECT__GPIO_2_9 0x2093 | ||
538 | MX28_PAD_SSP0_SCK__GPIO_2_10 0x20a3 | ||
539 | MX28_PAD_SSP1_SCK__GPIO_2_12 0x20c3 | ||
540 | MX28_PAD_SSP1_CMD__GPIO_2_13 0x20d3 | ||
541 | MX28_PAD_SSP1_DATA0__GPIO_2_14 0x20e3 | ||
542 | MX28_PAD_SSP1_DATA3__GPIO_2_15 0x20f3 | ||
543 | MX28_PAD_SSP2_SCK__GPIO_2_16 0x2103 | ||
544 | MX28_PAD_SSP2_MOSI__GPIO_2_17 0x2113 | ||
545 | MX28_PAD_SSP2_MISO__GPIO_2_18 0x2123 | ||
546 | MX28_PAD_SSP2_SS0__GPIO_2_19 0x2133 | ||
547 | MX28_PAD_SSP2_SS1__GPIO_2_20 0x2143 | ||
548 | MX28_PAD_SSP2_SS2__GPIO_2_21 0x2153 | ||
549 | MX28_PAD_SSP3_SCK__GPIO_2_24 0x2183 | ||
550 | MX28_PAD_SSP3_MOSI__GPIO_2_25 0x2193 | ||
551 | MX28_PAD_SSP3_MISO__GPIO_2_26 0x21a3 | ||
552 | MX28_PAD_SSP3_SS0__GPIO_2_27 0x21b3 | ||
553 | MX28_PAD_AUART0_RX__GPIO_3_0 0x3003 | ||
554 | MX28_PAD_AUART0_TX__GPIO_3_1 0x3013 | ||
555 | MX28_PAD_AUART0_CTS__GPIO_3_2 0x3023 | ||
556 | MX28_PAD_AUART0_RTS__GPIO_3_3 0x3033 | ||
557 | MX28_PAD_AUART1_RX__GPIO_3_4 0x3043 | ||
558 | MX28_PAD_AUART1_TX__GPIO_3_5 0x3053 | ||
559 | MX28_PAD_AUART1_CTS__GPIO_3_6 0x3063 | ||
560 | MX28_PAD_AUART1_RTS__GPIO_3_7 0x3073 | ||
561 | MX28_PAD_AUART2_RX__GPIO_3_8 0x3083 | ||
562 | MX28_PAD_AUART2_TX__GPIO_3_9 0x3093 | ||
563 | MX28_PAD_AUART2_CTS__GPIO_3_10 0x30a3 | ||
564 | MX28_PAD_AUART2_RTS__GPIO_3_11 0x30b3 | ||
565 | MX28_PAD_AUART3_RX__GPIO_3_12 0x30c3 | ||
566 | MX28_PAD_AUART3_TX__GPIO_3_13 0x30d3 | ||
567 | MX28_PAD_AUART3_CTS__GPIO_3_14 0x30e3 | ||
568 | MX28_PAD_AUART3_RTS__GPIO_3_15 0x30f3 | ||
569 | MX28_PAD_PWM0__GPIO_3_16 0x3103 | ||
570 | MX28_PAD_PWM1__GPIO_3_17 0x3113 | ||
571 | MX28_PAD_PWM2__GPIO_3_18 0x3123 | ||
572 | MX28_PAD_SAIF0_MCLK__GPIO_3_20 0x3143 | ||
573 | MX28_PAD_SAIF0_LRCLK__GPIO_3_21 0x3153 | ||
574 | MX28_PAD_SAIF0_BITCLK__GPIO_3_22 0x3163 | ||
575 | MX28_PAD_SAIF0_SDATA0__GPIO_3_23 0x3173 | ||
576 | MX28_PAD_I2C0_SCL__GPIO_3_24 0x3183 | ||
577 | MX28_PAD_I2C0_SDA__GPIO_3_25 0x3193 | ||
578 | MX28_PAD_SAIF1_SDATA0__GPIO_3_26 0x31a3 | ||
579 | MX28_PAD_SPDIF__GPIO_3_27 0x31b3 | ||
580 | MX28_PAD_PWM3__GPIO_3_28 0x31c3 | ||
581 | MX28_PAD_PWM4__GPIO_3_29 0x31d3 | ||
582 | MX28_PAD_LCD_RESET__GPIO_3_30 0x31e3 | ||
583 | MX28_PAD_ENET0_MDC__GPIO_4_0 0x4003 | ||
584 | MX28_PAD_ENET0_MDIO__GPIO_4_1 0x4013 | ||
585 | MX28_PAD_ENET0_RX_EN__GPIO_4_2 0x4023 | ||
586 | MX28_PAD_ENET0_RXD0__GPIO_4_3 0x4033 | ||
587 | MX28_PAD_ENET0_RXD1__GPIO_4_4 0x4043 | ||
588 | MX28_PAD_ENET0_TX_CLK__GPIO_4_5 0x4053 | ||
589 | MX28_PAD_ENET0_TX_EN__GPIO_4_6 0x4063 | ||
590 | MX28_PAD_ENET0_TXD0__GPIO_4_7 0x4073 | ||
591 | MX28_PAD_ENET0_TXD1__GPIO_4_8 0x4083 | ||
592 | MX28_PAD_ENET0_RXD2__GPIO_4_9 0x4093 | ||
593 | MX28_PAD_ENET0_RXD3__GPIO_4_10 0x40a3 | ||
594 | MX28_PAD_ENET0_TXD2__GPIO_4_11 0x40b3 | ||
595 | MX28_PAD_ENET0_TXD3__GPIO_4_12 0x40c3 | ||
596 | MX28_PAD_ENET0_RX_CLK__GPIO_4_13 0x40d3 | ||
597 | MX28_PAD_ENET0_COL__GPIO_4_14 0x40e3 | ||
598 | MX28_PAD_ENET0_CRS__GPIO_4_15 0x40f3 | ||
599 | MX28_PAD_ENET_CLK__GPIO_4_16 0x4103 | ||
600 | MX28_PAD_JTAG_RTCK__GPIO_4_20 0x4143 | ||
601 | |||
602 | Valid values for i.MX23 pinmux-id: | ||
603 | |||
604 | pinmux id | ||
605 | ------ -- | ||
606 | MX23_PAD_GPMI_D00__GPMI_D00 0x0000 | ||
607 | MX23_PAD_GPMI_D01__GPMI_D01 0x0010 | ||
608 | MX23_PAD_GPMI_D02__GPMI_D02 0x0020 | ||
609 | MX23_PAD_GPMI_D03__GPMI_D03 0x0030 | ||
610 | MX23_PAD_GPMI_D04__GPMI_D04 0x0040 | ||
611 | MX23_PAD_GPMI_D05__GPMI_D05 0x0050 | ||
612 | MX23_PAD_GPMI_D06__GPMI_D06 0x0060 | ||
613 | MX23_PAD_GPMI_D07__GPMI_D07 0x0070 | ||
614 | MX23_PAD_GPMI_D08__GPMI_D08 0x0080 | ||
615 | MX23_PAD_GPMI_D09__GPMI_D09 0x0090 | ||
616 | MX23_PAD_GPMI_D10__GPMI_D10 0x00a0 | ||
617 | MX23_PAD_GPMI_D11__GPMI_D11 0x00b0 | ||
618 | MX23_PAD_GPMI_D12__GPMI_D12 0x00c0 | ||
619 | MX23_PAD_GPMI_D13__GPMI_D13 0x00d0 | ||
620 | MX23_PAD_GPMI_D14__GPMI_D14 0x00e0 | ||
621 | MX23_PAD_GPMI_D15__GPMI_D15 0x00f0 | ||
622 | MX23_PAD_GPMI_CLE__GPMI_CLE 0x0100 | ||
623 | MX23_PAD_GPMI_ALE__GPMI_ALE 0x0110 | ||
624 | MX23_PAD_GPMI_CE2N__GPMI_CE2N 0x0120 | ||
625 | MX23_PAD_GPMI_RDY0__GPMI_RDY0 0x0130 | ||
626 | MX23_PAD_GPMI_RDY1__GPMI_RDY1 0x0140 | ||
627 | MX23_PAD_GPMI_RDY2__GPMI_RDY2 0x0150 | ||
628 | MX23_PAD_GPMI_RDY3__GPMI_RDY3 0x0160 | ||
629 | MX23_PAD_GPMI_WPN__GPMI_WPN 0x0170 | ||
630 | MX23_PAD_GPMI_WRN__GPMI_WRN 0x0180 | ||
631 | MX23_PAD_GPMI_RDN__GPMI_RDN 0x0190 | ||
632 | MX23_PAD_AUART1_CTS__AUART1_CTS 0x01a0 | ||
633 | MX23_PAD_AUART1_RTS__AUART1_RTS 0x01b0 | ||
634 | MX23_PAD_AUART1_RX__AUART1_RX 0x01c0 | ||
635 | MX23_PAD_AUART1_TX__AUART1_TX 0x01d0 | ||
636 | MX23_PAD_I2C_SCL__I2C_SCL 0x01e0 | ||
637 | MX23_PAD_I2C_SDA__I2C_SDA 0x01f0 | ||
638 | MX23_PAD_LCD_D00__LCD_D00 0x1000 | ||
639 | MX23_PAD_LCD_D01__LCD_D01 0x1010 | ||
640 | MX23_PAD_LCD_D02__LCD_D02 0x1020 | ||
641 | MX23_PAD_LCD_D03__LCD_D03 0x1030 | ||
642 | MX23_PAD_LCD_D04__LCD_D04 0x1040 | ||
643 | MX23_PAD_LCD_D05__LCD_D05 0x1050 | ||
644 | MX23_PAD_LCD_D06__LCD_D06 0x1060 | ||
645 | MX23_PAD_LCD_D07__LCD_D07 0x1070 | ||
646 | MX23_PAD_LCD_D08__LCD_D08 0x1080 | ||
647 | MX23_PAD_LCD_D09__LCD_D09 0x1090 | ||
648 | MX23_PAD_LCD_D10__LCD_D10 0x10a0 | ||
649 | MX23_PAD_LCD_D11__LCD_D11 0x10b0 | ||
650 | MX23_PAD_LCD_D12__LCD_D12 0x10c0 | ||
651 | MX23_PAD_LCD_D13__LCD_D13 0x10d0 | ||
652 | MX23_PAD_LCD_D14__LCD_D14 0x10e0 | ||
653 | MX23_PAD_LCD_D15__LCD_D15 0x10f0 | ||
654 | MX23_PAD_LCD_D16__LCD_D16 0x1100 | ||
655 | MX23_PAD_LCD_D17__LCD_D17 0x1110 | ||
656 | MX23_PAD_LCD_RESET__LCD_RESET 0x1120 | ||
657 | MX23_PAD_LCD_RS__LCD_RS 0x1130 | ||
658 | MX23_PAD_LCD_WR__LCD_WR 0x1140 | ||
659 | MX23_PAD_LCD_CS__LCD_CS 0x1150 | ||
660 | MX23_PAD_LCD_DOTCK__LCD_DOTCK 0x1160 | ||
661 | MX23_PAD_LCD_ENABLE__LCD_ENABLE 0x1170 | ||
662 | MX23_PAD_LCD_HSYNC__LCD_HSYNC 0x1180 | ||
663 | MX23_PAD_LCD_VSYNC__LCD_VSYNC 0x1190 | ||
664 | MX23_PAD_PWM0__PWM0 0x11a0 | ||
665 | MX23_PAD_PWM1__PWM1 0x11b0 | ||
666 | MX23_PAD_PWM2__PWM2 0x11c0 | ||
667 | MX23_PAD_PWM3__PWM3 0x11d0 | ||
668 | MX23_PAD_PWM4__PWM4 0x11e0 | ||
669 | MX23_PAD_SSP1_CMD__SSP1_CMD 0x2000 | ||
670 | MX23_PAD_SSP1_DETECT__SSP1_DETECT 0x2010 | ||
671 | MX23_PAD_SSP1_DATA0__SSP1_DATA0 0x2020 | ||
672 | MX23_PAD_SSP1_DATA1__SSP1_DATA1 0x2030 | ||
673 | MX23_PAD_SSP1_DATA2__SSP1_DATA2 0x2040 | ||
674 | MX23_PAD_SSP1_DATA3__SSP1_DATA3 0x2050 | ||
675 | MX23_PAD_SSP1_SCK__SSP1_SCK 0x2060 | ||
676 | MX23_PAD_ROTARYA__ROTARYA 0x2070 | ||
677 | MX23_PAD_ROTARYB__ROTARYB 0x2080 | ||
678 | MX23_PAD_EMI_A00__EMI_A00 0x2090 | ||
679 | MX23_PAD_EMI_A01__EMI_A01 0x20a0 | ||
680 | MX23_PAD_EMI_A02__EMI_A02 0x20b0 | ||
681 | MX23_PAD_EMI_A03__EMI_A03 0x20c0 | ||
682 | MX23_PAD_EMI_A04__EMI_A04 0x20d0 | ||
683 | MX23_PAD_EMI_A05__EMI_A05 0x20e0 | ||
684 | MX23_PAD_EMI_A06__EMI_A06 0x20f0 | ||
685 | MX23_PAD_EMI_A07__EMI_A07 0x2100 | ||
686 | MX23_PAD_EMI_A08__EMI_A08 0x2110 | ||
687 | MX23_PAD_EMI_A09__EMI_A09 0x2120 | ||
688 | MX23_PAD_EMI_A10__EMI_A10 0x2130 | ||
689 | MX23_PAD_EMI_A11__EMI_A11 0x2140 | ||
690 | MX23_PAD_EMI_A12__EMI_A12 0x2150 | ||
691 | MX23_PAD_EMI_BA0__EMI_BA0 0x2160 | ||
692 | MX23_PAD_EMI_BA1__EMI_BA1 0x2170 | ||
693 | MX23_PAD_EMI_CASN__EMI_CASN 0x2180 | ||
694 | MX23_PAD_EMI_CE0N__EMI_CE0N 0x2190 | ||
695 | MX23_PAD_EMI_CE1N__EMI_CE1N 0x21a0 | ||
696 | MX23_PAD_GPMI_CE1N__GPMI_CE1N 0x21b0 | ||
697 | MX23_PAD_GPMI_CE0N__GPMI_CE0N 0x21c0 | ||
698 | MX23_PAD_EMI_CKE__EMI_CKE 0x21d0 | ||
699 | MX23_PAD_EMI_RASN__EMI_RASN 0x21e0 | ||
700 | MX23_PAD_EMI_WEN__EMI_WEN 0x21f0 | ||
701 | MX23_PAD_EMI_D00__EMI_D00 0x3000 | ||
702 | MX23_PAD_EMI_D01__EMI_D01 0x3010 | ||
703 | MX23_PAD_EMI_D02__EMI_D02 0x3020 | ||
704 | MX23_PAD_EMI_D03__EMI_D03 0x3030 | ||
705 | MX23_PAD_EMI_D04__EMI_D04 0x3040 | ||
706 | MX23_PAD_EMI_D05__EMI_D05 0x3050 | ||
707 | MX23_PAD_EMI_D06__EMI_D06 0x3060 | ||
708 | MX23_PAD_EMI_D07__EMI_D07 0x3070 | ||
709 | MX23_PAD_EMI_D08__EMI_D08 0x3080 | ||
710 | MX23_PAD_EMI_D09__EMI_D09 0x3090 | ||
711 | MX23_PAD_EMI_D10__EMI_D10 0x30a0 | ||
712 | MX23_PAD_EMI_D11__EMI_D11 0x30b0 | ||
713 | MX23_PAD_EMI_D12__EMI_D12 0x30c0 | ||
714 | MX23_PAD_EMI_D13__EMI_D13 0x30d0 | ||
715 | MX23_PAD_EMI_D14__EMI_D14 0x30e0 | ||
716 | MX23_PAD_EMI_D15__EMI_D15 0x30f0 | ||
717 | MX23_PAD_EMI_DQM0__EMI_DQM0 0x3100 | ||
718 | MX23_PAD_EMI_DQM1__EMI_DQM1 0x3110 | ||
719 | MX23_PAD_EMI_DQS0__EMI_DQS0 0x3120 | ||
720 | MX23_PAD_EMI_DQS1__EMI_DQS1 0x3130 | ||
721 | MX23_PAD_EMI_CLK__EMI_CLK 0x3140 | ||
722 | MX23_PAD_EMI_CLKN__EMI_CLKN 0x3150 | ||
723 | MX23_PAD_GPMI_D00__LCD_D8 0x0001 | ||
724 | MX23_PAD_GPMI_D01__LCD_D9 0x0011 | ||
725 | MX23_PAD_GPMI_D02__LCD_D10 0x0021 | ||
726 | MX23_PAD_GPMI_D03__LCD_D11 0x0031 | ||
727 | MX23_PAD_GPMI_D04__LCD_D12 0x0041 | ||
728 | MX23_PAD_GPMI_D05__LCD_D13 0x0051 | ||
729 | MX23_PAD_GPMI_D06__LCD_D14 0x0061 | ||
730 | MX23_PAD_GPMI_D07__LCD_D15 0x0071 | ||
731 | MX23_PAD_GPMI_D08__LCD_D18 0x0081 | ||
732 | MX23_PAD_GPMI_D09__LCD_D19 0x0091 | ||
733 | MX23_PAD_GPMI_D10__LCD_D20 0x00a1 | ||
734 | MX23_PAD_GPMI_D11__LCD_D21 0x00b1 | ||
735 | MX23_PAD_GPMI_D12__LCD_D22 0x00c1 | ||
736 | MX23_PAD_GPMI_D13__LCD_D23 0x00d1 | ||
737 | MX23_PAD_GPMI_D14__AUART2_RX 0x00e1 | ||
738 | MX23_PAD_GPMI_D15__AUART2_TX 0x00f1 | ||
739 | MX23_PAD_GPMI_CLE__LCD_D16 0x0101 | ||
740 | MX23_PAD_GPMI_ALE__LCD_D17 0x0111 | ||
741 | MX23_PAD_GPMI_CE2N__ATA_A2 0x0121 | ||
742 | MX23_PAD_AUART1_RTS__IR_CLK 0x01b1 | ||
743 | MX23_PAD_AUART1_RX__IR_RX 0x01c1 | ||
744 | MX23_PAD_AUART1_TX__IR_TX 0x01d1 | ||
745 | MX23_PAD_I2C_SCL__GPMI_RDY2 0x01e1 | ||
746 | MX23_PAD_I2C_SDA__GPMI_CE2N 0x01f1 | ||
747 | MX23_PAD_LCD_D00__ETM_DA8 0x1001 | ||
748 | MX23_PAD_LCD_D01__ETM_DA9 0x1011 | ||
749 | MX23_PAD_LCD_D02__ETM_DA10 0x1021 | ||
750 | MX23_PAD_LCD_D03__ETM_DA11 0x1031 | ||
751 | MX23_PAD_LCD_D04__ETM_DA12 0x1041 | ||
752 | MX23_PAD_LCD_D05__ETM_DA13 0x1051 | ||
753 | MX23_PAD_LCD_D06__ETM_DA14 0x1061 | ||
754 | MX23_PAD_LCD_D07__ETM_DA15 0x1071 | ||
755 | MX23_PAD_LCD_D08__ETM_DA0 0x1081 | ||
756 | MX23_PAD_LCD_D09__ETM_DA1 0x1091 | ||
757 | MX23_PAD_LCD_D10__ETM_DA2 0x10a1 | ||
758 | MX23_PAD_LCD_D11__ETM_DA3 0x10b1 | ||
759 | MX23_PAD_LCD_D12__ETM_DA4 0x10c1 | ||
760 | MX23_PAD_LCD_D13__ETM_DA5 0x10d1 | ||
761 | MX23_PAD_LCD_D14__ETM_DA6 0x10e1 | ||
762 | MX23_PAD_LCD_D15__ETM_DA7 0x10f1 | ||
763 | MX23_PAD_LCD_RESET__ETM_TCTL 0x1121 | ||
764 | MX23_PAD_LCD_RS__ETM_TCLK 0x1131 | ||
765 | MX23_PAD_LCD_DOTCK__GPMI_RDY3 0x1161 | ||
766 | MX23_PAD_LCD_ENABLE__I2C_SCL 0x1171 | ||
767 | MX23_PAD_LCD_HSYNC__I2C_SDA 0x1181 | ||
768 | MX23_PAD_LCD_VSYNC__LCD_BUSY 0x1191 | ||
769 | MX23_PAD_PWM0__ROTARYA 0x11a1 | ||
770 | MX23_PAD_PWM1__ROTARYB 0x11b1 | ||
771 | MX23_PAD_PWM2__GPMI_RDY3 0x11c1 | ||
772 | MX23_PAD_PWM3__ETM_TCTL 0x11d1 | ||
773 | MX23_PAD_PWM4__ETM_TCLK 0x11e1 | ||
774 | MX23_PAD_SSP1_DETECT__GPMI_CE3N 0x2011 | ||
775 | MX23_PAD_SSP1_DATA1__I2C_SCL 0x2031 | ||
776 | MX23_PAD_SSP1_DATA2__I2C_SDA 0x2041 | ||
777 | MX23_PAD_ROTARYA__AUART2_RTS 0x2071 | ||
778 | MX23_PAD_ROTARYB__AUART2_CTS 0x2081 | ||
779 | MX23_PAD_GPMI_D00__SSP2_DATA0 0x0002 | ||
780 | MX23_PAD_GPMI_D01__SSP2_DATA1 0x0012 | ||
781 | MX23_PAD_GPMI_D02__SSP2_DATA2 0x0022 | ||
782 | MX23_PAD_GPMI_D03__SSP2_DATA3 0x0032 | ||
783 | MX23_PAD_GPMI_D04__SSP2_DATA4 0x0042 | ||
784 | MX23_PAD_GPMI_D05__SSP2_DATA5 0x0052 | ||
785 | MX23_PAD_GPMI_D06__SSP2_DATA6 0x0062 | ||
786 | MX23_PAD_GPMI_D07__SSP2_DATA7 0x0072 | ||
787 | MX23_PAD_GPMI_D08__SSP1_DATA4 0x0082 | ||
788 | MX23_PAD_GPMI_D09__SSP1_DATA5 0x0092 | ||
789 | MX23_PAD_GPMI_D10__SSP1_DATA6 0x00a2 | ||
790 | MX23_PAD_GPMI_D11__SSP1_DATA7 0x00b2 | ||
791 | MX23_PAD_GPMI_D15__GPMI_CE3N 0x00f2 | ||
792 | MX23_PAD_GPMI_RDY0__SSP2_DETECT 0x0132 | ||
793 | MX23_PAD_GPMI_RDY1__SSP2_CMD 0x0142 | ||
794 | MX23_PAD_GPMI_WRN__SSP2_SCK 0x0182 | ||
795 | MX23_PAD_AUART1_CTS__SSP1_DATA4 0x01a2 | ||
796 | MX23_PAD_AUART1_RTS__SSP1_DATA5 0x01b2 | ||
797 | MX23_PAD_AUART1_RX__SSP1_DATA6 0x01c2 | ||
798 | MX23_PAD_AUART1_TX__SSP1_DATA7 0x01d2 | ||
799 | MX23_PAD_I2C_SCL__AUART1_TX 0x01e2 | ||
800 | MX23_PAD_I2C_SDA__AUART1_RX 0x01f2 | ||
801 | MX23_PAD_LCD_D08__SAIF2_SDATA0 0x1082 | ||
802 | MX23_PAD_LCD_D09__SAIF1_SDATA0 0x1092 | ||
803 | MX23_PAD_LCD_D10__SAIF_MCLK_BITCLK 0x10a2 | ||
804 | MX23_PAD_LCD_D11__SAIF_LRCLK 0x10b2 | ||
805 | MX23_PAD_LCD_D12__SAIF2_SDATA1 0x10c2 | ||
806 | MX23_PAD_LCD_D13__SAIF2_SDATA2 0x10d2 | ||
807 | MX23_PAD_LCD_D14__SAIF1_SDATA2 0x10e2 | ||
808 | MX23_PAD_LCD_D15__SAIF1_SDATA1 0x10f2 | ||
809 | MX23_PAD_LCD_D16__SAIF_ALT_BITCLK 0x1102 | ||
810 | MX23_PAD_LCD_RESET__GPMI_CE3N 0x1122 | ||
811 | MX23_PAD_PWM0__DUART_RX 0x11a2 | ||
812 | MX23_PAD_PWM1__DUART_TX 0x11b2 | ||
813 | MX23_PAD_PWM3__AUART1_CTS 0x11d2 | ||
814 | MX23_PAD_PWM4__AUART1_RTS 0x11e2 | ||
815 | MX23_PAD_SSP1_CMD__JTAG_TDO 0x2002 | ||
816 | MX23_PAD_SSP1_DETECT__USB_OTG_ID 0x2012 | ||
817 | MX23_PAD_SSP1_DATA0__JTAG_TDI 0x2022 | ||
818 | MX23_PAD_SSP1_DATA1__JTAG_TCLK 0x2032 | ||
819 | MX23_PAD_SSP1_DATA2__JTAG_RTCK 0x2042 | ||
820 | MX23_PAD_SSP1_DATA3__JTAG_TMS 0x2052 | ||
821 | MX23_PAD_SSP1_SCK__JTAG_TRST 0x2062 | ||
822 | MX23_PAD_ROTARYA__SPDIF 0x2072 | ||
823 | MX23_PAD_ROTARYB__GPMI_CE3N 0x2082 | ||
824 | MX23_PAD_GPMI_D00__GPIO_0_0 0x0003 | ||
825 | MX23_PAD_GPMI_D01__GPIO_0_1 0x0013 | ||
826 | MX23_PAD_GPMI_D02__GPIO_0_2 0x0023 | ||
827 | MX23_PAD_GPMI_D03__GPIO_0_3 0x0033 | ||
828 | MX23_PAD_GPMI_D04__GPIO_0_4 0x0043 | ||
829 | MX23_PAD_GPMI_D05__GPIO_0_5 0x0053 | ||
830 | MX23_PAD_GPMI_D06__GPIO_0_6 0x0063 | ||
831 | MX23_PAD_GPMI_D07__GPIO_0_7 0x0073 | ||
832 | MX23_PAD_GPMI_D08__GPIO_0_8 0x0083 | ||
833 | MX23_PAD_GPMI_D09__GPIO_0_9 0x0093 | ||
834 | MX23_PAD_GPMI_D10__GPIO_0_10 0x00a3 | ||
835 | MX23_PAD_GPMI_D11__GPIO_0_11 0x00b3 | ||
836 | MX23_PAD_GPMI_D12__GPIO_0_12 0x00c3 | ||
837 | MX23_PAD_GPMI_D13__GPIO_0_13 0x00d3 | ||
838 | MX23_PAD_GPMI_D14__GPIO_0_14 0x00e3 | ||
839 | MX23_PAD_GPMI_D15__GPIO_0_15 0x00f3 | ||
840 | MX23_PAD_GPMI_CLE__GPIO_0_16 0x0103 | ||
841 | MX23_PAD_GPMI_ALE__GPIO_0_17 0x0113 | ||
842 | MX23_PAD_GPMI_CE2N__GPIO_0_18 0x0123 | ||
843 | MX23_PAD_GPMI_RDY0__GPIO_0_19 0x0133 | ||
844 | MX23_PAD_GPMI_RDY1__GPIO_0_20 0x0143 | ||
845 | MX23_PAD_GPMI_RDY2__GPIO_0_21 0x0153 | ||
846 | MX23_PAD_GPMI_RDY3__GPIO_0_22 0x0163 | ||
847 | MX23_PAD_GPMI_WPN__GPIO_0_23 0x0173 | ||
848 | MX23_PAD_GPMI_WRN__GPIO_0_24 0x0183 | ||
849 | MX23_PAD_GPMI_RDN__GPIO_0_25 0x0193 | ||
850 | MX23_PAD_AUART1_CTS__GPIO_0_26 0x01a3 | ||
851 | MX23_PAD_AUART1_RTS__GPIO_0_27 0x01b3 | ||
852 | MX23_PAD_AUART1_RX__GPIO_0_28 0x01c3 | ||
853 | MX23_PAD_AUART1_TX__GPIO_0_29 0x01d3 | ||
854 | MX23_PAD_I2C_SCL__GPIO_0_30 0x01e3 | ||
855 | MX23_PAD_I2C_SDA__GPIO_0_31 0x01f3 | ||
856 | MX23_PAD_LCD_D00__GPIO_1_0 0x1003 | ||
857 | MX23_PAD_LCD_D01__GPIO_1_1 0x1013 | ||
858 | MX23_PAD_LCD_D02__GPIO_1_2 0x1023 | ||
859 | MX23_PAD_LCD_D03__GPIO_1_3 0x1033 | ||
860 | MX23_PAD_LCD_D04__GPIO_1_4 0x1043 | ||
861 | MX23_PAD_LCD_D05__GPIO_1_5 0x1053 | ||
862 | MX23_PAD_LCD_D06__GPIO_1_6 0x1063 | ||
863 | MX23_PAD_LCD_D07__GPIO_1_7 0x1073 | ||
864 | MX23_PAD_LCD_D08__GPIO_1_8 0x1083 | ||
865 | MX23_PAD_LCD_D09__GPIO_1_9 0x1093 | ||
866 | MX23_PAD_LCD_D10__GPIO_1_10 0x10a3 | ||
867 | MX23_PAD_LCD_D11__GPIO_1_11 0x10b3 | ||
868 | MX23_PAD_LCD_D12__GPIO_1_12 0x10c3 | ||
869 | MX23_PAD_LCD_D13__GPIO_1_13 0x10d3 | ||
870 | MX23_PAD_LCD_D14__GPIO_1_14 0x10e3 | ||
871 | MX23_PAD_LCD_D15__GPIO_1_15 0x10f3 | ||
872 | MX23_PAD_LCD_D16__GPIO_1_16 0x1103 | ||
873 | MX23_PAD_LCD_D17__GPIO_1_17 0x1113 | ||
874 | MX23_PAD_LCD_RESET__GPIO_1_18 0x1123 | ||
875 | MX23_PAD_LCD_RS__GPIO_1_19 0x1133 | ||
876 | MX23_PAD_LCD_WR__GPIO_1_20 0x1143 | ||
877 | MX23_PAD_LCD_CS__GPIO_1_21 0x1153 | ||
878 | MX23_PAD_LCD_DOTCK__GPIO_1_22 0x1163 | ||
879 | MX23_PAD_LCD_ENABLE__GPIO_1_23 0x1173 | ||
880 | MX23_PAD_LCD_HSYNC__GPIO_1_24 0x1183 | ||
881 | MX23_PAD_LCD_VSYNC__GPIO_1_25 0x1193 | ||
882 | MX23_PAD_PWM0__GPIO_1_26 0x11a3 | ||
883 | MX23_PAD_PWM1__GPIO_1_27 0x11b3 | ||
884 | MX23_PAD_PWM2__GPIO_1_28 0x11c3 | ||
885 | MX23_PAD_PWM3__GPIO_1_29 0x11d3 | ||
886 | MX23_PAD_PWM4__GPIO_1_30 0x11e3 | ||
887 | MX23_PAD_SSP1_CMD__GPIO_2_0 0x2003 | ||
888 | MX23_PAD_SSP1_DETECT__GPIO_2_1 0x2013 | ||
889 | MX23_PAD_SSP1_DATA0__GPIO_2_2 0x2023 | ||
890 | MX23_PAD_SSP1_DATA1__GPIO_2_3 0x2033 | ||
891 | MX23_PAD_SSP1_DATA2__GPIO_2_4 0x2043 | ||
892 | MX23_PAD_SSP1_DATA3__GPIO_2_5 0x2053 | ||
893 | MX23_PAD_SSP1_SCK__GPIO_2_6 0x2063 | ||
894 | MX23_PAD_ROTARYA__GPIO_2_7 0x2073 | ||
895 | MX23_PAD_ROTARYB__GPIO_2_8 0x2083 | ||
896 | MX23_PAD_EMI_A00__GPIO_2_9 0x2093 | ||
897 | MX23_PAD_EMI_A01__GPIO_2_10 0x20a3 | ||
898 | MX23_PAD_EMI_A02__GPIO_2_11 0x20b3 | ||
899 | MX23_PAD_EMI_A03__GPIO_2_12 0x20c3 | ||
900 | MX23_PAD_EMI_A04__GPIO_2_13 0x20d3 | ||
901 | MX23_PAD_EMI_A05__GPIO_2_14 0x20e3 | ||
902 | MX23_PAD_EMI_A06__GPIO_2_15 0x20f3 | ||
903 | MX23_PAD_EMI_A07__GPIO_2_16 0x2103 | ||
904 | MX23_PAD_EMI_A08__GPIO_2_17 0x2113 | ||
905 | MX23_PAD_EMI_A09__GPIO_2_18 0x2123 | ||
906 | MX23_PAD_EMI_A10__GPIO_2_19 0x2133 | ||
907 | MX23_PAD_EMI_A11__GPIO_2_20 0x2143 | ||
908 | MX23_PAD_EMI_A12__GPIO_2_21 0x2153 | ||
909 | MX23_PAD_EMI_BA0__GPIO_2_22 0x2163 | ||
910 | MX23_PAD_EMI_BA1__GPIO_2_23 0x2173 | ||
911 | MX23_PAD_EMI_CASN__GPIO_2_24 0x2183 | ||
912 | MX23_PAD_EMI_CE0N__GPIO_2_25 0x2193 | ||
913 | MX23_PAD_EMI_CE1N__GPIO_2_26 0x21a3 | ||
914 | MX23_PAD_GPMI_CE1N__GPIO_2_27 0x21b3 | ||
915 | MX23_PAD_GPMI_CE0N__GPIO_2_28 0x21c3 | ||
916 | MX23_PAD_EMI_CKE__GPIO_2_29 0x21d3 | ||
917 | MX23_PAD_EMI_RASN__GPIO_2_30 0x21e3 | ||
918 | MX23_PAD_EMI_WEN__GPIO_2_31 0x21f3 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt new file mode 100644 index 000000000000..c8e578263ce2 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt | |||
@@ -0,0 +1,132 @@ | |||
1 | NVIDIA Tegra20 pinmux controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "nvidia,tegra20-pinmux" | ||
5 | - reg: Should contain the register physical address and length for each of | ||
6 | the tri-state, mux, pull-up/down, and pad control register sets. | ||
7 | |||
8 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
9 | common pinctrl bindings used by client devices, including the meaning of the | ||
10 | phrase "pin configuration node". | ||
11 | |||
12 | Tegra's pin configuration nodes act as a container for an abitrary number of | ||
13 | subnodes. Each of these subnodes represents some desired configuration for a | ||
14 | pin, a group, or a list of pins or groups. This configuration can include the | ||
15 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
16 | parameters, such as pull-up, tristate, drive strength, etc. | ||
17 | |||
18 | The name of each subnode is not important; all subnodes should be enumerated | ||
19 | and processed purely based on their content. | ||
20 | |||
21 | Each subnode only affects those parameters that are explicitly listed. In | ||
22 | other words, a subnode that lists a mux function but no pin configuration | ||
23 | parameters implies no information about any pin configuration parameters. | ||
24 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
25 | information about e.g. the mux function or tristate parameter. For this | ||
26 | reason, even seemingly boolean values are actually tristates in this binding: | ||
27 | unspecified, off, or on. Unspecified is represented as an absent property, | ||
28 | and off/on are represented as integer values 0 and 1. | ||
29 | |||
30 | Required subnode-properties: | ||
31 | - nvidia,pins : An array of strings. Each string contains the name of a pin or | ||
32 | group. Valid values for these names are listed below. | ||
33 | |||
34 | Optional subnode-properties: | ||
35 | - nvidia,function: A string containing the name of the function to mux to the | ||
36 | pin or group. Valid values for function names are listed below. See the Tegra | ||
37 | TRM to determine which are valid for each pin or group. | ||
38 | - nvidia,pull: Integer, representing the pull-down/up to apply to the pin. | ||
39 | 0: none, 1: down, 2: up. | ||
40 | - nvidia,tristate: Integer. | ||
41 | 0: drive, 1: tristate. | ||
42 | - nvidia,high-speed-mode: Integer. Enable high speed mode the pins. | ||
43 | 0: no, 1: yes. | ||
44 | - nvidia,schmitt: Integer. Enables Schmitt Trigger on the input. | ||
45 | 0: no, 1: yes. | ||
46 | - nvidia,low-power-mode: Integer. Valid values 0-3. 0 is least power, 3 is | ||
47 | most power. Controls the drive power or current. See "Low Power Mode" | ||
48 | or "LPMD1" and "LPMD0" in the Tegra TRM. | ||
49 | - nvidia,pull-down-strength: Integer. Controls drive strength. 0 is weakest. | ||
50 | The range of valid values depends on the pingroup. See "CAL_DRVDN" in the | ||
51 | Tegra TRM. | ||
52 | - nvidia,pull-up-strength: Integer. Controls drive strength. 0 is weakest. | ||
53 | The range of valid values depends on the pingroup. See "CAL_DRVUP" in the | ||
54 | Tegra TRM. | ||
55 | - nvidia,slew-rate-rising: Integer. Controls rising signal slew rate. 0 is | ||
56 | fastest. The range of valid values depends on the pingroup. See | ||
57 | "DRVDN_SLWR" in the Tegra TRM. | ||
58 | - nvidia,slew-rate-falling: Integer. Controls falling signal slew rate. 0 is | ||
59 | fastest. The range of valid values depends on the pingroup. See | ||
60 | "DRVUP_SLWF" in the Tegra TRM. | ||
61 | |||
62 | Note that many of these properties are only valid for certain specific pins | ||
63 | or groups. See the Tegra TRM and various pinmux spreadsheets for complete | ||
64 | details regarding which groups support which functionality. The Linux pinctrl | ||
65 | driver may also be a useful reference, since it consolidates, disambiguates, | ||
66 | and corrects data from all those sources. | ||
67 | |||
68 | Valid values for pin and group names are: | ||
69 | |||
70 | mux groups: | ||
71 | |||
72 | These all support nvidia,function, nvidia,tristate, and many support | ||
73 | nvidia,pull. | ||
74 | |||
75 | ata, atb, atc, atd, ate, cdev1, cdev2, crtp, csus, dap1, dap2, dap3, dap4, | ||
76 | ddc, dta, dtb, dtc, dtd, dte, dtf, gma, gmb, gmc, gmd, gme, gpu, gpu7, | ||
77 | gpv, hdint, i2cp, irrx, irtx, kbca, kbcb, kbcc, kbcd, kbce, kbcf, lcsn, | ||
78 | ld0, ld1, ld2, ld3, ld4, ld5, ld6, ld7, ld8, ld9, ld10, ld11, ld12, ld13, | ||
79 | ld14, ld15, ld16, ld17, ldc, ldi, lhp0, lhp1, lhp2, lhs, lm0, lm1, lpp, | ||
80 | lpw0, lpw1, lpw2, lsc0, lsc1, lsck, lsda, lsdi, lspi, lvp0, lvp1, lvs, | ||
81 | owc, pmc, pta, rm, sdb, sdc, sdd, sdio1, slxa, slxc, slxd, slxk, spdi, | ||
82 | spdo, spia, spib, spic, spid, spie, spif, spig, spih, uaa, uab, uac, uad, | ||
83 | uca, ucb, uda. | ||
84 | |||
85 | tristate groups: | ||
86 | |||
87 | These only support nvidia,pull. | ||
88 | |||
89 | ck32, ddrc, pmca, pmcb, pmcc, pmcd, pmce, xm2c, xm2d, ls, lc, ld17_0, | ||
90 | ld19_18, ld21_20, ld23_22. | ||
91 | |||
92 | drive groups: | ||
93 | |||
94 | With some exceptions, these support nvidia,high-speed-mode, | ||
95 | nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength, | ||
96 | nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling. | ||
97 | |||
98 | drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2, | ||
99 | drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg, | ||
100 | drive_lcd1, drive_lcd2, drive_sdmmc2, drive_sdmmc3, drive_spi, drive_uaa, | ||
101 | drive_uab, drive_uart2, drive_uart3, drive_vi1, drive_vi2, drive_xm2a, | ||
102 | drive_xm2c, drive_xm2d, drive_xm2clk, drive_sdio1, drive_crt, drive_ddc, | ||
103 | drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr, | ||
104 | drive_uda. | ||
105 | |||
106 | Example: | ||
107 | |||
108 | pinctrl@70000000 { | ||
109 | compatible = "nvidia,tegra20-pinmux"; | ||
110 | reg = < 0x70000014 0x10 /* Tri-state registers */ | ||
111 | 0x70000080 0x20 /* Mux registers */ | ||
112 | 0x700000a0 0x14 /* Pull-up/down registers */ | ||
113 | 0x70000868 0xa8 >; /* Pad control registers */ | ||
114 | }; | ||
115 | |||
116 | Example board file extract: | ||
117 | |||
118 | pinctrl@70000000 { | ||
119 | sdio4_default: sdio4_default { | ||
120 | atb { | ||
121 | nvidia,pins = "atb", "gma", "gme"; | ||
122 | nvidia,function = "sdio4"; | ||
123 | nvidia,pull = <0>; | ||
124 | nvidia,tristate = <0>; | ||
125 | }; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | sdhci@c8000600 { | ||
130 | pinctrl-names = "default"; | ||
131 | pinctrl-0 = <&sdio4_default>; | ||
132 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt new file mode 100644 index 000000000000..c275b70349c1 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt | |||
@@ -0,0 +1,132 @@ | |||
1 | NVIDIA Tegra30 pinmux controller | ||
2 | |||
3 | The Tegra30 pinctrl binding is very similar to the Tegra20 pinctrl binding, | ||
4 | as described in nvidia,tegra20-pinmux.txt. In fact, this document assumes | ||
5 | that binding as a baseline, and only documents the differences between the | ||
6 | two bindings. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: "nvidia,tegra30-pinmux" | ||
10 | - reg: Should contain the register physical address and length for each of | ||
11 | the pad control and mux registers. | ||
12 | |||
13 | Tegra30 adds the following optional properties for pin configuration subnodes: | ||
14 | - nvidia,enable-input: Integer. Enable the pin's input path. 0: no, 1: yes. | ||
15 | - nvidia,open-drain: Integer. Enable open drain mode. 0: no, 1: yes. | ||
16 | - nvidia,lock: Integer. Lock the pin configuration against further changes | ||
17 | until reset. 0: no, 1: yes. | ||
18 | - nvidia,io-reset: Integer. Reset the IO path. 0: no, 1: yes. | ||
19 | |||
20 | As with Tegra20, see the Tegra TRM for complete details regarding which groups | ||
21 | support which functionality. | ||
22 | |||
23 | Valid values for pin and group names are: | ||
24 | |||
25 | per-pin mux groups: | ||
26 | |||
27 | These all support nvidia,function, nvidia,tristate, nvidia,pull, | ||
28 | nvidia,enable-input, nvidia,lock. Some support nvidia,open-drain, | ||
29 | nvidia,io-reset. | ||
30 | |||
31 | clk_32k_out_pa0, uart3_cts_n_pa1, dap2_fs_pa2, dap2_sclk_pa3, | ||
32 | dap2_din_pa4, dap2_dout_pa5, sdmmc3_clk_pa6, sdmmc3_cmd_pa7, gmi_a17_pb0, | ||
33 | gmi_a18_pb1, lcd_pwr0_pb2, lcd_pclk_pb3, sdmmc3_dat3_pb4, sdmmc3_dat2_pb5, | ||
34 | sdmmc3_dat1_pb6, sdmmc3_dat0_pb7, uart3_rts_n_pc0, lcd_pwr1_pc1, | ||
35 | uart2_txd_pc2, uart2_rxd_pc3, gen1_i2c_scl_pc4, gen1_i2c_sda_pc5, | ||
36 | lcd_pwr2_pc6, gmi_wp_n_pc7, sdmmc3_dat5_pd0, sdmmc3_dat4_pd1, lcd_dc1_pd2, | ||
37 | sdmmc3_dat6_pd3, sdmmc3_dat7_pd4, vi_d1_pd5, vi_vsync_pd6, vi_hsync_pd7, | ||
38 | lcd_d0_pe0, lcd_d1_pe1, lcd_d2_pe2, lcd_d3_pe3, lcd_d4_pe4, lcd_d5_pe5, | ||
39 | lcd_d6_pe6, lcd_d7_pe7, lcd_d8_pf0, lcd_d9_pf1, lcd_d10_pf2, lcd_d11_pf3, | ||
40 | lcd_d12_pf4, lcd_d13_pf5, lcd_d14_pf6, lcd_d15_pf7, gmi_ad0_pg0, | ||
41 | gmi_ad1_pg1, gmi_ad2_pg2, gmi_ad3_pg3, gmi_ad4_pg4, gmi_ad5_pg5, | ||
42 | gmi_ad6_pg6, gmi_ad7_pg7, gmi_ad8_ph0, gmi_ad9_ph1, gmi_ad10_ph2, | ||
43 | gmi_ad11_ph3, gmi_ad12_ph4, gmi_ad13_ph5, gmi_ad14_ph6, gmi_ad15_ph7, | ||
44 | gmi_wr_n_pi0, gmi_oe_n_pi1, gmi_dqs_pi2, gmi_cs6_n_pi3, gmi_rst_n_pi4, | ||
45 | gmi_iordy_pi5, gmi_cs7_n_pi6, gmi_wait_pi7, gmi_cs0_n_pj0, lcd_de_pj1, | ||
46 | gmi_cs1_n_pj2, lcd_hsync_pj3, lcd_vsync_pj4, uart2_cts_n_pj5, | ||
47 | uart2_rts_n_pj6, gmi_a16_pj7, gmi_adv_n_pk0, gmi_clk_pk1, gmi_cs4_n_pk2, | ||
48 | gmi_cs2_n_pk3, gmi_cs3_n_pk4, spdif_out_pk5, spdif_in_pk6, gmi_a19_pk7, | ||
49 | vi_d2_pl0, vi_d3_pl1, vi_d4_pl2, vi_d5_pl3, vi_d6_pl4, vi_d7_pl5, | ||
50 | vi_d8_pl6, vi_d9_pl7, lcd_d16_pm0, lcd_d17_pm1, lcd_d18_pm2, lcd_d19_pm3, | ||
51 | lcd_d20_pm4, lcd_d21_pm5, lcd_d22_pm6, lcd_d23_pm7, dap1_fs_pn0, | ||
52 | dap1_din_pn1, dap1_dout_pn2, dap1_sclk_pn3, lcd_cs0_n_pn4, lcd_sdout_pn5, | ||
53 | lcd_dc0_pn6, hdmi_int_pn7, ulpi_data7_po0, ulpi_data0_po1, ulpi_data1_po2, | ||
54 | ulpi_data2_po3, ulpi_data3_po4, ulpi_data4_po5, ulpi_data5_po6, | ||
55 | ulpi_data6_po7, dap3_fs_pp0, dap3_din_pp1, dap3_dout_pp2, dap3_sclk_pp3, | ||
56 | dap4_fs_pp4, dap4_din_pp5, dap4_dout_pp6, dap4_sclk_pp7, kb_col0_pq0, | ||
57 | kb_col1_pq1, kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, | ||
58 | kb_col6_pq6, kb_col7_pq7, kb_row0_pr0, kb_row1_pr1, kb_row2_pr2, | ||
59 | kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, kb_row7_pr7, | ||
60 | kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_row11_ps3, kb_row12_ps4, | ||
61 | kb_row13_ps5, kb_row14_ps6, kb_row15_ps7, vi_pclk_pt0, vi_mclk_pt1, | ||
62 | vi_d10_pt2, vi_d11_pt3, vi_d0_pt4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, | ||
63 | sdmmc4_cmd_pt7, pu0, pu1, pu2, pu3, pu4, pu5, pu6, jtag_rtck_pu7, pv0, | ||
64 | pv1, pv2, pv3, ddc_scl_pv4, ddc_sda_pv5, crt_hsync_pv6, crt_vsync_pv7, | ||
65 | lcd_cs1_n_pw0, lcd_m1_pw1, spi2_cs1_n_pw2, spi2_cs2_n_pw3, clk1_out_pw4, | ||
66 | clk2_out_pw5, uart3_txd_pw6, uart3_rxd_pw7, spi2_mosi_px0, spi2_miso_px1, | ||
67 | spi2_sck_px2, spi2_cs0_n_px3, spi1_mosi_px4, spi1_sck_px5, spi1_cs0_n_px6, | ||
68 | spi1_miso_px7, ulpi_clk_py0, ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, | ||
69 | sdmmc1_dat3_py4, sdmmc1_dat2_py5, sdmmc1_dat1_py6, sdmmc1_dat0_py7, | ||
70 | sdmmc1_clk_pz0, sdmmc1_cmd_pz1, lcd_sdin_pz2, lcd_wr_n_pz3, lcd_sck_pz4, | ||
71 | sys_clk_req_pz5, pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, sdmmc4_dat0_paa0, | ||
72 | sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, | ||
73 | sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, sdmmc4_dat7_paa7, pbb0, | ||
74 | cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, pbb7, | ||
75 | cam_mclk_pcc0, pcc1, pcc2, sdmmc4_rst_n_pcc3, sdmmc4_clk_pcc4, | ||
76 | clk2_req_pcc5, pex_l2_rst_n_pcc6, pex_l2_clkreq_n_pcc7, | ||
77 | pex_l0_prsnt_n_pdd0, pex_l0_rst_n_pdd1, pex_l0_clkreq_n_pdd2, | ||
78 | pex_wake_n_pdd3, pex_l1_prsnt_n_pdd4, pex_l1_rst_n_pdd5, | ||
79 | pex_l1_clkreq_n_pdd6, pex_l2_prsnt_n_pdd7, clk3_out_pee0, clk3_req_pee1, | ||
80 | clk1_req_pee2, hdmi_cec_pee3, clk_32k_in, core_pwr_req, cpu_pwr_req, owr, | ||
81 | pwr_int_n. | ||
82 | |||
83 | drive groups: | ||
84 | |||
85 | These all support nvidia,pull-down-strength, nvidia,pull-up-strength, | ||
86 | nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all | ||
87 | support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode. | ||
88 | |||
89 | ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1, | ||
90 | dap2, dap3, dap4, dbg, ddc, dev3, gma, gmb, gmc, gmd, gme, gmf, gmg, | ||
91 | gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2, | ||
92 | uart3, uda, vi1. | ||
93 | |||
94 | Example: | ||
95 | |||
96 | pinctrl@70000000 { | ||
97 | compatible = "nvidia,tegra30-pinmux"; | ||
98 | reg = < 0x70000868 0xd0 /* Pad control registers */ | ||
99 | 0x70003000 0x3e0 >; /* Mux registers */ | ||
100 | }; | ||
101 | |||
102 | Example board file extract: | ||
103 | |||
104 | pinctrl@70000000 { | ||
105 | sdmmc4_default: pinmux { | ||
106 | sdmmc4_clk_pcc4 { | ||
107 | nvidia,pins = "sdmmc4_clk_pcc4", | ||
108 | "sdmmc4_rst_n_pcc3"; | ||
109 | nvidia,function = "sdmmc4"; | ||
110 | nvidia,pull = <0>; | ||
111 | nvidia,tristate = <0>; | ||
112 | }; | ||
113 | sdmmc4_dat0_paa0 { | ||
114 | nvidia,pins = "sdmmc4_dat0_paa0", | ||
115 | "sdmmc4_dat1_paa1", | ||
116 | "sdmmc4_dat2_paa2", | ||
117 | "sdmmc4_dat3_paa3", | ||
118 | "sdmmc4_dat4_paa4", | ||
119 | "sdmmc4_dat5_paa5", | ||
120 | "sdmmc4_dat6_paa6", | ||
121 | "sdmmc4_dat7_paa7"; | ||
122 | nvidia,function = "sdmmc4"; | ||
123 | nvidia,pull = <2>; | ||
124 | nvidia,tristate = <0>; | ||
125 | }; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | sdhci@78000400 { | ||
130 | pinctrl-names = "default"; | ||
131 | pinctrl-0 = <&sdmmc4_default>; | ||
132 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt new file mode 100644 index 000000000000..c95ea8278f87 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | |||
@@ -0,0 +1,128 @@ | |||
1 | == Introduction == | ||
2 | |||
3 | Hardware modules that control pin multiplexing or configuration parameters | ||
4 | such as pull-up/down, tri-state, drive-strength etc are designated as pin | ||
5 | controllers. Each pin controller must be represented as a node in device tree, | ||
6 | just like any other hardware module. | ||
7 | |||
8 | Hardware modules whose signals are affected by pin configuration are | ||
9 | designated client devices. Again, each client device must be represented as a | ||
10 | node in device tree, just like any other hardware module. | ||
11 | |||
12 | For a client device to operate correctly, certain pin controllers must | ||
13 | set up certain specific pin configurations. Some client devices need a | ||
14 | single static pin configuration, e.g. set up during initialization. Others | ||
15 | need to reconfigure pins at run-time, for example to tri-state pins when the | ||
16 | device is inactive. Hence, each client device can define a set of named | ||
17 | states. The number and names of those states is defined by the client device's | ||
18 | own binding. | ||
19 | |||
20 | The common pinctrl bindings defined in this file provide an infrastructure | ||
21 | for client device device tree nodes to map those state names to the pin | ||
22 | configuration used by those states. | ||
23 | |||
24 | Note that pin controllers themselves may also be client devices of themselves. | ||
25 | For example, a pin controller may set up its own "active" state when the | ||
26 | driver loads. This would allow representing a board's static pin configuration | ||
27 | in a single place, rather than splitting it across multiple client device | ||
28 | nodes. The decision to do this or not somewhat rests with the author of | ||
29 | individual board device tree files, and any requirements imposed by the | ||
30 | bindings for the individual client devices in use by that board, i.e. whether | ||
31 | they require certain specific named states for dynamic pin configuration. | ||
32 | |||
33 | == Pinctrl client devices == | ||
34 | |||
35 | For each client device individually, every pin state is assigned an integer | ||
36 | ID. These numbers start at 0, and are contiguous. For each state ID, a unique | ||
37 | property exists to define the pin configuration. Each state may also be | ||
38 | assigned a name. When names are used, another property exists to map from | ||
39 | those names to the integer IDs. | ||
40 | |||
41 | Each client device's own binding determines the set of states the must be | ||
42 | defined in its device tree node, and whether to define the set of state | ||
43 | IDs that must be provided, or whether to define the set of state names that | ||
44 | must be provided. | ||
45 | |||
46 | Required properties: | ||
47 | pinctrl-0: List of phandles, each pointing at a pin configuration | ||
48 | node. These referenced pin configuration nodes must be child | ||
49 | nodes of the pin controller that they configure. Multiple | ||
50 | entries may exist in this list so that multiple pin | ||
51 | controllers may be configured, or so that a state may be built | ||
52 | from multiple nodes for a single pin controller, each | ||
53 | contributing part of the overall configuration. See the next | ||
54 | section of this document for details of the format of these | ||
55 | pin configuration nodes. | ||
56 | |||
57 | In some cases, it may be useful to define a state, but for it | ||
58 | to be empty. This may be required when a common IP block is | ||
59 | used in an SoC either without a pin controller, or where the | ||
60 | pin controller does not affect the HW module in question. If | ||
61 | the binding for that IP block requires certain pin states to | ||
62 | exist, they must still be defined, but may be left empty. | ||
63 | |||
64 | Optional properties: | ||
65 | pinctrl-1: List of phandles, each pointing at a pin configuration | ||
66 | node within a pin controller. | ||
67 | ... | ||
68 | pinctrl-n: List of phandles, each pointing at a pin configuration | ||
69 | node within a pin controller. | ||
70 | pinctrl-names: The list of names to assign states. List entry 0 defines the | ||
71 | name for integer state ID 0, list entry 1 for state ID 1, and | ||
72 | so on. | ||
73 | |||
74 | For example: | ||
75 | |||
76 | /* For a client device requiring named states */ | ||
77 | device { | ||
78 | pinctrl-names = "active", "idle"; | ||
79 | pinctrl-0 = <&state_0_node_a>; | ||
80 | pinctrl-1 = <&state_1_node_a &state_1_node_b>; | ||
81 | }; | ||
82 | |||
83 | /* For the same device if using state IDs */ | ||
84 | device { | ||
85 | pinctrl-0 = <&state_0_node_a>; | ||
86 | pinctrl-1 = <&state_1_node_a &state_1_node_b>; | ||
87 | }; | ||
88 | |||
89 | /* | ||
90 | * For an IP block whose binding supports pin configuration, | ||
91 | * but in use on an SoC that doesn't have any pin control hardware | ||
92 | */ | ||
93 | device { | ||
94 | pinctrl-names = "active", "idle"; | ||
95 | pinctrl-0 = <>; | ||
96 | pinctrl-1 = <>; | ||
97 | }; | ||
98 | |||
99 | == Pin controller devices == | ||
100 | |||
101 | Pin controller devices should contain the pin configuration nodes that client | ||
102 | devices reference. | ||
103 | |||
104 | For example: | ||
105 | |||
106 | pincontroller { | ||
107 | ... /* Standard DT properties for the device itself elided */ | ||
108 | |||
109 | state_0_node_a { | ||
110 | ... | ||
111 | }; | ||
112 | state_1_node_a { | ||
113 | ... | ||
114 | }; | ||
115 | state_1_node_b { | ||
116 | ... | ||
117 | }; | ||
118 | } | ||
119 | |||
120 | The contents of each of those pin configuration child nodes is defined | ||
121 | entirely by the binding for the individual pin controller device. There | ||
122 | exists no common standard for this content. | ||
123 | |||
124 | The pin configuration nodes need not be direct children of the pin controller | ||
125 | device; they may be grandchildren, for example. Whether this is legal, and | ||
126 | whether there is any interaction between the child and intermediate parent | ||
127 | nodes, is again defined entirely by the binding for the individual pin | ||
128 | controller device. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt new file mode 100644 index 000000000000..3664d37e6799 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt | |||
@@ -0,0 +1,108 @@ | |||
1 | ST Microelectronics, SPEAr pinmux controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "st,spear300-pinmux" | ||
5 | : "st,spear310-pinmux" | ||
6 | : "st,spear320-pinmux" | ||
7 | - reg : Address range of the pinctrl registers | ||
8 | - st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others. | ||
9 | - Its values for SPEAr300: | ||
10 | - NAND_MODE : <0> | ||
11 | - NOR_MODE : <1> | ||
12 | - PHOTO_FRAME_MODE : <2> | ||
13 | - LEND_IP_PHONE_MODE : <3> | ||
14 | - HEND_IP_PHONE_MODE : <4> | ||
15 | - LEND_WIFI_PHONE_MODE : <5> | ||
16 | - HEND_WIFI_PHONE_MODE : <6> | ||
17 | - ATA_PABX_WI2S_MODE : <7> | ||
18 | - ATA_PABX_I2S_MODE : <8> | ||
19 | - CAML_LCDW_MODE : <9> | ||
20 | - CAMU_LCD_MODE : <10> | ||
21 | - CAMU_WLCD_MODE : <11> | ||
22 | - CAML_LCD_MODE : <12> | ||
23 | - Its values for SPEAr320: | ||
24 | - AUTO_NET_SMII_MODE : <0> | ||
25 | - AUTO_NET_MII_MODE : <1> | ||
26 | - AUTO_EXP_MODE : <2> | ||
27 | - SMALL_PRINTERS_MODE : <3> | ||
28 | - EXTENDED_MODE : <4> | ||
29 | |||
30 | Please refer to pinctrl-bindings.txt in this directory for details of the common | ||
31 | pinctrl bindings used by client devices. | ||
32 | |||
33 | SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each | ||
34 | of these subnodes represents muxing for a pin, a group, or a list of pins or | ||
35 | groups. | ||
36 | |||
37 | The name of each subnode is not important; all subnodes should be enumerated | ||
38 | and processed purely based on their content. | ||
39 | |||
40 | Required subnode-properties: | ||
41 | - st,pins : An array of strings. Each string contains the name of a pin or | ||
42 | group. | ||
43 | - st,function: A string containing the name of the function to mux to the pin or | ||
44 | group. See the SPEAr's TRM to determine which are valid for each pin or group. | ||
45 | |||
46 | Valid values for group and function names can be found from looking at the | ||
47 | group and function arrays in driver files: | ||
48 | drivers/pinctrl/spear/pinctrl-spear3*0.c | ||
49 | |||
50 | Valid values for group names are: | ||
51 | For All SPEAr3xx machines: | ||
52 | "firda_grp", "i2c0_grp", "ssp_cs_grp", "ssp0_grp", "mii0_grp", | ||
53 | "gpio0_pin0_grp", "gpio0_pin1_grp", "gpio0_pin2_grp", "gpio0_pin3_grp", | ||
54 | "gpio0_pin4_grp", "gpio0_pin5_grp", "uart0_ext_grp", "uart0_grp", | ||
55 | "timer_0_1_grp", timer_0_1_pins, "timer_2_3_grp" | ||
56 | |||
57 | For SPEAr300 machines: | ||
58 | "fsmc_2chips_grp", "fsmc_4chips_grp", "clcd_lcdmode_grp", | ||
59 | "clcd_pfmode_grp", "tdm_grp", "i2c_clk_grp_grp", "caml_grp", "camu_grp", | ||
60 | "dac_grp", "i2s_grp", "sdhci_4bit_grp", "sdhci_8bit_grp", | ||
61 | "gpio1_0_to_3_grp", "gpio1_4_to_7_grp" | ||
62 | |||
63 | For SPEAr310 machines: | ||
64 | "emi_cs_0_to_5_grp", "uart1_grp", "uart2_grp", "uart3_grp", "uart4_grp", | ||
65 | "uart5_grp", "fsmc_grp", "rs485_0_grp", "rs485_1_grp", "tdm_grp" | ||
66 | |||
67 | For SPEAr320 machines: | ||
68 | "clcd_grp", "emi_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "spp_grp", | ||
69 | "sdhci_led_grp", "sdhci_cd_12_grp", "sdhci_cd_51_grp", "i2s_grp", | ||
70 | "uart1_grp", "uart1_modem_2_to_7_grp", "uart1_modem_31_to_36_grp", | ||
71 | "uart1_modem_34_to_45_grp", "uart1_modem_80_to_85_grp", "uart2_grp", | ||
72 | "uart3_8_9_grp", "uart3_15_16_grp", "uart3_41_42_grp", | ||
73 | "uart3_52_53_grp", "uart3_73_74_grp", "uart3_94_95_grp", | ||
74 | "uart3_98_99_grp", "uart4_6_7_grp", "uart4_13_14_grp", | ||
75 | "uart4_39_40_grp", "uart4_71_72_grp", "uart4_92_93_grp", | ||
76 | "uart4_100_101_grp", "uart5_4_5_grp", "uart5_37_38_grp", | ||
77 | "uart5_69_70_grp", "uart5_90_91_grp", "uart6_2_3_grp", | ||
78 | "uart6_88_89_grp", "rs485_grp", "touchscreen_grp", "can0_grp", | ||
79 | "can1_grp", "pwm0_1_pin_8_9_grp", "pwm0_1_pin_14_15_grp", | ||
80 | "pwm0_1_pin_30_31_grp", "pwm0_1_pin_37_38_grp", "pwm0_1_pin_42_43_grp", | ||
81 | "pwm0_1_pin_59_60_grp", "pwm0_1_pin_88_89_grp", "pwm2_pin_7_grp", | ||
82 | "pwm2_pin_13_grp", "pwm2_pin_29_grp", "pwm2_pin_34_grp", | ||
83 | "pwm2_pin_41_grp", "pwm2_pin_58_grp", "pwm2_pin_87_grp", | ||
84 | "pwm3_pin_6_grp", "pwm3_pin_12_grp", "pwm3_pin_28_grp", | ||
85 | "pwm3_pin_40_grp", "pwm3_pin_57_grp", "pwm3_pin_86_grp", | ||
86 | "ssp1_17_20_grp", "ssp1_36_39_grp", "ssp1_48_51_grp", "ssp1_65_68_grp", | ||
87 | "ssp1_94_97_grp", "ssp2_13_16_grp", "ssp2_32_35_grp", "ssp2_44_47_grp", | ||
88 | "ssp2_61_64_grp", "ssp2_90_93_grp", "mii2_grp", "smii0_1_grp", | ||
89 | "rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp", | ||
90 | "i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp" | ||
91 | |||
92 | Valid values for function names are: | ||
93 | For All SPEAr3xx machines: | ||
94 | "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext", | ||
95 | "uart0", "timer_0_1", "timer_2_3" | ||
96 | |||
97 | For SPEAr300 machines: | ||
98 | "fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1" | ||
99 | |||
100 | For SPEAr310 machines: | ||
101 | "emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0", | ||
102 | "rs485_1", "tdm" | ||
103 | |||
104 | For SPEAr320 machines: | ||
105 | "clcd", "emi", "fsmc", "spp", "sdhci", "i2s", "uart1", "uart1_modem", | ||
106 | "uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen", | ||
107 | "can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2", | ||
108 | "mii0_1", "i2c1", "i2c2" | ||
diff --git a/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt b/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt deleted file mode 100644 index 36f82dbdd14d..000000000000 --- a/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | NVIDIA Tegra 2 pinmux controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-pinmux" | ||
5 | |||
diff --git a/Documentation/devicetree/bindings/regulator/fixed-regulator.txt b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt index 9cf57fd042d2..2f5b6b1ba15f 100644 --- a/Documentation/devicetree/bindings/regulator/fixed-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt | |||
@@ -8,6 +8,8 @@ Optional properties: | |||
8 | - startup-delay-us: startup time in microseconds | 8 | - startup-delay-us: startup time in microseconds |
9 | - enable-active-high: Polarity of GPIO is Active high | 9 | - enable-active-high: Polarity of GPIO is Active high |
10 | If this property is missing, the default assumed is Active low. | 10 | If this property is missing, the default assumed is Active low. |
11 | - gpio-open-drain: GPIO is open drain type. | ||
12 | If this property is missing then default assumption is false. | ||
11 | 13 | ||
12 | Any property defined as part of the core regulator | 14 | Any property defined as part of the core regulator |
13 | binding, defined in regulator.txt, can also be used. | 15 | binding, defined in regulator.txt, can also be used. |
@@ -25,5 +27,6 @@ Example: | |||
25 | gpio = <&gpio1 16 0>; | 27 | gpio = <&gpio1 16 0>; |
26 | startup-delay-us = <70000>; | 28 | startup-delay-us = <70000>; |
27 | enable-active-high; | 29 | enable-active-high; |
28 | regulator-boot-on | 30 | regulator-boot-on; |
31 | gpio-open-drain; | ||
29 | }; | 32 | }; |
diff --git a/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt b/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt new file mode 100644 index 000000000000..c8ca6b8f6582 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt | |||
@@ -0,0 +1,44 @@ | |||
1 | TPS62360 Voltage regulators | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be one of the following. | ||
5 | "ti,tps62360" | ||
6 | "ti,tps62361", | ||
7 | "ti,tps62362", | ||
8 | "ti,tps62363", | ||
9 | - reg: I2C slave address | ||
10 | |||
11 | Optional properties: | ||
12 | - ti,enable-vout-discharge: Enable output discharge. This is boolean value. | ||
13 | - ti,enable-pull-down: Enable pull down. This is boolean value. | ||
14 | - ti,vsel0-gpio: GPIO for controlling VSEL0 line. | ||
15 | If this property is missing, then assume that there is no GPIO | ||
16 | for vsel0 control. | ||
17 | - ti,vsel1-gpio: Gpio for controlling VSEL1 line. | ||
18 | If this property is missing, then assume that there is no GPIO | ||
19 | for vsel1 control. | ||
20 | - ti,vsel0-state-high: Inital state of vsel0 input is high. | ||
21 | If this property is missing, then assume the state as low (0). | ||
22 | - ti,vsel1-state-high: Inital state of vsel1 input is high. | ||
23 | If this property is missing, then assume the state as low (0). | ||
24 | |||
25 | Any property defined as part of the core regulator binding, defined in | ||
26 | regulator.txt, can also be used. | ||
27 | |||
28 | Example: | ||
29 | |||
30 | abc: tps62360 { | ||
31 | compatible = "ti,tps62361"; | ||
32 | reg = <0x60>; | ||
33 | regulator-name = "tps62361-vout"; | ||
34 | regulator-min-microvolt = <500000>; | ||
35 | regulator-max-microvolt = <1500000>; | ||
36 | regulator-boot-on | ||
37 | ti,vsel0-gpio = <&gpio1 16 0>; | ||
38 | ti,vsel1-gpio = <&gpio1 17 0>; | ||
39 | ti,vsel0-state-high; | ||
40 | ti,vsel1-state-high; | ||
41 | ti,enable-pull-down; | ||
42 | ti,enable-force-pwm; | ||
43 | ti,enable-vout-discharge; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt new file mode 100644 index 000000000000..0fcabaa3baa3 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/tps6586x.txt | |||
@@ -0,0 +1,97 @@ | |||
1 | TPS6586x family of regulators | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "ti,tps6586x" | ||
5 | - reg: I2C slave address | ||
6 | - interrupts: the interrupt outputs of the controller | ||
7 | - #gpio-cells: number of cells to describe a GPIO | ||
8 | - gpio-controller: mark the device as a GPIO controller | ||
9 | - regulators: list of regulators provided by this controller, must be named | ||
10 | after their hardware counterparts: sm[0-2], ldo[0-9] and ldo_rtc | ||
11 | |||
12 | Each regulator is defined using the standard binding for regulators. | ||
13 | |||
14 | Example: | ||
15 | |||
16 | pmu: tps6586x@34 { | ||
17 | compatible = "ti,tps6586x"; | ||
18 | reg = <0x34>; | ||
19 | interrupts = <0 88 0x4>; | ||
20 | |||
21 | #gpio-cells = <2>; | ||
22 | gpio-controller; | ||
23 | |||
24 | regulators { | ||
25 | sm0_reg: sm0 { | ||
26 | regulator-min-microvolt = < 725000>; | ||
27 | regulator-max-microvolt = <1500000>; | ||
28 | regulator-boot-on; | ||
29 | regulator-always-on; | ||
30 | }; | ||
31 | |||
32 | sm1_reg: sm1 { | ||
33 | regulator-min-microvolt = < 725000>; | ||
34 | regulator-max-microvolt = <1500000>; | ||
35 | regulator-boot-on; | ||
36 | regulator-always-on; | ||
37 | }; | ||
38 | |||
39 | sm2_reg: sm2 { | ||
40 | regulator-min-microvolt = <3000000>; | ||
41 | regulator-max-microvolt = <4550000>; | ||
42 | regulator-boot-on; | ||
43 | regulator-always-on; | ||
44 | }; | ||
45 | |||
46 | ldo0_reg: ldo0 { | ||
47 | regulator-name = "PCIE CLK"; | ||
48 | regulator-min-microvolt = <3300000>; | ||
49 | regulator-max-microvolt = <3300000>; | ||
50 | }; | ||
51 | |||
52 | ldo1_reg: ldo1 { | ||
53 | regulator-min-microvolt = < 725000>; | ||
54 | regulator-max-microvolt = <1500000>; | ||
55 | }; | ||
56 | |||
57 | ldo2_reg: ldo2 { | ||
58 | regulator-min-microvolt = < 725000>; | ||
59 | regulator-max-microvolt = <1500000>; | ||
60 | }; | ||
61 | |||
62 | ldo3_reg: ldo3 { | ||
63 | regulator-min-microvolt = <1250000>; | ||
64 | regulator-max-microvolt = <3300000>; | ||
65 | }; | ||
66 | |||
67 | ldo4_reg: ldo4 { | ||
68 | regulator-min-microvolt = <1700000>; | ||
69 | regulator-max-microvolt = <2475000>; | ||
70 | }; | ||
71 | |||
72 | ldo5_reg: ldo5 { | ||
73 | regulator-min-microvolt = <1250000>; | ||
74 | regulator-max-microvolt = <3300000>; | ||
75 | }; | ||
76 | |||
77 | ldo6_reg: ldo6 { | ||
78 | regulator-min-microvolt = <1250000>; | ||
79 | regulator-max-microvolt = <3300000>; | ||
80 | }; | ||
81 | |||
82 | ldo7_reg: ldo7 { | ||
83 | regulator-min-microvolt = <1250000>; | ||
84 | regulator-max-microvolt = <3300000>; | ||
85 | }; | ||
86 | |||
87 | ldo8_reg: ldo8 { | ||
88 | regulator-min-microvolt = <1250000>; | ||
89 | regulator-max-microvolt = <3300000>; | ||
90 | }; | ||
91 | |||
92 | ldo9_reg: ldo9 { | ||
93 | regulator-min-microvolt = <1250000>; | ||
94 | regulator-max-microvolt = <3300000>; | ||
95 | }; | ||
96 | }; | ||
97 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/sgtl5000.txt b/Documentation/devicetree/bindings/sound/sgtl5000.txt index 2c3cd413f042..9cc44449508d 100644 --- a/Documentation/devicetree/bindings/sound/sgtl5000.txt +++ b/Documentation/devicetree/bindings/sound/sgtl5000.txt | |||
@@ -3,6 +3,8 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "fsl,sgtl5000". | 4 | - compatible : "fsl,sgtl5000". |
5 | 5 | ||
6 | - reg : the I2C address of the device | ||
7 | |||
6 | Example: | 8 | Example: |
7 | 9 | ||
8 | codec: sgtl5000@0a { | 10 | codec: sgtl5000@0a { |
diff --git a/Documentation/devicetree/bindings/usb/isp1301.txt b/Documentation/devicetree/bindings/usb/isp1301.txt new file mode 100644 index 000000000000..5405d99d9aaa --- /dev/null +++ b/Documentation/devicetree/bindings/usb/isp1301.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * NXP ISP1301 USB transceiver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "nxp,isp1301" | ||
5 | - reg: I2C address of the ISP1301 device | ||
6 | |||
7 | Optional properties of devices using ISP1301: | ||
8 | - transceiver: phandle of isp1301 - this helps the ISP1301 driver to find the | ||
9 | ISP1301 instance associated with the respective USB driver | ||
10 | |||
11 | Example: | ||
12 | |||
13 | isp1301: usb-transceiver@2c { | ||
14 | compatible = "nxp,isp1301"; | ||
15 | reg = <0x2c>; | ||
16 | }; | ||
17 | |||
18 | usbd@31020000 { | ||
19 | compatible = "nxp,lpc3220-udc"; | ||
20 | reg = <0x31020000 0x300>; | ||
21 | interrupt-parent = <&mic>; | ||
22 | interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>; | ||
23 | transceiver = <&isp1301>; | ||
24 | status = "okay"; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt b/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt new file mode 100644 index 000000000000..29f12a533f66 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | * NXP LPC32xx SoC USB Device Controller (UDC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be "nxp,lpc3220-udc" | ||
5 | - reg: Physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: The USB interrupts: | ||
8 | * USB Device Low Priority Interrupt | ||
9 | * USB Device High Priority Interrupt | ||
10 | * USB Device DMA Interrupt | ||
11 | * External USB Transceiver Interrupt (OTG ATX) | ||
12 | - transceiver: phandle of the associated ISP1301 device - this is necessary for | ||
13 | the UDC controller for connecting to the USB physical layer | ||
14 | |||
15 | Example: | ||
16 | |||
17 | isp1301: usb-transceiver@2c { | ||
18 | compatible = "nxp,isp1301"; | ||
19 | reg = <0x2c>; | ||
20 | }; | ||
21 | |||
22 | usbd@31020000 { | ||
23 | compatible = "nxp,lpc3220-udc"; | ||
24 | reg = <0x31020000 0x300>; | ||
25 | interrupt-parent = <&mic>; | ||
26 | interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>; | ||
27 | transceiver = <&isp1301>; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/ohci-nxp.txt b/Documentation/devicetree/bindings/usb/ohci-nxp.txt new file mode 100644 index 000000000000..71e28c1017ed --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ohci-nxp.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | * OHCI controller, NXP ohci-nxp variant | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "nxp,ohci-nxp" | ||
5 | - reg: physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: The OHCI interrupt | ||
8 | - transceiver: phandle of the associated ISP1301 device - this is necessary for | ||
9 | the UDC controller for connecting to the USB physical layer | ||
10 | |||
11 | Example (LPC32xx): | ||
12 | |||
13 | isp1301: usb-transceiver@2c { | ||
14 | compatible = "nxp,isp1301"; | ||
15 | reg = <0x2c>; | ||
16 | }; | ||
17 | |||
18 | ohci@31020000 { | ||
19 | compatible = "nxp,ohci-nxp"; | ||
20 | reg = <0x31020000 0x300>; | ||
21 | interrupt-parent = <&mic>; | ||
22 | interrupts = <0x3b 0>; | ||
23 | transceiver = <&isp1301>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/spear-usb.txt b/Documentation/devicetree/bindings/usb/spear-usb.txt new file mode 100644 index 000000000000..f8a464a25653 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/spear-usb.txt | |||
@@ -0,0 +1,39 @@ | |||
1 | ST SPEAr SoC USB controllers: | ||
2 | ----------------------------- | ||
3 | |||
4 | EHCI: | ||
5 | ----- | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: "st,spear600-ehci" | ||
9 | - interrupt-parent: Should be the phandle for the interrupt controller | ||
10 | that services interrupts for this device | ||
11 | - interrupts: Should contain the EHCI interrupt | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ehci@e1800000 { | ||
16 | compatible = "st,spear600-ehci", "usb-ehci"; | ||
17 | reg = <0xe1800000 0x1000>; | ||
18 | interrupt-parent = <&vic1>; | ||
19 | interrupts = <27>; | ||
20 | }; | ||
21 | |||
22 | |||
23 | OHCI: | ||
24 | ----- | ||
25 | |||
26 | Required properties: | ||
27 | - compatible: "st,spear600-ohci" | ||
28 | - interrupt-parent: Should be the phandle for the interrupt controller | ||
29 | that services interrupts for this device | ||
30 | - interrupts: Should contain the OHCI interrupt | ||
31 | |||
32 | Example: | ||
33 | |||
34 | ohci@e1900000 { | ||
35 | compatible = "st,spear600-ohci", "usb-ohci"; | ||
36 | reg = <0xe1800000 0x1000>; | ||
37 | interrupt-parent = <&vic1>; | ||
38 | interrupts = <26>; | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 82ac057a24a9..107d8addf0e4 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -8,6 +8,7 @@ amcc Applied Micro Circuits Corporation (APM, formally AMCC) | |||
8 | apm Applied Micro Circuits Corporation (APM) | 8 | apm Applied Micro Circuits Corporation (APM) |
9 | arm ARM Ltd. | 9 | arm ARM Ltd. |
10 | atmel Atmel Corporation | 10 | atmel Atmel Corporation |
11 | bosch Bosch Sensortec GmbH | ||
11 | cavium Cavium, Inc. | 12 | cavium Cavium, Inc. |
12 | chrp Common Hardware Reference Platform | 13 | chrp Common Hardware Reference Platform |
13 | cortina Cortina Systems, Inc. | 14 | cortina Cortina Systems, Inc. |
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt index 2a596a4fc23e..950856bd2e39 100644 --- a/Documentation/driver-model/devres.txt +++ b/Documentation/driver-model/devres.txt | |||
@@ -276,3 +276,11 @@ REGULATOR | |||
276 | devm_regulator_get() | 276 | devm_regulator_get() |
277 | devm_regulator_put() | 277 | devm_regulator_put() |
278 | devm_regulator_bulk_get() | 278 | devm_regulator_bulk_get() |
279 | |||
280 | CLOCK | ||
281 | devm_clk_get() | ||
282 | devm_clk_put() | ||
283 | |||
284 | PINCTRL | ||
285 | devm_pinctrl_get() | ||
286 | devm_pinctrl_put() | ||
diff --git a/Documentation/dynamic-debug-howto.txt b/Documentation/dynamic-debug-howto.txt index 74e6c7782678..6e1684981da2 100644 --- a/Documentation/dynamic-debug-howto.txt +++ b/Documentation/dynamic-debug-howto.txt | |||
@@ -2,17 +2,17 @@ | |||
2 | Introduction | 2 | Introduction |
3 | ============ | 3 | ============ |
4 | 4 | ||
5 | This document describes how to use the dynamic debug (ddebug) feature. | 5 | This document describes how to use the dynamic debug (dyndbg) feature. |
6 | 6 | ||
7 | Dynamic debug is designed to allow you to dynamically enable/disable kernel | 7 | Dynamic debug is designed to allow you to dynamically enable/disable |
8 | code to obtain additional kernel information. Currently, if | 8 | kernel code to obtain additional kernel information. Currently, if |
9 | CONFIG_DYNAMIC_DEBUG is set, then all pr_debug()/dev_dbg() calls can be | 9 | CONFIG_DYNAMIC_DEBUG is set, then all pr_debug()/dev_dbg() calls can |
10 | dynamically enabled per-callsite. | 10 | be dynamically enabled per-callsite. |
11 | 11 | ||
12 | Dynamic debug has even more useful features: | 12 | Dynamic debug has even more useful features: |
13 | 13 | ||
14 | * Simple query language allows turning on and off debugging statements by | 14 | * Simple query language allows turning on and off debugging |
15 | matching any combination of 0 or 1 of: | 15 | statements by matching any combination of 0 or 1 of: |
16 | 16 | ||
17 | - source filename | 17 | - source filename |
18 | - function name | 18 | - function name |
@@ -20,17 +20,19 @@ Dynamic debug has even more useful features: | |||
20 | - module name | 20 | - module name |
21 | - format string | 21 | - format string |
22 | 22 | ||
23 | * Provides a debugfs control file: <debugfs>/dynamic_debug/control which can be | 23 | * Provides a debugfs control file: <debugfs>/dynamic_debug/control |
24 | read to display the complete list of known debug statements, to help guide you | 24 | which can be read to display the complete list of known debug |
25 | statements, to help guide you | ||
25 | 26 | ||
26 | Controlling dynamic debug Behaviour | 27 | Controlling dynamic debug Behaviour |
27 | =================================== | 28 | =================================== |
28 | 29 | ||
29 | The behaviour of pr_debug()/dev_dbg()s are controlled via writing to a | 30 | The behaviour of pr_debug()/dev_dbg()s are controlled via writing to a |
30 | control file in the 'debugfs' filesystem. Thus, you must first mount the debugfs | 31 | control file in the 'debugfs' filesystem. Thus, you must first mount |
31 | filesystem, in order to make use of this feature. Subsequently, we refer to the | 32 | the debugfs filesystem, in order to make use of this feature. |
32 | control file as: <debugfs>/dynamic_debug/control. For example, if you want to | 33 | Subsequently, we refer to the control file as: |
33 | enable printing from source file 'svcsock.c', line 1603 you simply do: | 34 | <debugfs>/dynamic_debug/control. For example, if you want to enable |
35 | printing from source file 'svcsock.c', line 1603 you simply do: | ||
34 | 36 | ||
35 | nullarbor:~ # echo 'file svcsock.c line 1603 +p' > | 37 | nullarbor:~ # echo 'file svcsock.c line 1603 +p' > |
36 | <debugfs>/dynamic_debug/control | 38 | <debugfs>/dynamic_debug/control |
@@ -44,15 +46,15 @@ nullarbor:~ # echo 'file svcsock.c wtf 1 +p' > | |||
44 | Viewing Dynamic Debug Behaviour | 46 | Viewing Dynamic Debug Behaviour |
45 | =========================== | 47 | =========================== |
46 | 48 | ||
47 | You can view the currently configured behaviour of all the debug statements | 49 | You can view the currently configured behaviour of all the debug |
48 | via: | 50 | statements via: |
49 | 51 | ||
50 | nullarbor:~ # cat <debugfs>/dynamic_debug/control | 52 | nullarbor:~ # cat <debugfs>/dynamic_debug/control |
51 | # filename:lineno [module]function flags format | 53 | # filename:lineno [module]function flags format |
52 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:323 [svcxprt_rdma]svc_rdma_cleanup - "SVCRDMA Module Removed, deregister RPC RDMA transport\012" | 54 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:323 [svcxprt_rdma]svc_rdma_cleanup =_ "SVCRDMA Module Removed, deregister RPC RDMA transport\012" |
53 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:341 [svcxprt_rdma]svc_rdma_init - "\011max_inline : %d\012" | 55 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:341 [svcxprt_rdma]svc_rdma_init =_ "\011max_inline : %d\012" |
54 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:340 [svcxprt_rdma]svc_rdma_init - "\011sq_depth : %d\012" | 56 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:340 [svcxprt_rdma]svc_rdma_init =_ "\011sq_depth : %d\012" |
55 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:338 [svcxprt_rdma]svc_rdma_init - "\011max_requests : %d\012" | 57 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svc_rdma.c:338 [svcxprt_rdma]svc_rdma_init =_ "\011max_requests : %d\012" |
56 | ... | 58 | ... |
57 | 59 | ||
58 | 60 | ||
@@ -65,12 +67,12 @@ nullarbor:~ # grep -i rdma <debugfs>/dynamic_debug/control | wc -l | |||
65 | nullarbor:~ # grep -i tcp <debugfs>/dynamic_debug/control | wc -l | 67 | nullarbor:~ # grep -i tcp <debugfs>/dynamic_debug/control | wc -l |
66 | 42 | 68 | 42 |
67 | 69 | ||
68 | Note in particular that the third column shows the enabled behaviour | 70 | The third column shows the currently enabled flags for each debug |
69 | flags for each debug statement callsite (see below for definitions of the | 71 | statement callsite (see below for definitions of the flags). The |
70 | flags). The default value, no extra behaviour enabled, is "-". So | 72 | default value, with no flags enabled, is "=_". So you can view all |
71 | you can view all the debug statement callsites with any non-default flags: | 73 | the debug statement callsites with any non-default flags: |
72 | 74 | ||
73 | nullarbor:~ # awk '$3 != "-"' <debugfs>/dynamic_debug/control | 75 | nullarbor:~ # awk '$3 != "=_"' <debugfs>/dynamic_debug/control |
74 | # filename:lineno [module]function flags format | 76 | # filename:lineno [module]function flags format |
75 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svcsock.c:1603 [sunrpc]svc_send p "svc_process: st_sendto returned %d\012" | 77 | /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svcsock.c:1603 [sunrpc]svc_send p "svc_process: st_sendto returned %d\012" |
76 | 78 | ||
@@ -103,15 +105,14 @@ specifications, followed by a flags change specification. | |||
103 | 105 | ||
104 | command ::= match-spec* flags-spec | 106 | command ::= match-spec* flags-spec |
105 | 107 | ||
106 | The match-spec's are used to choose a subset of the known dprintk() | 108 | The match-spec's are used to choose a subset of the known pr_debug() |
107 | callsites to which to apply the flags-spec. Think of them as a query | 109 | callsites to which to apply the flags-spec. Think of them as a query |
108 | with implicit ANDs between each pair. Note that an empty list of | 110 | with implicit ANDs between each pair. Note that an empty list of |
109 | match-specs is possible, but is not very useful because it will not | 111 | match-specs will select all debug statement callsites. |
110 | match any debug statement callsites. | ||
111 | 112 | ||
112 | A match specification comprises a keyword, which controls the attribute | 113 | A match specification comprises a keyword, which controls the |
113 | of the callsite to be compared, and a value to compare against. Possible | 114 | attribute of the callsite to be compared, and a value to compare |
114 | keywords are: | 115 | against. Possible keywords are: |
115 | 116 | ||
116 | match-spec ::= 'func' string | | 117 | match-spec ::= 'func' string | |
117 | 'file' string | | 118 | 'file' string | |
@@ -164,15 +165,15 @@ format | |||
164 | characters (") or single quote characters ('). | 165 | characters (") or single quote characters ('). |
165 | Examples: | 166 | Examples: |
166 | 167 | ||
167 | format svcrdma: // many of the NFS/RDMA server dprintks | 168 | format svcrdma: // many of the NFS/RDMA server pr_debugs |
168 | format readahead // some dprintks in the readahead cache | 169 | format readahead // some pr_debugs in the readahead cache |
169 | format nfsd:\040SETATTR // one way to match a format with whitespace | 170 | format nfsd:\040SETATTR // one way to match a format with whitespace |
170 | format "nfsd: SETATTR" // a neater way to match a format with whitespace | 171 | format "nfsd: SETATTR" // a neater way to match a format with whitespace |
171 | format 'nfsd: SETATTR' // yet another way to match a format with whitespace | 172 | format 'nfsd: SETATTR' // yet another way to match a format with whitespace |
172 | 173 | ||
173 | line | 174 | line |
174 | The given line number or range of line numbers is compared | 175 | The given line number or range of line numbers is compared |
175 | against the line number of each dprintk() callsite. A single | 176 | against the line number of each pr_debug() callsite. A single |
176 | line number matches the callsite line number exactly. A | 177 | line number matches the callsite line number exactly. A |
177 | range of line numbers matches any callsite between the first | 178 | range of line numbers matches any callsite between the first |
178 | and last line number inclusive. An empty first number means | 179 | and last line number inclusive. An empty first number means |
@@ -188,51 +189,93 @@ The flags specification comprises a change operation followed | |||
188 | by one or more flag characters. The change operation is one | 189 | by one or more flag characters. The change operation is one |
189 | of the characters: | 190 | of the characters: |
190 | 191 | ||
191 | - | 192 | - remove the given flags |
192 | remove the given flags | 193 | + add the given flags |
193 | 194 | = set the flags to the given flags | |
194 | + | ||
195 | add the given flags | ||
196 | |||
197 | = | ||
198 | set the flags to the given flags | ||
199 | 195 | ||
200 | The flags are: | 196 | The flags are: |
201 | 197 | ||
202 | f | 198 | p enables the pr_debug() callsite. |
203 | Include the function name in the printed message | 199 | f Include the function name in the printed message |
204 | l | 200 | l Include line number in the printed message |
205 | Include line number in the printed message | 201 | m Include module name in the printed message |
206 | m | 202 | t Include thread ID in messages not generated from interrupt context |
207 | Include module name in the printed message | 203 | _ No flags are set. (Or'd with others on input) |
208 | p | 204 | |
209 | Causes a printk() message to be emitted to dmesg | 205 | For display, the flags are preceded by '=' |
210 | t | 206 | (mnemonic: what the flags are currently equal to). |
211 | Include thread ID in messages not generated from interrupt context | ||
212 | 207 | ||
213 | Note the regexp ^[-+=][flmpt]+$ matches a flags specification. | 208 | Note the regexp ^[-+=][flmpt_]+$ matches a flags specification. |
214 | Note also that there is no convenient syntax to remove all | 209 | To clear all flags at once, use "=_" or "-flmpt". |
215 | the flags at once, you need to use "-flmpt". | ||
216 | 210 | ||
217 | 211 | ||
218 | Debug messages during boot process | 212 | Debug messages during Boot Process |
219 | ================================== | 213 | ================================== |
220 | 214 | ||
221 | To be able to activate debug messages during the boot process, | 215 | To activate debug messages for core code and built-in modules during |
222 | even before userspace and debugfs exists, use the boot parameter: | 216 | the boot process, even before userspace and debugfs exists, use |
223 | ddebug_query="QUERY" | 217 | dyndbg="QUERY", module.dyndbg="QUERY", or ddebug_query="QUERY" |
218 | (ddebug_query is obsoleted by dyndbg, and deprecated). QUERY follows | ||
219 | the syntax described above, but must not exceed 1023 characters. Your | ||
220 | bootloader may impose lower limits. | ||
221 | |||
222 | These dyndbg params are processed just after the ddebug tables are | ||
223 | processed, as part of the arch_initcall. Thus you can enable debug | ||
224 | messages in all code run after this arch_initcall via this boot | ||
225 | parameter. | ||
224 | 226 | ||
225 | QUERY follows the syntax described above, but must not exceed 1023 | ||
226 | characters. The enablement of debug messages is done as an arch_initcall. | ||
227 | Thus you can enable debug messages in all code processed after this | ||
228 | arch_initcall via this boot parameter. | ||
229 | On an x86 system for example ACPI enablement is a subsys_initcall and | 227 | On an x86 system for example ACPI enablement is a subsys_initcall and |
230 | ddebug_query="file ec.c +p" | 228 | dyndbg="file ec.c +p" |
231 | will show early Embedded Controller transactions during ACPI setup if | 229 | will show early Embedded Controller transactions during ACPI setup if |
232 | your machine (typically a laptop) has an Embedded Controller. | 230 | your machine (typically a laptop) has an Embedded Controller. |
233 | PCI (or other devices) initialization also is a hot candidate for using | 231 | PCI (or other devices) initialization also is a hot candidate for using |
234 | this boot parameter for debugging purposes. | 232 | this boot parameter for debugging purposes. |
235 | 233 | ||
234 | If foo module is not built-in, foo.dyndbg will still be processed at | ||
235 | boot time, without effect, but will be reprocessed when module is | ||
236 | loaded later. dyndbg_query= and bare dyndbg= are only processed at | ||
237 | boot. | ||
238 | |||
239 | |||
240 | Debug Messages at Module Initialization Time | ||
241 | ============================================ | ||
242 | |||
243 | When "modprobe foo" is called, modprobe scans /proc/cmdline for | ||
244 | foo.params, strips "foo.", and passes them to the kernel along with | ||
245 | params given in modprobe args or /etc/modprob.d/*.conf files, | ||
246 | in the following order: | ||
247 | |||
248 | 1. # parameters given via /etc/modprobe.d/*.conf | ||
249 | options foo dyndbg=+pt | ||
250 | options foo dyndbg # defaults to +p | ||
251 | |||
252 | 2. # foo.dyndbg as given in boot args, "foo." is stripped and passed | ||
253 | foo.dyndbg=" func bar +p; func buz +mp" | ||
254 | |||
255 | 3. # args to modprobe | ||
256 | modprobe foo dyndbg==pmf # override previous settings | ||
257 | |||
258 | These dyndbg queries are applied in order, with last having final say. | ||
259 | This allows boot args to override or modify those from /etc/modprobe.d | ||
260 | (sensible, since 1 is system wide, 2 is kernel or boot specific), and | ||
261 | modprobe args to override both. | ||
262 | |||
263 | In the foo.dyndbg="QUERY" form, the query must exclude "module foo". | ||
264 | "foo" is extracted from the param-name, and applied to each query in | ||
265 | "QUERY", and only 1 match-spec of each type is allowed. | ||
266 | |||
267 | The dyndbg option is a "fake" module parameter, which means: | ||
268 | |||
269 | - modules do not need to define it explicitly | ||
270 | - every module gets it tacitly, whether they use pr_debug or not | ||
271 | - it doesnt appear in /sys/module/$module/parameters/ | ||
272 | To see it, grep the control file, or inspect /proc/cmdline. | ||
273 | |||
274 | For CONFIG_DYNAMIC_DEBUG kernels, any settings given at boot-time (or | ||
275 | enabled by -DDEBUG flag during compilation) can be disabled later via | ||
276 | the sysfs interface if the debug messages are no longer needed: | ||
277 | |||
278 | echo "module module_name -p" > <debugfs>/dynamic_debug/control | ||
236 | 279 | ||
237 | Examples | 280 | Examples |
238 | ======== | 281 | ======== |
@@ -260,3 +303,18 @@ nullarbor:~ # echo -n 'func svc_process -p' > | |||
260 | // enable messages for NFS calls READ, READLINK, READDIR and READDIR+. | 303 | // enable messages for NFS calls READ, READLINK, READDIR and READDIR+. |
261 | nullarbor:~ # echo -n 'format "nfsd: READ" +p' > | 304 | nullarbor:~ # echo -n 'format "nfsd: READ" +p' > |
262 | <debugfs>/dynamic_debug/control | 305 | <debugfs>/dynamic_debug/control |
306 | |||
307 | // enable all messages | ||
308 | nullarbor:~ # echo -n '+p' > <debugfs>/dynamic_debug/control | ||
309 | |||
310 | // add module, function to all enabled messages | ||
311 | nullarbor:~ # echo -n '+mf' > <debugfs>/dynamic_debug/control | ||
312 | |||
313 | // boot-args example, with newlines and comments for readability | ||
314 | Kernel command line: ... | ||
315 | // see whats going on in dyndbg=value processing | ||
316 | dynamic_debug.verbose=1 | ||
317 | // enable pr_debugs in 2 builtins, #cmt is stripped | ||
318 | dyndbg="module params +p #cmt ; module sys +p" | ||
319 | // enable pr_debugs in 2 functions in a module loaded later | ||
320 | pc87360.dyndbg="func pc87360_init_device +p; func pc87360_find +p" | ||
diff --git a/Documentation/extcon/porting-android-switch-class b/Documentation/extcon/porting-android-switch-class new file mode 100644 index 000000000000..eb0fa5f4fe88 --- /dev/null +++ b/Documentation/extcon/porting-android-switch-class | |||
@@ -0,0 +1,124 @@ | |||
1 | |||
2 | Staging/Android Switch Class Porting Guide | ||
3 | (linux/drivers/staging/android/switch) | ||
4 | (c) Copyright 2012 Samsung Electronics | ||
5 | |||
6 | AUTHORS | ||
7 | MyungJoo Ham <myungjoo.ham@samsung.com> | ||
8 | |||
9 | /***************************************************************** | ||
10 | * CHAPTER 1. * | ||
11 | * PORTING SWITCH CLASS DEVICE DRIVERS * | ||
12 | *****************************************************************/ | ||
13 | |||
14 | ****** STEP 1. Basic Functionality | ||
15 | No extcon extended feature, but switch features only. | ||
16 | |||
17 | - struct switch_dev (fed to switch_dev_register/unregister) | ||
18 | @name: no change | ||
19 | @dev: no change | ||
20 | @index: drop (not used in switch device driver side anyway) | ||
21 | @state: no change | ||
22 | If you have used @state with magic numbers, keep it | ||
23 | at this step. | ||
24 | @print_name: no change but type change (switch_dev->extcon_dev) | ||
25 | @print_state: no change but type change (switch_dev->extcon_dev) | ||
26 | |||
27 | - switch_dev_register(sdev, dev) | ||
28 | => extcon_dev_register(edev, dev) | ||
29 | : no change but type change (sdev->edev) | ||
30 | - switch_dev_unregister(sdev) | ||
31 | => extcon_dev_unregister(edev) | ||
32 | : no change but type change (sdev->edev) | ||
33 | - switch_get_state(sdev) | ||
34 | => extcon_get_state(edev) | ||
35 | : no change but type change (sdev->edev) and (return: int->u32) | ||
36 | - switch_set_state(sdev, state) | ||
37 | => extcon_set_state(edev, state) | ||
38 | : no change but type change (sdev->edev) and (state: int->u32) | ||
39 | |||
40 | With this changes, the ex-switch extcon class device works as it once | ||
41 | worked as switch class device. However, it will now have additional | ||
42 | interfaces (both ABI and in-kernel API) and different ABI locations. | ||
43 | However, if CONFIG_ANDROID is enabled without CONFIG_ANDROID_SWITCH, | ||
44 | /sys/class/switch/* will be symbolically linked to /sys/class/extcon/ | ||
45 | so that they are still compatible with legacy userspace processes. | ||
46 | |||
47 | ****** STEP 2. Multistate (no more magic numbers in state value) | ||
48 | Extcon's extended features for switch device drivers with | ||
49 | complex features usually required magic numbers in state | ||
50 | value of switch_dev. With extcon, such magic numbers that | ||
51 | support multiple cables ( | ||
52 | |||
53 | 1. Define cable names at edev->supported_cable. | ||
54 | 2. (Recommended) remove print_state callback. | ||
55 | 3. Use extcon_get_cable_state_(edev, index) or | ||
56 | extcon_get_cable_state(edev, cable_name) instead of | ||
57 | extcon_get_state(edev) if you intend to get a state of a specific | ||
58 | cable. Same for set_state. This way, you can remove the usage of | ||
59 | magic numbers in state value. | ||
60 | 4. Use extcon_update_state() if you are updating specific bits of | ||
61 | the state value. | ||
62 | |||
63 | Example: a switch device driver w/ magic numbers for two cables. | ||
64 | "0x00": no cables connected. | ||
65 | "0x01": cable 1 connected | ||
66 | "0x02": cable 2 connected | ||
67 | "0x03": cable 1 and 2 connected | ||
68 | 1. edev->supported_cable = {"1", "2", NULL}; | ||
69 | 2. edev->print_state = NULL; | ||
70 | 3. extcon_get_cable_state_(edev, 0) shows cable 1's state. | ||
71 | extcon_get_cable_state(edev, "1") shows cable 1's state. | ||
72 | extcon_set_cable_state_(edev, 1) sets cable 2's state. | ||
73 | extcon_set_cable_state(edev, "2") sets cable 2's state | ||
74 | 4. extcon_update_state(edev, 0x01, 0) sets the least bit's 0. | ||
75 | |||
76 | ****** STEP 3. Notify other device drivers | ||
77 | |||
78 | You can notify others of the cable attach/detach events with | ||
79 | notifier chains. | ||
80 | |||
81 | At the side of other device drivers (the extcon device itself | ||
82 | does not need to get notified of its own events), there are two | ||
83 | methods to register notifier_block for cable events: | ||
84 | (a) for a specific cable or (b) for every cable. | ||
85 | |||
86 | (a) extcon_register_interest(obj, extcon_name, cable_name, nb) | ||
87 | Example: want to get news of "MAX8997_MUIC"'s "USB" cable | ||
88 | |||
89 | obj = kzalloc(sizeof(struct extcon_specific_cable_nb), | ||
90 | GFP_KERNEL); | ||
91 | nb->notifier_call = the_callback_to_handle_usb; | ||
92 | |||
93 | extcon_register_intereset(obj, "MAX8997_MUIC", "USB", nb); | ||
94 | |||
95 | (b) extcon_register_notifier(edev, nb) | ||
96 | Call nb for any changes in edev. | ||
97 | |||
98 | Please note that in order to properly behave with method (a), | ||
99 | the extcon device driver should support multistate feature (STEP 2). | ||
100 | |||
101 | ****** STEP 4. Inter-cable relation (mutually exclusive) | ||
102 | |||
103 | You can provide inter-cable mutually exclusiveness information | ||
104 | for an extcon device. When cables A and B are declared to be mutually | ||
105 | exclusive, the two cables cannot be in ATTACHED state simulteneously. | ||
106 | |||
107 | |||
108 | /***************************************************************** | ||
109 | * CHAPTER 2. * | ||
110 | * PORTING USERSPACE w/ SWITCH CLASS DEVICE SUPPORT * | ||
111 | *****************************************************************/ | ||
112 | |||
113 | ****** ABI Location | ||
114 | |||
115 | If "CONFIG_ANDROID" is enabled and "CONFIG_ANDROID_SWITCH" is | ||
116 | disabled, /sys/class/switch/* are created as symbolic links to | ||
117 | /sys/class/extcon/*. Because CONFIG_ANDROID_SWITCH creates | ||
118 | /sys/class/switch directory, we disable symboling linking if | ||
119 | CONFIG_ANDROID_SWITCH is enabled. | ||
120 | |||
121 | The two files of switch class, name and state, are provided with | ||
122 | extcon, too. When the multistate support (STEP 2 of CHAPTER 1.) is | ||
123 | not enabled or print_state callback is supplied, the output of | ||
124 | state ABI is same with switch class. | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 03ca210406ed..e9abede594e1 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -2,7 +2,14 @@ The following is a list of files and features that are going to be | |||
2 | removed in the kernel source tree. Every entry should contain what | 2 | removed in the kernel source tree. Every entry should contain what |
3 | exactly is going away, why it is happening, and who is going to be doing | 3 | exactly is going away, why it is happening, and who is going to be doing |
4 | the work. When the feature is removed from the kernel, it should also | 4 | the work. When the feature is removed from the kernel, it should also |
5 | be removed from this file. | 5 | be removed from this file. The suggested deprecation period is 3 releases. |
6 | |||
7 | --------------------------- | ||
8 | |||
9 | What: ddebug_query="query" boot cmdline param | ||
10 | When: v3.8 | ||
11 | Why: obsoleted by dyndbg="query" and module.dyndbg="query" | ||
12 | Who: Jim Cromie <jim.cromie@gmail.com>, Jason Baron <jbaron@redhat.com> | ||
6 | 13 | ||
7 | --------------------------- | 14 | --------------------------- |
8 | 15 | ||
@@ -539,3 +546,13 @@ When: 3.6 | |||
539 | Why: setitimer is not returning -EFAULT if user pointer is NULL. This | 546 | Why: setitimer is not returning -EFAULT if user pointer is NULL. This |
540 | violates the spec. | 547 | violates the spec. |
541 | Who: Sasikantha Babu <sasikanth.v19@gmail.com> | 548 | Who: Sasikantha Babu <sasikanth.v19@gmail.com> |
549 | |||
550 | ---------------------------- | ||
551 | |||
552 | What: V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls | ||
553 | When: 3.7 | ||
554 | Why: The V4L2_CID_VCENTER, V4L2_CID_HCENTER controls have been deprecated | ||
555 | for about 4 years and they are not used by any mainline driver. | ||
556 | There are newer controls (V4L2_CID_PAN*, V4L2_CID_TILT*) that provide | ||
557 | similar functionality. | ||
558 | Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> | ||
diff --git a/Documentation/filesystems/gfs2-glocks.txt b/Documentation/filesystems/gfs2-glocks.txt index 0494f78d87e4..fcc79957be63 100644 --- a/Documentation/filesystems/gfs2-glocks.txt +++ b/Documentation/filesystems/gfs2-glocks.txt | |||
@@ -61,7 +61,9 @@ go_unlock | Called on the final local unlock of a lock | |||
61 | go_dump | Called to print content of object for debugfs file, or on | 61 | go_dump | Called to print content of object for debugfs file, or on |
62 | | error to dump glock to the log. | 62 | | error to dump glock to the log. |
63 | go_type | The type of the glock, LM_TYPE_..... | 63 | go_type | The type of the glock, LM_TYPE_..... |
64 | go_min_hold_time | The minimum hold time | 64 | go_callback | Called if the DLM sends a callback to drop this lock |
65 | go_flags | GLOF_ASPACE is set, if the glock has an address space | ||
66 | | associated with it | ||
65 | 67 | ||
66 | The minimum hold time for each lock is the time after a remote lock | 68 | The minimum hold time for each lock is the time after a remote lock |
67 | grant for which we ignore remote demote requests. This is in order to | 69 | grant for which we ignore remote demote requests. This is in order to |
@@ -89,6 +91,7 @@ go_demote_ok | Sometimes | Yes | |||
89 | go_lock | Yes | No | 91 | go_lock | Yes | No |
90 | go_unlock | Yes | No | 92 | go_unlock | Yes | No |
91 | go_dump | Sometimes | Yes | 93 | go_dump | Sometimes | Yes |
94 | go_callback | Sometimes (N/A) | Yes | ||
92 | 95 | ||
93 | N.B. Operations must not drop either the bit lock or the spinlock | 96 | N.B. Operations must not drop either the bit lock or the spinlock |
94 | if its held on entry. go_dump and do_demote_ok must never block. | 97 | if its held on entry. go_dump and do_demote_ok must never block. |
@@ -111,4 +114,118 @@ itself (locking order as above), and the other, known as the iopen | |||
111 | glock is used in conjunction with the i_nlink field in the inode to | 114 | glock is used in conjunction with the i_nlink field in the inode to |
112 | determine the lifetime of the inode in question. Locking of inodes | 115 | determine the lifetime of the inode in question. Locking of inodes |
113 | is on a per-inode basis. Locking of rgrps is on a per rgrp basis. | 116 | is on a per-inode basis. Locking of rgrps is on a per rgrp basis. |
117 | In general we prefer to lock local locks prior to cluster locks. | ||
118 | |||
119 | Glock Statistics | ||
120 | ------------------ | ||
121 | |||
122 | The stats are divided into two sets: those relating to the | ||
123 | super block and those relating to an individual glock. The | ||
124 | super block stats are done on a per cpu basis in order to | ||
125 | try and reduce the overhead of gathering them. They are also | ||
126 | further divided by glock type. All timings are in nanoseconds. | ||
127 | |||
128 | In the case of both the super block and glock statistics, | ||
129 | the same information is gathered in each case. The super | ||
130 | block timing statistics are used to provide default values for | ||
131 | the glock timing statistics, so that newly created glocks | ||
132 | should have, as far as possible, a sensible starting point. | ||
133 | The per-glock counters are initialised to zero when the | ||
134 | glock is created. The per-glock statistics are lost when | ||
135 | the glock is ejected from memory. | ||
136 | |||
137 | The statistics are divided into three pairs of mean and | ||
138 | variance, plus two counters. The mean/variance pairs are | ||
139 | smoothed exponential estimates and the algorithm used is | ||
140 | one which will be very familiar to those used to calculation | ||
141 | of round trip times in network code. See "TCP/IP Illustrated, | ||
142 | Volume 1", W. Richard Stevens, sect 21.3, "Round-Trip Time Measurement", | ||
143 | p. 299 and onwards. Also, Volume 2, Sect. 25.10, p. 838 and onwards. | ||
144 | Unlike the TCP/IP Illustrated case, the mean and variance are | ||
145 | not scaled, but are in units of integer nanoseconds. | ||
146 | |||
147 | The three pairs of mean/variance measure the following | ||
148 | things: | ||
149 | |||
150 | 1. DLM lock time (non-blocking requests) | ||
151 | 2. DLM lock time (blocking requests) | ||
152 | 3. Inter-request time (again to the DLM) | ||
153 | |||
154 | A non-blocking request is one which will complete right | ||
155 | away, whatever the state of the DLM lock in question. That | ||
156 | currently means any requests when (a) the current state of | ||
157 | the lock is exclusive, i.e. a lock demotion (b) the requested | ||
158 | state is either null or unlocked (again, a demotion) or (c) the | ||
159 | "try lock" flag is set. A blocking request covers all the other | ||
160 | lock requests. | ||
161 | |||
162 | There are two counters. The first is there primarily to show | ||
163 | how many lock requests have been made, and thus how much data | ||
164 | has gone into the mean/variance calculations. The other counter | ||
165 | is counting queuing of holders at the top layer of the glock | ||
166 | code. Hopefully that number will be a lot larger than the number | ||
167 | of dlm lock requests issued. | ||
168 | |||
169 | So why gather these statistics? There are several reasons | ||
170 | we'd like to get a better idea of these timings: | ||
171 | |||
172 | 1. To be able to better set the glock "min hold time" | ||
173 | 2. To spot performance issues more easily | ||
174 | 3. To improve the algorithm for selecting resource groups for | ||
175 | allocation (to base it on lock wait time, rather than blindly | ||
176 | using a "try lock") | ||
177 | |||
178 | Due to the smoothing action of the updates, a step change in | ||
179 | some input quantity being sampled will only fully be taken | ||
180 | into account after 8 samples (or 4 for the variance) and this | ||
181 | needs to be carefully considered when interpreting the | ||
182 | results. | ||
183 | |||
184 | Knowing both the time it takes a lock request to complete and | ||
185 | the average time between lock requests for a glock means we | ||
186 | can compute the total percentage of the time for which the | ||
187 | node is able to use a glock vs. time that the rest of the | ||
188 | cluster has its share. That will be very useful when setting | ||
189 | the lock min hold time. | ||
190 | |||
191 | Great care has been taken to ensure that we | ||
192 | measure exactly the quantities that we want, as accurately | ||
193 | as possible. There are always inaccuracies in any | ||
194 | measuring system, but I hope this is as accurate as we | ||
195 | can reasonably make it. | ||
196 | |||
197 | Per sb stats can be found here: | ||
198 | /sys/kernel/debug/gfs2/<fsname>/sbstats | ||
199 | Per glock stats can be found here: | ||
200 | /sys/kernel/debug/gfs2/<fsname>/glstats | ||
201 | |||
202 | Assuming that debugfs is mounted on /sys/kernel/debug and also | ||
203 | that <fsname> is replaced with the name of the gfs2 filesystem | ||
204 | in question. | ||
205 | |||
206 | The abbreviations used in the output as are follows: | ||
207 | |||
208 | srtt - Smoothed round trip time for non-blocking dlm requests | ||
209 | srttvar - Variance estimate for srtt | ||
210 | srttb - Smoothed round trip time for (potentially) blocking dlm requests | ||
211 | srttvarb - Variance estimate for srttb | ||
212 | sirt - Smoothed inter-request time (for dlm requests) | ||
213 | sirtvar - Variance estimate for sirt | ||
214 | dlm - Number of dlm requests made (dcnt in glstats file) | ||
215 | queue - Number of glock requests queued (qcnt in glstats file) | ||
216 | |||
217 | The sbstats file contains a set of these stats for each glock type (so 8 lines | ||
218 | for each type) and for each cpu (one column per cpu). The glstats file contains | ||
219 | a set of these stats for each glock in a similar format to the glocks file, but | ||
220 | using the format mean/variance for each of the timing stats. | ||
221 | |||
222 | The gfs2_glock_lock_time tracepoint prints out the current values of the stats | ||
223 | for the glock in question, along with some addition information on each dlm | ||
224 | reply that is received: | ||
225 | |||
226 | status - The status of the dlm request | ||
227 | flags - The dlm request flags | ||
228 | tdiff - The time taken by this specific request | ||
229 | (remaining fields as per above list) | ||
230 | |||
114 | 231 | ||
diff --git a/Documentation/filesystems/gfs2.txt b/Documentation/filesystems/gfs2.txt index 4cda926628aa..cc4f2306609e 100644 --- a/Documentation/filesystems/gfs2.txt +++ b/Documentation/filesystems/gfs2.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Global File System | 1 | Global File System |
2 | ------------------ | 2 | ------------------ |
3 | 3 | ||
4 | http://sources.redhat.com/cluster/wiki/ | 4 | https://fedorahosted.org/cluster/wiki/HomePage |
5 | 5 | ||
6 | GFS is a cluster file system. It allows a cluster of computers to | 6 | GFS is a cluster file system. It allows a cluster of computers to |
7 | simultaneously use a block device that is shared between them (with FC, | 7 | simultaneously use a block device that is shared between them (with FC, |
@@ -30,7 +30,8 @@ needed, simply: | |||
30 | 30 | ||
31 | If you are using Fedora, you need to install the gfs2-utils package | 31 | If you are using Fedora, you need to install the gfs2-utils package |
32 | and, for lock_dlm, you will also need to install the cman package | 32 | and, for lock_dlm, you will also need to install the cman package |
33 | and write a cluster.conf as per the documentation. | 33 | and write a cluster.conf as per the documentation. For F17 and above |
34 | cman has been replaced by the dlm package. | ||
34 | 35 | ||
35 | GFS2 is not on-disk compatible with previous versions of GFS, but it | 36 | GFS2 is not on-disk compatible with previous versions of GFS, but it |
36 | is pretty close. | 37 | is pretty close. |
@@ -39,8 +40,6 @@ The following man pages can be found at the URL above: | |||
39 | fsck.gfs2 to repair a filesystem | 40 | fsck.gfs2 to repair a filesystem |
40 | gfs2_grow to expand a filesystem online | 41 | gfs2_grow to expand a filesystem online |
41 | gfs2_jadd to add journals to a filesystem online | 42 | gfs2_jadd to add journals to a filesystem online |
42 | gfs2_tool to manipulate, examine and tune a filesystem | 43 | tunegfs2 to manipulate, examine and tune a filesystem |
43 | gfs2_quota to examine and change quota values in a filesystem | ||
44 | gfs2_convert to convert a gfs filesystem to gfs2 in-place | 44 | gfs2_convert to convert a gfs filesystem to gfs2 in-place |
45 | mount.gfs2 to help mount(8) mount a filesystem | ||
46 | mkfs.gfs2 to make a filesystem | 45 | mkfs.gfs2 to make a filesystem |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index b7413cb46dcb..ef088e55ab2e 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -996,7 +996,6 @@ Table 1-9: Network info in /proc/net | |||
996 | snmp SNMP data | 996 | snmp SNMP data |
997 | sockstat Socket statistics | 997 | sockstat Socket statistics |
998 | tcp TCP sockets | 998 | tcp TCP sockets |
999 | tr_rif Token ring RIF routing table | ||
1000 | udp UDP sockets | 999 | udp UDP sockets |
1001 | unix UNIX domain sockets | 1000 | unix UNIX domain sockets |
1002 | wireless Wireless interface data (Wavelan etc) | 1001 | wireless Wireless interface data (Wavelan etc) |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index c1601e5a8b71..62aba89b04a2 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -110,6 +110,7 @@ parameter is applicable: | |||
110 | USB USB support is enabled. | 110 | USB USB support is enabled. |
111 | USBHID USB Human Interface Device support is enabled. | 111 | USBHID USB Human Interface Device support is enabled. |
112 | V4L Video For Linux support is enabled. | 112 | V4L Video For Linux support is enabled. |
113 | VMMIO Driver for memory mapped virtio devices is enabled. | ||
113 | VGA The VGA console has been enabled. | 114 | VGA The VGA console has been enabled. |
114 | VT Virtual terminal support is enabled. | 115 | VT Virtual terminal support is enabled. |
115 | WDT Watchdog support is enabled. | 116 | WDT Watchdog support is enabled. |
@@ -610,7 +611,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
610 | 611 | ||
611 | ddebug_query= [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot | 612 | ddebug_query= [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot |
612 | time. See Documentation/dynamic-debug-howto.txt for | 613 | time. See Documentation/dynamic-debug-howto.txt for |
613 | details. | 614 | details. Deprecated, see dyndbg. |
614 | 615 | ||
615 | debug [KNL] Enable kernel debugging (events log level). | 616 | debug [KNL] Enable kernel debugging (events log level). |
616 | 617 | ||
@@ -730,6 +731,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
730 | 731 | ||
731 | dscc4.setup= [NET] | 732 | dscc4.setup= [NET] |
732 | 733 | ||
734 | dyndbg[="val"] [KNL,DYNAMIC_DEBUG] | ||
735 | module.dyndbg[="val"] | ||
736 | Enable debug messages at boot time. See | ||
737 | Documentation/dynamic-debug-howto.txt for details. | ||
738 | |||
733 | earlycon= [KNL] Output early console device and options. | 739 | earlycon= [KNL] Output early console device and options. |
734 | uart[8250],io,<addr>[,options] | 740 | uart[8250],io,<addr>[,options] |
735 | uart[8250],mmio,<addr>[,options] | 741 | uart[8250],mmio,<addr>[,options] |
@@ -2161,6 +2167,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2161 | on: Turn realloc on | 2167 | on: Turn realloc on |
2162 | realloc same as realloc=on | 2168 | realloc same as realloc=on |
2163 | noari do not use PCIe ARI. | 2169 | noari do not use PCIe ARI. |
2170 | pcie_scan_all Scan all possible PCIe devices. Otherwise we | ||
2171 | only look for one device below a PCIe downstream | ||
2172 | port. | ||
2164 | 2173 | ||
2165 | pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power | 2174 | pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power |
2166 | Management. | 2175 | Management. |
@@ -2330,18 +2339,100 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2330 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes | 2339 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes |
2331 | See Documentation/blockdev/ramdisk.txt. | 2340 | See Documentation/blockdev/ramdisk.txt. |
2332 | 2341 | ||
2333 | rcupdate.blimit= [KNL,BOOT] | 2342 | rcutree.blimit= [KNL,BOOT] |
2334 | Set maximum number of finished RCU callbacks to process | 2343 | Set maximum number of finished RCU callbacks to process |
2335 | in one batch. | 2344 | in one batch. |
2336 | 2345 | ||
2337 | rcupdate.qhimark= [KNL,BOOT] | 2346 | rcutree.qhimark= [KNL,BOOT] |
2338 | Set threshold of queued | 2347 | Set threshold of queued |
2339 | RCU callbacks over which batch limiting is disabled. | 2348 | RCU callbacks over which batch limiting is disabled. |
2340 | 2349 | ||
2341 | rcupdate.qlowmark= [KNL,BOOT] | 2350 | rcutree.qlowmark= [KNL,BOOT] |
2342 | Set threshold of queued RCU callbacks below which | 2351 | Set threshold of queued RCU callbacks below which |
2343 | batch limiting is re-enabled. | 2352 | batch limiting is re-enabled. |
2344 | 2353 | ||
2354 | rcutree.rcu_cpu_stall_suppress= [KNL,BOOT] | ||
2355 | Suppress RCU CPU stall warning messages. | ||
2356 | |||
2357 | rcutree.rcu_cpu_stall_timeout= [KNL,BOOT] | ||
2358 | Set timeout for RCU CPU stall warning messages. | ||
2359 | |||
2360 | rcutorture.fqs_duration= [KNL,BOOT] | ||
2361 | Set duration of force_quiescent_state bursts. | ||
2362 | |||
2363 | rcutorture.fqs_holdoff= [KNL,BOOT] | ||
2364 | Set holdoff time within force_quiescent_state bursts. | ||
2365 | |||
2366 | rcutorture.fqs_stutter= [KNL,BOOT] | ||
2367 | Set wait time between force_quiescent_state bursts. | ||
2368 | |||
2369 | rcutorture.irqreader= [KNL,BOOT] | ||
2370 | Test RCU readers from irq handlers. | ||
2371 | |||
2372 | rcutorture.n_barrier_cbs= [KNL,BOOT] | ||
2373 | Set callbacks/threads for rcu_barrier() testing. | ||
2374 | |||
2375 | rcutorture.nfakewriters= [KNL,BOOT] | ||
2376 | Set number of concurrent RCU writers. These just | ||
2377 | stress RCU, they don't participate in the actual | ||
2378 | test, hence the "fake". | ||
2379 | |||
2380 | rcutorture.nreaders= [KNL,BOOT] | ||
2381 | Set number of RCU readers. | ||
2382 | |||
2383 | rcutorture.onoff_holdoff= [KNL,BOOT] | ||
2384 | Set time (s) after boot for CPU-hotplug testing. | ||
2385 | |||
2386 | rcutorture.onoff_interval= [KNL,BOOT] | ||
2387 | Set time (s) between CPU-hotplug operations, or | ||
2388 | zero to disable CPU-hotplug testing. | ||
2389 | |||
2390 | rcutorture.shuffle_interval= [KNL,BOOT] | ||
2391 | Set task-shuffle interval (s). Shuffling tasks | ||
2392 | allows some CPUs to go into dyntick-idle mode | ||
2393 | during the rcutorture test. | ||
2394 | |||
2395 | rcutorture.shutdown_secs= [KNL,BOOT] | ||
2396 | Set time (s) after boot system shutdown. This | ||
2397 | is useful for hands-off automated testing. | ||
2398 | |||
2399 | rcutorture.stall_cpu= [KNL,BOOT] | ||
2400 | Duration of CPU stall (s) to test RCU CPU stall | ||
2401 | warnings, zero to disable. | ||
2402 | |||
2403 | rcutorture.stall_cpu_holdoff= [KNL,BOOT] | ||
2404 | Time to wait (s) after boot before inducing stall. | ||
2405 | |||
2406 | rcutorture.stat_interval= [KNL,BOOT] | ||
2407 | Time (s) between statistics printk()s. | ||
2408 | |||
2409 | rcutorture.stutter= [KNL,BOOT] | ||
2410 | Time (s) to stutter testing, for example, specifying | ||
2411 | five seconds causes the test to run for five seconds, | ||
2412 | wait for five seconds, and so on. This tests RCU's | ||
2413 | ability to transition abruptly to and from idle. | ||
2414 | |||
2415 | rcutorture.test_boost= [KNL,BOOT] | ||
2416 | Test RCU priority boosting? 0=no, 1=maybe, 2=yes. | ||
2417 | "Maybe" means test if the RCU implementation | ||
2418 | under test support RCU priority boosting. | ||
2419 | |||
2420 | rcutorture.test_boost_duration= [KNL,BOOT] | ||
2421 | Duration (s) of each individual boost test. | ||
2422 | |||
2423 | rcutorture.test_boost_interval= [KNL,BOOT] | ||
2424 | Interval (s) between each boost test. | ||
2425 | |||
2426 | rcutorture.test_no_idle_hz= [KNL,BOOT] | ||
2427 | Test RCU's dyntick-idle handling. See also the | ||
2428 | rcutorture.shuffle_interval parameter. | ||
2429 | |||
2430 | rcutorture.torture_type= [KNL,BOOT] | ||
2431 | Specify the RCU implementation to test. | ||
2432 | |||
2433 | rcutorture.verbose= [KNL,BOOT] | ||
2434 | Enable additional printk() statements. | ||
2435 | |||
2345 | rdinit= [KNL] | 2436 | rdinit= [KNL] |
2346 | Format: <full_path> | 2437 | Format: <full_path> |
2347 | Run specified binary instead of /init from the ramdisk, | 2438 | Run specified binary instead of /init from the ramdisk, |
@@ -2847,6 +2938,22 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2847 | video= [FB] Frame buffer configuration | 2938 | video= [FB] Frame buffer configuration |
2848 | See Documentation/fb/modedb.txt. | 2939 | See Documentation/fb/modedb.txt. |
2849 | 2940 | ||
2941 | virtio_mmio.device= | ||
2942 | [VMMIO] Memory mapped virtio (platform) device. | ||
2943 | |||
2944 | <size>@<baseaddr>:<irq>[:<id>] | ||
2945 | where: | ||
2946 | <size> := size (can use standard suffixes | ||
2947 | like K, M and G) | ||
2948 | <baseaddr> := physical base address | ||
2949 | <irq> := interrupt number (as passed to | ||
2950 | request_irq()) | ||
2951 | <id> := (optional) platform device id | ||
2952 | example: | ||
2953 | virtio_mmio.device=1K@0x100b0000:48:7 | ||
2954 | |||
2955 | Can be used multiple times for multiple devices. | ||
2956 | |||
2850 | vga= [BOOT,X86-32] Select a particular video mode | 2957 | vga= [BOOT,X86-32] Select a particular video mode |
2851 | See Documentation/x86/boot.txt and | 2958 | See Documentation/x86/boot.txt and |
2852 | Documentation/svga.txt. | 2959 | Documentation/svga.txt. |
diff --git a/Documentation/memory-devices/ti-emif.txt b/Documentation/memory-devices/ti-emif.txt new file mode 100644 index 000000000000..f4ad9a7d0f4b --- /dev/null +++ b/Documentation/memory-devices/ti-emif.txt | |||
@@ -0,0 +1,57 @@ | |||
1 | TI EMIF SDRAM Controller Driver: | ||
2 | |||
3 | Author | ||
4 | ======== | ||
5 | Aneesh V <aneesh@ti.com> | ||
6 | |||
7 | Location | ||
8 | ============ | ||
9 | driver/memory/emif.c | ||
10 | |||
11 | Supported SoCs: | ||
12 | =================== | ||
13 | TI OMAP44xx | ||
14 | TI OMAP54xx | ||
15 | |||
16 | Menuconfig option: | ||
17 | ========================== | ||
18 | Device Drivers | ||
19 | Memory devices | ||
20 | Texas Instruments EMIF driver | ||
21 | |||
22 | Description | ||
23 | =========== | ||
24 | This driver is for the EMIF module available in Texas Instruments | ||
25 | SoCs. EMIF is an SDRAM controller that, based on its revision, | ||
26 | supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. | ||
27 | This driver takes care of only LPDDR2 memories presently. The | ||
28 | functions of the driver includes re-configuring AC timing | ||
29 | parameters and other settings during frequency, voltage and | ||
30 | temperature changes | ||
31 | |||
32 | Platform Data (see include/linux/platform_data/emif_plat.h): | ||
33 | ===================================================================== | ||
34 | DDR device details and other board dependent and SoC dependent | ||
35 | information can be passed through platform data (struct emif_platform_data) | ||
36 | - DDR device details: 'struct ddr_device_info' | ||
37 | - Device AC timings: 'struct lpddr2_timings' and 'struct lpddr2_min_tck' | ||
38 | - Custom configurations: customizable policy options through | ||
39 | 'struct emif_custom_configs' | ||
40 | - IP revision | ||
41 | - PHY type | ||
42 | |||
43 | Interface to the external world: | ||
44 | ================================ | ||
45 | EMIF driver registers notifiers for voltage and frequency changes | ||
46 | affecting EMIF and takes appropriate actions when these are invoked. | ||
47 | - freq_pre_notify_handling() | ||
48 | - freq_post_notify_handling() | ||
49 | - volt_notify_handling() | ||
50 | |||
51 | Debugfs | ||
52 | ======== | ||
53 | The driver creates two debugfs entries per device. | ||
54 | - regcache_dump : dump of register values calculated and saved for all | ||
55 | frequencies used so far. | ||
56 | - mr4 : last polled value of MR4 register in the LPDDR2 device. MR4 | ||
57 | indicates the current temperature level of the device. | ||
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX index 9ad9ddeb384c..2cc3c7733a2f 100644 --- a/Documentation/networking/00-INDEX +++ b/Documentation/networking/00-INDEX | |||
@@ -1,7 +1,5 @@ | |||
1 | 00-INDEX | 1 | 00-INDEX |
2 | - this file | 2 | - this file |
3 | 3c359.txt | ||
4 | - information on the 3Com TokenLink Velocity XL (3c5359) driver. | ||
5 | 3c505.txt | 3 | 3c505.txt |
6 | - information on the 3Com EtherLink Plus (3c505) driver. | 4 | - information on the 3Com EtherLink Plus (3c505) driver. |
7 | 3c509.txt | 5 | 3c509.txt |
@@ -142,8 +140,6 @@ netif-msg.txt | |||
142 | - Design of the network interface message level setting (NETIF_MSG_*). | 140 | - Design of the network interface message level setting (NETIF_MSG_*). |
143 | nfc.txt | 141 | nfc.txt |
144 | - The Linux Near Field Communication (NFS) subsystem. | 142 | - The Linux Near Field Communication (NFS) subsystem. |
145 | olympic.txt | ||
146 | - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info. | ||
147 | openvswitch.txt | 143 | openvswitch.txt |
148 | - Open vSwitch developer documentation. | 144 | - Open vSwitch developer documentation. |
149 | operstates.txt | 145 | operstates.txt |
@@ -184,8 +180,6 @@ skfp.txt | |||
184 | - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. | 180 | - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. |
185 | smc9.txt | 181 | smc9.txt |
186 | - the driver for SMC's 9000 series of Ethernet cards | 182 | - the driver for SMC's 9000 series of Ethernet cards |
187 | smctr.txt | ||
188 | - SMC TokenCard TokenRing Linux driver info. | ||
189 | spider-net.txt | 183 | spider-net.txt |
190 | - README for the Spidernet Driver (as found in PS3 / Cell BE). | 184 | - README for the Spidernet Driver (as found in PS3 / Cell BE). |
191 | stmmac.txt | 185 | stmmac.txt |
@@ -200,8 +194,6 @@ tcp-thin.txt | |||
200 | - kernel tuning options for low rate 'thin' TCP streams. | 194 | - kernel tuning options for low rate 'thin' TCP streams. |
201 | tlan.txt | 195 | tlan.txt |
202 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. | 196 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. |
203 | tms380tr.txt | ||
204 | - SysKonnect Token Ring ISA/PCI adapter driver info. | ||
205 | tproxy.txt | 197 | tproxy.txt |
206 | - Transparent proxy support user guide. | 198 | - Transparent proxy support user guide. |
207 | tuntap.txt | 199 | tuntap.txt |
diff --git a/Documentation/networking/3c359.txt b/Documentation/networking/3c359.txt deleted file mode 100644 index dadfe8147ab8..000000000000 --- a/Documentation/networking/3c359.txt +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | |||
2 | 3COM PCI TOKEN LINK VELOCITY XL TOKEN RING CARDS README | ||
3 | |||
4 | Release 0.9.0 - Release | ||
5 | Jul 17th 2000 Mike Phillips | ||
6 | |||
7 | 1.2.0 - Final | ||
8 | Feb 17th 2002 Mike Phillips | ||
9 | Updated for submission to the 2.4.x kernel. | ||
10 | |||
11 | Thanks: | ||
12 | Terry Murphy from 3Com for tech docs and support, | ||
13 | Adam D. Ligas for testing the driver. | ||
14 | |||
15 | Note: | ||
16 | This driver will NOT work with the 3C339 Token Ring cards, you need | ||
17 | to use the tms380 driver instead. | ||
18 | |||
19 | Options: | ||
20 | |||
21 | The driver accepts three options: ringspeed, pkt_buf_sz and message_level. | ||
22 | |||
23 | These options can be specified differently for each card found. | ||
24 | |||
25 | ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will | ||
26 | make the card autosense the ringspeed and join at the appropriate speed, | ||
27 | this will be the default option for most people. 4 or 16 allow you to | ||
28 | explicitly force the card to operate at a certain speed. The card will fail | ||
29 | if you try to insert it at the wrong speed. (Although some hubs will allow | ||
30 | this so be *very* careful). The main purpose for explicitly setting the ring | ||
31 | speed is for when the card is first on the ring. In autosense mode, if the card | ||
32 | cannot detect any active monitors on the ring it will open at the same speed as | ||
33 | its last opening. This can be hazardous if this speed does not match the speed | ||
34 | you want the ring to operate at. | ||
35 | |||
36 | pkt_buf_sz: This is this initial receive buffer allocation size. This will | ||
37 | default to 4096 if no value is entered. You may increase performance of the | ||
38 | driver by setting this to a value larger than the network packet size, although | ||
39 | the driver now re-sizes buffers based on MTU settings as well. | ||
40 | |||
41 | message_level: Controls level of messages created by the driver. Defaults to 0: | ||
42 | which only displays start-up and critical messages. Presently any non-zero | ||
43 | value will display all soft messages as well. NB This does not turn | ||
44 | debugging messages on, that must be done by modified the source code. | ||
45 | |||
46 | Variable MTU size: | ||
47 | |||
48 | The driver can handle a MTU size up to either 4500 or 18000 depending upon | ||
49 | ring speed. The driver also changes the size of the receive buffers as part | ||
50 | of the mtu re-sizing, so if you set mtu = 18000, you will need to be able | ||
51 | to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring | ||
52 | position = 296,000 bytes of memory space, plus of course anything | ||
53 | necessary for the tx sk_buff's. Remember this is per card, so if you are | ||
54 | building routers, gateway's etc, you could start to use a lot of memory | ||
55 | real fast. | ||
56 | |||
57 | 2/17/02 Mike Phillips | ||
58 | |||
diff --git a/Documentation/networking/3c509.txt b/Documentation/networking/3c509.txt index dcc9eaf59395..fbf722e15ac3 100644 --- a/Documentation/networking/3c509.txt +++ b/Documentation/networking/3c509.txt | |||
@@ -25,7 +25,6 @@ models: | |||
25 | 3c509B (later revision of the ISA card; supports full-duplex) | 25 | 3c509B (later revision of the ISA card; supports full-duplex) |
26 | 3c589 (PCMCIA) | 26 | 3c589 (PCMCIA) |
27 | 3c589B (later revision of the 3c589; supports full-duplex) | 27 | 3c589B (later revision of the 3c589; supports full-duplex) |
28 | 3c529 (MCA) | ||
29 | 3c579 (EISA) | 28 | 3c579 (EISA) |
30 | 29 | ||
31 | Large portions of this documentation were heavily borrowed from the guide | 30 | Large portions of this documentation were heavily borrowed from the guide |
diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt index 221ad0cdf11f..75a592365af9 100644 --- a/Documentation/networking/batman-adv.txt +++ b/Documentation/networking/batman-adv.txt | |||
@@ -1,5 +1,3 @@ | |||
1 | [state: 21-08-2011] | ||
2 | |||
3 | BATMAN-ADV | 1 | BATMAN-ADV |
4 | ---------- | 2 | ---------- |
5 | 3 | ||
@@ -67,18 +65,19 @@ To deactivate an interface you have to write "none" into its | |||
67 | All mesh wide settings can be found in batman's own interface | 65 | All mesh wide settings can be found in batman's own interface |
68 | folder: | 66 | folder: |
69 | 67 | ||
70 | # ls /sys/class/net/bat0/mesh/ | 68 | # ls /sys/class/net/bat0/mesh/ |
71 | # aggregated_ogms fragmentation gw_sel_class vis_mode | 69 | # aggregated_ogms gw_bandwidth log_level |
72 | # ap_isolation gw_bandwidth hop_penalty | 70 | # ap_isolation gw_mode orig_interval |
73 | # bonding gw_mode orig_interval | 71 | # bonding gw_sel_class routing_algo |
72 | # bridge_loop_avoidance hop_penalty vis_mode | ||
73 | # fragmentation | ||
74 | 74 | ||
75 | 75 | ||
76 | There is a special folder for debugging information: | 76 | There is a special folder for debugging information: |
77 | 77 | ||
78 | # ls /sys/kernel/debug/batman_adv/bat0/ | 78 | # ls /sys/kernel/debug/batman_adv/bat0/ |
79 | # gateways socket transtable_global vis_data | 79 | # bla_claim_table log socket transtable_local |
80 | # originators softif_neigh transtable_local | 80 | # gateways originators transtable_global vis_data |
81 | |||
82 | 81 | ||
83 | Some of the files contain all sort of status information regard- | 82 | Some of the files contain all sort of status information regard- |
84 | ing the mesh network. For example, you can view the table of | 83 | ing the mesh network. For example, you can view the table of |
@@ -202,12 +201,13 @@ abled during run time. Following log_levels are defined: | |||
202 | 1 - Enable messages related to routing / flooding / broadcasting | 201 | 1 - Enable messages related to routing / flooding / broadcasting |
203 | 2 - Enable messages related to route added / changed / deleted | 202 | 2 - Enable messages related to route added / changed / deleted |
204 | 4 - Enable messages related to translation table operations | 203 | 4 - Enable messages related to translation table operations |
205 | 7 - Enable all messages | 204 | 8 - Enable messages related to bridge loop avoidance |
205 | 15 - enable all messages | ||
206 | 206 | ||
207 | The debug output can be changed at runtime using the file | 207 | The debug output can be changed at runtime using the file |
208 | /sys/class/net/bat0/mesh/log_level. e.g. | 208 | /sys/class/net/bat0/mesh/log_level. e.g. |
209 | 209 | ||
210 | # echo 2 > /sys/class/net/bat0/mesh/log_level | 210 | # echo 6 > /sys/class/net/bat0/mesh/log_level |
211 | 211 | ||
212 | will enable debug messages for when routes change. | 212 | will enable debug messages for when routes change. |
213 | 213 | ||
diff --git a/Documentation/networking/fore200e.txt b/Documentation/networking/fore200e.txt index f648eb265188..d52af53efdc5 100644 --- a/Documentation/networking/fore200e.txt +++ b/Documentation/networking/fore200e.txt | |||
@@ -11,12 +11,10 @@ i386, alpha (untested), powerpc, sparc and sparc64 archs. | |||
11 | 11 | ||
12 | The intent is to enable the use of different models of FORE adapters at the | 12 | The intent is to enable the use of different models of FORE adapters at the |
13 | same time, by hosts that have several bus interfaces (such as PCI+SBUS, | 13 | same time, by hosts that have several bus interfaces (such as PCI+SBUS, |
14 | PCI+MCA or PCI+EISA). | 14 | or PCI+EISA). |
15 | 15 | ||
16 | Only PCI and SBUS devices are currently supported by the driver, but support | 16 | Only PCI and SBUS devices are currently supported by the driver, but support |
17 | for other bus interfaces such as EISA should not be too hard to add (this may | 17 | for other bus interfaces such as EISA should not be too hard to add. |
18 | be more tricky for the MCA bus, though, as FORE made some MCA-specific | ||
19 | modifications to the adapter's AALI interface). | ||
20 | 18 | ||
21 | 19 | ||
22 | Firmware Copyright Notice | 20 | Firmware Copyright Notice |
diff --git a/Documentation/networking/ieee802154.txt b/Documentation/networking/ieee802154.txt index 1dc1c24a7547..703cf4370c79 100644 --- a/Documentation/networking/ieee802154.txt +++ b/Documentation/networking/ieee802154.txt | |||
@@ -4,15 +4,22 @@ | |||
4 | 4 | ||
5 | Introduction | 5 | Introduction |
6 | ============ | 6 | ============ |
7 | The IEEE 802.15.4 working group focuses on standartization of bottom | ||
8 | two layers: Medium Accsess Control (MAC) and Physical (PHY). And there | ||
9 | are mainly two options available for upper layers: | ||
10 | - ZigBee - proprietary protocol from ZigBee Alliance | ||
11 | - 6LowPAN - IPv6 networking over low rate personal area networks | ||
7 | 12 | ||
8 | The Linux-ZigBee project goal is to provide complete implementation | 13 | The Linux-ZigBee project goal is to provide complete implementation |
9 | of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack | 14 | of IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack |
10 | of protocols for organizing Low-Rate Wireless Personal Area Networks. | 15 | of protocols for organizing Low-Rate Wireless Personal Area Networks. |
11 | 16 | ||
12 | Currently only IEEE 802.15.4 layer is implemented. We have chosen | 17 | The stack is composed of three main parts: |
13 | to use plain Berkeley socket API, the generic Linux networking stack | 18 | - IEEE 802.15.4 layer; We have chosen to use plain Berkeley socket API, |
14 | to transfer IEEE 802.15.4 messages and a special protocol over genetlink | 19 | the generic Linux networking stack to transfer IEEE 802.15.4 messages |
15 | for configuration/management | 20 | and a special protocol over genetlink for configuration/management |
21 | - MAC - provides access to shared channel and reliable data delivery | ||
22 | - PHY - represents device drivers | ||
16 | 23 | ||
17 | 24 | ||
18 | Socket API | 25 | Socket API |
@@ -29,15 +36,6 @@ or git tree at git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee). | |||
29 | One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. | 36 | One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. |
30 | 37 | ||
31 | 38 | ||
32 | MLME - MAC Level Management | ||
33 | ============================ | ||
34 | |||
35 | Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands. | ||
36 | See the include/net/nl802154.h header. Our userspace tools package | ||
37 | (see above) provides CLI configuration utility for radio interfaces and simple | ||
38 | coordinator for IEEE 802.15.4 networks as an example users of MLME protocol. | ||
39 | |||
40 | |||
41 | Kernel side | 39 | Kernel side |
42 | ============= | 40 | ============= |
43 | 41 | ||
@@ -51,6 +49,15 @@ Like with WiFi, there are several types of devices implementing IEEE 802.15.4. | |||
51 | Those types of devices require different approach to be hooked into Linux kernel. | 49 | Those types of devices require different approach to be hooked into Linux kernel. |
52 | 50 | ||
53 | 51 | ||
52 | MLME - MAC Level Management | ||
53 | ============================ | ||
54 | |||
55 | Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands. | ||
56 | See the include/net/nl802154.h header. Our userspace tools package | ||
57 | (see above) provides CLI configuration utility for radio interfaces and simple | ||
58 | coordinator for IEEE 802.15.4 networks as an example users of MLME protocol. | ||
59 | |||
60 | |||
54 | HardMAC | 61 | HardMAC |
55 | ======= | 62 | ======= |
56 | 63 | ||
@@ -73,11 +80,47 @@ We provide an example of simple HardMAC driver at drivers/ieee802154/fakehard.c | |||
73 | SoftMAC | 80 | SoftMAC |
74 | ======= | 81 | ======= |
75 | 82 | ||
76 | We are going to provide intermediate layer implementing IEEE 802.15.4 MAC | 83 | The MAC is the middle layer in the IEEE 802.15.4 Linux stack. This moment it |
77 | in software. This is currently WIP. | 84 | provides interface for drivers registration and management of slave interfaces. |
85 | |||
86 | NOTE: Currently the only monitor device type is supported - it's IEEE 802.15.4 | ||
87 | stack interface for network sniffers (e.g. WireShark). | ||
88 | |||
89 | This layer is going to be extended soon. | ||
78 | 90 | ||
79 | See header include/net/mac802154.h and several drivers in drivers/ieee802154/. | 91 | See header include/net/mac802154.h and several drivers in drivers/ieee802154/. |
80 | 92 | ||
93 | |||
94 | Device drivers API | ||
95 | ================== | ||
96 | |||
97 | The include/net/mac802154.h defines following functions: | ||
98 | - struct ieee802154_dev *ieee802154_alloc_device | ||
99 | (size_t priv_size, struct ieee802154_ops *ops): | ||
100 | allocation of IEEE 802.15.4 compatible device | ||
101 | |||
102 | - void ieee802154_free_device(struct ieee802154_dev *dev): | ||
103 | freeing allocated device | ||
104 | |||
105 | - int ieee802154_register_device(struct ieee802154_dev *dev): | ||
106 | register PHY in the system | ||
107 | |||
108 | - void ieee802154_unregister_device(struct ieee802154_dev *dev): | ||
109 | freeing registered PHY | ||
110 | |||
111 | Moreover IEEE 802.15.4 device operations structure should be filled. | ||
112 | |||
113 | Fake drivers | ||
114 | ============ | ||
115 | |||
116 | In addition there are two drivers available which simulate real devices with | ||
117 | HardMAC (fakehard) and SoftMAC (fakelb - IEEE 802.15.4 loopback driver) | ||
118 | interfaces. This option provides possibility to test and debug stack without | ||
119 | usage of real hardware. | ||
120 | |||
121 | See sources in drivers/ieee802154 folder for more details. | ||
122 | |||
123 | |||
81 | 6LoWPAN Linux implementation | 124 | 6LoWPAN Linux implementation |
82 | ============================ | 125 | ============================ |
83 | 126 | ||
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index bd80ba5847d2..6f896b94abdc 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -147,7 +147,7 @@ tcp_adv_win_scale - INTEGER | |||
147 | (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), | 147 | (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), |
148 | if it is <= 0. | 148 | if it is <= 0. |
149 | Possible values are [-31, 31], inclusive. | 149 | Possible values are [-31, 31], inclusive. |
150 | Default: 2 | 150 | Default: 1 |
151 | 151 | ||
152 | tcp_allowed_congestion_control - STRING | 152 | tcp_allowed_congestion_control - STRING |
153 | Show/set the congestion control choices available to non-privileged | 153 | Show/set the congestion control choices available to non-privileged |
@@ -190,6 +190,20 @@ tcp_cookie_size - INTEGER | |||
190 | tcp_dsack - BOOLEAN | 190 | tcp_dsack - BOOLEAN |
191 | Allows TCP to send "duplicate" SACKs. | 191 | Allows TCP to send "duplicate" SACKs. |
192 | 192 | ||
193 | tcp_early_retrans - INTEGER | ||
194 | Enable Early Retransmit (ER), per RFC 5827. ER lowers the threshold | ||
195 | for triggering fast retransmit when the amount of outstanding data is | ||
196 | small and when no previously unsent data can be transmitted (such | ||
197 | that limited transmit could be used). | ||
198 | Possible values: | ||
199 | 0 disables ER | ||
200 | 1 enables ER | ||
201 | 2 enables ER but delays fast recovery and fast retransmit | ||
202 | by a fourth of RTT. This mitigates connection falsely | ||
203 | recovers when network has a small degree of reordering | ||
204 | (less than 3 packets). | ||
205 | Default: 2 | ||
206 | |||
193 | tcp_ecn - INTEGER | 207 | tcp_ecn - INTEGER |
194 | Enable Explicit Congestion Notification (ECN) in TCP. ECN is only | 208 | Enable Explicit Congestion Notification (ECN) in TCP. ECN is only |
195 | used when both ends of the TCP flow support it. It is useful to | 209 | used when both ends of the TCP flow support it. It is useful to |
@@ -410,7 +424,7 @@ tcp_rmem - vector of 3 INTEGERs: min, default, max | |||
410 | net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables | 424 | net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables |
411 | automatic tuning of that socket's receive buffer size, in which | 425 | automatic tuning of that socket's receive buffer size, in which |
412 | case this value is ignored. | 426 | case this value is ignored. |
413 | Default: between 87380B and 4MB, depending on RAM size. | 427 | Default: between 87380B and 6MB, depending on RAM size. |
414 | 428 | ||
415 | tcp_sack - BOOLEAN | 429 | tcp_sack - BOOLEAN |
416 | Enable select acknowledgments (SACKS). | 430 | Enable select acknowledgments (SACKS). |
@@ -1287,13 +1301,22 @@ bridge-nf-call-ip6tables - BOOLEAN | |||
1287 | bridge-nf-filter-vlan-tagged - BOOLEAN | 1301 | bridge-nf-filter-vlan-tagged - BOOLEAN |
1288 | 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables. | 1302 | 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables. |
1289 | 0 : disable this. | 1303 | 0 : disable this. |
1290 | Default: 1 | 1304 | Default: 0 |
1291 | 1305 | ||
1292 | bridge-nf-filter-pppoe-tagged - BOOLEAN | 1306 | bridge-nf-filter-pppoe-tagged - BOOLEAN |
1293 | 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables. | 1307 | 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables. |
1294 | 0 : disable this. | 1308 | 0 : disable this. |
1295 | Default: 1 | 1309 | Default: 0 |
1296 | 1310 | ||
1311 | bridge-nf-pass-vlan-input-dev - BOOLEAN | ||
1312 | 1: if bridge-nf-filter-vlan-tagged is enabled, try to find a vlan | ||
1313 | interface on the bridge and set the netfilter input device to the vlan. | ||
1314 | This allows use of e.g. "iptables -i br0.1" and makes the REDIRECT | ||
1315 | target work with vlan-on-top-of-bridge interfaces. When no matching | ||
1316 | vlan interface is found, or this switch is off, the input device is | ||
1317 | set to the bridge interface. | ||
1318 | 0: disable bridge netfilter vlan interface lookup. | ||
1319 | Default: 0 | ||
1297 | 1320 | ||
1298 | proc/sys/net/sctp/* Variables: | 1321 | proc/sys/net/sctp/* Variables: |
1299 | 1322 | ||
@@ -1484,11 +1507,8 @@ addr_scope_policy - INTEGER | |||
1484 | 1507 | ||
1485 | 1508 | ||
1486 | /proc/sys/net/core/* | 1509 | /proc/sys/net/core/* |
1487 | dev_weight - INTEGER | 1510 | Please see: Documentation/sysctl/net.txt for descriptions of these entries. |
1488 | The maximum number of packets that kernel can handle on a NAPI | ||
1489 | interrupt, it's a Per-CPU variable. | ||
1490 | 1511 | ||
1491 | Default: 64 | ||
1492 | 1512 | ||
1493 | /proc/sys/net/unix/* | 1513 | /proc/sys/net/unix/* |
1494 | max_dgram_qlen - INTEGER | 1514 | max_dgram_qlen - INTEGER |
diff --git a/Documentation/networking/mac80211-auth-assoc-deauth.txt b/Documentation/networking/mac80211-auth-assoc-deauth.txt index e0a2aa585ca3..d7a15fe91bf7 100644 --- a/Documentation/networking/mac80211-auth-assoc-deauth.txt +++ b/Documentation/networking/mac80211-auth-assoc-deauth.txt | |||
@@ -23,7 +23,7 @@ BA session stop & deauth/disassoc frames | |||
23 | end note | 23 | end note |
24 | end | 24 | end |
25 | 25 | ||
26 | mac80211->driver: config(channel, non-HT) | 26 | mac80211->driver: config(channel, channel type) |
27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
28 | mac80211->driver: sta_state(AP, exists) | 28 | mac80211->driver: sta_state(AP, exists) |
29 | 29 | ||
@@ -51,7 +51,7 @@ note over mac80211,driver: cleanup like for authenticate | |||
51 | end | 51 | end |
52 | 52 | ||
53 | alt not previously authenticated (FT) | 53 | alt not previously authenticated (FT) |
54 | mac80211->driver: config(channel, non-HT) | 54 | mac80211->driver: config(channel, channel type) |
55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
56 | mac80211->driver: sta_state(AP, exists) | 56 | mac80211->driver: sta_state(AP, exists) |
57 | mac80211->driver: sta_state(AP, authenticated) | 57 | mac80211->driver: sta_state(AP, authenticated) |
@@ -67,10 +67,6 @@ end | |||
67 | 67 | ||
68 | mac80211->driver: set up QoS parameters | 68 | mac80211->driver: set up QoS parameters |
69 | 69 | ||
70 | alt is HT channel | ||
71 | mac80211->driver: config(channel, HT params) | ||
72 | end | ||
73 | |||
74 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) | 70 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) |
75 | mac80211->userspace: associated | 71 | mac80211->userspace: associated |
76 | 72 | ||
@@ -95,5 +91,5 @@ mac80211->driver: sta_state(AP,exists) | |||
95 | mac80211->driver: sta_state(AP,not-exists) | 91 | mac80211->driver: sta_state(AP,not-exists) |
96 | mac80211->driver: turn off powersave | 92 | mac80211->driver: turn off powersave |
97 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) | 93 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) |
98 | mac80211->driver: config(non-HT channel type) | 94 | mac80211->driver: config(channel type to non-HT) |
99 | mac80211->userspace: disconnected | 95 | mac80211->userspace: disconnected |
diff --git a/Documentation/networking/olympic.txt b/Documentation/networking/olympic.txt deleted file mode 100644 index b95b5bf96751..000000000000 --- a/Documentation/networking/olympic.txt +++ /dev/null | |||
@@ -1,79 +0,0 @@ | |||
1 | |||
2 | IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README | ||
3 | |||
4 | Release 0.2.0 - Release | ||
5 | June 8th 1999 Peter De Schrijver & Mike Phillips | ||
6 | Release 0.9.C - Release | ||
7 | April 18th 2001 Mike Phillips | ||
8 | |||
9 | Thanks: | ||
10 | Erik De Cock, Adrian Bridgett and Frank Fiene for their | ||
11 | patience and testing. | ||
12 | Donald Champion for the cardbus support | ||
13 | Kyle Lucke for the dma api changes. | ||
14 | Jonathon Bitner for hardware support. | ||
15 | Everybody on linux-tr for their continued support. | ||
16 | |||
17 | Options: | ||
18 | |||
19 | The driver accepts four options: ringspeed, pkt_buf_sz, | ||
20 | message_level and network_monitor. | ||
21 | |||
22 | These options can be specified differently for each card found. | ||
23 | |||
24 | ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will | ||
25 | make the card autosense the ringspeed and join at the appropriate speed, | ||
26 | this will be the default option for most people. 4 or 16 allow you to | ||
27 | explicitly force the card to operate at a certain speed. The card will fail | ||
28 | if you try to insert it at the wrong speed. (Although some hubs will allow | ||
29 | this so be *very* careful). The main purpose for explicitly setting the ring | ||
30 | speed is for when the card is first on the ring. In autosense mode, if the card | ||
31 | cannot detect any active monitors on the ring it will not open, so you must | ||
32 | re-init the card at the appropriate speed. Unfortunately at present the only | ||
33 | way of doing this is rmmod and insmod which is a bit tough if it is compiled | ||
34 | in the kernel. | ||
35 | |||
36 | pkt_buf_sz: This is this initial receive buffer allocation size. This will | ||
37 | default to 4096 if no value is entered. You may increase performance of the | ||
38 | driver by setting this to a value larger than the network packet size, although | ||
39 | the driver now re-sizes buffers based on MTU settings as well. | ||
40 | |||
41 | message_level: Controls level of messages created by the driver. Defaults to 0: | ||
42 | which only displays start-up and critical messages. Presently any non-zero | ||
43 | value will display all soft messages as well. NB This does not turn | ||
44 | debugging messages on, that must be done by modified the source code. | ||
45 | |||
46 | network_monitor: Any non-zero value will provide a quasi network monitoring | ||
47 | mode. All unexpected MAC frames (beaconing etc.) will be received | ||
48 | by the driver and the source and destination addresses printed. | ||
49 | Also an entry will be added in /proc/net called olympic_tr%d, where tr%d | ||
50 | is the registered device name, i.e tr0, tr1, etc. This displays low | ||
51 | level information about the configuration of the ring and the adapter. | ||
52 | This feature has been designed for network administrators to assist in | ||
53 | the diagnosis of network / ring problems. (This used to OLYMPIC_NETWORK_MONITOR, | ||
54 | but has now changed to allow each adapter to be configured differently and | ||
55 | to alleviate the necessity to re-compile olympic to turn the option on). | ||
56 | |||
57 | Multi-card: | ||
58 | |||
59 | The driver will detect multiple cards and will work with shared interrupts, | ||
60 | each card is assigned the next token ring device, i.e. tr0 , tr1, tr2. The | ||
61 | driver should also happily reside in the system with other drivers. It has | ||
62 | been tested with ibmtr.c running, and I personally have had one Olicom PCI | ||
63 | card and two IBM olympic cards (all on the same interrupt), all running | ||
64 | together. | ||
65 | |||
66 | Variable MTU size: | ||
67 | |||
68 | The driver can handle a MTU size up to either 4500 or 18000 depending upon | ||
69 | ring speed. The driver also changes the size of the receive buffers as part | ||
70 | of the mtu re-sizing, so if you set mtu = 18000, you will need to be able | ||
71 | to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring | ||
72 | position = 296,000 bytes of memory space, plus of course anything | ||
73 | necessary for the tx sk_buff's. Remember this is per card, so if you are | ||
74 | building routers, gateway's etc, you could start to use a lot of memory | ||
75 | real fast. | ||
76 | |||
77 | |||
78 | 6/8/99 Peter De Schrijver and Mike Phillips | ||
79 | |||
diff --git a/Documentation/networking/smctr.txt b/Documentation/networking/smctr.txt deleted file mode 100644 index 9af25b810c1f..000000000000 --- a/Documentation/networking/smctr.txt +++ /dev/null | |||
@@ -1,66 +0,0 @@ | |||
1 | Text File for the SMC TokenCard TokenRing Linux driver (smctr.c). | ||
2 | By Jay Schulist <jschlst@samba.org> | ||
3 | |||
4 | The Linux SMC Token Ring driver works with the SMC TokenCard Elite (8115T) | ||
5 | ISA and SMC TokenCard Elite/A (8115T/A) MCA adapters. | ||
6 | |||
7 | Latest information on this driver can be obtained on the Linux-SNA WWW site. | ||
8 | Please point your browser to: http://www.linux-sna.org | ||
9 | |||
10 | This driver is rather simple to use. Select Y to Token Ring adapter support | ||
11 | in the kernel configuration. A choice for SMC Token Ring adapters will | ||
12 | appear. This drives supports all SMC ISA/MCA adapters. Choose this | ||
13 | option. I personally recommend compiling the driver as a module (M), but if you | ||
14 | you would like to compile it statically answer Y instead. | ||
15 | |||
16 | This driver supports multiple adapters without the need to load multiple copies | ||
17 | of the driver. You should be able to load up to 7 adapters without any kernel | ||
18 | modifications, if you are in need of more please contact the maintainer of this | ||
19 | driver. | ||
20 | |||
21 | Load the driver either by lilo/loadlin or as a module. When a module using the | ||
22 | following command will suffice for most: | ||
23 | |||
24 | # modprobe smctr | ||
25 | smctr.c: v1.00 12/6/99 by jschlst@samba.org | ||
26 | tr0: SMC TokenCard 8115T at Io 0x300, Irq 10, Rom 0xd8000, Ram 0xcc000. | ||
27 | |||
28 | Now just setup the device via ifconfig and set and routes you may have. After | ||
29 | this you are ready to start sending some tokens. | ||
30 | |||
31 | Errata: | ||
32 | 1). For anyone wondering where to pick up the SMC adapters please browse | ||
33 | to http://www.smc.com | ||
34 | |||
35 | 2). If you are the first/only Token Ring Client on a Token Ring LAN, please | ||
36 | specify the ringspeed with the ringspeed=[4/16] module option. If no | ||
37 | ringspeed is specified the driver will attempt to autodetect the ring | ||
38 | speed and/or if the adapter is the first/only station on the ring take | ||
39 | the appropriate actions. | ||
40 | |||
41 | NOTE: Default ring speed is 16MB UTP. | ||
42 | |||
43 | 3). PnP support for this adapter sucks. I recommend hard setting the | ||
44 | IO/MEM/IRQ by the jumpers on the adapter. If this is not possible | ||
45 | load the module with the following io=[ioaddr] mem=[mem_addr] | ||
46 | irq=[irq_num]. | ||
47 | |||
48 | The following IRQ, IO, and MEM settings are supported. | ||
49 | |||
50 | IO ports: | ||
51 | 0x200, 0x220, 0x240, 0x260, 0x280, 0x2A0, 0x2C0, 0x2E0, 0x300, | ||
52 | 0x320, 0x340, 0x360, 0x380. | ||
53 | |||
54 | IRQs: | ||
55 | 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15 | ||
56 | |||
57 | Memory addresses: | ||
58 | 0xA0000, 0xA4000, 0xA8000, 0xAC000, 0xB0000, 0xB4000, | ||
59 | 0xB8000, 0xBC000, 0xC0000, 0xC4000, 0xC8000, 0xCC000, | ||
60 | 0xD0000, 0xD4000, 0xD8000, 0xDC000, 0xE0000, 0xE4000, | ||
61 | 0xE8000, 0xEC000, 0xF0000, 0xF4000, 0xF8000, 0xFC000 | ||
62 | |||
63 | This driver is under the GNU General Public License. Its Firmware image is | ||
64 | included as an initialized C-array and is licensed by SMC to the Linux | ||
65 | users of this driver. However no warranty about its fitness is expressed or | ||
66 | implied by SMC. | ||
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt index d0aeeadd264b..ab1e8d7004c5 100644 --- a/Documentation/networking/stmmac.txt +++ b/Documentation/networking/stmmac.txt | |||
@@ -111,11 +111,12 @@ and detailed below as well: | |||
111 | int phy_addr; | 111 | int phy_addr; |
112 | int interface; | 112 | int interface; |
113 | struct stmmac_mdio_bus_data *mdio_bus_data; | 113 | struct stmmac_mdio_bus_data *mdio_bus_data; |
114 | int pbl; | 114 | struct stmmac_dma_cfg *dma_cfg; |
115 | int clk_csr; | 115 | int clk_csr; |
116 | int has_gmac; | 116 | int has_gmac; |
117 | int enh_desc; | 117 | int enh_desc; |
118 | int tx_coe; | 118 | int tx_coe; |
119 | int rx_coe; | ||
119 | int bugged_jumbo; | 120 | int bugged_jumbo; |
120 | int pmt; | 121 | int pmt; |
121 | int force_sf_dma_mode; | 122 | int force_sf_dma_mode; |
@@ -136,10 +137,12 @@ Where: | |||
136 | o pbl: the Programmable Burst Length is maximum number of beats to | 137 | o pbl: the Programmable Burst Length is maximum number of beats to |
137 | be transferred in one DMA transaction. | 138 | be transferred in one DMA transaction. |
138 | GMAC also enables the 4xPBL by default. | 139 | GMAC also enables the 4xPBL by default. |
139 | o clk_csr: CSR Clock range selection. | 140 | o clk_csr: fixed CSR Clock range selection. |
140 | o has_gmac: uses the GMAC core. | 141 | o has_gmac: uses the GMAC core. |
141 | o enh_desc: if sets the MAC will use the enhanced descriptor structure. | 142 | o enh_desc: if sets the MAC will use the enhanced descriptor structure. |
142 | o tx_coe: core is able to perform the tx csum in HW. | 143 | o tx_coe: core is able to perform the tx csum in HW. |
144 | o rx_coe: the supports three check sum offloading engine types: | ||
145 | type_1, type_2 (full csum) and no RX coe. | ||
143 | o bugged_jumbo: some HWs are not able to perform the csum in HW for | 146 | o bugged_jumbo: some HWs are not able to perform the csum in HW for |
144 | over-sized frames due to limited buffer sizes. | 147 | over-sized frames due to limited buffer sizes. |
145 | Setting this flag the csum will be done in SW on | 148 | Setting this flag the csum will be done in SW on |
@@ -160,7 +163,7 @@ Where: | |||
160 | o custom_cfg: this is a custom configuration that can be passed while | 163 | o custom_cfg: this is a custom configuration that can be passed while |
161 | initialising the resources. | 164 | initialising the resources. |
162 | 165 | ||
163 | The we have: | 166 | For MDIO bus The we have: |
164 | 167 | ||
165 | struct stmmac_mdio_bus_data { | 168 | struct stmmac_mdio_bus_data { |
166 | int bus_id; | 169 | int bus_id; |
@@ -177,10 +180,28 @@ Where: | |||
177 | o irqs: list of IRQs, one per PHY. | 180 | o irqs: list of IRQs, one per PHY. |
178 | o probed_phy_irq: if irqs is NULL, use this for probed PHY. | 181 | o probed_phy_irq: if irqs is NULL, use this for probed PHY. |
179 | 182 | ||
183 | |||
184 | For DMA engine we have the following internal fields that should be | ||
185 | tuned according to the HW capabilities. | ||
186 | |||
187 | struct stmmac_dma_cfg { | ||
188 | int pbl; | ||
189 | int fixed_burst; | ||
190 | int burst_len_supported; | ||
191 | }; | ||
192 | |||
193 | Where: | ||
194 | o pbl: Programmable Burst Length | ||
195 | o fixed_burst: program the DMA to use the fixed burst mode | ||
196 | o burst_len: this is the value we put in the register | ||
197 | supported values are provided as macros in | ||
198 | linux/stmmac.h header file. | ||
199 | |||
200 | --- | ||
201 | |||
180 | Below an example how the structures above are using on ST platforms. | 202 | Below an example how the structures above are using on ST platforms. |
181 | 203 | ||
182 | static struct plat_stmmacenet_data stxYYY_ethernet_platform_data = { | 204 | static struct plat_stmmacenet_data stxYYY_ethernet_platform_data = { |
183 | .pbl = 32, | ||
184 | .has_gmac = 0, | 205 | .has_gmac = 0, |
185 | .enh_desc = 0, | 206 | .enh_desc = 0, |
186 | .fix_mac_speed = stxYYY_ethernet_fix_mac_speed, | 207 | .fix_mac_speed = stxYYY_ethernet_fix_mac_speed, |
diff --git a/Documentation/networking/tms380tr.txt b/Documentation/networking/tms380tr.txt deleted file mode 100644 index 1f73e13058df..000000000000 --- a/Documentation/networking/tms380tr.txt +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | Text file for the Linux SysKonnect Token Ring ISA/PCI Adapter Driver. | ||
2 | Text file by: Jay Schulist <jschlst@samba.org> | ||
3 | |||
4 | The Linux SysKonnect Token Ring driver works with the SysKonnect TR4/16(+) ISA, | ||
5 | SysKonnect TR4/16(+) PCI, SysKonnect TR4/16 PCI, and older revisions of the | ||
6 | SK NET TR4/16 ISA card. | ||
7 | |||
8 | Latest information on this driver can be obtained on the Linux-SNA WWW site. | ||
9 | Please point your browser to: | ||
10 | http://www.linux-sna.org | ||
11 | |||
12 | Many thanks to Christoph Goos for his excellent work on this driver and | ||
13 | SysKonnect for donating the adapters to Linux-SNA for the testing and | ||
14 | maintenance of this device driver. | ||
15 | |||
16 | Important information to be noted: | ||
17 | 1. Adapters can be slow to open (~20 secs) and close (~5 secs), please be | ||
18 | patient. | ||
19 | 2. This driver works very well when autoprobing for adapters. Why even | ||
20 | think about those nasty io/int/dma settings of modprobe when the driver | ||
21 | will do it all for you! | ||
22 | |||
23 | This driver is rather simple to use. Select Y to Token Ring adapter support | ||
24 | in the kernel configuration. A choice for SysKonnect Token Ring adapters will | ||
25 | appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this | ||
26 | option. I personally recommend compiling the driver as a module (M), but if you | ||
27 | you would like to compile it statically answer Y instead. | ||
28 | |||
29 | This driver supports multiple adapters without the need to load multiple copies | ||
30 | of the driver. You should be able to load up to 7 adapters without any kernel | ||
31 | modifications, if you are in need of more please contact the maintainer of this | ||
32 | driver. | ||
33 | |||
34 | Load the driver either by lilo/loadlin or as a module. When a module using the | ||
35 | following command will suffice for most: | ||
36 | |||
37 | # modprobe sktr | ||
38 | |||
39 | This will produce output similar to the following: (Output is user specific) | ||
40 | |||
41 | sktr.c: v1.01 08/29/97 by Christoph Goos | ||
42 | tr0: SK NET TR 4/16 PCI found at 0x6100, using IRQ 17. | ||
43 | tr1: SK NET TR 4/16 PCI found at 0x6200, using IRQ 16. | ||
44 | tr2: SK NET TR 4/16 ISA found at 0xa20, using IRQ 10 and DMA 5. | ||
45 | |||
46 | Now just setup the device via ifconfig and set and routes you may have. After | ||
47 | this you are ready to start sending some tokens. | ||
48 | |||
49 | Errata: | ||
50 | For anyone wondering where to pick up the SysKonnect adapters please browse | ||
51 | to http://www.syskonnect.com | ||
52 | |||
53 | This driver is under the GNU General Public License. Its Firmware image is | ||
54 | included as an initialized C-array and is licensed by SysKonnect to the Linux | ||
55 | users of this driver. However no warranty about its fitness is expressed or | ||
56 | implied by SysKonnect. | ||
57 | |||
58 | Below find attached the setting for the SK NET TR 4/16 ISA adapters | ||
59 | ------------------------------------------------------------------- | ||
60 | |||
61 | *************************** | ||
62 | *** C O N T E N T S *** | ||
63 | *************************** | ||
64 | |||
65 | 1) Location of DIP-Switch W1 | ||
66 | 2) Default settings | ||
67 | 3) DIP-Switch W1 description | ||
68 | |||
69 | |||
70 | ============================================================== | ||
71 | CHAPTER 1 LOCATION OF DIP-SWITCH | ||
72 | ============================================================== | ||
73 | |||
74 | UÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
75 | þUÄÄÄÄÄÄ¿ UÄÄÄÄÄ¿ UÄÄÄ¿ þ | ||
76 | þAÄÄÄÄÄÄU W1 AÄÄÄÄÄU UÄÄÄÄ¿ þ þ þ | ||
77 | þUÄÄÄÄÄÄ¿ þ þ þ þ UÄÄÅ¿ | ||
78 | þAÄÄÄÄÄÄU UÄÄÄÄÄÄÄÄÄÄÄ¿ AÄÄÄÄU þ þ þ þþ | ||
79 | þUÄÄÄÄÄÄ¿ þ þ UÄÄÄ¿ AÄÄÄU AÄÄÅU | ||
80 | þAÄÄÄÄÄÄU þ TMS380C26 þ þ þ þ | ||
81 | þUÄÄÄÄÄÄ¿ þ þ AÄÄÄU AÄ¿ | ||
82 | þAÄÄÄÄÄÄU þ þ þ þ | ||
83 | þ AÄÄÄÄÄÄÄÄÄÄÄU þ þ | ||
84 | þ þ þ | ||
85 | þ AÄU | ||
86 | þ þ | ||
87 | þ þ | ||
88 | þ þ | ||
89 | þ þ | ||
90 | AÄÄÄÄÄÄÄÄÄÄÄÄAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄAÄÄAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄAÄÄÄÄÄÄÄÄÄU | ||
91 | AÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄU AÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄU | ||
92 | |||
93 | ============================================================== | ||
94 | CHAPTER 2 DEFAULT SETTINGS | ||
95 | ============================================================== | ||
96 | |||
97 | W1 1 2 3 4 5 6 7 8 | ||
98 | +------------------------------+ | ||
99 | | ON X | | ||
100 | | OFF X X X X X X X | | ||
101 | +------------------------------+ | ||
102 | |||
103 | W1.1 = ON Adapter drives address lines SA17..19 | ||
104 | W1.2 - 1.5 = OFF BootROM disabled | ||
105 | W1.6 - 1.8 = OFF I/O address 0A20h | ||
106 | |||
107 | ============================================================== | ||
108 | CHAPTER 3 DIP SWITCH W1 DESCRIPTION | ||
109 | ============================================================== | ||
110 | |||
111 | UÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄ¿ ON | ||
112 | þ 1 þ 2 þ 3 þ 4 þ 5 þ 6 þ 7 þ 8 þ | ||
113 | AÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄU OFF | ||
114 | |AD | BootROM Addr. | I/O | | ||
115 | +-+-+-------+-------+-----+-----+ | ||
116 | | | | | ||
117 | | | +------ 6 7 8 | ||
118 | | | ON ON ON 1900h | ||
119 | | | ON ON OFF 0900h | ||
120 | | | ON OFF ON 1980h | ||
121 | | | ON OFF OFF 0980h | ||
122 | | | OFF ON ON 1b20h | ||
123 | | | OFF ON OFF 0b20h | ||
124 | | | OFF OFF ON 1a20h | ||
125 | | | OFF OFF OFF 0a20h (+) | ||
126 | | | | ||
127 | | | | ||
128 | | +-------- 2 3 4 5 | ||
129 | | OFF x x x disabled (+) | ||
130 | | ON ON ON ON C0000 | ||
131 | | ON ON ON OFF C4000 | ||
132 | | ON ON OFF ON C8000 | ||
133 | | ON ON OFF OFF CC000 | ||
134 | | ON OFF ON ON D0000 | ||
135 | | ON OFF ON OFF D4000 | ||
136 | | ON OFF OFF ON D8000 | ||
137 | | ON OFF OFF OFF DC000 | ||
138 | | | ||
139 | | | ||
140 | +----- 1 | ||
141 | OFF adapter does NOT drive SA<17..19> | ||
142 | ON adapter drives SA<17..19> (+) | ||
143 | |||
144 | |||
145 | (+) means default setting | ||
146 | |||
147 | ******************************** | ||
diff --git a/Documentation/nfc/nfc-hci.txt b/Documentation/nfc/nfc-hci.txt new file mode 100644 index 000000000000..216b7254fcc3 --- /dev/null +++ b/Documentation/nfc/nfc-hci.txt | |||
@@ -0,0 +1,155 @@ | |||
1 | HCI backend for NFC Core | ||
2 | |||
3 | Author: Eric Lapuyade, Samuel Ortiz | ||
4 | Contact: eric.lapuyade@intel.com, samuel.ortiz@intel.com | ||
5 | |||
6 | General | ||
7 | ------- | ||
8 | |||
9 | The HCI layer implements much of the ETSI TS 102 622 V10.2.0 specification. It | ||
10 | enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core | ||
11 | backend, implementing an abstract nfc device and translating NFC Core API | ||
12 | to HCI commands and events. | ||
13 | |||
14 | HCI | ||
15 | --- | ||
16 | |||
17 | HCI registers as an nfc device with NFC Core. Requests coming from userspace are | ||
18 | routed through netlink sockets to NFC Core and then to HCI. From this point, | ||
19 | they are translated in a sequence of HCI commands sent to the HCI layer in the | ||
20 | host controller (the chip). The sending context blocks while waiting for the | ||
21 | response to arrive. | ||
22 | HCI events can also be received from the host controller. They will be handled | ||
23 | and a translation will be forwarded to NFC Core as needed. | ||
24 | HCI uses 2 execution contexts: | ||
25 | - one if for executing commands : nfc_hci_msg_tx_work(). Only one command | ||
26 | can be executing at any given moment. | ||
27 | - one if for dispatching received events and responses : nfc_hci_msg_rx_work() | ||
28 | |||
29 | HCI Session initialization: | ||
30 | --------------------------- | ||
31 | |||
32 | The Session initialization is an HCI standard which must unfortunately | ||
33 | support proprietary gates. This is the reason why the driver will pass a list | ||
34 | of proprietary gates that must be part of the session. HCI will ensure all | ||
35 | those gates have pipes connected when the hci device is set up. | ||
36 | |||
37 | HCI Gates and Pipes | ||
38 | ------------------- | ||
39 | |||
40 | A gate defines the 'port' where some service can be found. In order to access | ||
41 | a service, one must create a pipe to that gate and open it. In this | ||
42 | implementation, pipes are totally hidden. The public API only knows gates. | ||
43 | This is consistent with the driver need to send commands to proprietary gates | ||
44 | without knowing the pipe connected to it. | ||
45 | |||
46 | Driver interface | ||
47 | ---------------- | ||
48 | |||
49 | A driver would normally register itself with HCI and provide the following | ||
50 | entry points: | ||
51 | |||
52 | struct nfc_hci_ops { | ||
53 | int (*open)(struct nfc_hci_dev *hdev); | ||
54 | void (*close)(struct nfc_hci_dev *hdev); | ||
55 | int (*xmit)(struct nfc_hci_dev *hdev, struct sk_buff *skb); | ||
56 | int (*start_poll)(struct nfc_hci_dev *hdev, u32 protocols); | ||
57 | int (*target_from_gate)(struct nfc_hci_dev *hdev, u8 gate, | ||
58 | struct nfc_target *target); | ||
59 | }; | ||
60 | |||
61 | open() and close() shall turn the hardware on and off. xmit() shall simply | ||
62 | write a frame to the chip. start_poll() is an optional entrypoint that shall | ||
63 | set the hardware in polling mode. This must be implemented only if the hardware | ||
64 | uses proprietary gates or a mechanism slightly different from the HCI standard. | ||
65 | target_from_gate() is another optional entrypoint to return the protocols | ||
66 | corresponding to a proprietary gate. | ||
67 | |||
68 | On the rx path, the driver is responsible to push incoming HCP frames to HCI | ||
69 | using nfc_hci_recv_frame(). HCI will take care of re-aggregation and handling | ||
70 | This must be done from a context that can sleep. | ||
71 | |||
72 | SHDLC | ||
73 | ----- | ||
74 | |||
75 | Most chips use shdlc to ensure integrity and delivery ordering of the HCP | ||
76 | frames between the host controller (the chip) and hosts (entities connected | ||
77 | to the chip, like the cpu). In order to simplify writing the driver, an shdlc | ||
78 | layer is available for use by the driver. | ||
79 | When used, the driver actually registers with shdlc, and shdlc will register | ||
80 | with HCI. HCI sees shdlc as the driver and thus send its HCP frames | ||
81 | through shdlc->xmit. | ||
82 | SHDLC adds a new execution context (nfc_shdlc_sm_work()) to run its state | ||
83 | machine and handle both its rx and tx path. | ||
84 | |||
85 | Included Drivers | ||
86 | ---------------- | ||
87 | |||
88 | An HCI based driver for an NXP PN544, connected through I2C bus, and using | ||
89 | shdlc is included. | ||
90 | |||
91 | Execution Contexts | ||
92 | ------------------ | ||
93 | |||
94 | The execution contexts are the following: | ||
95 | - IRQ handler (IRQH): | ||
96 | fast, cannot sleep. stores incoming frames into an shdlc rx queue | ||
97 | |||
98 | - SHDLC State Machine worker (SMW) | ||
99 | handles shdlc rx & tx queues. Dispatches HCI cmd responses. | ||
100 | |||
101 | - HCI Tx Cmd worker (MSGTXWQ) | ||
102 | Serialize execution of HCI commands. Complete execution in case of resp timeout. | ||
103 | |||
104 | - HCI Rx worker (MSGRXWQ) | ||
105 | Dispatches incoming HCI commands or events. | ||
106 | |||
107 | - Syscall context from a userspace call (SYSCALL) | ||
108 | Any entrypoint in HCI called from NFC Core | ||
109 | |||
110 | Workflow executing an HCI command (using shdlc) | ||
111 | ----------------------------------------------- | ||
112 | |||
113 | Executing an HCI command can easily be performed synchronously using the | ||
114 | following API: | ||
115 | |||
116 | int nfc_hci_send_cmd (struct nfc_hci_dev *hdev, u8 gate, u8 cmd, | ||
117 | const u8 *param, size_t param_len, struct sk_buff **skb) | ||
118 | |||
119 | The API must be invoked from a context that can sleep. Most of the time, this | ||
120 | will be the syscall context. skb will return the result that was received in | ||
121 | the response. | ||
122 | |||
123 | Internally, execution is asynchronous. So all this API does is to enqueue the | ||
124 | HCI command, setup a local wait queue on stack, and wait_event() for completion. | ||
125 | The wait is not interruptible because it is guaranteed that the command will | ||
126 | complete after some short timeout anyway. | ||
127 | |||
128 | MSGTXWQ context will then be scheduled and invoke nfc_hci_msg_tx_work(). | ||
129 | This function will dequeue the next pending command and send its HCP fragments | ||
130 | to the lower layer which happens to be shdlc. It will then start a timer to be | ||
131 | able to complete the command with a timeout error if no response arrive. | ||
132 | |||
133 | SMW context gets scheduled and invokes nfc_shdlc_sm_work(). This function | ||
134 | handles shdlc framing in and out. It uses the driver xmit to send frames and | ||
135 | receives incoming frames in an skb queue filled from the driver IRQ handler. | ||
136 | SHDLC I(nformation) frames payload are HCP fragments. They are agregated to | ||
137 | form complete HCI frames, which can be a response, command, or event. | ||
138 | |||
139 | HCI Responses are dispatched immediately from this context to unblock | ||
140 | waiting command execution. Reponse processing involves invoking the completion | ||
141 | callback that was provided by nfc_hci_msg_tx_work() when it sent the command. | ||
142 | The completion callback will then wake the syscall context. | ||
143 | |||
144 | Workflow receiving an HCI event or command | ||
145 | ------------------------------------------ | ||
146 | |||
147 | HCI commands or events are not dispatched from SMW context. Instead, they are | ||
148 | queued to HCI rx_queue and will be dispatched from HCI rx worker | ||
149 | context (MSGRXWQ). This is done this way to allow a cmd or event handler | ||
150 | to also execute other commands (for example, handling the | ||
151 | NFC_HCI_EVT_TARGET_DISCOVERED event from PN544 requires to issue an | ||
152 | ANY_GET_PARAMETER to the reader A gate to get information on the target | ||
153 | that was discovered). | ||
154 | |||
155 | Typically, such an event will be propagated to NFC Core from MSGRXWQ context. | ||
diff --git a/Documentation/pinctrl.txt b/Documentation/pinctrl.txt index d97bccf46147..e40f4b4e1977 100644 --- a/Documentation/pinctrl.txt +++ b/Documentation/pinctrl.txt | |||
@@ -152,11 +152,9 @@ static const struct foo_group foo_groups[] = { | |||
152 | }; | 152 | }; |
153 | 153 | ||
154 | 154 | ||
155 | static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector) | 155 | static int foo_get_groups_count(struct pinctrl_dev *pctldev) |
156 | { | 156 | { |
157 | if (selector >= ARRAY_SIZE(foo_groups)) | 157 | return ARRAY_SIZE(foo_groups); |
158 | return -EINVAL; | ||
159 | return 0; | ||
160 | } | 158 | } |
161 | 159 | ||
162 | static const char *foo_get_group_name(struct pinctrl_dev *pctldev, | 160 | static const char *foo_get_group_name(struct pinctrl_dev *pctldev, |
@@ -175,7 +173,7 @@ static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector, | |||
175 | } | 173 | } |
176 | 174 | ||
177 | static struct pinctrl_ops foo_pctrl_ops = { | 175 | static struct pinctrl_ops foo_pctrl_ops = { |
178 | .list_groups = foo_list_groups, | 176 | .get_groups_count = foo_get_groups_count, |
179 | .get_group_name = foo_get_group_name, | 177 | .get_group_name = foo_get_group_name, |
180 | .get_group_pins = foo_get_group_pins, | 178 | .get_group_pins = foo_get_group_pins, |
181 | }; | 179 | }; |
@@ -186,13 +184,12 @@ static struct pinctrl_desc foo_desc = { | |||
186 | .pctlops = &foo_pctrl_ops, | 184 | .pctlops = &foo_pctrl_ops, |
187 | }; | 185 | }; |
188 | 186 | ||
189 | The pin control subsystem will call the .list_groups() function repeatedly | 187 | The pin control subsystem will call the .get_groups_count() function to |
190 | beginning on 0 until it returns non-zero to determine legal selectors, then | 188 | determine total number of legal selectors, then it will call the other functions |
191 | it will call the other functions to retrieve the name and pins of the group. | 189 | to retrieve the name and pins of the group. Maintaining the data structure of |
192 | Maintaining the data structure of the groups is up to the driver, this is | 190 | the groups is up to the driver, this is just a simple example - in practice you |
193 | just a simple example - in practice you may need more entries in your group | 191 | may need more entries in your group structure, for example specific register |
194 | structure, for example specific register ranges associated with each group | 192 | ranges associated with each group and so on. |
195 | and so on. | ||
196 | 193 | ||
197 | 194 | ||
198 | Pin configuration | 195 | Pin configuration |
@@ -606,11 +603,9 @@ static const struct foo_group foo_groups[] = { | |||
606 | }; | 603 | }; |
607 | 604 | ||
608 | 605 | ||
609 | static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector) | 606 | static int foo_get_groups_count(struct pinctrl_dev *pctldev) |
610 | { | 607 | { |
611 | if (selector >= ARRAY_SIZE(foo_groups)) | 608 | return ARRAY_SIZE(foo_groups); |
612 | return -EINVAL; | ||
613 | return 0; | ||
614 | } | 609 | } |
615 | 610 | ||
616 | static const char *foo_get_group_name(struct pinctrl_dev *pctldev, | 611 | static const char *foo_get_group_name(struct pinctrl_dev *pctldev, |
@@ -629,7 +624,7 @@ static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector, | |||
629 | } | 624 | } |
630 | 625 | ||
631 | static struct pinctrl_ops foo_pctrl_ops = { | 626 | static struct pinctrl_ops foo_pctrl_ops = { |
632 | .list_groups = foo_list_groups, | 627 | .get_groups_count = foo_get_groups_count, |
633 | .get_group_name = foo_get_group_name, | 628 | .get_group_name = foo_get_group_name, |
634 | .get_group_pins = foo_get_group_pins, | 629 | .get_group_pins = foo_get_group_pins, |
635 | }; | 630 | }; |
@@ -640,7 +635,7 @@ struct foo_pmx_func { | |||
640 | const unsigned num_groups; | 635 | const unsigned num_groups; |
641 | }; | 636 | }; |
642 | 637 | ||
643 | static const char * const spi0_groups[] = { "spi0_1_grp" }; | 638 | static const char * const spi0_groups[] = { "spi0_0_grp", "spi0_1_grp" }; |
644 | static const char * const i2c0_groups[] = { "i2c0_grp" }; | 639 | static const char * const i2c0_groups[] = { "i2c0_grp" }; |
645 | static const char * const mmc0_groups[] = { "mmc0_1_grp", "mmc0_2_grp", | 640 | static const char * const mmc0_groups[] = { "mmc0_1_grp", "mmc0_2_grp", |
646 | "mmc0_3_grp" }; | 641 | "mmc0_3_grp" }; |
@@ -663,11 +658,9 @@ static const struct foo_pmx_func foo_functions[] = { | |||
663 | }, | 658 | }, |
664 | }; | 659 | }; |
665 | 660 | ||
666 | int foo_list_funcs(struct pinctrl_dev *pctldev, unsigned selector) | 661 | int foo_get_functions_count(struct pinctrl_dev *pctldev) |
667 | { | 662 | { |
668 | if (selector >= ARRAY_SIZE(foo_functions)) | 663 | return ARRAY_SIZE(foo_functions); |
669 | return -EINVAL; | ||
670 | return 0; | ||
671 | } | 664 | } |
672 | 665 | ||
673 | const char *foo_get_fname(struct pinctrl_dev *pctldev, unsigned selector) | 666 | const char *foo_get_fname(struct pinctrl_dev *pctldev, unsigned selector) |
@@ -703,7 +696,7 @@ void foo_disable(struct pinctrl_dev *pctldev, unsigned selector, | |||
703 | } | 696 | } |
704 | 697 | ||
705 | struct pinmux_ops foo_pmxops = { | 698 | struct pinmux_ops foo_pmxops = { |
706 | .list_functions = foo_list_funcs, | 699 | .get_functions_count = foo_get_functions_count, |
707 | .get_function_name = foo_get_fname, | 700 | .get_function_name = foo_get_fname, |
708 | .get_function_groups = foo_get_groups, | 701 | .get_function_groups = foo_get_groups, |
709 | .enable = foo_enable, | 702 | .enable = foo_enable, |
@@ -786,7 +779,7 @@ and spi on the second function mapping: | |||
786 | 779 | ||
787 | #include <linux/pinctrl/machine.h> | 780 | #include <linux/pinctrl/machine.h> |
788 | 781 | ||
789 | static const struct pinctrl_map __initdata mapping[] = { | 782 | static const struct pinctrl_map mapping[] __initconst = { |
790 | { | 783 | { |
791 | .dev_name = "foo-spi.0", | 784 | .dev_name = "foo-spi.0", |
792 | .name = PINCTRL_STATE_DEFAULT, | 785 | .name = PINCTRL_STATE_DEFAULT, |
@@ -952,13 +945,13 @@ case), we define a mapping like this: | |||
952 | The result of grabbing this mapping from the device with something like | 945 | The result of grabbing this mapping from the device with something like |
953 | this (see next paragraph): | 946 | this (see next paragraph): |
954 | 947 | ||
955 | p = pinctrl_get(dev); | 948 | p = devm_pinctrl_get(dev); |
956 | s = pinctrl_lookup_state(p, "8bit"); | 949 | s = pinctrl_lookup_state(p, "8bit"); |
957 | ret = pinctrl_select_state(p, s); | 950 | ret = pinctrl_select_state(p, s); |
958 | 951 | ||
959 | or more simply: | 952 | or more simply: |
960 | 953 | ||
961 | p = pinctrl_get_select(dev, "8bit"); | 954 | p = devm_pinctrl_get_select(dev, "8bit"); |
962 | 955 | ||
963 | Will be that you activate all the three bottom records in the mapping at | 956 | Will be that you activate all the three bottom records in the mapping at |
964 | once. Since they share the same name, pin controller device, function and | 957 | once. Since they share the same name, pin controller device, function and |
@@ -992,7 +985,7 @@ foo_probe() | |||
992 | /* Allocate a state holder named "foo" etc */ | 985 | /* Allocate a state holder named "foo" etc */ |
993 | struct foo_state *foo = ...; | 986 | struct foo_state *foo = ...; |
994 | 987 | ||
995 | foo->p = pinctrl_get(&device); | 988 | foo->p = devm_pinctrl_get(&device); |
996 | if (IS_ERR(foo->p)) { | 989 | if (IS_ERR(foo->p)) { |
997 | /* FIXME: clean up "foo" here */ | 990 | /* FIXME: clean up "foo" here */ |
998 | return PTR_ERR(foo->p); | 991 | return PTR_ERR(foo->p); |
@@ -1000,24 +993,17 @@ foo_probe() | |||
1000 | 993 | ||
1001 | foo->s = pinctrl_lookup_state(foo->p, PINCTRL_STATE_DEFAULT); | 994 | foo->s = pinctrl_lookup_state(foo->p, PINCTRL_STATE_DEFAULT); |
1002 | if (IS_ERR(foo->s)) { | 995 | if (IS_ERR(foo->s)) { |
1003 | pinctrl_put(foo->p); | ||
1004 | /* FIXME: clean up "foo" here */ | 996 | /* FIXME: clean up "foo" here */ |
1005 | return PTR_ERR(s); | 997 | return PTR_ERR(s); |
1006 | } | 998 | } |
1007 | 999 | ||
1008 | ret = pinctrl_select_state(foo->s); | 1000 | ret = pinctrl_select_state(foo->s); |
1009 | if (ret < 0) { | 1001 | if (ret < 0) { |
1010 | pinctrl_put(foo->p); | ||
1011 | /* FIXME: clean up "foo" here */ | 1002 | /* FIXME: clean up "foo" here */ |
1012 | return ret; | 1003 | return ret; |
1013 | } | 1004 | } |
1014 | } | 1005 | } |
1015 | 1006 | ||
1016 | foo_remove() | ||
1017 | { | ||
1018 | pinctrl_put(state->p); | ||
1019 | } | ||
1020 | |||
1021 | This get/lookup/select/put sequence can just as well be handled by bus drivers | 1007 | This get/lookup/select/put sequence can just as well be handled by bus drivers |
1022 | if you don't want each and every driver to handle it and you know the | 1008 | if you don't want each and every driver to handle it and you know the |
1023 | arrangement on your bus. | 1009 | arrangement on your bus. |
@@ -1029,6 +1015,11 @@ The semantics of the pinctrl APIs are: | |||
1029 | kernel memory to hold the pinmux state. All mapping table parsing or similar | 1015 | kernel memory to hold the pinmux state. All mapping table parsing or similar |
1030 | slow operations take place within this API. | 1016 | slow operations take place within this API. |
1031 | 1017 | ||
1018 | - devm_pinctrl_get() is a variant of pinctrl_get() that causes pinctrl_put() | ||
1019 | to be called automatically on the retrieved pointer when the associated | ||
1020 | device is removed. It is recommended to use this function over plain | ||
1021 | pinctrl_get(). | ||
1022 | |||
1032 | - pinctrl_lookup_state() is called in process context to obtain a handle to a | 1023 | - pinctrl_lookup_state() is called in process context to obtain a handle to a |
1033 | specific state for a the client device. This operation may be slow too. | 1024 | specific state for a the client device. This operation may be slow too. |
1034 | 1025 | ||
@@ -1041,14 +1032,30 @@ The semantics of the pinctrl APIs are: | |||
1041 | 1032 | ||
1042 | - pinctrl_put() frees all information associated with a pinctrl handle. | 1033 | - pinctrl_put() frees all information associated with a pinctrl handle. |
1043 | 1034 | ||
1035 | - devm_pinctrl_put() is a variant of pinctrl_put() that may be used to | ||
1036 | explicitly destroy a pinctrl object returned by devm_pinctrl_get(). | ||
1037 | However, use of this function will be rare, due to the automatic cleanup | ||
1038 | that will occur even without calling it. | ||
1039 | |||
1040 | pinctrl_get() must be paired with a plain pinctrl_put(). | ||
1041 | pinctrl_get() may not be paired with devm_pinctrl_put(). | ||
1042 | devm_pinctrl_get() can optionally be paired with devm_pinctrl_put(). | ||
1043 | devm_pinctrl_get() may not be paired with plain pinctrl_put(). | ||
1044 | |||
1044 | Usually the pin control core handled the get/put pair and call out to the | 1045 | Usually the pin control core handled the get/put pair and call out to the |
1045 | device drivers bookkeeping operations, like checking available functions and | 1046 | device drivers bookkeeping operations, like checking available functions and |
1046 | the associated pins, whereas the enable/disable pass on to the pin controller | 1047 | the associated pins, whereas the enable/disable pass on to the pin controller |
1047 | driver which takes care of activating and/or deactivating the mux setting by | 1048 | driver which takes care of activating and/or deactivating the mux setting by |
1048 | quickly poking some registers. | 1049 | quickly poking some registers. |
1049 | 1050 | ||
1050 | The pins are allocated for your device when you issue the pinctrl_get() call, | 1051 | The pins are allocated for your device when you issue the devm_pinctrl_get() |
1051 | after this you should be able to see this in the debugfs listing of all pins. | 1052 | call, after this you should be able to see this in the debugfs listing of all |
1053 | pins. | ||
1054 | |||
1055 | NOTE: the pinctrl system will return -EPROBE_DEFER if it cannot find the | ||
1056 | requested pinctrl handles, for example if the pinctrl driver has not yet | ||
1057 | registered. Thus make sure that the error path in your driver gracefully | ||
1058 | cleans up and is ready to retry the probing later in the startup process. | ||
1052 | 1059 | ||
1053 | 1060 | ||
1054 | System pin control hogging | 1061 | System pin control hogging |
@@ -1094,13 +1101,13 @@ it, disables and releases it, and muxes it in on the pins defined by group B: | |||
1094 | 1101 | ||
1095 | #include <linux/pinctrl/consumer.h> | 1102 | #include <linux/pinctrl/consumer.h> |
1096 | 1103 | ||
1097 | foo_switch() | 1104 | struct pinctrl *p; |
1098 | { | 1105 | struct pinctrl_state *s1, *s2; |
1099 | struct pinctrl *p; | ||
1100 | struct pinctrl_state *s1, *s2; | ||
1101 | 1106 | ||
1107 | foo_probe() | ||
1108 | { | ||
1102 | /* Setup */ | 1109 | /* Setup */ |
1103 | p = pinctrl_get(&device); | 1110 | p = devm_pinctrl_get(&device); |
1104 | if (IS_ERR(p)) | 1111 | if (IS_ERR(p)) |
1105 | ... | 1112 | ... |
1106 | 1113 | ||
@@ -1111,7 +1118,10 @@ foo_switch() | |||
1111 | s2 = pinctrl_lookup_state(foo->p, "pos-B"); | 1118 | s2 = pinctrl_lookup_state(foo->p, "pos-B"); |
1112 | if (IS_ERR(s2)) | 1119 | if (IS_ERR(s2)) |
1113 | ... | 1120 | ... |
1121 | } | ||
1114 | 1122 | ||
1123 | foo_switch() | ||
1124 | { | ||
1115 | /* Enable on position A */ | 1125 | /* Enable on position A */ |
1116 | ret = pinctrl_select_state(s1); | 1126 | ret = pinctrl_select_state(s1); |
1117 | if (ret < 0) | 1127 | if (ret < 0) |
@@ -1125,8 +1135,6 @@ foo_switch() | |||
1125 | ... | 1135 | ... |
1126 | 1136 | ||
1127 | ... | 1137 | ... |
1128 | |||
1129 | pinctrl_put(p); | ||
1130 | } | 1138 | } |
1131 | 1139 | ||
1132 | The above has to be done from process context. | 1140 | The above has to be done from process context. |
diff --git a/Documentation/power/regulator/regulator.txt b/Documentation/power/regulator/regulator.txt index e272d9909e39..13902778ae44 100644 --- a/Documentation/power/regulator/regulator.txt +++ b/Documentation/power/regulator/regulator.txt | |||
@@ -11,8 +11,7 @@ Registration | |||
11 | Drivers can register a regulator by calling :- | 11 | Drivers can register a regulator by calling :- |
12 | 12 | ||
13 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, | 13 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, |
14 | struct device *dev, struct regulator_init_data *init_data, | 14 | const struct regulator_config *config); |
15 | void *driver_data, struct device_node *of_node); | ||
16 | 15 | ||
17 | This will register the regulators capabilities and operations to the regulator | 16 | This will register the regulators capabilities and operations to the regulator |
18 | core. | 17 | core. |
diff --git a/Documentation/prctl/seccomp_filter.txt b/Documentation/prctl/seccomp_filter.txt new file mode 100644 index 000000000000..597c3c581375 --- /dev/null +++ b/Documentation/prctl/seccomp_filter.txt | |||
@@ -0,0 +1,163 @@ | |||
1 | SECure COMPuting with filters | ||
2 | ============================= | ||
3 | |||
4 | Introduction | ||
5 | ------------ | ||
6 | |||
7 | A large number of system calls are exposed to every userland process | ||
8 | with many of them going unused for the entire lifetime of the process. | ||
9 | As system calls change and mature, bugs are found and eradicated. A | ||
10 | certain subset of userland applications benefit by having a reduced set | ||
11 | of available system calls. The resulting set reduces the total kernel | ||
12 | surface exposed to the application. System call filtering is meant for | ||
13 | use with those applications. | ||
14 | |||
15 | Seccomp filtering provides a means for a process to specify a filter for | ||
16 | incoming system calls. The filter is expressed as a Berkeley Packet | ||
17 | Filter (BPF) program, as with socket filters, except that the data | ||
18 | operated on is related to the system call being made: system call | ||
19 | number and the system call arguments. This allows for expressive | ||
20 | filtering of system calls using a filter program language with a long | ||
21 | history of being exposed to userland and a straightforward data set. | ||
22 | |||
23 | Additionally, BPF makes it impossible for users of seccomp to fall prey | ||
24 | to time-of-check-time-of-use (TOCTOU) attacks that are common in system | ||
25 | call interposition frameworks. BPF programs may not dereference | ||
26 | pointers which constrains all filters to solely evaluating the system | ||
27 | call arguments directly. | ||
28 | |||
29 | What it isn't | ||
30 | ------------- | ||
31 | |||
32 | System call filtering isn't a sandbox. It provides a clearly defined | ||
33 | mechanism for minimizing the exposed kernel surface. It is meant to be | ||
34 | a tool for sandbox developers to use. Beyond that, policy for logical | ||
35 | behavior and information flow should be managed with a combination of | ||
36 | other system hardening techniques and, potentially, an LSM of your | ||
37 | choosing. Expressive, dynamic filters provide further options down this | ||
38 | path (avoiding pathological sizes or selecting which of the multiplexed | ||
39 | system calls in socketcall() is allowed, for instance) which could be | ||
40 | construed, incorrectly, as a more complete sandboxing solution. | ||
41 | |||
42 | Usage | ||
43 | ----- | ||
44 | |||
45 | An additional seccomp mode is added and is enabled using the same | ||
46 | prctl(2) call as the strict seccomp. If the architecture has | ||
47 | CONFIG_HAVE_ARCH_SECCOMP_FILTER, then filters may be added as below: | ||
48 | |||
49 | PR_SET_SECCOMP: | ||
50 | Now takes an additional argument which specifies a new filter | ||
51 | using a BPF program. | ||
52 | The BPF program will be executed over struct seccomp_data | ||
53 | reflecting the system call number, arguments, and other | ||
54 | metadata. The BPF program must then return one of the | ||
55 | acceptable values to inform the kernel which action should be | ||
56 | taken. | ||
57 | |||
58 | Usage: | ||
59 | prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, prog); | ||
60 | |||
61 | The 'prog' argument is a pointer to a struct sock_fprog which | ||
62 | will contain the filter program. If the program is invalid, the | ||
63 | call will return -1 and set errno to EINVAL. | ||
64 | |||
65 | If fork/clone and execve are allowed by @prog, any child | ||
66 | processes will be constrained to the same filters and system | ||
67 | call ABI as the parent. | ||
68 | |||
69 | Prior to use, the task must call prctl(PR_SET_NO_NEW_PRIVS, 1) or | ||
70 | run with CAP_SYS_ADMIN privileges in its namespace. If these are not | ||
71 | true, -EACCES will be returned. This requirement ensures that filter | ||
72 | programs cannot be applied to child processes with greater privileges | ||
73 | than the task that installed them. | ||
74 | |||
75 | Additionally, if prctl(2) is allowed by the attached filter, | ||
76 | additional filters may be layered on which will increase evaluation | ||
77 | time, but allow for further decreasing the attack surface during | ||
78 | execution of a process. | ||
79 | |||
80 | The above call returns 0 on success and non-zero on error. | ||
81 | |||
82 | Return values | ||
83 | ------------- | ||
84 | A seccomp filter may return any of the following values. If multiple | ||
85 | filters exist, the return value for the evaluation of a given system | ||
86 | call will always use the highest precedent value. (For example, | ||
87 | SECCOMP_RET_KILL will always take precedence.) | ||
88 | |||
89 | In precedence order, they are: | ||
90 | |||
91 | SECCOMP_RET_KILL: | ||
92 | Results in the task exiting immediately without executing the | ||
93 | system call. The exit status of the task (status & 0x7f) will | ||
94 | be SIGSYS, not SIGKILL. | ||
95 | |||
96 | SECCOMP_RET_TRAP: | ||
97 | Results in the kernel sending a SIGSYS signal to the triggering | ||
98 | task without executing the system call. The kernel will | ||
99 | rollback the register state to just before the system call | ||
100 | entry such that a signal handler in the task will be able to | ||
101 | inspect the ucontext_t->uc_mcontext registers and emulate | ||
102 | system call success or failure upon return from the signal | ||
103 | handler. | ||
104 | |||
105 | The SECCOMP_RET_DATA portion of the return value will be passed | ||
106 | as si_errno. | ||
107 | |||
108 | SIGSYS triggered by seccomp will have a si_code of SYS_SECCOMP. | ||
109 | |||
110 | SECCOMP_RET_ERRNO: | ||
111 | Results in the lower 16-bits of the return value being passed | ||
112 | to userland as the errno without executing the system call. | ||
113 | |||
114 | SECCOMP_RET_TRACE: | ||
115 | When returned, this value will cause the kernel to attempt to | ||
116 | notify a ptrace()-based tracer prior to executing the system | ||
117 | call. If there is no tracer present, -ENOSYS is returned to | ||
118 | userland and the system call is not executed. | ||
119 | |||
120 | A tracer will be notified if it requests PTRACE_O_TRACESECCOMP | ||
121 | using ptrace(PTRACE_SETOPTIONS). The tracer will be notified | ||
122 | of a PTRACE_EVENT_SECCOMP and the SECCOMP_RET_DATA portion of | ||
123 | the BPF program return value will be available to the tracer | ||
124 | via PTRACE_GETEVENTMSG. | ||
125 | |||
126 | SECCOMP_RET_ALLOW: | ||
127 | Results in the system call being executed. | ||
128 | |||
129 | If multiple filters exist, the return value for the evaluation of a | ||
130 | given system call will always use the highest precedent value. | ||
131 | |||
132 | Precedence is only determined using the SECCOMP_RET_ACTION mask. When | ||
133 | multiple filters return values of the same precedence, only the | ||
134 | SECCOMP_RET_DATA from the most recently installed filter will be | ||
135 | returned. | ||
136 | |||
137 | Pitfalls | ||
138 | -------- | ||
139 | |||
140 | The biggest pitfall to avoid during use is filtering on system call | ||
141 | number without checking the architecture value. Why? On any | ||
142 | architecture that supports multiple system call invocation conventions, | ||
143 | the system call numbers may vary based on the specific invocation. If | ||
144 | the numbers in the different calling conventions overlap, then checks in | ||
145 | the filters may be abused. Always check the arch value! | ||
146 | |||
147 | Example | ||
148 | ------- | ||
149 | |||
150 | The samples/seccomp/ directory contains both an x86-specific example | ||
151 | and a more generic example of a higher level macro interface for BPF | ||
152 | program generation. | ||
153 | |||
154 | |||
155 | |||
156 | Adding architecture support | ||
157 | ----------------------- | ||
158 | |||
159 | See arch/Kconfig for the authoritative requirements. In general, if an | ||
160 | architecture supports both ptrace_event and seccomp, it will be able to | ||
161 | support seccomp filter with minor fixup: SIGSYS support and seccomp return | ||
162 | value checking. Then it must just add CONFIG_HAVE_ARCH_SECCOMP_FILTER | ||
163 | to its arch-specific Kconfig. | ||
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index 83f8ea8b79eb..80441ab608e4 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
@@ -1,3 +1,11 @@ | |||
1 | Release Date : Mon. Mar 19, 2012 17:00:00 PST 2012 - | ||
2 | (emaild-id:megaraidlinux@lsi.com) | ||
3 | Adam Radford | ||
4 | Current Version : 00.00.06.15-rc1 | ||
5 | Old Version : 00.00.06.14-rc1 | ||
6 | 1. Optimize HostMSIxVectors setting. | ||
7 | 2. Add fpRead/WriteCapable, fpRead/WriteAcrossStripe checks. | ||
8 | ------------------------------------------------------------------------------- | ||
1 | Release Date : Fri. Jan 6, 2012 17:00:00 PST 2010 - | 9 | Release Date : Fri. Jan 6, 2012 17:00:00 PST 2010 - |
2 | (emaild-id:megaraidlinux@lsi.com) | 10 | (emaild-id:megaraidlinux@lsi.com) |
3 | Adam Radford | 11 | Adam Radford |
diff --git a/Documentation/security/Smack.txt b/Documentation/security/Smack.txt index d2f72ae66432..a416479b8a1c 100644 --- a/Documentation/security/Smack.txt +++ b/Documentation/security/Smack.txt | |||
@@ -15,7 +15,7 @@ at hand. | |||
15 | 15 | ||
16 | Smack consists of three major components: | 16 | Smack consists of three major components: |
17 | - The kernel | 17 | - The kernel |
18 | - A start-up script and a few modified applications | 18 | - Basic utilities, which are helpful but not required |
19 | - Configuration data | 19 | - Configuration data |
20 | 20 | ||
21 | The kernel component of Smack is implemented as a Linux | 21 | The kernel component of Smack is implemented as a Linux |
@@ -23,37 +23,28 @@ Security Modules (LSM) module. It requires netlabel and | |||
23 | works best with file systems that support extended attributes, | 23 | works best with file systems that support extended attributes, |
24 | although xattr support is not strictly required. | 24 | although xattr support is not strictly required. |
25 | It is safe to run a Smack kernel under a "vanilla" distribution. | 25 | It is safe to run a Smack kernel under a "vanilla" distribution. |
26 | |||
26 | Smack kernels use the CIPSO IP option. Some network | 27 | Smack kernels use the CIPSO IP option. Some network |
27 | configurations are intolerant of IP options and can impede | 28 | configurations are intolerant of IP options and can impede |
28 | access to systems that use them as Smack does. | 29 | access to systems that use them as Smack does. |
29 | 30 | ||
30 | The startup script etc-init.d-smack should be installed | 31 | The current git repositories for Smack user space are: |
31 | in /etc/init.d/smack and should be invoked early in the | ||
32 | start-up process. On Fedora rc5.d/S02smack is recommended. | ||
33 | This script ensures that certain devices have the correct | ||
34 | Smack attributes and loads the Smack configuration if | ||
35 | any is defined. This script invokes two programs that | ||
36 | ensure configuration data is properly formatted. These | ||
37 | programs are /usr/sbin/smackload and /usr/sin/smackcipso. | ||
38 | The system will run just fine without these programs, | ||
39 | but it will be difficult to set access rules properly. | ||
40 | |||
41 | A version of "ls" that provides a "-M" option to display | ||
42 | Smack labels on long listing is available. | ||
43 | 32 | ||
44 | A hacked version of sshd that allows network logins by users | 33 | git@gitorious.org:meego-platform-security/smackutil.git |
45 | with specific Smack labels is available. This version does | 34 | git@gitorious.org:meego-platform-security/libsmack.git |
46 | not work for scp. You must set the /etc/ssh/sshd_config | ||
47 | line: | ||
48 | UsePrivilegeSeparation no | ||
49 | 35 | ||
50 | The format of /etc/smack/usr is: | 36 | These should make and install on most modern distributions. |
37 | There are three commands included in smackutil: | ||
51 | 38 | ||
52 | username smack | 39 | smackload - properly formats data for writing to /smack/load |
40 | smackcipso - properly formats data for writing to /smack/cipso | ||
41 | chsmack - display or set Smack extended attribute values | ||
53 | 42 | ||
54 | In keeping with the intent of Smack, configuration data is | 43 | In keeping with the intent of Smack, configuration data is |
55 | minimal and not strictly required. The most important | 44 | minimal and not strictly required. The most important |
56 | configuration step is mounting the smackfs pseudo filesystem. | 45 | configuration step is mounting the smackfs pseudo filesystem. |
46 | If smackutil is installed the startup script will take care | ||
47 | of this, but it can be manually as well. | ||
57 | 48 | ||
58 | Add this line to /etc/fstab: | 49 | Add this line to /etc/fstab: |
59 | 50 | ||
@@ -61,19 +52,148 @@ Add this line to /etc/fstab: | |||
61 | 52 | ||
62 | and create the /smack directory for mounting. | 53 | and create the /smack directory for mounting. |
63 | 54 | ||
64 | Smack uses extended attributes (xattrs) to store file labels. | 55 | Smack uses extended attributes (xattrs) to store labels on filesystem |
65 | The command to set a Smack label on a file is: | 56 | objects. The attributes are stored in the extended attribute security |
57 | name space. A process must have CAP_MAC_ADMIN to change any of these | ||
58 | attributes. | ||
59 | |||
60 | The extended attributes that Smack uses are: | ||
61 | |||
62 | SMACK64 | ||
63 | Used to make access control decisions. In almost all cases | ||
64 | the label given to a new filesystem object will be the label | ||
65 | of the process that created it. | ||
66 | SMACK64EXEC | ||
67 | The Smack label of a process that execs a program file with | ||
68 | this attribute set will run with this attribute's value. | ||
69 | SMACK64MMAP | ||
70 | Don't allow the file to be mmapped by a process whose Smack | ||
71 | label does not allow all of the access permitted to a process | ||
72 | with the label contained in this attribute. This is a very | ||
73 | specific use case for shared libraries. | ||
74 | SMACK64TRANSMUTE | ||
75 | Can only have the value "TRUE". If this attribute is present | ||
76 | on a directory when an object is created in the directory and | ||
77 | the Smack rule (more below) that permitted the write access | ||
78 | to the directory includes the transmute ("t") mode the object | ||
79 | gets the label of the directory instead of the label of the | ||
80 | creating process. If the object being created is a directory | ||
81 | the SMACK64TRANSMUTE attribute is set as well. | ||
82 | SMACK64IPIN | ||
83 | This attribute is only available on file descriptors for sockets. | ||
84 | Use the Smack label in this attribute for access control | ||
85 | decisions on packets being delivered to this socket. | ||
86 | SMACK64IPOUT | ||
87 | This attribute is only available on file descriptors for sockets. | ||
88 | Use the Smack label in this attribute for access control | ||
89 | decisions on packets coming from this socket. | ||
90 | |||
91 | There are multiple ways to set a Smack label on a file: | ||
66 | 92 | ||
67 | # attr -S -s SMACK64 -V "value" path | 93 | # attr -S -s SMACK64 -V "value" path |
94 | # chsmack -a value path | ||
68 | 95 | ||
69 | NOTE: Smack labels are limited to 23 characters. The attr command | 96 | A process can see the smack label it is running with by |
70 | does not enforce this restriction and can be used to set | 97 | reading /proc/self/attr/current. A process with CAP_MAC_ADMIN |
71 | invalid Smack labels on files. | 98 | can set the process smack by writing there. |
72 | 99 | ||
73 | If you don't do anything special all users will get the floor ("_") | 100 | Most Smack configuration is accomplished by writing to files |
74 | label when they log in. If you do want to log in via the hacked ssh | 101 | in the smackfs filesystem. This pseudo-filesystem is usually |
75 | at other labels use the attr command to set the smack value on the | 102 | mounted on /smack. |
76 | home directory and its contents. | 103 | |
104 | access | ||
105 | This interface reports whether a subject with the specified | ||
106 | Smack label has a particular access to an object with a | ||
107 | specified Smack label. Write a fixed format access rule to | ||
108 | this file. The next read will indicate whether the access | ||
109 | would be permitted. The text will be either "1" indicating | ||
110 | access, or "0" indicating denial. | ||
111 | access2 | ||
112 | This interface reports whether a subject with the specified | ||
113 | Smack label has a particular access to an object with a | ||
114 | specified Smack label. Write a long format access rule to | ||
115 | this file. The next read will indicate whether the access | ||
116 | would be permitted. The text will be either "1" indicating | ||
117 | access, or "0" indicating denial. | ||
118 | ambient | ||
119 | This contains the Smack label applied to unlabeled network | ||
120 | packets. | ||
121 | cipso | ||
122 | This interface allows a specific CIPSO header to be assigned | ||
123 | to a Smack label. The format accepted on write is: | ||
124 | "%24s%4d%4d"["%4d"]... | ||
125 | The first string is a fixed Smack label. The first number is | ||
126 | the level to use. The second number is the number of categories. | ||
127 | The following numbers are the categories. | ||
128 | "level-3-cats-5-19 3 2 5 19" | ||
129 | cipso2 | ||
130 | This interface allows a specific CIPSO header to be assigned | ||
131 | to a Smack label. The format accepted on write is: | ||
132 | "%s%4d%4d"["%4d"]... | ||
133 | The first string is a long Smack label. The first number is | ||
134 | the level to use. The second number is the number of categories. | ||
135 | The following numbers are the categories. | ||
136 | "level-3-cats-5-19 3 2 5 19" | ||
137 | direct | ||
138 | This contains the CIPSO level used for Smack direct label | ||
139 | representation in network packets. | ||
140 | doi | ||
141 | This contains the CIPSO domain of interpretation used in | ||
142 | network packets. | ||
143 | load | ||
144 | This interface allows access control rules in addition to | ||
145 | the system defined rules to be specified. The format accepted | ||
146 | on write is: | ||
147 | "%24s%24s%5s" | ||
148 | where the first string is the subject label, the second the | ||
149 | object label, and the third the requested access. The access | ||
150 | string may contain only the characters "rwxat-", and specifies | ||
151 | which sort of access is allowed. The "-" is a placeholder for | ||
152 | permissions that are not allowed. The string "r-x--" would | ||
153 | specify read and execute access. Labels are limited to 23 | ||
154 | characters in length. | ||
155 | load2 | ||
156 | This interface allows access control rules in addition to | ||
157 | the system defined rules to be specified. The format accepted | ||
158 | on write is: | ||
159 | "%s %s %s" | ||
160 | where the first string is the subject label, the second the | ||
161 | object label, and the third the requested access. The access | ||
162 | string may contain only the characters "rwxat-", and specifies | ||
163 | which sort of access is allowed. The "-" is a placeholder for | ||
164 | permissions that are not allowed. The string "r-x--" would | ||
165 | specify read and execute access. | ||
166 | load-self | ||
167 | This interface allows process specific access rules to be | ||
168 | defined. These rules are only consulted if access would | ||
169 | otherwise be permitted, and are intended to provide additional | ||
170 | restrictions on the process. The format is the same as for | ||
171 | the load interface. | ||
172 | load-self2 | ||
173 | This interface allows process specific access rules to be | ||
174 | defined. These rules are only consulted if access would | ||
175 | otherwise be permitted, and are intended to provide additional | ||
176 | restrictions on the process. The format is the same as for | ||
177 | the load2 interface. | ||
178 | logging | ||
179 | This contains the Smack logging state. | ||
180 | mapped | ||
181 | This contains the CIPSO level used for Smack mapped label | ||
182 | representation in network packets. | ||
183 | netlabel | ||
184 | This interface allows specific internet addresses to be | ||
185 | treated as single label hosts. Packets are sent to single | ||
186 | label hosts without CIPSO headers, but only from processes | ||
187 | that have Smack write access to the host label. All packets | ||
188 | received from single label hosts are given the specified | ||
189 | label. The format accepted on write is: | ||
190 | "%d.%d.%d.%d label" or "%d.%d.%d.%d/%d label". | ||
191 | onlycap | ||
192 | This contains the label processes must have for CAP_MAC_ADMIN | ||
193 | and CAP_MAC_OVERRIDE to be effective. If this file is empty | ||
194 | these capabilities are effective at for processes with any | ||
195 | label. The value is set by writing the desired label to the | ||
196 | file or cleared by writing "-" to the file. | ||
77 | 197 | ||
78 | You can add access rules in /etc/smack/accesses. They take the form: | 198 | You can add access rules in /etc/smack/accesses. They take the form: |
79 | 199 | ||
@@ -83,10 +203,6 @@ access is a combination of the letters rwxa which specify the | |||
83 | kind of access permitted a subject with subjectlabel on an | 203 | kind of access permitted a subject with subjectlabel on an |
84 | object with objectlabel. If there is no rule no access is allowed. | 204 | object with objectlabel. If there is no rule no access is allowed. |
85 | 205 | ||
86 | A process can see the smack label it is running with by | ||
87 | reading /proc/self/attr/current. A privileged process can | ||
88 | set the process smack by writing there. | ||
89 | |||
90 | Look for additional programs on http://schaufler-ca.com | 206 | Look for additional programs on http://schaufler-ca.com |
91 | 207 | ||
92 | From the Smack Whitepaper: | 208 | From the Smack Whitepaper: |
@@ -186,7 +302,7 @@ team. Smack labels are unstructured, case sensitive, and the only operation | |||
186 | ever performed on them is comparison for equality. Smack labels cannot | 302 | ever performed on them is comparison for equality. Smack labels cannot |
187 | contain unprintable characters, the "/" (slash), the "\" (backslash), the "'" | 303 | contain unprintable characters, the "/" (slash), the "\" (backslash), the "'" |
188 | (quote) and '"' (double-quote) characters. | 304 | (quote) and '"' (double-quote) characters. |
189 | Smack labels cannot begin with a '-', which is reserved for special options. | 305 | Smack labels cannot begin with a '-'. This is reserved for special options. |
190 | 306 | ||
191 | There are some predefined labels: | 307 | There are some predefined labels: |
192 | 308 | ||
@@ -194,7 +310,7 @@ There are some predefined labels: | |||
194 | ^ Pronounced "hat", a single circumflex character. | 310 | ^ Pronounced "hat", a single circumflex character. |
195 | * Pronounced "star", a single asterisk character. | 311 | * Pronounced "star", a single asterisk character. |
196 | ? Pronounced "huh", a single question mark character. | 312 | ? Pronounced "huh", a single question mark character. |
197 | @ Pronounced "Internet", a single at sign character. | 313 | @ Pronounced "web", a single at sign character. |
198 | 314 | ||
199 | Every task on a Smack system is assigned a label. System tasks, such as | 315 | Every task on a Smack system is assigned a label. System tasks, such as |
200 | init(8) and systems daemons, are run with the floor ("_") label. User tasks | 316 | init(8) and systems daemons, are run with the floor ("_") label. User tasks |
@@ -246,13 +362,14 @@ The format of an access rule is: | |||
246 | 362 | ||
247 | Where subject-label is the Smack label of the task, object-label is the Smack | 363 | Where subject-label is the Smack label of the task, object-label is the Smack |
248 | label of the thing being accessed, and access is a string specifying the sort | 364 | label of the thing being accessed, and access is a string specifying the sort |
249 | of access allowed. The Smack labels are limited to 23 characters. The access | 365 | of access allowed. The access specification is searched for letters that |
250 | specification is searched for letters that describe access modes: | 366 | describe access modes: |
251 | 367 | ||
252 | a: indicates that append access should be granted. | 368 | a: indicates that append access should be granted. |
253 | r: indicates that read access should be granted. | 369 | r: indicates that read access should be granted. |
254 | w: indicates that write access should be granted. | 370 | w: indicates that write access should be granted. |
255 | x: indicates that execute access should be granted. | 371 | x: indicates that execute access should be granted. |
372 | t: indicates that the rule requests transmutation. | ||
256 | 373 | ||
257 | Uppercase values for the specification letters are allowed as well. | 374 | Uppercase values for the specification letters are allowed as well. |
258 | Access mode specifications can be in any order. Examples of acceptable rules | 375 | Access mode specifications can be in any order. Examples of acceptable rules |
@@ -273,7 +390,7 @@ Examples of unacceptable rules are: | |||
273 | 390 | ||
274 | Spaces are not allowed in labels. Since a subject always has access to files | 391 | Spaces are not allowed in labels. Since a subject always has access to files |
275 | with the same label specifying a rule for that case is pointless. Only | 392 | with the same label specifying a rule for that case is pointless. Only |
276 | valid letters (rwxaRWXA) and the dash ('-') character are allowed in | 393 | valid letters (rwxatRWXAT) and the dash ('-') character are allowed in |
277 | access specifications. The dash is a placeholder, so "a-r" is the same | 394 | access specifications. The dash is a placeholder, so "a-r" is the same |
278 | as "ar". A lone dash is used to specify that no access should be allowed. | 395 | as "ar". A lone dash is used to specify that no access should be allowed. |
279 | 396 | ||
@@ -297,6 +414,13 @@ but not any of its attributes by the circumstance of having read access to the | |||
297 | containing directory but not to the differently labeled file. This is an | 414 | containing directory but not to the differently labeled file. This is an |
298 | artifact of the file name being data in the directory, not a part of the file. | 415 | artifact of the file name being data in the directory, not a part of the file. |
299 | 416 | ||
417 | If a directory is marked as transmuting (SMACK64TRANSMUTE=TRUE) and the | ||
418 | access rule that allows a process to create an object in that directory | ||
419 | includes 't' access the label assigned to the new object will be that | ||
420 | of the directory, not the creating process. This makes it much easier | ||
421 | for two processes with different labels to share data without granting | ||
422 | access to all of their files. | ||
423 | |||
300 | IPC objects, message queues, semaphore sets, and memory segments exist in flat | 424 | IPC objects, message queues, semaphore sets, and memory segments exist in flat |
301 | namespaces and access requests are only required to match the object in | 425 | namespaces and access requests are only required to match the object in |
302 | question. | 426 | question. |
diff --git a/Documentation/security/Yama.txt b/Documentation/security/Yama.txt index a9511f179069..e369de2d48cd 100644 --- a/Documentation/security/Yama.txt +++ b/Documentation/security/Yama.txt | |||
@@ -34,7 +34,7 @@ parent to a child process (i.e. direct "gdb EXE" and "strace EXE" still | |||
34 | work), or with CAP_SYS_PTRACE (i.e. "gdb --pid=PID", and "strace -p PID" | 34 | work), or with CAP_SYS_PTRACE (i.e. "gdb --pid=PID", and "strace -p PID" |
35 | still work as root). | 35 | still work as root). |
36 | 36 | ||
37 | For software that has defined application-specific relationships | 37 | In mode 1, software that has defined application-specific relationships |
38 | between a debugging process and its inferior (crash handlers, etc), | 38 | between a debugging process and its inferior (crash handlers, etc), |
39 | prctl(PR_SET_PTRACER, pid, ...) can be used. An inferior can declare which | 39 | prctl(PR_SET_PTRACER, pid, ...) can be used. An inferior can declare which |
40 | other process (and its descendents) are allowed to call PTRACE_ATTACH | 40 | other process (and its descendents) are allowed to call PTRACE_ATTACH |
@@ -46,6 +46,8 @@ restrictions, it can call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, ...) | |||
46 | so that any otherwise allowed process (even those in external pid namespaces) | 46 | so that any otherwise allowed process (even those in external pid namespaces) |
47 | may attach. | 47 | may attach. |
48 | 48 | ||
49 | These restrictions do not change how ptrace via PTRACE_TRACEME operates. | ||
50 | |||
49 | The sysctl settings are: | 51 | The sysctl settings are: |
50 | 52 | ||
51 | 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other | 53 | 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other |
@@ -60,6 +62,12 @@ The sysctl settings are: | |||
60 | inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare | 62 | inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare |
61 | an allowed debugger PID to call PTRACE_ATTACH on the inferior. | 63 | an allowed debugger PID to call PTRACE_ATTACH on the inferior. |
62 | 64 | ||
65 | 2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace | ||
66 | with PTRACE_ATTACH. | ||
67 | |||
68 | 3 - no attach: no processes may use ptrace with PTRACE_ATTACH. Once set, | ||
69 | this sysctl cannot be changed to a lower value. | ||
70 | |||
63 | The original children-only logic was based on the restrictions in grsecurity. | 71 | The original children-only logic was based on the restrictions in grsecurity. |
64 | 72 | ||
65 | ============================================================== | 73 | ============================================================== |
diff --git a/Documentation/security/keys.txt b/Documentation/security/keys.txt index d389acd31e19..aa0dbd74b71b 100644 --- a/Documentation/security/keys.txt +++ b/Documentation/security/keys.txt | |||
@@ -805,6 +805,23 @@ The keyctl syscall functions are: | |||
805 | kernel and resumes executing userspace. | 805 | kernel and resumes executing userspace. |
806 | 806 | ||
807 | 807 | ||
808 | (*) Invalidate a key. | ||
809 | |||
810 | long keyctl(KEYCTL_INVALIDATE, key_serial_t key); | ||
811 | |||
812 | This function marks a key as being invalidated and then wakes up the | ||
813 | garbage collector. The garbage collector immediately removes invalidated | ||
814 | keys from all keyrings and deletes the key when its reference count | ||
815 | reaches zero. | ||
816 | |||
817 | Keys that are marked invalidated become invisible to normal key operations | ||
818 | immediately, though they are still visible in /proc/keys until deleted | ||
819 | (they're marked with an 'i' flag). | ||
820 | |||
821 | A process must have search permission on the key for this function to be | ||
822 | successful. | ||
823 | |||
824 | |||
808 | =============== | 825 | =============== |
809 | KERNEL SERVICES | 826 | KERNEL SERVICES |
810 | =============== | 827 | =============== |
diff --git a/Documentation/sparc/README-2.5 b/Documentation/sparc/README-2.5 deleted file mode 100644 index 806fe490a56d..000000000000 --- a/Documentation/sparc/README-2.5 +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | BTFIXUP | ||
2 | ------- | ||
3 | |||
4 | To build new kernels you have to issue "make image". The ready kernel | ||
5 | in ELF format is placed in arch/sparc/boot/image. Explanation is below. | ||
6 | |||
7 | BTFIXUP is a unique feature of Linux/sparc among other architectures, | ||
8 | developed by Jakub Jelinek (I think... Obviously David S. Miller took | ||
9 | part, too). It allows to boot the same kernel at different | ||
10 | sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses | ||
11 | different kernels. This feature is convinient for people who you move | ||
12 | disks between boxes and for distrution builders. | ||
13 | |||
14 | To function, BTFIXUP must link the kernel "in the draft" first, | ||
15 | analyze the result, write a special stub code based on that, and | ||
16 | build the final kernel with the stub (btfix.o). | ||
17 | |||
18 | Kai Germaschewski improved the build system of the kernel in the 2.5 series | ||
19 | significantly. Unfortunately, the traditional way of running the draft | ||
20 | linking from architecture specific Makefile before the actual linking | ||
21 | by generic Makefile is nearly impossible to support properly in the | ||
22 | new build system. Therefore, the way we integrate BTFIXUP with the | ||
23 | build system was changed in 2.5.40. Now, generic Makefile performs | ||
24 | the draft linking and stores the result in file vmlinux. Architecture | ||
25 | specific post-processing invokes BTFIXUP machinery and final linking | ||
26 | in the same way as other architectures do bootstraps. | ||
27 | |||
28 | Implications of that change are as follows. | ||
29 | |||
30 | 1. Hackers must type "make image" now, instead of just "make", in the same | ||
31 | way as s390 people do now. It is analogous to "make bzImage" on i386. | ||
32 | This does NOT affect sparc64, you continue to use "make" to build sparc64 | ||
33 | kernels. | ||
34 | |||
35 | 2. vmlinux is not the final kernel, so RPM builders have to adjust | ||
36 | their spec files (if they delivered vmlinux for debugging). | ||
37 | System.map generated for vmlinux is still valid. | ||
38 | |||
39 | 3. Scripts that produce a.out images have to be changed. First, if they | ||
40 | invoke make, they have to use "make image". Second, they have to pick up | ||
41 | the new kernel in arch/sparc/boot/image instead of vmlinux. | ||
42 | |||
43 | 4. Since we are compliant with Kai's build system now, make -j is permitted. | ||
44 | |||
45 | -- Pete Zaitcev | ||
46 | zaitcev@yahoo.com | ||
diff --git a/Documentation/sysctl/net.txt b/Documentation/sysctl/net.txt index 3201a7097e4d..98335b7a5337 100644 --- a/Documentation/sysctl/net.txt +++ b/Documentation/sysctl/net.txt | |||
@@ -43,6 +43,13 @@ Values : | |||
43 | 1 - enable the JIT | 43 | 1 - enable the JIT |
44 | 2 - enable the JIT and ask the compiler to emit traces on kernel log. | 44 | 2 - enable the JIT and ask the compiler to emit traces on kernel log. |
45 | 45 | ||
46 | dev_weight | ||
47 | -------------- | ||
48 | |||
49 | The maximum number of packets that kernel can handle on a NAPI interrupt, | ||
50 | it's a Per-CPU variable. | ||
51 | Default: 64 | ||
52 | |||
46 | rmem_default | 53 | rmem_default |
47 | ------------ | 54 | ------------ |
48 | 55 | ||
diff --git a/Documentation/usb/functionfs.txt b/Documentation/usb/functionfs.txt new file mode 100644 index 000000000000..eaaaea019fc7 --- /dev/null +++ b/Documentation/usb/functionfs.txt | |||
@@ -0,0 +1,67 @@ | |||
1 | *How FunctionFS works* | ||
2 | |||
3 | From kernel point of view it is just a composite function with some | ||
4 | unique behaviour. It may be added to an USB configuration only after | ||
5 | the user space driver has registered by writing descriptors and | ||
6 | strings (the user space program has to provide the same information | ||
7 | that kernel level composite functions provide when they are added to | ||
8 | the configuration). | ||
9 | |||
10 | This in particular means that the composite initialisation functions | ||
11 | may not be in init section (ie. may not use the __init tag). | ||
12 | |||
13 | From user space point of view it is a file system which when | ||
14 | mounted provides an "ep0" file. User space driver need to | ||
15 | write descriptors and strings to that file. It does not need | ||
16 | to worry about endpoints, interfaces or strings numbers but | ||
17 | simply provide descriptors such as if the function was the | ||
18 | only one (endpoints and strings numbers starting from one and | ||
19 | interface numbers starting from zero). The FunctionFS changes | ||
20 | them as needed also handling situation when numbers differ in | ||
21 | different configurations. | ||
22 | |||
23 | When descriptors and strings are written "ep#" files appear | ||
24 | (one for each declared endpoint) which handle communication on | ||
25 | a single endpoint. Again, FunctionFS takes care of the real | ||
26 | numbers and changing of the configuration (which means that | ||
27 | "ep1" file may be really mapped to (say) endpoint 3 (and when | ||
28 | configuration changes to (say) endpoint 2)). "ep0" is used | ||
29 | for receiving events and handling setup requests. | ||
30 | |||
31 | When all files are closed the function disables itself. | ||
32 | |||
33 | What I also want to mention is that the FunctionFS is designed in such | ||
34 | a way that it is possible to mount it several times so in the end | ||
35 | a gadget could use several FunctionFS functions. The idea is that | ||
36 | each FunctionFS instance is identified by the device name used | ||
37 | when mounting. | ||
38 | |||
39 | One can imagine a gadget that has an Ethernet, MTP and HID interfaces | ||
40 | where the last two are implemented via FunctionFS. On user space | ||
41 | level it would look like this: | ||
42 | |||
43 | $ insmod g_ffs.ko idVendor=<ID> iSerialNumber=<string> functions=mtp,hid | ||
44 | $ mkdir /dev/ffs-mtp && mount -t functionfs mtp /dev/ffs-mtp | ||
45 | $ ( cd /dev/ffs-mtp && mtp-daemon ) & | ||
46 | $ mkdir /dev/ffs-hid && mount -t functionfs hid /dev/ffs-hid | ||
47 | $ ( cd /dev/ffs-hid && hid-daemon ) & | ||
48 | |||
49 | On kernel level the gadget checks ffs_data->dev_name to identify | ||
50 | whether it's FunctionFS designed for MTP ("mtp") or HID ("hid"). | ||
51 | |||
52 | If no "functions" module parameters is supplied, the driver accepts | ||
53 | just one function with any name. | ||
54 | |||
55 | When "functions" module parameter is supplied, only functions | ||
56 | with listed names are accepted. In particular, if the "functions" | ||
57 | parameter's value is just a one-element list, then the behaviour | ||
58 | is similar to when there is no "functions" at all; however, | ||
59 | only a function with the specified name is accepted. | ||
60 | |||
61 | The gadget is registered only after all the declared function | ||
62 | filesystems have been mounted and USB descriptors of all functions | ||
63 | have been written to their ep0's. | ||
64 | |||
65 | Conversely, the gadget is unregistered after the first USB function | ||
66 | closes its endpoints. | ||
67 | |||
diff --git a/Documentation/virtual/virtio-spec.txt b/Documentation/virtual/virtio-spec.txt index da094737e2f8..0d6ec85481cb 100644 --- a/Documentation/virtual/virtio-spec.txt +++ b/Documentation/virtual/virtio-spec.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | [Generated file: see http://ozlabs.org/~rusty/virtio-spec/] | 1 | [Generated file: see http://ozlabs.org/~rusty/virtio-spec/] |
2 | Virtio PCI Card Specification | 2 | Virtio PCI Card Specification |
3 | v0.9.1 DRAFT | 3 | v0.9.5 DRAFT |
4 | - | 4 | - |
5 | 5 | ||
6 | Rusty Russell <rusty@rustcorp.com.au>IBM Corporation (Editor) | 6 | Rusty Russell <rusty@rustcorp.com.au> IBM Corporation (Editor) |
7 | 7 | ||
8 | 2011 August 1. | 8 | 2012 May 7. |
9 | 9 | ||
10 | Purpose and Description | 10 | Purpose and Description |
11 | 11 | ||
@@ -68,11 +68,11 @@ and consists of three parts: | |||
68 | +-------------------+-----------------------------------+-----------+ | 68 | +-------------------+-----------------------------------+-----------+ |
69 | 69 | ||
70 | 70 | ||
71 | When the driver wants to send buffers to the device, it puts them | 71 | When the driver wants to send a buffer to the device, it fills in |
72 | in one or more slots in the descriptor table, and writes the | 72 | a slot in the descriptor table (or chains several together), and |
73 | descriptor indices into the available ring. It then notifies the | 73 | writes the descriptor index into the available ring. It then |
74 | device. When the device has finished with the buffers, it writes | 74 | notifies the device. When the device has finished a buffer, it |
75 | the descriptors into the used ring, and sends an interrupt. | 75 | writes the descriptor into the used ring, and sends an interrupt. |
76 | 76 | ||
77 | Specification | 77 | Specification |
78 | 78 | ||
@@ -106,8 +106,14 @@ for informational purposes by the guest). | |||
106 | +----------------------+--------------------+---------------+ | 106 | +----------------------+--------------------+---------------+ |
107 | | 6 | ioMemory | - | | 107 | | 6 | ioMemory | - | |
108 | +----------------------+--------------------+---------------+ | 108 | +----------------------+--------------------+---------------+ |
109 | | 7 | rpmsg | Appendix H | | ||
110 | +----------------------+--------------------+---------------+ | ||
111 | | 8 | SCSI host | Appendix I | | ||
112 | +----------------------+--------------------+---------------+ | ||
109 | | 9 | 9P transport | - | | 113 | | 9 | 9P transport | - | |
110 | +----------------------+--------------------+---------------+ | 114 | +----------------------+--------------------+---------------+ |
115 | | 10 | mac80211 wlan | - | | ||
116 | +----------------------+--------------------+---------------+ | ||
111 | 117 | ||
112 | 118 | ||
113 | Device Configuration | 119 | Device Configuration |
@@ -127,7 +133,7 @@ Note that this is possible because while the virtio header is PCI | |||
127 | the native endian of the guest (where such distinction is | 133 | the native endian of the guest (where such distinction is |
128 | applicable). | 134 | applicable). |
129 | 135 | ||
130 | Device Initialization Sequence | 136 | Device Initialization Sequence<sub:Device-Initialization-Sequence> |
131 | 137 | ||
132 | We start with an overview of device initialization, then expand | 138 | We start with an overview of device initialization, then expand |
133 | on the details of the device and how each step is preformed. | 139 | on the details of the device and how each step is preformed. |
@@ -177,7 +183,10 @@ The virtio header looks as follows: | |||
177 | 183 | ||
178 | 184 | ||
179 | If MSI-X is enabled for the device, two additional fields | 185 | If MSI-X is enabled for the device, two additional fields |
180 | immediately follow this header: | 186 | immediately follow this header:[footnote: |
187 | ie. once you enable MSI-X on the device, the other fields move. | ||
188 | If you turn it off again, they move back! | ||
189 | ] | ||
181 | 190 | ||
182 | 191 | ||
183 | +------------++----------------+--------+ | 192 | +------------++----------------+--------+ |
@@ -191,20 +200,6 @@ immediately follow this header: | |||
191 | +------------++----------------+--------+ | 200 | +------------++----------------+--------+ |
192 | 201 | ||
193 | 202 | ||
194 | Finally, if feature bits (VIRTIO_F_FEATURES_HI) this is | ||
195 | immediately followed by two additional fields: | ||
196 | |||
197 | |||
198 | +------------++----------------------+---------------------- | ||
199 | | Bits || 32 | 32 | ||
200 | +------------++----------------------+---------------------- | ||
201 | | Read/Write || R | R+W | ||
202 | +------------++----------------------+---------------------- | ||
203 | | Purpose || Device | Guest | ||
204 | | || Features bits 32:63 | Features bits 32:63 | ||
205 | +------------++----------------------+---------------------- | ||
206 | |||
207 | |||
208 | Immediately following these general headers, there may be | 203 | Immediately following these general headers, there may be |
209 | device-specific headers: | 204 | device-specific headers: |
210 | 205 | ||
@@ -238,31 +233,25 @@ at least one bit should be set: | |||
238 | may be a significant (or infinite) delay before setting this | 233 | may be a significant (or infinite) delay before setting this |
239 | bit. | 234 | bit. |
240 | 235 | ||
241 | DRIVER_OK (3) Indicates that the driver is set up and ready to | 236 | DRIVER_OK (4) Indicates that the driver is set up and ready to |
242 | drive the device. | 237 | drive the device. |
243 | 238 | ||
244 | FAILED (8) Indicates that something went wrong in the guest, | 239 | FAILED (128) Indicates that something went wrong in the guest, |
245 | and it has given up on the device. This could be an internal | 240 | and it has given up on the device. This could be an internal |
246 | error, or the driver didn't like the device for some reason, or | 241 | error, or the driver didn't like the device for some reason, or |
247 | even a fatal error during device operation. The device must be | 242 | even a fatal error during device operation. The device must be |
248 | reset before attempting to re-initialize. | 243 | reset before attempting to re-initialize. |
249 | 244 | ||
250 | Feature Bits | 245 | Feature Bits<sub:Feature-Bits> |
251 | 246 | ||
252 | The least significant 31 bits of the first configuration field | 247 | Thefirst configuration field indicates the features that the |
253 | indicates the features that the device supports (the high bit is | 248 | device supports. The bits are allocated as follows: |
254 | reserved, and will be used to indicate the presence of future | ||
255 | feature bits elsewhere). If more than 31 feature bits are | ||
256 | supported, the device indicates so by setting feature bit 31 (see | ||
257 | [cha:Reserved-Feature-Bits]). The bits are allocated as follows: | ||
258 | 249 | ||
259 | 0 to 23 Feature bits for the specific device type | 250 | 0 to 23 Feature bits for the specific device type |
260 | 251 | ||
261 | 24 to 40 Feature bits reserved for extensions to the queue and | 252 | 24 to 32 Feature bits reserved for extensions to the queue and |
262 | feature negotiation mechanisms | 253 | feature negotiation mechanisms |
263 | 254 | ||
264 | 41 to 63 Feature bits reserved for future extensions | ||
265 | |||
266 | For example, feature bit 0 for a network device (i.e. Subsystem | 255 | For example, feature bit 0 for a network device (i.e. Subsystem |
267 | Device ID 1) indicates that the device supports checksumming of | 256 | Device ID 1) indicates that the device supports checksumming of |
268 | packets. | 257 | packets. |
@@ -286,10 +275,6 @@ will not see that feature bit in the Device Features field and | |||
286 | can go into backwards compatibility mode (or, for poor | 275 | can go into backwards compatibility mode (or, for poor |
287 | implementations, set the FAILED Device Status bit). | 276 | implementations, set the FAILED Device Status bit). |
288 | 277 | ||
289 | Access to feature bits 32 to 63 is enabled by Guest by setting | ||
290 | feature bit 31. If this bit is unset, Device must assume that all | ||
291 | feature bits > 31 are unset. | ||
292 | |||
293 | Configuration/Queue Vectors | 278 | Configuration/Queue Vectors |
294 | 279 | ||
295 | When MSI-X capability is present and enabled in the device | 280 | When MSI-X capability is present and enabled in the device |
@@ -324,7 +309,7 @@ success, the previously written value is returned, and on | |||
324 | failure, NO_VECTOR is returned. If a mapping failure is detected, | 309 | failure, NO_VECTOR is returned. If a mapping failure is detected, |
325 | the driver can retry mapping with fewervectors, or disable MSI-X. | 310 | the driver can retry mapping with fewervectors, or disable MSI-X. |
326 | 311 | ||
327 | Virtqueue Configuration | 312 | Virtqueue Configuration<sec:Virtqueue-Configuration> |
328 | 313 | ||
329 | As a device can have zero or more virtqueues for bulk data | 314 | As a device can have zero or more virtqueues for bulk data |
330 | transport (for example, the network driver has two), the driver | 315 | transport (for example, the network driver has two), the driver |
@@ -587,7 +572,7 @@ and Red Hat under the (3-clause) BSD license so that it can be | |||
587 | freely used by all other projects, and is reproduced (with slight | 572 | freely used by all other projects, and is reproduced (with slight |
588 | variation to remove Linux assumptions) in Appendix A. | 573 | variation to remove Linux assumptions) in Appendix A. |
589 | 574 | ||
590 | Device Operation | 575 | Device Operation<sec:Device-Operation> |
591 | 576 | ||
592 | There are two parts to device operation: supplying new buffers to | 577 | There are two parts to device operation: supplying new buffers to |
593 | the device, and processing used buffers from the device. As an | 578 | the device, and processing used buffers from the device. As an |
@@ -813,7 +798,7 @@ vring.used->ring[vq->last_seen_used%vsz]; | |||
813 | 798 | ||
814 | } | 799 | } |
815 | 800 | ||
816 | Dealing With Configuration Changes | 801 | Dealing With Configuration Changes<sub:Dealing-With-Configuration> |
817 | 802 | ||
818 | Some virtio PCI devices can change the device configuration | 803 | Some virtio PCI devices can change the device configuration |
819 | state, as reflected in the virtio header in the PCI configuration | 804 | state, as reflected in the virtio header in the PCI configuration |
@@ -1260,18 +1245,6 @@ Currently there are five device-independent feature bits defined: | |||
1260 | driver should ignore the used_event field; the device should | 1245 | driver should ignore the used_event field; the device should |
1261 | ignore the avail_event field; the flags field is used | 1246 | ignore the avail_event field; the flags field is used |
1262 | 1247 | ||
1263 | VIRTIO_F_BAD_FEATURE(30) This feature should never be | ||
1264 | negotiated by the guest; doing so is an indication that the | ||
1265 | guest is faulty[footnote: | ||
1266 | An experimental virtio PCI driver contained in Linux version | ||
1267 | 2.6.25 had this problem, and this feature bit can be used to | ||
1268 | detect it. | ||
1269 | ] | ||
1270 | |||
1271 | VIRTIO_F_FEATURES_HIGH(31) This feature indicates that the | ||
1272 | device supports feature bits 32:63. If unset, feature bits | ||
1273 | 32:63 are unset. | ||
1274 | |||
1275 | Appendix C: Network Device | 1248 | Appendix C: Network Device |
1276 | 1249 | ||
1277 | The virtio network device is a virtual ethernet card, and is the | 1250 | The virtio network device is a virtual ethernet card, and is the |
@@ -1335,11 +1308,17 @@ were required. | |||
1335 | 1308 | ||
1336 | VIRTIO_NET_F_CTRL_VLAN (19) Control channel VLAN filtering. | 1309 | VIRTIO_NET_F_CTRL_VLAN (19) Control channel VLAN filtering. |
1337 | 1310 | ||
1311 | VIRTIO_NET_F_GUEST_ANNOUNCE(21) Guest can send gratuitous | ||
1312 | packets. | ||
1313 | |||
1338 | Device configuration layout Two configuration fields are | 1314 | Device configuration layout Two configuration fields are |
1339 | currently defined. The mac address field always exists (though | 1315 | currently defined. The mac address field always exists (though |
1340 | is only valid if VIRTIO_NET_F_MAC is set), and the status field | 1316 | is only valid if VIRTIO_NET_F_MAC is set), and the status field |
1341 | only exists if VIRTIO_NET_F_STATUS is set. Only one bit is | 1317 | only exists if VIRTIO_NET_F_STATUS is set. Two read-only bits |
1342 | currently defined for the status field: VIRTIO_NET_S_LINK_UP. #define VIRTIO_NET_S_LINK_UP 1 | 1318 | are currently defined for the status field: |
1319 | VIRTIO_NET_S_LINK_UP and VIRTIO_NET_S_ANNOUNCE. #define VIRTIO_NET_S_LINK_UP 1 | ||
1320 | |||
1321 | #define VIRTIO_NET_S_ANNOUNCE 2 | ||
1343 | 1322 | ||
1344 | 1323 | ||
1345 | 1324 | ||
@@ -1377,12 +1356,19 @@ struct virtio_net_config { | |||
1377 | packets by negotating the VIRTIO_NET_F_CSUM feature. This “ | 1356 | packets by negotating the VIRTIO_NET_F_CSUM feature. This “ |
1378 | checksum offload” is a common feature on modern network cards. | 1357 | checksum offload” is a common feature on modern network cards. |
1379 | 1358 | ||
1380 | If that feature is negotiated, a driver can use TCP or UDP | 1359 | If that feature is negotiated[footnote: |
1381 | segmentation offload by negotiating the VIRTIO_NET_F_HOST_TSO4 | 1360 | ie. VIRTIO_NET_F_HOST_TSO* and VIRTIO_NET_F_HOST_UFO are |
1382 | (IPv4 TCP), VIRTIO_NET_F_HOST_TSO6 (IPv6 TCP) and | 1361 | dependent on VIRTIO_NET_F_CSUM; a dvice which offers the offload |
1383 | VIRTIO_NET_F_HOST_UFO (UDP fragmentation) features. It should | 1362 | features must offer the checksum feature, and a driver which |
1384 | not send TCP packets requiring segmentation offload which have | 1363 | accepts the offload features must accept the checksum feature. |
1385 | the Explicit Congestion Notification bit set, unless the | 1364 | Similar logic applies to the VIRTIO_NET_F_GUEST_TSO4 features |
1365 | depending on VIRTIO_NET_F_GUEST_CSUM. | ||
1366 | ], a driver can use TCP or UDP segmentation offload by | ||
1367 | negotiating the VIRTIO_NET_F_HOST_TSO4 (IPv4 TCP), | ||
1368 | VIRTIO_NET_F_HOST_TSO6 (IPv6 TCP) and VIRTIO_NET_F_HOST_UFO | ||
1369 | (UDP fragmentation) features. It should not send TCP packets | ||
1370 | requiring segmentation offload which have the Explicit | ||
1371 | Congestion Notification bit set, unless the | ||
1386 | VIRTIO_NET_F_HOST_ECN feature is negotiated.[footnote: | 1372 | VIRTIO_NET_F_HOST_ECN feature is negotiated.[footnote: |
1387 | This is a common restriction in real, older network cards. | 1373 | This is a common restriction in real, older network cards. |
1388 | ] | 1374 | ] |
@@ -1403,7 +1389,7 @@ segmentation, if both guests are amenable. | |||
1403 | 1389 | ||
1404 | Packets are transmitted by placing them in the transmitq, and | 1390 | Packets are transmitted by placing them in the transmitq, and |
1405 | buffers for incoming packets are placed in the receiveq. In each | 1391 | buffers for incoming packets are placed in the receiveq. In each |
1406 | case, the packet itself is preceded by a header: | 1392 | case, the packet itself is preceeded by a header: |
1407 | 1393 | ||
1408 | struct virtio_net_hdr { | 1394 | struct virtio_net_hdr { |
1409 | 1395 | ||
@@ -1462,9 +1448,10 @@ It will have a 14 byte ethernet header and 20 byte IP header | |||
1462 | followed by the TCP header (with the TCP checksum field 16 bytes | 1448 | followed by the TCP header (with the TCP checksum field 16 bytes |
1463 | into that header). csum_start will be 14+20 = 34 (the TCP | 1449 | into that header). csum_start will be 14+20 = 34 (the TCP |
1464 | checksum includes the header), and csum_offset will be 16. The | 1450 | checksum includes the header), and csum_offset will be 16. The |
1465 | value in the TCP checksum field will be the sum of the TCP pseudo | 1451 | value in the TCP checksum field should be initialized to the sum |
1466 | header, so that replacing it by the ones' complement checksum of | 1452 | of the TCP pseudo header, so that replacing it by the ones' |
1467 | the TCP header and body will give the correct result. | 1453 | complement checksum of the TCP header and body will give the |
1454 | correct result. | ||
1468 | ] | 1455 | ] |
1469 | 1456 | ||
1470 | <enu:If-the-driver>If the driver negotiated | 1457 | <enu:If-the-driver>If the driver negotiated |
@@ -1483,8 +1470,8 @@ Due to various bugs in implementations, this field is not useful | |||
1483 | as a guarantee of the transport header size. | 1470 | as a guarantee of the transport header size. |
1484 | ] | 1471 | ] |
1485 | 1472 | ||
1486 | gso_size is the size of the packet beyond that header (ie. | 1473 | gso_size is the maximum size of each packet beyond that header |
1487 | MSS). | 1474 | (ie. MSS). |
1488 | 1475 | ||
1489 | If the driver negotiated the VIRTIO_NET_F_HOST_ECN feature, the | 1476 | If the driver negotiated the VIRTIO_NET_F_HOST_ECN feature, the |
1490 | VIRTIO_NET_HDR_GSO_ECN bit may be set in “gso_type” as well, | 1477 | VIRTIO_NET_HDR_GSO_ECN bit may be set in “gso_type” as well, |
@@ -1567,7 +1554,9 @@ Processing packet involves: | |||
1567 | If the VIRTIO_NET_F_GUEST_TSO4, TSO6 or UFO options were | 1554 | If the VIRTIO_NET_F_GUEST_TSO4, TSO6 or UFO options were |
1568 | negotiated, then the “gso_type” may be something other than | 1555 | negotiated, then the “gso_type” may be something other than |
1569 | VIRTIO_NET_HDR_GSO_NONE, and the “gso_size” field indicates the | 1556 | VIRTIO_NET_HDR_GSO_NONE, and the “gso_size” field indicates the |
1570 | desired MSS (see [enu:If-the-driver]).Control Virtqueue | 1557 | desired MSS (see [enu:If-the-driver]). |
1558 | |||
1559 | Control Virtqueue | ||
1571 | 1560 | ||
1572 | The driver uses the control virtqueue (if VIRTIO_NET_F_VTRL_VQ is | 1561 | The driver uses the control virtqueue (if VIRTIO_NET_F_VTRL_VQ is |
1573 | negotiated) to send commands to manipulate various features of | 1562 | negotiated) to send commands to manipulate various features of |
@@ -1642,7 +1631,7 @@ struct virtio_net_ctrl_mac { | |||
1642 | 1631 | ||
1643 | The device can filter incoming packets by any number of | 1632 | The device can filter incoming packets by any number of |
1644 | destination MAC addresses.[footnote: | 1633 | destination MAC addresses.[footnote: |
1645 | Since there are no guarantees, it can use a hash filter | 1634 | Since there are no guarentees, it can use a hash filter |
1646 | orsilently switch to allmulti or promiscuous mode if it is given | 1635 | orsilently switch to allmulti or promiscuous mode if it is given |
1647 | too many addresses. | 1636 | too many addresses. |
1648 | ] This table is set using the class VIRTIO_NET_CTRL_MAC and the | 1637 | ] This table is set using the class VIRTIO_NET_CTRL_MAC and the |
@@ -1665,6 +1654,38 @@ can control a VLAN filter table in the device. | |||
1665 | Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL | 1654 | Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL |
1666 | command take a 16-bit VLAN id as the command-specific-data. | 1655 | command take a 16-bit VLAN id as the command-specific-data. |
1667 | 1656 | ||
1657 | Gratuitous Packet Sending | ||
1658 | |||
1659 | If the driver negotiates the VIRTIO_NET_F_GUEST_ANNOUNCE (depends | ||
1660 | on VIRTIO_NET_F_CTRL_VQ), it can ask the guest to send gratuitous | ||
1661 | packets; this is usually done after the guest has been physically | ||
1662 | migrated, and needs to announce its presence on the new network | ||
1663 | links. (As hypervisor does not have the knowledge of guest | ||
1664 | network configuration (eg. tagged vlan) it is simplest to prod | ||
1665 | the guest in this way). | ||
1666 | |||
1667 | #define VIRTIO_NET_CTRL_ANNOUNCE 3 | ||
1668 | |||
1669 | #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0 | ||
1670 | |||
1671 | The Guest needs to check VIRTIO_NET_S_ANNOUNCE bit in status | ||
1672 | field when it notices the changes of device configuration. The | ||
1673 | command VIRTIO_NET_CTRL_ANNOUNCE_ACK is used to indicate that | ||
1674 | driver has recevied the notification and device would clear the | ||
1675 | VIRTIO_NET_S_ANNOUNCE bit in the status filed after it received | ||
1676 | this command. | ||
1677 | |||
1678 | Processing this notification involves: | ||
1679 | |||
1680 | Sending the gratuitous packets or marking there are pending | ||
1681 | gratuitous packets to be sent and letting deferred routine to | ||
1682 | send them. | ||
1683 | |||
1684 | Sending VIRTIO_NET_CTRL_ANNOUNCE_ACK command through control | ||
1685 | vq. | ||
1686 | |||
1687 | . | ||
1688 | |||
1668 | Appendix D: Block Device | 1689 | Appendix D: Block Device |
1669 | 1690 | ||
1670 | The virtio block device is a simple virtual block device (ie. | 1691 | The virtio block device is a simple virtual block device (ie. |
@@ -1699,8 +1720,6 @@ device except where noted. | |||
1699 | 1720 | ||
1700 | VIRTIO_BLK_F_FLUSH (9) Cache flush command support. | 1721 | VIRTIO_BLK_F_FLUSH (9) Cache flush command support. |
1701 | 1722 | ||
1702 | |||
1703 | |||
1704 | Device configuration layout The capacity of the device | 1723 | Device configuration layout The capacity of the device |
1705 | (expressed in 512-byte sectors) is always present. The | 1724 | (expressed in 512-byte sectors) is always present. The |
1706 | availability of the others all depend on various feature bits | 1725 | availability of the others all depend on various feature bits |
@@ -1743,8 +1762,6 @@ device except where noted. | |||
1743 | If the VIRTIO_BLK_F_RO feature is set by the device, any write | 1762 | If the VIRTIO_BLK_F_RO feature is set by the device, any write |
1744 | requests will fail. | 1763 | requests will fail. |
1745 | 1764 | ||
1746 | |||
1747 | |||
1748 | Device Operation | 1765 | Device Operation |
1749 | 1766 | ||
1750 | The driver queues requests to the virtqueue, and they are used by | 1767 | The driver queues requests to the virtqueue, and they are used by |
@@ -1805,7 +1822,7 @@ the FLUSH and FLUSH_OUT types are equivalent, the device does not | |||
1805 | distinguish between them | 1822 | distinguish between them |
1806 | ]). If the device has VIRTIO_BLK_F_BARRIER feature the high bit | 1823 | ]). If the device has VIRTIO_BLK_F_BARRIER feature the high bit |
1807 | (VIRTIO_BLK_T_BARRIER) indicates that this request acts as a | 1824 | (VIRTIO_BLK_T_BARRIER) indicates that this request acts as a |
1808 | barrier and that all preceding requests must be complete before | 1825 | barrier and that all preceeding requests must be complete before |
1809 | this one, and all following requests must not be started until | 1826 | this one, and all following requests must not be started until |
1810 | this is complete. Note that a barrier does not flush caches in | 1827 | this is complete. Note that a barrier does not flush caches in |
1811 | the underlying backend device in host, and thus does not serve as | 1828 | the underlying backend device in host, and thus does not serve as |
@@ -2118,7 +2135,7 @@ This is historical, and independent of the guest page size | |||
2118 | 2135 | ||
2119 | Otherwise, the guest may begin to re-use pages previously given | 2136 | Otherwise, the guest may begin to re-use pages previously given |
2120 | to the balloon before the device has acknowledged their | 2137 | to the balloon before the device has acknowledged their |
2121 | withdrawal. [footnote: | 2138 | withdrawl. [footnote: |
2122 | In this case, deflation advice is merely a courtesy | 2139 | In this case, deflation advice is merely a courtesy |
2123 | ] | 2140 | ] |
2124 | 2141 | ||
@@ -2198,3 +2215,996 @@ as follows: | |||
2198 | VIRTIO_BALLOON_S_MEMTOT The total amount of memory available | 2215 | VIRTIO_BALLOON_S_MEMTOT The total amount of memory available |
2199 | (in bytes). | 2216 | (in bytes). |
2200 | 2217 | ||
2218 | Appendix H: Rpmsg: Remote Processor Messaging | ||
2219 | |||
2220 | Virtio rpmsg devices represent remote processors on the system | ||
2221 | which run in asymmetric multi-processing (AMP) configuration, and | ||
2222 | which are usually used to offload cpu-intensive tasks from the | ||
2223 | main application processor (a typical SoC methodology). | ||
2224 | |||
2225 | Virtio is being used to communicate with those remote processors; | ||
2226 | empty buffers are placed in one virtqueue for receiving messages, | ||
2227 | and non-empty buffers, containing outbound messages, are enqueued | ||
2228 | in a second virtqueue for transmission. | ||
2229 | |||
2230 | Numerous communication channels can be multiplexed over those two | ||
2231 | virtqueues, so different entities, running on the application and | ||
2232 | remote processor, can directly communicate in a point-to-point | ||
2233 | fashion. | ||
2234 | |||
2235 | Configuration | ||
2236 | |||
2237 | Subsystem Device ID 7 | ||
2238 | |||
2239 | Virtqueues 0:receiveq. 1:transmitq. | ||
2240 | |||
2241 | Feature bits | ||
2242 | |||
2243 | VIRTIO_RPMSG_F_NS (0) Device sends (and capable of receiving) | ||
2244 | name service messages announcing the creation (or | ||
2245 | destruction) of a channel:/** | ||
2246 | |||
2247 | * struct rpmsg_ns_msg - dynamic name service announcement | ||
2248 | message | ||
2249 | |||
2250 | * @name: name of remote service that is published | ||
2251 | |||
2252 | * @addr: address of remote service that is published | ||
2253 | |||
2254 | * @flags: indicates whether service is created or destroyed | ||
2255 | |||
2256 | * | ||
2257 | |||
2258 | * This message is sent across to publish a new service (or | ||
2259 | announce | ||
2260 | |||
2261 | * about its removal). When we receives these messages, an | ||
2262 | appropriate | ||
2263 | |||
2264 | * rpmsg channel (i.e device) is created/destroyed. | ||
2265 | |||
2266 | */ | ||
2267 | |||
2268 | struct rpmsg_ns_msgoon_config { | ||
2269 | |||
2270 | char name[RPMSG_NAME_SIZE]; | ||
2271 | |||
2272 | u32 addr; | ||
2273 | |||
2274 | u32 flags; | ||
2275 | |||
2276 | } __packed; | ||
2277 | |||
2278 | |||
2279 | |||
2280 | /** | ||
2281 | |||
2282 | * enum rpmsg_ns_flags - dynamic name service announcement flags | ||
2283 | |||
2284 | * | ||
2285 | |||
2286 | * @RPMSG_NS_CREATE: a new remote service was just created | ||
2287 | |||
2288 | * @RPMSG_NS_DESTROY: a remote service was just destroyed | ||
2289 | |||
2290 | */ | ||
2291 | |||
2292 | enum rpmsg_ns_flags { | ||
2293 | |||
2294 | RPMSG_NS_CREATE = 0, | ||
2295 | |||
2296 | RPMSG_NS_DESTROY = 1, | ||
2297 | |||
2298 | }; | ||
2299 | |||
2300 | Device configuration layout | ||
2301 | |||
2302 | At his point none currently defined. | ||
2303 | |||
2304 | Device Initialization | ||
2305 | |||
2306 | The initialization routine should identify the receive and | ||
2307 | transmission virtqueues. | ||
2308 | |||
2309 | The receive virtqueue should be filled with receive buffers. | ||
2310 | |||
2311 | Device Operation | ||
2312 | |||
2313 | Messages are transmitted by placing them in the transmitq, and | ||
2314 | buffers for inbound messages are placed in the receiveq. In any | ||
2315 | case, messages are always preceded by the following header: /** | ||
2316 | |||
2317 | * struct rpmsg_hdr - common header for all rpmsg messages | ||
2318 | |||
2319 | * @src: source address | ||
2320 | |||
2321 | * @dst: destination address | ||
2322 | |||
2323 | * @reserved: reserved for future use | ||
2324 | |||
2325 | * @len: length of payload (in bytes) | ||
2326 | |||
2327 | * @flags: message flags | ||
2328 | |||
2329 | * @data: @len bytes of message payload data | ||
2330 | |||
2331 | * | ||
2332 | |||
2333 | * Every message sent(/received) on the rpmsg bus begins with | ||
2334 | this header. | ||
2335 | |||
2336 | */ | ||
2337 | |||
2338 | struct rpmsg_hdr { | ||
2339 | |||
2340 | u32 src; | ||
2341 | |||
2342 | u32 dst; | ||
2343 | |||
2344 | u32 reserved; | ||
2345 | |||
2346 | u16 len; | ||
2347 | |||
2348 | u16 flags; | ||
2349 | |||
2350 | u8 data[0]; | ||
2351 | |||
2352 | } __packed; | ||
2353 | |||
2354 | Appendix I: SCSI Host Device | ||
2355 | |||
2356 | The virtio SCSI host device groups together one or more virtual | ||
2357 | logical units (such as disks), and allows communicating to them | ||
2358 | using the SCSI protocol. An instance of the device represents a | ||
2359 | SCSI host to which many targets and LUNs are attached. | ||
2360 | |||
2361 | The virtio SCSI device services two kinds of requests: | ||
2362 | |||
2363 | command requests for a logical unit; | ||
2364 | |||
2365 | task management functions related to a logical unit, target or | ||
2366 | command. | ||
2367 | |||
2368 | The device is also able to send out notifications about added and | ||
2369 | removed logical units. Together, these capabilities provide a | ||
2370 | SCSI transport protocol that uses virtqueues as the transfer | ||
2371 | medium. In the transport protocol, the virtio driver acts as the | ||
2372 | initiator, while the virtio SCSI host provides one or more | ||
2373 | targets that receive and process the requests. | ||
2374 | |||
2375 | Configuration | ||
2376 | |||
2377 | Subsystem Device ID 8 | ||
2378 | |||
2379 | Virtqueues 0:controlq; 1:eventq; 2..n:request queues. | ||
2380 | |||
2381 | Feature bits | ||
2382 | |||
2383 | VIRTIO_SCSI_F_INOUT (0) A single request can include both | ||
2384 | read-only and write-only data buffers. | ||
2385 | |||
2386 | VIRTIO_SCSI_F_HOTPLUG (1) The host should enable | ||
2387 | hot-plug/hot-unplug of new LUNs and targets on the SCSI bus. | ||
2388 | |||
2389 | Device configuration layout All fields of this configuration | ||
2390 | are always available. sense_size and cdb_size are writable by | ||
2391 | the guest.struct virtio_scsi_config { | ||
2392 | |||
2393 | u32 num_queues; | ||
2394 | |||
2395 | u32 seg_max; | ||
2396 | |||
2397 | u32 max_sectors; | ||
2398 | |||
2399 | u32 cmd_per_lun; | ||
2400 | |||
2401 | u32 event_info_size; | ||
2402 | |||
2403 | u32 sense_size; | ||
2404 | |||
2405 | u32 cdb_size; | ||
2406 | |||
2407 | u16 max_channel; | ||
2408 | |||
2409 | u16 max_target; | ||
2410 | |||
2411 | u32 max_lun; | ||
2412 | |||
2413 | }; | ||
2414 | |||
2415 | num_queues is the total number of request virtqueues exposed by | ||
2416 | the device. The driver is free to use only one request queue, | ||
2417 | or it can use more to achieve better performance. | ||
2418 | |||
2419 | seg_max is the maximum number of segments that can be in a | ||
2420 | command. A bidirectional command can include seg_max input | ||
2421 | segments and seg_max output segments. | ||
2422 | |||
2423 | max_sectors is a hint to the guest about the maximum transfer | ||
2424 | size it should use. | ||
2425 | |||
2426 | cmd_per_lun is a hint to the guest about the maximum number of | ||
2427 | linked commands it should send to one LUN. The actual value | ||
2428 | to be used is the minimum of cmd_per_lun and the virtqueue | ||
2429 | size. | ||
2430 | |||
2431 | event_info_size is the maximum size that the device will fill | ||
2432 | for buffers that the driver places in the eventq. The driver | ||
2433 | should always put buffers at least of this size. It is | ||
2434 | written by the device depending on the set of negotated | ||
2435 | features. | ||
2436 | |||
2437 | sense_size is the maximum size of the sense data that the | ||
2438 | device will write. The default value is written by the device | ||
2439 | and will always be 96, but the driver can modify it. It is | ||
2440 | restored to the default when the device is reset. | ||
2441 | |||
2442 | cdb_size is the maximum size of the CDB that the driver will | ||
2443 | write. The default value is written by the device and will | ||
2444 | always be 32, but the driver can likewise modify it. It is | ||
2445 | restored to the default when the device is reset. | ||
2446 | |||
2447 | max_channel, max_target and max_lun can be used by the driver | ||
2448 | as hints to constrain scanning the logical units on the | ||
2449 | host.h | ||
2450 | |||
2451 | Device Initialization | ||
2452 | |||
2453 | The initialization routine should first of all discover the | ||
2454 | device's virtqueues. | ||
2455 | |||
2456 | If the driver uses the eventq, it should then place at least a | ||
2457 | buffer in the eventq. | ||
2458 | |||
2459 | The driver can immediately issue requests (for example, INQUIRY | ||
2460 | or REPORT LUNS) or task management functions (for example, I_T | ||
2461 | RESET). | ||
2462 | |||
2463 | Device Operation: request queues | ||
2464 | |||
2465 | The driver queues requests to an arbitrary request queue, and | ||
2466 | they are used by the device on that same queue. It is the | ||
2467 | responsibility of the driver to ensure strict request ordering | ||
2468 | for commands placed on different queues, because they will be | ||
2469 | consumed with no order constraints. | ||
2470 | |||
2471 | Requests have the following format: | ||
2472 | |||
2473 | struct virtio_scsi_req_cmd { | ||
2474 | |||
2475 | // Read-only | ||
2476 | |||
2477 | u8 lun[8]; | ||
2478 | |||
2479 | u64 id; | ||
2480 | |||
2481 | u8 task_attr; | ||
2482 | |||
2483 | u8 prio; | ||
2484 | |||
2485 | u8 crn; | ||
2486 | |||
2487 | char cdb[cdb_size]; | ||
2488 | |||
2489 | char dataout[]; | ||
2490 | |||
2491 | // Write-only part | ||
2492 | |||
2493 | u32 sense_len; | ||
2494 | |||
2495 | u32 residual; | ||
2496 | |||
2497 | u16 status_qualifier; | ||
2498 | |||
2499 | u8 status; | ||
2500 | |||
2501 | u8 response; | ||
2502 | |||
2503 | u8 sense[sense_size]; | ||
2504 | |||
2505 | char datain[]; | ||
2506 | |||
2507 | }; | ||
2508 | |||
2509 | |||
2510 | |||
2511 | /* command-specific response values */ | ||
2512 | |||
2513 | #define VIRTIO_SCSI_S_OK 0 | ||
2514 | |||
2515 | #define VIRTIO_SCSI_S_OVERRUN 1 | ||
2516 | |||
2517 | #define VIRTIO_SCSI_S_ABORTED 2 | ||
2518 | |||
2519 | #define VIRTIO_SCSI_S_BAD_TARGET 3 | ||
2520 | |||
2521 | #define VIRTIO_SCSI_S_RESET 4 | ||
2522 | |||
2523 | #define VIRTIO_SCSI_S_BUSY 5 | ||
2524 | |||
2525 | #define VIRTIO_SCSI_S_TRANSPORT_FAILURE 6 | ||
2526 | |||
2527 | #define VIRTIO_SCSI_S_TARGET_FAILURE 7 | ||
2528 | |||
2529 | #define VIRTIO_SCSI_S_NEXUS_FAILURE 8 | ||
2530 | |||
2531 | #define VIRTIO_SCSI_S_FAILURE 9 | ||
2532 | |||
2533 | |||
2534 | |||
2535 | /* task_attr */ | ||
2536 | |||
2537 | #define VIRTIO_SCSI_S_SIMPLE 0 | ||
2538 | |||
2539 | #define VIRTIO_SCSI_S_ORDERED 1 | ||
2540 | |||
2541 | #define VIRTIO_SCSI_S_HEAD 2 | ||
2542 | |||
2543 | #define VIRTIO_SCSI_S_ACA 3 | ||
2544 | |||
2545 | The lun field addresses a target and logical unit in the | ||
2546 | virtio-scsi device's SCSI domain. The only supported format for | ||
2547 | the LUN field is: first byte set to 1, second byte set to target, | ||
2548 | third and fourth byte representing a single level LUN structure, | ||
2549 | followed by four zero bytes. With this representation, a | ||
2550 | virtio-scsi device can serve up to 256 targets and 16384 LUNs per | ||
2551 | target. | ||
2552 | |||
2553 | The id field is the command identifier (“tag”). | ||
2554 | |||
2555 | task_attr, prio and crn should be left to zero. task_attr defines | ||
2556 | the task attribute as in the table above, but all task attributes | ||
2557 | may be mapped to SIMPLE by the device; crn may also be provided | ||
2558 | by clients, but is generally expected to be 0. The maximum CRN | ||
2559 | value defined by the protocol is 255, since CRN is stored in an | ||
2560 | 8-bit integer. | ||
2561 | |||
2562 | All of these fields are defined in SAM. They are always | ||
2563 | read-only, as are the cdb and dataout field. The cdb_size is | ||
2564 | taken from the configuration space. | ||
2565 | |||
2566 | sense and subsequent fields are always write-only. The sense_len | ||
2567 | field indicates the number of bytes actually written to the sense | ||
2568 | buffer. The residual field indicates the residual size, | ||
2569 | calculated as “data_length - number_of_transferred_bytes”, for | ||
2570 | read or write operations. For bidirectional commands, the | ||
2571 | number_of_transferred_bytes includes both read and written bytes. | ||
2572 | A residual field that is less than the size of datain means that | ||
2573 | the dataout field was processed entirely. A residual field that | ||
2574 | exceeds the size of datain means that the dataout field was | ||
2575 | processed partially and the datain field was not processed at | ||
2576 | all. | ||
2577 | |||
2578 | The status byte is written by the device to be the status code as | ||
2579 | defined in SAM. | ||
2580 | |||
2581 | The response byte is written by the device to be one of the | ||
2582 | following: | ||
2583 | |||
2584 | VIRTIO_SCSI_S_OK when the request was completed and the status | ||
2585 | byte is filled with a SCSI status code (not necessarily | ||
2586 | "GOOD"). | ||
2587 | |||
2588 | VIRTIO_SCSI_S_OVERRUN if the content of the CDB requires | ||
2589 | transferring more data than is available in the data buffers. | ||
2590 | |||
2591 | VIRTIO_SCSI_S_ABORTED if the request was cancelled due to an | ||
2592 | ABORT TASK or ABORT TASK SET task management function. | ||
2593 | |||
2594 | VIRTIO_SCSI_S_BAD_TARGET if the request was never processed | ||
2595 | because the target indicated by the lun field does not exist. | ||
2596 | |||
2597 | VIRTIO_SCSI_S_RESET if the request was cancelled due to a bus | ||
2598 | or device reset (including a task management function). | ||
2599 | |||
2600 | VIRTIO_SCSI_S_TRANSPORT_FAILURE if the request failed due to a | ||
2601 | problem in the connection between the host and the target | ||
2602 | (severed link). | ||
2603 | |||
2604 | VIRTIO_SCSI_S_TARGET_FAILURE if the target is suffering a | ||
2605 | failure and the guest should not retry on other paths. | ||
2606 | |||
2607 | VIRTIO_SCSI_S_NEXUS_FAILURE if the nexus is suffering a failure | ||
2608 | but retrying on other paths might yield a different result. | ||
2609 | |||
2610 | VIRTIO_SCSI_S_BUSY if the request failed but retrying on the | ||
2611 | same path should work. | ||
2612 | |||
2613 | VIRTIO_SCSI_S_FAILURE for other host or guest error. In | ||
2614 | particular, if neither dataout nor datain is empty, and the | ||
2615 | VIRTIO_SCSI_F_INOUT feature has not been negotiated, the | ||
2616 | request will be immediately returned with a response equal to | ||
2617 | VIRTIO_SCSI_S_FAILURE. | ||
2618 | |||
2619 | Device Operation: controlq | ||
2620 | |||
2621 | The controlq is used for other SCSI transport operations. | ||
2622 | Requests have the following format: | ||
2623 | |||
2624 | struct virtio_scsi_ctrl { | ||
2625 | |||
2626 | u32 type; | ||
2627 | |||
2628 | ... | ||
2629 | |||
2630 | u8 response; | ||
2631 | |||
2632 | }; | ||
2633 | |||
2634 | |||
2635 | |||
2636 | /* response values valid for all commands */ | ||
2637 | |||
2638 | #define VIRTIO_SCSI_S_OK 0 | ||
2639 | |||
2640 | #define VIRTIO_SCSI_S_BAD_TARGET 3 | ||
2641 | |||
2642 | #define VIRTIO_SCSI_S_BUSY 5 | ||
2643 | |||
2644 | #define VIRTIO_SCSI_S_TRANSPORT_FAILURE 6 | ||
2645 | |||
2646 | #define VIRTIO_SCSI_S_TARGET_FAILURE 7 | ||
2647 | |||
2648 | #define VIRTIO_SCSI_S_NEXUS_FAILURE 8 | ||
2649 | |||
2650 | #define VIRTIO_SCSI_S_FAILURE 9 | ||
2651 | |||
2652 | #define VIRTIO_SCSI_S_INCORRECT_LUN 12 | ||
2653 | |||
2654 | The type identifies the remaining fields. | ||
2655 | |||
2656 | The following commands are defined: | ||
2657 | |||
2658 | Task management function | ||
2659 | #define VIRTIO_SCSI_T_TMF 0 | ||
2660 | |||
2661 | |||
2662 | |||
2663 | #define VIRTIO_SCSI_T_TMF_ABORT_TASK 0 | ||
2664 | |||
2665 | #define VIRTIO_SCSI_T_TMF_ABORT_TASK_SET 1 | ||
2666 | |||
2667 | #define VIRTIO_SCSI_T_TMF_CLEAR_ACA 2 | ||
2668 | |||
2669 | #define VIRTIO_SCSI_T_TMF_CLEAR_TASK_SET 3 | ||
2670 | |||
2671 | #define VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET 4 | ||
2672 | |||
2673 | #define VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET 5 | ||
2674 | |||
2675 | #define VIRTIO_SCSI_T_TMF_QUERY_TASK 6 | ||
2676 | |||
2677 | #define VIRTIO_SCSI_T_TMF_QUERY_TASK_SET 7 | ||
2678 | |||
2679 | |||
2680 | |||
2681 | struct virtio_scsi_ctrl_tmf | ||
2682 | |||
2683 | { | ||
2684 | |||
2685 | // Read-only part | ||
2686 | |||
2687 | u32 type; | ||
2688 | |||
2689 | u32 subtype; | ||
2690 | |||
2691 | u8 lun[8]; | ||
2692 | |||
2693 | u64 id; | ||
2694 | |||
2695 | // Write-only part | ||
2696 | |||
2697 | u8 response; | ||
2698 | |||
2699 | } | ||
2700 | |||
2701 | |||
2702 | |||
2703 | /* command-specific response values */ | ||
2704 | |||
2705 | #define VIRTIO_SCSI_S_FUNCTION_COMPLETE 0 | ||
2706 | |||
2707 | #define VIRTIO_SCSI_S_FUNCTION_SUCCEEDED 10 | ||
2708 | |||
2709 | #define VIRTIO_SCSI_S_FUNCTION_REJECTED 11 | ||
2710 | |||
2711 | The type is VIRTIO_SCSI_T_TMF; the subtype field defines. All | ||
2712 | fields except response are filled by the driver. The subtype | ||
2713 | field must always be specified and identifies the requested | ||
2714 | task management function. | ||
2715 | |||
2716 | Other fields may be irrelevant for the requested TMF; if so, | ||
2717 | they are ignored but they should still be present. The lun | ||
2718 | field is in the same format specified for request queues; the | ||
2719 | single level LUN is ignored when the task management function | ||
2720 | addresses a whole I_T nexus. When relevant, the value of the id | ||
2721 | field is matched against the id values passed on the requestq. | ||
2722 | |||
2723 | The outcome of the task management function is written by the | ||
2724 | device in the response field. The command-specific response | ||
2725 | values map 1-to-1 with those defined in SAM. | ||
2726 | |||
2727 | Asynchronous notification query | ||
2728 | #define VIRTIO_SCSI_T_AN_QUERY 1 | ||
2729 | |||
2730 | |||
2731 | |||
2732 | struct virtio_scsi_ctrl_an { | ||
2733 | |||
2734 | // Read-only part | ||
2735 | |||
2736 | u32 type; | ||
2737 | |||
2738 | u8 lun[8]; | ||
2739 | |||
2740 | u32 event_requested; | ||
2741 | |||
2742 | // Write-only part | ||
2743 | |||
2744 | u32 event_actual; | ||
2745 | |||
2746 | u8 response; | ||
2747 | |||
2748 | } | ||
2749 | |||
2750 | |||
2751 | |||
2752 | #define VIRTIO_SCSI_EVT_ASYNC_OPERATIONAL_CHANGE 2 | ||
2753 | |||
2754 | #define VIRTIO_SCSI_EVT_ASYNC_POWER_MGMT 4 | ||
2755 | |||
2756 | #define VIRTIO_SCSI_EVT_ASYNC_EXTERNAL_REQUEST 8 | ||
2757 | |||
2758 | #define VIRTIO_SCSI_EVT_ASYNC_MEDIA_CHANGE 16 | ||
2759 | |||
2760 | #define VIRTIO_SCSI_EVT_ASYNC_MULTI_HOST 32 | ||
2761 | |||
2762 | #define VIRTIO_SCSI_EVT_ASYNC_DEVICE_BUSY 64 | ||
2763 | |||
2764 | By sending this command, the driver asks the device which | ||
2765 | events the given LUN can report, as described in paragraphs 6.6 | ||
2766 | and A.6 of the SCSI MMC specification. The driver writes the | ||
2767 | events it is interested in into the event_requested; the device | ||
2768 | responds by writing the events that it supports into | ||
2769 | event_actual. | ||
2770 | |||
2771 | The type is VIRTIO_SCSI_T_AN_QUERY. The lun and event_requested | ||
2772 | fields are written by the driver. The event_actual and response | ||
2773 | fields are written by the device. | ||
2774 | |||
2775 | No command-specific values are defined for the response byte. | ||
2776 | |||
2777 | Asynchronous notification subscription | ||
2778 | #define VIRTIO_SCSI_T_AN_SUBSCRIBE 2 | ||
2779 | |||
2780 | |||
2781 | |||
2782 | struct virtio_scsi_ctrl_an { | ||
2783 | |||
2784 | // Read-only part | ||
2785 | |||
2786 | u32 type; | ||
2787 | |||
2788 | u8 lun[8]; | ||
2789 | |||
2790 | u32 event_requested; | ||
2791 | |||
2792 | // Write-only part | ||
2793 | |||
2794 | u32 event_actual; | ||
2795 | |||
2796 | u8 response; | ||
2797 | |||
2798 | } | ||
2799 | |||
2800 | By sending this command, the driver asks the specified LUN to | ||
2801 | report events for its physical interface, again as described in | ||
2802 | the SCSI MMC specification. The driver writes the events it is | ||
2803 | interested in into the event_requested; the device responds by | ||
2804 | writing the events that it supports into event_actual. | ||
2805 | |||
2806 | Event types are the same as for the asynchronous notification | ||
2807 | query message. | ||
2808 | |||
2809 | The type is VIRTIO_SCSI_T_AN_SUBSCRIBE. The lun and | ||
2810 | event_requested fields are written by the driver. The | ||
2811 | event_actual and response fields are written by the device. | ||
2812 | |||
2813 | No command-specific values are defined for the response byte. | ||
2814 | |||
2815 | Device Operation: eventq | ||
2816 | |||
2817 | The eventq is used by the device to report information on logical | ||
2818 | units that are attached to it. The driver should always leave a | ||
2819 | few buffers ready in the eventq. In general, the device will not | ||
2820 | queue events to cope with an empty eventq, and will end up | ||
2821 | dropping events if it finds no buffer ready. However, when | ||
2822 | reporting events for many LUNs (e.g. when a whole target | ||
2823 | disappears), the device can throttle events to avoid dropping | ||
2824 | them. For this reason, placing 10-15 buffers on the event queue | ||
2825 | should be enough. | ||
2826 | |||
2827 | Buffers are placed in the eventq and filled by the device when | ||
2828 | interesting events occur. The buffers should be strictly | ||
2829 | write-only (device-filled) and the size of the buffers should be | ||
2830 | at least the value given in the device's configuration | ||
2831 | information. | ||
2832 | |||
2833 | Buffers returned by the device on the eventq will be referred to | ||
2834 | as "events" in the rest of this section. Events have the | ||
2835 | following format: | ||
2836 | |||
2837 | #define VIRTIO_SCSI_T_EVENTS_MISSED 0x80000000 | ||
2838 | |||
2839 | |||
2840 | |||
2841 | struct virtio_scsi_event { | ||
2842 | |||
2843 | // Write-only part | ||
2844 | |||
2845 | u32 event; | ||
2846 | |||
2847 | ... | ||
2848 | |||
2849 | } | ||
2850 | |||
2851 | If bit 31 is set in the event field, the device failed to report | ||
2852 | an event due to missing buffers. In this case, the driver should | ||
2853 | poll the logical units for unit attention conditions, and/or do | ||
2854 | whatever form of bus scan is appropriate for the guest operating | ||
2855 | system. | ||
2856 | |||
2857 | Other data that the device writes to the buffer depends on the | ||
2858 | contents of the event field. The following events are defined: | ||
2859 | |||
2860 | No event | ||
2861 | #define VIRTIO_SCSI_T_NO_EVENT 0 | ||
2862 | |||
2863 | This event is fired in the following cases: | ||
2864 | |||
2865 | When the device detects in the eventq a buffer that is shorter | ||
2866 | than what is indicated in the configuration field, it might | ||
2867 | use it immediately and put this dummy value in the event | ||
2868 | field. A well-written driver will never observe this | ||
2869 | situation. | ||
2870 | |||
2871 | When events are dropped, the device may signal this event as | ||
2872 | soon as the drivers makes a buffer available, in order to | ||
2873 | request action from the driver. In this case, of course, this | ||
2874 | event will be reported with the VIRTIO_SCSI_T_EVENTS_MISSED | ||
2875 | flag. | ||
2876 | |||
2877 | Transport reset | ||
2878 | #define VIRTIO_SCSI_T_TRANSPORT_RESET 1 | ||
2879 | |||
2880 | |||
2881 | |||
2882 | struct virtio_scsi_event_reset { | ||
2883 | |||
2884 | // Write-only part | ||
2885 | |||
2886 | u32 event; | ||
2887 | |||
2888 | u8 lun[8]; | ||
2889 | |||
2890 | u32 reason; | ||
2891 | |||
2892 | } | ||
2893 | |||
2894 | |||
2895 | |||
2896 | #define VIRTIO_SCSI_EVT_RESET_HARD 0 | ||
2897 | |||
2898 | #define VIRTIO_SCSI_EVT_RESET_RESCAN 1 | ||
2899 | |||
2900 | #define VIRTIO_SCSI_EVT_RESET_REMOVED 2 | ||
2901 | |||
2902 | By sending this event, the device signals that a logical unit | ||
2903 | on a target has been reset, including the case of a new device | ||
2904 | appearing or disappearing on the bus.The device fills in all | ||
2905 | fields. The event field is set to | ||
2906 | VIRTIO_SCSI_T_TRANSPORT_RESET. The lun field addresses a | ||
2907 | logical unit in the SCSI host. | ||
2908 | |||
2909 | The reason value is one of the three #define values appearing | ||
2910 | above: | ||
2911 | |||
2912 | VIRTIO_SCSI_EVT_RESET_REMOVED (“LUN/target removed”) is used if | ||
2913 | the target or logical unit is no longer able to receive | ||
2914 | commands. | ||
2915 | |||
2916 | VIRTIO_SCSI_EVT_RESET_HARD (“LUN hard reset”) is used if the | ||
2917 | logical unit has been reset, but is still present. | ||
2918 | |||
2919 | VIRTIO_SCSI_EVT_RESET_RESCAN (“rescan LUN/target”) is used if a | ||
2920 | target or logical unit has just appeared on the device. | ||
2921 | |||
2922 | The “removed” and “rescan” events, when sent for LUN 0, may | ||
2923 | apply to the entire target. After receiving them the driver | ||
2924 | should ask the initiator to rescan the target, in order to | ||
2925 | detect the case when an entire target has appeared or | ||
2926 | disappeared. These two events will never be reported unless the | ||
2927 | VIRTIO_SCSI_F_HOTPLUG feature was negotiated between the host | ||
2928 | and the guest. | ||
2929 | |||
2930 | Events will also be reported via sense codes (this obviously | ||
2931 | does not apply to newly appeared buses or targets, since the | ||
2932 | application has never discovered them): | ||
2933 | |||
2934 | “LUN/target removed” maps to sense key ILLEGAL REQUEST, asc | ||
2935 | 0x25, ascq 0x00 (LOGICAL UNIT NOT SUPPORTED) | ||
2936 | |||
2937 | “LUN hard reset” maps to sense key UNIT ATTENTION, asc 0x29 | ||
2938 | (POWER ON, RESET OR BUS DEVICE RESET OCCURRED) | ||
2939 | |||
2940 | “rescan LUN/target” maps to sense key UNIT ATTENTION, asc 0x3f, | ||
2941 | ascq 0x0e (REPORTED LUNS DATA HAS CHANGED) | ||
2942 | |||
2943 | The preferred way to detect transport reset is always to use | ||
2944 | events, because sense codes are only seen by the driver when it | ||
2945 | sends a SCSI command to the logical unit or target. However, in | ||
2946 | case events are dropped, the initiator will still be able to | ||
2947 | synchronize with the actual state of the controller if the | ||
2948 | driver asks the initiator to rescan of the SCSI bus. During the | ||
2949 | rescan, the initiator will be able to observe the above sense | ||
2950 | codes, and it will process them as if it the driver had | ||
2951 | received the equivalent event. | ||
2952 | |||
2953 | Asynchronous notification | ||
2954 | #define VIRTIO_SCSI_T_ASYNC_NOTIFY 2 | ||
2955 | |||
2956 | |||
2957 | |||
2958 | struct virtio_scsi_event_an { | ||
2959 | |||
2960 | // Write-only part | ||
2961 | |||
2962 | u32 event; | ||
2963 | |||
2964 | u8 lun[8]; | ||
2965 | |||
2966 | u32 reason; | ||
2967 | |||
2968 | } | ||
2969 | |||
2970 | By sending this event, the device signals that an asynchronous | ||
2971 | event was fired from a physical interface. | ||
2972 | |||
2973 | All fields are written by the device. The event field is set to | ||
2974 | VIRTIO_SCSI_T_ASYNC_NOTIFY. The lun field addresses a logical | ||
2975 | unit in the SCSI host. The reason field is a subset of the | ||
2976 | events that the driver has subscribed to via the "Asynchronous | ||
2977 | notification subscription" command. | ||
2978 | |||
2979 | When dropped events are reported, the driver should poll for | ||
2980 | asynchronous events manually using SCSI commands. | ||
2981 | |||
2982 | Appendix X: virtio-mmio | ||
2983 | |||
2984 | Virtual environments without PCI support (a common situation in | ||
2985 | embedded devices models) might use simple memory mapped device (“ | ||
2986 | virtio-mmio”) instead of the PCI device. | ||
2987 | |||
2988 | The memory mapped virtio device behaviour is based on the PCI | ||
2989 | device specification. Therefore most of operations like device | ||
2990 | initialization, queues configuration and buffer transfers are | ||
2991 | nearly identical. Existing differences are described in the | ||
2992 | following sections. | ||
2993 | |||
2994 | Device Initialization | ||
2995 | |||
2996 | Instead of using the PCI IO space for virtio header, the “ | ||
2997 | virtio-mmio” device provides a set of memory mapped control | ||
2998 | registers, all 32 bits wide, followed by device-specific | ||
2999 | configuration space. The following list presents their layout: | ||
3000 | |||
3001 | Offset from the device base address | Direction | Name | ||
3002 | Description | ||
3003 | |||
3004 | 0x000 | R | MagicValue | ||
3005 | “virt” string. | ||
3006 | |||
3007 | 0x004 | R | Version | ||
3008 | Device version number. Currently must be 1. | ||
3009 | |||
3010 | 0x008 | R | DeviceID | ||
3011 | Virtio Subsystem Device ID (ie. 1 for network card). | ||
3012 | |||
3013 | 0x00c | R | VendorID | ||
3014 | Virtio Subsystem Vendor ID. | ||
3015 | |||
3016 | 0x010 | R | HostFeatures | ||
3017 | Flags representing features the device supports. | ||
3018 | Reading from this register returns 32 consecutive flag bits, | ||
3019 | first bit depending on the last value written to | ||
3020 | HostFeaturesSel register. Access to this register returns bits HostFeaturesSel*32 | ||
3021 | |||
3022 | to (HostFeaturesSel*32)+31 | ||
3023 | , eg. feature bits 0 to 31 if | ||
3024 | HostFeaturesSel is set to 0 and features bits 32 to 63 if | ||
3025 | HostFeaturesSel is set to 1. Also see [sub:Feature-Bits] | ||
3026 | |||
3027 | 0x014 | W | HostFeaturesSel | ||
3028 | Device (Host) features word selection. | ||
3029 | Writing to this register selects a set of 32 device feature bits | ||
3030 | accessible by reading from HostFeatures register. Device driver | ||
3031 | must write a value to the HostFeaturesSel register before | ||
3032 | reading from the HostFeatures register. | ||
3033 | |||
3034 | 0x020 | W | GuestFeatures | ||
3035 | Flags representing device features understood and activated by | ||
3036 | the driver. | ||
3037 | Writing to this register sets 32 consecutive flag bits, first | ||
3038 | bit depending on the last value written to GuestFeaturesSel | ||
3039 | register. Access to this register sets bits GuestFeaturesSel*32 | ||
3040 | |||
3041 | to (GuestFeaturesSel*32)+31 | ||
3042 | , eg. feature bits 0 to 31 if | ||
3043 | GuestFeaturesSel is set to 0 and features bits 32 to 63 if | ||
3044 | GuestFeaturesSel is set to 1. Also see [sub:Feature-Bits] | ||
3045 | |||
3046 | 0x024 | W | GuestFeaturesSel | ||
3047 | Activated (Guest) features word selection. | ||
3048 | Writing to this register selects a set of 32 activated feature | ||
3049 | bits accessible by writing to the GuestFeatures register. | ||
3050 | Device driver must write a value to the GuestFeaturesSel | ||
3051 | register before writing to the GuestFeatures register. | ||
3052 | |||
3053 | 0x028 | W | GuestPageSize | ||
3054 | Guest page size. | ||
3055 | Device driver must write the guest page size in bytes to the | ||
3056 | register during initialization, before any queues are used. | ||
3057 | This value must be a power of 2 and is used by the Host to | ||
3058 | calculate Guest address of the first queue page (see QueuePFN). | ||
3059 | |||
3060 | 0x030 | W | QueueSel | ||
3061 | Virtual queue index (first queue is 0). | ||
3062 | Writing to this register selects the virtual queue that the | ||
3063 | following operations on QueueNum, QueueAlign and QueuePFN apply | ||
3064 | to. | ||
3065 | |||
3066 | 0x034 | R | QueueNumMax | ||
3067 | Maximum virtual queue size. | ||
3068 | Reading from the register returns the maximum size of the queue | ||
3069 | the Host is ready to process or zero (0x0) if the queue is not | ||
3070 | available. This applies to the queue selected by writing to | ||
3071 | QueueSel and is allowed only when QueuePFN is set to zero | ||
3072 | (0x0), so when the queue is not actively used. | ||
3073 | |||
3074 | 0x038 | W | QueueNum | ||
3075 | Virtual queue size. | ||
3076 | Queue size is a number of elements in the queue, therefore size | ||
3077 | of the descriptor table and both available and used rings. | ||
3078 | Writing to this register notifies the Host what size of the | ||
3079 | queue the Guest will use. This applies to the queue selected by | ||
3080 | writing to QueueSel. | ||
3081 | |||
3082 | 0x03c | W | QueueAlign | ||
3083 | Used Ring alignment in the virtual queue. | ||
3084 | Writing to this register notifies the Host about alignment | ||
3085 | boundary of the Used Ring in bytes. This value must be a power | ||
3086 | of 2 and applies to the queue selected by writing to QueueSel. | ||
3087 | |||
3088 | 0x040 | RW | QueuePFN | ||
3089 | Guest physical page number of the virtual queue. | ||
3090 | Writing to this register notifies the host about location of the | ||
3091 | virtual queue in the Guest's physical address space. This value | ||
3092 | is the index number of a page starting with the queue | ||
3093 | Descriptor Table. Value zero (0x0) means physical address zero | ||
3094 | (0x00000000) and is illegal. When the Guest stops using the | ||
3095 | queue it must write zero (0x0) to this register. | ||
3096 | Reading from this register returns the currently used page | ||
3097 | number of the queue, therefore a value other than zero (0x0) | ||
3098 | means that the queue is in use. | ||
3099 | Both read and write accesses apply to the queue selected by | ||
3100 | writing to QueueSel. | ||
3101 | |||
3102 | 0x050 | W | QueueNotify | ||
3103 | Queue notifier. | ||
3104 | Writing a queue index to this register notifies the Host that | ||
3105 | there are new buffers to process in the queue. | ||
3106 | |||
3107 | 0x60 | R | InterruptStatus | ||
3108 | Interrupt status. | ||
3109 | Reading from this register returns a bit mask of interrupts | ||
3110 | asserted by the device. An interrupt is asserted if the | ||
3111 | corresponding bit is set, ie. equals one (1). | ||
3112 | |||
3113 | Bit 0 | Used Ring Update | ||
3114 | This interrupt is asserted when the Host has updated the Used | ||
3115 | Ring in at least one of the active virtual queues. | ||
3116 | |||
3117 | Bit 1 | Configuration change | ||
3118 | This interrupt is asserted when configuration of the device has | ||
3119 | changed. | ||
3120 | |||
3121 | 0x064 | W | InterruptACK | ||
3122 | Interrupt acknowledge. | ||
3123 | Writing to this register notifies the Host that the Guest | ||
3124 | finished handling interrupts. Set bits in the value clear the | ||
3125 | corresponding bits of the InterruptStatus register. | ||
3126 | |||
3127 | 0x070 | RW | Status | ||
3128 | Device status. | ||
3129 | Reading from this register returns the current device status | ||
3130 | flags. | ||
3131 | Writing non-zero values to this register sets the status flags, | ||
3132 | indicating the Guest progress. Writing zero (0x0) to this | ||
3133 | register triggers a device reset. | ||
3134 | Also see [sub:Device-Initialization-Sequence] | ||
3135 | |||
3136 | 0x100+ | RW | Config | ||
3137 | Device-specific configuration space starts at an offset 0x100 | ||
3138 | and is accessed with byte alignment. Its meaning and size | ||
3139 | depends on the device and the driver. | ||
3140 | |||
3141 | Virtual queue size is a number of elements in the queue, | ||
3142 | therefore size of the descriptor table and both available and | ||
3143 | used rings. | ||
3144 | |||
3145 | The endianness of the registers follows the native endianness of | ||
3146 | the Guest. Writing to registers described as “R” and reading from | ||
3147 | registers described as “W” is not permitted and can cause | ||
3148 | undefined behavior. | ||
3149 | |||
3150 | The device initialization is performed as described in [sub:Device-Initialization-Sequence] | ||
3151 | with one exception: the Guest must notify the Host about its | ||
3152 | page size, writing the size in bytes to GuestPageSize register | ||
3153 | before the initialization is finished. | ||
3154 | |||
3155 | The memory mapped virtio devices generate single interrupt only, | ||
3156 | therefore no special configuration is required. | ||
3157 | |||
3158 | Virtqueue Configuration | ||
3159 | |||
3160 | The virtual queue configuration is performed in a similar way to | ||
3161 | the one described in [sec:Virtqueue-Configuration] with a few | ||
3162 | additional operations: | ||
3163 | |||
3164 | Select the queue writing its index (first queue is 0) to the | ||
3165 | QueueSel register. | ||
3166 | |||
3167 | Check if the queue is not already in use: read QueuePFN | ||
3168 | register, returned value should be zero (0x0). | ||
3169 | |||
3170 | Read maximum queue size (number of elements) from the | ||
3171 | QueueNumMax register. If the returned value is zero (0x0) the | ||
3172 | queue is not available. | ||
3173 | |||
3174 | Allocate and zero the queue pages in contiguous virtual memory, | ||
3175 | aligning the Used Ring to an optimal boundary (usually page | ||
3176 | size). Size of the allocated queue may be smaller than or equal | ||
3177 | to the maximum size returned by the Host. | ||
3178 | |||
3179 | Notify the Host about the queue size by writing the size to | ||
3180 | QueueNum register. | ||
3181 | |||
3182 | Notify the Host about the used alignment by writing its value | ||
3183 | in bytes to QueueAlign register. | ||
3184 | |||
3185 | Write the physical number of the first page of the queue to the | ||
3186 | QueuePFN register. | ||
3187 | |||
3188 | The queue and the device are ready to begin normal operations | ||
3189 | now. | ||
3190 | |||
3191 | Device Operation | ||
3192 | |||
3193 | The memory mapped virtio device behaves in the same way as | ||
3194 | described in [sec:Device-Operation], with the following | ||
3195 | exceptions: | ||
3196 | |||
3197 | The device is notified about new buffers available in a queue | ||
3198 | by writing the queue index to register QueueNum instead of the | ||
3199 | virtio header in PCI I/O space ([sub:Notifying-The-Device]). | ||
3200 | |||
3201 | The memory mapped virtio device is using single, dedicated | ||
3202 | interrupt signal, which is raised when at least one of the | ||
3203 | interrupts described in the InterruptStatus register | ||
3204 | description is asserted. After receiving an interrupt, the | ||
3205 | driver must read the InterruptStatus register to check what | ||
3206 | caused the interrupt (see the register description). After the | ||
3207 | interrupt is handled, the driver must acknowledge it by writing | ||
3208 | a bit mask corresponding to the serviced interrupt to the | ||
3209 | InterruptACK register. | ||
3210 | |||
diff --git a/Documentation/zh_CN/magic-number.txt b/Documentation/zh_CN/magic-number.txt index f606ba8598cf..4263022f5002 100644 --- a/Documentation/zh_CN/magic-number.txt +++ b/Documentation/zh_CN/magic-number.txt | |||
@@ -160,7 +160,7 @@ QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry drivers/scsi/arm/queue.c | |||
160 | HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c | 160 | HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c |
161 | NMI_MAGIC 0x48414d4d455201 nmi_s arch/mips/include/asm/sn/nmi.h | 161 | NMI_MAGIC 0x48414d4d455201 nmi_s arch/mips/include/asm/sn/nmi.h |
162 | 162 | ||
163 | 请注意,在声音记忆管理中仍然有每一些被定义的驱动魔术值。查看include/sound/sndmagic.h来获取他们完整的列表信息。很多OSS声音驱动拥有自己从声卡PCI ID构建的魔术值-他们也没有被列在这里。 | 163 | 请注意,在声音记忆管理中仍然有一些特殊的为每个驱动定义的魔术值。查看include/sound/sndmagic.h来获取他们完整的列表信息。很多OSS声音驱动拥有自己从声卡PCI ID构建的魔术值-他们也没有被列在这里。 |
164 | 164 | ||
165 | IrDA子系统也使用了大量的自己的魔术值,查看include/net/irda/irda.h来获取他们完整的信息。 | 165 | IrDA子系统也使用了大量的自己的魔术值,查看include/net/irda/irda.h来获取他们完整的信息。 |
166 | 166 | ||