pinctrl-aspeed-g4.c (94955B)
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright (C) 2016 IBM Corp. 4 */ 5#include <linux/bitops.h> 6#include <linux/init.h> 7#include <linux/io.h> 8#include <linux/kernel.h> 9#include <linux/mutex.h> 10#include <linux/of.h> 11#include <linux/platform_device.h> 12#include <linux/pinctrl/pinctrl.h> 13#include <linux/pinctrl/pinmux.h> 14#include <linux/pinctrl/pinconf.h> 15#include <linux/pinctrl/pinconf-generic.h> 16#include <linux/string.h> 17#include <linux/types.h> 18 19#include "../core.h" 20#include "../pinctrl-utils.h" 21#include "pinmux-aspeed.h" 22#include "pinctrl-aspeed.h" 23 24/* Wrap some of the common macros for clarity */ 25#define SIG_EXPR_DECL_SINGLE(sig, func, ...) \ 26 SIG_EXPR_DECL(sig, func, func, __VA_ARGS__) 27 28#define SIG_EXPR_LIST_DECL_SINGLE SIG_EXPR_LIST_DECL_SESG 29#define SIG_EXPR_LIST_DECL_DUAL SIG_EXPR_LIST_DECL_DESG 30 31/* 32 * The "Multi-function Pins Mapping and Control" table in the SoC datasheet 33 * references registers by the device/offset mnemonic. The register macros 34 * below are named the same way to ease transcription and verification (as 35 * opposed to naming them e.g. PINMUX_CTRL_[0-9]). Further, signal expressions 36 * reference registers beyond those dedicated to pinmux, such as the system 37 * reset control and MAC clock configuration registers. 38 */ 39#define SCU2C 0x2C /* Misc. Control Register */ 40#define SCU3C 0x3C /* System Reset Control/Status Register */ 41#define SCU48 0x48 /* MAC Interface Clock Delay Setting */ 42#define HW_STRAP1 0x70 /* AST2400 strapping is 33 bits, is split */ 43#define HW_REVISION_ID 0x7C /* Silicon revision ID register */ 44#define SCU80 0x80 /* Multi-function Pin Control #1 */ 45#define SCU84 0x84 /* Multi-function Pin Control #2 */ 46#define SCU88 0x88 /* Multi-function Pin Control #3 */ 47#define SCU8C 0x8C /* Multi-function Pin Control #4 */ 48#define SCU90 0x90 /* Multi-function Pin Control #5 */ 49#define SCU94 0x94 /* Multi-function Pin Control #6 */ 50#define SCUA0 0xA0 /* Multi-function Pin Control #7 */ 51#define SCUA4 0xA4 /* Multi-function Pin Control #8 */ 52#define SCUA8 0xA8 /* Multi-function Pin Control #9 */ 53#define SCUAC 0xAC /* Multi-function Pin Control #10 */ 54#define HW_STRAP2 0xD0 /* Strapping */ 55 56/* 57 * Uses undefined macros for symbol naming and references, eg GPIOA0, MAC1LINK, 58 * TIMER3 etc. 59 * 60 * Pins are defined in GPIO bank order: 61 * 62 * GPIOA0: 0 63 * ... 64 * GPIOA7: 7 65 * GPIOB0: 8 66 * ... 67 * GPIOZ7: 207 68 * GPIOAA0: 208 69 * ... 70 * GPIOAB3: 219 71 * 72 * Not all pins have their signals defined (yet). 73 */ 74 75#define D6 0 76SSSF_PIN_DECL(D6, GPIOA0, MAC1LINK, SIG_DESC_SET(SCU80, 0)); 77 78#define B5 1 79SSSF_PIN_DECL(B5, GPIOA1, MAC2LINK, SIG_DESC_SET(SCU80, 1)); 80 81#define A4 2 82SSSF_PIN_DECL(A4, GPIOA2, TIMER3, SIG_DESC_SET(SCU80, 2)); 83 84#define E6 3 85SSSF_PIN_DECL(E6, GPIOA3, TIMER4, SIG_DESC_SET(SCU80, 3)); 86 87#define I2C9_DESC SIG_DESC_SET(SCU90, 22) 88 89#define C5 4 90SIG_EXPR_LIST_DECL_SINGLE(C5, SCL9, I2C9, I2C9_DESC); 91SIG_EXPR_LIST_DECL_SINGLE(C5, TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4)); 92PIN_DECL_2(C5, GPIOA4, SCL9, TIMER5); 93 94FUNC_GROUP_DECL(TIMER5, C5); 95 96#define B4 5 97SIG_EXPR_LIST_DECL_SINGLE(B4, SDA9, I2C9, I2C9_DESC); 98SIG_EXPR_LIST_DECL_SINGLE(B4, TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5)); 99PIN_DECL_2(B4, GPIOA5, SDA9, TIMER6); 100 101FUNC_GROUP_DECL(TIMER6, B4); 102FUNC_GROUP_DECL(I2C9, C5, B4); 103 104#define MDIO2_DESC SIG_DESC_SET(SCU90, 2) 105 106#define A3 6 107SIG_EXPR_LIST_DECL_SINGLE(A3, MDC2, MDIO2, MDIO2_DESC); 108SIG_EXPR_LIST_DECL_SINGLE(A3, TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6)); 109PIN_DECL_2(A3, GPIOA6, MDC2, TIMER7); 110 111FUNC_GROUP_DECL(TIMER7, A3); 112 113#define D5 7 114SIG_EXPR_LIST_DECL_SINGLE(D5, MDIO2, MDIO2, MDIO2_DESC); 115SIG_EXPR_LIST_DECL_SINGLE(D5, TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7)); 116PIN_DECL_2(D5, GPIOA7, MDIO2, TIMER8); 117 118FUNC_GROUP_DECL(TIMER8, D5); 119FUNC_GROUP_DECL(MDIO2, A3, D5); 120 121#define J21 8 122SSSF_PIN_DECL(J21, GPIOB0, SALT1, SIG_DESC_SET(SCU80, 8)); 123 124#define J20 9 125SSSF_PIN_DECL(J20, GPIOB1, SALT2, SIG_DESC_SET(SCU80, 9)); 126 127#define H18 10 128SSSF_PIN_DECL(H18, GPIOB2, SALT3, SIG_DESC_SET(SCU80, 10)); 129 130#define F18 11 131SSSF_PIN_DECL(F18, GPIOB3, SALT4, SIG_DESC_SET(SCU80, 11)); 132 133#define E19 12 134SIG_EXPR_DECL_SINGLE(LPCRST, LPCRST, SIG_DESC_SET(SCU80, 12)); 135SIG_EXPR_DECL_SINGLE(LPCRST, LPCRSTS, SIG_DESC_SET(HW_STRAP1, 14)); 136SIG_EXPR_LIST_DECL_DUAL(E19, LPCRST, LPCRST, LPCRSTS); 137PIN_DECL_1(E19, GPIOB4, LPCRST); 138 139FUNC_GROUP_DECL(LPCRST, E19); 140 141#define H19 13 142#define H19_DESC SIG_DESC_SET(SCU80, 13) 143SIG_EXPR_LIST_DECL_SINGLE(H19, LPCPD, LPCPD, H19_DESC); 144SIG_EXPR_LIST_DECL_SINGLE(H19, LPCSMI, LPCSMI, H19_DESC); 145PIN_DECL_2(H19, GPIOB5, LPCPD, LPCSMI); 146 147FUNC_GROUP_DECL(LPCPD, H19); 148FUNC_GROUP_DECL(LPCSMI, H19); 149 150#define H20 14 151SSSF_PIN_DECL(H20, GPIOB6, LPCPME, SIG_DESC_SET(SCU80, 14)); 152 153#define E18 15 154SIG_EXPR_LIST_DECL_SINGLE(E18, EXTRST, EXTRST, 155 SIG_DESC_SET(SCU80, 15), 156 SIG_DESC_BIT(SCU90, 31, 0), 157 SIG_DESC_SET(SCU3C, 3)); 158SIG_EXPR_LIST_DECL_SINGLE(E18, SPICS1, SPICS1, 159 SIG_DESC_SET(SCU80, 15), 160 SIG_DESC_SET(SCU90, 31)); 161PIN_DECL_2(E18, GPIOB7, EXTRST, SPICS1); 162 163FUNC_GROUP_DECL(EXTRST, E18); 164FUNC_GROUP_DECL(SPICS1, E18); 165 166#define SD1_DESC SIG_DESC_SET(SCU90, 0) 167#define I2C10_DESC SIG_DESC_SET(SCU90, 23) 168 169#define C4 16 170SIG_EXPR_LIST_DECL_SINGLE(C4, SD1CLK, SD1, SD1_DESC); 171SIG_EXPR_LIST_DECL_SINGLE(C4, SCL10, I2C10, I2C10_DESC); 172PIN_DECL_2(C4, GPIOC0, SD1CLK, SCL10); 173 174#define B3 17 175SIG_EXPR_LIST_DECL_SINGLE(B3, SD1CMD, SD1, SD1_DESC); 176SIG_EXPR_LIST_DECL_SINGLE(B3, SDA10, I2C10, I2C10_DESC); 177PIN_DECL_2(B3, GPIOC1, SD1CMD, SDA10); 178 179FUNC_GROUP_DECL(I2C10, C4, B3); 180 181#define I2C11_DESC SIG_DESC_SET(SCU90, 24) 182 183#define A2 18 184SIG_EXPR_LIST_DECL_SINGLE(A2, SD1DAT0, SD1, SD1_DESC); 185SIG_EXPR_LIST_DECL_SINGLE(A2, SCL11, I2C11, I2C11_DESC); 186PIN_DECL_2(A2, GPIOC2, SD1DAT0, SCL11); 187 188#define E5 19 189SIG_EXPR_LIST_DECL_SINGLE(E5, SD1DAT1, SD1, SD1_DESC); 190SIG_EXPR_LIST_DECL_SINGLE(E5, SDA11, I2C11, I2C11_DESC); 191PIN_DECL_2(E5, GPIOC3, SD1DAT1, SDA11); 192 193FUNC_GROUP_DECL(I2C11, A2, E5); 194 195#define I2C12_DESC SIG_DESC_SET(SCU90, 25) 196 197#define D4 20 198SIG_EXPR_LIST_DECL_SINGLE(D4, SD1DAT2, SD1, SD1_DESC); 199SIG_EXPR_LIST_DECL_SINGLE(D4, SCL12, I2C12, I2C12_DESC); 200PIN_DECL_2(D4, GPIOC4, SD1DAT2, SCL12); 201 202#define C3 21 203SIG_EXPR_LIST_DECL_SINGLE(C3, SD1DAT3, SD1, SD1_DESC); 204SIG_EXPR_LIST_DECL_SINGLE(C3, SDA12, I2C12, I2C12_DESC); 205PIN_DECL_2(C3, GPIOC5, SD1DAT3, SDA12); 206 207FUNC_GROUP_DECL(I2C12, D4, C3); 208 209#define I2C13_DESC SIG_DESC_SET(SCU90, 26) 210 211#define B2 22 212SIG_EXPR_LIST_DECL_SINGLE(B2, SD1CD, SD1, SD1_DESC); 213SIG_EXPR_LIST_DECL_SINGLE(B2, SCL13, I2C13, I2C13_DESC); 214PIN_DECL_2(B2, GPIOC6, SD1CD, SCL13); 215 216#define A1 23 217SIG_EXPR_LIST_DECL_SINGLE(A1, SD1WP, SD1, SD1_DESC); 218SIG_EXPR_LIST_DECL_SINGLE(A1, SDA13, I2C13, I2C13_DESC); 219PIN_DECL_2(A1, GPIOC7, SD1WP, SDA13); 220 221FUNC_GROUP_DECL(I2C13, B2, A1); 222FUNC_GROUP_DECL(SD1, C4, B3, A2, E5, D4, C3, B2, A1); 223 224#define SD2_DESC SIG_DESC_SET(SCU90, 1) 225#define GPID_DESC SIG_DESC_SET(HW_STRAP1, 21) 226#define GPID0_DESC SIG_DESC_SET(SCU8C, 8) 227 228#define A18 24 229SIG_EXPR_LIST_DECL_SINGLE(A18, SD2CLK, SD2, SD2_DESC); 230SIG_EXPR_DECL_SINGLE(GPID0IN, GPID0, GPID0_DESC); 231SIG_EXPR_DECL_SINGLE(GPID0IN, GPID, GPID_DESC); 232SIG_EXPR_LIST_DECL_DUAL(A18, GPID0IN, GPID0, GPID); 233PIN_DECL_2(A18, GPIOD0, SD2CLK, GPID0IN); 234 235#define D16 25 236SIG_EXPR_LIST_DECL_SINGLE(D16, SD2CMD, SD2, SD2_DESC); 237SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID0, GPID0_DESC); 238SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID, GPID_DESC); 239SIG_EXPR_LIST_DECL_DUAL(D16, GPID0OUT, GPID0, GPID); 240PIN_DECL_2(D16, GPIOD1, SD2CMD, GPID0OUT); 241 242FUNC_GROUP_DECL(GPID0, A18, D16); 243 244#define GPID2_DESC SIG_DESC_SET(SCU8C, 9) 245 246#define B17 26 247SIG_EXPR_LIST_DECL_SINGLE(B17, SD2DAT0, SD2, SD2_DESC); 248SIG_EXPR_DECL_SINGLE(GPID2IN, GPID2, GPID2_DESC); 249SIG_EXPR_DECL_SINGLE(GPID2IN, GPID, GPID_DESC); 250SIG_EXPR_LIST_DECL_DUAL(B17, GPID2IN, GPID2, GPID); 251PIN_DECL_2(B17, GPIOD2, SD2DAT0, GPID2IN); 252 253#define A17 27 254SIG_EXPR_LIST_DECL_SINGLE(A17, SD2DAT1, SD2, SD2_DESC); 255SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID2, GPID2_DESC); 256SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID, GPID_DESC); 257SIG_EXPR_LIST_DECL_DUAL(A17, GPID2OUT, GPID2, GPID); 258PIN_DECL_2(A17, GPIOD3, SD2DAT1, GPID2OUT); 259 260FUNC_GROUP_DECL(GPID2, B17, A17); 261 262#define GPID4_DESC SIG_DESC_SET(SCU8C, 10) 263 264#define C16 28 265SIG_EXPR_LIST_DECL_SINGLE(C16, SD2DAT2, SD2, SD2_DESC); 266SIG_EXPR_DECL_SINGLE(GPID4IN, GPID4, GPID4_DESC); 267SIG_EXPR_DECL_SINGLE(GPID4IN, GPID, GPID_DESC); 268SIG_EXPR_LIST_DECL_DUAL(C16, GPID4IN, GPID4, GPID); 269PIN_DECL_2(C16, GPIOD4, SD2DAT2, GPID4IN); 270 271#define B16 29 272SIG_EXPR_LIST_DECL_SINGLE(B16, SD2DAT3, SD2, SD2_DESC); 273SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID4, GPID4_DESC); 274SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID, GPID_DESC); 275SIG_EXPR_LIST_DECL_DUAL(B16, GPID4OUT, GPID4, GPID); 276PIN_DECL_2(B16, GPIOD5, SD2DAT3, GPID4OUT); 277 278FUNC_GROUP_DECL(GPID4, C16, B16); 279 280#define GPID6_DESC SIG_DESC_SET(SCU8C, 11) 281 282#define A16 30 283SIG_EXPR_LIST_DECL_SINGLE(A16, SD2CD, SD2, SD2_DESC); 284SIG_EXPR_DECL_SINGLE(GPID6IN, GPID6, GPID6_DESC); 285SIG_EXPR_DECL_SINGLE(GPID6IN, GPID, GPID_DESC); 286SIG_EXPR_LIST_DECL_DUAL(A16, GPID6IN, GPID6, GPID); 287PIN_DECL_2(A16, GPIOD6, SD2CD, GPID6IN); 288 289#define E15 31 290SIG_EXPR_LIST_DECL_SINGLE(E15, SD2WP, SD2, SD2_DESC); 291SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID6, GPID6_DESC); 292SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID, GPID_DESC); 293SIG_EXPR_LIST_DECL_DUAL(E15, GPID6OUT, GPID6, GPID); 294PIN_DECL_2(E15, GPIOD7, SD2WP, GPID6OUT); 295 296FUNC_GROUP_DECL(GPID6, A16, E15); 297FUNC_GROUP_DECL(SD2, A18, D16, B17, A17, C16, B16, A16, E15); 298FUNC_GROUP_DECL(GPID, A18, D16, B17, A17, C16, B16, A16, E15); 299 300#define GPIE_DESC SIG_DESC_SET(HW_STRAP1, 22) 301#define GPIE0_DESC SIG_DESC_SET(SCU8C, 12) 302#define GPIE2_DESC SIG_DESC_SET(SCU8C, 13) 303#define GPIE4_DESC SIG_DESC_SET(SCU8C, 14) 304#define GPIE6_DESC SIG_DESC_SET(SCU8C, 15) 305 306#define D15 32 307SIG_EXPR_LIST_DECL_SINGLE(D15, NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16)); 308SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE0, GPIE0_DESC); 309SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE, GPIE_DESC); 310SIG_EXPR_LIST_DECL_DUAL(D15, GPIE0IN, GPIE0, GPIE); 311PIN_DECL_2(D15, GPIOE0, NCTS3, GPIE0IN); 312 313FUNC_GROUP_DECL(NCTS3, D15); 314 315#define C15 33 316SIG_EXPR_LIST_DECL_SINGLE(C15, NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17)); 317SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE0, GPIE0_DESC); 318SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE, GPIE_DESC); 319SIG_EXPR_LIST_DECL_DUAL(C15, GPIE0OUT, GPIE0, GPIE); 320PIN_DECL_2(C15, GPIOE1, NDCD3, GPIE0OUT); 321 322FUNC_GROUP_DECL(NDCD3, C15); 323FUNC_GROUP_DECL(GPIE0, D15, C15); 324 325#define B15 34 326SIG_EXPR_LIST_DECL_SINGLE(B15, NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18)); 327SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE2, GPIE2_DESC); 328SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE, GPIE_DESC); 329SIG_EXPR_LIST_DECL_DUAL(B15, GPIE2IN, GPIE2, GPIE); 330PIN_DECL_2(B15, GPIOE2, NDSR3, GPIE2IN); 331 332FUNC_GROUP_DECL(NDSR3, B15); 333 334#define A15 35 335SIG_EXPR_LIST_DECL_SINGLE(A15, NRI3, NRI3, SIG_DESC_SET(SCU80, 19)); 336SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE2, GPIE2_DESC); 337SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE, GPIE_DESC); 338SIG_EXPR_LIST_DECL_DUAL(A15, GPIE2OUT, GPIE2, GPIE); 339PIN_DECL_2(A15, GPIOE3, NRI3, GPIE2OUT); 340 341FUNC_GROUP_DECL(NRI3, A15); 342FUNC_GROUP_DECL(GPIE2, B15, A15); 343 344#define E14 36 345SIG_EXPR_LIST_DECL_SINGLE(E14, NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20)); 346SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE4, GPIE4_DESC); 347SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE, GPIE_DESC); 348SIG_EXPR_LIST_DECL_DUAL(E14, GPIE4IN, GPIE4, GPIE); 349PIN_DECL_2(E14, GPIOE4, NDTR3, GPIE4IN); 350 351FUNC_GROUP_DECL(NDTR3, E14); 352 353#define D14 37 354SIG_EXPR_LIST_DECL_SINGLE(D14, NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21)); 355SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE4, GPIE4_DESC); 356SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE, GPIE_DESC); 357SIG_EXPR_LIST_DECL_DUAL(D14, GPIE4OUT, GPIE4, GPIE); 358PIN_DECL_2(D14, GPIOE5, NRTS3, GPIE4OUT); 359 360FUNC_GROUP_DECL(NRTS3, D14); 361FUNC_GROUP_DECL(GPIE4, E14, D14); 362 363#define C14 38 364SIG_EXPR_LIST_DECL_SINGLE(C14, TXD3, TXD3, SIG_DESC_SET(SCU80, 22)); 365SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE6, GPIE6_DESC); 366SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE, GPIE_DESC); 367SIG_EXPR_LIST_DECL_DUAL(C14, GPIE6IN, GPIE6, GPIE); 368PIN_DECL_2(C14, GPIOE6, TXD3, GPIE6IN); 369 370FUNC_GROUP_DECL(TXD3, C14); 371 372#define B14 39 373SIG_EXPR_LIST_DECL_SINGLE(B14, RXD3, RXD3, SIG_DESC_SET(SCU80, 23)); 374SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE6, GPIE6_DESC); 375SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE, GPIE_DESC); 376SIG_EXPR_LIST_DECL_DUAL(B14, GPIE6OUT, GPIE6, GPIE); 377PIN_DECL_2(B14, GPIOE7, RXD3, GPIE6OUT); 378 379FUNC_GROUP_DECL(RXD3, B14); 380FUNC_GROUP_DECL(GPIE6, C14, B14); 381 382#define D18 40 383SSSF_PIN_DECL(D18, GPIOF0, NCTS4, SIG_DESC_SET(SCU80, 24)); 384 385#define ACPI_DESC SIG_DESC_BIT(HW_STRAP1, 19, 0) 386 387#define B19 41 388SIG_EXPR_LIST_DECL_SINGLE(B19, NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25)); 389SIG_EXPR_DECL_SINGLE(SIOPBI, SIOPBI, SIG_DESC_SET(SCUA4, 12)); 390SIG_EXPR_DECL_SINGLE(SIOPBI, ACPI, ACPI_DESC); 391SIG_EXPR_LIST_DECL_DUAL(B19, SIOPBI, SIOPBI, ACPI); 392PIN_DECL_2(B19, GPIOF1, NDCD4, SIOPBI); 393FUNC_GROUP_DECL(NDCD4, B19); 394FUNC_GROUP_DECL(SIOPBI, B19); 395 396#define A20 42 397SIG_EXPR_LIST_DECL_SINGLE(A20, NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26)); 398SIG_EXPR_DECL_SINGLE(SIOPWRGD, SIOPWRGD, SIG_DESC_SET(SCUA4, 12)); 399SIG_EXPR_DECL_SINGLE(SIOPWRGD, ACPI, ACPI_DESC); 400SIG_EXPR_LIST_DECL_DUAL(A20, SIOPWRGD, SIOPWRGD, ACPI); 401PIN_DECL_2(A20, GPIOF2, NDSR4, SIOPWRGD); 402FUNC_GROUP_DECL(NDSR4, A20); 403FUNC_GROUP_DECL(SIOPWRGD, A20); 404 405#define D17 43 406SIG_EXPR_LIST_DECL_SINGLE(D17, NRI4, NRI4, SIG_DESC_SET(SCU80, 27)); 407SIG_EXPR_DECL_SINGLE(SIOPBO, SIOPBO, SIG_DESC_SET(SCUA4, 14)); 408SIG_EXPR_DECL_SINGLE(SIOPBO, ACPI, ACPI_DESC); 409SIG_EXPR_LIST_DECL_DUAL(D17, SIOPBO, SIOPBO, ACPI); 410PIN_DECL_2(D17, GPIOF3, NRI4, SIOPBO); 411FUNC_GROUP_DECL(NRI4, D17); 412FUNC_GROUP_DECL(SIOPBO, D17); 413 414#define B18 44 415SSSF_PIN_DECL(B18, GPIOF4, NDTR4, SIG_DESC_SET(SCU80, 28)); 416 417#define A19 45 418SIG_EXPR_LIST_DECL_SINGLE(A19, NDTS4, NDTS4, SIG_DESC_SET(SCU80, 29)); 419SIG_EXPR_DECL_SINGLE(SIOSCI, SIOSCI, SIG_DESC_SET(SCUA4, 15)); 420SIG_EXPR_DECL_SINGLE(SIOSCI, ACPI, ACPI_DESC); 421SIG_EXPR_LIST_DECL_DUAL(A19, SIOSCI, SIOSCI, ACPI); 422PIN_DECL_2(A19, GPIOF5, NDTS4, SIOSCI); 423FUNC_GROUP_DECL(NDTS4, A19); 424FUNC_GROUP_DECL(SIOSCI, A19); 425 426#define E16 46 427SSSF_PIN_DECL(E16, GPIOF6, TXD4, SIG_DESC_SET(SCU80, 30)); 428 429#define C17 47 430SSSF_PIN_DECL(C17, GPIOF7, RXD4, SIG_DESC_SET(SCU80, 31)); 431 432#define A14 48 433SSSF_PIN_DECL(A14, GPIOG0, SGPSCK, SIG_DESC_SET(SCU84, 0)); 434 435#define E13 49 436SSSF_PIN_DECL(E13, GPIOG1, SGPSLD, SIG_DESC_SET(SCU84, 1)); 437 438#define D13 50 439SSSF_PIN_DECL(D13, GPIOG2, SGPSI0, SIG_DESC_SET(SCU84, 2)); 440 441#define C13 51 442SSSF_PIN_DECL(C13, GPIOG3, SGPSI1, SIG_DESC_SET(SCU84, 3)); 443 444#define B13 52 445SIG_EXPR_LIST_DECL_SINGLE(B13, OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1)); 446SIG_EXPR_LIST_DECL_SINGLE(B13, WDTRST1, WDTRST1, SIG_DESC_SET(SCU84, 4)); 447PIN_DECL_2(B13, GPIOG4, OSCCLK, WDTRST1); 448 449FUNC_GROUP_DECL(OSCCLK, B13); 450FUNC_GROUP_DECL(WDTRST1, B13); 451 452#define Y21 53 453SIG_EXPR_LIST_DECL_SINGLE(Y21, USBCKI, USBCKI, SIG_DESC_SET(HW_STRAP1, 23)); 454SIG_EXPR_LIST_DECL_SINGLE(Y21, WDTRST2, WDTRST2, SIG_DESC_SET(SCU84, 5)); 455PIN_DECL_2(Y21, GPIOG5, USBCKI, WDTRST2); 456 457FUNC_GROUP_DECL(USBCKI, Y21); 458FUNC_GROUP_DECL(WDTRST2, Y21); 459 460#define AA22 54 461SSSF_PIN_DECL(AA22, GPIOG6, FLBUSY, SIG_DESC_SET(SCU84, 6)); 462 463#define U18 55 464SSSF_PIN_DECL(U18, GPIOG7, FLWP, SIG_DESC_SET(SCU84, 7)); 465 466#define UART6_DESC SIG_DESC_SET(SCU90, 7) 467#define ROM16_DESC SIG_DESC_SET(SCU90, 6) 468#define FLASH_WIDE SIG_DESC_SET(HW_STRAP1, 4) 469#define BOOT_SRC_NOR { ASPEED_IP_SCU, HW_STRAP1, GENMASK(1, 0), 0, 0 } 470 471#define A8 56 472SIG_EXPR_DECL_SINGLE(ROMD8, ROM16, ROM16_DESC); 473SIG_EXPR_DECL_SINGLE(ROMD8, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 474SIG_EXPR_LIST_DECL_DUAL(A8, ROMD8, ROM16, ROM16S); 475SIG_EXPR_LIST_DECL_SINGLE(A8, NCTS6, NCTS6, UART6_DESC); 476PIN_DECL_2(A8, GPIOH0, ROMD8, NCTS6); 477 478#define C7 57 479SIG_EXPR_DECL_SINGLE(ROMD9, ROM16, ROM16_DESC); 480SIG_EXPR_DECL_SINGLE(ROMD9, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 481SIG_EXPR_LIST_DECL_DUAL(C7, ROMD9, ROM16, ROM16S); 482SIG_EXPR_LIST_DECL_SINGLE(C7, NDCD6, NDCD6, UART6_DESC); 483PIN_DECL_2(C7, GPIOH1, ROMD9, NDCD6); 484 485#define B7 58 486SIG_EXPR_DECL_SINGLE(ROMD10, ROM16, ROM16_DESC); 487SIG_EXPR_DECL_SINGLE(ROMD10, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 488SIG_EXPR_LIST_DECL_DUAL(B7, ROMD10, ROM16, ROM16S); 489SIG_EXPR_LIST_DECL_SINGLE(B7, NDSR6, NDSR6, UART6_DESC); 490PIN_DECL_2(B7, GPIOH2, ROMD10, NDSR6); 491 492#define A7 59 493SIG_EXPR_DECL_SINGLE(ROMD11, ROM16, ROM16_DESC); 494SIG_EXPR_DECL_SINGLE(ROMD11, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 495SIG_EXPR_LIST_DECL_DUAL(A7, ROMD11, ROM16, ROM16S); 496SIG_EXPR_LIST_DECL_SINGLE(A7, NRI6, NRI6, UART6_DESC); 497PIN_DECL_2(A7, GPIOH3, ROMD11, NRI6); 498 499#define D7 60 500SIG_EXPR_DECL_SINGLE(ROMD12, ROM16, ROM16_DESC); 501SIG_EXPR_DECL_SINGLE(ROMD12, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 502SIG_EXPR_LIST_DECL_DUAL(D7, ROMD12, ROM16, ROM16S); 503SIG_EXPR_LIST_DECL_SINGLE(D7, NDTR6, NDTR6, UART6_DESC); 504PIN_DECL_2(D7, GPIOH4, ROMD12, NDTR6); 505 506#define B6 61 507SIG_EXPR_DECL_SINGLE(ROMD13, ROM16, ROM16_DESC); 508SIG_EXPR_DECL_SINGLE(ROMD13, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 509SIG_EXPR_LIST_DECL_DUAL(B6, ROMD13, ROM16, ROM16S); 510SIG_EXPR_LIST_DECL_SINGLE(B6, NRTS6, NRTS6, UART6_DESC); 511PIN_DECL_2(B6, GPIOH5, ROMD13, NRTS6); 512 513#define A6 62 514SIG_EXPR_DECL_SINGLE(ROMD14, ROM16, ROM16_DESC); 515SIG_EXPR_DECL_SINGLE(ROMD14, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 516SIG_EXPR_LIST_DECL_DUAL(A6, ROMD14, ROM16, ROM16S); 517SIG_EXPR_LIST_DECL_SINGLE(A6, TXD6, TXD6, UART6_DESC); 518PIN_DECL_2(A6, GPIOH6, ROMD14, TXD6); 519 520#define E7 63 521SIG_EXPR_DECL_SINGLE(ROMD15, ROM16, ROM16_DESC); 522SIG_EXPR_DECL_SINGLE(ROMD15, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 523SIG_EXPR_LIST_DECL_DUAL(E7, ROMD15, ROM16, ROM16S); 524SIG_EXPR_LIST_DECL_SINGLE(E7, RXD6, RXD6, UART6_DESC); 525PIN_DECL_2(E7, GPIOH7, ROMD15, RXD6); 526 527FUNC_GROUP_DECL(UART6, A8, C7, B7, A7, D7, B6, A6, E7); 528 529#define SPI1_DESC \ 530 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 1, 0 } 531#define SPI1DEBUG_DESC \ 532 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 2, 0 } 533#define SPI1PASSTHRU_DESC \ 534 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 } 535 536#define C22 64 537SIG_EXPR_DECL_SINGLE(SYSCS, SPI1DEBUG, SPI1DEBUG_DESC); 538SIG_EXPR_DECL_SINGLE(SYSCS, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 539SIG_EXPR_LIST_DECL_DUAL(C22, SYSCS, SPI1DEBUG, SPI1PASSTHRU); 540PIN_DECL_1(C22, GPIOI0, SYSCS); 541 542#define G18 65 543SIG_EXPR_DECL_SINGLE(SYSCK, SPI1DEBUG, SPI1DEBUG_DESC); 544SIG_EXPR_DECL_SINGLE(SYSCK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 545SIG_EXPR_LIST_DECL_DUAL(G18, SYSCK, SPI1DEBUG, SPI1PASSTHRU); 546PIN_DECL_1(G18, GPIOI1, SYSCK); 547 548#define D19 66 549SIG_EXPR_DECL_SINGLE(SYSDO, SPI1DEBUG, SPI1DEBUG_DESC); 550SIG_EXPR_DECL_SINGLE(SYSDO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 551SIG_EXPR_LIST_DECL_DUAL(D19, SYSDO, SPI1DEBUG, SPI1PASSTHRU); 552PIN_DECL_1(D19, GPIOI2, SYSDO); 553 554#define C20 67 555SIG_EXPR_DECL_SINGLE(SYSDI, SPI1DEBUG, SPI1DEBUG_DESC); 556SIG_EXPR_DECL_SINGLE(SYSDI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 557SIG_EXPR_LIST_DECL_DUAL(C20, SYSDI, SPI1DEBUG, SPI1PASSTHRU); 558PIN_DECL_1(C20, GPIOI3, SYSDI); 559 560#define VB_DESC SIG_DESC_SET(HW_STRAP1, 5) 561 562#define B22 68 563SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1, SPI1_DESC); 564SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1DEBUG, SPI1DEBUG_DESC); 565SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 566SIG_EXPR_LIST_DECL(SPI1CS0, SPI1, 567 SIG_EXPR_PTR(SPI1CS0, SPI1), 568 SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG), 569 SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU)); 570SIG_EXPR_LIST_ALIAS(B22, SPI1CS0, SPI1); 571SIG_EXPR_LIST_DECL_SINGLE(B22, VBCS, VGABIOS_ROM, VB_DESC); 572PIN_DECL_2(B22, GPIOI4, SPI1CS0, VBCS); 573 574#define G19 69 575SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1, SPI1_DESC); 576SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1DEBUG, SPI1DEBUG_DESC); 577SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 578SIG_EXPR_LIST_DECL(SPI1CK, SPI1, 579 SIG_EXPR_PTR(SPI1CK, SPI1), 580 SIG_EXPR_PTR(SPI1CK, SPI1DEBUG), 581 SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU)); 582SIG_EXPR_LIST_ALIAS(G19, SPI1CK, SPI1); 583SIG_EXPR_LIST_DECL_SINGLE(G19, VBCK, VGABIOS_ROM, VB_DESC); 584PIN_DECL_2(G19, GPIOI5, SPI1CK, VBCK); 585 586#define C18 70 587SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1, SPI1_DESC); 588SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1DEBUG, SPI1DEBUG_DESC); 589SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 590SIG_EXPR_LIST_DECL(SPI1DO, SPI1, 591 SIG_EXPR_PTR(SPI1DO, SPI1), 592 SIG_EXPR_PTR(SPI1DO, SPI1DEBUG), 593 SIG_EXPR_PTR(SPI1DO, SPI1PASSTHRU)); 594SIG_EXPR_LIST_ALIAS(C18, SPI1DO, SPI1); 595SIG_EXPR_LIST_DECL_SINGLE(C18, VBDO, VGABIOS_ROM, VB_DESC); 596PIN_DECL_2(C18, GPIOI6, SPI1DO, VBDO); 597 598#define E20 71 599SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1, SPI1_DESC); 600SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1DEBUG, SPI1DEBUG_DESC); 601SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 602SIG_EXPR_LIST_DECL(SPI1DI, SPI1, 603 SIG_EXPR_PTR(SPI1DI, SPI1), 604 SIG_EXPR_PTR(SPI1DI, SPI1DEBUG), 605 SIG_EXPR_PTR(SPI1DI, SPI1PASSTHRU)); 606SIG_EXPR_LIST_ALIAS(E20, SPI1DI, SPI1); 607SIG_EXPR_LIST_DECL_SINGLE(E20, VBDI, VGABIOS_ROM, VB_DESC); 608PIN_DECL_2(E20, GPIOI7, SPI1DI, VBDI); 609 610FUNC_GROUP_DECL(SPI1, B22, G19, C18, E20); 611FUNC_GROUP_DECL(SPI1DEBUG, C22, G18, D19, C20, B22, G19, C18, E20); 612FUNC_GROUP_DECL(SPI1PASSTHRU, C22, G18, D19, C20, B22, G19, C18, E20); 613FUNC_GROUP_DECL(VGABIOS_ROM, B22, G19, C18, E20); 614 615#define J5 72 616SSSF_PIN_DECL(J5, GPIOJ0, SGPMCK, SIG_DESC_SET(SCU84, 8)); 617 618#define J4 73 619SSSF_PIN_DECL(J4, GPIOJ1, SGPMLD, SIG_DESC_SET(SCU84, 9)); 620 621#define K5 74 622SSSF_PIN_DECL(K5, GPIOJ2, SGPMO, SIG_DESC_SET(SCU84, 10)); 623 624#define J3 75 625SSSF_PIN_DECL(J3, GPIOJ3, SGPMI, SIG_DESC_SET(SCU84, 11)); 626 627#define T4 76 628SSSF_PIN_DECL(T4, GPIOJ4, VGAHS, SIG_DESC_SET(SCU84, 12)); 629 630#define U2 77 631SSSF_PIN_DECL(U2, GPIOJ5, VGAVS, SIG_DESC_SET(SCU84, 13)); 632 633#define T2 78 634SSSF_PIN_DECL(T2, GPIOJ6, DDCCLK, SIG_DESC_SET(SCU84, 14)); 635 636#define T1 79 637SSSF_PIN_DECL(T1, GPIOJ7, DDCDAT, SIG_DESC_SET(SCU84, 15)); 638 639#define I2C5_DESC SIG_DESC_SET(SCU90, 18) 640 641#define E3 80 642SIG_EXPR_LIST_DECL_SINGLE(E3, SCL5, I2C5, I2C5_DESC); 643PIN_DECL_1(E3, GPIOK0, SCL5); 644 645#define D2 81 646SIG_EXPR_LIST_DECL_SINGLE(D2, SDA5, I2C5, I2C5_DESC); 647PIN_DECL_1(D2, GPIOK1, SDA5); 648 649FUNC_GROUP_DECL(I2C5, E3, D2); 650 651#define I2C6_DESC SIG_DESC_SET(SCU90, 19) 652 653#define C1 82 654SIG_EXPR_LIST_DECL_SINGLE(C1, SCL6, I2C6, I2C6_DESC); 655PIN_DECL_1(C1, GPIOK2, SCL6); 656 657#define F4 83 658SIG_EXPR_LIST_DECL_SINGLE(F4, SDA6, I2C6, I2C6_DESC); 659PIN_DECL_1(F4, GPIOK3, SDA6); 660 661FUNC_GROUP_DECL(I2C6, C1, F4); 662 663#define I2C7_DESC SIG_DESC_SET(SCU90, 20) 664 665#define E2 84 666SIG_EXPR_LIST_DECL_SINGLE(E2, SCL7, I2C7, I2C7_DESC); 667PIN_DECL_1(E2, GPIOK4, SCL7); 668 669#define D1 85 670SIG_EXPR_LIST_DECL_SINGLE(D1, SDA7, I2C7, I2C7_DESC); 671PIN_DECL_1(D1, GPIOK5, SDA7); 672 673FUNC_GROUP_DECL(I2C7, E2, D1); 674 675#define I2C8_DESC SIG_DESC_SET(SCU90, 21) 676 677#define G5 86 678SIG_EXPR_LIST_DECL_SINGLE(G5, SCL8, I2C8, I2C8_DESC); 679PIN_DECL_1(G5, GPIOK6, SCL8); 680 681#define F3 87 682SIG_EXPR_LIST_DECL_SINGLE(F3, SDA8, I2C8, I2C8_DESC); 683PIN_DECL_1(F3, GPIOK7, SDA8); 684 685FUNC_GROUP_DECL(I2C8, G5, F3); 686 687#define U1 88 688SSSF_PIN_DECL(U1, GPIOL0, NCTS1, SIG_DESC_SET(SCU84, 16)); 689 690#define VPI18_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 1, 0 } 691#define VPI24_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 2, 0 } 692#define VPI30_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 3, 0 } 693 694#define T5 89 695#define T5_DESC SIG_DESC_SET(SCU84, 17) 696SIG_EXPR_DECL_SINGLE(VPIDE, VPI18, VPI18_DESC, T5_DESC); 697SIG_EXPR_DECL_SINGLE(VPIDE, VPI24, VPI24_DESC, T5_DESC); 698SIG_EXPR_DECL_SINGLE(VPIDE, VPI30, VPI30_DESC, T5_DESC); 699SIG_EXPR_LIST_DECL(VPIDE, VPI, 700 SIG_EXPR_PTR(VPIDE, VPI18), 701 SIG_EXPR_PTR(VPIDE, VPI24), 702 SIG_EXPR_PTR(VPIDE, VPI30)); 703SIG_EXPR_LIST_ALIAS(T5, VPIDE, VPI); 704SIG_EXPR_LIST_DECL_SINGLE(T5, NDCD1, NDCD1, T5_DESC); 705PIN_DECL_2(T5, GPIOL1, VPIDE, NDCD1); 706FUNC_GROUP_DECL(NDCD1, T5); 707 708#define U3 90 709#define U3_DESC SIG_DESC_SET(SCU84, 18) 710SIG_EXPR_DECL_SINGLE(VPIODD, VPI18, VPI18_DESC, U3_DESC); 711SIG_EXPR_DECL_SINGLE(VPIODD, VPI24, VPI24_DESC, U3_DESC); 712SIG_EXPR_DECL_SINGLE(VPIODD, VPI30, VPI30_DESC, U3_DESC); 713SIG_EXPR_LIST_DECL(VPIODD, VPI, 714 SIG_EXPR_PTR(VPIODD, VPI18), 715 SIG_EXPR_PTR(VPIODD, VPI24), 716 SIG_EXPR_PTR(VPIODD, VPI30)); 717SIG_EXPR_LIST_ALIAS(U3, VPIODD, VPI); 718SIG_EXPR_LIST_DECL_SINGLE(U3, NDSR1, NDSR1, U3_DESC); 719PIN_DECL_2(U3, GPIOL2, VPIODD, NDSR1); 720FUNC_GROUP_DECL(NDSR1, U3); 721 722#define V1 91 723#define V1_DESC SIG_DESC_SET(SCU84, 19) 724SIG_EXPR_DECL_SINGLE(VPIHS, VPI18, VPI18_DESC, V1_DESC); 725SIG_EXPR_DECL_SINGLE(VPIHS, VPI24, VPI24_DESC, V1_DESC); 726SIG_EXPR_DECL_SINGLE(VPIHS, VPI30, VPI30_DESC, V1_DESC); 727SIG_EXPR_LIST_DECL(VPIHS, VPI, 728 SIG_EXPR_PTR(VPIHS, VPI18), 729 SIG_EXPR_PTR(VPIHS, VPI24), 730 SIG_EXPR_PTR(VPIHS, VPI30)); 731SIG_EXPR_LIST_ALIAS(V1, VPIHS, VPI); 732SIG_EXPR_LIST_DECL_SINGLE(V1, NRI1, NRI1, V1_DESC); 733PIN_DECL_2(V1, GPIOL3, VPIHS, NRI1); 734FUNC_GROUP_DECL(NRI1, V1); 735 736#define U4 92 737#define U4_DESC SIG_DESC_SET(SCU84, 20) 738SIG_EXPR_DECL_SINGLE(VPIVS, VPI18, VPI18_DESC, U4_DESC); 739SIG_EXPR_DECL_SINGLE(VPIVS, VPI24, VPI24_DESC, U4_DESC); 740SIG_EXPR_DECL_SINGLE(VPIVS, VPI30, VPI30_DESC, U4_DESC); 741SIG_EXPR_LIST_DECL(VPIVS, VPI, 742 SIG_EXPR_PTR(VPIVS, VPI18), 743 SIG_EXPR_PTR(VPIVS, VPI24), 744 SIG_EXPR_PTR(VPIVS, VPI30)); 745SIG_EXPR_LIST_ALIAS(U4, VPIVS, VPI); 746SIG_EXPR_LIST_DECL_SINGLE(U4, NDTR1, NDTR1, U4_DESC); 747PIN_DECL_2(U4, GPIOL4, VPIVS, NDTR1); 748FUNC_GROUP_DECL(NDTR1, U4); 749 750#define V2 93 751#define V2_DESC SIG_DESC_SET(SCU84, 21) 752SIG_EXPR_DECL_SINGLE(VPICLK, VPI18, VPI18_DESC, V2_DESC); 753SIG_EXPR_DECL_SINGLE(VPICLK, VPI24, VPI24_DESC, V2_DESC); 754SIG_EXPR_DECL_SINGLE(VPICLK, VPI30, VPI30_DESC, V2_DESC); 755SIG_EXPR_LIST_DECL(VPICLK, VPI, 756 SIG_EXPR_PTR(VPICLK, VPI18), 757 SIG_EXPR_PTR(VPICLK, VPI24), 758 SIG_EXPR_PTR(VPICLK, VPI30)); 759SIG_EXPR_LIST_ALIAS(V2, VPICLK, VPI); 760SIG_EXPR_LIST_DECL_SINGLE(V2, NRTS1, NRTS1, V2_DESC); 761PIN_DECL_2(V2, GPIOL5, VPICLK, NRTS1); 762FUNC_GROUP_DECL(NRTS1, V2); 763 764#define W1 94 765#define W1_DESC SIG_DESC_SET(SCU84, 22) 766SIG_EXPR_LIST_DECL_SINGLE(W1, VPIB0, VPI30, VPI30_DESC, W1_DESC); 767SIG_EXPR_LIST_DECL_SINGLE(W1, TXD1, TXD1, W1_DESC); 768PIN_DECL_2(W1, GPIOL6, VPIB0, TXD1); 769FUNC_GROUP_DECL(TXD1, W1); 770 771#define U5 95 772#define U5_DESC SIG_DESC_SET(SCU84, 23) 773SIG_EXPR_LIST_DECL_SINGLE(U5, VPIB1, VPI30, VPI30_DESC, U5_DESC); 774SIG_EXPR_LIST_DECL_SINGLE(U5, RXD1, RXD1, U5_DESC); 775PIN_DECL_2(U5, GPIOL7, VPIB1, RXD1); 776FUNC_GROUP_DECL(RXD1, U5); 777 778#define V3 96 779#define V3_DESC SIG_DESC_SET(SCU84, 24) 780SIG_EXPR_DECL_SINGLE(VPIOB2, VPI18, VPI18_DESC, V3_DESC); 781SIG_EXPR_DECL_SINGLE(VPIOB2, VPI24, VPI24_DESC, V3_DESC); 782SIG_EXPR_DECL_SINGLE(VPIOB2, VPI30, VPI30_DESC, V3_DESC); 783SIG_EXPR_LIST_DECL(VPIOB2, VPI, 784 SIG_EXPR_PTR(VPIOB2, VPI18), 785 SIG_EXPR_PTR(VPIOB2, VPI24), 786 SIG_EXPR_PTR(VPIOB2, VPI30)); 787SIG_EXPR_LIST_ALIAS(V3, VPIOB2, VPI); 788SIG_EXPR_LIST_DECL_SINGLE(V3, NCTS2, NCTS2, V3_DESC); 789PIN_DECL_2(V3, GPIOM0, VPIOB2, NCTS2); 790FUNC_GROUP_DECL(NCTS2, V3); 791 792#define W2 97 793#define W2_DESC SIG_DESC_SET(SCU84, 25) 794SIG_EXPR_DECL_SINGLE(VPIOB3, VPI18, VPI18_DESC, W2_DESC); 795SIG_EXPR_DECL_SINGLE(VPIOB3, VPI24, VPI24_DESC, W2_DESC); 796SIG_EXPR_DECL_SINGLE(VPIOB3, VPI30, VPI30_DESC, W2_DESC); 797SIG_EXPR_LIST_DECL(VPIOB3, VPI, 798 SIG_EXPR_PTR(VPIOB3, VPI18), 799 SIG_EXPR_PTR(VPIOB3, VPI24), 800 SIG_EXPR_PTR(VPIOB3, VPI30)); 801SIG_EXPR_LIST_ALIAS(W2, VPIOB3, VPI); 802SIG_EXPR_LIST_DECL_SINGLE(W2, NDCD2, NDCD2, W2_DESC); 803PIN_DECL_2(W2, GPIOM1, VPIOB3, NDCD2); 804FUNC_GROUP_DECL(NDCD2, W2); 805 806#define Y1 98 807#define Y1_DESC SIG_DESC_SET(SCU84, 26) 808SIG_EXPR_DECL_SINGLE(VPIOB4, VPI18, VPI18_DESC, Y1_DESC); 809SIG_EXPR_DECL_SINGLE(VPIOB4, VPI24, VPI24_DESC, Y1_DESC); 810SIG_EXPR_DECL_SINGLE(VPIOB4, VPI30, VPI30_DESC, Y1_DESC); 811SIG_EXPR_LIST_DECL(VPIOB4, VPI, 812 SIG_EXPR_PTR(VPIOB4, VPI18), 813 SIG_EXPR_PTR(VPIOB4, VPI24), 814 SIG_EXPR_PTR(VPIOB4, VPI30)); 815SIG_EXPR_LIST_ALIAS(Y1, VPIOB4, VPI); 816SIG_EXPR_LIST_DECL_SINGLE(Y1, NDSR2, NDSR2, Y1_DESC); 817PIN_DECL_2(Y1, GPIOM2, VPIOB4, NDSR2); 818FUNC_GROUP_DECL(NDSR2, Y1); 819 820#define V4 99 821#define V4_DESC SIG_DESC_SET(SCU84, 27) 822SIG_EXPR_DECL_SINGLE(VPIOB5, VPI18, VPI18_DESC, V4_DESC); 823SIG_EXPR_DECL_SINGLE(VPIOB5, VPI24, VPI24_DESC, V4_DESC); 824SIG_EXPR_DECL_SINGLE(VPIOB5, VPI30, VPI30_DESC, V4_DESC); 825SIG_EXPR_LIST_DECL(VPIOB5, VPI, 826 SIG_EXPR_PTR(VPIOB5, VPI18), 827 SIG_EXPR_PTR(VPIOB5, VPI24), 828 SIG_EXPR_PTR(VPIOB5, VPI30)); 829SIG_EXPR_LIST_ALIAS(V4, VPIOB5, VPI); 830SIG_EXPR_LIST_DECL_SINGLE(V4, NRI2, NRI2, V4_DESC); 831PIN_DECL_2(V4, GPIOM3, VPIOB5, NRI2); 832FUNC_GROUP_DECL(NRI2, V4); 833 834#define W3 100 835#define W3_DESC SIG_DESC_SET(SCU84, 28) 836SIG_EXPR_DECL_SINGLE(VPIOB6, VPI18, VPI18_DESC, W3_DESC); 837SIG_EXPR_DECL_SINGLE(VPIOB6, VPI24, VPI24_DESC, W3_DESC); 838SIG_EXPR_DECL_SINGLE(VPIOB6, VPI30, VPI30_DESC, W3_DESC); 839SIG_EXPR_LIST_DECL(VPIOB6, VPI, 840 SIG_EXPR_PTR(VPIOB6, VPI18), 841 SIG_EXPR_PTR(VPIOB6, VPI24), 842 SIG_EXPR_PTR(VPIOB6, VPI30)); 843SIG_EXPR_LIST_ALIAS(W3, VPIOB6, VPI); 844SIG_EXPR_LIST_DECL_SINGLE(W3, NDTR2, NDTR2, W3_DESC); 845PIN_DECL_2(W3, GPIOM4, VPIOB6, NDTR2); 846FUNC_GROUP_DECL(NDTR2, W3); 847 848#define Y2 101 849#define Y2_DESC SIG_DESC_SET(SCU84, 29) 850SIG_EXPR_DECL_SINGLE(VPIOB7, VPI18, VPI18_DESC, Y2_DESC); 851SIG_EXPR_DECL_SINGLE(VPIOB7, VPI24, VPI24_DESC, Y2_DESC); 852SIG_EXPR_DECL_SINGLE(VPIOB7, VPI30, VPI30_DESC, Y2_DESC); 853SIG_EXPR_LIST_DECL(VPIOB7, VPI, 854 SIG_EXPR_PTR(VPIOB7, VPI18), 855 SIG_EXPR_PTR(VPIOB7, VPI24), 856 SIG_EXPR_PTR(VPIOB7, VPI30)); 857SIG_EXPR_LIST_ALIAS(Y2, VPIOB7, VPI); 858SIG_EXPR_LIST_DECL_SINGLE(Y2, NRTS2, NRTS2, Y2_DESC); 859PIN_DECL_2(Y2, GPIOM5, VPIOB7, NRTS2); 860FUNC_GROUP_DECL(NRTS2, Y2); 861 862#define AA1 102 863#define AA1_DESC SIG_DESC_SET(SCU84, 30) 864SIG_EXPR_DECL_SINGLE(VPIOB8, VPI18, VPI18_DESC, AA1_DESC); 865SIG_EXPR_DECL_SINGLE(VPIOB8, VPI24, VPI24_DESC, AA1_DESC); 866SIG_EXPR_DECL_SINGLE(VPIOB8, VPI30, VPI30_DESC, AA1_DESC); 867SIG_EXPR_LIST_DECL(VPIOB8, VPI, 868 SIG_EXPR_PTR(VPIOB8, VPI18), 869 SIG_EXPR_PTR(VPIOB8, VPI24), 870 SIG_EXPR_PTR(VPIOB8, VPI30)); 871SIG_EXPR_LIST_ALIAS(AA1, VPIOB8, VPI); 872SIG_EXPR_LIST_DECL_SINGLE(AA1, TXD2, TXD2, AA1_DESC); 873PIN_DECL_2(AA1, GPIOM6, VPIOB8, TXD2); 874FUNC_GROUP_DECL(TXD2, AA1); 875 876#define V5 103 877#define V5_DESC SIG_DESC_SET(SCU84, 31) 878SIG_EXPR_DECL_SINGLE(VPIOB9, VPI18, VPI18_DESC, V5_DESC); 879SIG_EXPR_DECL_SINGLE(VPIOB9, VPI24, VPI24_DESC, V5_DESC); 880SIG_EXPR_DECL_SINGLE(VPIOB9, VPI30, VPI30_DESC, V5_DESC); 881SIG_EXPR_LIST_DECL(VPIOB9, VPI, 882 SIG_EXPR_PTR(VPIOB9, VPI18), 883 SIG_EXPR_PTR(VPIOB9, VPI24), 884 SIG_EXPR_PTR(VPIOB9, VPI30)); 885SIG_EXPR_LIST_ALIAS(V5, VPIOB9, VPI); 886SIG_EXPR_LIST_DECL_SINGLE(V5, RXD2, RXD2, V5_DESC); 887PIN_DECL_2(V5, GPIOM7, VPIOB9, RXD2); 888FUNC_GROUP_DECL(RXD2, V5); 889 890#define W4 104 891#define W4_DESC SIG_DESC_SET(SCU88, 0) 892SIG_EXPR_LIST_DECL_SINGLE(W4, VPIG0, VPI30, VPI30_DESC, W4_DESC); 893SIG_EXPR_LIST_DECL_SINGLE(W4, PWM0, PWM0, W4_DESC); 894PIN_DECL_2(W4, GPION0, VPIG0, PWM0); 895FUNC_GROUP_DECL(PWM0, W4); 896 897#define Y3 105 898#define Y3_DESC SIG_DESC_SET(SCU88, 1) 899SIG_EXPR_LIST_DECL_SINGLE(Y3, VPIG1, VPI30, VPI30_DESC, Y3_DESC); 900SIG_EXPR_LIST_DECL_SINGLE(Y3, PWM1, PWM1, Y3_DESC); 901PIN_DECL_2(Y3, GPION1, VPIG1, PWM1); 902FUNC_GROUP_DECL(PWM1, Y3); 903 904#define AA2 106 905#define AA2_DESC SIG_DESC_SET(SCU88, 2) 906SIG_EXPR_DECL_SINGLE(VPIG2, VPI18, VPI18_DESC, AA2_DESC); 907SIG_EXPR_DECL_SINGLE(VPIG2, VPI24, VPI24_DESC, AA2_DESC); 908SIG_EXPR_DECL_SINGLE(VPIG2, VPI30, VPI30_DESC, AA2_DESC); 909SIG_EXPR_LIST_DECL(VPIG2, VPI, 910 SIG_EXPR_PTR(VPIG2, VPI18), 911 SIG_EXPR_PTR(VPIG2, VPI24), 912 SIG_EXPR_PTR(VPIG2, VPI30)); 913SIG_EXPR_LIST_ALIAS(AA2, VPIG2, VPI); 914SIG_EXPR_LIST_DECL_SINGLE(AA2, PWM2, PWM2, AA2_DESC); 915PIN_DECL_2(AA2, GPION2, VPIG2, PWM2); 916FUNC_GROUP_DECL(PWM2, AA2); 917 918#define AB1 107 919#define AB1_DESC SIG_DESC_SET(SCU88, 3) 920SIG_EXPR_DECL_SINGLE(VPIG3, VPI18, VPI18_DESC, AB1_DESC); 921SIG_EXPR_DECL_SINGLE(VPIG3, VPI24, VPI24_DESC, AB1_DESC); 922SIG_EXPR_DECL_SINGLE(VPIG3, VPI30, VPI30_DESC, AB1_DESC); 923SIG_EXPR_LIST_DECL(VPIG3, VPI, 924 SIG_EXPR_PTR(VPIG3, VPI18), 925 SIG_EXPR_PTR(VPIG3, VPI24), 926 SIG_EXPR_PTR(VPIG3, VPI30)); 927SIG_EXPR_LIST_ALIAS(AB1, VPIG3, VPI); 928SIG_EXPR_LIST_DECL_SINGLE(AB1, PWM3, PWM3, AB1_DESC); 929PIN_DECL_2(AB1, GPION3, VPIG3, PWM3); 930FUNC_GROUP_DECL(PWM3, AB1); 931 932#define W5 108 933#define W5_DESC SIG_DESC_SET(SCU88, 4) 934SIG_EXPR_DECL_SINGLE(VPIG4, VPI18, VPI18_DESC, W5_DESC); 935SIG_EXPR_DECL_SINGLE(VPIG4, VPI24, VPI24_DESC, W5_DESC); 936SIG_EXPR_DECL_SINGLE(VPIG4, VPI30, VPI30_DESC, W5_DESC); 937SIG_EXPR_LIST_DECL(VPIG4, VPI, 938 SIG_EXPR_PTR(VPIG4, VPI18), 939 SIG_EXPR_PTR(VPIG4, VPI24), 940 SIG_EXPR_PTR(VPIG4, VPI30)); 941SIG_EXPR_LIST_ALIAS(W5, VPIG4, VPI); 942SIG_EXPR_LIST_DECL_SINGLE(W5, PWM4, PWM4, W5_DESC); 943PIN_DECL_2(W5, GPION4, VPIG4, PWM4); 944FUNC_GROUP_DECL(PWM4, W5); 945 946#define Y4 109 947#define Y4_DESC SIG_DESC_SET(SCU88, 5) 948SIG_EXPR_DECL_SINGLE(VPIG5, VPI18, VPI18_DESC, Y4_DESC); 949SIG_EXPR_DECL_SINGLE(VPIG5, VPI24, VPI24_DESC, Y4_DESC); 950SIG_EXPR_DECL_SINGLE(VPIG5, VPI30, VPI30_DESC, Y4_DESC); 951SIG_EXPR_LIST_DECL(VPIG5, VPI, 952 SIG_EXPR_PTR(VPIG5, VPI18), 953 SIG_EXPR_PTR(VPIG5, VPI24), 954 SIG_EXPR_PTR(VPIG5, VPI30)); 955SIG_EXPR_LIST_ALIAS(Y4, VPIG5, VPI); 956SIG_EXPR_LIST_DECL_SINGLE(Y4, PWM5, PWM5, Y4_DESC); 957PIN_DECL_2(Y4, GPION5, VPIG5, PWM5); 958FUNC_GROUP_DECL(PWM5, Y4); 959 960#define AA3 110 961#define AA3_DESC SIG_DESC_SET(SCU88, 6) 962SIG_EXPR_LIST_DECL_SINGLE(AA3, VPIG6, VPI30, VPI30_DESC, AA3_DESC); 963SIG_EXPR_LIST_DECL_SINGLE(AA3, PWM6, PWM6, AA3_DESC); 964PIN_DECL_2(AA3, GPION6, VPIG6, PWM6); 965FUNC_GROUP_DECL(PWM6, AA3); 966 967#define AB2 111 968#define AB2_DESC SIG_DESC_SET(SCU88, 7) 969SIG_EXPR_LIST_DECL_SINGLE(AB2, VPIG7, VPI30, VPI30_DESC, AB2_DESC); 970SIG_EXPR_LIST_DECL_SINGLE(AB2, PWM7, PWM7, AB2_DESC); 971PIN_DECL_2(AB2, GPION7, VPIG7, PWM7); 972FUNC_GROUP_DECL(PWM7, AB2); 973 974#define V6 112 975SIG_EXPR_LIST_DECL_SINGLE(V6, VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8)); 976PIN_DECL_1(V6, GPIOO0, VPIG8); 977 978#define Y5 113 979SIG_EXPR_LIST_DECL_SINGLE(Y5, VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9)); 980PIN_DECL_1(Y5, GPIOO1, VPIG9); 981 982#define AA4 114 983SIG_EXPR_LIST_DECL_SINGLE(AA4, VPIR0, VPI30, VPI30_DESC, 984 SIG_DESC_SET(SCU88, 10)); 985PIN_DECL_1(AA4, GPIOO2, VPIR0); 986 987#define AB3 115 988SIG_EXPR_LIST_DECL_SINGLE(AB3, VPIR1, VPI30, VPI30_DESC, 989 SIG_DESC_SET(SCU88, 11)); 990PIN_DECL_1(AB3, GPIOO3, VPIR1); 991 992#define W6 116 993SIG_EXPR_LIST_DECL_SINGLE(W6, VPIR2, VPI24, VPI24_DESC, 994 SIG_DESC_SET(SCU88, 12)); 995PIN_DECL_1(W6, GPIOO4, VPIR2); 996 997#define AA5 117 998SIG_EXPR_LIST_DECL_SINGLE(AA5, VPIR3, VPI24, VPI24_DESC, 999 SIG_DESC_SET(SCU88, 13)); 1000PIN_DECL_1(AA5, GPIOO5, VPIR3); 1001 1002#define AB4 118 1003SIG_EXPR_LIST_DECL_SINGLE(AB4, VPIR4, VPI24, VPI24_DESC, 1004 SIG_DESC_SET(SCU88, 14)); 1005PIN_DECL_1(AB4, GPIOO6, VPIR4); 1006 1007#define V7 119 1008SIG_EXPR_LIST_DECL_SINGLE(V7, VPIR5, VPI24, VPI24_DESC, 1009 SIG_DESC_SET(SCU88, 15)); 1010PIN_DECL_1(V7, GPIOO7, VPIR5); 1011 1012#define Y6 120 1013SIG_EXPR_LIST_DECL_SINGLE(Y6, VPIR6, VPI24, VPI24_DESC, 1014 SIG_DESC_SET(SCU88, 16)); 1015PIN_DECL_1(Y6, GPIOP0, VPIR6); 1016 1017#define AB5 121 1018SIG_EXPR_LIST_DECL_SINGLE(AB5, VPIR7, VPI24, VPI24_DESC, 1019 SIG_DESC_SET(SCU88, 17)); 1020PIN_DECL_1(AB5, GPIOP1, VPIR7); 1021 1022#define W7 122 1023SIG_EXPR_LIST_DECL_SINGLE(W7, VPIR8, VPI24, VPI24_DESC, 1024 SIG_DESC_SET(SCU88, 18)); 1025PIN_DECL_1(W7, GPIOP2, VPIR8); 1026 1027#define AA6 123 1028SIG_EXPR_LIST_DECL_SINGLE(AA6, VPIR9, VPI24, VPI24_DESC, 1029 SIG_DESC_SET(SCU88, 19)); 1030PIN_DECL_1(AA6, GPIOP3, VPIR9); 1031 1032FUNC_GROUP_DECL(VPI18, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5, 1033 AA22, W5, Y4, AA3, AB2); 1034FUNC_GROUP_DECL(VPI24, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5, 1035 AA22, W5, Y4, AA3, AB2, V6, Y5, W6, AA5, AB4, V7, Y6, AB5, W7, 1036 AA6); 1037FUNC_GROUP_DECL(VPI30, T5, U3, V1, U4, V2, W1, U5, V3, W2, Y1, V4, W3, Y2, AA1, 1038 V5, W4, Y3, AA22, W5, Y4, AA3, AB2, AA4, AB3); 1039 1040#define AB6 124 1041SIG_EXPR_LIST_DECL_SINGLE(AB6, GPIOP4, GPIOP4); 1042PIN_DECL_(AB6, SIG_EXPR_LIST_PTR(AB6, GPIOP4)); 1043 1044#define Y7 125 1045SIG_EXPR_LIST_DECL_SINGLE(Y7, GPIOP5, GPIOP5); 1046PIN_DECL_(Y7, SIG_EXPR_LIST_PTR(Y7, GPIOP5)); 1047 1048#define AA7 126 1049SSSF_PIN_DECL(AA7, GPIOP6, BMCINT, SIG_DESC_SET(SCU88, 22)); 1050 1051#define AB7 127 1052SSSF_PIN_DECL(AB7, GPIOP7, FLACK, SIG_DESC_SET(SCU88, 23)); 1053 1054#define I2C3_DESC SIG_DESC_SET(SCU90, 16) 1055 1056#define D3 128 1057SIG_EXPR_LIST_DECL_SINGLE(D3, SCL3, I2C3, I2C3_DESC); 1058PIN_DECL_1(D3, GPIOQ0, SCL3); 1059 1060#define C2 129 1061SIG_EXPR_LIST_DECL_SINGLE(C2, SDA3, I2C3, I2C3_DESC); 1062PIN_DECL_1(C2, GPIOQ1, SDA3); 1063 1064FUNC_GROUP_DECL(I2C3, D3, C2); 1065 1066#define I2C4_DESC SIG_DESC_SET(SCU90, 17) 1067 1068#define B1 130 1069SIG_EXPR_LIST_DECL_SINGLE(B1, SCL4, I2C4, I2C4_DESC); 1070PIN_DECL_1(B1, GPIOQ2, SCL4); 1071 1072#define F5 131 1073SIG_EXPR_LIST_DECL_SINGLE(F5, SDA4, I2C4, I2C4_DESC); 1074PIN_DECL_1(F5, GPIOQ3, SDA4); 1075 1076FUNC_GROUP_DECL(I2C4, B1, F5); 1077 1078#define I2C14_DESC SIG_DESC_SET(SCU90, 27) 1079 1080#define H4 132 1081SIG_EXPR_LIST_DECL_SINGLE(H4, SCL14, I2C14, I2C14_DESC); 1082PIN_DECL_1(H4, GPIOQ4, SCL14); 1083 1084#define H3 133 1085SIG_EXPR_LIST_DECL_SINGLE(H3, SDA14, I2C14, I2C14_DESC); 1086PIN_DECL_1(H3, GPIOQ5, SDA14); 1087 1088FUNC_GROUP_DECL(I2C14, H4, H3); 1089 1090/* 1091 * There are several opportunities to document USB port 4 in the datasheet, but 1092 * it is only mentioned in one location. Particularly, the Multi-function Pins 1093 * Mapping and Control table in the datasheet elides the signal names, 1094 * suggesting that port 4 may not actually be functional. As such we define the 1095 * signal names and control bit, but don't export the capability's function or 1096 * group. 1097 */ 1098#define USB11H3_DESC SIG_DESC_SET(SCU90, 28) 1099 1100#define H2 134 1101SIG_EXPR_LIST_DECL_SINGLE(H2, USB11HDP3, USB11H3, USB11H3_DESC); 1102PIN_DECL_1(H2, GPIOQ6, USB11HDP3); 1103 1104#define H1 135 1105SIG_EXPR_LIST_DECL_SINGLE(H1, USB11HDN3, USB11H3, USB11H3_DESC); 1106PIN_DECL_1(H1, GPIOQ7, USB11HDN3); 1107 1108#define V20 136 1109SSSF_PIN_DECL(V20, GPIOR0, ROMCS1, SIG_DESC_SET(SCU88, 24)); 1110 1111#define W21 137 1112SSSF_PIN_DECL(W21, GPIOR1, ROMCS2, SIG_DESC_SET(SCU88, 25)); 1113 1114#define Y22 138 1115SSSF_PIN_DECL(Y22, GPIOR2, ROMCS3, SIG_DESC_SET(SCU88, 26)); 1116 1117#define U19 139 1118SSSF_PIN_DECL(U19, GPIOR3, ROMCS4, SIG_DESC_SET(SCU88, 27)); 1119 1120#define VPOOFF0_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 } 1121#define VPO12_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 1, 0 } 1122#define VPO24_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 2, 0 } 1123#define VPOOFF1_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 3, 0 } 1124#define VPO_OFF_12 { ASPEED_IP_SCU, SCU94, 0x2, 0, 0 } 1125#define VPO_24_OFF SIG_DESC_SET(SCU94, 1) 1126 1127#define V21 140 1128#define V21_DESC SIG_DESC_SET(SCU88, 28) 1129SIG_EXPR_DECL_SINGLE(ROMA24, ROM8, V21_DESC, VPO_OFF_12); 1130SIG_EXPR_DECL_SINGLE(ROMA24, ROM16, V21_DESC, VPO_OFF_12); 1131SIG_EXPR_DECL_SINGLE(ROMA24, ROM16S, V21_DESC, VPO_OFF_12); 1132SIG_EXPR_LIST_DECL(ROMA24, ROM, 1133 SIG_EXPR_PTR(ROMA24, ROM8), 1134 SIG_EXPR_PTR(ROMA24, ROM16), 1135 SIG_EXPR_PTR(ROMA24, ROM16S)); 1136SIG_EXPR_LIST_ALIAS(V21, ROMA24, ROM); 1137SIG_EXPR_LIST_DECL_SINGLE(V21, VPOR6, VPO24, V21_DESC, VPO_24_OFF); 1138PIN_DECL_2(V21, GPIOR4, ROMA24, VPOR6); 1139 1140#define W22 141 1141#define W22_DESC SIG_DESC_SET(SCU88, 29) 1142SIG_EXPR_DECL_SINGLE(ROMA25, ROM8, W22_DESC, VPO_OFF_12); 1143SIG_EXPR_DECL_SINGLE(ROMA25, ROM16, W22_DESC, VPO_OFF_12); 1144SIG_EXPR_DECL_SINGLE(ROMA25, ROM16S, W22_DESC, VPO_OFF_12); 1145SIG_EXPR_LIST_DECL(ROMA25, ROM, 1146 SIG_EXPR_PTR(ROMA25, ROM8), 1147 SIG_EXPR_PTR(ROMA25, ROM16), 1148 SIG_EXPR_PTR(ROMA25, ROM16S)); 1149SIG_EXPR_LIST_ALIAS(W22, ROMA25, ROM); 1150SIG_EXPR_LIST_DECL_SINGLE(W22, VPOR7, VPO24, W22_DESC, VPO_24_OFF); 1151PIN_DECL_2(W22, GPIOR5, ROMA25, VPOR7); 1152 1153#define C6 142 1154SIG_EXPR_LIST_DECL_SINGLE(C6, MDC1, MDIO1, SIG_DESC_SET(SCU88, 30)); 1155PIN_DECL_1(C6, GPIOR6, MDC1); 1156 1157#define A5 143 1158SIG_EXPR_LIST_DECL_SINGLE(A5, MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31)); 1159PIN_DECL_1(A5, GPIOR7, MDIO1); 1160 1161FUNC_GROUP_DECL(MDIO1, C6, A5); 1162 1163#define U21 144 1164#define U21_DESC SIG_DESC_SET(SCU8C, 0) 1165SIG_EXPR_DECL_SINGLE(ROMD4, ROM8, U21_DESC, VPOOFF0_DESC); 1166SIG_EXPR_DECL_SINGLE(ROMD4, ROM16, U21_DESC, VPOOFF0_DESC); 1167SIG_EXPR_DECL_SINGLE(ROMD4, ROM16S, U21_DESC, VPOOFF0_DESC); 1168SIG_EXPR_LIST_DECL(ROMD4, ROM, 1169 SIG_EXPR_PTR(ROMD4, ROM8), 1170 SIG_EXPR_PTR(ROMD4, ROM16), 1171 SIG_EXPR_PTR(ROMD4, ROM16S)); 1172SIG_EXPR_LIST_ALIAS(U21, ROMD4, ROM); 1173SIG_EXPR_DECL_SINGLE(VPODE, VPO12, U21_DESC, VPO12_DESC); 1174SIG_EXPR_DECL_SINGLE(VPODE, VPO24, U21_DESC, VPO12_DESC); 1175SIG_EXPR_LIST_DECL_DUAL(U21, VPODE, VPO12, VPO24); 1176PIN_DECL_2(U21, GPIOS0, ROMD4, VPODE); 1177 1178#define T19 145 1179#define T19_DESC SIG_DESC_SET(SCU8C, 1) 1180SIG_EXPR_DECL_SINGLE(ROMD5, ROM8, T19_DESC, VPOOFF0_DESC); 1181SIG_EXPR_DECL_SINGLE(ROMD5, ROM16, T19_DESC, VPOOFF0_DESC); 1182SIG_EXPR_DECL_SINGLE(ROMD5, ROM16S, T19_DESC, VPOOFF0_DESC); 1183SIG_EXPR_LIST_DECL(ROMD5, ROM, 1184 SIG_EXPR_PTR(ROMD5, ROM8), 1185 SIG_EXPR_PTR(ROMD5, ROM16), 1186 SIG_EXPR_PTR(ROMD5, ROM16S)); 1187SIG_EXPR_LIST_ALIAS(T19, ROMD5, ROM); 1188SIG_EXPR_DECL_SINGLE(VPOHS, VPO12, T19_DESC, VPO12_DESC); 1189SIG_EXPR_DECL_SINGLE(VPOHS, VPO24, T19_DESC, VPO24_DESC); 1190SIG_EXPR_LIST_DECL_DUAL(T19, VPOHS, VPO12, VPO24); 1191PIN_DECL_2(T19, GPIOS1, ROMD5, VPOHS); 1192 1193#define V22 146 1194#define V22_DESC SIG_DESC_SET(SCU8C, 2) 1195SIG_EXPR_DECL_SINGLE(ROMD6, ROM8, V22_DESC, VPOOFF0_DESC); 1196SIG_EXPR_DECL_SINGLE(ROMD6, ROM16, V22_DESC, VPOOFF0_DESC); 1197SIG_EXPR_DECL_SINGLE(ROMD6, ROM16S, V22_DESC, VPOOFF0_DESC); 1198SIG_EXPR_LIST_DECL(ROMD6, ROM, 1199 SIG_EXPR_PTR(ROMD6, ROM8), 1200 SIG_EXPR_PTR(ROMD6, ROM16), 1201 SIG_EXPR_PTR(ROMD6, ROM16S)); 1202SIG_EXPR_LIST_ALIAS(V22, ROMD6, ROM); 1203SIG_EXPR_DECL_SINGLE(VPOVS, VPO12, V22_DESC, VPO12_DESC); 1204SIG_EXPR_DECL_SINGLE(VPOVS, VPO24, V22_DESC, VPO24_DESC); 1205SIG_EXPR_LIST_DECL_DUAL(V22, VPOVS, VPO12, VPO24); 1206PIN_DECL_2(V22, GPIOS2, ROMD6, VPOVS); 1207 1208#define U20 147 1209#define U20_DESC SIG_DESC_SET(SCU8C, 3) 1210SIG_EXPR_DECL_SINGLE(ROMD7, ROM8, U20_DESC, VPOOFF0_DESC); 1211SIG_EXPR_DECL_SINGLE(ROMD7, ROM16, U20_DESC, VPOOFF0_DESC); 1212SIG_EXPR_DECL_SINGLE(ROMD7, ROM16S, U20_DESC, VPOOFF0_DESC); 1213SIG_EXPR_LIST_DECL(ROMD7, ROM, 1214 SIG_EXPR_PTR(ROMD7, ROM8), 1215 SIG_EXPR_PTR(ROMD7, ROM16), 1216 SIG_EXPR_PTR(ROMD7, ROM16S)); 1217SIG_EXPR_LIST_ALIAS(U20, ROMD7, ROM); 1218SIG_EXPR_DECL_SINGLE(VPOCLK, VPO12, U20_DESC, VPO12_DESC); 1219SIG_EXPR_DECL_SINGLE(VPOCLK, VPO24, U20_DESC, VPO24_DESC); 1220SIG_EXPR_LIST_DECL_DUAL(U20, VPOCLK, VPO12, VPO24); 1221PIN_DECL_2(U20, GPIOS3, ROMD7, VPOCLK); 1222 1223#define R18 148 1224#define ROMOE_DESC SIG_DESC_SET(SCU8C, 4) 1225SIG_EXPR_LIST_DECL_SINGLE(R18, GPIOS4, GPIOS4); 1226SIG_EXPR_DECL_SINGLE(ROMOE, ROM8, ROMOE_DESC); 1227SIG_EXPR_DECL_SINGLE(ROMOE, ROM16, ROMOE_DESC); 1228SIG_EXPR_DECL_SINGLE(ROMOE, ROM16S, ROMOE_DESC); 1229SIG_EXPR_LIST_DECL(ROMOE, ROM, 1230 SIG_EXPR_PTR(ROMOE, ROM8), 1231 SIG_EXPR_PTR(ROMOE, ROM16), 1232 SIG_EXPR_PTR(ROMOE, ROM16S)); 1233SIG_EXPR_LIST_ALIAS(R18, ROMOE, ROM); 1234PIN_DECL_(R18, SIG_EXPR_LIST_PTR(R18, ROMOE), SIG_EXPR_LIST_PTR(R18, GPIOS4)); 1235 1236#define N21 149 1237#define ROMWE_DESC SIG_DESC_SET(SCU8C, 5) 1238SIG_EXPR_LIST_DECL_SINGLE(N21, GPIOS5, GPIOS5); 1239SIG_EXPR_DECL_SINGLE(ROMWE, ROM8, ROMWE_DESC); 1240SIG_EXPR_DECL_SINGLE(ROMWE, ROM16, ROMWE_DESC); 1241SIG_EXPR_DECL_SINGLE(ROMWE, ROM16S, ROMWE_DESC); 1242SIG_EXPR_LIST_DECL(ROMWE, ROM, 1243 SIG_EXPR_PTR(ROMWE, ROM8), 1244 SIG_EXPR_PTR(ROMWE, ROM16), 1245 SIG_EXPR_PTR(ROMWE, ROM16S)); 1246SIG_EXPR_LIST_ALIAS(N21, ROMWE, ROM); 1247PIN_DECL_(N21, SIG_EXPR_LIST_PTR(N21, ROMWE), SIG_EXPR_LIST_PTR(N21, GPIOS5)); 1248 1249#define L22 150 1250#define L22_DESC SIG_DESC_SET(SCU8C, 6) 1251SIG_EXPR_DECL_SINGLE(ROMA22, ROM8, L22_DESC, VPO_OFF_12); 1252SIG_EXPR_DECL_SINGLE(ROMA22, ROM16, L22_DESC, VPO_OFF_12); 1253SIG_EXPR_DECL_SINGLE(ROMA22, ROM16S, L22_DESC, VPO_OFF_12); 1254SIG_EXPR_LIST_DECL(ROMA22, ROM, 1255 SIG_EXPR_PTR(ROMA22, ROM8), 1256 SIG_EXPR_PTR(ROMA22, ROM16), 1257 SIG_EXPR_PTR(ROMA22, ROM16S)); 1258SIG_EXPR_LIST_ALIAS(L22, ROMA22, ROM); 1259SIG_EXPR_LIST_DECL_SINGLE(L22, VPOR4, VPO24, L22_DESC, VPO_24_OFF); 1260PIN_DECL_2(L22, GPIOS6, ROMA22, VPOR4); 1261 1262#define K18 151 1263#define K18_DESC SIG_DESC_SET(SCU8C, 7) 1264SIG_EXPR_DECL_SINGLE(ROMA23, ROM8, K18_DESC, VPO_OFF_12); 1265SIG_EXPR_DECL_SINGLE(ROMA23, ROM16, K18_DESC, VPO_OFF_12); 1266SIG_EXPR_DECL_SINGLE(ROMA23, ROM16S, K18_DESC, VPO_OFF_12); 1267SIG_EXPR_LIST_DECL(ROMA23, ROM, 1268 SIG_EXPR_PTR(ROMA23, ROM8), 1269 SIG_EXPR_PTR(ROMA23, ROM16), 1270 SIG_EXPR_PTR(ROMA23, ROM16S)); 1271SIG_EXPR_LIST_ALIAS(K18, ROMA23, ROM); 1272SIG_EXPR_LIST_DECL_SINGLE(K18, VPOR5, VPO24, K18_DESC, VPO_24_OFF); 1273PIN_DECL_2(K18, GPIOS7, ROMA23, VPOR5); 1274 1275#define RMII1_DESC SIG_DESC_BIT(HW_STRAP1, 6, 0) 1276 1277#define A12 152 1278SIG_EXPR_LIST_DECL_SINGLE(A12, GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0)); 1279SIG_EXPR_LIST_DECL_SINGLE(A12, RMII1TXEN, RMII1, RMII1_DESC); 1280SIG_EXPR_LIST_DECL_SINGLE(A12, RGMII1TXCK, RGMII1); 1281PIN_DECL_(A12, SIG_EXPR_LIST_PTR(A12, GPIOT0), 1282 SIG_EXPR_LIST_PTR(A12, RMII1TXEN), 1283 SIG_EXPR_LIST_PTR(A12, RGMII1TXCK)); 1284 1285#define B12 153 1286SIG_EXPR_LIST_DECL_SINGLE(B12, GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1)); 1287SIG_EXPR_LIST_DECL_SINGLE(B12, DASHB12, RMII1, RMII1_DESC); 1288SIG_EXPR_LIST_DECL_SINGLE(B12, RGMII1TXCTL, RGMII1); 1289PIN_DECL_(B12, SIG_EXPR_LIST_PTR(B12, GPIOT1), SIG_EXPR_LIST_PTR(B12, DASHB12), 1290 SIG_EXPR_LIST_PTR(B12, RGMII1TXCTL)); 1291 1292#define C12 154 1293SIG_EXPR_LIST_DECL_SINGLE(C12, GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2)); 1294SIG_EXPR_LIST_DECL_SINGLE(C12, RMII1TXD0, RMII1, RMII1_DESC); 1295SIG_EXPR_LIST_DECL_SINGLE(C12, RGMII1TXD0, RGMII1); 1296PIN_DECL_(C12, SIG_EXPR_LIST_PTR(C12, GPIOT2), 1297 SIG_EXPR_LIST_PTR(C12, RMII1TXD0), 1298 SIG_EXPR_LIST_PTR(C12, RGMII1TXD0)); 1299 1300#define D12 155 1301SIG_EXPR_LIST_DECL_SINGLE(D12, GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3)); 1302SIG_EXPR_LIST_DECL_SINGLE(D12, RMII1TXD1, RMII1, RMII1_DESC); 1303SIG_EXPR_LIST_DECL_SINGLE(D12, RGMII1TXD1, RGMII1); 1304PIN_DECL_(D12, SIG_EXPR_LIST_PTR(D12, GPIOT3), 1305 SIG_EXPR_LIST_PTR(D12, RMII1TXD1), 1306 SIG_EXPR_LIST_PTR(D12, RGMII1TXD1)); 1307 1308#define E12 156 1309SIG_EXPR_LIST_DECL_SINGLE(E12, GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4)); 1310SIG_EXPR_LIST_DECL_SINGLE(E12, DASHE12, RMII1, RMII1_DESC); 1311SIG_EXPR_LIST_DECL_SINGLE(E12, RGMII1TXD2, RGMII1); 1312PIN_DECL_(E12, SIG_EXPR_LIST_PTR(E12, GPIOT4), SIG_EXPR_LIST_PTR(E12, DASHE12), 1313 SIG_EXPR_LIST_PTR(E12, RGMII1TXD2)); 1314 1315#define A13 157 1316SIG_EXPR_LIST_DECL_SINGLE(A13, GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5)); 1317SIG_EXPR_LIST_DECL_SINGLE(A13, DASHA13, RMII1, RMII1_DESC); 1318SIG_EXPR_LIST_DECL_SINGLE(A13, RGMII1TXD3, RGMII1); 1319PIN_DECL_(A13, SIG_EXPR_LIST_PTR(A13, GPIOT5), SIG_EXPR_LIST_PTR(A13, DASHA13), 1320 SIG_EXPR_LIST_PTR(A13, RGMII1TXD3)); 1321 1322#define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0) 1323 1324#define D9 158 1325SIG_EXPR_LIST_DECL_SINGLE(D9, GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6)); 1326SIG_EXPR_LIST_DECL_SINGLE(D9, RMII2TXEN, RMII2, RMII2_DESC); 1327SIG_EXPR_LIST_DECL_SINGLE(D9, RGMII2TXCK, RGMII2); 1328PIN_DECL_(D9, SIG_EXPR_LIST_PTR(D9, GPIOT6), SIG_EXPR_LIST_PTR(D9, RMII2TXEN), 1329 SIG_EXPR_LIST_PTR(D9, RGMII2TXCK)); 1330 1331#define E9 159 1332SIG_EXPR_LIST_DECL_SINGLE(E9, GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7)); 1333SIG_EXPR_LIST_DECL_SINGLE(E9, DASHE9, RMII2, RMII2_DESC); 1334SIG_EXPR_LIST_DECL_SINGLE(E9, RGMII2TXCTL, RGMII2); 1335PIN_DECL_(E9, SIG_EXPR_LIST_PTR(E9, GPIOT7), SIG_EXPR_LIST_PTR(E9, DASHE9), 1336 SIG_EXPR_LIST_PTR(E9, RGMII2TXCTL)); 1337 1338#define A10 160 1339SIG_EXPR_LIST_DECL_SINGLE(A10, GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8)); 1340SIG_EXPR_LIST_DECL_SINGLE(A10, RMII2TXD0, RMII2, RMII2_DESC); 1341SIG_EXPR_LIST_DECL_SINGLE(A10, RGMII2TXD0, RGMII2); 1342PIN_DECL_(A10, SIG_EXPR_LIST_PTR(A10, GPIOU0), 1343 SIG_EXPR_LIST_PTR(A10, RMII2TXD0), 1344 SIG_EXPR_LIST_PTR(A10, RGMII2TXD0)); 1345 1346#define B10 161 1347SIG_EXPR_LIST_DECL_SINGLE(B10, GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9)); 1348SIG_EXPR_LIST_DECL_SINGLE(B10, RMII2TXD1, RMII2, RMII2_DESC); 1349SIG_EXPR_LIST_DECL_SINGLE(B10, RGMII2TXD1, RGMII2); 1350PIN_DECL_(B10, SIG_EXPR_LIST_PTR(B10, GPIOU1), 1351 SIG_EXPR_LIST_PTR(B10, RMII2TXD1), 1352 SIG_EXPR_LIST_PTR(B10, RGMII2TXD1)); 1353 1354#define C10 162 1355SIG_EXPR_LIST_DECL_SINGLE(C10, GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10)); 1356SIG_EXPR_LIST_DECL_SINGLE(C10, DASHC10, RMII2, RMII2_DESC); 1357SIG_EXPR_LIST_DECL_SINGLE(C10, RGMII2TXD2, RGMII2); 1358PIN_DECL_(C10, SIG_EXPR_LIST_PTR(C10, GPIOU2), SIG_EXPR_LIST_PTR(C10, DASHC10), 1359 SIG_EXPR_LIST_PTR(C10, RGMII2TXD2)); 1360 1361#define D10 163 1362SIG_EXPR_LIST_DECL_SINGLE(D10, GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11)); 1363SIG_EXPR_LIST_DECL_SINGLE(D10, DASHD10, RMII2, RMII2_DESC); 1364SIG_EXPR_LIST_DECL_SINGLE(D10, RGMII2TXD3, RGMII2); 1365PIN_DECL_(D10, SIG_EXPR_LIST_PTR(D10, GPIOU3), SIG_EXPR_LIST_PTR(D10, DASHD10), 1366 SIG_EXPR_LIST_PTR(D10, RGMII2TXD3)); 1367 1368#define E11 164 1369SIG_EXPR_LIST_DECL_SINGLE(E11, GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12)); 1370SIG_EXPR_LIST_DECL_SINGLE(E11, RMII1RCLK, RMII1, RMII1_DESC); 1371SIG_EXPR_LIST_DECL_SINGLE(E11, RGMII1RXCK, RGMII1); 1372PIN_DECL_(E11, SIG_EXPR_LIST_PTR(E11, GPIOU4), 1373 SIG_EXPR_LIST_PTR(E11, RMII1RCLK), 1374 SIG_EXPR_LIST_PTR(E11, RGMII1RXCK)); 1375 1376#define D11 165 1377SIG_EXPR_LIST_DECL_SINGLE(D11, GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13)); 1378SIG_EXPR_LIST_DECL_SINGLE(D11, DASHD11, RMII1, RMII1_DESC); 1379SIG_EXPR_LIST_DECL_SINGLE(D11, RGMII1RXCTL, RGMII1); 1380PIN_DECL_(D11, SIG_EXPR_LIST_PTR(D11, GPIOU5), SIG_EXPR_LIST_PTR(D11, DASHD11), 1381 SIG_EXPR_LIST_PTR(D11, RGMII1RXCTL)); 1382 1383#define C11 166 1384SIG_EXPR_LIST_DECL_SINGLE(C11, GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14)); 1385SIG_EXPR_LIST_DECL_SINGLE(C11, RMII1RXD0, RMII1, RMII1_DESC); 1386SIG_EXPR_LIST_DECL_SINGLE(C11, RGMII1RXD0, RGMII1); 1387PIN_DECL_(C11, SIG_EXPR_LIST_PTR(C11, GPIOU6), 1388 SIG_EXPR_LIST_PTR(C11, RMII1RXD0), 1389 SIG_EXPR_LIST_PTR(C11, RGMII1RXD0)); 1390 1391#define B11 167 1392SIG_EXPR_LIST_DECL_SINGLE(B11, GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15)); 1393SIG_EXPR_LIST_DECL_SINGLE(B11, RMII1RXD1, RMII1, RMII1_DESC); 1394SIG_EXPR_LIST_DECL_SINGLE(B11, RGMII1RXD1, RGMII1); 1395PIN_DECL_(B11, SIG_EXPR_LIST_PTR(B11, GPIOU7), 1396 SIG_EXPR_LIST_PTR(B11, RMII1RXD1), 1397 SIG_EXPR_LIST_PTR(B11, RGMII1RXD1)); 1398 1399#define A11 168 1400SIG_EXPR_LIST_DECL_SINGLE(A11, GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16)); 1401SIG_EXPR_LIST_DECL_SINGLE(A11, RMII1CRSDV, RMII1, RMII1_DESC); 1402SIG_EXPR_LIST_DECL_SINGLE(A11, RGMII1RXD2, RGMII1); 1403PIN_DECL_(A11, SIG_EXPR_LIST_PTR(A11, GPIOV0), 1404 SIG_EXPR_LIST_PTR(A11, RMII1CRSDV), 1405 SIG_EXPR_LIST_PTR(A11, RGMII1RXD2)); 1406 1407#define E10 169 1408SIG_EXPR_LIST_DECL_SINGLE(E10, GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17)); 1409SIG_EXPR_LIST_DECL_SINGLE(E10, RMII1RXER, RMII1, RMII1_DESC); 1410SIG_EXPR_LIST_DECL_SINGLE(E10, RGMII1RXD3, RGMII1); 1411PIN_DECL_(E10, SIG_EXPR_LIST_PTR(E10, GPIOV1), 1412 SIG_EXPR_LIST_PTR(E10, RMII1RXER), 1413 SIG_EXPR_LIST_PTR(E10, RGMII1RXD3)); 1414 1415#define C9 170 1416SIG_EXPR_LIST_DECL_SINGLE(C9, GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18)); 1417SIG_EXPR_LIST_DECL_SINGLE(C9, RMII2RCLK, RMII2, RMII2_DESC); 1418SIG_EXPR_LIST_DECL_SINGLE(C9, RGMII2RXCK, RGMII2); 1419PIN_DECL_(C9, SIG_EXPR_LIST_PTR(C9, GPIOV2), SIG_EXPR_LIST_PTR(C9, RMII2RCLK), 1420 SIG_EXPR_LIST_PTR(C9, RGMII2RXCK)); 1421 1422#define B9 171 1423SIG_EXPR_LIST_DECL_SINGLE(B9, GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19)); 1424SIG_EXPR_LIST_DECL_SINGLE(B9, DASHB9, RMII2, RMII2_DESC); 1425SIG_EXPR_LIST_DECL_SINGLE(B9, RGMII2RXCTL, RGMII2); 1426PIN_DECL_(B9, SIG_EXPR_LIST_PTR(B9, GPIOV3), SIG_EXPR_LIST_PTR(B9, DASHB9), 1427 SIG_EXPR_LIST_PTR(B9, RGMII2RXCTL)); 1428 1429#define A9 172 1430SIG_EXPR_LIST_DECL_SINGLE(A9, GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20)); 1431SIG_EXPR_LIST_DECL_SINGLE(A9, RMII2RXD0, RMII2, RMII2_DESC); 1432SIG_EXPR_LIST_DECL_SINGLE(A9, RGMII2RXD0, RGMII2); 1433PIN_DECL_(A9, SIG_EXPR_LIST_PTR(A9, GPIOV4), SIG_EXPR_LIST_PTR(A9, RMII2RXD0), 1434 SIG_EXPR_LIST_PTR(A9, RGMII2RXD0)); 1435 1436#define E8 173 1437SIG_EXPR_LIST_DECL_SINGLE(E8, GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21)); 1438SIG_EXPR_LIST_DECL_SINGLE(E8, RMII2RXD1, RMII2, RMII2_DESC); 1439SIG_EXPR_LIST_DECL_SINGLE(E8, RGMII2RXD1, RGMII2); 1440PIN_DECL_(E8, SIG_EXPR_LIST_PTR(E8, GPIOV5), SIG_EXPR_LIST_PTR(E8, RMII2RXD1), 1441 SIG_EXPR_LIST_PTR(E8, RGMII2RXD1)); 1442 1443#define D8 174 1444SIG_EXPR_LIST_DECL_SINGLE(D8, GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22)); 1445SIG_EXPR_LIST_DECL_SINGLE(D8, RMII2CRSDV, RMII2, RMII2_DESC); 1446SIG_EXPR_LIST_DECL_SINGLE(D8, RGMII2RXD2, RGMII2); 1447PIN_DECL_(D8, SIG_EXPR_LIST_PTR(D8, GPIOV6), SIG_EXPR_LIST_PTR(D8, RMII2CRSDV), 1448 SIG_EXPR_LIST_PTR(D8, RGMII2RXD2)); 1449 1450#define C8 175 1451SIG_EXPR_LIST_DECL_SINGLE(C8, GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23)); 1452SIG_EXPR_LIST_DECL_SINGLE(C8, RMII2RXER, RMII2, RMII2_DESC); 1453SIG_EXPR_LIST_DECL_SINGLE(C8, RGMII2RXD3, RGMII2); 1454PIN_DECL_(C8, SIG_EXPR_LIST_PTR(C8, GPIOV7), SIG_EXPR_LIST_PTR(C8, RMII2RXER), 1455 SIG_EXPR_LIST_PTR(C8, RGMII2RXD3)); 1456 1457FUNC_GROUP_DECL(RMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11, 1458 E10); 1459FUNC_GROUP_DECL(RGMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11, 1460 E10); 1461 1462FUNC_GROUP_DECL(RMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8); 1463FUNC_GROUP_DECL(RGMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8); 1464 1465#define L5 176 1466SIG_EXPR_LIST_DECL_SINGLE(L5, GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24)); 1467SIG_EXPR_LIST_DECL_SINGLE(L5, ADC0, ADC0); 1468PIN_DECL_(L5, SIG_EXPR_LIST_PTR(L5, GPIOW0), SIG_EXPR_LIST_PTR(L5, ADC0)); 1469FUNC_GROUP_DECL(ADC0, L5); 1470 1471#define L4 177 1472SIG_EXPR_LIST_DECL_SINGLE(L4, GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25)); 1473SIG_EXPR_LIST_DECL_SINGLE(L4, ADC1, ADC1); 1474PIN_DECL_(L4, SIG_EXPR_LIST_PTR(L4, GPIOW1), SIG_EXPR_LIST_PTR(L4, ADC1)); 1475FUNC_GROUP_DECL(ADC1, L4); 1476 1477#define L3 178 1478SIG_EXPR_LIST_DECL_SINGLE(L3, GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26)); 1479SIG_EXPR_LIST_DECL_SINGLE(L3, ADC2, ADC2); 1480PIN_DECL_(L3, SIG_EXPR_LIST_PTR(L3, GPIOW2), SIG_EXPR_LIST_PTR(L3, ADC2)); 1481FUNC_GROUP_DECL(ADC2, L3); 1482 1483#define L2 179 1484SIG_EXPR_LIST_DECL_SINGLE(L2, GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27)); 1485SIG_EXPR_LIST_DECL_SINGLE(L2, ADC3, ADC3); 1486PIN_DECL_(L2, SIG_EXPR_LIST_PTR(L2, GPIOW3), SIG_EXPR_LIST_PTR(L2, ADC3)); 1487FUNC_GROUP_DECL(ADC3, L2); 1488 1489#define L1 180 1490SIG_EXPR_LIST_DECL_SINGLE(L1, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28)); 1491SIG_EXPR_LIST_DECL_SINGLE(L1, ADC4, ADC4); 1492PIN_DECL_(L1, SIG_EXPR_LIST_PTR(L1, GPIOW4), SIG_EXPR_LIST_PTR(L1, ADC4)); 1493FUNC_GROUP_DECL(ADC4, L1); 1494 1495#define M5 181 1496SIG_EXPR_LIST_DECL_SINGLE(M5, GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29)); 1497SIG_EXPR_LIST_DECL_SINGLE(M5, ADC5, ADC5); 1498PIN_DECL_(M5, SIG_EXPR_LIST_PTR(M5, GPIOW5), SIG_EXPR_LIST_PTR(M5, ADC5)); 1499FUNC_GROUP_DECL(ADC5, M5); 1500 1501#define M4 182 1502SIG_EXPR_LIST_DECL_SINGLE(M4, GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30)); 1503SIG_EXPR_LIST_DECL_SINGLE(M4, ADC6, ADC6); 1504PIN_DECL_(M4, SIG_EXPR_LIST_PTR(M4, GPIOW6), SIG_EXPR_LIST_PTR(M4, ADC6)); 1505FUNC_GROUP_DECL(ADC6, M4); 1506 1507#define M3 183 1508SIG_EXPR_LIST_DECL_SINGLE(M3, GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31)); 1509SIG_EXPR_LIST_DECL_SINGLE(M3, ADC7, ADC7); 1510PIN_DECL_(M3, SIG_EXPR_LIST_PTR(M3, GPIOW7), SIG_EXPR_LIST_PTR(M3, ADC7)); 1511FUNC_GROUP_DECL(ADC7, M3); 1512 1513#define M2 184 1514SIG_EXPR_LIST_DECL_SINGLE(M2, GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0)); 1515SIG_EXPR_LIST_DECL_SINGLE(M2, ADC8, ADC8); 1516PIN_DECL_(M2, SIG_EXPR_LIST_PTR(M2, GPIOX0), SIG_EXPR_LIST_PTR(M2, ADC8)); 1517FUNC_GROUP_DECL(ADC8, M2); 1518 1519#define M1 185 1520SIG_EXPR_LIST_DECL_SINGLE(M1, GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1)); 1521SIG_EXPR_LIST_DECL_SINGLE(M1, ADC9, ADC9); 1522PIN_DECL_(M1, SIG_EXPR_LIST_PTR(M1, GPIOX1), SIG_EXPR_LIST_PTR(M1, ADC9)); 1523FUNC_GROUP_DECL(ADC9, M1); 1524 1525#define N5 186 1526SIG_EXPR_LIST_DECL_SINGLE(N5, GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2)); 1527SIG_EXPR_LIST_DECL_SINGLE(N5, ADC10, ADC10); 1528PIN_DECL_(N5, SIG_EXPR_LIST_PTR(N5, GPIOX2), SIG_EXPR_LIST_PTR(N5, ADC10)); 1529FUNC_GROUP_DECL(ADC10, N5); 1530 1531#define N4 187 1532SIG_EXPR_LIST_DECL_SINGLE(N4, GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3)); 1533SIG_EXPR_LIST_DECL_SINGLE(N4, ADC11, ADC11); 1534PIN_DECL_(N4, SIG_EXPR_LIST_PTR(N4, GPIOX3), SIG_EXPR_LIST_PTR(N4, ADC11)); 1535FUNC_GROUP_DECL(ADC11, N4); 1536 1537#define N3 188 1538SIG_EXPR_LIST_DECL_SINGLE(N3, GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4)); 1539SIG_EXPR_LIST_DECL_SINGLE(N3, ADC12, ADC12); 1540PIN_DECL_(N3, SIG_EXPR_LIST_PTR(N3, GPIOX4), SIG_EXPR_LIST_PTR(N3, ADC12)); 1541FUNC_GROUP_DECL(ADC12, N3); 1542 1543#define N2 189 1544SIG_EXPR_LIST_DECL_SINGLE(N2, GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5)); 1545SIG_EXPR_LIST_DECL_SINGLE(N2, ADC13, ADC13); 1546PIN_DECL_(N2, SIG_EXPR_LIST_PTR(N2, GPIOX5), SIG_EXPR_LIST_PTR(N2, ADC13)); 1547FUNC_GROUP_DECL(ADC13, N2); 1548 1549#define N1 190 1550SIG_EXPR_LIST_DECL_SINGLE(N1, GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6)); 1551SIG_EXPR_LIST_DECL_SINGLE(N1, ADC14, ADC14); 1552PIN_DECL_(N1, SIG_EXPR_LIST_PTR(N1, GPIOX6), SIG_EXPR_LIST_PTR(N1, ADC14)); 1553FUNC_GROUP_DECL(ADC14, N1); 1554 1555#define P5 191 1556SIG_EXPR_LIST_DECL_SINGLE(P5, GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7)); 1557SIG_EXPR_LIST_DECL_SINGLE(P5, ADC15, ADC15); 1558PIN_DECL_(P5, SIG_EXPR_LIST_PTR(P5, GPIOX7), SIG_EXPR_LIST_PTR(P5, ADC15)); 1559FUNC_GROUP_DECL(ADC15, P5); 1560 1561#define C21 192 1562SIG_EXPR_DECL_SINGLE(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8)); 1563SIG_EXPR_DECL_SINGLE(SIOS3, ACPI, ACPI_DESC); 1564SIG_EXPR_LIST_DECL_DUAL(C21, SIOS3, SIOS3, ACPI); 1565PIN_DECL_1(C21, GPIOY0, SIOS3); 1566FUNC_GROUP_DECL(SIOS3, C21); 1567 1568#define F20 193 1569SIG_EXPR_DECL_SINGLE(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9)); 1570SIG_EXPR_DECL_SINGLE(SIOS5, ACPI, ACPI_DESC); 1571SIG_EXPR_LIST_DECL_DUAL(F20, SIOS5, SIOS5, ACPI); 1572PIN_DECL_1(F20, GPIOY1, SIOS5); 1573FUNC_GROUP_DECL(SIOS5, F20); 1574 1575#define G20 194 1576SIG_EXPR_DECL_SINGLE(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10)); 1577SIG_EXPR_DECL_SINGLE(SIOPWREQ, ACPI, ACPI_DESC); 1578SIG_EXPR_LIST_DECL_DUAL(G20, SIOPWREQ, SIOPWREQ, ACPI); 1579PIN_DECL_1(G20, GPIOY2, SIOPWREQ); 1580FUNC_GROUP_DECL(SIOPWREQ, G20); 1581 1582#define K20 195 1583SIG_EXPR_DECL_SINGLE(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11)); 1584SIG_EXPR_DECL_SINGLE(SIOONCTRL, ACPI, ACPI_DESC); 1585SIG_EXPR_LIST_DECL_DUAL(K20, SIOONCTRL, SIOONCTRL, ACPI); 1586PIN_DECL_1(K20, GPIOY3, SIOONCTRL); 1587FUNC_GROUP_DECL(SIOONCTRL, K20); 1588 1589FUNC_GROUP_DECL(ACPI, B19, A20, D17, A19, C21, F20, G20, K20); 1590 1591#define R22 200 1592#define R22_DESC SIG_DESC_SET(SCUA4, 16) 1593SIG_EXPR_DECL_SINGLE(ROMA2, ROM8, R22_DESC, VPOOFF0_DESC); 1594SIG_EXPR_DECL_SINGLE(ROMA2, ROM16, R22_DESC, VPOOFF0_DESC); 1595SIG_EXPR_LIST_DECL_DUAL(R22, ROMA2, ROM8, ROM16); 1596SIG_EXPR_DECL_SINGLE(VPOB0, VPO12, R22_DESC, VPO12_DESC); 1597SIG_EXPR_DECL_SINGLE(VPOB0, VPO24, R22_DESC, VPO24_DESC); 1598SIG_EXPR_DECL_SINGLE(VPOB0, VPOOFF1, R22_DESC, VPOOFF1_DESC); 1599SIG_EXPR_LIST_DECL(VPOB0, VPO, 1600 SIG_EXPR_PTR(VPOB0, VPO12), 1601 SIG_EXPR_PTR(VPOB0, VPO24), 1602 SIG_EXPR_PTR(VPOB0, VPOOFF1)); 1603SIG_EXPR_LIST_ALIAS(R22, VPOB0, VPO); 1604PIN_DECL_2(R22, GPIOZ0, ROMA2, VPOB0); 1605 1606#define P18 201 1607#define P18_DESC SIG_DESC_SET(SCUA4, 17) 1608SIG_EXPR_DECL_SINGLE(ROMA3, ROM8, P18_DESC, VPOOFF0_DESC); 1609SIG_EXPR_DECL_SINGLE(ROMA3, ROM16, P18_DESC, VPOOFF0_DESC); 1610SIG_EXPR_LIST_DECL_DUAL(P18, ROMA3, ROM8, ROM16); 1611SIG_EXPR_DECL_SINGLE(VPOB1, VPO12, P18_DESC, VPO12_DESC); 1612SIG_EXPR_DECL_SINGLE(VPOB1, VPO24, P18_DESC, VPO24_DESC); 1613SIG_EXPR_DECL_SINGLE(VPOB1, VPOOFF1, P18_DESC, VPOOFF1_DESC); 1614SIG_EXPR_LIST_DECL(VPOB1, VPO, 1615 SIG_EXPR_PTR(VPOB1, VPO12), 1616 SIG_EXPR_PTR(VPOB1, VPO24), 1617 SIG_EXPR_PTR(VPOB1, VPOOFF1)); 1618SIG_EXPR_LIST_ALIAS(P18, VPOB1, VPO); 1619PIN_DECL_2(P18, GPIOZ1, ROMA3, VPOB1); 1620 1621#define P19 202 1622#define P19_DESC SIG_DESC_SET(SCUA4, 18) 1623SIG_EXPR_DECL_SINGLE(ROMA4, ROM8, P19_DESC, VPOOFF0_DESC); 1624SIG_EXPR_DECL_SINGLE(ROMA4, ROM16, P19_DESC, VPOOFF0_DESC); 1625SIG_EXPR_LIST_DECL_DUAL(P19, ROMA4, ROM8, ROM16); 1626SIG_EXPR_DECL_SINGLE(VPOB2, VPO12, P19_DESC, VPO12_DESC); 1627SIG_EXPR_DECL_SINGLE(VPOB2, VPO24, P19_DESC, VPO24_DESC); 1628SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF1, P19_DESC, VPOOFF1_DESC); 1629SIG_EXPR_LIST_DECL(VPOB2, VPO, 1630 SIG_EXPR_PTR(VPOB2, VPO12), 1631 SIG_EXPR_PTR(VPOB2, VPO24), 1632 SIG_EXPR_PTR(VPOB2, VPOOFF1)); 1633SIG_EXPR_LIST_ALIAS(P19, VPOB2, VPO); 1634PIN_DECL_2(P19, GPIOZ2, ROMA4, VPOB2); 1635 1636#define P20 203 1637#define P20_DESC SIG_DESC_SET(SCUA4, 19) 1638SIG_EXPR_DECL_SINGLE(ROMA5, ROM8, P20_DESC, VPOOFF0_DESC); 1639SIG_EXPR_DECL_SINGLE(ROMA5, ROM16, P20_DESC, VPOOFF0_DESC); 1640SIG_EXPR_LIST_DECL_DUAL(P20, ROMA5, ROM8, ROM16); 1641SIG_EXPR_DECL_SINGLE(VPOB3, VPO12, P20_DESC, VPO12_DESC); 1642SIG_EXPR_DECL_SINGLE(VPOB3, VPO24, P20_DESC, VPO24_DESC); 1643SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF1, P20_DESC, VPOOFF1_DESC); 1644SIG_EXPR_LIST_DECL(VPOB3, VPO, 1645 SIG_EXPR_PTR(VPOB3, VPO12), 1646 SIG_EXPR_PTR(VPOB3, VPO24), 1647 SIG_EXPR_PTR(VPOB3, VPOOFF1)); 1648SIG_EXPR_LIST_ALIAS(P20, VPOB3, VPO); 1649PIN_DECL_2(P20, GPIOZ3, ROMA5, VPOB3); 1650 1651#define P21 204 1652#define P21_DESC SIG_DESC_SET(SCUA4, 20) 1653SIG_EXPR_DECL_SINGLE(ROMA6, ROM8, P21_DESC, VPOOFF0_DESC); 1654SIG_EXPR_DECL_SINGLE(ROMA6, ROM16, P21_DESC, VPOOFF0_DESC); 1655SIG_EXPR_LIST_DECL_DUAL(P21, ROMA6, ROM8, ROM16); 1656SIG_EXPR_DECL_SINGLE(VPOB4, VPO12, P21_DESC, VPO12_DESC); 1657SIG_EXPR_DECL_SINGLE(VPOB4, VPO24, P21_DESC, VPO24_DESC); 1658SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF1, P21_DESC, VPOOFF1_DESC); 1659SIG_EXPR_LIST_DECL(VPOB4, VPO, 1660 SIG_EXPR_PTR(VPOB4, VPO12), 1661 SIG_EXPR_PTR(VPOB4, VPO24), 1662 SIG_EXPR_PTR(VPOB4, VPOOFF1)); 1663SIG_EXPR_LIST_ALIAS(P21, VPOB4, VPO); 1664PIN_DECL_2(P21, GPIOZ4, ROMA6, VPOB4); 1665 1666#define P22 205 1667#define P22_DESC SIG_DESC_SET(SCUA4, 21) 1668SIG_EXPR_DECL_SINGLE(ROMA7, ROM8, P22_DESC, VPOOFF0_DESC); 1669SIG_EXPR_DECL_SINGLE(ROMA7, ROM16, P22_DESC, VPOOFF0_DESC); 1670SIG_EXPR_LIST_DECL_DUAL(P22, ROMA7, ROM8, ROM16); 1671SIG_EXPR_DECL_SINGLE(VPOB5, VPO12, P22_DESC, VPO12_DESC); 1672SIG_EXPR_DECL_SINGLE(VPOB5, VPO24, P22_DESC, VPO24_DESC); 1673SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF1, P22_DESC, VPOOFF1_DESC); 1674SIG_EXPR_LIST_DECL(VPOB5, VPO, 1675 SIG_EXPR_PTR(VPOB5, VPO12), 1676 SIG_EXPR_PTR(VPOB5, VPO24), 1677 SIG_EXPR_PTR(VPOB5, VPOOFF1)); 1678SIG_EXPR_LIST_ALIAS(P22, VPOB5, VPO); 1679PIN_DECL_2(P22, GPIOZ5, ROMA7, VPOB5); 1680 1681#define M19 206 1682#define M19_DESC SIG_DESC_SET(SCUA4, 22) 1683SIG_EXPR_DECL_SINGLE(ROMA8, ROM8, M19_DESC, VPOOFF0_DESC); 1684SIG_EXPR_DECL_SINGLE(ROMA8, ROM16, M19_DESC, VPOOFF0_DESC); 1685SIG_EXPR_LIST_DECL_DUAL(M19, ROMA8, ROM8, ROM16); 1686SIG_EXPR_DECL_SINGLE(VPOB6, VPO12, M19_DESC, VPO12_DESC); 1687SIG_EXPR_DECL_SINGLE(VPOB6, VPO24, M19_DESC, VPO24_DESC); 1688SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF1, M19_DESC, VPOOFF1_DESC); 1689SIG_EXPR_LIST_DECL(VPOB6, VPO, 1690 SIG_EXPR_PTR(VPOB6, VPO12), 1691 SIG_EXPR_PTR(VPOB6, VPO24), 1692 SIG_EXPR_PTR(VPOB6, VPOOFF1)); 1693SIG_EXPR_LIST_ALIAS(M19, VPOB6, VPO); 1694PIN_DECL_2(M19, GPIOZ6, ROMA8, VPOB6); 1695 1696#define M20 207 1697#define M20_DESC SIG_DESC_SET(SCUA4, 23) 1698SIG_EXPR_DECL_SINGLE(ROMA9, ROM8, M20_DESC, VPOOFF0_DESC); 1699SIG_EXPR_DECL_SINGLE(ROMA9, ROM16, M20_DESC, VPOOFF0_DESC); 1700SIG_EXPR_LIST_DECL_DUAL(M20, ROMA9, ROM8, ROM16); 1701SIG_EXPR_DECL_SINGLE(VPOB7, VPO12, M20_DESC, VPO12_DESC); 1702SIG_EXPR_DECL_SINGLE(VPOB7, VPO24, M20_DESC, VPO24_DESC); 1703SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF1, M20_DESC, VPOOFF1_DESC); 1704SIG_EXPR_LIST_DECL(VPOB7, VPO, 1705 SIG_EXPR_PTR(VPOB7, VPO12), 1706 SIG_EXPR_PTR(VPOB7, VPO24), 1707 SIG_EXPR_PTR(VPOB7, VPOOFF1)); 1708SIG_EXPR_LIST_ALIAS(M20, VPOB7, VPO); 1709PIN_DECL_2(M20, GPIOZ7, ROMA9, VPOB7); 1710 1711#define M21 208 1712#define M21_DESC SIG_DESC_SET(SCUA4, 24) 1713SIG_EXPR_DECL_SINGLE(ROMA10, ROM8, M21_DESC, VPOOFF0_DESC); 1714SIG_EXPR_DECL_SINGLE(ROMA10, ROM16, M21_DESC, VPOOFF0_DESC); 1715SIG_EXPR_LIST_DECL_DUAL(M21, ROMA10, ROM8, ROM16); 1716SIG_EXPR_DECL_SINGLE(VPOG0, VPO12, M21_DESC, VPO12_DESC); 1717SIG_EXPR_DECL_SINGLE(VPOG0, VPO24, M21_DESC, VPO24_DESC); 1718SIG_EXPR_DECL_SINGLE(VPOG0, VPOOFF1, M21_DESC, VPOOFF1_DESC); 1719SIG_EXPR_LIST_DECL(VPOG0, VPO, 1720 SIG_EXPR_PTR(VPOG0, VPO12), 1721 SIG_EXPR_PTR(VPOG0, VPO24), 1722 SIG_EXPR_PTR(VPOG0, VPOOFF1)); 1723SIG_EXPR_LIST_ALIAS(M21, VPOG0, VPO); 1724PIN_DECL_2(M21, GPIOAA0, ROMA10, VPOG0); 1725 1726#define M22 209 1727#define M22_DESC SIG_DESC_SET(SCUA4, 25) 1728SIG_EXPR_DECL_SINGLE(ROMA11, ROM8, M22_DESC, VPOOFF0_DESC); 1729SIG_EXPR_DECL_SINGLE(ROMA11, ROM16, M22_DESC, VPOOFF0_DESC); 1730SIG_EXPR_LIST_DECL_DUAL(M22, ROMA11, ROM8, ROM16); 1731SIG_EXPR_DECL_SINGLE(VPOG1, VPO12, M22_DESC, VPO12_DESC); 1732SIG_EXPR_DECL_SINGLE(VPOG1, VPO24, M22_DESC, VPO24_DESC); 1733SIG_EXPR_DECL_SINGLE(VPOG1, VPOOFF1, M22_DESC, VPOOFF1_DESC); 1734SIG_EXPR_LIST_DECL(VPOG1, VPO, 1735 SIG_EXPR_PTR(VPOG1, VPO12), 1736 SIG_EXPR_PTR(VPOG1, VPO24), 1737 SIG_EXPR_PTR(VPOG1, VPOOFF1)); 1738SIG_EXPR_LIST_ALIAS(M22, VPOG1, VPO); 1739PIN_DECL_2(M22, GPIOAA1, ROMA11, VPOG1); 1740 1741#define L18 210 1742#define L18_DESC SIG_DESC_SET(SCUA4, 26) 1743SIG_EXPR_DECL_SINGLE(ROMA12, ROM8, L18_DESC, VPOOFF0_DESC); 1744SIG_EXPR_DECL_SINGLE(ROMA12, ROM16, L18_DESC, VPOOFF0_DESC); 1745SIG_EXPR_LIST_DECL_DUAL(L18, ROMA12, ROM8, ROM16); 1746SIG_EXPR_DECL_SINGLE(VPOG2, VPO12, L18_DESC, VPO12_DESC); 1747SIG_EXPR_DECL_SINGLE(VPOG2, VPO24, L18_DESC, VPO24_DESC); 1748SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF1, L18_DESC, VPOOFF1_DESC); 1749SIG_EXPR_LIST_DECL(VPOG2, VPO, 1750 SIG_EXPR_PTR(VPOG2, VPO12), 1751 SIG_EXPR_PTR(VPOG2, VPO24), 1752 SIG_EXPR_PTR(VPOG2, VPOOFF1)); 1753SIG_EXPR_LIST_ALIAS(L18, VPOG2, VPO); 1754PIN_DECL_2(L18, GPIOAA2, ROMA12, VPOG2); 1755 1756#define L19 211 1757#define L19_DESC SIG_DESC_SET(SCUA4, 27) 1758SIG_EXPR_DECL_SINGLE(ROMA13, ROM8, L19_DESC, VPOOFF0_DESC); 1759SIG_EXPR_DECL_SINGLE(ROMA13, ROM16, L19_DESC, VPOOFF0_DESC); 1760SIG_EXPR_LIST_DECL_DUAL(L19, ROMA13, ROM8, ROM16); 1761SIG_EXPR_DECL_SINGLE(VPOG3, VPO12, L19_DESC, VPO12_DESC); 1762SIG_EXPR_DECL_SINGLE(VPOG3, VPO24, L19_DESC, VPO24_DESC); 1763SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF1, L19_DESC, VPOOFF1_DESC); 1764SIG_EXPR_LIST_DECL(VPOG3, VPO, 1765 SIG_EXPR_PTR(VPOG3, VPO12), 1766 SIG_EXPR_PTR(VPOG3, VPO24), 1767 SIG_EXPR_PTR(VPOG3, VPOOFF1)); 1768SIG_EXPR_LIST_ALIAS(L19, VPOG3, VPO); 1769PIN_DECL_2(L19, GPIOAA3, ROMA13, VPOG3); 1770 1771#define L20 212 1772#define L20_DESC SIG_DESC_SET(SCUA4, 28) 1773SIG_EXPR_DECL_SINGLE(ROMA14, ROM8, L20_DESC, VPO_OFF_12); 1774SIG_EXPR_DECL_SINGLE(ROMA14, ROM16, L20_DESC, VPO_OFF_12); 1775SIG_EXPR_LIST_DECL_DUAL(L20, ROMA14, ROM8, ROM16); 1776SIG_EXPR_DECL_SINGLE(VPOG4, VPO24, L20_DESC, VPO24_DESC); 1777SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF1, L20_DESC, VPOOFF1_DESC); 1778SIG_EXPR_LIST_DECL_DUAL(L20, VPOG4, VPO24, VPOOFF1); 1779PIN_DECL_2(L20, GPIOAA4, ROMA14, VPOG4); 1780 1781#define L21 213 1782#define L21_DESC SIG_DESC_SET(SCUA4, 29) 1783SIG_EXPR_DECL_SINGLE(ROMA15, ROM8, L21_DESC, VPO_OFF_12); 1784SIG_EXPR_DECL_SINGLE(ROMA15, ROM16, L21_DESC, VPO_OFF_12); 1785SIG_EXPR_LIST_DECL_DUAL(L21, ROMA15, ROM8, ROM16); 1786SIG_EXPR_DECL_SINGLE(VPOG5, VPO24, L21_DESC, VPO24_DESC); 1787SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF1, L21_DESC, VPOOFF1_DESC); 1788SIG_EXPR_LIST_DECL_DUAL(L21, VPOG5, VPO24, VPOOFF1); 1789PIN_DECL_2(L21, GPIOAA5, ROMA15, VPOG5); 1790 1791#define T18 214 1792#define T18_DESC SIG_DESC_SET(SCUA4, 30) 1793SIG_EXPR_DECL_SINGLE(ROMA16, ROM8, T18_DESC, VPO_OFF_12); 1794SIG_EXPR_DECL_SINGLE(ROMA16, ROM16, T18_DESC, VPO_OFF_12); 1795SIG_EXPR_LIST_DECL_DUAL(T18, ROMA16, ROM8, ROM16); 1796SIG_EXPR_DECL_SINGLE(VPOG6, VPO24, T18_DESC, VPO24_DESC); 1797SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF1, T18_DESC, VPOOFF1_DESC); 1798SIG_EXPR_LIST_DECL_DUAL(T18, VPOG6, VPO24, VPOOFF1); 1799PIN_DECL_2(T18, GPIOAA6, ROMA16, VPOG6); 1800 1801#define N18 215 1802#define N18_DESC SIG_DESC_SET(SCUA4, 31) 1803SIG_EXPR_DECL_SINGLE(ROMA17, ROM8, N18_DESC, VPO_OFF_12); 1804SIG_EXPR_DECL_SINGLE(ROMA17, ROM16, N18_DESC, VPO_OFF_12); 1805SIG_EXPR_LIST_DECL_DUAL(N18, ROMA17, ROM8, ROM16); 1806SIG_EXPR_DECL_SINGLE(VPOG7, VPO24, N18_DESC, VPO24_DESC); 1807SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF1, N18_DESC, VPOOFF1_DESC); 1808SIG_EXPR_LIST_DECL_DUAL(N18, VPOG7, VPO24, VPOOFF1); 1809PIN_DECL_2(N18, GPIOAA7, ROMA17, VPOG7); 1810 1811#define N19 216 1812#define N19_DESC SIG_DESC_SET(SCUA8, 0) 1813SIG_EXPR_DECL_SINGLE(ROMA18, ROM8, N19_DESC, VPO_OFF_12); 1814SIG_EXPR_DECL_SINGLE(ROMA18, ROM16, N19_DESC, VPO_OFF_12); 1815SIG_EXPR_LIST_DECL_DUAL(N19, ROMA18, ROM8, ROM16); 1816SIG_EXPR_DECL_SINGLE(VPOR0, VPO24, N19_DESC, VPO24_DESC); 1817SIG_EXPR_DECL_SINGLE(VPOR0, VPOOFF1, N19_DESC, VPOOFF1_DESC); 1818SIG_EXPR_LIST_DECL_DUAL(N19, VPOR0, VPO24, VPOOFF1); 1819PIN_DECL_2(N19, GPIOAB0, ROMA18, VPOR0); 1820 1821#define M18 217 1822#define M18_DESC SIG_DESC_SET(SCUA8, 1) 1823SIG_EXPR_DECL_SINGLE(ROMA19, ROM8, M18_DESC, VPO_OFF_12); 1824SIG_EXPR_DECL_SINGLE(ROMA19, ROM16, M18_DESC, VPO_OFF_12); 1825SIG_EXPR_LIST_DECL_DUAL(M18, ROMA19, ROM8, ROM16); 1826SIG_EXPR_DECL_SINGLE(VPOR1, VPO24, M18_DESC, VPO24_DESC); 1827SIG_EXPR_DECL_SINGLE(VPOR1, VPOOFF1, M18_DESC, VPOOFF1_DESC); 1828SIG_EXPR_LIST_DECL_DUAL(M18, VPOR1, VPO24, VPOOFF1); 1829PIN_DECL_2(M18, GPIOAB1, ROMA19, VPOR1); 1830 1831#define N22 218 1832#define N22_DESC SIG_DESC_SET(SCUA8, 2) 1833SIG_EXPR_DECL_SINGLE(ROMA20, ROM8, N22_DESC, VPO_OFF_12); 1834SIG_EXPR_DECL_SINGLE(ROMA20, ROM16, N22_DESC, VPO_OFF_12); 1835SIG_EXPR_LIST_DECL_DUAL(N22, ROMA20, ROM8, ROM16); 1836SIG_EXPR_DECL_SINGLE(VPOR2, VPO24, N22_DESC, VPO24_DESC); 1837SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF1, N22_DESC, VPOOFF1_DESC); 1838SIG_EXPR_LIST_DECL_DUAL(N22, VPOR2, VPO24, VPOOFF1); 1839PIN_DECL_2(N22, GPIOAB2, ROMA20, VPOR2); 1840 1841#define N20 219 1842#define N20_DESC SIG_DESC_SET(SCUA8, 3) 1843SIG_EXPR_DECL_SINGLE(ROMA21, ROM8, N20_DESC, VPO_OFF_12); 1844SIG_EXPR_DECL_SINGLE(ROMA21, ROM16, N20_DESC, VPO_OFF_12); 1845SIG_EXPR_LIST_DECL_DUAL(N20, ROMA21, ROM8, ROM16); 1846SIG_EXPR_DECL_SINGLE(VPOR3, VPO24, N20_DESC, VPO24_DESC); 1847SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF1, N20_DESC, VPOOFF1_DESC); 1848SIG_EXPR_LIST_DECL_DUAL(N20, VPOR3, VPO24, VPOOFF1); 1849PIN_DECL_2(N20, GPIOAB3, ROMA21, VPOR3); 1850 1851FUNC_GROUP_DECL(ROM8, V20, U21, T19, V22, U20, R18, N21, L22, K18, W21, Y22, 1852 U19, R22, P18, P19, P20, P21, P22, M19, M20, M21, M22, L18, 1853 L19, L20, L21, T18, N18, N19, M18, N22, N20); 1854FUNC_GROUP_DECL(ROM16, V20, U21, T19, V22, U20, R18, N21, L22, K18, 1855 A8, C7, B7, A7, D7, B6, A6, E7, W21, Y22, U19, R22, P18, P19, 1856 P20, P21, P22, M19, M20, M21, M22, L18, L19, L20, L21, T18, 1857 N18, N19, M18, N22, N20); 1858FUNC_GROUP_DECL(VPO12, U21, T19, V22, U20, R22, P18, P19, P20, P21, P22, M19, 1859 M20, M21, M22, L18, L19, L20, L21, T18, N18, N19, M18, N22, 1860 N20); 1861FUNC_GROUP_DECL(VPO24, U21, T19, V22, U20, L22, K18, V21, W22, R22, P18, P19, 1862 P20, P21, P22, M19, M20, M21, M22, L18, L19); 1863 1864#define USB11H2_DESC SIG_DESC_SET(SCU90, 3) 1865#define USB11D1_DESC SIG_DESC_BIT(SCU90, 3, 0) 1866 1867#define K4 220 1868SIG_EXPR_LIST_DECL_SINGLE(K4, USB11HDP2, USB11H2, USB11H2_DESC); 1869SIG_EXPR_LIST_DECL_SINGLE(K4, USB11DP1, USB11D1, USB11D1_DESC); 1870PIN_DECL_(K4, SIG_EXPR_LIST_PTR(K4, USB11HDP2), 1871 SIG_EXPR_LIST_PTR(K4, USB11DP1)); 1872 1873#define K3 221 1874SIG_EXPR_LIST_DECL_SINGLE(K3, USB11HDN1, USB11H2, USB11H2_DESC); 1875SIG_EXPR_LIST_DECL_SINGLE(K3, USB11DDN1, USB11D1, USB11D1_DESC); 1876PIN_DECL_(K3, SIG_EXPR_LIST_PTR(K3, USB11HDN1), 1877 SIG_EXPR_LIST_PTR(K3, USB11DDN1)); 1878 1879FUNC_GROUP_DECL(USB11H2, K4, K3); 1880FUNC_GROUP_DECL(USB11D1, K4, K3); 1881 1882#define USB2H1_DESC SIG_DESC_SET(SCU90, 29) 1883#define USB2D1_DESC SIG_DESC_BIT(SCU90, 29, 0) 1884 1885#define AB21 222 1886SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2HDP1, USB2H1, USB2H1_DESC); 1887SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2DDP1, USB2D1, USB2D1_DESC); 1888PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(AB21, USB2HDP1), 1889 SIG_EXPR_LIST_PTR(AB21, USB2DDP1)); 1890 1891#define AB20 223 1892SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2HDN1, USB2H1, USB2H1_DESC); 1893SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2DDN1, USB2D1, USB2D1_DESC); 1894PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(AB20, USB2HDN1), 1895 SIG_EXPR_LIST_PTR(AB20, USB2DDN1)); 1896 1897FUNC_GROUP_DECL(USB2H1, AB21, AB20); 1898FUNC_GROUP_DECL(USB2D1, AB21, AB20); 1899 1900/* Note we account for GPIOY4-GPIOY7 even though they're not valid, thus 216 1901 * pins becomes 220. Four additional non-GPIO-capable pins are present for USB. 1902 */ 1903#define ASPEED_G4_NR_PINS 224 1904 1905/* Pins, groups and functions are sort(1):ed alphabetically for sanity */ 1906 1907static struct pinctrl_pin_desc aspeed_g4_pins[ASPEED_G4_NR_PINS] = { 1908 ASPEED_PINCTRL_PIN(A1), 1909 ASPEED_PINCTRL_PIN(A10), 1910 ASPEED_PINCTRL_PIN(A11), 1911 ASPEED_PINCTRL_PIN(A12), 1912 ASPEED_PINCTRL_PIN(A13), 1913 ASPEED_PINCTRL_PIN(A14), 1914 ASPEED_PINCTRL_PIN(A15), 1915 ASPEED_PINCTRL_PIN(A16), 1916 ASPEED_PINCTRL_PIN(A17), 1917 ASPEED_PINCTRL_PIN(A18), 1918 ASPEED_PINCTRL_PIN(A19), 1919 ASPEED_PINCTRL_PIN(A2), 1920 ASPEED_PINCTRL_PIN(A20), 1921 ASPEED_PINCTRL_PIN(A3), 1922 ASPEED_PINCTRL_PIN(A4), 1923 ASPEED_PINCTRL_PIN(A5), 1924 ASPEED_PINCTRL_PIN(A6), 1925 ASPEED_PINCTRL_PIN(A7), 1926 ASPEED_PINCTRL_PIN(A8), 1927 ASPEED_PINCTRL_PIN(A9), 1928 ASPEED_PINCTRL_PIN(AA1), 1929 ASPEED_PINCTRL_PIN(AA2), 1930 ASPEED_PINCTRL_PIN(AA22), 1931 ASPEED_PINCTRL_PIN(AA3), 1932 ASPEED_PINCTRL_PIN(AA4), 1933 ASPEED_PINCTRL_PIN(AA5), 1934 ASPEED_PINCTRL_PIN(AA6), 1935 ASPEED_PINCTRL_PIN(AA7), 1936 ASPEED_PINCTRL_PIN(AB1), 1937 ASPEED_PINCTRL_PIN(AB2), 1938 ASPEED_PINCTRL_PIN(AB3), 1939 ASPEED_PINCTRL_PIN(AB4), 1940 ASPEED_PINCTRL_PIN(AB5), 1941 ASPEED_PINCTRL_PIN(AB6), 1942 ASPEED_PINCTRL_PIN(AB7), 1943 ASPEED_PINCTRL_PIN(AB20), 1944 ASPEED_PINCTRL_PIN(AB21), 1945 ASPEED_PINCTRL_PIN(B1), 1946 ASPEED_PINCTRL_PIN(B10), 1947 ASPEED_PINCTRL_PIN(B11), 1948 ASPEED_PINCTRL_PIN(B12), 1949 ASPEED_PINCTRL_PIN(B13), 1950 ASPEED_PINCTRL_PIN(B14), 1951 ASPEED_PINCTRL_PIN(B15), 1952 ASPEED_PINCTRL_PIN(B16), 1953 ASPEED_PINCTRL_PIN(B17), 1954 ASPEED_PINCTRL_PIN(B18), 1955 ASPEED_PINCTRL_PIN(B19), 1956 ASPEED_PINCTRL_PIN(B2), 1957 ASPEED_PINCTRL_PIN(B22), 1958 ASPEED_PINCTRL_PIN(B3), 1959 ASPEED_PINCTRL_PIN(B4), 1960 ASPEED_PINCTRL_PIN(B5), 1961 ASPEED_PINCTRL_PIN(B6), 1962 ASPEED_PINCTRL_PIN(B7), 1963 ASPEED_PINCTRL_PIN(B9), 1964 ASPEED_PINCTRL_PIN(C1), 1965 ASPEED_PINCTRL_PIN(C10), 1966 ASPEED_PINCTRL_PIN(C11), 1967 ASPEED_PINCTRL_PIN(C12), 1968 ASPEED_PINCTRL_PIN(C13), 1969 ASPEED_PINCTRL_PIN(C14), 1970 ASPEED_PINCTRL_PIN(C15), 1971 ASPEED_PINCTRL_PIN(C16), 1972 ASPEED_PINCTRL_PIN(C17), 1973 ASPEED_PINCTRL_PIN(C18), 1974 ASPEED_PINCTRL_PIN(C2), 1975 ASPEED_PINCTRL_PIN(C20), 1976 ASPEED_PINCTRL_PIN(C21), 1977 ASPEED_PINCTRL_PIN(C22), 1978 ASPEED_PINCTRL_PIN(C3), 1979 ASPEED_PINCTRL_PIN(C4), 1980 ASPEED_PINCTRL_PIN(C5), 1981 ASPEED_PINCTRL_PIN(C6), 1982 ASPEED_PINCTRL_PIN(C7), 1983 ASPEED_PINCTRL_PIN(C8), 1984 ASPEED_PINCTRL_PIN(C9), 1985 ASPEED_PINCTRL_PIN(D1), 1986 ASPEED_PINCTRL_PIN(D10), 1987 ASPEED_PINCTRL_PIN(D11), 1988 ASPEED_PINCTRL_PIN(D12), 1989 ASPEED_PINCTRL_PIN(D13), 1990 ASPEED_PINCTRL_PIN(D14), 1991 ASPEED_PINCTRL_PIN(D15), 1992 ASPEED_PINCTRL_PIN(D16), 1993 ASPEED_PINCTRL_PIN(D17), 1994 ASPEED_PINCTRL_PIN(D18), 1995 ASPEED_PINCTRL_PIN(D19), 1996 ASPEED_PINCTRL_PIN(D2), 1997 ASPEED_PINCTRL_PIN(D3), 1998 ASPEED_PINCTRL_PIN(D4), 1999 ASPEED_PINCTRL_PIN(D5), 2000 ASPEED_PINCTRL_PIN(D6), 2001 ASPEED_PINCTRL_PIN(D7), 2002 ASPEED_PINCTRL_PIN(D8), 2003 ASPEED_PINCTRL_PIN(D9), 2004 ASPEED_PINCTRL_PIN(E10), 2005 ASPEED_PINCTRL_PIN(E11), 2006 ASPEED_PINCTRL_PIN(E12), 2007 ASPEED_PINCTRL_PIN(E13), 2008 ASPEED_PINCTRL_PIN(E14), 2009 ASPEED_PINCTRL_PIN(E15), 2010 ASPEED_PINCTRL_PIN(E16), 2011 ASPEED_PINCTRL_PIN(E18), 2012 ASPEED_PINCTRL_PIN(E19), 2013 ASPEED_PINCTRL_PIN(E2), 2014 ASPEED_PINCTRL_PIN(E20), 2015 ASPEED_PINCTRL_PIN(E3), 2016 ASPEED_PINCTRL_PIN(E5), 2017 ASPEED_PINCTRL_PIN(E6), 2018 ASPEED_PINCTRL_PIN(E7), 2019 ASPEED_PINCTRL_PIN(E8), 2020 ASPEED_PINCTRL_PIN(E9), 2021 ASPEED_PINCTRL_PIN(F18), 2022 ASPEED_PINCTRL_PIN(F20), 2023 ASPEED_PINCTRL_PIN(F3), 2024 ASPEED_PINCTRL_PIN(F4), 2025 ASPEED_PINCTRL_PIN(F5), 2026 ASPEED_PINCTRL_PIN(G18), 2027 ASPEED_PINCTRL_PIN(G19), 2028 ASPEED_PINCTRL_PIN(G20), 2029 ASPEED_PINCTRL_PIN(G5), 2030 ASPEED_PINCTRL_PIN(H1), 2031 ASPEED_PINCTRL_PIN(H18), 2032 ASPEED_PINCTRL_PIN(H19), 2033 ASPEED_PINCTRL_PIN(H2), 2034 ASPEED_PINCTRL_PIN(H20), 2035 ASPEED_PINCTRL_PIN(H3), 2036 ASPEED_PINCTRL_PIN(H4), 2037 ASPEED_PINCTRL_PIN(J20), 2038 ASPEED_PINCTRL_PIN(J21), 2039 ASPEED_PINCTRL_PIN(J3), 2040 ASPEED_PINCTRL_PIN(J4), 2041 ASPEED_PINCTRL_PIN(J5), 2042 ASPEED_PINCTRL_PIN(K18), 2043 ASPEED_PINCTRL_PIN(K20), 2044 ASPEED_PINCTRL_PIN(K3), 2045 ASPEED_PINCTRL_PIN(K4), 2046 ASPEED_PINCTRL_PIN(K5), 2047 ASPEED_PINCTRL_PIN(L1), 2048 ASPEED_PINCTRL_PIN(L18), 2049 ASPEED_PINCTRL_PIN(L19), 2050 ASPEED_PINCTRL_PIN(L2), 2051 ASPEED_PINCTRL_PIN(L20), 2052 ASPEED_PINCTRL_PIN(L21), 2053 ASPEED_PINCTRL_PIN(L22), 2054 ASPEED_PINCTRL_PIN(L3), 2055 ASPEED_PINCTRL_PIN(L4), 2056 ASPEED_PINCTRL_PIN(L5), 2057 ASPEED_PINCTRL_PIN(M1), 2058 ASPEED_PINCTRL_PIN(M18), 2059 ASPEED_PINCTRL_PIN(M19), 2060 ASPEED_PINCTRL_PIN(M2), 2061 ASPEED_PINCTRL_PIN(M20), 2062 ASPEED_PINCTRL_PIN(M21), 2063 ASPEED_PINCTRL_PIN(M22), 2064 ASPEED_PINCTRL_PIN(M3), 2065 ASPEED_PINCTRL_PIN(M4), 2066 ASPEED_PINCTRL_PIN(M5), 2067 ASPEED_PINCTRL_PIN(N1), 2068 ASPEED_PINCTRL_PIN(N18), 2069 ASPEED_PINCTRL_PIN(N19), 2070 ASPEED_PINCTRL_PIN(N2), 2071 ASPEED_PINCTRL_PIN(N20), 2072 ASPEED_PINCTRL_PIN(N21), 2073 ASPEED_PINCTRL_PIN(N22), 2074 ASPEED_PINCTRL_PIN(N3), 2075 ASPEED_PINCTRL_PIN(N4), 2076 ASPEED_PINCTRL_PIN(N5), 2077 ASPEED_PINCTRL_PIN(P18), 2078 ASPEED_PINCTRL_PIN(P19), 2079 ASPEED_PINCTRL_PIN(P20), 2080 ASPEED_PINCTRL_PIN(P21), 2081 ASPEED_PINCTRL_PIN(P22), 2082 ASPEED_PINCTRL_PIN(P5), 2083 ASPEED_PINCTRL_PIN(R18), 2084 ASPEED_PINCTRL_PIN(R22), 2085 ASPEED_PINCTRL_PIN(T1), 2086 ASPEED_PINCTRL_PIN(T18), 2087 ASPEED_PINCTRL_PIN(T19), 2088 ASPEED_PINCTRL_PIN(T2), 2089 ASPEED_PINCTRL_PIN(T4), 2090 ASPEED_PINCTRL_PIN(T5), 2091 ASPEED_PINCTRL_PIN(U1), 2092 ASPEED_PINCTRL_PIN(U18), 2093 ASPEED_PINCTRL_PIN(U19), 2094 ASPEED_PINCTRL_PIN(U2), 2095 ASPEED_PINCTRL_PIN(U20), 2096 ASPEED_PINCTRL_PIN(U21), 2097 ASPEED_PINCTRL_PIN(U3), 2098 ASPEED_PINCTRL_PIN(U4), 2099 ASPEED_PINCTRL_PIN(U5), 2100 ASPEED_PINCTRL_PIN(V1), 2101 ASPEED_PINCTRL_PIN(V2), 2102 ASPEED_PINCTRL_PIN(V20), 2103 ASPEED_PINCTRL_PIN(V21), 2104 ASPEED_PINCTRL_PIN(V22), 2105 ASPEED_PINCTRL_PIN(V3), 2106 ASPEED_PINCTRL_PIN(V4), 2107 ASPEED_PINCTRL_PIN(V5), 2108 ASPEED_PINCTRL_PIN(V6), 2109 ASPEED_PINCTRL_PIN(V7), 2110 ASPEED_PINCTRL_PIN(W1), 2111 ASPEED_PINCTRL_PIN(W2), 2112 ASPEED_PINCTRL_PIN(W21), 2113 ASPEED_PINCTRL_PIN(W22), 2114 ASPEED_PINCTRL_PIN(W3), 2115 ASPEED_PINCTRL_PIN(W4), 2116 ASPEED_PINCTRL_PIN(W5), 2117 ASPEED_PINCTRL_PIN(W6), 2118 ASPEED_PINCTRL_PIN(W7), 2119 ASPEED_PINCTRL_PIN(Y1), 2120 ASPEED_PINCTRL_PIN(Y2), 2121 ASPEED_PINCTRL_PIN(Y21), 2122 ASPEED_PINCTRL_PIN(Y22), 2123 ASPEED_PINCTRL_PIN(Y3), 2124 ASPEED_PINCTRL_PIN(Y4), 2125 ASPEED_PINCTRL_PIN(Y5), 2126 ASPEED_PINCTRL_PIN(Y6), 2127 ASPEED_PINCTRL_PIN(Y7), 2128}; 2129 2130static const struct aspeed_pin_group aspeed_g4_groups[] = { 2131 ASPEED_PINCTRL_GROUP(ACPI), 2132 ASPEED_PINCTRL_GROUP(ADC0), 2133 ASPEED_PINCTRL_GROUP(ADC1), 2134 ASPEED_PINCTRL_GROUP(ADC10), 2135 ASPEED_PINCTRL_GROUP(ADC11), 2136 ASPEED_PINCTRL_GROUP(ADC12), 2137 ASPEED_PINCTRL_GROUP(ADC13), 2138 ASPEED_PINCTRL_GROUP(ADC14), 2139 ASPEED_PINCTRL_GROUP(ADC15), 2140 ASPEED_PINCTRL_GROUP(ADC2), 2141 ASPEED_PINCTRL_GROUP(ADC3), 2142 ASPEED_PINCTRL_GROUP(ADC4), 2143 ASPEED_PINCTRL_GROUP(ADC5), 2144 ASPEED_PINCTRL_GROUP(ADC6), 2145 ASPEED_PINCTRL_GROUP(ADC7), 2146 ASPEED_PINCTRL_GROUP(ADC8), 2147 ASPEED_PINCTRL_GROUP(ADC9), 2148 ASPEED_PINCTRL_GROUP(BMCINT), 2149 ASPEED_PINCTRL_GROUP(DDCCLK), 2150 ASPEED_PINCTRL_GROUP(DDCDAT), 2151 ASPEED_PINCTRL_GROUP(EXTRST), 2152 ASPEED_PINCTRL_GROUP(FLACK), 2153 ASPEED_PINCTRL_GROUP(FLBUSY), 2154 ASPEED_PINCTRL_GROUP(FLWP), 2155 ASPEED_PINCTRL_GROUP(GPID), 2156 ASPEED_PINCTRL_GROUP(GPID0), 2157 ASPEED_PINCTRL_GROUP(GPID2), 2158 ASPEED_PINCTRL_GROUP(GPID4), 2159 ASPEED_PINCTRL_GROUP(GPID6), 2160 ASPEED_PINCTRL_GROUP(GPIE0), 2161 ASPEED_PINCTRL_GROUP(GPIE2), 2162 ASPEED_PINCTRL_GROUP(GPIE4), 2163 ASPEED_PINCTRL_GROUP(GPIE6), 2164 ASPEED_PINCTRL_GROUP(I2C10), 2165 ASPEED_PINCTRL_GROUP(I2C11), 2166 ASPEED_PINCTRL_GROUP(I2C12), 2167 ASPEED_PINCTRL_GROUP(I2C13), 2168 ASPEED_PINCTRL_GROUP(I2C14), 2169 ASPEED_PINCTRL_GROUP(I2C3), 2170 ASPEED_PINCTRL_GROUP(I2C4), 2171 ASPEED_PINCTRL_GROUP(I2C5), 2172 ASPEED_PINCTRL_GROUP(I2C6), 2173 ASPEED_PINCTRL_GROUP(I2C7), 2174 ASPEED_PINCTRL_GROUP(I2C8), 2175 ASPEED_PINCTRL_GROUP(I2C9), 2176 ASPEED_PINCTRL_GROUP(LPCPD), 2177 ASPEED_PINCTRL_GROUP(LPCPME), 2178 ASPEED_PINCTRL_GROUP(LPCRST), 2179 ASPEED_PINCTRL_GROUP(LPCSMI), 2180 ASPEED_PINCTRL_GROUP(MAC1LINK), 2181 ASPEED_PINCTRL_GROUP(MAC2LINK), 2182 ASPEED_PINCTRL_GROUP(MDIO1), 2183 ASPEED_PINCTRL_GROUP(MDIO2), 2184 ASPEED_PINCTRL_GROUP(NCTS1), 2185 ASPEED_PINCTRL_GROUP(NCTS2), 2186 ASPEED_PINCTRL_GROUP(NCTS3), 2187 ASPEED_PINCTRL_GROUP(NCTS4), 2188 ASPEED_PINCTRL_GROUP(NDCD1), 2189 ASPEED_PINCTRL_GROUP(NDCD2), 2190 ASPEED_PINCTRL_GROUP(NDCD3), 2191 ASPEED_PINCTRL_GROUP(NDCD4), 2192 ASPEED_PINCTRL_GROUP(NDSR1), 2193 ASPEED_PINCTRL_GROUP(NDSR2), 2194 ASPEED_PINCTRL_GROUP(NDSR3), 2195 ASPEED_PINCTRL_GROUP(NDSR4), 2196 ASPEED_PINCTRL_GROUP(NDTR1), 2197 ASPEED_PINCTRL_GROUP(NDTR2), 2198 ASPEED_PINCTRL_GROUP(NDTR3), 2199 ASPEED_PINCTRL_GROUP(NDTR4), 2200 ASPEED_PINCTRL_GROUP(NDTS4), 2201 ASPEED_PINCTRL_GROUP(NRI1), 2202 ASPEED_PINCTRL_GROUP(NRI2), 2203 ASPEED_PINCTRL_GROUP(NRI3), 2204 ASPEED_PINCTRL_GROUP(NRI4), 2205 ASPEED_PINCTRL_GROUP(NRTS1), 2206 ASPEED_PINCTRL_GROUP(NRTS2), 2207 ASPEED_PINCTRL_GROUP(NRTS3), 2208 ASPEED_PINCTRL_GROUP(OSCCLK), 2209 ASPEED_PINCTRL_GROUP(PWM0), 2210 ASPEED_PINCTRL_GROUP(PWM1), 2211 ASPEED_PINCTRL_GROUP(PWM2), 2212 ASPEED_PINCTRL_GROUP(PWM3), 2213 ASPEED_PINCTRL_GROUP(PWM4), 2214 ASPEED_PINCTRL_GROUP(PWM5), 2215 ASPEED_PINCTRL_GROUP(PWM6), 2216 ASPEED_PINCTRL_GROUP(PWM7), 2217 ASPEED_PINCTRL_GROUP(RGMII1), 2218 ASPEED_PINCTRL_GROUP(RGMII2), 2219 ASPEED_PINCTRL_GROUP(RMII1), 2220 ASPEED_PINCTRL_GROUP(RMII2), 2221 ASPEED_PINCTRL_GROUP(ROM16), 2222 ASPEED_PINCTRL_GROUP(ROM8), 2223 ASPEED_PINCTRL_GROUP(ROMCS1), 2224 ASPEED_PINCTRL_GROUP(ROMCS2), 2225 ASPEED_PINCTRL_GROUP(ROMCS3), 2226 ASPEED_PINCTRL_GROUP(ROMCS4), 2227 ASPEED_PINCTRL_GROUP(RXD1), 2228 ASPEED_PINCTRL_GROUP(RXD2), 2229 ASPEED_PINCTRL_GROUP(RXD3), 2230 ASPEED_PINCTRL_GROUP(RXD4), 2231 ASPEED_PINCTRL_GROUP(SALT1), 2232 ASPEED_PINCTRL_GROUP(SALT2), 2233 ASPEED_PINCTRL_GROUP(SALT3), 2234 ASPEED_PINCTRL_GROUP(SALT4), 2235 ASPEED_PINCTRL_GROUP(SD1), 2236 ASPEED_PINCTRL_GROUP(SD2), 2237 ASPEED_PINCTRL_GROUP(SGPMCK), 2238 ASPEED_PINCTRL_GROUP(SGPMI), 2239 ASPEED_PINCTRL_GROUP(SGPMLD), 2240 ASPEED_PINCTRL_GROUP(SGPMO), 2241 ASPEED_PINCTRL_GROUP(SGPSCK), 2242 ASPEED_PINCTRL_GROUP(SGPSI0), 2243 ASPEED_PINCTRL_GROUP(SGPSI1), 2244 ASPEED_PINCTRL_GROUP(SGPSLD), 2245 ASPEED_PINCTRL_GROUP(SIOONCTRL), 2246 ASPEED_PINCTRL_GROUP(SIOPBI), 2247 ASPEED_PINCTRL_GROUP(SIOPBO), 2248 ASPEED_PINCTRL_GROUP(SIOPWREQ), 2249 ASPEED_PINCTRL_GROUP(SIOPWRGD), 2250 ASPEED_PINCTRL_GROUP(SIOS3), 2251 ASPEED_PINCTRL_GROUP(SIOS5), 2252 ASPEED_PINCTRL_GROUP(SIOSCI), 2253 ASPEED_PINCTRL_GROUP(SPI1), 2254 ASPEED_PINCTRL_GROUP(SPI1DEBUG), 2255 ASPEED_PINCTRL_GROUP(SPI1PASSTHRU), 2256 ASPEED_PINCTRL_GROUP(SPICS1), 2257 ASPEED_PINCTRL_GROUP(TIMER3), 2258 ASPEED_PINCTRL_GROUP(TIMER4), 2259 ASPEED_PINCTRL_GROUP(TIMER5), 2260 ASPEED_PINCTRL_GROUP(TIMER6), 2261 ASPEED_PINCTRL_GROUP(TIMER7), 2262 ASPEED_PINCTRL_GROUP(TIMER8), 2263 ASPEED_PINCTRL_GROUP(TXD1), 2264 ASPEED_PINCTRL_GROUP(TXD2), 2265 ASPEED_PINCTRL_GROUP(TXD3), 2266 ASPEED_PINCTRL_GROUP(TXD4), 2267 ASPEED_PINCTRL_GROUP(UART6), 2268 ASPEED_PINCTRL_GROUP(USB11D1), 2269 ASPEED_PINCTRL_GROUP(USB11H2), 2270 ASPEED_PINCTRL_GROUP(USB2D1), 2271 ASPEED_PINCTRL_GROUP(USB2H1), 2272 ASPEED_PINCTRL_GROUP(USBCKI), 2273 ASPEED_PINCTRL_GROUP(VGABIOS_ROM), 2274 ASPEED_PINCTRL_GROUP(VGAHS), 2275 ASPEED_PINCTRL_GROUP(VGAVS), 2276 ASPEED_PINCTRL_GROUP(VPI18), 2277 ASPEED_PINCTRL_GROUP(VPI24), 2278 ASPEED_PINCTRL_GROUP(VPI30), 2279 ASPEED_PINCTRL_GROUP(VPO12), 2280 ASPEED_PINCTRL_GROUP(VPO24), 2281 ASPEED_PINCTRL_GROUP(WDTRST1), 2282 ASPEED_PINCTRL_GROUP(WDTRST2), 2283}; 2284 2285static const struct aspeed_pin_function aspeed_g4_functions[] = { 2286 ASPEED_PINCTRL_FUNC(ACPI), 2287 ASPEED_PINCTRL_FUNC(ADC0), 2288 ASPEED_PINCTRL_FUNC(ADC1), 2289 ASPEED_PINCTRL_FUNC(ADC10), 2290 ASPEED_PINCTRL_FUNC(ADC11), 2291 ASPEED_PINCTRL_FUNC(ADC12), 2292 ASPEED_PINCTRL_FUNC(ADC13), 2293 ASPEED_PINCTRL_FUNC(ADC14), 2294 ASPEED_PINCTRL_FUNC(ADC15), 2295 ASPEED_PINCTRL_FUNC(ADC2), 2296 ASPEED_PINCTRL_FUNC(ADC3), 2297 ASPEED_PINCTRL_FUNC(ADC4), 2298 ASPEED_PINCTRL_FUNC(ADC5), 2299 ASPEED_PINCTRL_FUNC(ADC6), 2300 ASPEED_PINCTRL_FUNC(ADC7), 2301 ASPEED_PINCTRL_FUNC(ADC8), 2302 ASPEED_PINCTRL_FUNC(ADC9), 2303 ASPEED_PINCTRL_FUNC(BMCINT), 2304 ASPEED_PINCTRL_FUNC(DDCCLK), 2305 ASPEED_PINCTRL_FUNC(DDCDAT), 2306 ASPEED_PINCTRL_FUNC(EXTRST), 2307 ASPEED_PINCTRL_FUNC(FLACK), 2308 ASPEED_PINCTRL_FUNC(FLBUSY), 2309 ASPEED_PINCTRL_FUNC(FLWP), 2310 ASPEED_PINCTRL_FUNC(GPID), 2311 ASPEED_PINCTRL_FUNC(GPID0), 2312 ASPEED_PINCTRL_FUNC(GPID2), 2313 ASPEED_PINCTRL_FUNC(GPID4), 2314 ASPEED_PINCTRL_FUNC(GPID6), 2315 ASPEED_PINCTRL_FUNC(GPIE0), 2316 ASPEED_PINCTRL_FUNC(GPIE2), 2317 ASPEED_PINCTRL_FUNC(GPIE4), 2318 ASPEED_PINCTRL_FUNC(GPIE6), 2319 ASPEED_PINCTRL_FUNC(I2C10), 2320 ASPEED_PINCTRL_FUNC(I2C11), 2321 ASPEED_PINCTRL_FUNC(I2C12), 2322 ASPEED_PINCTRL_FUNC(I2C13), 2323 ASPEED_PINCTRL_FUNC(I2C14), 2324 ASPEED_PINCTRL_FUNC(I2C3), 2325 ASPEED_PINCTRL_FUNC(I2C4), 2326 ASPEED_PINCTRL_FUNC(I2C5), 2327 ASPEED_PINCTRL_FUNC(I2C6), 2328 ASPEED_PINCTRL_FUNC(I2C7), 2329 ASPEED_PINCTRL_FUNC(I2C8), 2330 ASPEED_PINCTRL_FUNC(I2C9), 2331 ASPEED_PINCTRL_FUNC(LPCPD), 2332 ASPEED_PINCTRL_FUNC(LPCPME), 2333 ASPEED_PINCTRL_FUNC(LPCRST), 2334 ASPEED_PINCTRL_FUNC(LPCSMI), 2335 ASPEED_PINCTRL_FUNC(MAC1LINK), 2336 ASPEED_PINCTRL_FUNC(MAC2LINK), 2337 ASPEED_PINCTRL_FUNC(MDIO1), 2338 ASPEED_PINCTRL_FUNC(MDIO2), 2339 ASPEED_PINCTRL_FUNC(NCTS1), 2340 ASPEED_PINCTRL_FUNC(NCTS2), 2341 ASPEED_PINCTRL_FUNC(NCTS3), 2342 ASPEED_PINCTRL_FUNC(NCTS4), 2343 ASPEED_PINCTRL_FUNC(NDCD1), 2344 ASPEED_PINCTRL_FUNC(NDCD2), 2345 ASPEED_PINCTRL_FUNC(NDCD3), 2346 ASPEED_PINCTRL_FUNC(NDCD4), 2347 ASPEED_PINCTRL_FUNC(NDSR1), 2348 ASPEED_PINCTRL_FUNC(NDSR2), 2349 ASPEED_PINCTRL_FUNC(NDSR3), 2350 ASPEED_PINCTRL_FUNC(NDSR4), 2351 ASPEED_PINCTRL_FUNC(NDTR1), 2352 ASPEED_PINCTRL_FUNC(NDTR2), 2353 ASPEED_PINCTRL_FUNC(NDTR3), 2354 ASPEED_PINCTRL_FUNC(NDTR4), 2355 ASPEED_PINCTRL_FUNC(NDTS4), 2356 ASPEED_PINCTRL_FUNC(NRI1), 2357 ASPEED_PINCTRL_FUNC(NRI2), 2358 ASPEED_PINCTRL_FUNC(NRI3), 2359 ASPEED_PINCTRL_FUNC(NRI4), 2360 ASPEED_PINCTRL_FUNC(NRTS1), 2361 ASPEED_PINCTRL_FUNC(NRTS2), 2362 ASPEED_PINCTRL_FUNC(NRTS3), 2363 ASPEED_PINCTRL_FUNC(OSCCLK), 2364 ASPEED_PINCTRL_FUNC(PWM0), 2365 ASPEED_PINCTRL_FUNC(PWM1), 2366 ASPEED_PINCTRL_FUNC(PWM2), 2367 ASPEED_PINCTRL_FUNC(PWM3), 2368 ASPEED_PINCTRL_FUNC(PWM4), 2369 ASPEED_PINCTRL_FUNC(PWM5), 2370 ASPEED_PINCTRL_FUNC(PWM6), 2371 ASPEED_PINCTRL_FUNC(PWM7), 2372 ASPEED_PINCTRL_FUNC(RGMII1), 2373 ASPEED_PINCTRL_FUNC(RGMII2), 2374 ASPEED_PINCTRL_FUNC(RMII1), 2375 ASPEED_PINCTRL_FUNC(RMII2), 2376 ASPEED_PINCTRL_FUNC(ROM16), 2377 ASPEED_PINCTRL_FUNC(ROM8), 2378 ASPEED_PINCTRL_FUNC(ROMCS1), 2379 ASPEED_PINCTRL_FUNC(ROMCS2), 2380 ASPEED_PINCTRL_FUNC(ROMCS3), 2381 ASPEED_PINCTRL_FUNC(ROMCS4), 2382 ASPEED_PINCTRL_FUNC(RXD1), 2383 ASPEED_PINCTRL_FUNC(RXD2), 2384 ASPEED_PINCTRL_FUNC(RXD3), 2385 ASPEED_PINCTRL_FUNC(RXD4), 2386 ASPEED_PINCTRL_FUNC(SALT1), 2387 ASPEED_PINCTRL_FUNC(SALT2), 2388 ASPEED_PINCTRL_FUNC(SALT3), 2389 ASPEED_PINCTRL_FUNC(SALT4), 2390 ASPEED_PINCTRL_FUNC(SD1), 2391 ASPEED_PINCTRL_FUNC(SD2), 2392 ASPEED_PINCTRL_FUNC(SGPMCK), 2393 ASPEED_PINCTRL_FUNC(SGPMI), 2394 ASPEED_PINCTRL_FUNC(SGPMLD), 2395 ASPEED_PINCTRL_FUNC(SGPMO), 2396 ASPEED_PINCTRL_FUNC(SGPSCK), 2397 ASPEED_PINCTRL_FUNC(SGPSI0), 2398 ASPEED_PINCTRL_FUNC(SGPSI1), 2399 ASPEED_PINCTRL_FUNC(SGPSLD), 2400 ASPEED_PINCTRL_FUNC(SIOONCTRL), 2401 ASPEED_PINCTRL_FUNC(SIOPBI), 2402 ASPEED_PINCTRL_FUNC(SIOPBO), 2403 ASPEED_PINCTRL_FUNC(SIOPWREQ), 2404 ASPEED_PINCTRL_FUNC(SIOPWRGD), 2405 ASPEED_PINCTRL_FUNC(SIOS3), 2406 ASPEED_PINCTRL_FUNC(SIOS5), 2407 ASPEED_PINCTRL_FUNC(SIOSCI), 2408 ASPEED_PINCTRL_FUNC(SPI1), 2409 ASPEED_PINCTRL_FUNC(SPI1DEBUG), 2410 ASPEED_PINCTRL_FUNC(SPI1PASSTHRU), 2411 ASPEED_PINCTRL_FUNC(SPICS1), 2412 ASPEED_PINCTRL_FUNC(TIMER3), 2413 ASPEED_PINCTRL_FUNC(TIMER4), 2414 ASPEED_PINCTRL_FUNC(TIMER5), 2415 ASPEED_PINCTRL_FUNC(TIMER6), 2416 ASPEED_PINCTRL_FUNC(TIMER7), 2417 ASPEED_PINCTRL_FUNC(TIMER8), 2418 ASPEED_PINCTRL_FUNC(TXD1), 2419 ASPEED_PINCTRL_FUNC(TXD2), 2420 ASPEED_PINCTRL_FUNC(TXD3), 2421 ASPEED_PINCTRL_FUNC(TXD4), 2422 ASPEED_PINCTRL_FUNC(UART6), 2423 ASPEED_PINCTRL_FUNC(USB11D1), 2424 ASPEED_PINCTRL_FUNC(USB11H2), 2425 ASPEED_PINCTRL_FUNC(USB2D1), 2426 ASPEED_PINCTRL_FUNC(USB2H1), 2427 ASPEED_PINCTRL_FUNC(USBCKI), 2428 ASPEED_PINCTRL_FUNC(VGABIOS_ROM), 2429 ASPEED_PINCTRL_FUNC(VGAHS), 2430 ASPEED_PINCTRL_FUNC(VGAVS), 2431 ASPEED_PINCTRL_FUNC(VPI18), 2432 ASPEED_PINCTRL_FUNC(VPI24), 2433 ASPEED_PINCTRL_FUNC(VPI30), 2434 ASPEED_PINCTRL_FUNC(VPO12), 2435 ASPEED_PINCTRL_FUNC(VPO24), 2436 ASPEED_PINCTRL_FUNC(WDTRST1), 2437 ASPEED_PINCTRL_FUNC(WDTRST2), 2438}; 2439 2440static const struct aspeed_pin_config aspeed_g4_configs[] = { 2441 /* GPIO banks ranges [A, B], [D, J], [M, R] */ 2442 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D6, D5, SCU8C, 16), 2443 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, D6, D5, SCU8C, 16), 2444 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, J21, E18, SCU8C, 17), 2445 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, J21, E18, SCU8C, 17), 2446 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A18, E15, SCU8C, 19), 2447 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A18, E15, SCU8C, 19), 2448 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D15, B14, SCU8C, 20), 2449 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, D15, B14, SCU8C, 20), 2450 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D18, C17, SCU8C, 21), 2451 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, D18, C17, SCU8C, 21), 2452 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A14, U18, SCU8C, 22), 2453 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A14, U18, SCU8C, 22), 2454 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A8, E7, SCU8C, 23), 2455 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A8, E7, SCU8C, 23), 2456 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C22, E20, SCU8C, 24), 2457 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C22, E20, SCU8C, 24), 2458 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, J5, T1, SCU8C, 25), 2459 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, J5, T1, SCU8C, 25), 2460 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, U1, U5, SCU8C, 26), 2461 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, U1, U5, SCU8C, 26), 2462 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V3, V5, SCU8C, 27), 2463 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V3, V5, SCU8C, 27), 2464 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, W4, AB2, SCU8C, 28), 2465 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, W4, AB2, SCU8C, 28), 2466 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V6, V7, SCU8C, 29), 2467 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V6, V7, SCU8C, 29), 2468 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y6, AB7, SCU8C, 30), 2469 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, Y6, AB7, SCU8C, 30), 2470 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V20, A5, SCU8C, 31), 2471 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V20, A5, SCU8C, 31), 2472 2473 /* GPIOs T[0-5] (RGMII1 Tx pins) */ 2474 ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, A12, A13, SCU90, 9), 2475 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A12, A13, SCU90, 12), 2476 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A12, A13, SCU90, 12), 2477 2478 /* GPIOs T[6-7], U[0-3] (RGMII2 TX pins) */ 2479 ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, D9, D10, SCU90, 11), 2480 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D9, D10, SCU90, 14), 2481 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, D9, D10, SCU90, 14), 2482 2483 /* GPIOs U[4-7], V[0-1] (RGMII1 Rx pins) */ 2484 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E11, E10, SCU90, 13), 2485 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, E11, E10, SCU90, 13), 2486 2487 /* GPIOs V[2-7] (RGMII2 Rx pins) */ 2488 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C9, C8, SCU90, 15), 2489 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C9, C8, SCU90, 15), 2490 2491 /* ADC pull-downs (SCUA8[19:4]) */ 2492 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L5, L5, SCUA8, 4), 2493 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L5, L5, SCUA8, 4), 2494 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L4, L4, SCUA8, 5), 2495 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L4, L4, SCUA8, 5), 2496 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L3, L3, SCUA8, 6), 2497 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L3, L3, SCUA8, 6), 2498 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L2, L2, SCUA8, 7), 2499 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L2, L2, SCUA8, 7), 2500 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L1, L1, SCUA8, 8), 2501 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L1, L1, SCUA8, 8), 2502 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M5, M5, SCUA8, 9), 2503 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, M5, M5, SCUA8, 9), 2504 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M4, M4, SCUA8, 10), 2505 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, M4, M4, SCUA8, 10), 2506 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M3, M3, SCUA8, 11), 2507 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, M3, M3, SCUA8, 11), 2508 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M2, M2, SCUA8, 12), 2509 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, M2, M2, SCUA8, 12), 2510 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M1, M1, SCUA8, 13), 2511 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, M1, M1, SCUA8, 13), 2512 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N5, N5, SCUA8, 14), 2513 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N5, N5, SCUA8, 14), 2514 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N4, N4, SCUA8, 15), 2515 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N4, N4, SCUA8, 15), 2516 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N3, N3, SCUA8, 16), 2517 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N3, N3, SCUA8, 16), 2518 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N2, N2, SCUA8, 17), 2519 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N2, N2, SCUA8, 17), 2520 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N1, N1, SCUA8, 18), 2521 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N1, N1, SCUA8, 18), 2522 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, P5, P5, SCUA8, 19), 2523 ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, P5, P5, SCUA8, 19), 2524 2525 /* 2526 * Debounce settings for GPIOs D and E passthrough mode are in 2527 * SCUA8[27:20] and so are managed by pinctrl. Normal GPIO debounce for 2528 * banks D and E is handled by the GPIO driver - GPIO passthrough is 2529 * treated like any other non-GPIO mux function. There is a catch 2530 * however, in that the debounce period is configured in the GPIO 2531 * controller. Due to this tangle between GPIO and pinctrl we don't yet 2532 * fully support pass-through debounce. 2533 */ 2534 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, A18, D16, SCUA8, 20), 2535 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, B17, A17, SCUA8, 21), 2536 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, C16, B16, SCUA8, 22), 2537 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, A16, E15, SCUA8, 23), 2538 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, D15, C15, SCUA8, 24), 2539 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, B15, A15, SCUA8, 25), 2540 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, E14, D14, SCUA8, 26), 2541 ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, C14, B14, SCUA8, 27), 2542}; 2543 2544static int aspeed_g4_sig_expr_set(struct aspeed_pinmux_data *ctx, 2545 const struct aspeed_sig_expr *expr, 2546 bool enable) 2547{ 2548 int ret; 2549 int i; 2550 2551 for (i = 0; i < expr->ndescs; i++) { 2552 const struct aspeed_sig_desc *desc = &expr->descs[i]; 2553 u32 pattern = enable ? desc->enable : desc->disable; 2554 u32 val = (pattern << __ffs(desc->mask)); 2555 2556 if (!ctx->maps[desc->ip]) 2557 return -ENODEV; 2558 2559 /* 2560 * Strap registers are configured in hardware or by early-boot 2561 * firmware. Treat them as read-only despite that we can write 2562 * them. This may mean that certain functions cannot be 2563 * deconfigured and is the reason we re-evaluate after writing 2564 * all descriptor bits. 2565 * 2566 * Port D and port E GPIO loopback modes are the only exception 2567 * as those are commonly used with front-panel buttons to allow 2568 * normal operation of the host when the BMC is powered off or 2569 * fails to boot. Once the BMC has booted, the loopback mode 2570 * must be disabled for the BMC to control host power-on and 2571 * reset. 2572 */ 2573 if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP1 && 2574 !(desc->mask & (BIT(21) | BIT(22)))) 2575 continue; 2576 2577 if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP2) 2578 continue; 2579 2580 ret = regmap_update_bits(ctx->maps[desc->ip], desc->reg, 2581 desc->mask, val); 2582 2583 if (ret) 2584 return ret; 2585 } 2586 2587 ret = aspeed_sig_expr_eval(ctx, expr, enable); 2588 if (ret < 0) 2589 return ret; 2590 2591 if (!ret) 2592 return -EPERM; 2593 2594 return 0; 2595} 2596 2597static const struct aspeed_pin_config_map aspeed_g4_pin_config_map[] = { 2598 { PIN_CONFIG_BIAS_PULL_DOWN, 0, 1, BIT_MASK(0)}, 2599 { PIN_CONFIG_BIAS_PULL_DOWN, -1, 0, BIT_MASK(0)}, 2600 { PIN_CONFIG_BIAS_DISABLE, -1, 1, BIT_MASK(0)}, 2601 { PIN_CONFIG_DRIVE_STRENGTH, 8, 0, BIT_MASK(0)}, 2602 { PIN_CONFIG_DRIVE_STRENGTH, 16, 1, BIT_MASK(0)}, 2603}; 2604 2605static const struct aspeed_pinmux_ops aspeed_g4_ops = { 2606 .set = aspeed_g4_sig_expr_set, 2607}; 2608 2609static struct aspeed_pinctrl_data aspeed_g4_pinctrl_data = { 2610 .pins = aspeed_g4_pins, 2611 .npins = ARRAY_SIZE(aspeed_g4_pins), 2612 .pinmux = { 2613 .ops = &aspeed_g4_ops, 2614 .groups = aspeed_g4_groups, 2615 .ngroups = ARRAY_SIZE(aspeed_g4_groups), 2616 .functions = aspeed_g4_functions, 2617 .nfunctions = ARRAY_SIZE(aspeed_g4_functions), 2618 }, 2619 .configs = aspeed_g4_configs, 2620 .nconfigs = ARRAY_SIZE(aspeed_g4_configs), 2621 .confmaps = aspeed_g4_pin_config_map, 2622 .nconfmaps = ARRAY_SIZE(aspeed_g4_pin_config_map), 2623}; 2624 2625static const struct pinmux_ops aspeed_g4_pinmux_ops = { 2626 .get_functions_count = aspeed_pinmux_get_fn_count, 2627 .get_function_name = aspeed_pinmux_get_fn_name, 2628 .get_function_groups = aspeed_pinmux_get_fn_groups, 2629 .set_mux = aspeed_pinmux_set_mux, 2630 .gpio_request_enable = aspeed_gpio_request_enable, 2631 .strict = true, 2632}; 2633 2634static const struct pinctrl_ops aspeed_g4_pinctrl_ops = { 2635 .get_groups_count = aspeed_pinctrl_get_groups_count, 2636 .get_group_name = aspeed_pinctrl_get_group_name, 2637 .get_group_pins = aspeed_pinctrl_get_group_pins, 2638 .pin_dbg_show = aspeed_pinctrl_pin_dbg_show, 2639 .dt_node_to_map = pinconf_generic_dt_node_to_map_all, 2640 .dt_free_map = pinctrl_utils_free_map, 2641}; 2642 2643static const struct pinconf_ops aspeed_g4_conf_ops = { 2644 .is_generic = true, 2645 .pin_config_get = aspeed_pin_config_get, 2646 .pin_config_set = aspeed_pin_config_set, 2647 .pin_config_group_get = aspeed_pin_config_group_get, 2648 .pin_config_group_set = aspeed_pin_config_group_set, 2649}; 2650 2651static struct pinctrl_desc aspeed_g4_pinctrl_desc = { 2652 .name = "aspeed-g4-pinctrl", 2653 .pins = aspeed_g4_pins, 2654 .npins = ARRAY_SIZE(aspeed_g4_pins), 2655 .pctlops = &aspeed_g4_pinctrl_ops, 2656 .pmxops = &aspeed_g4_pinmux_ops, 2657 .confops = &aspeed_g4_conf_ops, 2658}; 2659 2660static int aspeed_g4_pinctrl_probe(struct platform_device *pdev) 2661{ 2662 int i; 2663 2664 for (i = 0; i < ARRAY_SIZE(aspeed_g4_pins); i++) 2665 aspeed_g4_pins[i].number = i; 2666 2667 return aspeed_pinctrl_probe(pdev, &aspeed_g4_pinctrl_desc, 2668 &aspeed_g4_pinctrl_data); 2669} 2670 2671static const struct of_device_id aspeed_g4_pinctrl_of_match[] = { 2672 { .compatible = "aspeed,ast2400-pinctrl", }, 2673 /* 2674 * The aspeed,g4-pinctrl compatible has been removed the from the 2675 * bindings, but keep the match in case of old devicetrees. 2676 */ 2677 { .compatible = "aspeed,g4-pinctrl", }, 2678 { }, 2679}; 2680 2681static struct platform_driver aspeed_g4_pinctrl_driver = { 2682 .probe = aspeed_g4_pinctrl_probe, 2683 .driver = { 2684 .name = "aspeed-g4-pinctrl", 2685 .of_match_table = aspeed_g4_pinctrl_of_match, 2686 }, 2687}; 2688 2689static int aspeed_g4_pinctrl_init(void) 2690{ 2691 return platform_driver_register(&aspeed_g4_pinctrl_driver); 2692} 2693 2694arch_initcall(aspeed_g4_pinctrl_init);