aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/removed/ip_queue9
-rw-r--r--Documentation/ABI/testing/dev-kmsg90
-rw-r--r--Documentation/ABI/testing/sysfs-bus-usb15
-rw-r--r--Documentation/ABI/testing/sysfs-class-extcon97
-rw-r--r--Documentation/ABI/testing/sysfs-class-net-mesh9
-rw-r--r--Documentation/DocBook/80211.tmpl2
-rw-r--r--Documentation/HOWTO32
-rw-r--r--Documentation/RCU/torture.txt15
-rw-r--r--Documentation/arm/00-INDEX2
-rw-r--r--Documentation/arm/IXP200069
-rw-r--r--Documentation/arm/SPEAr/overview.txt13
-rw-r--r--Documentation/devices.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt27
-rw-r--r--Documentation/devicetree/bindings/arm/lpc32xx-mic.txt38
-rw-r--r--Documentation/devicetree/bindings/arm/lpc32xx.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/mrvl/intc.txt40
-rw-r--r--Documentation/devicetree/bindings/arm/mrvl/mrvl.txt (renamed from Documentation/devicetree/bindings/arm/mrvl.txt)8
-rw-r--r--Documentation/devicetree/bindings/arm/mrvl/timer.txt13
-rw-r--r--Documentation/devicetree/bindings/arm/spear.txt18
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt16
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt18
-rw-r--r--Documentation/devicetree/bindings/ata/ahci-platform.txt (renamed from Documentation/devicetree/bindings/ata/calxeda-sata.txt)5
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-nmk.txt31
-rw-r--r--Documentation/devicetree/bindings/gpio/mrvl-gpio.txt18
-rw-r--r--Documentation/devicetree/bindings/i2c/mrvl-i2c.txt15
-rw-r--r--Documentation/devicetree/bindings/i2c/pnx.txt36
-rw-r--r--Documentation/devicetree/bindings/misc/bmp085.txt20
-rw-r--r--Documentation/devicetree/bindings/mtd/orion-nand.txt50
-rw-r--r--Documentation/devicetree/bindings/net/lpc-eth.txt24
-rw-r--r--Documentation/devicetree/bindings/net/mdio-mux-gpio.txt127
-rw-r--r--Documentation/devicetree/bindings/net/mdio-mux.txt136
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt95
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,imx51-pinctrl.txt787
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,imx53-pinctrl.txt1202
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt1628
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,mxs-pinctrl.txt918
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt132
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt132
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt128
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt108
-rw-r--r--Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt5
-rw-r--r--Documentation/devicetree/bindings/regulator/fixed-regulator.txt5
-rw-r--r--Documentation/devicetree/bindings/regulator/tps62360-regulator.txt44
-rw-r--r--Documentation/devicetree/bindings/regulator/tps6586x.txt97
-rw-r--r--Documentation/devicetree/bindings/sound/sgtl5000.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/isp1301.txt25
-rw-r--r--Documentation/devicetree/bindings/usb/lpc32xx-udc.txt28
-rw-r--r--Documentation/devicetree/bindings/usb/ohci-nxp.txt24
-rw-r--r--Documentation/devicetree/bindings/usb/spear-usb.txt39
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt1
-rw-r--r--Documentation/driver-model/devres.txt8
-rw-r--r--Documentation/dynamic-debug-howto.txt184
-rw-r--r--Documentation/extcon/porting-android-switch-class124
-rw-r--r--Documentation/feature-removal-schedule.txt19
-rw-r--r--Documentation/filesystems/gfs2-glocks.txt119
-rw-r--r--Documentation/filesystems/gfs2.txt9
-rw-r--r--Documentation/filesystems/proc.txt1
-rw-r--r--Documentation/kernel-parameters.txt115
-rw-r--r--Documentation/memory-devices/ti-emif.txt57
-rw-r--r--Documentation/networking/00-INDEX8
-rw-r--r--Documentation/networking/3c359.txt58
-rw-r--r--Documentation/networking/3c509.txt1
-rw-r--r--Documentation/networking/batman-adv.txt22
-rw-r--r--Documentation/networking/fore200e.txt6
-rw-r--r--Documentation/networking/ieee802154.txt75
-rw-r--r--Documentation/networking/ip-sysctl.txt36
-rw-r--r--Documentation/networking/mac80211-auth-assoc-deauth.txt10
-rw-r--r--Documentation/networking/olympic.txt79
-rw-r--r--Documentation/networking/smctr.txt66
-rw-r--r--Documentation/networking/stmmac.txt29
-rw-r--r--Documentation/networking/tms380tr.txt147
-rw-r--r--Documentation/nfc/nfc-hci.txt155
-rw-r--r--Documentation/pinctrl.txt94
-rw-r--r--Documentation/power/regulator/regulator.txt3
-rw-r--r--Documentation/prctl/seccomp_filter.txt163
-rw-r--r--Documentation/scsi/ChangeLog.megaraid_sas8
-rw-r--r--Documentation/security/Smack.txt204
-rw-r--r--Documentation/security/Yama.txt10
-rw-r--r--Documentation/security/keys.txt17
-rw-r--r--Documentation/sparc/README-2.546
-rw-r--r--Documentation/sysctl/net.txt7
-rw-r--r--Documentation/usb/functionfs.txt67
-rw-r--r--Documentation/virtual/virtio-spec.txt1164
-rw-r--r--Documentation/zh_CN/magic-number.txt2
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 @@
1What: ip_queue
2Date: finally removed in kernel v3.5.0
3Contact: Pablo Neira Ayuso <pablo@netfilter.org>
4Description:
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
9Users:
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 @@
1What: /dev/kmsg
2Date: Mai 2012
3KernelVersion: 3.5
4Contact: Kay Sievers <kay@vrfy.org>
5Description: 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
90Users: 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
138What: /sys/bus/usb-serial/drivers/.../new_id 149What: /sys/bus/usb-serial/drivers/.../new_id
139Date: October 2011 150Date: October 2011
140Contact: linux-usb@vger.kernel.org 151Contact: 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
160What: /sys/bus/usb/device/.../avoid_reset_quirk 175What: /sys/bus/usb/device/.../avoid_reset_quirk
161Date: December 2009 176Date: December 2009
162Contact: Oliver Neukum <oliver@neukum.org> 177Contact: 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 @@
1What: /sys/class/extcon/.../
2Date: February 2012
3Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
4Description:
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
22What: /sys/class/extcon/.../name
23Date: February 2012
24Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
25Description:
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
31What: /sys/class/extcon/.../state
32Date: February 2012
33Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
34Description:
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
65What: /sys/class/extcon/.../cable.x/name
66Date: February 2012
67Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
68Description:
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
72What: /sys/class/extcon/.../cable.x/state
73Date: February 2012
74Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
75Description:
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
81What: /sys/class/extcon/.../mutually_exclusive/...
82Date: December 2011
83Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
84Description:
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
17What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
18Date: November 2011
19Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
20Description:
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
17What: /sys/class/net/<mesh_iface>/mesh/fragmentation 26What: /sys/class/net/<mesh_iface>/mesh/fragmentation
18Date: October 2010 27Date: October 2010
19Contact: Andreas Langer <an.langer@gmx.de> 28Contact: 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
218Linux kernel development process currently consists of a few different 218Linux kernel development process currently consists of a few different
219main kernel "branches" and lots of different subsystem-specific kernel 219main kernel "branches" and lots of different subsystem-specific kernel
220branches. These different branches are: 220branches. 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
2272.6.x kernel tree 2273.x kernel tree
228----------------- 228-----------------
2292.6.x kernels are maintained by Linus Torvalds, and can be found on 2293.x kernels are maintained by Linus Torvalds, and can be found on
230kernel.org in the pub/linux/kernel/v2.6/ directory. Its development 230kernel.org in the pub/linux/kernel/v3.x/ directory. Its development
231process is as follows: 231process 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
2652.6.x.y -stable kernel tree 2653.x.y -stable kernel tree
266--------------------------- 266---------------------------
267Kernels with 4-part versions are -stable kernels. They contain 267Kernels with 3-part versions are -stable kernels. They contain
268relatively small and critical fixes for security problems or significant 268relatively small and critical fixes for security problems or significant
269regressions discovered in a given 2.6.x kernel. 269regressions discovered in a given 3.x kernel.
270 270
271This is the recommended branch for users who want the most recent stable 271This is the recommended branch for users who want the most recent stable
272kernel and are not interested in helping test development/experimental 272kernel and are not interested in helping test development/experimental
273versions. 273versions.
274 274
275If no 2.6.x.y kernel is available, then the highest numbered 2.6.x 275If no 3.x.y kernel is available, then the highest numbered 3.x
276kernel is the current stable kernel. 276kernel is the current stable kernel.
277 277
2782.6.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and 2783.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and
279are released as needs dictate. The normal release period is approximately 279are released as needs dictate. The normal release period is approximately
280two weeks, but it can be longer if there are no pressing problems. A 280two weeks, but it can be longer if there are no pressing problems. A
281security-related problem, instead, can cause a release to happen almost 281security-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
285documents what kinds of changes are acceptable for the -stable tree, and 285documents what kinds of changes are acceptable for the -stable tree, and
286how the release process works. 286how the release process works.
287 287
2882.6.x -git patches 2883.x -git patches
289------------------ 289------------------
290These are daily snapshots of Linus' kernel tree which are managed in a 290These are daily snapshots of Linus' kernel tree which are managed in a
291git repository (hence the name.) These patches are usually released 291git repository (hence the name.) These patches are usually released
@@ -317,13 +317,13 @@ revisions to it, and maintainers can mark patches as under review,
317accepted, or rejected. Most of these patchwork sites are listed at 317accepted, or rejected. Most of these patchwork sites are listed at
318http://patchwork.kernel.org/. 318http://patchwork.kernel.org/.
319 319
3202.6.x -next kernel tree for integration tests 3203.x -next kernel tree for integration tests
321--------------------------------------------- 321---------------------------------------------
322Before updates from subsystem trees are merged into the mainline 2.6.x 322Before updates from subsystem trees are merged into the mainline 3.x
323tree, they need to be integration-tested. For this purpose, a special 323tree, they need to be integration-tested. For this purpose, a special
324testing repository exists into which virtually all subsystem trees are 324testing repository exists into which virtually all subsystem trees are
325pulled on an almost daily basis: 325pulled 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
329This way, the -next kernel gives a summary outlook onto what will be 329This 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
50n_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
50nfakewriters This is the number of RCU fake writer threads to run. Fake 60nfakewriters 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
188The statistics output is as follows: 198The 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
243o "rtbe": A non-zero value indicates that one of the rcu_barrier()
244 family of functions is not working correctly.
245
233o "rtbke": rcutorture was unable to create the real-time kthreads 246o "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
5Interrupts 5Interrupts
6 - ARM Interrupt subsystem documentation 6 - ARM Interrupt subsystem documentation
7IXP2000
8 - Release Notes for Linux on Intel's IXP2000 Network Processor
9msm 7msm
10 - MSM specific documentation 8 - MSM specific documentation
11Netwinder 9Netwinder
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-------------------------------------------------------------------------
3Release Notes for Linux on Intel's IXP2000 Network Processor
4
5Maintained by Deepak Saxena <dsaxena@plexity.net>
6-------------------------------------------------------------------------
7
81. Overview
9
10Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850) is designed
11for high-performance network applications such high-availability
12telecom systems. In addition to an XScale core, it contains up to 8
13"MicroEngines" that run special code, several high-end networking
14interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
15flash interface, and some other odds and ends. For more information, see:
16
17http://developer.intel.com
18
192. Linux Support
20
21Linux 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
29That is about all we can support under Linux ATM b/c the core networking
30components of the chip are accessed via Intel's closed source SDK.
31Please contact Intel directly on issues with using those. There is
32also a mailing list run by some folks at Princeton University that might
33be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
34
35WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL
36MAILING LISTS REGARDING THE INTEL SDK.
37
383. 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
464. 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
585. Thanks
59
60The IXP2000 work has been funded by Intel Corp. and MontaVista Software, Inc.
61
62The following people have contributed patches/comments/etc:
63
64Naeem F. Afzal
65Lennert Buytenhek
66Jeffrey Daly
67
68-------------------------------------------------------------------------
69Last 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
3ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which
4provides per-cpu timers.
5
6The 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
17Example:
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
4Required 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
18Examples:
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 @@
1NXP LPC32xx Platforms Device Tree Bindings
2------------------------------------------
3
4Boards with the NXP LPC32xx SoC shall have the following properties:
5
6Required root node property:
7
8compatible: 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
3Required 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
23Example:
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
4PXA168 Aspenite Board 4PXA168 Aspenite Board
5Required root node properties: 5Required root node properties:
6 - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; 6 - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
7
8PXA910 DKB Board
9Required root node properties:
10 - compatible = "mrvl,pxa910-dkb";
11
12MMP2 Brownstone Board
13Required 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
3Required 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
8Example:
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:
6Required root node property: 6Required root node property:
7 7
8compatible = "st,spear600"; 8compatible = "st,spear600";
9
10Boards with the ST SPEAr300 SoC shall have the following properties:
11
12Required root node property:
13
14compatible = "st,spear300";
15
16Boards with the ST SPEAr310 SoC shall have the following properties:
17
18Required root node property:
19
20compatible = "st,spear310";
21
22Boards with the ST SPEAr320 SoC shall have the following properties:
23
24Required root node property:
25
26compatible = "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 @@
1NVIDIA Tegra20 MC(Memory Controller)
2
3Required 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
10Example:
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 @@
1NVIDIA Tegra30 MC(Memory Controller)
2
3Required 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
10Example:
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
3SATA nodes are defined to describe on-chip Serial ATA controllers. 3SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required 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 @@
1Nomadik GPIO controller
2
3Required 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
20Example:
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 @@
3Required properties: 3Required 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
12Example: 18Example:
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 @@
3Required properties : 3Required 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
11Recommended properties : 11Recommended 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
24Examples: 21Examples:
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
3Required 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
13Optional properties:
14
15 - clock-frequency: desired I2C bus clock frequency in Hz, Default: 100000 Hz
16
17Examples:
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 @@
1BMP085/BMP18x digital pressure sensors
2
3Required properties:
4- compatible: bosch,bmp085
5
6Optional 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
12Example:
13
14pressure@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 @@
1NAND support for Marvell Orion SoC platforms
2
3Required properties:
4- compatible : "mrvl,orion-nand".
5- reg : Base physical address of the NAND and length of memory mapped
6 region
7
8Optional 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
15The device tree may optionally contain sub-nodes describing partitions of the
16address space. See partition.txt for more detail.
17
18Example:
19
20nand@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
3Required 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
8Optional 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
14Example:
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 @@
1Properties for an MDIO bus multiplexer/switch controlled by GPIO pins.
2
3This is a special case of a MDIO bus multiplexer. One or more GPIO
4lines are used to control which child bus is connected.
5
6Required 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
12Example :
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 @@
1Common MDIO bus multiplexer/switch properties.
2
3An MDIO bus multiplexer/switch will have several child busses that are
4numbered uniquely in a device dependent manner. The nodes for an MDIO
5bus multiplexer/switch will have one child node for each child bus.
6
7Required properties:
8- mdio-parent-bus : phandle to the parent MDIO bus.
9- #address-cells = <1>;
10- #size-cells = <0>;
11
12Optional properties:
13- Other properties specific to the multiplexer/switch hardware.
14
15Required properties for child nodes:
16- #address-cells = <1>;
17- #size-cells = <0>;
18- reg : The sub-bus number.
19
20
21Example :
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
3The IOMUX Controller (IOMUXC), together with the IOMUX, enables the IC
4to share one PAD to several functional blocks. The sharing is done by
5multiplexing the PAD input/output signals. For each PAD there are up to
68 muxing options (called ALT modes). Since different modules require
7different PAD settings (like pull up, keeper, etc) the IOMUXC controls
8also the PAD settings parameters.
9
10Please refer to pinctrl-bindings.txt in this directory for details of the
11common pinctrl bindings used by client devices, including the meaning of the
12phrase "pin configuration node".
13
14Freescale IMX pin configuration node is a node of a group of pins which can be
15used for a specific device or function. This node represents both mux and config
16of the pins in that group. The 'mux' selects the function mode(also named mux
17mode) this pin can work on and the 'config' configures various pad settings
18such as pull-up, open drain, drive strength, etc.
19
20Required properties for iomux controller:
21- compatible: "fsl,<soc>-iomuxc"
22 Please refer to each fsl,<soc>-pinctrl.txt binding doc for supported SoCs.
23
24Required 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
31Bits used for CONFIG:
32NO_PAD_CTL(1 << 31): indicate this pin does not need config.
33
34SION(1 << 30): Software Input On Field.
35Force the selected mux mode input path no matter of MUX_MODE functionality.
36By default the input path is determined by functionality of the selected
37mux mode (regular).
38
39Other bits are used for PAD setting.
40Please refer to each fsl,<soc>-pinctrl,txt binding doc for SoC specific part
41of bits definitions.
42
43NOTE:
44Some requirements for using fsl,imx-pinctrl binding:
451. We have pin function node defined under iomux controller node to represent
46 what pinmux functions this SoC supports.
472. 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.
513. 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.
564. 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
59Examples:
60usdhc@0219c000 { /* uSDHC4 */
61 fsl,card-wired;
62 vmmc-supply = <&reg_3p3v>;
63 status = "okay";
64 pinctrl-names = "default";
65 pinctrl-0 = <&pinctrl_usdhc4_1>;
66};
67
68iomuxc@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};
89Refer to the IOMUXC controller chapter in imx6q datasheet,
900x17059 means enable hysteresis, 47KOhm Pull Up, 50Mhz speed,
9180Ohm driver strength and Fast Slew Rate.
92User should refer to each SoC spec to set the correct value.
93
94TODO: when dtc macro support is available, we can change above raw data
95to 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
3Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
4and usage.
5
6Required 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
14CONFIG bits definition:
15PAD_CTL_HVE (1 << 13)
16PAD_CTL_HYS (1 << 8)
17PAD_CTL_PKE (1 << 7)
18PAD_CTL_PUE (1 << 6)
19PAD_CTL_PUS_100K_DOWN (0 << 4)
20PAD_CTL_PUS_47K_UP (1 << 4)
21PAD_CTL_PUS_100K_UP (2 << 4)
22PAD_CTL_PUS_22K_UP (3 << 4)
23PAD_CTL_ODE (1 << 3)
24PAD_CTL_DSE_LOW (0 << 1)
25PAD_CTL_DSE_MED (1 << 1)
26PAD_CTL_DSE_HIGH (2 << 1)
27PAD_CTL_DSE_MAX (3 << 1)
28PAD_CTL_SRE_FAST (1 << 0)
29PAD_CTL_SRE_SLOW (0 << 0)
30
31See below for available PIN_FUNC_ID for imx51:
32MX51_PAD_EIM_D16__AUD4_RXFS 0
33MX51_PAD_EIM_D16__AUD5_TXD 1
34MX51_PAD_EIM_D16__EIM_D16 2
35MX51_PAD_EIM_D16__GPIO2_0 3
36MX51_PAD_EIM_D16__I2C1_SDA 4
37MX51_PAD_EIM_D16__UART2_CTS 5
38MX51_PAD_EIM_D16__USBH2_DATA0 6
39MX51_PAD_EIM_D17__AUD5_RXD 7
40MX51_PAD_EIM_D17__EIM_D17 8
41MX51_PAD_EIM_D17__GPIO2_1 9
42MX51_PAD_EIM_D17__UART2_RXD 10
43MX51_PAD_EIM_D17__UART3_CTS 11
44MX51_PAD_EIM_D17__USBH2_DATA1 12
45MX51_PAD_EIM_D18__AUD5_TXC 13
46MX51_PAD_EIM_D18__EIM_D18 14
47MX51_PAD_EIM_D18__GPIO2_2 15
48MX51_PAD_EIM_D18__UART2_TXD 16
49MX51_PAD_EIM_D18__UART3_RTS 17
50MX51_PAD_EIM_D18__USBH2_DATA2 18
51MX51_PAD_EIM_D19__AUD4_RXC 19
52MX51_PAD_EIM_D19__AUD5_TXFS 20
53MX51_PAD_EIM_D19__EIM_D19 21
54MX51_PAD_EIM_D19__GPIO2_3 22
55MX51_PAD_EIM_D19__I2C1_SCL 23
56MX51_PAD_EIM_D19__UART2_RTS 24
57MX51_PAD_EIM_D19__USBH2_DATA3 25
58MX51_PAD_EIM_D20__AUD4_TXD 26
59MX51_PAD_EIM_D20__EIM_D20 27
60MX51_PAD_EIM_D20__GPIO2_4 28
61MX51_PAD_EIM_D20__SRTC_ALARM_DEB 29
62MX51_PAD_EIM_D20__USBH2_DATA4 30
63MX51_PAD_EIM_D21__AUD4_RXD 31
64MX51_PAD_EIM_D21__EIM_D21 32
65MX51_PAD_EIM_D21__GPIO2_5 33
66MX51_PAD_EIM_D21__SRTC_ALARM_DEB 34
67MX51_PAD_EIM_D21__USBH2_DATA5 35
68MX51_PAD_EIM_D22__AUD4_TXC 36
69MX51_PAD_EIM_D22__EIM_D22 37
70MX51_PAD_EIM_D22__GPIO2_6 38
71MX51_PAD_EIM_D22__USBH2_DATA6 39
72MX51_PAD_EIM_D23__AUD4_TXFS 40
73MX51_PAD_EIM_D23__EIM_D23 41
74MX51_PAD_EIM_D23__GPIO2_7 42
75MX51_PAD_EIM_D23__SPDIF_OUT1 43
76MX51_PAD_EIM_D23__USBH2_DATA7 44
77MX51_PAD_EIM_D24__AUD6_RXFS 45
78MX51_PAD_EIM_D24__EIM_D24 46
79MX51_PAD_EIM_D24__GPIO2_8 47
80MX51_PAD_EIM_D24__I2C2_SDA 48
81MX51_PAD_EIM_D24__UART3_CTS 49
82MX51_PAD_EIM_D24__USBOTG_DATA0 50
83MX51_PAD_EIM_D25__EIM_D25 51
84MX51_PAD_EIM_D25__KEY_COL6 52
85MX51_PAD_EIM_D25__UART2_CTS 53
86MX51_PAD_EIM_D25__UART3_RXD 54
87MX51_PAD_EIM_D25__USBOTG_DATA1 55
88MX51_PAD_EIM_D26__EIM_D26 56
89MX51_PAD_EIM_D26__KEY_COL7 57
90MX51_PAD_EIM_D26__UART2_RTS 58
91MX51_PAD_EIM_D26__UART3_TXD 59
92MX51_PAD_EIM_D26__USBOTG_DATA2 60
93MX51_PAD_EIM_D27__AUD6_RXC 61
94MX51_PAD_EIM_D27__EIM_D27 62
95MX51_PAD_EIM_D27__GPIO2_9 63
96MX51_PAD_EIM_D27__I2C2_SCL 64
97MX51_PAD_EIM_D27__UART3_RTS 65
98MX51_PAD_EIM_D27__USBOTG_DATA3 66
99MX51_PAD_EIM_D28__AUD6_TXD 67
100MX51_PAD_EIM_D28__EIM_D28 68
101MX51_PAD_EIM_D28__KEY_ROW4 69
102MX51_PAD_EIM_D28__USBOTG_DATA4 70
103MX51_PAD_EIM_D29__AUD6_RXD 71
104MX51_PAD_EIM_D29__EIM_D29 72
105MX51_PAD_EIM_D29__KEY_ROW5 73
106MX51_PAD_EIM_D29__USBOTG_DATA5 74
107MX51_PAD_EIM_D30__AUD6_TXC 75
108MX51_PAD_EIM_D30__EIM_D30 76
109MX51_PAD_EIM_D30__KEY_ROW6 77
110MX51_PAD_EIM_D30__USBOTG_DATA6 78
111MX51_PAD_EIM_D31__AUD6_TXFS 79
112MX51_PAD_EIM_D31__EIM_D31 80
113MX51_PAD_EIM_D31__KEY_ROW7 81
114MX51_PAD_EIM_D31__USBOTG_DATA7 82
115MX51_PAD_EIM_A16__EIM_A16 83
116MX51_PAD_EIM_A16__GPIO2_10 84
117MX51_PAD_EIM_A16__OSC_FREQ_SEL0 85
118MX51_PAD_EIM_A17__EIM_A17 86
119MX51_PAD_EIM_A17__GPIO2_11 87
120MX51_PAD_EIM_A17__OSC_FREQ_SEL1 88
121MX51_PAD_EIM_A18__BOOT_LPB0 89
122MX51_PAD_EIM_A18__EIM_A18 90
123MX51_PAD_EIM_A18__GPIO2_12 91
124MX51_PAD_EIM_A19__BOOT_LPB1 92
125MX51_PAD_EIM_A19__EIM_A19 93
126MX51_PAD_EIM_A19__GPIO2_13 94
127MX51_PAD_EIM_A20__BOOT_UART_SRC0 95
128MX51_PAD_EIM_A20__EIM_A20 96
129MX51_PAD_EIM_A20__GPIO2_14 97
130MX51_PAD_EIM_A21__BOOT_UART_SRC1 98
131MX51_PAD_EIM_A21__EIM_A21 99
132MX51_PAD_EIM_A21__GPIO2_15 100
133MX51_PAD_EIM_A22__EIM_A22 101
134MX51_PAD_EIM_A22__GPIO2_16 102
135MX51_PAD_EIM_A23__BOOT_HPN_EN 103
136MX51_PAD_EIM_A23__EIM_A23 104
137MX51_PAD_EIM_A23__GPIO2_17 105
138MX51_PAD_EIM_A24__EIM_A24 106
139MX51_PAD_EIM_A24__GPIO2_18 107
140MX51_PAD_EIM_A24__USBH2_CLK 108
141MX51_PAD_EIM_A25__DISP1_PIN4 109
142MX51_PAD_EIM_A25__EIM_A25 110
143MX51_PAD_EIM_A25__GPIO2_19 111
144MX51_PAD_EIM_A25__USBH2_DIR 112
145MX51_PAD_EIM_A26__CSI1_DATA_EN 113
146MX51_PAD_EIM_A26__DISP2_EXT_CLK 114
147MX51_PAD_EIM_A26__EIM_A26 115
148MX51_PAD_EIM_A26__GPIO2_20 116
149MX51_PAD_EIM_A26__USBH2_STP 117
150MX51_PAD_EIM_A27__CSI2_DATA_EN 118
151MX51_PAD_EIM_A27__DISP1_PIN1 119
152MX51_PAD_EIM_A27__EIM_A27 120
153MX51_PAD_EIM_A27__GPIO2_21 121
154MX51_PAD_EIM_A27__USBH2_NXT 122
155MX51_PAD_EIM_EB0__EIM_EB0 123
156MX51_PAD_EIM_EB1__EIM_EB1 124
157MX51_PAD_EIM_EB2__AUD5_RXFS 125
158MX51_PAD_EIM_EB2__CSI1_D2 126
159MX51_PAD_EIM_EB2__EIM_EB2 127
160MX51_PAD_EIM_EB2__FEC_MDIO 128
161MX51_PAD_EIM_EB2__GPIO2_22 129
162MX51_PAD_EIM_EB2__GPT_CMPOUT1 130
163MX51_PAD_EIM_EB3__AUD5_RXC 131
164MX51_PAD_EIM_EB3__CSI1_D3 132
165MX51_PAD_EIM_EB3__EIM_EB3 133
166MX51_PAD_EIM_EB3__FEC_RDATA1 134
167MX51_PAD_EIM_EB3__GPIO2_23 135
168MX51_PAD_EIM_EB3__GPT_CMPOUT2 136
169MX51_PAD_EIM_OE__EIM_OE 137
170MX51_PAD_EIM_OE__GPIO2_24 138
171MX51_PAD_EIM_CS0__EIM_CS0 139
172MX51_PAD_EIM_CS0__GPIO2_25 140
173MX51_PAD_EIM_CS1__EIM_CS1 141
174MX51_PAD_EIM_CS1__GPIO2_26 142
175MX51_PAD_EIM_CS2__AUD5_TXD 143
176MX51_PAD_EIM_CS2__CSI1_D4 144
177MX51_PAD_EIM_CS2__EIM_CS2 145
178MX51_PAD_EIM_CS2__FEC_RDATA2 146
179MX51_PAD_EIM_CS2__GPIO2_27 147
180MX51_PAD_EIM_CS2__USBOTG_STP 148
181MX51_PAD_EIM_CS3__AUD5_RXD 149
182MX51_PAD_EIM_CS3__CSI1_D5 150
183MX51_PAD_EIM_CS3__EIM_CS3 151
184MX51_PAD_EIM_CS3__FEC_RDATA3 152
185MX51_PAD_EIM_CS3__GPIO2_28 153
186MX51_PAD_EIM_CS3__USBOTG_NXT 154
187MX51_PAD_EIM_CS4__AUD5_TXC 155
188MX51_PAD_EIM_CS4__CSI1_D6 156
189MX51_PAD_EIM_CS4__EIM_CS4 157
190MX51_PAD_EIM_CS4__FEC_RX_ER 158
191MX51_PAD_EIM_CS4__GPIO2_29 159
192MX51_PAD_EIM_CS4__USBOTG_CLK 160
193MX51_PAD_EIM_CS5__AUD5_TXFS 161
194MX51_PAD_EIM_CS5__CSI1_D7 162
195MX51_PAD_EIM_CS5__DISP1_EXT_CLK 163
196MX51_PAD_EIM_CS5__EIM_CS5 164
197MX51_PAD_EIM_CS5__FEC_CRS 165
198MX51_PAD_EIM_CS5__GPIO2_30 166
199MX51_PAD_EIM_CS5__USBOTG_DIR 167
200MX51_PAD_EIM_DTACK__EIM_DTACK 168
201MX51_PAD_EIM_DTACK__GPIO2_31 169
202MX51_PAD_EIM_LBA__EIM_LBA 170
203MX51_PAD_EIM_LBA__GPIO3_1 171
204MX51_PAD_EIM_CRE__EIM_CRE 172
205MX51_PAD_EIM_CRE__GPIO3_2 173
206MX51_PAD_DRAM_CS1__DRAM_CS1 174
207MX51_PAD_NANDF_WE_B__GPIO3_3 175
208MX51_PAD_NANDF_WE_B__NANDF_WE_B 176
209MX51_PAD_NANDF_WE_B__PATA_DIOW 177
210MX51_PAD_NANDF_WE_B__SD3_DATA0 178
211MX51_PAD_NANDF_RE_B__GPIO3_4 179
212MX51_PAD_NANDF_RE_B__NANDF_RE_B 180
213MX51_PAD_NANDF_RE_B__PATA_DIOR 181
214MX51_PAD_NANDF_RE_B__SD3_DATA1 182
215MX51_PAD_NANDF_ALE__GPIO3_5 183
216MX51_PAD_NANDF_ALE__NANDF_ALE 184
217MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 185
218MX51_PAD_NANDF_CLE__GPIO3_6 186
219MX51_PAD_NANDF_CLE__NANDF_CLE 187
220MX51_PAD_NANDF_CLE__PATA_RESET_B 188
221MX51_PAD_NANDF_WP_B__GPIO3_7 189
222MX51_PAD_NANDF_WP_B__NANDF_WP_B 190
223MX51_PAD_NANDF_WP_B__PATA_DMACK 191
224MX51_PAD_NANDF_WP_B__SD3_DATA2 192
225MX51_PAD_NANDF_RB0__ECSPI2_SS1 193
226MX51_PAD_NANDF_RB0__GPIO3_8 194
227MX51_PAD_NANDF_RB0__NANDF_RB0 195
228MX51_PAD_NANDF_RB0__PATA_DMARQ 196
229MX51_PAD_NANDF_RB0__SD3_DATA3 197
230MX51_PAD_NANDF_RB1__CSPI_MOSI 198
231MX51_PAD_NANDF_RB1__ECSPI2_RDY 199
232MX51_PAD_NANDF_RB1__GPIO3_9 200
233MX51_PAD_NANDF_RB1__NANDF_RB1 201
234MX51_PAD_NANDF_RB1__PATA_IORDY 202
235MX51_PAD_NANDF_RB1__SD4_CMD 203
236MX51_PAD_NANDF_RB2__DISP2_WAIT 204
237MX51_PAD_NANDF_RB2__ECSPI2_SCLK 205
238MX51_PAD_NANDF_RB2__FEC_COL 206
239MX51_PAD_NANDF_RB2__GPIO3_10 207
240MX51_PAD_NANDF_RB2__NANDF_RB2 208
241MX51_PAD_NANDF_RB2__USBH3_H3_DP 209
242MX51_PAD_NANDF_RB2__USBH3_NXT 210
243MX51_PAD_NANDF_RB3__DISP1_WAIT 211
244MX51_PAD_NANDF_RB3__ECSPI2_MISO 212
245MX51_PAD_NANDF_RB3__FEC_RX_CLK 213
246MX51_PAD_NANDF_RB3__GPIO3_11 214
247MX51_PAD_NANDF_RB3__NANDF_RB3 215
248MX51_PAD_NANDF_RB3__USBH3_CLK 216
249MX51_PAD_NANDF_RB3__USBH3_H3_DM 217
250MX51_PAD_GPIO_NAND__GPIO_NAND 218
251MX51_PAD_GPIO_NAND__PATA_INTRQ 219
252MX51_PAD_NANDF_CS0__GPIO3_16 220
253MX51_PAD_NANDF_CS0__NANDF_CS0 221
254MX51_PAD_NANDF_CS1__GPIO3_17 222
255MX51_PAD_NANDF_CS1__NANDF_CS1 223
256MX51_PAD_NANDF_CS2__CSPI_SCLK 224
257MX51_PAD_NANDF_CS2__FEC_TX_ER 225
258MX51_PAD_NANDF_CS2__GPIO3_18 226
259MX51_PAD_NANDF_CS2__NANDF_CS2 227
260MX51_PAD_NANDF_CS2__PATA_CS_0 228
261MX51_PAD_NANDF_CS2__SD4_CLK 229
262MX51_PAD_NANDF_CS2__USBH3_H1_DP 230
263MX51_PAD_NANDF_CS3__FEC_MDC 231
264MX51_PAD_NANDF_CS3__GPIO3_19 232
265MX51_PAD_NANDF_CS3__NANDF_CS3 233
266MX51_PAD_NANDF_CS3__PATA_CS_1 234
267MX51_PAD_NANDF_CS3__SD4_DAT0 235
268MX51_PAD_NANDF_CS3__USBH3_H1_DM 236
269MX51_PAD_NANDF_CS4__FEC_TDATA1 237
270MX51_PAD_NANDF_CS4__GPIO3_20 238
271MX51_PAD_NANDF_CS4__NANDF_CS4 239
272MX51_PAD_NANDF_CS4__PATA_DA_0 240
273MX51_PAD_NANDF_CS4__SD4_DAT1 241
274MX51_PAD_NANDF_CS4__USBH3_STP 242
275MX51_PAD_NANDF_CS5__FEC_TDATA2 243
276MX51_PAD_NANDF_CS5__GPIO3_21 244
277MX51_PAD_NANDF_CS5__NANDF_CS5 245
278MX51_PAD_NANDF_CS5__PATA_DA_1 246
279MX51_PAD_NANDF_CS5__SD4_DAT2 247
280MX51_PAD_NANDF_CS5__USBH3_DIR 248
281MX51_PAD_NANDF_CS6__CSPI_SS3 249
282MX51_PAD_NANDF_CS6__FEC_TDATA3 250
283MX51_PAD_NANDF_CS6__GPIO3_22 251
284MX51_PAD_NANDF_CS6__NANDF_CS6 252
285MX51_PAD_NANDF_CS6__PATA_DA_2 253
286MX51_PAD_NANDF_CS6__SD4_DAT3 254
287MX51_PAD_NANDF_CS7__FEC_TX_EN 255
288MX51_PAD_NANDF_CS7__GPIO3_23 256
289MX51_PAD_NANDF_CS7__NANDF_CS7 257
290MX51_PAD_NANDF_CS7__SD3_CLK 258
291MX51_PAD_NANDF_RDY_INT__ECSPI2_SS0 259
292MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 260
293MX51_PAD_NANDF_RDY_INT__GPIO3_24 261
294MX51_PAD_NANDF_RDY_INT__NANDF_RDY_INT 262
295MX51_PAD_NANDF_RDY_INT__SD3_CMD 263
296MX51_PAD_NANDF_D15__ECSPI2_MOSI 264
297MX51_PAD_NANDF_D15__GPIO3_25 265
298MX51_PAD_NANDF_D15__NANDF_D15 266
299MX51_PAD_NANDF_D15__PATA_DATA15 267
300MX51_PAD_NANDF_D15__SD3_DAT7 268
301MX51_PAD_NANDF_D14__ECSPI2_SS3 269
302MX51_PAD_NANDF_D14__GPIO3_26 270
303MX51_PAD_NANDF_D14__NANDF_D14 271
304MX51_PAD_NANDF_D14__PATA_DATA14 272
305MX51_PAD_NANDF_D14__SD3_DAT6 273
306MX51_PAD_NANDF_D13__ECSPI2_SS2 274
307MX51_PAD_NANDF_D13__GPIO3_27 275
308MX51_PAD_NANDF_D13__NANDF_D13 276
309MX51_PAD_NANDF_D13__PATA_DATA13 277
310MX51_PAD_NANDF_D13__SD3_DAT5 278
311MX51_PAD_NANDF_D12__ECSPI2_SS1 279
312MX51_PAD_NANDF_D12__GPIO3_28 280
313MX51_PAD_NANDF_D12__NANDF_D12 281
314MX51_PAD_NANDF_D12__PATA_DATA12 282
315MX51_PAD_NANDF_D12__SD3_DAT4 283
316MX51_PAD_NANDF_D11__FEC_RX_DV 284
317MX51_PAD_NANDF_D11__GPIO3_29 285
318MX51_PAD_NANDF_D11__NANDF_D11 286
319MX51_PAD_NANDF_D11__PATA_DATA11 287
320MX51_PAD_NANDF_D11__SD3_DATA3 288
321MX51_PAD_NANDF_D10__GPIO3_30 289
322MX51_PAD_NANDF_D10__NANDF_D10 290
323MX51_PAD_NANDF_D10__PATA_DATA10 291
324MX51_PAD_NANDF_D10__SD3_DATA2 292
325MX51_PAD_NANDF_D9__FEC_RDATA0 293
326MX51_PAD_NANDF_D9__GPIO3_31 294
327MX51_PAD_NANDF_D9__NANDF_D9 295
328MX51_PAD_NANDF_D9__PATA_DATA9 296
329MX51_PAD_NANDF_D9__SD3_DATA1 297
330MX51_PAD_NANDF_D8__FEC_TDATA0 298
331MX51_PAD_NANDF_D8__GPIO4_0 299
332MX51_PAD_NANDF_D8__NANDF_D8 300
333MX51_PAD_NANDF_D8__PATA_DATA8 301
334MX51_PAD_NANDF_D8__SD3_DATA0 302
335MX51_PAD_NANDF_D7__GPIO4_1 303
336MX51_PAD_NANDF_D7__NANDF_D7 304
337MX51_PAD_NANDF_D7__PATA_DATA7 305
338MX51_PAD_NANDF_D7__USBH3_DATA0 306
339MX51_PAD_NANDF_D6__GPIO4_2 307
340MX51_PAD_NANDF_D6__NANDF_D6 308
341MX51_PAD_NANDF_D6__PATA_DATA6 309
342MX51_PAD_NANDF_D6__SD4_LCTL 310
343MX51_PAD_NANDF_D6__USBH3_DATA1 311
344MX51_PAD_NANDF_D5__GPIO4_3 312
345MX51_PAD_NANDF_D5__NANDF_D5 313
346MX51_PAD_NANDF_D5__PATA_DATA5 314
347MX51_PAD_NANDF_D5__SD4_WP 315
348MX51_PAD_NANDF_D5__USBH3_DATA2 316
349MX51_PAD_NANDF_D4__GPIO4_4 317
350MX51_PAD_NANDF_D4__NANDF_D4 318
351MX51_PAD_NANDF_D4__PATA_DATA4 319
352MX51_PAD_NANDF_D4__SD4_CD 320
353MX51_PAD_NANDF_D4__USBH3_DATA3 321
354MX51_PAD_NANDF_D3__GPIO4_5 322
355MX51_PAD_NANDF_D3__NANDF_D3 323
356MX51_PAD_NANDF_D3__PATA_DATA3 324
357MX51_PAD_NANDF_D3__SD4_DAT4 325
358MX51_PAD_NANDF_D3__USBH3_DATA4 326
359MX51_PAD_NANDF_D2__GPIO4_6 327
360MX51_PAD_NANDF_D2__NANDF_D2 328
361MX51_PAD_NANDF_D2__PATA_DATA2 329
362MX51_PAD_NANDF_D2__SD4_DAT5 330
363MX51_PAD_NANDF_D2__USBH3_DATA5 331
364MX51_PAD_NANDF_D1__GPIO4_7 332
365MX51_PAD_NANDF_D1__NANDF_D1 333
366MX51_PAD_NANDF_D1__PATA_DATA1 334
367MX51_PAD_NANDF_D1__SD4_DAT6 335
368MX51_PAD_NANDF_D1__USBH3_DATA6 336
369MX51_PAD_NANDF_D0__GPIO4_8 337
370MX51_PAD_NANDF_D0__NANDF_D0 338
371MX51_PAD_NANDF_D0__PATA_DATA0 339
372MX51_PAD_NANDF_D0__SD4_DAT7 340
373MX51_PAD_NANDF_D0__USBH3_DATA7 341
374MX51_PAD_CSI1_D8__CSI1_D8 342
375MX51_PAD_CSI1_D8__GPIO3_12 343
376MX51_PAD_CSI1_D9__CSI1_D9 344
377MX51_PAD_CSI1_D9__GPIO3_13 345
378MX51_PAD_CSI1_D10__CSI1_D10 346
379MX51_PAD_CSI1_D11__CSI1_D11 347
380MX51_PAD_CSI1_D12__CSI1_D12 348
381MX51_PAD_CSI1_D13__CSI1_D13 349
382MX51_PAD_CSI1_D14__CSI1_D14 350
383MX51_PAD_CSI1_D15__CSI1_D15 351
384MX51_PAD_CSI1_D16__CSI1_D16 352
385MX51_PAD_CSI1_D17__CSI1_D17 353
386MX51_PAD_CSI1_D18__CSI1_D18 354
387MX51_PAD_CSI1_D19__CSI1_D19 355
388MX51_PAD_CSI1_VSYNC__CSI1_VSYNC 356
389MX51_PAD_CSI1_VSYNC__GPIO3_14 357
390MX51_PAD_CSI1_HSYNC__CSI1_HSYNC 358
391MX51_PAD_CSI1_HSYNC__GPIO3_15 359
392MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK 360
393MX51_PAD_CSI1_MCLK__CSI1_MCLK 361
394MX51_PAD_CSI2_D12__CSI2_D12 362
395MX51_PAD_CSI2_D12__GPIO4_9 363
396MX51_PAD_CSI2_D13__CSI2_D13 364
397MX51_PAD_CSI2_D13__GPIO4_10 365
398MX51_PAD_CSI2_D14__CSI2_D14 366
399MX51_PAD_CSI2_D15__CSI2_D15 367
400MX51_PAD_CSI2_D16__CSI2_D16 368
401MX51_PAD_CSI2_D17__CSI2_D17 369
402MX51_PAD_CSI2_D18__CSI2_D18 370
403MX51_PAD_CSI2_D18__GPIO4_11 371
404MX51_PAD_CSI2_D19__CSI2_D19 372
405MX51_PAD_CSI2_D19__GPIO4_12 373
406MX51_PAD_CSI2_VSYNC__CSI2_VSYNC 374
407MX51_PAD_CSI2_VSYNC__GPIO4_13 375
408MX51_PAD_CSI2_HSYNC__CSI2_HSYNC 376
409MX51_PAD_CSI2_HSYNC__GPIO4_14 377
410MX51_PAD_CSI2_PIXCLK__CSI2_PIXCLK 378
411MX51_PAD_CSI2_PIXCLK__GPIO4_15 379
412MX51_PAD_I2C1_CLK__GPIO4_16 380
413MX51_PAD_I2C1_CLK__I2C1_CLK 381
414MX51_PAD_I2C1_DAT__GPIO4_17 382
415MX51_PAD_I2C1_DAT__I2C1_DAT 383
416MX51_PAD_AUD3_BB_TXD__AUD3_TXD 384
417MX51_PAD_AUD3_BB_TXD__GPIO4_18 385
418MX51_PAD_AUD3_BB_RXD__AUD3_RXD 386
419MX51_PAD_AUD3_BB_RXD__GPIO4_19 387
420MX51_PAD_AUD3_BB_RXD__UART3_RXD 388
421MX51_PAD_AUD3_BB_CK__AUD3_TXC 389
422MX51_PAD_AUD3_BB_CK__GPIO4_20 390
423MX51_PAD_AUD3_BB_FS__AUD3_TXFS 391
424MX51_PAD_AUD3_BB_FS__GPIO4_21 392
425MX51_PAD_AUD3_BB_FS__UART3_TXD 393
426MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 394
427MX51_PAD_CSPI1_MOSI__GPIO4_22 395
428MX51_PAD_CSPI1_MOSI__I2C1_SDA 396
429MX51_PAD_CSPI1_MISO__AUD4_RXD 397
430MX51_PAD_CSPI1_MISO__ECSPI1_MISO 398
431MX51_PAD_CSPI1_MISO__GPIO4_23 399
432MX51_PAD_CSPI1_SS0__AUD4_TXC 400
433MX51_PAD_CSPI1_SS0__ECSPI1_SS0 401
434MX51_PAD_CSPI1_SS0__GPIO4_24 402
435MX51_PAD_CSPI1_SS1__AUD4_TXD 403
436MX51_PAD_CSPI1_SS1__ECSPI1_SS1 404
437MX51_PAD_CSPI1_SS1__GPIO4_25 405
438MX51_PAD_CSPI1_RDY__AUD4_TXFS 406
439MX51_PAD_CSPI1_RDY__ECSPI1_RDY 407
440MX51_PAD_CSPI1_RDY__GPIO4_26 408
441MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 409
442MX51_PAD_CSPI1_SCLK__GPIO4_27 410
443MX51_PAD_CSPI1_SCLK__I2C1_SCL 411
444MX51_PAD_UART1_RXD__GPIO4_28 412
445MX51_PAD_UART1_RXD__UART1_RXD 413
446MX51_PAD_UART1_TXD__GPIO4_29 414
447MX51_PAD_UART1_TXD__PWM2_PWMO 415
448MX51_PAD_UART1_TXD__UART1_TXD 416
449MX51_PAD_UART1_RTS__GPIO4_30 417
450MX51_PAD_UART1_RTS__UART1_RTS 418
451MX51_PAD_UART1_CTS__GPIO4_31 419
452MX51_PAD_UART1_CTS__UART1_CTS 420
453MX51_PAD_UART2_RXD__FIRI_TXD 421
454MX51_PAD_UART2_RXD__GPIO1_20 422
455MX51_PAD_UART2_RXD__UART2_RXD 423
456MX51_PAD_UART2_TXD__FIRI_RXD 424
457MX51_PAD_UART2_TXD__GPIO1_21 425
458MX51_PAD_UART2_TXD__UART2_TXD 426
459MX51_PAD_UART3_RXD__CSI1_D0 427
460MX51_PAD_UART3_RXD__GPIO1_22 428
461MX51_PAD_UART3_RXD__UART1_DTR 429
462MX51_PAD_UART3_RXD__UART3_RXD 430
463MX51_PAD_UART3_TXD__CSI1_D1 431
464MX51_PAD_UART3_TXD__GPIO1_23 432
465MX51_PAD_UART3_TXD__UART1_DSR 433
466MX51_PAD_UART3_TXD__UART3_TXD 434
467MX51_PAD_OWIRE_LINE__GPIO1_24 435
468MX51_PAD_OWIRE_LINE__OWIRE_LINE 436
469MX51_PAD_OWIRE_LINE__SPDIF_OUT 437
470MX51_PAD_KEY_ROW0__KEY_ROW0 438
471MX51_PAD_KEY_ROW1__KEY_ROW1 439
472MX51_PAD_KEY_ROW2__KEY_ROW2 440
473MX51_PAD_KEY_ROW3__KEY_ROW3 441
474MX51_PAD_KEY_COL0__KEY_COL0 442
475MX51_PAD_KEY_COL0__PLL1_BYP 443
476MX51_PAD_KEY_COL1__KEY_COL1 444
477MX51_PAD_KEY_COL1__PLL2_BYP 445
478MX51_PAD_KEY_COL2__KEY_COL2 446
479MX51_PAD_KEY_COL2__PLL3_BYP 447
480MX51_PAD_KEY_COL3__KEY_COL3 448
481MX51_PAD_KEY_COL4__I2C2_SCL 449
482MX51_PAD_KEY_COL4__KEY_COL4 450
483MX51_PAD_KEY_COL4__SPDIF_OUT1 451
484MX51_PAD_KEY_COL4__UART1_RI 452
485MX51_PAD_KEY_COL4__UART3_RTS 453
486MX51_PAD_KEY_COL5__I2C2_SDA 454
487MX51_PAD_KEY_COL5__KEY_COL5 455
488MX51_PAD_KEY_COL5__UART1_DCD 456
489MX51_PAD_KEY_COL5__UART3_CTS 457
490MX51_PAD_USBH1_CLK__CSPI_SCLK 458
491MX51_PAD_USBH1_CLK__GPIO1_25 459
492MX51_PAD_USBH1_CLK__I2C2_SCL 460
493MX51_PAD_USBH1_CLK__USBH1_CLK 461
494MX51_PAD_USBH1_DIR__CSPI_MOSI 462
495MX51_PAD_USBH1_DIR__GPIO1_26 463
496MX51_PAD_USBH1_DIR__I2C2_SDA 464
497MX51_PAD_USBH1_DIR__USBH1_DIR 465
498MX51_PAD_USBH1_STP__CSPI_RDY 466
499MX51_PAD_USBH1_STP__GPIO1_27 467
500MX51_PAD_USBH1_STP__UART3_RXD 468
501MX51_PAD_USBH1_STP__USBH1_STP 469
502MX51_PAD_USBH1_NXT__CSPI_MISO 470
503MX51_PAD_USBH1_NXT__GPIO1_28 471
504MX51_PAD_USBH1_NXT__UART3_TXD 472
505MX51_PAD_USBH1_NXT__USBH1_NXT 473
506MX51_PAD_USBH1_DATA0__GPIO1_11 474
507MX51_PAD_USBH1_DATA0__UART2_CTS 475
508MX51_PAD_USBH1_DATA0__USBH1_DATA0 476
509MX51_PAD_USBH1_DATA1__GPIO1_12 477
510MX51_PAD_USBH1_DATA1__UART2_RXD 478
511MX51_PAD_USBH1_DATA1__USBH1_DATA1 479
512MX51_PAD_USBH1_DATA2__GPIO1_13 480
513MX51_PAD_USBH1_DATA2__UART2_TXD 481
514MX51_PAD_USBH1_DATA2__USBH1_DATA2 482
515MX51_PAD_USBH1_DATA3__GPIO1_14 483
516MX51_PAD_USBH1_DATA3__UART2_RTS 484
517MX51_PAD_USBH1_DATA3__USBH1_DATA3 485
518MX51_PAD_USBH1_DATA4__CSPI_SS0 486
519MX51_PAD_USBH1_DATA4__GPIO1_15 487
520MX51_PAD_USBH1_DATA4__USBH1_DATA4 488
521MX51_PAD_USBH1_DATA5__CSPI_SS1 489
522MX51_PAD_USBH1_DATA5__GPIO1_16 490
523MX51_PAD_USBH1_DATA5__USBH1_DATA5 491
524MX51_PAD_USBH1_DATA6__CSPI_SS3 492
525MX51_PAD_USBH1_DATA6__GPIO1_17 493
526MX51_PAD_USBH1_DATA6__USBH1_DATA6 494
527MX51_PAD_USBH1_DATA7__ECSPI1_SS3 495
528MX51_PAD_USBH1_DATA7__ECSPI2_SS3 496
529MX51_PAD_USBH1_DATA7__GPIO1_18 497
530MX51_PAD_USBH1_DATA7__USBH1_DATA7 498
531MX51_PAD_DI1_PIN11__DI1_PIN11 499
532MX51_PAD_DI1_PIN11__ECSPI1_SS2 500
533MX51_PAD_DI1_PIN11__GPIO3_0 501
534MX51_PAD_DI1_PIN12__DI1_PIN12 502
535MX51_PAD_DI1_PIN12__GPIO3_1 503
536MX51_PAD_DI1_PIN13__DI1_PIN13 504
537MX51_PAD_DI1_PIN13__GPIO3_2 505
538MX51_PAD_DI1_D0_CS__DI1_D0_CS 506
539MX51_PAD_DI1_D0_CS__GPIO3_3 507
540MX51_PAD_DI1_D1_CS__DI1_D1_CS 508
541MX51_PAD_DI1_D1_CS__DISP1_PIN14 509
542MX51_PAD_DI1_D1_CS__DISP1_PIN5 510
543MX51_PAD_DI1_D1_CS__GPIO3_4 511
544MX51_PAD_DISPB2_SER_DIN__DISP1_PIN1 512
545MX51_PAD_DISPB2_SER_DIN__DISPB2_SER_DIN 513
546MX51_PAD_DISPB2_SER_DIN__GPIO3_5 514
547MX51_PAD_DISPB2_SER_DIO__DISP1_PIN6 515
548MX51_PAD_DISPB2_SER_DIO__DISPB2_SER_DIO 516
549MX51_PAD_DISPB2_SER_DIO__GPIO3_6 517
550MX51_PAD_DISPB2_SER_CLK__DISP1_PIN17 518
551MX51_PAD_DISPB2_SER_CLK__DISP1_PIN7 519
552MX51_PAD_DISPB2_SER_CLK__DISPB2_SER_CLK 520
553MX51_PAD_DISPB2_SER_CLK__GPIO3_7 521
554MX51_PAD_DISPB2_SER_RS__DISP1_EXT_CLK 522
555MX51_PAD_DISPB2_SER_RS__DISP1_PIN16 523
556MX51_PAD_DISPB2_SER_RS__DISP1_PIN8 524
557MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS 525
558MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS 526
559MX51_PAD_DISPB2_SER_RS__GPIO3_8 527
560MX51_PAD_DISP1_DAT0__DISP1_DAT0 528
561MX51_PAD_DISP1_DAT1__DISP1_DAT1 529
562MX51_PAD_DISP1_DAT2__DISP1_DAT2 530
563MX51_PAD_DISP1_DAT3__DISP1_DAT3 531
564MX51_PAD_DISP1_DAT4__DISP1_DAT4 532
565MX51_PAD_DISP1_DAT5__DISP1_DAT5 533
566MX51_PAD_DISP1_DAT6__BOOT_USB_SRC 534
567MX51_PAD_DISP1_DAT6__DISP1_DAT6 535
568MX51_PAD_DISP1_DAT7__BOOT_EEPROM_CFG 536
569MX51_PAD_DISP1_DAT7__DISP1_DAT7 537
570MX51_PAD_DISP1_DAT8__BOOT_SRC0 538
571MX51_PAD_DISP1_DAT8__DISP1_DAT8 539
572MX51_PAD_DISP1_DAT9__BOOT_SRC1 540
573MX51_PAD_DISP1_DAT9__DISP1_DAT9 541
574MX51_PAD_DISP1_DAT10__BOOT_SPARE_SIZE 542
575MX51_PAD_DISP1_DAT10__DISP1_DAT10 543
576MX51_PAD_DISP1_DAT11__BOOT_LPB_FREQ2 544
577MX51_PAD_DISP1_DAT11__DISP1_DAT11 545
578MX51_PAD_DISP1_DAT12__BOOT_MLC_SEL 546
579MX51_PAD_DISP1_DAT12__DISP1_DAT12 547
580MX51_PAD_DISP1_DAT13__BOOT_MEM_CTL0 548
581MX51_PAD_DISP1_DAT13__DISP1_DAT13 549
582MX51_PAD_DISP1_DAT14__BOOT_MEM_CTL1 550
583MX51_PAD_DISP1_DAT14__DISP1_DAT14 551
584MX51_PAD_DISP1_DAT15__BOOT_BUS_WIDTH 552
585MX51_PAD_DISP1_DAT15__DISP1_DAT15 553
586MX51_PAD_DISP1_DAT16__BOOT_PAGE_SIZE0 554
587MX51_PAD_DISP1_DAT16__DISP1_DAT16 555
588MX51_PAD_DISP1_DAT17__BOOT_PAGE_SIZE1 556
589MX51_PAD_DISP1_DAT17__DISP1_DAT17 557
590MX51_PAD_DISP1_DAT18__BOOT_WEIM_MUXED0 558
591MX51_PAD_DISP1_DAT18__DISP1_DAT18 559
592MX51_PAD_DISP1_DAT18__DISP2_PIN11 560
593MX51_PAD_DISP1_DAT18__DISP2_PIN5 561
594MX51_PAD_DISP1_DAT19__BOOT_WEIM_MUXED1 562
595MX51_PAD_DISP1_DAT19__DISP1_DAT19 563
596MX51_PAD_DISP1_DAT19__DISP2_PIN12 564
597MX51_PAD_DISP1_DAT19__DISP2_PIN6 565
598MX51_PAD_DISP1_DAT20__BOOT_MEM_TYPE0 566
599MX51_PAD_DISP1_DAT20__DISP1_DAT20 567
600MX51_PAD_DISP1_DAT20__DISP2_PIN13 568
601MX51_PAD_DISP1_DAT20__DISP2_PIN7 569
602MX51_PAD_DISP1_DAT21__BOOT_MEM_TYPE1 570
603MX51_PAD_DISP1_DAT21__DISP1_DAT21 571
604MX51_PAD_DISP1_DAT21__DISP2_PIN14 572
605MX51_PAD_DISP1_DAT21__DISP2_PIN8 573
606MX51_PAD_DISP1_DAT22__BOOT_LPB_FREQ0 574
607MX51_PAD_DISP1_DAT22__DISP1_DAT22 575
608MX51_PAD_DISP1_DAT22__DISP2_D0_CS 576
609MX51_PAD_DISP1_DAT22__DISP2_DAT16 577
610MX51_PAD_DISP1_DAT23__BOOT_LPB_FREQ1 578
611MX51_PAD_DISP1_DAT23__DISP1_DAT23 579
612MX51_PAD_DISP1_DAT23__DISP2_D1_CS 580
613MX51_PAD_DISP1_DAT23__DISP2_DAT17 581
614MX51_PAD_DISP1_DAT23__DISP2_SER_CS 582
615MX51_PAD_DI1_PIN3__DI1_PIN3 583
616MX51_PAD_DI1_PIN2__DI1_PIN2 584
617MX51_PAD_DI_GP2__DISP1_SER_CLK 585
618MX51_PAD_DI_GP2__DISP2_WAIT 586
619MX51_PAD_DI_GP3__CSI1_DATA_EN 587
620MX51_PAD_DI_GP3__DISP1_SER_DIO 588
621MX51_PAD_DI_GP3__FEC_TX_ER 589
622MX51_PAD_DI2_PIN4__CSI2_DATA_EN 590
623MX51_PAD_DI2_PIN4__DI2_PIN4 591
624MX51_PAD_DI2_PIN4__FEC_CRS 592
625MX51_PAD_DI2_PIN2__DI2_PIN2 593
626MX51_PAD_DI2_PIN2__FEC_MDC 594
627MX51_PAD_DI2_PIN3__DI2_PIN3 595
628MX51_PAD_DI2_PIN3__FEC_MDIO 596
629MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 597
630MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 598
631MX51_PAD_DI_GP4__DI2_PIN15 599
632MX51_PAD_DI_GP4__DISP1_SER_DIN 600
633MX51_PAD_DI_GP4__DISP2_PIN1 601
634MX51_PAD_DI_GP4__FEC_RDATA2 602
635MX51_PAD_DISP2_DAT0__DISP2_DAT0 603
636MX51_PAD_DISP2_DAT0__FEC_RDATA3 604
637MX51_PAD_DISP2_DAT0__KEY_COL6 605
638MX51_PAD_DISP2_DAT0__UART3_RXD 606
639MX51_PAD_DISP2_DAT0__USBH3_CLK 607
640MX51_PAD_DISP2_DAT1__DISP2_DAT1 608
641MX51_PAD_DISP2_DAT1__FEC_RX_ER 609
642MX51_PAD_DISP2_DAT1__KEY_COL7 610
643MX51_PAD_DISP2_DAT1__UART3_TXD 611
644MX51_PAD_DISP2_DAT1__USBH3_DIR 612
645MX51_PAD_DISP2_DAT2__DISP2_DAT2 613
646MX51_PAD_DISP2_DAT3__DISP2_DAT3 614
647MX51_PAD_DISP2_DAT4__DISP2_DAT4 615
648MX51_PAD_DISP2_DAT5__DISP2_DAT5 616
649MX51_PAD_DISP2_DAT6__DISP2_DAT6 617
650MX51_PAD_DISP2_DAT6__FEC_TDATA1 618
651MX51_PAD_DISP2_DAT6__GPIO1_19 619
652MX51_PAD_DISP2_DAT6__KEY_ROW4 620
653MX51_PAD_DISP2_DAT6__USBH3_STP 621
654MX51_PAD_DISP2_DAT7__DISP2_DAT7 622
655MX51_PAD_DISP2_DAT7__FEC_TDATA2 623
656MX51_PAD_DISP2_DAT7__GPIO1_29 624
657MX51_PAD_DISP2_DAT7__KEY_ROW5 625
658MX51_PAD_DISP2_DAT7__USBH3_NXT 626
659MX51_PAD_DISP2_DAT8__DISP2_DAT8 627
660MX51_PAD_DISP2_DAT8__FEC_TDATA3 628
661MX51_PAD_DISP2_DAT8__GPIO1_30 629
662MX51_PAD_DISP2_DAT8__KEY_ROW6 630
663MX51_PAD_DISP2_DAT8__USBH3_DATA0 631
664MX51_PAD_DISP2_DAT9__AUD6_RXC 632
665MX51_PAD_DISP2_DAT9__DISP2_DAT9 633
666MX51_PAD_DISP2_DAT9__FEC_TX_EN 634
667MX51_PAD_DISP2_DAT9__GPIO1_31 635
668MX51_PAD_DISP2_DAT9__USBH3_DATA1 636
669MX51_PAD_DISP2_DAT10__DISP2_DAT10 637
670MX51_PAD_DISP2_DAT10__DISP2_SER_CS 638
671MX51_PAD_DISP2_DAT10__FEC_COL 639
672MX51_PAD_DISP2_DAT10__KEY_ROW7 640
673MX51_PAD_DISP2_DAT10__USBH3_DATA2 641
674MX51_PAD_DISP2_DAT11__AUD6_TXD 642
675MX51_PAD_DISP2_DAT11__DISP2_DAT11 643
676MX51_PAD_DISP2_DAT11__FEC_RX_CLK 644
677MX51_PAD_DISP2_DAT11__GPIO1_10 645
678MX51_PAD_DISP2_DAT11__USBH3_DATA3 646
679MX51_PAD_DISP2_DAT12__AUD6_RXD 647
680MX51_PAD_DISP2_DAT12__DISP2_DAT12 648
681MX51_PAD_DISP2_DAT12__FEC_RX_DV 649
682MX51_PAD_DISP2_DAT12__USBH3_DATA4 650
683MX51_PAD_DISP2_DAT13__AUD6_TXC 651
684MX51_PAD_DISP2_DAT13__DISP2_DAT13 652
685MX51_PAD_DISP2_DAT13__FEC_TX_CLK 653
686MX51_PAD_DISP2_DAT13__USBH3_DATA5 654
687MX51_PAD_DISP2_DAT14__AUD6_TXFS 655
688MX51_PAD_DISP2_DAT14__DISP2_DAT14 656
689MX51_PAD_DISP2_DAT14__FEC_RDATA0 657
690MX51_PAD_DISP2_DAT14__USBH3_DATA6 658
691MX51_PAD_DISP2_DAT15__AUD6_RXFS 659
692MX51_PAD_DISP2_DAT15__DISP1_SER_CS 660
693MX51_PAD_DISP2_DAT15__DISP2_DAT15 661
694MX51_PAD_DISP2_DAT15__FEC_TDATA0 662
695MX51_PAD_DISP2_DAT15__USBH3_DATA7 663
696MX51_PAD_SD1_CMD__AUD5_RXFS 664
697MX51_PAD_SD1_CMD__CSPI_MOSI 665
698MX51_PAD_SD1_CMD__SD1_CMD 666
699MX51_PAD_SD1_CLK__AUD5_RXC 667
700MX51_PAD_SD1_CLK__CSPI_SCLK 668
701MX51_PAD_SD1_CLK__SD1_CLK 669
702MX51_PAD_SD1_DATA0__AUD5_TXD 670
703MX51_PAD_SD1_DATA0__CSPI_MISO 671
704MX51_PAD_SD1_DATA0__SD1_DATA0 672
705MX51_PAD_EIM_DA0__EIM_DA0 673
706MX51_PAD_EIM_DA1__EIM_DA1 674
707MX51_PAD_EIM_DA2__EIM_DA2 675
708MX51_PAD_EIM_DA3__EIM_DA3 676
709MX51_PAD_SD1_DATA1__AUD5_RXD 677
710MX51_PAD_SD1_DATA1__SD1_DATA1 678
711MX51_PAD_EIM_DA4__EIM_DA4 679
712MX51_PAD_EIM_DA5__EIM_DA5 680
713MX51_PAD_EIM_DA6__EIM_DA6 681
714MX51_PAD_EIM_DA7__EIM_DA7 682
715MX51_PAD_SD1_DATA2__AUD5_TXC 683
716MX51_PAD_SD1_DATA2__SD1_DATA2 684
717MX51_PAD_EIM_DA10__EIM_DA10 685
718MX51_PAD_EIM_DA11__EIM_DA11 686
719MX51_PAD_EIM_DA8__EIM_DA8 687
720MX51_PAD_EIM_DA9__EIM_DA9 688
721MX51_PAD_SD1_DATA3__AUD5_TXFS 689
722MX51_PAD_SD1_DATA3__CSPI_SS1 690
723MX51_PAD_SD1_DATA3__SD1_DATA3 691
724MX51_PAD_GPIO1_0__CSPI_SS2 692
725MX51_PAD_GPIO1_0__GPIO1_0 693
726MX51_PAD_GPIO1_0__SD1_CD 694
727MX51_PAD_GPIO1_1__CSPI_MISO 695
728MX51_PAD_GPIO1_1__GPIO1_1 696
729MX51_PAD_GPIO1_1__SD1_WP 697
730MX51_PAD_EIM_DA12__EIM_DA12 698
731MX51_PAD_EIM_DA13__EIM_DA13 699
732MX51_PAD_EIM_DA14__EIM_DA14 700
733MX51_PAD_EIM_DA15__EIM_DA15 701
734MX51_PAD_SD2_CMD__CSPI_MOSI 702
735MX51_PAD_SD2_CMD__I2C1_SCL 703
736MX51_PAD_SD2_CMD__SD2_CMD 704
737MX51_PAD_SD2_CLK__CSPI_SCLK 705
738MX51_PAD_SD2_CLK__I2C1_SDA 706
739MX51_PAD_SD2_CLK__SD2_CLK 707
740MX51_PAD_SD2_DATA0__CSPI_MISO 708
741MX51_PAD_SD2_DATA0__SD1_DAT4 709
742MX51_PAD_SD2_DATA0__SD2_DATA0 710
743MX51_PAD_SD2_DATA1__SD1_DAT5 711
744MX51_PAD_SD2_DATA1__SD2_DATA1 712
745MX51_PAD_SD2_DATA1__USBH3_H2_DP 713
746MX51_PAD_SD2_DATA2__SD1_DAT6 714
747MX51_PAD_SD2_DATA2__SD2_DATA2 715
748MX51_PAD_SD2_DATA2__USBH3_H2_DM 716
749MX51_PAD_SD2_DATA3__CSPI_SS2 717
750MX51_PAD_SD2_DATA3__SD1_DAT7 718
751MX51_PAD_SD2_DATA3__SD2_DATA3 719
752MX51_PAD_GPIO1_2__CCM_OUT_2 720
753MX51_PAD_GPIO1_2__GPIO1_2 721
754MX51_PAD_GPIO1_2__I2C2_SCL 722
755MX51_PAD_GPIO1_2__PLL1_BYP 723
756MX51_PAD_GPIO1_2__PWM1_PWMO 724
757MX51_PAD_GPIO1_3__GPIO1_3 725
758MX51_PAD_GPIO1_3__I2C2_SDA 726
759MX51_PAD_GPIO1_3__PLL2_BYP 727
760MX51_PAD_GPIO1_3__PWM2_PWMO 728
761MX51_PAD_PMIC_INT_REQ__PMIC_INT_REQ 729
762MX51_PAD_PMIC_INT_REQ__PMIC_PMU_IRQ_B 730
763MX51_PAD_GPIO1_4__DISP2_EXT_CLK 731
764MX51_PAD_GPIO1_4__EIM_RDY 732
765MX51_PAD_GPIO1_4__GPIO1_4 733
766MX51_PAD_GPIO1_4__WDOG1_WDOG_B 734
767MX51_PAD_GPIO1_5__CSI2_MCLK 735
768MX51_PAD_GPIO1_5__DISP2_PIN16 736
769MX51_PAD_GPIO1_5__GPIO1_5 737
770MX51_PAD_GPIO1_5__WDOG2_WDOG_B 738
771MX51_PAD_GPIO1_6__DISP2_PIN17 739
772MX51_PAD_GPIO1_6__GPIO1_6 740
773MX51_PAD_GPIO1_6__REF_EN_B 741
774MX51_PAD_GPIO1_7__CCM_OUT_0 742
775MX51_PAD_GPIO1_7__GPIO1_7 743
776MX51_PAD_GPIO1_7__SD2_WP 744
777MX51_PAD_GPIO1_7__SPDIF_OUT1 745
778MX51_PAD_GPIO1_8__CSI2_DATA_EN 746
779MX51_PAD_GPIO1_8__GPIO1_8 747
780MX51_PAD_GPIO1_8__SD2_CD 748
781MX51_PAD_GPIO1_8__USBH3_PWR 749
782MX51_PAD_GPIO1_9__CCM_OUT_1 750
783MX51_PAD_GPIO1_9__DISP2_D1_CS 751
784MX51_PAD_GPIO1_9__DISP2_SER_CS 752
785MX51_PAD_GPIO1_9__GPIO1_9 753
786MX51_PAD_GPIO1_9__SD2_LCTL 754
787MX51_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
3Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
4and usage.
5
6Required 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
14CONFIG bits definition:
15PAD_CTL_HVE (1 << 13)
16PAD_CTL_HYS (1 << 8)
17PAD_CTL_PKE (1 << 7)
18PAD_CTL_PUE (1 << 6)
19PAD_CTL_PUS_100K_DOWN (0 << 4)
20PAD_CTL_PUS_47K_UP (1 << 4)
21PAD_CTL_PUS_100K_UP (2 << 4)
22PAD_CTL_PUS_22K_UP (3 << 4)
23PAD_CTL_ODE (1 << 3)
24PAD_CTL_DSE_LOW (0 << 1)
25PAD_CTL_DSE_MED (1 << 1)
26PAD_CTL_DSE_HIGH (2 << 1)
27PAD_CTL_DSE_MAX (3 << 1)
28PAD_CTL_SRE_FAST (1 << 0)
29PAD_CTL_SRE_SLOW (0 << 0)
30
31See below for available PIN_FUNC_ID for imx53:
32MX53_PAD_GPIO_19__KPP_COL_5 0
33MX53_PAD_GPIO_19__GPIO4_5 1
34MX53_PAD_GPIO_19__CCM_CLKO 2
35MX53_PAD_GPIO_19__SPDIF_OUT1 3
36MX53_PAD_GPIO_19__RTC_CE_RTC_EXT_TRIG2 4
37MX53_PAD_GPIO_19__ECSPI1_RDY 5
38MX53_PAD_GPIO_19__FEC_TDATA_3 6
39MX53_PAD_GPIO_19__SRC_INT_BOOT 7
40MX53_PAD_KEY_COL0__KPP_COL_0 8
41MX53_PAD_KEY_COL0__GPIO4_6 9
42MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC 10
43MX53_PAD_KEY_COL0__UART4_TXD_MUX 11
44MX53_PAD_KEY_COL0__ECSPI1_SCLK 12
45MX53_PAD_KEY_COL0__FEC_RDATA_3 13
46MX53_PAD_KEY_COL0__SRC_ANY_PU_RST 14
47MX53_PAD_KEY_ROW0__KPP_ROW_0 15
48MX53_PAD_KEY_ROW0__GPIO4_7 16
49MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 17
50MX53_PAD_KEY_ROW0__UART4_RXD_MUX 18
51MX53_PAD_KEY_ROW0__ECSPI1_MOSI 19
52MX53_PAD_KEY_ROW0__FEC_TX_ER 20
53MX53_PAD_KEY_COL1__KPP_COL_1 21
54MX53_PAD_KEY_COL1__GPIO4_8 22
55MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 23
56MX53_PAD_KEY_COL1__UART5_TXD_MUX 24
57MX53_PAD_KEY_COL1__ECSPI1_MISO 25
58MX53_PAD_KEY_COL1__FEC_RX_CLK 26
59MX53_PAD_KEY_COL1__USBPHY1_TXREADY 27
60MX53_PAD_KEY_ROW1__KPP_ROW_1 28
61MX53_PAD_KEY_ROW1__GPIO4_9 29
62MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 30
63MX53_PAD_KEY_ROW1__UART5_RXD_MUX 31
64MX53_PAD_KEY_ROW1__ECSPI1_SS0 32
65MX53_PAD_KEY_ROW1__FEC_COL 33
66MX53_PAD_KEY_ROW1__USBPHY1_RXVALID 34
67MX53_PAD_KEY_COL2__KPP_COL_2 35
68MX53_PAD_KEY_COL2__GPIO4_10 36
69MX53_PAD_KEY_COL2__CAN1_TXCAN 37
70MX53_PAD_KEY_COL2__FEC_MDIO 38
71MX53_PAD_KEY_COL2__ECSPI1_SS1 39
72MX53_PAD_KEY_COL2__FEC_RDATA_2 40
73MX53_PAD_KEY_COL2__USBPHY1_RXACTIVE 41
74MX53_PAD_KEY_ROW2__KPP_ROW_2 42
75MX53_PAD_KEY_ROW2__GPIO4_11 43
76MX53_PAD_KEY_ROW2__CAN1_RXCAN 44
77MX53_PAD_KEY_ROW2__FEC_MDC 45
78MX53_PAD_KEY_ROW2__ECSPI1_SS2 46
79MX53_PAD_KEY_ROW2__FEC_TDATA_2 47
80MX53_PAD_KEY_ROW2__USBPHY1_RXERROR 48
81MX53_PAD_KEY_COL3__KPP_COL_3 49
82MX53_PAD_KEY_COL3__GPIO4_12 50
83MX53_PAD_KEY_COL3__USBOH3_H2_DP 51
84MX53_PAD_KEY_COL3__SPDIF_IN1 52
85MX53_PAD_KEY_COL3__I2C2_SCL 53
86MX53_PAD_KEY_COL3__ECSPI1_SS3 54
87MX53_PAD_KEY_COL3__FEC_CRS 55
88MX53_PAD_KEY_COL3__USBPHY1_SIECLOCK 56
89MX53_PAD_KEY_ROW3__KPP_ROW_3 57
90MX53_PAD_KEY_ROW3__GPIO4_13 58
91MX53_PAD_KEY_ROW3__USBOH3_H2_DM 59
92MX53_PAD_KEY_ROW3__CCM_ASRC_EXT_CLK 60
93MX53_PAD_KEY_ROW3__I2C2_SDA 61
94MX53_PAD_KEY_ROW3__OSC32K_32K_OUT 62
95MX53_PAD_KEY_ROW3__CCM_PLL4_BYP 63
96MX53_PAD_KEY_ROW3__USBPHY1_LINESTATE_0 64
97MX53_PAD_KEY_COL4__KPP_COL_4 65
98MX53_PAD_KEY_COL4__GPIO4_14 66
99MX53_PAD_KEY_COL4__CAN2_TXCAN 67
100MX53_PAD_KEY_COL4__IPU_SISG_4 68
101MX53_PAD_KEY_COL4__UART5_RTS 69
102MX53_PAD_KEY_COL4__USBOH3_USBOTG_OC 70
103MX53_PAD_KEY_COL4__USBPHY1_LINESTATE_1 71
104MX53_PAD_KEY_ROW4__KPP_ROW_4 72
105MX53_PAD_KEY_ROW4__GPIO4_15 73
106MX53_PAD_KEY_ROW4__CAN2_RXCAN 74
107MX53_PAD_KEY_ROW4__IPU_SISG_5 75
108MX53_PAD_KEY_ROW4__UART5_CTS 76
109MX53_PAD_KEY_ROW4__USBOH3_USBOTG_PWR 77
110MX53_PAD_KEY_ROW4__USBPHY1_VBUSVALID 78
111MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 79
112MX53_PAD_DI0_DISP_CLK__GPIO4_16 80
113MX53_PAD_DI0_DISP_CLK__USBOH3_USBH2_DIR 81
114MX53_PAD_DI0_DISP_CLK__SDMA_DEBUG_CORE_STATE_0 82
115MX53_PAD_DI0_DISP_CLK__EMI_EMI_DEBUG_0 83
116MX53_PAD_DI0_DISP_CLK__USBPHY1_AVALID 84
117MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 85
118MX53_PAD_DI0_PIN15__GPIO4_17 86
119MX53_PAD_DI0_PIN15__AUDMUX_AUD6_TXC 87
120MX53_PAD_DI0_PIN15__SDMA_DEBUG_CORE_STATE_1 88
121MX53_PAD_DI0_PIN15__EMI_EMI_DEBUG_1 89
122MX53_PAD_DI0_PIN15__USBPHY1_BVALID 90
123MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 91
124MX53_PAD_DI0_PIN2__GPIO4_18 92
125MX53_PAD_DI0_PIN2__AUDMUX_AUD6_TXD 93
126MX53_PAD_DI0_PIN2__SDMA_DEBUG_CORE_STATE_2 94
127MX53_PAD_DI0_PIN2__EMI_EMI_DEBUG_2 95
128MX53_PAD_DI0_PIN2__USBPHY1_ENDSESSION 96
129MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 97
130MX53_PAD_DI0_PIN3__GPIO4_19 98
131MX53_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS 99
132MX53_PAD_DI0_PIN3__SDMA_DEBUG_CORE_STATE_3 100
133MX53_PAD_DI0_PIN3__EMI_EMI_DEBUG_3 101
134MX53_PAD_DI0_PIN3__USBPHY1_IDDIG 102
135MX53_PAD_DI0_PIN4__IPU_DI0_PIN4 103
136MX53_PAD_DI0_PIN4__GPIO4_20 104
137MX53_PAD_DI0_PIN4__AUDMUX_AUD6_RXD 105
138MX53_PAD_DI0_PIN4__ESDHC1_WP 106
139MX53_PAD_DI0_PIN4__SDMA_DEBUG_YIELD 107
140MX53_PAD_DI0_PIN4__EMI_EMI_DEBUG_4 108
141MX53_PAD_DI0_PIN4__USBPHY1_HOSTDISCONNECT 109
142MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 110
143MX53_PAD_DISP0_DAT0__GPIO4_21 111
144MX53_PAD_DISP0_DAT0__CSPI_SCLK 112
145MX53_PAD_DISP0_DAT0__USBOH3_USBH2_DATA_0 113
146MX53_PAD_DISP0_DAT0__SDMA_DEBUG_CORE_RUN 114
147MX53_PAD_DISP0_DAT0__EMI_EMI_DEBUG_5 115
148MX53_PAD_DISP0_DAT0__USBPHY2_TXREADY 116
149MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 117
150MX53_PAD_DISP0_DAT1__GPIO4_22 118
151MX53_PAD_DISP0_DAT1__CSPI_MOSI 119
152MX53_PAD_DISP0_DAT1__USBOH3_USBH2_DATA_1 120
153MX53_PAD_DISP0_DAT1__SDMA_DEBUG_EVENT_CHANNEL_SEL 121
154MX53_PAD_DISP0_DAT1__EMI_EMI_DEBUG_6 122
155MX53_PAD_DISP0_DAT1__USBPHY2_RXVALID 123
156MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 124
157MX53_PAD_DISP0_DAT2__GPIO4_23 125
158MX53_PAD_DISP0_DAT2__CSPI_MISO 126
159MX53_PAD_DISP0_DAT2__USBOH3_USBH2_DATA_2 127
160MX53_PAD_DISP0_DAT2__SDMA_DEBUG_MODE 128
161MX53_PAD_DISP0_DAT2__EMI_EMI_DEBUG_7 129
162MX53_PAD_DISP0_DAT2__USBPHY2_RXACTIVE 130
163MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 131
164MX53_PAD_DISP0_DAT3__GPIO4_24 132
165MX53_PAD_DISP0_DAT3__CSPI_SS0 133
166MX53_PAD_DISP0_DAT3__USBOH3_USBH2_DATA_3 134
167MX53_PAD_DISP0_DAT3__SDMA_DEBUG_BUS_ERROR 135
168MX53_PAD_DISP0_DAT3__EMI_EMI_DEBUG_8 136
169MX53_PAD_DISP0_DAT3__USBPHY2_RXERROR 137
170MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 138
171MX53_PAD_DISP0_DAT4__GPIO4_25 139
172MX53_PAD_DISP0_DAT4__CSPI_SS1 140
173MX53_PAD_DISP0_DAT4__USBOH3_USBH2_DATA_4 141
174MX53_PAD_DISP0_DAT4__SDMA_DEBUG_BUS_RWB 142
175MX53_PAD_DISP0_DAT4__EMI_EMI_DEBUG_9 143
176MX53_PAD_DISP0_DAT4__USBPHY2_SIECLOCK 144
177MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 145
178MX53_PAD_DISP0_DAT5__GPIO4_26 146
179MX53_PAD_DISP0_DAT5__CSPI_SS2 147
180MX53_PAD_DISP0_DAT5__USBOH3_USBH2_DATA_5 148
181MX53_PAD_DISP0_DAT5__SDMA_DEBUG_MATCHED_DMBUS 149
182MX53_PAD_DISP0_DAT5__EMI_EMI_DEBUG_10 150
183MX53_PAD_DISP0_DAT5__USBPHY2_LINESTATE_0 151
184MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 152
185MX53_PAD_DISP0_DAT6__GPIO4_27 153
186MX53_PAD_DISP0_DAT6__CSPI_SS3 154
187MX53_PAD_DISP0_DAT6__USBOH3_USBH2_DATA_6 155
188MX53_PAD_DISP0_DAT6__SDMA_DEBUG_RTBUFFER_WRITE 156
189MX53_PAD_DISP0_DAT6__EMI_EMI_DEBUG_11 157
190MX53_PAD_DISP0_DAT6__USBPHY2_LINESTATE_1 158
191MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 159
192MX53_PAD_DISP0_DAT7__GPIO4_28 160
193MX53_PAD_DISP0_DAT7__CSPI_RDY 161
194MX53_PAD_DISP0_DAT7__USBOH3_USBH2_DATA_7 162
195MX53_PAD_DISP0_DAT7__SDMA_DEBUG_EVENT_CHANNEL_0 163
196MX53_PAD_DISP0_DAT7__EMI_EMI_DEBUG_12 164
197MX53_PAD_DISP0_DAT7__USBPHY2_VBUSVALID 165
198MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 166
199MX53_PAD_DISP0_DAT8__GPIO4_29 167
200MX53_PAD_DISP0_DAT8__PWM1_PWMO 168
201MX53_PAD_DISP0_DAT8__WDOG1_WDOG_B 169
202MX53_PAD_DISP0_DAT8__SDMA_DEBUG_EVENT_CHANNEL_1 170
203MX53_PAD_DISP0_DAT8__EMI_EMI_DEBUG_13 171
204MX53_PAD_DISP0_DAT8__USBPHY2_AVALID 172
205MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 173
206MX53_PAD_DISP0_DAT9__GPIO4_30 174
207MX53_PAD_DISP0_DAT9__PWM2_PWMO 175
208MX53_PAD_DISP0_DAT9__WDOG2_WDOG_B 176
209MX53_PAD_DISP0_DAT9__SDMA_DEBUG_EVENT_CHANNEL_2 177
210MX53_PAD_DISP0_DAT9__EMI_EMI_DEBUG_14 178
211MX53_PAD_DISP0_DAT9__USBPHY2_VSTATUS_0 179
212MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 180
213MX53_PAD_DISP0_DAT10__GPIO4_31 181
214MX53_PAD_DISP0_DAT10__USBOH3_USBH2_STP 182
215MX53_PAD_DISP0_DAT10__SDMA_DEBUG_EVENT_CHANNEL_3 183
216MX53_PAD_DISP0_DAT10__EMI_EMI_DEBUG_15 184
217MX53_PAD_DISP0_DAT10__USBPHY2_VSTATUS_1 185
218MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 186
219MX53_PAD_DISP0_DAT11__GPIO5_5 187
220MX53_PAD_DISP0_DAT11__USBOH3_USBH2_NXT 188
221MX53_PAD_DISP0_DAT11__SDMA_DEBUG_EVENT_CHANNEL_4 189
222MX53_PAD_DISP0_DAT11__EMI_EMI_DEBUG_16 190
223MX53_PAD_DISP0_DAT11__USBPHY2_VSTATUS_2 191
224MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 192
225MX53_PAD_DISP0_DAT12__GPIO5_6 193
226MX53_PAD_DISP0_DAT12__USBOH3_USBH2_CLK 194
227MX53_PAD_DISP0_DAT12__SDMA_DEBUG_EVENT_CHANNEL_5 195
228MX53_PAD_DISP0_DAT12__EMI_EMI_DEBUG_17 196
229MX53_PAD_DISP0_DAT12__USBPHY2_VSTATUS_3 197
230MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 198
231MX53_PAD_DISP0_DAT13__GPIO5_7 199
232MX53_PAD_DISP0_DAT13__AUDMUX_AUD5_RXFS 200
233MX53_PAD_DISP0_DAT13__SDMA_DEBUG_EVT_CHN_LINES_0 201
234MX53_PAD_DISP0_DAT13__EMI_EMI_DEBUG_18 202
235MX53_PAD_DISP0_DAT13__USBPHY2_VSTATUS_4 203
236MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 204
237MX53_PAD_DISP0_DAT14__GPIO5_8 205
238MX53_PAD_DISP0_DAT14__AUDMUX_AUD5_RXC 206
239MX53_PAD_DISP0_DAT14__SDMA_DEBUG_EVT_CHN_LINES_1 207
240MX53_PAD_DISP0_DAT14__EMI_EMI_DEBUG_19 208
241MX53_PAD_DISP0_DAT14__USBPHY2_VSTATUS_5 209
242MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 210
243MX53_PAD_DISP0_DAT15__GPIO5_9 211
244MX53_PAD_DISP0_DAT15__ECSPI1_SS1 212
245MX53_PAD_DISP0_DAT15__ECSPI2_SS1 213
246MX53_PAD_DISP0_DAT15__SDMA_DEBUG_EVT_CHN_LINES_2 214
247MX53_PAD_DISP0_DAT15__EMI_EMI_DEBUG_20 215
248MX53_PAD_DISP0_DAT15__USBPHY2_VSTATUS_6 216
249MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 217
250MX53_PAD_DISP0_DAT16__GPIO5_10 218
251MX53_PAD_DISP0_DAT16__ECSPI2_MOSI 219
252MX53_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC 220
253MX53_PAD_DISP0_DAT16__SDMA_EXT_EVENT_0 221
254MX53_PAD_DISP0_DAT16__SDMA_DEBUG_EVT_CHN_LINES_3 222
255MX53_PAD_DISP0_DAT16__EMI_EMI_DEBUG_21 223
256MX53_PAD_DISP0_DAT16__USBPHY2_VSTATUS_7 224
257MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 225
258MX53_PAD_DISP0_DAT17__GPIO5_11 226
259MX53_PAD_DISP0_DAT17__ECSPI2_MISO 227
260MX53_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD 228
261MX53_PAD_DISP0_DAT17__SDMA_EXT_EVENT_1 229
262MX53_PAD_DISP0_DAT17__SDMA_DEBUG_EVT_CHN_LINES_4 230
263MX53_PAD_DISP0_DAT17__EMI_EMI_DEBUG_22 231
264MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 232
265MX53_PAD_DISP0_DAT18__GPIO5_12 233
266MX53_PAD_DISP0_DAT18__ECSPI2_SS0 234
267MX53_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS 235
268MX53_PAD_DISP0_DAT18__AUDMUX_AUD4_RXFS 236
269MX53_PAD_DISP0_DAT18__SDMA_DEBUG_EVT_CHN_LINES_5 237
270MX53_PAD_DISP0_DAT18__EMI_EMI_DEBUG_23 238
271MX53_PAD_DISP0_DAT18__EMI_WEIM_CS_2 239
272MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 240
273MX53_PAD_DISP0_DAT19__GPIO5_13 241
274MX53_PAD_DISP0_DAT19__ECSPI2_SCLK 242
275MX53_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD 243
276MX53_PAD_DISP0_DAT19__AUDMUX_AUD4_RXC 244
277MX53_PAD_DISP0_DAT19__SDMA_DEBUG_EVT_CHN_LINES_6 245
278MX53_PAD_DISP0_DAT19__EMI_EMI_DEBUG_24 246
279MX53_PAD_DISP0_DAT19__EMI_WEIM_CS_3 247
280MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 248
281MX53_PAD_DISP0_DAT20__GPIO5_14 249
282MX53_PAD_DISP0_DAT20__ECSPI1_SCLK 250
283MX53_PAD_DISP0_DAT20__AUDMUX_AUD4_TXC 251
284MX53_PAD_DISP0_DAT20__SDMA_DEBUG_EVT_CHN_LINES_7 252
285MX53_PAD_DISP0_DAT20__EMI_EMI_DEBUG_25 253
286MX53_PAD_DISP0_DAT20__SATA_PHY_TDI 254
287MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 255
288MX53_PAD_DISP0_DAT21__GPIO5_15 256
289MX53_PAD_DISP0_DAT21__ECSPI1_MOSI 257
290MX53_PAD_DISP0_DAT21__AUDMUX_AUD4_TXD 258
291MX53_PAD_DISP0_DAT21__SDMA_DEBUG_BUS_DEVICE_0 259
292MX53_PAD_DISP0_DAT21__EMI_EMI_DEBUG_26 260
293MX53_PAD_DISP0_DAT21__SATA_PHY_TDO 261
294MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 262
295MX53_PAD_DISP0_DAT22__GPIO5_16 263
296MX53_PAD_DISP0_DAT22__ECSPI1_MISO 264
297MX53_PAD_DISP0_DAT22__AUDMUX_AUD4_TXFS 265
298MX53_PAD_DISP0_DAT22__SDMA_DEBUG_BUS_DEVICE_1 266
299MX53_PAD_DISP0_DAT22__EMI_EMI_DEBUG_27 267
300MX53_PAD_DISP0_DAT22__SATA_PHY_TCK 268
301MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 269
302MX53_PAD_DISP0_DAT23__GPIO5_17 270
303MX53_PAD_DISP0_DAT23__ECSPI1_SS0 271
304MX53_PAD_DISP0_DAT23__AUDMUX_AUD4_RXD 272
305MX53_PAD_DISP0_DAT23__SDMA_DEBUG_BUS_DEVICE_2 273
306MX53_PAD_DISP0_DAT23__EMI_EMI_DEBUG_28 274
307MX53_PAD_DISP0_DAT23__SATA_PHY_TMS 275
308MX53_PAD_CSI0_PIXCLK__IPU_CSI0_PIXCLK 276
309MX53_PAD_CSI0_PIXCLK__GPIO5_18 277
310MX53_PAD_CSI0_PIXCLK__SDMA_DEBUG_PC_0 278
311MX53_PAD_CSI0_PIXCLK__EMI_EMI_DEBUG_29 279
312MX53_PAD_CSI0_MCLK__IPU_CSI0_HSYNC 280
313MX53_PAD_CSI0_MCLK__GPIO5_19 281
314MX53_PAD_CSI0_MCLK__CCM_CSI0_MCLK 282
315MX53_PAD_CSI0_MCLK__SDMA_DEBUG_PC_1 283
316MX53_PAD_CSI0_MCLK__EMI_EMI_DEBUG_30 284
317MX53_PAD_CSI0_MCLK__TPIU_TRCTL 285
318MX53_PAD_CSI0_DATA_EN__IPU_CSI0_DATA_EN 286
319MX53_PAD_CSI0_DATA_EN__GPIO5_20 287
320MX53_PAD_CSI0_DATA_EN__SDMA_DEBUG_PC_2 288
321MX53_PAD_CSI0_DATA_EN__EMI_EMI_DEBUG_31 289
322MX53_PAD_CSI0_DATA_EN__TPIU_TRCLK 290
323MX53_PAD_CSI0_VSYNC__IPU_CSI0_VSYNC 291
324MX53_PAD_CSI0_VSYNC__GPIO5_21 292
325MX53_PAD_CSI0_VSYNC__SDMA_DEBUG_PC_3 293
326MX53_PAD_CSI0_VSYNC__EMI_EMI_DEBUG_32 294
327MX53_PAD_CSI0_VSYNC__TPIU_TRACE_0 295
328MX53_PAD_CSI0_DAT4__IPU_CSI0_D_4 296
329MX53_PAD_CSI0_DAT4__GPIO5_22 297
330MX53_PAD_CSI0_DAT4__KPP_COL_5 298
331MX53_PAD_CSI0_DAT4__ECSPI1_SCLK 299
332MX53_PAD_CSI0_DAT4__USBOH3_USBH3_STP 300
333MX53_PAD_CSI0_DAT4__AUDMUX_AUD3_TXC 301
334MX53_PAD_CSI0_DAT4__EMI_EMI_DEBUG_33 302
335MX53_PAD_CSI0_DAT4__TPIU_TRACE_1 303
336MX53_PAD_CSI0_DAT5__IPU_CSI0_D_5 304
337MX53_PAD_CSI0_DAT5__GPIO5_23 305
338MX53_PAD_CSI0_DAT5__KPP_ROW_5 306
339MX53_PAD_CSI0_DAT5__ECSPI1_MOSI 307
340MX53_PAD_CSI0_DAT5__USBOH3_USBH3_NXT 308
341MX53_PAD_CSI0_DAT5__AUDMUX_AUD3_TXD 309
342MX53_PAD_CSI0_DAT5__EMI_EMI_DEBUG_34 310
343MX53_PAD_CSI0_DAT5__TPIU_TRACE_2 311
344MX53_PAD_CSI0_DAT6__IPU_CSI0_D_6 312
345MX53_PAD_CSI0_DAT6__GPIO5_24 313
346MX53_PAD_CSI0_DAT6__KPP_COL_6 314
347MX53_PAD_CSI0_DAT6__ECSPI1_MISO 315
348MX53_PAD_CSI0_DAT6__USBOH3_USBH3_CLK 316
349MX53_PAD_CSI0_DAT6__AUDMUX_AUD3_TXFS 317
350MX53_PAD_CSI0_DAT6__EMI_EMI_DEBUG_35 318
351MX53_PAD_CSI0_DAT6__TPIU_TRACE_3 319
352MX53_PAD_CSI0_DAT7__IPU_CSI0_D_7 320
353MX53_PAD_CSI0_DAT7__GPIO5_25 321
354MX53_PAD_CSI0_DAT7__KPP_ROW_6 322
355MX53_PAD_CSI0_DAT7__ECSPI1_SS0 323
356MX53_PAD_CSI0_DAT7__USBOH3_USBH3_DIR 324
357MX53_PAD_CSI0_DAT7__AUDMUX_AUD3_RXD 325
358MX53_PAD_CSI0_DAT7__EMI_EMI_DEBUG_36 326
359MX53_PAD_CSI0_DAT7__TPIU_TRACE_4 327
360MX53_PAD_CSI0_DAT8__IPU_CSI0_D_8 328
361MX53_PAD_CSI0_DAT8__GPIO5_26 329
362MX53_PAD_CSI0_DAT8__KPP_COL_7 330
363MX53_PAD_CSI0_DAT8__ECSPI2_SCLK 331
364MX53_PAD_CSI0_DAT8__USBOH3_USBH3_OC 332
365MX53_PAD_CSI0_DAT8__I2C1_SDA 333
366MX53_PAD_CSI0_DAT8__EMI_EMI_DEBUG_37 334
367MX53_PAD_CSI0_DAT8__TPIU_TRACE_5 335
368MX53_PAD_CSI0_DAT9__IPU_CSI0_D_9 336
369MX53_PAD_CSI0_DAT9__GPIO5_27 337
370MX53_PAD_CSI0_DAT9__KPP_ROW_7 338
371MX53_PAD_CSI0_DAT9__ECSPI2_MOSI 339
372MX53_PAD_CSI0_DAT9__USBOH3_USBH3_PWR 340
373MX53_PAD_CSI0_DAT9__I2C1_SCL 341
374MX53_PAD_CSI0_DAT9__EMI_EMI_DEBUG_38 342
375MX53_PAD_CSI0_DAT9__TPIU_TRACE_6 343
376MX53_PAD_CSI0_DAT10__IPU_CSI0_D_10 344
377MX53_PAD_CSI0_DAT10__GPIO5_28 345
378MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 346
379MX53_PAD_CSI0_DAT10__ECSPI2_MISO 347
380MX53_PAD_CSI0_DAT10__AUDMUX_AUD3_RXC 348
381MX53_PAD_CSI0_DAT10__SDMA_DEBUG_PC_4 349
382MX53_PAD_CSI0_DAT10__EMI_EMI_DEBUG_39 350
383MX53_PAD_CSI0_DAT10__TPIU_TRACE_7 351
384MX53_PAD_CSI0_DAT11__IPU_CSI0_D_11 352
385MX53_PAD_CSI0_DAT11__GPIO5_29 353
386MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 354
387MX53_PAD_CSI0_DAT11__ECSPI2_SS0 355
388MX53_PAD_CSI0_DAT11__AUDMUX_AUD3_RXFS 356
389MX53_PAD_CSI0_DAT11__SDMA_DEBUG_PC_5 357
390MX53_PAD_CSI0_DAT11__EMI_EMI_DEBUG_40 358
391MX53_PAD_CSI0_DAT11__TPIU_TRACE_8 359
392MX53_PAD_CSI0_DAT12__IPU_CSI0_D_12 360
393MX53_PAD_CSI0_DAT12__GPIO5_30 361
394MX53_PAD_CSI0_DAT12__UART4_TXD_MUX 362
395MX53_PAD_CSI0_DAT12__USBOH3_USBH3_DATA_0 363
396MX53_PAD_CSI0_DAT12__SDMA_DEBUG_PC_6 364
397MX53_PAD_CSI0_DAT12__EMI_EMI_DEBUG_41 365
398MX53_PAD_CSI0_DAT12__TPIU_TRACE_9 366
399MX53_PAD_CSI0_DAT13__IPU_CSI0_D_13 367
400MX53_PAD_CSI0_DAT13__GPIO5_31 368
401MX53_PAD_CSI0_DAT13__UART4_RXD_MUX 369
402MX53_PAD_CSI0_DAT13__USBOH3_USBH3_DATA_1 370
403MX53_PAD_CSI0_DAT13__SDMA_DEBUG_PC_7 371
404MX53_PAD_CSI0_DAT13__EMI_EMI_DEBUG_42 372
405MX53_PAD_CSI0_DAT13__TPIU_TRACE_10 373
406MX53_PAD_CSI0_DAT14__IPU_CSI0_D_14 374
407MX53_PAD_CSI0_DAT14__GPIO6_0 375
408MX53_PAD_CSI0_DAT14__UART5_TXD_MUX 376
409MX53_PAD_CSI0_DAT14__USBOH3_USBH3_DATA_2 377
410MX53_PAD_CSI0_DAT14__SDMA_DEBUG_PC_8 378
411MX53_PAD_CSI0_DAT14__EMI_EMI_DEBUG_43 379
412MX53_PAD_CSI0_DAT14__TPIU_TRACE_11 380
413MX53_PAD_CSI0_DAT15__IPU_CSI0_D_15 381
414MX53_PAD_CSI0_DAT15__GPIO6_1 382
415MX53_PAD_CSI0_DAT15__UART5_RXD_MUX 383
416MX53_PAD_CSI0_DAT15__USBOH3_USBH3_DATA_3 384
417MX53_PAD_CSI0_DAT15__SDMA_DEBUG_PC_9 385
418MX53_PAD_CSI0_DAT15__EMI_EMI_DEBUG_44 386
419MX53_PAD_CSI0_DAT15__TPIU_TRACE_12 387
420MX53_PAD_CSI0_DAT16__IPU_CSI0_D_16 388
421MX53_PAD_CSI0_DAT16__GPIO6_2 389
422MX53_PAD_CSI0_DAT16__UART4_RTS 390
423MX53_PAD_CSI0_DAT16__USBOH3_USBH3_DATA_4 391
424MX53_PAD_CSI0_DAT16__SDMA_DEBUG_PC_10 392
425MX53_PAD_CSI0_DAT16__EMI_EMI_DEBUG_45 393
426MX53_PAD_CSI0_DAT16__TPIU_TRACE_13 394
427MX53_PAD_CSI0_DAT17__IPU_CSI0_D_17 395
428MX53_PAD_CSI0_DAT17__GPIO6_3 396
429MX53_PAD_CSI0_DAT17__UART4_CTS 397
430MX53_PAD_CSI0_DAT17__USBOH3_USBH3_DATA_5 398
431MX53_PAD_CSI0_DAT17__SDMA_DEBUG_PC_11 399
432MX53_PAD_CSI0_DAT17__EMI_EMI_DEBUG_46 400
433MX53_PAD_CSI0_DAT17__TPIU_TRACE_14 401
434MX53_PAD_CSI0_DAT18__IPU_CSI0_D_18 402
435MX53_PAD_CSI0_DAT18__GPIO6_4 403
436MX53_PAD_CSI0_DAT18__UART5_RTS 404
437MX53_PAD_CSI0_DAT18__USBOH3_USBH3_DATA_6 405
438MX53_PAD_CSI0_DAT18__SDMA_DEBUG_PC_12 406
439MX53_PAD_CSI0_DAT18__EMI_EMI_DEBUG_47 407
440MX53_PAD_CSI0_DAT18__TPIU_TRACE_15 408
441MX53_PAD_CSI0_DAT19__IPU_CSI0_D_19 409
442MX53_PAD_CSI0_DAT19__GPIO6_5 410
443MX53_PAD_CSI0_DAT19__UART5_CTS 411
444MX53_PAD_CSI0_DAT19__USBOH3_USBH3_DATA_7 412
445MX53_PAD_CSI0_DAT19__SDMA_DEBUG_PC_13 413
446MX53_PAD_CSI0_DAT19__EMI_EMI_DEBUG_48 414
447MX53_PAD_CSI0_DAT19__USBPHY2_BISTOK 415
448MX53_PAD_EIM_A25__EMI_WEIM_A_25 416
449MX53_PAD_EIM_A25__GPIO5_2 417
450MX53_PAD_EIM_A25__ECSPI2_RDY 418
451MX53_PAD_EIM_A25__IPU_DI1_PIN12 419
452MX53_PAD_EIM_A25__CSPI_SS1 420
453MX53_PAD_EIM_A25__IPU_DI0_D1_CS 421
454MX53_PAD_EIM_A25__USBPHY1_BISTOK 422
455MX53_PAD_EIM_EB2__EMI_WEIM_EB_2 423
456MX53_PAD_EIM_EB2__GPIO2_30 424
457MX53_PAD_EIM_EB2__CCM_DI1_EXT_CLK 425
458MX53_PAD_EIM_EB2__IPU_SER_DISP1_CS 426
459MX53_PAD_EIM_EB2__ECSPI1_SS0 427
460MX53_PAD_EIM_EB2__I2C2_SCL 428
461MX53_PAD_EIM_D16__EMI_WEIM_D_16 429
462MX53_PAD_EIM_D16__GPIO3_16 430
463MX53_PAD_EIM_D16__IPU_DI0_PIN5 431
464MX53_PAD_EIM_D16__IPU_DISPB1_SER_CLK 432
465MX53_PAD_EIM_D16__ECSPI1_SCLK 433
466MX53_PAD_EIM_D16__I2C2_SDA 434
467MX53_PAD_EIM_D17__EMI_WEIM_D_17 435
468MX53_PAD_EIM_D17__GPIO3_17 436
469MX53_PAD_EIM_D17__IPU_DI0_PIN6 437
470MX53_PAD_EIM_D17__IPU_DISPB1_SER_DIN 438
471MX53_PAD_EIM_D17__ECSPI1_MISO 439
472MX53_PAD_EIM_D17__I2C3_SCL 440
473MX53_PAD_EIM_D18__EMI_WEIM_D_18 441
474MX53_PAD_EIM_D18__GPIO3_18 442
475MX53_PAD_EIM_D18__IPU_DI0_PIN7 443
476MX53_PAD_EIM_D18__IPU_DISPB1_SER_DIO 444
477MX53_PAD_EIM_D18__ECSPI1_MOSI 445
478MX53_PAD_EIM_D18__I2C3_SDA 446
479MX53_PAD_EIM_D18__IPU_DI1_D0_CS 447
480MX53_PAD_EIM_D19__EMI_WEIM_D_19 448
481MX53_PAD_EIM_D19__GPIO3_19 449
482MX53_PAD_EIM_D19__IPU_DI0_PIN8 450
483MX53_PAD_EIM_D19__IPU_DISPB1_SER_RS 451
484MX53_PAD_EIM_D19__ECSPI1_SS1 452
485MX53_PAD_EIM_D19__EPIT1_EPITO 453
486MX53_PAD_EIM_D19__UART1_CTS 454
487MX53_PAD_EIM_D19__USBOH3_USBH2_OC 455
488MX53_PAD_EIM_D20__EMI_WEIM_D_20 456
489MX53_PAD_EIM_D20__GPIO3_20 457
490MX53_PAD_EIM_D20__IPU_DI0_PIN16 458
491MX53_PAD_EIM_D20__IPU_SER_DISP0_CS 459
492MX53_PAD_EIM_D20__CSPI_SS0 460
493MX53_PAD_EIM_D20__EPIT2_EPITO 461
494MX53_PAD_EIM_D20__UART1_RTS 462
495MX53_PAD_EIM_D20__USBOH3_USBH2_PWR 463
496MX53_PAD_EIM_D21__EMI_WEIM_D_21 464
497MX53_PAD_EIM_D21__GPIO3_21 465
498MX53_PAD_EIM_D21__IPU_DI0_PIN17 466
499MX53_PAD_EIM_D21__IPU_DISPB0_SER_CLK 467
500MX53_PAD_EIM_D21__CSPI_SCLK 468
501MX53_PAD_EIM_D21__I2C1_SCL 469
502MX53_PAD_EIM_D21__USBOH3_USBOTG_OC 470
503MX53_PAD_EIM_D22__EMI_WEIM_D_22 471
504MX53_PAD_EIM_D22__GPIO3_22 472
505MX53_PAD_EIM_D22__IPU_DI0_PIN1 473
506MX53_PAD_EIM_D22__IPU_DISPB0_SER_DIN 474
507MX53_PAD_EIM_D22__CSPI_MISO 475
508MX53_PAD_EIM_D22__USBOH3_USBOTG_PWR 476
509MX53_PAD_EIM_D23__EMI_WEIM_D_23 477
510MX53_PAD_EIM_D23__GPIO3_23 478
511MX53_PAD_EIM_D23__UART3_CTS 479
512MX53_PAD_EIM_D23__UART1_DCD 480
513MX53_PAD_EIM_D23__IPU_DI0_D0_CS 481
514MX53_PAD_EIM_D23__IPU_DI1_PIN2 482
515MX53_PAD_EIM_D23__IPU_CSI1_DATA_EN 483
516MX53_PAD_EIM_D23__IPU_DI1_PIN14 484
517MX53_PAD_EIM_EB3__EMI_WEIM_EB_3 485
518MX53_PAD_EIM_EB3__GPIO2_31 486
519MX53_PAD_EIM_EB3__UART3_RTS 487
520MX53_PAD_EIM_EB3__UART1_RI 488
521MX53_PAD_EIM_EB3__IPU_DI1_PIN3 489
522MX53_PAD_EIM_EB3__IPU_CSI1_HSYNC 490
523MX53_PAD_EIM_EB3__IPU_DI1_PIN16 491
524MX53_PAD_EIM_D24__EMI_WEIM_D_24 492
525MX53_PAD_EIM_D24__GPIO3_24 493
526MX53_PAD_EIM_D24__UART3_TXD_MUX 494
527MX53_PAD_EIM_D24__ECSPI1_SS2 495
528MX53_PAD_EIM_D24__CSPI_SS2 496
529MX53_PAD_EIM_D24__AUDMUX_AUD5_RXFS 497
530MX53_PAD_EIM_D24__ECSPI2_SS2 498
531MX53_PAD_EIM_D24__UART1_DTR 499
532MX53_PAD_EIM_D25__EMI_WEIM_D_25 500
533MX53_PAD_EIM_D25__GPIO3_25 501
534MX53_PAD_EIM_D25__UART3_RXD_MUX 502
535MX53_PAD_EIM_D25__ECSPI1_SS3 503
536MX53_PAD_EIM_D25__CSPI_SS3 504
537MX53_PAD_EIM_D25__AUDMUX_AUD5_RXC 505
538MX53_PAD_EIM_D25__ECSPI2_SS3 506
539MX53_PAD_EIM_D25__UART1_DSR 507
540MX53_PAD_EIM_D26__EMI_WEIM_D_26 508
541MX53_PAD_EIM_D26__GPIO3_26 509
542MX53_PAD_EIM_D26__UART2_TXD_MUX 510
543MX53_PAD_EIM_D26__FIRI_RXD 511
544MX53_PAD_EIM_D26__IPU_CSI0_D_1 512
545MX53_PAD_EIM_D26__IPU_DI1_PIN11 513
546MX53_PAD_EIM_D26__IPU_SISG_2 514
547MX53_PAD_EIM_D26__IPU_DISP1_DAT_22 515
548MX53_PAD_EIM_D27__EMI_WEIM_D_27 516
549MX53_PAD_EIM_D27__GPIO3_27 517
550MX53_PAD_EIM_D27__UART2_RXD_MUX 518
551MX53_PAD_EIM_D27__FIRI_TXD 519
552MX53_PAD_EIM_D27__IPU_CSI0_D_0 520
553MX53_PAD_EIM_D27__IPU_DI1_PIN13 521
554MX53_PAD_EIM_D27__IPU_SISG_3 522
555MX53_PAD_EIM_D27__IPU_DISP1_DAT_23 523
556MX53_PAD_EIM_D28__EMI_WEIM_D_28 524
557MX53_PAD_EIM_D28__GPIO3_28 525
558MX53_PAD_EIM_D28__UART2_CTS 526
559MX53_PAD_EIM_D28__IPU_DISPB0_SER_DIO 527
560MX53_PAD_EIM_D28__CSPI_MOSI 528
561MX53_PAD_EIM_D28__I2C1_SDA 529
562MX53_PAD_EIM_D28__IPU_EXT_TRIG 530
563MX53_PAD_EIM_D28__IPU_DI0_PIN13 531
564MX53_PAD_EIM_D29__EMI_WEIM_D_29 532
565MX53_PAD_EIM_D29__GPIO3_29 533
566MX53_PAD_EIM_D29__UART2_RTS 534
567MX53_PAD_EIM_D29__IPU_DISPB0_SER_RS 535
568MX53_PAD_EIM_D29__CSPI_SS0 536
569MX53_PAD_EIM_D29__IPU_DI1_PIN15 537
570MX53_PAD_EIM_D29__IPU_CSI1_VSYNC 538
571MX53_PAD_EIM_D29__IPU_DI0_PIN14 539
572MX53_PAD_EIM_D30__EMI_WEIM_D_30 540
573MX53_PAD_EIM_D30__GPIO3_30 541
574MX53_PAD_EIM_D30__UART3_CTS 542
575MX53_PAD_EIM_D30__IPU_CSI0_D_3 543
576MX53_PAD_EIM_D30__IPU_DI0_PIN11 544
577MX53_PAD_EIM_D30__IPU_DISP1_DAT_21 545
578MX53_PAD_EIM_D30__USBOH3_USBH1_OC 546
579MX53_PAD_EIM_D30__USBOH3_USBH2_OC 547
580MX53_PAD_EIM_D31__EMI_WEIM_D_31 548
581MX53_PAD_EIM_D31__GPIO3_31 549
582MX53_PAD_EIM_D31__UART3_RTS 550
583MX53_PAD_EIM_D31__IPU_CSI0_D_2 551
584MX53_PAD_EIM_D31__IPU_DI0_PIN12 552
585MX53_PAD_EIM_D31__IPU_DISP1_DAT_20 553
586MX53_PAD_EIM_D31__USBOH3_USBH1_PWR 554
587MX53_PAD_EIM_D31__USBOH3_USBH2_PWR 555
588MX53_PAD_EIM_A24__EMI_WEIM_A_24 556
589MX53_PAD_EIM_A24__GPIO5_4 557
590MX53_PAD_EIM_A24__IPU_DISP1_DAT_19 558
591MX53_PAD_EIM_A24__IPU_CSI1_D_19 559
592MX53_PAD_EIM_A24__IPU_SISG_2 560
593MX53_PAD_EIM_A24__USBPHY2_BVALID 561
594MX53_PAD_EIM_A23__EMI_WEIM_A_23 562
595MX53_PAD_EIM_A23__GPIO6_6 563
596MX53_PAD_EIM_A23__IPU_DISP1_DAT_18 564
597MX53_PAD_EIM_A23__IPU_CSI1_D_18 565
598MX53_PAD_EIM_A23__IPU_SISG_3 566
599MX53_PAD_EIM_A23__USBPHY2_ENDSESSION 567
600MX53_PAD_EIM_A22__EMI_WEIM_A_22 568
601MX53_PAD_EIM_A22__GPIO2_16 569
602MX53_PAD_EIM_A22__IPU_DISP1_DAT_17 570
603MX53_PAD_EIM_A22__IPU_CSI1_D_17 571
604MX53_PAD_EIM_A22__SRC_BT_CFG1_7 572
605MX53_PAD_EIM_A21__EMI_WEIM_A_21 573
606MX53_PAD_EIM_A21__GPIO2_17 574
607MX53_PAD_EIM_A21__IPU_DISP1_DAT_16 575
608MX53_PAD_EIM_A21__IPU_CSI1_D_16 576
609MX53_PAD_EIM_A21__SRC_BT_CFG1_6 577
610MX53_PAD_EIM_A20__EMI_WEIM_A_20 578
611MX53_PAD_EIM_A20__GPIO2_18 579
612MX53_PAD_EIM_A20__IPU_DISP1_DAT_15 580
613MX53_PAD_EIM_A20__IPU_CSI1_D_15 581
614MX53_PAD_EIM_A20__SRC_BT_CFG1_5 582
615MX53_PAD_EIM_A19__EMI_WEIM_A_19 583
616MX53_PAD_EIM_A19__GPIO2_19 584
617MX53_PAD_EIM_A19__IPU_DISP1_DAT_14 585
618MX53_PAD_EIM_A19__IPU_CSI1_D_14 586
619MX53_PAD_EIM_A19__SRC_BT_CFG1_4 587
620MX53_PAD_EIM_A18__EMI_WEIM_A_18 588
621MX53_PAD_EIM_A18__GPIO2_20 589
622MX53_PAD_EIM_A18__IPU_DISP1_DAT_13 590
623MX53_PAD_EIM_A18__IPU_CSI1_D_13 591
624MX53_PAD_EIM_A18__SRC_BT_CFG1_3 592
625MX53_PAD_EIM_A17__EMI_WEIM_A_17 593
626MX53_PAD_EIM_A17__GPIO2_21 594
627MX53_PAD_EIM_A17__IPU_DISP1_DAT_12 595
628MX53_PAD_EIM_A17__IPU_CSI1_D_12 596
629MX53_PAD_EIM_A17__SRC_BT_CFG1_2 597
630MX53_PAD_EIM_A16__EMI_WEIM_A_16 598
631MX53_PAD_EIM_A16__GPIO2_22 599
632MX53_PAD_EIM_A16__IPU_DI1_DISP_CLK 600
633MX53_PAD_EIM_A16__IPU_CSI1_PIXCLK 601
634MX53_PAD_EIM_A16__SRC_BT_CFG1_1 602
635MX53_PAD_EIM_CS0__EMI_WEIM_CS_0 603
636MX53_PAD_EIM_CS0__GPIO2_23 604
637MX53_PAD_EIM_CS0__ECSPI2_SCLK 605
638MX53_PAD_EIM_CS0__IPU_DI1_PIN5 606
639MX53_PAD_EIM_CS1__EMI_WEIM_CS_1 607
640MX53_PAD_EIM_CS1__GPIO2_24 608
641MX53_PAD_EIM_CS1__ECSPI2_MOSI 609
642MX53_PAD_EIM_CS1__IPU_DI1_PIN6 610
643MX53_PAD_EIM_OE__EMI_WEIM_OE 611
644MX53_PAD_EIM_OE__GPIO2_25 612
645MX53_PAD_EIM_OE__ECSPI2_MISO 613
646MX53_PAD_EIM_OE__IPU_DI1_PIN7 614
647MX53_PAD_EIM_OE__USBPHY2_IDDIG 615
648MX53_PAD_EIM_RW__EMI_WEIM_RW 616
649MX53_PAD_EIM_RW__GPIO2_26 617
650MX53_PAD_EIM_RW__ECSPI2_SS0 618
651MX53_PAD_EIM_RW__IPU_DI1_PIN8 619
652MX53_PAD_EIM_RW__USBPHY2_HOSTDISCONNECT 620
653MX53_PAD_EIM_LBA__EMI_WEIM_LBA 621
654MX53_PAD_EIM_LBA__GPIO2_27 622
655MX53_PAD_EIM_LBA__ECSPI2_SS1 623
656MX53_PAD_EIM_LBA__IPU_DI1_PIN17 624
657MX53_PAD_EIM_LBA__SRC_BT_CFG1_0 625
658MX53_PAD_EIM_EB0__EMI_WEIM_EB_0 626
659MX53_PAD_EIM_EB0__GPIO2_28 627
660MX53_PAD_EIM_EB0__IPU_DISP1_DAT_11 628
661MX53_PAD_EIM_EB0__IPU_CSI1_D_11 629
662MX53_PAD_EIM_EB0__GPC_PMIC_RDY 630
663MX53_PAD_EIM_EB0__SRC_BT_CFG2_7 631
664MX53_PAD_EIM_EB1__EMI_WEIM_EB_1 632
665MX53_PAD_EIM_EB1__GPIO2_29 633
666MX53_PAD_EIM_EB1__IPU_DISP1_DAT_10 634
667MX53_PAD_EIM_EB1__IPU_CSI1_D_10 635
668MX53_PAD_EIM_EB1__SRC_BT_CFG2_6 636
669MX53_PAD_EIM_DA0__EMI_NAND_WEIM_DA_0 637
670MX53_PAD_EIM_DA0__GPIO3_0 638
671MX53_PAD_EIM_DA0__IPU_DISP1_DAT_9 639
672MX53_PAD_EIM_DA0__IPU_CSI1_D_9 640
673MX53_PAD_EIM_DA0__SRC_BT_CFG2_5 641
674MX53_PAD_EIM_DA1__EMI_NAND_WEIM_DA_1 642
675MX53_PAD_EIM_DA1__GPIO3_1 643
676MX53_PAD_EIM_DA1__IPU_DISP1_DAT_8 644
677MX53_PAD_EIM_DA1__IPU_CSI1_D_8 645
678MX53_PAD_EIM_DA1__SRC_BT_CFG2_4 646
679MX53_PAD_EIM_DA2__EMI_NAND_WEIM_DA_2 647
680MX53_PAD_EIM_DA2__GPIO3_2 648
681MX53_PAD_EIM_DA2__IPU_DISP1_DAT_7 649
682MX53_PAD_EIM_DA2__IPU_CSI1_D_7 650
683MX53_PAD_EIM_DA2__SRC_BT_CFG2_3 651
684MX53_PAD_EIM_DA3__EMI_NAND_WEIM_DA_3 652
685MX53_PAD_EIM_DA3__GPIO3_3 653
686MX53_PAD_EIM_DA3__IPU_DISP1_DAT_6 654
687MX53_PAD_EIM_DA3__IPU_CSI1_D_6 655
688MX53_PAD_EIM_DA3__SRC_BT_CFG2_2 656
689MX53_PAD_EIM_DA4__EMI_NAND_WEIM_DA_4 657
690MX53_PAD_EIM_DA4__GPIO3_4 658
691MX53_PAD_EIM_DA4__IPU_DISP1_DAT_5 659
692MX53_PAD_EIM_DA4__IPU_CSI1_D_5 660
693MX53_PAD_EIM_DA4__SRC_BT_CFG3_7 661
694MX53_PAD_EIM_DA5__EMI_NAND_WEIM_DA_5 662
695MX53_PAD_EIM_DA5__GPIO3_5 663
696MX53_PAD_EIM_DA5__IPU_DISP1_DAT_4 664
697MX53_PAD_EIM_DA5__IPU_CSI1_D_4 665
698MX53_PAD_EIM_DA5__SRC_BT_CFG3_6 666
699MX53_PAD_EIM_DA6__EMI_NAND_WEIM_DA_6 667
700MX53_PAD_EIM_DA6__GPIO3_6 668
701MX53_PAD_EIM_DA6__IPU_DISP1_DAT_3 669
702MX53_PAD_EIM_DA6__IPU_CSI1_D_3 670
703MX53_PAD_EIM_DA6__SRC_BT_CFG3_5 671
704MX53_PAD_EIM_DA7__EMI_NAND_WEIM_DA_7 672
705MX53_PAD_EIM_DA7__GPIO3_7 673
706MX53_PAD_EIM_DA7__IPU_DISP1_DAT_2 674
707MX53_PAD_EIM_DA7__IPU_CSI1_D_2 675
708MX53_PAD_EIM_DA7__SRC_BT_CFG3_4 676
709MX53_PAD_EIM_DA8__EMI_NAND_WEIM_DA_8 677
710MX53_PAD_EIM_DA8__GPIO3_8 678
711MX53_PAD_EIM_DA8__IPU_DISP1_DAT_1 679
712MX53_PAD_EIM_DA8__IPU_CSI1_D_1 680
713MX53_PAD_EIM_DA8__SRC_BT_CFG3_3 681
714MX53_PAD_EIM_DA9__EMI_NAND_WEIM_DA_9 682
715MX53_PAD_EIM_DA9__GPIO3_9 683
716MX53_PAD_EIM_DA9__IPU_DISP1_DAT_0 684
717MX53_PAD_EIM_DA9__IPU_CSI1_D_0 685
718MX53_PAD_EIM_DA9__SRC_BT_CFG3_2 686
719MX53_PAD_EIM_DA10__EMI_NAND_WEIM_DA_10 687
720MX53_PAD_EIM_DA10__GPIO3_10 688
721MX53_PAD_EIM_DA10__IPU_DI1_PIN15 689
722MX53_PAD_EIM_DA10__IPU_CSI1_DATA_EN 690
723MX53_PAD_EIM_DA10__SRC_BT_CFG3_1 691
724MX53_PAD_EIM_DA11__EMI_NAND_WEIM_DA_11 692
725MX53_PAD_EIM_DA11__GPIO3_11 693
726MX53_PAD_EIM_DA11__IPU_DI1_PIN2 694
727MX53_PAD_EIM_DA11__IPU_CSI1_HSYNC 695
728MX53_PAD_EIM_DA12__EMI_NAND_WEIM_DA_12 696
729MX53_PAD_EIM_DA12__GPIO3_12 697
730MX53_PAD_EIM_DA12__IPU_DI1_PIN3 698
731MX53_PAD_EIM_DA12__IPU_CSI1_VSYNC 699
732MX53_PAD_EIM_DA13__EMI_NAND_WEIM_DA_13 700
733MX53_PAD_EIM_DA13__GPIO3_13 701
734MX53_PAD_EIM_DA13__IPU_DI1_D0_CS 702
735MX53_PAD_EIM_DA13__CCM_DI1_EXT_CLK 703
736MX53_PAD_EIM_DA14__EMI_NAND_WEIM_DA_14 704
737MX53_PAD_EIM_DA14__GPIO3_14 705
738MX53_PAD_EIM_DA14__IPU_DI1_D1_CS 706
739MX53_PAD_EIM_DA14__CCM_DI0_EXT_CLK 707
740MX53_PAD_EIM_DA15__EMI_NAND_WEIM_DA_15 708
741MX53_PAD_EIM_DA15__GPIO3_15 709
742MX53_PAD_EIM_DA15__IPU_DI1_PIN1 710
743MX53_PAD_EIM_DA15__IPU_DI1_PIN4 711
744MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B 712
745MX53_PAD_NANDF_WE_B__GPIO6_12 713
746MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B 714
747MX53_PAD_NANDF_RE_B__GPIO6_13 715
748MX53_PAD_EIM_WAIT__EMI_WEIM_WAIT 716
749MX53_PAD_EIM_WAIT__GPIO5_0 717
750MX53_PAD_EIM_WAIT__EMI_WEIM_DTACK_B 718
751MX53_PAD_LVDS1_TX3_P__GPIO6_22 719
752MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 720
753MX53_PAD_LVDS1_TX2_P__GPIO6_24 721
754MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 722
755MX53_PAD_LVDS1_CLK_P__GPIO6_26 723
756MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 724
757MX53_PAD_LVDS1_TX1_P__GPIO6_28 725
758MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 726
759MX53_PAD_LVDS1_TX0_P__GPIO6_30 727
760MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 728
761MX53_PAD_LVDS0_TX3_P__GPIO7_22 729
762MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 730
763MX53_PAD_LVDS0_CLK_P__GPIO7_24 731
764MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 732
765MX53_PAD_LVDS0_TX2_P__GPIO7_26 733
766MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 734
767MX53_PAD_LVDS0_TX1_P__GPIO7_28 735
768MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 736
769MX53_PAD_LVDS0_TX0_P__GPIO7_30 737
770MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 738
771MX53_PAD_GPIO_10__GPIO4_0 739
772MX53_PAD_GPIO_10__OSC32k_32K_OUT 740
773MX53_PAD_GPIO_11__GPIO4_1 741
774MX53_PAD_GPIO_12__GPIO4_2 742
775MX53_PAD_GPIO_13__GPIO4_3 743
776MX53_PAD_GPIO_14__GPIO4_4 744
777MX53_PAD_NANDF_CLE__EMI_NANDF_CLE 745
778MX53_PAD_NANDF_CLE__GPIO6_7 746
779MX53_PAD_NANDF_CLE__USBPHY1_VSTATUS_0 747
780MX53_PAD_NANDF_ALE__EMI_NANDF_ALE 748
781MX53_PAD_NANDF_ALE__GPIO6_8 749
782MX53_PAD_NANDF_ALE__USBPHY1_VSTATUS_1 750
783MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B 751
784MX53_PAD_NANDF_WP_B__GPIO6_9 752
785MX53_PAD_NANDF_WP_B__USBPHY1_VSTATUS_2 753
786MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0 754
787MX53_PAD_NANDF_RB0__GPIO6_10 755
788MX53_PAD_NANDF_RB0__USBPHY1_VSTATUS_3 756
789MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0 757
790MX53_PAD_NANDF_CS0__GPIO6_11 758
791MX53_PAD_NANDF_CS0__USBPHY1_VSTATUS_4 759
792MX53_PAD_NANDF_CS1__EMI_NANDF_CS_1 760
793MX53_PAD_NANDF_CS1__GPIO6_14 761
794MX53_PAD_NANDF_CS1__MLB_MLBCLK 762
795MX53_PAD_NANDF_CS1__USBPHY1_VSTATUS_5 763
796MX53_PAD_NANDF_CS2__EMI_NANDF_CS_2 764
797MX53_PAD_NANDF_CS2__GPIO6_15 765
798MX53_PAD_NANDF_CS2__IPU_SISG_0 766
799MX53_PAD_NANDF_CS2__ESAI1_TX0 767
800MX53_PAD_NANDF_CS2__EMI_WEIM_CRE 768
801MX53_PAD_NANDF_CS2__CCM_CSI0_MCLK 769
802MX53_PAD_NANDF_CS2__MLB_MLBSIG 770
803MX53_PAD_NANDF_CS2__USBPHY1_VSTATUS_6 771
804MX53_PAD_NANDF_CS3__EMI_NANDF_CS_3 772
805MX53_PAD_NANDF_CS3__GPIO6_16 773
806MX53_PAD_NANDF_CS3__IPU_SISG_1 774
807MX53_PAD_NANDF_CS3__ESAI1_TX1 775
808MX53_PAD_NANDF_CS3__EMI_WEIM_A_26 776
809MX53_PAD_NANDF_CS3__MLB_MLBDAT 777
810MX53_PAD_NANDF_CS3__USBPHY1_VSTATUS_7 778
811MX53_PAD_FEC_MDIO__FEC_MDIO 779
812MX53_PAD_FEC_MDIO__GPIO1_22 780
813MX53_PAD_FEC_MDIO__ESAI1_SCKR 781
814MX53_PAD_FEC_MDIO__FEC_COL 782
815MX53_PAD_FEC_MDIO__RTC_CE_RTC_PS2 783
816MX53_PAD_FEC_MDIO__SDMA_DEBUG_BUS_DEVICE_3 784
817MX53_PAD_FEC_MDIO__EMI_EMI_DEBUG_49 785
818MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 786
819MX53_PAD_FEC_REF_CLK__GPIO1_23 787
820MX53_PAD_FEC_REF_CLK__ESAI1_FSR 788
821MX53_PAD_FEC_REF_CLK__SDMA_DEBUG_BUS_DEVICE_4 789
822MX53_PAD_FEC_REF_CLK__EMI_EMI_DEBUG_50 790
823MX53_PAD_FEC_RX_ER__FEC_RX_ER 791
824MX53_PAD_FEC_RX_ER__GPIO1_24 792
825MX53_PAD_FEC_RX_ER__ESAI1_HCKR 793
826MX53_PAD_FEC_RX_ER__FEC_RX_CLK 794
827MX53_PAD_FEC_RX_ER__RTC_CE_RTC_PS3 795
828MX53_PAD_FEC_CRS_DV__FEC_RX_DV 796
829MX53_PAD_FEC_CRS_DV__GPIO1_25 797
830MX53_PAD_FEC_CRS_DV__ESAI1_SCKT 798
831MX53_PAD_FEC_RXD1__FEC_RDATA_1 799
832MX53_PAD_FEC_RXD1__GPIO1_26 800
833MX53_PAD_FEC_RXD1__ESAI1_FST 801
834MX53_PAD_FEC_RXD1__MLB_MLBSIG 802
835MX53_PAD_FEC_RXD1__RTC_CE_RTC_PS1 803
836MX53_PAD_FEC_RXD0__FEC_RDATA_0 804
837MX53_PAD_FEC_RXD0__GPIO1_27 805
838MX53_PAD_FEC_RXD0__ESAI1_HCKT 806
839MX53_PAD_FEC_RXD0__OSC32k_32K_OUT 807
840MX53_PAD_FEC_TX_EN__FEC_TX_EN 808
841MX53_PAD_FEC_TX_EN__GPIO1_28 809
842MX53_PAD_FEC_TX_EN__ESAI1_TX3_RX2 810
843MX53_PAD_FEC_TXD1__FEC_TDATA_1 811
844MX53_PAD_FEC_TXD1__GPIO1_29 812
845MX53_PAD_FEC_TXD1__ESAI1_TX2_RX3 813
846MX53_PAD_FEC_TXD1__MLB_MLBCLK 814
847MX53_PAD_FEC_TXD1__RTC_CE_RTC_PRSC_CLK 815
848MX53_PAD_FEC_TXD0__FEC_TDATA_0 816
849MX53_PAD_FEC_TXD0__GPIO1_30 817
850MX53_PAD_FEC_TXD0__ESAI1_TX4_RX1 818
851MX53_PAD_FEC_TXD0__USBPHY2_DATAOUT_0 819
852MX53_PAD_FEC_MDC__FEC_MDC 820
853MX53_PAD_FEC_MDC__GPIO1_31 821
854MX53_PAD_FEC_MDC__ESAI1_TX5_RX0 822
855MX53_PAD_FEC_MDC__MLB_MLBDAT 823
856MX53_PAD_FEC_MDC__RTC_CE_RTC_ALARM1_TRIG 824
857MX53_PAD_FEC_MDC__USBPHY2_DATAOUT_1 825
858MX53_PAD_PATA_DIOW__PATA_DIOW 826
859MX53_PAD_PATA_DIOW__GPIO6_17 827
860MX53_PAD_PATA_DIOW__UART1_TXD_MUX 828
861MX53_PAD_PATA_DIOW__USBPHY2_DATAOUT_2 829
862MX53_PAD_PATA_DMACK__PATA_DMACK 830
863MX53_PAD_PATA_DMACK__GPIO6_18 831
864MX53_PAD_PATA_DMACK__UART1_RXD_MUX 832
865MX53_PAD_PATA_DMACK__USBPHY2_DATAOUT_3 833
866MX53_PAD_PATA_DMARQ__PATA_DMARQ 834
867MX53_PAD_PATA_DMARQ__GPIO7_0 835
868MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 836
869MX53_PAD_PATA_DMARQ__CCM_CCM_OUT_0 837
870MX53_PAD_PATA_DMARQ__USBPHY2_DATAOUT_4 838
871MX53_PAD_PATA_BUFFER_EN__PATA_BUFFER_EN 839
872MX53_PAD_PATA_BUFFER_EN__GPIO7_1 840
873MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 841
874MX53_PAD_PATA_BUFFER_EN__CCM_CCM_OUT_1 842
875MX53_PAD_PATA_BUFFER_EN__USBPHY2_DATAOUT_5 843
876MX53_PAD_PATA_INTRQ__PATA_INTRQ 844
877MX53_PAD_PATA_INTRQ__GPIO7_2 845
878MX53_PAD_PATA_INTRQ__UART2_CTS 846
879MX53_PAD_PATA_INTRQ__CAN1_TXCAN 847
880MX53_PAD_PATA_INTRQ__CCM_CCM_OUT_2 848
881MX53_PAD_PATA_INTRQ__USBPHY2_DATAOUT_6 849
882MX53_PAD_PATA_DIOR__PATA_DIOR 850
883MX53_PAD_PATA_DIOR__GPIO7_3 851
884MX53_PAD_PATA_DIOR__UART2_RTS 852
885MX53_PAD_PATA_DIOR__CAN1_RXCAN 853
886MX53_PAD_PATA_DIOR__USBPHY2_DATAOUT_7 854
887MX53_PAD_PATA_RESET_B__PATA_PATA_RESET_B 855
888MX53_PAD_PATA_RESET_B__GPIO7_4 856
889MX53_PAD_PATA_RESET_B__ESDHC3_CMD 857
890MX53_PAD_PATA_RESET_B__UART1_CTS 858
891MX53_PAD_PATA_RESET_B__CAN2_TXCAN 859
892MX53_PAD_PATA_RESET_B__USBPHY1_DATAOUT_0 860
893MX53_PAD_PATA_IORDY__PATA_IORDY 861
894MX53_PAD_PATA_IORDY__GPIO7_5 862
895MX53_PAD_PATA_IORDY__ESDHC3_CLK 863
896MX53_PAD_PATA_IORDY__UART1_RTS 864
897MX53_PAD_PATA_IORDY__CAN2_RXCAN 865
898MX53_PAD_PATA_IORDY__USBPHY1_DATAOUT_1 866
899MX53_PAD_PATA_DA_0__PATA_DA_0 867
900MX53_PAD_PATA_DA_0__GPIO7_6 868
901MX53_PAD_PATA_DA_0__ESDHC3_RST 869
902MX53_PAD_PATA_DA_0__OWIRE_LINE 870
903MX53_PAD_PATA_DA_0__USBPHY1_DATAOUT_2 871
904MX53_PAD_PATA_DA_1__PATA_DA_1 872
905MX53_PAD_PATA_DA_1__GPIO7_7 873
906MX53_PAD_PATA_DA_1__ESDHC4_CMD 874
907MX53_PAD_PATA_DA_1__UART3_CTS 875
908MX53_PAD_PATA_DA_1__USBPHY1_DATAOUT_3 876
909MX53_PAD_PATA_DA_2__PATA_DA_2 877
910MX53_PAD_PATA_DA_2__GPIO7_8 878
911MX53_PAD_PATA_DA_2__ESDHC4_CLK 879
912MX53_PAD_PATA_DA_2__UART3_RTS 880
913MX53_PAD_PATA_DA_2__USBPHY1_DATAOUT_4 881
914MX53_PAD_PATA_CS_0__PATA_CS_0 882
915MX53_PAD_PATA_CS_0__GPIO7_9 883
916MX53_PAD_PATA_CS_0__UART3_TXD_MUX 884
917MX53_PAD_PATA_CS_0__USBPHY1_DATAOUT_5 885
918MX53_PAD_PATA_CS_1__PATA_CS_1 886
919MX53_PAD_PATA_CS_1__GPIO7_10 887
920MX53_PAD_PATA_CS_1__UART3_RXD_MUX 888
921MX53_PAD_PATA_CS_1__USBPHY1_DATAOUT_6 889
922MX53_PAD_PATA_DATA0__PATA_DATA_0 890
923MX53_PAD_PATA_DATA0__GPIO2_0 891
924MX53_PAD_PATA_DATA0__EMI_NANDF_D_0 892
925MX53_PAD_PATA_DATA0__ESDHC3_DAT4 893
926MX53_PAD_PATA_DATA0__GPU3d_GPU_DEBUG_OUT_0 894
927MX53_PAD_PATA_DATA0__IPU_DIAG_BUS_0 895
928MX53_PAD_PATA_DATA0__USBPHY1_DATAOUT_7 896
929MX53_PAD_PATA_DATA1__PATA_DATA_1 897
930MX53_PAD_PATA_DATA1__GPIO2_1 898
931MX53_PAD_PATA_DATA1__EMI_NANDF_D_1 899
932MX53_PAD_PATA_DATA1__ESDHC3_DAT5 900
933MX53_PAD_PATA_DATA1__GPU3d_GPU_DEBUG_OUT_1 901
934MX53_PAD_PATA_DATA1__IPU_DIAG_BUS_1 902
935MX53_PAD_PATA_DATA2__PATA_DATA_2 903
936MX53_PAD_PATA_DATA2__GPIO2_2 904
937MX53_PAD_PATA_DATA2__EMI_NANDF_D_2 905
938MX53_PAD_PATA_DATA2__ESDHC3_DAT6 906
939MX53_PAD_PATA_DATA2__GPU3d_GPU_DEBUG_OUT_2 907
940MX53_PAD_PATA_DATA2__IPU_DIAG_BUS_2 908
941MX53_PAD_PATA_DATA3__PATA_DATA_3 909
942MX53_PAD_PATA_DATA3__GPIO2_3 910
943MX53_PAD_PATA_DATA3__EMI_NANDF_D_3 911
944MX53_PAD_PATA_DATA3__ESDHC3_DAT7 912
945MX53_PAD_PATA_DATA3__GPU3d_GPU_DEBUG_OUT_3 913
946MX53_PAD_PATA_DATA3__IPU_DIAG_BUS_3 914
947MX53_PAD_PATA_DATA4__PATA_DATA_4 915
948MX53_PAD_PATA_DATA4__GPIO2_4 916
949MX53_PAD_PATA_DATA4__EMI_NANDF_D_4 917
950MX53_PAD_PATA_DATA4__ESDHC4_DAT4 918
951MX53_PAD_PATA_DATA4__GPU3d_GPU_DEBUG_OUT_4 919
952MX53_PAD_PATA_DATA4__IPU_DIAG_BUS_4 920
953MX53_PAD_PATA_DATA5__PATA_DATA_5 921
954MX53_PAD_PATA_DATA5__GPIO2_5 922
955MX53_PAD_PATA_DATA5__EMI_NANDF_D_5 923
956MX53_PAD_PATA_DATA5__ESDHC4_DAT5 924
957MX53_PAD_PATA_DATA5__GPU3d_GPU_DEBUG_OUT_5 925
958MX53_PAD_PATA_DATA5__IPU_DIAG_BUS_5 926
959MX53_PAD_PATA_DATA6__PATA_DATA_6 927
960MX53_PAD_PATA_DATA6__GPIO2_6 928
961MX53_PAD_PATA_DATA6__EMI_NANDF_D_6 929
962MX53_PAD_PATA_DATA6__ESDHC4_DAT6 930
963MX53_PAD_PATA_DATA6__GPU3d_GPU_DEBUG_OUT_6 931
964MX53_PAD_PATA_DATA6__IPU_DIAG_BUS_6 932
965MX53_PAD_PATA_DATA7__PATA_DATA_7 933
966MX53_PAD_PATA_DATA7__GPIO2_7 934
967MX53_PAD_PATA_DATA7__EMI_NANDF_D_7 935
968MX53_PAD_PATA_DATA7__ESDHC4_DAT7 936
969MX53_PAD_PATA_DATA7__GPU3d_GPU_DEBUG_OUT_7 937
970MX53_PAD_PATA_DATA7__IPU_DIAG_BUS_7 938
971MX53_PAD_PATA_DATA8__PATA_DATA_8 939
972MX53_PAD_PATA_DATA8__GPIO2_8 940
973MX53_PAD_PATA_DATA8__ESDHC1_DAT4 941
974MX53_PAD_PATA_DATA8__EMI_NANDF_D_8 942
975MX53_PAD_PATA_DATA8__ESDHC3_DAT0 943
976MX53_PAD_PATA_DATA8__GPU3d_GPU_DEBUG_OUT_8 944
977MX53_PAD_PATA_DATA8__IPU_DIAG_BUS_8 945
978MX53_PAD_PATA_DATA9__PATA_DATA_9 946
979MX53_PAD_PATA_DATA9__GPIO2_9 947
980MX53_PAD_PATA_DATA9__ESDHC1_DAT5 948
981MX53_PAD_PATA_DATA9__EMI_NANDF_D_9 949
982MX53_PAD_PATA_DATA9__ESDHC3_DAT1 950
983MX53_PAD_PATA_DATA9__GPU3d_GPU_DEBUG_OUT_9 951
984MX53_PAD_PATA_DATA9__IPU_DIAG_BUS_9 952
985MX53_PAD_PATA_DATA10__PATA_DATA_10 953
986MX53_PAD_PATA_DATA10__GPIO2_10 954
987MX53_PAD_PATA_DATA10__ESDHC1_DAT6 955
988MX53_PAD_PATA_DATA10__EMI_NANDF_D_10 956
989MX53_PAD_PATA_DATA10__ESDHC3_DAT2 957
990MX53_PAD_PATA_DATA10__GPU3d_GPU_DEBUG_OUT_10 958
991MX53_PAD_PATA_DATA10__IPU_DIAG_BUS_10 959
992MX53_PAD_PATA_DATA11__PATA_DATA_11 960
993MX53_PAD_PATA_DATA11__GPIO2_11 961
994MX53_PAD_PATA_DATA11__ESDHC1_DAT7 962
995MX53_PAD_PATA_DATA11__EMI_NANDF_D_11 963
996MX53_PAD_PATA_DATA11__ESDHC3_DAT3 964
997MX53_PAD_PATA_DATA11__GPU3d_GPU_DEBUG_OUT_11 965
998MX53_PAD_PATA_DATA11__IPU_DIAG_BUS_11 966
999MX53_PAD_PATA_DATA12__PATA_DATA_12 967
1000MX53_PAD_PATA_DATA12__GPIO2_12 968
1001MX53_PAD_PATA_DATA12__ESDHC2_DAT4 969
1002MX53_PAD_PATA_DATA12__EMI_NANDF_D_12 970
1003MX53_PAD_PATA_DATA12__ESDHC4_DAT0 971
1004MX53_PAD_PATA_DATA12__GPU3d_GPU_DEBUG_OUT_12 972
1005MX53_PAD_PATA_DATA12__IPU_DIAG_BUS_12 973
1006MX53_PAD_PATA_DATA13__PATA_DATA_13 974
1007MX53_PAD_PATA_DATA13__GPIO2_13 975
1008MX53_PAD_PATA_DATA13__ESDHC2_DAT5 976
1009MX53_PAD_PATA_DATA13__EMI_NANDF_D_13 977
1010MX53_PAD_PATA_DATA13__ESDHC4_DAT1 978
1011MX53_PAD_PATA_DATA13__GPU3d_GPU_DEBUG_OUT_13 979
1012MX53_PAD_PATA_DATA13__IPU_DIAG_BUS_13 980
1013MX53_PAD_PATA_DATA14__PATA_DATA_14 981
1014MX53_PAD_PATA_DATA14__GPIO2_14 982
1015MX53_PAD_PATA_DATA14__ESDHC2_DAT6 983
1016MX53_PAD_PATA_DATA14__EMI_NANDF_D_14 984
1017MX53_PAD_PATA_DATA14__ESDHC4_DAT2 985
1018MX53_PAD_PATA_DATA14__GPU3d_GPU_DEBUG_OUT_14 986
1019MX53_PAD_PATA_DATA14__IPU_DIAG_BUS_14 987
1020MX53_PAD_PATA_DATA15__PATA_DATA_15 988
1021MX53_PAD_PATA_DATA15__GPIO2_15 989
1022MX53_PAD_PATA_DATA15__ESDHC2_DAT7 990
1023MX53_PAD_PATA_DATA15__EMI_NANDF_D_15 991
1024MX53_PAD_PATA_DATA15__ESDHC4_DAT3 992
1025MX53_PAD_PATA_DATA15__GPU3d_GPU_DEBUG_OUT_15 993
1026MX53_PAD_PATA_DATA15__IPU_DIAG_BUS_15 994
1027MX53_PAD_SD1_DATA0__ESDHC1_DAT0 995
1028MX53_PAD_SD1_DATA0__GPIO1_16 996
1029MX53_PAD_SD1_DATA0__GPT_CAPIN1 997
1030MX53_PAD_SD1_DATA0__CSPI_MISO 998
1031MX53_PAD_SD1_DATA0__CCM_PLL3_BYP 999
1032MX53_PAD_SD1_DATA1__ESDHC1_DAT1 1000
1033MX53_PAD_SD1_DATA1__GPIO1_17 1001
1034MX53_PAD_SD1_DATA1__GPT_CAPIN2 1002
1035MX53_PAD_SD1_DATA1__CSPI_SS0 1003
1036MX53_PAD_SD1_DATA1__CCM_PLL4_BYP 1004
1037MX53_PAD_SD1_CMD__ESDHC1_CMD 1005
1038MX53_PAD_SD1_CMD__GPIO1_18 1006
1039MX53_PAD_SD1_CMD__GPT_CMPOUT1 1007
1040MX53_PAD_SD1_CMD__CSPI_MOSI 1008
1041MX53_PAD_SD1_CMD__CCM_PLL1_BYP 1009
1042MX53_PAD_SD1_DATA2__ESDHC1_DAT2 1010
1043MX53_PAD_SD1_DATA2__GPIO1_19 1011
1044MX53_PAD_SD1_DATA2__GPT_CMPOUT2 1012
1045MX53_PAD_SD1_DATA2__PWM2_PWMO 1013
1046MX53_PAD_SD1_DATA2__WDOG1_WDOG_B 1014
1047MX53_PAD_SD1_DATA2__CSPI_SS1 1015
1048MX53_PAD_SD1_DATA2__WDOG1_WDOG_RST_B_DEB 1016
1049MX53_PAD_SD1_DATA2__CCM_PLL2_BYP 1017
1050MX53_PAD_SD1_CLK__ESDHC1_CLK 1018
1051MX53_PAD_SD1_CLK__GPIO1_20 1019
1052MX53_PAD_SD1_CLK__OSC32k_32K_OUT 1020
1053MX53_PAD_SD1_CLK__GPT_CLKIN 1021
1054MX53_PAD_SD1_CLK__CSPI_SCLK 1022
1055MX53_PAD_SD1_CLK__SATA_PHY_DTB_0 1023
1056MX53_PAD_SD1_DATA3__ESDHC1_DAT3 1024
1057MX53_PAD_SD1_DATA3__GPIO1_21 1025
1058MX53_PAD_SD1_DATA3__GPT_CMPOUT3 1026
1059MX53_PAD_SD1_DATA3__PWM1_PWMO 1027
1060MX53_PAD_SD1_DATA3__WDOG2_WDOG_B 1028
1061MX53_PAD_SD1_DATA3__CSPI_SS2 1029
1062MX53_PAD_SD1_DATA3__WDOG2_WDOG_RST_B_DEB 1030
1063MX53_PAD_SD1_DATA3__SATA_PHY_DTB_1 1031
1064MX53_PAD_SD2_CLK__ESDHC2_CLK 1032
1065MX53_PAD_SD2_CLK__GPIO1_10 1033
1066MX53_PAD_SD2_CLK__KPP_COL_5 1034
1067MX53_PAD_SD2_CLK__AUDMUX_AUD4_RXFS 1035
1068MX53_PAD_SD2_CLK__CSPI_SCLK 1036
1069MX53_PAD_SD2_CLK__SCC_RANDOM_V 1037
1070MX53_PAD_SD2_CMD__ESDHC2_CMD 1038
1071MX53_PAD_SD2_CMD__GPIO1_11 1039
1072MX53_PAD_SD2_CMD__KPP_ROW_5 1040
1073MX53_PAD_SD2_CMD__AUDMUX_AUD4_RXC 1041
1074MX53_PAD_SD2_CMD__CSPI_MOSI 1042
1075MX53_PAD_SD2_CMD__SCC_RANDOM 1043
1076MX53_PAD_SD2_DATA3__ESDHC2_DAT3 1044
1077MX53_PAD_SD2_DATA3__GPIO1_12 1045
1078MX53_PAD_SD2_DATA3__KPP_COL_6 1046
1079MX53_PAD_SD2_DATA3__AUDMUX_AUD4_TXC 1047
1080MX53_PAD_SD2_DATA3__CSPI_SS2 1048
1081MX53_PAD_SD2_DATA3__SJC_DONE 1049
1082MX53_PAD_SD2_DATA2__ESDHC2_DAT2 1050
1083MX53_PAD_SD2_DATA2__GPIO1_13 1051
1084MX53_PAD_SD2_DATA2__KPP_ROW_6 1052
1085MX53_PAD_SD2_DATA2__AUDMUX_AUD4_TXD 1053
1086MX53_PAD_SD2_DATA2__CSPI_SS1 1054
1087MX53_PAD_SD2_DATA2__SJC_FAIL 1055
1088MX53_PAD_SD2_DATA1__ESDHC2_DAT1 1056
1089MX53_PAD_SD2_DATA1__GPIO1_14 1057
1090MX53_PAD_SD2_DATA1__KPP_COL_7 1058
1091MX53_PAD_SD2_DATA1__AUDMUX_AUD4_TXFS 1059
1092MX53_PAD_SD2_DATA1__CSPI_SS0 1060
1093MX53_PAD_SD2_DATA1__RTIC_SEC_VIO 1061
1094MX53_PAD_SD2_DATA0__ESDHC2_DAT0 1062
1095MX53_PAD_SD2_DATA0__GPIO1_15 1063
1096MX53_PAD_SD2_DATA0__KPP_ROW_7 1064
1097MX53_PAD_SD2_DATA0__AUDMUX_AUD4_RXD 1065
1098MX53_PAD_SD2_DATA0__CSPI_MISO 1066
1099MX53_PAD_SD2_DATA0__RTIC_DONE_INT 1067
1100MX53_PAD_GPIO_0__CCM_CLKO 1068
1101MX53_PAD_GPIO_0__GPIO1_0 1069
1102MX53_PAD_GPIO_0__KPP_COL_5 1070
1103MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 1071
1104MX53_PAD_GPIO_0__EPIT1_EPITO 1072
1105MX53_PAD_GPIO_0__SRTC_ALARM_DEB 1073
1106MX53_PAD_GPIO_0__USBOH3_USBH1_PWR 1074
1107MX53_PAD_GPIO_0__CSU_TD 1075
1108MX53_PAD_GPIO_1__ESAI1_SCKR 1076
1109MX53_PAD_GPIO_1__GPIO1_1 1077
1110MX53_PAD_GPIO_1__KPP_ROW_5 1078
1111MX53_PAD_GPIO_1__CCM_SSI_EXT2_CLK 1079
1112MX53_PAD_GPIO_1__PWM2_PWMO 1080
1113MX53_PAD_GPIO_1__WDOG2_WDOG_B 1081
1114MX53_PAD_GPIO_1__ESDHC1_CD 1082
1115MX53_PAD_GPIO_1__SRC_TESTER_ACK 1083
1116MX53_PAD_GPIO_9__ESAI1_FSR 1084
1117MX53_PAD_GPIO_9__GPIO1_9 1085
1118MX53_PAD_GPIO_9__KPP_COL_6 1086
1119MX53_PAD_GPIO_9__CCM_REF_EN_B 1087
1120MX53_PAD_GPIO_9__PWM1_PWMO 1088
1121MX53_PAD_GPIO_9__WDOG1_WDOG_B 1089
1122MX53_PAD_GPIO_9__ESDHC1_WP 1090
1123MX53_PAD_GPIO_9__SCC_FAIL_STATE 1091
1124MX53_PAD_GPIO_3__ESAI1_HCKR 1092
1125MX53_PAD_GPIO_3__GPIO1_3 1093
1126MX53_PAD_GPIO_3__I2C3_SCL 1094
1127MX53_PAD_GPIO_3__DPLLIP1_TOG_EN 1095
1128MX53_PAD_GPIO_3__CCM_CLKO2 1096
1129MX53_PAD_GPIO_3__OBSERVE_MUX_OBSRV_INT_OUT0 1097
1130MX53_PAD_GPIO_3__USBOH3_USBH1_OC 1098
1131MX53_PAD_GPIO_3__MLB_MLBCLK 1099
1132MX53_PAD_GPIO_6__ESAI1_SCKT 1100
1133MX53_PAD_GPIO_6__GPIO1_6 1101
1134MX53_PAD_GPIO_6__I2C3_SDA 1102
1135MX53_PAD_GPIO_6__CCM_CCM_OUT_0 1103
1136MX53_PAD_GPIO_6__CSU_CSU_INT_DEB 1104
1137MX53_PAD_GPIO_6__OBSERVE_MUX_OBSRV_INT_OUT1 1105
1138MX53_PAD_GPIO_6__ESDHC2_LCTL 1106
1139MX53_PAD_GPIO_6__MLB_MLBSIG 1107
1140MX53_PAD_GPIO_2__ESAI1_FST 1108
1141MX53_PAD_GPIO_2__GPIO1_2 1109
1142MX53_PAD_GPIO_2__KPP_ROW_6 1110
1143MX53_PAD_GPIO_2__CCM_CCM_OUT_1 1111
1144MX53_PAD_GPIO_2__CSU_CSU_ALARM_AUT_0 1112
1145MX53_PAD_GPIO_2__OBSERVE_MUX_OBSRV_INT_OUT2 1113
1146MX53_PAD_GPIO_2__ESDHC2_WP 1114
1147MX53_PAD_GPIO_2__MLB_MLBDAT 1115
1148MX53_PAD_GPIO_4__ESAI1_HCKT 1116
1149MX53_PAD_GPIO_4__GPIO1_4 1117
1150MX53_PAD_GPIO_4__KPP_COL_7 1118
1151MX53_PAD_GPIO_4__CCM_CCM_OUT_2 1119
1152MX53_PAD_GPIO_4__CSU_CSU_ALARM_AUT_1 1120
1153MX53_PAD_GPIO_4__OBSERVE_MUX_OBSRV_INT_OUT3 1121
1154MX53_PAD_GPIO_4__ESDHC2_CD 1122
1155MX53_PAD_GPIO_4__SCC_SEC_STATE 1123
1156MX53_PAD_GPIO_5__ESAI1_TX2_RX3 1124
1157MX53_PAD_GPIO_5__GPIO1_5 1125
1158MX53_PAD_GPIO_5__KPP_ROW_7 1126
1159MX53_PAD_GPIO_5__CCM_CLKO 1127
1160MX53_PAD_GPIO_5__CSU_CSU_ALARM_AUT_2 1128
1161MX53_PAD_GPIO_5__OBSERVE_MUX_OBSRV_INT_OUT4 1129
1162MX53_PAD_GPIO_5__I2C3_SCL 1130
1163MX53_PAD_GPIO_5__CCM_PLL1_BYP 1131
1164MX53_PAD_GPIO_7__ESAI1_TX4_RX1 1132
1165MX53_PAD_GPIO_7__GPIO1_7 1133
1166MX53_PAD_GPIO_7__EPIT1_EPITO 1134
1167MX53_PAD_GPIO_7__CAN1_TXCAN 1135
1168MX53_PAD_GPIO_7__UART2_TXD_MUX 1136
1169MX53_PAD_GPIO_7__FIRI_RXD 1137
1170MX53_PAD_GPIO_7__SPDIF_PLOCK 1138
1171MX53_PAD_GPIO_7__CCM_PLL2_BYP 1139
1172MX53_PAD_GPIO_8__ESAI1_TX5_RX0 1140
1173MX53_PAD_GPIO_8__GPIO1_8 1141
1174MX53_PAD_GPIO_8__EPIT2_EPITO 1142
1175MX53_PAD_GPIO_8__CAN1_RXCAN 1143
1176MX53_PAD_GPIO_8__UART2_RXD_MUX 1144
1177MX53_PAD_GPIO_8__FIRI_TXD 1145
1178MX53_PAD_GPIO_8__SPDIF_SRCLK 1146
1179MX53_PAD_GPIO_8__CCM_PLL3_BYP 1147
1180MX53_PAD_GPIO_16__ESAI1_TX3_RX2 1148
1181MX53_PAD_GPIO_16__GPIO7_11 1149
1182MX53_PAD_GPIO_16__TZIC_PWRFAIL_INT 1150
1183MX53_PAD_GPIO_16__RTC_CE_RTC_EXT_TRIG1 1151
1184MX53_PAD_GPIO_16__SPDIF_IN1 1152
1185MX53_PAD_GPIO_16__I2C3_SDA 1153
1186MX53_PAD_GPIO_16__SJC_DE_B 1154
1187MX53_PAD_GPIO_17__ESAI1_TX0 1155
1188MX53_PAD_GPIO_17__GPIO7_12 1156
1189MX53_PAD_GPIO_17__SDMA_EXT_EVENT_0 1157
1190MX53_PAD_GPIO_17__GPC_PMIC_RDY 1158
1191MX53_PAD_GPIO_17__RTC_CE_RTC_FSV_TRIG 1159
1192MX53_PAD_GPIO_17__SPDIF_OUT1 1160
1193MX53_PAD_GPIO_17__IPU_SNOOP2 1161
1194MX53_PAD_GPIO_17__SJC_JTAG_ACT 1162
1195MX53_PAD_GPIO_18__ESAI1_TX1 1163
1196MX53_PAD_GPIO_18__GPIO7_13 1164
1197MX53_PAD_GPIO_18__SDMA_EXT_EVENT_1 1165
1198MX53_PAD_GPIO_18__OWIRE_LINE 1166
1199MX53_PAD_GPIO_18__RTC_CE_RTC_ALARM2_TRIG 1167
1200MX53_PAD_GPIO_18__CCM_ASRC_EXT_CLK 1168
1201MX53_PAD_GPIO_18__ESDHC1_LCTL 1169
1202MX53_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
3Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
4and usage.
5
6Required 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
14CONFIG bits definition:
15PAD_CTL_HYS (1 << 16)
16PAD_CTL_PUS_100K_DOWN (0 << 14)
17PAD_CTL_PUS_47K_UP (1 << 14)
18PAD_CTL_PUS_100K_UP (2 << 14)
19PAD_CTL_PUS_22K_UP (3 << 14)
20PAD_CTL_PUE (1 << 13)
21PAD_CTL_PKE (1 << 12)
22PAD_CTL_ODE (1 << 11)
23PAD_CTL_SPEED_LOW (1 << 6)
24PAD_CTL_SPEED_MED (2 << 6)
25PAD_CTL_SPEED_HIGH (3 << 6)
26PAD_CTL_DSE_DISABLE (0 << 3)
27PAD_CTL_DSE_240ohm (1 << 3)
28PAD_CTL_DSE_120ohm (2 << 3)
29PAD_CTL_DSE_80ohm (3 << 3)
30PAD_CTL_DSE_60ohm (4 << 3)
31PAD_CTL_DSE_48ohm (5 << 3)
32PAD_CTL_DSE_40ohm (6 << 3)
33PAD_CTL_DSE_34ohm (7 << 3)
34PAD_CTL_SRE_FAST (1 << 0)
35PAD_CTL_SRE_SLOW (0 << 0)
36
37See below for available PIN_FUNC_ID for imx6q:
38MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 0
39MX6Q_PAD_SD2_DAT1__ECSPI5_SS0 1
40MX6Q_PAD_SD2_DAT1__WEIM_WEIM_CS_2 2
41MX6Q_PAD_SD2_DAT1__AUDMUX_AUD4_TXFS 3
42MX6Q_PAD_SD2_DAT1__KPP_COL_7 4
43MX6Q_PAD_SD2_DAT1__GPIO_1_14 5
44MX6Q_PAD_SD2_DAT1__CCM_WAIT 6
45MX6Q_PAD_SD2_DAT1__ANATOP_TESTO_0 7
46MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 8
47MX6Q_PAD_SD2_DAT2__ECSPI5_SS1 9
48MX6Q_PAD_SD2_DAT2__WEIM_WEIM_CS_3 10
49MX6Q_PAD_SD2_DAT2__AUDMUX_AUD4_TXD 11
50MX6Q_PAD_SD2_DAT2__KPP_ROW_6 12
51MX6Q_PAD_SD2_DAT2__GPIO_1_13 13
52MX6Q_PAD_SD2_DAT2__CCM_STOP 14
53MX6Q_PAD_SD2_DAT2__ANATOP_TESTO_1 15
54MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 16
55MX6Q_PAD_SD2_DAT0__ECSPI5_MISO 17
56MX6Q_PAD_SD2_DAT0__AUDMUX_AUD4_RXD 18
57MX6Q_PAD_SD2_DAT0__KPP_ROW_7 19
58MX6Q_PAD_SD2_DAT0__GPIO_1_15 20
59MX6Q_PAD_SD2_DAT0__DCIC2_DCIC_OUT 21
60MX6Q_PAD_SD2_DAT0__TESTO_2 22
61MX6Q_PAD_RGMII_TXC__USBOH3_H2_DATA 23
62MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC 24
63MX6Q_PAD_RGMII_TXC__SPDIF_SPDIF_EXTCLK 25
64MX6Q_PAD_RGMII_TXC__GPIO_6_19 26
65MX6Q_PAD_RGMII_TXC__MIPI_CORE_DPHY_IN_0 27
66MX6Q_PAD_RGMII_TXC__ANATOP_24M_OUT 28
67MX6Q_PAD_RGMII_TD0__MIPI_HSI_CRL_TX_RDY 29
68MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0 30
69MX6Q_PAD_RGMII_TD0__GPIO_6_20 31
70MX6Q_PAD_RGMII_TD0__MIPI_CORE_DPHY_IN_1 32
71MX6Q_PAD_RGMII_TD1__MIPI_HSI_CRL_RX_FLG 33
72MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1 34
73MX6Q_PAD_RGMII_TD1__GPIO_6_21 35
74MX6Q_PAD_RGMII_TD1__MIPI_CORE_DPHY_IN_2 36
75MX6Q_PAD_RGMII_TD1__CCM_PLL3_BYP 37
76MX6Q_PAD_RGMII_TD2__MIPI_HSI_CRL_RX_DTA 38
77MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2 39
78MX6Q_PAD_RGMII_TD2__GPIO_6_22 40
79MX6Q_PAD_RGMII_TD2__MIPI_CORE_DPHY_IN_3 41
80MX6Q_PAD_RGMII_TD2__CCM_PLL2_BYP 42
81MX6Q_PAD_RGMII_TD3__MIPI_HSI_CRL_RX_WAK 43
82MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3 44
83MX6Q_PAD_RGMII_TD3__GPIO_6_23 45
84MX6Q_PAD_RGMII_TD3__MIPI_CORE_DPHY_IN_4 46
85MX6Q_PAD_RGMII_RX_CTL__USBOH3_H3_DATA 47
86MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL 48
87MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24 49
88MX6Q_PAD_RGMII_RX_CTL__MIPI_DPHY_IN_5 50
89MX6Q_PAD_RGMII_RD0__MIPI_HSI_CRL_RX_RDY 51
90MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0 52
91MX6Q_PAD_RGMII_RD0__GPIO_6_25 53
92MX6Q_PAD_RGMII_RD0__MIPI_CORE_DPHY_IN_6 54
93MX6Q_PAD_RGMII_TX_CTL__USBOH3_H2_STROBE 55
94MX6Q_PAD_RGMII_TX_CTL__RGMII_TX_CTL 56
95MX6Q_PAD_RGMII_TX_CTL__GPIO_6_26 57
96MX6Q_PAD_RGMII_TX_CTL__CORE_DPHY_IN_7 58
97MX6Q_PAD_RGMII_TX_CTL__ANATOP_REF_OUT 59
98MX6Q_PAD_RGMII_RD1__MIPI_HSI_CTRL_TX_FL 60
99MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1 61
100MX6Q_PAD_RGMII_RD1__GPIO_6_27 62
101MX6Q_PAD_RGMII_RD1__CORE_DPHY_TEST_IN_8 63
102MX6Q_PAD_RGMII_RD1__SJC_FAIL 64
103MX6Q_PAD_RGMII_RD2__MIPI_HSI_CRL_TX_DTA 65
104MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2 66
105MX6Q_PAD_RGMII_RD2__GPIO_6_28 67
106MX6Q_PAD_RGMII_RD2__MIPI_CORE_DPHY_IN_9 68
107MX6Q_PAD_RGMII_RD3__MIPI_HSI_CRL_TX_WAK 69
108MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3 70
109MX6Q_PAD_RGMII_RD3__GPIO_6_29 71
110MX6Q_PAD_RGMII_RD3__MIPI_CORE_DPHY_IN10 72
111MX6Q_PAD_RGMII_RXC__USBOH3_H3_STROBE 73
112MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC 74
113MX6Q_PAD_RGMII_RXC__GPIO_6_30 75
114MX6Q_PAD_RGMII_RXC__MIPI_CORE_DPHY_IN11 76
115MX6Q_PAD_EIM_A25__WEIM_WEIM_A_25 77
116MX6Q_PAD_EIM_A25__ECSPI4_SS1 78
117MX6Q_PAD_EIM_A25__ECSPI2_RDY 79
118MX6Q_PAD_EIM_A25__IPU1_DI1_PIN12 80
119MX6Q_PAD_EIM_A25__IPU1_DI0_D1_CS 81
120MX6Q_PAD_EIM_A25__GPIO_5_2 82
121MX6Q_PAD_EIM_A25__HDMI_TX_CEC_LINE 83
122MX6Q_PAD_EIM_A25__PL301_PER1_HBURST_0 84
123MX6Q_PAD_EIM_EB2__WEIM_WEIM_EB_2 85
124MX6Q_PAD_EIM_EB2__ECSPI1_SS0 86
125MX6Q_PAD_EIM_EB2__CCM_DI1_EXT_CLK 87
126MX6Q_PAD_EIM_EB2__IPU2_CSI1_D_19 88
127MX6Q_PAD_EIM_EB2__HDMI_TX_DDC_SCL 89
128MX6Q_PAD_EIM_EB2__GPIO_2_30 90
129MX6Q_PAD_EIM_EB2__I2C2_SCL 91
130MX6Q_PAD_EIM_EB2__SRC_BT_CFG_30 92
131MX6Q_PAD_EIM_D16__WEIM_WEIM_D_16 93
132MX6Q_PAD_EIM_D16__ECSPI1_SCLK 94
133MX6Q_PAD_EIM_D16__IPU1_DI0_PIN5 95
134MX6Q_PAD_EIM_D16__IPU2_CSI1_D_18 96
135MX6Q_PAD_EIM_D16__HDMI_TX_DDC_SDA 97
136MX6Q_PAD_EIM_D16__GPIO_3_16 98
137MX6Q_PAD_EIM_D16__I2C2_SDA 99
138MX6Q_PAD_EIM_D17__WEIM_WEIM_D_17 100
139MX6Q_PAD_EIM_D17__ECSPI1_MISO 101
140MX6Q_PAD_EIM_D17__IPU1_DI0_PIN6 102
141MX6Q_PAD_EIM_D17__IPU2_CSI1_PIXCLK 103
142MX6Q_PAD_EIM_D17__DCIC1_DCIC_OUT 104
143MX6Q_PAD_EIM_D17__GPIO_3_17 105
144MX6Q_PAD_EIM_D17__I2C3_SCL 106
145MX6Q_PAD_EIM_D17__PL301_PER1_HBURST_1 107
146MX6Q_PAD_EIM_D18__WEIM_WEIM_D_18 108
147MX6Q_PAD_EIM_D18__ECSPI1_MOSI 109
148MX6Q_PAD_EIM_D18__IPU1_DI0_PIN7 110
149MX6Q_PAD_EIM_D18__IPU2_CSI1_D_17 111
150MX6Q_PAD_EIM_D18__IPU1_DI1_D0_CS 112
151MX6Q_PAD_EIM_D18__GPIO_3_18 113
152MX6Q_PAD_EIM_D18__I2C3_SDA 114
153MX6Q_PAD_EIM_D18__PL301_PER1_HBURST_2 115
154MX6Q_PAD_EIM_D19__WEIM_WEIM_D_19 116
155MX6Q_PAD_EIM_D19__ECSPI1_SS1 117
156MX6Q_PAD_EIM_D19__IPU1_DI0_PIN8 118
157MX6Q_PAD_EIM_D19__IPU2_CSI1_D_16 119
158MX6Q_PAD_EIM_D19__UART1_CTS 120
159MX6Q_PAD_EIM_D19__GPIO_3_19 121
160MX6Q_PAD_EIM_D19__EPIT1_EPITO 122
161MX6Q_PAD_EIM_D19__PL301_PER1_HRESP 123
162MX6Q_PAD_EIM_D20__WEIM_WEIM_D_20 124
163MX6Q_PAD_EIM_D20__ECSPI4_SS0 125
164MX6Q_PAD_EIM_D20__IPU1_DI0_PIN16 126
165MX6Q_PAD_EIM_D20__IPU2_CSI1_D_15 127
166MX6Q_PAD_EIM_D20__UART1_RTS 128
167MX6Q_PAD_EIM_D20__GPIO_3_20 129
168MX6Q_PAD_EIM_D20__EPIT2_EPITO 130
169MX6Q_PAD_EIM_D21__WEIM_WEIM_D_21 131
170MX6Q_PAD_EIM_D21__ECSPI4_SCLK 132
171MX6Q_PAD_EIM_D21__IPU1_DI0_PIN17 133
172MX6Q_PAD_EIM_D21__IPU2_CSI1_D_11 134
173MX6Q_PAD_EIM_D21__USBOH3_USBOTG_OC 135
174MX6Q_PAD_EIM_D21__GPIO_3_21 136
175MX6Q_PAD_EIM_D21__I2C1_SCL 137
176MX6Q_PAD_EIM_D21__SPDIF_IN1 138
177MX6Q_PAD_EIM_D22__WEIM_WEIM_D_22 139
178MX6Q_PAD_EIM_D22__ECSPI4_MISO 140
179MX6Q_PAD_EIM_D22__IPU1_DI0_PIN1 141
180MX6Q_PAD_EIM_D22__IPU2_CSI1_D_10 142
181MX6Q_PAD_EIM_D22__USBOH3_USBOTG_PWR 143
182MX6Q_PAD_EIM_D22__GPIO_3_22 144
183MX6Q_PAD_EIM_D22__SPDIF_OUT1 145
184MX6Q_PAD_EIM_D22__PL301_PER1_HWRITE 146
185MX6Q_PAD_EIM_D23__WEIM_WEIM_D_23 147
186MX6Q_PAD_EIM_D23__IPU1_DI0_D0_CS 148
187MX6Q_PAD_EIM_D23__UART3_CTS 149
188MX6Q_PAD_EIM_D23__UART1_DCD 150
189MX6Q_PAD_EIM_D23__IPU2_CSI1_DATA_EN 151
190MX6Q_PAD_EIM_D23__GPIO_3_23 152
191MX6Q_PAD_EIM_D23__IPU1_DI1_PIN2 153
192MX6Q_PAD_EIM_D23__IPU1_DI1_PIN14 154
193MX6Q_PAD_EIM_EB3__WEIM_WEIM_EB_3 155
194MX6Q_PAD_EIM_EB3__ECSPI4_RDY 156
195MX6Q_PAD_EIM_EB3__UART3_RTS 157
196MX6Q_PAD_EIM_EB3__UART1_RI 158
197MX6Q_PAD_EIM_EB3__IPU2_CSI1_HSYNC 159
198MX6Q_PAD_EIM_EB3__GPIO_2_31 160
199MX6Q_PAD_EIM_EB3__IPU1_DI1_PIN3 161
200MX6Q_PAD_EIM_EB3__SRC_BT_CFG_31 162
201MX6Q_PAD_EIM_D24__WEIM_WEIM_D_24 163
202MX6Q_PAD_EIM_D24__ECSPI4_SS2 164
203MX6Q_PAD_EIM_D24__UART3_TXD 165
204MX6Q_PAD_EIM_D24__ECSPI1_SS2 166
205MX6Q_PAD_EIM_D24__ECSPI2_SS2 167
206MX6Q_PAD_EIM_D24__GPIO_3_24 168
207MX6Q_PAD_EIM_D24__AUDMUX_AUD5_RXFS 169
208MX6Q_PAD_EIM_D24__UART1_DTR 170
209MX6Q_PAD_EIM_D25__WEIM_WEIM_D_25 171
210MX6Q_PAD_EIM_D25__ECSPI4_SS3 172
211MX6Q_PAD_EIM_D25__UART3_RXD 173
212MX6Q_PAD_EIM_D25__ECSPI1_SS3 174
213MX6Q_PAD_EIM_D25__ECSPI2_SS3 175
214MX6Q_PAD_EIM_D25__GPIO_3_25 176
215MX6Q_PAD_EIM_D25__AUDMUX_AUD5_RXC 177
216MX6Q_PAD_EIM_D25__UART1_DSR 178
217MX6Q_PAD_EIM_D26__WEIM_WEIM_D_26 179
218MX6Q_PAD_EIM_D26__IPU1_DI1_PIN11 180
219MX6Q_PAD_EIM_D26__IPU1_CSI0_D_1 181
220MX6Q_PAD_EIM_D26__IPU2_CSI1_D_14 182
221MX6Q_PAD_EIM_D26__UART2_TXD 183
222MX6Q_PAD_EIM_D26__GPIO_3_26 184
223MX6Q_PAD_EIM_D26__IPU1_SISG_2 185
224MX6Q_PAD_EIM_D26__IPU1_DISP1_DAT_22 186
225MX6Q_PAD_EIM_D27__WEIM_WEIM_D_27 187
226MX6Q_PAD_EIM_D27__IPU1_DI1_PIN13 188
227MX6Q_PAD_EIM_D27__IPU1_CSI0_D_0 189
228MX6Q_PAD_EIM_D27__IPU2_CSI1_D_13 190
229MX6Q_PAD_EIM_D27__UART2_RXD 191
230MX6Q_PAD_EIM_D27__GPIO_3_27 192
231MX6Q_PAD_EIM_D27__IPU1_SISG_3 193
232MX6Q_PAD_EIM_D27__IPU1_DISP1_DAT_23 194
233MX6Q_PAD_EIM_D28__WEIM_WEIM_D_28 195
234MX6Q_PAD_EIM_D28__I2C1_SDA 196
235MX6Q_PAD_EIM_D28__ECSPI4_MOSI 197
236MX6Q_PAD_EIM_D28__IPU2_CSI1_D_12 198
237MX6Q_PAD_EIM_D28__UART2_CTS 199
238MX6Q_PAD_EIM_D28__GPIO_3_28 200
239MX6Q_PAD_EIM_D28__IPU1_EXT_TRIG 201
240MX6Q_PAD_EIM_D28__IPU1_DI0_PIN13 202
241MX6Q_PAD_EIM_D29__WEIM_WEIM_D_29 203
242MX6Q_PAD_EIM_D29__IPU1_DI1_PIN15 204
243MX6Q_PAD_EIM_D29__ECSPI4_SS0 205
244MX6Q_PAD_EIM_D29__UART2_RTS 206
245MX6Q_PAD_EIM_D29__GPIO_3_29 207
246MX6Q_PAD_EIM_D29__IPU2_CSI1_VSYNC 208
247MX6Q_PAD_EIM_D29__IPU1_DI0_PIN14 209
248MX6Q_PAD_EIM_D30__WEIM_WEIM_D_30 210
249MX6Q_PAD_EIM_D30__IPU1_DISP1_DAT_21 211
250MX6Q_PAD_EIM_D30__IPU1_DI0_PIN11 212
251MX6Q_PAD_EIM_D30__IPU1_CSI0_D_3 213
252MX6Q_PAD_EIM_D30__UART3_CTS 214
253MX6Q_PAD_EIM_D30__GPIO_3_30 215
254MX6Q_PAD_EIM_D30__USBOH3_USBH1_OC 216
255MX6Q_PAD_EIM_D30__PL301_PER1_HPROT_0 217
256MX6Q_PAD_EIM_D31__WEIM_WEIM_D_31 218
257MX6Q_PAD_EIM_D31__IPU1_DISP1_DAT_20 219
258MX6Q_PAD_EIM_D31__IPU1_DI0_PIN12 220
259MX6Q_PAD_EIM_D31__IPU1_CSI0_D_2 221
260MX6Q_PAD_EIM_D31__UART3_RTS 222
261MX6Q_PAD_EIM_D31__GPIO_3_31 223
262MX6Q_PAD_EIM_D31__USBOH3_USBH1_PWR 224
263MX6Q_PAD_EIM_D31__PL301_PER1_HPROT_1 225
264MX6Q_PAD_EIM_A24__WEIM_WEIM_A_24 226
265MX6Q_PAD_EIM_A24__IPU1_DISP1_DAT_19 227
266MX6Q_PAD_EIM_A24__IPU2_CSI1_D_19 228
267MX6Q_PAD_EIM_A24__IPU2_SISG_2 229
268MX6Q_PAD_EIM_A24__IPU1_SISG_2 230
269MX6Q_PAD_EIM_A24__GPIO_5_4 231
270MX6Q_PAD_EIM_A24__PL301_PER1_HPROT_2 232
271MX6Q_PAD_EIM_A24__SRC_BT_CFG_24 233
272MX6Q_PAD_EIM_A23__WEIM_WEIM_A_23 234
273MX6Q_PAD_EIM_A23__IPU1_DISP1_DAT_18 235
274MX6Q_PAD_EIM_A23__IPU2_CSI1_D_18 236
275MX6Q_PAD_EIM_A23__IPU2_SISG_3 237
276MX6Q_PAD_EIM_A23__IPU1_SISG_3 238
277MX6Q_PAD_EIM_A23__GPIO_6_6 239
278MX6Q_PAD_EIM_A23__PL301_PER1_HPROT_3 240
279MX6Q_PAD_EIM_A23__SRC_BT_CFG_23 241
280MX6Q_PAD_EIM_A22__WEIM_WEIM_A_22 242
281MX6Q_PAD_EIM_A22__IPU1_DISP1_DAT_17 243
282MX6Q_PAD_EIM_A22__IPU2_CSI1_D_17 244
283MX6Q_PAD_EIM_A22__GPIO_2_16 245
284MX6Q_PAD_EIM_A22__TPSMP_HDATA_0 246
285MX6Q_PAD_EIM_A22__SRC_BT_CFG_22 247
286MX6Q_PAD_EIM_A21__WEIM_WEIM_A_21 248
287MX6Q_PAD_EIM_A21__IPU1_DISP1_DAT_16 249
288MX6Q_PAD_EIM_A21__IPU2_CSI1_D_16 250
289MX6Q_PAD_EIM_A21__RESERVED_RESERVED 251
290MX6Q_PAD_EIM_A21__MIPI_CORE_DPHY_OUT_18 252
291MX6Q_PAD_EIM_A21__GPIO_2_17 253
292MX6Q_PAD_EIM_A21__TPSMP_HDATA_1 254
293MX6Q_PAD_EIM_A21__SRC_BT_CFG_21 255
294MX6Q_PAD_EIM_A20__WEIM_WEIM_A_20 256
295MX6Q_PAD_EIM_A20__IPU1_DISP1_DAT_15 257
296MX6Q_PAD_EIM_A20__IPU2_CSI1_D_15 258
297MX6Q_PAD_EIM_A20__RESERVED_RESERVED 259
298MX6Q_PAD_EIM_A20__MIPI_CORE_DPHY_OUT_19 260
299MX6Q_PAD_EIM_A20__GPIO_2_18 261
300MX6Q_PAD_EIM_A20__TPSMP_HDATA_2 262
301MX6Q_PAD_EIM_A20__SRC_BT_CFG_20 263
302MX6Q_PAD_EIM_A19__WEIM_WEIM_A_19 264
303MX6Q_PAD_EIM_A19__IPU1_DISP1_DAT_14 265
304MX6Q_PAD_EIM_A19__IPU2_CSI1_D_14 266
305MX6Q_PAD_EIM_A19__RESERVED_RESERVED 267
306MX6Q_PAD_EIM_A19__MIPI_CORE_DPHY_OUT_20 268
307MX6Q_PAD_EIM_A19__GPIO_2_19 269
308MX6Q_PAD_EIM_A19__TPSMP_HDATA_3 270
309MX6Q_PAD_EIM_A19__SRC_BT_CFG_19 271
310MX6Q_PAD_EIM_A18__WEIM_WEIM_A_18 272
311MX6Q_PAD_EIM_A18__IPU1_DISP1_DAT_13 273
312MX6Q_PAD_EIM_A18__IPU2_CSI1_D_13 274
313MX6Q_PAD_EIM_A18__RESERVED_RESERVED 275
314MX6Q_PAD_EIM_A18__MIPI_CORE_DPHY_OUT_21 276
315MX6Q_PAD_EIM_A18__GPIO_2_20 277
316MX6Q_PAD_EIM_A18__TPSMP_HDATA_4 278
317MX6Q_PAD_EIM_A18__SRC_BT_CFG_18 279
318MX6Q_PAD_EIM_A17__WEIM_WEIM_A_17 280
319MX6Q_PAD_EIM_A17__IPU1_DISP1_DAT_12 281
320MX6Q_PAD_EIM_A17__IPU2_CSI1_D_12 282
321MX6Q_PAD_EIM_A17__RESERVED_RESERVED 283
322MX6Q_PAD_EIM_A17__MIPI_CORE_DPHY_OUT_22 284
323MX6Q_PAD_EIM_A17__GPIO_2_21 285
324MX6Q_PAD_EIM_A17__TPSMP_HDATA_5 286
325MX6Q_PAD_EIM_A17__SRC_BT_CFG_17 287
326MX6Q_PAD_EIM_A16__WEIM_WEIM_A_16 288
327MX6Q_PAD_EIM_A16__IPU1_DI1_DISP_CLK 289
328MX6Q_PAD_EIM_A16__IPU2_CSI1_PIXCLK 290
329MX6Q_PAD_EIM_A16__MIPI_CORE_DPHY_OUT_23 291
330MX6Q_PAD_EIM_A16__GPIO_2_22 292
331MX6Q_PAD_EIM_A16__TPSMP_HDATA_6 293
332MX6Q_PAD_EIM_A16__SRC_BT_CFG_16 294
333MX6Q_PAD_EIM_CS0__WEIM_WEIM_CS_0 295
334MX6Q_PAD_EIM_CS0__IPU1_DI1_PIN5 296
335MX6Q_PAD_EIM_CS0__ECSPI2_SCLK 297
336MX6Q_PAD_EIM_CS0__MIPI_CORE_DPHY_OUT_24 298
337MX6Q_PAD_EIM_CS0__GPIO_2_23 299
338MX6Q_PAD_EIM_CS0__TPSMP_HDATA_7 300
339MX6Q_PAD_EIM_CS1__WEIM_WEIM_CS_1 301
340MX6Q_PAD_EIM_CS1__IPU1_DI1_PIN6 302
341MX6Q_PAD_EIM_CS1__ECSPI2_MOSI 303
342MX6Q_PAD_EIM_CS1__MIPI_CORE_DPHY_OUT_25 304
343MX6Q_PAD_EIM_CS1__GPIO_2_24 305
344MX6Q_PAD_EIM_CS1__TPSMP_HDATA_8 306
345MX6Q_PAD_EIM_OE__WEIM_WEIM_OE 307
346MX6Q_PAD_EIM_OE__IPU1_DI1_PIN7 308
347MX6Q_PAD_EIM_OE__ECSPI2_MISO 309
348MX6Q_PAD_EIM_OE__MIPI_CORE_DPHY_OUT_26 310
349MX6Q_PAD_EIM_OE__GPIO_2_25 311
350MX6Q_PAD_EIM_OE__TPSMP_HDATA_9 312
351MX6Q_PAD_EIM_RW__WEIM_WEIM_RW 313
352MX6Q_PAD_EIM_RW__IPU1_DI1_PIN8 314
353MX6Q_PAD_EIM_RW__ECSPI2_SS0 315
354MX6Q_PAD_EIM_RW__MIPI_CORE_DPHY_OUT_27 316
355MX6Q_PAD_EIM_RW__GPIO_2_26 317
356MX6Q_PAD_EIM_RW__TPSMP_HDATA_10 318
357MX6Q_PAD_EIM_RW__SRC_BT_CFG_29 319
358MX6Q_PAD_EIM_LBA__WEIM_WEIM_LBA 320
359MX6Q_PAD_EIM_LBA__IPU1_DI1_PIN17 321
360MX6Q_PAD_EIM_LBA__ECSPI2_SS1 322
361MX6Q_PAD_EIM_LBA__GPIO_2_27 323
362MX6Q_PAD_EIM_LBA__TPSMP_HDATA_11 324
363MX6Q_PAD_EIM_LBA__SRC_BT_CFG_26 325
364MX6Q_PAD_EIM_EB0__WEIM_WEIM_EB_0 326
365MX6Q_PAD_EIM_EB0__IPU1_DISP1_DAT_11 327
366MX6Q_PAD_EIM_EB0__IPU2_CSI1_D_11 328
367MX6Q_PAD_EIM_EB0__MIPI_CORE_DPHY_OUT_0 329
368MX6Q_PAD_EIM_EB0__CCM_PMIC_RDY 330
369MX6Q_PAD_EIM_EB0__GPIO_2_28 331
370MX6Q_PAD_EIM_EB0__TPSMP_HDATA_12 332
371MX6Q_PAD_EIM_EB0__SRC_BT_CFG_27 333
372MX6Q_PAD_EIM_EB1__WEIM_WEIM_EB_1 334
373MX6Q_PAD_EIM_EB1__IPU1_DISP1_DAT_10 335
374MX6Q_PAD_EIM_EB1__IPU2_CSI1_D_10 336
375MX6Q_PAD_EIM_EB1__MIPI_CORE_DPHY__OUT_1 337
376MX6Q_PAD_EIM_EB1__GPIO_2_29 338
377MX6Q_PAD_EIM_EB1__TPSMP_HDATA_13 339
378MX6Q_PAD_EIM_EB1__SRC_BT_CFG_28 340
379MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0 341
380MX6Q_PAD_EIM_DA0__IPU1_DISP1_DAT_9 342
381MX6Q_PAD_EIM_DA0__IPU2_CSI1_D_9 343
382MX6Q_PAD_EIM_DA0__MIPI_CORE_DPHY__OUT_2 344
383MX6Q_PAD_EIM_DA0__GPIO_3_0 345
384MX6Q_PAD_EIM_DA0__TPSMP_HDATA_14 346
385MX6Q_PAD_EIM_DA0__SRC_BT_CFG_0 347
386MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1 348
387MX6Q_PAD_EIM_DA1__IPU1_DISP1_DAT_8 349
388MX6Q_PAD_EIM_DA1__IPU2_CSI1_D_8 350
389MX6Q_PAD_EIM_DA1__MIPI_CORE_DPHY_OUT_3 351
390MX6Q_PAD_EIM_DA1__USBPHY1_TX_LS_MODE 352
391MX6Q_PAD_EIM_DA1__GPIO_3_1 353
392MX6Q_PAD_EIM_DA1__TPSMP_HDATA_15 354
393MX6Q_PAD_EIM_DA1__SRC_BT_CFG_1 355
394MX6Q_PAD_EIM_DA2__WEIM_WEIM_DA_A_2 356
395MX6Q_PAD_EIM_DA2__IPU1_DISP1_DAT_7 357
396MX6Q_PAD_EIM_DA2__IPU2_CSI1_D_7 358
397MX6Q_PAD_EIM_DA2__MIPI_CORE_DPHY_OUT_4 359
398MX6Q_PAD_EIM_DA2__USBPHY1_TX_HS_MODE 360
399MX6Q_PAD_EIM_DA2__GPIO_3_2 361
400MX6Q_PAD_EIM_DA2__TPSMP_HDATA_16 362
401MX6Q_PAD_EIM_DA2__SRC_BT_CFG_2 363
402MX6Q_PAD_EIM_DA3__WEIM_WEIM_DA_A_3 364
403MX6Q_PAD_EIM_DA3__IPU1_DISP1_DAT_6 365
404MX6Q_PAD_EIM_DA3__IPU2_CSI1_D_6 366
405MX6Q_PAD_EIM_DA3__MIPI_CORE_DPHY_OUT_5 367
406MX6Q_PAD_EIM_DA3__USBPHY1_TX_HIZ 368
407MX6Q_PAD_EIM_DA3__GPIO_3_3 369
408MX6Q_PAD_EIM_DA3__TPSMP_HDATA_17 370
409MX6Q_PAD_EIM_DA3__SRC_BT_CFG_3 371
410MX6Q_PAD_EIM_DA4__WEIM_WEIM_DA_A_4 372
411MX6Q_PAD_EIM_DA4__IPU1_DISP1_DAT_5 373
412MX6Q_PAD_EIM_DA4__IPU2_CSI1_D_5 374
413MX6Q_PAD_EIM_DA4__MIPI_CORE_DPHY_OUT_6 375
414MX6Q_PAD_EIM_DA4__ANATOP_USBPHY1_TX_EN 376
415MX6Q_PAD_EIM_DA4__GPIO_3_4 377
416MX6Q_PAD_EIM_DA4__TPSMP_HDATA_18 378
417MX6Q_PAD_EIM_DA4__SRC_BT_CFG_4 379
418MX6Q_PAD_EIM_DA5__WEIM_WEIM_DA_A_5 380
419MX6Q_PAD_EIM_DA5__IPU1_DISP1_DAT_4 381
420MX6Q_PAD_EIM_DA5__IPU2_CSI1_D_4 382
421MX6Q_PAD_EIM_DA5__MIPI_CORE_DPHY_OUT_7 383
422MX6Q_PAD_EIM_DA5__ANATOP_USBPHY1_TX_DP 384
423MX6Q_PAD_EIM_DA5__GPIO_3_5 385
424MX6Q_PAD_EIM_DA5__TPSMP_HDATA_19 386
425MX6Q_PAD_EIM_DA5__SRC_BT_CFG_5 387
426MX6Q_PAD_EIM_DA6__WEIM_WEIM_DA_A_6 388
427MX6Q_PAD_EIM_DA6__IPU1_DISP1_DAT_3 389
428MX6Q_PAD_EIM_DA6__IPU2_CSI1_D_3 390
429MX6Q_PAD_EIM_DA6__MIPI_CORE_DPHY_OUT_8 391
430MX6Q_PAD_EIM_DA6__ANATOP_USBPHY1_TX_DN 392
431MX6Q_PAD_EIM_DA6__GPIO_3_6 393
432MX6Q_PAD_EIM_DA6__TPSMP_HDATA_20 394
433MX6Q_PAD_EIM_DA6__SRC_BT_CFG_6 395
434MX6Q_PAD_EIM_DA7__WEIM_WEIM_DA_A_7 396
435MX6Q_PAD_EIM_DA7__IPU1_DISP1_DAT_2 397
436MX6Q_PAD_EIM_DA7__IPU2_CSI1_D_2 398
437MX6Q_PAD_EIM_DA7__MIPI_CORE_DPHY_OUT_9 399
438MX6Q_PAD_EIM_DA7__GPIO_3_7 400
439MX6Q_PAD_EIM_DA7__TPSMP_HDATA_21 401
440MX6Q_PAD_EIM_DA7__SRC_BT_CFG_7 402
441MX6Q_PAD_EIM_DA8__WEIM_WEIM_DA_A_8 403
442MX6Q_PAD_EIM_DA8__IPU1_DISP1_DAT_1 404
443MX6Q_PAD_EIM_DA8__IPU2_CSI1_D_1 405
444MX6Q_PAD_EIM_DA8__MIPI_CORE_DPHY_OUT_10 406
445MX6Q_PAD_EIM_DA8__GPIO_3_8 407
446MX6Q_PAD_EIM_DA8__TPSMP_HDATA_22 408
447MX6Q_PAD_EIM_DA8__SRC_BT_CFG_8 409
448MX6Q_PAD_EIM_DA9__WEIM_WEIM_DA_A_9 410
449MX6Q_PAD_EIM_DA9__IPU1_DISP1_DAT_0 411
450MX6Q_PAD_EIM_DA9__IPU2_CSI1_D_0 412
451MX6Q_PAD_EIM_DA9__MIPI_CORE_DPHY_OUT_11 413
452MX6Q_PAD_EIM_DA9__GPIO_3_9 414
453MX6Q_PAD_EIM_DA9__TPSMP_HDATA_23 415
454MX6Q_PAD_EIM_DA9__SRC_BT_CFG_9 416
455MX6Q_PAD_EIM_DA10__WEIM_WEIM_DA_A_10 417
456MX6Q_PAD_EIM_DA10__IPU1_DI1_PIN15 418
457MX6Q_PAD_EIM_DA10__IPU2_CSI1_DATA_EN 419
458MX6Q_PAD_EIM_DA10__MIPI_CORE_DPHY_OUT12 420
459MX6Q_PAD_EIM_DA10__GPIO_3_10 421
460MX6Q_PAD_EIM_DA10__TPSMP_HDATA_24 422
461MX6Q_PAD_EIM_DA10__SRC_BT_CFG_10 423
462MX6Q_PAD_EIM_DA11__WEIM_WEIM_DA_A_11 424
463MX6Q_PAD_EIM_DA11__IPU1_DI1_PIN2 425
464MX6Q_PAD_EIM_DA11__IPU2_CSI1_HSYNC 426
465MX6Q_PAD_EIM_DA11__MIPI_CORE_DPHY_OUT13 427
466MX6Q_PAD_EIM_DA11__SDMA_DBG_EVT_CHN_6 428
467MX6Q_PAD_EIM_DA11__GPIO_3_11 429
468MX6Q_PAD_EIM_DA11__TPSMP_HDATA_25 430
469MX6Q_PAD_EIM_DA11__SRC_BT_CFG_11 431
470MX6Q_PAD_EIM_DA12__WEIM_WEIM_DA_A_12 432
471MX6Q_PAD_EIM_DA12__IPU1_DI1_PIN3 433
472MX6Q_PAD_EIM_DA12__IPU2_CSI1_VSYNC 434
473MX6Q_PAD_EIM_DA12__MIPI_CORE_DPHY_OUT14 435
474MX6Q_PAD_EIM_DA12__SDMA_DEBUG_EVT_CHN_3 436
475MX6Q_PAD_EIM_DA12__GPIO_3_12 437
476MX6Q_PAD_EIM_DA12__TPSMP_HDATA_26 438
477MX6Q_PAD_EIM_DA12__SRC_BT_CFG_12 439
478MX6Q_PAD_EIM_DA13__WEIM_WEIM_DA_A_13 440
479MX6Q_PAD_EIM_DA13__IPU1_DI1_D0_CS 441
480MX6Q_PAD_EIM_DA13__CCM_DI1_EXT_CLK 442
481MX6Q_PAD_EIM_DA13__MIPI_CORE_DPHY_OUT15 443
482MX6Q_PAD_EIM_DA13__SDMA_DEBUG_EVT_CHN_4 444
483MX6Q_PAD_EIM_DA13__GPIO_3_13 445
484MX6Q_PAD_EIM_DA13__TPSMP_HDATA_27 446
485MX6Q_PAD_EIM_DA13__SRC_BT_CFG_13 447
486MX6Q_PAD_EIM_DA14__WEIM_WEIM_DA_A_14 448
487MX6Q_PAD_EIM_DA14__IPU1_DI1_D1_CS 449
488MX6Q_PAD_EIM_DA14__CCM_DI0_EXT_CLK 450
489MX6Q_PAD_EIM_DA14__MIPI_CORE_DPHY_OUT16 451
490MX6Q_PAD_EIM_DA14__SDMA_DEBUG_EVT_CHN_5 452
491MX6Q_PAD_EIM_DA14__GPIO_3_14 453
492MX6Q_PAD_EIM_DA14__TPSMP_HDATA_28 454
493MX6Q_PAD_EIM_DA14__SRC_BT_CFG_14 455
494MX6Q_PAD_EIM_DA15__WEIM_WEIM_DA_A_15 456
495MX6Q_PAD_EIM_DA15__IPU1_DI1_PIN1 457
496MX6Q_PAD_EIM_DA15__IPU1_DI1_PIN4 458
497MX6Q_PAD_EIM_DA15__MIPI_CORE_DPHY_OUT17 459
498MX6Q_PAD_EIM_DA15__GPIO_3_15 460
499MX6Q_PAD_EIM_DA15__TPSMP_HDATA_29 461
500MX6Q_PAD_EIM_DA15__SRC_BT_CFG_15 462
501MX6Q_PAD_EIM_WAIT__WEIM_WEIM_WAIT 463
502MX6Q_PAD_EIM_WAIT__WEIM_WEIM_DTACK_B 464
503MX6Q_PAD_EIM_WAIT__GPIO_5_0 465
504MX6Q_PAD_EIM_WAIT__TPSMP_HDATA_30 466
505MX6Q_PAD_EIM_WAIT__SRC_BT_CFG_25 467
506MX6Q_PAD_EIM_BCLK__WEIM_WEIM_BCLK 468
507MX6Q_PAD_EIM_BCLK__IPU1_DI1_PIN16 469
508MX6Q_PAD_EIM_BCLK__GPIO_6_31 470
509MX6Q_PAD_EIM_BCLK__TPSMP_HDATA_31 471
510MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DSP_CLK 472
511MX6Q_PAD_DI0_DISP_CLK__IPU2_DI0_DSP_CLK 473
512MX6Q_PAD_DI0_DISP_CLK__MIPI_CR_DPY_OT28 474
513MX6Q_PAD_DI0_DISP_CLK__SDMA_DBG_CR_STA0 475
514MX6Q_PAD_DI0_DISP_CLK__GPIO_4_16 476
515MX6Q_PAD_DI0_DISP_CLK__MMDC_DEBUG_0 477
516MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15 478
517MX6Q_PAD_DI0_PIN15__IPU2_DI0_PIN15 479
518MX6Q_PAD_DI0_PIN15__AUDMUX_AUD6_TXC 480
519MX6Q_PAD_DI0_PIN15__MIPI_CR_DPHY_OUT_29 481
520MX6Q_PAD_DI0_PIN15__SDMA_DBG_CORE_STA_1 482
521MX6Q_PAD_DI0_PIN15__GPIO_4_17 483
522MX6Q_PAD_DI0_PIN15__MMDC_MMDC_DEBUG_1 484
523MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2 485
524MX6Q_PAD_DI0_PIN2__IPU2_DI0_PIN2 486
525MX6Q_PAD_DI0_PIN2__AUDMUX_AUD6_TXD 487
526MX6Q_PAD_DI0_PIN2__MIPI_CR_DPHY_OUT_30 488
527MX6Q_PAD_DI0_PIN2__SDMA_DBG_CORE_STA_2 489
528MX6Q_PAD_DI0_PIN2__GPIO_4_18 490
529MX6Q_PAD_DI0_PIN2__MMDC_DEBUG_2 491
530MX6Q_PAD_DI0_PIN2__PL301_PER1_HADDR_9 492
531MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3 493
532MX6Q_PAD_DI0_PIN3__IPU2_DI0_PIN3 494
533MX6Q_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS 495
534MX6Q_PAD_DI0_PIN3__MIPI_CORE_DPHY_OUT31 496
535MX6Q_PAD_DI0_PIN3__SDMA_DBG_CORE_STA_3 497
536MX6Q_PAD_DI0_PIN3__GPIO_4_19 498
537MX6Q_PAD_DI0_PIN3__MMDC_MMDC_DEBUG_3 499
538MX6Q_PAD_DI0_PIN3__PL301_PER1_HADDR_10 500
539MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4 501
540MX6Q_PAD_DI0_PIN4__IPU2_DI0_PIN4 502
541MX6Q_PAD_DI0_PIN4__AUDMUX_AUD6_RXD 503
542MX6Q_PAD_DI0_PIN4__USDHC1_WP 504
543MX6Q_PAD_DI0_PIN4__SDMA_DEBUG_YIELD 505
544MX6Q_PAD_DI0_PIN4__GPIO_4_20 506
545MX6Q_PAD_DI0_PIN4__MMDC_MMDC_DEBUG_4 507
546MX6Q_PAD_DI0_PIN4__PL301_PER1_HADDR_11 508
547MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0 509
548MX6Q_PAD_DISP0_DAT0__IPU2_DISP0_DAT_0 510
549MX6Q_PAD_DISP0_DAT0__ECSPI3_SCLK 511
550MX6Q_PAD_DISP0_DAT0__USDHC1_USDHC_DBG_0 512
551MX6Q_PAD_DISP0_DAT0__SDMA_DBG_CORE_RUN 513
552MX6Q_PAD_DISP0_DAT0__GPIO_4_21 514
553MX6Q_PAD_DISP0_DAT0__MMDC_MMDC_DEBUG_5 515
554MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1 516
555MX6Q_PAD_DISP0_DAT1__IPU2_DISP0_DAT_1 517
556MX6Q_PAD_DISP0_DAT1__ECSPI3_MOSI 518
557MX6Q_PAD_DISP0_DAT1__USDHC1_USDHC_DBG_1 519
558MX6Q_PAD_DISP0_DAT1__SDMA_DBG_EVT_CHNSL 520
559MX6Q_PAD_DISP0_DAT1__GPIO_4_22 521
560MX6Q_PAD_DISP0_DAT1__MMDC_DEBUG_6 522
561MX6Q_PAD_DISP0_DAT1__PL301_PER1_HADR_12 523
562MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2 524
563MX6Q_PAD_DISP0_DAT2__IPU2_DISP0_DAT_2 525
564MX6Q_PAD_DISP0_DAT2__ECSPI3_MISO 526
565MX6Q_PAD_DISP0_DAT2__USDHC1_USDHC_DBG_2 527
566MX6Q_PAD_DISP0_DAT2__SDMA_DEBUG_MODE 528
567MX6Q_PAD_DISP0_DAT2__GPIO_4_23 529
568MX6Q_PAD_DISP0_DAT2__MMDC_DEBUG_7 530
569MX6Q_PAD_DISP0_DAT2__PL301_PER1_HADR_13 531
570MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3 532
571MX6Q_PAD_DISP0_DAT3__IPU2_DISP0_DAT_3 533
572MX6Q_PAD_DISP0_DAT3__ECSPI3_SS0 534
573MX6Q_PAD_DISP0_DAT3__USDHC1_USDHC_DBG_3 535
574MX6Q_PAD_DISP0_DAT3__SDMA_DBG_BUS_ERROR 536
575MX6Q_PAD_DISP0_DAT3__GPIO_4_24 537
576MX6Q_PAD_DISP0_DAT3__MMDC_MMDC_DBG_8 538
577MX6Q_PAD_DISP0_DAT3__PL301_PER1_HADR_14 539
578MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4 540
579MX6Q_PAD_DISP0_DAT4__IPU2_DISP0_DAT_4 541
580MX6Q_PAD_DISP0_DAT4__ECSPI3_SS1 542
581MX6Q_PAD_DISP0_DAT4__USDHC1_USDHC_DBG_4 543
582MX6Q_PAD_DISP0_DAT4__SDMA_DEBUG_BUS_RWB 544
583MX6Q_PAD_DISP0_DAT4__GPIO_4_25 545
584MX6Q_PAD_DISP0_DAT4__MMDC_MMDC_DEBUG_9 546
585MX6Q_PAD_DISP0_DAT4__PL301_PER1_HADR_15 547
586MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5 548
587MX6Q_PAD_DISP0_DAT5__IPU2_DISP0_DAT_5 549
588MX6Q_PAD_DISP0_DAT5__ECSPI3_SS2 550
589MX6Q_PAD_DISP0_DAT5__AUDMUX_AUD6_RXFS 551
590MX6Q_PAD_DISP0_DAT5__SDMA_DBG_MCH_DMBUS 552
591MX6Q_PAD_DISP0_DAT5__GPIO_4_26 553
592MX6Q_PAD_DISP0_DAT5__MMDC_DEBUG_10 554
593MX6Q_PAD_DISP0_DAT5__PL301_PER1_HADR_16 555
594MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6 556
595MX6Q_PAD_DISP0_DAT6__IPU2_DISP0_DAT_6 557
596MX6Q_PAD_DISP0_DAT6__ECSPI3_SS3 558
597MX6Q_PAD_DISP0_DAT6__AUDMUX_AUD6_RXC 559
598MX6Q_PAD_DISP0_DAT6__SDMA_DBG_RTBUF_WRT 560
599MX6Q_PAD_DISP0_DAT6__GPIO_4_27 561
600MX6Q_PAD_DISP0_DAT6__MMDC_DEBUG_11 562
601MX6Q_PAD_DISP0_DAT6__PL301_PER1_HADR_17 563
602MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7 564
603MX6Q_PAD_DISP0_DAT7__IPU2_DISP0_DAT_7 565
604MX6Q_PAD_DISP0_DAT7__ECSPI3_RDY 566
605MX6Q_PAD_DISP0_DAT7__USDHC1_USDHC_DBG_5 567
606MX6Q_PAD_DISP0_DAT7__SDMA_DBG_EVT_CHN_0 568
607MX6Q_PAD_DISP0_DAT7__GPIO_4_28 569
608MX6Q_PAD_DISP0_DAT7__MMDC_DEBUG_12 570
609MX6Q_PAD_DISP0_DAT7__PL301_PER1_HADR_18 571
610MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8 572
611MX6Q_PAD_DISP0_DAT8__IPU2_DISP0_DAT_8 573
612MX6Q_PAD_DISP0_DAT8__PWM1_PWMO 574
613MX6Q_PAD_DISP0_DAT8__WDOG1_WDOG_B 575
614MX6Q_PAD_DISP0_DAT8__SDMA_DBG_EVT_CHN_1 576
615MX6Q_PAD_DISP0_DAT8__GPIO_4_29 577
616MX6Q_PAD_DISP0_DAT8__MMDC_DEBUG_13 578
617MX6Q_PAD_DISP0_DAT8__PL301_PER1_HADR_19 579
618MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9 580
619MX6Q_PAD_DISP0_DAT9__IPU2_DISP0_DAT_9 581
620MX6Q_PAD_DISP0_DAT9__PWM2_PWMO 582
621MX6Q_PAD_DISP0_DAT9__WDOG2_WDOG_B 583
622MX6Q_PAD_DISP0_DAT9__SDMA_DBG_EVT_CHN_2 584
623MX6Q_PAD_DISP0_DAT9__GPIO_4_30 585
624MX6Q_PAD_DISP0_DAT9__MMDC_DEBUG_14 586
625MX6Q_PAD_DISP0_DAT9__PL301_PER1_HADR_20 587
626MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10 588
627MX6Q_PAD_DISP0_DAT10__IPU2_DISP0_DAT_10 589
628MX6Q_PAD_DISP0_DAT10__USDHC1_DBG_6 590
629MX6Q_PAD_DISP0_DAT10__SDMA_DBG_EVT_CHN3 591
630MX6Q_PAD_DISP0_DAT10__GPIO_4_31 592
631MX6Q_PAD_DISP0_DAT10__MMDC_DEBUG_15 593
632MX6Q_PAD_DISP0_DAT10__PL301_PER1_HADR21 594
633MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11 595
634MX6Q_PAD_DISP0_DAT11__IPU2_DISP0_DAT_11 596
635MX6Q_PAD_DISP0_DAT11__USDHC1_USDHC_DBG7 597
636MX6Q_PAD_DISP0_DAT11__SDMA_DBG_EVT_CHN4 598
637MX6Q_PAD_DISP0_DAT11__GPIO_5_5 599
638MX6Q_PAD_DISP0_DAT11__MMDC_DEBUG_16 600
639MX6Q_PAD_DISP0_DAT11__PL301_PER1_HADR22 601
640MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12 602
641MX6Q_PAD_DISP0_DAT12__IPU2_DISP0_DAT_12 603
642MX6Q_PAD_DISP0_DAT12__RESERVED_RESERVED 604
643MX6Q_PAD_DISP0_DAT12__SDMA_DBG_EVT_CHN5 605
644MX6Q_PAD_DISP0_DAT12__GPIO_5_6 606
645MX6Q_PAD_DISP0_DAT12__MMDC_DEBUG_17 607
646MX6Q_PAD_DISP0_DAT12__PL301_PER1_HADR23 608
647MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13 609
648MX6Q_PAD_DISP0_DAT13__IPU2_DISP0_DAT_13 610
649MX6Q_PAD_DISP0_DAT13__AUDMUX_AUD5_RXFS 611
650MX6Q_PAD_DISP0_DAT13__SDMA_DBG_EVT_CHN0 612
651MX6Q_PAD_DISP0_DAT13__GPIO_5_7 613
652MX6Q_PAD_DISP0_DAT13__MMDC_DEBUG_18 614
653MX6Q_PAD_DISP0_DAT13__PL301_PER1_HADR24 615
654MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14 616
655MX6Q_PAD_DISP0_DAT14__IPU2_DISP0_DAT_14 617
656MX6Q_PAD_DISP0_DAT14__AUDMUX_AUD5_RXC 618
657MX6Q_PAD_DISP0_DAT14__SDMA_DBG_EVT_CHN1 619
658MX6Q_PAD_DISP0_DAT14__GPIO_5_8 620
659MX6Q_PAD_DISP0_DAT14__MMDC_DEBUG_19 621
660MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15 622
661MX6Q_PAD_DISP0_DAT15__IPU2_DISP0_DAT_15 623
662MX6Q_PAD_DISP0_DAT15__ECSPI1_SS1 624
663MX6Q_PAD_DISP0_DAT15__ECSPI2_SS1 625
664MX6Q_PAD_DISP0_DAT15__SDMA_DBG_EVT_CHN2 626
665MX6Q_PAD_DISP0_DAT15__GPIO_5_9 627
666MX6Q_PAD_DISP0_DAT15__MMDC_DEBUG_20 628
667MX6Q_PAD_DISP0_DAT15__PL301_PER1_HADR25 629
668MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16 630
669MX6Q_PAD_DISP0_DAT16__IPU2_DISP0_DAT_16 631
670MX6Q_PAD_DISP0_DAT16__ECSPI2_MOSI 632
671MX6Q_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC 633
672MX6Q_PAD_DISP0_DAT16__SDMA_EXT_EVENT_0 634
673MX6Q_PAD_DISP0_DAT16__GPIO_5_10 635
674MX6Q_PAD_DISP0_DAT16__MMDC_DEBUG_21 636
675MX6Q_PAD_DISP0_DAT16__PL301_PER1_HADR26 637
676MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17 638
677MX6Q_PAD_DISP0_DAT17__IPU2_DISP0_DAT_17 639
678MX6Q_PAD_DISP0_DAT17__ECSPI2_MISO 640
679MX6Q_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD 641
680MX6Q_PAD_DISP0_DAT17__SDMA_EXT_EVENT_1 642
681MX6Q_PAD_DISP0_DAT17__GPIO_5_11 643
682MX6Q_PAD_DISP0_DAT17__MMDC_DEBUG_22 644
683MX6Q_PAD_DISP0_DAT17__PL301_PER1_HADR27 645
684MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18 646
685MX6Q_PAD_DISP0_DAT18__IPU2_DISP0_DAT_18 647
686MX6Q_PAD_DISP0_DAT18__ECSPI2_SS0 648
687MX6Q_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS 649
688MX6Q_PAD_DISP0_DAT18__AUDMUX_AUD4_RXFS 650
689MX6Q_PAD_DISP0_DAT18__GPIO_5_12 651
690MX6Q_PAD_DISP0_DAT18__MMDC_DEBUG_23 652
691MX6Q_PAD_DISP0_DAT18__WEIM_WEIM_CS_2 653
692MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19 654
693MX6Q_PAD_DISP0_DAT19__IPU2_DISP0_DAT_19 655
694MX6Q_PAD_DISP0_DAT19__ECSPI2_SCLK 656
695MX6Q_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD 657
696MX6Q_PAD_DISP0_DAT19__AUDMUX_AUD4_RXC 658
697MX6Q_PAD_DISP0_DAT19__GPIO_5_13 659
698MX6Q_PAD_DISP0_DAT19__MMDC_DEBUG_24 660
699MX6Q_PAD_DISP0_DAT19__WEIM_WEIM_CS_3 661
700MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20 662
701MX6Q_PAD_DISP0_DAT20__IPU2_DISP0_DAT_20 663
702MX6Q_PAD_DISP0_DAT20__ECSPI1_SCLK 664
703MX6Q_PAD_DISP0_DAT20__AUDMUX_AUD4_TXC 665
704MX6Q_PAD_DISP0_DAT20__SDMA_DBG_EVT_CHN7 666
705MX6Q_PAD_DISP0_DAT20__GPIO_5_14 667
706MX6Q_PAD_DISP0_DAT20__MMDC_DEBUG_25 668
707MX6Q_PAD_DISP0_DAT20__PL301_PER1_HADR28 669
708MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21 670
709MX6Q_PAD_DISP0_DAT21__IPU2_DISP0_DAT_21 671
710MX6Q_PAD_DISP0_DAT21__ECSPI1_MOSI 672
711MX6Q_PAD_DISP0_DAT21__AUDMUX_AUD4_TXD 673
712MX6Q_PAD_DISP0_DAT21__SDMA_DBG_BUS_DEV0 674
713MX6Q_PAD_DISP0_DAT21__GPIO_5_15 675
714MX6Q_PAD_DISP0_DAT21__MMDC_DEBUG_26 676
715MX6Q_PAD_DISP0_DAT21__PL301_PER1_HADR29 677
716MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22 678
717MX6Q_PAD_DISP0_DAT22__IPU2_DISP0_DAT_22 679
718MX6Q_PAD_DISP0_DAT22__ECSPI1_MISO 680
719MX6Q_PAD_DISP0_DAT22__AUDMUX_AUD4_TXFS 681
720MX6Q_PAD_DISP0_DAT22__SDMA_DBG_BUS_DEV1 682
721MX6Q_PAD_DISP0_DAT22__GPIO_5_16 683
722MX6Q_PAD_DISP0_DAT22__MMDC_DEBUG_27 684
723MX6Q_PAD_DISP0_DAT22__PL301_PER1_HADR30 685
724MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23 686
725MX6Q_PAD_DISP0_DAT23__IPU2_DISP0_DAT_23 687
726MX6Q_PAD_DISP0_DAT23__ECSPI1_SS0 688
727MX6Q_PAD_DISP0_DAT23__AUDMUX_AUD4_RXD 689
728MX6Q_PAD_DISP0_DAT23__SDMA_DBG_BUS_DEV2 690
729MX6Q_PAD_DISP0_DAT23__GPIO_5_17 691
730MX6Q_PAD_DISP0_DAT23__MMDC_DEBUG_28 692
731MX6Q_PAD_DISP0_DAT23__PL301_PER1_HADR31 693
732MX6Q_PAD_ENET_MDIO__RESERVED_RESERVED 694
733MX6Q_PAD_ENET_MDIO__ENET_MDIO 695
734MX6Q_PAD_ENET_MDIO__ESAI1_SCKR 696
735MX6Q_PAD_ENET_MDIO__SDMA_DEBUG_BUS_DEV3 697
736MX6Q_PAD_ENET_MDIO__ENET_1588_EVT1_OUT 698
737MX6Q_PAD_ENET_MDIO__GPIO_1_22 699
738MX6Q_PAD_ENET_MDIO__SPDIF_PLOCK 700
739MX6Q_PAD_ENET_REF_CLK__RESERVED_RSRVED 701
740MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK 702
741MX6Q_PAD_ENET_REF_CLK__ESAI1_FSR 703
742MX6Q_PAD_ENET_REF_CLK__SDMA_DBGBUS_DEV4 704
743MX6Q_PAD_ENET_REF_CLK__GPIO_1_23 705
744MX6Q_PAD_ENET_REF_CLK__SPDIF_SRCLK 706
745MX6Q_PAD_ENET_REF_CLK__USBPHY1_RX_SQH 707
746MX6Q_PAD_ENET_RX_ER__ENET_RX_ER 708
747MX6Q_PAD_ENET_RX_ER__ESAI1_HCKR 709
748MX6Q_PAD_ENET_RX_ER__SPDIF_IN1 710
749MX6Q_PAD_ENET_RX_ER__ENET_1588_EVT2_OUT 711
750MX6Q_PAD_ENET_RX_ER__GPIO_1_24 712
751MX6Q_PAD_ENET_RX_ER__PHY_TDI 713
752MX6Q_PAD_ENET_RX_ER__USBPHY1_RX_HS_RXD 714
753MX6Q_PAD_ENET_CRS_DV__RESERVED_RSRVED 715
754MX6Q_PAD_ENET_CRS_DV__ENET_RX_EN 716
755MX6Q_PAD_ENET_CRS_DV__ESAI1_SCKT 717
756MX6Q_PAD_ENET_CRS_DV__SPDIF_EXTCLK 718
757MX6Q_PAD_ENET_CRS_DV__GPIO_1_25 719
758MX6Q_PAD_ENET_CRS_DV__PHY_TDO 720
759MX6Q_PAD_ENET_CRS_DV__USBPHY1_RX_FS_RXD 721
760MX6Q_PAD_ENET_RXD1__MLB_MLBSIG 722
761MX6Q_PAD_ENET_RXD1__ENET_RDATA_1 723
762MX6Q_PAD_ENET_RXD1__ESAI1_FST 724
763MX6Q_PAD_ENET_RXD1__ENET_1588_EVT3_OUT 725
764MX6Q_PAD_ENET_RXD1__GPIO_1_26 726
765MX6Q_PAD_ENET_RXD1__PHY_TCK 727
766MX6Q_PAD_ENET_RXD1__USBPHY1_RX_DISCON 728
767MX6Q_PAD_ENET_RXD0__OSC32K_32K_OUT 729
768MX6Q_PAD_ENET_RXD0__ENET_RDATA_0 730
769MX6Q_PAD_ENET_RXD0__ESAI1_HCKT 731
770MX6Q_PAD_ENET_RXD0__SPDIF_OUT1 732
771MX6Q_PAD_ENET_RXD0__GPIO_1_27 733
772MX6Q_PAD_ENET_RXD0__PHY_TMS 734
773MX6Q_PAD_ENET_RXD0__USBPHY1_PLL_CK20DIV 735
774MX6Q_PAD_ENET_TX_EN__RESERVED_RSRVED 736
775MX6Q_PAD_ENET_TX_EN__ENET_TX_EN 737
776MX6Q_PAD_ENET_TX_EN__ESAI1_TX3_RX2 738
777MX6Q_PAD_ENET_TX_EN__GPIO_1_28 739
778MX6Q_PAD_ENET_TX_EN__SATA_PHY_TDI 740
779MX6Q_PAD_ENET_TX_EN__USBPHY2_RX_SQH 741
780MX6Q_PAD_ENET_TXD1__MLB_MLBCLK 742
781MX6Q_PAD_ENET_TXD1__ENET_TDATA_1 743
782MX6Q_PAD_ENET_TXD1__ESAI1_TX2_RX3 744
783MX6Q_PAD_ENET_TXD1__ENET_1588_EVENT0_IN 745
784MX6Q_PAD_ENET_TXD1__GPIO_1_29 746
785MX6Q_PAD_ENET_TXD1__SATA_PHY_TDO 747
786MX6Q_PAD_ENET_TXD1__USBPHY2_RX_HS_RXD 748
787MX6Q_PAD_ENET_TXD0__RESERVED_RSRVED 749
788MX6Q_PAD_ENET_TXD0__ENET_TDATA_0 750
789MX6Q_PAD_ENET_TXD0__ESAI1_TX4_RX1 751
790MX6Q_PAD_ENET_TXD0__GPIO_1_30 752
791MX6Q_PAD_ENET_TXD0__SATA_PHY_TCK 753
792MX6Q_PAD_ENET_TXD0__USBPHY2_RX_FS_RXD 754
793MX6Q_PAD_ENET_MDC__MLB_MLBDAT 755
794MX6Q_PAD_ENET_MDC__ENET_MDC 756
795MX6Q_PAD_ENET_MDC__ESAI1_TX5_RX0 757
796MX6Q_PAD_ENET_MDC__ENET_1588_EVENT1_IN 758
797MX6Q_PAD_ENET_MDC__GPIO_1_31 759
798MX6Q_PAD_ENET_MDC__SATA_PHY_TMS 760
799MX6Q_PAD_ENET_MDC__USBPHY2_RX_DISCON 761
800MX6Q_PAD_DRAM_D40__MMDC_DRAM_D_40 762
801MX6Q_PAD_DRAM_D41__MMDC_DRAM_D_41 763
802MX6Q_PAD_DRAM_D42__MMDC_DRAM_D_42 764
803MX6Q_PAD_DRAM_D43__MMDC_DRAM_D_43 765
804MX6Q_PAD_DRAM_D44__MMDC_DRAM_D_44 766
805MX6Q_PAD_DRAM_D45__MMDC_DRAM_D_45 767
806MX6Q_PAD_DRAM_D46__MMDC_DRAM_D_46 768
807MX6Q_PAD_DRAM_D47__MMDC_DRAM_D_47 769
808MX6Q_PAD_DRAM_SDQS5__MMDC_DRAM_SDQS_5 770
809MX6Q_PAD_DRAM_DQM5__MMDC_DRAM_DQM_5 771
810MX6Q_PAD_DRAM_D32__MMDC_DRAM_D_32 772
811MX6Q_PAD_DRAM_D33__MMDC_DRAM_D_33 773
812MX6Q_PAD_DRAM_D34__MMDC_DRAM_D_34 774
813MX6Q_PAD_DRAM_D35__MMDC_DRAM_D_35 775
814MX6Q_PAD_DRAM_D36__MMDC_DRAM_D_36 776
815MX6Q_PAD_DRAM_D37__MMDC_DRAM_D_37 777
816MX6Q_PAD_DRAM_D38__MMDC_DRAM_D_38 778
817MX6Q_PAD_DRAM_D39__MMDC_DRAM_D_39 779
818MX6Q_PAD_DRAM_DQM4__MMDC_DRAM_DQM_4 780
819MX6Q_PAD_DRAM_SDQS4__MMDC_DRAM_SDQS_4 781
820MX6Q_PAD_DRAM_D24__MMDC_DRAM_D_24 782
821MX6Q_PAD_DRAM_D25__MMDC_DRAM_D_25 783
822MX6Q_PAD_DRAM_D26__MMDC_DRAM_D_26 784
823MX6Q_PAD_DRAM_D27__MMDC_DRAM_D_27 785
824MX6Q_PAD_DRAM_D28__MMDC_DRAM_D_28 786
825MX6Q_PAD_DRAM_D29__MMDC_DRAM_D_29 787
826MX6Q_PAD_DRAM_SDQS3__MMDC_DRAM_SDQS_3 788
827MX6Q_PAD_DRAM_D30__MMDC_DRAM_D_30 789
828MX6Q_PAD_DRAM_D31__MMDC_DRAM_D_31 790
829MX6Q_PAD_DRAM_DQM3__MMDC_DRAM_DQM_3 791
830MX6Q_PAD_DRAM_D16__MMDC_DRAM_D_16 792
831MX6Q_PAD_DRAM_D17__MMDC_DRAM_D_17 793
832MX6Q_PAD_DRAM_D18__MMDC_DRAM_D_18 794
833MX6Q_PAD_DRAM_D19__MMDC_DRAM_D_19 795
834MX6Q_PAD_DRAM_D20__MMDC_DRAM_D_20 796
835MX6Q_PAD_DRAM_D21__MMDC_DRAM_D_21 797
836MX6Q_PAD_DRAM_D22__MMDC_DRAM_D_22 798
837MX6Q_PAD_DRAM_SDQS2__MMDC_DRAM_SDQS_2 799
838MX6Q_PAD_DRAM_D23__MMDC_DRAM_D_23 800
839MX6Q_PAD_DRAM_DQM2__MMDC_DRAM_DQM_2 801
840MX6Q_PAD_DRAM_A0__MMDC_DRAM_A_0 802
841MX6Q_PAD_DRAM_A1__MMDC_DRAM_A_1 803
842MX6Q_PAD_DRAM_A2__MMDC_DRAM_A_2 804
843MX6Q_PAD_DRAM_A3__MMDC_DRAM_A_3 805
844MX6Q_PAD_DRAM_A4__MMDC_DRAM_A_4 806
845MX6Q_PAD_DRAM_A5__MMDC_DRAM_A_5 807
846MX6Q_PAD_DRAM_A6__MMDC_DRAM_A_6 808
847MX6Q_PAD_DRAM_A7__MMDC_DRAM_A_7 809
848MX6Q_PAD_DRAM_A8__MMDC_DRAM_A_8 810
849MX6Q_PAD_DRAM_A9__MMDC_DRAM_A_9 811
850MX6Q_PAD_DRAM_A10__MMDC_DRAM_A_10 812
851MX6Q_PAD_DRAM_A11__MMDC_DRAM_A_11 813
852MX6Q_PAD_DRAM_A12__MMDC_DRAM_A_12 814
853MX6Q_PAD_DRAM_A13__MMDC_DRAM_A_13 815
854MX6Q_PAD_DRAM_A14__MMDC_DRAM_A_14 816
855MX6Q_PAD_DRAM_A15__MMDC_DRAM_A_15 817
856MX6Q_PAD_DRAM_CAS__MMDC_DRAM_CAS 818
857MX6Q_PAD_DRAM_CS0__MMDC_DRAM_CS_0 819
858MX6Q_PAD_DRAM_CS1__MMDC_DRAM_CS_1 820
859MX6Q_PAD_DRAM_RAS__MMDC_DRAM_RAS 821
860MX6Q_PAD_DRAM_RESET__MMDC_DRAM_RESET 822
861MX6Q_PAD_DRAM_SDBA0__MMDC_DRAM_SDBA_0 823
862MX6Q_PAD_DRAM_SDBA1__MMDC_DRAM_SDBA_1 824
863MX6Q_PAD_DRAM_SDCLK_0__MMDC_DRAM_SDCLK0 825
864MX6Q_PAD_DRAM_SDBA2__MMDC_DRAM_SDBA_2 826
865MX6Q_PAD_DRAM_SDCKE0__MMDC_DRAM_SDCKE_0 827
866MX6Q_PAD_DRAM_SDCLK_1__MMDC_DRAM_SDCLK1 828
867MX6Q_PAD_DRAM_SDCKE1__MMDC_DRAM_SDCKE_1 829
868MX6Q_PAD_DRAM_SDODT0__MMDC_DRAM_ODT_0 830
869MX6Q_PAD_DRAM_SDODT1__MMDC_DRAM_ODT_1 831
870MX6Q_PAD_DRAM_SDWE__MMDC_DRAM_SDWE 832
871MX6Q_PAD_DRAM_D0__MMDC_DRAM_D_0 833
872MX6Q_PAD_DRAM_D1__MMDC_DRAM_D_1 834
873MX6Q_PAD_DRAM_D2__MMDC_DRAM_D_2 835
874MX6Q_PAD_DRAM_D3__MMDC_DRAM_D_3 836
875MX6Q_PAD_DRAM_D4__MMDC_DRAM_D_4 837
876MX6Q_PAD_DRAM_D5__MMDC_DRAM_D_5 838
877MX6Q_PAD_DRAM_SDQS0__MMDC_DRAM_SDQS_0 839
878MX6Q_PAD_DRAM_D6__MMDC_DRAM_D_6 840
879MX6Q_PAD_DRAM_D7__MMDC_DRAM_D_7 841
880MX6Q_PAD_DRAM_DQM0__MMDC_DRAM_DQM_0 842
881MX6Q_PAD_DRAM_D8__MMDC_DRAM_D_8 843
882MX6Q_PAD_DRAM_D9__MMDC_DRAM_D_9 844
883MX6Q_PAD_DRAM_D10__MMDC_DRAM_D_10 845
884MX6Q_PAD_DRAM_D11__MMDC_DRAM_D_11 846
885MX6Q_PAD_DRAM_D12__MMDC_DRAM_D_12 847
886MX6Q_PAD_DRAM_D13__MMDC_DRAM_D_13 848
887MX6Q_PAD_DRAM_D14__MMDC_DRAM_D_14 849
888MX6Q_PAD_DRAM_SDQS1__MMDC_DRAM_SDQS_1 850
889MX6Q_PAD_DRAM_D15__MMDC_DRAM_D_15 851
890MX6Q_PAD_DRAM_DQM1__MMDC_DRAM_DQM_1 852
891MX6Q_PAD_DRAM_D48__MMDC_DRAM_D_48 853
892MX6Q_PAD_DRAM_D49__MMDC_DRAM_D_49 854
893MX6Q_PAD_DRAM_D50__MMDC_DRAM_D_50 855
894MX6Q_PAD_DRAM_D51__MMDC_DRAM_D_51 856
895MX6Q_PAD_DRAM_D52__MMDC_DRAM_D_52 857
896MX6Q_PAD_DRAM_D53__MMDC_DRAM_D_53 858
897MX6Q_PAD_DRAM_D54__MMDC_DRAM_D_54 859
898MX6Q_PAD_DRAM_D55__MMDC_DRAM_D_55 860
899MX6Q_PAD_DRAM_SDQS6__MMDC_DRAM_SDQS_6 861
900MX6Q_PAD_DRAM_DQM6__MMDC_DRAM_DQM_6 862
901MX6Q_PAD_DRAM_D56__MMDC_DRAM_D_56 863
902MX6Q_PAD_DRAM_SDQS7__MMDC_DRAM_SDQS_7 864
903MX6Q_PAD_DRAM_D57__MMDC_DRAM_D_57 865
904MX6Q_PAD_DRAM_D58__MMDC_DRAM_D_58 866
905MX6Q_PAD_DRAM_D59__MMDC_DRAM_D_59 867
906MX6Q_PAD_DRAM_D60__MMDC_DRAM_D_60 868
907MX6Q_PAD_DRAM_DQM7__MMDC_DRAM_DQM_7 869
908MX6Q_PAD_DRAM_D61__MMDC_DRAM_D_61 870
909MX6Q_PAD_DRAM_D62__MMDC_DRAM_D_62 871
910MX6Q_PAD_DRAM_D63__MMDC_DRAM_D_63 872
911MX6Q_PAD_KEY_COL0__ECSPI1_SCLK 873
912MX6Q_PAD_KEY_COL0__ENET_RDATA_3 874
913MX6Q_PAD_KEY_COL0__AUDMUX_AUD5_TXC 875
914MX6Q_PAD_KEY_COL0__KPP_COL_0 876
915MX6Q_PAD_KEY_COL0__UART4_TXD 877
916MX6Q_PAD_KEY_COL0__GPIO_4_6 878
917MX6Q_PAD_KEY_COL0__DCIC1_DCIC_OUT 879
918MX6Q_PAD_KEY_COL0__SRC_ANY_PU_RST 880
919MX6Q_PAD_KEY_ROW0__ECSPI1_MOSI 881
920MX6Q_PAD_KEY_ROW0__ENET_TDATA_3 882
921MX6Q_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 883
922MX6Q_PAD_KEY_ROW0__KPP_ROW_0 884
923MX6Q_PAD_KEY_ROW0__UART4_RXD 885
924MX6Q_PAD_KEY_ROW0__GPIO_4_7 886
925MX6Q_PAD_KEY_ROW0__DCIC2_DCIC_OUT 887
926MX6Q_PAD_KEY_ROW0__PL301_PER1_HADR_0 888
927MX6Q_PAD_KEY_COL1__ECSPI1_MISO 889
928MX6Q_PAD_KEY_COL1__ENET_MDIO 890
929MX6Q_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 891
930MX6Q_PAD_KEY_COL1__KPP_COL_1 892
931MX6Q_PAD_KEY_COL1__UART5_TXD 893
932MX6Q_PAD_KEY_COL1__GPIO_4_8 894
933MX6Q_PAD_KEY_COL1__USDHC1_VSELECT 895
934MX6Q_PAD_KEY_COL1__PL301MX_PER1_HADR_1 896
935MX6Q_PAD_KEY_ROW1__ECSPI1_SS0 897
936MX6Q_PAD_KEY_ROW1__ENET_COL 898
937MX6Q_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 899
938MX6Q_PAD_KEY_ROW1__KPP_ROW_1 900
939MX6Q_PAD_KEY_ROW1__UART5_RXD 901
940MX6Q_PAD_KEY_ROW1__GPIO_4_9 902
941MX6Q_PAD_KEY_ROW1__USDHC2_VSELECT 903
942MX6Q_PAD_KEY_ROW1__PL301_PER1_HADDR_2 904
943MX6Q_PAD_KEY_COL2__ECSPI1_SS1 905
944MX6Q_PAD_KEY_COL2__ENET_RDATA_2 906
945MX6Q_PAD_KEY_COL2__CAN1_TXCAN 907
946MX6Q_PAD_KEY_COL2__KPP_COL_2 908
947MX6Q_PAD_KEY_COL2__ENET_MDC 909
948MX6Q_PAD_KEY_COL2__GPIO_4_10 910
949MX6Q_PAD_KEY_COL2__USBOH3_H1_PWRCTL_WKP 911
950MX6Q_PAD_KEY_COL2__PL301_PER1_HADDR_3 912
951MX6Q_PAD_KEY_ROW2__ECSPI1_SS2 913
952MX6Q_PAD_KEY_ROW2__ENET_TDATA_2 914
953MX6Q_PAD_KEY_ROW2__CAN1_RXCAN 915
954MX6Q_PAD_KEY_ROW2__KPP_ROW_2 916
955MX6Q_PAD_KEY_ROW2__USDHC2_VSELECT 917
956MX6Q_PAD_KEY_ROW2__GPIO_4_11 918
957MX6Q_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 919
958MX6Q_PAD_KEY_ROW2__PL301_PER1_HADR_4 920
959MX6Q_PAD_KEY_COL3__ECSPI1_SS3 921
960MX6Q_PAD_KEY_COL3__ENET_CRS 922
961MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL 923
962MX6Q_PAD_KEY_COL3__KPP_COL_3 924
963MX6Q_PAD_KEY_COL3__I2C2_SCL 925
964MX6Q_PAD_KEY_COL3__GPIO_4_12 926
965MX6Q_PAD_KEY_COL3__SPDIF_IN1 927
966MX6Q_PAD_KEY_COL3__PL301_PER1_HADR_5 928
967MX6Q_PAD_KEY_ROW3__OSC32K_32K_OUT 929
968MX6Q_PAD_KEY_ROW3__ASRC_ASRC_EXT_CLK 930
969MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 931
970MX6Q_PAD_KEY_ROW3__KPP_ROW_3 932
971MX6Q_PAD_KEY_ROW3__I2C2_SDA 933
972MX6Q_PAD_KEY_ROW3__GPIO_4_13 934
973MX6Q_PAD_KEY_ROW3__USDHC1_VSELECT 935
974MX6Q_PAD_KEY_ROW3__PL301_PER1_HADR_6 936
975MX6Q_PAD_KEY_COL4__CAN2_TXCAN 937
976MX6Q_PAD_KEY_COL4__IPU1_SISG_4 938
977MX6Q_PAD_KEY_COL4__USBOH3_USBOTG_OC 939
978MX6Q_PAD_KEY_COL4__KPP_COL_4 940
979MX6Q_PAD_KEY_COL4__UART5_RTS 941
980MX6Q_PAD_KEY_COL4__GPIO_4_14 942
981MX6Q_PAD_KEY_COL4__MMDC_DEBUG_49 943
982MX6Q_PAD_KEY_COL4__PL301_PER1_HADDR_7 944
983MX6Q_PAD_KEY_ROW4__CAN2_RXCAN 945
984MX6Q_PAD_KEY_ROW4__IPU1_SISG_5 946
985MX6Q_PAD_KEY_ROW4__USBOH3_USBOTG_PWR 947
986MX6Q_PAD_KEY_ROW4__KPP_ROW_4 948
987MX6Q_PAD_KEY_ROW4__UART5_CTS 949
988MX6Q_PAD_KEY_ROW4__GPIO_4_15 950
989MX6Q_PAD_KEY_ROW4__MMDC_DEBUG_50 951
990MX6Q_PAD_KEY_ROW4__PL301_PER1_HADR_8 952
991MX6Q_PAD_GPIO_0__CCM_CLKO 953
992MX6Q_PAD_GPIO_0__KPP_COL_5 954
993MX6Q_PAD_GPIO_0__ASRC_ASRC_EXT_CLK 955
994MX6Q_PAD_GPIO_0__EPIT1_EPITO 956
995MX6Q_PAD_GPIO_0__GPIO_1_0 957
996MX6Q_PAD_GPIO_0__USBOH3_USBH1_PWR 958
997MX6Q_PAD_GPIO_0__SNVS_HP_WRAP_SNVS_VIO5 959
998MX6Q_PAD_GPIO_1__ESAI1_SCKR 960
999MX6Q_PAD_GPIO_1__WDOG2_WDOG_B 961
1000MX6Q_PAD_GPIO_1__KPP_ROW_5 962
1001MX6Q_PAD_GPIO_1__PWM2_PWMO 963
1002MX6Q_PAD_GPIO_1__GPIO_1_1 964
1003MX6Q_PAD_GPIO_1__USDHC1_CD 965
1004MX6Q_PAD_GPIO_1__SRC_TESTER_ACK 966
1005MX6Q_PAD_GPIO_9__ESAI1_FSR 967
1006MX6Q_PAD_GPIO_9__WDOG1_WDOG_B 968
1007MX6Q_PAD_GPIO_9__KPP_COL_6 969
1008MX6Q_PAD_GPIO_9__CCM_REF_EN_B 970
1009MX6Q_PAD_GPIO_9__PWM1_PWMO 971
1010MX6Q_PAD_GPIO_9__GPIO_1_9 972
1011MX6Q_PAD_GPIO_9__USDHC1_WP 973
1012MX6Q_PAD_GPIO_9__SRC_EARLY_RST 974
1013MX6Q_PAD_GPIO_3__ESAI1_HCKR 975
1014MX6Q_PAD_GPIO_3__OBSERVE_MUX_INT_OUT0 976
1015MX6Q_PAD_GPIO_3__I2C3_SCL 977
1016MX6Q_PAD_GPIO_3__ANATOP_24M_OUT 978
1017MX6Q_PAD_GPIO_3__CCM_CLKO2 979
1018MX6Q_PAD_GPIO_3__GPIO_1_3 980
1019MX6Q_PAD_GPIO_3__USBOH3_USBH1_OC 981
1020MX6Q_PAD_GPIO_3__MLB_MLBCLK 982
1021MX6Q_PAD_GPIO_6__ESAI1_SCKT 983
1022MX6Q_PAD_GPIO_6__OBSERVE_MUX_INT_OUT1 984
1023MX6Q_PAD_GPIO_6__I2C3_SDA 985
1024MX6Q_PAD_GPIO_6__CCM_CCM_OUT_0 986
1025MX6Q_PAD_GPIO_6__CSU_CSU_INT_DEB 987
1026MX6Q_PAD_GPIO_6__GPIO_1_6 988
1027MX6Q_PAD_GPIO_6__USDHC2_LCTL 989
1028MX6Q_PAD_GPIO_6__MLB_MLBSIG 990
1029MX6Q_PAD_GPIO_2__ESAI1_FST 991
1030MX6Q_PAD_GPIO_2__OBSERVE_MUX_INT_OUT2 992
1031MX6Q_PAD_GPIO_2__KPP_ROW_6 993
1032MX6Q_PAD_GPIO_2__CCM_CCM_OUT_1 994
1033MX6Q_PAD_GPIO_2__CSU_CSU_ALARM_AUT_0 995
1034MX6Q_PAD_GPIO_2__GPIO_1_2 996
1035MX6Q_PAD_GPIO_2__USDHC2_WP 997
1036MX6Q_PAD_GPIO_2__MLB_MLBDAT 998
1037MX6Q_PAD_GPIO_4__ESAI1_HCKT 999
1038MX6Q_PAD_GPIO_4__OBSERVE_MUX_INT_OUT3 1000
1039MX6Q_PAD_GPIO_4__KPP_COL_7 1001
1040MX6Q_PAD_GPIO_4__CCM_CCM_OUT_2 1002
1041MX6Q_PAD_GPIO_4__CSU_CSU_ALARM_AUT_1 1003
1042MX6Q_PAD_GPIO_4__GPIO_1_4 1004
1043MX6Q_PAD_GPIO_4__USDHC2_CD 1005
1044MX6Q_PAD_GPIO_4__OCOTP_CRL_WRAR_FUSE_LA 1006
1045MX6Q_PAD_GPIO_5__ESAI1_TX2_RX3 1007
1046MX6Q_PAD_GPIO_5__OBSERVE_MUX_INT_OUT4 1008
1047MX6Q_PAD_GPIO_5__KPP_ROW_7 1009
1048MX6Q_PAD_GPIO_5__CCM_CLKO 1010
1049MX6Q_PAD_GPIO_5__CSU_CSU_ALARM_AUT_2 1011
1050MX6Q_PAD_GPIO_5__GPIO_1_5 1012
1051MX6Q_PAD_GPIO_5__I2C3_SCL 1013
1052MX6Q_PAD_GPIO_5__CHEETAH_EVENTI 1014
1053MX6Q_PAD_GPIO_7__ESAI1_TX4_RX1 1015
1054MX6Q_PAD_GPIO_7__ECSPI5_RDY 1016
1055MX6Q_PAD_GPIO_7__EPIT1_EPITO 1017
1056MX6Q_PAD_GPIO_7__CAN1_TXCAN 1018
1057MX6Q_PAD_GPIO_7__UART2_TXD 1019
1058MX6Q_PAD_GPIO_7__GPIO_1_7 1020
1059MX6Q_PAD_GPIO_7__SPDIF_PLOCK 1021
1060MX6Q_PAD_GPIO_7__USBOH3_OTGUSB_HST_MODE 1022
1061MX6Q_PAD_GPIO_8__ESAI1_TX5_RX0 1023
1062MX6Q_PAD_GPIO_8__ANATOP_ANATOP_32K_OUT 1024
1063MX6Q_PAD_GPIO_8__EPIT2_EPITO 1025
1064MX6Q_PAD_GPIO_8__CAN1_RXCAN 1026
1065MX6Q_PAD_GPIO_8__UART2_RXD 1027
1066MX6Q_PAD_GPIO_8__GPIO_1_8 1028
1067MX6Q_PAD_GPIO_8__SPDIF_SRCLK 1029
1068MX6Q_PAD_GPIO_8__USBOH3_OTG_PWRCTL_WAK 1030
1069MX6Q_PAD_GPIO_16__ESAI1_TX3_RX2 1031
1070MX6Q_PAD_GPIO_16__ENET_1588_EVENT2_IN 1032
1071MX6Q_PAD_GPIO_16__ENET_ETHERNET_REF_OUT 1033
1072MX6Q_PAD_GPIO_16__USDHC1_LCTL 1034
1073MX6Q_PAD_GPIO_16__SPDIF_IN1 1035
1074MX6Q_PAD_GPIO_16__GPIO_7_11 1036
1075MX6Q_PAD_GPIO_16__I2C3_SDA 1037
1076MX6Q_PAD_GPIO_16__SJC_DE_B 1038
1077MX6Q_PAD_GPIO_17__ESAI1_TX0 1039
1078MX6Q_PAD_GPIO_17__ENET_1588_EVENT3_IN 1040
1079MX6Q_PAD_GPIO_17__CCM_PMIC_RDY 1041
1080MX6Q_PAD_GPIO_17__SDMA_SDMA_EXT_EVENT_0 1042
1081MX6Q_PAD_GPIO_17__SPDIF_OUT1 1043
1082MX6Q_PAD_GPIO_17__GPIO_7_12 1044
1083MX6Q_PAD_GPIO_17__SJC_JTAG_ACT 1045
1084MX6Q_PAD_GPIO_18__ESAI1_TX1 1046
1085MX6Q_PAD_GPIO_18__ENET_RX_CLK 1047
1086MX6Q_PAD_GPIO_18__USDHC3_VSELECT 1048
1087MX6Q_PAD_GPIO_18__SDMA_SDMA_EXT_EVENT_1 1049
1088MX6Q_PAD_GPIO_18__ASRC_ASRC_EXT_CLK 1050
1089MX6Q_PAD_GPIO_18__GPIO_7_13 1051
1090MX6Q_PAD_GPIO_18__SNVS_HP_WRA_SNVS_VIO5 1052
1091MX6Q_PAD_GPIO_18__SRC_SYSTEM_RST 1053
1092MX6Q_PAD_GPIO_19__KPP_COL_5 1054
1093MX6Q_PAD_GPIO_19__ENET_1588_EVENT0_OUT 1055
1094MX6Q_PAD_GPIO_19__SPDIF_OUT1 1056
1095MX6Q_PAD_GPIO_19__CCM_CLKO 1057
1096MX6Q_PAD_GPIO_19__ECSPI1_RDY 1058
1097MX6Q_PAD_GPIO_19__GPIO_4_5 1059
1098MX6Q_PAD_GPIO_19__ENET_TX_ER 1060
1099MX6Q_PAD_GPIO_19__SRC_INT_BOOT 1061
1100MX6Q_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 1062
1101MX6Q_PAD_CSI0_PIXCLK__PCIE_CTRL_MUX_12 1063
1102MX6Q_PAD_CSI0_PIXCLK__SDMA_DEBUG_PC_0 1064
1103MX6Q_PAD_CSI0_PIXCLK__GPIO_5_18 1065
1104MX6Q_PAD_CSI0_PIXCLK___MMDC_DEBUG_29 1066
1105MX6Q_PAD_CSI0_PIXCLK__CHEETAH_EVENTO 1067
1106MX6Q_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC 1068
1107MX6Q_PAD_CSI0_MCLK__PCIE_CTRL_MUX_13 1069
1108MX6Q_PAD_CSI0_MCLK__CCM_CLKO 1070
1109MX6Q_PAD_CSI0_MCLK__SDMA_DEBUG_PC_1 1071
1110MX6Q_PAD_CSI0_MCLK__GPIO_5_19 1072
1111MX6Q_PAD_CSI0_MCLK__MMDC_MMDC_DEBUG_30 1073
1112MX6Q_PAD_CSI0_MCLK__CHEETAH_TRCTL 1074
1113MX6Q_PAD_CSI0_DATA_EN__IPU1_CSI0_DA_EN 1075
1114MX6Q_PAD_CSI0_DATA_EN__WEIM_WEIM_D_0 1076
1115MX6Q_PAD_CSI0_DATA_EN__PCIE_CTRL_MUX_14 1077
1116MX6Q_PAD_CSI0_DATA_EN__SDMA_DEBUG_PC_2 1078
1117MX6Q_PAD_CSI0_DATA_EN__GPIO_5_20 1079
1118MX6Q_PAD_CSI0_DATA_EN__MMDC_DEBUG_31 1080
1119MX6Q_PAD_CSI0_DATA_EN__CHEETAH_TRCLK 1081
1120MX6Q_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC 1082
1121MX6Q_PAD_CSI0_VSYNC__WEIM_WEIM_D_1 1083
1122MX6Q_PAD_CSI0_VSYNC__PCIE_CTRL_MUX_15 1084
1123MX6Q_PAD_CSI0_VSYNC__SDMA_DEBUG_PC_3 1085
1124MX6Q_PAD_CSI0_VSYNC__GPIO_5_21 1086
1125MX6Q_PAD_CSI0_VSYNC__MMDC_DEBUG_32 1087
1126MX6Q_PAD_CSI0_VSYNC__CHEETAH_TRACE_0 1088
1127MX6Q_PAD_CSI0_DAT4__IPU1_CSI0_D_4 1089
1128MX6Q_PAD_CSI0_DAT4__WEIM_WEIM_D_2 1090
1129MX6Q_PAD_CSI0_DAT4__ECSPI1_SCLK 1091
1130MX6Q_PAD_CSI0_DAT4__KPP_COL_5 1092
1131MX6Q_PAD_CSI0_DAT4__AUDMUX_AUD3_TXC 1093
1132MX6Q_PAD_CSI0_DAT4__GPIO_5_22 1094
1133MX6Q_PAD_CSI0_DAT4__MMDC_DEBUG_43 1095
1134MX6Q_PAD_CSI0_DAT4__CHEETAH_TRACE_1 1096
1135MX6Q_PAD_CSI0_DAT5__IPU1_CSI0_D_5 1097
1136MX6Q_PAD_CSI0_DAT5__WEIM_WEIM_D_3 1098
1137MX6Q_PAD_CSI0_DAT5__ECSPI1_MOSI 1099
1138MX6Q_PAD_CSI0_DAT5__KPP_ROW_5 1100
1139MX6Q_PAD_CSI0_DAT5__AUDMUX_AUD3_TXD 1101
1140MX6Q_PAD_CSI0_DAT5__GPIO_5_23 1102
1141MX6Q_PAD_CSI0_DAT5__MMDC_MMDC_DEBUG_44 1103
1142MX6Q_PAD_CSI0_DAT5__CHEETAH_TRACE_2 1104
1143MX6Q_PAD_CSI0_DAT6__IPU1_CSI0_D_6 1105
1144MX6Q_PAD_CSI0_DAT6__WEIM_WEIM_D_4 1106
1145MX6Q_PAD_CSI0_DAT6__ECSPI1_MISO 1107
1146MX6Q_PAD_CSI0_DAT6__KPP_COL_6 1108
1147MX6Q_PAD_CSI0_DAT6__AUDMUX_AUD3_TXFS 1109
1148MX6Q_PAD_CSI0_DAT6__GPIO_5_24 1110
1149MX6Q_PAD_CSI0_DAT6__MMDC_MMDC_DEBUG_45 1111
1150MX6Q_PAD_CSI0_DAT6__CHEETAH_TRACE_3 1112
1151MX6Q_PAD_CSI0_DAT7__IPU1_CSI0_D_7 1113
1152MX6Q_PAD_CSI0_DAT7__WEIM_WEIM_D_5 1114
1153MX6Q_PAD_CSI0_DAT7__ECSPI1_SS0 1115
1154MX6Q_PAD_CSI0_DAT7__KPP_ROW_6 1116
1155MX6Q_PAD_CSI0_DAT7__AUDMUX_AUD3_RXD 1117
1156MX6Q_PAD_CSI0_DAT7__GPIO_5_25 1118
1157MX6Q_PAD_CSI0_DAT7__MMDC_MMDC_DEBUG_46 1119
1158MX6Q_PAD_CSI0_DAT7__CHEETAH_TRACE_4 1120
1159MX6Q_PAD_CSI0_DAT8__IPU1_CSI0_D_8 1121
1160MX6Q_PAD_CSI0_DAT8__WEIM_WEIM_D_6 1122
1161MX6Q_PAD_CSI0_DAT8__ECSPI2_SCLK 1123
1162MX6Q_PAD_CSI0_DAT8__KPP_COL_7 1124
1163MX6Q_PAD_CSI0_DAT8__I2C1_SDA 1125
1164MX6Q_PAD_CSI0_DAT8__GPIO_5_26 1126
1165MX6Q_PAD_CSI0_DAT8__MMDC_MMDC_DEBUG_47 1127
1166MX6Q_PAD_CSI0_DAT8__CHEETAH_TRACE_5 1128
1167MX6Q_PAD_CSI0_DAT9__IPU1_CSI0_D_9 1129
1168MX6Q_PAD_CSI0_DAT9__WEIM_WEIM_D_7 1130
1169MX6Q_PAD_CSI0_DAT9__ECSPI2_MOSI 1131
1170MX6Q_PAD_CSI0_DAT9__KPP_ROW_7 1132
1171MX6Q_PAD_CSI0_DAT9__I2C1_SCL 1133
1172MX6Q_PAD_CSI0_DAT9__GPIO_5_27 1134
1173MX6Q_PAD_CSI0_DAT9__MMDC_MMDC_DEBUG_48 1135
1174MX6Q_PAD_CSI0_DAT9__CHEETAH_TRACE_6 1136
1175MX6Q_PAD_CSI0_DAT10__IPU1_CSI0_D_10 1137
1176MX6Q_PAD_CSI0_DAT10__AUDMUX_AUD3_RXC 1138
1177MX6Q_PAD_CSI0_DAT10__ECSPI2_MISO 1139
1178MX6Q_PAD_CSI0_DAT10__UART1_TXD 1140
1179MX6Q_PAD_CSI0_DAT10__SDMA_DEBUG_PC_4 1141
1180MX6Q_PAD_CSI0_DAT10__GPIO_5_28 1142
1181MX6Q_PAD_CSI0_DAT10__MMDC_MMDC_DEBUG_33 1143
1182MX6Q_PAD_CSI0_DAT10__CHEETAH_TRACE_7 1144
1183MX6Q_PAD_CSI0_DAT11__IPU1_CSI0_D_11 1145
1184MX6Q_PAD_CSI0_DAT11__AUDMUX_AUD3_RXFS 1146
1185MX6Q_PAD_CSI0_DAT11__ECSPI2_SS0 1147
1186MX6Q_PAD_CSI0_DAT11__UART1_RXD 1148
1187MX6Q_PAD_CSI0_DAT11__SDMA_DEBUG_PC_5 1149
1188MX6Q_PAD_CSI0_DAT11__GPIO_5_29 1150
1189MX6Q_PAD_CSI0_DAT11__MMDC_MMDC_DEBUG_34 1151
1190MX6Q_PAD_CSI0_DAT11__CHEETAH_TRACE_8 1152
1191MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_D_12 1153
1192MX6Q_PAD_CSI0_DAT12__WEIM_WEIM_D_8 1154
1193MX6Q_PAD_CSI0_DAT12__PCIE_CTRL_MUX_16 1155
1194MX6Q_PAD_CSI0_DAT12__UART4_TXD 1156
1195MX6Q_PAD_CSI0_DAT12__SDMA_DEBUG_PC_6 1157
1196MX6Q_PAD_CSI0_DAT12__GPIO_5_30 1158
1197MX6Q_PAD_CSI0_DAT12__MMDC_MMDC_DEBUG_35 1159
1198MX6Q_PAD_CSI0_DAT12__CHEETAH_TRACE_9 1160
1199MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_D_13 1161
1200MX6Q_PAD_CSI0_DAT13__WEIM_WEIM_D_9 1162
1201MX6Q_PAD_CSI0_DAT13__PCIE_CTRL_MUX_17 1163
1202MX6Q_PAD_CSI0_DAT13__UART4_RXD 1164
1203MX6Q_PAD_CSI0_DAT13__SDMA_DEBUG_PC_7 1165
1204MX6Q_PAD_CSI0_DAT13__GPIO_5_31 1166
1205MX6Q_PAD_CSI0_DAT13__MMDC_MMDC_DEBUG_36 1167
1206MX6Q_PAD_CSI0_DAT13__CHEETAH_TRACE_10 1168
1207MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_D_14 1169
1208MX6Q_PAD_CSI0_DAT14__WEIM_WEIM_D_10 1170
1209MX6Q_PAD_CSI0_DAT14__PCIE_CTRL_MUX_18 1171
1210MX6Q_PAD_CSI0_DAT14__UART5_TXD 1172
1211MX6Q_PAD_CSI0_DAT14__SDMA_DEBUG_PC_8 1173
1212MX6Q_PAD_CSI0_DAT14__GPIO_6_0 1174
1213MX6Q_PAD_CSI0_DAT14__MMDC_MMDC_DEBUG_37 1175
1214MX6Q_PAD_CSI0_DAT14__CHEETAH_TRACE_11 1176
1215MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_D_15 1177
1216MX6Q_PAD_CSI0_DAT15__WEIM_WEIM_D_11 1178
1217MX6Q_PAD_CSI0_DAT15__PCIE_CTRL_MUX_19 1179
1218MX6Q_PAD_CSI0_DAT15__UART5_RXD 1180
1219MX6Q_PAD_CSI0_DAT15__SDMA_DEBUG_PC_9 1181
1220MX6Q_PAD_CSI0_DAT15__GPIO_6_1 1182
1221MX6Q_PAD_CSI0_DAT15__MMDC_MMDC_DEBUG_38 1183
1222MX6Q_PAD_CSI0_DAT15__CHEETAH_TRACE_12 1184
1223MX6Q_PAD_CSI0_DAT16__IPU1_CSI0_D_16 1185
1224MX6Q_PAD_CSI0_DAT16__WEIM_WEIM_D_12 1186
1225MX6Q_PAD_CSI0_DAT16__PCIE_CTRL_MUX_20 1187
1226MX6Q_PAD_CSI0_DAT16__UART4_RTS 1188
1227MX6Q_PAD_CSI0_DAT16__SDMA_DEBUG_PC_10 1189
1228MX6Q_PAD_CSI0_DAT16__GPIO_6_2 1190
1229MX6Q_PAD_CSI0_DAT16__MMDC_MMDC_DEBUG_39 1191
1230MX6Q_PAD_CSI0_DAT16__CHEETAH_TRACE_13 1192
1231MX6Q_PAD_CSI0_DAT17__IPU1_CSI0_D_17 1193
1232MX6Q_PAD_CSI0_DAT17__WEIM_WEIM_D_13 1194
1233MX6Q_PAD_CSI0_DAT17__PCIE_CTRL_MUX_21 1195
1234MX6Q_PAD_CSI0_DAT17__UART4_CTS 1196
1235MX6Q_PAD_CSI0_DAT17__SDMA_DEBUG_PC_11 1197
1236MX6Q_PAD_CSI0_DAT17__GPIO_6_3 1198
1237MX6Q_PAD_CSI0_DAT17__MMDC_MMDC_DEBUG_40 1199
1238MX6Q_PAD_CSI0_DAT17__CHEETAH_TRACE_14 1200
1239MX6Q_PAD_CSI0_DAT18__IPU1_CSI0_D_18 1201
1240MX6Q_PAD_CSI0_DAT18__WEIM_WEIM_D_14 1202
1241MX6Q_PAD_CSI0_DAT18__PCIE_CTRL_MUX_22 1203
1242MX6Q_PAD_CSI0_DAT18__UART5_RTS 1204
1243MX6Q_PAD_CSI0_DAT18__SDMA_DEBUG_PC_12 1205
1244MX6Q_PAD_CSI0_DAT18__GPIO_6_4 1206
1245MX6Q_PAD_CSI0_DAT18__MMDC_MMDC_DEBUG_41 1207
1246MX6Q_PAD_CSI0_DAT18__CHEETAH_TRACE_15 1208
1247MX6Q_PAD_CSI0_DAT19__IPU1_CSI0_D_19 1209
1248MX6Q_PAD_CSI0_DAT19__WEIM_WEIM_D_15 1210
1249MX6Q_PAD_CSI0_DAT19__PCIE_CTRL_MUX_23 1211
1250MX6Q_PAD_CSI0_DAT19__UART5_CTS 1212
1251MX6Q_PAD_CSI0_DAT19__SDMA_DEBUG_PC_13 1213
1252MX6Q_PAD_CSI0_DAT19__GPIO_6_5 1214
1253MX6Q_PAD_CSI0_DAT19__MMDC_MMDC_DEBUG_42 1215
1254MX6Q_PAD_CSI0_DAT19__ANATOP_TESTO_9 1216
1255MX6Q_PAD_JTAG_TMS__SJC_TMS 1217
1256MX6Q_PAD_JTAG_MOD__SJC_MOD 1218
1257MX6Q_PAD_JTAG_TRSTB__SJC_TRSTB 1219
1258MX6Q_PAD_JTAG_TDI__SJC_TDI 1220
1259MX6Q_PAD_JTAG_TCK__SJC_TCK 1221
1260MX6Q_PAD_JTAG_TDO__SJC_TDO 1222
1261MX6Q_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 1223
1262MX6Q_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 1224
1263MX6Q_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 1225
1264MX6Q_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 1226
1265MX6Q_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 1227
1266MX6Q_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 1228
1267MX6Q_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 1229
1268MX6Q_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 1230
1269MX6Q_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 1231
1270MX6Q_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 1232
1271MX6Q_PAD_TAMPER__SNVS_LP_WRAP_SNVS_TD1 1233
1272MX6Q_PAD_PMIC_ON_REQ__SNVS_LPWRAP_WKALM 1234
1273MX6Q_PAD_PMIC_STBY_REQ__CCM_PMIC_STBYRQ 1235
1274MX6Q_PAD_POR_B__SRC_POR_B 1236
1275MX6Q_PAD_BOOT_MODE1__SRC_BOOT_MODE_1 1237
1276MX6Q_PAD_RESET_IN_B__SRC_RESET_B 1238
1277MX6Q_PAD_BOOT_MODE0__SRC_BOOT_MODE_0 1239
1278MX6Q_PAD_TEST_MODE__TCU_TEST_MODE 1240
1279MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 1241
1280MX6Q_PAD_SD3_DAT7__UART1_TXD 1242
1281MX6Q_PAD_SD3_DAT7__PCIE_CTRL_MUX_24 1243
1282MX6Q_PAD_SD3_DAT7__USBOH3_UH3_DFD_OUT_0 1244
1283MX6Q_PAD_SD3_DAT7__USBOH3_UH2_DFD_OUT_0 1245
1284MX6Q_PAD_SD3_DAT7__GPIO_6_17 1246
1285MX6Q_PAD_SD3_DAT7__MIPI_CORE_DPHY_IN_12 1247
1286MX6Q_PAD_SD3_DAT7__USBPHY2_CLK20DIV 1248
1287MX6Q_PAD_SD3_DAT6__USDHC3_DAT6 1249
1288MX6Q_PAD_SD3_DAT6__UART1_RXD 1250
1289MX6Q_PAD_SD3_DAT6__PCIE_CTRL_MUX_25 1251
1290MX6Q_PAD_SD3_DAT6__USBOH3_UH3_DFD_OUT_1 1252
1291MX6Q_PAD_SD3_DAT6__USBOH3_UH2_DFD_OUT_1 1253
1292MX6Q_PAD_SD3_DAT6__GPIO_6_18 1254
1293MX6Q_PAD_SD3_DAT6__MIPI_CORE_DPHY_IN_13 1255
1294MX6Q_PAD_SD3_DAT6__ANATOP_TESTO_10 1256
1295MX6Q_PAD_SD3_DAT5__USDHC3_DAT5 1257
1296MX6Q_PAD_SD3_DAT5__UART2_TXD 1258
1297MX6Q_PAD_SD3_DAT5__PCIE_CTRL_MUX_26 1259
1298MX6Q_PAD_SD3_DAT5__USBOH3_UH3_DFD_OUT_2 1260
1299MX6Q_PAD_SD3_DAT5__USBOH3_UH2_DFD_OUT_2 1261
1300MX6Q_PAD_SD3_DAT5__GPIO_7_0 1262
1301MX6Q_PAD_SD3_DAT5__MIPI_CORE_DPHY_IN_14 1263
1302MX6Q_PAD_SD3_DAT5__ANATOP_TESTO_11 1264
1303MX6Q_PAD_SD3_DAT4__USDHC3_DAT4 1265
1304MX6Q_PAD_SD3_DAT4__UART2_RXD 1266
1305MX6Q_PAD_SD3_DAT4__PCIE_CTRL_MUX_27 1267
1306MX6Q_PAD_SD3_DAT4__USBOH3_UH3_DFD_OUT_3 1268
1307MX6Q_PAD_SD3_DAT4__USBOH3_UH2_DFD_OUT_3 1269
1308MX6Q_PAD_SD3_DAT4__GPIO_7_1 1270
1309MX6Q_PAD_SD3_DAT4__MIPI_CORE_DPHY_IN_15 1271
1310MX6Q_PAD_SD3_DAT4__ANATOP_TESTO_12 1272
1311MX6Q_PAD_SD3_CMD__USDHC3_CMD 1273
1312MX6Q_PAD_SD3_CMD__UART2_CTS 1274
1313MX6Q_PAD_SD3_CMD__CAN1_TXCAN 1275
1314MX6Q_PAD_SD3_CMD__USBOH3_UH3_DFD_OUT_4 1276
1315MX6Q_PAD_SD3_CMD__USBOH3_UH2_DFD_OUT_4 1277
1316MX6Q_PAD_SD3_CMD__GPIO_7_2 1278
1317MX6Q_PAD_SD3_CMD__MIPI_CORE_DPHY_IN_16 1279
1318MX6Q_PAD_SD3_CMD__ANATOP_TESTO_13 1280
1319MX6Q_PAD_SD3_CLK__USDHC3_CLK 1281
1320MX6Q_PAD_SD3_CLK__UART2_RTS 1282
1321MX6Q_PAD_SD3_CLK__CAN1_RXCAN 1283
1322MX6Q_PAD_SD3_CLK__USBOH3_UH3_DFD_OUT_5 1284
1323MX6Q_PAD_SD3_CLK__USBOH3_UH2_DFD_OUT_5 1285
1324MX6Q_PAD_SD3_CLK__GPIO_7_3 1286
1325MX6Q_PAD_SD3_CLK__MIPI_CORE_DPHY_IN_17 1287
1326MX6Q_PAD_SD3_CLK__ANATOP_TESTO_14 1288
1327MX6Q_PAD_SD3_DAT0__USDHC3_DAT0 1289
1328MX6Q_PAD_SD3_DAT0__UART1_CTS 1290
1329MX6Q_PAD_SD3_DAT0__CAN2_TXCAN 1291
1330MX6Q_PAD_SD3_DAT0__USBOH3_UH3_DFD_OUT_6 1292
1331MX6Q_PAD_SD3_DAT0__USBOH3_UH2_DFD_OUT_6 1293
1332MX6Q_PAD_SD3_DAT0__GPIO_7_4 1294
1333MX6Q_PAD_SD3_DAT0__MIPI_CORE_DPHY_IN_18 1295
1334MX6Q_PAD_SD3_DAT0__ANATOP_TESTO_15 1296
1335MX6Q_PAD_SD3_DAT1__USDHC3_DAT1 1297
1336MX6Q_PAD_SD3_DAT1__UART1_RTS 1298
1337MX6Q_PAD_SD3_DAT1__CAN2_RXCAN 1299
1338MX6Q_PAD_SD3_DAT1__USBOH3_UH3_DFD_OUT_7 1300
1339MX6Q_PAD_SD3_DAT1__USBOH3_UH2_DFD_OUT_7 1301
1340MX6Q_PAD_SD3_DAT1__GPIO_7_5 1302
1341MX6Q_PAD_SD3_DAT1__MIPI_CORE_DPHY_IN_19 1303
1342MX6Q_PAD_SD3_DAT1__ANATOP_TESTI_0 1304
1343MX6Q_PAD_SD3_DAT2__USDHC3_DAT2 1305
1344MX6Q_PAD_SD3_DAT2__PCIE_CTRL_MUX_28 1306
1345MX6Q_PAD_SD3_DAT2__USBOH3_UH3_DFD_OUT_8 1307
1346MX6Q_PAD_SD3_DAT2__USBOH3_UH2_DFD_OUT_8 1308
1347MX6Q_PAD_SD3_DAT2__GPIO_7_6 1309
1348MX6Q_PAD_SD3_DAT2__MIPI_CORE_DPHY_IN_20 1310
1349MX6Q_PAD_SD3_DAT2__ANATOP_TESTI_1 1311
1350MX6Q_PAD_SD3_DAT3__USDHC3_DAT3 1312
1351MX6Q_PAD_SD3_DAT3__UART3_CTS 1313
1352MX6Q_PAD_SD3_DAT3__PCIE_CTRL_MUX_29 1314
1353MX6Q_PAD_SD3_DAT3__USBOH3_UH3_DFD_OUT_9 1315
1354MX6Q_PAD_SD3_DAT3__USBOH3_UH2_DFD_OUT_9 1316
1355MX6Q_PAD_SD3_DAT3__GPIO_7_7 1317
1356MX6Q_PAD_SD3_DAT3__MIPI_CORE_DPHY_IN_21 1318
1357MX6Q_PAD_SD3_DAT3__ANATOP_TESTI_2 1319
1358MX6Q_PAD_SD3_RST__USDHC3_RST 1320
1359MX6Q_PAD_SD3_RST__UART3_RTS 1321
1360MX6Q_PAD_SD3_RST__PCIE_CTRL_MUX_30 1322
1361MX6Q_PAD_SD3_RST__USBOH3_UH3_DFD_OUT_10 1323
1362MX6Q_PAD_SD3_RST__USBOH3_UH2_DFD_OUT_10 1324
1363MX6Q_PAD_SD3_RST__GPIO_7_8 1325
1364MX6Q_PAD_SD3_RST__MIPI_CORE_DPHY_IN_22 1326
1365MX6Q_PAD_SD3_RST__ANATOP_ANATOP_TESTI_3 1327
1366MX6Q_PAD_NANDF_CLE__RAWNAND_CLE 1328
1367MX6Q_PAD_NANDF_CLE__IPU2_SISG_4 1329
1368MX6Q_PAD_NANDF_CLE__PCIE_CTRL_MUX_31 1330
1369MX6Q_PAD_NANDF_CLE__USBOH3_UH3_DFD_OT11 1331
1370MX6Q_PAD_NANDF_CLE__USBOH3_UH2_DFD_OT11 1332
1371MX6Q_PAD_NANDF_CLE__GPIO_6_7 1333
1372MX6Q_PAD_NANDF_CLE__MIPI_CORE_DPHY_IN23 1334
1373MX6Q_PAD_NANDF_CLE__TPSMP_HTRANS_0 1335
1374MX6Q_PAD_NANDF_ALE__RAWNAND_ALE 1336
1375MX6Q_PAD_NANDF_ALE__USDHC4_RST 1337
1376MX6Q_PAD_NANDF_ALE__PCIE_CTRL_MUX_0 1338
1377MX6Q_PAD_NANDF_ALE__USBOH3_UH3_DFD_OT12 1339
1378MX6Q_PAD_NANDF_ALE__USBOH3_UH2_DFD_OT12 1340
1379MX6Q_PAD_NANDF_ALE__GPIO_6_8 1341
1380MX6Q_PAD_NANDF_ALE__MIPI_CR_DPHY_IN_24 1342
1381MX6Q_PAD_NANDF_ALE__TPSMP_HTRANS_1 1343
1382MX6Q_PAD_NANDF_WP_B__RAWNAND_RESETN 1344
1383MX6Q_PAD_NANDF_WP_B__IPU2_SISG_5 1345
1384MX6Q_PAD_NANDF_WP_B__PCIE_CTRL__MUX_1 1346
1385MX6Q_PAD_NANDF_WP_B__USBOH3_UH3_DFDOT13 1347
1386MX6Q_PAD_NANDF_WP_B__USBOH3_UH2_DFDOT13 1348
1387MX6Q_PAD_NANDF_WP_B__GPIO_6_9 1349
1388MX6Q_PAD_NANDF_WP_B__MIPI_CR_DPHY_OUT32 1350
1389MX6Q_PAD_NANDF_WP_B__PL301_PER1_HSIZE_0 1351
1390MX6Q_PAD_NANDF_RB0__RAWNAND_READY0 1352
1391MX6Q_PAD_NANDF_RB0__IPU2_DI0_PIN1 1353
1392MX6Q_PAD_NANDF_RB0__PCIE_CTRL_MUX_2 1354
1393MX6Q_PAD_NANDF_RB0__USBOH3_UH3_DFD_OT14 1355
1394MX6Q_PAD_NANDF_RB0__USBOH3_UH2_DFD_OT14 1356
1395MX6Q_PAD_NANDF_RB0__GPIO_6_10 1357
1396MX6Q_PAD_NANDF_RB0__MIPI_CR_DPHY_OUT_33 1358
1397MX6Q_PAD_NANDF_RB0__PL301_PER1_HSIZE_1 1359
1398MX6Q_PAD_NANDF_CS0__RAWNAND_CE0N 1360
1399MX6Q_PAD_NANDF_CS0__USBOH3_UH3_DFD_OT15 1361
1400MX6Q_PAD_NANDF_CS0__USBOH3_UH2_DFD_OT15 1362
1401MX6Q_PAD_NANDF_CS0__GPIO_6_11 1363
1402MX6Q_PAD_NANDF_CS0__PL301_PER1_HSIZE_2 1364
1403MX6Q_PAD_NANDF_CS1__RAWNAND_CE1N 1365
1404MX6Q_PAD_NANDF_CS1__USDHC4_VSELECT 1366
1405MX6Q_PAD_NANDF_CS1__USDHC3_VSELECT 1367
1406MX6Q_PAD_NANDF_CS1__PCIE_CTRL_MUX_3 1368
1407MX6Q_PAD_NANDF_CS1__GPIO_6_14 1369
1408MX6Q_PAD_NANDF_CS1__PL301_PER1_HRDYOUT 1370
1409MX6Q_PAD_NANDF_CS2__RAWNAND_CE2N 1371
1410MX6Q_PAD_NANDF_CS2__IPU1_SISG_0 1372
1411MX6Q_PAD_NANDF_CS2__ESAI1_TX0 1373
1412MX6Q_PAD_NANDF_CS2__WEIM_WEIM_CRE 1374
1413MX6Q_PAD_NANDF_CS2__CCM_CLKO2 1375
1414MX6Q_PAD_NANDF_CS2__GPIO_6_15 1376
1415MX6Q_PAD_NANDF_CS2__IPU2_SISG_0 1377
1416MX6Q_PAD_NANDF_CS3__RAWNAND_CE3N 1378
1417MX6Q_PAD_NANDF_CS3__IPU1_SISG_1 1379
1418MX6Q_PAD_NANDF_CS3__ESAI1_TX1 1380
1419MX6Q_PAD_NANDF_CS3__WEIM_WEIM_A_26 1381
1420MX6Q_PAD_NANDF_CS3__PCIE_CTRL_MUX_4 1382
1421MX6Q_PAD_NANDF_CS3__GPIO_6_16 1383
1422MX6Q_PAD_NANDF_CS3__IPU2_SISG_1 1384
1423MX6Q_PAD_NANDF_CS3__TPSMP_CLK 1385
1424MX6Q_PAD_SD4_CMD__USDHC4_CMD 1386
1425MX6Q_PAD_SD4_CMD__RAWNAND_RDN 1387
1426MX6Q_PAD_SD4_CMD__UART3_TXD 1388
1427MX6Q_PAD_SD4_CMD__PCIE_CTRL_MUX_5 1389
1428MX6Q_PAD_SD4_CMD__GPIO_7_9 1390
1429MX6Q_PAD_SD4_CMD__TPSMP_HDATA_DIR 1391
1430MX6Q_PAD_SD4_CLK__USDHC4_CLK 1392
1431MX6Q_PAD_SD4_CLK__RAWNAND_WRN 1393
1432MX6Q_PAD_SD4_CLK__UART3_RXD 1394
1433MX6Q_PAD_SD4_CLK__PCIE_CTRL_MUX_6 1395
1434MX6Q_PAD_SD4_CLK__GPIO_7_10 1396
1435MX6Q_PAD_NANDF_D0__RAWNAND_D0 1397
1436MX6Q_PAD_NANDF_D0__USDHC1_DAT4 1398
1437MX6Q_PAD_NANDF_D0__GPU3D_GPU_DBG_OUT_0 1399
1438MX6Q_PAD_NANDF_D0__USBOH3_UH2_DFD_OUT16 1400
1439MX6Q_PAD_NANDF_D0__USBOH3_UH3_DFD_OUT16 1401
1440MX6Q_PAD_NANDF_D0__GPIO_2_0 1402
1441MX6Q_PAD_NANDF_D0__IPU1_IPU_DIAG_BUS_0 1403
1442MX6Q_PAD_NANDF_D0__IPU2_IPU_DIAG_BUS_0 1404
1443MX6Q_PAD_NANDF_D1__RAWNAND_D1 1405
1444MX6Q_PAD_NANDF_D1__USDHC1_DAT5 1406
1445MX6Q_PAD_NANDF_D1__GPU3D_GPU_DEBUG_OUT1 1407
1446MX6Q_PAD_NANDF_D1__USBOH3_UH2_DFD_OUT17 1408
1447MX6Q_PAD_NANDF_D1__USBOH3_UH3_DFD_OUT17 1409
1448MX6Q_PAD_NANDF_D1__GPIO_2_1 1410
1449MX6Q_PAD_NANDF_D1__IPU1_IPU_DIAG_BUS_1 1411
1450MX6Q_PAD_NANDF_D1__IPU2_IPU_DIAG_BUS_1 1412
1451MX6Q_PAD_NANDF_D2__RAWNAND_D2 1413
1452MX6Q_PAD_NANDF_D2__USDHC1_DAT6 1414
1453MX6Q_PAD_NANDF_D2__GPU3D_GPU_DBG_OUT_2 1415
1454MX6Q_PAD_NANDF_D2__USBOH3_UH2_DFD_OUT18 1416
1455MX6Q_PAD_NANDF_D2__USBOH3_UH3_DFD_OUT18 1417
1456MX6Q_PAD_NANDF_D2__GPIO_2_2 1418
1457MX6Q_PAD_NANDF_D2__IPU1_IPU_DIAG_BUS_2 1419
1458MX6Q_PAD_NANDF_D2__IPU2_IPU_DIAG_BUS_2 1420
1459MX6Q_PAD_NANDF_D3__RAWNAND_D3 1421
1460MX6Q_PAD_NANDF_D3__USDHC1_DAT7 1422
1461MX6Q_PAD_NANDF_D3__GPU3D_GPU_DBG_OUT_3 1423
1462MX6Q_PAD_NANDF_D3__USBOH3_UH2_DFD_OUT19 1424
1463MX6Q_PAD_NANDF_D3__USBOH3_UH3_DFD_OUT19 1425
1464MX6Q_PAD_NANDF_D3__GPIO_2_3 1426
1465MX6Q_PAD_NANDF_D3__IPU1_IPU_DIAG_BUS_3 1427
1466MX6Q_PAD_NANDF_D3__IPU2_IPU_DIAG_BUS_3 1428
1467MX6Q_PAD_NANDF_D4__RAWNAND_D4 1429
1468MX6Q_PAD_NANDF_D4__USDHC2_DAT4 1430
1469MX6Q_PAD_NANDF_D4__GPU3D_GPU_DBG_OUT_4 1431
1470MX6Q_PAD_NANDF_D4__USBOH3_UH2_DFD_OUT20 1432
1471MX6Q_PAD_NANDF_D4__USBOH3_UH3_DFD_OUT20 1433
1472MX6Q_PAD_NANDF_D4__GPIO_2_4 1434
1473MX6Q_PAD_NANDF_D4__IPU1_IPU_DIAG_BUS_4 1435
1474MX6Q_PAD_NANDF_D4__IPU2_IPU_DIAG_BUS_4 1436
1475MX6Q_PAD_NANDF_D5__RAWNAND_D5 1437
1476MX6Q_PAD_NANDF_D5__USDHC2_DAT5 1438
1477MX6Q_PAD_NANDF_D5__GPU3D_GPU_DBG_OUT_5 1439
1478MX6Q_PAD_NANDF_D5__USBOH3_UH2_DFD_OUT21 1440
1479MX6Q_PAD_NANDF_D5__USBOH3_UH3_DFD_OUT21 1441
1480MX6Q_PAD_NANDF_D5__GPIO_2_5 1442
1481MX6Q_PAD_NANDF_D5__IPU1_IPU_DIAG_BUS_5 1443
1482MX6Q_PAD_NANDF_D5__IPU2_IPU_DIAG_BUS_5 1444
1483MX6Q_PAD_NANDF_D6__RAWNAND_D6 1445
1484MX6Q_PAD_NANDF_D6__USDHC2_DAT6 1446
1485MX6Q_PAD_NANDF_D6__GPU3D_GPU_DBG_OUT_6 1447
1486MX6Q_PAD_NANDF_D6__USBOH3_UH2_DFD_OUT22 1448
1487MX6Q_PAD_NANDF_D6__USBOH3_UH3_DFD_OUT22 1449
1488MX6Q_PAD_NANDF_D6__GPIO_2_6 1450
1489MX6Q_PAD_NANDF_D6__IPU1_IPU_DIAG_BUS_6 1451
1490MX6Q_PAD_NANDF_D6__IPU2_IPU_DIAG_BUS_6 1452
1491MX6Q_PAD_NANDF_D7__RAWNAND_D7 1453
1492MX6Q_PAD_NANDF_D7__USDHC2_DAT7 1454
1493MX6Q_PAD_NANDF_D7__GPU3D_GPU_DBG_OUT_7 1455
1494MX6Q_PAD_NANDF_D7__USBOH3_UH2_DFD_OUT23 1456
1495MX6Q_PAD_NANDF_D7__USBOH3_UH3_DFD_OUT23 1457
1496MX6Q_PAD_NANDF_D7__GPIO_2_7 1458
1497MX6Q_PAD_NANDF_D7__IPU1_IPU_DIAG_BUS_7 1459
1498MX6Q_PAD_NANDF_D7__IPU2_IPU_DIAG_BUS_7 1460
1499MX6Q_PAD_SD4_DAT0__RAWNAND_D8 1461
1500MX6Q_PAD_SD4_DAT0__USDHC4_DAT0 1462
1501MX6Q_PAD_SD4_DAT0__RAWNAND_DQS 1463
1502MX6Q_PAD_SD4_DAT0__USBOH3_UH2_DFD_OUT24 1464
1503MX6Q_PAD_SD4_DAT0__USBOH3_UH3_DFD_OUT24 1465
1504MX6Q_PAD_SD4_DAT0__GPIO_2_8 1466
1505MX6Q_PAD_SD4_DAT0__IPU1_IPU_DIAG_BUS_8 1467
1506MX6Q_PAD_SD4_DAT0__IPU2_IPU_DIAG_BUS_8 1468
1507MX6Q_PAD_SD4_DAT1__RAWNAND_D9 1469
1508MX6Q_PAD_SD4_DAT1__USDHC4_DAT1 1470
1509MX6Q_PAD_SD4_DAT1__PWM3_PWMO 1471
1510MX6Q_PAD_SD4_DAT1__USBOH3_UH2_DFD_OUT25 1472
1511MX6Q_PAD_SD4_DAT1__USBOH3_UH3_DFD_OUT25 1473
1512MX6Q_PAD_SD4_DAT1__GPIO_2_9 1474
1513MX6Q_PAD_SD4_DAT1__IPU1_IPU_DIAG_BUS_9 1475
1514MX6Q_PAD_SD4_DAT1__IPU2_IPU_DIAG_BUS_9 1476
1515MX6Q_PAD_SD4_DAT2__RAWNAND_D10 1477
1516MX6Q_PAD_SD4_DAT2__USDHC4_DAT2 1478
1517MX6Q_PAD_SD4_DAT2__PWM4_PWMO 1479
1518MX6Q_PAD_SD4_DAT2__USBOH3_UH2_DFD_OUT26 1480
1519MX6Q_PAD_SD4_DAT2__USBOH3_UH3_DFD_OUT26 1481
1520MX6Q_PAD_SD4_DAT2__GPIO_2_10 1482
1521MX6Q_PAD_SD4_DAT2__IPU1_IPU_DIAG_BUS_10 1483
1522MX6Q_PAD_SD4_DAT2__IPU2_IPU_DIAG_BUS_10 1484
1523MX6Q_PAD_SD4_DAT3__RAWNAND_D11 1485
1524MX6Q_PAD_SD4_DAT3__USDHC4_DAT3 1486
1525MX6Q_PAD_SD4_DAT3__USBOH3_UH2_DFD_OUT27 1487
1526MX6Q_PAD_SD4_DAT3__USBOH3_UH3_DFD_OUT27 1488
1527MX6Q_PAD_SD4_DAT3__GPIO_2_11 1489
1528MX6Q_PAD_SD4_DAT3__IPU1_IPU_DIAG_BUS_11 1490
1529MX6Q_PAD_SD4_DAT3__IPU2_IPU_DIAG_BUS_11 1491
1530MX6Q_PAD_SD4_DAT4__RAWNAND_D12 1492
1531MX6Q_PAD_SD4_DAT4__USDHC4_DAT4 1493
1532MX6Q_PAD_SD4_DAT4__UART2_RXD 1494
1533MX6Q_PAD_SD4_DAT4__USBOH3_UH2_DFD_OUT28 1495
1534MX6Q_PAD_SD4_DAT4__USBOH3_UH3_DFD_OUT28 1496
1535MX6Q_PAD_SD4_DAT4__GPIO_2_12 1497
1536MX6Q_PAD_SD4_DAT4__IPU1_IPU_DIAG_BUS_12 1498
1537MX6Q_PAD_SD4_DAT4__IPU2_IPU_DIAG_BUS_12 1499
1538MX6Q_PAD_SD4_DAT5__RAWNAND_D13 1500
1539MX6Q_PAD_SD4_DAT5__USDHC4_DAT5 1501
1540MX6Q_PAD_SD4_DAT5__UART2_RTS 1502
1541MX6Q_PAD_SD4_DAT5__USBOH3_UH2_DFD_OUT29 1503
1542MX6Q_PAD_SD4_DAT5__USBOH3_UH3_DFD_OUT29 1504
1543MX6Q_PAD_SD4_DAT5__GPIO_2_13 1505
1544MX6Q_PAD_SD4_DAT5__IPU1_IPU_DIAG_BUS_13 1506
1545MX6Q_PAD_SD4_DAT5__IPU2_IPU_DIAG_BUS_13 1507
1546MX6Q_PAD_SD4_DAT6__RAWNAND_D14 1508
1547MX6Q_PAD_SD4_DAT6__USDHC4_DAT6 1509
1548MX6Q_PAD_SD4_DAT6__UART2_CTS 1510
1549MX6Q_PAD_SD4_DAT6__USBOH3_UH2_DFD_OUT30 1511
1550MX6Q_PAD_SD4_DAT6__USBOH3_UH3_DFD_OUT30 1512
1551MX6Q_PAD_SD4_DAT6__GPIO_2_14 1513
1552MX6Q_PAD_SD4_DAT6__IPU1_IPU_DIAG_BUS_14 1514
1553MX6Q_PAD_SD4_DAT6__IPU2_IPU_DIAG_BUS_14 1515
1554MX6Q_PAD_SD4_DAT7__RAWNAND_D15 1516
1555MX6Q_PAD_SD4_DAT7__USDHC4_DAT7 1517
1556MX6Q_PAD_SD4_DAT7__UART2_TXD 1518
1557MX6Q_PAD_SD4_DAT7__USBOH3_UH2_DFD_OUT31 1519
1558MX6Q_PAD_SD4_DAT7__USBOH3_UH3_DFD_OUT31 1520
1559MX6Q_PAD_SD4_DAT7__GPIO_2_15 1521
1560MX6Q_PAD_SD4_DAT7__IPU1_IPU_DIAG_BUS_15 1522
1561MX6Q_PAD_SD4_DAT7__IPU2_IPU_DIAG_BUS_15 1523
1562MX6Q_PAD_SD1_DAT1__USDHC1_DAT1 1524
1563MX6Q_PAD_SD1_DAT1__ECSPI5_SS0 1525
1564MX6Q_PAD_SD1_DAT1__PWM3_PWMO 1526
1565MX6Q_PAD_SD1_DAT1__GPT_CAPIN2 1527
1566MX6Q_PAD_SD1_DAT1__PCIE_CTRL_MUX_7 1528
1567MX6Q_PAD_SD1_DAT1__GPIO_1_17 1529
1568MX6Q_PAD_SD1_DAT1__HDMI_TX_OPHYDTB_0 1530
1569MX6Q_PAD_SD1_DAT1__ANATOP_TESTO_8 1531
1570MX6Q_PAD_SD1_DAT0__USDHC1_DAT0 1532
1571MX6Q_PAD_SD1_DAT0__ECSPI5_MISO 1533
1572MX6Q_PAD_SD1_DAT0__CAAM_WRAP_RNG_OSCOBS 1534
1573MX6Q_PAD_SD1_DAT0__GPT_CAPIN1 1535
1574MX6Q_PAD_SD1_DAT0__PCIE_CTRL_MUX_8 1536
1575MX6Q_PAD_SD1_DAT0__GPIO_1_16 1537
1576MX6Q_PAD_SD1_DAT0__HDMI_TX_OPHYDTB_1 1538
1577MX6Q_PAD_SD1_DAT0__ANATOP_TESTO_7 1539
1578MX6Q_PAD_SD1_DAT3__USDHC1_DAT3 1540
1579MX6Q_PAD_SD1_DAT3__ECSPI5_SS2 1541
1580MX6Q_PAD_SD1_DAT3__GPT_CMPOUT3 1542
1581MX6Q_PAD_SD1_DAT3__PWM1_PWMO 1543
1582MX6Q_PAD_SD1_DAT3__WDOG2_WDOG_B 1544
1583MX6Q_PAD_SD1_DAT3__GPIO_1_21 1545
1584MX6Q_PAD_SD1_DAT3__WDOG2_WDOG_RST_B_DEB 1546
1585MX6Q_PAD_SD1_DAT3__ANATOP_TESTO_6 1547
1586MX6Q_PAD_SD1_CMD__USDHC1_CMD 1548
1587MX6Q_PAD_SD1_CMD__ECSPI5_MOSI 1549
1588MX6Q_PAD_SD1_CMD__PWM4_PWMO 1550
1589MX6Q_PAD_SD1_CMD__GPT_CMPOUT1 1551
1590MX6Q_PAD_SD1_CMD__GPIO_1_18 1552
1591MX6Q_PAD_SD1_CMD__ANATOP_TESTO_5 1553
1592MX6Q_PAD_SD1_DAT2__USDHC1_DAT2 1554
1593MX6Q_PAD_SD1_DAT2__ECSPI5_SS1 1555
1594MX6Q_PAD_SD1_DAT2__GPT_CMPOUT2 1556
1595MX6Q_PAD_SD1_DAT2__PWM2_PWMO 1557
1596MX6Q_PAD_SD1_DAT2__WDOG1_WDOG_B 1558
1597MX6Q_PAD_SD1_DAT2__GPIO_1_19 1559
1598MX6Q_PAD_SD1_DAT2__WDOG1_WDOG_RST_B_DEB 1560
1599MX6Q_PAD_SD1_DAT2__ANATOP_TESTO_4 1561
1600MX6Q_PAD_SD1_CLK__USDHC1_CLK 1562
1601MX6Q_PAD_SD1_CLK__ECSPI5_SCLK 1563
1602MX6Q_PAD_SD1_CLK__OSC32K_32K_OUT 1564
1603MX6Q_PAD_SD1_CLK__GPT_CLKIN 1565
1604MX6Q_PAD_SD1_CLK__GPIO_1_20 1566
1605MX6Q_PAD_SD1_CLK__PHY_DTB_0 1567
1606MX6Q_PAD_SD1_CLK__SATA_PHY_DTB_0 1568
1607MX6Q_PAD_SD2_CLK__USDHC2_CLK 1569
1608MX6Q_PAD_SD2_CLK__ECSPI5_SCLK 1570
1609MX6Q_PAD_SD2_CLK__KPP_COL_5 1571
1610MX6Q_PAD_SD2_CLK__AUDMUX_AUD4_RXFS 1572
1611MX6Q_PAD_SD2_CLK__PCIE_CTRL_MUX_9 1573
1612MX6Q_PAD_SD2_CLK__GPIO_1_10 1574
1613MX6Q_PAD_SD2_CLK__PHY_DTB_1 1575
1614MX6Q_PAD_SD2_CLK__SATA_PHY_DTB_1 1576
1615MX6Q_PAD_SD2_CMD__USDHC2_CMD 1577
1616MX6Q_PAD_SD2_CMD__ECSPI5_MOSI 1578
1617MX6Q_PAD_SD2_CMD__KPP_ROW_5 1579
1618MX6Q_PAD_SD2_CMD__AUDMUX_AUD4_RXC 1580
1619MX6Q_PAD_SD2_CMD__PCIE_CTRL_MUX_10 1581
1620MX6Q_PAD_SD2_CMD__GPIO_1_11 1582
1621MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 1583
1622MX6Q_PAD_SD2_DAT3__ECSPI5_SS3 1584
1623MX6Q_PAD_SD2_DAT3__KPP_COL_6 1585
1624MX6Q_PAD_SD2_DAT3__AUDMUX_AUD4_TXC 1586
1625MX6Q_PAD_SD2_DAT3__PCIE_CTRL_MUX_11 1587
1626MX6Q_PAD_SD2_DAT3__GPIO_1_12 1588
1627MX6Q_PAD_SD2_DAT3__SJC_DONE 1589
1628MX6Q_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
3The pins controlled by mxs pin controller are organized in banks, each bank
4has 32 pins. Each pin has 4 multiplexing functions, and generally, the 4th
5function is GPIO. The configuration on the pins includes drive strength,
6voltage and pull-up.
7
8Required 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
13Please refer to pinctrl-bindings.txt in this directory for details of the
14common pinctrl bindings used by client devices.
15
16The node of mxs pin controller acts as a container for an arbitrary number of
17subnodes. Each of these subnodes represents some desired configuration for
18a group of pins, and only affects those parameters that are explicitly listed.
19In other words, a subnode that describes a drive strength parameter implies no
20information about pull-up. For this reason, even seemingly boolean values are
21actually tristates in this binding: unspecified, off, or on. Unspecified is
22represented as an absent property, and off/on are represented as integer
23values 0 and 1.
24
25Those subnodes under mxs pin controller node will fall into two categories.
26One is to set up a group of pins for a function, both mux selection and pin
27configurations, and it's called group node in the binding document. The other
28one is to adjust the pin configuration for some particular pins that need a
29different configuration than what is defined in group node. The binding
30document calls this type of node config node.
31
32On mxs, there is no hardware pin group. The pin group in this binding only
33means a group of pins put together for particular peripheral to work in
34particular function, like SSP0 functioning as mmc0-8bit. That said, the
35group node should include all the pins needed for one function rather than
36having 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
38pointed in there, while the phandle can have multiple config node referenced
39there to adjust configurations for some pins in the group.
40
41Required 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
60Optional 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
73Examples:
74
75pinctrl@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
104In this example, group node mmc0-8bit defines a group of pins for mxs SSP0
105to function as a 8-bit mmc device, with 8mA, 3.3V and pull-up configurations
106applied on all these pins. And config nodes mmc-cd-cfg and mmc-sck-cfg are
107adjusting the configuration for pins card-detection and clock from what group
108node mmc0-8bit defines. Only the configuration properties to be adjusted need
109to be listed in the config nodes.
110
111Valid values for i.MX28 pinmux-id:
112
113pinmux id
114------ --
115MX28_PAD_GPMI_D00__GPMI_D0 0x0000
116MX28_PAD_GPMI_D01__GPMI_D1 0x0010
117MX28_PAD_GPMI_D02__GPMI_D2 0x0020
118MX28_PAD_GPMI_D03__GPMI_D3 0x0030
119MX28_PAD_GPMI_D04__GPMI_D4 0x0040
120MX28_PAD_GPMI_D05__GPMI_D5 0x0050
121MX28_PAD_GPMI_D06__GPMI_D6 0x0060
122MX28_PAD_GPMI_D07__GPMI_D7 0x0070
123MX28_PAD_GPMI_CE0N__GPMI_CE0N 0x0100
124MX28_PAD_GPMI_CE1N__GPMI_CE1N 0x0110
125MX28_PAD_GPMI_CE2N__GPMI_CE2N 0x0120
126MX28_PAD_GPMI_CE3N__GPMI_CE3N 0x0130
127MX28_PAD_GPMI_RDY0__GPMI_READY0 0x0140
128MX28_PAD_GPMI_RDY1__GPMI_READY1 0x0150
129MX28_PAD_GPMI_RDY2__GPMI_READY2 0x0160
130MX28_PAD_GPMI_RDY3__GPMI_READY3 0x0170
131MX28_PAD_GPMI_RDN__GPMI_RDN 0x0180
132MX28_PAD_GPMI_WRN__GPMI_WRN 0x0190
133MX28_PAD_GPMI_ALE__GPMI_ALE 0x01a0
134MX28_PAD_GPMI_CLE__GPMI_CLE 0x01b0
135MX28_PAD_GPMI_RESETN__GPMI_RESETN 0x01c0
136MX28_PAD_LCD_D00__LCD_D0 0x1000
137MX28_PAD_LCD_D01__LCD_D1 0x1010
138MX28_PAD_LCD_D02__LCD_D2 0x1020
139MX28_PAD_LCD_D03__LCD_D3 0x1030
140MX28_PAD_LCD_D04__LCD_D4 0x1040
141MX28_PAD_LCD_D05__LCD_D5 0x1050
142MX28_PAD_LCD_D06__LCD_D6 0x1060
143MX28_PAD_LCD_D07__LCD_D7 0x1070
144MX28_PAD_LCD_D08__LCD_D8 0x1080
145MX28_PAD_LCD_D09__LCD_D9 0x1090
146MX28_PAD_LCD_D10__LCD_D10 0x10a0
147MX28_PAD_LCD_D11__LCD_D11 0x10b0
148MX28_PAD_LCD_D12__LCD_D12 0x10c0
149MX28_PAD_LCD_D13__LCD_D13 0x10d0
150MX28_PAD_LCD_D14__LCD_D14 0x10e0
151MX28_PAD_LCD_D15__LCD_D15 0x10f0
152MX28_PAD_LCD_D16__LCD_D16 0x1100
153MX28_PAD_LCD_D17__LCD_D17 0x1110
154MX28_PAD_LCD_D18__LCD_D18 0x1120
155MX28_PAD_LCD_D19__LCD_D19 0x1130
156MX28_PAD_LCD_D20__LCD_D20 0x1140
157MX28_PAD_LCD_D21__LCD_D21 0x1150
158MX28_PAD_LCD_D22__LCD_D22 0x1160
159MX28_PAD_LCD_D23__LCD_D23 0x1170
160MX28_PAD_LCD_RD_E__LCD_RD_E 0x1180
161MX28_PAD_LCD_WR_RWN__LCD_WR_RWN 0x1190
162MX28_PAD_LCD_RS__LCD_RS 0x11a0
163MX28_PAD_LCD_CS__LCD_CS 0x11b0
164MX28_PAD_LCD_VSYNC__LCD_VSYNC 0x11c0
165MX28_PAD_LCD_HSYNC__LCD_HSYNC 0x11d0
166MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 0x11e0
167MX28_PAD_LCD_ENABLE__LCD_ENABLE 0x11f0
168MX28_PAD_SSP0_DATA0__SSP0_D0 0x2000
169MX28_PAD_SSP0_DATA1__SSP0_D1 0x2010
170MX28_PAD_SSP0_DATA2__SSP0_D2 0x2020
171MX28_PAD_SSP0_DATA3__SSP0_D3 0x2030
172MX28_PAD_SSP0_DATA4__SSP0_D4 0x2040
173MX28_PAD_SSP0_DATA5__SSP0_D5 0x2050
174MX28_PAD_SSP0_DATA6__SSP0_D6 0x2060
175MX28_PAD_SSP0_DATA7__SSP0_D7 0x2070
176MX28_PAD_SSP0_CMD__SSP0_CMD 0x2080
177MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT 0x2090
178MX28_PAD_SSP0_SCK__SSP0_SCK 0x20a0
179MX28_PAD_SSP1_SCK__SSP1_SCK 0x20c0
180MX28_PAD_SSP1_CMD__SSP1_CMD 0x20d0
181MX28_PAD_SSP1_DATA0__SSP1_D0 0x20e0
182MX28_PAD_SSP1_DATA3__SSP1_D3 0x20f0
183MX28_PAD_SSP2_SCK__SSP2_SCK 0x2100
184MX28_PAD_SSP2_MOSI__SSP2_CMD 0x2110
185MX28_PAD_SSP2_MISO__SSP2_D0 0x2120
186MX28_PAD_SSP2_SS0__SSP2_D3 0x2130
187MX28_PAD_SSP2_SS1__SSP2_D4 0x2140
188MX28_PAD_SSP2_SS2__SSP2_D5 0x2150
189MX28_PAD_SSP3_SCK__SSP3_SCK 0x2180
190MX28_PAD_SSP3_MOSI__SSP3_CMD 0x2190
191MX28_PAD_SSP3_MISO__SSP3_D0 0x21a0
192MX28_PAD_SSP3_SS0__SSP3_D3 0x21b0
193MX28_PAD_AUART0_RX__AUART0_RX 0x3000
194MX28_PAD_AUART0_TX__AUART0_TX 0x3010
195MX28_PAD_AUART0_CTS__AUART0_CTS 0x3020
196MX28_PAD_AUART0_RTS__AUART0_RTS 0x3030
197MX28_PAD_AUART1_RX__AUART1_RX 0x3040
198MX28_PAD_AUART1_TX__AUART1_TX 0x3050
199MX28_PAD_AUART1_CTS__AUART1_CTS 0x3060
200MX28_PAD_AUART1_RTS__AUART1_RTS 0x3070
201MX28_PAD_AUART2_RX__AUART2_RX 0x3080
202MX28_PAD_AUART2_TX__AUART2_TX 0x3090
203MX28_PAD_AUART2_CTS__AUART2_CTS 0x30a0
204MX28_PAD_AUART2_RTS__AUART2_RTS 0x30b0
205MX28_PAD_AUART3_RX__AUART3_RX 0x30c0
206MX28_PAD_AUART3_TX__AUART3_TX 0x30d0
207MX28_PAD_AUART3_CTS__AUART3_CTS 0x30e0
208MX28_PAD_AUART3_RTS__AUART3_RTS 0x30f0
209MX28_PAD_PWM0__PWM_0 0x3100
210MX28_PAD_PWM1__PWM_1 0x3110
211MX28_PAD_PWM2__PWM_2 0x3120
212MX28_PAD_SAIF0_MCLK__SAIF0_MCLK 0x3140
213MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK 0x3150
214MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK 0x3160
215MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 0x3170
216MX28_PAD_I2C0_SCL__I2C0_SCL 0x3180
217MX28_PAD_I2C0_SDA__I2C0_SDA 0x3190
218MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 0x31a0
219MX28_PAD_SPDIF__SPDIF_TX 0x31b0
220MX28_PAD_PWM3__PWM_3 0x31c0
221MX28_PAD_PWM4__PWM_4 0x31d0
222MX28_PAD_LCD_RESET__LCD_RESET 0x31e0
223MX28_PAD_ENET0_MDC__ENET0_MDC 0x4000
224MX28_PAD_ENET0_MDIO__ENET0_MDIO 0x4010
225MX28_PAD_ENET0_RX_EN__ENET0_RX_EN 0x4020
226MX28_PAD_ENET0_RXD0__ENET0_RXD0 0x4030
227MX28_PAD_ENET0_RXD1__ENET0_RXD1 0x4040
228MX28_PAD_ENET0_TX_CLK__ENET0_TX_CLK 0x4050
229MX28_PAD_ENET0_TX_EN__ENET0_TX_EN 0x4060
230MX28_PAD_ENET0_TXD0__ENET0_TXD0 0x4070
231MX28_PAD_ENET0_TXD1__ENET0_TXD1 0x4080
232MX28_PAD_ENET0_RXD2__ENET0_RXD2 0x4090
233MX28_PAD_ENET0_RXD3__ENET0_RXD3 0x40a0
234MX28_PAD_ENET0_TXD2__ENET0_TXD2 0x40b0
235MX28_PAD_ENET0_TXD3__ENET0_TXD3 0x40c0
236MX28_PAD_ENET0_RX_CLK__ENET0_RX_CLK 0x40d0
237MX28_PAD_ENET0_COL__ENET0_COL 0x40e0
238MX28_PAD_ENET0_CRS__ENET0_CRS 0x40f0
239MX28_PAD_ENET_CLK__CLKCTRL_ENET 0x4100
240MX28_PAD_JTAG_RTCK__JTAG_RTCK 0x4140
241MX28_PAD_EMI_D00__EMI_DATA0 0x5000
242MX28_PAD_EMI_D01__EMI_DATA1 0x5010
243MX28_PAD_EMI_D02__EMI_DATA2 0x5020
244MX28_PAD_EMI_D03__EMI_DATA3 0x5030
245MX28_PAD_EMI_D04__EMI_DATA4 0x5040
246MX28_PAD_EMI_D05__EMI_DATA5 0x5050
247MX28_PAD_EMI_D06__EMI_DATA6 0x5060
248MX28_PAD_EMI_D07__EMI_DATA7 0x5070
249MX28_PAD_EMI_D08__EMI_DATA8 0x5080
250MX28_PAD_EMI_D09__EMI_DATA9 0x5090
251MX28_PAD_EMI_D10__EMI_DATA10 0x50a0
252MX28_PAD_EMI_D11__EMI_DATA11 0x50b0
253MX28_PAD_EMI_D12__EMI_DATA12 0x50c0
254MX28_PAD_EMI_D13__EMI_DATA13 0x50d0
255MX28_PAD_EMI_D14__EMI_DATA14 0x50e0
256MX28_PAD_EMI_D15__EMI_DATA15 0x50f0
257MX28_PAD_EMI_ODT0__EMI_ODT0 0x5100
258MX28_PAD_EMI_DQM0__EMI_DQM0 0x5110
259MX28_PAD_EMI_ODT1__EMI_ODT1 0x5120
260MX28_PAD_EMI_DQM1__EMI_DQM1 0x5130
261MX28_PAD_EMI_DDR_OPEN_FB__EMI_DDR_OPEN_FEEDBACK 0x5140
262MX28_PAD_EMI_CLK__EMI_CLK 0x5150
263MX28_PAD_EMI_DQS0__EMI_DQS0 0x5160
264MX28_PAD_EMI_DQS1__EMI_DQS1 0x5170
265MX28_PAD_EMI_DDR_OPEN__EMI_DDR_OPEN 0x51a0
266MX28_PAD_EMI_A00__EMI_ADDR0 0x6000
267MX28_PAD_EMI_A01__EMI_ADDR1 0x6010
268MX28_PAD_EMI_A02__EMI_ADDR2 0x6020
269MX28_PAD_EMI_A03__EMI_ADDR3 0x6030
270MX28_PAD_EMI_A04__EMI_ADDR4 0x6040
271MX28_PAD_EMI_A05__EMI_ADDR5 0x6050
272MX28_PAD_EMI_A06__EMI_ADDR6 0x6060
273MX28_PAD_EMI_A07__EMI_ADDR7 0x6070
274MX28_PAD_EMI_A08__EMI_ADDR8 0x6080
275MX28_PAD_EMI_A09__EMI_ADDR9 0x6090
276MX28_PAD_EMI_A10__EMI_ADDR10 0x60a0
277MX28_PAD_EMI_A11__EMI_ADDR11 0x60b0
278MX28_PAD_EMI_A12__EMI_ADDR12 0x60c0
279MX28_PAD_EMI_A13__EMI_ADDR13 0x60d0
280MX28_PAD_EMI_A14__EMI_ADDR14 0x60e0
281MX28_PAD_EMI_BA0__EMI_BA0 0x6100
282MX28_PAD_EMI_BA1__EMI_BA1 0x6110
283MX28_PAD_EMI_BA2__EMI_BA2 0x6120
284MX28_PAD_EMI_CASN__EMI_CASN 0x6130
285MX28_PAD_EMI_RASN__EMI_RASN 0x6140
286MX28_PAD_EMI_WEN__EMI_WEN 0x6150
287MX28_PAD_EMI_CE0N__EMI_CE0N 0x6160
288MX28_PAD_EMI_CE1N__EMI_CE1N 0x6170
289MX28_PAD_EMI_CKE__EMI_CKE 0x6180
290MX28_PAD_GPMI_D00__SSP1_D0 0x0001
291MX28_PAD_GPMI_D01__SSP1_D1 0x0011
292MX28_PAD_GPMI_D02__SSP1_D2 0x0021
293MX28_PAD_GPMI_D03__SSP1_D3 0x0031
294MX28_PAD_GPMI_D04__SSP1_D4 0x0041
295MX28_PAD_GPMI_D05__SSP1_D5 0x0051
296MX28_PAD_GPMI_D06__SSP1_D6 0x0061
297MX28_PAD_GPMI_D07__SSP1_D7 0x0071
298MX28_PAD_GPMI_CE0N__SSP3_D0 0x0101
299MX28_PAD_GPMI_CE1N__SSP3_D3 0x0111
300MX28_PAD_GPMI_CE2N__CAN1_TX 0x0121
301MX28_PAD_GPMI_CE3N__CAN1_RX 0x0131
302MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT 0x0141
303MX28_PAD_GPMI_RDY1__SSP1_CMD 0x0151
304MX28_PAD_GPMI_RDY2__CAN0_TX 0x0161
305MX28_PAD_GPMI_RDY3__CAN0_RX 0x0171
306MX28_PAD_GPMI_RDN__SSP3_SCK 0x0181
307MX28_PAD_GPMI_WRN__SSP1_SCK 0x0191
308MX28_PAD_GPMI_ALE__SSP3_D1 0x01a1
309MX28_PAD_GPMI_CLE__SSP3_D2 0x01b1
310MX28_PAD_GPMI_RESETN__SSP3_CMD 0x01c1
311MX28_PAD_LCD_D03__ETM_DA8 0x1031
312MX28_PAD_LCD_D04__ETM_DA9 0x1041
313MX28_PAD_LCD_D08__ETM_DA3 0x1081
314MX28_PAD_LCD_D09__ETM_DA4 0x1091
315MX28_PAD_LCD_D20__ENET1_1588_EVENT2_OUT 0x1141
316MX28_PAD_LCD_D21__ENET1_1588_EVENT2_IN 0x1151
317MX28_PAD_LCD_D22__ENET1_1588_EVENT3_OUT 0x1161
318MX28_PAD_LCD_D23__ENET1_1588_EVENT3_IN 0x1171
319MX28_PAD_LCD_RD_E__LCD_VSYNC 0x1181
320MX28_PAD_LCD_WR_RWN__LCD_HSYNC 0x1191
321MX28_PAD_LCD_RS__LCD_DOTCLK 0x11a1
322MX28_PAD_LCD_CS__LCD_ENABLE 0x11b1
323MX28_PAD_LCD_VSYNC__SAIF1_SDATA0 0x11c1
324MX28_PAD_LCD_HSYNC__SAIF1_SDATA1 0x11d1
325MX28_PAD_LCD_DOTCLK__SAIF1_MCLK 0x11e1
326MX28_PAD_SSP0_DATA4__SSP2_D0 0x2041
327MX28_PAD_SSP0_DATA5__SSP2_D3 0x2051
328MX28_PAD_SSP0_DATA6__SSP2_CMD 0x2061
329MX28_PAD_SSP0_DATA7__SSP2_SCK 0x2071
330MX28_PAD_SSP1_SCK__SSP2_D1 0x20c1
331MX28_PAD_SSP1_CMD__SSP2_D2 0x20d1
332MX28_PAD_SSP1_DATA0__SSP2_D6 0x20e1
333MX28_PAD_SSP1_DATA3__SSP2_D7 0x20f1
334MX28_PAD_SSP2_SCK__AUART2_RX 0x2101
335MX28_PAD_SSP2_MOSI__AUART2_TX 0x2111
336MX28_PAD_SSP2_MISO__AUART3_RX 0x2121
337MX28_PAD_SSP2_SS0__AUART3_TX 0x2131
338MX28_PAD_SSP2_SS1__SSP2_D1 0x2141
339MX28_PAD_SSP2_SS2__SSP2_D2 0x2151
340MX28_PAD_SSP3_SCK__AUART4_TX 0x2181
341MX28_PAD_SSP3_MOSI__AUART4_RX 0x2191
342MX28_PAD_SSP3_MISO__AUART4_RTS 0x21a1
343MX28_PAD_SSP3_SS0__AUART4_CTS 0x21b1
344MX28_PAD_AUART0_RX__I2C0_SCL 0x3001
345MX28_PAD_AUART0_TX__I2C0_SDA 0x3011
346MX28_PAD_AUART0_CTS__AUART4_RX 0x3021
347MX28_PAD_AUART0_RTS__AUART4_TX 0x3031
348MX28_PAD_AUART1_RX__SSP2_CARD_DETECT 0x3041
349MX28_PAD_AUART1_TX__SSP3_CARD_DETECT 0x3051
350MX28_PAD_AUART1_CTS__USB0_OVERCURRENT 0x3061
351MX28_PAD_AUART1_RTS__USB0_ID 0x3071
352MX28_PAD_AUART2_RX__SSP3_D1 0x3081
353MX28_PAD_AUART2_TX__SSP3_D2 0x3091
354MX28_PAD_AUART2_CTS__I2C1_SCL 0x30a1
355MX28_PAD_AUART2_RTS__I2C1_SDA 0x30b1
356MX28_PAD_AUART3_RX__CAN0_TX 0x30c1
357MX28_PAD_AUART3_TX__CAN0_RX 0x30d1
358MX28_PAD_AUART3_CTS__CAN1_TX 0x30e1
359MX28_PAD_AUART3_RTS__CAN1_RX 0x30f1
360MX28_PAD_PWM0__I2C1_SCL 0x3101
361MX28_PAD_PWM1__I2C1_SDA 0x3111
362MX28_PAD_PWM2__USB0_ID 0x3121
363MX28_PAD_SAIF0_MCLK__PWM_3 0x3141
364MX28_PAD_SAIF0_LRCLK__PWM_4 0x3151
365MX28_PAD_SAIF0_BITCLK__PWM_5 0x3161
366MX28_PAD_SAIF0_SDATA0__PWM_6 0x3171
367MX28_PAD_I2C0_SCL__TIMROT_ROTARYA 0x3181
368MX28_PAD_I2C0_SDA__TIMROT_ROTARYB 0x3191
369MX28_PAD_SAIF1_SDATA0__PWM_7 0x31a1
370MX28_PAD_LCD_RESET__LCD_VSYNC 0x31e1
371MX28_PAD_ENET0_MDC__GPMI_CE4N 0x4001
372MX28_PAD_ENET0_MDIO__GPMI_CE5N 0x4011
373MX28_PAD_ENET0_RX_EN__GPMI_CE6N 0x4021
374MX28_PAD_ENET0_RXD0__GPMI_CE7N 0x4031
375MX28_PAD_ENET0_RXD1__GPMI_READY4 0x4041
376MX28_PAD_ENET0_TX_CLK__HSADC_TRIGGER 0x4051
377MX28_PAD_ENET0_TX_EN__GPMI_READY5 0x4061
378MX28_PAD_ENET0_TXD0__GPMI_READY6 0x4071
379MX28_PAD_ENET0_TXD1__GPMI_READY7 0x4081
380MX28_PAD_ENET0_RXD2__ENET1_RXD0 0x4091
381MX28_PAD_ENET0_RXD3__ENET1_RXD1 0x40a1
382MX28_PAD_ENET0_TXD2__ENET1_TXD0 0x40b1
383MX28_PAD_ENET0_TXD3__ENET1_TXD1 0x40c1
384MX28_PAD_ENET0_RX_CLK__ENET0_RX_ER 0x40d1
385MX28_PAD_ENET0_COL__ENET1_TX_EN 0x40e1
386MX28_PAD_ENET0_CRS__ENET1_RX_EN 0x40f1
387MX28_PAD_GPMI_CE2N__ENET0_RX_ER 0x0122
388MX28_PAD_GPMI_CE3N__SAIF1_MCLK 0x0132
389MX28_PAD_GPMI_RDY0__USB0_ID 0x0142
390MX28_PAD_GPMI_RDY2__ENET0_TX_ER 0x0162
391MX28_PAD_GPMI_RDY3__HSADC_TRIGGER 0x0172
392MX28_PAD_GPMI_ALE__SSP3_D4 0x01a2
393MX28_PAD_GPMI_CLE__SSP3_D5 0x01b2
394MX28_PAD_LCD_D00__ETM_DA0 0x1002
395MX28_PAD_LCD_D01__ETM_DA1 0x1012
396MX28_PAD_LCD_D02__ETM_DA2 0x1022
397MX28_PAD_LCD_D03__ETM_DA3 0x1032
398MX28_PAD_LCD_D04__ETM_DA4 0x1042
399MX28_PAD_LCD_D05__ETM_DA5 0x1052
400MX28_PAD_LCD_D06__ETM_DA6 0x1062
401MX28_PAD_LCD_D07__ETM_DA7 0x1072
402MX28_PAD_LCD_D08__ETM_DA8 0x1082
403MX28_PAD_LCD_D09__ETM_DA9 0x1092
404MX28_PAD_LCD_D10__ETM_DA10 0x10a2
405MX28_PAD_LCD_D11__ETM_DA11 0x10b2
406MX28_PAD_LCD_D12__ETM_DA12 0x10c2
407MX28_PAD_LCD_D13__ETM_DA13 0x10d2
408MX28_PAD_LCD_D14__ETM_DA14 0x10e2
409MX28_PAD_LCD_D15__ETM_DA15 0x10f2
410MX28_PAD_LCD_D16__ETM_DA7 0x1102
411MX28_PAD_LCD_D17__ETM_DA6 0x1112
412MX28_PAD_LCD_D18__ETM_DA5 0x1122
413MX28_PAD_LCD_D19__ETM_DA4 0x1132
414MX28_PAD_LCD_D20__ETM_DA3 0x1142
415MX28_PAD_LCD_D21__ETM_DA2 0x1152
416MX28_PAD_LCD_D22__ETM_DA1 0x1162
417MX28_PAD_LCD_D23__ETM_DA0 0x1172
418MX28_PAD_LCD_RD_E__ETM_TCTL 0x1182
419MX28_PAD_LCD_WR_RWN__ETM_TCLK 0x1192
420MX28_PAD_LCD_HSYNC__ETM_TCTL 0x11d2
421MX28_PAD_LCD_DOTCLK__ETM_TCLK 0x11e2
422MX28_PAD_SSP1_SCK__ENET0_1588_EVENT2_OUT 0x20c2
423MX28_PAD_SSP1_CMD__ENET0_1588_EVENT2_IN 0x20d2
424MX28_PAD_SSP1_DATA0__ENET0_1588_EVENT3_OUT 0x20e2
425MX28_PAD_SSP1_DATA3__ENET0_1588_EVENT3_IN 0x20f2
426MX28_PAD_SSP2_SCK__SAIF0_SDATA1 0x2102
427MX28_PAD_SSP2_MOSI__SAIF0_SDATA2 0x2112
428MX28_PAD_SSP2_MISO__SAIF1_SDATA1 0x2122
429MX28_PAD_SSP2_SS0__SAIF1_SDATA2 0x2132
430MX28_PAD_SSP2_SS1__USB1_OVERCURRENT 0x2142
431MX28_PAD_SSP2_SS2__USB0_OVERCURRENT 0x2152
432MX28_PAD_SSP3_SCK__ENET1_1588_EVENT0_OUT 0x2182
433MX28_PAD_SSP3_MOSI__ENET1_1588_EVENT0_IN 0x2192
434MX28_PAD_SSP3_MISO__ENET1_1588_EVENT1_OUT 0x21a2
435MX28_PAD_SSP3_SS0__ENET1_1588_EVENT1_IN 0x21b2
436MX28_PAD_AUART0_RX__DUART_CTS 0x3002
437MX28_PAD_AUART0_TX__DUART_RTS 0x3012
438MX28_PAD_AUART0_CTS__DUART_RX 0x3022
439MX28_PAD_AUART0_RTS__DUART_TX 0x3032
440MX28_PAD_AUART1_RX__PWM_0 0x3042
441MX28_PAD_AUART1_TX__PWM_1 0x3052
442MX28_PAD_AUART1_CTS__TIMROT_ROTARYA 0x3062
443MX28_PAD_AUART1_RTS__TIMROT_ROTARYB 0x3072
444MX28_PAD_AUART2_RX__SSP3_D4 0x3082
445MX28_PAD_AUART2_TX__SSP3_D5 0x3092
446MX28_PAD_AUART2_CTS__SAIF1_BITCLK 0x30a2
447MX28_PAD_AUART2_RTS__SAIF1_LRCLK 0x30b2
448MX28_PAD_AUART3_RX__ENET0_1588_EVENT0_OUT 0x30c2
449MX28_PAD_AUART3_TX__ENET0_1588_EVENT0_IN 0x30d2
450MX28_PAD_AUART3_CTS__ENET0_1588_EVENT1_OUT 0x30e2
451MX28_PAD_AUART3_RTS__ENET0_1588_EVENT1_IN 0x30f2
452MX28_PAD_PWM0__DUART_RX 0x3102
453MX28_PAD_PWM1__DUART_TX 0x3112
454MX28_PAD_PWM2__USB1_OVERCURRENT 0x3122
455MX28_PAD_SAIF0_MCLK__AUART4_CTS 0x3142
456MX28_PAD_SAIF0_LRCLK__AUART4_RTS 0x3152
457MX28_PAD_SAIF0_BITCLK__AUART4_RX 0x3162
458MX28_PAD_SAIF0_SDATA0__AUART4_TX 0x3172
459MX28_PAD_I2C0_SCL__DUART_RX 0x3182
460MX28_PAD_I2C0_SDA__DUART_TX 0x3192
461MX28_PAD_SAIF1_SDATA0__SAIF0_SDATA1 0x31a2
462MX28_PAD_SPDIF__ENET1_RX_ER 0x31b2
463MX28_PAD_ENET0_MDC__SAIF0_SDATA1 0x4002
464MX28_PAD_ENET0_MDIO__SAIF0_SDATA2 0x4012
465MX28_PAD_ENET0_RX_EN__SAIF1_SDATA1 0x4022
466MX28_PAD_ENET0_RXD0__SAIF1_SDATA2 0x4032
467MX28_PAD_ENET0_TX_CLK__ENET0_1588_EVENT2_OUT 0x4052
468MX28_PAD_ENET0_RXD2__ENET0_1588_EVENT0_OUT 0x4092
469MX28_PAD_ENET0_RXD3__ENET0_1588_EVENT0_IN 0x40a2
470MX28_PAD_ENET0_TXD2__ENET0_1588_EVENT1_OUT 0x40b2
471MX28_PAD_ENET0_TXD3__ENET0_1588_EVENT1_IN 0x40c2
472MX28_PAD_ENET0_RX_CLK__ENET0_1588_EVENT2_IN 0x40d2
473MX28_PAD_ENET0_COL__ENET0_1588_EVENT3_OUT 0x40e2
474MX28_PAD_ENET0_CRS__ENET0_1588_EVENT3_IN 0x40f2
475MX28_PAD_GPMI_D00__GPIO_0_0 0x0003
476MX28_PAD_GPMI_D01__GPIO_0_1 0x0013
477MX28_PAD_GPMI_D02__GPIO_0_2 0x0023
478MX28_PAD_GPMI_D03__GPIO_0_3 0x0033
479MX28_PAD_GPMI_D04__GPIO_0_4 0x0043
480MX28_PAD_GPMI_D05__GPIO_0_5 0x0053
481MX28_PAD_GPMI_D06__GPIO_0_6 0x0063
482MX28_PAD_GPMI_D07__GPIO_0_7 0x0073
483MX28_PAD_GPMI_CE0N__GPIO_0_16 0x0103
484MX28_PAD_GPMI_CE1N__GPIO_0_17 0x0113
485MX28_PAD_GPMI_CE2N__GPIO_0_18 0x0123
486MX28_PAD_GPMI_CE3N__GPIO_0_19 0x0133
487MX28_PAD_GPMI_RDY0__GPIO_0_20 0x0143
488MX28_PAD_GPMI_RDY1__GPIO_0_21 0x0153
489MX28_PAD_GPMI_RDY2__GPIO_0_22 0x0163
490MX28_PAD_GPMI_RDY3__GPIO_0_23 0x0173
491MX28_PAD_GPMI_RDN__GPIO_0_24 0x0183
492MX28_PAD_GPMI_WRN__GPIO_0_25 0x0193
493MX28_PAD_GPMI_ALE__GPIO_0_26 0x01a3
494MX28_PAD_GPMI_CLE__GPIO_0_27 0x01b3
495MX28_PAD_GPMI_RESETN__GPIO_0_28 0x01c3
496MX28_PAD_LCD_D00__GPIO_1_0 0x1003
497MX28_PAD_LCD_D01__GPIO_1_1 0x1013
498MX28_PAD_LCD_D02__GPIO_1_2 0x1023
499MX28_PAD_LCD_D03__GPIO_1_3 0x1033
500MX28_PAD_LCD_D04__GPIO_1_4 0x1043
501MX28_PAD_LCD_D05__GPIO_1_5 0x1053
502MX28_PAD_LCD_D06__GPIO_1_6 0x1063
503MX28_PAD_LCD_D07__GPIO_1_7 0x1073
504MX28_PAD_LCD_D08__GPIO_1_8 0x1083
505MX28_PAD_LCD_D09__GPIO_1_9 0x1093
506MX28_PAD_LCD_D10__GPIO_1_10 0x10a3
507MX28_PAD_LCD_D11__GPIO_1_11 0x10b3
508MX28_PAD_LCD_D12__GPIO_1_12 0x10c3
509MX28_PAD_LCD_D13__GPIO_1_13 0x10d3
510MX28_PAD_LCD_D14__GPIO_1_14 0x10e3
511MX28_PAD_LCD_D15__GPIO_1_15 0x10f3
512MX28_PAD_LCD_D16__GPIO_1_16 0x1103
513MX28_PAD_LCD_D17__GPIO_1_17 0x1113
514MX28_PAD_LCD_D18__GPIO_1_18 0x1123
515MX28_PAD_LCD_D19__GPIO_1_19 0x1133
516MX28_PAD_LCD_D20__GPIO_1_20 0x1143
517MX28_PAD_LCD_D21__GPIO_1_21 0x1153
518MX28_PAD_LCD_D22__GPIO_1_22 0x1163
519MX28_PAD_LCD_D23__GPIO_1_23 0x1173
520MX28_PAD_LCD_RD_E__GPIO_1_24 0x1183
521MX28_PAD_LCD_WR_RWN__GPIO_1_25 0x1193
522MX28_PAD_LCD_RS__GPIO_1_26 0x11a3
523MX28_PAD_LCD_CS__GPIO_1_27 0x11b3
524MX28_PAD_LCD_VSYNC__GPIO_1_28 0x11c3
525MX28_PAD_LCD_HSYNC__GPIO_1_29 0x11d3
526MX28_PAD_LCD_DOTCLK__GPIO_1_30 0x11e3
527MX28_PAD_LCD_ENABLE__GPIO_1_31 0x11f3
528MX28_PAD_SSP0_DATA0__GPIO_2_0 0x2003
529MX28_PAD_SSP0_DATA1__GPIO_2_1 0x2013
530MX28_PAD_SSP0_DATA2__GPIO_2_2 0x2023
531MX28_PAD_SSP0_DATA3__GPIO_2_3 0x2033
532MX28_PAD_SSP0_DATA4__GPIO_2_4 0x2043
533MX28_PAD_SSP0_DATA5__GPIO_2_5 0x2053
534MX28_PAD_SSP0_DATA6__GPIO_2_6 0x2063
535MX28_PAD_SSP0_DATA7__GPIO_2_7 0x2073
536MX28_PAD_SSP0_CMD__GPIO_2_8 0x2083
537MX28_PAD_SSP0_DETECT__GPIO_2_9 0x2093
538MX28_PAD_SSP0_SCK__GPIO_2_10 0x20a3
539MX28_PAD_SSP1_SCK__GPIO_2_12 0x20c3
540MX28_PAD_SSP1_CMD__GPIO_2_13 0x20d3
541MX28_PAD_SSP1_DATA0__GPIO_2_14 0x20e3
542MX28_PAD_SSP1_DATA3__GPIO_2_15 0x20f3
543MX28_PAD_SSP2_SCK__GPIO_2_16 0x2103
544MX28_PAD_SSP2_MOSI__GPIO_2_17 0x2113
545MX28_PAD_SSP2_MISO__GPIO_2_18 0x2123
546MX28_PAD_SSP2_SS0__GPIO_2_19 0x2133
547MX28_PAD_SSP2_SS1__GPIO_2_20 0x2143
548MX28_PAD_SSP2_SS2__GPIO_2_21 0x2153
549MX28_PAD_SSP3_SCK__GPIO_2_24 0x2183
550MX28_PAD_SSP3_MOSI__GPIO_2_25 0x2193
551MX28_PAD_SSP3_MISO__GPIO_2_26 0x21a3
552MX28_PAD_SSP3_SS0__GPIO_2_27 0x21b3
553MX28_PAD_AUART0_RX__GPIO_3_0 0x3003
554MX28_PAD_AUART0_TX__GPIO_3_1 0x3013
555MX28_PAD_AUART0_CTS__GPIO_3_2 0x3023
556MX28_PAD_AUART0_RTS__GPIO_3_3 0x3033
557MX28_PAD_AUART1_RX__GPIO_3_4 0x3043
558MX28_PAD_AUART1_TX__GPIO_3_5 0x3053
559MX28_PAD_AUART1_CTS__GPIO_3_6 0x3063
560MX28_PAD_AUART1_RTS__GPIO_3_7 0x3073
561MX28_PAD_AUART2_RX__GPIO_3_8 0x3083
562MX28_PAD_AUART2_TX__GPIO_3_9 0x3093
563MX28_PAD_AUART2_CTS__GPIO_3_10 0x30a3
564MX28_PAD_AUART2_RTS__GPIO_3_11 0x30b3
565MX28_PAD_AUART3_RX__GPIO_3_12 0x30c3
566MX28_PAD_AUART3_TX__GPIO_3_13 0x30d3
567MX28_PAD_AUART3_CTS__GPIO_3_14 0x30e3
568MX28_PAD_AUART3_RTS__GPIO_3_15 0x30f3
569MX28_PAD_PWM0__GPIO_3_16 0x3103
570MX28_PAD_PWM1__GPIO_3_17 0x3113
571MX28_PAD_PWM2__GPIO_3_18 0x3123
572MX28_PAD_SAIF0_MCLK__GPIO_3_20 0x3143
573MX28_PAD_SAIF0_LRCLK__GPIO_3_21 0x3153
574MX28_PAD_SAIF0_BITCLK__GPIO_3_22 0x3163
575MX28_PAD_SAIF0_SDATA0__GPIO_3_23 0x3173
576MX28_PAD_I2C0_SCL__GPIO_3_24 0x3183
577MX28_PAD_I2C0_SDA__GPIO_3_25 0x3193
578MX28_PAD_SAIF1_SDATA0__GPIO_3_26 0x31a3
579MX28_PAD_SPDIF__GPIO_3_27 0x31b3
580MX28_PAD_PWM3__GPIO_3_28 0x31c3
581MX28_PAD_PWM4__GPIO_3_29 0x31d3
582MX28_PAD_LCD_RESET__GPIO_3_30 0x31e3
583MX28_PAD_ENET0_MDC__GPIO_4_0 0x4003
584MX28_PAD_ENET0_MDIO__GPIO_4_1 0x4013
585MX28_PAD_ENET0_RX_EN__GPIO_4_2 0x4023
586MX28_PAD_ENET0_RXD0__GPIO_4_3 0x4033
587MX28_PAD_ENET0_RXD1__GPIO_4_4 0x4043
588MX28_PAD_ENET0_TX_CLK__GPIO_4_5 0x4053
589MX28_PAD_ENET0_TX_EN__GPIO_4_6 0x4063
590MX28_PAD_ENET0_TXD0__GPIO_4_7 0x4073
591MX28_PAD_ENET0_TXD1__GPIO_4_8 0x4083
592MX28_PAD_ENET0_RXD2__GPIO_4_9 0x4093
593MX28_PAD_ENET0_RXD3__GPIO_4_10 0x40a3
594MX28_PAD_ENET0_TXD2__GPIO_4_11 0x40b3
595MX28_PAD_ENET0_TXD3__GPIO_4_12 0x40c3
596MX28_PAD_ENET0_RX_CLK__GPIO_4_13 0x40d3
597MX28_PAD_ENET0_COL__GPIO_4_14 0x40e3
598MX28_PAD_ENET0_CRS__GPIO_4_15 0x40f3
599MX28_PAD_ENET_CLK__GPIO_4_16 0x4103
600MX28_PAD_JTAG_RTCK__GPIO_4_20 0x4143
601
602Valid values for i.MX23 pinmux-id:
603
604pinmux id
605------ --
606MX23_PAD_GPMI_D00__GPMI_D00 0x0000
607MX23_PAD_GPMI_D01__GPMI_D01 0x0010
608MX23_PAD_GPMI_D02__GPMI_D02 0x0020
609MX23_PAD_GPMI_D03__GPMI_D03 0x0030
610MX23_PAD_GPMI_D04__GPMI_D04 0x0040
611MX23_PAD_GPMI_D05__GPMI_D05 0x0050
612MX23_PAD_GPMI_D06__GPMI_D06 0x0060
613MX23_PAD_GPMI_D07__GPMI_D07 0x0070
614MX23_PAD_GPMI_D08__GPMI_D08 0x0080
615MX23_PAD_GPMI_D09__GPMI_D09 0x0090
616MX23_PAD_GPMI_D10__GPMI_D10 0x00a0
617MX23_PAD_GPMI_D11__GPMI_D11 0x00b0
618MX23_PAD_GPMI_D12__GPMI_D12 0x00c0
619MX23_PAD_GPMI_D13__GPMI_D13 0x00d0
620MX23_PAD_GPMI_D14__GPMI_D14 0x00e0
621MX23_PAD_GPMI_D15__GPMI_D15 0x00f0
622MX23_PAD_GPMI_CLE__GPMI_CLE 0x0100
623MX23_PAD_GPMI_ALE__GPMI_ALE 0x0110
624MX23_PAD_GPMI_CE2N__GPMI_CE2N 0x0120
625MX23_PAD_GPMI_RDY0__GPMI_RDY0 0x0130
626MX23_PAD_GPMI_RDY1__GPMI_RDY1 0x0140
627MX23_PAD_GPMI_RDY2__GPMI_RDY2 0x0150
628MX23_PAD_GPMI_RDY3__GPMI_RDY3 0x0160
629MX23_PAD_GPMI_WPN__GPMI_WPN 0x0170
630MX23_PAD_GPMI_WRN__GPMI_WRN 0x0180
631MX23_PAD_GPMI_RDN__GPMI_RDN 0x0190
632MX23_PAD_AUART1_CTS__AUART1_CTS 0x01a0
633MX23_PAD_AUART1_RTS__AUART1_RTS 0x01b0
634MX23_PAD_AUART1_RX__AUART1_RX 0x01c0
635MX23_PAD_AUART1_TX__AUART1_TX 0x01d0
636MX23_PAD_I2C_SCL__I2C_SCL 0x01e0
637MX23_PAD_I2C_SDA__I2C_SDA 0x01f0
638MX23_PAD_LCD_D00__LCD_D00 0x1000
639MX23_PAD_LCD_D01__LCD_D01 0x1010
640MX23_PAD_LCD_D02__LCD_D02 0x1020
641MX23_PAD_LCD_D03__LCD_D03 0x1030
642MX23_PAD_LCD_D04__LCD_D04 0x1040
643MX23_PAD_LCD_D05__LCD_D05 0x1050
644MX23_PAD_LCD_D06__LCD_D06 0x1060
645MX23_PAD_LCD_D07__LCD_D07 0x1070
646MX23_PAD_LCD_D08__LCD_D08 0x1080
647MX23_PAD_LCD_D09__LCD_D09 0x1090
648MX23_PAD_LCD_D10__LCD_D10 0x10a0
649MX23_PAD_LCD_D11__LCD_D11 0x10b0
650MX23_PAD_LCD_D12__LCD_D12 0x10c0
651MX23_PAD_LCD_D13__LCD_D13 0x10d0
652MX23_PAD_LCD_D14__LCD_D14 0x10e0
653MX23_PAD_LCD_D15__LCD_D15 0x10f0
654MX23_PAD_LCD_D16__LCD_D16 0x1100
655MX23_PAD_LCD_D17__LCD_D17 0x1110
656MX23_PAD_LCD_RESET__LCD_RESET 0x1120
657MX23_PAD_LCD_RS__LCD_RS 0x1130
658MX23_PAD_LCD_WR__LCD_WR 0x1140
659MX23_PAD_LCD_CS__LCD_CS 0x1150
660MX23_PAD_LCD_DOTCK__LCD_DOTCK 0x1160
661MX23_PAD_LCD_ENABLE__LCD_ENABLE 0x1170
662MX23_PAD_LCD_HSYNC__LCD_HSYNC 0x1180
663MX23_PAD_LCD_VSYNC__LCD_VSYNC 0x1190
664MX23_PAD_PWM0__PWM0 0x11a0
665MX23_PAD_PWM1__PWM1 0x11b0
666MX23_PAD_PWM2__PWM2 0x11c0
667MX23_PAD_PWM3__PWM3 0x11d0
668MX23_PAD_PWM4__PWM4 0x11e0
669MX23_PAD_SSP1_CMD__SSP1_CMD 0x2000
670MX23_PAD_SSP1_DETECT__SSP1_DETECT 0x2010
671MX23_PAD_SSP1_DATA0__SSP1_DATA0 0x2020
672MX23_PAD_SSP1_DATA1__SSP1_DATA1 0x2030
673MX23_PAD_SSP1_DATA2__SSP1_DATA2 0x2040
674MX23_PAD_SSP1_DATA3__SSP1_DATA3 0x2050
675MX23_PAD_SSP1_SCK__SSP1_SCK 0x2060
676MX23_PAD_ROTARYA__ROTARYA 0x2070
677MX23_PAD_ROTARYB__ROTARYB 0x2080
678MX23_PAD_EMI_A00__EMI_A00 0x2090
679MX23_PAD_EMI_A01__EMI_A01 0x20a0
680MX23_PAD_EMI_A02__EMI_A02 0x20b0
681MX23_PAD_EMI_A03__EMI_A03 0x20c0
682MX23_PAD_EMI_A04__EMI_A04 0x20d0
683MX23_PAD_EMI_A05__EMI_A05 0x20e0
684MX23_PAD_EMI_A06__EMI_A06 0x20f0
685MX23_PAD_EMI_A07__EMI_A07 0x2100
686MX23_PAD_EMI_A08__EMI_A08 0x2110
687MX23_PAD_EMI_A09__EMI_A09 0x2120
688MX23_PAD_EMI_A10__EMI_A10 0x2130
689MX23_PAD_EMI_A11__EMI_A11 0x2140
690MX23_PAD_EMI_A12__EMI_A12 0x2150
691MX23_PAD_EMI_BA0__EMI_BA0 0x2160
692MX23_PAD_EMI_BA1__EMI_BA1 0x2170
693MX23_PAD_EMI_CASN__EMI_CASN 0x2180
694MX23_PAD_EMI_CE0N__EMI_CE0N 0x2190
695MX23_PAD_EMI_CE1N__EMI_CE1N 0x21a0
696MX23_PAD_GPMI_CE1N__GPMI_CE1N 0x21b0
697MX23_PAD_GPMI_CE0N__GPMI_CE0N 0x21c0
698MX23_PAD_EMI_CKE__EMI_CKE 0x21d0
699MX23_PAD_EMI_RASN__EMI_RASN 0x21e0
700MX23_PAD_EMI_WEN__EMI_WEN 0x21f0
701MX23_PAD_EMI_D00__EMI_D00 0x3000
702MX23_PAD_EMI_D01__EMI_D01 0x3010
703MX23_PAD_EMI_D02__EMI_D02 0x3020
704MX23_PAD_EMI_D03__EMI_D03 0x3030
705MX23_PAD_EMI_D04__EMI_D04 0x3040
706MX23_PAD_EMI_D05__EMI_D05 0x3050
707MX23_PAD_EMI_D06__EMI_D06 0x3060
708MX23_PAD_EMI_D07__EMI_D07 0x3070
709MX23_PAD_EMI_D08__EMI_D08 0x3080
710MX23_PAD_EMI_D09__EMI_D09 0x3090
711MX23_PAD_EMI_D10__EMI_D10 0x30a0
712MX23_PAD_EMI_D11__EMI_D11 0x30b0
713MX23_PAD_EMI_D12__EMI_D12 0x30c0
714MX23_PAD_EMI_D13__EMI_D13 0x30d0
715MX23_PAD_EMI_D14__EMI_D14 0x30e0
716MX23_PAD_EMI_D15__EMI_D15 0x30f0
717MX23_PAD_EMI_DQM0__EMI_DQM0 0x3100
718MX23_PAD_EMI_DQM1__EMI_DQM1 0x3110
719MX23_PAD_EMI_DQS0__EMI_DQS0 0x3120
720MX23_PAD_EMI_DQS1__EMI_DQS1 0x3130
721MX23_PAD_EMI_CLK__EMI_CLK 0x3140
722MX23_PAD_EMI_CLKN__EMI_CLKN 0x3150
723MX23_PAD_GPMI_D00__LCD_D8 0x0001
724MX23_PAD_GPMI_D01__LCD_D9 0x0011
725MX23_PAD_GPMI_D02__LCD_D10 0x0021
726MX23_PAD_GPMI_D03__LCD_D11 0x0031
727MX23_PAD_GPMI_D04__LCD_D12 0x0041
728MX23_PAD_GPMI_D05__LCD_D13 0x0051
729MX23_PAD_GPMI_D06__LCD_D14 0x0061
730MX23_PAD_GPMI_D07__LCD_D15 0x0071
731MX23_PAD_GPMI_D08__LCD_D18 0x0081
732MX23_PAD_GPMI_D09__LCD_D19 0x0091
733MX23_PAD_GPMI_D10__LCD_D20 0x00a1
734MX23_PAD_GPMI_D11__LCD_D21 0x00b1
735MX23_PAD_GPMI_D12__LCD_D22 0x00c1
736MX23_PAD_GPMI_D13__LCD_D23 0x00d1
737MX23_PAD_GPMI_D14__AUART2_RX 0x00e1
738MX23_PAD_GPMI_D15__AUART2_TX 0x00f1
739MX23_PAD_GPMI_CLE__LCD_D16 0x0101
740MX23_PAD_GPMI_ALE__LCD_D17 0x0111
741MX23_PAD_GPMI_CE2N__ATA_A2 0x0121
742MX23_PAD_AUART1_RTS__IR_CLK 0x01b1
743MX23_PAD_AUART1_RX__IR_RX 0x01c1
744MX23_PAD_AUART1_TX__IR_TX 0x01d1
745MX23_PAD_I2C_SCL__GPMI_RDY2 0x01e1
746MX23_PAD_I2C_SDA__GPMI_CE2N 0x01f1
747MX23_PAD_LCD_D00__ETM_DA8 0x1001
748MX23_PAD_LCD_D01__ETM_DA9 0x1011
749MX23_PAD_LCD_D02__ETM_DA10 0x1021
750MX23_PAD_LCD_D03__ETM_DA11 0x1031
751MX23_PAD_LCD_D04__ETM_DA12 0x1041
752MX23_PAD_LCD_D05__ETM_DA13 0x1051
753MX23_PAD_LCD_D06__ETM_DA14 0x1061
754MX23_PAD_LCD_D07__ETM_DA15 0x1071
755MX23_PAD_LCD_D08__ETM_DA0 0x1081
756MX23_PAD_LCD_D09__ETM_DA1 0x1091
757MX23_PAD_LCD_D10__ETM_DA2 0x10a1
758MX23_PAD_LCD_D11__ETM_DA3 0x10b1
759MX23_PAD_LCD_D12__ETM_DA4 0x10c1
760MX23_PAD_LCD_D13__ETM_DA5 0x10d1
761MX23_PAD_LCD_D14__ETM_DA6 0x10e1
762MX23_PAD_LCD_D15__ETM_DA7 0x10f1
763MX23_PAD_LCD_RESET__ETM_TCTL 0x1121
764MX23_PAD_LCD_RS__ETM_TCLK 0x1131
765MX23_PAD_LCD_DOTCK__GPMI_RDY3 0x1161
766MX23_PAD_LCD_ENABLE__I2C_SCL 0x1171
767MX23_PAD_LCD_HSYNC__I2C_SDA 0x1181
768MX23_PAD_LCD_VSYNC__LCD_BUSY 0x1191
769MX23_PAD_PWM0__ROTARYA 0x11a1
770MX23_PAD_PWM1__ROTARYB 0x11b1
771MX23_PAD_PWM2__GPMI_RDY3 0x11c1
772MX23_PAD_PWM3__ETM_TCTL 0x11d1
773MX23_PAD_PWM4__ETM_TCLK 0x11e1
774MX23_PAD_SSP1_DETECT__GPMI_CE3N 0x2011
775MX23_PAD_SSP1_DATA1__I2C_SCL 0x2031
776MX23_PAD_SSP1_DATA2__I2C_SDA 0x2041
777MX23_PAD_ROTARYA__AUART2_RTS 0x2071
778MX23_PAD_ROTARYB__AUART2_CTS 0x2081
779MX23_PAD_GPMI_D00__SSP2_DATA0 0x0002
780MX23_PAD_GPMI_D01__SSP2_DATA1 0x0012
781MX23_PAD_GPMI_D02__SSP2_DATA2 0x0022
782MX23_PAD_GPMI_D03__SSP2_DATA3 0x0032
783MX23_PAD_GPMI_D04__SSP2_DATA4 0x0042
784MX23_PAD_GPMI_D05__SSP2_DATA5 0x0052
785MX23_PAD_GPMI_D06__SSP2_DATA6 0x0062
786MX23_PAD_GPMI_D07__SSP2_DATA7 0x0072
787MX23_PAD_GPMI_D08__SSP1_DATA4 0x0082
788MX23_PAD_GPMI_D09__SSP1_DATA5 0x0092
789MX23_PAD_GPMI_D10__SSP1_DATA6 0x00a2
790MX23_PAD_GPMI_D11__SSP1_DATA7 0x00b2
791MX23_PAD_GPMI_D15__GPMI_CE3N 0x00f2
792MX23_PAD_GPMI_RDY0__SSP2_DETECT 0x0132
793MX23_PAD_GPMI_RDY1__SSP2_CMD 0x0142
794MX23_PAD_GPMI_WRN__SSP2_SCK 0x0182
795MX23_PAD_AUART1_CTS__SSP1_DATA4 0x01a2
796MX23_PAD_AUART1_RTS__SSP1_DATA5 0x01b2
797MX23_PAD_AUART1_RX__SSP1_DATA6 0x01c2
798MX23_PAD_AUART1_TX__SSP1_DATA7 0x01d2
799MX23_PAD_I2C_SCL__AUART1_TX 0x01e2
800MX23_PAD_I2C_SDA__AUART1_RX 0x01f2
801MX23_PAD_LCD_D08__SAIF2_SDATA0 0x1082
802MX23_PAD_LCD_D09__SAIF1_SDATA0 0x1092
803MX23_PAD_LCD_D10__SAIF_MCLK_BITCLK 0x10a2
804MX23_PAD_LCD_D11__SAIF_LRCLK 0x10b2
805MX23_PAD_LCD_D12__SAIF2_SDATA1 0x10c2
806MX23_PAD_LCD_D13__SAIF2_SDATA2 0x10d2
807MX23_PAD_LCD_D14__SAIF1_SDATA2 0x10e2
808MX23_PAD_LCD_D15__SAIF1_SDATA1 0x10f2
809MX23_PAD_LCD_D16__SAIF_ALT_BITCLK 0x1102
810MX23_PAD_LCD_RESET__GPMI_CE3N 0x1122
811MX23_PAD_PWM0__DUART_RX 0x11a2
812MX23_PAD_PWM1__DUART_TX 0x11b2
813MX23_PAD_PWM3__AUART1_CTS 0x11d2
814MX23_PAD_PWM4__AUART1_RTS 0x11e2
815MX23_PAD_SSP1_CMD__JTAG_TDO 0x2002
816MX23_PAD_SSP1_DETECT__USB_OTG_ID 0x2012
817MX23_PAD_SSP1_DATA0__JTAG_TDI 0x2022
818MX23_PAD_SSP1_DATA1__JTAG_TCLK 0x2032
819MX23_PAD_SSP1_DATA2__JTAG_RTCK 0x2042
820MX23_PAD_SSP1_DATA3__JTAG_TMS 0x2052
821MX23_PAD_SSP1_SCK__JTAG_TRST 0x2062
822MX23_PAD_ROTARYA__SPDIF 0x2072
823MX23_PAD_ROTARYB__GPMI_CE3N 0x2082
824MX23_PAD_GPMI_D00__GPIO_0_0 0x0003
825MX23_PAD_GPMI_D01__GPIO_0_1 0x0013
826MX23_PAD_GPMI_D02__GPIO_0_2 0x0023
827MX23_PAD_GPMI_D03__GPIO_0_3 0x0033
828MX23_PAD_GPMI_D04__GPIO_0_4 0x0043
829MX23_PAD_GPMI_D05__GPIO_0_5 0x0053
830MX23_PAD_GPMI_D06__GPIO_0_6 0x0063
831MX23_PAD_GPMI_D07__GPIO_0_7 0x0073
832MX23_PAD_GPMI_D08__GPIO_0_8 0x0083
833MX23_PAD_GPMI_D09__GPIO_0_9 0x0093
834MX23_PAD_GPMI_D10__GPIO_0_10 0x00a3
835MX23_PAD_GPMI_D11__GPIO_0_11 0x00b3
836MX23_PAD_GPMI_D12__GPIO_0_12 0x00c3
837MX23_PAD_GPMI_D13__GPIO_0_13 0x00d3
838MX23_PAD_GPMI_D14__GPIO_0_14 0x00e3
839MX23_PAD_GPMI_D15__GPIO_0_15 0x00f3
840MX23_PAD_GPMI_CLE__GPIO_0_16 0x0103
841MX23_PAD_GPMI_ALE__GPIO_0_17 0x0113
842MX23_PAD_GPMI_CE2N__GPIO_0_18 0x0123
843MX23_PAD_GPMI_RDY0__GPIO_0_19 0x0133
844MX23_PAD_GPMI_RDY1__GPIO_0_20 0x0143
845MX23_PAD_GPMI_RDY2__GPIO_0_21 0x0153
846MX23_PAD_GPMI_RDY3__GPIO_0_22 0x0163
847MX23_PAD_GPMI_WPN__GPIO_0_23 0x0173
848MX23_PAD_GPMI_WRN__GPIO_0_24 0x0183
849MX23_PAD_GPMI_RDN__GPIO_0_25 0x0193
850MX23_PAD_AUART1_CTS__GPIO_0_26 0x01a3
851MX23_PAD_AUART1_RTS__GPIO_0_27 0x01b3
852MX23_PAD_AUART1_RX__GPIO_0_28 0x01c3
853MX23_PAD_AUART1_TX__GPIO_0_29 0x01d3
854MX23_PAD_I2C_SCL__GPIO_0_30 0x01e3
855MX23_PAD_I2C_SDA__GPIO_0_31 0x01f3
856MX23_PAD_LCD_D00__GPIO_1_0 0x1003
857MX23_PAD_LCD_D01__GPIO_1_1 0x1013
858MX23_PAD_LCD_D02__GPIO_1_2 0x1023
859MX23_PAD_LCD_D03__GPIO_1_3 0x1033
860MX23_PAD_LCD_D04__GPIO_1_4 0x1043
861MX23_PAD_LCD_D05__GPIO_1_5 0x1053
862MX23_PAD_LCD_D06__GPIO_1_6 0x1063
863MX23_PAD_LCD_D07__GPIO_1_7 0x1073
864MX23_PAD_LCD_D08__GPIO_1_8 0x1083
865MX23_PAD_LCD_D09__GPIO_1_9 0x1093
866MX23_PAD_LCD_D10__GPIO_1_10 0x10a3
867MX23_PAD_LCD_D11__GPIO_1_11 0x10b3
868MX23_PAD_LCD_D12__GPIO_1_12 0x10c3
869MX23_PAD_LCD_D13__GPIO_1_13 0x10d3
870MX23_PAD_LCD_D14__GPIO_1_14 0x10e3
871MX23_PAD_LCD_D15__GPIO_1_15 0x10f3
872MX23_PAD_LCD_D16__GPIO_1_16 0x1103
873MX23_PAD_LCD_D17__GPIO_1_17 0x1113
874MX23_PAD_LCD_RESET__GPIO_1_18 0x1123
875MX23_PAD_LCD_RS__GPIO_1_19 0x1133
876MX23_PAD_LCD_WR__GPIO_1_20 0x1143
877MX23_PAD_LCD_CS__GPIO_1_21 0x1153
878MX23_PAD_LCD_DOTCK__GPIO_1_22 0x1163
879MX23_PAD_LCD_ENABLE__GPIO_1_23 0x1173
880MX23_PAD_LCD_HSYNC__GPIO_1_24 0x1183
881MX23_PAD_LCD_VSYNC__GPIO_1_25 0x1193
882MX23_PAD_PWM0__GPIO_1_26 0x11a3
883MX23_PAD_PWM1__GPIO_1_27 0x11b3
884MX23_PAD_PWM2__GPIO_1_28 0x11c3
885MX23_PAD_PWM3__GPIO_1_29 0x11d3
886MX23_PAD_PWM4__GPIO_1_30 0x11e3
887MX23_PAD_SSP1_CMD__GPIO_2_0 0x2003
888MX23_PAD_SSP1_DETECT__GPIO_2_1 0x2013
889MX23_PAD_SSP1_DATA0__GPIO_2_2 0x2023
890MX23_PAD_SSP1_DATA1__GPIO_2_3 0x2033
891MX23_PAD_SSP1_DATA2__GPIO_2_4 0x2043
892MX23_PAD_SSP1_DATA3__GPIO_2_5 0x2053
893MX23_PAD_SSP1_SCK__GPIO_2_6 0x2063
894MX23_PAD_ROTARYA__GPIO_2_7 0x2073
895MX23_PAD_ROTARYB__GPIO_2_8 0x2083
896MX23_PAD_EMI_A00__GPIO_2_9 0x2093
897MX23_PAD_EMI_A01__GPIO_2_10 0x20a3
898MX23_PAD_EMI_A02__GPIO_2_11 0x20b3
899MX23_PAD_EMI_A03__GPIO_2_12 0x20c3
900MX23_PAD_EMI_A04__GPIO_2_13 0x20d3
901MX23_PAD_EMI_A05__GPIO_2_14 0x20e3
902MX23_PAD_EMI_A06__GPIO_2_15 0x20f3
903MX23_PAD_EMI_A07__GPIO_2_16 0x2103
904MX23_PAD_EMI_A08__GPIO_2_17 0x2113
905MX23_PAD_EMI_A09__GPIO_2_18 0x2123
906MX23_PAD_EMI_A10__GPIO_2_19 0x2133
907MX23_PAD_EMI_A11__GPIO_2_20 0x2143
908MX23_PAD_EMI_A12__GPIO_2_21 0x2153
909MX23_PAD_EMI_BA0__GPIO_2_22 0x2163
910MX23_PAD_EMI_BA1__GPIO_2_23 0x2173
911MX23_PAD_EMI_CASN__GPIO_2_24 0x2183
912MX23_PAD_EMI_CE0N__GPIO_2_25 0x2193
913MX23_PAD_EMI_CE1N__GPIO_2_26 0x21a3
914MX23_PAD_GPMI_CE1N__GPIO_2_27 0x21b3
915MX23_PAD_GPMI_CE0N__GPIO_2_28 0x21c3
916MX23_PAD_EMI_CKE__GPIO_2_29 0x21d3
917MX23_PAD_EMI_RASN__GPIO_2_30 0x21e3
918MX23_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 @@
1NVIDIA Tegra20 pinmux controller
2
3Required 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
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Tegra's pin configuration nodes act as a container for an abitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration
16parameters, such as pull-up, tristate, drive strength, etc.
17
18The name of each subnode is not important; all subnodes should be enumerated
19and processed purely based on their content.
20
21Each subnode only affects those parameters that are explicitly listed. In
22other words, a subnode that lists a mux function but no pin configuration
23parameters implies no information about any pin configuration parameters.
24Similarly, a pin subnode that describes a pullup parameter implies no
25information about e.g. the mux function or tristate parameter. For this
26reason, even seemingly boolean values are actually tristates in this binding:
27unspecified, off, or on. Unspecified is represented as an absent property,
28and off/on are represented as integer values 0 and 1.
29
30Required 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
34Optional 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
62Note that many of these properties are only valid for certain specific pins
63or groups. See the Tegra TRM and various pinmux spreadsheets for complete
64details regarding which groups support which functionality. The Linux pinctrl
65driver may also be a useful reference, since it consolidates, disambiguates,
66and corrects data from all those sources.
67
68Valid 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
106Example:
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
116Example 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 @@
1NVIDIA Tegra30 pinmux controller
2
3The Tegra30 pinctrl binding is very similar to the Tegra20 pinctrl binding,
4as described in nvidia,tegra20-pinmux.txt. In fact, this document assumes
5that binding as a baseline, and only documents the differences between the
6two bindings.
7
8Required 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
13Tegra30 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
20As with Tegra20, see the Tegra TRM for complete details regarding which groups
21support which functionality.
22
23Valid 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
94Example:
95
96 pinctrl@70000000 {
97 compatible = "nvidia,tegra30-pinmux";
98 reg = < 0x70000868 0xd0 /* Pad control registers */
99 0x70003000 0x3e0 >; /* Mux registers */
100 };
101
102Example 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
3Hardware modules that control pin multiplexing or configuration parameters
4such as pull-up/down, tri-state, drive-strength etc are designated as pin
5controllers. Each pin controller must be represented as a node in device tree,
6just like any other hardware module.
7
8Hardware modules whose signals are affected by pin configuration are
9designated client devices. Again, each client device must be represented as a
10node in device tree, just like any other hardware module.
11
12For a client device to operate correctly, certain pin controllers must
13set up certain specific pin configurations. Some client devices need a
14single static pin configuration, e.g. set up during initialization. Others
15need to reconfigure pins at run-time, for example to tri-state pins when the
16device is inactive. Hence, each client device can define a set of named
17states. The number and names of those states is defined by the client device's
18own binding.
19
20The common pinctrl bindings defined in this file provide an infrastructure
21for client device device tree nodes to map those state names to the pin
22configuration used by those states.
23
24Note that pin controllers themselves may also be client devices of themselves.
25For example, a pin controller may set up its own "active" state when the
26driver loads. This would allow representing a board's static pin configuration
27in a single place, rather than splitting it across multiple client device
28nodes. The decision to do this or not somewhat rests with the author of
29individual board device tree files, and any requirements imposed by the
30bindings for the individual client devices in use by that board, i.e. whether
31they require certain specific named states for dynamic pin configuration.
32
33== Pinctrl client devices ==
34
35For each client device individually, every pin state is assigned an integer
36ID. These numbers start at 0, and are contiguous. For each state ID, a unique
37property exists to define the pin configuration. Each state may also be
38assigned a name. When names are used, another property exists to map from
39those names to the integer IDs.
40
41Each client device's own binding determines the set of states the must be
42defined in its device tree node, and whether to define the set of state
43IDs that must be provided, or whether to define the set of state names that
44must be provided.
45
46Required properties:
47pinctrl-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
64Optional properties:
65pinctrl-1: List of phandles, each pointing at a pin configuration
66 node within a pin controller.
67...
68pinctrl-n: List of phandles, each pointing at a pin configuration
69 node within a pin controller.
70pinctrl-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
74For 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
101Pin controller devices should contain the pin configuration nodes that client
102devices reference.
103
104For 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
120The contents of each of those pin configuration child nodes is defined
121entirely by the binding for the individual pin controller device. There
122exists no common standard for this content.
123
124The pin configuration nodes need not be direct children of the pin controller
125device; they may be grandchildren, for example. Whether this is legal, and
126whether there is any interaction between the child and intermediate parent
127nodes, is again defined entirely by the binding for the individual pin
128controller 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 @@
1ST Microelectronics, SPEAr pinmux controller
2
3Required 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
30Please refer to pinctrl-bindings.txt in this directory for details of the common
31pinctrl bindings used by client devices.
32
33SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each
34of these subnodes represents muxing for a pin, a group, or a list of pins or
35groups.
36
37The name of each subnode is not important; all subnodes should be enumerated
38and processed purely based on their content.
39
40Required 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
50Valid values for group names are:
51For 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
57For 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
63For 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
67For 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
92Valid values for function names are:
93For All SPEAr3xx machines:
94 "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
95 "uart0", "timer_0_1", "timer_2_3"
96
97For SPEAr300 machines:
98 "fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1"
99
100For SPEAr310 machines:
101 "emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0",
102 "rs485_1", "tdm"
103
104For 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 @@
1NVIDIA Tegra 2 pinmux controller
2
3Required 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
10If this property is missing, the default assumed is Active low. 10If 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
12Any property defined as part of the core regulator 14Any property defined as part of the core regulator
13binding, defined in regulator.txt, can also be used. 15binding, 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 @@
1TPS62360 Voltage regulators
2
3Required 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
11Optional 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
25Any property defined as part of the core regulator binding, defined in
26regulator.txt, can also be used.
27
28Example:
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 @@
1TPS6586x family of regulators
2
3Required 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
12Each regulator is defined using the standard binding for regulators.
13
14Example:
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 @@
3Required properties: 3Required properties:
4- compatible : "fsl,sgtl5000". 4- compatible : "fsl,sgtl5000".
5 5
6- reg : the I2C address of the device
7
6Example: 8Example:
7 9
8codec: sgtl5000@0a { 10codec: 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
3Required properties:
4- compatible: must be "nxp,isp1301"
5- reg: I2C address of the ISP1301 device
6
7Optional 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
11Example:
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
3Required 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
15Example:
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
3Required 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
11Example (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 @@
1ST SPEAr SoC USB controllers:
2-----------------------------
3
4EHCI:
5-----
6
7Required 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
13Example:
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
23OHCI:
24-----
25
26Required 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
32Example:
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)
8apm Applied Micro Circuits Corporation (APM) 8apm Applied Micro Circuits Corporation (APM)
9arm ARM Ltd. 9arm ARM Ltd.
10atmel Atmel Corporation 10atmel Atmel Corporation
11bosch Bosch Sensortec GmbH
11cavium Cavium, Inc. 12cavium Cavium, Inc.
12chrp Common Hardware Reference Platform 13chrp Common Hardware Reference Platform
13cortina Cortina Systems, Inc. 14cortina 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
280CLOCK
281 devm_clk_get()
282 devm_clk_put()
283
284PINCTRL
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 @@
2Introduction 2Introduction
3============ 3============
4 4
5This document describes how to use the dynamic debug (ddebug) feature. 5This document describes how to use the dynamic debug (dyndbg) feature.
6 6
7Dynamic debug is designed to allow you to dynamically enable/disable kernel 7Dynamic debug is designed to allow you to dynamically enable/disable
8code to obtain additional kernel information. Currently, if 8kernel code to obtain additional kernel information. Currently, if
9CONFIG_DYNAMIC_DEBUG is set, then all pr_debug()/dev_dbg() calls can be 9CONFIG_DYNAMIC_DEBUG is set, then all pr_debug()/dev_dbg() calls can
10dynamically enabled per-callsite. 10be dynamically enabled per-callsite.
11 11
12Dynamic debug has even more useful features: 12Dynamic 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
26Controlling dynamic debug Behaviour 27Controlling dynamic debug Behaviour
27=================================== 28===================================
28 29
29The behaviour of pr_debug()/dev_dbg()s are controlled via writing to a 30The behaviour of pr_debug()/dev_dbg()s are controlled via writing to a
30control file in the 'debugfs' filesystem. Thus, you must first mount the debugfs 31control file in the 'debugfs' filesystem. Thus, you must first mount
31filesystem, in order to make use of this feature. Subsequently, we refer to the 32the debugfs filesystem, in order to make use of this feature.
32control file as: <debugfs>/dynamic_debug/control. For example, if you want to 33Subsequently, we refer to the control file as:
33enable printing from source file 'svcsock.c', line 1603 you simply do: 34<debugfs>/dynamic_debug/control. For example, if you want to enable
35printing from source file 'svcsock.c', line 1603 you simply do:
34 36
35nullarbor:~ # echo 'file svcsock.c line 1603 +p' > 37nullarbor:~ # 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' >
44Viewing Dynamic Debug Behaviour 46Viewing Dynamic Debug Behaviour
45=========================== 47===========================
46 48
47You can view the currently configured behaviour of all the debug statements 49You can view the currently configured behaviour of all the debug
48via: 50statements via:
49 51
50nullarbor:~ # cat <debugfs>/dynamic_debug/control 52nullarbor:~ # 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
65nullarbor:~ # grep -i tcp <debugfs>/dynamic_debug/control | wc -l 67nullarbor:~ # grep -i tcp <debugfs>/dynamic_debug/control | wc -l
6642 6842
67 69
68Note in particular that the third column shows the enabled behaviour 70The third column shows the currently enabled flags for each debug
69flags for each debug statement callsite (see below for definitions of the 71statement callsite (see below for definitions of the flags). The
70flags). The default value, no extra behaviour enabled, is "-". So 72default value, with no flags enabled, is "=_". So you can view all
71you can view all the debug statement callsites with any non-default flags: 73the debug statement callsites with any non-default flags:
72 74
73nullarbor:~ # awk '$3 != "-"' <debugfs>/dynamic_debug/control 75nullarbor:~ # 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
104command ::= match-spec* flags-spec 106command ::= match-spec* flags-spec
105 107
106The match-spec's are used to choose a subset of the known dprintk() 108The match-spec's are used to choose a subset of the known pr_debug()
107callsites to which to apply the flags-spec. Think of them as a query 109callsites to which to apply the flags-spec. Think of them as a query
108with implicit ANDs between each pair. Note that an empty list of 110with implicit ANDs between each pair. Note that an empty list of
109match-specs is possible, but is not very useful because it will not 111match-specs will select all debug statement callsites.
110match any debug statement callsites.
111 112
112A match specification comprises a keyword, which controls the attribute 113A match specification comprises a keyword, which controls the
113of the callsite to be compared, and a value to compare against. Possible 114attribute of the callsite to be compared, and a value to compare
114keywords are: 115against. Possible keywords are:
115 116
116match-spec ::= 'func' string | 117match-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
173line 174line
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
188by one or more flag characters. The change operation is one 189by one or more flag characters. The change operation is one
189of the characters: 190of 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
200The flags are: 196The flags are:
201 197
202f 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
204l 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
206m 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)
208p 204
209 Causes a printk() message to be emitted to dmesg 205For display, the flags are preceded by '='
210t 206(mnemonic: what the flags are currently equal to).
211 Include thread ID in messages not generated from interrupt context
212 207
213Note the regexp ^[-+=][flmpt]+$ matches a flags specification. 208Note the regexp ^[-+=][flmpt_]+$ matches a flags specification.
214Note also that there is no convenient syntax to remove all 209To clear all flags at once, use "=_" or "-flmpt".
215the flags at once, you need to use "-flmpt".
216 210
217 211
218Debug messages during boot process 212Debug messages during Boot Process
219================================== 213==================================
220 214
221To be able to activate debug messages during the boot process, 215To activate debug messages for core code and built-in modules during
222even before userspace and debugfs exists, use the boot parameter: 216the boot process, even before userspace and debugfs exists, use
223ddebug_query="QUERY" 217dyndbg="QUERY", module.dyndbg="QUERY", or ddebug_query="QUERY"
218(ddebug_query is obsoleted by dyndbg, and deprecated). QUERY follows
219the syntax described above, but must not exceed 1023 characters. Your
220bootloader may impose lower limits.
221
222These dyndbg params are processed just after the ddebug tables are
223processed, as part of the arch_initcall. Thus you can enable debug
224messages in all code run after this arch_initcall via this boot
225parameter.
224 226
225QUERY follows the syntax described above, but must not exceed 1023
226characters. The enablement of debug messages is done as an arch_initcall.
227Thus you can enable debug messages in all code processed after this
228arch_initcall via this boot parameter.
229On an x86 system for example ACPI enablement is a subsys_initcall and 227On an x86 system for example ACPI enablement is a subsys_initcall and
230ddebug_query="file ec.c +p" 228 dyndbg="file ec.c +p"
231will show early Embedded Controller transactions during ACPI setup if 229will show early Embedded Controller transactions during ACPI setup if
232your machine (typically a laptop) has an Embedded Controller. 230your machine (typically a laptop) has an Embedded Controller.
233PCI (or other devices) initialization also is a hot candidate for using 231PCI (or other devices) initialization also is a hot candidate for using
234this boot parameter for debugging purposes. 232this boot parameter for debugging purposes.
235 233
234If foo module is not built-in, foo.dyndbg will still be processed at
235boot time, without effect, but will be reprocessed when module is
236loaded later. dyndbg_query= and bare dyndbg= are only processed at
237boot.
238
239
240Debug Messages at Module Initialization Time
241============================================
242
243When "modprobe foo" is called, modprobe scans /proc/cmdline for
244foo.params, strips "foo.", and passes them to the kernel along with
245params given in modprobe args or /etc/modprob.d/*.conf files,
246in the following order:
247
2481. # parameters given via /etc/modprobe.d/*.conf
249 options foo dyndbg=+pt
250 options foo dyndbg # defaults to +p
251
2522. # foo.dyndbg as given in boot args, "foo." is stripped and passed
253 foo.dyndbg=" func bar +p; func buz +mp"
254
2553. # args to modprobe
256 modprobe foo dyndbg==pmf # override previous settings
257
258These dyndbg queries are applied in order, with last having final say.
259This 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
261modprobe args to override both.
262
263In 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
267The 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
274For CONFIG_DYNAMIC_DEBUG kernels, any settings given at boot-time (or
275enabled by -DDEBUG flag during compilation) can be disabled later via
276the sysfs interface if the debug messages are no longer needed:
277
278 echo "module module_name -p" > <debugfs>/dynamic_debug/control
236 279
237Examples 280Examples
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+.
261nullarbor:~ # echo -n 'format "nfsd: READ" +p' > 304nullarbor:~ # echo -n 'format "nfsd: READ" +p' >
262 <debugfs>/dynamic_debug/control 305 <debugfs>/dynamic_debug/control
306
307// enable all messages
308nullarbor:~ # echo -n '+p' > <debugfs>/dynamic_debug/control
309
310// add module, function to all enabled messages
311nullarbor:~ # echo -n '+mf' > <debugfs>/dynamic_debug/control
312
313// boot-args example, with newlines and comments for readability
314Kernel 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
6AUTHORS
7MyungJoo 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
40With this changes, the ex-switch extcon class device works as it once
41worked as switch class device. However, it will now have additional
42interfaces (both ABI and in-kernel API) and different ABI locations.
43However, if CONFIG_ANDROID is enabled without CONFIG_ANDROID_SWITCH,
44/sys/class/switch/* will be symbolically linked to /sys/class/extcon/
45so 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
63Example: 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
79notifier chains.
80
81 At the side of other device drivers (the extcon device itself
82does not need to get notified of its own events), there are two
83methods 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),
99the 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
104for an extcon device. When cables A and B are declared to be mutually
105exclusive, 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
116disabled, /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
119CONFIG_ANDROID_SWITCH is enabled.
120
121 The two files of switch class, name and state, are provided with
122extcon, too. When the multistate support (STEP 2 of CHAPTER 1.) is
123not enabled or print_state callback is supplied, the output of
124state 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
2removed in the kernel source tree. Every entry should contain what 2removed in the kernel source tree. Every entry should contain what
3exactly is going away, why it is happening, and who is going to be doing 3exactly is going away, why it is happening, and who is going to be doing
4the work. When the feature is removed from the kernel, it should also 4the work. When the feature is removed from the kernel, it should also
5be removed from this file. 5be removed from this file. The suggested deprecation period is 3 releases.
6
7---------------------------
8
9What: ddebug_query="query" boot cmdline param
10When: v3.8
11Why: obsoleted by dyndbg="query" and module.dyndbg="query"
12Who: Jim Cromie <jim.cromie@gmail.com>, Jason Baron <jbaron@redhat.com>
6 13
7--------------------------- 14---------------------------
8 15
@@ -539,3 +546,13 @@ When: 3.6
539Why: setitimer is not returning -EFAULT if user pointer is NULL. This 546Why: setitimer is not returning -EFAULT if user pointer is NULL. This
540 violates the spec. 547 violates the spec.
541Who: Sasikantha Babu <sasikanth.v19@gmail.com> 548Who: Sasikantha Babu <sasikanth.v19@gmail.com>
549
550----------------------------
551
552What: V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls
553When: 3.7
554Why: 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.
558Who: 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
61go_dump | Called to print content of object for debugfs file, or on 61go_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.
63go_type | The type of the glock, LM_TYPE_..... 63go_type | The type of the glock, LM_TYPE_.....
64go_min_hold_time | The minimum hold time 64go_callback | Called if the DLM sends a callback to drop this lock
65go_flags | GLOF_ASPACE is set, if the glock has an address space
66 | associated with it
65 67
66The minimum hold time for each lock is the time after a remote lock 68The minimum hold time for each lock is the time after a remote lock
67grant for which we ignore remote demote requests. This is in order to 69grant for which we ignore remote demote requests. This is in order to
@@ -89,6 +91,7 @@ go_demote_ok | Sometimes | Yes
89go_lock | Yes | No 91go_lock | Yes | No
90go_unlock | Yes | No 92go_unlock | Yes | No
91go_dump | Sometimes | Yes 93go_dump | Sometimes | Yes
94go_callback | Sometimes (N/A) | Yes
92 95
93N.B. Operations must not drop either the bit lock or the spinlock 96N.B. Operations must not drop either the bit lock or the spinlock
94if its held on entry. go_dump and do_demote_ok must never block. 97if 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
111glock is used in conjunction with the i_nlink field in the inode to 114glock is used in conjunction with the i_nlink field in the inode to
112determine the lifetime of the inode in question. Locking of inodes 115determine the lifetime of the inode in question. Locking of inodes
113is on a per-inode basis. Locking of rgrps is on a per rgrp basis. 116is on a per-inode basis. Locking of rgrps is on a per rgrp basis.
117In general we prefer to lock local locks prior to cluster locks.
118
119 Glock Statistics
120 ------------------
121
122The stats are divided into two sets: those relating to the
123super block and those relating to an individual glock. The
124super block stats are done on a per cpu basis in order to
125try and reduce the overhead of gathering them. They are also
126further divided by glock type. All timings are in nanoseconds.
127
128In the case of both the super block and glock statistics,
129the same information is gathered in each case. The super
130block timing statistics are used to provide default values for
131the glock timing statistics, so that newly created glocks
132should have, as far as possible, a sensible starting point.
133The per-glock counters are initialised to zero when the
134glock is created. The per-glock statistics are lost when
135the glock is ejected from memory.
136
137The statistics are divided into three pairs of mean and
138variance, plus two counters. The mean/variance pairs are
139smoothed exponential estimates and the algorithm used is
140one which will be very familiar to those used to calculation
141of round trip times in network code. See "TCP/IP Illustrated,
142Volume 1", W. Richard Stevens, sect 21.3, "Round-Trip Time Measurement",
143p. 299 and onwards. Also, Volume 2, Sect. 25.10, p. 838 and onwards.
144Unlike the TCP/IP Illustrated case, the mean and variance are
145not scaled, but are in units of integer nanoseconds.
146
147The three pairs of mean/variance measure the following
148things:
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
154A non-blocking request is one which will complete right
155away, whatever the state of the DLM lock in question. That
156currently means any requests when (a) the current state of
157the lock is exclusive, i.e. a lock demotion (b) the requested
158state is either null or unlocked (again, a demotion) or (c) the
159"try lock" flag is set. A blocking request covers all the other
160lock requests.
161
162There are two counters. The first is there primarily to show
163how many lock requests have been made, and thus how much data
164has gone into the mean/variance calculations. The other counter
165is counting queuing of holders at the top layer of the glock
166code. Hopefully that number will be a lot larger than the number
167of dlm lock requests issued.
168
169So why gather these statistics? There are several reasons
170we'd like to get a better idea of these timings:
171
1721. To be able to better set the glock "min hold time"
1732. To spot performance issues more easily
1743. To improve the algorithm for selecting resource groups for
175allocation (to base it on lock wait time, rather than blindly
176using a "try lock")
177
178Due to the smoothing action of the updates, a step change in
179some input quantity being sampled will only fully be taken
180into account after 8 samples (or 4 for the variance) and this
181needs to be carefully considered when interpreting the
182results.
183
184Knowing both the time it takes a lock request to complete and
185the average time between lock requests for a glock means we
186can compute the total percentage of the time for which the
187node is able to use a glock vs. time that the rest of the
188cluster has its share. That will be very useful when setting
189the lock min hold time.
190
191Great care has been taken to ensure that we
192measure exactly the quantities that we want, as accurately
193as possible. There are always inaccuracies in any
194measuring system, but I hope this is as accurate as we
195can reasonably make it.
196
197Per sb stats can be found here:
198/sys/kernel/debug/gfs2/<fsname>/sbstats
199Per glock stats can be found here:
200/sys/kernel/debug/gfs2/<fsname>/glstats
201
202Assuming that debugfs is mounted on /sys/kernel/debug and also
203that <fsname> is replaced with the name of the gfs2 filesystem
204in question.
205
206The abbreviations used in the output as are follows:
207
208srtt - Smoothed round trip time for non-blocking dlm requests
209srttvar - Variance estimate for srtt
210srttb - Smoothed round trip time for (potentially) blocking dlm requests
211srttvarb - Variance estimate for srttb
212sirt - Smoothed inter-request time (for dlm requests)
213sirtvar - Variance estimate for sirt
214dlm - Number of dlm requests made (dcnt in glstats file)
215queue - Number of glock requests queued (qcnt in glstats file)
216
217The sbstats file contains a set of these stats for each glock type (so 8 lines
218for each type) and for each cpu (one column per cpu). The glstats file contains
219a set of these stats for each glock in a similar format to the glocks file, but
220using the format mean/variance for each of the timing stats.
221
222The gfs2_glock_lock_time tracepoint prints out the current values of the stats
223for the glock in question, along with some addition information on each dlm
224reply that is received:
225
226status - The status of the dlm request
227flags - The dlm request flags
228tdiff - 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 @@
1Global File System 1Global File System
2------------------ 2------------------
3 3
4http://sources.redhat.com/cluster/wiki/ 4https://fedorahosted.org/cluster/wiki/HomePage
5 5
6GFS is a cluster file system. It allows a cluster of computers to 6GFS is a cluster file system. It allows a cluster of computers to
7simultaneously use a block device that is shared between them (with FC, 7simultaneously use a block device that is shared between them (with FC,
@@ -30,7 +30,8 @@ needed, simply:
30 30
31If you are using Fedora, you need to install the gfs2-utils package 31If you are using Fedora, you need to install the gfs2-utils package
32and, for lock_dlm, you will also need to install the cman package 32and, for lock_dlm, you will also need to install the cman package
33and write a cluster.conf as per the documentation. 33and write a cluster.conf as per the documentation. For F17 and above
34cman has been replaced by the dlm package.
34 35
35GFS2 is not on-disk compatible with previous versions of GFS, but it 36GFS2 is not on-disk compatible with previous versions of GFS, but it
36is pretty close. 37is 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 @@
1TI EMIF SDRAM Controller Driver:
2
3Author
4========
5Aneesh V <aneesh@ti.com>
6
7Location
8============
9driver/memory/emif.c
10
11Supported SoCs:
12===================
13TI OMAP44xx
14TI OMAP54xx
15
16Menuconfig option:
17==========================
18Device Drivers
19 Memory devices
20 Texas Instruments EMIF driver
21
22Description
23===========
24This driver is for the EMIF module available in Texas Instruments
25SoCs. EMIF is an SDRAM controller that, based on its revision,
26supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols.
27This driver takes care of only LPDDR2 memories presently. The
28functions of the driver includes re-configuring AC timing
29parameters and other settings during frequency, voltage and
30temperature changes
31
32Platform Data (see include/linux/platform_data/emif_plat.h):
33=====================================================================
34DDR device details and other board dependent and SoC dependent
35information 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
43Interface to the external world:
44================================
45EMIF driver registers notifiers for voltage and frequency changes
46affecting EMIF and takes appropriate actions when these are invoked.
47- freq_pre_notify_handling()
48- freq_post_notify_handling()
49- volt_notify_handling()
50
51Debugfs
52========
53The 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 @@
100-INDEX 100-INDEX
2 - this file 2 - this file
33c359.txt
4 - information on the 3Com TokenLink Velocity XL (3c5359) driver.
53c505.txt 33c505.txt
6 - information on the 3Com EtherLink Plus (3c505) driver. 4 - information on the 3Com EtherLink Plus (3c505) driver.
73c509.txt 53c509.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_*).
143nfc.txt 141nfc.txt
144 - The Linux Near Field Communication (NFS) subsystem. 142 - The Linux Near Field Communication (NFS) subsystem.
145olympic.txt
146 - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info.
147openvswitch.txt 143openvswitch.txt
148 - Open vSwitch developer documentation. 144 - Open vSwitch developer documentation.
149operstates.txt 145operstates.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.
185smc9.txt 181smc9.txt
186 - the driver for SMC's 9000 series of Ethernet cards 182 - the driver for SMC's 9000 series of Ethernet cards
187smctr.txt
188 - SMC TokenCard TokenRing Linux driver info.
189spider-net.txt 183spider-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).
191stmmac.txt 185stmmac.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.
201tlan.txt 195tlan.txt
202 - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. 196 - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info.
203tms380tr.txt
204 - SysKonnect Token Ring ISA/PCI adapter driver info.
205tproxy.txt 197tproxy.txt
206 - Transparent proxy support user guide. 198 - Transparent proxy support user guide.
207tuntap.txt 199tuntap.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
23COM PCI TOKEN LINK VELOCITY XL TOKEN RING CARDS README
3
4Release 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
11Thanks:
12 Terry Murphy from 3Com for tech docs and support,
13 Adam D. Ligas for testing the driver.
14
15Note:
16 This driver will NOT work with the 3C339 Token Ring cards, you need
17to use the tms380 driver instead.
18
19Options:
20
21The driver accepts three options: ringspeed, pkt_buf_sz and message_level.
22
23These options can be specified differently for each card found.
24
25ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will
26make the card autosense the ringspeed and join at the appropriate speed,
27this will be the default option for most people. 4 or 16 allow you to
28explicitly force the card to operate at a certain speed. The card will fail
29if you try to insert it at the wrong speed. (Although some hubs will allow
30this so be *very* careful). The main purpose for explicitly setting the ring
31speed is for when the card is first on the ring. In autosense mode, if the card
32cannot detect any active monitors on the ring it will open at the same speed as
33its last opening. This can be hazardous if this speed does not match the speed
34you want the ring to operate at.
35
36pkt_buf_sz: This is this initial receive buffer allocation size. This will
37default to 4096 if no value is entered. You may increase performance of the
38driver by setting this to a value larger than the network packet size, although
39the driver now re-sizes buffers based on MTU settings as well.
40
41message_level: Controls level of messages created by the driver. Defaults to 0:
42which only displays start-up and critical messages. Presently any non-zero
43value will display all soft messages as well. NB This does not turn
44debugging messages on, that must be done by modified the source code.
45
46Variable MTU size:
47
48The driver can handle a MTU size up to either 4500 or 18000 depending upon
49ring speed. The driver also changes the size of the receive buffers as part
50of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
51to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
52position = 296,000 bytes of memory space, plus of course anything
53necessary for the tx sk_buff's. Remember this is per card, so if you are
54building routers, gateway's etc, you could start to use a lot of memory
55real fast.
56
572/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
31Large portions of this documentation were heavily borrowed from the guide 30Large 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
3BATMAN-ADV 1BATMAN-ADV
4---------- 2----------
5 3
@@ -67,18 +65,19 @@ To deactivate an interface you have to write "none" into its
67All mesh wide settings can be found in batman's own interface 65All mesh wide settings can be found in batman's own interface
68folder: 66folder:
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
76There is a special folder for debugging information: 76There 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
83Some of the files contain all sort of status information regard- 82Some of the files contain all sort of status information regard-
84ing the mesh network. For example, you can view the table of 83ing the mesh network. For example, you can view the table of
@@ -202,12 +201,13 @@ abled during run time. Following log_levels are defined:
2021 - Enable messages related to routing / flooding / broadcasting 2011 - Enable messages related to routing / flooding / broadcasting
2032 - Enable messages related to route added / changed / deleted 2022 - Enable messages related to route added / changed / deleted
2044 - Enable messages related to translation table operations 2034 - Enable messages related to translation table operations
2057 - Enable all messages 2048 - Enable messages related to bridge loop avoidance
20515 - enable all messages
206 206
207The debug output can be changed at runtime using the file 207The 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
212will enable debug messages for when routes change. 212will 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
12The intent is to enable the use of different models of FORE adapters at the 12The intent is to enable the use of different models of FORE adapters at the
13same time, by hosts that have several bus interfaces (such as PCI+SBUS, 13same time, by hosts that have several bus interfaces (such as PCI+SBUS,
14PCI+MCA or PCI+EISA). 14or PCI+EISA).
15 15
16Only PCI and SBUS devices are currently supported by the driver, but support 16Only PCI and SBUS devices are currently supported by the driver, but support
17for other bus interfaces such as EISA should not be too hard to add (this may 17for other bus interfaces such as EISA should not be too hard to add.
18be more tricky for the MCA bus, though, as FORE made some MCA-specific
19modifications to the adapter's AALI interface).
20 18
21 19
22Firmware Copyright Notice 20Firmware 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
5Introduction 5Introduction
6============ 6============
7The IEEE 802.15.4 working group focuses on standartization of bottom
8two layers: Medium Accsess Control (MAC) and Physical (PHY). And there
9are 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
8The Linux-ZigBee project goal is to provide complete implementation 13The Linux-ZigBee project goal is to provide complete implementation
9of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack 14of IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack
10of protocols for organizing Low-Rate Wireless Personal Area Networks. 15of protocols for organizing Low-Rate Wireless Personal Area Networks.
11 16
12Currently only IEEE 802.15.4 layer is implemented. We have chosen 17The stack is composed of three main parts:
13to 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,
14to 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
15for 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
18Socket API 25Socket API
@@ -29,15 +36,6 @@ or git tree at git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee).
29One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. 36One can use SOCK_RAW for passing raw data towards device xmit function. YMMV.
30 37
31 38
32MLME - MAC Level Management
33============================
34
35Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands.
36See the include/net/nl802154.h header. Our userspace tools package
37(see above) provides CLI configuration utility for radio interfaces and simple
38coordinator for IEEE 802.15.4 networks as an example users of MLME protocol.
39
40
41Kernel side 39Kernel side
42============= 40=============
43 41
@@ -51,6 +49,15 @@ Like with WiFi, there are several types of devices implementing IEEE 802.15.4.
51Those types of devices require different approach to be hooked into Linux kernel. 49Those types of devices require different approach to be hooked into Linux kernel.
52 50
53 51
52MLME - MAC Level Management
53============================
54
55Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands.
56See the include/net/nl802154.h header. Our userspace tools package
57(see above) provides CLI configuration utility for radio interfaces and simple
58coordinator for IEEE 802.15.4 networks as an example users of MLME protocol.
59
60
54HardMAC 61HardMAC
55======= 62=======
56 63
@@ -73,11 +80,47 @@ We provide an example of simple HardMAC driver at drivers/ieee802154/fakehard.c
73SoftMAC 80SoftMAC
74======= 81=======
75 82
76We are going to provide intermediate layer implementing IEEE 802.15.4 MAC 83The MAC is the middle layer in the IEEE 802.15.4 Linux stack. This moment it
77in software. This is currently WIP. 84provides interface for drivers registration and management of slave interfaces.
85
86NOTE: Currently the only monitor device type is supported - it's IEEE 802.15.4
87stack interface for network sniffers (e.g. WireShark).
88
89This layer is going to be extended soon.
78 90
79See header include/net/mac802154.h and several drivers in drivers/ieee802154/. 91See header include/net/mac802154.h and several drivers in drivers/ieee802154/.
80 92
93
94Device drivers API
95==================
96
97The 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
111Moreover IEEE 802.15.4 device operations structure should be filled.
112
113Fake drivers
114============
115
116In addition there are two drivers available which simulate real devices with
117HardMAC (fakehard) and SoftMAC (fakelb - IEEE 802.15.4 loopback driver)
118interfaces. This option provides possibility to test and debug stack without
119usage of real hardware.
120
121See sources in drivers/ieee802154 folder for more details.
122
123
816LoWPAN Linux implementation 1246LoWPAN 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
152tcp_allowed_congestion_control - STRING 152tcp_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
190tcp_dsack - BOOLEAN 190tcp_dsack - BOOLEAN
191 Allows TCP to send "duplicate" SACKs. 191 Allows TCP to send "duplicate" SACKs.
192 192
193tcp_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
193tcp_ecn - INTEGER 207tcp_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
415tcp_sack - BOOLEAN 429tcp_sack - BOOLEAN
416 Enable select acknowledgments (SACKS). 430 Enable select acknowledgments (SACKS).
@@ -1287,13 +1301,22 @@ bridge-nf-call-ip6tables - BOOLEAN
1287bridge-nf-filter-vlan-tagged - BOOLEAN 1301bridge-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
1292bridge-nf-filter-pppoe-tagged - BOOLEAN 1306bridge-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
1311bridge-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
1298proc/sys/net/sctp/* Variables: 1321proc/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/*
1487dev_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/*
1494max_dgram_qlen - INTEGER 1514max_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
23end note 23end note
24end 24end
25 25
26mac80211->driver: config(channel, non-HT) 26mac80211->driver: config(channel, channel type)
27mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) 27mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
28mac80211->driver: sta_state(AP, exists) 28mac80211->driver: sta_state(AP, exists)
29 29
@@ -51,7 +51,7 @@ note over mac80211,driver: cleanup like for authenticate
51end 51end
52 52
53alt not previously authenticated (FT) 53alt not previously authenticated (FT)
54mac80211->driver: config(channel, non-HT) 54mac80211->driver: config(channel, channel type)
55mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) 55mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
56mac80211->driver: sta_state(AP, exists) 56mac80211->driver: sta_state(AP, exists)
57mac80211->driver: sta_state(AP, authenticated) 57mac80211->driver: sta_state(AP, authenticated)
@@ -67,10 +67,6 @@ end
67 67
68mac80211->driver: set up QoS parameters 68mac80211->driver: set up QoS parameters
69 69
70alt is HT channel
71mac80211->driver: config(channel, HT params)
72end
73
74mac80211->driver: bss_info_changed(QoS, HT, associated with AID) 70mac80211->driver: bss_info_changed(QoS, HT, associated with AID)
75mac80211->userspace: associated 71mac80211->userspace: associated
76 72
@@ -95,5 +91,5 @@ mac80211->driver: sta_state(AP,exists)
95mac80211->driver: sta_state(AP,not-exists) 91mac80211->driver: sta_state(AP,not-exists)
96mac80211->driver: turn off powersave 92mac80211->driver: turn off powersave
97mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) 93mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...)
98mac80211->driver: config(non-HT channel type) 94mac80211->driver: config(channel type to non-HT)
99mac80211->userspace: disconnected 95mac80211->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
2IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README
3
4Release 0.2.0 - Release
5 June 8th 1999 Peter De Schrijver & Mike Phillips
6Release 0.9.C - Release
7 April 18th 2001 Mike Phillips
8
9Thanks:
10Erik De Cock, Adrian Bridgett and Frank Fiene for their
11patience and testing.
12Donald Champion for the cardbus support
13Kyle Lucke for the dma api changes.
14Jonathon Bitner for hardware support.
15Everybody on linux-tr for their continued support.
16
17Options:
18
19The driver accepts four options: ringspeed, pkt_buf_sz,
20message_level and network_monitor.
21
22These options can be specified differently for each card found.
23
24ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will
25make the card autosense the ringspeed and join at the appropriate speed,
26this will be the default option for most people. 4 or 16 allow you to
27explicitly force the card to operate at a certain speed. The card will fail
28if you try to insert it at the wrong speed. (Although some hubs will allow
29this so be *very* careful). The main purpose for explicitly setting the ring
30speed is for when the card is first on the ring. In autosense mode, if the card
31cannot detect any active monitors on the ring it will not open, so you must
32re-init the card at the appropriate speed. Unfortunately at present the only
33way of doing this is rmmod and insmod which is a bit tough if it is compiled
34in the kernel.
35
36pkt_buf_sz: This is this initial receive buffer allocation size. This will
37default to 4096 if no value is entered. You may increase performance of the
38driver by setting this to a value larger than the network packet size, although
39the driver now re-sizes buffers based on MTU settings as well.
40
41message_level: Controls level of messages created by the driver. Defaults to 0:
42which only displays start-up and critical messages. Presently any non-zero
43value will display all soft messages as well. NB This does not turn
44debugging messages on, that must be done by modified the source code.
45
46network_monitor: Any non-zero value will provide a quasi network monitoring
47mode. All unexpected MAC frames (beaconing etc.) will be received
48by the driver and the source and destination addresses printed.
49Also an entry will be added in /proc/net called olympic_tr%d, where tr%d
50is the registered device name, i.e tr0, tr1, etc. This displays low
51level information about the configuration of the ring and the adapter.
52This feature has been designed for network administrators to assist in
53the diagnosis of network / ring problems. (This used to OLYMPIC_NETWORK_MONITOR,
54but has now changed to allow each adapter to be configured differently and
55to alleviate the necessity to re-compile olympic to turn the option on).
56
57Multi-card:
58
59The driver will detect multiple cards and will work with shared interrupts,
60each card is assigned the next token ring device, i.e. tr0 , tr1, tr2. The
61driver should also happily reside in the system with other drivers. It has
62been tested with ibmtr.c running, and I personally have had one Olicom PCI
63card and two IBM olympic cards (all on the same interrupt), all running
64together.
65
66Variable MTU size:
67
68The driver can handle a MTU size up to either 4500 or 18000 depending upon
69ring speed. The driver also changes the size of the receive buffers as part
70of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
71to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
72position = 296,000 bytes of memory space, plus of course anything
73necessary for the tx sk_buff's. Remember this is per card, so if you are
74building routers, gateway's etc, you could start to use a lot of memory
75real fast.
76
77
786/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 @@
1Text File for the SMC TokenCard TokenRing Linux driver (smctr.c).
2 By Jay Schulist <jschlst@samba.org>
3
4The Linux SMC Token Ring driver works with the SMC TokenCard Elite (8115T)
5ISA and SMC TokenCard Elite/A (8115T/A) MCA adapters.
6
7Latest information on this driver can be obtained on the Linux-SNA WWW site.
8Please point your browser to: http://www.linux-sna.org
9
10This driver is rather simple to use. Select Y to Token Ring adapter support
11in the kernel configuration. A choice for SMC Token Ring adapters will
12appear. This drives supports all SMC ISA/MCA adapters. Choose this
13option. I personally recommend compiling the driver as a module (M), but if you
14you would like to compile it statically answer Y instead.
15
16This driver supports multiple adapters without the need to load multiple copies
17of the driver. You should be able to load up to 7 adapters without any kernel
18modifications, if you are in need of more please contact the maintainer of this
19driver.
20
21Load the driver either by lilo/loadlin or as a module. When a module using the
22following command will suffice for most:
23
24# modprobe smctr
25smctr.c: v1.00 12/6/99 by jschlst@samba.org
26tr0: SMC TokenCard 8115T at Io 0x300, Irq 10, Rom 0xd8000, Ram 0xcc000.
27
28Now just setup the device via ifconfig and set and routes you may have. After
29this you are ready to start sending some tokens.
30
31Errata:
321). For anyone wondering where to pick up the SMC adapters please browse
33 to http://www.smc.com
34
352). 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
433). 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
63This driver is under the GNU General Public License. Its Firmware image is
64included as an initialized C-array and is licensed by SMC to the Linux
65users of this driver. However no warranty about its fitness is expressed or
66implied 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
163The we have: 166For 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
184For DMA engine we have the following internal fields that should be
185tuned according to the HW capabilities.
186
187struct stmmac_dma_cfg {
188 int pbl;
189 int fixed_burst;
190 int burst_len_supported;
191};
192
193Where:
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
180Below an example how the structures above are using on ST platforms. 202Below 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 @@
1Text file for the Linux SysKonnect Token Ring ISA/PCI Adapter Driver.
2 Text file by: Jay Schulist <jschlst@samba.org>
3
4The Linux SysKonnect Token Ring driver works with the SysKonnect TR4/16(+) ISA,
5SysKonnect TR4/16(+) PCI, SysKonnect TR4/16 PCI, and older revisions of the
6SK NET TR4/16 ISA card.
7
8Latest information on this driver can be obtained on the Linux-SNA WWW site.
9Please point your browser to:
10http://www.linux-sna.org
11
12Many thanks to Christoph Goos for his excellent work on this driver and
13SysKonnect for donating the adapters to Linux-SNA for the testing and
14maintenance of this device driver.
15
16Important information to be noted:
171. Adapters can be slow to open (~20 secs) and close (~5 secs), please be
18 patient.
192. 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
23This driver is rather simple to use. Select Y to Token Ring adapter support
24in the kernel configuration. A choice for SysKonnect Token Ring adapters will
25appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this
26option. I personally recommend compiling the driver as a module (M), but if you
27you would like to compile it statically answer Y instead.
28
29This driver supports multiple adapters without the need to load multiple copies
30of the driver. You should be able to load up to 7 adapters without any kernel
31modifications, if you are in need of more please contact the maintainer of this
32driver.
33
34Load the driver either by lilo/loadlin or as a module. When a module using the
35following command will suffice for most:
36
37# modprobe sktr
38
39This will produce output similar to the following: (Output is user specific)
40
41sktr.c: v1.01 08/29/97 by Christoph Goos
42tr0: SK NET TR 4/16 PCI found at 0x6100, using IRQ 17.
43tr1: SK NET TR 4/16 PCI found at 0x6200, using IRQ 16.
44tr2: SK NET TR 4/16 ISA found at 0xa20, using IRQ 10 and DMA 5.
45
46Now just setup the device via ifconfig and set and routes you may have. After
47this you are ready to start sending some tokens.
48
49Errata:
50For anyone wondering where to pick up the SysKonnect adapters please browse
51to http://www.syskonnect.com
52
53This driver is under the GNU General Public License. Its Firmware image is
54included as an initialized C-array and is licensed by SysKonnect to the Linux
55users of this driver. However no warranty about its fitness is expressed or
56implied by SysKonnect.
57
58Below 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
74UÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
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þ þ
90AÄÄÄÄÄÄÄÄÄÄÄÄ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 @@
1HCI backend for NFC Core
2
3Author: Eric Lapuyade, Samuel Ortiz
4Contact: eric.lapuyade@intel.com, samuel.ortiz@intel.com
5
6General
7-------
8
9The HCI layer implements much of the ETSI TS 102 622 V10.2.0 specification. It
10enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core
11backend, implementing an abstract nfc device and translating NFC Core API
12to HCI commands and events.
13
14HCI
15---
16
17HCI registers as an nfc device with NFC Core. Requests coming from userspace are
18routed through netlink sockets to NFC Core and then to HCI. From this point,
19they are translated in a sequence of HCI commands sent to the HCI layer in the
20host controller (the chip). The sending context blocks while waiting for the
21response to arrive.
22HCI events can also be received from the host controller. They will be handled
23and a translation will be forwarded to NFC Core as needed.
24HCI uses 2 execution contexts:
25- one if for executing commands : nfc_hci_msg_tx_work(). Only one command
26can be executing at any given moment.
27- one if for dispatching received events and responses : nfc_hci_msg_rx_work()
28
29HCI Session initialization:
30---------------------------
31
32The Session initialization is an HCI standard which must unfortunately
33support proprietary gates. This is the reason why the driver will pass a list
34of proprietary gates that must be part of the session. HCI will ensure all
35those gates have pipes connected when the hci device is set up.
36
37HCI Gates and Pipes
38-------------------
39
40A gate defines the 'port' where some service can be found. In order to access
41a service, one must create a pipe to that gate and open it. In this
42implementation, pipes are totally hidden. The public API only knows gates.
43This is consistent with the driver need to send commands to proprietary gates
44without knowing the pipe connected to it.
45
46Driver interface
47----------------
48
49A driver would normally register itself with HCI and provide the following
50entry points:
51
52struct 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
61open() and close() shall turn the hardware on and off. xmit() shall simply
62write a frame to the chip. start_poll() is an optional entrypoint that shall
63set the hardware in polling mode. This must be implemented only if the hardware
64uses proprietary gates or a mechanism slightly different from the HCI standard.
65target_from_gate() is another optional entrypoint to return the protocols
66corresponding to a proprietary gate.
67
68On the rx path, the driver is responsible to push incoming HCP frames to HCI
69using nfc_hci_recv_frame(). HCI will take care of re-aggregation and handling
70This must be done from a context that can sleep.
71
72SHDLC
73-----
74
75Most chips use shdlc to ensure integrity and delivery ordering of the HCP
76frames between the host controller (the chip) and hosts (entities connected
77to the chip, like the cpu). In order to simplify writing the driver, an shdlc
78layer is available for use by the driver.
79When used, the driver actually registers with shdlc, and shdlc will register
80with HCI. HCI sees shdlc as the driver and thus send its HCP frames
81through shdlc->xmit.
82SHDLC adds a new execution context (nfc_shdlc_sm_work()) to run its state
83machine and handle both its rx and tx path.
84
85Included Drivers
86----------------
87
88An HCI based driver for an NXP PN544, connected through I2C bus, and using
89shdlc is included.
90
91Execution Contexts
92------------------
93
94The execution contexts are the following:
95- IRQ handler (IRQH):
96fast, cannot sleep. stores incoming frames into an shdlc rx queue
97
98- SHDLC State Machine worker (SMW)
99handles shdlc rx & tx queues. Dispatches HCI cmd responses.
100
101- HCI Tx Cmd worker (MSGTXWQ)
102Serialize execution of HCI commands. Complete execution in case of resp timeout.
103
104- HCI Rx worker (MSGRXWQ)
105Dispatches incoming HCI commands or events.
106
107- Syscall context from a userspace call (SYSCALL)
108Any entrypoint in HCI called from NFC Core
109
110Workflow executing an HCI command (using shdlc)
111-----------------------------------------------
112
113Executing an HCI command can easily be performed synchronously using the
114following API:
115
116int 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
119The API must be invoked from a context that can sleep. Most of the time, this
120will be the syscall context. skb will return the result that was received in
121the response.
122
123Internally, execution is asynchronous. So all this API does is to enqueue the
124HCI command, setup a local wait queue on stack, and wait_event() for completion.
125The wait is not interruptible because it is guaranteed that the command will
126complete after some short timeout anyway.
127
128MSGTXWQ context will then be scheduled and invoke nfc_hci_msg_tx_work().
129This function will dequeue the next pending command and send its HCP fragments
130to the lower layer which happens to be shdlc. It will then start a timer to be
131able to complete the command with a timeout error if no response arrive.
132
133SMW context gets scheduled and invokes nfc_shdlc_sm_work(). This function
134handles shdlc framing in and out. It uses the driver xmit to send frames and
135receives incoming frames in an skb queue filled from the driver IRQ handler.
136SHDLC I(nformation) frames payload are HCP fragments. They are agregated to
137form complete HCI frames, which can be a response, command, or event.
138
139HCI Responses are dispatched immediately from this context to unblock
140waiting command execution. Reponse processing involves invoking the completion
141callback that was provided by nfc_hci_msg_tx_work() when it sent the command.
142The completion callback will then wake the syscall context.
143
144Workflow receiving an HCI event or command
145------------------------------------------
146
147HCI commands or events are not dispatched from SMW context. Instead, they are
148queued to HCI rx_queue and will be dispatched from HCI rx worker
149context (MSGRXWQ). This is done this way to allow a cmd or event handler
150to also execute other commands (for example, handling the
151NFC_HCI_EVT_TARGET_DISCOVERED event from PN544 requires to issue an
152ANY_GET_PARAMETER to the reader A gate to get information on the target
153that was discovered).
154
155Typically, 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
155static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector) 155static 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
162static const char *foo_get_group_name(struct pinctrl_dev *pctldev, 160static 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
177static struct pinctrl_ops foo_pctrl_ops = { 175static 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
189The pin control subsystem will call the .list_groups() function repeatedly 187The pin control subsystem will call the .get_groups_count() function to
190beginning on 0 until it returns non-zero to determine legal selectors, then 188determine total number of legal selectors, then it will call the other functions
191it will call the other functions to retrieve the name and pins of the group. 189to retrieve the name and pins of the group. Maintaining the data structure of
192Maintaining the data structure of the groups is up to the driver, this is 190the groups is up to the driver, this is just a simple example - in practice you
193just a simple example - in practice you may need more entries in your group 191may need more entries in your group structure, for example specific register
194structure, for example specific register ranges associated with each group 192ranges associated with each group and so on.
195and so on.
196 193
197 194
198Pin configuration 195Pin configuration
@@ -606,11 +603,9 @@ static const struct foo_group foo_groups[] = {
606}; 603};
607 604
608 605
609static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector) 606static 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
616static const char *foo_get_group_name(struct pinctrl_dev *pctldev, 611static 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
631static struct pinctrl_ops foo_pctrl_ops = { 626static 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
643static const char * const spi0_groups[] = { "spi0_1_grp" }; 638static const char * const spi0_groups[] = { "spi0_0_grp", "spi0_1_grp" };
644static const char * const i2c0_groups[] = { "i2c0_grp" }; 639static const char * const i2c0_groups[] = { "i2c0_grp" };
645static const char * const mmc0_groups[] = { "mmc0_1_grp", "mmc0_2_grp", 640static 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
666int foo_list_funcs(struct pinctrl_dev *pctldev, unsigned selector) 661int 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
673const char *foo_get_fname(struct pinctrl_dev *pctldev, unsigned selector) 666const 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
705struct pinmux_ops foo_pmxops = { 698struct 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
789static const struct pinctrl_map __initdata mapping[] = { 782static 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:
952The result of grabbing this mapping from the device with something like 945The result of grabbing this mapping from the device with something like
953this (see next paragraph): 946this (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
959or more simply: 952or more simply:
960 953
961 p = pinctrl_get_select(dev, "8bit"); 954 p = devm_pinctrl_get_select(dev, "8bit");
962 955
963Will be that you activate all the three bottom records in the mapping at 956Will be that you activate all the three bottom records in the mapping at
964once. Since they share the same name, pin controller device, function and 957once. 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
1016foo_remove()
1017{
1018 pinctrl_put(state->p);
1019}
1020
1021This get/lookup/select/put sequence can just as well be handled by bus drivers 1007This get/lookup/select/put sequence can just as well be handled by bus drivers
1022if you don't want each and every driver to handle it and you know the 1008if you don't want each and every driver to handle it and you know the
1023arrangement on your bus. 1009arrangement 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
1044Usually the pin control core handled the get/put pair and call out to the 1045Usually the pin control core handled the get/put pair and call out to the
1045device drivers bookkeeping operations, like checking available functions and 1046device drivers bookkeeping operations, like checking available functions and
1046the associated pins, whereas the enable/disable pass on to the pin controller 1047the associated pins, whereas the enable/disable pass on to the pin controller
1047driver which takes care of activating and/or deactivating the mux setting by 1048driver which takes care of activating and/or deactivating the mux setting by
1048quickly poking some registers. 1049quickly poking some registers.
1049 1050
1050The pins are allocated for your device when you issue the pinctrl_get() call, 1051The pins are allocated for your device when you issue the devm_pinctrl_get()
1051after this you should be able to see this in the debugfs listing of all pins. 1052call, after this you should be able to see this in the debugfs listing of all
1053pins.
1054
1055NOTE: the pinctrl system will return -EPROBE_DEFER if it cannot find the
1056requested pinctrl handles, for example if the pinctrl driver has not yet
1057registered. Thus make sure that the error path in your driver gracefully
1058cleans up and is ready to retry the probing later in the startup process.
1052 1059
1053 1060
1054System pin control hogging 1061System 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
1097foo_switch() 1104struct pinctrl *p;
1098{ 1105struct pinctrl_state *s1, *s2;
1099 struct pinctrl *p;
1100 struct pinctrl_state *s1, *s2;
1101 1106
1107foo_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
1123foo_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
1132The above has to be done from process context. 1140The 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
11Drivers can register a regulator by calling :- 11Drivers can register a regulator by calling :-
12 12
13struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, 13struct 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
17This will register the regulators capabilities and operations to the regulator 16This will register the regulators capabilities and operations to the regulator
18core. 17core.
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
4Introduction
5------------
6
7A large number of system calls are exposed to every userland process
8with many of them going unused for the entire lifetime of the process.
9As system calls change and mature, bugs are found and eradicated. A
10certain subset of userland applications benefit by having a reduced set
11of available system calls. The resulting set reduces the total kernel
12surface exposed to the application. System call filtering is meant for
13use with those applications.
14
15Seccomp filtering provides a means for a process to specify a filter for
16incoming system calls. The filter is expressed as a Berkeley Packet
17Filter (BPF) program, as with socket filters, except that the data
18operated on is related to the system call being made: system call
19number and the system call arguments. This allows for expressive
20filtering of system calls using a filter program language with a long
21history of being exposed to userland and a straightforward data set.
22
23Additionally, BPF makes it impossible for users of seccomp to fall prey
24to time-of-check-time-of-use (TOCTOU) attacks that are common in system
25call interposition frameworks. BPF programs may not dereference
26pointers which constrains all filters to solely evaluating the system
27call arguments directly.
28
29What it isn't
30-------------
31
32System call filtering isn't a sandbox. It provides a clearly defined
33mechanism for minimizing the exposed kernel surface. It is meant to be
34a tool for sandbox developers to use. Beyond that, policy for logical
35behavior and information flow should be managed with a combination of
36other system hardening techniques and, potentially, an LSM of your
37choosing. Expressive, dynamic filters provide further options down this
38path (avoiding pathological sizes or selecting which of the multiplexed
39system calls in socketcall() is allowed, for instance) which could be
40construed, incorrectly, as a more complete sandboxing solution.
41
42Usage
43-----
44
45An additional seccomp mode is added and is enabled using the same
46prctl(2) call as the strict seccomp. If the architecture has
47CONFIG_HAVE_ARCH_SECCOMP_FILTER, then filters may be added as below:
48
49PR_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
80The above call returns 0 on success and non-zero on error.
81
82Return values
83-------------
84A seccomp filter may return any of the following values. If multiple
85filters exist, the return value for the evaluation of a given system
86call will always use the highest precedent value. (For example,
87SECCOMP_RET_KILL will always take precedence.)
88
89In precedence order, they are:
90
91SECCOMP_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
96SECCOMP_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
110SECCOMP_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
114SECCOMP_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
126SECCOMP_RET_ALLOW:
127 Results in the system call being executed.
128
129If multiple filters exist, the return value for the evaluation of a
130given system call will always use the highest precedent value.
131
132Precedence is only determined using the SECCOMP_RET_ACTION mask. When
133multiple filters return values of the same precedence, only the
134SECCOMP_RET_DATA from the most recently installed filter will be
135returned.
136
137Pitfalls
138--------
139
140The biggest pitfall to avoid during use is filtering on system call
141number without checking the architecture value. Why? On any
142architecture that supports multiple system call invocation conventions,
143the system call numbers may vary based on the specific invocation. If
144the numbers in the different calling conventions overlap, then checks in
145the filters may be abused. Always check the arch value!
146
147Example
148-------
149
150The samples/seccomp/ directory contains both an x86-specific example
151and a more generic example of a higher level macro interface for BPF
152program generation.
153
154
155
156Adding architecture support
157-----------------------
158
159See arch/Kconfig for the authoritative requirements. In general, if an
160architecture supports both ptrace_event and seccomp, it will be able to
161support seccomp filter with minor fixup: SIGSYS support and seccomp return
162value checking. Then it must just add CONFIG_HAVE_ARCH_SECCOMP_FILTER
163to 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 @@
1Release Date : Mon. Mar 19, 2012 17:00:00 PST 2012 -
2 (emaild-id:megaraidlinux@lsi.com)
3 Adam Radford
4Current Version : 00.00.06.15-rc1
5Old Version : 00.00.06.14-rc1
6 1. Optimize HostMSIxVectors setting.
7 2. Add fpRead/WriteCapable, fpRead/WriteAcrossStripe checks.
8-------------------------------------------------------------------------------
1Release Date : Fri. Jan 6, 2012 17:00:00 PST 2010 - 9Release 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
16Smack consists of three major components: 16Smack 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
21The kernel component of Smack is implemented as a Linux 21The kernel component of Smack is implemented as a Linux
@@ -23,37 +23,28 @@ Security Modules (LSM) module. It requires netlabel and
23works best with file systems that support extended attributes, 23works best with file systems that support extended attributes,
24although xattr support is not strictly required. 24although xattr support is not strictly required.
25It is safe to run a Smack kernel under a "vanilla" distribution. 25It is safe to run a Smack kernel under a "vanilla" distribution.
26
26Smack kernels use the CIPSO IP option. Some network 27Smack kernels use the CIPSO IP option. Some network
27configurations are intolerant of IP options and can impede 28configurations are intolerant of IP options and can impede
28access to systems that use them as Smack does. 29access to systems that use them as Smack does.
29 30
30The startup script etc-init.d-smack should be installed 31The current git repositories for Smack user space are:
31in /etc/init.d/smack and should be invoked early in the
32start-up process. On Fedora rc5.d/S02smack is recommended.
33This script ensures that certain devices have the correct
34Smack attributes and loads the Smack configuration if
35any is defined. This script invokes two programs that
36ensure configuration data is properly formatted. These
37programs are /usr/sbin/smackload and /usr/sin/smackcipso.
38The system will run just fine without these programs,
39but it will be difficult to set access rules properly.
40
41A version of "ls" that provides a "-M" option to display
42Smack labels on long listing is available.
43 32
44A hacked version of sshd that allows network logins by users 33 git@gitorious.org:meego-platform-security/smackutil.git
45with specific Smack labels is available. This version does 34 git@gitorious.org:meego-platform-security/libsmack.git
46not work for scp. You must set the /etc/ssh/sshd_config
47line:
48 UsePrivilegeSeparation no
49 35
50The format of /etc/smack/usr is: 36These should make and install on most modern distributions.
37There are three commands included in smackutil:
51 38
52 username smack 39smackload - properly formats data for writing to /smack/load
40smackcipso - properly formats data for writing to /smack/cipso
41chsmack - display or set Smack extended attribute values
53 42
54In keeping with the intent of Smack, configuration data is 43In keeping with the intent of Smack, configuration data is
55minimal and not strictly required. The most important 44minimal and not strictly required. The most important
56configuration step is mounting the smackfs pseudo filesystem. 45configuration step is mounting the smackfs pseudo filesystem.
46If smackutil is installed the startup script will take care
47of this, but it can be manually as well.
57 48
58Add this line to /etc/fstab: 49Add this line to /etc/fstab:
59 50
@@ -61,19 +52,148 @@ Add this line to /etc/fstab:
61 52
62and create the /smack directory for mounting. 53and create the /smack directory for mounting.
63 54
64Smack uses extended attributes (xattrs) to store file labels. 55Smack uses extended attributes (xattrs) to store labels on filesystem
65The command to set a Smack label on a file is: 56objects. The attributes are stored in the extended attribute security
57name space. A process must have CAP_MAC_ADMIN to change any of these
58attributes.
59
60The extended attributes that Smack uses are:
61
62SMACK64
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.
66SMACK64EXEC
67 The Smack label of a process that execs a program file with
68 this attribute set will run with this attribute's value.
69SMACK64MMAP
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.
74SMACK64TRANSMUTE
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.
82SMACK64IPIN
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.
86SMACK64IPOUT
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
91There 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
69NOTE: Smack labels are limited to 23 characters. The attr command 96A process can see the smack label it is running with by
70 does not enforce this restriction and can be used to set 97reading /proc/self/attr/current. A process with CAP_MAC_ADMIN
71 invalid Smack labels on files. 98can set the process smack by writing there.
72 99
73If you don't do anything special all users will get the floor ("_") 100Most Smack configuration is accomplished by writing to files
74label when they log in. If you do want to log in via the hacked ssh 101in the smackfs filesystem. This pseudo-filesystem is usually
75at other labels use the attr command to set the smack value on the 102mounted on /smack.
76home directory and its contents. 103
104access
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.
111access2
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.
118ambient
119 This contains the Smack label applied to unlabeled network
120 packets.
121cipso
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"
129cipso2
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"
137direct
138 This contains the CIPSO level used for Smack direct label
139 representation in network packets.
140doi
141 This contains the CIPSO domain of interpretation used in
142 network packets.
143load
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.
155load2
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.
166load-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.
172load-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.
178logging
179 This contains the Smack logging state.
180mapped
181 This contains the CIPSO level used for Smack mapped label
182 representation in network packets.
183netlabel
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".
191onlycap
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
78You can add access rules in /etc/smack/accesses. They take the form: 198You 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
83kind of access permitted a subject with subjectlabel on an 203kind of access permitted a subject with subjectlabel on an
84object with objectlabel. If there is no rule no access is allowed. 204object with objectlabel. If there is no rule no access is allowed.
85 205
86A process can see the smack label it is running with by
87reading /proc/self/attr/current. A privileged process can
88set the process smack by writing there.
89
90Look for additional programs on http://schaufler-ca.com 206Look for additional programs on http://schaufler-ca.com
91 207
92From the Smack Whitepaper: 208From the Smack Whitepaper:
@@ -186,7 +302,7 @@ team. Smack labels are unstructured, case sensitive, and the only operation
186ever performed on them is comparison for equality. Smack labels cannot 302ever performed on them is comparison for equality. Smack labels cannot
187contain unprintable characters, the "/" (slash), the "\" (backslash), the "'" 303contain unprintable characters, the "/" (slash), the "\" (backslash), the "'"
188(quote) and '"' (double-quote) characters. 304(quote) and '"' (double-quote) characters.
189Smack labels cannot begin with a '-', which is reserved for special options. 305Smack labels cannot begin with a '-'. This is reserved for special options.
190 306
191There are some predefined labels: 307There 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
199Every task on a Smack system is assigned a label. System tasks, such as 315Every task on a Smack system is assigned a label. System tasks, such as
200init(8) and systems daemons, are run with the floor ("_") label. User tasks 316init(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
247Where subject-label is the Smack label of the task, object-label is the Smack 363Where subject-label is the Smack label of the task, object-label is the Smack
248label of the thing being accessed, and access is a string specifying the sort 364label of the thing being accessed, and access is a string specifying the sort
249of access allowed. The Smack labels are limited to 23 characters. The access 365of access allowed. The access specification is searched for letters that
250specification is searched for letters that describe access modes: 366describe 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
257Uppercase values for the specification letters are allowed as well. 374Uppercase values for the specification letters are allowed as well.
258Access mode specifications can be in any order. Examples of acceptable rules 375Access mode specifications can be in any order. Examples of acceptable rules
@@ -273,7 +390,7 @@ Examples of unacceptable rules are:
273 390
274Spaces are not allowed in labels. Since a subject always has access to files 391Spaces are not allowed in labels. Since a subject always has access to files
275with the same label specifying a rule for that case is pointless. Only 392with the same label specifying a rule for that case is pointless. Only
276valid letters (rwxaRWXA) and the dash ('-') character are allowed in 393valid letters (rwxatRWXAT) and the dash ('-') character are allowed in
277access specifications. The dash is a placeholder, so "a-r" is the same 394access specifications. The dash is a placeholder, so "a-r" is the same
278as "ar". A lone dash is used to specify that no access should be allowed. 395as "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
297containing directory but not to the differently labeled file. This is an 414containing directory but not to the differently labeled file. This is an
298artifact of the file name being data in the directory, not a part of the file. 415artifact of the file name being data in the directory, not a part of the file.
299 416
417If a directory is marked as transmuting (SMACK64TRANSMUTE=TRUE) and the
418access rule that allows a process to create an object in that directory
419includes 't' access the label assigned to the new object will be that
420of the directory, not the creating process. This makes it much easier
421for two processes with different labels to share data without granting
422access to all of their files.
423
300IPC objects, message queues, semaphore sets, and memory segments exist in flat 424IPC objects, message queues, semaphore sets, and memory segments exist in flat
301namespaces and access requests are only required to match the object in 425namespaces and access requests are only required to match the object in
302question. 426question.
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
34work), or with CAP_SYS_PTRACE (i.e. "gdb --pid=PID", and "strace -p PID" 34work), or with CAP_SYS_PTRACE (i.e. "gdb --pid=PID", and "strace -p PID"
35still work as root). 35still work as root).
36 36
37For software that has defined application-specific relationships 37In mode 1, software that has defined application-specific relationships
38between a debugging process and its inferior (crash handlers, etc), 38between a debugging process and its inferior (crash handlers, etc),
39prctl(PR_SET_PTRACER, pid, ...) can be used. An inferior can declare which 39prctl(PR_SET_PTRACER, pid, ...) can be used. An inferior can declare which
40other process (and its descendents) are allowed to call PTRACE_ATTACH 40other 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, ...)
46so that any otherwise allowed process (even those in external pid namespaces) 46so that any otherwise allowed process (even those in external pid namespaces)
47may attach. 47may attach.
48 48
49These restrictions do not change how ptrace via PTRACE_TRACEME operates.
50
49The sysctl settings are: 51The sysctl settings are:
50 52
510 - classic ptrace permissions: a process can PTRACE_ATTACH to any other 530 - 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
652 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace
66 with PTRACE_ATTACH.
67
683 - no attach: no processes may use ptrace with PTRACE_ATTACH. Once set,
69 this sysctl cannot be changed to a lower value.
70
63The original children-only logic was based on the restrictions in grsecurity. 71The 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===============
809KERNEL SERVICES 826KERNEL 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 @@
1BTFIXUP
2-------
3
4To build new kernels you have to issue "make image". The ready kernel
5in ELF format is placed in arch/sparc/boot/image. Explanation is below.
6
7BTFIXUP is a unique feature of Linux/sparc among other architectures,
8developed by Jakub Jelinek (I think... Obviously David S. Miller took
9part, too). It allows to boot the same kernel at different
10sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses
11different kernels. This feature is convinient for people who you move
12disks between boxes and for distrution builders.
13
14To function, BTFIXUP must link the kernel "in the draft" first,
15analyze the result, write a special stub code based on that, and
16build the final kernel with the stub (btfix.o).
17
18Kai Germaschewski improved the build system of the kernel in the 2.5 series
19significantly. Unfortunately, the traditional way of running the draft
20linking from architecture specific Makefile before the actual linking
21by generic Makefile is nearly impossible to support properly in the
22new build system. Therefore, the way we integrate BTFIXUP with the
23build system was changed in 2.5.40. Now, generic Makefile performs
24the draft linking and stores the result in file vmlinux. Architecture
25specific post-processing invokes BTFIXUP machinery and final linking
26in the same way as other architectures do bootstraps.
27
28Implications of that change are as follows.
29
301. 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
352. 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
393. 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
434. Since we are compliant with Kai's build system now, make -j is permitted.
44
45-- Pete Zaitcev
46zaitcev@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
46dev_weight
47--------------
48
49The maximum number of packets that kernel can handle on a NAPI interrupt,
50it's a Per-CPU variable.
51Default: 64
52
46rmem_default 53rmem_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
3From kernel point of view it is just a composite function with some
4unique behaviour. It may be added to an USB configuration only after
5the user space driver has registered by writing descriptors and
6strings (the user space program has to provide the same information
7that kernel level composite functions provide when they are added to
8the configuration).
9
10This in particular means that the composite initialisation functions
11may not be in init section (ie. may not use the __init tag).
12
13From user space point of view it is a file system which when
14mounted provides an "ep0" file. User space driver need to
15write descriptors and strings to that file. It does not need
16to worry about endpoints, interfaces or strings numbers but
17simply provide descriptors such as if the function was the
18only one (endpoints and strings numbers starting from one and
19interface numbers starting from zero). The FunctionFS changes
20them as needed also handling situation when numbers differ in
21different configurations.
22
23When descriptors and strings are written "ep#" files appear
24(one for each declared endpoint) which handle communication on
25a single endpoint. Again, FunctionFS takes care of the real
26numbers and changing of the configuration (which means that
27"ep1" file may be really mapped to (say) endpoint 3 (and when
28configuration changes to (say) endpoint 2)). "ep0" is used
29for receiving events and handling setup requests.
30
31When all files are closed the function disables itself.
32
33What I also want to mention is that the FunctionFS is designed in such
34a way that it is possible to mount it several times so in the end
35a gadget could use several FunctionFS functions. The idea is that
36each FunctionFS instance is identified by the device name used
37when mounting.
38
39One can imagine a gadget that has an Ethernet, MTP and HID interfaces
40where the last two are implemented via FunctionFS. On user space
41level 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
49On kernel level the gadget checks ffs_data->dev_name to identify
50whether it's FunctionFS designed for MTP ("mtp") or HID ("hid").
51
52If no "functions" module parameters is supplied, the driver accepts
53just one function with any name.
54
55When "functions" module parameter is supplied, only functions
56with listed names are accepted. In particular, if the "functions"
57parameter's value is just a one-element list, then the behaviour
58is similar to when there is no "functions" at all; however,
59only a function with the specified name is accepted.
60
61The gadget is registered only after all the declared function
62filesystems have been mounted and USB descriptors of all functions
63have been written to their ep0's.
64
65Conversely, the gadget is unregistered after the first USB function
66closes 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/]
2Virtio PCI Card Specification 2Virtio PCI Card Specification
3v0.9.1 DRAFT 3v0.9.5 DRAFT
4- 4-
5 5
6Rusty Russell <rusty@rustcorp.com.au>IBM Corporation (Editor) 6Rusty Russell <rusty@rustcorp.com.au> IBM Corporation (Editor)
7 7
82011 August 1. 82012 May 7.
9 9
10Purpose and Description 10Purpose and Description
11 11
@@ -68,11 +68,11 @@ and consists of three parts:
68+-------------------+-----------------------------------+-----------+ 68+-------------------+-----------------------------------+-----------+
69 69
70 70
71When the driver wants to send buffers to the device, it puts them 71When the driver wants to send a buffer to the device, it fills in
72in one or more slots in the descriptor table, and writes the 72a slot in the descriptor table (or chains several together), and
73descriptor indices into the available ring. It then notifies the 73writes the descriptor index into the available ring. It then
74device. When the device has finished with the buffers, it writes 74notifies the device. When the device has finished a buffer, it
75the descriptors into the used ring, and sends an interrupt. 75writes the descriptor into the used ring, and sends an interrupt.
76 76
77Specification 77Specification
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
127the native endian of the guest (where such distinction is 133the native endian of the guest (where such distinction is
128applicable). 134applicable).
129 135
130 Device Initialization Sequence 136 Device Initialization Sequence<sub:Device-Initialization-Sequence>
131 137
132We start with an overview of device initialization, then expand 138We start with an overview of device initialization, then expand
133on the details of the device and how each step is preformed. 139on 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
179If MSI-X is enabled for the device, two additional fields 185If MSI-X is enabled for the device, two additional fields
180immediately follow this header: 186immediately follow this header:[footnote:
187ie. once you enable MSI-X on the device, the other fields move.
188If 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
194Finally, if feature bits (VIRTIO_F_FEATURES_HI) this is
195immediately 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
208Immediately following these general headers, there may be 203Immediately following these general headers, there may be
209device-specific headers: 204device-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
252The least significant 31 bits of the first configuration field 247Thefirst configuration field indicates the features that the
253indicates the features that the device supports (the high bit is 248device supports. The bits are allocated as follows:
254reserved, and will be used to indicate the presence of future
255feature bits elsewhere). If more than 31 feature bits are
256supported, 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
266For example, feature bit 0 for a network device (i.e. Subsystem 255For example, feature bit 0 for a network device (i.e. Subsystem
267Device ID 1) indicates that the device supports checksumming of 256Device ID 1) indicates that the device supports checksumming of
268packets. 257packets.
@@ -286,10 +275,6 @@ will not see that feature bit in the Device Features field and
286can go into backwards compatibility mode (or, for poor 275can go into backwards compatibility mode (or, for poor
287implementations, set the FAILED Device Status bit). 276implementations, set the FAILED Device Status bit).
288 277
289Access to feature bits 32 to 63 is enabled by Guest by setting
290feature bit 31. If this bit is unset, Device must assume that all
291feature bits > 31 are unset.
292
293 Configuration/Queue Vectors 278 Configuration/Queue Vectors
294 279
295When MSI-X capability is present and enabled in the device 280When MSI-X capability is present and enabled in the device
@@ -324,7 +309,7 @@ success, the previously written value is returned, and on
324failure, NO_VECTOR is returned. If a mapping failure is detected, 309failure, NO_VECTOR is returned. If a mapping failure is detected,
325the driver can retry mapping with fewervectors, or disable MSI-X. 310the driver can retry mapping with fewervectors, or disable MSI-X.
326 311
327 Virtqueue Configuration 312 Virtqueue Configuration<sec:Virtqueue-Configuration>
328 313
329As a device can have zero or more virtqueues for bulk data 314As a device can have zero or more virtqueues for bulk data
330transport (for example, the network driver has two), the driver 315transport (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
587freely used by all other projects, and is reproduced (with slight 572freely used by all other projects, and is reproduced (with slight
588variation to remove Linux assumptions) in Appendix A. 573variation to remove Linux assumptions) in Appendix A.
589 574
590 Device Operation 575 Device Operation<sec:Device-Operation>
591 576
592There are two parts to device operation: supplying new buffers to 577There are two parts to device operation: supplying new buffers to
593the device, and processing used buffers from the device. As an 578the 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
818Some virtio PCI devices can change the device configuration 803Some virtio PCI devices can change the device configuration
819state, as reflected in the virtio header in the PCI configuration 804state, 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:
1266An experimental virtio PCI driver contained in Linux version
12672.6.25 had this problem, and this feature bit can be used to
1268detect 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
1275Appendix C: Network Device 1248Appendix C: Network Device
1276 1249
1277The virtio network device is a virtual ethernet card, and is the 1250The 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 1360ie. VIRTIO_NET_F_HOST_TSO* and VIRTIO_NET_F_HOST_UFO are
1382 (IPv4 TCP), VIRTIO_NET_F_HOST_TSO6 (IPv6 TCP) and 1361dependent on VIRTIO_NET_F_CSUM; a dvice which offers the offload
1383 VIRTIO_NET_F_HOST_UFO (UDP fragmentation) features. It should 1362features must offer the checksum feature, and a driver which
1384 not send TCP packets requiring segmentation offload which have 1363accepts the offload features must accept the checksum feature.
1385 the Explicit Congestion Notification bit set, unless the 1364Similar logic applies to the VIRTIO_NET_F_GUEST_TSO4 features
1365depending 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:
1387This is a common restriction in real, older network cards. 1373This is a common restriction in real, older network cards.
1388] 1374]
@@ -1403,7 +1389,7 @@ segmentation, if both guests are amenable.
1403 1389
1404Packets are transmitted by placing them in the transmitq, and 1390Packets are transmitted by placing them in the transmitq, and
1405buffers for incoming packets are placed in the receiveq. In each 1391buffers for incoming packets are placed in the receiveq. In each
1406case, the packet itself is preceded by a header: 1392case, the packet itself is preceeded by a header:
1407 1393
1408struct virtio_net_hdr { 1394struct virtio_net_hdr {
1409 1395
@@ -1462,9 +1448,10 @@ It will have a 14 byte ethernet header and 20 byte IP header
1462followed by the TCP header (with the TCP checksum field 16 bytes 1448followed by the TCP header (with the TCP checksum field 16 bytes
1463into that header). csum_start will be 14+20 = 34 (the TCP 1449into that header). csum_start will be 14+20 = 34 (the TCP
1464checksum includes the header), and csum_offset will be 16. The 1450checksum includes the header), and csum_offset will be 16. The
1465value in the TCP checksum field will be the sum of the TCP pseudo 1451value in the TCP checksum field should be initialized to the sum
1466header, so that replacing it by the ones' complement checksum of 1452of the TCP pseudo header, so that replacing it by the ones'
1467the TCP header and body will give the correct result. 1453complement checksum of the TCP header and body will give the
1454correct 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
1483as a guarantee of the transport header size. 1470as 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
1572The driver uses the control virtqueue (if VIRTIO_NET_F_VTRL_VQ is 1561The driver uses the control virtqueue (if VIRTIO_NET_F_VTRL_VQ is
1573negotiated) to send commands to manipulate various features of 1562negotiated) to send commands to manipulate various features of
@@ -1642,7 +1631,7 @@ struct virtio_net_ctrl_mac {
1642 1631
1643The device can filter incoming packets by any number of 1632The device can filter incoming packets by any number of
1644destination MAC addresses.[footnote: 1633destination MAC addresses.[footnote:
1645Since there are no guarantees, it can use a hash filter 1634Since there are no guarentees, it can use a hash filter
1646orsilently switch to allmulti or promiscuous mode if it is given 1635orsilently switch to allmulti or promiscuous mode if it is given
1647too many addresses. 1636too 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.
1665Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL 1654Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL
1666command take a 16-bit VLAN id as the command-specific-data. 1655command take a 16-bit VLAN id as the command-specific-data.
1667 1656
1657 Gratuitous Packet Sending
1658
1659If the driver negotiates the VIRTIO_NET_F_GUEST_ANNOUNCE (depends
1660on VIRTIO_NET_F_CTRL_VQ), it can ask the guest to send gratuitous
1661packets; this is usually done after the guest has been physically
1662migrated, and needs to announce its presence on the new network
1663links. (As hypervisor does not have the knowledge of guest
1664network configuration (eg. tagged vlan) it is simplest to prod
1665the guest in this way).
1666
1667#define VIRTIO_NET_CTRL_ANNOUNCE 3
1668
1669 #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0
1670
1671The Guest needs to check VIRTIO_NET_S_ANNOUNCE bit in status
1672field when it notices the changes of device configuration. The
1673command VIRTIO_NET_CTRL_ANNOUNCE_ACK is used to indicate that
1674driver has recevied the notification and device would clear the
1675VIRTIO_NET_S_ANNOUNCE bit in the status filed after it received
1676this command.
1677
1678Processing 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
1668Appendix D: Block Device 1689Appendix D: Block Device
1669 1690
1670The virtio block device is a simple virtual block device (ie. 1691The 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
1750The driver queues requests to the virtqueue, and they are used by 1767The 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
1805distinguish between them 1822distinguish 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
1808barrier and that all preceding requests must be complete before 1825barrier and that all preceeding requests must be complete before
1809this one, and all following requests must not be started until 1826this one, and all following requests must not be started until
1810this is complete. Note that a barrier does not flush caches in 1827this is complete. Note that a barrier does not flush caches in
1811the underlying backend device in host, and thus does not serve as 1828the 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:
2122In this case, deflation advice is merely a courtesy 2139In 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
2218Appendix H: Rpmsg: Remote Processor Messaging
2219
2220Virtio rpmsg devices represent remote processors on the system
2221which run in asymmetric multi-processing (AMP) configuration, and
2222which are usually used to offload cpu-intensive tasks from the
2223main application processor (a typical SoC methodology).
2224
2225Virtio is being used to communicate with those remote processors;
2226empty buffers are placed in one virtqueue for receiving messages,
2227and non-empty buffers, containing outbound messages, are enqueued
2228in a second virtqueue for transmission.
2229
2230Numerous communication channels can be multiplexed over those two
2231virtqueues, so different entities, running on the application and
2232remote processor, can directly communicate in a point-to-point
2233fashion.
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
2248message
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
2259announce
2260
2261 * about its removal). When we receives these messages, an
2262appropriate
2263
2264 * rpmsg channel (i.e device) is created/destroyed.
2265
2266 */
2267
2268struct 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
2292enum rpmsg_ns_flags {
2293
2294 RPMSG_NS_CREATE = 0,
2295
2296 RPMSG_NS_DESTROY = 1,
2297
2298};
2299
2300 Device configuration layout
2301
2302At 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
2313Messages are transmitted by placing them in the transmitq, and
2314buffers for inbound messages are placed in the receiveq. In any
2315case, 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
2334this header.
2335
2336 */
2337
2338struct 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
2354Appendix I: SCSI Host Device
2355
2356The virtio SCSI host device groups together one or more virtual
2357logical units (such as disks), and allows communicating to them
2358using the SCSI protocol. An instance of the device represents a
2359SCSI host to which many targets and LUNs are attached.
2360
2361The 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
2368The device is also able to send out notifications about added and
2369removed logical units. Together, these capabilities provide a
2370SCSI transport protocol that uses virtqueues as the transfer
2371medium. In the transport protocol, the virtio driver acts as the
2372initiator, while the virtio SCSI host provides one or more
2373targets 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
2453The initialization routine should first of all discover the
2454device's virtqueues.
2455
2456If the driver uses the eventq, it should then place at least a
2457buffer in the eventq.
2458
2459The driver can immediately issue requests (for example, INQUIRY
2460or REPORT LUNS) or task management functions (for example, I_T
2461RESET).
2462
2463 Device Operation: request queues
2464
2465The driver queues requests to an arbitrary request queue, and
2466they are used by the device on that same queue. It is the
2467responsibility of the driver to ensure strict request ordering
2468for commands placed on different queues, because they will be
2469consumed with no order constraints.
2470
2471Requests have the following format:
2472
2473struct 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
2545The lun field addresses a target and logical unit in the
2546virtio-scsi device's SCSI domain. The only supported format for
2547the LUN field is: first byte set to 1, second byte set to target,
2548third and fourth byte representing a single level LUN structure,
2549followed by four zero bytes. With this representation, a
2550virtio-scsi device can serve up to 256 targets and 16384 LUNs per
2551target.
2552
2553The id field is the command identifier (“tag”).
2554
2555task_attr, prio and crn should be left to zero. task_attr defines
2556the task attribute as in the table above, but all task attributes
2557may be mapped to SIMPLE by the device; crn may also be provided
2558by clients, but is generally expected to be 0. The maximum CRN
2559value defined by the protocol is 255, since CRN is stored in an
25608-bit integer.
2561
2562All of these fields are defined in SAM. They are always
2563read-only, as are the cdb and dataout field. The cdb_size is
2564taken from the configuration space.
2565
2566sense and subsequent fields are always write-only. The sense_len
2567field indicates the number of bytes actually written to the sense
2568buffer. The residual field indicates the residual size,
2569calculated as “data_length - number_of_transferred_bytes”, for
2570read or write operations. For bidirectional commands, the
2571number_of_transferred_bytes includes both read and written bytes.
2572A residual field that is less than the size of datain means that
2573the dataout field was processed entirely. A residual field that
2574exceeds the size of datain means that the dataout field was
2575processed partially and the datain field was not processed at
2576all.
2577
2578The status byte is written by the device to be the status code as
2579defined in SAM.
2580
2581The response byte is written by the device to be one of the
2582following:
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
2621The controlq is used for other SCSI transport operations.
2622Requests have the following format:
2623
2624struct 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
2654The type identifies the remaining fields.
2655
2656The 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
2681struct 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
2732struct 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
2782struct 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
2817The eventq is used by the device to report information on logical
2818units that are attached to it. The driver should always leave a
2819few buffers ready in the eventq. In general, the device will not
2820queue events to cope with an empty eventq, and will end up
2821dropping events if it finds no buffer ready. However, when
2822reporting events for many LUNs (e.g. when a whole target
2823disappears), the device can throttle events to avoid dropping
2824them. For this reason, placing 10-15 buffers on the event queue
2825should be enough.
2826
2827Buffers are placed in the eventq and filled by the device when
2828interesting events occur. The buffers should be strictly
2829write-only (device-filled) and the size of the buffers should be
2830at least the value given in the device's configuration
2831information.
2832
2833Buffers returned by the device on the eventq will be referred to
2834as "events" in the rest of this section. Events have the
2835following format:
2836
2837#define VIRTIO_SCSI_T_EVENTS_MISSED 0x80000000
2838
2839
2840
2841struct virtio_scsi_event {
2842
2843 // Write-only part
2844
2845 u32 event;
2846
2847 ...
2848
2849}
2850
2851If bit 31 is set in the event field, the device failed to report
2852an event due to missing buffers. In this case, the driver should
2853poll the logical units for unit attention conditions, and/or do
2854whatever form of bus scan is appropriate for the guest operating
2855system.
2856
2857Other data that the device writes to the buffer depends on the
2858contents 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
2882struct 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
2958struct 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
2982Appendix X: virtio-mmio
2983
2984Virtual environments without PCI support (a common situation in
2985embedded devices models) might use simple memory mapped device (“
2986virtio-mmio”) instead of the PCI device.
2987
2988The memory mapped virtio device behaviour is based on the PCI
2989device specification. Therefore most of operations like device
2990initialization, queues configuration and buffer transfers are
2991nearly identical. Existing differences are described in the
2992following sections.
2993
2994 Device Initialization
2995
2996Instead of using the PCI IO space for virtio header, the “
2997virtio-mmio” device provides a set of memory mapped control
2998registers, all 32 bits wide, followed by device-specific
2999configuration 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
3108Interrupt status.
3109Reading 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
3114This 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
3118This 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
3141Virtual queue size is a number of elements in the queue,
3142therefore size of the descriptor table and both available and
3143used rings.
3144
3145The endianness of the registers follows the native endianness of
3146the Guest. Writing to registers described as “R” and reading from
3147registers described as “W” is not permitted and can cause
3148undefined behavior.
3149
3150The device initialization is performed as described in [sub:Device-Initialization-Sequence]
3151 with one exception: the Guest must notify the Host about its
3152page size, writing the size in bytes to GuestPageSize register
3153before the initialization is finished.
3154
3155The memory mapped virtio devices generate single interrupt only,
3156therefore no special configuration is required.
3157
3158 Virtqueue Configuration
3159
3160The virtual queue configuration is performed in a similar way to
3161the one described in [sec:Virtqueue-Configuration] with a few
3162additional 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
3188The queue and the device are ready to begin normal operations
3189now.
3190
3191 Device Operation
3192
3193The memory mapped virtio device behaves in the same way as
3194described in [sec:Device-Operation], with the following
3195exceptions:
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
160HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c 160HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c
161NMI_MAGIC 0x48414d4d455201 nmi_s arch/mips/include/asm/sn/nmi.h 161NMI_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
165IrDA子系统也使用了大量的自己的魔术值,查看include/net/irda/irda.h来获取他们完整的信息。 165IrDA子系统也使用了大量的自己的魔术值,查看include/net/irda/irda.h来获取他们完整的信息。
166 166