xref: /freebsd/sys/arm/freescale/vybrid/vf_iomuxc.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3  *
4  * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  *
28  * $FreeBSD$
29  */
30 
31 #define	IOMUXC(n)	(n * 0x04)
32 #define	IOMUXCN		135
33 #define	IOMUXC_PTA6	0x000	/* Software MUX Pad Control Register 0 */
34 #define	IOMUXC_PTA8	0x004	/* Software MUX Pad Control Register 1 */
35 #define	IOMUXC_PTA9	0x008	/* Software MUX Pad Control Register 2 */
36 #define	IOMUXC_PTA10	0x00C	/* Software MUX Pad Control Register 3 */
37 #define	IOMUXC_PTA11	0x010	/* Software MUX Pad Control Register 4 */
38 #define	IOMUXC_PTA12	0x014	/* Software MUX Pad Control Register 5 */
39 #define	IOMUXC_PTA16	0x018	/* Software MUX Pad Control Register 6 */
40 #define	IOMUXC_PTA17	0x01C	/* Software MUX Pad Control Register 7 */
41 #define	IOMUXC_PTA18	0x020	/* Software MUX Pad Control Register 8 */
42 #define	IOMUXC_PTA19	0x024	/* Software MUX Pad Control Register 9 */
43 #define	IOMUXC_PTA20	0x028	/* Software MUX Pad Control Register 10 */
44 #define	IOMUXC_PTA21	0x02C	/* Software MUX Pad Control Register 11 */
45 #define	IOMUXC_PTA22	0x030	/* Software MUX Pad Control Register 12 */
46 #define	IOMUXC_PTA23	0x034	/* Software MUX Pad Control Register 13 */
47 #define	IOMUXC_PTA24	0x038	/* Software MUX Pad Control Register 14 */
48 #define	IOMUXC_PTA25	0x03C	/* Software MUX Pad Control Register 15 */
49 #define	IOMUXC_PTA26	0x040	/* Software MUX Pad Control Register 16 */
50 #define	IOMUXC_PTA27	0x044	/* Software MUX Pad Control Register 17 */
51 #define	IOMUXC_PTA28	0x048	/* Software MUX Pad Control Register 18 */
52 #define	IOMUXC_PTA29	0x04C	/* Software MUX Pad Control Register 19 */
53 #define	IOMUXC_PTA30	0x050	/* Software MUX Pad Control Register 20 */
54 #define	IOMUXC_PTA31	0x054	/* Software MUX Pad Control Register 21 */
55 #define	IOMUXC_PTB0	0x058	/* Software MUX Pad Control Register 22 */
56 #define	IOMUXC_PTB1	0x05C	/* Software MUX Pad Control Register 23 */
57 #define	IOMUXC_PTB2	0x060	/* Software MUX Pad Control Register 24 */
58 #define	IOMUXC_PTB3	0x064	/* Software MUX Pad Control Register 25 */
59 #define	IOMUXC_PTB4	0x068	/* Software MUX Pad Control Register 26 */
60 #define	IOMUXC_PTB5	0x06C	/* Software MUX Pad Control Register 27 */
61 #define	IOMUXC_PTB6	0x070	/* Software MUX Pad Control Register 28 */
62 #define	IOMUXC_PTB7	0x074	/* Software MUX Pad Control Register 29 */
63 #define	IOMUXC_PTB8	0x078	/* Software MUX Pad Control Register 30 */
64 #define	IOMUXC_PTB9	0x07C	/* Software MUX Pad Control Register 31 */
65 #define	IOMUXC_PTB10	0x080	/* Software MUX Pad Control Register 32 */
66 #define	IOMUXC_PTB11	0x084	/* Software MUX Pad Control Register 33 */
67 #define	IOMUXC_PTB12	0x088	/* Software MUX Pad Control Register 34 */
68 #define	IOMUXC_PTB13	0x08C	/* Software MUX Pad Control Register 35 */
69 #define	IOMUXC_PTB14	0x090	/* Software MUX Pad Control Register 36 */
70 #define	IOMUXC_PTB15	0x094	/* Software MUX Pad Control Register 37 */
71 #define	IOMUXC_PTB16	0x098	/* Software MUX Pad Control Register 38 */
72 #define	IOMUXC_PTB17	0x09C	/* Software MUX Pad Control Register 39 */
73 #define	IOMUXC_PTB18	0x0A0	/* Software MUX Pad Control Register 40 */
74 #define	IOMUXC_PTB19	0x0A4	/* Software MUX Pad Control Register 41 */
75 #define	IOMUXC_PTB20	0x0A8	/* Software MUX Pad Control Register 42 */
76 #define	IOMUXC_PTB21	0x0AC	/* Software MUX Pad Control Register 43 */
77 #define	IOMUXC_PTB22	0x0B0	/* Software MUX Pad Control Register 44 */
78 #define	IOMUXC_PTC0	0x0B4	/* Software MUX Pad Control Register 45 */
79 #define	IOMUXC_PTC1	0x0B8	/* Software MUX Pad Control Register 46 */
80 #define	IOMUXC_PTC2	0x0BC	/* Software MUX Pad Control Register 47 */
81 #define	IOMUXC_PTC3	0x0C0	/* Software MUX Pad Control Register 48 */
82 #define	IOMUXC_PTC4	0x0C4	/* Software MUX Pad Control Register 49 */
83 #define	IOMUXC_PTC5	0x0C8	/* Software MUX Pad Control Register 50 */
84 #define	IOMUXC_PTC6	0x0CC	/* Software MUX Pad Control Register 51 */
85 #define	IOMUXC_PTC7	0x0D0	/* Software MUX Pad Control Register 52 */
86 #define	IOMUXC_PTC8	0x0D4	/* Software MUX Pad Control Register 53 */
87 #define	IOMUXC_PTC9	0x0D8	/* Software MUX Pad Control Register 54 */
88 #define	IOMUXC_PTC10	0x0DC	/* Software MUX Pad Control Register 55 */
89 #define	IOMUXC_PTC11	0x0E0	/* Software MUX Pad Control Register 56 */
90 #define	IOMUXC_PTC12	0x0E4	/* Software MUX Pad Control Register 57 */
91 #define	IOMUXC_PTC13	0x0E8	/* Software MUX Pad Control Register 58 */
92 #define	IOMUXC_PTC14	0x0EC	/* Software MUX Pad Control Register 59 */
93 #define	IOMUXC_PTC15	0x0F0	/* Software MUX Pad Control Register 60 */
94 #define	IOMUXC_PTC16	0x0F4	/* Software MUX Pad Control Register 61 */
95 #define	IOMUXC_PTC17	0x0F8	/* Software MUX Pad Control Register 62 */
96 #define	IOMUXC_PTD31	0x0FC	/* Software MUX Pad Control Register 63 */
97 #define	IOMUXC_PTD30	0x100	/* Software MUX Pad Control Register 64 */
98 #define	IOMUXC_PTD29	0x104	/* Software MUX Pad Control Register 65 */
99 #define	IOMUXC_PTD28	0x108	/* Software MUX Pad Control Register 66 */
100 #define	IOMUXC_PTD27	0x10C	/* Software MUX Pad Control Register 67 */
101 #define	IOMUXC_PTD26	0x110	/* Software MUX Pad Control Register 68 */
102 #define	IOMUXC_PTD25	0x114	/* Software MUX Pad Control Register 69 */
103 #define	IOMUXC_PTD24	0x118	/* Software MUX Pad Control Register 70 */
104 #define	IOMUXC_PTD23	0x11C	/* Software MUX Pad Control Register 71 */
105 #define	IOMUXC_PTD22	0x120	/* Software MUX Pad Control Register 72 */
106 #define	IOMUXC_PTD21	0x124	/* Software MUX Pad Control Register 73 */
107 #define	IOMUXC_PTD20	0x128	/* Software MUX Pad Control Register 74 */
108 #define	IOMUXC_PTD19	0x12C	/* Software MUX Pad Control Register 75 */
109 #define	IOMUXC_PTD18	0x130	/* Software MUX Pad Control Register 76 */
110 #define	IOMUXC_PTD17	0x134	/* Software MUX Pad Control Register 77 */
111 #define	IOMUXC_PTD16	0x138	/* Software MUX Pad Control Register 78 */
112 #define	IOMUXC_PTD0	0x13C	/* Software MUX Pad Control Register 79 */
113 #define	IOMUXC_PTD1	0x140	/* Software MUX Pad Control Register 80 */
114 #define	IOMUXC_PTD2	0x144	/* Software MUX Pad Control Register 81 */
115 #define	IOMUXC_PTD3	0x148	/* Software MUX Pad Control Register 82 */
116 #define	IOMUXC_PTD4	0x14C	/* Software MUX Pad Control Register 83 */
117 #define	IOMUXC_PTD5	0x150	/* Software MUX Pad Control Register 84 */
118 #define	IOMUXC_PTD6	0x154	/* Software MUX Pad Control Register 85 */
119 #define	IOMUXC_PTD7	0x158	/* Software MUX Pad Control Register 86 */
120 #define	IOMUXC_PTD8	0x15C	/* Software MUX Pad Control Register 87 */
121 #define	IOMUXC_PTD9	0x160	/* Software MUX Pad Control Register 88 */
122 #define	IOMUXC_PTD10	0x164	/* Software MUX Pad Control Register 89 */
123 #define	IOMUXC_PTD11	0x168	/* Software MUX Pad Control Register 90 */
124 #define	IOMUXC_PTD12	0x16C	/* Software MUX Pad Control Register 91 */
125 #define	IOMUXC_PTD13	0x170	/* Software MUX Pad Control Register 92 */
126 #define	IOMUXC_PTB23	0x174	/* Software MUX Pad Control Register 93 */
127 #define	IOMUXC_PTB24	0x178	/* Software MUX Pad Control Register 94 */
128 #define	IOMUXC_PTB25	0x17C	/* Software MUX Pad Control Register 95 */
129 #define	IOMUXC_PTB26	0x180	/* Software MUX Pad Control Register 96 */
130 #define	IOMUXC_PTB27	0x184	/* Software MUX Pad Control Register 97 */
131 #define	IOMUXC_PTB28	0x188	/* Software MUX Pad Control Register 98 */
132 #define	IOMUXC_PTC26	0x18C	/* Software MUX Pad Control Register 99 */
133 #define	IOMUXC_PTC27	0x190	/* Software MUX Pad Control Register 100 */
134 #define	IOMUXC_PTC28	0x194	/* Software MUX Pad Control Register 101 */
135 #define	IOMUXC_PTC29	0x198	/* Software MUX Pad Control Register 102 */
136 #define	IOMUXC_PTC30	0x19C	/* Software MUX Pad Control Register 103 */
137 #define	IOMUXC_PTC31	0x1A0	/* Software MUX Pad Control Register 104 */
138 #define	IOMUXC_PTE0	0x1A4	/* Software MUX Pad Control Register 105 */
139 #define	IOMUXC_PTE1	0x1A8	/* Software MUX Pad Control Register 106 */
140 #define	IOMUXC_PTE2	0x1AC	/* Software MUX Pad Control Register 107 */
141 #define	IOMUXC_PTE3	0x1B0	/* Software MUX Pad Control Register 108 */
142 #define	IOMUXC_PTE4	0x1B4	/* Software MUX Pad Control Register 109 */
143 #define	IOMUXC_PTE5	0x1B8	/* Software MUX Pad Control Register 110 */
144 #define	IOMUXC_PTE6	0x1BC	/* Software MUX Pad Control Register 111 */
145 #define	IOMUXC_PTE7	0x1C0	/* Software MUX Pad Control Register 112 */
146 #define	IOMUXC_PTE8	0x1C4	/* Software MUX Pad Control Register 113 */
147 #define	IOMUXC_PTE9	0x1C8	/* Software MUX Pad Control Register 114 */
148 #define	IOMUXC_PTE10	0x1CC	/* Software MUX Pad Control Register 115 */
149 #define	IOMUXC_PTE11	0x1D0	/* Software MUX Pad Control Register 116 */
150 #define	IOMUXC_PTE12	0x1D4	/* Software MUX Pad Control Register 117 */
151 #define	IOMUXC_PTE13	0x1D8	/* Software MUX Pad Control Register 118 */
152 #define	IOMUXC_PTE14	0x1DC	/* Software MUX Pad Control Register 119 */
153 #define	IOMUXC_PTE15	0x1E0	/* Software MUX Pad Control Register 120 */
154 #define	IOMUXC_PTE16	0x1E4	/* Software MUX Pad Control Register 121 */
155 #define	IOMUXC_PTE17	0x1E8	/* Software MUX Pad Control Register 122 */
156 #define	IOMUXC_PTE18	0x1EC	/* Software MUX Pad Control Register 123 */
157 #define	IOMUXC_PTE19	0x1F0	/* Software MUX Pad Control Register 124 */
158 #define	IOMUXC_PTE20	0x1F4	/* Software MUX Pad Control Register 125 */
159 #define	IOMUXC_PTE21	0x1F8	/* Software MUX Pad Control Register 126 */
160 #define	IOMUXC_PTE22	0x1FC	/* Software MUX Pad Control Register 127 */
161 #define	IOMUXC_PTE23	0x200	/* Software MUX Pad Control Register 128 */
162 #define	IOMUXC_PTE24	0x204	/* Software MUX Pad Control Register 129 */
163 #define	IOMUXC_PTE25	0x208	/* Software MUX Pad Control Register 130 */
164 #define	IOMUXC_PTE26	0x20C	/* Software MUX Pad Control Register 131 */
165 #define	IOMUXC_PTE27	0x210	/* Software MUX Pad Control Register 132 */
166 #define	IOMUXC_PTE28	0x214	/* Software MUX Pad Control Register 133 */
167 #define	IOMUXC_PTA7	0x218	/* Software MUX Pad Control Register 134 */
168