• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2019-2023, Intel Corporation. All rights reserved.
3  * Copyright (c) 2024, Altera Corporation. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef AGX5_PINMUX_H
9 #define AGX5_PINMUX_H
10 
11 #include "socfpga_handoff.h"
12 
13 /* PINMUX REGISTER ADDRESS */
14 #define AGX5_PINMUX_PIN0SEL					0x10D13000
15 #define AGX5_PINMUX_IO0CTRL					0x10D13130
16 #define AGX5_PINMUX_EMAC0_USEFPGA				0x10D13300
17 #define AGX5_PINMUX_IO0_DELAY					0x10D13400
18 
19 /* Macros */
20 #define SOCFPGA_PINMUX_SEL_NAND					(0x03)
21 #define SOCFPGA_PINMUX_PIN0SEL					(0x00)
22 #define SOCFPGA_PINMUX_PIN1SEL					(0x04)
23 #define SOCFPGA_PINMUX_PIN2SEL					(0x08)
24 #define SOCFPGA_PINMUX_PIN3SEL					(0x0C)
25 #define SOCFPGA_PINMUX_PIN4SEL					(0x10)
26 #define SOCFPGA_PINMUX_PIN5SEL					(0x14)
27 #define SOCFPGA_PINMUX_PIN6SEL					(0x18)
28 #define SOCFPGA_PINMUX_PIN7SEL					(0x1C)
29 #define SOCFPGA_PINMUX_PIN8SEL					(0x20)
30 #define SOCFPGA_PINMUX_PIN9SEL					(0x24)
31 #define SOCFPGA_PINMUX_PIN10SEL					(0x28)
32 #define SOCFPGA_PINMUX_PIN11SEL					(0x2C)
33 #define SOCFPGA_PINMUX_PIN12SEL					(0x30)
34 #define SOCFPGA_PINMUX_PIN13SEL					(0x34)
35 #define SOCFPGA_PINMUX_PIN14SEL					(0x38)
36 #define SOCFPGA_PINMUX_PIN15SEL					(0x3C)
37 #define SOCFPGA_PINMUX_PIN16SEL					(0x40)
38 #define SOCFPGA_PINMUX_PIN17SEL					(0x44)
39 #define SOCFPGA_PINMUX_PIN18SEL					(0x48)
40 #define SOCFPGA_PINMUX_PIN19SEL					(0x4C)
41 #define SOCFPGA_PINMUX_PIN20SEL					(0x50)
42 #define SOCFPGA_PINMUX_PIN21SEL					(0x54)
43 #define SOCFPGA_PINMUX_PIN22SEL					(0x58)
44 #define SOCFPGA_PINMUX_PIN23SEL					(0x5C)
45 #define SOCFPGA_PINMUX_PIN24SEL					(0x60)
46 #define SOCFPGA_PINMUX_PIN25SEL					(0x64)
47 #define SOCFPGA_PINMUX_PIN26SEL					(0x68)
48 #define SOCFPGA_PINMUX_PIN27SEL					(0x6C)
49 #define SOCFPGA_PINMUX_PIN28SEL					(0x70)
50 #define SOCFPGA_PINMUX_PIN29SEL					(0x74)
51 #define SOCFPGA_PINMUX_PIN30SEL					(0x78)
52 #define SOCFPGA_PINMUX_PIN31SEL					(0x7C)
53 #define SOCFPGA_PINMUX_PIN32SEL					(0x80)
54 #define SOCFPGA_PINMUX_PIN33SEL					(0x84)
55 #define SOCFPGA_PINMUX_PIN34SEL					(0x88)
56 #define SOCFPGA_PINMUX_PIN35SEL					(0x8C)
57 #define SOCFPGA_PINMUX_PIN36SEL					(0x90)
58 #define SOCFPGA_PINMUX_PIN37SEL					(0x94)
59 #define SOCFPGA_PINMUX_PIN38SEL					(0x98)
60 #define SOCFPGA_PINMUX_PIN39SEL					(0x9C)
61 #define SOCFPGA_PINMUX_PIN40SEL					(0x100)
62 #define SOCFPGA_PINMUX_PIN41SEL					(0x104)
63 #define SOCFPGA_PINMUX_PIN42SEL					(0x108)
64 #define SOCFPGA_PINMUX_PIN43SEL					(0x10C)
65 #define SOCFPGA_PINMUX_PIN44SEL					(0x110)
66 #define SOCFPGA_PINMUX_PIN45SEL					(0x114)
67 #define SOCFPGA_PINMUX_PIN46SEL					(0x118)
68 #define SOCFPGA_PINMUX_PIN47SEL					(0x11C)
69 
70 #define SOCFPGA_PINMUX_IO0CTRL					(0x00)
71 #define SOCFPGA_PINMUX_IO1CTRL					(0x04)
72 #define SOCFPGA_PINMUX_IO2CTRL					(0x08)
73 #define SOCFPGA_PINMUX_IO3CTRL					(0x0C)
74 #define SOCFPGA_PINMUX_IO4CTRL					(0x10)
75 #define SOCFPGA_PINMUX_IO5CTRL					(0x14)
76 #define SOCFPGA_PINMUX_IO6CTRL					(0x18)
77 #define SOCFPGA_PINMUX_IO7CTRL					(0x1C)
78 #define SOCFPGA_PINMUX_IO8CTRL					(0x20)
79 #define SOCFPGA_PINMUX_IO9CTRL					(0x24)
80 #define SOCFPGA_PINMUX_IO10CTRL					(0x28)
81 #define SOCFPGA_PINMUX_IO11CTRL					(0x2C)
82 #define SOCFPGA_PINMUX_IO12CTRL					(0x30)
83 #define SOCFPGA_PINMUX_IO13CTRL					(0x34)
84 #define SOCFPGA_PINMUX_IO14CTRL					(0x38)
85 #define SOCFPGA_PINMUX_IO15CTRL					(0x3C)
86 #define SOCFPGA_PINMUX_IO16CTRL					(0x40)
87 #define SOCFPGA_PINMUX_IO17CTRL					(0x44)
88 #define SOCFPGA_PINMUX_IO18CTRL					(0x48)
89 #define SOCFPGA_PINMUX_IO19CTRL					(0x4C)
90 #define SOCFPGA_PINMUX_IO20CTRL					(0x50)
91 #define SOCFPGA_PINMUX_IO21CTRL					(0x54)
92 #define SOCFPGA_PINMUX_IO22CTRL					(0x58)
93 #define SOCFPGA_PINMUX_IO23CTRL					(0x5C)
94 #define SOCFPGA_PINMUX_IO24CTRL					(0x60)
95 #define SOCFPGA_PINMUX_IO25CTRL					(0x64)
96 #define SOCFPGA_PINMUX_IO26CTRL					(0x68)
97 #define SOCFPGA_PINMUX_IO27CTRL					(0x6C)
98 #define SOCFPGA_PINMUX_IO28CTRL					(0xD0)
99 #define SOCFPGA_PINMUX_IO29CTRL					(0xD4)
100 #define SOCFPGA_PINMUX_IO30CTRL					(0xD8)
101 #define SOCFPGA_PINMUX_IO31CTRL					(0xDC)
102 #define SOCFPGA_PINMUX_IO32CTRL					(0xE0)
103 #define SOCFPGA_PINMUX_IO33CTRL					(0xE4)
104 #define SOCFPGA_PINMUX_IO34CTRL					(0xE8)
105 #define SOCFPGA_PINMUX_IO35CTRL					(0xEC)
106 #define SOCFPGA_PINMUX_IO36CTRL					(0xF0)
107 #define SOCFPGA_PINMUX_IO37CTRL					(0xF4)
108 #define SOCFPGA_PINMUX_IO38CTRL					(0xF8)
109 #define SOCFPGA_PINMUX_IO39CTRL					(0xFC)
110 #define SOCFPGA_PINMUX_IO40CTRL					(0x100)
111 #define SOCFPGA_PINMUX_IO41CTRL					(0x104)
112 #define SOCFPGA_PINMUX_IO42CTRL					(0x108)
113 #define SOCFPGA_PINMUX_IO43CTRL					(0x10C)
114 #define SOCFPGA_PINMUX_IO44CTRL					(0x110)
115 #define SOCFPGA_PINMUX_IO45CTRL					(0x114)
116 #define SOCFPGA_PINMUX_IO46CTRL					(0x118)
117 #define SOCFPGA_PINMUX_IO47CTRL					(0x11C)
118 
119 #define SOCFPGA_PINMUX_EMAC0_USEFPGA				(0x00)
120 #define SOCFPGA_PINMUX_EMAC1_USEFPGA				(0x04)
121 #define SOCFPGA_PINMUX_EMAC2_USEFPGA				(0x08)
122 #define SOCFPGA_PINMUX_I2C0_USEFPGA				(0x0C)
123 #define SOCFPGA_PINMUX_I2C1_USEFPGA				(0x10)
124 #define SOCFPGA_PINMUX_I2C_EMAC0_USEFPGA			(0x14)
125 #define SOCFPGA_PINMUX_I2C_EMAC1_USEFPGA			(0x18)
126 #define SOCFPGA_PINMUX_I2C_EMAC2_USEFPGA			(0x1C)
127 #define SOCFPGA_PINMUX_NAND_USEFPGA				(0x20)
128 #define SOCFPGA_PINMUX_SPIM0_USEFPGA				(0x28)
129 #define SOCFPGA_PINMUX_SPIM1_USEFPGA				(0x2C)
130 #define SOCFPGA_PINMUX_SPIS0_USEFPGA				(0x30)
131 #define SOCFPGA_PINMUX_SPIS1_USEFPGA				(0x34)
132 #define SOCFPGA_PINMUX_UART0_USEFPGA				(0x38)
133 #define SOCFPGA_PINMUX_UART1_USEFPGA				(0x3C)
134 #define SOCFPGA_PINMUX_MDIO0_USEFPGA				(0x40)
135 #define SOCFPGA_PINMUX_MDIO1_USEFPGA				(0x44)
136 #define SOCFPGA_PINMUX_MDIO2_USEFPGA				(0x48)
137 #define SOCFPGA_PINMUX_JTAG_USEFPGA				(0x50)
138 #define SOCFPGA_PINMUX_SDMMC_USEFPGA				(0x54)
139 
140 #define SOCFPGA_PINUMX_USEFPGA(_reg)				(AGX5_PINMUX_EMAC0_USEFPGA \
141 								+ SOCFPGA_PINMUX_##_reg)
142 
143 #define SOCFPGA_PINMUX_IO0DELAY					(0x00)
144 #define SOCFPGA_PINMUX_IO1DELAY					(0x04)
145 #define SOCFPGA_PINMUX_IO2DELAY					(0x08)
146 #define SOCFPGA_PINMUX_IO3DELAY					(0x0C)
147 #define SOCFPGA_PINMUX_IO4DELAY					(0x10)
148 #define SOCFPGA_PINMUX_IO5DELAY					(0x14)
149 #define SOCFPGA_PINMUX_IO6DELAY					(0x18)
150 #define SOCFPGA_PINMUX_IO7DELAY					(0x1C)
151 #define SOCFPGA_PINMUX_IO8DELAY					(0x20)
152 #define SOCFPGA_PINMUX_IO9DELAY					(0x24)
153 #define SOCFPGA_PINMUX_IO10DELAY				(0x28)
154 #define SOCFPGA_PINMUX_IO11DELAY				(0x2C)
155 #define SOCFPGA_PINMUX_IO12DELAY				(0x30)
156 #define SOCFPGA_PINMUX_IO13DELAY				(0x34)
157 #define SOCFPGA_PINMUX_IO14DELAY				(0x38)
158 #define SOCFPGA_PINMUX_IO15DELAY				(0x3C)
159 #define SOCFPGA_PINMUX_IO16DELAY				(0x40)
160 #define SOCFPGA_PINMUX_IO17DELAY				(0x44)
161 #define SOCFPGA_PINMUX_IO18DELAY				(0x48)
162 #define SOCFPGA_PINMUX_IO19DELAY				(0x4C)
163 #define SOCFPGA_PINMUX_IO20DELAY				(0x50)
164 #define SOCFPGA_PINMUX_IO21DELAY				(0x54)
165 #define SOCFPGA_PINMUX_IO22DELAY				(0x58)
166 #define SOCFPGA_PINMUX_IO23DELAY				(0x5C)
167 #define SOCFPGA_PINMUX_IO24DELAY				(0x60)
168 #define SOCFPGA_PINMUX_IO25DELAY				(0x64)
169 #define SOCFPGA_PINMUX_IO26DELAY				(0x68)
170 #define SOCFPGA_PINMUX_IO27DELAY				(0x6C)
171 #define SOCFPGA_PINMUX_IO28DELAY				(0x70)
172 #define SOCFPGA_PINMUX_IO29DELAY				(0x74)
173 #define SOCFPGA_PINMUX_IO30DELAY				(0x78)
174 #define SOCFPGA_PINMUX_IO31DELAY				(0x7C)
175 #define SOCFPGA_PINMUX_IO32DELAY				(0x80)
176 #define SOCFPGA_PINMUX_IO33DELAY				(0x84)
177 #define SOCFPGA_PINMUX_IO34DELAY				(0x88)
178 #define SOCFPGA_PINMUX_IO35DELAY				(0x8C)
179 #define SOCFPGA_PINMUX_IO36DELAY				(0x90)
180 #define SOCFPGA_PINMUX_IO37DELAY				(0x94)
181 #define SOCFPGA_PINMUX_IO38DELAY				(0x98)
182 #define SOCFPGA_PINMUX_IO39DELAY				(0x9C)
183 #define SOCFPGA_PINMUX_IO40DELAY				(0xA0)
184 #define SOCFPGA_PINMUX_IO41DELAY				(0xA4)
185 #define SOCFPGA_PINMUX_IO42DELAY				(0xA8)
186 #define SOCFPGA_PINMUX_IO43DELAY				(0xAC)
187 #define SOCFPGA_PINMUX_IO44DELAY				(0xB0)
188 #define SOCFPGA_PINMUX_IO45DELAY				(0xB4)
189 #define SOCFPGA_PINMUX_IO46DELAY				(0xB8)
190 #define SOCFPGA_PINMUX_IO47DELAY				(0xBC)
191 
192 #define SOCFPGA_PINMUX_I3C0_USEFPGA				(0xC0)
193 #define SOCFPGA_PINMUX_I3C1_USEFPGA				(0xC4)
194 
195 #define SOCFPGA_PINMUX(_reg)					(SOCFPGA_PINMUX_REG_BASE \
196 								+ (SOCFPGA_PINMUX_##_reg))
197 
198 void config_pinmux(handoff *handoff);
199 #endif
200