@@ -202,25 +202,27 @@ struct sh_pfc_soc_info {
202
202
* GP port style (32 ports banks)
203
203
*/
204
204
205
- #define PORT_GP_1 (bank , pin , fn , sfx ) fn(bank, pin, GP_##bank##_##pin, sfx)
206
-
207
- #define PORT_GP_32 (bank , fn , sfx ) \
208
- PORT_GP_1(bank, 0, fn, sfx), PORT_GP_1(bank, 1, fn, sfx), \
209
- PORT_GP_1(bank, 2, fn, sfx), PORT_GP_1(bank, 3, fn, sfx), \
210
- PORT_GP_1(bank, 4, fn, sfx), PORT_GP_1(bank, 5, fn, sfx), \
211
- PORT_GP_1(bank, 6, fn, sfx), PORT_GP_1(bank, 7, fn, sfx), \
212
- PORT_GP_1(bank, 8, fn, sfx), PORT_GP_1(bank, 9, fn, sfx), \
213
- PORT_GP_1(bank, 10, fn, sfx), PORT_GP_1(bank, 11, fn, sfx), \
214
- PORT_GP_1(bank, 12, fn, sfx), PORT_GP_1(bank, 13, fn, sfx), \
215
- PORT_GP_1(bank, 14, fn, sfx), PORT_GP_1(bank, 15, fn, sfx), \
216
- PORT_GP_1(bank, 16, fn, sfx), PORT_GP_1(bank, 17, fn, sfx), \
217
- PORT_GP_1(bank, 18, fn, sfx), PORT_GP_1(bank, 19, fn, sfx), \
218
- PORT_GP_1(bank, 20, fn, sfx), PORT_GP_1(bank, 21, fn, sfx), \
219
- PORT_GP_1(bank, 22, fn, sfx), PORT_GP_1(bank, 23, fn, sfx), \
220
- PORT_GP_1(bank, 24, fn, sfx), PORT_GP_1(bank, 25, fn, sfx), \
221
- PORT_GP_1(bank, 26, fn, sfx), PORT_GP_1(bank, 27, fn, sfx), \
222
- PORT_GP_1(bank, 28, fn, sfx), PORT_GP_1(bank, 29, fn, sfx), \
223
- PORT_GP_1(bank, 30, fn, sfx), PORT_GP_1(bank, 31, fn, sfx)
205
+ #define PORT_GP_CFG_1 (bank , pin , fn , sfx , cfg ) fn(bank, pin, GP_##bank##_##pin, sfx, cfg)
206
+ #define PORT_GP_1 (bank , pin , fn , sfx ) PORT_GP_CFG_1(bank, pin, fn, sfx, 0)
207
+
208
+ #define PORT_GP_CFG_32 (bank , fn , sfx , cfg ) \
209
+ PORT_GP_CFG_1(bank, 0, fn, sfx, cfg), PORT_GP_CFG_1(bank, 1, fn, sfx, cfg), \
210
+ PORT_GP_CFG_1(bank, 2, fn, sfx, cfg), PORT_GP_CFG_1(bank, 3, fn, sfx, cfg), \
211
+ PORT_GP_CFG_1(bank, 4, fn, sfx, cfg), PORT_GP_CFG_1(bank, 5, fn, sfx, cfg), \
212
+ PORT_GP_CFG_1(bank, 6, fn, sfx, cfg), PORT_GP_CFG_1(bank, 7, fn, sfx, cfg), \
213
+ PORT_GP_CFG_1(bank, 8, fn, sfx, cfg), PORT_GP_CFG_1(bank, 9, fn, sfx, cfg), \
214
+ PORT_GP_CFG_1(bank, 10, fn, sfx, cfg), PORT_GP_CFG_1(bank, 11, fn, sfx, cfg), \
215
+ PORT_GP_CFG_1(bank, 12, fn, sfx, cfg), PORT_GP_CFG_1(bank, 13, fn, sfx, cfg), \
216
+ PORT_GP_CFG_1(bank, 14, fn, sfx, cfg), PORT_GP_CFG_1(bank, 15, fn, sfx, cfg), \
217
+ PORT_GP_CFG_1(bank, 16, fn, sfx, cfg), PORT_GP_CFG_1(bank, 17, fn, sfx, cfg), \
218
+ PORT_GP_CFG_1(bank, 18, fn, sfx, cfg), PORT_GP_CFG_1(bank, 19, fn, sfx, cfg), \
219
+ PORT_GP_CFG_1(bank, 20, fn, sfx, cfg), PORT_GP_CFG_1(bank, 21, fn, sfx, cfg), \
220
+ PORT_GP_CFG_1(bank, 22, fn, sfx, cfg), PORT_GP_CFG_1(bank, 23, fn, sfx, cfg), \
221
+ PORT_GP_CFG_1(bank, 24, fn, sfx, cfg), PORT_GP_CFG_1(bank, 25, fn, sfx, cfg), \
222
+ PORT_GP_CFG_1(bank, 26, fn, sfx, cfg), PORT_GP_CFG_1(bank, 27, fn, sfx, cfg), \
223
+ PORT_GP_CFG_1(bank, 28, fn, sfx, cfg), PORT_GP_CFG_1(bank, 29, fn, sfx, cfg), \
224
+ PORT_GP_CFG_1(bank, 30, fn, sfx, cfg), PORT_GP_CFG_1(bank, 31, fn, sfx, cfg)
225
+ #define PORT_GP_32 (bank , fn , sfx ) PORT_GP_CFG_32(bank, fn, sfx, 0)
224
226
225
227
#define PORT_GP_32_REV (bank , fn , sfx ) \
226
228
PORT_GP_1(bank, 31, fn, sfx), PORT_GP_1(bank, 30, fn, sfx), \
@@ -241,20 +243,21 @@ struct sh_pfc_soc_info {
241
243
PORT_GP_1(bank, 1, fn, sfx), PORT_GP_1(bank, 0, fn, sfx)
242
244
243
245
/* GP_ALL(suffix) - Expand to a list of GP_#_#_suffix */
244
- #define _GP_ALL (bank , pin , name , sfx ) name##_##sfx
246
+ #define _GP_ALL (bank , pin , name , sfx , cfg ) name##_##sfx
245
247
#define GP_ALL (str ) CPU_ALL_PORT(_GP_ALL, str)
246
248
247
249
/* PINMUX_GPIO_GP_ALL - Expand to a list of sh_pfc_pin entries */
248
- #define _GP_GPIO (bank , _pin , _name , sfx ) \
250
+ #define _GP_GPIO (bank , _pin , _name , sfx , cfg ) \
249
251
{ \
250
252
.pin = (bank * 32) + _pin, \
251
253
.name = __stringify(_name), \
252
254
.enum_id = _name##_DATA, \
255
+ .configs = cfg, \
253
256
}
254
257
#define PINMUX_GPIO_GP_ALL () CPU_ALL_PORT(_GP_GPIO, unused)
255
258
256
259
/* PINMUX_DATA_GP_ALL - Expand to a list of name_DATA, name_FN marks */
257
- #define _GP_DATA (bank , pin , name , sfx ) PINMUX_DATA(name##_DATA, name##_FN)
260
+ #define _GP_DATA (bank , pin , name , sfx , cfg ) PINMUX_DATA(name##_DATA, name##_FN)
258
261
#define PINMUX_DATA_GP_ALL () CPU_ALL_PORT(_GP_DATA, unused)
259
262
260
263
/*
0 commit comments