Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'pinctrl-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
"This is the bulk of pin control changes for the v5.4 kernel cycle:

Core changes:

- Fix errors in example code in the documentation.

New drivers:

- Add support for JZ4760, JZ4760B, X1000, X1000E and X1500 to the
Ingenic driver.

- Support Cirrus Logic Madera CS47L92 and CS47L15.

- Support Allwinner Sunxi V3S.

- Support Aspeed 2600 BMC.

- Support Qualcomm SC7180.

- Support Marvell MVEBU CS115.

Driver improvements:

- Clean up a few drivers to use the devm_platform_ioremap_resource()
helper.

- Pass the irqchip when registering the gpio_chip in some pin
controllers that are also GPIO controllers.

- Support suspend/resume in the Tegra driver.

- Support pull-up on the Broadcom BCM2711.

- The Intel driver can now request locked pads.

- Fix the UFS reset pin in the Qualcomm SDM845 driver"

* tag 'pinctrl-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (112 commits)
pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c
pinctrl: sh-pfc: Unlock on error in sh_pfc_func_set_mux()
pinctrl: bcm: remove redundant assignment to pointer log
pinctrl: iproc: Add 'get_direction' support
pinctrl: iproc-gpio: Handle interrupts for multiple instances
pinctrl: iproc-gpio: Fix incorrect pinconf configurations
pinctrl: intel: mark intel_pin_to_gpio __maybe_unused
pinctrl: qcom: sdm845: Fix UFS_RESET pin
pinctrl: mvebu: add additional variant for standalone CP115
pinctrl: mvebu: Add CP110 missing pin functionality
dt-bindings: cp110: document the new CP115 pinctrl compatible
pinctrl: bcm2835: Pass irqchip when adding gpiochip
pinctrl: meson: meson: Add of_node_put() before return
pinctrl/gpio: Take MUX usage into account
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150l support
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150b support
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150 support
pinctrl: amd: disable spurious-firing GPIO IRQs
pinctrl: rza2: Include the appropriate headers
pinctrl: rza2: Drop driver use of consumer flags
...

+7984 -2373
+2 -2
Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt
··· 78 78 79 79 Required properties: 80 80 81 - - compatible: "marvell,armada-7k-pinctrl", 82 - "marvell,armada-8k-cpm-pinctrl" or "marvell,armada-8k-cps-pinctrl" 81 + - compatible: "marvell,armada-7k-pinctrl", "marvell,armada-8k-cpm-pinctrl", 82 + "marvell,armada-8k-cps-pinctrl" or "marvell,cp115-standalone-pinctrl" 83 83 depending on the specific variant of the SoC being used. 84 84 85 85 Available mpp pins/groups and functions:
-2
Documentation/devicetree/bindings/mfd/aspeed-scu.txt
··· 4 4 Required properties: 5 5 - compatible: One of: 6 6 "aspeed,ast2400-scu", "syscon", "simple-mfd" 7 - "aspeed,g4-scu", "syscon", "simple-mfd" 8 7 "aspeed,ast2500-scu", "syscon", "simple-mfd" 9 - "aspeed,g5-scu", "syscon", "simple-mfd" 10 8 11 9 - reg: contains the offset and length of the SCU memory region 12 10 - #clock-cells: should be set to <1> - the system controller is also a
-2
Documentation/devicetree/bindings/misc/aspeed-p2a-ctrl.txt
··· 26 26 27 27 - compatible : Should be one of the following: 28 28 "aspeed,ast2400-scu", "syscon", "simple-mfd" 29 - "aspeed,g4-scu", "syscon", "simple-mfd" 30 29 "aspeed,ast2500-scu", "syscon", "simple-mfd" 31 - "aspeed,g5-scu", "syscon", "simple-mfd" 32 30 33 31 Example 34 32 ===================
+19 -26
Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml
··· 15 15 16 16 - compatible: Should be one of the following: 17 17 "aspeed,ast2400-scu", "syscon", "simple-mfd" 18 - "aspeed,g4-scu", "syscon", "simple-mfd" 19 18 20 19 Refer to the the bindings described in 21 20 Documentation/devicetree/bindings/mfd/syscon.txt 22 21 23 22 properties: 24 23 compatible: 25 - enum: 26 - - aspeed,ast2400-pinctrl 27 - - aspeed,g4-pinctrl 24 + const: aspeed,ast2400-pinctrl 28 25 29 26 patternProperties: 30 27 '^.*$': ··· 32 35 "^function|groups$": 33 36 allOf: 34 37 - $ref: "/schemas/types.yaml#/definitions/string" 35 - - enum: [ "ACPI", "ADC0", "ADC1", "ADC10", "ADC11", "ADC12", "ADC13", 36 - "ADC14", "ADC15", "ADC2", "ADC3", "ADC4", "ADC5", "ADC6", "ADC7", 37 - "ADC8", "ADC9", "BMCINT", "DDCCLK", "DDCDAT", "EXTRST", "FLACK", 38 - "FLBUSY", "FLWP", "GPID", "GPID0", "GPID2", "GPID4", "GPID6", 39 - "GPIE0", "GPIE2", "GPIE4", "GPIE6", "I2C10", "I2C11", "I2C12", 40 - "I2C13", "I2C14", "I2C3", "I2C4", "I2C5", "I2C6", "I2C7", "I2C8", 41 - "I2C9", "LPCPD", "LPCPME", "LPCRST", "LPCSMI", "MAC1LINK", 42 - "MAC2LINK", "MDIO1", "MDIO2", "NCTS1", "NCTS2", "NCTS3", "NCTS4", 43 - "NDCD1", "NDCD2", "NDCD3", "NDCD4", "NDSR1", "NDSR2", "NDSR3", 44 - "NDSR4", "NDTR1", "NDTR2", "NDTR3", "NDTR4", "NDTS4", "NRI1", 45 - "NRI2", "NRI3", "NRI4", "NRTS1", "NRTS2", "NRTS3", "OSCCLK", 46 - "PWM0", "PWM1", "PWM2", "PWM3", "PWM4", "PWM5", "PWM6", "PWM7", 47 - "RGMII1", "RGMII2", "RMII1", "RMII2", "ROM16", "ROM8", "ROMCS1", 48 - "ROMCS2", "ROMCS3", "ROMCS4", "RXD1", "RXD2", "RXD3", "RXD4", 49 - "SALT1", "SALT2", "SALT3", "SALT4", "SD1", "SD2", "SGPMCK", 50 - "SGPMI", "SGPMLD", "SGPMO", "SGPSCK", "SGPSI0", "SGPSI1", "SGPSLD", 51 - "SIOONCTRL", "SIOPBI", "SIOPBO", "SIOPWREQ", "SIOPWRGD", "SIOS3", 52 - "SIOS5", "SIOSCI", "SPI1", "SPI1DEBUG", "SPI1PASSTHRU", "SPICS1", 53 - "TIMER3", "TIMER4", "TIMER5", "TIMER6", "TIMER7", "TIMER8", "TXD1", 54 - "TXD2", "TXD3", "TXD4", "UART6", "USB11D1", "USB11H2", "USB2D1", 55 - "USB2H1", "USBCKI", "VGABIOS_ROM", "VGAHS", "VGAVS", "VPI18", 56 - "VPI24", "VPI30", "VPO12", "VPO24", "WDTRST1", "WDTRST2" ] 38 + - enum: [ ACPI, ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, 39 + ADC15, ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, 40 + DDCCLK, DDCDAT, EXTRST, FLACK, FLBUSY, FLWP, GPID, GPID0, GPID2, 41 + GPID4, GPID6, GPIE0, GPIE2, GPIE4, GPIE6, I2C10, I2C11, I2C12, 42 + I2C13, I2C14, I2C3, I2C4, I2C5, I2C6, I2C7, I2C8, I2C9, LPCPD, 43 + LPCPME, LPCRST, LPCSMI, MAC1LINK, MAC2LINK, MDIO1, MDIO2, NCTS1, 44 + NCTS2, NCTS3, NCTS4, NDCD1, NDCD2, NDCD3, NDCD4, NDSR1, NDSR2, 45 + NDSR3, NDSR4, NDTR1, NDTR2, NDTR3, NDTR4, NDTS4, NRI1, NRI2, 46 + NRI3, NRI4, NRTS1, NRTS2, NRTS3, OSCCLK, PWM0, PWM1, PWM2, PWM3, 47 + PWM4, PWM5, PWM6, PWM7, RGMII1, RGMII2, RMII1, RMII2, ROM16, 48 + ROM8, ROMCS1, ROMCS2, ROMCS3, ROMCS4, RXD1, RXD2, RXD3, RXD4, 49 + SALT1, SALT2, SALT3, SALT4, SD1, SD2, SGPMCK, SGPMI, SGPMLD, 50 + SGPMO, SGPSCK, SGPSI0, SGPSI1, SGPSLD, SIOONCTRL, SIOPBI, SIOPBO, 51 + SIOPWREQ, SIOPWRGD, SIOS3, SIOS5, SIOSCI, SPI1, SPI1DEBUG, 52 + SPI1PASSTHRU, SPICS1, TIMER3, TIMER4, TIMER5, TIMER6, TIMER7, 53 + TIMER8, TXD1, TXD2, TXD3, TXD4, UART6, USB11D1, USB11H2, USB2D1, 54 + USB2H1, USBCKI, VGABIOS_ROM, VGAHS, VGAVS, VPI18, VPI24, VPI30, 55 + VPO12, VPO24, WDTRST1, WDTRST2 ] 57 56 58 57 required: 59 58 - compatible
+21 -28
Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml
··· 22 22 23 23 properties: 24 24 compatible: 25 - enum: 26 - - aspeed,ast2500-pinctrl 27 - - aspeed,g5-pinctrl 25 + const: aspeed,ast2500-pinctrl 28 26 aspeed,external-nodes: 29 27 minItems: 2 30 28 maxItems: 2 ··· 42 44 "^function|groups$": 43 45 allOf: 44 46 - $ref: "/schemas/types.yaml#/definitions/string" 45 - - enum: [ "ACPI", "ADC0", "ADC1", "ADC10", "ADC11", "ADC12", "ADC13", 46 - "ADC14", "ADC15", "ADC2", "ADC3", "ADC4", "ADC5", "ADC6", "ADC7", 47 - "ADC8", "ADC9", "BMCINT", "DDCCLK", "DDCDAT", "ESPI", "FWSPICS1", 48 - "FWSPICS2", "GPID0", "GPID2", "GPID4", "GPID6", "GPIE0", "GPIE2", 49 - "GPIE4", "GPIE6", "I2C10", "I2C11", "I2C12", "I2C13", "I2C14", 50 - "I2C3", "I2C4", "I2C5", "I2C6", "I2C7", "I2C8", "I2C9", "LAD0", 51 - "LAD1", "LAD2", "LAD3", "LCLK", "LFRAME", "LPCHC", "LPCPD", 52 - "LPCPLUS", "LPCPME", "LPCRST", "LPCSMI", "LSIRQ", "MAC1LINK", 53 - "MAC2LINK", "MDIO1", "MDIO2", "NCTS1", "NCTS2", "NCTS3", "NCTS4", 54 - "NDCD1", "NDCD2", "NDCD3", "NDCD4", "NDSR1", "NDSR2", "NDSR3", 55 - "NDSR4", "NDTR1", "NDTR2", "NDTR3", "NDTR4", "NRI1", "NRI2", 56 - "NRI3", "NRI4", "NRTS1", "NRTS2", "NRTS3", "NRTS4", "OSCCLK", 57 - "PEWAKE", "PNOR", "PWM0", "PWM1", "PWM2", "PWM3", "PWM4", "PWM5", 58 - "PWM6", "PWM7", "RGMII1", "RGMII2", "RMII1", "RMII2", "RXD1", 59 - "RXD2", "RXD3", "RXD4", "SALT1", "SALT10", "SALT11", "SALT12", 60 - "SALT13", "SALT14", "SALT2", "SALT3", "SALT4", "SALT5", "SALT6", 61 - "SALT7", "SALT8", "SALT9", "SCL1", "SCL2", "SD1", "SD2", "SDA1", 62 - "SDA2", "SGPS1", "SGPS2", "SIOONCTRL", "SIOPBI", "SIOPBO", 63 - "SIOPWREQ", "SIOPWRGD", "SIOS3", "SIOS5", "SIOSCI", "SPI1", 64 - "SPI1CS1", "SPI1DEBUG", "SPI1PASSTHRU", "SPI2CK", "SPI2CS0", 65 - "SPI2CS1", "SPI2MISO", "SPI2MOSI", "TIMER3", "TIMER4", "TIMER5", 66 - "TIMER6", "TIMER7", "TIMER8", "TXD1", "TXD2", "TXD3", "TXD4", 67 - "UART6", "USB11BHID", "USB2AD", "USB2AH", "USB2BD", "USB2BH", 68 - "USBCKI", "VGABIOSROM", "VGAHS", "VGAVS", "VPI24", "VPO", 69 - "WDTRST1", "WDTRST2", ] 47 + - enum: [ ACPI, ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, 48 + ADC15, ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, 49 + DDCCLK, DDCDAT, ESPI, FWSPICS1, FWSPICS2, GPID0, GPID2, GPID4, 50 + GPID6, GPIE0, GPIE2, GPIE4, GPIE6, I2C10, I2C11, I2C12, I2C13, 51 + I2C14, I2C3, I2C4, I2C5, I2C6, I2C7, I2C8, I2C9, LAD0, LAD1, 52 + LAD2, LAD3, LCLK, LFRAME, LPCHC, LPCPD, LPCPLUS, LPCPME, LPCRST, 53 + LPCSMI, LSIRQ, MAC1LINK, MAC2LINK, MDIO1, MDIO2, NCTS1, NCTS2, 54 + NCTS3, NCTS4, NDCD1, NDCD2, NDCD3, NDCD4, NDSR1, NDSR2, NDSR3, 55 + NDSR4, NDTR1, NDTR2, NDTR3, NDTR4, NRI1, NRI2, NRI3, NRI4, NRTS1, 56 + NRTS2, NRTS3, NRTS4, OSCCLK, PEWAKE, PNOR, PWM0, PWM1, PWM2, 57 + PWM3, PWM4, PWM5, PWM6, PWM7, RGMII1, RGMII2, RMII1, RMII2, RXD1, 58 + RXD2, RXD3, RXD4, SALT1, SALT10, SALT11, SALT12, SALT13, SALT14, 59 + SALT2, SALT3, SALT4, SALT5, SALT6, SALT7, SALT8, SALT9, SCL1, 60 + SCL2, SD1, SD2, SDA1, SDA2, SGPS1, SGPS2, SIOONCTRL, SIOPBI, 61 + SIOPBO, SIOPWREQ, SIOPWRGD, SIOS3, SIOS5, SIOSCI, SPI1, SPI1CS1, 62 + SPI1DEBUG, SPI1PASSTHRU, SPI2CK, SPI2CS0, SPI2CS1, SPI2MISO, 63 + SPI2MOSI, TIMER3, TIMER4, TIMER5, TIMER6, TIMER7, TIMER8, TXD1, 64 + TXD2, TXD3, TXD4, UART6, USB11BHID, USB2AD, USB2AH, USB2BD, 65 + USB2BH, USBCKI, VGABIOSROM, VGAHS, VGAVS, VPI24, VPO, WDTRST1, 66 + WDTRST2, ] 70 67 71 68 required: 72 69 - compatible
+115
Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0+ 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/aspeed,ast2600-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ASPEED AST2600 Pin Controller 8 + 9 + maintainers: 10 + - Andrew Jeffery <andrew@aj.id.au> 11 + 12 + description: |+ 13 + The pin controller node should be the child of a syscon node with the 14 + required property: 15 + 16 + - compatible: Should be one of the following: 17 + "aspeed,ast2600-scu", "syscon", "simple-mfd" 18 + 19 + Refer to the the bindings described in 20 + Documentation/devicetree/bindings/mfd/syscon.txt 21 + 22 + properties: 23 + compatible: 24 + const: aspeed,ast2600-pinctrl 25 + 26 + patternProperties: 27 + '^.*$': 28 + if: 29 + type: object 30 + then: 31 + properties: 32 + function: 33 + allOf: 34 + - $ref: "/schemas/types.yaml#/definitions/string" 35 + - enum: [ ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15, 36 + ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, ESPI, 37 + ESPIALT, FSI1, FSI2, FWSPIABR, FWSPID, FWSPIWP, GPIT0, GPIT1, 38 + GPIT2, GPIT3, GPIT4, GPIT5, GPIT6, GPIT7, GPIU0, GPIU1, GPIU2, 39 + GPIU3, GPIU4, GPIU5, GPIU6, GPIU7, I2C1, I2C10, I2C11, I2C12, 40 + I2C13, I2C14, I2C15, I2C16, I2C2, I2C3, I2C4, I2C5, I2C6, I2C7, 41 + I2C8, I2C9, I3C3, I3C4, I3C5, I3C6, JTAGM, LHPD, LHSIRQ, LPC, 42 + LPCHC, LPCPD, LPCPME, LPCSMI, LSIRQ, MACLINK1, MACLINK2, 43 + MACLINK3, MACLINK4, MDIO1, MDIO2, MDIO3, MDIO4, NCTS1, NCTS2, 44 + NCTS3, NCTS4, NDCD1, NDCD2, NDCD3, NDCD4, NDSR1, NDSR2, NDSR3, 45 + NDSR4, NDTR1, NDTR2, NDTR3, NDTR4, NRI1, NRI2, NRI3, NRI4, NRTS1, 46 + NRTS2, NRTS3, NRTS4, OSCCLK, PEWAKE, PWM0, PWM1, PWM10, PWM11, 47 + PWM12, PWM13, PWM14, PWM15, PWM2, PWM3, PWM4, PWM5, PWM6, PWM7, 48 + PWM8, PWM9, RGMII1, RGMII2, RGMII3, RGMII4, RMII1, RMII2, RMII3, 49 + RMII4, RXD1, RXD2, RXD3, RXD4, SALT1, SALT10, SALT11, SALT12, 50 + SALT13, SALT14, SALT15, SALT16, SALT2, SALT3, SALT4, SALT5, 51 + SALT6, SALT7, SALT8, SALT9, SD1, SD2, SD3, SD3DAT4, SD3DAT5, 52 + SD3DAT6, SD3DAT7, SGPM1, SGPS1, SIOONCTRL, SIOPBI, SIOPBO, 53 + SIOPWREQ, SIOPWRGD, SIOS3, SIOS5, SIOSCI, SPI1, SPI1ABR, SPI1CS1, 54 + SPI1WP, SPI2, SPI2CS1, SPI2CS2, TACH0, TACH1, TACH10, TACH11, 55 + TACH12, TACH13, TACH14, TACH15, TACH2, TACH3, TACH4, TACH5, 56 + TACH6, TACH7, TACH8, TACH9, THRU0, THRU1, THRU2, THRU3, TXD1, 57 + TXD2, TXD3, TXD4, UART10, UART11, UART12, UART13, UART6, UART7, 58 + UART8, UART9, VB, VGAHS, VGAVS, WDTRST1, WDTRST2, WDTRST3, 59 + WDTRST4, ] 60 + groups: 61 + allOf: 62 + - $ref: "/schemas/types.yaml#/definitions/string" 63 + - enum: [ ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15, 64 + ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, ESPI, 65 + ESPIALT, FSI1, FSI2, FWSPIABR, FWSPID, FWQSPID, FWSPIWP, GPIT0, 66 + GPIT1, GPIT2, GPIT3, GPIT4, GPIT5, GPIT6, GPIT7, GPIU0, GPIU1, 67 + GPIU2, GPIU3, GPIU4, GPIU5, GPIU6, GPIU7, HVI3C3, HVI3C4, I2C1, 68 + I2C10, I2C11, I2C12, I2C13, I2C14, I2C15, I2C16, I2C2, I2C3, 69 + I2C4, I2C5, I2C6, I2C7, I2C8, I2C9, I3C3, I3C4, I3C5, I3C6, 70 + JTAGM, LHPD, LHSIRQ, LPC, LPCHC, LPCPD, LPCPME, LPCSMI, LSIRQ, 71 + MACLINK1, MACLINK2, MACLINK3, MACLINK4, MDIO1, MDIO2, MDIO3, 72 + MDIO4, NCTS1, NCTS2, NCTS3, NCTS4, NDCD1, NDCD2, NDCD3, NDCD4, 73 + NDSR1, NDSR2, NDSR3, NDSR4, NDTR1, NDTR2, NDTR3, NDTR4, NRI1, 74 + NRI2, NRI3, NRI4, NRTS1, NRTS2, NRTS3, NRTS4, OSCCLK, PEWAKE, 75 + PWM0, PWM1, PWM10G0, PWM10G1, PWM11G0, PWM11G1, PWM12G0, PWM12G1, 76 + PWM13G0, PWM13G1, PWM14G0, PWM14G1, PWM15G0, PWM15G1, PWM2, PWM3, 77 + PWM4, PWM5, PWM6, PWM7, PWM8G0, PWM8G1, PWM9G0, PWM9G1, QSPI1, 78 + QSPI2, RGMII1, RGMII2, RGMII3, RGMII4, RMII1, RMII2, RMII3, 79 + RMII4, RXD1, RXD2, RXD3, RXD4, SALT1, SALT10G0, SALT10G1, 80 + SALT11G0, SALT11G1, SALT12G0, SALT12G1, SALT13G0, SALT13G1, 81 + SALT14G0, SALT14G1, SALT15G0, SALT15G1, SALT16G0, SALT16G1, 82 + SALT2, SALT3, SALT4, SALT5, SALT6, SALT7, SALT8, SALT9G0, 83 + SALT9G1, SD1, SD2, SD3, SD3DAT4, SD3DAT5, SD3DAT6, SD3DAT7, 84 + SGPM1, SGPS1, SIOONCTRL, SIOPBI, SIOPBO, SIOPWREQ, SIOPWRGD, 85 + SIOS3, SIOS5, SIOSCI, SPI1, SPI1ABR, SPI1CS1, SPI1WP, SPI2, 86 + SPI2CS1, SPI2CS2, TACH0, TACH1, TACH10, TACH11, TACH12, TACH13, 87 + TACH14, TACH15, TACH2, TACH3, TACH4, TACH5, TACH6, TACH7, TACH8, 88 + TACH9, THRU0, THRU1, THRU2, THRU3, TXD1, TXD2, TXD3, TXD4, 89 + UART10, UART11, UART12G0, UART12G1, UART13G0, UART13G1, UART6, 90 + UART7, UART8, UART9, VB, VGAHS, VGAVS, WDTRST1, WDTRST2, WDTRST3, 91 + WDTRST4, ] 92 + 93 + required: 94 + - compatible 95 + 96 + examples: 97 + - | 98 + syscon: scu@1e6e2000 { 99 + compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd"; 100 + reg = <0x1e6e2000 0xf6c>; 101 + 102 + pinctrl: pinctrl { 103 + compatible = "aspeed,g6-pinctrl"; 104 + 105 + pinctrl_pwm10g1_default: pwm10g1_default { 106 + function = "PWM10"; 107 + groups = "PWM10G1"; 108 + }; 109 + 110 + pinctrl_gpioh0_unbiased_default: gpioh0 { 111 + pins = "A18"; 112 + bias-disable; 113 + }; 114 + }; 115 + };
+1
Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt
··· 8 8 - compatible: should be one of: 9 9 "brcm,bcm2835-gpio" - BCM2835 compatible pinctrl 10 10 "brcm,bcm7211-gpio" - BCM7211 compatible pinctrl 11 + "brcm,bcm2711-gpio" - BCM2711 compatible pinctrl 11 12 - reg: Should contain the physical address of the GPIO module's registers. 12 13 - gpio-controller: Marks the device node as a GPIO controller. 13 14 - #gpio-cells : Should be two. The first cell is the pin number and the
+12 -5
Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.txt
··· 1 - Ingenic jz47xx pin controller 1 + Ingenic XBurst pin controller 2 2 3 3 Please refer to pinctrl-bindings.txt in this directory for details of the 4 4 common pinctrl bindings used by client devices, including the meaning of the 5 5 phrase "pin configuration node". 6 6 7 - For the jz47xx SoCs, pin control is tightly bound with GPIO ports. All pins may 7 + For the XBurst SoCs, pin control is tightly bound with GPIO ports. All pins may 8 8 be used as GPIOs, multiplexed device functions are configured within the 9 9 GPIO port configuration registers and it is typical to refer to pins using the 10 10 naming scheme "PxN" where x is a character identifying the GPIO port with 11 11 which the pin is associated and N is an integer from 0 to 31 identifying the 12 12 pin within that GPIO port. For example PA0 is the first pin in GPIO port A, and 13 - PB31 is the last pin in GPIO port B. The jz4740 contains 4 GPIO ports, PA to 14 - PD, for a total of 128 pins. The jz4780 contains 6 GPIO ports, PA to PF, for a 15 - total of 192 pins. 13 + PB31 is the last pin in GPIO port B. The jz4740 and the x1000 contains 4 GPIO 14 + ports, PA to PD, for a total of 128 pins. The jz4760, the jz4770 and the jz4780 15 + contains 6 GPIO ports, PA to PF, for a total of 192 pins. 16 16 17 17 18 18 Required properties: ··· 21 21 - compatible: One of: 22 22 - "ingenic,jz4740-pinctrl" 23 23 - "ingenic,jz4725b-pinctrl" 24 + - "ingenic,jz4760-pinctrl" 25 + - "ingenic,jz4760b-pinctrl" 24 26 - "ingenic,jz4770-pinctrl" 25 27 - "ingenic,jz4780-pinctrl" 28 + - "ingenic,x1000-pinctrl" 29 + - "ingenic,x1000e-pinctrl" 30 + - "ingenic,x1500-pinctrl" 26 31 - reg: Address range of the pinctrl registers. 27 32 28 33 ··· 36 31 37 32 - compatible: Must contain one of: 38 33 - "ingenic,jz4740-gpio" 34 + - "ingenic,jz4760-gpio" 39 35 - "ingenic,jz4770-gpio" 40 36 - "ingenic,jz4780-gpio" 37 + - "ingenic,x1000-gpio" 41 38 - reg: The GPIO bank number. 42 39 - interrupt-controller: Marks the device node as an interrupt controller. 43 40 - interrupts: Interrupt specifier for the controllers interrupt.
+2 -3
Documentation/devicetree/bindings/pinctrl/qcom,msm8998-pinctrl.txt
··· 132 132 qlink_request, qua_mi2s, sd_card, sd_write, sdc40, sdc41, 133 133 sdc42, sdc43, sdc4_clk, sdc4_cmd, sec_mi2s, sp_cmu, 134 134 spkr_i2s, ssbi1, ssc_irq, ter_mi2s, tgu_ch0, tgu_ch1, 135 - tsense_pwm1, tsense_pwm2, tsif1_clk, tsif1_data, tsif1_en, 136 - tsif1_error, tsif1_sync, tsif2_clk, tsif2_data, tsif2_en, 137 - tsif2_error, tsif2_sync, uim1_clk, uim1_data, uim1_present, 135 + tsense_pwm1, tsense_pwm2, tsif0, tsif1, 136 + uim1_clk, uim1_data, uim1_present, 138 137 uim1_reset, uim2_clk, uim2_data, uim2_present, uim2_reset, 139 138 uim_batt, usb_phy, vfr_1, vsense_clkout, vsense_data0, 140 139 vsense_data1, vsense_mode, wlan1_adc0, wlan1_adc1,
+6
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
··· 21 21 "qcom,pmi8994-gpio" 22 22 "qcom,pmi8998-gpio" 23 23 "qcom,pms405-gpio" 24 + "qcom,pm8150-gpio" 25 + "qcom,pm8150b-gpio" 24 26 25 27 And must contain either "qcom,spmi-gpio" or "qcom,ssbi-gpio" 26 28 if the device is on an spmi bus or an ssbi bus respectively ··· 96 94 gpio1-gpio22 for pma8084 97 95 gpio1-gpio10 for pmi8994 98 96 gpio1-gpio12 for pms405 (holes on gpio1, gpio9 and gpio10) 97 + gpio1-gpio10 for pm8150 (holes on gpio2, gpio5, gpio7 98 + and gpio8) 99 + gpio1-gpio12 for pm8150b (holes on gpio3, gpio4, gpio7) 100 + gpio1-gpio12 for pm8150l (hole on gpio7) 99 101 100 102 - function: 101 103 Usage: required
+186
Documentation/devicetree/bindings/pinctrl/qcom,sc7180-pinctrl.txt
··· 1 + Qualcomm Technologies, Inc. SC7180 TLMM block 2 + 3 + This binding describes the Top Level Mode Multiplexer block found in the 4 + SC7180 platform. 5 + 6 + - compatible: 7 + Usage: required 8 + Value type: <string> 9 + Definition: must be "qcom,sc7180-pinctrl" 10 + 11 + - reg: 12 + Usage: required 13 + Value type: <prop-encoded-array> 14 + Definition: the base address and size of the north, south and west 15 + TLMM tiles 16 + 17 + - reg-names: 18 + Usage: required 19 + Value type: <prop-encoded-array> 20 + Definition: names for the cells of reg, must contain "north", "south" 21 + and "west". 22 + 23 + - interrupts: 24 + Usage: required 25 + Value type: <prop-encoded-array> 26 + Definition: should specify the TLMM summary IRQ. 27 + 28 + - interrupt-controller: 29 + Usage: required 30 + Value type: <none> 31 + Definition: identifies this node as an interrupt controller 32 + 33 + - #interrupt-cells: 34 + Usage: required 35 + Value type: <u32> 36 + Definition: must be 2. Specifying the pin number and flags, as defined 37 + in <dt-bindings/interrupt-controller/irq.h> 38 + 39 + - gpio-controller: 40 + Usage: required 41 + Value type: <none> 42 + Definition: identifies this node as a gpio controller 43 + 44 + - #gpio-cells: 45 + Usage: required 46 + Value type: <u32> 47 + Definition: must be 2. Specifying the pin number and flags, as defined 48 + in <dt-bindings/gpio/gpio.h> 49 + 50 + - gpio-ranges: 51 + Usage: required 52 + Value type: <prop-encoded-array> 53 + Definition: see ../gpio/gpio.txt 54 + 55 + - gpio-reserved-ranges: 56 + Usage: optional 57 + Value type: <prop-encoded-array> 58 + Definition: see ../gpio/gpio.txt 59 + 60 + Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for 61 + a general description of GPIO and interrupt bindings. 62 + 63 + Please refer to pinctrl-bindings.txt in this directory for details of the 64 + common pinctrl bindings used by client devices, including the meaning of the 65 + phrase "pin configuration node". 66 + 67 + The pin configuration nodes act as a container for an arbitrary number of 68 + subnodes. Each of these subnodes represents some desired configuration for a 69 + pin, a group, or a list of pins or groups. This configuration can include the 70 + mux function to select on those pin(s)/group(s), and various pin configuration 71 + parameters, such as pull-up, drive strength, etc. 72 + 73 + 74 + PIN CONFIGURATION NODES: 75 + 76 + The name of each subnode is not important; all subnodes should be enumerated 77 + and processed purely based on their content. 78 + 79 + Each subnode only affects those parameters that are explicitly listed. In 80 + other words, a subnode that lists a mux function but no pin configuration 81 + parameters implies no information about any pin configuration parameters. 82 + Similarly, a pin subnode that describes a pullup parameter implies no 83 + information about e.g. the mux function. 84 + 85 + 86 + The following generic properties as defined in pinctrl-bindings.txt are valid 87 + to specify in a pin configuration subnode: 88 + 89 + - pins: 90 + Usage: required 91 + Value type: <string-array> 92 + Definition: List of gpio pins affected by the properties specified in 93 + this subnode. 94 + 95 + Valid pins are: 96 + gpio0-gpio118 97 + Supports mux, bias and drive-strength 98 + 99 + sdc1_clk, sdc1_cmd, sdc1_data sdc2_clk, sdc2_cmd, 100 + sdc2_data sdc1_rclk 101 + Supports bias and drive-strength 102 + 103 + ufs_reset 104 + Supports bias and drive-strength 105 + 106 + - function: 107 + Usage: required 108 + Value type: <string> 109 + Definition: Specify the alternative function to be configured for the 110 + specified pins. Functions are only valid for gpio pins. 111 + Valid values are: 112 + 113 + adsp_ext, agera_pll, aoss_cti, atest_char, atest_char0, 114 + atest_char1, atest_char2, atest_char3, atest_tsens, 115 + atest_tsens2, atest_usb1, atest_usb10, atest_usb11, 116 + atest_usb12, atest_usb13, atest_usb2, atest_usb20, 117 + atest_usb21, atest_usb22, atest_usb23, audio_ref, 118 + btfm_slimbus, cam_mclk, cci_async, cci_i2c, cci_timer0, 119 + cci_timer1, cci_timer2, cci_timer3, cci_timer4, 120 + cri_trng, dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, 121 + ddr_pxi2, ddr_pxi3, dp_hot, edp_lcd, gcc_gp1, gcc_gp2, 122 + gcc_gp3, gpio, gp_pdm0, gp_pdm1, gp_pdm2, gps_tx, 123 + jitter_bist, ldo_en, ldo_update, lpass_ext, mdp_vsync, 124 + mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3, mi2s_0, 125 + mi2s_1, mi2s_2, mss_lte, m_voc, pa_indicator, phase_flag, 126 + PLL_BIST, pll_bypassnl, pll_reset, prng_rosc, qdss, 127 + qdss_cti, qlink_enable, qlink_request, qspi_clk, qspi_cs, 128 + qspi_data, qup00, qup01, qup02, qup03, qup04, qup05, 129 + qup10, qup11, qup12, qup13, qup14, qup15, sdc1_tb, 130 + sdc2_tb, sd_write, sp_cmu, tgu_ch0, tgu_ch1, tgu_ch2, 131 + tgu_ch3, tsense_pwm1, tsense_pwm2, uim1, uim2, uim_batt, 132 + usb_phy, vfr_1, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, 133 + vsense_trigger, wlan1_adc0, wlan1_adc1, wlan2_adc0, 134 + wlan2_adc1, 135 + 136 + - bias-disable: 137 + Usage: optional 138 + Value type: <none> 139 + Definition: The specified pins should be configured as no pull. 140 + 141 + - bias-pull-down: 142 + Usage: optional 143 + Value type: <none> 144 + Definition: The specified pins should be configured as pull down. 145 + 146 + - bias-pull-up: 147 + Usage: optional 148 + Value type: <none> 149 + Definition: The specified pins should be configured as pull up. 150 + 151 + - output-high: 152 + Usage: optional 153 + Value type: <none> 154 + Definition: The specified pins are configured in output mode, driven 155 + high. 156 + Not valid for sdc pins. 157 + 158 + - output-low: 159 + Usage: optional 160 + Value type: <none> 161 + Definition: The specified pins are configured in output mode, driven 162 + low. 163 + Not valid for sdc pins. 164 + 165 + - drive-strength: 166 + Usage: optional 167 + Value type: <u32> 168 + Definition: Selects the drive strength for the specified pins, in mA. 169 + Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16 170 + 171 + Example: 172 + 173 + tlmm: pinctrl@3500000 { 174 + compatible = "qcom,sc7180-pinctrl"; 175 + reg = <0x3500000 0x300000>, 176 + <0x3900000 0x300000>, 177 + <0x3D00000 0x300000>; 178 + reg-names = "west", "north", "south"; 179 + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 180 + gpio-controller; 181 + #gpio-cells = <2>; 182 + gpio-ranges = <&tlmm 0 0 119>; 183 + gpio-reserved-ranges = <0 4>, <106 4>; 184 + interrupt-controller; 185 + #interrupt-cells = <2>; 186 + };
+3 -3
Documentation/driver-api/pinctl.rst
··· 638 638 } 639 639 640 640 static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector, 641 - unsigned ** const pins, 642 - unsigned * const num_pins) 641 + const unsigned ** pins, 642 + unsigned * num_pins) 643 643 { 644 644 *pins = (unsigned *) foo_groups[selector].pins; 645 645 *num_pins = foo_groups[selector].num_pins; ··· 705 705 { 706 706 u8 regbit = (1 << selector + group); 707 707 708 - writeb((readb(MUX)|regbit), MUX) 708 + writeb((readb(MUX)|regbit), MUX); 709 709 return 0; 710 710 } 711 711
+2 -1
drivers/gpio/gpiolib.c
··· 1084 1084 test_bit(FLAG_IS_HOGGED, &desc->flags) || 1085 1085 test_bit(FLAG_USED_AS_IRQ, &desc->flags) || 1086 1086 test_bit(FLAG_EXPORT, &desc->flags) || 1087 - test_bit(FLAG_SYSFS, &desc->flags)) 1087 + test_bit(FLAG_SYSFS, &desc->flags) || 1088 + !pinctrl_gpio_can_use_line(chip->base + lineinfo.line_offset)) 1088 1089 lineinfo.flags |= GPIOLINE_FLAG_KERNEL; 1089 1090 if (test_bit(FLAG_IS_OUT, &desc->flags)) 1090 1091 lineinfo.flags |= GPIOLINE_FLAG_IS_OUT;
+8
drivers/pinctrl/aspeed/Kconfig
··· 23 23 help 24 24 Say Y here to enable pin controller support for Aspeed's 5th 25 25 generation SoCs. GPIO is provided by a separate GPIO driver. 26 + 27 + config PINCTRL_ASPEED_G6 28 + bool "Aspeed G6 SoC pin control" 29 + depends on (MACH_ASPEED_G6 || COMPILE_TEST) && OF 30 + select PINCTRL_ASPEED 31 + help 32 + Say Y here to enable pin controller support for Aspeed's 6th 33 + generation SoCs. GPIO is provided by a separate GPIO driver.
+1
drivers/pinctrl/aspeed/Makefile
··· 5 5 obj-$(CONFIG_PINCTRL_ASPEED) += pinctrl-aspeed.o pinmux-aspeed.o 6 6 obj-$(CONFIG_PINCTRL_ASPEED_G4) += pinctrl-aspeed-g4.o 7 7 obj-$(CONFIG_PINCTRL_ASPEED_G5) += pinctrl-aspeed-g5.o 8 + obj-$(CONFIG_PINCTRL_ASPEED_G6) += pinctrl-aspeed-g6.o
+979 -846
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
··· 21 21 #include "pinmux-aspeed.h" 22 22 #include "pinctrl-aspeed.h" 23 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 + 24 31 /* 25 32 * The "Multi-function Pins Mapping and Control" table in the SoC datasheet 26 33 * references registers by the device/offset mnemonic. The register macros ··· 87 80 #define I2C9_DESC SIG_DESC_SET(SCU90, 22) 88 81 89 82 #define C5 4 90 - SIG_EXPR_LIST_DECL_SINGLE(SCL9, I2C9, I2C9_DESC); 91 - SIG_EXPR_LIST_DECL_SINGLE(TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4)); 92 - MS_PIN_DECL(C5, GPIOA4, SCL9, TIMER5); 83 + SIG_EXPR_LIST_DECL_SINGLE(C5, SCL9, I2C9, I2C9_DESC); 84 + SIG_EXPR_LIST_DECL_SINGLE(C5, TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4)); 85 + PIN_DECL_2(C5, GPIOA4, SCL9, TIMER5); 93 86 94 87 FUNC_GROUP_DECL(TIMER5, C5); 95 88 96 89 #define B4 5 97 - SIG_EXPR_LIST_DECL_SINGLE(SDA9, I2C9, I2C9_DESC); 98 - SIG_EXPR_LIST_DECL_SINGLE(TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5)); 99 - MS_PIN_DECL(B4, GPIOA5, SDA9, TIMER6); 90 + SIG_EXPR_LIST_DECL_SINGLE(B4, SDA9, I2C9, I2C9_DESC); 91 + SIG_EXPR_LIST_DECL_SINGLE(B4, TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5)); 92 + PIN_DECL_2(B4, GPIOA5, SDA9, TIMER6); 100 93 101 94 FUNC_GROUP_DECL(TIMER6, B4); 102 95 FUNC_GROUP_DECL(I2C9, C5, B4); ··· 104 97 #define MDIO2_DESC SIG_DESC_SET(SCU90, 2) 105 98 106 99 #define A3 6 107 - SIG_EXPR_LIST_DECL_SINGLE(MDC2, MDIO2, MDIO2_DESC); 108 - SIG_EXPR_LIST_DECL_SINGLE(TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6)); 109 - MS_PIN_DECL(A3, GPIOA6, MDC2, TIMER7); 100 + SIG_EXPR_LIST_DECL_SINGLE(A3, MDC2, MDIO2, MDIO2_DESC); 101 + SIG_EXPR_LIST_DECL_SINGLE(A3, TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6)); 102 + PIN_DECL_2(A3, GPIOA6, MDC2, TIMER7); 110 103 111 104 FUNC_GROUP_DECL(TIMER7, A3); 112 105 113 106 #define D5 7 114 - SIG_EXPR_LIST_DECL_SINGLE(MDIO2, MDIO2, MDIO2_DESC); 115 - SIG_EXPR_LIST_DECL_SINGLE(TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7)); 116 - MS_PIN_DECL(D5, GPIOA7, MDIO2, TIMER8); 107 + SIG_EXPR_LIST_DECL_SINGLE(D5, MDIO2, MDIO2, MDIO2_DESC); 108 + SIG_EXPR_LIST_DECL_SINGLE(D5, TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7)); 109 + PIN_DECL_2(D5, GPIOA7, MDIO2, TIMER8); 117 110 118 111 FUNC_GROUP_DECL(TIMER8, D5); 119 112 FUNC_GROUP_DECL(MDIO2, A3, D5); ··· 131 124 SSSF_PIN_DECL(F18, GPIOB3, SALT4, SIG_DESC_SET(SCU80, 11)); 132 125 133 126 #define E19 12 134 - SIG_EXPR_DECL(LPCRST, LPCRST, SIG_DESC_SET(SCU80, 12)); 135 - SIG_EXPR_DECL(LPCRST, LPCRSTS, SIG_DESC_SET(HW_STRAP1, 14)); 136 - SIG_EXPR_LIST_DECL_DUAL(LPCRST, LPCRST, LPCRSTS); 137 - SS_PIN_DECL(E19, GPIOB4, LPCRST); 127 + SIG_EXPR_DECL_SINGLE(LPCRST, LPCRST, SIG_DESC_SET(SCU80, 12)); 128 + SIG_EXPR_DECL_SINGLE(LPCRST, LPCRSTS, SIG_DESC_SET(HW_STRAP1, 14)); 129 + SIG_EXPR_LIST_DECL_DUAL(E19, LPCRST, LPCRST, LPCRSTS); 130 + PIN_DECL_1(E19, GPIOB4, LPCRST); 138 131 139 132 FUNC_GROUP_DECL(LPCRST, E19); 140 133 141 134 #define H19 13 142 135 #define H19_DESC SIG_DESC_SET(SCU80, 13) 143 - SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC); 144 - SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC); 145 - MS_PIN_DECL(H19, GPIOB5, LPCPD, LPCSMI); 136 + SIG_EXPR_LIST_DECL_SINGLE(H19, LPCPD, LPCPD, H19_DESC); 137 + SIG_EXPR_LIST_DECL_SINGLE(H19, LPCSMI, LPCSMI, H19_DESC); 138 + PIN_DECL_2(H19, GPIOB5, LPCPD, LPCSMI); 146 139 147 140 FUNC_GROUP_DECL(LPCPD, H19); 148 141 FUNC_GROUP_DECL(LPCSMI, H19); ··· 151 144 SSSF_PIN_DECL(H20, GPIOB6, LPCPME, SIG_DESC_SET(SCU80, 14)); 152 145 153 146 #define E18 15 154 - SIG_EXPR_LIST_DECL_SINGLE(EXTRST, EXTRST, 147 + SIG_EXPR_LIST_DECL_SINGLE(E18, EXTRST, EXTRST, 155 148 SIG_DESC_SET(SCU80, 15), 156 149 SIG_DESC_BIT(SCU90, 31, 0), 157 150 SIG_DESC_SET(SCU3C, 3)); 158 - SIG_EXPR_LIST_DECL_SINGLE(SPICS1, SPICS1, 151 + SIG_EXPR_LIST_DECL_SINGLE(E18, SPICS1, SPICS1, 159 152 SIG_DESC_SET(SCU80, 15), 160 153 SIG_DESC_SET(SCU90, 31)); 161 - MS_PIN_DECL(E18, GPIOB7, EXTRST, SPICS1); 154 + PIN_DECL_2(E18, GPIOB7, EXTRST, SPICS1); 162 155 163 156 FUNC_GROUP_DECL(EXTRST, E18); 164 157 FUNC_GROUP_DECL(SPICS1, E18); ··· 167 160 #define I2C10_DESC SIG_DESC_SET(SCU90, 23) 168 161 169 162 #define C4 16 170 - SIG_EXPR_LIST_DECL_SINGLE(SD1CLK, SD1, SD1_DESC); 171 - SIG_EXPR_LIST_DECL_SINGLE(SCL10, I2C10, I2C10_DESC); 172 - MS_PIN_DECL(C4, GPIOC0, SD1CLK, SCL10); 163 + SIG_EXPR_LIST_DECL_SINGLE(C4, SD1CLK, SD1, SD1_DESC); 164 + SIG_EXPR_LIST_DECL_SINGLE(C4, SCL10, I2C10, I2C10_DESC); 165 + PIN_DECL_2(C4, GPIOC0, SD1CLK, SCL10); 173 166 174 167 #define B3 17 175 - SIG_EXPR_LIST_DECL_SINGLE(SD1CMD, SD1, SD1_DESC); 176 - SIG_EXPR_LIST_DECL_SINGLE(SDA10, I2C10, I2C10_DESC); 177 - MS_PIN_DECL(B3, GPIOC1, SD1CMD, SDA10); 168 + SIG_EXPR_LIST_DECL_SINGLE(B3, SD1CMD, SD1, SD1_DESC); 169 + SIG_EXPR_LIST_DECL_SINGLE(B3, SDA10, I2C10, I2C10_DESC); 170 + PIN_DECL_2(B3, GPIOC1, SD1CMD, SDA10); 178 171 179 172 FUNC_GROUP_DECL(I2C10, C4, B3); 180 173 181 174 #define I2C11_DESC SIG_DESC_SET(SCU90, 24) 182 175 183 176 #define A2 18 184 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT0, SD1, SD1_DESC); 185 - SIG_EXPR_LIST_DECL_SINGLE(SCL11, I2C11, I2C11_DESC); 186 - MS_PIN_DECL(A2, GPIOC2, SD1DAT0, SCL11); 177 + SIG_EXPR_LIST_DECL_SINGLE(A2, SD1DAT0, SD1, SD1_DESC); 178 + SIG_EXPR_LIST_DECL_SINGLE(A2, SCL11, I2C11, I2C11_DESC); 179 + PIN_DECL_2(A2, GPIOC2, SD1DAT0, SCL11); 187 180 188 181 #define E5 19 189 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT1, SD1, SD1_DESC); 190 - SIG_EXPR_LIST_DECL_SINGLE(SDA11, I2C11, I2C11_DESC); 191 - MS_PIN_DECL(E5, GPIOC3, SD1DAT1, SDA11); 182 + SIG_EXPR_LIST_DECL_SINGLE(E5, SD1DAT1, SD1, SD1_DESC); 183 + SIG_EXPR_LIST_DECL_SINGLE(E5, SDA11, I2C11, I2C11_DESC); 184 + PIN_DECL_2(E5, GPIOC3, SD1DAT1, SDA11); 192 185 193 186 FUNC_GROUP_DECL(I2C11, A2, E5); 194 187 195 188 #define I2C12_DESC SIG_DESC_SET(SCU90, 25) 196 189 197 190 #define D4 20 198 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT2, SD1, SD1_DESC); 199 - SIG_EXPR_LIST_DECL_SINGLE(SCL12, I2C12, I2C12_DESC); 200 - MS_PIN_DECL(D4, GPIOC4, SD1DAT2, SCL12); 191 + SIG_EXPR_LIST_DECL_SINGLE(D4, SD1DAT2, SD1, SD1_DESC); 192 + SIG_EXPR_LIST_DECL_SINGLE(D4, SCL12, I2C12, I2C12_DESC); 193 + PIN_DECL_2(D4, GPIOC4, SD1DAT2, SCL12); 201 194 202 195 #define C3 21 203 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT3, SD1, SD1_DESC); 204 - SIG_EXPR_LIST_DECL_SINGLE(SDA12, I2C12, I2C12_DESC); 205 - MS_PIN_DECL(C3, GPIOC5, SD1DAT3, SDA12); 196 + SIG_EXPR_LIST_DECL_SINGLE(C3, SD1DAT3, SD1, SD1_DESC); 197 + SIG_EXPR_LIST_DECL_SINGLE(C3, SDA12, I2C12, I2C12_DESC); 198 + PIN_DECL_2(C3, GPIOC5, SD1DAT3, SDA12); 206 199 207 200 FUNC_GROUP_DECL(I2C12, D4, C3); 208 201 209 202 #define I2C13_DESC SIG_DESC_SET(SCU90, 26) 210 203 211 204 #define B2 22 212 - SIG_EXPR_LIST_DECL_SINGLE(SD1CD, SD1, SD1_DESC); 213 - SIG_EXPR_LIST_DECL_SINGLE(SCL13, I2C13, I2C13_DESC); 214 - MS_PIN_DECL(B2, GPIOC6, SD1CD, SCL13); 205 + SIG_EXPR_LIST_DECL_SINGLE(B2, SD1CD, SD1, SD1_DESC); 206 + SIG_EXPR_LIST_DECL_SINGLE(B2, SCL13, I2C13, I2C13_DESC); 207 + PIN_DECL_2(B2, GPIOC6, SD1CD, SCL13); 215 208 216 209 #define A1 23 217 - SIG_EXPR_LIST_DECL_SINGLE(SD1WP, SD1, SD1_DESC); 218 - SIG_EXPR_LIST_DECL_SINGLE(SDA13, I2C13, I2C13_DESC); 219 - MS_PIN_DECL(A1, GPIOC7, SD1WP, SDA13); 210 + SIG_EXPR_LIST_DECL_SINGLE(A1, SD1WP, SD1, SD1_DESC); 211 + SIG_EXPR_LIST_DECL_SINGLE(A1, SDA13, I2C13, I2C13_DESC); 212 + PIN_DECL_2(A1, GPIOC7, SD1WP, SDA13); 220 213 221 214 FUNC_GROUP_DECL(I2C13, B2, A1); 222 215 FUNC_GROUP_DECL(SD1, C4, B3, A2, E5, D4, C3, B2, A1); ··· 226 219 #define GPID0_DESC SIG_DESC_SET(SCU8C, 8) 227 220 228 221 #define A18 24 229 - SIG_EXPR_LIST_DECL_SINGLE(SD2CLK, SD2, SD2_DESC); 230 - SIG_EXPR_DECL(GPID0IN, GPID0, GPID0_DESC); 231 - SIG_EXPR_DECL(GPID0IN, GPID, GPID_DESC); 232 - SIG_EXPR_LIST_DECL_DUAL(GPID0IN, GPID0, GPID); 233 - MS_PIN_DECL(A18, GPIOD0, SD2CLK, GPID0IN); 222 + SIG_EXPR_LIST_DECL_SINGLE(A18, SD2CLK, SD2, SD2_DESC); 223 + SIG_EXPR_DECL_SINGLE(GPID0IN, GPID0, GPID0_DESC); 224 + SIG_EXPR_DECL_SINGLE(GPID0IN, GPID, GPID_DESC); 225 + SIG_EXPR_LIST_DECL_DUAL(A18, GPID0IN, GPID0, GPID); 226 + PIN_DECL_2(A18, GPIOD0, SD2CLK, GPID0IN); 234 227 235 228 #define D16 25 236 - SIG_EXPR_LIST_DECL_SINGLE(SD2CMD, SD2, SD2_DESC); 237 - SIG_EXPR_DECL(GPID0OUT, GPID0, GPID0_DESC); 238 - SIG_EXPR_DECL(GPID0OUT, GPID, GPID_DESC); 239 - SIG_EXPR_LIST_DECL_DUAL(GPID0OUT, GPID0, GPID); 240 - MS_PIN_DECL(D16, GPIOD1, SD2CMD, GPID0OUT); 229 + SIG_EXPR_LIST_DECL_SINGLE(D16, SD2CMD, SD2, SD2_DESC); 230 + SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID0, GPID0_DESC); 231 + SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID, GPID_DESC); 232 + SIG_EXPR_LIST_DECL_DUAL(D16, GPID0OUT, GPID0, GPID); 233 + PIN_DECL_2(D16, GPIOD1, SD2CMD, GPID0OUT); 241 234 242 235 FUNC_GROUP_DECL(GPID0, A18, D16); 243 236 244 237 #define GPID2_DESC SIG_DESC_SET(SCU8C, 9) 245 238 246 239 #define B17 26 247 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT0, SD2, SD2_DESC); 248 - SIG_EXPR_DECL(GPID2IN, GPID2, GPID2_DESC); 249 - SIG_EXPR_DECL(GPID2IN, GPID, GPID_DESC); 250 - SIG_EXPR_LIST_DECL_DUAL(GPID2IN, GPID2, GPID); 251 - MS_PIN_DECL(B17, GPIOD2, SD2DAT0, GPID2IN); 240 + SIG_EXPR_LIST_DECL_SINGLE(B17, SD2DAT0, SD2, SD2_DESC); 241 + SIG_EXPR_DECL_SINGLE(GPID2IN, GPID2, GPID2_DESC); 242 + SIG_EXPR_DECL_SINGLE(GPID2IN, GPID, GPID_DESC); 243 + SIG_EXPR_LIST_DECL_DUAL(B17, GPID2IN, GPID2, GPID); 244 + PIN_DECL_2(B17, GPIOD2, SD2DAT0, GPID2IN); 252 245 253 246 #define A17 27 254 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT1, SD2, SD2_DESC); 255 - SIG_EXPR_DECL(GPID2OUT, GPID2, GPID2_DESC); 256 - SIG_EXPR_DECL(GPID2OUT, GPID, GPID_DESC); 257 - SIG_EXPR_LIST_DECL_DUAL(GPID2OUT, GPID2, GPID); 258 - MS_PIN_DECL(A17, GPIOD3, SD2DAT1, GPID2OUT); 247 + SIG_EXPR_LIST_DECL_SINGLE(A17, SD2DAT1, SD2, SD2_DESC); 248 + SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID2, GPID2_DESC); 249 + SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID, GPID_DESC); 250 + SIG_EXPR_LIST_DECL_DUAL(A17, GPID2OUT, GPID2, GPID); 251 + PIN_DECL_2(A17, GPIOD3, SD2DAT1, GPID2OUT); 259 252 260 253 FUNC_GROUP_DECL(GPID2, B17, A17); 261 254 262 255 #define GPID4_DESC SIG_DESC_SET(SCU8C, 10) 263 256 264 257 #define C16 28 265 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT2, SD2, SD2_DESC); 266 - SIG_EXPR_DECL(GPID4IN, GPID4, GPID4_DESC); 267 - SIG_EXPR_DECL(GPID4IN, GPID, GPID_DESC); 268 - SIG_EXPR_LIST_DECL_DUAL(GPID4IN, GPID4, GPID); 269 - MS_PIN_DECL(C16, GPIOD4, SD2DAT2, GPID4IN); 258 + SIG_EXPR_LIST_DECL_SINGLE(C16, SD2DAT2, SD2, SD2_DESC); 259 + SIG_EXPR_DECL_SINGLE(GPID4IN, GPID4, GPID4_DESC); 260 + SIG_EXPR_DECL_SINGLE(GPID4IN, GPID, GPID_DESC); 261 + SIG_EXPR_LIST_DECL_DUAL(C16, GPID4IN, GPID4, GPID); 262 + PIN_DECL_2(C16, GPIOD4, SD2DAT2, GPID4IN); 270 263 271 264 #define B16 29 272 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT3, SD2, SD2_DESC); 273 - SIG_EXPR_DECL(GPID4OUT, GPID4, GPID4_DESC); 274 - SIG_EXPR_DECL(GPID4OUT, GPID, GPID_DESC); 275 - SIG_EXPR_LIST_DECL_DUAL(GPID4OUT, GPID4, GPID); 276 - MS_PIN_DECL(B16, GPIOD5, SD2DAT3, GPID4OUT); 265 + SIG_EXPR_LIST_DECL_SINGLE(B16, SD2DAT3, SD2, SD2_DESC); 266 + SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID4, GPID4_DESC); 267 + SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID, GPID_DESC); 268 + SIG_EXPR_LIST_DECL_DUAL(B16, GPID4OUT, GPID4, GPID); 269 + PIN_DECL_2(B16, GPIOD5, SD2DAT3, GPID4OUT); 277 270 278 271 FUNC_GROUP_DECL(GPID4, C16, B16); 279 272 280 273 #define GPID6_DESC SIG_DESC_SET(SCU8C, 11) 281 274 282 275 #define A16 30 283 - SIG_EXPR_LIST_DECL_SINGLE(SD2CD, SD2, SD2_DESC); 284 - SIG_EXPR_DECL(GPID6IN, GPID6, GPID6_DESC); 285 - SIG_EXPR_DECL(GPID6IN, GPID, GPID_DESC); 286 - SIG_EXPR_LIST_DECL_DUAL(GPID6IN, GPID6, GPID); 287 - MS_PIN_DECL(A16, GPIOD6, SD2CD, GPID6IN); 276 + SIG_EXPR_LIST_DECL_SINGLE(A16, SD2CD, SD2, SD2_DESC); 277 + SIG_EXPR_DECL_SINGLE(GPID6IN, GPID6, GPID6_DESC); 278 + SIG_EXPR_DECL_SINGLE(GPID6IN, GPID, GPID_DESC); 279 + SIG_EXPR_LIST_DECL_DUAL(A16, GPID6IN, GPID6, GPID); 280 + PIN_DECL_2(A16, GPIOD6, SD2CD, GPID6IN); 288 281 289 282 #define E15 31 290 - SIG_EXPR_LIST_DECL_SINGLE(SD2WP, SD2, SD2_DESC); 291 - SIG_EXPR_DECL(GPID6OUT, GPID6, GPID6_DESC); 292 - SIG_EXPR_DECL(GPID6OUT, GPID, GPID_DESC); 293 - SIG_EXPR_LIST_DECL_DUAL(GPID6OUT, GPID6, GPID); 294 - MS_PIN_DECL(E15, GPIOD7, SD2WP, GPID6OUT); 283 + SIG_EXPR_LIST_DECL_SINGLE(E15, SD2WP, SD2, SD2_DESC); 284 + SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID6, GPID6_DESC); 285 + SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID, GPID_DESC); 286 + SIG_EXPR_LIST_DECL_DUAL(E15, GPID6OUT, GPID6, GPID); 287 + PIN_DECL_2(E15, GPIOD7, SD2WP, GPID6OUT); 295 288 296 289 FUNC_GROUP_DECL(GPID6, A16, E15); 297 290 FUNC_GROUP_DECL(SD2, A18, D16, B17, A17, C16, B16, A16, E15); ··· 304 297 #define GPIE6_DESC SIG_DESC_SET(SCU8C, 15) 305 298 306 299 #define D15 32 307 - SIG_EXPR_LIST_DECL_SINGLE(NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16)); 308 - SIG_EXPR_DECL(GPIE0IN, GPIE0, GPIE0_DESC); 309 - SIG_EXPR_DECL(GPIE0IN, GPIE, GPIE_DESC); 310 - SIG_EXPR_LIST_DECL_DUAL(GPIE0IN, GPIE0, GPIE); 311 - MS_PIN_DECL(D15, GPIOE0, NCTS3, GPIE0IN); 300 + SIG_EXPR_LIST_DECL_SINGLE(D15, NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16)); 301 + SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE0, GPIE0_DESC); 302 + SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE, GPIE_DESC); 303 + SIG_EXPR_LIST_DECL_DUAL(D15, GPIE0IN, GPIE0, GPIE); 304 + PIN_DECL_2(D15, GPIOE0, NCTS3, GPIE0IN); 312 305 313 306 FUNC_GROUP_DECL(NCTS3, D15); 314 307 315 308 #define C15 33 316 - SIG_EXPR_LIST_DECL_SINGLE(NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17)); 317 - SIG_EXPR_DECL(GPIE0OUT, GPIE0, GPIE0_DESC); 318 - SIG_EXPR_DECL(GPIE0OUT, GPIE, GPIE_DESC); 319 - SIG_EXPR_LIST_DECL_DUAL(GPIE0OUT, GPIE0, GPIE); 320 - MS_PIN_DECL(C15, GPIOE1, NDCD3, GPIE0OUT); 309 + SIG_EXPR_LIST_DECL_SINGLE(C15, NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17)); 310 + SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE0, GPIE0_DESC); 311 + SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE, GPIE_DESC); 312 + SIG_EXPR_LIST_DECL_DUAL(C15, GPIE0OUT, GPIE0, GPIE); 313 + PIN_DECL_2(C15, GPIOE1, NDCD3, GPIE0OUT); 321 314 322 315 FUNC_GROUP_DECL(NDCD3, C15); 323 316 FUNC_GROUP_DECL(GPIE0, D15, C15); 324 317 325 318 #define B15 34 326 - SIG_EXPR_LIST_DECL_SINGLE(NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18)); 327 - SIG_EXPR_DECL(GPIE2IN, GPIE2, GPIE2_DESC); 328 - SIG_EXPR_DECL(GPIE2IN, GPIE, GPIE_DESC); 329 - SIG_EXPR_LIST_DECL_DUAL(GPIE2IN, GPIE2, GPIE); 330 - MS_PIN_DECL(B15, GPIOE2, NDSR3, GPIE2IN); 319 + SIG_EXPR_LIST_DECL_SINGLE(B15, NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18)); 320 + SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE2, GPIE2_DESC); 321 + SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE, GPIE_DESC); 322 + SIG_EXPR_LIST_DECL_DUAL(B15, GPIE2IN, GPIE2, GPIE); 323 + PIN_DECL_2(B15, GPIOE2, NDSR3, GPIE2IN); 331 324 332 325 FUNC_GROUP_DECL(NDSR3, B15); 333 326 334 327 #define A15 35 335 - SIG_EXPR_LIST_DECL_SINGLE(NRI3, NRI3, SIG_DESC_SET(SCU80, 19)); 336 - SIG_EXPR_DECL(GPIE2OUT, GPIE2, GPIE2_DESC); 337 - SIG_EXPR_DECL(GPIE2OUT, GPIE, GPIE_DESC); 338 - SIG_EXPR_LIST_DECL_DUAL(GPIE2OUT, GPIE2, GPIE); 339 - MS_PIN_DECL(A15, GPIOE3, NRI3, GPIE2OUT); 328 + SIG_EXPR_LIST_DECL_SINGLE(A15, NRI3, NRI3, SIG_DESC_SET(SCU80, 19)); 329 + SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE2, GPIE2_DESC); 330 + SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE, GPIE_DESC); 331 + SIG_EXPR_LIST_DECL_DUAL(A15, GPIE2OUT, GPIE2, GPIE); 332 + PIN_DECL_2(A15, GPIOE3, NRI3, GPIE2OUT); 340 333 341 334 FUNC_GROUP_DECL(NRI3, A15); 342 335 FUNC_GROUP_DECL(GPIE2, B15, A15); 343 336 344 337 #define E14 36 345 - SIG_EXPR_LIST_DECL_SINGLE(NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20)); 346 - SIG_EXPR_DECL(GPIE4IN, GPIE4, GPIE4_DESC); 347 - SIG_EXPR_DECL(GPIE4IN, GPIE, GPIE_DESC); 348 - SIG_EXPR_LIST_DECL_DUAL(GPIE4IN, GPIE4, GPIE); 349 - MS_PIN_DECL(E14, GPIOE4, NDTR3, GPIE4IN); 338 + SIG_EXPR_LIST_DECL_SINGLE(E14, NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20)); 339 + SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE4, GPIE4_DESC); 340 + SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE, GPIE_DESC); 341 + SIG_EXPR_LIST_DECL_DUAL(E14, GPIE4IN, GPIE4, GPIE); 342 + PIN_DECL_2(E14, GPIOE4, NDTR3, GPIE4IN); 350 343 351 344 FUNC_GROUP_DECL(NDTR3, E14); 352 345 353 346 #define D14 37 354 - SIG_EXPR_LIST_DECL_SINGLE(NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21)); 355 - SIG_EXPR_DECL(GPIE4OUT, GPIE4, GPIE4_DESC); 356 - SIG_EXPR_DECL(GPIE4OUT, GPIE, GPIE_DESC); 357 - SIG_EXPR_LIST_DECL_DUAL(GPIE4OUT, GPIE4, GPIE); 358 - MS_PIN_DECL(D14, GPIOE5, NRTS3, GPIE4OUT); 347 + SIG_EXPR_LIST_DECL_SINGLE(D14, NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21)); 348 + SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE4, GPIE4_DESC); 349 + SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE, GPIE_DESC); 350 + SIG_EXPR_LIST_DECL_DUAL(D14, GPIE4OUT, GPIE4, GPIE); 351 + PIN_DECL_2(D14, GPIOE5, NRTS3, GPIE4OUT); 359 352 360 353 FUNC_GROUP_DECL(NRTS3, D14); 361 354 FUNC_GROUP_DECL(GPIE4, E14, D14); 362 355 363 356 #define C14 38 364 - SIG_EXPR_LIST_DECL_SINGLE(TXD3, TXD3, SIG_DESC_SET(SCU80, 22)); 365 - SIG_EXPR_DECL(GPIE6IN, GPIE6, GPIE6_DESC); 366 - SIG_EXPR_DECL(GPIE6IN, GPIE, GPIE_DESC); 367 - SIG_EXPR_LIST_DECL_DUAL(GPIE6IN, GPIE6, GPIE); 368 - MS_PIN_DECL(C14, GPIOE6, TXD3, GPIE6IN); 357 + SIG_EXPR_LIST_DECL_SINGLE(C14, TXD3, TXD3, SIG_DESC_SET(SCU80, 22)); 358 + SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE6, GPIE6_DESC); 359 + SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE, GPIE_DESC); 360 + SIG_EXPR_LIST_DECL_DUAL(C14, GPIE6IN, GPIE6, GPIE); 361 + PIN_DECL_2(C14, GPIOE6, TXD3, GPIE6IN); 369 362 370 363 FUNC_GROUP_DECL(TXD3, C14); 371 364 372 365 #define B14 39 373 - SIG_EXPR_LIST_DECL_SINGLE(RXD3, RXD3, SIG_DESC_SET(SCU80, 23)); 374 - SIG_EXPR_DECL(GPIE6OUT, GPIE6, GPIE6_DESC); 375 - SIG_EXPR_DECL(GPIE6OUT, GPIE, GPIE_DESC); 376 - SIG_EXPR_LIST_DECL_DUAL(GPIE6OUT, GPIE6, GPIE); 377 - MS_PIN_DECL(B14, GPIOE7, RXD3, GPIE6OUT); 366 + SIG_EXPR_LIST_DECL_SINGLE(B14, RXD3, RXD3, SIG_DESC_SET(SCU80, 23)); 367 + SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE6, GPIE6_DESC); 368 + SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE, GPIE_DESC); 369 + SIG_EXPR_LIST_DECL_DUAL(B14, GPIE6OUT, GPIE6, GPIE); 370 + PIN_DECL_2(B14, GPIOE7, RXD3, GPIE6OUT); 378 371 379 372 FUNC_GROUP_DECL(RXD3, B14); 380 373 FUNC_GROUP_DECL(GPIE6, C14, B14); ··· 385 378 #define ACPI_DESC SIG_DESC_BIT(HW_STRAP1, 19, 0) 386 379 387 380 #define B19 41 388 - SIG_EXPR_LIST_DECL_SINGLE(NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25)); 389 - SIG_EXPR_DECL(SIOPBI, SIOPBI, SIG_DESC_SET(SCUA4, 12)); 390 - SIG_EXPR_DECL(SIOPBI, ACPI, ACPI_DESC); 391 - SIG_EXPR_LIST_DECL_DUAL(SIOPBI, SIOPBI, ACPI); 392 - MS_PIN_DECL(B19, GPIOF1, NDCD4, SIOPBI); 381 + SIG_EXPR_LIST_DECL_SINGLE(B19, NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25)); 382 + SIG_EXPR_DECL_SINGLE(SIOPBI, SIOPBI, SIG_DESC_SET(SCUA4, 12)); 383 + SIG_EXPR_DECL_SINGLE(SIOPBI, ACPI, ACPI_DESC); 384 + SIG_EXPR_LIST_DECL_DUAL(B19, SIOPBI, SIOPBI, ACPI); 385 + PIN_DECL_2(B19, GPIOF1, NDCD4, SIOPBI); 393 386 FUNC_GROUP_DECL(NDCD4, B19); 394 387 FUNC_GROUP_DECL(SIOPBI, B19); 395 388 396 389 #define A20 42 397 - SIG_EXPR_LIST_DECL_SINGLE(NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26)); 398 - SIG_EXPR_DECL(SIOPWRGD, SIOPWRGD, SIG_DESC_SET(SCUA4, 12)); 399 - SIG_EXPR_DECL(SIOPWRGD, ACPI, ACPI_DESC); 400 - SIG_EXPR_LIST_DECL_DUAL(SIOPWRGD, SIOPWRGD, ACPI); 401 - MS_PIN_DECL(A20, GPIOF2, NDSR4, SIOPWRGD); 390 + SIG_EXPR_LIST_DECL_SINGLE(A20, NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26)); 391 + SIG_EXPR_DECL_SINGLE(SIOPWRGD, SIOPWRGD, SIG_DESC_SET(SCUA4, 12)); 392 + SIG_EXPR_DECL_SINGLE(SIOPWRGD, ACPI, ACPI_DESC); 393 + SIG_EXPR_LIST_DECL_DUAL(A20, SIOPWRGD, SIOPWRGD, ACPI); 394 + PIN_DECL_2(A20, GPIOF2, NDSR4, SIOPWRGD); 402 395 FUNC_GROUP_DECL(NDSR4, A20); 403 396 FUNC_GROUP_DECL(SIOPWRGD, A20); 404 397 405 398 #define D17 43 406 - SIG_EXPR_LIST_DECL_SINGLE(NRI4, NRI4, SIG_DESC_SET(SCU80, 27)); 407 - SIG_EXPR_DECL(SIOPBO, SIOPBO, SIG_DESC_SET(SCUA4, 14)); 408 - SIG_EXPR_DECL(SIOPBO, ACPI, ACPI_DESC); 409 - SIG_EXPR_LIST_DECL_DUAL(SIOPBO, SIOPBO, ACPI); 410 - MS_PIN_DECL(D17, GPIOF3, NRI4, SIOPBO); 399 + SIG_EXPR_LIST_DECL_SINGLE(D17, NRI4, NRI4, SIG_DESC_SET(SCU80, 27)); 400 + SIG_EXPR_DECL_SINGLE(SIOPBO, SIOPBO, SIG_DESC_SET(SCUA4, 14)); 401 + SIG_EXPR_DECL_SINGLE(SIOPBO, ACPI, ACPI_DESC); 402 + SIG_EXPR_LIST_DECL_DUAL(D17, SIOPBO, SIOPBO, ACPI); 403 + PIN_DECL_2(D17, GPIOF3, NRI4, SIOPBO); 411 404 FUNC_GROUP_DECL(NRI4, D17); 412 405 FUNC_GROUP_DECL(SIOPBO, D17); 413 406 ··· 415 408 SSSF_PIN_DECL(B18, GPIOF4, NDTR4, SIG_DESC_SET(SCU80, 28)); 416 409 417 410 #define A19 45 418 - SIG_EXPR_LIST_DECL_SINGLE(NDTS4, NDTS4, SIG_DESC_SET(SCU80, 29)); 419 - SIG_EXPR_DECL(SIOSCI, SIOSCI, SIG_DESC_SET(SCUA4, 15)); 420 - SIG_EXPR_DECL(SIOSCI, ACPI, ACPI_DESC); 421 - SIG_EXPR_LIST_DECL_DUAL(SIOSCI, SIOSCI, ACPI); 422 - MS_PIN_DECL(A19, GPIOF5, NDTS4, SIOSCI); 411 + SIG_EXPR_LIST_DECL_SINGLE(A19, NDTS4, NDTS4, SIG_DESC_SET(SCU80, 29)); 412 + SIG_EXPR_DECL_SINGLE(SIOSCI, SIOSCI, SIG_DESC_SET(SCUA4, 15)); 413 + SIG_EXPR_DECL_SINGLE(SIOSCI, ACPI, ACPI_DESC); 414 + SIG_EXPR_LIST_DECL_DUAL(A19, SIOSCI, SIOSCI, ACPI); 415 + PIN_DECL_2(A19, GPIOF5, NDTS4, SIOSCI); 423 416 FUNC_GROUP_DECL(NDTS4, A19); 424 417 FUNC_GROUP_DECL(SIOSCI, A19); 425 418 ··· 442 435 SSSF_PIN_DECL(C13, GPIOG3, SGPSI1, SIG_DESC_SET(SCU84, 3)); 443 436 444 437 #define B13 52 445 - SIG_EXPR_LIST_DECL_SINGLE(OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1)); 446 - SIG_EXPR_LIST_DECL_SINGLE(WDTRST1, WDTRST1, SIG_DESC_SET(SCU84, 4)); 447 - MS_PIN_DECL(B13, GPIOG4, OSCCLK, WDTRST1); 438 + SIG_EXPR_LIST_DECL_SINGLE(B13, OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1)); 439 + SIG_EXPR_LIST_DECL_SINGLE(B13, WDTRST1, WDTRST1, SIG_DESC_SET(SCU84, 4)); 440 + PIN_DECL_2(B13, GPIOG4, OSCCLK, WDTRST1); 448 441 449 442 FUNC_GROUP_DECL(OSCCLK, B13); 450 443 FUNC_GROUP_DECL(WDTRST1, B13); 451 444 452 445 #define Y21 53 453 - SIG_EXPR_LIST_DECL_SINGLE(USBCKI, USBCKI, SIG_DESC_SET(HW_STRAP1, 23)); 454 - SIG_EXPR_LIST_DECL_SINGLE(WDTRST2, WDTRST2, SIG_DESC_SET(SCU84, 5)); 455 - MS_PIN_DECL(Y21, GPIOG5, USBCKI, WDTRST2); 446 + SIG_EXPR_LIST_DECL_SINGLE(Y21, USBCKI, USBCKI, SIG_DESC_SET(HW_STRAP1, 23)); 447 + SIG_EXPR_LIST_DECL_SINGLE(Y21, WDTRST2, WDTRST2, SIG_DESC_SET(SCU84, 5)); 448 + PIN_DECL_2(Y21, GPIOG5, USBCKI, WDTRST2); 456 449 457 450 FUNC_GROUP_DECL(USBCKI, Y21); 458 451 FUNC_GROUP_DECL(WDTRST2, Y21); ··· 469 462 #define BOOT_SRC_NOR { ASPEED_IP_SCU, HW_STRAP1, GENMASK(1, 0), 0, 0 } 470 463 471 464 #define A8 56 472 - SIG_EXPR_DECL(ROMD8, ROM16, ROM16_DESC); 473 - SIG_EXPR_DECL(ROMD8, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 474 - SIG_EXPR_LIST_DECL_DUAL(ROMD8, ROM16, ROM16S); 475 - SIG_EXPR_LIST_DECL_SINGLE(NCTS6, NCTS6, UART6_DESC); 476 - MS_PIN_DECL(A8, GPIOH0, ROMD8, NCTS6); 465 + SIG_EXPR_DECL_SINGLE(ROMD8, ROM16, ROM16_DESC); 466 + SIG_EXPR_DECL_SINGLE(ROMD8, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 467 + SIG_EXPR_LIST_DECL_DUAL(A8, ROMD8, ROM16, ROM16S); 468 + SIG_EXPR_LIST_DECL_SINGLE(A8, NCTS6, NCTS6, UART6_DESC); 469 + PIN_DECL_2(A8, GPIOH0, ROMD8, NCTS6); 477 470 478 471 #define C7 57 479 - SIG_EXPR_DECL(ROMD9, ROM16, ROM16_DESC); 480 - SIG_EXPR_DECL(ROMD9, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 481 - SIG_EXPR_LIST_DECL_DUAL(ROMD9, ROM16, ROM16S); 482 - SIG_EXPR_LIST_DECL_SINGLE(NDCD6, NDCD6, UART6_DESC); 483 - MS_PIN_DECL(C7, GPIOH1, ROMD9, NDCD6); 472 + SIG_EXPR_DECL_SINGLE(ROMD9, ROM16, ROM16_DESC); 473 + SIG_EXPR_DECL_SINGLE(ROMD9, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 474 + SIG_EXPR_LIST_DECL_DUAL(C7, ROMD9, ROM16, ROM16S); 475 + SIG_EXPR_LIST_DECL_SINGLE(C7, NDCD6, NDCD6, UART6_DESC); 476 + PIN_DECL_2(C7, GPIOH1, ROMD9, NDCD6); 484 477 485 478 #define B7 58 486 - SIG_EXPR_DECL(ROMD10, ROM16, ROM16_DESC); 487 - SIG_EXPR_DECL(ROMD10, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 488 - SIG_EXPR_LIST_DECL_DUAL(ROMD10, ROM16, ROM16S); 489 - SIG_EXPR_LIST_DECL_SINGLE(NDSR6, NDSR6, UART6_DESC); 490 - MS_PIN_DECL(B7, GPIOH2, ROMD10, NDSR6); 479 + SIG_EXPR_DECL_SINGLE(ROMD10, ROM16, ROM16_DESC); 480 + SIG_EXPR_DECL_SINGLE(ROMD10, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 481 + SIG_EXPR_LIST_DECL_DUAL(B7, ROMD10, ROM16, ROM16S); 482 + SIG_EXPR_LIST_DECL_SINGLE(B7, NDSR6, NDSR6, UART6_DESC); 483 + PIN_DECL_2(B7, GPIOH2, ROMD10, NDSR6); 491 484 492 485 #define A7 59 493 - SIG_EXPR_DECL(ROMD11, ROM16, ROM16_DESC); 494 - SIG_EXPR_DECL(ROMD11, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 495 - SIG_EXPR_LIST_DECL_DUAL(ROMD11, ROM16, ROM16S); 496 - SIG_EXPR_LIST_DECL_SINGLE(NRI6, NRI6, UART6_DESC); 497 - MS_PIN_DECL(A7, GPIOH3, ROMD11, NRI6); 486 + SIG_EXPR_DECL_SINGLE(ROMD11, ROM16, ROM16_DESC); 487 + SIG_EXPR_DECL_SINGLE(ROMD11, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 488 + SIG_EXPR_LIST_DECL_DUAL(A7, ROMD11, ROM16, ROM16S); 489 + SIG_EXPR_LIST_DECL_SINGLE(A7, NRI6, NRI6, UART6_DESC); 490 + PIN_DECL_2(A7, GPIOH3, ROMD11, NRI6); 498 491 499 492 #define D7 60 500 - SIG_EXPR_DECL(ROMD12, ROM16, ROM16_DESC); 501 - SIG_EXPR_DECL(ROMD12, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 502 - SIG_EXPR_LIST_DECL_DUAL(ROMD12, ROM16, ROM16S); 503 - SIG_EXPR_LIST_DECL_SINGLE(NDTR6, NDTR6, UART6_DESC); 504 - MS_PIN_DECL(D7, GPIOH4, ROMD12, NDTR6); 493 + SIG_EXPR_DECL_SINGLE(ROMD12, ROM16, ROM16_DESC); 494 + SIG_EXPR_DECL_SINGLE(ROMD12, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 495 + SIG_EXPR_LIST_DECL_DUAL(D7, ROMD12, ROM16, ROM16S); 496 + SIG_EXPR_LIST_DECL_SINGLE(D7, NDTR6, NDTR6, UART6_DESC); 497 + PIN_DECL_2(D7, GPIOH4, ROMD12, NDTR6); 505 498 506 499 #define B6 61 507 - SIG_EXPR_DECL(ROMD13, ROM16, ROM16_DESC); 508 - SIG_EXPR_DECL(ROMD13, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 509 - SIG_EXPR_LIST_DECL_DUAL(ROMD13, ROM16, ROM16S); 510 - SIG_EXPR_LIST_DECL_SINGLE(NRTS6, NRTS6, UART6_DESC); 511 - MS_PIN_DECL(B6, GPIOH5, ROMD13, NRTS6); 500 + SIG_EXPR_DECL_SINGLE(ROMD13, ROM16, ROM16_DESC); 501 + SIG_EXPR_DECL_SINGLE(ROMD13, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 502 + SIG_EXPR_LIST_DECL_DUAL(B6, ROMD13, ROM16, ROM16S); 503 + SIG_EXPR_LIST_DECL_SINGLE(B6, NRTS6, NRTS6, UART6_DESC); 504 + PIN_DECL_2(B6, GPIOH5, ROMD13, NRTS6); 512 505 513 506 #define A6 62 514 - SIG_EXPR_DECL(ROMD14, ROM16, ROM16_DESC); 515 - SIG_EXPR_DECL(ROMD14, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 516 - SIG_EXPR_LIST_DECL_DUAL(ROMD14, ROM16, ROM16S); 517 - SIG_EXPR_LIST_DECL_SINGLE(TXD6, TXD6, UART6_DESC); 518 - MS_PIN_DECL(A6, GPIOH6, ROMD14, TXD6); 507 + SIG_EXPR_DECL_SINGLE(ROMD14, ROM16, ROM16_DESC); 508 + SIG_EXPR_DECL_SINGLE(ROMD14, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 509 + SIG_EXPR_LIST_DECL_DUAL(A6, ROMD14, ROM16, ROM16S); 510 + SIG_EXPR_LIST_DECL_SINGLE(A6, TXD6, TXD6, UART6_DESC); 511 + PIN_DECL_2(A6, GPIOH6, ROMD14, TXD6); 519 512 520 513 #define E7 63 521 - SIG_EXPR_DECL(ROMD15, ROM16, ROM16_DESC); 522 - SIG_EXPR_DECL(ROMD15, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 523 - SIG_EXPR_LIST_DECL_DUAL(ROMD15, ROM16, ROM16S); 524 - SIG_EXPR_LIST_DECL_SINGLE(RXD6, RXD6, UART6_DESC); 525 - MS_PIN_DECL(E7, GPIOH7, ROMD15, RXD6); 514 + SIG_EXPR_DECL_SINGLE(ROMD15, ROM16, ROM16_DESC); 515 + SIG_EXPR_DECL_SINGLE(ROMD15, ROM16S, FLASH_WIDE, BOOT_SRC_NOR); 516 + SIG_EXPR_LIST_DECL_DUAL(E7, ROMD15, ROM16, ROM16S); 517 + SIG_EXPR_LIST_DECL_SINGLE(E7, RXD6, RXD6, UART6_DESC); 518 + PIN_DECL_2(E7, GPIOH7, ROMD15, RXD6); 526 519 527 520 FUNC_GROUP_DECL(UART6, A8, C7, B7, A7, D7, B6, A6, E7); 528 521 ··· 534 527 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 } 535 528 536 529 #define C22 64 537 - SIG_EXPR_DECL(SYSCS, SPI1DEBUG, SPI1DEBUG_DESC); 538 - SIG_EXPR_DECL(SYSCS, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 539 - SIG_EXPR_LIST_DECL_DUAL(SYSCS, SPI1DEBUG, SPI1PASSTHRU); 540 - SS_PIN_DECL(C22, GPIOI0, SYSCS); 530 + SIG_EXPR_DECL_SINGLE(SYSCS, SPI1DEBUG, SPI1DEBUG_DESC); 531 + SIG_EXPR_DECL_SINGLE(SYSCS, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 532 + SIG_EXPR_LIST_DECL_DUAL(C22, SYSCS, SPI1DEBUG, SPI1PASSTHRU); 533 + PIN_DECL_1(C22, GPIOI0, SYSCS); 541 534 542 535 #define G18 65 543 - SIG_EXPR_DECL(SYSCK, SPI1DEBUG, SPI1DEBUG_DESC); 544 - SIG_EXPR_DECL(SYSCK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 545 - SIG_EXPR_LIST_DECL_DUAL(SYSCK, SPI1DEBUG, SPI1PASSTHRU); 546 - SS_PIN_DECL(G18, GPIOI1, SYSCK); 536 + SIG_EXPR_DECL_SINGLE(SYSCK, SPI1DEBUG, SPI1DEBUG_DESC); 537 + SIG_EXPR_DECL_SINGLE(SYSCK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 538 + SIG_EXPR_LIST_DECL_DUAL(G18, SYSCK, SPI1DEBUG, SPI1PASSTHRU); 539 + PIN_DECL_1(G18, GPIOI1, SYSCK); 547 540 548 541 #define D19 66 549 - SIG_EXPR_DECL(SYSDO, SPI1DEBUG, SPI1DEBUG_DESC); 550 - SIG_EXPR_DECL(SYSDO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 551 - SIG_EXPR_LIST_DECL_DUAL(SYSDO, SPI1DEBUG, SPI1PASSTHRU); 552 - SS_PIN_DECL(D19, GPIOI2, SYSDO); 542 + SIG_EXPR_DECL_SINGLE(SYSDO, SPI1DEBUG, SPI1DEBUG_DESC); 543 + SIG_EXPR_DECL_SINGLE(SYSDO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 544 + SIG_EXPR_LIST_DECL_DUAL(D19, SYSDO, SPI1DEBUG, SPI1PASSTHRU); 545 + PIN_DECL_1(D19, GPIOI2, SYSDO); 553 546 554 547 #define C20 67 555 - SIG_EXPR_DECL(SYSDI, SPI1DEBUG, SPI1DEBUG_DESC); 556 - SIG_EXPR_DECL(SYSDI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 557 - SIG_EXPR_LIST_DECL_DUAL(SYSDI, SPI1DEBUG, SPI1PASSTHRU); 558 - SS_PIN_DECL(C20, GPIOI3, SYSDI); 548 + SIG_EXPR_DECL_SINGLE(SYSDI, SPI1DEBUG, SPI1DEBUG_DESC); 549 + SIG_EXPR_DECL_SINGLE(SYSDI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 550 + SIG_EXPR_LIST_DECL_DUAL(C20, SYSDI, SPI1DEBUG, SPI1PASSTHRU); 551 + PIN_DECL_1(C20, GPIOI3, SYSDI); 559 552 560 553 #define VB_DESC SIG_DESC_SET(HW_STRAP1, 5) 561 554 562 555 #define B22 68 563 - SIG_EXPR_DECL(SPI1CS0, SPI1, SPI1_DESC); 564 - SIG_EXPR_DECL(SPI1CS0, SPI1DEBUG, SPI1DEBUG_DESC); 565 - SIG_EXPR_DECL(SPI1CS0, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 566 - SIG_EXPR_LIST_DECL(SPI1CS0, SIG_EXPR_PTR(SPI1CS0, SPI1), 556 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1, SPI1_DESC); 557 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1DEBUG, SPI1DEBUG_DESC); 558 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 559 + SIG_EXPR_LIST_DECL(SPI1CS0, SPI1, 560 + SIG_EXPR_PTR(SPI1CS0, SPI1), 567 561 SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG), 568 562 SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU)); 569 - SIG_EXPR_LIST_DECL_SINGLE(VBCS, VGABIOS_ROM, VB_DESC); 570 - MS_PIN_DECL(B22, GPIOI4, SPI1CS0, VBCS); 563 + SIG_EXPR_LIST_ALIAS(B22, SPI1CS0, SPI1); 564 + SIG_EXPR_LIST_DECL_SINGLE(B22, VBCS, VGABIOS_ROM, VB_DESC); 565 + PIN_DECL_2(B22, GPIOI4, SPI1CS0, VBCS); 571 566 572 567 #define G19 69 573 - SIG_EXPR_DECL(SPI1CK, SPI1, SPI1_DESC); 574 - SIG_EXPR_DECL(SPI1CK, SPI1DEBUG, SPI1DEBUG_DESC); 575 - SIG_EXPR_DECL(SPI1CK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 576 - SIG_EXPR_LIST_DECL(SPI1CK, SIG_EXPR_PTR(SPI1CK, SPI1), 568 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1, SPI1_DESC); 569 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1DEBUG, SPI1DEBUG_DESC); 570 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 571 + SIG_EXPR_LIST_DECL(SPI1CK, SPI1, 572 + SIG_EXPR_PTR(SPI1CK, SPI1), 577 573 SIG_EXPR_PTR(SPI1CK, SPI1DEBUG), 578 574 SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU)); 579 - SIG_EXPR_LIST_DECL_SINGLE(VBCK, VGABIOS_ROM, VB_DESC); 580 - MS_PIN_DECL(G19, GPIOI5, SPI1CK, VBCK); 575 + SIG_EXPR_LIST_ALIAS(G19, SPI1CK, SPI1); 576 + SIG_EXPR_LIST_DECL_SINGLE(G19, VBCK, VGABIOS_ROM, VB_DESC); 577 + PIN_DECL_2(G19, GPIOI5, SPI1CK, VBCK); 581 578 582 579 #define C18 70 583 - SIG_EXPR_DECL(SPI1DO, SPI1, SPI1_DESC); 584 - SIG_EXPR_DECL(SPI1DO, SPI1DEBUG, SPI1DEBUG_DESC); 585 - SIG_EXPR_DECL(SPI1DO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 586 - SIG_EXPR_LIST_DECL(SPI1DO, SIG_EXPR_PTR(SPI1DO, SPI1), 580 + SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1, SPI1_DESC); 581 + SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1DEBUG, SPI1DEBUG_DESC); 582 + SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 583 + SIG_EXPR_LIST_DECL(SPI1DO, SPI1, 584 + SIG_EXPR_PTR(SPI1DO, SPI1), 587 585 SIG_EXPR_PTR(SPI1DO, SPI1DEBUG), 588 586 SIG_EXPR_PTR(SPI1DO, SPI1PASSTHRU)); 589 - SIG_EXPR_LIST_DECL_SINGLE(VBDO, VGABIOS_ROM, VB_DESC); 590 - MS_PIN_DECL(C18, GPIOI6, SPI1DO, VBDO); 587 + SIG_EXPR_LIST_ALIAS(C18, SPI1DO, SPI1); 588 + SIG_EXPR_LIST_DECL_SINGLE(C18, VBDO, VGABIOS_ROM, VB_DESC); 589 + PIN_DECL_2(C18, GPIOI6, SPI1DO, VBDO); 591 590 592 591 #define E20 71 593 - SIG_EXPR_DECL(SPI1DI, SPI1, SPI1_DESC); 594 - SIG_EXPR_DECL(SPI1DI, SPI1DEBUG, SPI1DEBUG_DESC); 595 - SIG_EXPR_DECL(SPI1DI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 596 - SIG_EXPR_LIST_DECL(SPI1DI, SIG_EXPR_PTR(SPI1DI, SPI1), 592 + SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1, SPI1_DESC); 593 + SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1DEBUG, SPI1DEBUG_DESC); 594 + SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1PASSTHRU, SPI1PASSTHRU_DESC); 595 + SIG_EXPR_LIST_DECL(SPI1DI, SPI1, 596 + SIG_EXPR_PTR(SPI1DI, SPI1), 597 597 SIG_EXPR_PTR(SPI1DI, SPI1DEBUG), 598 598 SIG_EXPR_PTR(SPI1DI, SPI1PASSTHRU)); 599 - SIG_EXPR_LIST_DECL_SINGLE(VBDI, VGABIOS_ROM, VB_DESC); 600 - MS_PIN_DECL(E20, GPIOI7, SPI1DI, VBDI); 599 + SIG_EXPR_LIST_ALIAS(E20, SPI1DI, SPI1); 600 + SIG_EXPR_LIST_DECL_SINGLE(E20, VBDI, VGABIOS_ROM, VB_DESC); 601 + PIN_DECL_2(E20, GPIOI7, SPI1DI, VBDI); 601 602 602 603 FUNC_GROUP_DECL(SPI1, B22, G19, C18, E20); 603 604 FUNC_GROUP_DECL(SPI1DEBUG, C22, G18, D19, C20, B22, G19, C18, E20); ··· 639 624 #define I2C5_DESC SIG_DESC_SET(SCU90, 18) 640 625 641 626 #define E3 80 642 - SIG_EXPR_LIST_DECL_SINGLE(SCL5, I2C5, I2C5_DESC); 643 - SS_PIN_DECL(E3, GPIOK0, SCL5); 627 + SIG_EXPR_LIST_DECL_SINGLE(E3, SCL5, I2C5, I2C5_DESC); 628 + PIN_DECL_1(E3, GPIOK0, SCL5); 644 629 645 630 #define D2 81 646 - SIG_EXPR_LIST_DECL_SINGLE(SDA5, I2C5, I2C5_DESC); 647 - SS_PIN_DECL(D2, GPIOK1, SDA5); 631 + SIG_EXPR_LIST_DECL_SINGLE(D2, SDA5, I2C5, I2C5_DESC); 632 + PIN_DECL_1(D2, GPIOK1, SDA5); 648 633 649 634 FUNC_GROUP_DECL(I2C5, E3, D2); 650 635 651 636 #define I2C6_DESC SIG_DESC_SET(SCU90, 19) 652 637 653 638 #define C1 82 654 - SIG_EXPR_LIST_DECL_SINGLE(SCL6, I2C6, I2C6_DESC); 655 - SS_PIN_DECL(C1, GPIOK2, SCL6); 639 + SIG_EXPR_LIST_DECL_SINGLE(C1, SCL6, I2C6, I2C6_DESC); 640 + PIN_DECL_1(C1, GPIOK2, SCL6); 656 641 657 642 #define F4 83 658 - SIG_EXPR_LIST_DECL_SINGLE(SDA6, I2C6, I2C6_DESC); 659 - SS_PIN_DECL(F4, GPIOK3, SDA6); 643 + SIG_EXPR_LIST_DECL_SINGLE(F4, SDA6, I2C6, I2C6_DESC); 644 + PIN_DECL_1(F4, GPIOK3, SDA6); 660 645 661 646 FUNC_GROUP_DECL(I2C6, C1, F4); 662 647 663 648 #define I2C7_DESC SIG_DESC_SET(SCU90, 20) 664 649 665 650 #define E2 84 666 - SIG_EXPR_LIST_DECL_SINGLE(SCL7, I2C7, I2C7_DESC); 667 - SS_PIN_DECL(E2, GPIOK4, SCL7); 651 + SIG_EXPR_LIST_DECL_SINGLE(E2, SCL7, I2C7, I2C7_DESC); 652 + PIN_DECL_1(E2, GPIOK4, SCL7); 668 653 669 654 #define D1 85 670 - SIG_EXPR_LIST_DECL_SINGLE(SDA7, I2C7, I2C7_DESC); 671 - SS_PIN_DECL(D1, GPIOK5, SDA7); 655 + SIG_EXPR_LIST_DECL_SINGLE(D1, SDA7, I2C7, I2C7_DESC); 656 + PIN_DECL_1(D1, GPIOK5, SDA7); 672 657 673 658 FUNC_GROUP_DECL(I2C7, E2, D1); 674 659 675 660 #define I2C8_DESC SIG_DESC_SET(SCU90, 21) 676 661 677 662 #define G5 86 678 - SIG_EXPR_LIST_DECL_SINGLE(SCL8, I2C8, I2C8_DESC); 679 - SS_PIN_DECL(G5, GPIOK6, SCL8); 663 + SIG_EXPR_LIST_DECL_SINGLE(G5, SCL8, I2C8, I2C8_DESC); 664 + PIN_DECL_1(G5, GPIOK6, SCL8); 680 665 681 666 #define F3 87 682 - SIG_EXPR_LIST_DECL_SINGLE(SDA8, I2C8, I2C8_DESC); 683 - SS_PIN_DECL(F3, GPIOK7, SDA8); 667 + SIG_EXPR_LIST_DECL_SINGLE(F3, SDA8, I2C8, I2C8_DESC); 668 + PIN_DECL_1(F3, GPIOK7, SDA8); 684 669 685 670 FUNC_GROUP_DECL(I2C8, G5, F3); 686 671 ··· 693 678 694 679 #define T5 89 695 680 #define T5_DESC SIG_DESC_SET(SCU84, 17) 696 - SIG_EXPR_DECL(VPIDE, VPI18, VPI18_DESC, T5_DESC); 697 - SIG_EXPR_DECL(VPIDE, VPI24, VPI24_DESC, T5_DESC); 698 - SIG_EXPR_DECL(VPIDE, VPI30, VPI30_DESC, T5_DESC); 699 - SIG_EXPR_LIST_DECL(VPIDE, SIG_EXPR_PTR(VPIDE, VPI18), 700 - SIG_EXPR_PTR(VPIDE, VPI24), 701 - SIG_EXPR_PTR(VPIDE, VPI30)); 702 - SIG_EXPR_LIST_DECL_SINGLE(NDCD1, NDCD1, T5_DESC); 703 - MS_PIN_DECL(T5, GPIOL1, VPIDE, NDCD1); 681 + SIG_EXPR_DECL_SINGLE(VPIDE, VPI18, VPI18_DESC, T5_DESC); 682 + SIG_EXPR_DECL_SINGLE(VPIDE, VPI24, VPI24_DESC, T5_DESC); 683 + SIG_EXPR_DECL_SINGLE(VPIDE, VPI30, VPI30_DESC, T5_DESC); 684 + SIG_EXPR_LIST_DECL(VPIDE, VPI, 685 + SIG_EXPR_PTR(VPIDE, VPI18), 686 + SIG_EXPR_PTR(VPIDE, VPI24), 687 + SIG_EXPR_PTR(VPIDE, VPI30)); 688 + SIG_EXPR_LIST_ALIAS(T5, VPIDE, VPI); 689 + SIG_EXPR_LIST_DECL_SINGLE(T5, NDCD1, NDCD1, T5_DESC); 690 + PIN_DECL_2(T5, GPIOL1, VPIDE, NDCD1); 704 691 FUNC_GROUP_DECL(NDCD1, T5); 705 692 706 693 #define U3 90 707 694 #define U3_DESC SIG_DESC_SET(SCU84, 18) 708 - SIG_EXPR_DECL(VPIODD, VPI18, VPI18_DESC, U3_DESC); 709 - SIG_EXPR_DECL(VPIODD, VPI24, VPI24_DESC, U3_DESC); 710 - SIG_EXPR_DECL(VPIODD, VPI30, VPI30_DESC, U3_DESC); 711 - SIG_EXPR_LIST_DECL(VPIODD, SIG_EXPR_PTR(VPIODD, VPI18), 695 + SIG_EXPR_DECL_SINGLE(VPIODD, VPI18, VPI18_DESC, U3_DESC); 696 + SIG_EXPR_DECL_SINGLE(VPIODD, VPI24, VPI24_DESC, U3_DESC); 697 + SIG_EXPR_DECL_SINGLE(VPIODD, VPI30, VPI30_DESC, U3_DESC); 698 + SIG_EXPR_LIST_DECL(VPIODD, VPI, 699 + SIG_EXPR_PTR(VPIODD, VPI18), 712 700 SIG_EXPR_PTR(VPIODD, VPI24), 713 701 SIG_EXPR_PTR(VPIODD, VPI30)); 714 - SIG_EXPR_LIST_DECL_SINGLE(NDSR1, NDSR1, U3_DESC); 715 - MS_PIN_DECL(U3, GPIOL2, VPIODD, NDSR1); 702 + SIG_EXPR_LIST_ALIAS(U3, VPIODD, VPI); 703 + SIG_EXPR_LIST_DECL_SINGLE(U3, NDSR1, NDSR1, U3_DESC); 704 + PIN_DECL_2(U3, GPIOL2, VPIODD, NDSR1); 716 705 FUNC_GROUP_DECL(NDSR1, U3); 717 706 718 707 #define V1 91 719 708 #define V1_DESC SIG_DESC_SET(SCU84, 19) 720 - SIG_EXPR_DECL(VPIHS, VPI18, VPI18_DESC, V1_DESC); 721 - SIG_EXPR_DECL(VPIHS, VPI24, VPI24_DESC, V1_DESC); 722 - SIG_EXPR_DECL(VPIHS, VPI30, VPI30_DESC, V1_DESC); 723 - SIG_EXPR_LIST_DECL(VPIHS, SIG_EXPR_PTR(VPIHS, VPI18), 709 + SIG_EXPR_DECL_SINGLE(VPIHS, VPI18, VPI18_DESC, V1_DESC); 710 + SIG_EXPR_DECL_SINGLE(VPIHS, VPI24, VPI24_DESC, V1_DESC); 711 + SIG_EXPR_DECL_SINGLE(VPIHS, VPI30, VPI30_DESC, V1_DESC); 712 + SIG_EXPR_LIST_DECL(VPIHS, VPI, 713 + SIG_EXPR_PTR(VPIHS, VPI18), 724 714 SIG_EXPR_PTR(VPIHS, VPI24), 725 715 SIG_EXPR_PTR(VPIHS, VPI30)); 726 - SIG_EXPR_LIST_DECL_SINGLE(NRI1, NRI1, V1_DESC); 727 - MS_PIN_DECL(V1, GPIOL3, VPIHS, NRI1); 716 + SIG_EXPR_LIST_ALIAS(V1, VPIHS, VPI); 717 + SIG_EXPR_LIST_DECL_SINGLE(V1, NRI1, NRI1, V1_DESC); 718 + PIN_DECL_2(V1, GPIOL3, VPIHS, NRI1); 728 719 FUNC_GROUP_DECL(NRI1, V1); 729 720 730 721 #define U4 92 731 722 #define U4_DESC SIG_DESC_SET(SCU84, 20) 732 - SIG_EXPR_DECL(VPIVS, VPI18, VPI18_DESC, U4_DESC); 733 - SIG_EXPR_DECL(VPIVS, VPI24, VPI24_DESC, U4_DESC); 734 - SIG_EXPR_DECL(VPIVS, VPI30, VPI30_DESC, U4_DESC); 735 - SIG_EXPR_LIST_DECL(VPIVS, SIG_EXPR_PTR(VPIVS, VPI18), 723 + SIG_EXPR_DECL_SINGLE(VPIVS, VPI18, VPI18_DESC, U4_DESC); 724 + SIG_EXPR_DECL_SINGLE(VPIVS, VPI24, VPI24_DESC, U4_DESC); 725 + SIG_EXPR_DECL_SINGLE(VPIVS, VPI30, VPI30_DESC, U4_DESC); 726 + SIG_EXPR_LIST_DECL(VPIVS, VPI, 727 + SIG_EXPR_PTR(VPIVS, VPI18), 736 728 SIG_EXPR_PTR(VPIVS, VPI24), 737 729 SIG_EXPR_PTR(VPIVS, VPI30)); 738 - SIG_EXPR_LIST_DECL_SINGLE(NDTR1, NDTR1, U4_DESC); 739 - MS_PIN_DECL(U4, GPIOL4, VPIVS, NDTR1); 730 + SIG_EXPR_LIST_ALIAS(U4, VPIVS, VPI); 731 + SIG_EXPR_LIST_DECL_SINGLE(U4, NDTR1, NDTR1, U4_DESC); 732 + PIN_DECL_2(U4, GPIOL4, VPIVS, NDTR1); 740 733 FUNC_GROUP_DECL(NDTR1, U4); 741 734 742 735 #define V2 93 743 736 #define V2_DESC SIG_DESC_SET(SCU84, 21) 744 - SIG_EXPR_DECL(VPICLK, VPI18, VPI18_DESC, V2_DESC); 745 - SIG_EXPR_DECL(VPICLK, VPI24, VPI24_DESC, V2_DESC); 746 - SIG_EXPR_DECL(VPICLK, VPI30, VPI30_DESC, V2_DESC); 747 - SIG_EXPR_LIST_DECL(VPICLK, SIG_EXPR_PTR(VPICLK, VPI18), 737 + SIG_EXPR_DECL_SINGLE(VPICLK, VPI18, VPI18_DESC, V2_DESC); 738 + SIG_EXPR_DECL_SINGLE(VPICLK, VPI24, VPI24_DESC, V2_DESC); 739 + SIG_EXPR_DECL_SINGLE(VPICLK, VPI30, VPI30_DESC, V2_DESC); 740 + SIG_EXPR_LIST_DECL(VPICLK, VPI, 741 + SIG_EXPR_PTR(VPICLK, VPI18), 748 742 SIG_EXPR_PTR(VPICLK, VPI24), 749 743 SIG_EXPR_PTR(VPICLK, VPI30)); 750 - SIG_EXPR_LIST_DECL_SINGLE(NRTS1, NRTS1, V2_DESC); 751 - MS_PIN_DECL(V2, GPIOL5, VPICLK, NRTS1); 744 + SIG_EXPR_LIST_ALIAS(V2, VPICLK, VPI); 745 + SIG_EXPR_LIST_DECL_SINGLE(V2, NRTS1, NRTS1, V2_DESC); 746 + PIN_DECL_2(V2, GPIOL5, VPICLK, NRTS1); 752 747 FUNC_GROUP_DECL(NRTS1, V2); 753 748 754 749 #define W1 94 755 750 #define W1_DESC SIG_DESC_SET(SCU84, 22) 756 - SIG_EXPR_LIST_DECL_SINGLE(VPIB0, VPI30, VPI30_DESC, W1_DESC); 757 - SIG_EXPR_LIST_DECL_SINGLE(TXD1, TXD1, W1_DESC); 758 - MS_PIN_DECL(W1, GPIOL6, VPIB0, TXD1); 751 + SIG_EXPR_LIST_DECL_SINGLE(W1, VPIB0, VPI30, VPI30_DESC, W1_DESC); 752 + SIG_EXPR_LIST_DECL_SINGLE(W1, TXD1, TXD1, W1_DESC); 753 + PIN_DECL_2(W1, GPIOL6, VPIB0, TXD1); 759 754 FUNC_GROUP_DECL(TXD1, W1); 760 755 761 756 #define U5 95 762 757 #define U5_DESC SIG_DESC_SET(SCU84, 23) 763 - SIG_EXPR_LIST_DECL_SINGLE(VPIB1, VPI30, VPI30_DESC, U5_DESC); 764 - SIG_EXPR_LIST_DECL_SINGLE(RXD1, RXD1, U5_DESC); 765 - MS_PIN_DECL(U5, GPIOL7, VPIB1, RXD1); 758 + SIG_EXPR_LIST_DECL_SINGLE(U5, VPIB1, VPI30, VPI30_DESC, U5_DESC); 759 + SIG_EXPR_LIST_DECL_SINGLE(U5, RXD1, RXD1, U5_DESC); 760 + PIN_DECL_2(U5, GPIOL7, VPIB1, RXD1); 766 761 FUNC_GROUP_DECL(RXD1, U5); 767 762 768 763 #define V3 96 769 764 #define V3_DESC SIG_DESC_SET(SCU84, 24) 770 - SIG_EXPR_DECL(VPIOB2, VPI18, VPI18_DESC, V3_DESC); 771 - SIG_EXPR_DECL(VPIOB2, VPI24, VPI24_DESC, V3_DESC); 772 - SIG_EXPR_DECL(VPIOB2, VPI30, VPI30_DESC, V3_DESC); 773 - SIG_EXPR_LIST_DECL(VPIOB2, SIG_EXPR_PTR(VPIOB2, VPI18), 765 + SIG_EXPR_DECL_SINGLE(VPIOB2, VPI18, VPI18_DESC, V3_DESC); 766 + SIG_EXPR_DECL_SINGLE(VPIOB2, VPI24, VPI24_DESC, V3_DESC); 767 + SIG_EXPR_DECL_SINGLE(VPIOB2, VPI30, VPI30_DESC, V3_DESC); 768 + SIG_EXPR_LIST_DECL(VPIOB2, VPI, 769 + SIG_EXPR_PTR(VPIOB2, VPI18), 774 770 SIG_EXPR_PTR(VPIOB2, VPI24), 775 771 SIG_EXPR_PTR(VPIOB2, VPI30)); 776 - SIG_EXPR_LIST_DECL_SINGLE(NCTS2, NCTS2, V3_DESC); 777 - MS_PIN_DECL(V3, GPIOM0, VPIOB2, NCTS2); 772 + SIG_EXPR_LIST_ALIAS(V3, VPIOB2, VPI); 773 + SIG_EXPR_LIST_DECL_SINGLE(V3, NCTS2, NCTS2, V3_DESC); 774 + PIN_DECL_2(V3, GPIOM0, VPIOB2, NCTS2); 778 775 FUNC_GROUP_DECL(NCTS2, V3); 779 776 780 777 #define W2 97 781 778 #define W2_DESC SIG_DESC_SET(SCU84, 25) 782 - SIG_EXPR_DECL(VPIOB3, VPI18, VPI18_DESC, W2_DESC); 783 - SIG_EXPR_DECL(VPIOB3, VPI24, VPI24_DESC, W2_DESC); 784 - SIG_EXPR_DECL(VPIOB3, VPI30, VPI30_DESC, W2_DESC); 785 - SIG_EXPR_LIST_DECL(VPIOB3, SIG_EXPR_PTR(VPIOB3, VPI18), 779 + SIG_EXPR_DECL_SINGLE(VPIOB3, VPI18, VPI18_DESC, W2_DESC); 780 + SIG_EXPR_DECL_SINGLE(VPIOB3, VPI24, VPI24_DESC, W2_DESC); 781 + SIG_EXPR_DECL_SINGLE(VPIOB3, VPI30, VPI30_DESC, W2_DESC); 782 + SIG_EXPR_LIST_DECL(VPIOB3, VPI, 783 + SIG_EXPR_PTR(VPIOB3, VPI18), 786 784 SIG_EXPR_PTR(VPIOB3, VPI24), 787 785 SIG_EXPR_PTR(VPIOB3, VPI30)); 788 - SIG_EXPR_LIST_DECL_SINGLE(NDCD2, NDCD2, W2_DESC); 789 - MS_PIN_DECL(W2, GPIOM1, VPIOB3, NDCD2); 786 + SIG_EXPR_LIST_ALIAS(W2, VPIOB3, VPI); 787 + SIG_EXPR_LIST_DECL_SINGLE(W2, NDCD2, NDCD2, W2_DESC); 788 + PIN_DECL_2(W2, GPIOM1, VPIOB3, NDCD2); 790 789 FUNC_GROUP_DECL(NDCD2, W2); 791 790 792 791 #define Y1 98 793 792 #define Y1_DESC SIG_DESC_SET(SCU84, 26) 794 - SIG_EXPR_DECL(VPIOB4, VPI18, VPI18_DESC, Y1_DESC); 795 - SIG_EXPR_DECL(VPIOB4, VPI24, VPI24_DESC, Y1_DESC); 796 - SIG_EXPR_DECL(VPIOB4, VPI30, VPI30_DESC, Y1_DESC); 797 - SIG_EXPR_LIST_DECL(VPIOB4, SIG_EXPR_PTR(VPIOB4, VPI18), 793 + SIG_EXPR_DECL_SINGLE(VPIOB4, VPI18, VPI18_DESC, Y1_DESC); 794 + SIG_EXPR_DECL_SINGLE(VPIOB4, VPI24, VPI24_DESC, Y1_DESC); 795 + SIG_EXPR_DECL_SINGLE(VPIOB4, VPI30, VPI30_DESC, Y1_DESC); 796 + SIG_EXPR_LIST_DECL(VPIOB4, VPI, 797 + SIG_EXPR_PTR(VPIOB4, VPI18), 798 798 SIG_EXPR_PTR(VPIOB4, VPI24), 799 799 SIG_EXPR_PTR(VPIOB4, VPI30)); 800 - SIG_EXPR_LIST_DECL_SINGLE(NDSR2, NDSR2, Y1_DESC); 801 - MS_PIN_DECL(Y1, GPIOM2, VPIOB4, NDSR2); 800 + SIG_EXPR_LIST_ALIAS(Y1, VPIOB4, VPI); 801 + SIG_EXPR_LIST_DECL_SINGLE(Y1, NDSR2, NDSR2, Y1_DESC); 802 + PIN_DECL_2(Y1, GPIOM2, VPIOB4, NDSR2); 802 803 FUNC_GROUP_DECL(NDSR2, Y1); 803 804 804 805 #define V4 99 805 806 #define V4_DESC SIG_DESC_SET(SCU84, 27) 806 - SIG_EXPR_DECL(VPIOB5, VPI18, VPI18_DESC, V4_DESC); 807 - SIG_EXPR_DECL(VPIOB5, VPI24, VPI24_DESC, V4_DESC); 808 - SIG_EXPR_DECL(VPIOB5, VPI30, VPI30_DESC, V4_DESC); 809 - SIG_EXPR_LIST_DECL(VPIOB5, SIG_EXPR_PTR(VPIOB5, VPI18), 807 + SIG_EXPR_DECL_SINGLE(VPIOB5, VPI18, VPI18_DESC, V4_DESC); 808 + SIG_EXPR_DECL_SINGLE(VPIOB5, VPI24, VPI24_DESC, V4_DESC); 809 + SIG_EXPR_DECL_SINGLE(VPIOB5, VPI30, VPI30_DESC, V4_DESC); 810 + SIG_EXPR_LIST_DECL(VPIOB5, VPI, 811 + SIG_EXPR_PTR(VPIOB5, VPI18), 810 812 SIG_EXPR_PTR(VPIOB5, VPI24), 811 813 SIG_EXPR_PTR(VPIOB5, VPI30)); 812 - SIG_EXPR_LIST_DECL_SINGLE(NRI2, NRI2, V4_DESC); 813 - MS_PIN_DECL(V4, GPIOM3, VPIOB5, NRI2); 814 + SIG_EXPR_LIST_ALIAS(V4, VPIOB5, VPI); 815 + SIG_EXPR_LIST_DECL_SINGLE(V4, NRI2, NRI2, V4_DESC); 816 + PIN_DECL_2(V4, GPIOM3, VPIOB5, NRI2); 814 817 FUNC_GROUP_DECL(NRI2, V4); 815 818 816 819 #define W3 100 817 820 #define W3_DESC SIG_DESC_SET(SCU84, 28) 818 - SIG_EXPR_DECL(VPIOB6, VPI18, VPI18_DESC, W3_DESC); 819 - SIG_EXPR_DECL(VPIOB6, VPI24, VPI24_DESC, W3_DESC); 820 - SIG_EXPR_DECL(VPIOB6, VPI30, VPI30_DESC, W3_DESC); 821 - SIG_EXPR_LIST_DECL(VPIOB6, SIG_EXPR_PTR(VPIOB6, VPI18), 821 + SIG_EXPR_DECL_SINGLE(VPIOB6, VPI18, VPI18_DESC, W3_DESC); 822 + SIG_EXPR_DECL_SINGLE(VPIOB6, VPI24, VPI24_DESC, W3_DESC); 823 + SIG_EXPR_DECL_SINGLE(VPIOB6, VPI30, VPI30_DESC, W3_DESC); 824 + SIG_EXPR_LIST_DECL(VPIOB6, VPI, 825 + SIG_EXPR_PTR(VPIOB6, VPI18), 822 826 SIG_EXPR_PTR(VPIOB6, VPI24), 823 827 SIG_EXPR_PTR(VPIOB6, VPI30)); 824 - SIG_EXPR_LIST_DECL_SINGLE(NDTR2, NDTR2, W3_DESC); 825 - MS_PIN_DECL(W3, GPIOM4, VPIOB6, NDTR2); 828 + SIG_EXPR_LIST_ALIAS(W3, VPIOB6, VPI); 829 + SIG_EXPR_LIST_DECL_SINGLE(W3, NDTR2, NDTR2, W3_DESC); 830 + PIN_DECL_2(W3, GPIOM4, VPIOB6, NDTR2); 826 831 FUNC_GROUP_DECL(NDTR2, W3); 827 832 828 833 #define Y2 101 829 834 #define Y2_DESC SIG_DESC_SET(SCU84, 29) 830 - SIG_EXPR_DECL(VPIOB7, VPI18, VPI18_DESC, Y2_DESC); 831 - SIG_EXPR_DECL(VPIOB7, VPI24, VPI24_DESC, Y2_DESC); 832 - SIG_EXPR_DECL(VPIOB7, VPI30, VPI30_DESC, Y2_DESC); 833 - SIG_EXPR_LIST_DECL(VPIOB7, SIG_EXPR_PTR(VPIOB7, VPI18), 835 + SIG_EXPR_DECL_SINGLE(VPIOB7, VPI18, VPI18_DESC, Y2_DESC); 836 + SIG_EXPR_DECL_SINGLE(VPIOB7, VPI24, VPI24_DESC, Y2_DESC); 837 + SIG_EXPR_DECL_SINGLE(VPIOB7, VPI30, VPI30_DESC, Y2_DESC); 838 + SIG_EXPR_LIST_DECL(VPIOB7, VPI, 839 + SIG_EXPR_PTR(VPIOB7, VPI18), 834 840 SIG_EXPR_PTR(VPIOB7, VPI24), 835 841 SIG_EXPR_PTR(VPIOB7, VPI30)); 836 - SIG_EXPR_LIST_DECL_SINGLE(NRTS2, NRTS2, Y2_DESC); 837 - MS_PIN_DECL(Y2, GPIOM5, VPIOB7, NRTS2); 842 + SIG_EXPR_LIST_ALIAS(Y2, VPIOB7, VPI); 843 + SIG_EXPR_LIST_DECL_SINGLE(Y2, NRTS2, NRTS2, Y2_DESC); 844 + PIN_DECL_2(Y2, GPIOM5, VPIOB7, NRTS2); 838 845 FUNC_GROUP_DECL(NRTS2, Y2); 839 846 840 847 #define AA1 102 841 848 #define AA1_DESC SIG_DESC_SET(SCU84, 30) 842 - SIG_EXPR_DECL(VPIOB8, VPI18, VPI18_DESC, AA1_DESC); 843 - SIG_EXPR_DECL(VPIOB8, VPI24, VPI24_DESC, AA1_DESC); 844 - SIG_EXPR_DECL(VPIOB8, VPI30, VPI30_DESC, AA1_DESC); 845 - SIG_EXPR_LIST_DECL(VPIOB8, SIG_EXPR_PTR(VPIOB8, VPI18), 849 + SIG_EXPR_DECL_SINGLE(VPIOB8, VPI18, VPI18_DESC, AA1_DESC); 850 + SIG_EXPR_DECL_SINGLE(VPIOB8, VPI24, VPI24_DESC, AA1_DESC); 851 + SIG_EXPR_DECL_SINGLE(VPIOB8, VPI30, VPI30_DESC, AA1_DESC); 852 + SIG_EXPR_LIST_DECL(VPIOB8, VPI, 853 + SIG_EXPR_PTR(VPIOB8, VPI18), 846 854 SIG_EXPR_PTR(VPIOB8, VPI24), 847 855 SIG_EXPR_PTR(VPIOB8, VPI30)); 848 - SIG_EXPR_LIST_DECL_SINGLE(TXD2, TXD2, AA1_DESC); 849 - MS_PIN_DECL(AA1, GPIOM6, VPIOB8, TXD2); 856 + SIG_EXPR_LIST_ALIAS(AA1, VPIOB8, VPI); 857 + SIG_EXPR_LIST_DECL_SINGLE(AA1, TXD2, TXD2, AA1_DESC); 858 + PIN_DECL_2(AA1, GPIOM6, VPIOB8, TXD2); 850 859 FUNC_GROUP_DECL(TXD2, AA1); 851 860 852 861 #define V5 103 853 862 #define V5_DESC SIG_DESC_SET(SCU84, 31) 854 - SIG_EXPR_DECL(VPIOB9, VPI18, VPI18_DESC, V5_DESC); 855 - SIG_EXPR_DECL(VPIOB9, VPI24, VPI24_DESC, V5_DESC); 856 - SIG_EXPR_DECL(VPIOB9, VPI30, VPI30_DESC, V5_DESC); 857 - SIG_EXPR_LIST_DECL(VPIOB9, SIG_EXPR_PTR(VPIOB9, VPI18), 863 + SIG_EXPR_DECL_SINGLE(VPIOB9, VPI18, VPI18_DESC, V5_DESC); 864 + SIG_EXPR_DECL_SINGLE(VPIOB9, VPI24, VPI24_DESC, V5_DESC); 865 + SIG_EXPR_DECL_SINGLE(VPIOB9, VPI30, VPI30_DESC, V5_DESC); 866 + SIG_EXPR_LIST_DECL(VPIOB9, VPI, 867 + SIG_EXPR_PTR(VPIOB9, VPI18), 858 868 SIG_EXPR_PTR(VPIOB9, VPI24), 859 869 SIG_EXPR_PTR(VPIOB9, VPI30)); 860 - SIG_EXPR_LIST_DECL_SINGLE(RXD2, RXD2, V5_DESC); 861 - MS_PIN_DECL(V5, GPIOM7, VPIOB9, RXD2); 870 + SIG_EXPR_LIST_ALIAS(V5, VPIOB9, VPI); 871 + SIG_EXPR_LIST_DECL_SINGLE(V5, RXD2, RXD2, V5_DESC); 872 + PIN_DECL_2(V5, GPIOM7, VPIOB9, RXD2); 862 873 FUNC_GROUP_DECL(RXD2, V5); 863 874 864 875 #define W4 104 865 876 #define W4_DESC SIG_DESC_SET(SCU88, 0) 866 - SIG_EXPR_LIST_DECL_SINGLE(VPIG0, VPI30, VPI30_DESC, W4_DESC); 867 - SIG_EXPR_LIST_DECL_SINGLE(PWM0, PWM0, W4_DESC); 868 - MS_PIN_DECL(W4, GPION0, VPIG0, PWM0); 877 + SIG_EXPR_LIST_DECL_SINGLE(W4, VPIG0, VPI30, VPI30_DESC, W4_DESC); 878 + SIG_EXPR_LIST_DECL_SINGLE(W4, PWM0, PWM0, W4_DESC); 879 + PIN_DECL_2(W4, GPION0, VPIG0, PWM0); 869 880 FUNC_GROUP_DECL(PWM0, W4); 870 881 871 882 #define Y3 105 872 883 #define Y3_DESC SIG_DESC_SET(SCU88, 1) 873 - SIG_EXPR_LIST_DECL_SINGLE(VPIG1, VPI30, VPI30_DESC, Y3_DESC); 874 - SIG_EXPR_LIST_DECL_SINGLE(PWM1, PWM1, Y3_DESC); 875 - MS_PIN_DECL(Y3, GPION1, VPIG1, PWM1); 884 + SIG_EXPR_LIST_DECL_SINGLE(Y3, VPIG1, VPI30, VPI30_DESC, Y3_DESC); 885 + SIG_EXPR_LIST_DECL_SINGLE(Y3, PWM1, PWM1, Y3_DESC); 886 + PIN_DECL_2(Y3, GPION1, VPIG1, PWM1); 876 887 FUNC_GROUP_DECL(PWM1, Y3); 877 888 878 889 #define AA2 106 879 890 #define AA2_DESC SIG_DESC_SET(SCU88, 2) 880 - SIG_EXPR_DECL(VPIG2, VPI18, VPI18_DESC, AA2_DESC); 881 - SIG_EXPR_DECL(VPIG2, VPI24, VPI24_DESC, AA2_DESC); 882 - SIG_EXPR_DECL(VPIG2, VPI30, VPI30_DESC, AA2_DESC); 883 - SIG_EXPR_LIST_DECL(VPIG2, SIG_EXPR_PTR(VPIG2, VPI18), 891 + SIG_EXPR_DECL_SINGLE(VPIG2, VPI18, VPI18_DESC, AA2_DESC); 892 + SIG_EXPR_DECL_SINGLE(VPIG2, VPI24, VPI24_DESC, AA2_DESC); 893 + SIG_EXPR_DECL_SINGLE(VPIG2, VPI30, VPI30_DESC, AA2_DESC); 894 + SIG_EXPR_LIST_DECL(VPIG2, VPI, 895 + SIG_EXPR_PTR(VPIG2, VPI18), 884 896 SIG_EXPR_PTR(VPIG2, VPI24), 885 897 SIG_EXPR_PTR(VPIG2, VPI30)); 886 - SIG_EXPR_LIST_DECL_SINGLE(PWM2, PWM2, AA2_DESC); 887 - MS_PIN_DECL(AA2, GPION2, VPIG2, PWM2); 898 + SIG_EXPR_LIST_ALIAS(AA2, VPIG2, VPI); 899 + SIG_EXPR_LIST_DECL_SINGLE(AA2, PWM2, PWM2, AA2_DESC); 900 + PIN_DECL_2(AA2, GPION2, VPIG2, PWM2); 888 901 FUNC_GROUP_DECL(PWM2, AA2); 889 902 890 903 #define AB1 107 891 904 #define AB1_DESC SIG_DESC_SET(SCU88, 3) 892 - SIG_EXPR_DECL(VPIG3, VPI18, VPI18_DESC, AB1_DESC); 893 - SIG_EXPR_DECL(VPIG3, VPI24, VPI24_DESC, AB1_DESC); 894 - SIG_EXPR_DECL(VPIG3, VPI30, VPI30_DESC, AB1_DESC); 895 - SIG_EXPR_LIST_DECL(VPIG3, SIG_EXPR_PTR(VPIG3, VPI18), 905 + SIG_EXPR_DECL_SINGLE(VPIG3, VPI18, VPI18_DESC, AB1_DESC); 906 + SIG_EXPR_DECL_SINGLE(VPIG3, VPI24, VPI24_DESC, AB1_DESC); 907 + SIG_EXPR_DECL_SINGLE(VPIG3, VPI30, VPI30_DESC, AB1_DESC); 908 + SIG_EXPR_LIST_DECL(VPIG3, VPI, 909 + SIG_EXPR_PTR(VPIG3, VPI18), 896 910 SIG_EXPR_PTR(VPIG3, VPI24), 897 911 SIG_EXPR_PTR(VPIG3, VPI30)); 898 - SIG_EXPR_LIST_DECL_SINGLE(PWM3, PWM3, AB1_DESC); 899 - MS_PIN_DECL(AB1, GPION3, VPIG3, PWM3); 912 + SIG_EXPR_LIST_ALIAS(AB1, VPIG3, VPI); 913 + SIG_EXPR_LIST_DECL_SINGLE(AB1, PWM3, PWM3, AB1_DESC); 914 + PIN_DECL_2(AB1, GPION3, VPIG3, PWM3); 900 915 FUNC_GROUP_DECL(PWM3, AB1); 901 916 902 917 #define W5 108 903 918 #define W5_DESC SIG_DESC_SET(SCU88, 4) 904 - SIG_EXPR_DECL(VPIG4, VPI18, VPI18_DESC, W5_DESC); 905 - SIG_EXPR_DECL(VPIG4, VPI24, VPI24_DESC, W5_DESC); 906 - SIG_EXPR_DECL(VPIG4, VPI30, VPI30_DESC, W5_DESC); 907 - SIG_EXPR_LIST_DECL(VPIG4, SIG_EXPR_PTR(VPIG4, VPI18), 919 + SIG_EXPR_DECL_SINGLE(VPIG4, VPI18, VPI18_DESC, W5_DESC); 920 + SIG_EXPR_DECL_SINGLE(VPIG4, VPI24, VPI24_DESC, W5_DESC); 921 + SIG_EXPR_DECL_SINGLE(VPIG4, VPI30, VPI30_DESC, W5_DESC); 922 + SIG_EXPR_LIST_DECL(VPIG4, VPI, 923 + SIG_EXPR_PTR(VPIG4, VPI18), 908 924 SIG_EXPR_PTR(VPIG4, VPI24), 909 925 SIG_EXPR_PTR(VPIG4, VPI30)); 910 - SIG_EXPR_LIST_DECL_SINGLE(PWM4, PWM4, W5_DESC); 911 - MS_PIN_DECL(W5, GPION4, VPIG4, PWM4); 926 + SIG_EXPR_LIST_ALIAS(W5, VPIG4, VPI); 927 + SIG_EXPR_LIST_DECL_SINGLE(W5, PWM4, PWM4, W5_DESC); 928 + PIN_DECL_2(W5, GPION4, VPIG4, PWM4); 912 929 FUNC_GROUP_DECL(PWM4, W5); 913 930 914 931 #define Y4 109 915 932 #define Y4_DESC SIG_DESC_SET(SCU88, 5) 916 - SIG_EXPR_DECL(VPIG5, VPI18, VPI18_DESC, Y4_DESC); 917 - SIG_EXPR_DECL(VPIG5, VPI24, VPI24_DESC, Y4_DESC); 918 - SIG_EXPR_DECL(VPIG5, VPI30, VPI30_DESC, Y4_DESC); 919 - SIG_EXPR_LIST_DECL(VPIG5, SIG_EXPR_PTR(VPIG5, VPI18), 933 + SIG_EXPR_DECL_SINGLE(VPIG5, VPI18, VPI18_DESC, Y4_DESC); 934 + SIG_EXPR_DECL_SINGLE(VPIG5, VPI24, VPI24_DESC, Y4_DESC); 935 + SIG_EXPR_DECL_SINGLE(VPIG5, VPI30, VPI30_DESC, Y4_DESC); 936 + SIG_EXPR_LIST_DECL(VPIG5, VPI, 937 + SIG_EXPR_PTR(VPIG5, VPI18), 920 938 SIG_EXPR_PTR(VPIG5, VPI24), 921 939 SIG_EXPR_PTR(VPIG5, VPI30)); 922 - SIG_EXPR_LIST_DECL_SINGLE(PWM5, PWM5, Y4_DESC); 923 - MS_PIN_DECL(Y4, GPION5, VPIG5, PWM5); 940 + SIG_EXPR_LIST_ALIAS(Y4, VPIG5, VPI); 941 + SIG_EXPR_LIST_DECL_SINGLE(Y4, PWM5, PWM5, Y4_DESC); 942 + PIN_DECL_2(Y4, GPION5, VPIG5, PWM5); 924 943 FUNC_GROUP_DECL(PWM5, Y4); 925 944 926 945 #define AA3 110 927 946 #define AA3_DESC SIG_DESC_SET(SCU88, 6) 928 - SIG_EXPR_LIST_DECL_SINGLE(VPIG6, VPI30, VPI30_DESC, AA3_DESC); 929 - SIG_EXPR_LIST_DECL_SINGLE(PWM6, PWM6, AA3_DESC); 930 - MS_PIN_DECL(AA3, GPION6, VPIG6, PWM6); 947 + SIG_EXPR_LIST_DECL_SINGLE(AA3, VPIG6, VPI30, VPI30_DESC, AA3_DESC); 948 + SIG_EXPR_LIST_DECL_SINGLE(AA3, PWM6, PWM6, AA3_DESC); 949 + PIN_DECL_2(AA3, GPION6, VPIG6, PWM6); 931 950 FUNC_GROUP_DECL(PWM6, AA3); 932 951 933 952 #define AB2 111 934 953 #define AB2_DESC SIG_DESC_SET(SCU88, 7) 935 - SIG_EXPR_LIST_DECL_SINGLE(VPIG7, VPI30, VPI30_DESC, AB2_DESC); 936 - SIG_EXPR_LIST_DECL_SINGLE(PWM7, PWM7, AB2_DESC); 937 - MS_PIN_DECL(AB2, GPION7, VPIG7, PWM7); 954 + SIG_EXPR_LIST_DECL_SINGLE(AB2, VPIG7, VPI30, VPI30_DESC, AB2_DESC); 955 + SIG_EXPR_LIST_DECL_SINGLE(AB2, PWM7, PWM7, AB2_DESC); 956 + PIN_DECL_2(AB2, GPION7, VPIG7, PWM7); 938 957 FUNC_GROUP_DECL(PWM7, AB2); 939 958 940 959 #define V6 112 941 - SIG_EXPR_LIST_DECL_SINGLE(VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8)); 942 - SS_PIN_DECL(V6, GPIOO0, VPIG8); 960 + SIG_EXPR_LIST_DECL_SINGLE(V6, VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8)); 961 + PIN_DECL_1(V6, GPIOO0, VPIG8); 943 962 944 963 #define Y5 113 945 - SIG_EXPR_LIST_DECL_SINGLE(VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9)); 946 - SS_PIN_DECL(Y5, GPIOO1, VPIG9); 964 + SIG_EXPR_LIST_DECL_SINGLE(Y5, VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9)); 965 + PIN_DECL_1(Y5, GPIOO1, VPIG9); 947 966 948 967 #define AA4 114 949 - SIG_EXPR_LIST_DECL_SINGLE(VPIR0, VPI30, VPI30_DESC, SIG_DESC_SET(SCU88, 10)); 950 - SS_PIN_DECL(AA4, GPIOO2, VPIR0); 968 + SIG_EXPR_LIST_DECL_SINGLE(AA4, VPIR0, VPI30, VPI30_DESC, 969 + SIG_DESC_SET(SCU88, 10)); 970 + PIN_DECL_1(AA4, GPIOO2, VPIR0); 951 971 952 972 #define AB3 115 953 - SIG_EXPR_LIST_DECL_SINGLE(VPIR1, VPI30, VPI30_DESC, SIG_DESC_SET(SCU88, 11)); 954 - SS_PIN_DECL(AB3, GPIOO3, VPIR1); 973 + SIG_EXPR_LIST_DECL_SINGLE(AB3, VPIR1, VPI30, VPI30_DESC, 974 + SIG_DESC_SET(SCU88, 11)); 975 + PIN_DECL_1(AB3, GPIOO3, VPIR1); 955 976 956 977 #define W6 116 957 - SIG_EXPR_LIST_DECL_SINGLE(VPIR2, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 12)); 958 - SS_PIN_DECL(W6, GPIOO4, VPIR2); 978 + SIG_EXPR_LIST_DECL_SINGLE(W6, VPIR2, VPI24, VPI24_DESC, 979 + SIG_DESC_SET(SCU88, 12)); 980 + PIN_DECL_1(W6, GPIOO4, VPIR2); 959 981 960 982 #define AA5 117 961 - SIG_EXPR_LIST_DECL_SINGLE(VPIR3, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 13)); 962 - SS_PIN_DECL(AA5, GPIOO5, VPIR3); 983 + SIG_EXPR_LIST_DECL_SINGLE(AA5, VPIR3, VPI24, VPI24_DESC, 984 + SIG_DESC_SET(SCU88, 13)); 985 + PIN_DECL_1(AA5, GPIOO5, VPIR3); 963 986 964 987 #define AB4 118 965 - SIG_EXPR_LIST_DECL_SINGLE(VPIR4, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 14)); 966 - SS_PIN_DECL(AB4, GPIOO6, VPIR4); 988 + SIG_EXPR_LIST_DECL_SINGLE(AB4, VPIR4, VPI24, VPI24_DESC, 989 + SIG_DESC_SET(SCU88, 14)); 990 + PIN_DECL_1(AB4, GPIOO6, VPIR4); 967 991 968 992 #define V7 119 969 - SIG_EXPR_LIST_DECL_SINGLE(VPIR5, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 15)); 970 - SS_PIN_DECL(V7, GPIOO7, VPIR5); 993 + SIG_EXPR_LIST_DECL_SINGLE(V7, VPIR5, VPI24, VPI24_DESC, 994 + SIG_DESC_SET(SCU88, 15)); 995 + PIN_DECL_1(V7, GPIOO7, VPIR5); 971 996 972 997 #define Y6 120 973 - SIG_EXPR_LIST_DECL_SINGLE(VPIR6, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 16)); 974 - SS_PIN_DECL(Y6, GPIOP0, VPIR6); 998 + SIG_EXPR_LIST_DECL_SINGLE(Y6, VPIR6, VPI24, VPI24_DESC, 999 + SIG_DESC_SET(SCU88, 16)); 1000 + PIN_DECL_1(Y6, GPIOP0, VPIR6); 975 1001 976 1002 #define AB5 121 977 - SIG_EXPR_LIST_DECL_SINGLE(VPIR7, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 17)); 978 - SS_PIN_DECL(AB5, GPIOP1, VPIR7); 1003 + SIG_EXPR_LIST_DECL_SINGLE(AB5, VPIR7, VPI24, VPI24_DESC, 1004 + SIG_DESC_SET(SCU88, 17)); 1005 + PIN_DECL_1(AB5, GPIOP1, VPIR7); 979 1006 980 1007 #define W7 122 981 - SIG_EXPR_LIST_DECL_SINGLE(VPIR8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 18)); 982 - SS_PIN_DECL(W7, GPIOP2, VPIR8); 1008 + SIG_EXPR_LIST_DECL_SINGLE(W7, VPIR8, VPI24, VPI24_DESC, 1009 + SIG_DESC_SET(SCU88, 18)); 1010 + PIN_DECL_1(W7, GPIOP2, VPIR8); 983 1011 984 1012 #define AA6 123 985 - SIG_EXPR_LIST_DECL_SINGLE(VPIR9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 19)); 986 - SS_PIN_DECL(AA6, GPIOP3, VPIR9); 1013 + SIG_EXPR_LIST_DECL_SINGLE(AA6, VPIR9, VPI24, VPI24_DESC, 1014 + SIG_DESC_SET(SCU88, 19)); 1015 + PIN_DECL_1(AA6, GPIOP3, VPIR9); 987 1016 988 1017 FUNC_GROUP_DECL(VPI18, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5, 989 1018 AA22, W5, Y4, AA3, AB2); ··· 1038 979 V5, W4, Y3, AA22, W5, Y4, AA3, AB2, AA4, AB3); 1039 980 1040 981 #define AB6 124 1041 - SIG_EXPR_LIST_DECL_SINGLE(GPIOP4, GPIOP4); 1042 - MS_PIN_DECL_(AB6, SIG_EXPR_LIST_PTR(GPIOP4)); 982 + SIG_EXPR_LIST_DECL_SINGLE(AB6, GPIOP4, GPIOP4); 983 + PIN_DECL_(AB6, SIG_EXPR_LIST_PTR(AB6, GPIOP4)); 1043 984 1044 985 #define Y7 125 1045 - SIG_EXPR_LIST_DECL_SINGLE(GPIOP5, GPIOP5); 1046 - MS_PIN_DECL_(Y7, SIG_EXPR_LIST_PTR(GPIOP5)); 986 + SIG_EXPR_LIST_DECL_SINGLE(Y7, GPIOP5, GPIOP5); 987 + PIN_DECL_(Y7, SIG_EXPR_LIST_PTR(Y7, GPIOP5)); 1047 988 1048 989 #define AA7 126 1049 990 SSSF_PIN_DECL(AA7, GPIOP6, BMCINT, SIG_DESC_SET(SCU88, 22)); ··· 1054 995 #define I2C3_DESC SIG_DESC_SET(SCU90, 16) 1055 996 1056 997 #define D3 128 1057 - SIG_EXPR_LIST_DECL_SINGLE(SCL3, I2C3, I2C3_DESC); 1058 - SS_PIN_DECL(D3, GPIOQ0, SCL3); 998 + SIG_EXPR_LIST_DECL_SINGLE(D3, SCL3, I2C3, I2C3_DESC); 999 + PIN_DECL_1(D3, GPIOQ0, SCL3); 1059 1000 1060 1001 #define C2 129 1061 - SIG_EXPR_LIST_DECL_SINGLE(SDA3, I2C3, I2C3_DESC); 1062 - SS_PIN_DECL(C2, GPIOQ1, SDA3); 1002 + SIG_EXPR_LIST_DECL_SINGLE(C2, SDA3, I2C3, I2C3_DESC); 1003 + PIN_DECL_1(C2, GPIOQ1, SDA3); 1063 1004 1064 1005 FUNC_GROUP_DECL(I2C3, D3, C2); 1065 1006 1066 1007 #define I2C4_DESC SIG_DESC_SET(SCU90, 17) 1067 1008 1068 1009 #define B1 130 1069 - SIG_EXPR_LIST_DECL_SINGLE(SCL4, I2C4, I2C4_DESC); 1070 - SS_PIN_DECL(B1, GPIOQ2, SCL4); 1010 + SIG_EXPR_LIST_DECL_SINGLE(B1, SCL4, I2C4, I2C4_DESC); 1011 + PIN_DECL_1(B1, GPIOQ2, SCL4); 1071 1012 1072 1013 #define F5 131 1073 - SIG_EXPR_LIST_DECL_SINGLE(SDA4, I2C4, I2C4_DESC); 1074 - SS_PIN_DECL(F5, GPIOQ3, SDA4); 1014 + SIG_EXPR_LIST_DECL_SINGLE(F5, SDA4, I2C4, I2C4_DESC); 1015 + PIN_DECL_1(F5, GPIOQ3, SDA4); 1075 1016 1076 1017 FUNC_GROUP_DECL(I2C4, B1, F5); 1077 1018 1078 1019 #define I2C14_DESC SIG_DESC_SET(SCU90, 27) 1079 1020 1080 1021 #define H4 132 1081 - SIG_EXPR_LIST_DECL_SINGLE(SCL14, I2C14, I2C14_DESC); 1082 - SS_PIN_DECL(H4, GPIOQ4, SCL14); 1022 + SIG_EXPR_LIST_DECL_SINGLE(H4, SCL14, I2C14, I2C14_DESC); 1023 + PIN_DECL_1(H4, GPIOQ4, SCL14); 1083 1024 1084 1025 #define H3 133 1085 - SIG_EXPR_LIST_DECL_SINGLE(SDA14, I2C14, I2C14_DESC); 1086 - SS_PIN_DECL(H3, GPIOQ5, SDA14); 1026 + SIG_EXPR_LIST_DECL_SINGLE(H3, SDA14, I2C14, I2C14_DESC); 1027 + PIN_DECL_1(H3, GPIOQ5, SDA14); 1087 1028 1088 1029 FUNC_GROUP_DECL(I2C14, H4, H3); 1089 1030 ··· 1098 1039 #define USB11H3_DESC SIG_DESC_SET(SCU90, 28) 1099 1040 1100 1041 #define H2 134 1101 - SIG_EXPR_LIST_DECL_SINGLE(USB11HDP3, USB11H3, USB11H3_DESC); 1102 - SS_PIN_DECL(H2, GPIOQ6, USB11HDP3); 1042 + SIG_EXPR_LIST_DECL_SINGLE(H2, USB11HDP3, USB11H3, USB11H3_DESC); 1043 + PIN_DECL_1(H2, GPIOQ6, USB11HDP3); 1103 1044 1104 1045 #define H1 135 1105 - SIG_EXPR_LIST_DECL_SINGLE(USB11HDN3, USB11H3, USB11H3_DESC); 1106 - SS_PIN_DECL(H1, GPIOQ7, USB11HDN3); 1046 + SIG_EXPR_LIST_DECL_SINGLE(H1, USB11HDN3, USB11H3, USB11H3_DESC); 1047 + PIN_DECL_1(H1, GPIOQ7, USB11HDN3); 1107 1048 1108 1049 #define V20 136 1109 1050 SSSF_PIN_DECL(V20, GPIOR0, ROMCS1, SIG_DESC_SET(SCU88, 24)); ··· 1126 1067 1127 1068 #define V21 140 1128 1069 #define V21_DESC SIG_DESC_SET(SCU88, 28) 1129 - SIG_EXPR_DECL(ROMA24, ROM8, V21_DESC, VPO_OFF_12); 1130 - SIG_EXPR_DECL(ROMA24, ROM16, V21_DESC, VPO_OFF_12); 1131 - SIG_EXPR_DECL(ROMA24, ROM16S, V21_DESC, VPO_OFF_12); 1132 - SIG_EXPR_LIST_DECL(ROMA24, SIG_EXPR_PTR(ROMA24, ROM8), 1070 + SIG_EXPR_DECL_SINGLE(ROMA24, ROM8, V21_DESC, VPO_OFF_12); 1071 + SIG_EXPR_DECL_SINGLE(ROMA24, ROM16, V21_DESC, VPO_OFF_12); 1072 + SIG_EXPR_DECL_SINGLE(ROMA24, ROM16S, V21_DESC, VPO_OFF_12); 1073 + SIG_EXPR_LIST_DECL(ROMA24, ROM, 1074 + SIG_EXPR_PTR(ROMA24, ROM8), 1133 1075 SIG_EXPR_PTR(ROMA24, ROM16), 1134 1076 SIG_EXPR_PTR(ROMA24, ROM16S)); 1135 - SIG_EXPR_LIST_DECL_SINGLE(VPOR6, VPO24, V21_DESC, VPO_24_OFF); 1136 - MS_PIN_DECL(V21, GPIOR4, ROMA24, VPOR6); 1077 + SIG_EXPR_LIST_ALIAS(V21, ROMA24, ROM); 1078 + SIG_EXPR_LIST_DECL_SINGLE(V21, VPOR6, VPO24, V21_DESC, VPO_24_OFF); 1079 + PIN_DECL_2(V21, GPIOR4, ROMA24, VPOR6); 1137 1080 1138 1081 #define W22 141 1139 1082 #define W22_DESC SIG_DESC_SET(SCU88, 29) 1140 - SIG_EXPR_DECL(ROMA25, ROM8, W22_DESC, VPO_OFF_12); 1141 - SIG_EXPR_DECL(ROMA25, ROM16, W22_DESC, VPO_OFF_12); 1142 - SIG_EXPR_DECL(ROMA25, ROM16S, W22_DESC, VPO_OFF_12); 1143 - SIG_EXPR_LIST_DECL(ROMA25, SIG_EXPR_PTR(ROMA25, ROM8), 1083 + SIG_EXPR_DECL_SINGLE(ROMA25, ROM8, W22_DESC, VPO_OFF_12); 1084 + SIG_EXPR_DECL_SINGLE(ROMA25, ROM16, W22_DESC, VPO_OFF_12); 1085 + SIG_EXPR_DECL_SINGLE(ROMA25, ROM16S, W22_DESC, VPO_OFF_12); 1086 + SIG_EXPR_LIST_DECL(ROMA25, ROM, 1087 + SIG_EXPR_PTR(ROMA25, ROM8), 1144 1088 SIG_EXPR_PTR(ROMA25, ROM16), 1145 1089 SIG_EXPR_PTR(ROMA25, ROM16S)); 1146 - SIG_EXPR_LIST_DECL_SINGLE(VPOR7, VPO24, W22_DESC, VPO_24_OFF); 1147 - MS_PIN_DECL(W22, GPIOR5, ROMA25, VPOR7); 1090 + SIG_EXPR_LIST_ALIAS(W22, ROMA25, ROM); 1091 + SIG_EXPR_LIST_DECL_SINGLE(W22, VPOR7, VPO24, W22_DESC, VPO_24_OFF); 1092 + PIN_DECL_2(W22, GPIOR5, ROMA25, VPOR7); 1148 1093 1149 1094 #define C6 142 1150 - SIG_EXPR_LIST_DECL_SINGLE(MDC1, MDIO1, SIG_DESC_SET(SCU88, 30)); 1151 - SS_PIN_DECL(C6, GPIOR6, MDC1); 1095 + SIG_EXPR_LIST_DECL_SINGLE(C6, MDC1, MDIO1, SIG_DESC_SET(SCU88, 30)); 1096 + PIN_DECL_1(C6, GPIOR6, MDC1); 1152 1097 1153 1098 #define A5 143 1154 - SIG_EXPR_LIST_DECL_SINGLE(MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31)); 1155 - SS_PIN_DECL(A5, GPIOR7, MDIO1); 1099 + SIG_EXPR_LIST_DECL_SINGLE(A5, MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31)); 1100 + PIN_DECL_1(A5, GPIOR7, MDIO1); 1156 1101 1157 1102 FUNC_GROUP_DECL(MDIO1, C6, A5); 1158 1103 1159 1104 #define U21 144 1160 1105 #define U21_DESC SIG_DESC_SET(SCU8C, 0) 1161 - SIG_EXPR_DECL(ROMD4, ROM8, U21_DESC, VPOOFF0_DESC); 1162 - SIG_EXPR_DECL(ROMD4, ROM16, U21_DESC, VPOOFF0_DESC); 1163 - SIG_EXPR_DECL(ROMD4, ROM16S, U21_DESC, VPOOFF0_DESC); 1164 - SIG_EXPR_LIST_DECL(ROMD4, SIG_EXPR_PTR(ROMD4, ROM8), 1106 + SIG_EXPR_DECL_SINGLE(ROMD4, ROM8, U21_DESC, VPOOFF0_DESC); 1107 + SIG_EXPR_DECL_SINGLE(ROMD4, ROM16, U21_DESC, VPOOFF0_DESC); 1108 + SIG_EXPR_DECL_SINGLE(ROMD4, ROM16S, U21_DESC, VPOOFF0_DESC); 1109 + SIG_EXPR_LIST_DECL(ROMD4, ROM, 1110 + SIG_EXPR_PTR(ROMD4, ROM8), 1165 1111 SIG_EXPR_PTR(ROMD4, ROM16), 1166 1112 SIG_EXPR_PTR(ROMD4, ROM16S)); 1167 - SIG_EXPR_DECL(VPODE, VPO12, U21_DESC, VPO12_DESC); 1168 - SIG_EXPR_DECL(VPODE, VPO24, U21_DESC, VPO12_DESC); 1169 - SIG_EXPR_LIST_DECL_DUAL(VPODE, VPO12, VPO24); 1170 - MS_PIN_DECL(U21, GPIOS0, ROMD4, VPODE); 1113 + SIG_EXPR_LIST_ALIAS(U21, ROMD4, ROM); 1114 + SIG_EXPR_DECL_SINGLE(VPODE, VPO12, U21_DESC, VPO12_DESC); 1115 + SIG_EXPR_DECL_SINGLE(VPODE, VPO24, U21_DESC, VPO12_DESC); 1116 + SIG_EXPR_LIST_DECL_DUAL(U21, VPODE, VPO12, VPO24); 1117 + PIN_DECL_2(U21, GPIOS0, ROMD4, VPODE); 1171 1118 1172 1119 #define T19 145 1173 1120 #define T19_DESC SIG_DESC_SET(SCU8C, 1) 1174 - SIG_EXPR_DECL(ROMD5, ROM8, T19_DESC, VPOOFF0_DESC); 1175 - SIG_EXPR_DECL(ROMD5, ROM16, T19_DESC, VPOOFF0_DESC); 1176 - SIG_EXPR_DECL(ROMD5, ROM16S, T19_DESC, VPOOFF0_DESC); 1177 - SIG_EXPR_LIST_DECL(ROMD5, SIG_EXPR_PTR(ROMD5, ROM8), 1121 + SIG_EXPR_DECL_SINGLE(ROMD5, ROM8, T19_DESC, VPOOFF0_DESC); 1122 + SIG_EXPR_DECL_SINGLE(ROMD5, ROM16, T19_DESC, VPOOFF0_DESC); 1123 + SIG_EXPR_DECL_SINGLE(ROMD5, ROM16S, T19_DESC, VPOOFF0_DESC); 1124 + SIG_EXPR_LIST_DECL(ROMD5, ROM, 1125 + SIG_EXPR_PTR(ROMD5, ROM8), 1178 1126 SIG_EXPR_PTR(ROMD5, ROM16), 1179 1127 SIG_EXPR_PTR(ROMD5, ROM16S)); 1180 - SIG_EXPR_DECL(VPOHS, VPO12, T19_DESC, VPO12_DESC); 1181 - SIG_EXPR_DECL(VPOHS, VPO24, T19_DESC, VPO24_DESC); 1182 - SIG_EXPR_LIST_DECL_DUAL(VPOHS, VPO12, VPO24); 1183 - MS_PIN_DECL(T19, GPIOS1, ROMD5, VPOHS); 1128 + SIG_EXPR_LIST_ALIAS(T19, ROMD5, ROM); 1129 + SIG_EXPR_DECL_SINGLE(VPOHS, VPO12, T19_DESC, VPO12_DESC); 1130 + SIG_EXPR_DECL_SINGLE(VPOHS, VPO24, T19_DESC, VPO24_DESC); 1131 + SIG_EXPR_LIST_DECL_DUAL(T19, VPOHS, VPO12, VPO24); 1132 + PIN_DECL_2(T19, GPIOS1, ROMD5, VPOHS); 1184 1133 1185 1134 #define V22 146 1186 1135 #define V22_DESC SIG_DESC_SET(SCU8C, 2) 1187 - SIG_EXPR_DECL(ROMD6, ROM8, V22_DESC, VPOOFF0_DESC); 1188 - SIG_EXPR_DECL(ROMD6, ROM16, V22_DESC, VPOOFF0_DESC); 1189 - SIG_EXPR_DECL(ROMD6, ROM16S, V22_DESC, VPOOFF0_DESC); 1190 - SIG_EXPR_LIST_DECL(ROMD6, SIG_EXPR_PTR(ROMD6, ROM8), 1136 + SIG_EXPR_DECL_SINGLE(ROMD6, ROM8, V22_DESC, VPOOFF0_DESC); 1137 + SIG_EXPR_DECL_SINGLE(ROMD6, ROM16, V22_DESC, VPOOFF0_DESC); 1138 + SIG_EXPR_DECL_SINGLE(ROMD6, ROM16S, V22_DESC, VPOOFF0_DESC); 1139 + SIG_EXPR_LIST_DECL(ROMD6, ROM, 1140 + SIG_EXPR_PTR(ROMD6, ROM8), 1191 1141 SIG_EXPR_PTR(ROMD6, ROM16), 1192 1142 SIG_EXPR_PTR(ROMD6, ROM16S)); 1193 - SIG_EXPR_DECL(VPOVS, VPO12, V22_DESC, VPO12_DESC); 1194 - SIG_EXPR_DECL(VPOVS, VPO24, V22_DESC, VPO24_DESC); 1195 - SIG_EXPR_LIST_DECL_DUAL(VPOVS, VPO12, VPO24); 1196 - MS_PIN_DECL(V22, GPIOS2, ROMD6, VPOVS); 1143 + SIG_EXPR_LIST_ALIAS(V22, ROMD6, ROM); 1144 + SIG_EXPR_DECL_SINGLE(VPOVS, VPO12, V22_DESC, VPO12_DESC); 1145 + SIG_EXPR_DECL_SINGLE(VPOVS, VPO24, V22_DESC, VPO24_DESC); 1146 + SIG_EXPR_LIST_DECL_DUAL(V22, VPOVS, VPO12, VPO24); 1147 + PIN_DECL_2(V22, GPIOS2, ROMD6, VPOVS); 1197 1148 1198 1149 #define U20 147 1199 1150 #define U20_DESC SIG_DESC_SET(SCU8C, 3) 1200 - SIG_EXPR_DECL(ROMD7, ROM8, U20_DESC, VPOOFF0_DESC); 1201 - SIG_EXPR_DECL(ROMD7, ROM16, U20_DESC, VPOOFF0_DESC); 1202 - SIG_EXPR_DECL(ROMD7, ROM16S, U20_DESC, VPOOFF0_DESC); 1203 - SIG_EXPR_LIST_DECL(ROMD7, SIG_EXPR_PTR(ROMD7, ROM8), 1151 + SIG_EXPR_DECL_SINGLE(ROMD7, ROM8, U20_DESC, VPOOFF0_DESC); 1152 + SIG_EXPR_DECL_SINGLE(ROMD7, ROM16, U20_DESC, VPOOFF0_DESC); 1153 + SIG_EXPR_DECL_SINGLE(ROMD7, ROM16S, U20_DESC, VPOOFF0_DESC); 1154 + SIG_EXPR_LIST_DECL(ROMD7, ROM, 1155 + SIG_EXPR_PTR(ROMD7, ROM8), 1204 1156 SIG_EXPR_PTR(ROMD7, ROM16), 1205 1157 SIG_EXPR_PTR(ROMD7, ROM16S)); 1206 - SIG_EXPR_DECL(VPOCLK, VPO12, U20_DESC, VPO12_DESC); 1207 - SIG_EXPR_DECL(VPOCLK, VPO24, U20_DESC, VPO24_DESC); 1208 - SIG_EXPR_LIST_DECL_DUAL(VPOCLK, VPO12, VPO24); 1209 - MS_PIN_DECL(U20, GPIOS3, ROMD7, VPOCLK); 1158 + SIG_EXPR_LIST_ALIAS(U20, ROMD7, ROM); 1159 + SIG_EXPR_DECL_SINGLE(VPOCLK, VPO12, U20_DESC, VPO12_DESC); 1160 + SIG_EXPR_DECL_SINGLE(VPOCLK, VPO24, U20_DESC, VPO24_DESC); 1161 + SIG_EXPR_LIST_DECL_DUAL(U20, VPOCLK, VPO12, VPO24); 1162 + PIN_DECL_2(U20, GPIOS3, ROMD7, VPOCLK); 1210 1163 1211 1164 #define R18 148 1212 1165 #define ROMOE_DESC SIG_DESC_SET(SCU8C, 4) 1213 - SIG_EXPR_LIST_DECL_SINGLE(GPIOS4, GPIOS4); 1214 - SIG_EXPR_DECL(ROMOE, ROM8, ROMOE_DESC); 1215 - SIG_EXPR_DECL(ROMOE, ROM16, ROMOE_DESC); 1216 - SIG_EXPR_DECL(ROMOE, ROM16S, ROMOE_DESC); 1217 - SIG_EXPR_LIST_DECL(ROMOE, SIG_EXPR_PTR(ROMOE, ROM8), 1166 + SIG_EXPR_LIST_DECL_SINGLE(R18, GPIOS4, GPIOS4); 1167 + SIG_EXPR_DECL_SINGLE(ROMOE, ROM8, ROMOE_DESC); 1168 + SIG_EXPR_DECL_SINGLE(ROMOE, ROM16, ROMOE_DESC); 1169 + SIG_EXPR_DECL_SINGLE(ROMOE, ROM16S, ROMOE_DESC); 1170 + SIG_EXPR_LIST_DECL(ROMOE, ROM, 1171 + SIG_EXPR_PTR(ROMOE, ROM8), 1218 1172 SIG_EXPR_PTR(ROMOE, ROM16), 1219 1173 SIG_EXPR_PTR(ROMOE, ROM16S)); 1220 - MS_PIN_DECL_(R18, SIG_EXPR_LIST_PTR(ROMOE), SIG_EXPR_LIST_PTR(GPIOS4)); 1174 + SIG_EXPR_LIST_ALIAS(R18, ROMOE, ROM); 1175 + PIN_DECL_(R18, SIG_EXPR_LIST_PTR(R18, ROMOE), SIG_EXPR_LIST_PTR(R18, GPIOS4)); 1221 1176 1222 1177 #define N21 149 1223 1178 #define ROMWE_DESC SIG_DESC_SET(SCU8C, 5) 1224 - SIG_EXPR_LIST_DECL_SINGLE(GPIOS5, GPIOS5); 1225 - SIG_EXPR_DECL(ROMWE, ROM8, ROMWE_DESC); 1226 - SIG_EXPR_DECL(ROMWE, ROM16, ROMWE_DESC); 1227 - SIG_EXPR_DECL(ROMWE, ROM16S, ROMWE_DESC); 1228 - SIG_EXPR_LIST_DECL(ROMWE, SIG_EXPR_PTR(ROMWE, ROM8), 1179 + SIG_EXPR_LIST_DECL_SINGLE(N21, GPIOS5, GPIOS5); 1180 + SIG_EXPR_DECL_SINGLE(ROMWE, ROM8, ROMWE_DESC); 1181 + SIG_EXPR_DECL_SINGLE(ROMWE, ROM16, ROMWE_DESC); 1182 + SIG_EXPR_DECL_SINGLE(ROMWE, ROM16S, ROMWE_DESC); 1183 + SIG_EXPR_LIST_DECL(ROMWE, ROM, 1184 + SIG_EXPR_PTR(ROMWE, ROM8), 1229 1185 SIG_EXPR_PTR(ROMWE, ROM16), 1230 1186 SIG_EXPR_PTR(ROMWE, ROM16S)); 1231 - MS_PIN_DECL_(N21, SIG_EXPR_LIST_PTR(ROMWE), SIG_EXPR_LIST_PTR(GPIOS5)); 1187 + SIG_EXPR_LIST_ALIAS(N21, ROMWE, ROM); 1188 + PIN_DECL_(N21, SIG_EXPR_LIST_PTR(N21, ROMWE), SIG_EXPR_LIST_PTR(N21, GPIOS5)); 1232 1189 1233 1190 #define L22 150 1234 1191 #define L22_DESC SIG_DESC_SET(SCU8C, 6) 1235 - SIG_EXPR_DECL(ROMA22, ROM8, L22_DESC, VPO_OFF_12); 1236 - SIG_EXPR_DECL(ROMA22, ROM16, L22_DESC, VPO_OFF_12); 1237 - SIG_EXPR_DECL(ROMA22, ROM16S, L22_DESC, VPO_OFF_12); 1238 - SIG_EXPR_LIST_DECL(ROMA22, SIG_EXPR_PTR(ROMA22, ROM8), 1192 + SIG_EXPR_DECL_SINGLE(ROMA22, ROM8, L22_DESC, VPO_OFF_12); 1193 + SIG_EXPR_DECL_SINGLE(ROMA22, ROM16, L22_DESC, VPO_OFF_12); 1194 + SIG_EXPR_DECL_SINGLE(ROMA22, ROM16S, L22_DESC, VPO_OFF_12); 1195 + SIG_EXPR_LIST_DECL(ROMA22, ROM, 1196 + SIG_EXPR_PTR(ROMA22, ROM8), 1239 1197 SIG_EXPR_PTR(ROMA22, ROM16), 1240 1198 SIG_EXPR_PTR(ROMA22, ROM16S)); 1241 - SIG_EXPR_LIST_DECL_SINGLE(VPOR4, VPO24, L22_DESC, VPO_24_OFF); 1242 - MS_PIN_DECL(L22, GPIOS6, ROMA22, VPOR4); 1199 + SIG_EXPR_LIST_ALIAS(L22, ROMA22, ROM); 1200 + SIG_EXPR_LIST_DECL_SINGLE(L22, VPOR4, VPO24, L22_DESC, VPO_24_OFF); 1201 + PIN_DECL_2(L22, GPIOS6, ROMA22, VPOR4); 1243 1202 1244 1203 #define K18 151 1245 1204 #define K18_DESC SIG_DESC_SET(SCU8C, 7) 1246 - SIG_EXPR_DECL(ROMA23, ROM8, K18_DESC, VPO_OFF_12); 1247 - SIG_EXPR_DECL(ROMA23, ROM16, K18_DESC, VPO_OFF_12); 1248 - SIG_EXPR_DECL(ROMA23, ROM16S, K18_DESC, VPO_OFF_12); 1249 - SIG_EXPR_LIST_DECL(ROMA23, SIG_EXPR_PTR(ROMA23, ROM8), 1205 + SIG_EXPR_DECL_SINGLE(ROMA23, ROM8, K18_DESC, VPO_OFF_12); 1206 + SIG_EXPR_DECL_SINGLE(ROMA23, ROM16, K18_DESC, VPO_OFF_12); 1207 + SIG_EXPR_DECL_SINGLE(ROMA23, ROM16S, K18_DESC, VPO_OFF_12); 1208 + SIG_EXPR_LIST_DECL(ROMA23, ROM, 1209 + SIG_EXPR_PTR(ROMA23, ROM8), 1250 1210 SIG_EXPR_PTR(ROMA23, ROM16), 1251 1211 SIG_EXPR_PTR(ROMA23, ROM16S)); 1252 - SIG_EXPR_LIST_DECL_SINGLE(VPOR5, VPO24, K18_DESC, VPO_24_OFF); 1253 - MS_PIN_DECL(K18, GPIOS7, ROMA23, VPOR5); 1212 + SIG_EXPR_LIST_ALIAS(K18, ROMA23, ROM); 1213 + SIG_EXPR_LIST_DECL_SINGLE(K18, VPOR5, VPO24, K18_DESC, VPO_24_OFF); 1214 + PIN_DECL_2(K18, GPIOS7, ROMA23, VPOR5); 1254 1215 1255 1216 #define RMII1_DESC SIG_DESC_BIT(HW_STRAP1, 6, 0) 1256 1217 1257 1218 #define A12 152 1258 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0)); 1259 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXEN, RMII1, RMII1_DESC); 1260 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCK, RGMII1); 1261 - MS_PIN_DECL_(A12, SIG_EXPR_LIST_PTR(GPIOT0), SIG_EXPR_LIST_PTR(RMII1TXEN), 1262 - SIG_EXPR_LIST_PTR(RGMII1TXCK)); 1219 + SIG_EXPR_LIST_DECL_SINGLE(A12, GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0)); 1220 + SIG_EXPR_LIST_DECL_SINGLE(A12, RMII1TXEN, RMII1, RMII1_DESC); 1221 + SIG_EXPR_LIST_DECL_SINGLE(A12, RGMII1TXCK, RGMII1); 1222 + PIN_DECL_(A12, SIG_EXPR_LIST_PTR(A12, GPIOT0), 1223 + SIG_EXPR_LIST_PTR(A12, RMII1TXEN), 1224 + SIG_EXPR_LIST_PTR(A12, RGMII1TXCK)); 1263 1225 1264 1226 #define B12 153 1265 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1)); 1266 - SIG_EXPR_LIST_DECL_SINGLE(DASHB12, RMII1, RMII1_DESC); 1267 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCTL, RGMII1); 1268 - MS_PIN_DECL_(B12, SIG_EXPR_LIST_PTR(GPIOT1), SIG_EXPR_LIST_PTR(DASHB12), 1269 - SIG_EXPR_LIST_PTR(RGMII1TXCTL)); 1227 + SIG_EXPR_LIST_DECL_SINGLE(B12, GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1)); 1228 + SIG_EXPR_LIST_DECL_SINGLE(B12, DASHB12, RMII1, RMII1_DESC); 1229 + SIG_EXPR_LIST_DECL_SINGLE(B12, RGMII1TXCTL, RGMII1); 1230 + PIN_DECL_(B12, SIG_EXPR_LIST_PTR(B12, GPIOT1), SIG_EXPR_LIST_PTR(B12, DASHB12), 1231 + SIG_EXPR_LIST_PTR(B12, RGMII1TXCTL)); 1270 1232 1271 1233 #define C12 154 1272 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2)); 1273 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD0, RMII1, RMII1_DESC); 1274 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD0, RGMII1); 1275 - MS_PIN_DECL_(C12, SIG_EXPR_LIST_PTR(GPIOT2), SIG_EXPR_LIST_PTR(RMII1TXD0), 1276 - SIG_EXPR_LIST_PTR(RGMII1TXD0)); 1234 + SIG_EXPR_LIST_DECL_SINGLE(C12, GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2)); 1235 + SIG_EXPR_LIST_DECL_SINGLE(C12, RMII1TXD0, RMII1, RMII1_DESC); 1236 + SIG_EXPR_LIST_DECL_SINGLE(C12, RGMII1TXD0, RGMII1); 1237 + PIN_DECL_(C12, SIG_EXPR_LIST_PTR(C12, GPIOT2), 1238 + SIG_EXPR_LIST_PTR(C12, RMII1TXD0), 1239 + SIG_EXPR_LIST_PTR(C12, RGMII1TXD0)); 1277 1240 1278 1241 #define D12 155 1279 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3)); 1280 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD1, RMII1, RMII1_DESC); 1281 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD1, RGMII1); 1282 - MS_PIN_DECL_(D12, SIG_EXPR_LIST_PTR(GPIOT3), SIG_EXPR_LIST_PTR(RMII1TXD1), 1283 - SIG_EXPR_LIST_PTR(RGMII1TXD1)); 1242 + SIG_EXPR_LIST_DECL_SINGLE(D12, GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3)); 1243 + SIG_EXPR_LIST_DECL_SINGLE(D12, RMII1TXD1, RMII1, RMII1_DESC); 1244 + SIG_EXPR_LIST_DECL_SINGLE(D12, RGMII1TXD1, RGMII1); 1245 + PIN_DECL_(D12, SIG_EXPR_LIST_PTR(D12, GPIOT3), 1246 + SIG_EXPR_LIST_PTR(D12, RMII1TXD1), 1247 + SIG_EXPR_LIST_PTR(D12, RGMII1TXD1)); 1284 1248 1285 1249 #define E12 156 1286 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4)); 1287 - SIG_EXPR_LIST_DECL_SINGLE(DASHE12, RMII1, RMII1_DESC); 1288 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD2, RGMII1); 1289 - MS_PIN_DECL_(E12, SIG_EXPR_LIST_PTR(GPIOT4), SIG_EXPR_LIST_PTR(DASHE12), 1290 - SIG_EXPR_LIST_PTR(RGMII1TXD2)); 1250 + SIG_EXPR_LIST_DECL_SINGLE(E12, GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4)); 1251 + SIG_EXPR_LIST_DECL_SINGLE(E12, DASHE12, RMII1, RMII1_DESC); 1252 + SIG_EXPR_LIST_DECL_SINGLE(E12, RGMII1TXD2, RGMII1); 1253 + PIN_DECL_(E12, SIG_EXPR_LIST_PTR(E12, GPIOT4), SIG_EXPR_LIST_PTR(E12, DASHE12), 1254 + SIG_EXPR_LIST_PTR(E12, RGMII1TXD2)); 1291 1255 1292 1256 #define A13 157 1293 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5)); 1294 - SIG_EXPR_LIST_DECL_SINGLE(DASHA13, RMII1, RMII1_DESC); 1295 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD3, RGMII1); 1296 - MS_PIN_DECL_(A13, SIG_EXPR_LIST_PTR(GPIOT5), SIG_EXPR_LIST_PTR(DASHA13), 1297 - SIG_EXPR_LIST_PTR(RGMII1TXD3)); 1257 + SIG_EXPR_LIST_DECL_SINGLE(A13, GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5)); 1258 + SIG_EXPR_LIST_DECL_SINGLE(A13, DASHA13, RMII1, RMII1_DESC); 1259 + SIG_EXPR_LIST_DECL_SINGLE(A13, RGMII1TXD3, RGMII1); 1260 + PIN_DECL_(A13, SIG_EXPR_LIST_PTR(A13, GPIOT5), SIG_EXPR_LIST_PTR(A13, DASHA13), 1261 + SIG_EXPR_LIST_PTR(A13, RGMII1TXD3)); 1298 1262 1299 1263 #define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0) 1300 1264 1301 1265 #define D9 158 1302 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6)); 1303 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXEN, RMII2, RMII2_DESC); 1304 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCK, RGMII2); 1305 - MS_PIN_DECL_(D9, SIG_EXPR_LIST_PTR(GPIOT6), SIG_EXPR_LIST_PTR(RMII2TXEN), 1306 - SIG_EXPR_LIST_PTR(RGMII2TXCK)); 1266 + SIG_EXPR_LIST_DECL_SINGLE(D9, GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6)); 1267 + SIG_EXPR_LIST_DECL_SINGLE(D9, RMII2TXEN, RMII2, RMII2_DESC); 1268 + SIG_EXPR_LIST_DECL_SINGLE(D9, RGMII2TXCK, RGMII2); 1269 + PIN_DECL_(D9, SIG_EXPR_LIST_PTR(D9, GPIOT6), SIG_EXPR_LIST_PTR(D9, RMII2TXEN), 1270 + SIG_EXPR_LIST_PTR(D9, RGMII2TXCK)); 1307 1271 1308 1272 #define E9 159 1309 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7)); 1310 - SIG_EXPR_LIST_DECL_SINGLE(DASHE9, RMII2, RMII2_DESC); 1311 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCTL, RGMII2); 1312 - MS_PIN_DECL_(E9, SIG_EXPR_LIST_PTR(GPIOT7), SIG_EXPR_LIST_PTR(DASHE9), 1313 - SIG_EXPR_LIST_PTR(RGMII2TXCTL)); 1273 + SIG_EXPR_LIST_DECL_SINGLE(E9, GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7)); 1274 + SIG_EXPR_LIST_DECL_SINGLE(E9, DASHE9, RMII2, RMII2_DESC); 1275 + SIG_EXPR_LIST_DECL_SINGLE(E9, RGMII2TXCTL, RGMII2); 1276 + PIN_DECL_(E9, SIG_EXPR_LIST_PTR(E9, GPIOT7), SIG_EXPR_LIST_PTR(E9, DASHE9), 1277 + SIG_EXPR_LIST_PTR(E9, RGMII2TXCTL)); 1314 1278 1315 1279 #define A10 160 1316 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8)); 1317 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD0, RMII2, RMII2_DESC); 1318 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD0, RGMII2); 1319 - MS_PIN_DECL_(A10, SIG_EXPR_LIST_PTR(GPIOU0), SIG_EXPR_LIST_PTR(RMII2TXD0), 1320 - SIG_EXPR_LIST_PTR(RGMII2TXD0)); 1280 + SIG_EXPR_LIST_DECL_SINGLE(A10, GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8)); 1281 + SIG_EXPR_LIST_DECL_SINGLE(A10, RMII2TXD0, RMII2, RMII2_DESC); 1282 + SIG_EXPR_LIST_DECL_SINGLE(A10, RGMII2TXD0, RGMII2); 1283 + PIN_DECL_(A10, SIG_EXPR_LIST_PTR(A10, GPIOU0), 1284 + SIG_EXPR_LIST_PTR(A10, RMII2TXD0), 1285 + SIG_EXPR_LIST_PTR(A10, RGMII2TXD0)); 1321 1286 1322 1287 #define B10 161 1323 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9)); 1324 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD1, RMII2, RMII2_DESC); 1325 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD1, RGMII2); 1326 - MS_PIN_DECL_(B10, SIG_EXPR_LIST_PTR(GPIOU1), SIG_EXPR_LIST_PTR(RMII2TXD1), 1327 - SIG_EXPR_LIST_PTR(RGMII2TXD1)); 1288 + SIG_EXPR_LIST_DECL_SINGLE(B10, GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9)); 1289 + SIG_EXPR_LIST_DECL_SINGLE(B10, RMII2TXD1, RMII2, RMII2_DESC); 1290 + SIG_EXPR_LIST_DECL_SINGLE(B10, RGMII2TXD1, RGMII2); 1291 + PIN_DECL_(B10, SIG_EXPR_LIST_PTR(B10, GPIOU1), 1292 + SIG_EXPR_LIST_PTR(B10, RMII2TXD1), 1293 + SIG_EXPR_LIST_PTR(B10, RGMII2TXD1)); 1328 1294 1329 1295 #define C10 162 1330 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10)); 1331 - SIG_EXPR_LIST_DECL_SINGLE(DASHC10, RMII2, RMII2_DESC); 1332 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD2, RGMII2); 1333 - MS_PIN_DECL_(C10, SIG_EXPR_LIST_PTR(GPIOU2), SIG_EXPR_LIST_PTR(DASHC10), 1334 - SIG_EXPR_LIST_PTR(RGMII2TXD2)); 1296 + SIG_EXPR_LIST_DECL_SINGLE(C10, GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10)); 1297 + SIG_EXPR_LIST_DECL_SINGLE(C10, DASHC10, RMII2, RMII2_DESC); 1298 + SIG_EXPR_LIST_DECL_SINGLE(C10, RGMII2TXD2, RGMII2); 1299 + PIN_DECL_(C10, SIG_EXPR_LIST_PTR(C10, GPIOU2), SIG_EXPR_LIST_PTR(C10, DASHC10), 1300 + SIG_EXPR_LIST_PTR(C10, RGMII2TXD2)); 1335 1301 1336 1302 #define D10 163 1337 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11)); 1338 - SIG_EXPR_LIST_DECL_SINGLE(DASHD10, RMII2, RMII2_DESC); 1339 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD3, RGMII2); 1340 - MS_PIN_DECL_(D10, SIG_EXPR_LIST_PTR(GPIOU3), SIG_EXPR_LIST_PTR(DASHD10), 1341 - SIG_EXPR_LIST_PTR(RGMII2TXD3)); 1303 + SIG_EXPR_LIST_DECL_SINGLE(D10, GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11)); 1304 + SIG_EXPR_LIST_DECL_SINGLE(D10, DASHD10, RMII2, RMII2_DESC); 1305 + SIG_EXPR_LIST_DECL_SINGLE(D10, RGMII2TXD3, RGMII2); 1306 + PIN_DECL_(D10, SIG_EXPR_LIST_PTR(D10, GPIOU3), SIG_EXPR_LIST_PTR(D10, DASHD10), 1307 + SIG_EXPR_LIST_PTR(D10, RGMII2TXD3)); 1342 1308 1343 1309 #define E11 164 1344 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12)); 1345 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RCLK, RMII1, RMII1_DESC); 1346 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCK, RGMII1); 1347 - MS_PIN_DECL_(E11, SIG_EXPR_LIST_PTR(GPIOU4), SIG_EXPR_LIST_PTR(RMII1RCLK), 1348 - SIG_EXPR_LIST_PTR(RGMII1RXCK)); 1310 + SIG_EXPR_LIST_DECL_SINGLE(E11, GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12)); 1311 + SIG_EXPR_LIST_DECL_SINGLE(E11, RMII1RCLK, RMII1, RMII1_DESC); 1312 + SIG_EXPR_LIST_DECL_SINGLE(E11, RGMII1RXCK, RGMII1); 1313 + PIN_DECL_(E11, SIG_EXPR_LIST_PTR(E11, GPIOU4), 1314 + SIG_EXPR_LIST_PTR(E11, RMII1RCLK), 1315 + SIG_EXPR_LIST_PTR(E11, RGMII1RXCK)); 1349 1316 1350 1317 #define D11 165 1351 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13)); 1352 - SIG_EXPR_LIST_DECL_SINGLE(DASHD11, RMII1, RMII1_DESC); 1353 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCTL, RGMII1); 1354 - MS_PIN_DECL_(D11, SIG_EXPR_LIST_PTR(GPIOU5), SIG_EXPR_LIST_PTR(DASHD11), 1355 - SIG_EXPR_LIST_PTR(RGMII1RXCTL)); 1318 + SIG_EXPR_LIST_DECL_SINGLE(D11, GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13)); 1319 + SIG_EXPR_LIST_DECL_SINGLE(D11, DASHD11, RMII1, RMII1_DESC); 1320 + SIG_EXPR_LIST_DECL_SINGLE(D11, RGMII1RXCTL, RGMII1); 1321 + PIN_DECL_(D11, SIG_EXPR_LIST_PTR(D11, GPIOU5), SIG_EXPR_LIST_PTR(D11, DASHD11), 1322 + SIG_EXPR_LIST_PTR(D11, RGMII1RXCTL)); 1356 1323 1357 1324 #define C11 166 1358 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14)); 1359 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD0, RMII1, RMII1_DESC); 1360 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD0, RGMII1); 1361 - MS_PIN_DECL_(C11, SIG_EXPR_LIST_PTR(GPIOU6), SIG_EXPR_LIST_PTR(RMII1RXD0), 1362 - SIG_EXPR_LIST_PTR(RGMII1RXD0)); 1325 + SIG_EXPR_LIST_DECL_SINGLE(C11, GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14)); 1326 + SIG_EXPR_LIST_DECL_SINGLE(C11, RMII1RXD0, RMII1, RMII1_DESC); 1327 + SIG_EXPR_LIST_DECL_SINGLE(C11, RGMII1RXD0, RGMII1); 1328 + PIN_DECL_(C11, SIG_EXPR_LIST_PTR(C11, GPIOU6), 1329 + SIG_EXPR_LIST_PTR(C11, RMII1RXD0), 1330 + SIG_EXPR_LIST_PTR(C11, RGMII1RXD0)); 1363 1331 1364 1332 #define B11 167 1365 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15)); 1366 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD1, RMII1, RMII1_DESC); 1367 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD1, RGMII1); 1368 - MS_PIN_DECL_(B11, SIG_EXPR_LIST_PTR(GPIOU7), SIG_EXPR_LIST_PTR(RMII1RXD1), 1369 - SIG_EXPR_LIST_PTR(RGMII1RXD1)); 1333 + SIG_EXPR_LIST_DECL_SINGLE(B11, GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15)); 1334 + SIG_EXPR_LIST_DECL_SINGLE(B11, RMII1RXD1, RMII1, RMII1_DESC); 1335 + SIG_EXPR_LIST_DECL_SINGLE(B11, RGMII1RXD1, RGMII1); 1336 + PIN_DECL_(B11, SIG_EXPR_LIST_PTR(B11, GPIOU7), 1337 + SIG_EXPR_LIST_PTR(B11, RMII1RXD1), 1338 + SIG_EXPR_LIST_PTR(B11, RGMII1RXD1)); 1370 1339 1371 1340 #define A11 168 1372 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16)); 1373 - SIG_EXPR_LIST_DECL_SINGLE(RMII1CRSDV, RMII1, RMII1_DESC); 1374 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD2, RGMII1); 1375 - MS_PIN_DECL_(A11, SIG_EXPR_LIST_PTR(GPIOV0), SIG_EXPR_LIST_PTR(RMII1CRSDV), 1376 - SIG_EXPR_LIST_PTR(RGMII1RXD2)); 1341 + SIG_EXPR_LIST_DECL_SINGLE(A11, GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16)); 1342 + SIG_EXPR_LIST_DECL_SINGLE(A11, RMII1CRSDV, RMII1, RMII1_DESC); 1343 + SIG_EXPR_LIST_DECL_SINGLE(A11, RGMII1RXD2, RGMII1); 1344 + PIN_DECL_(A11, SIG_EXPR_LIST_PTR(A11, GPIOV0), 1345 + SIG_EXPR_LIST_PTR(A11, RMII1CRSDV), 1346 + SIG_EXPR_LIST_PTR(A11, RGMII1RXD2)); 1377 1347 1378 1348 #define E10 169 1379 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17)); 1380 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXER, RMII1, RMII1_DESC); 1381 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD3, RGMII1); 1382 - MS_PIN_DECL_(E10, SIG_EXPR_LIST_PTR(GPIOV1), SIG_EXPR_LIST_PTR(RMII1RXER), 1383 - SIG_EXPR_LIST_PTR(RGMII1RXD3)); 1349 + SIG_EXPR_LIST_DECL_SINGLE(E10, GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17)); 1350 + SIG_EXPR_LIST_DECL_SINGLE(E10, RMII1RXER, RMII1, RMII1_DESC); 1351 + SIG_EXPR_LIST_DECL_SINGLE(E10, RGMII1RXD3, RGMII1); 1352 + PIN_DECL_(E10, SIG_EXPR_LIST_PTR(E10, GPIOV1), 1353 + SIG_EXPR_LIST_PTR(E10, RMII1RXER), 1354 + SIG_EXPR_LIST_PTR(E10, RGMII1RXD3)); 1384 1355 1385 1356 #define C9 170 1386 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18)); 1387 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RCLK, RMII2, RMII2_DESC); 1388 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCK, RGMII2); 1389 - MS_PIN_DECL_(C9, SIG_EXPR_LIST_PTR(GPIOV2), SIG_EXPR_LIST_PTR(RMII2RCLK), 1390 - SIG_EXPR_LIST_PTR(RGMII2RXCK)); 1357 + SIG_EXPR_LIST_DECL_SINGLE(C9, GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18)); 1358 + SIG_EXPR_LIST_DECL_SINGLE(C9, RMII2RCLK, RMII2, RMII2_DESC); 1359 + SIG_EXPR_LIST_DECL_SINGLE(C9, RGMII2RXCK, RGMII2); 1360 + PIN_DECL_(C9, SIG_EXPR_LIST_PTR(C9, GPIOV2), SIG_EXPR_LIST_PTR(C9, RMII2RCLK), 1361 + SIG_EXPR_LIST_PTR(C9, RGMII2RXCK)); 1391 1362 1392 1363 #define B9 171 1393 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19)); 1394 - SIG_EXPR_LIST_DECL_SINGLE(DASHB9, RMII2, RMII2_DESC); 1395 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCTL, RGMII2); 1396 - MS_PIN_DECL_(B9, SIG_EXPR_LIST_PTR(GPIOV3), SIG_EXPR_LIST_PTR(DASHB9), 1397 - SIG_EXPR_LIST_PTR(RGMII2RXCTL)); 1364 + SIG_EXPR_LIST_DECL_SINGLE(B9, GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19)); 1365 + SIG_EXPR_LIST_DECL_SINGLE(B9, DASHB9, RMII2, RMII2_DESC); 1366 + SIG_EXPR_LIST_DECL_SINGLE(B9, RGMII2RXCTL, RGMII2); 1367 + PIN_DECL_(B9, SIG_EXPR_LIST_PTR(B9, GPIOV3), SIG_EXPR_LIST_PTR(B9, DASHB9), 1368 + SIG_EXPR_LIST_PTR(B9, RGMII2RXCTL)); 1398 1369 1399 1370 #define A9 172 1400 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20)); 1401 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD0, RMII2, RMII2_DESC); 1402 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD0, RGMII2); 1403 - MS_PIN_DECL_(A9, SIG_EXPR_LIST_PTR(GPIOV4), SIG_EXPR_LIST_PTR(RMII2RXD0), 1404 - SIG_EXPR_LIST_PTR(RGMII2RXD0)); 1371 + SIG_EXPR_LIST_DECL_SINGLE(A9, GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20)); 1372 + SIG_EXPR_LIST_DECL_SINGLE(A9, RMII2RXD0, RMII2, RMII2_DESC); 1373 + SIG_EXPR_LIST_DECL_SINGLE(A9, RGMII2RXD0, RGMII2); 1374 + PIN_DECL_(A9, SIG_EXPR_LIST_PTR(A9, GPIOV4), SIG_EXPR_LIST_PTR(A9, RMII2RXD0), 1375 + SIG_EXPR_LIST_PTR(A9, RGMII2RXD0)); 1405 1376 1406 1377 #define E8 173 1407 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21)); 1408 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD1, RMII2, RMII2_DESC); 1409 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD1, RGMII2); 1410 - MS_PIN_DECL_(E8, SIG_EXPR_LIST_PTR(GPIOV5), SIG_EXPR_LIST_PTR(RMII2RXD1), 1411 - SIG_EXPR_LIST_PTR(RGMII2RXD1)); 1378 + SIG_EXPR_LIST_DECL_SINGLE(E8, GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21)); 1379 + SIG_EXPR_LIST_DECL_SINGLE(E8, RMII2RXD1, RMII2, RMII2_DESC); 1380 + SIG_EXPR_LIST_DECL_SINGLE(E8, RGMII2RXD1, RGMII2); 1381 + PIN_DECL_(E8, SIG_EXPR_LIST_PTR(E8, GPIOV5), SIG_EXPR_LIST_PTR(E8, RMII2RXD1), 1382 + SIG_EXPR_LIST_PTR(E8, RGMII2RXD1)); 1412 1383 1413 1384 #define D8 174 1414 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22)); 1415 - SIG_EXPR_LIST_DECL_SINGLE(RMII2CRSDV, RMII2, RMII2_DESC); 1416 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD2, RGMII2); 1417 - MS_PIN_DECL_(D8, SIG_EXPR_LIST_PTR(GPIOV6), SIG_EXPR_LIST_PTR(RMII2CRSDV), 1418 - SIG_EXPR_LIST_PTR(RGMII2RXD2)); 1385 + SIG_EXPR_LIST_DECL_SINGLE(D8, GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22)); 1386 + SIG_EXPR_LIST_DECL_SINGLE(D8, RMII2CRSDV, RMII2, RMII2_DESC); 1387 + SIG_EXPR_LIST_DECL_SINGLE(D8, RGMII2RXD2, RGMII2); 1388 + PIN_DECL_(D8, SIG_EXPR_LIST_PTR(D8, GPIOV6), SIG_EXPR_LIST_PTR(D8, RMII2CRSDV), 1389 + SIG_EXPR_LIST_PTR(D8, RGMII2RXD2)); 1419 1390 1420 1391 #define C8 175 1421 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23)); 1422 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXER, RMII2, RMII2_DESC); 1423 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD3, RGMII2); 1424 - MS_PIN_DECL_(C8, SIG_EXPR_LIST_PTR(GPIOV7), SIG_EXPR_LIST_PTR(RMII2RXER), 1425 - SIG_EXPR_LIST_PTR(RGMII2RXD3)); 1392 + SIG_EXPR_LIST_DECL_SINGLE(C8, GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23)); 1393 + SIG_EXPR_LIST_DECL_SINGLE(C8, RMII2RXER, RMII2, RMII2_DESC); 1394 + SIG_EXPR_LIST_DECL_SINGLE(C8, RGMII2RXD3, RGMII2); 1395 + PIN_DECL_(C8, SIG_EXPR_LIST_PTR(C8, GPIOV7), SIG_EXPR_LIST_PTR(C8, RMII2RXER), 1396 + SIG_EXPR_LIST_PTR(C8, RGMII2RXD3)); 1426 1397 1427 1398 FUNC_GROUP_DECL(RMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11, 1428 1399 E10); ··· 1463 1374 FUNC_GROUP_DECL(RGMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8); 1464 1375 1465 1376 #define L5 176 1466 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24)); 1467 - SIG_EXPR_LIST_DECL_SINGLE(ADC0, ADC0); 1468 - MS_PIN_DECL_(L5, SIG_EXPR_LIST_PTR(GPIOW0), SIG_EXPR_LIST_PTR(ADC0)); 1377 + SIG_EXPR_LIST_DECL_SINGLE(L5, GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24)); 1378 + SIG_EXPR_LIST_DECL_SINGLE(L5, ADC0, ADC0); 1379 + PIN_DECL_(L5, SIG_EXPR_LIST_PTR(L5, GPIOW0), SIG_EXPR_LIST_PTR(L5, ADC0)); 1469 1380 FUNC_GROUP_DECL(ADC0, L5); 1470 1381 1471 1382 #define L4 177 1472 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25)); 1473 - SIG_EXPR_LIST_DECL_SINGLE(ADC1, ADC1); 1474 - MS_PIN_DECL_(L4, SIG_EXPR_LIST_PTR(GPIOW1), SIG_EXPR_LIST_PTR(ADC1)); 1383 + SIG_EXPR_LIST_DECL_SINGLE(L4, GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25)); 1384 + SIG_EXPR_LIST_DECL_SINGLE(L4, ADC1, ADC1); 1385 + PIN_DECL_(L4, SIG_EXPR_LIST_PTR(L4, GPIOW1), SIG_EXPR_LIST_PTR(L4, ADC1)); 1475 1386 FUNC_GROUP_DECL(ADC1, L4); 1476 1387 1477 1388 #define L3 178 1478 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26)); 1479 - SIG_EXPR_LIST_DECL_SINGLE(ADC2, ADC2); 1480 - MS_PIN_DECL_(L3, SIG_EXPR_LIST_PTR(GPIOW2), SIG_EXPR_LIST_PTR(ADC2)); 1389 + SIG_EXPR_LIST_DECL_SINGLE(L3, GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26)); 1390 + SIG_EXPR_LIST_DECL_SINGLE(L3, ADC2, ADC2); 1391 + PIN_DECL_(L3, SIG_EXPR_LIST_PTR(L3, GPIOW2), SIG_EXPR_LIST_PTR(L3, ADC2)); 1481 1392 FUNC_GROUP_DECL(ADC2, L3); 1482 1393 1483 1394 #define L2 179 1484 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27)); 1485 - SIG_EXPR_LIST_DECL_SINGLE(ADC3, ADC3); 1486 - MS_PIN_DECL_(L2, SIG_EXPR_LIST_PTR(GPIOW3), SIG_EXPR_LIST_PTR(ADC3)); 1395 + SIG_EXPR_LIST_DECL_SINGLE(L2, GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27)); 1396 + SIG_EXPR_LIST_DECL_SINGLE(L2, ADC3, ADC3); 1397 + PIN_DECL_(L2, SIG_EXPR_LIST_PTR(L2, GPIOW3), SIG_EXPR_LIST_PTR(L2, ADC3)); 1487 1398 FUNC_GROUP_DECL(ADC3, L2); 1488 1399 1489 1400 #define L1 180 1490 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28)); 1491 - SIG_EXPR_LIST_DECL_SINGLE(ADC4, ADC4); 1492 - MS_PIN_DECL_(L1, SIG_EXPR_LIST_PTR(GPIOW4), SIG_EXPR_LIST_PTR(ADC4)); 1401 + SIG_EXPR_LIST_DECL_SINGLE(L1, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28)); 1402 + SIG_EXPR_LIST_DECL_SINGLE(L1, ADC4, ADC4); 1403 + PIN_DECL_(L1, SIG_EXPR_LIST_PTR(L1, GPIOW4), SIG_EXPR_LIST_PTR(L1, ADC4)); 1493 1404 FUNC_GROUP_DECL(ADC4, L1); 1494 1405 1495 1406 #define M5 181 1496 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29)); 1497 - SIG_EXPR_LIST_DECL_SINGLE(ADC5, ADC5); 1498 - MS_PIN_DECL_(M5, SIG_EXPR_LIST_PTR(GPIOW5), SIG_EXPR_LIST_PTR(ADC5)); 1407 + SIG_EXPR_LIST_DECL_SINGLE(M5, GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29)); 1408 + SIG_EXPR_LIST_DECL_SINGLE(M5, ADC5, ADC5); 1409 + PIN_DECL_(M5, SIG_EXPR_LIST_PTR(M5, GPIOW5), SIG_EXPR_LIST_PTR(M5, ADC5)); 1499 1410 FUNC_GROUP_DECL(ADC5, M5); 1500 1411 1501 1412 #define M4 182 1502 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30)); 1503 - SIG_EXPR_LIST_DECL_SINGLE(ADC6, ADC6); 1504 - MS_PIN_DECL_(M4, SIG_EXPR_LIST_PTR(GPIOW6), SIG_EXPR_LIST_PTR(ADC6)); 1413 + SIG_EXPR_LIST_DECL_SINGLE(M4, GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30)); 1414 + SIG_EXPR_LIST_DECL_SINGLE(M4, ADC6, ADC6); 1415 + PIN_DECL_(M4, SIG_EXPR_LIST_PTR(M4, GPIOW6), SIG_EXPR_LIST_PTR(M4, ADC6)); 1505 1416 FUNC_GROUP_DECL(ADC6, M4); 1506 1417 1507 1418 #define M3 183 1508 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31)); 1509 - SIG_EXPR_LIST_DECL_SINGLE(ADC7, ADC7); 1510 - MS_PIN_DECL_(M3, SIG_EXPR_LIST_PTR(GPIOW7), SIG_EXPR_LIST_PTR(ADC7)); 1419 + SIG_EXPR_LIST_DECL_SINGLE(M3, GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31)); 1420 + SIG_EXPR_LIST_DECL_SINGLE(M3, ADC7, ADC7); 1421 + PIN_DECL_(M3, SIG_EXPR_LIST_PTR(M3, GPIOW7), SIG_EXPR_LIST_PTR(M3, ADC7)); 1511 1422 FUNC_GROUP_DECL(ADC7, M3); 1512 1423 1513 1424 #define M2 184 1514 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0)); 1515 - SIG_EXPR_LIST_DECL_SINGLE(ADC8, ADC8); 1516 - MS_PIN_DECL_(M2, SIG_EXPR_LIST_PTR(GPIOX0), SIG_EXPR_LIST_PTR(ADC8)); 1425 + SIG_EXPR_LIST_DECL_SINGLE(M2, GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0)); 1426 + SIG_EXPR_LIST_DECL_SINGLE(M2, ADC8, ADC8); 1427 + PIN_DECL_(M2, SIG_EXPR_LIST_PTR(M2, GPIOX0), SIG_EXPR_LIST_PTR(M2, ADC8)); 1517 1428 FUNC_GROUP_DECL(ADC8, M2); 1518 1429 1519 1430 #define M1 185 1520 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1)); 1521 - SIG_EXPR_LIST_DECL_SINGLE(ADC9, ADC9); 1522 - MS_PIN_DECL_(M1, SIG_EXPR_LIST_PTR(GPIOX1), SIG_EXPR_LIST_PTR(ADC9)); 1431 + SIG_EXPR_LIST_DECL_SINGLE(M1, GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1)); 1432 + SIG_EXPR_LIST_DECL_SINGLE(M1, ADC9, ADC9); 1433 + PIN_DECL_(M1, SIG_EXPR_LIST_PTR(M1, GPIOX1), SIG_EXPR_LIST_PTR(M1, ADC9)); 1523 1434 FUNC_GROUP_DECL(ADC9, M1); 1524 1435 1525 1436 #define N5 186 1526 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2)); 1527 - SIG_EXPR_LIST_DECL_SINGLE(ADC10, ADC10); 1528 - MS_PIN_DECL_(N5, SIG_EXPR_LIST_PTR(GPIOX2), SIG_EXPR_LIST_PTR(ADC10)); 1437 + SIG_EXPR_LIST_DECL_SINGLE(N5, GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2)); 1438 + SIG_EXPR_LIST_DECL_SINGLE(N5, ADC10, ADC10); 1439 + PIN_DECL_(N5, SIG_EXPR_LIST_PTR(N5, GPIOX2), SIG_EXPR_LIST_PTR(N5, ADC10)); 1529 1440 FUNC_GROUP_DECL(ADC10, N5); 1530 1441 1531 1442 #define N4 187 1532 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3)); 1533 - SIG_EXPR_LIST_DECL_SINGLE(ADC11, ADC11); 1534 - MS_PIN_DECL_(N4, SIG_EXPR_LIST_PTR(GPIOX3), SIG_EXPR_LIST_PTR(ADC11)); 1443 + SIG_EXPR_LIST_DECL_SINGLE(N4, GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3)); 1444 + SIG_EXPR_LIST_DECL_SINGLE(N4, ADC11, ADC11); 1445 + PIN_DECL_(N4, SIG_EXPR_LIST_PTR(N4, GPIOX3), SIG_EXPR_LIST_PTR(N4, ADC11)); 1535 1446 FUNC_GROUP_DECL(ADC11, N4); 1536 1447 1537 1448 #define N3 188 1538 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4)); 1539 - SIG_EXPR_LIST_DECL_SINGLE(ADC12, ADC12); 1540 - MS_PIN_DECL_(N3, SIG_EXPR_LIST_PTR(GPIOX4), SIG_EXPR_LIST_PTR(ADC12)); 1449 + SIG_EXPR_LIST_DECL_SINGLE(N3, GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4)); 1450 + SIG_EXPR_LIST_DECL_SINGLE(N3, ADC12, ADC12); 1451 + PIN_DECL_(N3, SIG_EXPR_LIST_PTR(N3, GPIOX4), SIG_EXPR_LIST_PTR(N3, ADC12)); 1541 1452 FUNC_GROUP_DECL(ADC12, N3); 1542 1453 1543 1454 #define N2 189 1544 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5)); 1545 - SIG_EXPR_LIST_DECL_SINGLE(ADC13, ADC13); 1546 - MS_PIN_DECL_(N2, SIG_EXPR_LIST_PTR(GPIOX5), SIG_EXPR_LIST_PTR(ADC13)); 1455 + SIG_EXPR_LIST_DECL_SINGLE(N2, GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5)); 1456 + SIG_EXPR_LIST_DECL_SINGLE(N2, ADC13, ADC13); 1457 + PIN_DECL_(N2, SIG_EXPR_LIST_PTR(N2, GPIOX5), SIG_EXPR_LIST_PTR(N2, ADC13)); 1547 1458 FUNC_GROUP_DECL(ADC13, N2); 1548 1459 1549 1460 #define N1 190 1550 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6)); 1551 - SIG_EXPR_LIST_DECL_SINGLE(ADC14, ADC14); 1552 - MS_PIN_DECL_(N1, SIG_EXPR_LIST_PTR(GPIOX6), SIG_EXPR_LIST_PTR(ADC14)); 1461 + SIG_EXPR_LIST_DECL_SINGLE(N1, GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6)); 1462 + SIG_EXPR_LIST_DECL_SINGLE(N1, ADC14, ADC14); 1463 + PIN_DECL_(N1, SIG_EXPR_LIST_PTR(N1, GPIOX6), SIG_EXPR_LIST_PTR(N1, ADC14)); 1553 1464 FUNC_GROUP_DECL(ADC14, N1); 1554 1465 1555 1466 #define P5 191 1556 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7)); 1557 - SIG_EXPR_LIST_DECL_SINGLE(ADC15, ADC15); 1558 - MS_PIN_DECL_(P5, SIG_EXPR_LIST_PTR(GPIOX7), SIG_EXPR_LIST_PTR(ADC15)); 1467 + SIG_EXPR_LIST_DECL_SINGLE(P5, GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7)); 1468 + SIG_EXPR_LIST_DECL_SINGLE(P5, ADC15, ADC15); 1469 + PIN_DECL_(P5, SIG_EXPR_LIST_PTR(P5, GPIOX7), SIG_EXPR_LIST_PTR(P5, ADC15)); 1559 1470 FUNC_GROUP_DECL(ADC15, P5); 1560 1471 1561 1472 #define C21 192 1562 - SIG_EXPR_DECL(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8)); 1563 - SIG_EXPR_DECL(SIOS3, ACPI, ACPI_DESC); 1564 - SIG_EXPR_LIST_DECL_DUAL(SIOS3, SIOS3, ACPI); 1565 - SS_PIN_DECL(C21, GPIOY0, SIOS3); 1473 + SIG_EXPR_DECL_SINGLE(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8)); 1474 + SIG_EXPR_DECL_SINGLE(SIOS3, ACPI, ACPI_DESC); 1475 + SIG_EXPR_LIST_DECL_DUAL(C21, SIOS3, SIOS3, ACPI); 1476 + PIN_DECL_1(C21, GPIOY0, SIOS3); 1566 1477 FUNC_GROUP_DECL(SIOS3, C21); 1567 1478 1568 1479 #define F20 193 1569 - SIG_EXPR_DECL(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9)); 1570 - SIG_EXPR_DECL(SIOS5, ACPI, ACPI_DESC); 1571 - SIG_EXPR_LIST_DECL_DUAL(SIOS5, SIOS5, ACPI); 1572 - SS_PIN_DECL(F20, GPIOY1, SIOS5); 1480 + SIG_EXPR_DECL_SINGLE(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9)); 1481 + SIG_EXPR_DECL_SINGLE(SIOS5, ACPI, ACPI_DESC); 1482 + SIG_EXPR_LIST_DECL_DUAL(F20, SIOS5, SIOS5, ACPI); 1483 + PIN_DECL_1(F20, GPIOY1, SIOS5); 1573 1484 FUNC_GROUP_DECL(SIOS5, F20); 1574 1485 1575 1486 #define G20 194 1576 - SIG_EXPR_DECL(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10)); 1577 - SIG_EXPR_DECL(SIOPWREQ, ACPI, ACPI_DESC); 1578 - SIG_EXPR_LIST_DECL_DUAL(SIOPWREQ, SIOPWREQ, ACPI); 1579 - SS_PIN_DECL(G20, GPIOY2, SIOPWREQ); 1487 + SIG_EXPR_DECL_SINGLE(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10)); 1488 + SIG_EXPR_DECL_SINGLE(SIOPWREQ, ACPI, ACPI_DESC); 1489 + SIG_EXPR_LIST_DECL_DUAL(G20, SIOPWREQ, SIOPWREQ, ACPI); 1490 + PIN_DECL_1(G20, GPIOY2, SIOPWREQ); 1580 1491 FUNC_GROUP_DECL(SIOPWREQ, G20); 1581 1492 1582 1493 #define K20 195 1583 - SIG_EXPR_DECL(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11)); 1584 - SIG_EXPR_DECL(SIOONCTRL, ACPI, ACPI_DESC); 1585 - SIG_EXPR_LIST_DECL_DUAL(SIOONCTRL, SIOONCTRL, ACPI); 1586 - SS_PIN_DECL(K20, GPIOY3, SIOONCTRL); 1494 + SIG_EXPR_DECL_SINGLE(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11)); 1495 + SIG_EXPR_DECL_SINGLE(SIOONCTRL, ACPI, ACPI_DESC); 1496 + SIG_EXPR_LIST_DECL_DUAL(K20, SIOONCTRL, SIOONCTRL, ACPI); 1497 + PIN_DECL_1(K20, GPIOY3, SIOONCTRL); 1587 1498 FUNC_GROUP_DECL(SIOONCTRL, K20); 1588 1499 1589 1500 FUNC_GROUP_DECL(ACPI, B19, A20, D17, A19, C21, F20, G20, K20); 1590 1501 1591 1502 #define R22 200 1592 1503 #define R22_DESC SIG_DESC_SET(SCUA4, 16) 1593 - SIG_EXPR_DECL(ROMA2, ROM8, R22_DESC, VPOOFF0_DESC); 1594 - SIG_EXPR_DECL(ROMA2, ROM16, R22_DESC, VPOOFF0_DESC); 1595 - SIG_EXPR_LIST_DECL_DUAL(ROMA2, ROM8, ROM16); 1596 - SIG_EXPR_DECL(VPOB0, VPO12, R22_DESC, VPO12_DESC); 1597 - SIG_EXPR_DECL(VPOB0, VPO24, R22_DESC, VPO24_DESC); 1598 - SIG_EXPR_DECL(VPOB0, VPOOFF1, R22_DESC, VPOOFF1_DESC); 1599 - SIG_EXPR_LIST_DECL(VPOB0, SIG_EXPR_PTR(VPOB0, VPO12), 1600 - SIG_EXPR_PTR(VPOB0, VPO24), SIG_EXPR_PTR(VPOB0, VPOOFF1)); 1601 - MS_PIN_DECL(R22, GPIOZ0, ROMA2, VPOB0); 1504 + SIG_EXPR_DECL_SINGLE(ROMA2, ROM8, R22_DESC, VPOOFF0_DESC); 1505 + SIG_EXPR_DECL_SINGLE(ROMA2, ROM16, R22_DESC, VPOOFF0_DESC); 1506 + SIG_EXPR_LIST_DECL_DUAL(R22, ROMA2, ROM8, ROM16); 1507 + SIG_EXPR_DECL_SINGLE(VPOB0, VPO12, R22_DESC, VPO12_DESC); 1508 + SIG_EXPR_DECL_SINGLE(VPOB0, VPO24, R22_DESC, VPO24_DESC); 1509 + SIG_EXPR_DECL_SINGLE(VPOB0, VPOOFF1, R22_DESC, VPOOFF1_DESC); 1510 + SIG_EXPR_LIST_DECL(VPOB0, VPO, 1511 + SIG_EXPR_PTR(VPOB0, VPO12), 1512 + SIG_EXPR_PTR(VPOB0, VPO24), 1513 + SIG_EXPR_PTR(VPOB0, VPOOFF1)); 1514 + SIG_EXPR_LIST_ALIAS(R22, VPOB0, VPO); 1515 + PIN_DECL_2(R22, GPIOZ0, ROMA2, VPOB0); 1602 1516 1603 1517 #define P18 201 1604 1518 #define P18_DESC SIG_DESC_SET(SCUA4, 17) 1605 - SIG_EXPR_DECL(ROMA3, ROM8, P18_DESC, VPOOFF0_DESC); 1606 - SIG_EXPR_DECL(ROMA3, ROM16, P18_DESC, VPOOFF0_DESC); 1607 - SIG_EXPR_LIST_DECL_DUAL(ROMA3, ROM8, ROM16); 1608 - SIG_EXPR_DECL(VPOB1, VPO12, P18_DESC, VPO12_DESC); 1609 - SIG_EXPR_DECL(VPOB1, VPO24, P18_DESC, VPO24_DESC); 1610 - SIG_EXPR_DECL(VPOB1, VPOOFF1, P18_DESC, VPOOFF1_DESC); 1611 - SIG_EXPR_LIST_DECL(VPOB1, SIG_EXPR_PTR(VPOB1, VPO12), 1612 - SIG_EXPR_PTR(VPOB1, VPO24), SIG_EXPR_PTR(VPOB1, VPOOFF1)); 1613 - MS_PIN_DECL(P18, GPIOZ1, ROMA3, VPOB1); 1519 + SIG_EXPR_DECL_SINGLE(ROMA3, ROM8, P18_DESC, VPOOFF0_DESC); 1520 + SIG_EXPR_DECL_SINGLE(ROMA3, ROM16, P18_DESC, VPOOFF0_DESC); 1521 + SIG_EXPR_LIST_DECL_DUAL(P18, ROMA3, ROM8, ROM16); 1522 + SIG_EXPR_DECL_SINGLE(VPOB1, VPO12, P18_DESC, VPO12_DESC); 1523 + SIG_EXPR_DECL_SINGLE(VPOB1, VPO24, P18_DESC, VPO24_DESC); 1524 + SIG_EXPR_DECL_SINGLE(VPOB1, VPOOFF1, P18_DESC, VPOOFF1_DESC); 1525 + SIG_EXPR_LIST_DECL(VPOB1, VPO, 1526 + SIG_EXPR_PTR(VPOB1, VPO12), 1527 + SIG_EXPR_PTR(VPOB1, VPO24), 1528 + SIG_EXPR_PTR(VPOB1, VPOOFF1)); 1529 + SIG_EXPR_LIST_ALIAS(P18, VPOB1, VPO); 1530 + PIN_DECL_2(P18, GPIOZ1, ROMA3, VPOB1); 1614 1531 1615 1532 #define P19 202 1616 1533 #define P19_DESC SIG_DESC_SET(SCUA4, 18) 1617 - SIG_EXPR_DECL(ROMA4, ROM8, P19_DESC, VPOOFF0_DESC); 1618 - SIG_EXPR_DECL(ROMA4, ROM16, P19_DESC, VPOOFF0_DESC); 1619 - SIG_EXPR_LIST_DECL_DUAL(ROMA4, ROM8, ROM16); 1620 - SIG_EXPR_DECL(VPOB2, VPO12, P19_DESC, VPO12_DESC); 1621 - SIG_EXPR_DECL(VPOB2, VPO24, P19_DESC, VPO24_DESC); 1622 - SIG_EXPR_DECL(VPOB2, VPOOFF1, P19_DESC, VPOOFF1_DESC); 1623 - SIG_EXPR_LIST_DECL(VPOB2, SIG_EXPR_PTR(VPOB2, VPO12), 1624 - SIG_EXPR_PTR(VPOB2, VPO24), SIG_EXPR_PTR(VPOB2, VPOOFF1)); 1625 - MS_PIN_DECL(P19, GPIOZ2, ROMA4, VPOB2); 1534 + SIG_EXPR_DECL_SINGLE(ROMA4, ROM8, P19_DESC, VPOOFF0_DESC); 1535 + SIG_EXPR_DECL_SINGLE(ROMA4, ROM16, P19_DESC, VPOOFF0_DESC); 1536 + SIG_EXPR_LIST_DECL_DUAL(P19, ROMA4, ROM8, ROM16); 1537 + SIG_EXPR_DECL_SINGLE(VPOB2, VPO12, P19_DESC, VPO12_DESC); 1538 + SIG_EXPR_DECL_SINGLE(VPOB2, VPO24, P19_DESC, VPO24_DESC); 1539 + SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF1, P19_DESC, VPOOFF1_DESC); 1540 + SIG_EXPR_LIST_DECL(VPOB2, VPO, 1541 + SIG_EXPR_PTR(VPOB2, VPO12), 1542 + SIG_EXPR_PTR(VPOB2, VPO24), 1543 + SIG_EXPR_PTR(VPOB2, VPOOFF1)); 1544 + SIG_EXPR_LIST_ALIAS(P19, VPOB2, VPO); 1545 + PIN_DECL_2(P19, GPIOZ2, ROMA4, VPOB2); 1626 1546 1627 1547 #define P20 203 1628 1548 #define P20_DESC SIG_DESC_SET(SCUA4, 19) 1629 - SIG_EXPR_DECL(ROMA5, ROM8, P20_DESC, VPOOFF0_DESC); 1630 - SIG_EXPR_DECL(ROMA5, ROM16, P20_DESC, VPOOFF0_DESC); 1631 - SIG_EXPR_LIST_DECL_DUAL(ROMA5, ROM8, ROM16); 1632 - SIG_EXPR_DECL(VPOB3, VPO12, P20_DESC, VPO12_DESC); 1633 - SIG_EXPR_DECL(VPOB3, VPO24, P20_DESC, VPO24_DESC); 1634 - SIG_EXPR_DECL(VPOB3, VPOOFF1, P20_DESC, VPOOFF1_DESC); 1635 - SIG_EXPR_LIST_DECL(VPOB3, SIG_EXPR_PTR(VPOB3, VPO12), 1636 - SIG_EXPR_PTR(VPOB3, VPO24), SIG_EXPR_PTR(VPOB3, VPOOFF1)); 1637 - MS_PIN_DECL(P20, GPIOZ3, ROMA5, VPOB3); 1549 + SIG_EXPR_DECL_SINGLE(ROMA5, ROM8, P20_DESC, VPOOFF0_DESC); 1550 + SIG_EXPR_DECL_SINGLE(ROMA5, ROM16, P20_DESC, VPOOFF0_DESC); 1551 + SIG_EXPR_LIST_DECL_DUAL(P20, ROMA5, ROM8, ROM16); 1552 + SIG_EXPR_DECL_SINGLE(VPOB3, VPO12, P20_DESC, VPO12_DESC); 1553 + SIG_EXPR_DECL_SINGLE(VPOB3, VPO24, P20_DESC, VPO24_DESC); 1554 + SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF1, P20_DESC, VPOOFF1_DESC); 1555 + SIG_EXPR_LIST_DECL(VPOB3, VPO, 1556 + SIG_EXPR_PTR(VPOB3, VPO12), 1557 + SIG_EXPR_PTR(VPOB3, VPO24), 1558 + SIG_EXPR_PTR(VPOB3, VPOOFF1)); 1559 + SIG_EXPR_LIST_ALIAS(P20, VPOB3, VPO); 1560 + PIN_DECL_2(P20, GPIOZ3, ROMA5, VPOB3); 1638 1561 1639 1562 #define P21 204 1640 1563 #define P21_DESC SIG_DESC_SET(SCUA4, 20) 1641 - SIG_EXPR_DECL(ROMA6, ROM8, P21_DESC, VPOOFF0_DESC); 1642 - SIG_EXPR_DECL(ROMA6, ROM16, P21_DESC, VPOOFF0_DESC); 1643 - SIG_EXPR_LIST_DECL_DUAL(ROMA6, ROM8, ROM16); 1644 - SIG_EXPR_DECL(VPOB4, VPO12, P21_DESC, VPO12_DESC); 1645 - SIG_EXPR_DECL(VPOB4, VPO24, P21_DESC, VPO24_DESC); 1646 - SIG_EXPR_DECL(VPOB4, VPOOFF1, P21_DESC, VPOOFF1_DESC); 1647 - SIG_EXPR_LIST_DECL(VPOB4, SIG_EXPR_PTR(VPOB4, VPO12), 1648 - SIG_EXPR_PTR(VPOB4, VPO24), SIG_EXPR_PTR(VPOB4, VPOOFF1)); 1649 - MS_PIN_DECL(P21, GPIOZ4, ROMA6, VPOB4); 1564 + SIG_EXPR_DECL_SINGLE(ROMA6, ROM8, P21_DESC, VPOOFF0_DESC); 1565 + SIG_EXPR_DECL_SINGLE(ROMA6, ROM16, P21_DESC, VPOOFF0_DESC); 1566 + SIG_EXPR_LIST_DECL_DUAL(P21, ROMA6, ROM8, ROM16); 1567 + SIG_EXPR_DECL_SINGLE(VPOB4, VPO12, P21_DESC, VPO12_DESC); 1568 + SIG_EXPR_DECL_SINGLE(VPOB4, VPO24, P21_DESC, VPO24_DESC); 1569 + SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF1, P21_DESC, VPOOFF1_DESC); 1570 + SIG_EXPR_LIST_DECL(VPOB4, VPO, 1571 + SIG_EXPR_PTR(VPOB4, VPO12), 1572 + SIG_EXPR_PTR(VPOB4, VPO24), 1573 + SIG_EXPR_PTR(VPOB4, VPOOFF1)); 1574 + SIG_EXPR_LIST_ALIAS(P21, VPOB4, VPO); 1575 + PIN_DECL_2(P21, GPIOZ4, ROMA6, VPOB4); 1650 1576 1651 1577 #define P22 205 1652 1578 #define P22_DESC SIG_DESC_SET(SCUA4, 21) 1653 - SIG_EXPR_DECL(ROMA7, ROM8, P22_DESC, VPOOFF0_DESC); 1654 - SIG_EXPR_DECL(ROMA7, ROM16, P22_DESC, VPOOFF0_DESC); 1655 - SIG_EXPR_LIST_DECL_DUAL(ROMA7, ROM8, ROM16); 1656 - SIG_EXPR_DECL(VPOB5, VPO12, P22_DESC, VPO12_DESC); 1657 - SIG_EXPR_DECL(VPOB5, VPO24, P22_DESC, VPO24_DESC); 1658 - SIG_EXPR_DECL(VPOB5, VPOOFF1, P22_DESC, VPOOFF1_DESC); 1659 - SIG_EXPR_LIST_DECL(VPOB5, SIG_EXPR_PTR(VPOB5, VPO12), 1660 - SIG_EXPR_PTR(VPOB5, VPO24), SIG_EXPR_PTR(VPOB5, VPOOFF1)); 1661 - MS_PIN_DECL(P22, GPIOZ5, ROMA7, VPOB5); 1579 + SIG_EXPR_DECL_SINGLE(ROMA7, ROM8, P22_DESC, VPOOFF0_DESC); 1580 + SIG_EXPR_DECL_SINGLE(ROMA7, ROM16, P22_DESC, VPOOFF0_DESC); 1581 + SIG_EXPR_LIST_DECL_DUAL(P22, ROMA7, ROM8, ROM16); 1582 + SIG_EXPR_DECL_SINGLE(VPOB5, VPO12, P22_DESC, VPO12_DESC); 1583 + SIG_EXPR_DECL_SINGLE(VPOB5, VPO24, P22_DESC, VPO24_DESC); 1584 + SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF1, P22_DESC, VPOOFF1_DESC); 1585 + SIG_EXPR_LIST_DECL(VPOB5, VPO, 1586 + SIG_EXPR_PTR(VPOB5, VPO12), 1587 + SIG_EXPR_PTR(VPOB5, VPO24), 1588 + SIG_EXPR_PTR(VPOB5, VPOOFF1)); 1589 + SIG_EXPR_LIST_ALIAS(P22, VPOB5, VPO); 1590 + PIN_DECL_2(P22, GPIOZ5, ROMA7, VPOB5); 1662 1591 1663 1592 #define M19 206 1664 1593 #define M19_DESC SIG_DESC_SET(SCUA4, 22) 1665 - SIG_EXPR_DECL(ROMA8, ROM8, M19_DESC, VPOOFF0_DESC); 1666 - SIG_EXPR_DECL(ROMA8, ROM16, M19_DESC, VPOOFF0_DESC); 1667 - SIG_EXPR_LIST_DECL_DUAL(ROMA8, ROM8, ROM16); 1668 - SIG_EXPR_DECL(VPOB6, VPO12, M19_DESC, VPO12_DESC); 1669 - SIG_EXPR_DECL(VPOB6, VPO24, M19_DESC, VPO24_DESC); 1670 - SIG_EXPR_DECL(VPOB6, VPOOFF1, M19_DESC, VPOOFF1_DESC); 1671 - SIG_EXPR_LIST_DECL(VPOB6, SIG_EXPR_PTR(VPOB6, VPO12), 1672 - SIG_EXPR_PTR(VPOB6, VPO24), SIG_EXPR_PTR(VPOB6, VPOOFF1)); 1673 - MS_PIN_DECL(M19, GPIOZ6, ROMA8, VPOB6); 1594 + SIG_EXPR_DECL_SINGLE(ROMA8, ROM8, M19_DESC, VPOOFF0_DESC); 1595 + SIG_EXPR_DECL_SINGLE(ROMA8, ROM16, M19_DESC, VPOOFF0_DESC); 1596 + SIG_EXPR_LIST_DECL_DUAL(M19, ROMA8, ROM8, ROM16); 1597 + SIG_EXPR_DECL_SINGLE(VPOB6, VPO12, M19_DESC, VPO12_DESC); 1598 + SIG_EXPR_DECL_SINGLE(VPOB6, VPO24, M19_DESC, VPO24_DESC); 1599 + SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF1, M19_DESC, VPOOFF1_DESC); 1600 + SIG_EXPR_LIST_DECL(VPOB6, VPO, 1601 + SIG_EXPR_PTR(VPOB6, VPO12), 1602 + SIG_EXPR_PTR(VPOB6, VPO24), 1603 + SIG_EXPR_PTR(VPOB6, VPOOFF1)); 1604 + SIG_EXPR_LIST_ALIAS(M19, VPOB6, VPO); 1605 + PIN_DECL_2(M19, GPIOZ6, ROMA8, VPOB6); 1674 1606 1675 1607 #define M20 207 1676 1608 #define M20_DESC SIG_DESC_SET(SCUA4, 23) 1677 - SIG_EXPR_DECL(ROMA9, ROM8, M20_DESC, VPOOFF0_DESC); 1678 - SIG_EXPR_DECL(ROMA9, ROM16, M20_DESC, VPOOFF0_DESC); 1679 - SIG_EXPR_LIST_DECL_DUAL(ROMA9, ROM8, ROM16); 1680 - SIG_EXPR_DECL(VPOB7, VPO12, M20_DESC, VPO12_DESC); 1681 - SIG_EXPR_DECL(VPOB7, VPO24, M20_DESC, VPO24_DESC); 1682 - SIG_EXPR_DECL(VPOB7, VPOOFF1, M20_DESC, VPOOFF1_DESC); 1683 - SIG_EXPR_LIST_DECL(VPOB7, SIG_EXPR_PTR(VPOB7, VPO12), 1684 - SIG_EXPR_PTR(VPOB7, VPO24), SIG_EXPR_PTR(VPOB7, VPOOFF1)); 1685 - MS_PIN_DECL(M20, GPIOZ7, ROMA9, VPOB7); 1609 + SIG_EXPR_DECL_SINGLE(ROMA9, ROM8, M20_DESC, VPOOFF0_DESC); 1610 + SIG_EXPR_DECL_SINGLE(ROMA9, ROM16, M20_DESC, VPOOFF0_DESC); 1611 + SIG_EXPR_LIST_DECL_DUAL(M20, ROMA9, ROM8, ROM16); 1612 + SIG_EXPR_DECL_SINGLE(VPOB7, VPO12, M20_DESC, VPO12_DESC); 1613 + SIG_EXPR_DECL_SINGLE(VPOB7, VPO24, M20_DESC, VPO24_DESC); 1614 + SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF1, M20_DESC, VPOOFF1_DESC); 1615 + SIG_EXPR_LIST_DECL(VPOB7, VPO, 1616 + SIG_EXPR_PTR(VPOB7, VPO12), 1617 + SIG_EXPR_PTR(VPOB7, VPO24), 1618 + SIG_EXPR_PTR(VPOB7, VPOOFF1)); 1619 + SIG_EXPR_LIST_ALIAS(M20, VPOB7, VPO); 1620 + PIN_DECL_2(M20, GPIOZ7, ROMA9, VPOB7); 1686 1621 1687 1622 #define M21 208 1688 1623 #define M21_DESC SIG_DESC_SET(SCUA4, 24) 1689 - SIG_EXPR_DECL(ROMA10, ROM8, M21_DESC, VPOOFF0_DESC); 1690 - SIG_EXPR_DECL(ROMA10, ROM16, M21_DESC, VPOOFF0_DESC); 1691 - SIG_EXPR_LIST_DECL_DUAL(ROMA10, ROM8, ROM16); 1692 - SIG_EXPR_DECL(VPOG0, VPO12, M21_DESC, VPO12_DESC); 1693 - SIG_EXPR_DECL(VPOG0, VPO24, M21_DESC, VPO24_DESC); 1694 - SIG_EXPR_DECL(VPOG0, VPOOFF1, M21_DESC, VPOOFF1_DESC); 1695 - SIG_EXPR_LIST_DECL(VPOG0, SIG_EXPR_PTR(VPOG0, VPO12), 1696 - SIG_EXPR_PTR(VPOG0, VPO24), SIG_EXPR_PTR(VPOG0, VPOOFF1)); 1697 - MS_PIN_DECL(M21, GPIOAA0, ROMA10, VPOG0); 1624 + SIG_EXPR_DECL_SINGLE(ROMA10, ROM8, M21_DESC, VPOOFF0_DESC); 1625 + SIG_EXPR_DECL_SINGLE(ROMA10, ROM16, M21_DESC, VPOOFF0_DESC); 1626 + SIG_EXPR_LIST_DECL_DUAL(M21, ROMA10, ROM8, ROM16); 1627 + SIG_EXPR_DECL_SINGLE(VPOG0, VPO12, M21_DESC, VPO12_DESC); 1628 + SIG_EXPR_DECL_SINGLE(VPOG0, VPO24, M21_DESC, VPO24_DESC); 1629 + SIG_EXPR_DECL_SINGLE(VPOG0, VPOOFF1, M21_DESC, VPOOFF1_DESC); 1630 + SIG_EXPR_LIST_DECL(VPOG0, VPO, 1631 + SIG_EXPR_PTR(VPOG0, VPO12), 1632 + SIG_EXPR_PTR(VPOG0, VPO24), 1633 + SIG_EXPR_PTR(VPOG0, VPOOFF1)); 1634 + SIG_EXPR_LIST_ALIAS(M21, VPOG0, VPO); 1635 + PIN_DECL_2(M21, GPIOAA0, ROMA10, VPOG0); 1698 1636 1699 1637 #define M22 209 1700 1638 #define M22_DESC SIG_DESC_SET(SCUA4, 25) 1701 - SIG_EXPR_DECL(ROMA11, ROM8, M22_DESC, VPOOFF0_DESC); 1702 - SIG_EXPR_DECL(ROMA11, ROM16, M22_DESC, VPOOFF0_DESC); 1703 - SIG_EXPR_LIST_DECL_DUAL(ROMA11, ROM8, ROM16); 1704 - SIG_EXPR_DECL(VPOG1, VPO12, M22_DESC, VPO12_DESC); 1705 - SIG_EXPR_DECL(VPOG1, VPO24, M22_DESC, VPO24_DESC); 1706 - SIG_EXPR_DECL(VPOG1, VPOOFF1, M22_DESC, VPOOFF1_DESC); 1707 - SIG_EXPR_LIST_DECL(VPOG1, SIG_EXPR_PTR(VPOG1, VPO12), 1708 - SIG_EXPR_PTR(VPOG1, VPO24), SIG_EXPR_PTR(VPOG1, VPOOFF1)); 1709 - MS_PIN_DECL(M22, GPIOAA1, ROMA11, VPOG1); 1639 + SIG_EXPR_DECL_SINGLE(ROMA11, ROM8, M22_DESC, VPOOFF0_DESC); 1640 + SIG_EXPR_DECL_SINGLE(ROMA11, ROM16, M22_DESC, VPOOFF0_DESC); 1641 + SIG_EXPR_LIST_DECL_DUAL(M22, ROMA11, ROM8, ROM16); 1642 + SIG_EXPR_DECL_SINGLE(VPOG1, VPO12, M22_DESC, VPO12_DESC); 1643 + SIG_EXPR_DECL_SINGLE(VPOG1, VPO24, M22_DESC, VPO24_DESC); 1644 + SIG_EXPR_DECL_SINGLE(VPOG1, VPOOFF1, M22_DESC, VPOOFF1_DESC); 1645 + SIG_EXPR_LIST_DECL(VPOG1, VPO, 1646 + SIG_EXPR_PTR(VPOG1, VPO12), 1647 + SIG_EXPR_PTR(VPOG1, VPO24), 1648 + SIG_EXPR_PTR(VPOG1, VPOOFF1)); 1649 + SIG_EXPR_LIST_ALIAS(M22, VPOG1, VPO); 1650 + PIN_DECL_2(M22, GPIOAA1, ROMA11, VPOG1); 1710 1651 1711 1652 #define L18 210 1712 1653 #define L18_DESC SIG_DESC_SET(SCUA4, 26) 1713 - SIG_EXPR_DECL(ROMA12, ROM8, L18_DESC, VPOOFF0_DESC); 1714 - SIG_EXPR_DECL(ROMA12, ROM16, L18_DESC, VPOOFF0_DESC); 1715 - SIG_EXPR_LIST_DECL_DUAL(ROMA12, ROM8, ROM16); 1716 - SIG_EXPR_DECL(VPOG2, VPO12, L18_DESC, VPO12_DESC); 1717 - SIG_EXPR_DECL(VPOG2, VPO24, L18_DESC, VPO24_DESC); 1718 - SIG_EXPR_DECL(VPOG2, VPOOFF1, L18_DESC, VPOOFF1_DESC); 1719 - SIG_EXPR_LIST_DECL(VPOG2, SIG_EXPR_PTR(VPOG2, VPO12), 1720 - SIG_EXPR_PTR(VPOG2, VPO24), SIG_EXPR_PTR(VPOG2, VPOOFF1)); 1721 - MS_PIN_DECL(L18, GPIOAA2, ROMA12, VPOG2); 1654 + SIG_EXPR_DECL_SINGLE(ROMA12, ROM8, L18_DESC, VPOOFF0_DESC); 1655 + SIG_EXPR_DECL_SINGLE(ROMA12, ROM16, L18_DESC, VPOOFF0_DESC); 1656 + SIG_EXPR_LIST_DECL_DUAL(L18, ROMA12, ROM8, ROM16); 1657 + SIG_EXPR_DECL_SINGLE(VPOG2, VPO12, L18_DESC, VPO12_DESC); 1658 + SIG_EXPR_DECL_SINGLE(VPOG2, VPO24, L18_DESC, VPO24_DESC); 1659 + SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF1, L18_DESC, VPOOFF1_DESC); 1660 + SIG_EXPR_LIST_DECL(VPOG2, VPO, 1661 + SIG_EXPR_PTR(VPOG2, VPO12), 1662 + SIG_EXPR_PTR(VPOG2, VPO24), 1663 + SIG_EXPR_PTR(VPOG2, VPOOFF1)); 1664 + SIG_EXPR_LIST_ALIAS(L18, VPOG2, VPO); 1665 + PIN_DECL_2(L18, GPIOAA2, ROMA12, VPOG2); 1722 1666 1723 1667 #define L19 211 1724 1668 #define L19_DESC SIG_DESC_SET(SCUA4, 27) 1725 - SIG_EXPR_DECL(ROMA13, ROM8, L19_DESC, VPOOFF0_DESC); 1726 - SIG_EXPR_DECL(ROMA13, ROM16, L19_DESC, VPOOFF0_DESC); 1727 - SIG_EXPR_LIST_DECL_DUAL(ROMA13, ROM8, ROM16); 1728 - SIG_EXPR_DECL(VPOG3, VPO12, L19_DESC, VPO12_DESC); 1729 - SIG_EXPR_DECL(VPOG3, VPO24, L19_DESC, VPO24_DESC); 1730 - SIG_EXPR_DECL(VPOG3, VPOOFF1, L19_DESC, VPOOFF1_DESC); 1731 - SIG_EXPR_LIST_DECL(VPOG3, SIG_EXPR_PTR(VPOG3, VPO12), 1732 - SIG_EXPR_PTR(VPOG3, VPO24), SIG_EXPR_PTR(VPOG3, VPOOFF1)); 1733 - MS_PIN_DECL(L19, GPIOAA3, ROMA13, VPOG3); 1669 + SIG_EXPR_DECL_SINGLE(ROMA13, ROM8, L19_DESC, VPOOFF0_DESC); 1670 + SIG_EXPR_DECL_SINGLE(ROMA13, ROM16, L19_DESC, VPOOFF0_DESC); 1671 + SIG_EXPR_LIST_DECL_DUAL(L19, ROMA13, ROM8, ROM16); 1672 + SIG_EXPR_DECL_SINGLE(VPOG3, VPO12, L19_DESC, VPO12_DESC); 1673 + SIG_EXPR_DECL_SINGLE(VPOG3, VPO24, L19_DESC, VPO24_DESC); 1674 + SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF1, L19_DESC, VPOOFF1_DESC); 1675 + SIG_EXPR_LIST_DECL(VPOG3, VPO, 1676 + SIG_EXPR_PTR(VPOG3, VPO12), 1677 + SIG_EXPR_PTR(VPOG3, VPO24), 1678 + SIG_EXPR_PTR(VPOG3, VPOOFF1)); 1679 + SIG_EXPR_LIST_ALIAS(L19, VPOG3, VPO); 1680 + PIN_DECL_2(L19, GPIOAA3, ROMA13, VPOG3); 1734 1681 1735 1682 #define L20 212 1736 1683 #define L20_DESC SIG_DESC_SET(SCUA4, 28) 1737 - SIG_EXPR_DECL(ROMA14, ROM8, L20_DESC, VPO_OFF_12); 1738 - SIG_EXPR_DECL(ROMA14, ROM16, L20_DESC, VPO_OFF_12); 1739 - SIG_EXPR_LIST_DECL_DUAL(ROMA14, ROM8, ROM16); 1740 - SIG_EXPR_DECL(VPOG4, VPO24, L20_DESC, VPO24_DESC); 1741 - SIG_EXPR_DECL(VPOG4, VPOOFF1, L20_DESC, VPOOFF1_DESC); 1742 - SIG_EXPR_LIST_DECL_DUAL(VPOG4, VPO24, VPOOFF1); 1743 - MS_PIN_DECL(L20, GPIOAA4, ROMA14, VPOG4); 1684 + SIG_EXPR_DECL_SINGLE(ROMA14, ROM8, L20_DESC, VPO_OFF_12); 1685 + SIG_EXPR_DECL_SINGLE(ROMA14, ROM16, L20_DESC, VPO_OFF_12); 1686 + SIG_EXPR_LIST_DECL_DUAL(L20, ROMA14, ROM8, ROM16); 1687 + SIG_EXPR_DECL_SINGLE(VPOG4, VPO24, L20_DESC, VPO24_DESC); 1688 + SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF1, L20_DESC, VPOOFF1_DESC); 1689 + SIG_EXPR_LIST_DECL_DUAL(L20, VPOG4, VPO24, VPOOFF1); 1690 + PIN_DECL_2(L20, GPIOAA4, ROMA14, VPOG4); 1744 1691 1745 1692 #define L21 213 1746 1693 #define L21_DESC SIG_DESC_SET(SCUA4, 29) 1747 - SIG_EXPR_DECL(ROMA15, ROM8, L21_DESC, VPO_OFF_12); 1748 - SIG_EXPR_DECL(ROMA15, ROM16, L21_DESC, VPO_OFF_12); 1749 - SIG_EXPR_LIST_DECL_DUAL(ROMA15, ROM8, ROM16); 1750 - SIG_EXPR_DECL(VPOG5, VPO24, L21_DESC, VPO24_DESC); 1751 - SIG_EXPR_DECL(VPOG5, VPOOFF1, L21_DESC, VPOOFF1_DESC); 1752 - SIG_EXPR_LIST_DECL_DUAL(VPOG5, VPO24, VPOOFF1); 1753 - MS_PIN_DECL(L21, GPIOAA5, ROMA15, VPOG5); 1694 + SIG_EXPR_DECL_SINGLE(ROMA15, ROM8, L21_DESC, VPO_OFF_12); 1695 + SIG_EXPR_DECL_SINGLE(ROMA15, ROM16, L21_DESC, VPO_OFF_12); 1696 + SIG_EXPR_LIST_DECL_DUAL(L21, ROMA15, ROM8, ROM16); 1697 + SIG_EXPR_DECL_SINGLE(VPOG5, VPO24, L21_DESC, VPO24_DESC); 1698 + SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF1, L21_DESC, VPOOFF1_DESC); 1699 + SIG_EXPR_LIST_DECL_DUAL(L21, VPOG5, VPO24, VPOOFF1); 1700 + PIN_DECL_2(L21, GPIOAA5, ROMA15, VPOG5); 1754 1701 1755 1702 #define T18 214 1756 1703 #define T18_DESC SIG_DESC_SET(SCUA4, 30) 1757 - SIG_EXPR_DECL(ROMA16, ROM8, T18_DESC, VPO_OFF_12); 1758 - SIG_EXPR_DECL(ROMA16, ROM16, T18_DESC, VPO_OFF_12); 1759 - SIG_EXPR_LIST_DECL_DUAL(ROMA16, ROM8, ROM16); 1760 - SIG_EXPR_DECL(VPOG6, VPO24, T18_DESC, VPO24_DESC); 1761 - SIG_EXPR_DECL(VPOG6, VPOOFF1, T18_DESC, VPOOFF1_DESC); 1762 - SIG_EXPR_LIST_DECL_DUAL(VPOG6, VPO24, VPOOFF1); 1763 - MS_PIN_DECL(T18, GPIOAA6, ROMA16, VPOG6); 1704 + SIG_EXPR_DECL_SINGLE(ROMA16, ROM8, T18_DESC, VPO_OFF_12); 1705 + SIG_EXPR_DECL_SINGLE(ROMA16, ROM16, T18_DESC, VPO_OFF_12); 1706 + SIG_EXPR_LIST_DECL_DUAL(T18, ROMA16, ROM8, ROM16); 1707 + SIG_EXPR_DECL_SINGLE(VPOG6, VPO24, T18_DESC, VPO24_DESC); 1708 + SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF1, T18_DESC, VPOOFF1_DESC); 1709 + SIG_EXPR_LIST_DECL_DUAL(T18, VPOG6, VPO24, VPOOFF1); 1710 + PIN_DECL_2(T18, GPIOAA6, ROMA16, VPOG6); 1764 1711 1765 1712 #define N18 215 1766 1713 #define N18_DESC SIG_DESC_SET(SCUA4, 31) 1767 - SIG_EXPR_DECL(ROMA17, ROM8, N18_DESC, VPO_OFF_12); 1768 - SIG_EXPR_DECL(ROMA17, ROM16, N18_DESC, VPO_OFF_12); 1769 - SIG_EXPR_LIST_DECL_DUAL(ROMA17, ROM8, ROM16); 1770 - SIG_EXPR_DECL(VPOG7, VPO24, N18_DESC, VPO24_DESC); 1771 - SIG_EXPR_DECL(VPOG7, VPOOFF1, N18_DESC, VPOOFF1_DESC); 1772 - SIG_EXPR_LIST_DECL_DUAL(VPOG7, VPO24, VPOOFF1); 1773 - MS_PIN_DECL(N18, GPIOAA7, ROMA17, VPOG7); 1714 + SIG_EXPR_DECL_SINGLE(ROMA17, ROM8, N18_DESC, VPO_OFF_12); 1715 + SIG_EXPR_DECL_SINGLE(ROMA17, ROM16, N18_DESC, VPO_OFF_12); 1716 + SIG_EXPR_LIST_DECL_DUAL(N18, ROMA17, ROM8, ROM16); 1717 + SIG_EXPR_DECL_SINGLE(VPOG7, VPO24, N18_DESC, VPO24_DESC); 1718 + SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF1, N18_DESC, VPOOFF1_DESC); 1719 + SIG_EXPR_LIST_DECL_DUAL(N18, VPOG7, VPO24, VPOOFF1); 1720 + PIN_DECL_2(N18, GPIOAA7, ROMA17, VPOG7); 1774 1721 1775 1722 #define N19 216 1776 1723 #define N19_DESC SIG_DESC_SET(SCUA8, 0) 1777 - SIG_EXPR_DECL(ROMA18, ROM8, N19_DESC, VPO_OFF_12); 1778 - SIG_EXPR_DECL(ROMA18, ROM16, N19_DESC, VPO_OFF_12); 1779 - SIG_EXPR_LIST_DECL_DUAL(ROMA18, ROM8, ROM16); 1780 - SIG_EXPR_DECL(VPOR0, VPO24, N19_DESC, VPO24_DESC); 1781 - SIG_EXPR_DECL(VPOR0, VPOOFF1, N19_DESC, VPOOFF1_DESC); 1782 - SIG_EXPR_LIST_DECL_DUAL(VPOR0, VPO24, VPOOFF1); 1783 - MS_PIN_DECL(N19, GPIOAB0, ROMA18, VPOR0); 1724 + SIG_EXPR_DECL_SINGLE(ROMA18, ROM8, N19_DESC, VPO_OFF_12); 1725 + SIG_EXPR_DECL_SINGLE(ROMA18, ROM16, N19_DESC, VPO_OFF_12); 1726 + SIG_EXPR_LIST_DECL_DUAL(N19, ROMA18, ROM8, ROM16); 1727 + SIG_EXPR_DECL_SINGLE(VPOR0, VPO24, N19_DESC, VPO24_DESC); 1728 + SIG_EXPR_DECL_SINGLE(VPOR0, VPOOFF1, N19_DESC, VPOOFF1_DESC); 1729 + SIG_EXPR_LIST_DECL_DUAL(N19, VPOR0, VPO24, VPOOFF1); 1730 + PIN_DECL_2(N19, GPIOAB0, ROMA18, VPOR0); 1784 1731 1785 1732 #define M18 217 1786 1733 #define M18_DESC SIG_DESC_SET(SCUA8, 1) 1787 - SIG_EXPR_DECL(ROMA19, ROM8, M18_DESC, VPO_OFF_12); 1788 - SIG_EXPR_DECL(ROMA19, ROM16, M18_DESC, VPO_OFF_12); 1789 - SIG_EXPR_LIST_DECL_DUAL(ROMA19, ROM8, ROM16); 1790 - SIG_EXPR_DECL(VPOR1, VPO24, M18_DESC, VPO24_DESC); 1791 - SIG_EXPR_DECL(VPOR1, VPOOFF1, M18_DESC, VPOOFF1_DESC); 1792 - SIG_EXPR_LIST_DECL_DUAL(VPOR1, VPO24, VPOOFF1); 1793 - MS_PIN_DECL(M18, GPIOAB1, ROMA19, VPOR1); 1734 + SIG_EXPR_DECL_SINGLE(ROMA19, ROM8, M18_DESC, VPO_OFF_12); 1735 + SIG_EXPR_DECL_SINGLE(ROMA19, ROM16, M18_DESC, VPO_OFF_12); 1736 + SIG_EXPR_LIST_DECL_DUAL(M18, ROMA19, ROM8, ROM16); 1737 + SIG_EXPR_DECL_SINGLE(VPOR1, VPO24, M18_DESC, VPO24_DESC); 1738 + SIG_EXPR_DECL_SINGLE(VPOR1, VPOOFF1, M18_DESC, VPOOFF1_DESC); 1739 + SIG_EXPR_LIST_DECL_DUAL(M18, VPOR1, VPO24, VPOOFF1); 1740 + PIN_DECL_2(M18, GPIOAB1, ROMA19, VPOR1); 1794 1741 1795 1742 #define N22 218 1796 1743 #define N22_DESC SIG_DESC_SET(SCUA8, 2) 1797 - SIG_EXPR_DECL(ROMA20, ROM8, N22_DESC, VPO_OFF_12); 1798 - SIG_EXPR_DECL(ROMA20, ROM16, N22_DESC, VPO_OFF_12); 1799 - SIG_EXPR_LIST_DECL_DUAL(ROMA20, ROM8, ROM16); 1800 - SIG_EXPR_DECL(VPOR2, VPO24, N22_DESC, VPO24_DESC); 1801 - SIG_EXPR_DECL(VPOR2, VPOOFF1, N22_DESC, VPOOFF1_DESC); 1802 - SIG_EXPR_LIST_DECL_DUAL(VPOR2, VPO24, VPOOFF1); 1803 - MS_PIN_DECL(N22, GPIOAB2, ROMA20, VPOR2); 1744 + SIG_EXPR_DECL_SINGLE(ROMA20, ROM8, N22_DESC, VPO_OFF_12); 1745 + SIG_EXPR_DECL_SINGLE(ROMA20, ROM16, N22_DESC, VPO_OFF_12); 1746 + SIG_EXPR_LIST_DECL_DUAL(N22, ROMA20, ROM8, ROM16); 1747 + SIG_EXPR_DECL_SINGLE(VPOR2, VPO24, N22_DESC, VPO24_DESC); 1748 + SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF1, N22_DESC, VPOOFF1_DESC); 1749 + SIG_EXPR_LIST_DECL_DUAL(N22, VPOR2, VPO24, VPOOFF1); 1750 + PIN_DECL_2(N22, GPIOAB2, ROMA20, VPOR2); 1804 1751 1805 1752 #define N20 219 1806 1753 #define N20_DESC SIG_DESC_SET(SCUA8, 3) 1807 - SIG_EXPR_DECL(ROMA21, ROM8, N20_DESC, VPO_OFF_12); 1808 - SIG_EXPR_DECL(ROMA21, ROM16, N20_DESC, VPO_OFF_12); 1809 - SIG_EXPR_LIST_DECL_DUAL(ROMA21, ROM8, ROM16); 1810 - SIG_EXPR_DECL(VPOR3, VPO24, N20_DESC, VPO24_DESC); 1811 - SIG_EXPR_DECL(VPOR3, VPOOFF1, N20_DESC, VPOOFF1_DESC); 1812 - SIG_EXPR_LIST_DECL_DUAL(VPOR3, VPO24, VPOOFF1); 1813 - MS_PIN_DECL(N20, GPIOAB3, ROMA21, VPOR3); 1754 + SIG_EXPR_DECL_SINGLE(ROMA21, ROM8, N20_DESC, VPO_OFF_12); 1755 + SIG_EXPR_DECL_SINGLE(ROMA21, ROM16, N20_DESC, VPO_OFF_12); 1756 + SIG_EXPR_LIST_DECL_DUAL(N20, ROMA21, ROM8, ROM16); 1757 + SIG_EXPR_DECL_SINGLE(VPOR3, VPO24, N20_DESC, VPO24_DESC); 1758 + SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF1, N20_DESC, VPOOFF1_DESC); 1759 + SIG_EXPR_LIST_DECL_DUAL(N20, VPOR3, VPO24, VPOOFF1); 1760 + PIN_DECL_2(N20, GPIOAB3, ROMA21, VPOR3); 1814 1761 1815 1762 FUNC_GROUP_DECL(ROM8, V20, U21, T19, V22, U20, R18, N21, L22, K18, W21, Y22, 1816 1763 U19, R22, P18, P19, P20, P21, P22, M19, M20, M21, M22, L18, ··· 1865 1740 #define USB11D1_DESC SIG_DESC_BIT(SCU90, 3, 0) 1866 1741 1867 1742 #define K4 220 1868 - SIG_EXPR_LIST_DECL_SINGLE(USB11HDP2, USB11H2, USB11H2_DESC); 1869 - SIG_EXPR_LIST_DECL_SINGLE(USB11DP1, USB11D1, USB11D1_DESC); 1870 - MS_PIN_DECL_(K4, SIG_EXPR_LIST_PTR(USB11HDP2), SIG_EXPR_LIST_PTR(USB11DP1)); 1743 + SIG_EXPR_LIST_DECL_SINGLE(K4, USB11HDP2, USB11H2, USB11H2_DESC); 1744 + SIG_EXPR_LIST_DECL_SINGLE(K4, USB11DP1, USB11D1, USB11D1_DESC); 1745 + PIN_DECL_(K4, SIG_EXPR_LIST_PTR(K4, USB11HDP2), 1746 + SIG_EXPR_LIST_PTR(K4, USB11DP1)); 1871 1747 1872 1748 #define K3 221 1873 - SIG_EXPR_LIST_DECL_SINGLE(USB11HDN1, USB11H2, USB11H2_DESC); 1874 - SIG_EXPR_LIST_DECL_SINGLE(USB11DDN1, USB11D1, USB11D1_DESC); 1875 - MS_PIN_DECL_(K3, SIG_EXPR_LIST_PTR(USB11HDN1), SIG_EXPR_LIST_PTR(USB11DDN1)); 1749 + SIG_EXPR_LIST_DECL_SINGLE(K3, USB11HDN1, USB11H2, USB11H2_DESC); 1750 + SIG_EXPR_LIST_DECL_SINGLE(K3, USB11DDN1, USB11D1, USB11D1_DESC); 1751 + PIN_DECL_(K3, SIG_EXPR_LIST_PTR(K3, USB11HDN1), 1752 + SIG_EXPR_LIST_PTR(K3, USB11DDN1)); 1876 1753 1877 1754 FUNC_GROUP_DECL(USB11H2, K4, K3); 1878 1755 FUNC_GROUP_DECL(USB11D1, K4, K3); ··· 1883 1756 #define USB2D1_DESC SIG_DESC_BIT(SCU90, 29, 0) 1884 1757 1885 1758 #define AB21 222 1886 - SIG_EXPR_LIST_DECL_SINGLE(USB2HDP1, USB2H1, USB2H1_DESC); 1887 - SIG_EXPR_LIST_DECL_SINGLE(USB2DDP1, USB2D1, USB2D1_DESC); 1888 - MS_PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(USB2HDP1), SIG_EXPR_LIST_PTR(USB2DDP1)); 1759 + SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2HDP1, USB2H1, USB2H1_DESC); 1760 + SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2DDP1, USB2D1, USB2D1_DESC); 1761 + PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(AB21, USB2HDP1), 1762 + SIG_EXPR_LIST_PTR(AB21, USB2DDP1)); 1889 1763 1890 1764 #define AB20 223 1891 - SIG_EXPR_LIST_DECL_SINGLE(USB2HDN1, USB2H1, USB2H1_DESC); 1892 - SIG_EXPR_LIST_DECL_SINGLE(USB2DDN1, USB2D1, USB2D1_DESC); 1893 - MS_PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(USB2HDN1), SIG_EXPR_LIST_PTR(USB2DDN1)); 1765 + SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2HDN1, USB2H1, USB2H1_DESC); 1766 + SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2DDN1, USB2D1, USB2D1_DESC); 1767 + PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(AB20, USB2HDN1), 1768 + SIG_EXPR_LIST_PTR(AB20, USB2DDN1)); 1894 1769 1895 1770 FUNC_GROUP_DECL(USB2H1, AB21, AB20); 1896 1771 FUNC_GROUP_DECL(USB2D1, AB21, AB20); ··· 2660 2531 2661 2532 static const struct of_device_id aspeed_g4_pinctrl_of_match[] = { 2662 2533 { .compatible = "aspeed,ast2400-pinctrl", }, 2534 + /* 2535 + * The aspeed,g4-pinctrl compatible has been removed the from the 2536 + * bindings, but keep the match in case of old devicetrees. 2537 + */ 2663 2538 { .compatible = "aspeed,g4-pinctrl", }, 2664 2539 { }, 2665 2540 };
+990 -879
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
··· 21 21 #include "../pinctrl-utils.h" 22 22 #include "pinctrl-aspeed.h" 23 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 + 24 31 /* 25 32 * The "Multi-function Pins Mapping and Control" table in the SoC datasheet 26 33 * references registers by the device/offset mnemonic. The register macros ··· 70 63 SSSF_PIN_DECL(D14, GPIOA1, MAC2LINK, SIG_DESC_SET(SCU80, 1)); 71 64 72 65 #define D13 2 73 - SIG_EXPR_LIST_DECL_SINGLE(SPI1CS1, SPI1CS1, SIG_DESC_SET(SCU80, 15)); 74 - SIG_EXPR_LIST_DECL_SINGLE(TIMER3, TIMER3, SIG_DESC_SET(SCU80, 2)); 75 - MS_PIN_DECL(D13, GPIOA2, SPI1CS1, TIMER3); 66 + SIG_EXPR_LIST_DECL_SINGLE(D13, SPI1CS1, SPI1CS1, SIG_DESC_SET(SCU80, 15)); 67 + SIG_EXPR_LIST_DECL_SINGLE(D13, TIMER3, TIMER3, SIG_DESC_SET(SCU80, 2)); 68 + PIN_DECL_2(D13, GPIOA2, SPI1CS1, TIMER3); 76 69 FUNC_GROUP_DECL(SPI1CS1, D13); 77 70 FUNC_GROUP_DECL(TIMER3, D13); 78 71 ··· 82 75 #define I2C9_DESC SIG_DESC_SET(SCU90, 22) 83 76 84 77 #define C14 4 85 - SIG_EXPR_LIST_DECL_SINGLE(SCL9, I2C9, I2C9_DESC, COND1); 86 - SIG_EXPR_LIST_DECL_SINGLE(TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4), COND1); 87 - MS_PIN_DECL(C14, GPIOA4, SCL9, TIMER5); 78 + SIG_EXPR_LIST_DECL_SINGLE(C14, SCL9, I2C9, I2C9_DESC, COND1); 79 + SIG_EXPR_LIST_DECL_SINGLE(C14, TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4), COND1); 80 + PIN_DECL_2(C14, GPIOA4, SCL9, TIMER5); 88 81 89 82 FUNC_GROUP_DECL(TIMER5, C14); 90 83 91 84 #define A13 5 92 - SIG_EXPR_LIST_DECL_SINGLE(SDA9, I2C9, I2C9_DESC, COND1); 93 - SIG_EXPR_LIST_DECL_SINGLE(TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5), COND1); 94 - MS_PIN_DECL(A13, GPIOA5, SDA9, TIMER6); 85 + SIG_EXPR_LIST_DECL_SINGLE(A13, SDA9, I2C9, I2C9_DESC, COND1); 86 + SIG_EXPR_LIST_DECL_SINGLE(A13, TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5), COND1); 87 + PIN_DECL_2(A13, GPIOA5, SDA9, TIMER6); 95 88 96 89 FUNC_GROUP_DECL(TIMER6, A13); 97 90 ··· 100 93 #define MDIO2_DESC SIG_DESC_SET(SCU90, 2) 101 94 102 95 #define C13 6 103 - SIG_EXPR_LIST_DECL_SINGLE(MDC2, MDIO2, MDIO2_DESC, COND1); 104 - SIG_EXPR_LIST_DECL_SINGLE(TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6), COND1); 105 - MS_PIN_DECL(C13, GPIOA6, MDC2, TIMER7); 96 + SIG_EXPR_LIST_DECL_SINGLE(C13, MDC2, MDIO2, MDIO2_DESC, COND1); 97 + SIG_EXPR_LIST_DECL_SINGLE(C13, TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6), COND1); 98 + PIN_DECL_2(C13, GPIOA6, MDC2, TIMER7); 106 99 107 100 FUNC_GROUP_DECL(TIMER7, C13); 108 101 109 102 #define B13 7 110 - SIG_EXPR_LIST_DECL_SINGLE(MDIO2, MDIO2, MDIO2_DESC, COND1); 111 - SIG_EXPR_LIST_DECL_SINGLE(TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7), COND1); 112 - MS_PIN_DECL(B13, GPIOA7, MDIO2, TIMER8); 103 + SIG_EXPR_LIST_DECL_SINGLE(B13, MDIO2, MDIO2, MDIO2_DESC, COND1); 104 + SIG_EXPR_LIST_DECL_SINGLE(B13, TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7), COND1); 105 + PIN_DECL_2(B13, GPIOA7, MDIO2, TIMER8); 113 106 114 107 FUNC_GROUP_DECL(TIMER8, B13); 115 108 ··· 132 125 133 126 #define H21 13 134 127 #define H21_DESC SIG_DESC_SET(SCU80, 13) 135 - SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H21_DESC); 136 - SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H21_DESC); 137 - MS_PIN_DECL(H21, GPIOB5, LPCPD, LPCSMI); 128 + SIG_EXPR_LIST_DECL_SINGLE(H21, LPCPD, LPCPD, H21_DESC); 129 + SIG_EXPR_LIST_DECL_SINGLE(H21, LPCSMI, LPCSMI, H21_DESC); 130 + PIN_DECL_2(H21, GPIOB5, LPCPD, LPCSMI); 138 131 FUNC_GROUP_DECL(LPCPD, H21); 139 132 FUNC_GROUP_DECL(LPCSMI, H21); 140 133 ··· 148 141 149 142 #define C12 16 150 143 #define I2C10_DESC SIG_DESC_SET(SCU90, 23) 151 - SIG_EXPR_LIST_DECL_SINGLE(SD1CLK, SD1, SD1_DESC); 152 - SIG_EXPR_LIST_DECL_SINGLE(SCL10, I2C10, I2C10_DESC); 153 - MS_PIN_DECL(C12, GPIOC0, SD1CLK, SCL10); 144 + SIG_EXPR_LIST_DECL_SINGLE(C12, SD1CLK, SD1, SD1_DESC); 145 + SIG_EXPR_LIST_DECL_SINGLE(C12, SCL10, I2C10, I2C10_DESC); 146 + PIN_DECL_2(C12, GPIOC0, SD1CLK, SCL10); 154 147 155 148 #define A12 17 156 - SIG_EXPR_LIST_DECL_SINGLE(SD1CMD, SD1, SD1_DESC); 157 - SIG_EXPR_LIST_DECL_SINGLE(SDA10, I2C10, I2C10_DESC); 158 - MS_PIN_DECL(A12, GPIOC1, SD1CMD, SDA10); 149 + SIG_EXPR_LIST_DECL_SINGLE(A12, SD1CMD, SD1, SD1_DESC); 150 + SIG_EXPR_LIST_DECL_SINGLE(A12, SDA10, I2C10, I2C10_DESC); 151 + PIN_DECL_2(A12, GPIOC1, SD1CMD, SDA10); 159 152 160 153 FUNC_GROUP_DECL(I2C10, C12, A12); 161 154 162 155 #define B12 18 163 156 #define I2C11_DESC SIG_DESC_SET(SCU90, 24) 164 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT0, SD1, SD1_DESC); 165 - SIG_EXPR_LIST_DECL_SINGLE(SCL11, I2C11, I2C11_DESC); 166 - MS_PIN_DECL(B12, GPIOC2, SD1DAT0, SCL11); 157 + SIG_EXPR_LIST_DECL_SINGLE(B12, SD1DAT0, SD1, SD1_DESC); 158 + SIG_EXPR_LIST_DECL_SINGLE(B12, SCL11, I2C11, I2C11_DESC); 159 + PIN_DECL_2(B12, GPIOC2, SD1DAT0, SCL11); 167 160 168 161 #define D9 19 169 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT1, SD1, SD1_DESC); 170 - SIG_EXPR_LIST_DECL_SINGLE(SDA11, I2C11, I2C11_DESC); 171 - MS_PIN_DECL(D9, GPIOC3, SD1DAT1, SDA11); 162 + SIG_EXPR_LIST_DECL_SINGLE(D9, SD1DAT1, SD1, SD1_DESC); 163 + SIG_EXPR_LIST_DECL_SINGLE(D9, SDA11, I2C11, I2C11_DESC); 164 + PIN_DECL_2(D9, GPIOC3, SD1DAT1, SDA11); 172 165 173 166 FUNC_GROUP_DECL(I2C11, B12, D9); 174 167 175 168 #define D10 20 176 169 #define I2C12_DESC SIG_DESC_SET(SCU90, 25) 177 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT2, SD1, SD1_DESC); 178 - SIG_EXPR_LIST_DECL_SINGLE(SCL12, I2C12, I2C12_DESC); 179 - MS_PIN_DECL(D10, GPIOC4, SD1DAT2, SCL12); 170 + SIG_EXPR_LIST_DECL_SINGLE(D10, SD1DAT2, SD1, SD1_DESC); 171 + SIG_EXPR_LIST_DECL_SINGLE(D10, SCL12, I2C12, I2C12_DESC); 172 + PIN_DECL_2(D10, GPIOC4, SD1DAT2, SCL12); 180 173 181 174 #define E12 21 182 - SIG_EXPR_LIST_DECL_SINGLE(SD1DAT3, SD1, SD1_DESC); 183 - SIG_EXPR_LIST_DECL_SINGLE(SDA12, I2C12, I2C12_DESC); 184 - MS_PIN_DECL(E12, GPIOC5, SD1DAT3, SDA12); 175 + SIG_EXPR_LIST_DECL_SINGLE(E12, SD1DAT3, SD1, SD1_DESC); 176 + SIG_EXPR_LIST_DECL_SINGLE(E12, SDA12, I2C12, I2C12_DESC); 177 + PIN_DECL_2(E12, GPIOC5, SD1DAT3, SDA12); 185 178 186 179 FUNC_GROUP_DECL(I2C12, D10, E12); 187 180 188 181 #define C11 22 189 182 #define I2C13_DESC SIG_DESC_SET(SCU90, 26) 190 - SIG_EXPR_LIST_DECL_SINGLE(SD1CD, SD1, SD1_DESC); 191 - SIG_EXPR_LIST_DECL_SINGLE(SCL13, I2C13, I2C13_DESC); 192 - MS_PIN_DECL(C11, GPIOC6, SD1CD, SCL13); 183 + SIG_EXPR_LIST_DECL_SINGLE(C11, SD1CD, SD1, SD1_DESC); 184 + SIG_EXPR_LIST_DECL_SINGLE(C11, SCL13, I2C13, I2C13_DESC); 185 + PIN_DECL_2(C11, GPIOC6, SD1CD, SCL13); 193 186 194 187 #define B11 23 195 - SIG_EXPR_LIST_DECL_SINGLE(SD1WP, SD1, SD1_DESC); 196 - SIG_EXPR_LIST_DECL_SINGLE(SDA13, I2C13, I2C13_DESC); 197 - MS_PIN_DECL(B11, GPIOC7, SD1WP, SDA13); 188 + SIG_EXPR_LIST_DECL_SINGLE(B11, SD1WP, SD1, SD1_DESC); 189 + SIG_EXPR_LIST_DECL_SINGLE(B11, SDA13, I2C13, I2C13_DESC); 190 + PIN_DECL_2(B11, GPIOC7, SD1WP, SDA13); 198 191 199 192 FUNC_GROUP_DECL(I2C13, C11, B11); 200 193 FUNC_GROUP_DECL(SD1, C12, A12, B12, D9, D10, E12, C11, B11); ··· 204 197 #define GPID_DESC SIG_DESC_SET(HW_STRAP1, 21) 205 198 206 199 #define F19 24 207 - SIG_EXPR_LIST_DECL_SINGLE(SD2CLK, SD2, SD2_DESC); 208 - SIG_EXPR_DECL(GPID0IN, GPID0, GPID0_DESC); 209 - SIG_EXPR_DECL(GPID0IN, GPID, GPID_DESC); 210 - SIG_EXPR_LIST_DECL_DUAL(GPID0IN, GPID0, GPID); 211 - MS_PIN_DECL(F19, GPIOD0, SD2CLK, GPID0IN); 200 + SIG_EXPR_LIST_DECL_SINGLE(F19, SD2CLK, SD2, SD2_DESC); 201 + SIG_EXPR_DECL_SINGLE(GPID0IN, GPID0, GPID0_DESC); 202 + SIG_EXPR_DECL_SINGLE(GPID0IN, GPID, GPID_DESC); 203 + SIG_EXPR_LIST_DECL_DUAL(F19, GPID0IN, GPID0, GPID); 204 + PIN_DECL_2(F19, GPIOD0, SD2CLK, GPID0IN); 212 205 213 206 #define E21 25 214 - SIG_EXPR_LIST_DECL_SINGLE(SD2CMD, SD2, SD2_DESC); 215 - SIG_EXPR_DECL(GPID0OUT, GPID0, GPID0_DESC); 216 - SIG_EXPR_DECL(GPID0OUT, GPID, GPID_DESC); 217 - SIG_EXPR_LIST_DECL_DUAL(GPID0OUT, GPID0, GPID); 218 - MS_PIN_DECL(E21, GPIOD1, SD2CMD, GPID0OUT); 207 + SIG_EXPR_LIST_DECL_SINGLE(E21, SD2CMD, SD2, SD2_DESC); 208 + SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID0, GPID0_DESC); 209 + SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID, GPID_DESC); 210 + SIG_EXPR_LIST_DECL_DUAL(E21, GPID0OUT, GPID0, GPID); 211 + PIN_DECL_2(E21, GPIOD1, SD2CMD, GPID0OUT); 219 212 220 213 FUNC_GROUP_DECL(GPID0, F19, E21); 221 214 222 215 #define GPID2_DESC SIG_DESC_SET(SCU8C, 9) 223 216 224 217 #define F20 26 225 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT0, SD2, SD2_DESC); 226 - SIG_EXPR_DECL(GPID2IN, GPID2, GPID2_DESC); 227 - SIG_EXPR_DECL(GPID2IN, GPID, GPID_DESC); 228 - SIG_EXPR_LIST_DECL_DUAL(GPID2IN, GPID2, GPID); 229 - MS_PIN_DECL(F20, GPIOD2, SD2DAT0, GPID2IN); 218 + SIG_EXPR_LIST_DECL_SINGLE(F20, SD2DAT0, SD2, SD2_DESC); 219 + SIG_EXPR_DECL_SINGLE(GPID2IN, GPID2, GPID2_DESC); 220 + SIG_EXPR_DECL_SINGLE(GPID2IN, GPID, GPID_DESC); 221 + SIG_EXPR_LIST_DECL_DUAL(F20, GPID2IN, GPID2, GPID); 222 + PIN_DECL_2(F20, GPIOD2, SD2DAT0, GPID2IN); 230 223 231 224 #define D20 27 232 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT1, SD2, SD2_DESC); 233 - SIG_EXPR_DECL(GPID2OUT, GPID2, GPID2_DESC); 234 - SIG_EXPR_DECL(GPID2OUT, GPID, GPID_DESC); 235 - SIG_EXPR_LIST_DECL_DUAL(GPID2OUT, GPID2, GPID); 236 - MS_PIN_DECL(D20, GPIOD3, SD2DAT1, GPID2OUT); 225 + SIG_EXPR_LIST_DECL_SINGLE(D20, SD2DAT1, SD2, SD2_DESC); 226 + SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID2, GPID2_DESC); 227 + SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID, GPID_DESC); 228 + SIG_EXPR_LIST_DECL_DUAL(D20, GPID2OUT, GPID2, GPID); 229 + PIN_DECL_2(D20, GPIOD3, SD2DAT1, GPID2OUT); 237 230 238 231 FUNC_GROUP_DECL(GPID2, F20, D20); 239 232 240 233 #define GPID4_DESC SIG_DESC_SET(SCU8C, 10) 241 234 242 235 #define D21 28 243 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT2, SD2, SD2_DESC); 244 - SIG_EXPR_DECL(GPID4IN, GPID4, GPID4_DESC); 245 - SIG_EXPR_DECL(GPID4IN, GPID, GPID_DESC); 246 - SIG_EXPR_LIST_DECL_DUAL(GPID4IN, GPID4, GPID); 247 - MS_PIN_DECL(D21, GPIOD4, SD2DAT2, GPID4IN); 236 + SIG_EXPR_LIST_DECL_SINGLE(D21, SD2DAT2, SD2, SD2_DESC); 237 + SIG_EXPR_DECL_SINGLE(GPID4IN, GPID4, GPID4_DESC); 238 + SIG_EXPR_DECL_SINGLE(GPID4IN, GPID, GPID_DESC); 239 + SIG_EXPR_LIST_DECL_DUAL(D21, GPID4IN, GPID4, GPID); 240 + PIN_DECL_2(D21, GPIOD4, SD2DAT2, GPID4IN); 248 241 249 242 #define E20 29 250 - SIG_EXPR_LIST_DECL_SINGLE(SD2DAT3, SD2, SD2_DESC); 251 - SIG_EXPR_DECL(GPID4OUT, GPID4, GPID4_DESC); 252 - SIG_EXPR_DECL(GPID4OUT, GPID, GPID_DESC); 253 - SIG_EXPR_LIST_DECL_DUAL(GPID4OUT, GPID4, GPID); 254 - MS_PIN_DECL(E20, GPIOD5, SD2DAT3, GPID4OUT); 243 + SIG_EXPR_LIST_DECL_SINGLE(E20, SD2DAT3, SD2, SD2_DESC); 244 + SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID4, GPID4_DESC); 245 + SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID, GPID_DESC); 246 + SIG_EXPR_LIST_DECL_DUAL(E20, GPID4OUT, GPID4, GPID); 247 + PIN_DECL_2(E20, GPIOD5, SD2DAT3, GPID4OUT); 255 248 256 249 FUNC_GROUP_DECL(GPID4, D21, E20); 257 250 258 251 #define GPID6_DESC SIG_DESC_SET(SCU8C, 11) 259 252 260 253 #define G18 30 261 - SIG_EXPR_LIST_DECL_SINGLE(SD2CD, SD2, SD2_DESC); 262 - SIG_EXPR_DECL(GPID6IN, GPID6, GPID6_DESC); 263 - SIG_EXPR_DECL(GPID6IN, GPID, GPID_DESC); 264 - SIG_EXPR_LIST_DECL_DUAL(GPID6IN, GPID6, GPID); 265 - MS_PIN_DECL(G18, GPIOD6, SD2CD, GPID6IN); 254 + SIG_EXPR_LIST_DECL_SINGLE(G18, SD2CD, SD2, SD2_DESC); 255 + SIG_EXPR_DECL_SINGLE(GPID6IN, GPID6, GPID6_DESC); 256 + SIG_EXPR_DECL_SINGLE(GPID6IN, GPID, GPID_DESC); 257 + SIG_EXPR_LIST_DECL_DUAL(G18, GPID6IN, GPID6, GPID); 258 + PIN_DECL_2(G18, GPIOD6, SD2CD, GPID6IN); 266 259 267 260 #define C21 31 268 - SIG_EXPR_LIST_DECL_SINGLE(SD2WP, SD2, SD2_DESC); 269 - SIG_EXPR_DECL(GPID6OUT, GPID6, GPID6_DESC); 270 - SIG_EXPR_DECL(GPID6OUT, GPID, GPID_DESC); 271 - SIG_EXPR_LIST_DECL_DUAL(GPID6OUT, GPID6, GPID); 272 - MS_PIN_DECL(C21, GPIOD7, SD2WP, GPID6OUT); 261 + SIG_EXPR_LIST_DECL_SINGLE(C21, SD2WP, SD2, SD2_DESC); 262 + SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID6, GPID6_DESC); 263 + SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID, GPID_DESC); 264 + SIG_EXPR_LIST_DECL_DUAL(C21, GPID6OUT, GPID6, GPID); 265 + PIN_DECL_2(C21, GPIOD7, SD2WP, GPID6OUT); 273 266 274 267 FUNC_GROUP_DECL(GPID6, G18, C21); 275 268 FUNC_GROUP_DECL(SD2, F19, E21, F20, D20, D21, E20, G18, C21); ··· 278 271 #define GPIE0_DESC SIG_DESC_SET(SCU8C, 12) 279 272 280 273 #define B20 32 281 - SIG_EXPR_LIST_DECL_SINGLE(NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16)); 282 - SIG_EXPR_DECL(GPIE0IN, GPIE0, GPIE0_DESC); 283 - SIG_EXPR_DECL(GPIE0IN, GPIE, GPIE_DESC); 284 - SIG_EXPR_LIST_DECL_DUAL(GPIE0IN, GPIE0, GPIE); 285 - MS_PIN_DECL(B20, GPIOE0, NCTS3, GPIE0IN); 274 + SIG_EXPR_LIST_DECL_SINGLE(B20, NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16)); 275 + SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE0, GPIE0_DESC); 276 + SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE, GPIE_DESC); 277 + SIG_EXPR_LIST_DECL_DUAL(B20, GPIE0IN, GPIE0, GPIE); 278 + PIN_DECL_2(B20, GPIOE0, NCTS3, GPIE0IN); 286 279 FUNC_GROUP_DECL(NCTS3, B20); 287 280 288 281 #define C20 33 289 - SIG_EXPR_LIST_DECL_SINGLE(NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17)); 290 - SIG_EXPR_DECL(GPIE0OUT, GPIE0, GPIE0_DESC); 291 - SIG_EXPR_DECL(GPIE0OUT, GPIE, GPIE_DESC); 292 - SIG_EXPR_LIST_DECL_DUAL(GPIE0OUT, GPIE0, GPIE); 293 - MS_PIN_DECL(C20, GPIOE1, NDCD3, GPIE0OUT); 282 + SIG_EXPR_LIST_DECL_SINGLE(C20, NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17)); 283 + SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE0, GPIE0_DESC); 284 + SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE, GPIE_DESC); 285 + SIG_EXPR_LIST_DECL_DUAL(C20, GPIE0OUT, GPIE0, GPIE); 286 + PIN_DECL_2(C20, GPIOE1, NDCD3, GPIE0OUT); 294 287 FUNC_GROUP_DECL(NDCD3, C20); 295 288 296 289 FUNC_GROUP_DECL(GPIE0, B20, C20); ··· 298 291 #define GPIE2_DESC SIG_DESC_SET(SCU8C, 13) 299 292 300 293 #define F18 34 301 - SIG_EXPR_LIST_DECL_SINGLE(NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18)); 302 - SIG_EXPR_DECL(GPIE2IN, GPIE2, GPIE2_DESC); 303 - SIG_EXPR_DECL(GPIE2IN, GPIE, GPIE_DESC); 304 - SIG_EXPR_LIST_DECL_DUAL(GPIE2IN, GPIE2, GPIE); 305 - MS_PIN_DECL(F18, GPIOE2, NDSR3, GPIE2IN); 294 + SIG_EXPR_LIST_DECL_SINGLE(F18, NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18)); 295 + SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE2, GPIE2_DESC); 296 + SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE, GPIE_DESC); 297 + SIG_EXPR_LIST_DECL_DUAL(F18, GPIE2IN, GPIE2, GPIE); 298 + PIN_DECL_2(F18, GPIOE2, NDSR3, GPIE2IN); 306 299 FUNC_GROUP_DECL(NDSR3, F18); 307 300 308 301 309 302 #define F17 35 310 - SIG_EXPR_LIST_DECL_SINGLE(NRI3, NRI3, SIG_DESC_SET(SCU80, 19)); 311 - SIG_EXPR_DECL(GPIE2OUT, GPIE2, GPIE2_DESC); 312 - SIG_EXPR_DECL(GPIE2OUT, GPIE, GPIE_DESC); 313 - SIG_EXPR_LIST_DECL_DUAL(GPIE2OUT, GPIE2, GPIE); 314 - MS_PIN_DECL(F17, GPIOE3, NRI3, GPIE2OUT); 303 + SIG_EXPR_LIST_DECL_SINGLE(F17, NRI3, NRI3, SIG_DESC_SET(SCU80, 19)); 304 + SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE2, GPIE2_DESC); 305 + SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE, GPIE_DESC); 306 + SIG_EXPR_LIST_DECL_DUAL(F17, GPIE2OUT, GPIE2, GPIE); 307 + PIN_DECL_2(F17, GPIOE3, NRI3, GPIE2OUT); 315 308 FUNC_GROUP_DECL(NRI3, F17); 316 309 317 310 FUNC_GROUP_DECL(GPIE2, F18, F17); ··· 319 312 #define GPIE4_DESC SIG_DESC_SET(SCU8C, 14) 320 313 321 314 #define E18 36 322 - SIG_EXPR_LIST_DECL_SINGLE(NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20)); 323 - SIG_EXPR_DECL(GPIE4IN, GPIE4, GPIE4_DESC); 324 - SIG_EXPR_DECL(GPIE4IN, GPIE, GPIE_DESC); 325 - SIG_EXPR_LIST_DECL_DUAL(GPIE4IN, GPIE4, GPIE); 326 - MS_PIN_DECL(E18, GPIOE4, NDTR3, GPIE4IN); 315 + SIG_EXPR_LIST_DECL_SINGLE(E18, NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20)); 316 + SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE4, GPIE4_DESC); 317 + SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE, GPIE_DESC); 318 + SIG_EXPR_LIST_DECL_DUAL(E18, GPIE4IN, GPIE4, GPIE); 319 + PIN_DECL_2(E18, GPIOE4, NDTR3, GPIE4IN); 327 320 FUNC_GROUP_DECL(NDTR3, E18); 328 321 329 322 #define D19 37 330 - SIG_EXPR_LIST_DECL_SINGLE(NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21)); 331 - SIG_EXPR_DECL(GPIE4OUT, GPIE4, GPIE4_DESC); 332 - SIG_EXPR_DECL(GPIE4OUT, GPIE, GPIE_DESC); 333 - SIG_EXPR_LIST_DECL_DUAL(GPIE4OUT, GPIE4, GPIE); 334 - MS_PIN_DECL(D19, GPIOE5, NRTS3, GPIE4OUT); 323 + SIG_EXPR_LIST_DECL_SINGLE(D19, NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21)); 324 + SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE4, GPIE4_DESC); 325 + SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE, GPIE_DESC); 326 + SIG_EXPR_LIST_DECL_DUAL(D19, GPIE4OUT, GPIE4, GPIE); 327 + PIN_DECL_2(D19, GPIOE5, NRTS3, GPIE4OUT); 335 328 FUNC_GROUP_DECL(NRTS3, D19); 336 329 337 330 FUNC_GROUP_DECL(GPIE4, E18, D19); ··· 339 332 #define GPIE6_DESC SIG_DESC_SET(SCU8C, 15) 340 333 341 334 #define A20 38 342 - SIG_EXPR_LIST_DECL_SINGLE(TXD3, TXD3, SIG_DESC_SET(SCU80, 22)); 343 - SIG_EXPR_DECL(GPIE6IN, GPIE6, GPIE6_DESC); 344 - SIG_EXPR_DECL(GPIE6IN, GPIE, GPIE_DESC); 345 - SIG_EXPR_LIST_DECL_DUAL(GPIE6IN, GPIE6, GPIE); 346 - MS_PIN_DECL(A20, GPIOE6, TXD3, GPIE6IN); 335 + SIG_EXPR_LIST_DECL_SINGLE(A20, TXD3, TXD3, SIG_DESC_SET(SCU80, 22)); 336 + SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE6, GPIE6_DESC); 337 + SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE, GPIE_DESC); 338 + SIG_EXPR_LIST_DECL_DUAL(A20, GPIE6IN, GPIE6, GPIE); 339 + PIN_DECL_2(A20, GPIOE6, TXD3, GPIE6IN); 347 340 FUNC_GROUP_DECL(TXD3, A20); 348 341 349 342 #define B19 39 350 - SIG_EXPR_LIST_DECL_SINGLE(RXD3, RXD3, SIG_DESC_SET(SCU80, 23)); 351 - SIG_EXPR_DECL(GPIE6OUT, GPIE6, GPIE6_DESC); 352 - SIG_EXPR_DECL(GPIE6OUT, GPIE, GPIE_DESC); 353 - SIG_EXPR_LIST_DECL_DUAL(GPIE6OUT, GPIE6, GPIE); 354 - MS_PIN_DECL(B19, GPIOE7, RXD3, GPIE6OUT); 343 + SIG_EXPR_LIST_DECL_SINGLE(B19, RXD3, RXD3, SIG_DESC_SET(SCU80, 23)); 344 + SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE6, GPIE6_DESC); 345 + SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE, GPIE_DESC); 346 + SIG_EXPR_LIST_DECL_DUAL(B19, GPIE6OUT, GPIE6, GPIE); 347 + PIN_DECL_2(B19, GPIOE7, RXD3, GPIE6OUT); 355 348 FUNC_GROUP_DECL(RXD3, B19); 356 349 357 350 FUNC_GROUP_DECL(GPIE6, A20, B19); ··· 360 353 #define LPCPLUS_DESC SIG_DESC_SET(SCU90, 30) 361 354 362 355 #define J19 40 363 - SIG_EXPR_DECL(LHAD0, LPCHC, LPCHC_DESC); 364 - SIG_EXPR_DECL(LHAD0, LPCPLUS, LPCPLUS_DESC); 365 - SIG_EXPR_LIST_DECL_DUAL(LHAD0, LPCHC, LPCPLUS); 366 - SIG_EXPR_LIST_DECL_SINGLE(NCTS4, NCTS4, SIG_DESC_SET(SCU80, 24)); 367 - MS_PIN_DECL(J19, GPIOF0, LHAD0, NCTS4); 356 + SIG_EXPR_DECL_SINGLE(LHAD0, LPCHC, LPCHC_DESC); 357 + SIG_EXPR_DECL_SINGLE(LHAD0, LPCPLUS, LPCPLUS_DESC); 358 + SIG_EXPR_LIST_DECL_DUAL(J19, LHAD0, LPCHC, LPCPLUS); 359 + SIG_EXPR_LIST_DECL_SINGLE(J19, NCTS4, NCTS4, SIG_DESC_SET(SCU80, 24)); 360 + PIN_DECL_2(J19, GPIOF0, LHAD0, NCTS4); 368 361 FUNC_GROUP_DECL(NCTS4, J19); 369 362 370 363 #define J18 41 371 - SIG_EXPR_DECL(LHAD1, LPCHC, LPCHC_DESC); 372 - SIG_EXPR_DECL(LHAD1, LPCPLUS, LPCPLUS_DESC); 373 - SIG_EXPR_LIST_DECL_DUAL(LHAD1, LPCHC, LPCPLUS); 374 - SIG_EXPR_LIST_DECL_SINGLE(NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25)); 375 - MS_PIN_DECL(J18, GPIOF1, LHAD1, NDCD4); 364 + SIG_EXPR_DECL_SINGLE(LHAD1, LPCHC, LPCHC_DESC); 365 + SIG_EXPR_DECL_SINGLE(LHAD1, LPCPLUS, LPCPLUS_DESC); 366 + SIG_EXPR_LIST_DECL_DUAL(J18, LHAD1, LPCHC, LPCPLUS); 367 + SIG_EXPR_LIST_DECL_SINGLE(J18, NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25)); 368 + PIN_DECL_2(J18, GPIOF1, LHAD1, NDCD4); 376 369 FUNC_GROUP_DECL(NDCD4, J18); 377 370 378 371 #define B22 42 379 - SIG_EXPR_DECL(LHAD2, LPCHC, LPCHC_DESC); 380 - SIG_EXPR_DECL(LHAD2, LPCPLUS, LPCPLUS_DESC); 381 - SIG_EXPR_LIST_DECL_DUAL(LHAD2, LPCHC, LPCPLUS); 382 - SIG_EXPR_LIST_DECL_SINGLE(NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26)); 383 - MS_PIN_DECL(B22, GPIOF2, LHAD2, NDSR4); 372 + SIG_EXPR_DECL_SINGLE(LHAD2, LPCHC, LPCHC_DESC); 373 + SIG_EXPR_DECL_SINGLE(LHAD2, LPCPLUS, LPCPLUS_DESC); 374 + SIG_EXPR_LIST_DECL_DUAL(B22, LHAD2, LPCHC, LPCPLUS); 375 + SIG_EXPR_LIST_DECL_SINGLE(B22, NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26)); 376 + PIN_DECL_2(B22, GPIOF2, LHAD2, NDSR4); 384 377 FUNC_GROUP_DECL(NDSR4, B22); 385 378 386 379 #define B21 43 387 - SIG_EXPR_DECL(LHAD3, LPCHC, LPCHC_DESC); 388 - SIG_EXPR_DECL(LHAD3, LPCPLUS, LPCPLUS_DESC); 389 - SIG_EXPR_LIST_DECL_DUAL(LHAD3, LPCHC, LPCPLUS); 390 - SIG_EXPR_LIST_DECL_SINGLE(NRI4, NRI4, SIG_DESC_SET(SCU80, 27)); 391 - MS_PIN_DECL(B21, GPIOF3, LHAD3, NRI4); 380 + SIG_EXPR_DECL_SINGLE(LHAD3, LPCHC, LPCHC_DESC); 381 + SIG_EXPR_DECL_SINGLE(LHAD3, LPCPLUS, LPCPLUS_DESC); 382 + SIG_EXPR_LIST_DECL_DUAL(B21, LHAD3, LPCHC, LPCPLUS); 383 + SIG_EXPR_LIST_DECL_SINGLE(B21, NRI4, NRI4, SIG_DESC_SET(SCU80, 27)); 384 + PIN_DECL_2(B21, GPIOF3, LHAD3, NRI4); 392 385 FUNC_GROUP_DECL(NRI4, B21); 393 386 394 387 #define A21 44 395 - SIG_EXPR_DECL(LHCLK, LPCHC, LPCHC_DESC); 396 - SIG_EXPR_DECL(LHCLK, LPCPLUS, LPCPLUS_DESC); 397 - SIG_EXPR_LIST_DECL_DUAL(LHCLK, LPCHC, LPCPLUS); 398 - SIG_EXPR_LIST_DECL_SINGLE(NDTR4, NDTR4, SIG_DESC_SET(SCU80, 28)); 399 - MS_PIN_DECL(A21, GPIOF4, LHCLK, NDTR4); 388 + SIG_EXPR_DECL_SINGLE(LHCLK, LPCHC, LPCHC_DESC); 389 + SIG_EXPR_DECL_SINGLE(LHCLK, LPCPLUS, LPCPLUS_DESC); 390 + SIG_EXPR_LIST_DECL_DUAL(A21, LHCLK, LPCHC, LPCPLUS); 391 + SIG_EXPR_LIST_DECL_SINGLE(A21, NDTR4, NDTR4, SIG_DESC_SET(SCU80, 28)); 392 + PIN_DECL_2(A21, GPIOF4, LHCLK, NDTR4); 400 393 FUNC_GROUP_DECL(NDTR4, A21); 401 394 402 395 #define H19 45 403 - SIG_EXPR_DECL(LHFRAME, LPCHC, LPCHC_DESC); 404 - SIG_EXPR_DECL(LHFRAME, LPCPLUS, LPCPLUS_DESC); 405 - SIG_EXPR_LIST_DECL_DUAL(LHFRAME, LPCHC, LPCPLUS); 406 - SIG_EXPR_LIST_DECL_SINGLE(NRTS4, NRTS4, SIG_DESC_SET(SCU80, 29)); 407 - MS_PIN_DECL(H19, GPIOF5, LHFRAME, NRTS4); 396 + SIG_EXPR_DECL_SINGLE(LHFRAME, LPCHC, LPCHC_DESC); 397 + SIG_EXPR_DECL_SINGLE(LHFRAME, LPCPLUS, LPCPLUS_DESC); 398 + SIG_EXPR_LIST_DECL_DUAL(H19, LHFRAME, LPCHC, LPCPLUS); 399 + SIG_EXPR_LIST_DECL_SINGLE(H19, NRTS4, NRTS4, SIG_DESC_SET(SCU80, 29)); 400 + PIN_DECL_2(H19, GPIOF5, LHFRAME, NRTS4); 408 401 FUNC_GROUP_DECL(NRTS4, H19); 409 402 410 403 #define G17 46 411 - SIG_EXPR_LIST_DECL_SINGLE(LHSIRQ, LPCHC, LPCHC_DESC); 412 - SIG_EXPR_LIST_DECL_SINGLE(TXD4, TXD4, SIG_DESC_SET(SCU80, 30)); 413 - MS_PIN_DECL(G17, GPIOF6, LHSIRQ, TXD4); 404 + SIG_EXPR_LIST_DECL_SINGLE(G17, LHSIRQ, LPCHC, LPCHC_DESC); 405 + SIG_EXPR_LIST_DECL_SINGLE(G17, TXD4, TXD4, SIG_DESC_SET(SCU80, 30)); 406 + PIN_DECL_2(G17, GPIOF6, LHSIRQ, TXD4); 414 407 FUNC_GROUP_DECL(TXD4, G17); 415 408 416 409 #define H18 47 417 - SIG_EXPR_DECL(LHRST, LPCHC, LPCHC_DESC); 418 - SIG_EXPR_DECL(LHRST, LPCPLUS, LPCPLUS_DESC); 419 - SIG_EXPR_LIST_DECL_DUAL(LHRST, LPCHC, LPCPLUS); 420 - SIG_EXPR_LIST_DECL_SINGLE(RXD4, RXD4, SIG_DESC_SET(SCU80, 31)); 421 - MS_PIN_DECL(H18, GPIOF7, LHRST, RXD4); 410 + SIG_EXPR_DECL_SINGLE(LHRST, LPCHC, LPCHC_DESC); 411 + SIG_EXPR_DECL_SINGLE(LHRST, LPCPLUS, LPCPLUS_DESC); 412 + SIG_EXPR_LIST_DECL_DUAL(H18, LHRST, LPCHC, LPCPLUS); 413 + SIG_EXPR_LIST_DECL_SINGLE(H18, RXD4, RXD4, SIG_DESC_SET(SCU80, 31)); 414 + PIN_DECL_2(H18, GPIOF7, LHRST, RXD4); 422 415 FUNC_GROUP_DECL(RXD4, H18); 423 416 424 417 FUNC_GROUP_DECL(LPCHC, J19, J18, B22, B21, A21, H19, G17, H18); 425 418 FUNC_GROUP_DECL(LPCPLUS, J19, J18, B22, B21, A21, H19, H18); 426 419 427 420 #define A19 48 428 - SIG_EXPR_LIST_DECL_SINGLE(SGPS1CK, SGPS1, COND1, SIG_DESC_SET(SCU84, 0)); 429 - SS_PIN_DECL(A19, GPIOG0, SGPS1CK); 421 + SIG_EXPR_LIST_DECL_SINGLE(A19, SGPS1CK, SGPS1, COND1, SIG_DESC_SET(SCU84, 0)); 422 + PIN_DECL_1(A19, GPIOG0, SGPS1CK); 430 423 431 424 #define E19 49 432 - SIG_EXPR_LIST_DECL_SINGLE(SGPS1LD, SGPS1, COND1, SIG_DESC_SET(SCU84, 1)); 433 - SS_PIN_DECL(E19, GPIOG1, SGPS1LD); 425 + SIG_EXPR_LIST_DECL_SINGLE(E19, SGPS1LD, SGPS1, COND1, SIG_DESC_SET(SCU84, 1)); 426 + PIN_DECL_1(E19, GPIOG1, SGPS1LD); 434 427 435 428 #define C19 50 436 - SIG_EXPR_LIST_DECL_SINGLE(SGPS1I0, SGPS1, COND1, SIG_DESC_SET(SCU84, 2)); 437 - SS_PIN_DECL(C19, GPIOG2, SGPS1I0); 429 + SIG_EXPR_LIST_DECL_SINGLE(C19, SGPS1I0, SGPS1, COND1, SIG_DESC_SET(SCU84, 2)); 430 + PIN_DECL_1(C19, GPIOG2, SGPS1I0); 438 431 439 432 #define E16 51 440 - SIG_EXPR_LIST_DECL_SINGLE(SGPS1I1, SGPS1, COND1, SIG_DESC_SET(SCU84, 3)); 441 - SS_PIN_DECL(E16, GPIOG3, SGPS1I1); 433 + SIG_EXPR_LIST_DECL_SINGLE(E16, SGPS1I1, SGPS1, COND1, SIG_DESC_SET(SCU84, 3)); 434 + PIN_DECL_1(E16, GPIOG3, SGPS1I1); 442 435 443 436 FUNC_GROUP_DECL(SGPS1, A19, E19, C19, E16); 444 437 445 438 #define SGPS2_DESC SIG_DESC_SET(SCU94, 12) 446 439 447 440 #define E17 52 448 - SIG_EXPR_LIST_DECL_SINGLE(SGPS2CK, SGPS2, COND1, SGPS2_DESC); 449 - SIG_EXPR_LIST_DECL_SINGLE(SALT1, SALT1, COND1, SIG_DESC_SET(SCU84, 4)); 450 - MS_PIN_DECL(E17, GPIOG4, SGPS2CK, SALT1); 441 + SIG_EXPR_LIST_DECL_SINGLE(E17, SGPS2CK, SGPS2, COND1, SGPS2_DESC); 442 + SIG_EXPR_LIST_DECL_SINGLE(E17, SALT1, SALT1, COND1, SIG_DESC_SET(SCU84, 4)); 443 + PIN_DECL_2(E17, GPIOG4, SGPS2CK, SALT1); 451 444 FUNC_GROUP_DECL(SALT1, E17); 452 445 453 446 #define D16 53 454 - SIG_EXPR_LIST_DECL_SINGLE(SGPS2LD, SGPS2, COND1, SGPS2_DESC); 455 - SIG_EXPR_LIST_DECL_SINGLE(SALT2, SALT2, COND1, SIG_DESC_SET(SCU84, 5)); 456 - MS_PIN_DECL(D16, GPIOG5, SGPS2LD, SALT2); 447 + SIG_EXPR_LIST_DECL_SINGLE(D16, SGPS2LD, SGPS2, COND1, SGPS2_DESC); 448 + SIG_EXPR_LIST_DECL_SINGLE(D16, SALT2, SALT2, COND1, SIG_DESC_SET(SCU84, 5)); 449 + PIN_DECL_2(D16, GPIOG5, SGPS2LD, SALT2); 457 450 FUNC_GROUP_DECL(SALT2, D16); 458 451 459 452 #define D15 54 460 - SIG_EXPR_LIST_DECL_SINGLE(SGPS2I0, SGPS2, COND1, SGPS2_DESC); 461 - SIG_EXPR_LIST_DECL_SINGLE(SALT3, SALT3, COND1, SIG_DESC_SET(SCU84, 6)); 462 - MS_PIN_DECL(D15, GPIOG6, SGPS2I0, SALT3); 453 + SIG_EXPR_LIST_DECL_SINGLE(D15, SGPS2I0, SGPS2, COND1, SGPS2_DESC); 454 + SIG_EXPR_LIST_DECL_SINGLE(D15, SALT3, SALT3, COND1, SIG_DESC_SET(SCU84, 6)); 455 + PIN_DECL_2(D15, GPIOG6, SGPS2I0, SALT3); 463 456 FUNC_GROUP_DECL(SALT3, D15); 464 457 465 458 #define E14 55 466 - SIG_EXPR_LIST_DECL_SINGLE(SGPS2I1, SGPS2, COND1, SGPS2_DESC); 467 - SIG_EXPR_LIST_DECL_SINGLE(SALT4, SALT4, COND1, SIG_DESC_SET(SCU84, 7)); 468 - MS_PIN_DECL(E14, GPIOG7, SGPS2I1, SALT4); 459 + SIG_EXPR_LIST_DECL_SINGLE(E14, SGPS2I1, SGPS2, COND1, SGPS2_DESC); 460 + SIG_EXPR_LIST_DECL_SINGLE(E14, SALT4, SALT4, COND1, SIG_DESC_SET(SCU84, 7)); 461 + PIN_DECL_2(E14, GPIOG7, SGPS2I1, SALT4); 469 462 FUNC_GROUP_DECL(SALT4, E14); 470 463 471 464 FUNC_GROUP_DECL(SGPS2, E17, D16, D15, E14); ··· 473 466 #define UART6_DESC SIG_DESC_SET(SCU90, 7) 474 467 475 468 #define A18 56 476 - SIG_EXPR_LIST_DECL_SINGLE(DASHA18, DASHA18, COND1, SIG_DESC_SET(SCU94, 5)); 477 - SIG_EXPR_LIST_DECL_SINGLE(NCTS6, UART6, COND1, UART6_DESC); 478 - MS_PIN_DECL(A18, GPIOH0, DASHA18, NCTS6); 469 + SIG_EXPR_LIST_DECL_SINGLE(A18, DASHA18, DASHA18, COND1, SIG_DESC_SET(SCU94, 5)); 470 + SIG_EXPR_LIST_DECL_SINGLE(A18, NCTS6, UART6, COND1, UART6_DESC); 471 + PIN_DECL_2(A18, GPIOH0, DASHA18, NCTS6); 479 472 480 473 #define B18 57 481 - SIG_EXPR_LIST_DECL_SINGLE(DASHB18, DASHB18, COND1, SIG_DESC_SET(SCU94, 5)); 482 - SIG_EXPR_LIST_DECL_SINGLE(NDCD6, UART6, COND1, UART6_DESC); 483 - MS_PIN_DECL(B18, GPIOH1, DASHB18, NDCD6); 474 + SIG_EXPR_LIST_DECL_SINGLE(B18, DASHB18, DASHB18, COND1, SIG_DESC_SET(SCU94, 5)); 475 + SIG_EXPR_LIST_DECL_SINGLE(B18, NDCD6, UART6, COND1, UART6_DESC); 476 + PIN_DECL_2(B18, GPIOH1, DASHB18, NDCD6); 484 477 485 478 #define D17 58 486 - SIG_EXPR_LIST_DECL_SINGLE(DASHD17, DASHD17, COND1, SIG_DESC_SET(SCU94, 6)); 487 - SIG_EXPR_LIST_DECL_SINGLE(NDSR6, UART6, COND1, UART6_DESC); 488 - MS_PIN_DECL(D17, GPIOH2, DASHD17, NDSR6); 479 + SIG_EXPR_LIST_DECL_SINGLE(D17, DASHD17, DASHD17, COND1, SIG_DESC_SET(SCU94, 6)); 480 + SIG_EXPR_LIST_DECL_SINGLE(D17, NDSR6, UART6, COND1, UART6_DESC); 481 + PIN_DECL_2(D17, GPIOH2, DASHD17, NDSR6); 489 482 490 483 #define C17 59 491 - SIG_EXPR_LIST_DECL_SINGLE(DASHC17, DASHC17, COND1, SIG_DESC_SET(SCU94, 6)); 492 - SIG_EXPR_LIST_DECL_SINGLE(NRI6, UART6, COND1, UART6_DESC); 493 - MS_PIN_DECL(C17, GPIOH3, DASHC17, NRI6); 484 + SIG_EXPR_LIST_DECL_SINGLE(C17, DASHC17, DASHC17, COND1, SIG_DESC_SET(SCU94, 6)); 485 + SIG_EXPR_LIST_DECL_SINGLE(C17, NRI6, UART6, COND1, UART6_DESC); 486 + PIN_DECL_2(C17, GPIOH3, DASHC17, NRI6); 494 487 495 488 #define A17 60 496 - SIG_EXPR_LIST_DECL_SINGLE(DASHA17, DASHA17, COND1, SIG_DESC_SET(SCU94, 7)); 497 - SIG_EXPR_LIST_DECL_SINGLE(NDTR6, UART6, COND1, UART6_DESC); 498 - MS_PIN_DECL(A17, GPIOH4, DASHA17, NDTR6); 489 + SIG_EXPR_LIST_DECL_SINGLE(A17, DASHA17, DASHA17, COND1, SIG_DESC_SET(SCU94, 7)); 490 + SIG_EXPR_LIST_DECL_SINGLE(A17, NDTR6, UART6, COND1, UART6_DESC); 491 + PIN_DECL_2(A17, GPIOH4, DASHA17, NDTR6); 499 492 500 493 #define B17 61 501 - SIG_EXPR_LIST_DECL_SINGLE(DASHB17, DASHB17, COND1, SIG_DESC_SET(SCU94, 7)); 502 - SIG_EXPR_LIST_DECL_SINGLE(NRTS6, UART6, COND1, UART6_DESC); 503 - MS_PIN_DECL(B17, GPIOH5, DASHB17, NRTS6); 494 + SIG_EXPR_LIST_DECL_SINGLE(B17, DASHB17, DASHB17, COND1, SIG_DESC_SET(SCU94, 7)); 495 + SIG_EXPR_LIST_DECL_SINGLE(B17, NRTS6, UART6, COND1, UART6_DESC); 496 + PIN_DECL_2(B17, GPIOH5, DASHB17, NRTS6); 504 497 505 498 #define A16 62 506 - SIG_EXPR_LIST_DECL_SINGLE(TXD6, UART6, COND1, UART6_DESC); 507 - SS_PIN_DECL(A16, GPIOH6, TXD6); 499 + SIG_EXPR_LIST_DECL_SINGLE(A16, TXD6, UART6, COND1, UART6_DESC); 500 + PIN_DECL_1(A16, GPIOH6, TXD6); 508 501 509 502 #define D18 63 510 - SIG_EXPR_LIST_DECL_SINGLE(RXD6, UART6, COND1, UART6_DESC); 511 - SS_PIN_DECL(D18, GPIOH7, RXD6); 503 + SIG_EXPR_LIST_DECL_SINGLE(D18, RXD6, UART6, COND1, UART6_DESC); 504 + PIN_DECL_1(D18, GPIOH7, RXD6); 512 505 513 506 FUNC_GROUP_DECL(UART6, A18, B18, D17, C17, A17, B17, A16, D18); 514 507 ··· 520 513 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 } 521 514 522 515 #define C18 64 523 - SIG_EXPR_DECL(SYSCS, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 524 - SIG_EXPR_DECL(SYSCS, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 525 - SIG_EXPR_LIST_DECL_DUAL(SYSCS, SPI1DEBUG, SPI1PASSTHRU); 526 - SS_PIN_DECL(C18, GPIOI0, SYSCS); 516 + SIG_EXPR_DECL_SINGLE(SYSCS, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 517 + SIG_EXPR_DECL_SINGLE(SYSCS, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 518 + SIG_EXPR_LIST_DECL_DUAL(C18, SYSCS, SPI1DEBUG, SPI1PASSTHRU); 519 + PIN_DECL_1(C18, GPIOI0, SYSCS); 527 520 528 521 #define E15 65 529 - SIG_EXPR_DECL(SYSCK, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 530 - SIG_EXPR_DECL(SYSCK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 531 - SIG_EXPR_LIST_DECL_DUAL(SYSCK, SPI1DEBUG, SPI1PASSTHRU); 532 - SS_PIN_DECL(E15, GPIOI1, SYSCK); 522 + SIG_EXPR_DECL_SINGLE(SYSCK, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 523 + SIG_EXPR_DECL_SINGLE(SYSCK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 524 + SIG_EXPR_LIST_DECL_DUAL(E15, SYSCK, SPI1DEBUG, SPI1PASSTHRU); 525 + PIN_DECL_1(E15, GPIOI1, SYSCK); 533 526 534 527 #define B16 66 535 - SIG_EXPR_DECL(SYSMOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 536 - SIG_EXPR_DECL(SYSMOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 537 - SIG_EXPR_LIST_DECL_DUAL(SYSMOSI, SPI1DEBUG, SPI1PASSTHRU); 538 - SS_PIN_DECL(B16, GPIOI2, SYSMOSI); 528 + SIG_EXPR_DECL_SINGLE(SYSMOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 529 + SIG_EXPR_DECL_SINGLE(SYSMOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 530 + SIG_EXPR_LIST_DECL_DUAL(B16, SYSMOSI, SPI1DEBUG, SPI1PASSTHRU); 531 + PIN_DECL_1(B16, GPIOI2, SYSMOSI); 539 532 540 533 #define C16 67 541 - SIG_EXPR_DECL(SYSMISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 542 - SIG_EXPR_DECL(SYSMISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 543 - SIG_EXPR_LIST_DECL_DUAL(SYSMISO, SPI1DEBUG, SPI1PASSTHRU); 544 - SS_PIN_DECL(C16, GPIOI3, SYSMISO); 534 + SIG_EXPR_DECL_SINGLE(SYSMISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 535 + SIG_EXPR_DECL_SINGLE(SYSMISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 536 + SIG_EXPR_LIST_DECL_DUAL(C16, SYSMISO, SPI1DEBUG, SPI1PASSTHRU); 537 + PIN_DECL_1(C16, GPIOI3, SYSMISO); 545 538 546 539 #define VB_DESC SIG_DESC_SET(HW_STRAP1, 5) 547 540 548 541 #define B15 68 549 - SIG_EXPR_DECL(SPI1CS0, SPI1, COND1, SPI1_DESC); 550 - SIG_EXPR_DECL(SPI1CS0, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 551 - SIG_EXPR_DECL(SPI1CS0, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 552 - SIG_EXPR_LIST_DECL(SPI1CS0, SIG_EXPR_PTR(SPI1CS0, SPI1), 542 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1, COND1, SPI1_DESC); 543 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 544 + SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 545 + SIG_EXPR_LIST_DECL(SPI1CS0, SPI1, 546 + SIG_EXPR_PTR(SPI1CS0, SPI1), 553 547 SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG), 554 548 SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU)); 555 - SIG_EXPR_LIST_DECL_SINGLE(VBCS, VGABIOSROM, COND1, VB_DESC); 556 - MS_PIN_DECL(B15, GPIOI4, SPI1CS0, VBCS); 549 + SIG_EXPR_LIST_ALIAS(B15, SPI1CS0, SPI1); 550 + SIG_EXPR_LIST_DECL_SINGLE(B15, VBCS, VGABIOSROM, COND1, VB_DESC); 551 + PIN_DECL_2(B15, GPIOI4, SPI1CS0, VBCS); 557 552 558 553 #define C15 69 559 - SIG_EXPR_DECL(SPI1CK, SPI1, COND1, SPI1_DESC); 560 - SIG_EXPR_DECL(SPI1CK, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 561 - SIG_EXPR_DECL(SPI1CK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 562 - SIG_EXPR_LIST_DECL(SPI1CK, SIG_EXPR_PTR(SPI1CK, SPI1), 554 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1, COND1, SPI1_DESC); 555 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 556 + SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 557 + SIG_EXPR_LIST_DECL(SPI1CK, SPI1, 558 + SIG_EXPR_PTR(SPI1CK, SPI1), 563 559 SIG_EXPR_PTR(SPI1CK, SPI1DEBUG), 564 560 SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU)); 565 - SIG_EXPR_LIST_DECL_SINGLE(VBCK, VGABIOSROM, COND1, VB_DESC); 566 - MS_PIN_DECL(C15, GPIOI5, SPI1CK, VBCK); 561 + SIG_EXPR_LIST_ALIAS(C15, SPI1CK, SPI1); 562 + SIG_EXPR_LIST_DECL_SINGLE(C15, VBCK, VGABIOSROM, COND1, VB_DESC); 563 + PIN_DECL_2(C15, GPIOI5, SPI1CK, VBCK); 567 564 568 565 #define A14 70 569 - SIG_EXPR_DECL(SPI1MOSI, SPI1, COND1, SPI1_DESC); 570 - SIG_EXPR_DECL(SPI1MOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 571 - SIG_EXPR_DECL(SPI1MOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 572 - SIG_EXPR_LIST_DECL(SPI1MOSI, SIG_EXPR_PTR(SPI1MOSI, SPI1), 566 + SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1, COND1, SPI1_DESC); 567 + SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 568 + SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 569 + SIG_EXPR_LIST_DECL(SPI1MOSI, SPI1, 570 + SIG_EXPR_PTR(SPI1MOSI, SPI1), 573 571 SIG_EXPR_PTR(SPI1MOSI, SPI1DEBUG), 574 572 SIG_EXPR_PTR(SPI1MOSI, SPI1PASSTHRU)); 575 - SIG_EXPR_LIST_DECL_SINGLE(VBMOSI, VGABIOSROM, COND1, VB_DESC); 576 - MS_PIN_DECL(A14, GPIOI6, SPI1MOSI, VBMOSI); 573 + SIG_EXPR_LIST_ALIAS(A14, SPI1MOSI, SPI1); 574 + SIG_EXPR_LIST_DECL_SINGLE(A14, VBMOSI, VGABIOSROM, COND1, VB_DESC); 575 + PIN_DECL_2(A14, GPIOI6, SPI1MOSI, VBMOSI); 577 576 578 577 #define A15 71 579 - SIG_EXPR_DECL(SPI1MISO, SPI1, COND1, SPI1_DESC); 580 - SIG_EXPR_DECL(SPI1MISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 581 - SIG_EXPR_DECL(SPI1MISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 582 - SIG_EXPR_LIST_DECL(SPI1MISO, SIG_EXPR_PTR(SPI1MISO, SPI1), 578 + SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1, COND1, SPI1_DESC); 579 + SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC); 580 + SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC); 581 + SIG_EXPR_LIST_DECL(SPI1MISO, SPI1, 582 + SIG_EXPR_PTR(SPI1MISO, SPI1), 583 583 SIG_EXPR_PTR(SPI1MISO, SPI1DEBUG), 584 584 SIG_EXPR_PTR(SPI1MISO, SPI1PASSTHRU)); 585 - SIG_EXPR_LIST_DECL_SINGLE(VBMISO, VGABIOSROM, COND1, VB_DESC); 586 - MS_PIN_DECL(A15, GPIOI7, SPI1MISO, VBMISO); 585 + SIG_EXPR_LIST_ALIAS(A15, SPI1MISO, SPI1); 586 + SIG_EXPR_LIST_DECL_SINGLE(A15, VBMISO, VGABIOSROM, COND1, VB_DESC); 587 + PIN_DECL_2(A15, GPIOI7, SPI1MISO, VBMISO); 587 588 588 589 FUNC_GROUP_DECL(SPI1, B15, C15, A14, A15); 589 590 FUNC_GROUP_DECL(SPI1DEBUG, C18, E15, B16, C16, B15, C15, A14, A15); ··· 599 584 FUNC_GROUP_DECL(VGABIOSROM, B15, C15, A14, A15); 600 585 601 586 #define R2 72 602 - SIG_EXPR_LIST_DECL_SINGLE(SGPMCK, SGPM, SIG_DESC_SET(SCU84, 8)); 603 - SS_PIN_DECL(R2, GPIOJ0, SGPMCK); 587 + SIG_EXPR_LIST_DECL_SINGLE(R2, SGPMCK, SGPM, SIG_DESC_SET(SCU84, 8)); 588 + PIN_DECL_1(R2, GPIOJ0, SGPMCK); 604 589 605 590 #define L2 73 606 - SIG_EXPR_LIST_DECL_SINGLE(SGPMLD, SGPM, SIG_DESC_SET(SCU84, 9)); 607 - SS_PIN_DECL(L2, GPIOJ1, SGPMLD); 591 + SIG_EXPR_LIST_DECL_SINGLE(L2, SGPMLD, SGPM, SIG_DESC_SET(SCU84, 9)); 592 + PIN_DECL_1(L2, GPIOJ1, SGPMLD); 608 593 609 594 #define N3 74 610 - SIG_EXPR_LIST_DECL_SINGLE(SGPMO, SGPM, SIG_DESC_SET(SCU84, 10)); 611 - SS_PIN_DECL(N3, GPIOJ2, SGPMO); 595 + SIG_EXPR_LIST_DECL_SINGLE(N3, SGPMO, SGPM, SIG_DESC_SET(SCU84, 10)); 596 + PIN_DECL_1(N3, GPIOJ2, SGPMO); 612 597 613 598 #define N4 75 614 - SIG_EXPR_LIST_DECL_SINGLE(SGPMI, SGPM, SIG_DESC_SET(SCU84, 11)); 615 - SS_PIN_DECL(N4, GPIOJ3, SGPMI); 599 + SIG_EXPR_LIST_DECL_SINGLE(N4, SGPMI, SGPM, SIG_DESC_SET(SCU84, 11)); 600 + PIN_DECL_1(N4, GPIOJ3, SGPMI); 616 601 617 602 FUNC_GROUP_DECL(SGPM, R2, L2, N3, N4); 618 603 619 604 #define N5 76 620 - SIG_EXPR_LIST_DECL_SINGLE(VGAHS, VGAHS, SIG_DESC_SET(SCU84, 12)); 621 - SIG_EXPR_LIST_DECL_SINGLE(DASHN5, DASHN5, SIG_DESC_SET(SCU94, 8)); 622 - MS_PIN_DECL(N5, GPIOJ4, VGAHS, DASHN5); 605 + SIG_EXPR_LIST_DECL_SINGLE(N5, VGAHS, VGAHS, SIG_DESC_SET(SCU84, 12)); 606 + SIG_EXPR_LIST_DECL_SINGLE(N5, DASHN5, DASHN5, SIG_DESC_SET(SCU94, 8)); 607 + PIN_DECL_2(N5, GPIOJ4, VGAHS, DASHN5); 623 608 FUNC_GROUP_DECL(VGAHS, N5); 624 609 625 610 #define R4 77 626 - SIG_EXPR_LIST_DECL_SINGLE(VGAVS, VGAVS, SIG_DESC_SET(SCU84, 13)); 627 - SIG_EXPR_LIST_DECL_SINGLE(DASHR4, DASHR4, SIG_DESC_SET(SCU94, 8)); 628 - MS_PIN_DECL(R4, GPIOJ5, VGAVS, DASHR4); 611 + SIG_EXPR_LIST_DECL_SINGLE(R4, VGAVS, VGAVS, SIG_DESC_SET(SCU84, 13)); 612 + SIG_EXPR_LIST_DECL_SINGLE(R4, DASHR4, DASHR4, SIG_DESC_SET(SCU94, 8)); 613 + PIN_DECL_2(R4, GPIOJ5, VGAVS, DASHR4); 629 614 FUNC_GROUP_DECL(VGAVS, R4); 630 615 631 616 #define R3 78 632 - SIG_EXPR_LIST_DECL_SINGLE(DDCCLK, DDCCLK, SIG_DESC_SET(SCU84, 14)); 633 - SIG_EXPR_LIST_DECL_SINGLE(DASHR3, DASHR3, SIG_DESC_SET(SCU94, 9)); 634 - MS_PIN_DECL(R3, GPIOJ6, DDCCLK, DASHR3); 617 + SIG_EXPR_LIST_DECL_SINGLE(R3, DDCCLK, DDCCLK, SIG_DESC_SET(SCU84, 14)); 618 + SIG_EXPR_LIST_DECL_SINGLE(R3, DASHR3, DASHR3, SIG_DESC_SET(SCU94, 9)); 619 + PIN_DECL_2(R3, GPIOJ6, DDCCLK, DASHR3); 635 620 FUNC_GROUP_DECL(DDCCLK, R3); 636 621 637 622 #define T3 79 638 - SIG_EXPR_LIST_DECL_SINGLE(DDCDAT, DDCDAT, SIG_DESC_SET(SCU84, 15)); 639 - SIG_EXPR_LIST_DECL_SINGLE(DASHT3, DASHT3, SIG_DESC_SET(SCU94, 9)); 640 - MS_PIN_DECL(T3, GPIOJ7, DDCDAT, DASHT3); 623 + SIG_EXPR_LIST_DECL_SINGLE(T3, DDCDAT, DDCDAT, SIG_DESC_SET(SCU84, 15)); 624 + SIG_EXPR_LIST_DECL_SINGLE(T3, DASHT3, DASHT3, SIG_DESC_SET(SCU94, 9)); 625 + PIN_DECL_2(T3, GPIOJ7, DDCDAT, DASHT3); 641 626 FUNC_GROUP_DECL(DDCDAT, T3); 642 627 643 628 #define I2C5_DESC SIG_DESC_SET(SCU90, 18) 644 629 645 630 #define L3 80 646 - SIG_EXPR_LIST_DECL_SINGLE(SCL5, I2C5, I2C5_DESC); 647 - SS_PIN_DECL(L3, GPIOK0, SCL5); 631 + SIG_EXPR_LIST_DECL_SINGLE(L3, SCL5, I2C5, I2C5_DESC); 632 + PIN_DECL_1(L3, GPIOK0, SCL5); 648 633 649 634 #define L4 81 650 - SIG_EXPR_LIST_DECL_SINGLE(SDA5, I2C5, I2C5_DESC); 651 - SS_PIN_DECL(L4, GPIOK1, SDA5); 635 + SIG_EXPR_LIST_DECL_SINGLE(L4, SDA5, I2C5, I2C5_DESC); 636 + PIN_DECL_1(L4, GPIOK1, SDA5); 652 637 653 638 FUNC_GROUP_DECL(I2C5, L3, L4); 654 639 655 640 #define I2C6_DESC SIG_DESC_SET(SCU90, 19) 656 641 657 642 #define L1 82 658 - SIG_EXPR_LIST_DECL_SINGLE(SCL6, I2C6, I2C6_DESC); 659 - SS_PIN_DECL(L1, GPIOK2, SCL6); 643 + SIG_EXPR_LIST_DECL_SINGLE(L1, SCL6, I2C6, I2C6_DESC); 644 + PIN_DECL_1(L1, GPIOK2, SCL6); 660 645 661 646 #define N2 83 662 - SIG_EXPR_LIST_DECL_SINGLE(SDA6, I2C6, I2C6_DESC); 663 - SS_PIN_DECL(N2, GPIOK3, SDA6); 647 + SIG_EXPR_LIST_DECL_SINGLE(N2, SDA6, I2C6, I2C6_DESC); 648 + PIN_DECL_1(N2, GPIOK3, SDA6); 664 649 665 650 FUNC_GROUP_DECL(I2C6, L1, N2); 666 651 667 652 #define I2C7_DESC SIG_DESC_SET(SCU90, 20) 668 653 669 654 #define N1 84 670 - SIG_EXPR_LIST_DECL_SINGLE(SCL7, I2C7, I2C7_DESC); 671 - SS_PIN_DECL(N1, GPIOK4, SCL7); 655 + SIG_EXPR_LIST_DECL_SINGLE(N1, SCL7, I2C7, I2C7_DESC); 656 + PIN_DECL_1(N1, GPIOK4, SCL7); 672 657 673 658 #define P1 85 674 - SIG_EXPR_LIST_DECL_SINGLE(SDA7, I2C7, I2C7_DESC); 675 - SS_PIN_DECL(P1, GPIOK5, SDA7); 659 + SIG_EXPR_LIST_DECL_SINGLE(P1, SDA7, I2C7, I2C7_DESC); 660 + PIN_DECL_1(P1, GPIOK5, SDA7); 676 661 677 662 FUNC_GROUP_DECL(I2C7, N1, P1); 678 663 679 664 #define I2C8_DESC SIG_DESC_SET(SCU90, 21) 680 665 681 666 #define P2 86 682 - SIG_EXPR_LIST_DECL_SINGLE(SCL8, I2C8, I2C8_DESC); 683 - SS_PIN_DECL(P2, GPIOK6, SCL8); 667 + SIG_EXPR_LIST_DECL_SINGLE(P2, SCL8, I2C8, I2C8_DESC); 668 + PIN_DECL_1(P2, GPIOK6, SCL8); 684 669 685 670 #define R1 87 686 - SIG_EXPR_LIST_DECL_SINGLE(SDA8, I2C8, I2C8_DESC); 687 - SS_PIN_DECL(R1, GPIOK7, SDA8); 671 + SIG_EXPR_LIST_DECL_SINGLE(R1, SDA8, I2C8, I2C8_DESC); 672 + PIN_DECL_1(R1, GPIOK7, SDA8); 688 673 689 674 FUNC_GROUP_DECL(I2C8, P2, R1); 690 675 ··· 699 684 700 685 #define T1 89 701 686 #define T1_DESC SIG_DESC_SET(SCU84, 17) 702 - SIG_EXPR_LIST_DECL_SINGLE(VPIDE, VPI24, VPI_24_RSVD_DESC, T1_DESC, COND2); 703 - SIG_EXPR_LIST_DECL_SINGLE(NDCD1, NDCD1, T1_DESC, COND2); 704 - MS_PIN_DECL(T1, GPIOL1, VPIDE, NDCD1); 687 + SIG_EXPR_LIST_DECL_SINGLE(T1, VPIDE, VPI24, VPI_24_RSVD_DESC, T1_DESC, COND2); 688 + SIG_EXPR_LIST_DECL_SINGLE(T1, NDCD1, NDCD1, T1_DESC, COND2); 689 + PIN_DECL_2(T1, GPIOL1, VPIDE, NDCD1); 705 690 FUNC_GROUP_DECL(NDCD1, T1); 706 691 707 692 #define U1 90 708 693 #define U1_DESC SIG_DESC_SET(SCU84, 18) 709 - SIG_EXPR_LIST_DECL_SINGLE(DASHU1, VPI24, VPI_24_RSVD_DESC, U1_DESC); 710 - SIG_EXPR_LIST_DECL_SINGLE(NDSR1, NDSR1, U1_DESC); 711 - MS_PIN_DECL(U1, GPIOL2, DASHU1, NDSR1); 694 + SIG_EXPR_LIST_DECL_SINGLE(U1, DASHU1, VPI24, VPI_24_RSVD_DESC, U1_DESC); 695 + SIG_EXPR_LIST_DECL_SINGLE(U1, NDSR1, NDSR1, U1_DESC); 696 + PIN_DECL_2(U1, GPIOL2, DASHU1, NDSR1); 712 697 FUNC_GROUP_DECL(NDSR1, U1); 713 698 714 699 #define U2 91 715 700 #define U2_DESC SIG_DESC_SET(SCU84, 19) 716 - SIG_EXPR_LIST_DECL_SINGLE(VPIHS, VPI24, VPI_24_RSVD_DESC, U2_DESC, COND2); 717 - SIG_EXPR_LIST_DECL_SINGLE(NRI1, NRI1, U2_DESC, COND2); 718 - MS_PIN_DECL(U2, GPIOL3, VPIHS, NRI1); 701 + SIG_EXPR_LIST_DECL_SINGLE(U2, VPIHS, VPI24, VPI_24_RSVD_DESC, U2_DESC, COND2); 702 + SIG_EXPR_LIST_DECL_SINGLE(U2, NRI1, NRI1, U2_DESC, COND2); 703 + PIN_DECL_2(U2, GPIOL3, VPIHS, NRI1); 719 704 FUNC_GROUP_DECL(NRI1, U2); 720 705 721 706 #define P4 92 722 707 #define P4_DESC SIG_DESC_SET(SCU84, 20) 723 - SIG_EXPR_LIST_DECL_SINGLE(VPIVS, VPI24, VPI_24_RSVD_DESC, P4_DESC, COND2); 724 - SIG_EXPR_LIST_DECL_SINGLE(NDTR1, NDTR1, P4_DESC, COND2); 725 - MS_PIN_DECL(P4, GPIOL4, VPIVS, NDTR1); 708 + SIG_EXPR_LIST_DECL_SINGLE(P4, VPIVS, VPI24, VPI_24_RSVD_DESC, P4_DESC, COND2); 709 + SIG_EXPR_LIST_DECL_SINGLE(P4, NDTR1, NDTR1, P4_DESC, COND2); 710 + PIN_DECL_2(P4, GPIOL4, VPIVS, NDTR1); 726 711 FUNC_GROUP_DECL(NDTR1, P4); 727 712 728 713 #define P3 93 729 714 #define P3_DESC SIG_DESC_SET(SCU84, 21) 730 - SIG_EXPR_LIST_DECL_SINGLE(VPICLK, VPI24, VPI_24_RSVD_DESC, P3_DESC, COND2); 731 - SIG_EXPR_LIST_DECL_SINGLE(NRTS1, NRTS1, P3_DESC, COND2); 732 - MS_PIN_DECL(P3, GPIOL5, VPICLK, NRTS1); 715 + SIG_EXPR_LIST_DECL_SINGLE(P3, VPICLK, VPI24, VPI_24_RSVD_DESC, P3_DESC, COND2); 716 + SIG_EXPR_LIST_DECL_SINGLE(P3, NRTS1, NRTS1, P3_DESC, COND2); 717 + PIN_DECL_2(P3, GPIOL5, VPICLK, NRTS1); 733 718 FUNC_GROUP_DECL(NRTS1, P3); 734 719 735 720 #define V1 94 736 721 #define V1_DESC SIG_DESC_SET(SCU84, 22) 737 - SIG_EXPR_LIST_DECL_SINGLE(DASHV1, DASHV1, VPIRSVD_DESC, V1_DESC); 738 - SIG_EXPR_LIST_DECL_SINGLE(TXD1, TXD1, V1_DESC, COND2); 739 - MS_PIN_DECL(V1, GPIOL6, DASHV1, TXD1); 722 + SIG_EXPR_LIST_DECL_SINGLE(V1, DASHV1, DASHV1, VPIRSVD_DESC, V1_DESC); 723 + SIG_EXPR_LIST_DECL_SINGLE(V1, TXD1, TXD1, V1_DESC, COND2); 724 + PIN_DECL_2(V1, GPIOL6, DASHV1, TXD1); 740 725 FUNC_GROUP_DECL(TXD1, V1); 741 726 742 727 #define W1 95 743 728 #define W1_DESC SIG_DESC_SET(SCU84, 23) 744 - SIG_EXPR_LIST_DECL_SINGLE(DASHW1, DASHW1, VPIRSVD_DESC, W1_DESC); 745 - SIG_EXPR_LIST_DECL_SINGLE(RXD1, RXD1, W1_DESC, COND2); 746 - MS_PIN_DECL(W1, GPIOL7, DASHW1, RXD1); 729 + SIG_EXPR_LIST_DECL_SINGLE(W1, DASHW1, DASHW1, VPIRSVD_DESC, W1_DESC); 730 + SIG_EXPR_LIST_DECL_SINGLE(W1, RXD1, RXD1, W1_DESC, COND2); 731 + PIN_DECL_2(W1, GPIOL7, DASHW1, RXD1); 747 732 FUNC_GROUP_DECL(RXD1, W1); 748 733 749 734 #define Y1 96 750 735 #define Y1_DESC SIG_DESC_SET(SCU84, 24) 751 - SIG_EXPR_LIST_DECL_SINGLE(VPIB2, VPI24, VPI_24_RSVD_DESC, Y1_DESC, COND2); 752 - SIG_EXPR_LIST_DECL_SINGLE(NCTS2, NCTS2, Y1_DESC, COND2); 753 - MS_PIN_DECL(Y1, GPIOM0, VPIB2, NCTS2); 736 + SIG_EXPR_LIST_DECL_SINGLE(Y1, VPIB2, VPI24, VPI_24_RSVD_DESC, Y1_DESC, COND2); 737 + SIG_EXPR_LIST_DECL_SINGLE(Y1, NCTS2, NCTS2, Y1_DESC, COND2); 738 + PIN_DECL_2(Y1, GPIOM0, VPIB2, NCTS2); 754 739 FUNC_GROUP_DECL(NCTS2, Y1); 755 740 756 741 #define AB2 97 757 742 #define AB2_DESC SIG_DESC_SET(SCU84, 25) 758 - SIG_EXPR_LIST_DECL_SINGLE(VPIB3, VPI24, VPI_24_RSVD_DESC, AB2_DESC, COND2); 759 - SIG_EXPR_LIST_DECL_SINGLE(NDCD2, NDCD2, AB2_DESC, COND2); 760 - MS_PIN_DECL(AB2, GPIOM1, VPIB3, NDCD2); 743 + SIG_EXPR_LIST_DECL_SINGLE(AB2, VPIB3, VPI24, VPI_24_RSVD_DESC, AB2_DESC, COND2); 744 + SIG_EXPR_LIST_DECL_SINGLE(AB2, NDCD2, NDCD2, AB2_DESC, COND2); 745 + PIN_DECL_2(AB2, GPIOM1, VPIB3, NDCD2); 761 746 FUNC_GROUP_DECL(NDCD2, AB2); 762 747 763 748 #define AA1 98 764 749 #define AA1_DESC SIG_DESC_SET(SCU84, 26) 765 - SIG_EXPR_LIST_DECL_SINGLE(VPIB4, VPI24, VPI_24_RSVD_DESC, AA1_DESC, COND2); 766 - SIG_EXPR_LIST_DECL_SINGLE(NDSR2, NDSR2, AA1_DESC, COND2); 767 - MS_PIN_DECL(AA1, GPIOM2, VPIB4, NDSR2); 750 + SIG_EXPR_LIST_DECL_SINGLE(AA1, VPIB4, VPI24, VPI_24_RSVD_DESC, AA1_DESC, COND2); 751 + SIG_EXPR_LIST_DECL_SINGLE(AA1, NDSR2, NDSR2, AA1_DESC, COND2); 752 + PIN_DECL_2(AA1, GPIOM2, VPIB4, NDSR2); 768 753 FUNC_GROUP_DECL(NDSR2, AA1); 769 754 770 755 #define Y2 99 771 756 #define Y2_DESC SIG_DESC_SET(SCU84, 27) 772 - SIG_EXPR_LIST_DECL_SINGLE(VPIB5, VPI24, VPI_24_RSVD_DESC, Y2_DESC, COND2); 773 - SIG_EXPR_LIST_DECL_SINGLE(NRI2, NRI2, Y2_DESC, COND2); 774 - MS_PIN_DECL(Y2, GPIOM3, VPIB5, NRI2); 757 + SIG_EXPR_LIST_DECL_SINGLE(Y2, VPIB5, VPI24, VPI_24_RSVD_DESC, Y2_DESC, COND2); 758 + SIG_EXPR_LIST_DECL_SINGLE(Y2, NRI2, NRI2, Y2_DESC, COND2); 759 + PIN_DECL_2(Y2, GPIOM3, VPIB5, NRI2); 775 760 FUNC_GROUP_DECL(NRI2, Y2); 776 761 777 762 #define AA2 100 778 763 #define AA2_DESC SIG_DESC_SET(SCU84, 28) 779 - SIG_EXPR_LIST_DECL_SINGLE(VPIB6, VPI24, VPI_24_RSVD_DESC, AA2_DESC, COND2); 780 - SIG_EXPR_LIST_DECL_SINGLE(NDTR2, NDTR2, AA2_DESC, COND2); 781 - MS_PIN_DECL(AA2, GPIOM4, VPIB6, NDTR2); 764 + SIG_EXPR_LIST_DECL_SINGLE(AA2, VPIB6, VPI24, VPI_24_RSVD_DESC, AA2_DESC, COND2); 765 + SIG_EXPR_LIST_DECL_SINGLE(AA2, NDTR2, NDTR2, AA2_DESC, COND2); 766 + PIN_DECL_2(AA2, GPIOM4, VPIB6, NDTR2); 782 767 FUNC_GROUP_DECL(NDTR2, AA2); 783 768 784 769 #define P5 101 785 770 #define P5_DESC SIG_DESC_SET(SCU84, 29) 786 - SIG_EXPR_LIST_DECL_SINGLE(VPIB7, VPI24, VPI_24_RSVD_DESC, P5_DESC, COND2); 787 - SIG_EXPR_LIST_DECL_SINGLE(NRTS2, NRTS2, P5_DESC, COND2); 788 - MS_PIN_DECL(P5, GPIOM5, VPIB7, NRTS2); 771 + SIG_EXPR_LIST_DECL_SINGLE(P5, VPIB7, VPI24, VPI_24_RSVD_DESC, P5_DESC, COND2); 772 + SIG_EXPR_LIST_DECL_SINGLE(P5, NRTS2, NRTS2, P5_DESC, COND2); 773 + PIN_DECL_2(P5, GPIOM5, VPIB7, NRTS2); 789 774 FUNC_GROUP_DECL(NRTS2, P5); 790 775 791 776 #define R5 102 792 777 #define R5_DESC SIG_DESC_SET(SCU84, 30) 793 - SIG_EXPR_LIST_DECL_SINGLE(VPIB8, VPI24, VPI_24_RSVD_DESC, R5_DESC, COND2); 794 - SIG_EXPR_LIST_DECL_SINGLE(TXD2, TXD2, R5_DESC, COND2); 795 - MS_PIN_DECL(R5, GPIOM6, VPIB8, TXD2); 778 + SIG_EXPR_LIST_DECL_SINGLE(R5, VPIB8, VPI24, VPI_24_RSVD_DESC, R5_DESC, COND2); 779 + SIG_EXPR_LIST_DECL_SINGLE(R5, TXD2, TXD2, R5_DESC, COND2); 780 + PIN_DECL_2(R5, GPIOM6, VPIB8, TXD2); 796 781 FUNC_GROUP_DECL(TXD2, R5); 797 782 798 783 #define T5 103 799 784 #define T5_DESC SIG_DESC_SET(SCU84, 31) 800 - SIG_EXPR_LIST_DECL_SINGLE(VPIB9, VPI24, VPI_24_RSVD_DESC, T5_DESC, COND2); 801 - SIG_EXPR_LIST_DECL_SINGLE(RXD2, RXD2, T5_DESC, COND2); 802 - MS_PIN_DECL(T5, GPIOM7, VPIB9, RXD2); 785 + SIG_EXPR_LIST_DECL_SINGLE(T5, VPIB9, VPI24, VPI_24_RSVD_DESC, T5_DESC, COND2); 786 + SIG_EXPR_LIST_DECL_SINGLE(T5, RXD2, RXD2, T5_DESC, COND2); 787 + PIN_DECL_2(T5, GPIOM7, VPIB9, RXD2); 803 788 FUNC_GROUP_DECL(RXD2, T5); 804 789 805 790 #define V2 104 806 791 #define V2_DESC SIG_DESC_SET(SCU88, 0) 807 - SIG_EXPR_LIST_DECL_SINGLE(DASHN0, DASHN0, VPIRSVD_DESC, V2_DESC); 808 - SIG_EXPR_LIST_DECL_SINGLE(PWM0, PWM0, V2_DESC, COND2); 809 - MS_PIN_DECL(V2, GPION0, DASHN0, PWM0); 792 + SIG_EXPR_LIST_DECL_SINGLE(V2, DASHN0, DASHN0, VPIRSVD_DESC, V2_DESC); 793 + SIG_EXPR_LIST_DECL_SINGLE(V2, PWM0, PWM0, V2_DESC, COND2); 794 + PIN_DECL_2(V2, GPION0, DASHN0, PWM0); 810 795 FUNC_GROUP_DECL(PWM0, V2); 811 796 812 797 #define W2 105 813 798 #define W2_DESC SIG_DESC_SET(SCU88, 1) 814 - SIG_EXPR_LIST_DECL_SINGLE(DASHN1, DASHN1, VPIRSVD_DESC, W2_DESC); 815 - SIG_EXPR_LIST_DECL_SINGLE(PWM1, PWM1, W2_DESC, COND2); 816 - MS_PIN_DECL(W2, GPION1, DASHN1, PWM1); 799 + SIG_EXPR_LIST_DECL_SINGLE(W2, DASHN1, DASHN1, VPIRSVD_DESC, W2_DESC); 800 + SIG_EXPR_LIST_DECL_SINGLE(W2, PWM1, PWM1, W2_DESC, COND2); 801 + PIN_DECL_2(W2, GPION1, DASHN1, PWM1); 817 802 FUNC_GROUP_DECL(PWM1, W2); 818 803 819 804 #define V3 106 820 805 #define V3_DESC SIG_DESC_SET(SCU88, 2) 821 - SIG_EXPR_DECL(VPIG2, VPI24, VPI24_DESC, V3_DESC, COND2); 822 - SIG_EXPR_DECL(VPIG2, VPIRSVD, VPIRSVD_DESC, V3_DESC, COND2); 823 - SIG_EXPR_LIST_DECL_DUAL(VPIG2, VPI24, VPIRSVD); 824 - SIG_EXPR_LIST_DECL_SINGLE(PWM2, PWM2, V3_DESC, COND2); 825 - MS_PIN_DECL(V3, GPION2, VPIG2, PWM2); 806 + SIG_EXPR_DECL_SINGLE(VPIG2, VPI24, VPI24_DESC, V3_DESC, COND2); 807 + SIG_EXPR_DECL_SINGLE(VPIG2, VPIRSVD, VPIRSVD_DESC, V3_DESC, COND2); 808 + SIG_EXPR_LIST_DECL_DUAL(V3, VPIG2, VPI24, VPIRSVD); 809 + SIG_EXPR_LIST_DECL_SINGLE(V3, PWM2, PWM2, V3_DESC, COND2); 810 + PIN_DECL_2(V3, GPION2, VPIG2, PWM2); 826 811 FUNC_GROUP_DECL(PWM2, V3); 827 812 828 813 #define U3 107 829 814 #define U3_DESC SIG_DESC_SET(SCU88, 3) 830 - SIG_EXPR_DECL(VPIG3, VPI24, VPI24_DESC, U3_DESC, COND2); 831 - SIG_EXPR_DECL(VPIG3, VPIRSVD, VPIRSVD_DESC, U3_DESC, COND2); 832 - SIG_EXPR_LIST_DECL_DUAL(VPIG3, VPI24, VPIRSVD); 833 - SIG_EXPR_LIST_DECL_SINGLE(PWM3, PWM3, U3_DESC, COND2); 834 - MS_PIN_DECL(U3, GPION3, VPIG3, PWM3); 815 + SIG_EXPR_DECL_SINGLE(VPIG3, VPI24, VPI24_DESC, U3_DESC, COND2); 816 + SIG_EXPR_DECL_SINGLE(VPIG3, VPIRSVD, VPIRSVD_DESC, U3_DESC, COND2); 817 + SIG_EXPR_LIST_DECL_DUAL(U3, VPIG3, VPI24, VPIRSVD); 818 + SIG_EXPR_LIST_DECL_SINGLE(U3, PWM3, PWM3, U3_DESC, COND2); 819 + PIN_DECL_2(U3, GPION3, VPIG3, PWM3); 835 820 FUNC_GROUP_DECL(PWM3, U3); 836 821 837 822 #define W3 108 838 823 #define W3_DESC SIG_DESC_SET(SCU88, 4) 839 - SIG_EXPR_DECL(VPIG4, VPI24, VPI24_DESC, W3_DESC, COND2); 840 - SIG_EXPR_DECL(VPIG4, VPIRSVD, VPIRSVD_DESC, W3_DESC, COND2); 841 - SIG_EXPR_LIST_DECL_DUAL(VPIG4, VPI24, VPIRSVD); 842 - SIG_EXPR_LIST_DECL_SINGLE(PWM4, PWM4, W3_DESC, COND2); 843 - MS_PIN_DECL(W3, GPION4, VPIG4, PWM4); 824 + SIG_EXPR_DECL_SINGLE(VPIG4, VPI24, VPI24_DESC, W3_DESC, COND2); 825 + SIG_EXPR_DECL_SINGLE(VPIG4, VPIRSVD, VPIRSVD_DESC, W3_DESC, COND2); 826 + SIG_EXPR_LIST_DECL_DUAL(W3, VPIG4, VPI24, VPIRSVD); 827 + SIG_EXPR_LIST_DECL_SINGLE(W3, PWM4, PWM4, W3_DESC, COND2); 828 + PIN_DECL_2(W3, GPION4, VPIG4, PWM4); 844 829 FUNC_GROUP_DECL(PWM4, W3); 845 830 846 831 #define AA3 109 847 832 #define AA3_DESC SIG_DESC_SET(SCU88, 5) 848 - SIG_EXPR_DECL(VPIG5, VPI24, VPI24_DESC, AA3_DESC, COND2); 849 - SIG_EXPR_DECL(VPIG5, VPIRSVD, VPIRSVD_DESC, AA3_DESC, COND2); 850 - SIG_EXPR_LIST_DECL_DUAL(VPIG5, VPI24, VPIRSVD); 851 - SIG_EXPR_LIST_DECL_SINGLE(PWM5, PWM5, AA3_DESC, COND2); 852 - MS_PIN_DECL(AA3, GPION5, VPIG5, PWM5); 833 + SIG_EXPR_DECL_SINGLE(VPIG5, VPI24, VPI24_DESC, AA3_DESC, COND2); 834 + SIG_EXPR_DECL_SINGLE(VPIG5, VPIRSVD, VPIRSVD_DESC, AA3_DESC, COND2); 835 + SIG_EXPR_LIST_DECL_DUAL(AA3, VPIG5, VPI24, VPIRSVD); 836 + SIG_EXPR_LIST_DECL_SINGLE(AA3, PWM5, PWM5, AA3_DESC, COND2); 837 + PIN_DECL_2(AA3, GPION5, VPIG5, PWM5); 853 838 FUNC_GROUP_DECL(PWM5, AA3); 854 839 855 840 #define Y3 110 856 841 #define Y3_DESC SIG_DESC_SET(SCU88, 6) 857 - SIG_EXPR_LIST_DECL_SINGLE(VPIG6, VPI24, VPI24_DESC, Y3_DESC); 858 - SIG_EXPR_LIST_DECL_SINGLE(PWM6, PWM6, Y3_DESC, COND2); 859 - MS_PIN_DECL(Y3, GPION6, VPIG6, PWM6); 842 + SIG_EXPR_LIST_DECL_SINGLE(Y3, VPIG6, VPI24, VPI24_DESC, Y3_DESC); 843 + SIG_EXPR_LIST_DECL_SINGLE(Y3, PWM6, PWM6, Y3_DESC, COND2); 844 + PIN_DECL_2(Y3, GPION6, VPIG6, PWM6); 860 845 FUNC_GROUP_DECL(PWM6, Y3); 861 846 862 847 #define T4 111 863 848 #define T4_DESC SIG_DESC_SET(SCU88, 7) 864 - SIG_EXPR_LIST_DECL_SINGLE(VPIG7, VPI24, VPI24_DESC, T4_DESC); 865 - SIG_EXPR_LIST_DECL_SINGLE(PWM7, PWM7, T4_DESC, COND2); 866 - MS_PIN_DECL(T4, GPION7, VPIG7, PWM7); 849 + SIG_EXPR_LIST_DECL_SINGLE(T4, VPIG7, VPI24, VPI24_DESC, T4_DESC); 850 + SIG_EXPR_LIST_DECL_SINGLE(T4, PWM7, PWM7, T4_DESC, COND2); 851 + PIN_DECL_2(T4, GPION7, VPIG7, PWM7); 867 852 FUNC_GROUP_DECL(PWM7, T4); 868 853 869 854 #define U5 112 870 - SIG_EXPR_LIST_DECL_SINGLE(VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8), 855 + SIG_EXPR_LIST_DECL_SINGLE(U5, VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8), 871 856 COND2); 872 - SS_PIN_DECL(U5, GPIOO0, VPIG8); 857 + PIN_DECL_1(U5, GPIOO0, VPIG8); 873 858 874 859 #define U4 113 875 - SIG_EXPR_LIST_DECL_SINGLE(VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9), 860 + SIG_EXPR_LIST_DECL_SINGLE(U4, VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9), 876 861 COND2); 877 - SS_PIN_DECL(U4, GPIOO1, VPIG9); 862 + PIN_DECL_1(U4, GPIOO1, VPIG9); 878 863 879 864 #define V5 114 880 - SIG_EXPR_LIST_DECL_SINGLE(DASHV5, DASHV5, VPI_24_RSVD_DESC, 865 + SIG_EXPR_LIST_DECL_SINGLE(V5, DASHV5, DASHV5, VPI_24_RSVD_DESC, 881 866 SIG_DESC_SET(SCU88, 10)); 882 - SS_PIN_DECL(V5, GPIOO2, DASHV5); 867 + PIN_DECL_1(V5, GPIOO2, DASHV5); 883 868 884 869 #define AB4 115 885 - SIG_EXPR_LIST_DECL_SINGLE(DASHAB4, DASHAB4, VPI_24_RSVD_DESC, 870 + SIG_EXPR_LIST_DECL_SINGLE(AB4, DASHAB4, DASHAB4, VPI_24_RSVD_DESC, 886 871 SIG_DESC_SET(SCU88, 11)); 887 - SS_PIN_DECL(AB4, GPIOO3, DASHAB4); 872 + PIN_DECL_1(AB4, GPIOO3, DASHAB4); 888 873 889 874 #define AB3 116 890 - SIG_EXPR_LIST_DECL_SINGLE(VPIR2, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 12), 891 - COND2); 892 - SS_PIN_DECL(AB3, GPIOO4, VPIR2); 875 + SIG_EXPR_LIST_DECL_SINGLE(AB3, VPIR2, VPI24, VPI24_DESC, 876 + SIG_DESC_SET(SCU88, 12), COND2); 877 + PIN_DECL_1(AB3, GPIOO4, VPIR2); 893 878 894 879 #define Y4 117 895 - SIG_EXPR_LIST_DECL_SINGLE(VPIR3, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 13), 896 - COND2); 897 - SS_PIN_DECL(Y4, GPIOO5, VPIR3); 880 + SIG_EXPR_LIST_DECL_SINGLE(Y4, VPIR3, VPI24, VPI24_DESC, 881 + SIG_DESC_SET(SCU88, 13), COND2); 882 + PIN_DECL_1(Y4, GPIOO5, VPIR3); 898 883 899 884 #define AA4 118 900 - SIG_EXPR_LIST_DECL_SINGLE(VPIR4, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 14), 901 - COND2); 902 - SS_PIN_DECL(AA4, GPIOO6, VPIR4); 885 + SIG_EXPR_LIST_DECL_SINGLE(AA4, VPIR4, VPI24, VPI24_DESC, 886 + SIG_DESC_SET(SCU88, 14), COND2); 887 + PIN_DECL_1(AA4, GPIOO6, VPIR4); 903 888 904 889 #define W4 119 905 - SIG_EXPR_LIST_DECL_SINGLE(VPIR5, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 15), 906 - COND2); 907 - SS_PIN_DECL(W4, GPIOO7, VPIR5); 890 + SIG_EXPR_LIST_DECL_SINGLE(W4, VPIR5, VPI24, VPI24_DESC, 891 + SIG_DESC_SET(SCU88, 15), COND2); 892 + PIN_DECL_1(W4, GPIOO7, VPIR5); 908 893 909 894 #define V4 120 910 - SIG_EXPR_LIST_DECL_SINGLE(VPIR6, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 16), 911 - COND2); 912 - SS_PIN_DECL(V4, GPIOP0, VPIR6); 895 + SIG_EXPR_LIST_DECL_SINGLE(V4, VPIR6, VPI24, VPI24_DESC, 896 + SIG_DESC_SET(SCU88, 16), COND2); 897 + PIN_DECL_1(V4, GPIOP0, VPIR6); 913 898 914 899 #define W5 121 915 - SIG_EXPR_LIST_DECL_SINGLE(VPIR7, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 17), 916 - COND2); 917 - SS_PIN_DECL(W5, GPIOP1, VPIR7); 900 + SIG_EXPR_LIST_DECL_SINGLE(W5, VPIR7, VPI24, VPI24_DESC, 901 + SIG_DESC_SET(SCU88, 17), COND2); 902 + PIN_DECL_1(W5, GPIOP1, VPIR7); 918 903 919 904 #define AA5 122 920 - SIG_EXPR_LIST_DECL_SINGLE(VPIR8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 18), 921 - COND2); 922 - SS_PIN_DECL(AA5, GPIOP2, VPIR8); 905 + SIG_EXPR_LIST_DECL_SINGLE(AA5, VPIR8, VPI24, VPI24_DESC, 906 + SIG_DESC_SET(SCU88, 18), COND2); 907 + PIN_DECL_1(AA5, GPIOP2, VPIR8); 923 908 924 909 #define AB5 123 925 - SIG_EXPR_LIST_DECL_SINGLE(VPIR9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 19), 926 - COND2); 927 - SS_PIN_DECL(AB5, GPIOP3, VPIR9); 910 + SIG_EXPR_LIST_DECL_SINGLE(AB5, VPIR9, VPI24, VPI24_DESC, 911 + SIG_DESC_SET(SCU88, 19), COND2); 912 + PIN_DECL_1(AB5, GPIOP3, VPIR9); 928 913 929 914 FUNC_GROUP_DECL(VPI24, T1, U2, P4, P3, Y1, AB2, AA1, Y2, AA2, P5, R5, T5, V3, 930 915 U3, W3, AA3, Y3, T4, U5, U4, AB3, Y4, AA4, W4, V4, W5, AA5, 931 916 AB5); 932 917 933 918 #define Y6 124 934 - SIG_EXPR_LIST_DECL_SINGLE(DASHY6, DASHY6, SIG_DESC_SET(SCU90, 28), 919 + SIG_EXPR_LIST_DECL_SINGLE(Y6, DASHY6, DASHY6, SIG_DESC_SET(SCU90, 28), 935 920 SIG_DESC_SET(SCU88, 20)); 936 - SS_PIN_DECL(Y6, GPIOP4, DASHY6); 921 + PIN_DECL_1(Y6, GPIOP4, DASHY6); 937 922 938 923 #define Y5 125 939 - SIG_EXPR_LIST_DECL_SINGLE(DASHY5, DASHY5, SIG_DESC_SET(SCU90, 28), 924 + SIG_EXPR_LIST_DECL_SINGLE(Y5, DASHY5, DASHY5, SIG_DESC_SET(SCU90, 28), 940 925 SIG_DESC_SET(SCU88, 21)); 941 - SS_PIN_DECL(Y5, GPIOP5, DASHY5); 926 + PIN_DECL_1(Y5, GPIOP5, DASHY5); 942 927 943 928 #define W6 126 944 - SIG_EXPR_LIST_DECL_SINGLE(DASHW6, DASHW6, SIG_DESC_SET(SCU90, 28), 929 + SIG_EXPR_LIST_DECL_SINGLE(W6, DASHW6, DASHW6, SIG_DESC_SET(SCU90, 28), 945 930 SIG_DESC_SET(SCU88, 22)); 946 - SS_PIN_DECL(W6, GPIOP6, DASHW6); 931 + PIN_DECL_1(W6, GPIOP6, DASHW6); 947 932 948 933 #define V6 127 949 - SIG_EXPR_LIST_DECL_SINGLE(DASHV6, DASHV6, SIG_DESC_SET(SCU90, 28), 934 + SIG_EXPR_LIST_DECL_SINGLE(V6, DASHV6, DASHV6, SIG_DESC_SET(SCU90, 28), 950 935 SIG_DESC_SET(SCU88, 23)); 951 - SS_PIN_DECL(V6, GPIOP7, DASHV6); 936 + PIN_DECL_1(V6, GPIOP7, DASHV6); 952 937 953 938 #define I2C3_DESC SIG_DESC_SET(SCU90, 16) 954 939 955 940 #define A11 128 956 - SIG_EXPR_LIST_DECL_SINGLE(SCL3, I2C3, I2C3_DESC); 957 - SS_PIN_DECL(A11, GPIOQ0, SCL3); 941 + SIG_EXPR_LIST_DECL_SINGLE(A11, SCL3, I2C3, I2C3_DESC); 942 + PIN_DECL_1(A11, GPIOQ0, SCL3); 958 943 959 944 #define A10 129 960 - SIG_EXPR_LIST_DECL_SINGLE(SDA3, I2C3, I2C3_DESC); 961 - SS_PIN_DECL(A10, GPIOQ1, SDA3); 945 + SIG_EXPR_LIST_DECL_SINGLE(A10, SDA3, I2C3, I2C3_DESC); 946 + PIN_DECL_1(A10, GPIOQ1, SDA3); 962 947 963 948 FUNC_GROUP_DECL(I2C3, A11, A10); 964 949 965 950 #define I2C4_DESC SIG_DESC_SET(SCU90, 17) 966 951 967 952 #define A9 130 968 - SIG_EXPR_LIST_DECL_SINGLE(SCL4, I2C4, I2C4_DESC); 969 - SS_PIN_DECL(A9, GPIOQ2, SCL4); 953 + SIG_EXPR_LIST_DECL_SINGLE(A9, SCL4, I2C4, I2C4_DESC); 954 + PIN_DECL_1(A9, GPIOQ2, SCL4); 970 955 971 956 #define B9 131 972 - SIG_EXPR_LIST_DECL_SINGLE(SDA4, I2C4, I2C4_DESC); 973 - SS_PIN_DECL(B9, GPIOQ3, SDA4); 957 + SIG_EXPR_LIST_DECL_SINGLE(B9, SDA4, I2C4, I2C4_DESC); 958 + PIN_DECL_1(B9, GPIOQ3, SDA4); 974 959 975 960 FUNC_GROUP_DECL(I2C4, A9, B9); 976 961 977 962 #define I2C14_DESC SIG_DESC_SET(SCU90, 27) 978 963 979 964 #define N21 132 980 - SIG_EXPR_LIST_DECL_SINGLE(SCL14, I2C14, I2C14_DESC); 981 - SS_PIN_DECL(N21, GPIOQ4, SCL14); 965 + SIG_EXPR_LIST_DECL_SINGLE(N21, SCL14, I2C14, I2C14_DESC); 966 + PIN_DECL_1(N21, GPIOQ4, SCL14); 982 967 983 968 #define N22 133 984 - SIG_EXPR_LIST_DECL_SINGLE(SDA14, I2C14, I2C14_DESC); 985 - SS_PIN_DECL(N22, GPIOQ5, SDA14); 969 + SIG_EXPR_LIST_DECL_SINGLE(N22, SDA14, I2C14, I2C14_DESC); 970 + PIN_DECL_1(N22, GPIOQ5, SDA14); 986 971 987 972 FUNC_GROUP_DECL(I2C14, N21, N22); 988 973 ··· 1011 996 SSSF_PIN_DECL(V19, GPIOR5, SPI2MISO, SIG_DESC_SET(SCU88, 29), COND2); 1012 997 1013 998 #define D8 142 1014 - SIG_EXPR_LIST_DECL_SINGLE(MDC1, MDIO1, SIG_DESC_SET(SCU88, 30)); 1015 - SS_PIN_DECL(D8, GPIOR6, MDC1); 999 + SIG_EXPR_LIST_DECL_SINGLE(D8, MDC1, MDIO1, SIG_DESC_SET(SCU88, 30)); 1000 + PIN_DECL_1(D8, GPIOR6, MDC1); 1016 1001 1017 1002 #define E10 143 1018 - SIG_EXPR_LIST_DECL_SINGLE(MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31)); 1019 - SS_PIN_DECL(E10, GPIOR7, MDIO1); 1003 + SIG_EXPR_LIST_DECL_SINGLE(E10, MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31)); 1004 + PIN_DECL_1(E10, GPIOR7, MDIO1); 1020 1005 1021 1006 FUNC_GROUP_DECL(MDIO1, D8, E10); 1022 1007 ··· 1029 1014 1030 1015 #define V20 144 1031 1016 #define V20_DESC SIG_DESC_SET(SCU8C, 0) 1032 - SIG_EXPR_DECL(VPOB2, VPO, V20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1033 - SIG_EXPR_DECL(VPOB2, VPOOFF1, V20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1034 - SIG_EXPR_DECL(VPOB2, VPOOFF2, V20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1035 - SIG_EXPR_LIST_DECL(VPOB2, SIG_EXPR_PTR(VPOB2, VPO), 1036 - SIG_EXPR_PTR(VPOB2, VPOOFF1), SIG_EXPR_PTR(VPOB2, VPOOFF2)); 1037 - SIG_EXPR_LIST_DECL_SINGLE(SPI2CS1, SPI2CS1, V20_DESC); 1038 - MS_PIN_DECL(V20, GPIOS0, VPOB2, SPI2CS1); 1017 + SIG_EXPR_DECL_SINGLE(VPOB2, VPO, V20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1018 + SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF1, V20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1019 + SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF2, V20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1020 + SIG_EXPR_LIST_DECL(VPOB2, VPO, 1021 + SIG_EXPR_PTR(VPOB2, VPO), 1022 + SIG_EXPR_PTR(VPOB2, VPOOFF1), 1023 + SIG_EXPR_PTR(VPOB2, VPOOFF2)); 1024 + SIG_EXPR_LIST_ALIAS(V20, VPOB2, VPO); 1025 + SIG_EXPR_LIST_DECL_SINGLE(V20, SPI2CS1, SPI2CS1, V20_DESC); 1026 + PIN_DECL_2(V20, GPIOS0, VPOB2, SPI2CS1); 1039 1027 FUNC_GROUP_DECL(SPI2CS1, V20); 1040 1028 1041 1029 #define U19 145 1042 1030 #define U19_DESC SIG_DESC_SET(SCU8C, 1) 1043 - SIG_EXPR_DECL(VPOB3, VPO, U19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1044 - SIG_EXPR_DECL(VPOB3, VPOOFF1, U19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1045 - SIG_EXPR_DECL(VPOB3, VPOOFF2, U19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1046 - SIG_EXPR_LIST_DECL(VPOB3, SIG_EXPR_PTR(VPOB3, VPO), 1047 - SIG_EXPR_PTR(VPOB3, VPOOFF1), SIG_EXPR_PTR(VPOB3, VPOOFF2)); 1048 - SIG_EXPR_LIST_DECL_SINGLE(BMCINT, BMCINT, U19_DESC); 1049 - MS_PIN_DECL(U19, GPIOS1, VPOB3, BMCINT); 1031 + SIG_EXPR_DECL_SINGLE(VPOB3, VPO, U19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1032 + SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF1, U19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1033 + SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF2, U19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1034 + SIG_EXPR_LIST_DECL(VPOB3, VPO, 1035 + SIG_EXPR_PTR(VPOB3, VPO), 1036 + SIG_EXPR_PTR(VPOB3, VPOOFF1), 1037 + SIG_EXPR_PTR(VPOB3, VPOOFF2)); 1038 + SIG_EXPR_LIST_ALIAS(U19, VPOB3, VPO); 1039 + SIG_EXPR_LIST_DECL_SINGLE(U19, BMCINT, BMCINT, U19_DESC); 1040 + PIN_DECL_2(U19, GPIOS1, VPOB3, BMCINT); 1050 1041 FUNC_GROUP_DECL(BMCINT, U19); 1051 1042 1052 1043 #define R18 146 1053 1044 #define R18_DESC SIG_DESC_SET(SCU8C, 2) 1054 - SIG_EXPR_DECL(VPOB4, VPO, R18_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1055 - SIG_EXPR_DECL(VPOB4, VPOOFF1, R18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1056 - SIG_EXPR_DECL(VPOB4, VPOOFF2, R18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1057 - SIG_EXPR_LIST_DECL(VPOB4, SIG_EXPR_PTR(VPOB4, VPO), 1058 - SIG_EXPR_PTR(VPOB4, VPOOFF1), SIG_EXPR_PTR(VPOB4, VPOOFF2)); 1059 - SIG_EXPR_LIST_DECL_SINGLE(SALT5, SALT5, R18_DESC); 1060 - MS_PIN_DECL(R18, GPIOS2, VPOB4, SALT5); 1045 + SIG_EXPR_DECL_SINGLE(VPOB4, VPO, R18_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1046 + SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF1, R18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1047 + SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF2, R18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1048 + SIG_EXPR_LIST_DECL(VPOB4, VPO, 1049 + SIG_EXPR_PTR(VPOB4, VPO), 1050 + SIG_EXPR_PTR(VPOB4, VPOOFF1), 1051 + SIG_EXPR_PTR(VPOB4, VPOOFF2)); 1052 + SIG_EXPR_LIST_ALIAS(R18, VPOB4, VPO); 1053 + SIG_EXPR_LIST_DECL_SINGLE(R18, SALT5, SALT5, R18_DESC); 1054 + PIN_DECL_2(R18, GPIOS2, VPOB4, SALT5); 1061 1055 FUNC_GROUP_DECL(SALT5, R18); 1062 1056 1063 1057 #define P18 147 1064 1058 #define P18_DESC SIG_DESC_SET(SCU8C, 3) 1065 - SIG_EXPR_DECL(VPOB5, VPO, P18_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1066 - SIG_EXPR_DECL(VPOB5, VPOOFF1, P18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1067 - SIG_EXPR_DECL(VPOB5, VPOOFF2, P18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1068 - SIG_EXPR_LIST_DECL(VPOB5, SIG_EXPR_PTR(VPOB5, VPO), 1069 - SIG_EXPR_PTR(VPOB5, VPOOFF1), SIG_EXPR_PTR(VPOB5, VPOOFF2)); 1070 - SIG_EXPR_LIST_DECL_SINGLE(SALT6, SALT6, P18_DESC); 1071 - MS_PIN_DECL(P18, GPIOS3, VPOB5, SALT6); 1059 + SIG_EXPR_DECL_SINGLE(VPOB5, VPO, P18_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1060 + SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF1, P18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1061 + SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF2, P18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1062 + SIG_EXPR_LIST_DECL(VPOB5, VPO, 1063 + SIG_EXPR_PTR(VPOB5, VPO), 1064 + SIG_EXPR_PTR(VPOB5, VPOOFF1), 1065 + SIG_EXPR_PTR(VPOB5, VPOOFF2)); 1066 + SIG_EXPR_LIST_ALIAS(P18, VPOB5, VPO); 1067 + SIG_EXPR_LIST_DECL_SINGLE(P18, SALT6, SALT6, P18_DESC); 1068 + PIN_DECL_2(P18, GPIOS3, VPOB5, SALT6); 1072 1069 FUNC_GROUP_DECL(SALT6, P18); 1073 1070 1074 1071 #define R19 148 1075 1072 #define R19_DESC SIG_DESC_SET(SCU8C, 4) 1076 - SIG_EXPR_DECL(VPOB6, VPO, R19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1077 - SIG_EXPR_DECL(VPOB6, VPOOFF1, R19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1078 - SIG_EXPR_DECL(VPOB6, VPOOFF2, R19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1079 - SIG_EXPR_LIST_DECL(VPOB6, SIG_EXPR_PTR(VPOB6, VPO), 1080 - SIG_EXPR_PTR(VPOB6, VPOOFF1), SIG_EXPR_PTR(VPOB6, VPOOFF2)); 1081 - SS_PIN_DECL(R19, GPIOS4, VPOB6); 1073 + SIG_EXPR_DECL_SINGLE(VPOB6, VPO, R19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1074 + SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF1, R19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1075 + SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF2, R19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1076 + SIG_EXPR_LIST_DECL(VPOB6, VPO, 1077 + SIG_EXPR_PTR(VPOB6, VPO), 1078 + SIG_EXPR_PTR(VPOB6, VPOOFF1), 1079 + SIG_EXPR_PTR(VPOB6, VPOOFF2)); 1080 + SIG_EXPR_LIST_ALIAS(R19, VPOB6, VPO); 1081 + PIN_DECL_1(R19, GPIOS4, VPOB6); 1082 1082 1083 1083 #define W20 149 1084 1084 #define W20_DESC SIG_DESC_SET(SCU8C, 5) 1085 - SIG_EXPR_DECL(VPOB7, VPO, W20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1086 - SIG_EXPR_DECL(VPOB7, VPOOFF1, W20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1087 - SIG_EXPR_DECL(VPOB7, VPOOFF2, W20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1088 - SIG_EXPR_LIST_DECL(VPOB7, SIG_EXPR_PTR(VPOB7, VPO), 1089 - SIG_EXPR_PTR(VPOB7, VPOOFF1), SIG_EXPR_PTR(VPOB7, VPOOFF2)); 1090 - SS_PIN_DECL(W20, GPIOS5, VPOB7); 1085 + SIG_EXPR_DECL_SINGLE(VPOB7, VPO, W20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1086 + SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF1, W20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1087 + SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF2, W20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1088 + SIG_EXPR_LIST_DECL(VPOB7, VPO, 1089 + SIG_EXPR_PTR(VPOB7, VPO), 1090 + SIG_EXPR_PTR(VPOB7, VPOOFF1), 1091 + SIG_EXPR_PTR(VPOB7, VPOOFF2)); 1092 + SIG_EXPR_LIST_ALIAS(W20, VPOB7, VPO); 1093 + PIN_DECL_1(W20, GPIOS5, VPOB7); 1091 1094 1092 1095 #define U20 150 1093 1096 #define U20_DESC SIG_DESC_SET(SCU8C, 6) 1094 - SIG_EXPR_DECL(VPOB8, VPO, U20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1095 - SIG_EXPR_DECL(VPOB8, VPOOFF1, U20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1096 - SIG_EXPR_DECL(VPOB8, VPOOFF2, U20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1097 - SIG_EXPR_LIST_DECL(VPOB8, SIG_EXPR_PTR(VPOB8, VPO), 1098 - SIG_EXPR_PTR(VPOB8, VPOOFF1), SIG_EXPR_PTR(VPOB8, VPOOFF2)); 1099 - SS_PIN_DECL(U20, GPIOS6, VPOB8); 1097 + SIG_EXPR_DECL_SINGLE(VPOB8, VPO, U20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1098 + SIG_EXPR_DECL_SINGLE(VPOB8, VPOOFF1, U20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1099 + SIG_EXPR_DECL_SINGLE(VPOB8, VPOOFF2, U20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1100 + SIG_EXPR_LIST_DECL(VPOB8, VPO, 1101 + SIG_EXPR_PTR(VPOB8, VPO), 1102 + SIG_EXPR_PTR(VPOB8, VPOOFF1), 1103 + SIG_EXPR_PTR(VPOB8, VPOOFF2)); 1104 + SIG_EXPR_LIST_ALIAS(U20, VPOB8, VPO); 1105 + PIN_DECL_1(U20, GPIOS6, VPOB8); 1100 1106 1101 1107 #define AA20 151 1102 1108 #define AA20_DESC SIG_DESC_SET(SCU8C, 7) 1103 - SIG_EXPR_DECL(VPOB9, VPO, AA20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1104 - SIG_EXPR_DECL(VPOB9, VPOOFF1, AA20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1105 - SIG_EXPR_DECL(VPOB9, VPOOFF2, AA20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1106 - SIG_EXPR_LIST_DECL(VPOB9, SIG_EXPR_PTR(VPOB9, VPO), 1107 - SIG_EXPR_PTR(VPOB9, VPOOFF1), SIG_EXPR_PTR(VPOB9, VPOOFF2)); 1108 - SS_PIN_DECL(AA20, GPIOS7, VPOB9); 1109 + SIG_EXPR_DECL_SINGLE(VPOB9, VPO, AA20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1110 + SIG_EXPR_DECL_SINGLE(VPOB9, VPOOFF1, AA20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1111 + SIG_EXPR_DECL_SINGLE(VPOB9, VPOOFF2, AA20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1112 + SIG_EXPR_LIST_DECL(VPOB9, VPO, 1113 + SIG_EXPR_PTR(VPOB9, VPO), 1114 + SIG_EXPR_PTR(VPOB9, VPOOFF1), 1115 + SIG_EXPR_PTR(VPOB9, VPOOFF2)); 1116 + SIG_EXPR_LIST_ALIAS(AA20, VPOB9, VPO); 1117 + PIN_DECL_1(AA20, GPIOS7, VPOB9); 1109 1118 1110 1119 /* RGMII1/RMII1 */ 1111 1120 ··· 1137 1098 #define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0) 1138 1099 1139 1100 #define B5 152 1140 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0)); 1141 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RCLKO, RMII1, RMII1_DESC, 1101 + SIG_EXPR_LIST_DECL_SINGLE(B5, GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0)); 1102 + SIG_EXPR_LIST_DECL_SINGLE(B5, RMII1RCLKO, RMII1, RMII1_DESC, 1142 1103 SIG_DESC_SET(SCU48, 29)); 1143 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCK, RGMII1); 1144 - MS_PIN_DECL_(B5, SIG_EXPR_LIST_PTR(GPIOT0), SIG_EXPR_LIST_PTR(RMII1RCLKO), 1145 - SIG_EXPR_LIST_PTR(RGMII1TXCK)); 1104 + SIG_EXPR_LIST_DECL_SINGLE(B5, RGMII1TXCK, RGMII1); 1105 + PIN_DECL_(B5, SIG_EXPR_LIST_PTR(B5, GPIOT0), SIG_EXPR_LIST_PTR(B5, RMII1RCLKO), 1106 + SIG_EXPR_LIST_PTR(B5, RGMII1TXCK)); 1146 1107 1147 1108 #define E9 153 1148 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1)); 1149 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXEN, RMII1, RMII1_DESC); 1150 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCTL, RGMII1); 1151 - MS_PIN_DECL_(E9, SIG_EXPR_LIST_PTR(GPIOT1), SIG_EXPR_LIST_PTR(RMII1TXEN), 1152 - SIG_EXPR_LIST_PTR(RGMII1TXCTL)); 1109 + SIG_EXPR_LIST_DECL_SINGLE(E9, GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1)); 1110 + SIG_EXPR_LIST_DECL_SINGLE(E9, RMII1TXEN, RMII1, RMII1_DESC); 1111 + SIG_EXPR_LIST_DECL_SINGLE(E9, RGMII1TXCTL, RGMII1); 1112 + PIN_DECL_(E9, SIG_EXPR_LIST_PTR(E9, GPIOT1), SIG_EXPR_LIST_PTR(E9, RMII1TXEN), 1113 + SIG_EXPR_LIST_PTR(E9, RGMII1TXCTL)); 1153 1114 1154 1115 #define F9 154 1155 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2)); 1156 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD0, RMII1, RMII1_DESC); 1157 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD0, RGMII1); 1158 - MS_PIN_DECL_(F9, SIG_EXPR_LIST_PTR(GPIOT2), SIG_EXPR_LIST_PTR(RMII1TXD0), 1159 - SIG_EXPR_LIST_PTR(RGMII1TXD0)); 1116 + SIG_EXPR_LIST_DECL_SINGLE(F9, GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2)); 1117 + SIG_EXPR_LIST_DECL_SINGLE(F9, RMII1TXD0, RMII1, RMII1_DESC); 1118 + SIG_EXPR_LIST_DECL_SINGLE(F9, RGMII1TXD0, RGMII1); 1119 + PIN_DECL_(F9, SIG_EXPR_LIST_PTR(F9, GPIOT2), SIG_EXPR_LIST_PTR(F9, RMII1TXD0), 1120 + SIG_EXPR_LIST_PTR(F9, RGMII1TXD0)); 1160 1121 1161 1122 #define A5 155 1162 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3)); 1163 - SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD1, RMII1, RMII1_DESC); 1164 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD1, RGMII1); 1165 - MS_PIN_DECL_(A5, SIG_EXPR_LIST_PTR(GPIOT3), SIG_EXPR_LIST_PTR(RMII1TXD1), 1166 - SIG_EXPR_LIST_PTR(RGMII1TXD1)); 1123 + SIG_EXPR_LIST_DECL_SINGLE(A5, GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3)); 1124 + SIG_EXPR_LIST_DECL_SINGLE(A5, RMII1TXD1, RMII1, RMII1_DESC); 1125 + SIG_EXPR_LIST_DECL_SINGLE(A5, RGMII1TXD1, RGMII1); 1126 + PIN_DECL_(A5, SIG_EXPR_LIST_PTR(A5, GPIOT3), SIG_EXPR_LIST_PTR(A5, RMII1TXD1), 1127 + SIG_EXPR_LIST_PTR(A5, RGMII1TXD1)); 1167 1128 1168 1129 #define E7 156 1169 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4)); 1170 - SIG_EXPR_LIST_DECL_SINGLE(RMII1DASH0, RMII1, RMII1_DESC); 1171 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD2, RGMII1); 1172 - MS_PIN_DECL_(E7, SIG_EXPR_LIST_PTR(GPIOT4), SIG_EXPR_LIST_PTR(RMII1DASH0), 1173 - SIG_EXPR_LIST_PTR(RGMII1TXD2)); 1130 + SIG_EXPR_LIST_DECL_SINGLE(E7, GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4)); 1131 + SIG_EXPR_LIST_DECL_SINGLE(E7, RMII1DASH0, RMII1, RMII1_DESC); 1132 + SIG_EXPR_LIST_DECL_SINGLE(E7, RGMII1TXD2, RGMII1); 1133 + PIN_DECL_(E7, SIG_EXPR_LIST_PTR(E7, GPIOT4), SIG_EXPR_LIST_PTR(E7, RMII1DASH0), 1134 + SIG_EXPR_LIST_PTR(E7, RGMII1TXD2)); 1174 1135 1175 1136 #define D7 157 1176 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5)); 1177 - SIG_EXPR_LIST_DECL_SINGLE(RMII1DASH1, RMII1, RMII1_DESC); 1178 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD3, RGMII1); 1179 - MS_PIN_DECL_(D7, SIG_EXPR_LIST_PTR(GPIOT5), SIG_EXPR_LIST_PTR(RMII1DASH1), 1180 - SIG_EXPR_LIST_PTR(RGMII1TXD3)); 1137 + SIG_EXPR_LIST_DECL_SINGLE(D7, GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5)); 1138 + SIG_EXPR_LIST_DECL_SINGLE(D7, RMII1DASH1, RMII1, RMII1_DESC); 1139 + SIG_EXPR_LIST_DECL_SINGLE(D7, RGMII1TXD3, RGMII1); 1140 + PIN_DECL_(D7, SIG_EXPR_LIST_PTR(D7, GPIOT5), SIG_EXPR_LIST_PTR(D7, RMII1DASH1), 1141 + SIG_EXPR_LIST_PTR(D7, RGMII1TXD3)); 1181 1142 1182 1143 #define B2 158 1183 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6)); 1184 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RCLKO, RMII2, RMII2_DESC, 1144 + SIG_EXPR_LIST_DECL_SINGLE(B2, GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6)); 1145 + SIG_EXPR_LIST_DECL_SINGLE(B2, RMII2RCLKO, RMII2, RMII2_DESC, 1185 1146 SIG_DESC_SET(SCU48, 30)); 1186 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCK, RGMII2); 1187 - MS_PIN_DECL_(B2, SIG_EXPR_LIST_PTR(GPIOT6), SIG_EXPR_LIST_PTR(RMII2RCLKO), 1188 - SIG_EXPR_LIST_PTR(RGMII2TXCK)); 1147 + SIG_EXPR_LIST_DECL_SINGLE(B2, RGMII2TXCK, RGMII2); 1148 + PIN_DECL_(B2, SIG_EXPR_LIST_PTR(B2, GPIOT6), SIG_EXPR_LIST_PTR(B2, RMII2RCLKO), 1149 + SIG_EXPR_LIST_PTR(B2, RGMII2TXCK)); 1189 1150 1190 1151 #define B1 159 1191 - SIG_EXPR_LIST_DECL_SINGLE(GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7)); 1192 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXEN, RMII2, RMII2_DESC); 1193 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCTL, RGMII2); 1194 - MS_PIN_DECL_(B1, SIG_EXPR_LIST_PTR(GPIOT7), SIG_EXPR_LIST_PTR(RMII2TXEN), 1195 - SIG_EXPR_LIST_PTR(RGMII2TXCTL)); 1152 + SIG_EXPR_LIST_DECL_SINGLE(B1, GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7)); 1153 + SIG_EXPR_LIST_DECL_SINGLE(B1, RMII2TXEN, RMII2, RMII2_DESC); 1154 + SIG_EXPR_LIST_DECL_SINGLE(B1, RGMII2TXCTL, RGMII2); 1155 + PIN_DECL_(B1, SIG_EXPR_LIST_PTR(B1, GPIOT7), SIG_EXPR_LIST_PTR(B1, RMII2TXEN), 1156 + SIG_EXPR_LIST_PTR(B1, RGMII2TXCTL)); 1196 1157 1197 1158 #define A2 160 1198 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8)); 1199 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD0, RMII2, RMII2_DESC); 1200 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD0, RGMII2); 1201 - MS_PIN_DECL_(A2, SIG_EXPR_LIST_PTR(GPIOU0), SIG_EXPR_LIST_PTR(RMII2TXD0), 1202 - SIG_EXPR_LIST_PTR(RGMII2TXD0)); 1159 + SIG_EXPR_LIST_DECL_SINGLE(A2, GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8)); 1160 + SIG_EXPR_LIST_DECL_SINGLE(A2, RMII2TXD0, RMII2, RMII2_DESC); 1161 + SIG_EXPR_LIST_DECL_SINGLE(A2, RGMII2TXD0, RGMII2); 1162 + PIN_DECL_(A2, SIG_EXPR_LIST_PTR(A2, GPIOU0), SIG_EXPR_LIST_PTR(A2, RMII2TXD0), 1163 + SIG_EXPR_LIST_PTR(A2, RGMII2TXD0)); 1203 1164 1204 1165 #define B3 161 1205 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9)); 1206 - SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD1, RMII2, RMII2_DESC); 1207 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD1, RGMII2); 1208 - MS_PIN_DECL_(B3, SIG_EXPR_LIST_PTR(GPIOU1), SIG_EXPR_LIST_PTR(RMII2TXD1), 1209 - SIG_EXPR_LIST_PTR(RGMII2TXD1)); 1166 + SIG_EXPR_LIST_DECL_SINGLE(B3, GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9)); 1167 + SIG_EXPR_LIST_DECL_SINGLE(B3, RMII2TXD1, RMII2, RMII2_DESC); 1168 + SIG_EXPR_LIST_DECL_SINGLE(B3, RGMII2TXD1, RGMII2); 1169 + PIN_DECL_(B3, SIG_EXPR_LIST_PTR(B3, GPIOU1), SIG_EXPR_LIST_PTR(B3, RMII2TXD1), 1170 + SIG_EXPR_LIST_PTR(B3, RGMII2TXD1)); 1210 1171 1211 1172 #define D5 162 1212 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10)); 1213 - SIG_EXPR_LIST_DECL_SINGLE(RMII2DASH0, RMII2, RMII2_DESC); 1214 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD2, RGMII2); 1215 - MS_PIN_DECL_(D5, SIG_EXPR_LIST_PTR(GPIOU2), SIG_EXPR_LIST_PTR(RMII2DASH0), 1216 - SIG_EXPR_LIST_PTR(RGMII2TXD2)); 1173 + SIG_EXPR_LIST_DECL_SINGLE(D5, GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10)); 1174 + SIG_EXPR_LIST_DECL_SINGLE(D5, RMII2DASH0, RMII2, RMII2_DESC); 1175 + SIG_EXPR_LIST_DECL_SINGLE(D5, RGMII2TXD2, RGMII2); 1176 + PIN_DECL_(D5, SIG_EXPR_LIST_PTR(D5, GPIOU2), SIG_EXPR_LIST_PTR(D5, RMII2DASH0), 1177 + SIG_EXPR_LIST_PTR(D5, RGMII2TXD2)); 1217 1178 1218 1179 #define D4 163 1219 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11)); 1220 - SIG_EXPR_LIST_DECL_SINGLE(RMII2DASH1, RMII2, RMII2_DESC); 1221 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD3, RGMII2); 1222 - MS_PIN_DECL_(D4, SIG_EXPR_LIST_PTR(GPIOU3), SIG_EXPR_LIST_PTR(RMII2DASH1), 1223 - SIG_EXPR_LIST_PTR(RGMII2TXD3)); 1180 + SIG_EXPR_LIST_DECL_SINGLE(D4, GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11)); 1181 + SIG_EXPR_LIST_DECL_SINGLE(D4, RMII2DASH1, RMII2, RMII2_DESC); 1182 + SIG_EXPR_LIST_DECL_SINGLE(D4, RGMII2TXD3, RGMII2); 1183 + PIN_DECL_(D4, SIG_EXPR_LIST_PTR(D4, GPIOU3), SIG_EXPR_LIST_PTR(D4, RMII2DASH1), 1184 + SIG_EXPR_LIST_PTR(D4, RGMII2TXD3)); 1224 1185 1225 1186 #define B4 164 1226 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12)); 1227 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RCLKI, RMII1, RMII1_DESC); 1228 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCK, RGMII1); 1229 - MS_PIN_DECL_(B4, SIG_EXPR_LIST_PTR(GPIOU4), SIG_EXPR_LIST_PTR(RMII1RCLKI), 1230 - SIG_EXPR_LIST_PTR(RGMII1RXCK)); 1187 + SIG_EXPR_LIST_DECL_SINGLE(B4, GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12)); 1188 + SIG_EXPR_LIST_DECL_SINGLE(B4, RMII1RCLKI, RMII1, RMII1_DESC); 1189 + SIG_EXPR_LIST_DECL_SINGLE(B4, RGMII1RXCK, RGMII1); 1190 + PIN_DECL_(B4, SIG_EXPR_LIST_PTR(B4, GPIOU4), SIG_EXPR_LIST_PTR(B4, RMII1RCLKI), 1191 + SIG_EXPR_LIST_PTR(B4, RGMII1RXCK)); 1231 1192 1232 1193 #define A4 165 1233 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13)); 1234 - SIG_EXPR_LIST_DECL_SINGLE(RMII1DASH2, RMII1, RMII1_DESC); 1235 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCTL, RGMII1); 1236 - MS_PIN_DECL_(A4, SIG_EXPR_LIST_PTR(GPIOU5), SIG_EXPR_LIST_PTR(RMII1DASH2), 1237 - SIG_EXPR_LIST_PTR(RGMII1RXCTL)); 1194 + SIG_EXPR_LIST_DECL_SINGLE(A4, GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13)); 1195 + SIG_EXPR_LIST_DECL_SINGLE(A4, RMII1DASH2, RMII1, RMII1_DESC); 1196 + SIG_EXPR_LIST_DECL_SINGLE(A4, RGMII1RXCTL, RGMII1); 1197 + PIN_DECL_(A4, SIG_EXPR_LIST_PTR(A4, GPIOU5), SIG_EXPR_LIST_PTR(A4, RMII1DASH2), 1198 + SIG_EXPR_LIST_PTR(A4, RGMII1RXCTL)); 1238 1199 1239 1200 #define A3 166 1240 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14)); 1241 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD0, RMII1, RMII1_DESC); 1242 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD0, RGMII1); 1243 - MS_PIN_DECL_(A3, SIG_EXPR_LIST_PTR(GPIOU6), SIG_EXPR_LIST_PTR(RMII1RXD0), 1244 - SIG_EXPR_LIST_PTR(RGMII1RXD0)); 1201 + SIG_EXPR_LIST_DECL_SINGLE(A3, GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14)); 1202 + SIG_EXPR_LIST_DECL_SINGLE(A3, RMII1RXD0, RMII1, RMII1_DESC); 1203 + SIG_EXPR_LIST_DECL_SINGLE(A3, RGMII1RXD0, RGMII1); 1204 + PIN_DECL_(A3, SIG_EXPR_LIST_PTR(A3, GPIOU6), SIG_EXPR_LIST_PTR(A3, RMII1RXD0), 1205 + SIG_EXPR_LIST_PTR(A3, RGMII1RXD0)); 1245 1206 1246 1207 #define D6 167 1247 - SIG_EXPR_LIST_DECL_SINGLE(GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15)); 1248 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD1, RMII1, RMII1_DESC); 1249 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD1, RGMII1); 1250 - MS_PIN_DECL_(D6, SIG_EXPR_LIST_PTR(GPIOU7), SIG_EXPR_LIST_PTR(RMII1RXD1), 1251 - SIG_EXPR_LIST_PTR(RGMII1RXD1)); 1208 + SIG_EXPR_LIST_DECL_SINGLE(D6, GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15)); 1209 + SIG_EXPR_LIST_DECL_SINGLE(D6, RMII1RXD1, RMII1, RMII1_DESC); 1210 + SIG_EXPR_LIST_DECL_SINGLE(D6, RGMII1RXD1, RGMII1); 1211 + PIN_DECL_(D6, SIG_EXPR_LIST_PTR(D6, GPIOU7), SIG_EXPR_LIST_PTR(D6, RMII1RXD1), 1212 + SIG_EXPR_LIST_PTR(D6, RGMII1RXD1)); 1252 1213 1253 1214 #define C5 168 1254 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16)); 1255 - SIG_EXPR_LIST_DECL_SINGLE(RMII1CRSDV, RMII1, RMII1_DESC); 1256 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD2, RGMII1); 1257 - MS_PIN_DECL_(C5, SIG_EXPR_LIST_PTR(GPIOV0), SIG_EXPR_LIST_PTR(RMII1CRSDV), 1258 - SIG_EXPR_LIST_PTR(RGMII1RXD2)); 1215 + SIG_EXPR_LIST_DECL_SINGLE(C5, GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16)); 1216 + SIG_EXPR_LIST_DECL_SINGLE(C5, RMII1CRSDV, RMII1, RMII1_DESC); 1217 + SIG_EXPR_LIST_DECL_SINGLE(C5, RGMII1RXD2, RGMII1); 1218 + PIN_DECL_(C5, SIG_EXPR_LIST_PTR(C5, GPIOV0), SIG_EXPR_LIST_PTR(C5, RMII1CRSDV), 1219 + SIG_EXPR_LIST_PTR(C5, RGMII1RXD2)); 1259 1220 1260 1221 #define C4 169 1261 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17)); 1262 - SIG_EXPR_LIST_DECL_SINGLE(RMII1RXER, RMII1, RMII1_DESC); 1263 - SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD3, RGMII1); 1264 - MS_PIN_DECL_(C4, SIG_EXPR_LIST_PTR(GPIOV1), SIG_EXPR_LIST_PTR(RMII1RXER), 1265 - SIG_EXPR_LIST_PTR(RGMII1RXD3)); 1222 + SIG_EXPR_LIST_DECL_SINGLE(C4, GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17)); 1223 + SIG_EXPR_LIST_DECL_SINGLE(C4, RMII1RXER, RMII1, RMII1_DESC); 1224 + SIG_EXPR_LIST_DECL_SINGLE(C4, RGMII1RXD3, RGMII1); 1225 + PIN_DECL_(C4, SIG_EXPR_LIST_PTR(C4, GPIOV1), SIG_EXPR_LIST_PTR(C4, RMII1RXER), 1226 + SIG_EXPR_LIST_PTR(C4, RGMII1RXD3)); 1266 1227 1267 1228 FUNC_GROUP_DECL(RGMII1, B4, A4, A3, D6, C5, C4, B5, E9, F9, A5, E7, D7); 1268 1229 FUNC_GROUP_DECL(RMII1, B4, A3, D6, C5, C4, B5, E9, F9, A5); 1269 1230 1270 1231 #define C2 170 1271 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18)); 1272 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RCLKI, RMII2, RMII2_DESC); 1273 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCK, RGMII2); 1274 - MS_PIN_DECL_(C2, SIG_EXPR_LIST_PTR(GPIOV2), SIG_EXPR_LIST_PTR(RMII2RCLKI), 1275 - SIG_EXPR_LIST_PTR(RGMII2RXCK)); 1232 + SIG_EXPR_LIST_DECL_SINGLE(C2, GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18)); 1233 + SIG_EXPR_LIST_DECL_SINGLE(C2, RMII2RCLKI, RMII2, RMII2_DESC); 1234 + SIG_EXPR_LIST_DECL_SINGLE(C2, RGMII2RXCK, RGMII2); 1235 + PIN_DECL_(C2, SIG_EXPR_LIST_PTR(C2, GPIOV2), SIG_EXPR_LIST_PTR(C2, RMII2RCLKI), 1236 + SIG_EXPR_LIST_PTR(C2, RGMII2RXCK)); 1276 1237 1277 1238 #define C1 171 1278 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19)); 1279 - SIG_EXPR_LIST_DECL_SINGLE(RMII2DASH2, RMII2, RMII2_DESC); 1280 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCTL, RGMII2); 1281 - MS_PIN_DECL_(C1, SIG_EXPR_LIST_PTR(GPIOV3), SIG_EXPR_LIST_PTR(RMII2DASH2), 1282 - SIG_EXPR_LIST_PTR(RGMII2RXCTL)); 1239 + SIG_EXPR_LIST_DECL_SINGLE(C1, GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19)); 1240 + SIG_EXPR_LIST_DECL_SINGLE(C1, RMII2DASH2, RMII2, RMII2_DESC); 1241 + SIG_EXPR_LIST_DECL_SINGLE(C1, RGMII2RXCTL, RGMII2); 1242 + PIN_DECL_(C1, SIG_EXPR_LIST_PTR(C1, GPIOV3), SIG_EXPR_LIST_PTR(C1, RMII2DASH2), 1243 + SIG_EXPR_LIST_PTR(C1, RGMII2RXCTL)); 1283 1244 1284 1245 #define C3 172 1285 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20)); 1286 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD0, RMII2, RMII2_DESC); 1287 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD0, RGMII2); 1288 - MS_PIN_DECL_(C3, SIG_EXPR_LIST_PTR(GPIOV4), SIG_EXPR_LIST_PTR(RMII2RXD0), 1289 - SIG_EXPR_LIST_PTR(RGMII2RXD0)); 1246 + SIG_EXPR_LIST_DECL_SINGLE(C3, GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20)); 1247 + SIG_EXPR_LIST_DECL_SINGLE(C3, RMII2RXD0, RMII2, RMII2_DESC); 1248 + SIG_EXPR_LIST_DECL_SINGLE(C3, RGMII2RXD0, RGMII2); 1249 + PIN_DECL_(C3, SIG_EXPR_LIST_PTR(C3, GPIOV4), SIG_EXPR_LIST_PTR(C3, RMII2RXD0), 1250 + SIG_EXPR_LIST_PTR(C3, RGMII2RXD0)); 1290 1251 1291 1252 #define D1 173 1292 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21)); 1293 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD1, RMII2, RMII2_DESC); 1294 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD1, RGMII2); 1295 - MS_PIN_DECL_(D1, SIG_EXPR_LIST_PTR(GPIOV5), SIG_EXPR_LIST_PTR(RMII2RXD1), 1296 - SIG_EXPR_LIST_PTR(RGMII2RXD1)); 1253 + SIG_EXPR_LIST_DECL_SINGLE(D1, GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21)); 1254 + SIG_EXPR_LIST_DECL_SINGLE(D1, RMII2RXD1, RMII2, RMII2_DESC); 1255 + SIG_EXPR_LIST_DECL_SINGLE(D1, RGMII2RXD1, RGMII2); 1256 + PIN_DECL_(D1, SIG_EXPR_LIST_PTR(D1, GPIOV5), SIG_EXPR_LIST_PTR(D1, RMII2RXD1), 1257 + SIG_EXPR_LIST_PTR(D1, RGMII2RXD1)); 1297 1258 1298 1259 #define D2 174 1299 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22)); 1300 - SIG_EXPR_LIST_DECL_SINGLE(RMII2CRSDV, RMII2, RMII2_DESC); 1301 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD2, RGMII2); 1302 - MS_PIN_DECL_(D2, SIG_EXPR_LIST_PTR(GPIOV6), SIG_EXPR_LIST_PTR(RMII2CRSDV), 1303 - SIG_EXPR_LIST_PTR(RGMII2RXD2)); 1260 + SIG_EXPR_LIST_DECL_SINGLE(D2, GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22)); 1261 + SIG_EXPR_LIST_DECL_SINGLE(D2, RMII2CRSDV, RMII2, RMII2_DESC); 1262 + SIG_EXPR_LIST_DECL_SINGLE(D2, RGMII2RXD2, RGMII2); 1263 + PIN_DECL_(D2, SIG_EXPR_LIST_PTR(D2, GPIOV6), SIG_EXPR_LIST_PTR(D2, RMII2CRSDV), 1264 + SIG_EXPR_LIST_PTR(D2, RGMII2RXD2)); 1304 1265 1305 1266 #define E6 175 1306 - SIG_EXPR_LIST_DECL_SINGLE(GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23)); 1307 - SIG_EXPR_LIST_DECL_SINGLE(RMII2RXER, RMII2, RMII2_DESC); 1308 - SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD3, RGMII2); 1309 - MS_PIN_DECL_(E6, SIG_EXPR_LIST_PTR(GPIOV7), SIG_EXPR_LIST_PTR(RMII2RXER), 1310 - SIG_EXPR_LIST_PTR(RGMII2RXD3)); 1267 + SIG_EXPR_LIST_DECL_SINGLE(E6, GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23)); 1268 + SIG_EXPR_LIST_DECL_SINGLE(E6, RMII2RXER, RMII2, RMII2_DESC); 1269 + SIG_EXPR_LIST_DECL_SINGLE(E6, RGMII2RXD3, RGMII2); 1270 + PIN_DECL_(E6, SIG_EXPR_LIST_PTR(E6, GPIOV7), SIG_EXPR_LIST_PTR(E6, RMII2RXER), 1271 + SIG_EXPR_LIST_PTR(E6, RGMII2RXD3)); 1311 1272 1312 1273 FUNC_GROUP_DECL(RGMII2, B2, B1, A2, B3, D5, D4, C2, C1, C3, D1, D2, E6); 1313 1274 FUNC_GROUP_DECL(RMII2, B2, B1, A2, B3, C2, C3, D1, D2, E6); 1314 1275 1315 1276 #define F4 176 1316 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24)); 1317 - SIG_EXPR_LIST_DECL_SINGLE(ADC0, ADC0); 1318 - MS_PIN_DECL_(F4, SIG_EXPR_LIST_PTR(GPIOW0), SIG_EXPR_LIST_PTR(ADC0)); 1277 + SIG_EXPR_LIST_DECL_SINGLE(F4, GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24)); 1278 + SIG_EXPR_LIST_DECL_SINGLE(F4, ADC0, ADC0); 1279 + PIN_DECL_(F4, SIG_EXPR_LIST_PTR(F4, GPIOW0), SIG_EXPR_LIST_PTR(F4, ADC0)); 1319 1280 FUNC_GROUP_DECL(ADC0, F4); 1320 1281 1321 1282 #define F5 177 1322 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25)); 1323 - SIG_EXPR_LIST_DECL_SINGLE(ADC1, ADC1); 1324 - MS_PIN_DECL_(F5, SIG_EXPR_LIST_PTR(GPIOW1), SIG_EXPR_LIST_PTR(ADC1)); 1283 + SIG_EXPR_LIST_DECL_SINGLE(F5, GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25)); 1284 + SIG_EXPR_LIST_DECL_SINGLE(F5, ADC1, ADC1); 1285 + PIN_DECL_(F5, SIG_EXPR_LIST_PTR(F5, GPIOW1), SIG_EXPR_LIST_PTR(F5, ADC1)); 1325 1286 FUNC_GROUP_DECL(ADC1, F5); 1326 1287 1327 1288 #define E2 178 1328 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26)); 1329 - SIG_EXPR_LIST_DECL_SINGLE(ADC2, ADC2); 1330 - MS_PIN_DECL_(E2, SIG_EXPR_LIST_PTR(GPIOW2), SIG_EXPR_LIST_PTR(ADC2)); 1289 + SIG_EXPR_LIST_DECL_SINGLE(E2, GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26)); 1290 + SIG_EXPR_LIST_DECL_SINGLE(E2, ADC2, ADC2); 1291 + PIN_DECL_(E2, SIG_EXPR_LIST_PTR(E2, GPIOW2), SIG_EXPR_LIST_PTR(E2, ADC2)); 1331 1292 FUNC_GROUP_DECL(ADC2, E2); 1332 1293 1333 1294 #define E1 179 1334 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27)); 1335 - SIG_EXPR_LIST_DECL_SINGLE(ADC3, ADC3); 1336 - MS_PIN_DECL_(E1, SIG_EXPR_LIST_PTR(GPIOW3), SIG_EXPR_LIST_PTR(ADC3)); 1295 + SIG_EXPR_LIST_DECL_SINGLE(E1, GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27)); 1296 + SIG_EXPR_LIST_DECL_SINGLE(E1, ADC3, ADC3); 1297 + PIN_DECL_(E1, SIG_EXPR_LIST_PTR(E1, GPIOW3), SIG_EXPR_LIST_PTR(E1, ADC3)); 1337 1298 FUNC_GROUP_DECL(ADC3, E1); 1338 1299 1339 1300 #define F3 180 1340 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28)); 1341 - SIG_EXPR_LIST_DECL_SINGLE(ADC4, ADC4); 1342 - MS_PIN_DECL_(F3, SIG_EXPR_LIST_PTR(GPIOW4), SIG_EXPR_LIST_PTR(ADC4)); 1301 + SIG_EXPR_LIST_DECL_SINGLE(F3, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28)); 1302 + SIG_EXPR_LIST_DECL_SINGLE(F3, ADC4, ADC4); 1303 + PIN_DECL_(F3, SIG_EXPR_LIST_PTR(F3, GPIOW4), SIG_EXPR_LIST_PTR(F3, ADC4)); 1343 1304 FUNC_GROUP_DECL(ADC4, F3); 1344 1305 1345 1306 #define E3 181 1346 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29)); 1347 - SIG_EXPR_LIST_DECL_SINGLE(ADC5, ADC5); 1348 - MS_PIN_DECL_(E3, SIG_EXPR_LIST_PTR(GPIOW5), SIG_EXPR_LIST_PTR(ADC5)); 1307 + SIG_EXPR_LIST_DECL_SINGLE(E3, GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29)); 1308 + SIG_EXPR_LIST_DECL_SINGLE(E3, ADC5, ADC5); 1309 + PIN_DECL_(E3, SIG_EXPR_LIST_PTR(E3, GPIOW5), SIG_EXPR_LIST_PTR(E3, ADC5)); 1349 1310 FUNC_GROUP_DECL(ADC5, E3); 1350 1311 1351 1312 #define G5 182 1352 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30)); 1353 - SIG_EXPR_LIST_DECL_SINGLE(ADC6, ADC6); 1354 - MS_PIN_DECL_(G5, SIG_EXPR_LIST_PTR(GPIOW6), SIG_EXPR_LIST_PTR(ADC6)); 1313 + SIG_EXPR_LIST_DECL_SINGLE(G5, GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30)); 1314 + SIG_EXPR_LIST_DECL_SINGLE(G5, ADC6, ADC6); 1315 + PIN_DECL_(G5, SIG_EXPR_LIST_PTR(G5, GPIOW6), SIG_EXPR_LIST_PTR(G5, ADC6)); 1355 1316 FUNC_GROUP_DECL(ADC6, G5); 1356 1317 1357 1318 #define G4 183 1358 - SIG_EXPR_LIST_DECL_SINGLE(GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31)); 1359 - SIG_EXPR_LIST_DECL_SINGLE(ADC7, ADC7); 1360 - MS_PIN_DECL_(G4, SIG_EXPR_LIST_PTR(GPIOW7), SIG_EXPR_LIST_PTR(ADC7)); 1319 + SIG_EXPR_LIST_DECL_SINGLE(G4, GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31)); 1320 + SIG_EXPR_LIST_DECL_SINGLE(G4, ADC7, ADC7); 1321 + PIN_DECL_(G4, SIG_EXPR_LIST_PTR(G4, GPIOW7), SIG_EXPR_LIST_PTR(G4, ADC7)); 1361 1322 FUNC_GROUP_DECL(ADC7, G4); 1362 1323 1363 1324 #define F2 184 1364 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0)); 1365 - SIG_EXPR_LIST_DECL_SINGLE(ADC8, ADC8); 1366 - MS_PIN_DECL_(F2, SIG_EXPR_LIST_PTR(GPIOX0), SIG_EXPR_LIST_PTR(ADC8)); 1325 + SIG_EXPR_LIST_DECL_SINGLE(F2, GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0)); 1326 + SIG_EXPR_LIST_DECL_SINGLE(F2, ADC8, ADC8); 1327 + PIN_DECL_(F2, SIG_EXPR_LIST_PTR(F2, GPIOX0), SIG_EXPR_LIST_PTR(F2, ADC8)); 1367 1328 FUNC_GROUP_DECL(ADC8, F2); 1368 1329 1369 1330 #define G3 185 1370 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1)); 1371 - SIG_EXPR_LIST_DECL_SINGLE(ADC9, ADC9); 1372 - MS_PIN_DECL_(G3, SIG_EXPR_LIST_PTR(GPIOX1), SIG_EXPR_LIST_PTR(ADC9)); 1331 + SIG_EXPR_LIST_DECL_SINGLE(G3, GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1)); 1332 + SIG_EXPR_LIST_DECL_SINGLE(G3, ADC9, ADC9); 1333 + PIN_DECL_(G3, SIG_EXPR_LIST_PTR(G3, GPIOX1), SIG_EXPR_LIST_PTR(G3, ADC9)); 1373 1334 FUNC_GROUP_DECL(ADC9, G3); 1374 1335 1375 1336 #define G2 186 1376 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2)); 1377 - SIG_EXPR_LIST_DECL_SINGLE(ADC10, ADC10); 1378 - MS_PIN_DECL_(G2, SIG_EXPR_LIST_PTR(GPIOX2), SIG_EXPR_LIST_PTR(ADC10)); 1337 + SIG_EXPR_LIST_DECL_SINGLE(G2, GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2)); 1338 + SIG_EXPR_LIST_DECL_SINGLE(G2, ADC10, ADC10); 1339 + PIN_DECL_(G2, SIG_EXPR_LIST_PTR(G2, GPIOX2), SIG_EXPR_LIST_PTR(G2, ADC10)); 1379 1340 FUNC_GROUP_DECL(ADC10, G2); 1380 1341 1381 1342 #define F1 187 1382 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3)); 1383 - SIG_EXPR_LIST_DECL_SINGLE(ADC11, ADC11); 1384 - MS_PIN_DECL_(F1, SIG_EXPR_LIST_PTR(GPIOX3), SIG_EXPR_LIST_PTR(ADC11)); 1343 + SIG_EXPR_LIST_DECL_SINGLE(F1, GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3)); 1344 + SIG_EXPR_LIST_DECL_SINGLE(F1, ADC11, ADC11); 1345 + PIN_DECL_(F1, SIG_EXPR_LIST_PTR(F1, GPIOX3), SIG_EXPR_LIST_PTR(F1, ADC11)); 1385 1346 FUNC_GROUP_DECL(ADC11, F1); 1386 1347 1387 1348 #define H5 188 1388 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4)); 1389 - SIG_EXPR_LIST_DECL_SINGLE(ADC12, ADC12); 1390 - MS_PIN_DECL_(H5, SIG_EXPR_LIST_PTR(GPIOX4), SIG_EXPR_LIST_PTR(ADC12)); 1349 + SIG_EXPR_LIST_DECL_SINGLE(H5, GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4)); 1350 + SIG_EXPR_LIST_DECL_SINGLE(H5, ADC12, ADC12); 1351 + PIN_DECL_(H5, SIG_EXPR_LIST_PTR(H5, GPIOX4), SIG_EXPR_LIST_PTR(H5, ADC12)); 1391 1352 FUNC_GROUP_DECL(ADC12, H5); 1392 1353 1393 1354 #define G1 189 1394 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5)); 1395 - SIG_EXPR_LIST_DECL_SINGLE(ADC13, ADC13); 1396 - MS_PIN_DECL_(G1, SIG_EXPR_LIST_PTR(GPIOX5), SIG_EXPR_LIST_PTR(ADC13)); 1355 + SIG_EXPR_LIST_DECL_SINGLE(G1, GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5)); 1356 + SIG_EXPR_LIST_DECL_SINGLE(G1, ADC13, ADC13); 1357 + PIN_DECL_(G1, SIG_EXPR_LIST_PTR(G1, GPIOX5), SIG_EXPR_LIST_PTR(G1, ADC13)); 1397 1358 FUNC_GROUP_DECL(ADC13, G1); 1398 1359 1399 1360 #define H3 190 1400 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6)); 1401 - SIG_EXPR_LIST_DECL_SINGLE(ADC14, ADC14); 1402 - MS_PIN_DECL_(H3, SIG_EXPR_LIST_PTR(GPIOX6), SIG_EXPR_LIST_PTR(ADC14)); 1361 + SIG_EXPR_LIST_DECL_SINGLE(H3, GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6)); 1362 + SIG_EXPR_LIST_DECL_SINGLE(H3, ADC14, ADC14); 1363 + PIN_DECL_(H3, SIG_EXPR_LIST_PTR(H3, GPIOX6), SIG_EXPR_LIST_PTR(H3, ADC14)); 1403 1364 FUNC_GROUP_DECL(ADC14, H3); 1404 1365 1405 1366 #define H4 191 1406 - SIG_EXPR_LIST_DECL_SINGLE(GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7)); 1407 - SIG_EXPR_LIST_DECL_SINGLE(ADC15, ADC15); 1408 - MS_PIN_DECL_(H4, SIG_EXPR_LIST_PTR(GPIOX7), SIG_EXPR_LIST_PTR(ADC15)); 1367 + SIG_EXPR_LIST_DECL_SINGLE(H4, GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7)); 1368 + SIG_EXPR_LIST_DECL_SINGLE(H4, ADC15, ADC15); 1369 + PIN_DECL_(H4, SIG_EXPR_LIST_PTR(H4, GPIOX7), SIG_EXPR_LIST_PTR(H4, ADC15)); 1409 1370 FUNC_GROUP_DECL(ADC15, H4); 1410 1371 1411 1372 #define ACPI_DESC SIG_DESC_SET(HW_STRAP1, 19) 1412 1373 1413 1374 #define R22 192 1414 - SIG_EXPR_DECL(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8)); 1415 - SIG_EXPR_DECL(SIOS3, ACPI, ACPI_DESC); 1416 - SIG_EXPR_LIST_DECL_DUAL(SIOS3, SIOS3, ACPI); 1417 - SIG_EXPR_LIST_DECL_SINGLE(DASHR22, DASHR22, SIG_DESC_SET(SCU94, 10)); 1418 - MS_PIN_DECL(R22, GPIOY0, SIOS3, DASHR22); 1375 + SIG_EXPR_DECL_SINGLE(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8)); 1376 + SIG_EXPR_DECL_SINGLE(SIOS3, ACPI, ACPI_DESC); 1377 + SIG_EXPR_LIST_DECL_DUAL(R22, SIOS3, SIOS3, ACPI); 1378 + SIG_EXPR_LIST_DECL_SINGLE(R22, DASHR22, DASHR22, SIG_DESC_SET(SCU94, 10)); 1379 + PIN_DECL_2(R22, GPIOY0, SIOS3, DASHR22); 1419 1380 FUNC_GROUP_DECL(SIOS3, R22); 1420 1381 1421 1382 #define R21 193 1422 - SIG_EXPR_DECL(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9)); 1423 - SIG_EXPR_DECL(SIOS5, ACPI, ACPI_DESC); 1424 - SIG_EXPR_LIST_DECL_DUAL(SIOS5, SIOS5, ACPI); 1425 - SIG_EXPR_LIST_DECL_SINGLE(DASHR21, DASHR21, SIG_DESC_SET(SCU94, 10)); 1426 - MS_PIN_DECL(R21, GPIOY1, SIOS5, DASHR21); 1383 + SIG_EXPR_DECL_SINGLE(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9)); 1384 + SIG_EXPR_DECL_SINGLE(SIOS5, ACPI, ACPI_DESC); 1385 + SIG_EXPR_LIST_DECL_DUAL(R21, SIOS5, SIOS5, ACPI); 1386 + SIG_EXPR_LIST_DECL_SINGLE(R21, DASHR21, DASHR21, SIG_DESC_SET(SCU94, 10)); 1387 + PIN_DECL_2(R21, GPIOY1, SIOS5, DASHR21); 1427 1388 FUNC_GROUP_DECL(SIOS5, R21); 1428 1389 1429 1390 #define P22 194 1430 - SIG_EXPR_DECL(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10)); 1431 - SIG_EXPR_DECL(SIOPWREQ, ACPI, ACPI_DESC); 1432 - SIG_EXPR_LIST_DECL_DUAL(SIOPWREQ, SIOPWREQ, ACPI); 1433 - SIG_EXPR_LIST_DECL_SINGLE(DASHP22, DASHP22, SIG_DESC_SET(SCU94, 11)); 1434 - MS_PIN_DECL(P22, GPIOY2, SIOPWREQ, DASHP22); 1391 + SIG_EXPR_DECL_SINGLE(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10)); 1392 + SIG_EXPR_DECL_SINGLE(SIOPWREQ, ACPI, ACPI_DESC); 1393 + SIG_EXPR_LIST_DECL_DUAL(P22, SIOPWREQ, SIOPWREQ, ACPI); 1394 + SIG_EXPR_LIST_DECL_SINGLE(P22, DASHP22, DASHP22, SIG_DESC_SET(SCU94, 11)); 1395 + PIN_DECL_2(P22, GPIOY2, SIOPWREQ, DASHP22); 1435 1396 FUNC_GROUP_DECL(SIOPWREQ, P22); 1436 1397 1437 1398 #define P21 195 1438 - SIG_EXPR_DECL(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11)); 1439 - SIG_EXPR_DECL(SIOONCTRL, ACPI, ACPI_DESC); 1440 - SIG_EXPR_LIST_DECL_DUAL(SIOONCTRL, SIOONCTRL, ACPI); 1441 - SIG_EXPR_LIST_DECL_SINGLE(DASHP21, DASHP21, SIG_DESC_SET(SCU94, 11)); 1442 - MS_PIN_DECL(P21, GPIOY3, SIOONCTRL, DASHP21); 1399 + SIG_EXPR_DECL_SINGLE(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11)); 1400 + SIG_EXPR_DECL_SINGLE(SIOONCTRL, ACPI, ACPI_DESC); 1401 + SIG_EXPR_LIST_DECL_DUAL(P21, SIOONCTRL, SIOONCTRL, ACPI); 1402 + SIG_EXPR_LIST_DECL_SINGLE(P21, DASHP21, DASHP21, SIG_DESC_SET(SCU94, 11)); 1403 + PIN_DECL_2(P21, GPIOY3, SIOONCTRL, DASHP21); 1443 1404 FUNC_GROUP_DECL(SIOONCTRL, P21); 1444 1405 1445 1406 #define M18 196 ··· 1458 1419 1459 1420 #define Y20 200 1460 1421 #define Y20_DESC SIG_DESC_SET(SCUA4, 16) 1461 - SIG_EXPR_DECL(VPOG2, VPO, Y20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1462 - SIG_EXPR_DECL(VPOG2, VPOOFF1, Y20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1463 - SIG_EXPR_DECL(VPOG2, VPOOFF2, Y20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1464 - SIG_EXPR_LIST_DECL(VPOG2, SIG_EXPR_PTR(VPOG2, VPO), 1465 - SIG_EXPR_PTR(VPOG2, VPOOFF1), SIG_EXPR_PTR(VPOG2, VPOOFF2)); 1466 - SIG_EXPR_DECL(SIOPBI, SIOPBI, Y20_DESC); 1467 - SIG_EXPR_DECL(SIOPBI, ACPI, Y20_DESC); 1468 - SIG_EXPR_LIST_DECL_DUAL(SIOPBI, SIOPBI, ACPI); 1469 - SIG_EXPR_LIST_DECL_SINGLE(NORA0, PNOR, PNOR_DESC); 1470 - SIG_EXPR_LIST_DECL_SINGLE(GPIOZ0, GPIOZ0); 1471 - MS_PIN_DECL_(Y20, SIG_EXPR_LIST_PTR(VPOG2), SIG_EXPR_LIST_PTR(SIOPBI), 1472 - SIG_EXPR_LIST_PTR(NORA0), SIG_EXPR_LIST_PTR(GPIOZ0)); 1422 + SIG_EXPR_DECL_SINGLE(VPOG2, VPO, Y20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1423 + SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF1, Y20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1424 + SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF2, Y20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1425 + SIG_EXPR_LIST_DECL(VPOG2, VPO, 1426 + SIG_EXPR_PTR(VPOG2, VPO), 1427 + SIG_EXPR_PTR(VPOG2, VPOOFF1), 1428 + SIG_EXPR_PTR(VPOG2, VPOOFF2)); 1429 + SIG_EXPR_LIST_ALIAS(Y20, VPOG2, VPO); 1430 + SIG_EXPR_DECL_SINGLE(SIOPBI, SIOPBI, Y20_DESC); 1431 + SIG_EXPR_DECL_SINGLE(SIOPBI, ACPI, Y20_DESC); 1432 + SIG_EXPR_LIST_DECL_DUAL(Y20, SIOPBI, SIOPBI, ACPI); 1433 + SIG_EXPR_LIST_DECL_SINGLE(Y20, NORA0, PNOR, PNOR_DESC); 1434 + SIG_EXPR_LIST_DECL_SINGLE(Y20, GPIOZ0, GPIOZ0); 1435 + PIN_DECL_(Y20, SIG_EXPR_LIST_PTR(Y20, VPOG2), SIG_EXPR_LIST_PTR(Y20, SIOPBI), 1436 + SIG_EXPR_LIST_PTR(Y20, NORA0), SIG_EXPR_LIST_PTR(Y20, GPIOZ0)); 1473 1437 FUNC_GROUP_DECL(SIOPBI, Y20); 1474 1438 1475 1439 #define AB20 201 1476 1440 #define AB20_DESC SIG_DESC_SET(SCUA4, 17) 1477 - SIG_EXPR_DECL(VPOG3, VPO, AB20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1478 - SIG_EXPR_DECL(VPOG3, VPOOFF1, AB20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1479 - SIG_EXPR_DECL(VPOG3, VPOOFF2, AB20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1480 - SIG_EXPR_LIST_DECL(VPOG3, SIG_EXPR_PTR(VPOG3, VPO), 1481 - SIG_EXPR_PTR(VPOG3, VPOOFF1), SIG_EXPR_PTR(VPOG3, VPOOFF2)); 1482 - SIG_EXPR_DECL(SIOPWRGD, SIOPWRGD, AB20_DESC); 1483 - SIG_EXPR_DECL(SIOPWRGD, ACPI, AB20_DESC); 1484 - SIG_EXPR_LIST_DECL_DUAL(SIOPWRGD, SIOPWRGD, ACPI); 1485 - SIG_EXPR_LIST_DECL_SINGLE(NORA1, PNOR, PNOR_DESC); 1486 - SIG_EXPR_LIST_DECL_SINGLE(GPIOZ1, GPIOZ1); 1487 - MS_PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(VPOG3), SIG_EXPR_LIST_PTR(SIOPWRGD), 1488 - SIG_EXPR_LIST_PTR(NORA1), SIG_EXPR_LIST_PTR(GPIOZ1)); 1441 + SIG_EXPR_DECL_SINGLE(VPOG3, VPO, AB20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1442 + SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF1, AB20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1443 + SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF2, AB20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1444 + SIG_EXPR_LIST_DECL(VPOG3, VPO, 1445 + SIG_EXPR_PTR(VPOG3, VPO), 1446 + SIG_EXPR_PTR(VPOG3, VPOOFF1), 1447 + SIG_EXPR_PTR(VPOG3, VPOOFF2)); 1448 + SIG_EXPR_LIST_ALIAS(AB20, VPOG3, VPO); 1449 + SIG_EXPR_DECL_SINGLE(SIOPWRGD, SIOPWRGD, AB20_DESC); 1450 + SIG_EXPR_DECL_SINGLE(SIOPWRGD, ACPI, AB20_DESC); 1451 + SIG_EXPR_LIST_DECL_DUAL(AB20, SIOPWRGD, SIOPWRGD, ACPI); 1452 + SIG_EXPR_LIST_DECL_SINGLE(AB20, NORA1, PNOR, PNOR_DESC); 1453 + SIG_EXPR_LIST_DECL_SINGLE(AB20, GPIOZ1, GPIOZ1); 1454 + PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(AB20, VPOG3), 1455 + SIG_EXPR_LIST_PTR(AB20, SIOPWRGD), SIG_EXPR_LIST_PTR(AB20, NORA1), 1456 + SIG_EXPR_LIST_PTR(AB20, GPIOZ1)); 1489 1457 FUNC_GROUP_DECL(SIOPWRGD, AB20); 1490 1458 1491 1459 #define AB21 202 1492 1460 #define AB21_DESC SIG_DESC_SET(SCUA4, 18) 1493 - SIG_EXPR_DECL(VPOG4, VPO, AB21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1494 - SIG_EXPR_DECL(VPOG4, VPOOFF1, AB21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1495 - SIG_EXPR_DECL(VPOG4, VPOOFF2, AB21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1496 - SIG_EXPR_LIST_DECL(VPOG4, SIG_EXPR_PTR(VPOG4, VPO), 1497 - SIG_EXPR_PTR(VPOG4, VPOOFF1), SIG_EXPR_PTR(VPOG4, VPOOFF2)); 1498 - SIG_EXPR_DECL(SIOPBO, SIOPBO, AB21_DESC); 1499 - SIG_EXPR_DECL(SIOPBO, ACPI, AB21_DESC); 1500 - SIG_EXPR_LIST_DECL_DUAL(SIOPBO, SIOPBO, ACPI); 1501 - SIG_EXPR_LIST_DECL_SINGLE(NORA2, PNOR, PNOR_DESC); 1502 - SIG_EXPR_LIST_DECL_SINGLE(GPIOZ2, GPIOZ2); 1503 - MS_PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(VPOG4), SIG_EXPR_LIST_PTR(SIOPBO), 1504 - SIG_EXPR_LIST_PTR(NORA2), SIG_EXPR_LIST_PTR(GPIOZ2)); 1461 + SIG_EXPR_DECL_SINGLE(VPOG4, VPO, AB21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1462 + SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF1, AB21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1463 + SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF2, AB21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1464 + SIG_EXPR_LIST_DECL(VPOG4, VPO, 1465 + SIG_EXPR_PTR(VPOG4, VPO), 1466 + SIG_EXPR_PTR(VPOG4, VPOOFF1), 1467 + SIG_EXPR_PTR(VPOG4, VPOOFF2)); 1468 + SIG_EXPR_LIST_ALIAS(AB21, VPOG4, VPO); 1469 + SIG_EXPR_DECL_SINGLE(SIOPBO, SIOPBO, AB21_DESC); 1470 + SIG_EXPR_DECL_SINGLE(SIOPBO, ACPI, AB21_DESC); 1471 + SIG_EXPR_LIST_DECL_DUAL(AB21, SIOPBO, SIOPBO, ACPI); 1472 + SIG_EXPR_LIST_DECL_SINGLE(AB21, NORA2, PNOR, PNOR_DESC); 1473 + SIG_EXPR_LIST_DECL_SINGLE(AB21, GPIOZ2, GPIOZ2); 1474 + PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(AB21, VPOG4), 1475 + SIG_EXPR_LIST_PTR(AB21, SIOPBO), SIG_EXPR_LIST_PTR(AB21, NORA2), 1476 + SIG_EXPR_LIST_PTR(AB21, GPIOZ2)); 1505 1477 FUNC_GROUP_DECL(SIOPBO, AB21); 1506 1478 1507 1479 #define AA21 203 1508 1480 #define AA21_DESC SIG_DESC_SET(SCUA4, 19) 1509 - SIG_EXPR_DECL(VPOG5, VPO, AA21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1510 - SIG_EXPR_DECL(VPOG5, VPOOFF1, AA21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1511 - SIG_EXPR_DECL(VPOG5, VPOOFF2, AA21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1512 - SIG_EXPR_LIST_DECL(VPOG5, SIG_EXPR_PTR(VPOG5, VPO), 1513 - SIG_EXPR_PTR(VPOG5, VPOOFF1), SIG_EXPR_PTR(VPOG5, VPOOFF2)); 1514 - SIG_EXPR_DECL(SIOSCI, SIOSCI, AA21_DESC); 1515 - SIG_EXPR_DECL(SIOSCI, ACPI, AA21_DESC); 1516 - SIG_EXPR_LIST_DECL_DUAL(SIOSCI, SIOSCI, ACPI); 1517 - SIG_EXPR_LIST_DECL_SINGLE(NORA3, PNOR, PNOR_DESC); 1518 - SIG_EXPR_LIST_DECL_SINGLE(GPIOZ3, GPIOZ3); 1519 - MS_PIN_DECL_(AA21, SIG_EXPR_LIST_PTR(VPOG5), SIG_EXPR_LIST_PTR(SIOSCI), 1520 - SIG_EXPR_LIST_PTR(NORA3), SIG_EXPR_LIST_PTR(GPIOZ3)); 1481 + SIG_EXPR_DECL_SINGLE(VPOG5, VPO, AA21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1482 + SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF1, AA21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1483 + SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF2, AA21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1484 + SIG_EXPR_LIST_DECL(VPOG5, VPO, 1485 + SIG_EXPR_PTR(VPOG5, VPO), 1486 + SIG_EXPR_PTR(VPOG5, VPOOFF1), 1487 + SIG_EXPR_PTR(VPOG5, VPOOFF2)); 1488 + SIG_EXPR_LIST_ALIAS(AA21, VPOG5, VPO); 1489 + SIG_EXPR_DECL_SINGLE(SIOSCI, SIOSCI, AA21_DESC); 1490 + SIG_EXPR_DECL_SINGLE(SIOSCI, ACPI, AA21_DESC); 1491 + SIG_EXPR_LIST_DECL_DUAL(AA21, SIOSCI, SIOSCI, ACPI); 1492 + SIG_EXPR_LIST_DECL_SINGLE(AA21, NORA3, PNOR, PNOR_DESC); 1493 + SIG_EXPR_LIST_DECL_SINGLE(AA21, GPIOZ3, GPIOZ3); 1494 + PIN_DECL_(AA21, SIG_EXPR_LIST_PTR(AA21, VPOG5), 1495 + SIG_EXPR_LIST_PTR(AA21, SIOSCI), SIG_EXPR_LIST_PTR(AA21, NORA3), 1496 + SIG_EXPR_LIST_PTR(AA21, GPIOZ3)); 1521 1497 FUNC_GROUP_DECL(SIOSCI, AA21); 1522 1498 1523 1499 FUNC_GROUP_DECL(ACPI, R22, R21, P22, P21, Y20, AB20, AB21, AA21); ··· 1551 1497 1552 1498 #define U21 204 1553 1499 #define U21_DESC SIG_DESC_SET(SCUA4, 20) 1554 - SIG_EXPR_DECL(VPOG6, VPO, U21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1555 - SIG_EXPR_DECL(VPOG6, VPOOFF1, U21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1556 - SIG_EXPR_DECL(VPOG6, VPOOFF2, U21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1557 - SIG_EXPR_LIST_DECL(VPOG6, SIG_EXPR_PTR(VPOG6, VPO), 1558 - SIG_EXPR_PTR(VPOG6, VPOOFF1), SIG_EXPR_PTR(VPOG6, VPOOFF2)); 1559 - SIG_EXPR_LIST_DECL_SINGLE(NORA4, PNOR, PNOR_DESC); 1560 - MS_PIN_DECL(U21, GPIOZ4, VPOG6, NORA4); 1500 + SIG_EXPR_DECL_SINGLE(VPOG6, VPO, U21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1501 + SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF1, U21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1502 + SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF2, U21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1503 + SIG_EXPR_LIST_DECL(VPOG6, VPO, 1504 + SIG_EXPR_PTR(VPOG6, VPO), 1505 + SIG_EXPR_PTR(VPOG6, VPOOFF1), 1506 + SIG_EXPR_PTR(VPOG6, VPOOFF2)); 1507 + SIG_EXPR_LIST_ALIAS(U21, VPOG6, VPO); 1508 + SIG_EXPR_LIST_DECL_SINGLE(U21, NORA4, PNOR, PNOR_DESC); 1509 + PIN_DECL_2(U21, GPIOZ4, VPOG6, NORA4); 1561 1510 1562 1511 #define W22 205 1563 1512 #define W22_DESC SIG_DESC_SET(SCUA4, 21) 1564 - SIG_EXPR_DECL(VPOG7, VPO, W22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1565 - SIG_EXPR_DECL(VPOG7, VPOOFF1, W22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1566 - SIG_EXPR_DECL(VPOG7, VPOOFF2, W22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1567 - SIG_EXPR_LIST_DECL(VPOG7, SIG_EXPR_PTR(VPOG7, VPO), 1568 - SIG_EXPR_PTR(VPOG7, VPOOFF1), SIG_EXPR_PTR(VPOG7, VPOOFF2)); 1569 - SIG_EXPR_LIST_DECL_SINGLE(NORA5, PNOR, PNOR_DESC); 1570 - MS_PIN_DECL(W22, GPIOZ5, VPOG7, NORA5); 1513 + SIG_EXPR_DECL_SINGLE(VPOG7, VPO, W22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1514 + SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF1, W22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1515 + SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF2, W22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1516 + SIG_EXPR_LIST_DECL(VPOG7, VPO, 1517 + SIG_EXPR_PTR(VPOG7, VPO), 1518 + SIG_EXPR_PTR(VPOG7, VPOOFF1), 1519 + SIG_EXPR_PTR(VPOG7, VPOOFF2)); 1520 + SIG_EXPR_LIST_ALIAS(W22, VPOG7, VPO); 1521 + SIG_EXPR_LIST_DECL_SINGLE(W22, NORA5, PNOR, PNOR_DESC); 1522 + PIN_DECL_2(W22, GPIOZ5, VPOG7, NORA5); 1571 1523 1572 1524 #define V22 206 1573 1525 #define V22_DESC SIG_DESC_SET(SCUA4, 22) 1574 - SIG_EXPR_DECL(VPOG8, VPO, V22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1575 - SIG_EXPR_DECL(VPOG8, VPOOFF1, V22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1576 - SIG_EXPR_DECL(VPOG8, VPOOFF2, V22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1577 - SIG_EXPR_LIST_DECL(VPOG8, SIG_EXPR_PTR(VPOG8, VPO), 1578 - SIG_EXPR_PTR(VPOG8, VPOOFF1), SIG_EXPR_PTR(VPOG8, VPOOFF2)); 1579 - SIG_EXPR_LIST_DECL_SINGLE(NORA6, PNOR, PNOR_DESC); 1580 - MS_PIN_DECL(V22, GPIOZ6, VPOG8, NORA6); 1526 + SIG_EXPR_DECL_SINGLE(VPOG8, VPO, V22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1527 + SIG_EXPR_DECL_SINGLE(VPOG8, VPOOFF1, V22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1528 + SIG_EXPR_DECL_SINGLE(VPOG8, VPOOFF2, V22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1529 + SIG_EXPR_LIST_DECL(VPOG8, VPO, 1530 + SIG_EXPR_PTR(VPOG8, VPO), 1531 + SIG_EXPR_PTR(VPOG8, VPOOFF1), 1532 + SIG_EXPR_PTR(VPOG8, VPOOFF2)); 1533 + SIG_EXPR_LIST_ALIAS(V22, VPOG8, VPO); 1534 + SIG_EXPR_LIST_DECL_SINGLE(V22, NORA6, PNOR, PNOR_DESC); 1535 + PIN_DECL_2(V22, GPIOZ6, VPOG8, NORA6); 1581 1536 1582 1537 #define W21 207 1583 1538 #define W21_DESC SIG_DESC_SET(SCUA4, 23) 1584 - SIG_EXPR_DECL(VPOG9, VPO, W21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1585 - SIG_EXPR_DECL(VPOG9, VPOOFF1, W21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1586 - SIG_EXPR_DECL(VPOG9, VPOOFF2, W21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1587 - SIG_EXPR_LIST_DECL(VPOG9, SIG_EXPR_PTR(VPOG9, VPO), 1588 - SIG_EXPR_PTR(VPOG9, VPOOFF1), SIG_EXPR_PTR(VPOG9, VPOOFF2)); 1589 - SIG_EXPR_LIST_DECL_SINGLE(NORA7, PNOR, PNOR_DESC); 1590 - MS_PIN_DECL(W21, GPIOZ7, VPOG9, NORA7); 1539 + SIG_EXPR_DECL_SINGLE(VPOG9, VPO, W21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1540 + SIG_EXPR_DECL_SINGLE(VPOG9, VPOOFF1, W21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1541 + SIG_EXPR_DECL_SINGLE(VPOG9, VPOOFF2, W21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1542 + SIG_EXPR_LIST_DECL(VPOG9, VPO, 1543 + SIG_EXPR_PTR(VPOG9, VPO), 1544 + SIG_EXPR_PTR(VPOG9, VPOOFF1), 1545 + SIG_EXPR_PTR(VPOG9, VPOOFF2)); 1546 + SIG_EXPR_LIST_ALIAS(W21, VPOG9, VPO); 1547 + SIG_EXPR_LIST_DECL_SINGLE(W21, NORA7, PNOR, PNOR_DESC); 1548 + PIN_DECL_2(W21, GPIOZ7, VPOG9, NORA7); 1591 1549 1592 1550 #define Y21 208 1593 1551 #define Y21_DESC SIG_DESC_SET(SCUA4, 24) 1594 - SIG_EXPR_DECL(VPOR2, VPO, Y21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1595 - SIG_EXPR_DECL(VPOR2, VPOOFF1, Y21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1596 - SIG_EXPR_DECL(VPOR2, VPOOFF2, Y21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1597 - SIG_EXPR_LIST_DECL(VPOR2, SIG_EXPR_PTR(VPOR2, VPO), 1598 - SIG_EXPR_PTR(VPOR2, VPOOFF1), SIG_EXPR_PTR(VPOR2, VPOOFF2)); 1599 - SIG_EXPR_LIST_DECL_SINGLE(SALT7, SALT7, Y21_DESC); 1600 - SIG_EXPR_LIST_DECL_SINGLE(NORD0, PNOR, PNOR_DESC); 1601 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA0, GPIOAA0); 1602 - MS_PIN_DECL_(Y21, SIG_EXPR_LIST_PTR(VPOR2), SIG_EXPR_LIST_PTR(SALT7), 1603 - SIG_EXPR_LIST_PTR(NORD0), SIG_EXPR_LIST_PTR(GPIOAA0)); 1552 + SIG_EXPR_DECL_SINGLE(VPOR2, VPO, Y21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1553 + SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF1, Y21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1554 + SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF2, Y21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1555 + SIG_EXPR_LIST_DECL(VPOR2, VPO, 1556 + SIG_EXPR_PTR(VPOR2, VPO), 1557 + SIG_EXPR_PTR(VPOR2, VPOOFF1), 1558 + SIG_EXPR_PTR(VPOR2, VPOOFF2)); 1559 + SIG_EXPR_LIST_ALIAS(Y21, VPOR2, VPO); 1560 + SIG_EXPR_LIST_DECL_SINGLE(Y21, SALT7, SALT7, Y21_DESC); 1561 + SIG_EXPR_LIST_DECL_SINGLE(Y21, NORD0, PNOR, PNOR_DESC); 1562 + SIG_EXPR_LIST_DECL_SINGLE(Y21, GPIOAA0, GPIOAA0); 1563 + PIN_DECL_(Y21, SIG_EXPR_LIST_PTR(Y21, VPOR2), SIG_EXPR_LIST_PTR(Y21, SALT7), 1564 + SIG_EXPR_LIST_PTR(Y21, NORD0), SIG_EXPR_LIST_PTR(Y21, GPIOAA0)); 1604 1565 FUNC_GROUP_DECL(SALT7, Y21); 1605 1566 1606 1567 #define V21 209 1607 1568 #define V21_DESC SIG_DESC_SET(SCUA4, 25) 1608 - SIG_EXPR_DECL(VPOR3, VPO, V21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1609 - SIG_EXPR_DECL(VPOR3, VPOOFF1, V21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1610 - SIG_EXPR_DECL(VPOR3, VPOOFF2, V21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1611 - SIG_EXPR_LIST_DECL(VPOR3, SIG_EXPR_PTR(VPOR3, VPO), 1612 - SIG_EXPR_PTR(VPOR3, VPOOFF1), SIG_EXPR_PTR(VPOR3, VPOOFF2)); 1613 - SIG_EXPR_LIST_DECL_SINGLE(SALT8, SALT8, V21_DESC); 1614 - SIG_EXPR_LIST_DECL_SINGLE(NORD1, PNOR, PNOR_DESC); 1615 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA1, GPIOAA1); 1616 - MS_PIN_DECL_(V21, SIG_EXPR_LIST_PTR(VPOR3), SIG_EXPR_LIST_PTR(SALT8), 1617 - SIG_EXPR_LIST_PTR(NORD1), SIG_EXPR_LIST_PTR(GPIOAA1)); 1569 + SIG_EXPR_DECL_SINGLE(VPOR3, VPO, V21_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1570 + SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF1, V21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1571 + SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF2, V21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1572 + SIG_EXPR_LIST_DECL(VPOR3, VPO, 1573 + SIG_EXPR_PTR(VPOR3, VPO), 1574 + SIG_EXPR_PTR(VPOR3, VPOOFF1), 1575 + SIG_EXPR_PTR(VPOR3, VPOOFF2)); 1576 + SIG_EXPR_LIST_ALIAS(V21, VPOR3, VPO); 1577 + SIG_EXPR_LIST_DECL_SINGLE(V21, SALT8, SALT8, V21_DESC); 1578 + SIG_EXPR_LIST_DECL_SINGLE(V21, NORD1, PNOR, PNOR_DESC); 1579 + SIG_EXPR_LIST_DECL_SINGLE(V21, GPIOAA1, GPIOAA1); 1580 + PIN_DECL_(V21, SIG_EXPR_LIST_PTR(V21, VPOR3), SIG_EXPR_LIST_PTR(V21, SALT8), 1581 + SIG_EXPR_LIST_PTR(V21, NORD1), SIG_EXPR_LIST_PTR(V21, GPIOAA1)); 1618 1582 FUNC_GROUP_DECL(SALT8, V21); 1619 1583 1620 1584 #define Y22 210 1621 1585 #define Y22_DESC SIG_DESC_SET(SCUA4, 26) 1622 - SIG_EXPR_DECL(VPOR4, VPO, Y22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1623 - SIG_EXPR_DECL(VPOR4, VPOOFF1, Y22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1624 - SIG_EXPR_DECL(VPOR4, VPOOFF2, Y22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1625 - SIG_EXPR_LIST_DECL(VPOR4, SIG_EXPR_PTR(VPOR4, VPO), 1626 - SIG_EXPR_PTR(VPOR4, VPOOFF1), SIG_EXPR_PTR(VPOR4, VPOOFF2)); 1627 - SIG_EXPR_LIST_DECL_SINGLE(SALT9, SALT9, Y22_DESC); 1628 - SIG_EXPR_LIST_DECL_SINGLE(NORD2, PNOR, PNOR_DESC); 1629 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA2, GPIOAA2); 1630 - MS_PIN_DECL_(Y22, SIG_EXPR_LIST_PTR(VPOR4), SIG_EXPR_LIST_PTR(SALT9), 1631 - SIG_EXPR_LIST_PTR(NORD2), SIG_EXPR_LIST_PTR(GPIOAA2)); 1586 + SIG_EXPR_DECL_SINGLE(VPOR4, VPO, Y22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1587 + SIG_EXPR_DECL_SINGLE(VPOR4, VPOOFF1, Y22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1588 + SIG_EXPR_DECL_SINGLE(VPOR4, VPOOFF2, Y22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1589 + SIG_EXPR_LIST_DECL(VPOR4, VPO, 1590 + SIG_EXPR_PTR(VPOR4, VPO), 1591 + SIG_EXPR_PTR(VPOR4, VPOOFF1), 1592 + SIG_EXPR_PTR(VPOR4, VPOOFF2)); 1593 + SIG_EXPR_LIST_ALIAS(Y22, VPOR4, VPO); 1594 + SIG_EXPR_LIST_DECL_SINGLE(Y22, SALT9, SALT9, Y22_DESC); 1595 + SIG_EXPR_LIST_DECL_SINGLE(Y22, NORD2, PNOR, PNOR_DESC); 1596 + SIG_EXPR_LIST_DECL_SINGLE(Y22, GPIOAA2, GPIOAA2); 1597 + PIN_DECL_(Y22, SIG_EXPR_LIST_PTR(Y22, VPOR4), SIG_EXPR_LIST_PTR(Y22, SALT9), 1598 + SIG_EXPR_LIST_PTR(Y22, NORD2), SIG_EXPR_LIST_PTR(Y22, GPIOAA2)); 1632 1599 FUNC_GROUP_DECL(SALT9, Y22); 1633 1600 1634 1601 #define AA22 211 1635 1602 #define AA22_DESC SIG_DESC_SET(SCUA4, 27) 1636 - SIG_EXPR_DECL(VPOR5, VPO, AA22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1637 - SIG_EXPR_DECL(VPOR5, VPOOFF1, AA22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1638 - SIG_EXPR_DECL(VPOR5, VPOOFF2, AA22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1639 - SIG_EXPR_LIST_DECL(VPOR5, SIG_EXPR_PTR(VPOR5, VPO), 1640 - SIG_EXPR_PTR(VPOR5, VPOOFF1), SIG_EXPR_PTR(VPOR5, VPOOFF2)); 1641 - SIG_EXPR_LIST_DECL_SINGLE(SALT10, SALT10, AA22_DESC); 1642 - SIG_EXPR_LIST_DECL_SINGLE(NORD3, PNOR, PNOR_DESC); 1643 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA3, GPIOAA3); 1644 - MS_PIN_DECL_(AA22, SIG_EXPR_LIST_PTR(VPOR5), SIG_EXPR_LIST_PTR(SALT10), 1645 - SIG_EXPR_LIST_PTR(NORD3), SIG_EXPR_LIST_PTR(GPIOAA3)); 1603 + SIG_EXPR_DECL_SINGLE(VPOR5, VPO, AA22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1604 + SIG_EXPR_DECL_SINGLE(VPOR5, VPOOFF1, AA22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1605 + SIG_EXPR_DECL_SINGLE(VPOR5, VPOOFF2, AA22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1606 + SIG_EXPR_LIST_DECL(VPOR5, VPO, 1607 + SIG_EXPR_PTR(VPOR5, VPO), 1608 + SIG_EXPR_PTR(VPOR5, VPOOFF1), 1609 + SIG_EXPR_PTR(VPOR5, VPOOFF2)); 1610 + SIG_EXPR_LIST_ALIAS(AA22, VPOR5, VPO); 1611 + SIG_EXPR_LIST_DECL_SINGLE(AA22, SALT10, SALT10, AA22_DESC); 1612 + SIG_EXPR_LIST_DECL_SINGLE(AA22, NORD3, PNOR, PNOR_DESC); 1613 + SIG_EXPR_LIST_DECL_SINGLE(AA22, GPIOAA3, GPIOAA3); 1614 + PIN_DECL_(AA22, SIG_EXPR_LIST_PTR(AA22, VPOR5), 1615 + SIG_EXPR_LIST_PTR(AA22, SALT10), SIG_EXPR_LIST_PTR(AA22, NORD3), 1616 + SIG_EXPR_LIST_PTR(AA22, GPIOAA3)); 1646 1617 FUNC_GROUP_DECL(SALT10, AA22); 1647 1618 1648 1619 #define U22 212 1649 1620 #define U22_DESC SIG_DESC_SET(SCUA4, 28) 1650 - SIG_EXPR_DECL(VPOR6, VPO, U22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1651 - SIG_EXPR_DECL(VPOR6, VPOOFF1, U22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1652 - SIG_EXPR_DECL(VPOR6, VPOOFF2, U22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1653 - SIG_EXPR_LIST_DECL(VPOR6, SIG_EXPR_PTR(VPOR6, VPO), 1654 - SIG_EXPR_PTR(VPOR6, VPOOFF1), SIG_EXPR_PTR(VPOR6, VPOOFF2)); 1655 - SIG_EXPR_LIST_DECL_SINGLE(SALT11, SALT11, U22_DESC); 1656 - SIG_EXPR_LIST_DECL_SINGLE(NORD4, PNOR, PNOR_DESC); 1657 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA4, GPIOAA4); 1658 - MS_PIN_DECL_(U22, SIG_EXPR_LIST_PTR(VPOR6), SIG_EXPR_LIST_PTR(SALT11), 1659 - SIG_EXPR_LIST_PTR(NORD4), SIG_EXPR_LIST_PTR(GPIOAA4)); 1621 + SIG_EXPR_DECL_SINGLE(VPOR6, VPO, U22_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1622 + SIG_EXPR_DECL_SINGLE(VPOR6, VPOOFF1, U22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1623 + SIG_EXPR_DECL_SINGLE(VPOR6, VPOOFF2, U22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1624 + SIG_EXPR_LIST_DECL(VPOR6, VPO, 1625 + SIG_EXPR_PTR(VPOR6, VPO), 1626 + SIG_EXPR_PTR(VPOR6, VPOOFF1), 1627 + SIG_EXPR_PTR(VPOR6, VPOOFF2)); 1628 + SIG_EXPR_LIST_ALIAS(U22, VPOR6, VPO); 1629 + SIG_EXPR_LIST_DECL_SINGLE(U22, SALT11, SALT11, U22_DESC); 1630 + SIG_EXPR_LIST_DECL_SINGLE(U22, NORD4, PNOR, PNOR_DESC); 1631 + SIG_EXPR_LIST_DECL_SINGLE(U22, GPIOAA4, GPIOAA4); 1632 + PIN_DECL_(U22, SIG_EXPR_LIST_PTR(U22, VPOR6), SIG_EXPR_LIST_PTR(U22, SALT11), 1633 + SIG_EXPR_LIST_PTR(U22, NORD4), SIG_EXPR_LIST_PTR(U22, GPIOAA4)); 1660 1634 FUNC_GROUP_DECL(SALT11, U22); 1661 1635 1662 1636 #define T20 213 1663 1637 #define T20_DESC SIG_DESC_SET(SCUA4, 29) 1664 - SIG_EXPR_DECL(VPOR7, VPO, T20_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1665 - SIG_EXPR_DECL(VPOR7, VPOOFF1, T20_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1666 - SIG_EXPR_DECL(VPOR7, VPOOFF2, T20_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1667 - SIG_EXPR_LIST_DECL(VPOR7, SIG_EXPR_PTR(VPOR7, VPO), 1668 - SIG_EXPR_PTR(VPOR7, VPOOFF1), SIG_EXPR_PTR(VPOR7, VPOOFF2)); 1669 - SIG_EXPR_LIST_DECL_SINGLE(SALT12, SALT12, T20_DESC); 1670 - SIG_EXPR_LIST_DECL_SINGLE(NORD5, PNOR, PNOR_DESC); 1671 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA5, GPIOAA5); 1672 - MS_PIN_DECL_(T20, SIG_EXPR_LIST_PTR(VPOR7), SIG_EXPR_LIST_PTR(SALT12), 1673 - SIG_EXPR_LIST_PTR(NORD5), SIG_EXPR_LIST_PTR(GPIOAA5)); 1638 + SIG_EXPR_DECL_SINGLE(VPOR7, VPO, T20_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1639 + SIG_EXPR_DECL_SINGLE(VPOR7, VPOOFF1, T20_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1640 + SIG_EXPR_DECL_SINGLE(VPOR7, VPOOFF2, T20_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1641 + SIG_EXPR_LIST_DECL(VPOR7, VPO, 1642 + SIG_EXPR_PTR(VPOR7, VPO), 1643 + SIG_EXPR_PTR(VPOR7, VPOOFF1), 1644 + SIG_EXPR_PTR(VPOR7, VPOOFF2)); 1645 + SIG_EXPR_LIST_ALIAS(T20, VPOR7, VPO); 1646 + SIG_EXPR_LIST_DECL_SINGLE(T20, SALT12, SALT12, T20_DESC); 1647 + SIG_EXPR_LIST_DECL_SINGLE(T20, NORD5, PNOR, PNOR_DESC); 1648 + SIG_EXPR_LIST_DECL_SINGLE(T20, GPIOAA5, GPIOAA5); 1649 + PIN_DECL_(T20, SIG_EXPR_LIST_PTR(T20, VPOR7), SIG_EXPR_LIST_PTR(T20, SALT12), 1650 + SIG_EXPR_LIST_PTR(T20, NORD5), SIG_EXPR_LIST_PTR(T20, GPIOAA5)); 1674 1651 FUNC_GROUP_DECL(SALT12, T20); 1675 1652 1676 1653 #define N18 214 1677 1654 #define N18_DESC SIG_DESC_SET(SCUA4, 30) 1678 - SIG_EXPR_DECL(VPOR8, VPO, N18_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1679 - SIG_EXPR_DECL(VPOR8, VPOOFF1, N18_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1680 - SIG_EXPR_DECL(VPOR8, VPOOFF2, N18_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1681 - SIG_EXPR_LIST_DECL(VPOR8, SIG_EXPR_PTR(VPOR8, VPO), 1682 - SIG_EXPR_PTR(VPOR8, VPOOFF1), SIG_EXPR_PTR(VPOR8, VPOOFF2)); 1683 - SIG_EXPR_LIST_DECL_SINGLE(SALT13, SALT13, N18_DESC); 1684 - SIG_EXPR_LIST_DECL_SINGLE(NORD6, PNOR, PNOR_DESC); 1685 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA6, GPIOAA6); 1686 - MS_PIN_DECL_(N18, SIG_EXPR_LIST_PTR(VPOR8), SIG_EXPR_LIST_PTR(SALT13), 1687 - SIG_EXPR_LIST_PTR(NORD6), SIG_EXPR_LIST_PTR(GPIOAA6)); 1655 + SIG_EXPR_DECL_SINGLE(VPOR8, VPO, N18_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1656 + SIG_EXPR_DECL_SINGLE(VPOR8, VPOOFF1, N18_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1657 + SIG_EXPR_DECL_SINGLE(VPOR8, VPOOFF2, N18_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1658 + SIG_EXPR_LIST_DECL(VPOR8, VPO, 1659 + SIG_EXPR_PTR(VPOR8, VPO), 1660 + SIG_EXPR_PTR(VPOR8, VPOOFF1), 1661 + SIG_EXPR_PTR(VPOR8, VPOOFF2)); 1662 + SIG_EXPR_LIST_ALIAS(N18, VPOR8, VPO); 1663 + SIG_EXPR_LIST_DECL_SINGLE(N18, SALT13, SALT13, N18_DESC); 1664 + SIG_EXPR_LIST_DECL_SINGLE(N18, NORD6, PNOR, PNOR_DESC); 1665 + SIG_EXPR_LIST_DECL_SINGLE(N18, GPIOAA6, GPIOAA6); 1666 + PIN_DECL_(N18, SIG_EXPR_LIST_PTR(N18, VPOR8), SIG_EXPR_LIST_PTR(N18, SALT13), 1667 + SIG_EXPR_LIST_PTR(N18, NORD6), SIG_EXPR_LIST_PTR(N18, GPIOAA6)); 1688 1668 FUNC_GROUP_DECL(SALT13, N18); 1689 1669 1690 1670 #define P19 215 1691 1671 #define P19_DESC SIG_DESC_SET(SCUA4, 31) 1692 - SIG_EXPR_DECL(VPOR9, VPO, P19_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1693 - SIG_EXPR_DECL(VPOR9, VPOOFF1, P19_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1694 - SIG_EXPR_DECL(VPOR9, VPOOFF2, P19_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1695 - SIG_EXPR_LIST_DECL(VPOR9, SIG_EXPR_PTR(VPOR9, VPO), 1696 - SIG_EXPR_PTR(VPOR9, VPOOFF1), SIG_EXPR_PTR(VPOR9, VPOOFF2)); 1697 - SIG_EXPR_LIST_DECL_SINGLE(SALT14, SALT14, P19_DESC); 1698 - SIG_EXPR_LIST_DECL_SINGLE(NORD7, PNOR, PNOR_DESC); 1699 - SIG_EXPR_LIST_DECL_SINGLE(GPIOAA7, GPIOAA7); 1700 - MS_PIN_DECL_(P19, SIG_EXPR_LIST_PTR(VPOR9), SIG_EXPR_LIST_PTR(SALT14), 1701 - SIG_EXPR_LIST_PTR(NORD7), SIG_EXPR_LIST_PTR(GPIOAA7)); 1672 + SIG_EXPR_DECL_SINGLE(VPOR9, VPO, P19_DESC, VPO_DESC, CRT_DVO_ES_DESC); 1673 + SIG_EXPR_DECL_SINGLE(VPOR9, VPOOFF1, P19_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC); 1674 + SIG_EXPR_DECL_SINGLE(VPOR9, VPOOFF2, P19_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC); 1675 + SIG_EXPR_LIST_DECL(VPOR9, VPO, 1676 + SIG_EXPR_PTR(VPOR9, VPO), 1677 + SIG_EXPR_PTR(VPOR9, VPOOFF1), 1678 + SIG_EXPR_PTR(VPOR9, VPOOFF2)); 1679 + SIG_EXPR_LIST_ALIAS(P19, VPOR9, VPO); 1680 + SIG_EXPR_LIST_DECL_SINGLE(P19, SALT14, SALT14, P19_DESC); 1681 + SIG_EXPR_LIST_DECL_SINGLE(P19, NORD7, PNOR, PNOR_DESC); 1682 + SIG_EXPR_LIST_DECL_SINGLE(P19, GPIOAA7, GPIOAA7); 1683 + PIN_DECL_(P19, SIG_EXPR_LIST_PTR(P19, VPOR9), SIG_EXPR_LIST_PTR(P19, SALT14), 1684 + SIG_EXPR_LIST_PTR(P19, NORD7), SIG_EXPR_LIST_PTR(P19, GPIOAA7)); 1702 1685 FUNC_GROUP_DECL(SALT14, P19); 1703 1686 1704 1687 #define N19 216 1705 1688 #define N19_DESC SIG_DESC_SET(SCUA8, 0) 1706 - SIG_EXPR_DECL(VPODE, VPO, N19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1707 - SIG_EXPR_DECL(VPODE, VPOOFF1, N19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1708 - SIG_EXPR_DECL(VPODE, VPOOFF2, N19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1709 - SIG_EXPR_LIST_DECL(VPODE, SIG_EXPR_PTR(VPODE, VPO), 1710 - SIG_EXPR_PTR(VPODE, VPOOFF1), SIG_EXPR_PTR(VPODE, VPOOFF2)); 1711 - SIG_EXPR_LIST_DECL_SINGLE(NOROE, PNOR, PNOR_DESC); 1712 - MS_PIN_DECL(N19, GPIOAB0, VPODE, NOROE); 1689 + SIG_EXPR_DECL_SINGLE(VPODE, VPO, N19_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1690 + SIG_EXPR_DECL_SINGLE(VPODE, VPOOFF1, N19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1691 + SIG_EXPR_DECL_SINGLE(VPODE, VPOOFF2, N19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1692 + SIG_EXPR_LIST_DECL(VPODE, VPO, 1693 + SIG_EXPR_PTR(VPODE, VPO), 1694 + SIG_EXPR_PTR(VPODE, VPOOFF1), 1695 + SIG_EXPR_PTR(VPODE, VPOOFF2)); 1696 + SIG_EXPR_LIST_ALIAS(N19, VPODE, VPO); 1697 + SIG_EXPR_LIST_DECL_SINGLE(N19, NOROE, PNOR, PNOR_DESC); 1698 + PIN_DECL_2(N19, GPIOAB0, VPODE, NOROE); 1713 1699 1714 1700 #define T21 217 1715 1701 #define T21_DESC SIG_DESC_SET(SCUA8, 1) 1716 - SIG_EXPR_DECL(VPOHS, VPO, T21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1717 - SIG_EXPR_DECL(VPOHS, VPOOFF1, T21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1718 - SIG_EXPR_DECL(VPOHS, VPOOFF2, T21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1719 - SIG_EXPR_LIST_DECL(VPOHS, SIG_EXPR_PTR(VPOHS, VPO), 1720 - SIG_EXPR_PTR(VPOHS, VPOOFF1), SIG_EXPR_PTR(VPOHS, VPOOFF2)); 1721 - SIG_EXPR_LIST_DECL_SINGLE(NORWE, PNOR, PNOR_DESC); 1722 - MS_PIN_DECL(T21, GPIOAB1, VPOHS, NORWE); 1702 + SIG_EXPR_DECL_SINGLE(VPOHS, VPO, T21_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1703 + SIG_EXPR_DECL_SINGLE(VPOHS, VPOOFF1, T21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1704 + SIG_EXPR_DECL_SINGLE(VPOHS, VPOOFF2, T21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1705 + SIG_EXPR_LIST_DECL(VPOHS, VPO, 1706 + SIG_EXPR_PTR(VPOHS, VPO), 1707 + SIG_EXPR_PTR(VPOHS, VPOOFF1), 1708 + SIG_EXPR_PTR(VPOHS, VPOOFF2)); 1709 + SIG_EXPR_LIST_ALIAS(T21, VPOHS, VPO); 1710 + SIG_EXPR_LIST_DECL_SINGLE(T21, NORWE, PNOR, PNOR_DESC); 1711 + PIN_DECL_2(T21, GPIOAB1, VPOHS, NORWE); 1723 1712 1724 1713 FUNC_GROUP_DECL(PNOR, Y20, AB20, AB21, AA21, U21, W22, V22, W21, Y21, V21, Y22, 1725 1714 AA22, U22, T20, N18, P19, N19, T21); 1726 1715 1727 1716 #define T22 218 1728 1717 #define T22_DESC SIG_DESC_SET(SCUA8, 2) 1729 - SIG_EXPR_DECL(VPOVS, VPO, T22_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1730 - SIG_EXPR_DECL(VPOVS, VPOOFF1, T22_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1731 - SIG_EXPR_DECL(VPOVS, VPOOFF2, T22_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1732 - SIG_EXPR_LIST_DECL(VPOVS, SIG_EXPR_PTR(VPOVS, VPO), 1733 - SIG_EXPR_PTR(VPOVS, VPOOFF1), SIG_EXPR_PTR(VPOVS, VPOOFF2)); 1734 - SIG_EXPR_LIST_DECL_SINGLE(WDTRST1, WDTRST1, T22_DESC); 1735 - MS_PIN_DECL(T22, GPIOAB2, VPOVS, WDTRST1); 1718 + SIG_EXPR_DECL_SINGLE(VPOVS, VPO, T22_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1719 + SIG_EXPR_DECL_SINGLE(VPOVS, VPOOFF1, T22_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1720 + SIG_EXPR_DECL_SINGLE(VPOVS, VPOOFF2, T22_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1721 + SIG_EXPR_LIST_DECL(VPOVS, VPO, 1722 + SIG_EXPR_PTR(VPOVS, VPO), 1723 + SIG_EXPR_PTR(VPOVS, VPOOFF1), 1724 + SIG_EXPR_PTR(VPOVS, VPOOFF2)); 1725 + SIG_EXPR_LIST_ALIAS(T22, VPOVS, VPO); 1726 + SIG_EXPR_LIST_DECL_SINGLE(T22, WDTRST1, WDTRST1, T22_DESC); 1727 + PIN_DECL_2(T22, GPIOAB2, VPOVS, WDTRST1); 1736 1728 FUNC_GROUP_DECL(WDTRST1, T22); 1737 1729 1738 1730 #define R20 219 1739 1731 #define R20_DESC SIG_DESC_SET(SCUA8, 3) 1740 - SIG_EXPR_DECL(VPOCLK, VPO, R20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1741 - SIG_EXPR_DECL(VPOCLK, VPOOFF1, R20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1742 - SIG_EXPR_DECL(VPOCLK, VPOOFF2, R20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1743 - SIG_EXPR_LIST_DECL(VPOCLK, SIG_EXPR_PTR(VPOCLK, VPO), 1744 - SIG_EXPR_PTR(VPOCLK, VPOOFF1), SIG_EXPR_PTR(VPOCLK, VPOOFF2)); 1745 - SIG_EXPR_LIST_DECL_SINGLE(WDTRST2, WDTRST2, R20_DESC); 1746 - MS_PIN_DECL(R20, GPIOAB3, VPOCLK, WDTRST2); 1732 + SIG_EXPR_DECL_SINGLE(VPOCLK, VPO, R20_DESC, VPO_DESC, CRT_DVO_EN_DESC); 1733 + SIG_EXPR_DECL_SINGLE(VPOCLK, VPOOFF1, R20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC); 1734 + SIG_EXPR_DECL_SINGLE(VPOCLK, VPOOFF2, R20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC); 1735 + SIG_EXPR_LIST_DECL(VPOCLK, VPO, 1736 + SIG_EXPR_PTR(VPOCLK, VPO), 1737 + SIG_EXPR_PTR(VPOCLK, VPOOFF1), 1738 + SIG_EXPR_PTR(VPOCLK, VPOOFF2)); 1739 + SIG_EXPR_LIST_ALIAS(R20, VPOCLK, VPO); 1740 + SIG_EXPR_LIST_DECL_SINGLE(R20, WDTRST2, WDTRST2, R20_DESC); 1741 + PIN_DECL_2(R20, GPIOAB3, VPOCLK, WDTRST2); 1747 1742 FUNC_GROUP_DECL(WDTRST2, R20); 1748 1743 1749 1744 FUNC_GROUP_DECL(VPO, V20, U19, R18, P18, R19, W20, U20, AA20, Y20, AB20, ··· 1802 1699 #define ESPI_DESC SIG_DESC_SET(HW_STRAP1, 25) 1803 1700 1804 1701 #define G21 224 1805 - SIG_EXPR_LIST_DECL_SINGLE(ESPID0, ESPI, ESPI_DESC); 1806 - SIG_EXPR_LIST_DECL_SINGLE(LAD0, LAD0, SIG_DESC_SET(SCUAC, 0)); 1807 - MS_PIN_DECL(G21, GPIOAC0, ESPID0, LAD0); 1702 + SIG_EXPR_LIST_DECL_SINGLE(G21, ESPID0, ESPI, ESPI_DESC); 1703 + SIG_EXPR_LIST_DECL_SINGLE(G21, LAD0, LAD0, SIG_DESC_SET(SCUAC, 0)); 1704 + PIN_DECL_2(G21, GPIOAC0, ESPID0, LAD0); 1808 1705 FUNC_GROUP_DECL(LAD0, G21); 1809 1706 1810 1707 #define G20 225 1811 - SIG_EXPR_LIST_DECL_SINGLE(ESPID1, ESPI, ESPI_DESC); 1812 - SIG_EXPR_LIST_DECL_SINGLE(LAD1, LAD1, SIG_DESC_SET(SCUAC, 1)); 1813 - MS_PIN_DECL(G20, GPIOAC1, ESPID1, LAD1); 1708 + SIG_EXPR_LIST_DECL_SINGLE(G20, ESPID1, ESPI, ESPI_DESC); 1709 + SIG_EXPR_LIST_DECL_SINGLE(G20, LAD1, LAD1, SIG_DESC_SET(SCUAC, 1)); 1710 + PIN_DECL_2(G20, GPIOAC1, ESPID1, LAD1); 1814 1711 FUNC_GROUP_DECL(LAD1, G20); 1815 1712 1816 1713 #define D22 226 1817 - SIG_EXPR_LIST_DECL_SINGLE(ESPID2, ESPI, ESPI_DESC); 1818 - SIG_EXPR_LIST_DECL_SINGLE(LAD2, LAD2, SIG_DESC_SET(SCUAC, 2)); 1819 - MS_PIN_DECL(D22, GPIOAC2, ESPID2, LAD2); 1714 + SIG_EXPR_LIST_DECL_SINGLE(D22, ESPID2, ESPI, ESPI_DESC); 1715 + SIG_EXPR_LIST_DECL_SINGLE(D22, LAD2, LAD2, SIG_DESC_SET(SCUAC, 2)); 1716 + PIN_DECL_2(D22, GPIOAC2, ESPID2, LAD2); 1820 1717 FUNC_GROUP_DECL(LAD2, D22); 1821 1718 1822 1719 #define E22 227 1823 - SIG_EXPR_LIST_DECL_SINGLE(ESPID3, ESPI, ESPI_DESC); 1824 - SIG_EXPR_LIST_DECL_SINGLE(LAD3, LAD3, SIG_DESC_SET(SCUAC, 3)); 1825 - MS_PIN_DECL(E22, GPIOAC3, ESPID3, LAD3); 1720 + SIG_EXPR_LIST_DECL_SINGLE(E22, ESPID3, ESPI, ESPI_DESC); 1721 + SIG_EXPR_LIST_DECL_SINGLE(E22, LAD3, LAD3, SIG_DESC_SET(SCUAC, 3)); 1722 + PIN_DECL_2(E22, GPIOAC3, ESPID3, LAD3); 1826 1723 FUNC_GROUP_DECL(LAD3, E22); 1827 1724 1828 1725 #define C22 228 1829 - SIG_EXPR_LIST_DECL_SINGLE(ESPICK, ESPI, ESPI_DESC); 1830 - SIG_EXPR_LIST_DECL_SINGLE(LCLK, LCLK, SIG_DESC_SET(SCUAC, 4)); 1831 - MS_PIN_DECL(C22, GPIOAC4, ESPICK, LCLK); 1726 + SIG_EXPR_LIST_DECL_SINGLE(C22, ESPICK, ESPI, ESPI_DESC); 1727 + SIG_EXPR_LIST_DECL_SINGLE(C22, LCLK, LCLK, SIG_DESC_SET(SCUAC, 4)); 1728 + PIN_DECL_2(C22, GPIOAC4, ESPICK, LCLK); 1832 1729 FUNC_GROUP_DECL(LCLK, C22); 1833 1730 1834 1731 #define F21 229 1835 - SIG_EXPR_LIST_DECL_SINGLE(ESPICS, ESPI, ESPI_DESC); 1836 - SIG_EXPR_LIST_DECL_SINGLE(LFRAME, LFRAME, SIG_DESC_SET(SCUAC, 5)); 1837 - MS_PIN_DECL(F21, GPIOAC5, ESPICS, LFRAME); 1732 + SIG_EXPR_LIST_DECL_SINGLE(F21, ESPICS, ESPI, ESPI_DESC); 1733 + SIG_EXPR_LIST_DECL_SINGLE(F21, LFRAME, LFRAME, SIG_DESC_SET(SCUAC, 5)); 1734 + PIN_DECL_2(F21, GPIOAC5, ESPICS, LFRAME); 1838 1735 FUNC_GROUP_DECL(LFRAME, F21); 1839 1736 1840 1737 #define F22 230 1841 - SIG_EXPR_LIST_DECL_SINGLE(ESPIALT, ESPI, ESPI_DESC); 1842 - SIG_EXPR_LIST_DECL_SINGLE(LSIRQ, LSIRQ, SIG_DESC_SET(SCUAC, 6)); 1843 - MS_PIN_DECL(F22, GPIOAC6, ESPIALT, LSIRQ); 1738 + SIG_EXPR_LIST_DECL_SINGLE(F22, ESPIALT, ESPI, ESPI_DESC); 1739 + SIG_EXPR_LIST_DECL_SINGLE(F22, LSIRQ, LSIRQ, SIG_DESC_SET(SCUAC, 6)); 1740 + PIN_DECL_2(F22, GPIOAC6, ESPIALT, LSIRQ); 1844 1741 FUNC_GROUP_DECL(LSIRQ, F22); 1845 1742 1846 1743 #define G22 231 1847 - SIG_EXPR_LIST_DECL_SINGLE(ESPIRST, ESPI, ESPI_DESC); 1848 - SIG_EXPR_LIST_DECL_SINGLE(LPCRST, LPCRST, SIG_DESC_SET(SCUAC, 7)); 1849 - MS_PIN_DECL(G22, GPIOAC7, ESPIRST, LPCRST); 1744 + SIG_EXPR_LIST_DECL_SINGLE(G22, ESPIRST, ESPI, ESPI_DESC); 1745 + SIG_EXPR_LIST_DECL_SINGLE(G22, LPCRST, LPCRST, SIG_DESC_SET(SCUAC, 7)); 1746 + PIN_DECL_2(G22, GPIOAC7, ESPIRST, LPCRST); 1850 1747 FUNC_GROUP_DECL(LPCRST, G22); 1851 1748 1852 1749 FUNC_GROUP_DECL(ESPI, G21, G20, D22, E22, C22, F21, F22, G22); 1853 1750 1854 1751 #define A7 232 1855 - SIG_EXPR_LIST_DECL_SINGLE(USB2AHDP, USB2AH, SIG_DESC_SET(SCU90, 29)); 1856 - SIG_EXPR_LIST_DECL_SINGLE(USB2ADDP, USB2AD, SIG_DESC_BIT(SCU90, 29, 0)); 1857 - MS_PIN_DECL_(A7, SIG_EXPR_LIST_PTR(USB2AHDP), SIG_EXPR_LIST_PTR(USB2ADDP)); 1752 + SIG_EXPR_LIST_DECL_SINGLE(A7, USB2AHDP, USB2AH, SIG_DESC_SET(SCU90, 29)); 1753 + SIG_EXPR_LIST_DECL_SINGLE(A7, USB2ADDP, USB2AD, SIG_DESC_BIT(SCU90, 29, 0)); 1754 + PIN_DECL_(A7, SIG_EXPR_LIST_PTR(A7, USB2AHDP), SIG_EXPR_LIST_PTR(A7, USB2ADDP)); 1858 1755 1859 1756 #define A8 233 1860 - SIG_EXPR_LIST_DECL_SINGLE(USB2AHDN, USB2AH, SIG_DESC_SET(SCU90, 29)); 1861 - SIG_EXPR_LIST_DECL_SINGLE(USB2ADDN, USB2AD, SIG_DESC_BIT(SCU90, 29, 0)); 1862 - MS_PIN_DECL_(A8, SIG_EXPR_LIST_PTR(USB2AHDN), SIG_EXPR_LIST_PTR(USB2ADDN)); 1757 + SIG_EXPR_LIST_DECL_SINGLE(A8, USB2AHDN, USB2AH, SIG_DESC_SET(SCU90, 29)); 1758 + SIG_EXPR_LIST_DECL_SINGLE(A8, USB2ADDN, USB2AD, SIG_DESC_BIT(SCU90, 29, 0)); 1759 + PIN_DECL_(A8, SIG_EXPR_LIST_PTR(A8, USB2AHDN), SIG_EXPR_LIST_PTR(A8, USB2ADDN)); 1863 1760 1864 1761 FUNC_GROUP_DECL(USB2AH, A7, A8); 1865 1762 FUNC_GROUP_DECL(USB2AD, A7, A8); ··· 1870 1767 #define USB2BH2_DESC { ASPEED_IP_SCU, SCU94, GENMASK(14, 13), 3, 0 } 1871 1768 1872 1769 #define B6 234 1873 - SIG_EXPR_LIST_DECL_SINGLE(USB11BDP, USB11BHID, USB11BHID_DESC); 1874 - SIG_EXPR_LIST_DECL_SINGLE(USB2BDDP, USB2BD, USB2BD_DESC); 1875 - SIG_EXPR_DECL(USB2BHDP1, USB2BH, USB2BH1_DESC); 1876 - SIG_EXPR_DECL(USB2BHDP2, USB2BH, USB2BH2_DESC); 1877 - SIG_EXPR_LIST_DECL(USB2BHDP, SIG_EXPR_PTR(USB2BHDP1, USB2BH), 1770 + SIG_EXPR_LIST_DECL_SINGLE(B6, USB11BDP, USB11BHID, USB11BHID_DESC); 1771 + SIG_EXPR_LIST_DECL_SINGLE(B6, USB2BDDP, USB2BD, USB2BD_DESC); 1772 + SIG_EXPR_DECL_SINGLE(USB2BHDP1, USB2BH, USB2BH1_DESC); 1773 + SIG_EXPR_DECL_SINGLE(USB2BHDP2, USB2BH, USB2BH2_DESC); 1774 + SIG_EXPR_LIST_DECL(USB2BHDP, USB2BH, 1775 + SIG_EXPR_PTR(USB2BHDP1, USB2BH), 1878 1776 SIG_EXPR_PTR(USB2BHDP2, USB2BH)); 1879 - MS_PIN_DECL_(B6, SIG_EXPR_LIST_PTR(USB11BDP), SIG_EXPR_LIST_PTR(USB2BDDP), 1880 - SIG_EXPR_LIST_PTR(USB2BHDP)); 1777 + SIG_EXPR_LIST_ALIAS(B6, USB2BHDP, USB2BH); 1778 + PIN_DECL_(B6, SIG_EXPR_LIST_PTR(B6, USB11BDP), SIG_EXPR_LIST_PTR(B6, USB2BDDP), 1779 + SIG_EXPR_LIST_PTR(B6, USB2BHDP)); 1881 1780 1882 1781 #define A6 235 1883 - SIG_EXPR_LIST_DECL_SINGLE(USB11BDN, USB11BHID, USB11BHID_DESC); 1884 - SIG_EXPR_LIST_DECL_SINGLE(USB2BDN, USB2BD, USB2BD_DESC); 1885 - SIG_EXPR_DECL(USB2BHDN1, USB2BH, USB2BH1_DESC); 1886 - SIG_EXPR_DECL(USB2BHDN2, USB2BH, USB2BH2_DESC); 1887 - SIG_EXPR_LIST_DECL(USB2BHDN, SIG_EXPR_PTR(USB2BHDN1, USB2BH), 1782 + SIG_EXPR_LIST_DECL_SINGLE(A6, USB11BDN, USB11BHID, USB11BHID_DESC); 1783 + SIG_EXPR_LIST_DECL_SINGLE(A6, USB2BDN, USB2BD, USB2BD_DESC); 1784 + SIG_EXPR_DECL_SINGLE(USB2BHDN1, USB2BH, USB2BH1_DESC); 1785 + SIG_EXPR_DECL_SINGLE(USB2BHDN2, USB2BH, USB2BH2_DESC); 1786 + SIG_EXPR_LIST_DECL(USB2BHDN, USB2BH, 1787 + SIG_EXPR_PTR(USB2BHDN1, USB2BH), 1888 1788 SIG_EXPR_PTR(USB2BHDN2, USB2BH)); 1889 - MS_PIN_DECL_(A6, SIG_EXPR_LIST_PTR(USB11BDN), SIG_EXPR_LIST_PTR(USB2BDN), 1890 - SIG_EXPR_LIST_PTR(USB2BHDN)); 1789 + SIG_EXPR_LIST_ALIAS(A6, USB2BHDN, USB2BH); 1790 + PIN_DECL_(A6, SIG_EXPR_LIST_PTR(A6, USB11BDN), SIG_EXPR_LIST_PTR(A6, USB2BDN), 1791 + SIG_EXPR_LIST_PTR(A6, USB2BHDN)); 1891 1792 1892 1793 FUNC_GROUP_DECL(USB11BHID, B6, A6); 1893 1794 FUNC_GROUP_DECL(USB2BD, B6, A6); ··· 2849 2742 2850 2743 static const struct of_device_id aspeed_g5_pinctrl_of_match[] = { 2851 2744 { .compatible = "aspeed,ast2500-pinctrl", }, 2745 + /* 2746 + * The aspeed,g5-pinctrl compatible has been removed the from the 2747 + * bindings, but keep the match in case of old devicetrees. 2748 + */ 2852 2749 { .compatible = "aspeed,g5-pinctrl", }, 2853 2750 { }, 2854 2751 };
+2395
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + /* Copyright (C) 2019 IBM Corp. */ 3 + #include <linux/bitops.h> 4 + #include <linux/init.h> 5 + #include <linux/io.h> 6 + #include <linux/kernel.h> 7 + #include <linux/mfd/syscon.h> 8 + #include <linux/mutex.h> 9 + #include <linux/of.h> 10 + #include <linux/platform_device.h> 11 + #include <linux/pinctrl/pinctrl.h> 12 + #include <linux/pinctrl/pinmux.h> 13 + #include <linux/string.h> 14 + #include <linux/types.h> 15 + 16 + #include "../core.h" 17 + #include "../pinctrl-utils.h" 18 + #include "pinctrl-aspeed.h" 19 + 20 + #define SCU400 0x400 /* Multi-function Pin Control #1 */ 21 + #define SCU404 0x404 /* Multi-function Pin Control #2 */ 22 + #define SCU410 0x410 /* Multi-function Pin Control #4 */ 23 + #define SCU414 0x414 /* Multi-function Pin Control #5 */ 24 + #define SCU418 0x418 /* Multi-function Pin Control #6 */ 25 + #define SCU41C 0x41C /* Multi-function Pin Control #7 */ 26 + #define SCU430 0x430 /* Multi-function Pin Control #8 */ 27 + #define SCU434 0x434 /* Multi-function Pin Control #9 */ 28 + #define SCU438 0x438 /* Multi-function Pin Control #10 */ 29 + #define SCU450 0x450 /* Multi-function Pin Control #14 */ 30 + #define SCU4B0 0x4B0 /* Multi-function Pin Control #17 */ 31 + #define SCU4B4 0x4B4 /* Multi-function Pin Control #18 */ 32 + #define SCU4B8 0x4B8 /* Multi-function Pin Control #19 */ 33 + #define SCU4BC 0x4BC /* Multi-function Pin Control #20 */ 34 + #define SCU4D4 0x4D4 /* Multi-function Pin Control #22 */ 35 + #define SCU4D8 0x4D8 /* Multi-function Pin Control #23 */ 36 + #define SCU500 0x500 /* Hardware Strap 1 */ 37 + #define SCU510 0x510 /* Hardware Strap 2 */ 38 + #define SCU694 0x694 /* Multi-function Pin Control #25 */ 39 + 40 + #define ASPEED_G6_NR_PINS 248 41 + 42 + #define M24 0 43 + SIG_EXPR_LIST_DECL_SESG(M24, MDC3, MDIO3, SIG_DESC_SET(SCU410, 0)); 44 + SIG_EXPR_LIST_DECL_SESG(M24, SCL11, I2C11, SIG_DESC_SET(SCU4B0, 0)); 45 + PIN_DECL_2(M24, GPIOA0, MDC3, SCL11); 46 + 47 + #define M25 1 48 + SIG_EXPR_LIST_DECL_SESG(M25, MDIO3, MDIO3, SIG_DESC_SET(SCU410, 1)); 49 + SIG_EXPR_LIST_DECL_SESG(M25, SDA11, I2C11, SIG_DESC_SET(SCU4B0, 1)); 50 + PIN_DECL_2(M25, GPIOA1, MDIO3, SDA11); 51 + 52 + FUNC_GROUP_DECL(MDIO3, M24, M25); 53 + FUNC_GROUP_DECL(I2C11, M24, M25); 54 + 55 + #define L26 2 56 + SIG_EXPR_LIST_DECL_SESG(L26, MDC4, MDIO4, SIG_DESC_SET(SCU410, 2)); 57 + SIG_EXPR_LIST_DECL_SESG(L26, SCL12, I2C12, SIG_DESC_SET(SCU4B0, 2)); 58 + PIN_DECL_2(L26, GPIOA2, MDC4, SCL12); 59 + 60 + #define K24 3 61 + SIG_EXPR_LIST_DECL_SESG(K24, MDIO4, MDIO4, SIG_DESC_SET(SCU410, 3)); 62 + SIG_EXPR_LIST_DECL_SESG(K24, SDA12, I2C12, SIG_DESC_SET(SCU4B0, 3)); 63 + PIN_DECL_2(K24, GPIOA3, MDIO4, SDA12); 64 + 65 + FUNC_GROUP_DECL(MDIO4, L26, K24); 66 + FUNC_GROUP_DECL(I2C12, L26, K24); 67 + 68 + #define K26 4 69 + SIG_EXPR_LIST_DECL_SESG(K26, MACLINK1, MACLINK1, SIG_DESC_SET(SCU410, 4)); 70 + SIG_EXPR_LIST_DECL_SESG(K26, SCL13, I2C13, SIG_DESC_SET(SCU4B0, 4)); 71 + PIN_DECL_2(K26, GPIOA4, MACLINK1, SCL13); 72 + FUNC_GROUP_DECL(MACLINK1, K26); 73 + 74 + #define L24 5 75 + SIG_EXPR_LIST_DECL_SESG(L24, MACLINK2, MACLINK2, SIG_DESC_SET(SCU410, 5)); 76 + SIG_EXPR_LIST_DECL_SESG(L24, SDA13, I2C13, SIG_DESC_SET(SCU4B0, 5)); 77 + PIN_DECL_2(L24, GPIOA5, MACLINK2, SDA13); 78 + FUNC_GROUP_DECL(MACLINK2, L24); 79 + 80 + FUNC_GROUP_DECL(I2C13, K26, L24); 81 + 82 + #define L23 6 83 + SIG_EXPR_LIST_DECL_SESG(L23, MACLINK3, MACLINK3, SIG_DESC_SET(SCU410, 6)); 84 + SIG_EXPR_LIST_DECL_SESG(L23, SCL14, I2C14, SIG_DESC_SET(SCU4B0, 6)); 85 + PIN_DECL_2(L23, GPIOA6, MACLINK3, SCL14); 86 + FUNC_GROUP_DECL(MACLINK3, L23); 87 + 88 + #define K25 7 89 + SIG_EXPR_LIST_DECL_SESG(K25, MACLINK4, MACLINK4, SIG_DESC_SET(SCU410, 7)); 90 + SIG_EXPR_LIST_DECL_SESG(K25, SDA14, SDA14, SIG_DESC_SET(SCU4B0, 7)); 91 + PIN_DECL_2(K25, GPIOA7, MACLINK4, SDA14); 92 + FUNC_GROUP_DECL(MACLINK4, K25); 93 + 94 + FUNC_GROUP_DECL(I2C14, L23, K25); 95 + 96 + #define J26 8 97 + SIG_EXPR_LIST_DECL_SESG(J26, SALT1, SALT1, SIG_DESC_SET(SCU410, 8)); 98 + SIG_EXPR_LIST_DECL_SESG(J26, LHAD0, LPCHC, SIG_DESC_SET(SCU4B0, 8)); 99 + PIN_DECL_2(J26, GPIOB0, SALT1, LHAD0); 100 + FUNC_GROUP_DECL(SALT1, J26); 101 + 102 + #define K23 9 103 + SIG_EXPR_LIST_DECL_SESG(K23, SALT2, SALT2, SIG_DESC_SET(SCU410, 9)); 104 + SIG_EXPR_LIST_DECL_SESG(K23, LHAD1, LPCHC, SIG_DESC_SET(SCU4B0, 9)); 105 + PIN_DECL_2(K23, GPIOB1, SALT2, LHAD1); 106 + FUNC_GROUP_DECL(SALT2, K23); 107 + 108 + #define H26 10 109 + SIG_EXPR_LIST_DECL_SESG(H26, SALT3, SALT3, SIG_DESC_SET(SCU410, 10)); 110 + SIG_EXPR_LIST_DECL_SESG(H26, LHAD2, LPCHC, SIG_DESC_SET(SCU4B0, 10)); 111 + PIN_DECL_2(H26, GPIOB2, SALT3, LHAD2); 112 + FUNC_GROUP_DECL(SALT3, H26); 113 + 114 + #define J25 11 115 + SIG_EXPR_LIST_DECL_SESG(J25, SALT4, SALT4, SIG_DESC_SET(SCU410, 11)); 116 + SIG_EXPR_LIST_DECL_SESG(J25, LHAD3, LPCHC, SIG_DESC_SET(SCU4B0, 11)); 117 + PIN_DECL_2(J25, GPIOB3, SALT4, LHAD3); 118 + FUNC_GROUP_DECL(SALT4, J25); 119 + 120 + #define J23 12 121 + SIG_EXPR_LIST_DECL_SESG(J23, MDC2, MDIO2, SIG_DESC_SET(SCU410, 12)); 122 + SIG_EXPR_LIST_DECL_SESG(J23, LHCLK, LPCHC, SIG_DESC_SET(SCU4B0, 12)); 123 + PIN_DECL_2(J23, GPIOB4, MDC2, LHCLK); 124 + 125 + #define G26 13 126 + SIG_EXPR_LIST_DECL_SESG(G26, MDIO2, MDIO2, SIG_DESC_SET(SCU410, 13)); 127 + SIG_EXPR_LIST_DECL_SESG(G26, LHFRAME, LPCHC, SIG_DESC_SET(SCU4B0, 13)); 128 + PIN_DECL_2(G26, GPIOB5, MDIO2, LHFRAME); 129 + 130 + FUNC_GROUP_DECL(MDIO2, J23, G26); 131 + 132 + #define H25 14 133 + SIG_EXPR_LIST_DECL_SESG(H25, TXD4, TXD4, SIG_DESC_SET(SCU410, 14)); 134 + SIG_EXPR_LIST_DECL_SESG(H25, LHSIRQ, LHSIRQ, SIG_DESC_SET(SCU4B0, 14)); 135 + PIN_DECL_2(H25, GPIOB6, TXD4, LHSIRQ); 136 + FUNC_GROUP_DECL(TXD4, H25); 137 + FUNC_GROUP_DECL(LHSIRQ, H25); 138 + 139 + #define J24 15 140 + SIG_EXPR_LIST_DECL_SESG(J24, RXD4, RXD4, SIG_DESC_SET(SCU410, 15)); 141 + SIG_EXPR_LIST_DECL_SESG(J24, LHRST, LPCHC, SIG_DESC_SET(SCU4B0, 15)); 142 + PIN_DECL_2(J24, GPIOB7, RXD4, LHRST); 143 + FUNC_GROUP_DECL(RXD4, J24); 144 + 145 + FUNC_GROUP_DECL(LPCHC, J26, K23, H26, J25, J23, G26, H25, J24); 146 + 147 + #define H24 16 148 + SIG_EXPR_LIST_DECL_SESG(H24, RGMII3TXCK, RGMII3, SIG_DESC_SET(SCU410, 16), 149 + SIG_DESC_SET(SCU510, 0)); 150 + SIG_EXPR_LIST_DECL_SESG(H24, RMII3RCLKO, RMII3, SIG_DESC_SET(SCU410, 16), 151 + SIG_DESC_CLEAR(SCU510, 0)); 152 + PIN_DECL_2(H24, GPIOC0, RGMII3TXCK, RMII3RCLKO); 153 + 154 + #define J22 17 155 + SIG_EXPR_LIST_DECL_SESG(J22, RGMII3TXCTL, RGMII3, SIG_DESC_SET(SCU410, 17), 156 + SIG_DESC_SET(SCU510, 0)); 157 + SIG_EXPR_LIST_DECL_SESG(J22, RMII3TXEN, RMII3, SIG_DESC_SET(SCU410, 17), 158 + SIG_DESC_CLEAR(SCU510, 0)); 159 + PIN_DECL_2(J22, GPIOC1, RGMII3TXCTL, RMII3TXEN); 160 + 161 + #define H22 18 162 + SIG_EXPR_LIST_DECL_SESG(H22, RGMII3TXD0, RGMII3, SIG_DESC_SET(SCU410, 18), 163 + SIG_DESC_SET(SCU510, 0)); 164 + SIG_EXPR_LIST_DECL_SESG(H22, RMII3TXD0, RMII3, SIG_DESC_SET(SCU410, 18), 165 + SIG_DESC_CLEAR(SCU510, 0)); 166 + PIN_DECL_2(H22, GPIOC2, RGMII3TXD0, RMII3TXD0); 167 + 168 + #define H23 19 169 + SIG_EXPR_LIST_DECL_SESG(H23, RGMII3TXD1, RGMII3, SIG_DESC_SET(SCU410, 19), 170 + SIG_DESC_SET(SCU510, 0)); 171 + SIG_EXPR_LIST_DECL_SESG(H23, RMII3TXD1, RMII3, SIG_DESC_SET(SCU410, 19), 172 + SIG_DESC_CLEAR(SCU510, 0)); 173 + PIN_DECL_2(H23, GPIOC3, RGMII3TXD1, RMII3TXD1); 174 + 175 + #define G22 20 176 + SIG_EXPR_LIST_DECL_SESG(G22, RGMII3TXD2, RGMII3, SIG_DESC_SET(SCU410, 20), 177 + SIG_DESC_SET(SCU510, 0)); 178 + PIN_DECL_1(G22, GPIOC4, RGMII3TXD2); 179 + 180 + #define F22 21 181 + SIG_EXPR_LIST_DECL_SESG(F22, RGMII3TXD3, RGMII3, SIG_DESC_SET(SCU410, 21), 182 + SIG_DESC_SET(SCU510, 0)); 183 + PIN_DECL_1(F22, GPIOC5, RGMII3TXD3); 184 + 185 + #define G23 22 186 + SIG_EXPR_LIST_DECL_SESG(G23, RGMII3RXCK, RGMII3, SIG_DESC_SET(SCU410, 22), 187 + SIG_DESC_SET(SCU510, 0)); 188 + SIG_EXPR_LIST_DECL_SESG(G23, RMII3RCLKI, RMII3, SIG_DESC_SET(SCU410, 22), 189 + SIG_DESC_CLEAR(SCU510, 0)); 190 + PIN_DECL_2(G23, GPIOC6, RGMII3RXCK, RMII3RCLKI); 191 + 192 + #define G24 23 193 + SIG_EXPR_LIST_DECL_SESG(G24, RGMII3RXCTL, RGMII3, SIG_DESC_SET(SCU410, 23), 194 + SIG_DESC_SET(SCU510, 0)); 195 + PIN_DECL_1(G24, GPIOC7, RGMII3RXCTL); 196 + 197 + #define F23 24 198 + SIG_EXPR_LIST_DECL_SESG(F23, RGMII3RXD0, RGMII3, SIG_DESC_SET(SCU410, 24), 199 + SIG_DESC_SET(SCU510, 0)); 200 + SIG_EXPR_LIST_DECL_SESG(F23, RMII3RXD0, RMII3, SIG_DESC_SET(SCU410, 24), 201 + SIG_DESC_CLEAR(SCU510, 0)); 202 + PIN_DECL_2(F23, GPIOD0, RGMII3RXD0, RMII3RXD0); 203 + 204 + #define F26 25 205 + SIG_EXPR_LIST_DECL_SESG(F26, RGMII3RXD1, RGMII3, SIG_DESC_SET(SCU410, 25), 206 + SIG_DESC_SET(SCU510, 0)); 207 + SIG_EXPR_LIST_DECL_SESG(F26, RMII3RXD1, RMII3, SIG_DESC_SET(SCU410, 25), 208 + SIG_DESC_CLEAR(SCU510, 0)); 209 + PIN_DECL_2(F26, GPIOD1, RGMII3RXD1, RMII3RXD1); 210 + 211 + #define F25 26 212 + SIG_EXPR_LIST_DECL_SESG(F25, RGMII3RXD2, RGMII3, SIG_DESC_SET(SCU410, 26), 213 + SIG_DESC_SET(SCU510, 0)); 214 + SIG_EXPR_LIST_DECL_SESG(F25, RMII3CRSDV, RMII3, SIG_DESC_SET(SCU410, 26), 215 + SIG_DESC_CLEAR(SCU510, 0)); 216 + PIN_DECL_2(F25, GPIOD2, RGMII3RXD2, RMII3CRSDV); 217 + 218 + #define E26 27 219 + SIG_EXPR_LIST_DECL_SESG(E26, RGMII3RXD3, RGMII3, SIG_DESC_SET(SCU410, 27), 220 + SIG_DESC_SET(SCU510, 0)); 221 + SIG_EXPR_LIST_DECL_SESG(E26, RMII3RXER, RMII3, SIG_DESC_SET(SCU410, 27), 222 + SIG_DESC_CLEAR(SCU510, 0)); 223 + PIN_DECL_2(E26, GPIOD3, RGMII3RXD3, RMII3RXER); 224 + 225 + FUNC_GROUP_DECL(RGMII3, H24, J22, H22, H23, G22, F22, G23, G24, F23, F26, F25, 226 + E26); 227 + FUNC_GROUP_DECL(RMII3, H24, J22, H22, H23, G23, F23, F26, F25, E26); 228 + 229 + #define F24 28 230 + SIG_EXPR_LIST_DECL_SESG(F24, NCTS3, NCTS3, SIG_DESC_SET(SCU410, 28)); 231 + SIG_EXPR_LIST_DECL_SESG(F24, RGMII4TXCK, RGMII4, SIG_DESC_SET(SCU4B0, 28), 232 + SIG_DESC_SET(SCU510, 1)); 233 + SIG_EXPR_LIST_DECL_SESG(F24, RMII4RCLKO, RMII4, SIG_DESC_SET(SCU4B0, 28), 234 + SIG_DESC_CLEAR(SCU510, 1)); 235 + PIN_DECL_3(F24, GPIOD4, NCTS3, RGMII4TXCK, RMII4RCLKO); 236 + FUNC_GROUP_DECL(NCTS3, F24); 237 + 238 + #define E23 29 239 + SIG_EXPR_LIST_DECL_SESG(E23, NDCD3, NDCD3, SIG_DESC_SET(SCU410, 29)); 240 + SIG_EXPR_LIST_DECL_SESG(E23, RGMII4TXCTL, RGMII4, SIG_DESC_SET(SCU4B0, 29), 241 + SIG_DESC_SET(SCU510, 1)); 242 + SIG_EXPR_LIST_DECL_SESG(E23, RMII4TXEN, RMII4, SIG_DESC_SET(SCU4B0, 29), 243 + SIG_DESC_CLEAR(SCU510, 1)); 244 + PIN_DECL_3(E23, GPIOD5, NDCD3, RGMII4TXCTL, RMII4TXEN); 245 + FUNC_GROUP_DECL(NDCD3, E23); 246 + 247 + #define E24 30 248 + SIG_EXPR_LIST_DECL_SESG(E24, NDSR3, NDSR3, SIG_DESC_SET(SCU410, 30)); 249 + SIG_EXPR_LIST_DECL_SESG(E24, RGMII4TXD0, RGMII4, SIG_DESC_SET(SCU4B0, 30), 250 + SIG_DESC_SET(SCU510, 1)); 251 + SIG_EXPR_LIST_DECL_SESG(E24, RMII4TXD0, RMII4, SIG_DESC_SET(SCU4B0, 30), 252 + SIG_DESC_CLEAR(SCU510, 1)); 253 + PIN_DECL_3(E24, GPIOD6, NDSR3, RGMII4TXD0, RMII4TXD0); 254 + FUNC_GROUP_DECL(NDSR3, E24); 255 + 256 + #define E25 31 257 + SIG_EXPR_LIST_DECL_SESG(E25, NRI3, NRI3, SIG_DESC_SET(SCU410, 31)); 258 + SIG_EXPR_LIST_DECL_SESG(E25, RGMII4TXD1, RGMII4, SIG_DESC_SET(SCU4B0, 31), 259 + SIG_DESC_SET(SCU510, 1)); 260 + SIG_EXPR_LIST_DECL_SESG(E25, RMII4TXD1, RMII4, SIG_DESC_SET(SCU4B0, 31), 261 + SIG_DESC_CLEAR(SCU510, 1)); 262 + PIN_DECL_3(E25, GPIOD7, NRI3, RGMII4TXD1, RMII4TXD1); 263 + FUNC_GROUP_DECL(NRI3, E25); 264 + 265 + #define D26 32 266 + SIG_EXPR_LIST_DECL_SESG(D26, NDTR3, NDTR3, SIG_DESC_SET(SCU414, 0)); 267 + SIG_EXPR_LIST_DECL_SESG(D26, RGMII4TXD2, RGMII4, SIG_DESC_SET(SCU4B4, 0), 268 + SIG_DESC_SET(SCU510, 1)); 269 + PIN_DECL_2(D26, GPIOE0, NDTR3, RGMII4TXD2); 270 + FUNC_GROUP_DECL(NDTR3, D26); 271 + 272 + #define D24 33 273 + SIG_EXPR_LIST_DECL_SESG(D24, NRTS3, NRTS3, SIG_DESC_SET(SCU414, 1)); 274 + SIG_EXPR_LIST_DECL_SESG(D24, RGMII4TXD3, RGMII4, SIG_DESC_SET(SCU4B4, 1), 275 + SIG_DESC_SET(SCU510, 1)); 276 + PIN_DECL_2(D24, GPIOE1, NRTS3, RGMII4TXD3); 277 + FUNC_GROUP_DECL(NRTS3, D24); 278 + 279 + #define C25 34 280 + SIG_EXPR_LIST_DECL_SESG(C25, NCTS4, NCTS4, SIG_DESC_SET(SCU414, 2)); 281 + SIG_EXPR_LIST_DECL_SESG(C25, RGMII4RXCK, RGMII4, SIG_DESC_SET(SCU4B4, 2), 282 + SIG_DESC_SET(SCU510, 1)); 283 + SIG_EXPR_LIST_DECL_SESG(C25, RMII4RCLKI, RMII4, SIG_DESC_SET(SCU4B4, 2), 284 + SIG_DESC_CLEAR(SCU510, 1)); 285 + PIN_DECL_3(C25, GPIOE2, NCTS4, RGMII4RXCK, RMII4RCLKI); 286 + FUNC_GROUP_DECL(NCTS4, C25); 287 + 288 + #define C26 35 289 + SIG_EXPR_LIST_DECL_SESG(C26, NDCD4, NDCD4, SIG_DESC_SET(SCU414, 3)); 290 + SIG_EXPR_LIST_DECL_SESG(C26, RGMII4RXCTL, RGMII4, SIG_DESC_SET(SCU4B4, 3), 291 + SIG_DESC_SET(SCU510, 1)); 292 + PIN_DECL_2(C26, GPIOE3, NDCD4, RGMII4RXCTL); 293 + FUNC_GROUP_DECL(NDCD4, C26); 294 + 295 + #define C24 36 296 + SIG_EXPR_LIST_DECL_SESG(C24, NDSR4, NDSR4, SIG_DESC_SET(SCU414, 4)); 297 + SIG_EXPR_LIST_DECL_SESG(C24, RGMII4RXD0, RGMII4, SIG_DESC_SET(SCU4B4, 4), 298 + SIG_DESC_SET(SCU510, 1)); 299 + SIG_EXPR_LIST_DECL_SESG(C24, RMII4RXD0, RMII4, SIG_DESC_SET(SCU4B4, 4), 300 + SIG_DESC_CLEAR(SCU510, 1)); 301 + PIN_DECL_3(C24, GPIOE4, NDSR4, RGMII4RXD0, RMII4RXD0); 302 + FUNC_GROUP_DECL(NDSR4, C24); 303 + 304 + #define B26 37 305 + SIG_EXPR_LIST_DECL_SESG(B26, NRI4, NRI4, SIG_DESC_SET(SCU414, 5)); 306 + SIG_EXPR_LIST_DECL_SESG(B26, RGMII4RXD1, RGMII4, SIG_DESC_SET(SCU4B4, 5), 307 + SIG_DESC_SET(SCU510, 1)); 308 + SIG_EXPR_LIST_DECL_SESG(B26, RMII4RXD1, RMII4, SIG_DESC_SET(SCU4B4, 5), 309 + SIG_DESC_CLEAR(SCU510, 1)); 310 + PIN_DECL_3(B26, GPIOE5, NRI4, RGMII4RXD1, RMII4RXD1); 311 + FUNC_GROUP_DECL(NRI4, B26); 312 + 313 + #define B25 38 314 + SIG_EXPR_LIST_DECL_SESG(B25, NDTR4, NDTR4, SIG_DESC_SET(SCU414, 6)); 315 + SIG_EXPR_LIST_DECL_SESG(B25, RGMII4RXD2, RGMII4, SIG_DESC_SET(SCU4B4, 6), 316 + SIG_DESC_SET(SCU510, 1)); 317 + SIG_EXPR_LIST_DECL_SESG(B25, RMII4CRSDV, RMII4, SIG_DESC_SET(SCU4B4, 6), 318 + SIG_DESC_CLEAR(SCU510, 1)); 319 + PIN_DECL_3(B25, GPIOE6, NDTR4, RGMII4RXD2, RMII4CRSDV); 320 + FUNC_GROUP_DECL(NDTR4, B25); 321 + 322 + #define B24 39 323 + SIG_EXPR_LIST_DECL_SESG(B24, NRTS4, NRTS4, SIG_DESC_SET(SCU414, 7)); 324 + SIG_EXPR_LIST_DECL_SESG(B24, RGMII4RXD3, RGMII4, SIG_DESC_SET(SCU4B4, 7), 325 + SIG_DESC_SET(SCU510, 1)); 326 + SIG_EXPR_LIST_DECL_SESG(B24, RMII4RXER, RMII4, SIG_DESC_SET(SCU4B4, 7), 327 + SIG_DESC_CLEAR(SCU510, 1)); 328 + PIN_DECL_3(B24, GPIOE7, NRTS4, RGMII4RXD3, RMII4RXER); 329 + FUNC_GROUP_DECL(NRTS4, B24); 330 + 331 + FUNC_GROUP_DECL(RGMII4, F24, E23, E24, E25, D26, D24, C25, C26, C24, B26, B25, 332 + B24); 333 + FUNC_GROUP_DECL(RMII4, F24, E23, E24, E25, C25, C24, B26, B25, B24); 334 + 335 + #define D22 40 336 + SIG_EXPR_LIST_DECL_SESG(D22, SD1CLK, SD1, SIG_DESC_SET(SCU414, 8)); 337 + SIG_EXPR_LIST_DECL_SEMG(D22, PWM8, PWM8G0, PWM8, SIG_DESC_SET(SCU414, 8)); 338 + PIN_DECL_2(D22, GPIOF0, SD1CLK, PWM8); 339 + GROUP_DECL(PWM8G0, D22); 340 + 341 + #define E22 41 342 + SIG_EXPR_LIST_DECL_SESG(E22, SD1CMD, SD1, SIG_DESC_SET(SCU414, 9)); 343 + SIG_EXPR_LIST_DECL_SEMG(E22, PWM9, PWM9G0, PWM9, SIG_DESC_SET(SCU4B4, 9)); 344 + PIN_DECL_2(E22, GPIOF1, SD1CMD, PWM9); 345 + GROUP_DECL(PWM9G0, E22); 346 + 347 + #define D23 42 348 + SIG_EXPR_LIST_DECL_SESG(D23, SD1DAT0, SD1, SIG_DESC_SET(SCU414, 10)); 349 + SIG_EXPR_LIST_DECL_SEMG(D23, PWM10, PWM10G0, PWM10, SIG_DESC_SET(SCU4B4, 10)); 350 + PIN_DECL_2(D23, GPIOF2, SD1DAT0, PWM10); 351 + GROUP_DECL(PWM10G0, D23); 352 + 353 + #define C23 43 354 + SIG_EXPR_LIST_DECL_SESG(C23, SD1DAT1, SD1, SIG_DESC_SET(SCU414, 11)); 355 + SIG_EXPR_LIST_DECL_SEMG(C23, PWM11, PWM11G0, PWM11, SIG_DESC_SET(SCU4B4, 11)); 356 + PIN_DECL_2(C23, GPIOF3, SD1DAT1, PWM11); 357 + GROUP_DECL(PWM11G0, C23); 358 + 359 + #define C22 44 360 + SIG_EXPR_LIST_DECL_SESG(C22, SD1DAT2, SD1, SIG_DESC_SET(SCU414, 12)); 361 + SIG_EXPR_LIST_DECL_SEMG(C22, PWM12, PWM12G0, PWM12, SIG_DESC_SET(SCU4B4, 12)); 362 + PIN_DECL_2(C22, GPIOF4, SD1DAT2, PWM12); 363 + GROUP_DECL(PWM12G0, C22); 364 + 365 + #define A25 45 366 + SIG_EXPR_LIST_DECL_SESG(A25, SD1DAT3, SD1, SIG_DESC_SET(SCU414, 13)); 367 + SIG_EXPR_LIST_DECL_SEMG(A25, PWM13, PWM13G0, PWM13, SIG_DESC_SET(SCU4B4, 13)); 368 + PIN_DECL_2(A25, GPIOF5, SD1DAT3, PWM13); 369 + GROUP_DECL(PWM13G0, A25); 370 + 371 + #define A24 46 372 + SIG_EXPR_LIST_DECL_SESG(A24, SD1CD, SD1, SIG_DESC_SET(SCU414, 14)); 373 + SIG_EXPR_LIST_DECL_SEMG(A24, PWM14, PWM14G0, PWM14, SIG_DESC_SET(SCU4B4, 14)); 374 + PIN_DECL_2(A24, GPIOF6, SD1CD, PWM14); 375 + GROUP_DECL(PWM14G0, A24); 376 + 377 + #define A23 47 378 + SIG_EXPR_LIST_DECL_SESG(A23, SD1WP, SD1, SIG_DESC_SET(SCU414, 15)); 379 + SIG_EXPR_LIST_DECL_SEMG(A23, PWM15, PWM15G0, PWM15, SIG_DESC_SET(SCU4B4, 15)); 380 + PIN_DECL_2(A23, GPIOF7, SD1WP, PWM15); 381 + GROUP_DECL(PWM15G0, A23); 382 + 383 + FUNC_GROUP_DECL(SD1, D22, E22, D23, C23, C22, A25, A24, A23); 384 + 385 + #define E21 48 386 + SIG_EXPR_LIST_DECL_SESG(E21, TXD6, UART6, SIG_DESC_SET(SCU414, 16)); 387 + SIG_EXPR_LIST_DECL_SESG(E21, SD2CLK, SD2, SIG_DESC_SET(SCU4B4, 16), 388 + SIG_DESC_SET(SCU450, 1)); 389 + SIG_EXPR_LIST_DECL_SEMG(E21, SALT9, SALT9G0, SALT9, SIG_DESC_SET(SCU694, 16)); 390 + PIN_DECL_3(E21, GPIOG0, TXD6, SD2CLK, SALT9); 391 + GROUP_DECL(SALT9G0, E21); 392 + 393 + #define B22 49 394 + SIG_EXPR_LIST_DECL_SESG(B22, RXD6, UART6, SIG_DESC_SET(SCU414, 17)); 395 + SIG_EXPR_LIST_DECL_SESG(B22, SD2CMD, SD2, SIG_DESC_SET(SCU4B4, 17), 396 + SIG_DESC_SET(SCU450, 1)); 397 + SIG_EXPR_LIST_DECL_SEMG(B22, SALT10, SALT10G0, SALT10, 398 + SIG_DESC_SET(SCU694, 17)); 399 + PIN_DECL_3(B22, GPIOG1, RXD6, SD2CMD, SALT10); 400 + GROUP_DECL(SALT10G0, B22); 401 + 402 + FUNC_GROUP_DECL(UART6, E21, B22); 403 + 404 + #define C21 50 405 + SIG_EXPR_LIST_DECL_SESG(C21, TXD7, UART7, SIG_DESC_SET(SCU414, 18)); 406 + SIG_EXPR_LIST_DECL_SESG(C21, SD2DAT0, SD2, SIG_DESC_SET(SCU4B4, 18), 407 + SIG_DESC_SET(SCU450, 1)); 408 + SIG_EXPR_LIST_DECL_SEMG(C21, SALT11, SALT11G0, SALT11, 409 + SIG_DESC_SET(SCU694, 18)); 410 + PIN_DECL_3(C21, GPIOG2, TXD7, SD2DAT0, SALT11); 411 + GROUP_DECL(SALT11G0, C21); 412 + 413 + #define A22 51 414 + SIG_EXPR_LIST_DECL_SESG(A22, RXD7, UART7, SIG_DESC_SET(SCU414, 19)); 415 + SIG_EXPR_LIST_DECL_SESG(A22, SD2DAT1, SD2, SIG_DESC_SET(SCU4B4, 19), 416 + SIG_DESC_SET(SCU450, 1)); 417 + SIG_EXPR_LIST_DECL_SEMG(A22, SALT12, SALT12G0, SALT12, 418 + SIG_DESC_SET(SCU694, 19)); 419 + PIN_DECL_3(A22, GPIOG3, RXD7, SD2DAT1, SALT12); 420 + GROUP_DECL(SALT12G0, A22); 421 + 422 + FUNC_GROUP_DECL(UART7, C21, A22); 423 + 424 + #define A21 52 425 + SIG_EXPR_LIST_DECL_SESG(A21, TXD8, UART8, SIG_DESC_SET(SCU414, 20)); 426 + SIG_EXPR_LIST_DECL_SESG(A21, SD2DAT2, SD2, SIG_DESC_SET(SCU4B4, 20), 427 + SIG_DESC_SET(SCU450, 1)); 428 + SIG_EXPR_LIST_DECL_SEMG(A21, SALT13, SALT13G0, SALT13, 429 + SIG_DESC_SET(SCU694, 20)); 430 + PIN_DECL_3(A21, GPIOG4, TXD8, SD2DAT2, SALT13); 431 + GROUP_DECL(SALT13G0, A21); 432 + 433 + #define E20 53 434 + SIG_EXPR_LIST_DECL_SESG(E20, RXD8, UART8, SIG_DESC_SET(SCU414, 21)); 435 + SIG_EXPR_LIST_DECL_SESG(E20, SD2DAT3, SD2, SIG_DESC_SET(SCU4B4, 21), 436 + SIG_DESC_SET(SCU450, 1)); 437 + SIG_EXPR_LIST_DECL_SEMG(E20, SALT14, SALT14G0, SALT14, 438 + SIG_DESC_SET(SCU694, 21)); 439 + PIN_DECL_3(E20, GPIOG5, RXD8, SD2DAT3, SALT14); 440 + GROUP_DECL(SALT14G0, E20); 441 + 442 + FUNC_GROUP_DECL(UART8, A21, E20); 443 + 444 + #define D21 54 445 + SIG_EXPR_LIST_DECL_SESG(D21, TXD9, UART9, SIG_DESC_SET(SCU414, 22)); 446 + SIG_EXPR_LIST_DECL_SESG(D21, SD2CD, SD2, SIG_DESC_SET(SCU4B4, 22), 447 + SIG_DESC_SET(SCU450, 1)); 448 + SIG_EXPR_LIST_DECL_SEMG(D21, SALT15, SALT15G0, SALT15, 449 + SIG_DESC_SET(SCU694, 22)); 450 + PIN_DECL_3(D21, GPIOG6, TXD9, SD2CD, SALT15); 451 + GROUP_DECL(SALT15G0, D21); 452 + 453 + #define B21 55 454 + SIG_EXPR_LIST_DECL_SESG(B21, RXD9, UART9, SIG_DESC_SET(SCU414, 23)); 455 + SIG_EXPR_LIST_DECL_SESG(B21, SD2WP, SD2, SIG_DESC_SET(SCU4B4, 23), 456 + SIG_DESC_SET(SCU450, 1)); 457 + SIG_EXPR_LIST_DECL_SEMG(B21, SALT16, SALT16G0, SALT16, 458 + SIG_DESC_SET(SCU694, 23)); 459 + PIN_DECL_3(B21, GPIOG7, RXD9, SD2WP, SALT16); 460 + GROUP_DECL(SALT16G0, B21); 461 + 462 + FUNC_GROUP_DECL(UART9, D21, B21); 463 + 464 + FUNC_GROUP_DECL(SD2, E21, B22, C21, A22, A21, E20, D21, B21); 465 + 466 + #define A18 56 467 + SIG_EXPR_LIST_DECL_SESG(A18, SGPM1CLK, SGPM1, SIG_DESC_SET(SCU414, 24)); 468 + PIN_DECL_1(A18, GPIOH0, SGPM1CLK); 469 + 470 + #define B18 57 471 + SIG_EXPR_LIST_DECL_SESG(B18, SGPM1LD, SGPM1, SIG_DESC_SET(SCU414, 25)); 472 + PIN_DECL_1(B18, GPIOH1, SGPM1LD); 473 + 474 + #define C18 58 475 + SIG_EXPR_LIST_DECL_SESG(C18, SGPM1O, SGPM1, SIG_DESC_SET(SCU414, 26)); 476 + PIN_DECL_1(C18, GPIOH2, SGPM1O); 477 + 478 + #define A17 59 479 + SIG_EXPR_LIST_DECL_SESG(A17, SGPM1I, SGPM1, SIG_DESC_SET(SCU414, 27)); 480 + PIN_DECL_1(A17, GPIOH3, SGPM1I); 481 + 482 + FUNC_GROUP_DECL(SGPM1, A18, B18, C18, A17); 483 + 484 + #define D18 60 485 + SIG_EXPR_LIST_DECL_SESG(D18, SGPS1CK, SGPS1, SIG_DESC_SET(SCU414, 28)); 486 + SIG_EXPR_LIST_DECL_SESG(D18, SCL15, I2C15, SIG_DESC_SET(SCU4B4, 28)); 487 + PIN_DECL_2(D18, GPIOH4, SGPS1CK, SCL15); 488 + 489 + #define B17 61 490 + SIG_EXPR_LIST_DECL_SESG(B17, SGPS1LD, SGPS1, SIG_DESC_SET(SCU414, 29)); 491 + SIG_EXPR_LIST_DECL_SESG(B17, SDA15, I2C15, SIG_DESC_SET(SCU4B4, 29)); 492 + PIN_DECL_2(B17, GPIOH5, SGPS1LD, SDA15); 493 + 494 + FUNC_GROUP_DECL(I2C15, D18, B17); 495 + 496 + #define C17 62 497 + SIG_EXPR_LIST_DECL_SESG(C17, SGPS1O, SGPS1, SIG_DESC_SET(SCU414, 30)); 498 + SIG_EXPR_LIST_DECL_SESG(C17, SCL16, I2C16, SIG_DESC_SET(SCU4B4, 30)); 499 + PIN_DECL_2(C17, GPIOH6, SGPS1O, SCL16); 500 + 501 + #define E18 63 502 + SIG_EXPR_LIST_DECL_SESG(E18, SGPS1I, SGPS1, SIG_DESC_SET(SCU414, 31)); 503 + SIG_EXPR_LIST_DECL_SESG(E18, SDA16, I2C16, SIG_DESC_SET(SCU4B4, 31)); 504 + PIN_DECL_2(E18, GPIOH7, SGPS1I, SDA16); 505 + 506 + FUNC_GROUP_DECL(I2C16, C17, E18); 507 + FUNC_GROUP_DECL(SGPS1, D18, B17, C17, E18); 508 + 509 + #define D17 64 510 + SIG_EXPR_LIST_DECL_SESG(D17, MTRSTN, JTAGM, SIG_DESC_SET(SCU418, 0)); 511 + SIG_EXPR_LIST_DECL_SEMG(D17, TXD12, UART12G0, UART12, SIG_DESC_SET(SCU4B8, 0)); 512 + PIN_DECL_2(D17, GPIOI0, MTRSTN, TXD12); 513 + 514 + #define A16 65 515 + SIG_EXPR_LIST_DECL_SESG(A16, MTDI, JTAGM, SIG_DESC_SET(SCU418, 1)); 516 + SIG_EXPR_LIST_DECL_SEMG(A16, RXD12, UART12G0, UART12, SIG_DESC_SET(SCU4B8, 1)); 517 + PIN_DECL_2(A16, GPIOI1, MTDI, RXD12); 518 + 519 + GROUP_DECL(UART12G0, D17, A16); 520 + 521 + #define E17 66 522 + SIG_EXPR_LIST_DECL_SESG(E17, MTCK, JTAGM, SIG_DESC_SET(SCU418, 2)); 523 + SIG_EXPR_LIST_DECL_SEMG(E17, TXD13, UART13G0, UART13, SIG_DESC_SET(SCU4B8, 2)); 524 + PIN_DECL_2(E17, GPIOI2, MTCK, TXD13); 525 + 526 + #define D16 67 527 + SIG_EXPR_LIST_DECL_SESG(D16, MTMS, JTAGM, SIG_DESC_SET(SCU418, 3)); 528 + SIG_EXPR_LIST_DECL_SEMG(D16, RXD13, UART13G0, UART13, SIG_DESC_SET(SCU4B8, 3)); 529 + PIN_DECL_2(D16, GPIOI3, MTMS, RXD13); 530 + 531 + GROUP_DECL(UART13G0, E17, D16); 532 + 533 + #define C16 68 534 + SIG_EXPR_LIST_DECL_SESG(C16, MTDO, JTAGM, SIG_DESC_SET(SCU418, 4)); 535 + PIN_DECL_1(C16, GPIOI4, MTDO); 536 + 537 + FUNC_GROUP_DECL(JTAGM, D17, A16, E17, D16, C16); 538 + 539 + #define E16 69 540 + SIG_EXPR_LIST_DECL_SESG(E16, SIOPBO, SIOPBO, SIG_DESC_SET(SCU418, 5)); 541 + PIN_DECL_1(E16, GPIOI5, SIOPBO); 542 + FUNC_GROUP_DECL(SIOPBO, E16); 543 + 544 + #define B16 70 545 + SIG_EXPR_LIST_DECL_SESG(B16, SIOPBI, SIOPBI, SIG_DESC_SET(SCU418, 6)); 546 + PIN_DECL_1(B16, GPIOI6, SIOPBI); 547 + FUNC_GROUP_DECL(SIOPBI, B16); 548 + 549 + #define A15 71 550 + SIG_EXPR_LIST_DECL_SESG(A15, BMCINT, BMCINT, SIG_DESC_SET(SCU418, 7)); 551 + SIG_EXPR_LIST_DECL_SESG(A15, SIOSCI, SIOSCI, SIG_DESC_SET(SCU4B8, 7)); 552 + PIN_DECL_2(A15, GPIOI7, BMCINT, SIOSCI); 553 + FUNC_GROUP_DECL(BMCINT, A15); 554 + FUNC_GROUP_DECL(SIOSCI, A15); 555 + 556 + #define B20 72 557 + SIG_EXPR_LIST_DECL_SEMG(B20, I3C3SCL, HVI3C3, I3C3, SIG_DESC_SET(SCU418, 8)); 558 + SIG_EXPR_LIST_DECL_SESG(B20, SCL1, I2C1, SIG_DESC_SET(SCU4B8, 8)); 559 + PIN_DECL_2(B20, GPIOJ0, I3C3SCL, SCL1); 560 + 561 + #define A20 73 562 + SIG_EXPR_LIST_DECL_SEMG(A20, I3C3SDA, HVI3C3, I3C3, SIG_DESC_SET(SCU418, 9)); 563 + SIG_EXPR_LIST_DECL_SESG(A20, SDA1, I2C1, SIG_DESC_SET(SCU4B8, 9)); 564 + PIN_DECL_2(A20, GPIOJ1, I3C3SDA, SDA1); 565 + 566 + GROUP_DECL(HVI3C3, B20, A20); 567 + FUNC_GROUP_DECL(I2C1, B20, A20); 568 + 569 + #define E19 74 570 + SIG_EXPR_LIST_DECL_SEMG(E19, I3C4SCL, HVI3C4, I3C4, SIG_DESC_SET(SCU418, 10)); 571 + SIG_EXPR_LIST_DECL_SESG(E19, SCL2, I2C2, SIG_DESC_SET(SCU4B8, 10)); 572 + PIN_DECL_2(E19, GPIOJ2, I3C4SCL, SCL2); 573 + 574 + #define D20 75 575 + SIG_EXPR_LIST_DECL_SEMG(D20, I3C4SDA, HVI3C4, I3C4, SIG_DESC_SET(SCU418, 11)); 576 + SIG_EXPR_LIST_DECL_SESG(D20, SDA2, I2C2, SIG_DESC_SET(SCU4B8, 11)); 577 + PIN_DECL_2(D20, GPIOJ3, I3C4SDA, SDA2); 578 + 579 + GROUP_DECL(HVI3C4, E19, D20); 580 + FUNC_GROUP_DECL(I2C2, E19, D20); 581 + 582 + #define C19 76 583 + SIG_EXPR_LIST_DECL_SESG(C19, I3C5SCL, I3C5, SIG_DESC_SET(SCU418, 12)); 584 + SIG_EXPR_LIST_DECL_SESG(C19, SCL3, I2C3, SIG_DESC_SET(SCU4B8, 12)); 585 + PIN_DECL_2(C19, GPIOJ4, I3C5SCL, SCL3); 586 + 587 + #define A19 77 588 + SIG_EXPR_LIST_DECL_SESG(A19, I3C5SDA, I3C5, SIG_DESC_SET(SCU418, 13)); 589 + SIG_EXPR_LIST_DECL_SESG(A19, SDA3, I2C3, SIG_DESC_SET(SCU4B8, 13)); 590 + PIN_DECL_2(A19, GPIOJ5, I3C5SDA, SDA3); 591 + 592 + FUNC_GROUP_DECL(I3C5, C19, A19); 593 + FUNC_GROUP_DECL(I2C3, C19, A19); 594 + 595 + #define C20 78 596 + SIG_EXPR_LIST_DECL_SESG(C20, I3C6SCL, I3C6, SIG_DESC_SET(SCU418, 14)); 597 + SIG_EXPR_LIST_DECL_SESG(C20, SCL4, I2C4, SIG_DESC_SET(SCU4B8, 14)); 598 + PIN_DECL_2(C20, GPIOJ6, I3C6SCL, SCL4); 599 + 600 + #define D19 79 601 + SIG_EXPR_LIST_DECL_SESG(D19, I3C6SDA, I3C6, SIG_DESC_SET(SCU418, 15)); 602 + SIG_EXPR_LIST_DECL_SESG(D19, SDA4, I2C4, SIG_DESC_SET(SCU4B8, 15)); 603 + PIN_DECL_2(D19, GPIOJ7, I3C6SDA, SDA4); 604 + 605 + FUNC_GROUP_DECL(I3C6, C20, D19); 606 + FUNC_GROUP_DECL(I2C4, C20, D19); 607 + 608 + #define A11 80 609 + SIG_EXPR_LIST_DECL_SESG(A11, SCL5, I2C5, SIG_DESC_SET(SCU418, 16)); 610 + PIN_DECL_1(A11, GPIOK0, SCL5); 611 + 612 + #define C11 81 613 + SIG_EXPR_LIST_DECL_SESG(C11, SDA5, I2C5, SIG_DESC_SET(SCU418, 17)); 614 + PIN_DECL_1(C11, GPIOK1, SDA5); 615 + 616 + FUNC_GROUP_DECL(I2C5, A11, C11); 617 + 618 + #define D12 82 619 + SIG_EXPR_LIST_DECL_SESG(D12, SCL6, I2C6, SIG_DESC_SET(SCU418, 18)); 620 + PIN_DECL_1(D12, GPIOK2, SCL6); 621 + 622 + #define E13 83 623 + SIG_EXPR_LIST_DECL_SESG(E13, SDA6, I2C6, SIG_DESC_SET(SCU418, 19)); 624 + PIN_DECL_1(E13, GPIOK3, SDA6); 625 + 626 + FUNC_GROUP_DECL(I2C6, D12, E13); 627 + 628 + #define D11 84 629 + SIG_EXPR_LIST_DECL_SESG(D11, SCL7, I2C7, SIG_DESC_SET(SCU418, 20)); 630 + PIN_DECL_1(D11, GPIOK4, SCL7); 631 + 632 + #define E11 85 633 + SIG_EXPR_LIST_DECL_SESG(E11, SDA7, I2C7, SIG_DESC_SET(SCU418, 21)); 634 + PIN_DECL_1(E11, GPIOK5, SDA7); 635 + 636 + FUNC_GROUP_DECL(I2C7, D11, E11); 637 + 638 + #define F13 86 639 + SIG_EXPR_LIST_DECL_SESG(F13, SCL8, I2C8, SIG_DESC_SET(SCU418, 22)); 640 + PIN_DECL_1(F13, GPIOK6, SCL8); 641 + 642 + #define E12 87 643 + SIG_EXPR_LIST_DECL_SESG(E12, SDA8, I2C8, SIG_DESC_SET(SCU418, 23)); 644 + PIN_DECL_1(E12, GPIOK7, SDA8); 645 + 646 + FUNC_GROUP_DECL(I2C8, F13, E12); 647 + 648 + #define D15 88 649 + SIG_EXPR_LIST_DECL_SESG(D15, SCL9, I2C9, SIG_DESC_SET(SCU418, 24)); 650 + PIN_DECL_1(D15, GPIOL0, SCL9); 651 + 652 + #define A14 89 653 + SIG_EXPR_LIST_DECL_SESG(A14, SDA9, I2C9, SIG_DESC_SET(SCU418, 25)); 654 + PIN_DECL_1(A14, GPIOL1, SDA9); 655 + 656 + FUNC_GROUP_DECL(I2C9, D15, A14); 657 + 658 + #define E15 90 659 + SIG_EXPR_LIST_DECL_SESG(E15, SCL10, I2C10, SIG_DESC_SET(SCU418, 26)); 660 + PIN_DECL_1(E15, GPIOL2, SCL10); 661 + 662 + #define A13 91 663 + SIG_EXPR_LIST_DECL_SESG(A13, SDA10, I2C10, SIG_DESC_SET(SCU418, 27)); 664 + PIN_DECL_1(A13, GPIOL3, SDA10); 665 + 666 + FUNC_GROUP_DECL(I2C10, E15, A13); 667 + 668 + #define C15 92 669 + SSSF_PIN_DECL(C15, GPIOL4, TXD3, SIG_DESC_SET(SCU418, 28)); 670 + 671 + #define F15 93 672 + SSSF_PIN_DECL(F15, GPIOL5, RXD3, SIG_DESC_SET(SCU418, 29)); 673 + 674 + #define B14 94 675 + SSSF_PIN_DECL(B14, GPIOL6, VGAHS, SIG_DESC_SET(SCU418, 30)); 676 + 677 + #define C14 95 678 + SSSF_PIN_DECL(C14, GPIOL7, VGAVS, SIG_DESC_SET(SCU418, 31)); 679 + 680 + #define D14 96 681 + SSSF_PIN_DECL(D14, GPIOM0, NCTS1, SIG_DESC_SET(SCU41C, 0)); 682 + 683 + #define B13 97 684 + SSSF_PIN_DECL(B13, GPIOM1, NDCD1, SIG_DESC_SET(SCU41C, 1)); 685 + 686 + #define A12 98 687 + SSSF_PIN_DECL(A12, GPIOM2, NDSR1, SIG_DESC_SET(SCU41C, 2)); 688 + 689 + #define E14 99 690 + SSSF_PIN_DECL(E14, GPIOM3, NRI1, SIG_DESC_SET(SCU41C, 3)); 691 + 692 + #define B12 100 693 + SSSF_PIN_DECL(B12, GPIOM4, NDTR1, SIG_DESC_SET(SCU41C, 4)); 694 + 695 + #define C12 101 696 + SSSF_PIN_DECL(C12, GPIOM5, NRTS1, SIG_DESC_SET(SCU41C, 5)); 697 + 698 + #define C13 102 699 + SSSF_PIN_DECL(C13, GPIOM6, TXD1, SIG_DESC_SET(SCU41C, 6)); 700 + 701 + #define D13 103 702 + SSSF_PIN_DECL(D13, GPIOM7, RXD1, SIG_DESC_SET(SCU41C, 7)); 703 + 704 + #define P25 104 705 + SSSF_PIN_DECL(P25, GPION0, NCTS2, SIG_DESC_SET(SCU41C, 8)); 706 + 707 + #define N23 105 708 + SSSF_PIN_DECL(N23, GPION1, NDCD2, SIG_DESC_SET(SCU41C, 9)); 709 + 710 + #define N25 106 711 + SSSF_PIN_DECL(N25, GPION2, NDSR2, SIG_DESC_SET(SCU41C, 10)); 712 + 713 + #define N24 107 714 + SSSF_PIN_DECL(N24, GPION3, NRI2, SIG_DESC_SET(SCU41C, 11)); 715 + 716 + #define P26 108 717 + SSSF_PIN_DECL(P26, GPION4, NDTR2, SIG_DESC_SET(SCU41C, 12)); 718 + 719 + #define M23 109 720 + SSSF_PIN_DECL(M23, GPION5, NRTS2, SIG_DESC_SET(SCU41C, 13)); 721 + 722 + #define N26 110 723 + SSSF_PIN_DECL(N26, GPION6, TXD2, SIG_DESC_SET(SCU41C, 14)); 724 + 725 + #define M26 111 726 + SSSF_PIN_DECL(M26, GPION7, RXD2, SIG_DESC_SET(SCU41C, 15)); 727 + 728 + #define AD26 112 729 + SSSF_PIN_DECL(AD26, GPIOO0, PWM0, SIG_DESC_SET(SCU41C, 16)); 730 + 731 + #define AD22 113 732 + SSSF_PIN_DECL(AD22, GPIOO1, PWM1, SIG_DESC_SET(SCU41C, 17)); 733 + 734 + #define AD23 114 735 + SSSF_PIN_DECL(AD23, GPIOO2, PWM2, SIG_DESC_SET(SCU41C, 18)); 736 + 737 + #define AD24 115 738 + SSSF_PIN_DECL(AD24, GPIOO3, PWM3, SIG_DESC_SET(SCU41C, 19)); 739 + 740 + #define AD25 116 741 + SSSF_PIN_DECL(AD25, GPIOO4, PWM4, SIG_DESC_SET(SCU41C, 20)); 742 + 743 + #define AC22 117 744 + SSSF_PIN_DECL(AC22, GPIOO5, PWM5, SIG_DESC_SET(SCU41C, 21)); 745 + 746 + #define AC24 118 747 + SSSF_PIN_DECL(AC24, GPIOO6, PWM6, SIG_DESC_SET(SCU41C, 22)); 748 + 749 + #define AC23 119 750 + SSSF_PIN_DECL(AC23, GPIOO7, PWM7, SIG_DESC_SET(SCU41C, 23)); 751 + 752 + #define AB22 120 753 + SIG_EXPR_LIST_DECL_SEMG(AB22, PWM8, PWM8G1, PWM8, SIG_DESC_SET(SCU41C, 24)); 754 + SIG_EXPR_LIST_DECL_SESG(AB22, THRUIN0, THRU0, SIG_DESC_SET(SCU4BC, 24)); 755 + PIN_DECL_2(AB22, GPIOP0, PWM8, THRUIN0); 756 + GROUP_DECL(PWM8G1, AB22); 757 + FUNC_DECL_2(PWM8, PWM8G0, PWM8G1); 758 + 759 + #define W24 121 760 + SIG_EXPR_LIST_DECL_SEMG(W24, PWM9, PWM9G1, PWM9, SIG_DESC_SET(SCU41C, 25)); 761 + SIG_EXPR_LIST_DECL_SESG(W24, THRUOUT0, THRU0, SIG_DESC_SET(SCU4BC, 25)); 762 + PIN_DECL_2(W24, GPIOP1, PWM9, THRUOUT0); 763 + 764 + FUNC_GROUP_DECL(THRU0, AB22, W24); 765 + 766 + GROUP_DECL(PWM9G1, W24); 767 + FUNC_DECL_2(PWM9, PWM9G0, PWM9G1); 768 + 769 + #define AA23 122 770 + SIG_EXPR_LIST_DECL_SEMG(AA23, PWM10, PWM10G1, PWM10, SIG_DESC_SET(SCU41C, 26)); 771 + SIG_EXPR_LIST_DECL_SESG(AA23, THRUIN1, THRU1, SIG_DESC_SET(SCU4BC, 26)); 772 + PIN_DECL_2(AA23, GPIOP2, PWM10, THRUIN1); 773 + GROUP_DECL(PWM10G1, AA23); 774 + FUNC_DECL_2(PWM10, PWM10G0, PWM10G1); 775 + 776 + #define AA24 123 777 + SIG_EXPR_LIST_DECL_SEMG(AA24, PWM11, PWM11G1, PWM11, SIG_DESC_SET(SCU41C, 27)); 778 + SIG_EXPR_LIST_DECL_SESG(AA24, THRUOUT1, THRU1, SIG_DESC_SET(SCU4BC, 27)); 779 + PIN_DECL_2(AA24, GPIOP3, PWM11, THRUOUT1); 780 + GROUP_DECL(PWM11G1, AA24); 781 + FUNC_DECL_2(PWM11, PWM11G0, PWM11G1); 782 + 783 + FUNC_GROUP_DECL(THRU1, AA23, AA24); 784 + 785 + #define W23 124 786 + SIG_EXPR_LIST_DECL_SEMG(W23, PWM12, PWM12G1, PWM12, SIG_DESC_SET(SCU41C, 28)); 787 + SIG_EXPR_LIST_DECL_SESG(W23, THRUIN2, THRU2, SIG_DESC_SET(SCU4BC, 28)); 788 + PIN_DECL_2(W23, GPIOP4, PWM12, THRUIN2); 789 + GROUP_DECL(PWM12G1, W23); 790 + FUNC_DECL_2(PWM12, PWM12G0, PWM12G1); 791 + 792 + #define AB23 125 793 + SIG_EXPR_LIST_DECL_SEMG(AB23, PWM13, PWM13G1, PWM13, SIG_DESC_SET(SCU41C, 29)); 794 + SIG_EXPR_LIST_DECL_SESG(AB23, THRUOUT2, THRU2, SIG_DESC_SET(SCU4BC, 29)); 795 + PIN_DECL_2(AB23, GPIOP5, PWM13, THRUOUT2); 796 + GROUP_DECL(PWM13G1, AB23); 797 + FUNC_DECL_2(PWM13, PWM13G0, PWM13G1); 798 + 799 + FUNC_GROUP_DECL(THRU2, W23, AB23); 800 + 801 + #define AB24 126 802 + SIG_EXPR_LIST_DECL_SEMG(AB24, PWM14, PWM14G1, PWM14, SIG_DESC_SET(SCU41C, 30)); 803 + SIG_EXPR_LIST_DECL_SESG(AB24, THRUIN3, THRU3, SIG_DESC_SET(SCU4BC, 30)); 804 + PIN_DECL_2(AB24, GPIOP6, PWM14, THRUIN3); 805 + GROUP_DECL(PWM14G1, AB24); 806 + FUNC_DECL_2(PWM14, PWM14G0, PWM14G1); 807 + 808 + #define Y23 127 809 + SIG_EXPR_LIST_DECL_SEMG(Y23, PWM15, PWM15G1, PWM15, SIG_DESC_SET(SCU41C, 31)); 810 + SIG_EXPR_LIST_DECL_SESG(Y23, THRUOUT3, THRU3, SIG_DESC_SET(SCU4BC, 31)); 811 + PIN_DECL_2(Y23, GPIOP7, PWM15, THRUOUT3); 812 + GROUP_DECL(PWM15G1, Y23); 813 + FUNC_DECL_2(PWM15, PWM15G0, PWM15G1); 814 + 815 + FUNC_GROUP_DECL(THRU3, AB24, Y23); 816 + 817 + #define AA25 128 818 + SSSF_PIN_DECL(AA25, GPIOQ0, TACH0, SIG_DESC_SET(SCU430, 0)); 819 + 820 + #define AB25 129 821 + SSSF_PIN_DECL(AB25, GPIOQ1, TACH1, SIG_DESC_SET(SCU430, 1)); 822 + 823 + #define Y24 130 824 + SSSF_PIN_DECL(Y24, GPIOQ2, TACH2, SIG_DESC_SET(SCU430, 2)); 825 + 826 + #define AB26 131 827 + SSSF_PIN_DECL(AB26, GPIOQ3, TACH3, SIG_DESC_SET(SCU430, 3)); 828 + 829 + #define Y26 132 830 + SSSF_PIN_DECL(Y26, GPIOQ4, TACH4, SIG_DESC_SET(SCU430, 4)); 831 + 832 + #define AC26 133 833 + SSSF_PIN_DECL(AC26, GPIOQ5, TACH5, SIG_DESC_SET(SCU430, 5)); 834 + 835 + #define Y25 134 836 + SSSF_PIN_DECL(Y25, GPIOQ6, TACH6, SIG_DESC_SET(SCU430, 6)); 837 + 838 + #define AA26 135 839 + SSSF_PIN_DECL(AA26, GPIOQ7, TACH7, SIG_DESC_SET(SCU430, 7)); 840 + 841 + #define V25 136 842 + SSSF_PIN_DECL(V25, GPIOR0, TACH8, SIG_DESC_SET(SCU430, 8)); 843 + 844 + #define U24 137 845 + SSSF_PIN_DECL(U24, GPIOR1, TACH9, SIG_DESC_SET(SCU430, 9)); 846 + 847 + #define V24 138 848 + SSSF_PIN_DECL(V24, GPIOR2, TACH10, SIG_DESC_SET(SCU430, 10)); 849 + 850 + #define V26 139 851 + SSSF_PIN_DECL(V26, GPIOR3, TACH11, SIG_DESC_SET(SCU430, 11)); 852 + 853 + #define U25 140 854 + SSSF_PIN_DECL(U25, GPIOR4, TACH12, SIG_DESC_SET(SCU430, 12)); 855 + 856 + #define T23 141 857 + SSSF_PIN_DECL(T23, GPIOR5, TACH13, SIG_DESC_SET(SCU430, 13)); 858 + 859 + #define W26 142 860 + SSSF_PIN_DECL(W26, GPIOR6, TACH14, SIG_DESC_SET(SCU430, 14)); 861 + 862 + #define U26 143 863 + SSSF_PIN_DECL(U26, GPIOR7, TACH15, SIG_DESC_SET(SCU430, 15)); 864 + 865 + #define R23 144 866 + SIG_EXPR_LIST_DECL_SESG(R23, MDC1, MDIO1, SIG_DESC_SET(SCU430, 16)); 867 + PIN_DECL_1(R23, GPIOS0, MDC1); 868 + 869 + #define T25 145 870 + SIG_EXPR_LIST_DECL_SESG(T25, MDIO1, MDIO1, SIG_DESC_SET(SCU430, 17)); 871 + PIN_DECL_1(T25, GPIOS1, MDIO1); 872 + 873 + FUNC_GROUP_DECL(MDIO1, R23, T25); 874 + 875 + #define T26 146 876 + SSSF_PIN_DECL(T26, GPIOS2, PEWAKE, SIG_DESC_SET(SCU430, 18)); 877 + 878 + #define R24 147 879 + SSSF_PIN_DECL(R24, GPIOS3, OSCCLK, SIG_DESC_SET(SCU430, 19)); 880 + 881 + #define R26 148 882 + SIG_EXPR_LIST_DECL_SESG(R26, TXD10, UART10, SIG_DESC_SET(SCU430, 20)); 883 + PIN_DECL_1(R26, GPIOS4, TXD10); 884 + 885 + #define P24 149 886 + SIG_EXPR_LIST_DECL_SESG(P24, RXD10, UART10, SIG_DESC_SET(SCU430, 21)); 887 + PIN_DECL_1(P24, GPIOS5, RXD10); 888 + 889 + FUNC_GROUP_DECL(UART10, R26, P24); 890 + 891 + #define P23 150 892 + SIG_EXPR_LIST_DECL_SESG(P23, TXD11, UART11, SIG_DESC_SET(SCU430, 22)); 893 + PIN_DECL_1(P23, GPIOS6, TXD11); 894 + 895 + #define T24 151 896 + SIG_EXPR_LIST_DECL_SESG(T24, RXD11, UART11, SIG_DESC_SET(SCU430, 23)); 897 + PIN_DECL_1(T24, GPIOS7, RXD11); 898 + 899 + FUNC_GROUP_DECL(UART11, P23, T24); 900 + 901 + #define AD20 152 902 + SIG_EXPR_LIST_DECL_SESG(AD20, GPIT0, GPIT0, SIG_DESC_SET(SCU430, 24)); 903 + SIG_EXPR_LIST_DECL_SESG(AD20, ADC0, ADC0); 904 + PIN_DECL_(AD20, SIG_EXPR_LIST_PTR(AD20, GPIT0), SIG_EXPR_LIST_PTR(AD20, ADC0)); 905 + FUNC_GROUP_DECL(GPIT0, AD20); 906 + FUNC_GROUP_DECL(ADC0, AD20); 907 + 908 + #define AC18 153 909 + SIG_EXPR_LIST_DECL_SESG(AC18, GPIT1, GPIT1, SIG_DESC_SET(SCU430, 25)); 910 + SIG_EXPR_LIST_DECL_SESG(AC18, ADC1, ADC1); 911 + PIN_DECL_(AC18, SIG_EXPR_LIST_PTR(AC18, GPIT1), SIG_EXPR_LIST_PTR(AC18, ADC1)); 912 + FUNC_GROUP_DECL(GPIT1, AC18); 913 + FUNC_GROUP_DECL(ADC1, AC18); 914 + 915 + #define AE19 154 916 + SIG_EXPR_LIST_DECL_SESG(AE19, GPIT2, GPIT2, SIG_DESC_SET(SCU430, 26)); 917 + SIG_EXPR_LIST_DECL_SESG(AE19, ADC2, ADC2); 918 + PIN_DECL_(AE19, SIG_EXPR_LIST_PTR(AE19, GPIT2), SIG_EXPR_LIST_PTR(AE19, ADC2)); 919 + FUNC_GROUP_DECL(GPIT2, AE19); 920 + FUNC_GROUP_DECL(ADC2, AE19); 921 + 922 + #define AD19 155 923 + SIG_EXPR_LIST_DECL_SESG(AD19, GPIT3, GPIT3, SIG_DESC_SET(SCU430, 27)); 924 + SIG_EXPR_LIST_DECL_SESG(AD19, ADC3, ADC3); 925 + PIN_DECL_(AD19, SIG_EXPR_LIST_PTR(AD19, GPIT3), SIG_EXPR_LIST_PTR(AD19, ADC3)); 926 + FUNC_GROUP_DECL(GPIT3, AD19); 927 + FUNC_GROUP_DECL(ADC3, AD19); 928 + 929 + #define AC19 156 930 + SIG_EXPR_LIST_DECL_SESG(AC19, GPIT4, GPIT4, SIG_DESC_SET(SCU430, 28)); 931 + SIG_EXPR_LIST_DECL_SESG(AC19, ADC4, ADC4); 932 + PIN_DECL_(AC19, SIG_EXPR_LIST_PTR(AC19, GPIT4), SIG_EXPR_LIST_PTR(AC19, ADC4)); 933 + FUNC_GROUP_DECL(GPIT4, AC19); 934 + FUNC_GROUP_DECL(ADC4, AC19); 935 + 936 + #define AB19 157 937 + SIG_EXPR_LIST_DECL_SESG(AB19, GPIT5, GPIT5, SIG_DESC_SET(SCU430, 29)); 938 + SIG_EXPR_LIST_DECL_SESG(AB19, ADC5, ADC5); 939 + PIN_DECL_(AB19, SIG_EXPR_LIST_PTR(AB19, GPIT5), SIG_EXPR_LIST_PTR(AB19, ADC5)); 940 + FUNC_GROUP_DECL(GPIT5, AB19); 941 + FUNC_GROUP_DECL(ADC5, AB19); 942 + 943 + #define AB18 158 944 + SIG_EXPR_LIST_DECL_SESG(AB18, GPIT6, GPIT6, SIG_DESC_SET(SCU430, 30)); 945 + SIG_EXPR_LIST_DECL_SESG(AB18, ADC6, ADC6); 946 + PIN_DECL_(AB18, SIG_EXPR_LIST_PTR(AB18, GPIT6), SIG_EXPR_LIST_PTR(AB18, ADC6)); 947 + FUNC_GROUP_DECL(GPIT6, AB18); 948 + FUNC_GROUP_DECL(ADC6, AB18); 949 + 950 + #define AE18 159 951 + SIG_EXPR_LIST_DECL_SESG(AE18, GPIT7, GPIT7, SIG_DESC_SET(SCU430, 31)); 952 + SIG_EXPR_LIST_DECL_SESG(AE18, ADC7, ADC7); 953 + PIN_DECL_(AE18, SIG_EXPR_LIST_PTR(AE18, GPIT7), SIG_EXPR_LIST_PTR(AE18, ADC7)); 954 + FUNC_GROUP_DECL(GPIT7, AE18); 955 + FUNC_GROUP_DECL(ADC7, AE18); 956 + 957 + #define AB16 160 958 + SIG_EXPR_LIST_DECL_SEMG(AB16, SALT9, SALT9G1, SALT9, SIG_DESC_SET(SCU434, 0), 959 + SIG_DESC_CLEAR(SCU694, 16)); 960 + SIG_EXPR_LIST_DECL_SESG(AB16, GPIU0, GPIU0, SIG_DESC_SET(SCU434, 0), 961 + SIG_DESC_SET(SCU694, 16)); 962 + SIG_EXPR_LIST_DECL_SESG(AB16, ADC8, ADC8); 963 + PIN_DECL_(AB16, SIG_EXPR_LIST_PTR(AB16, SALT9), SIG_EXPR_LIST_PTR(AB16, GPIU0), 964 + SIG_EXPR_LIST_PTR(AB16, ADC8)); 965 + GROUP_DECL(SALT9G1, AB16); 966 + FUNC_DECL_2(SALT9, SALT9G0, SALT9G1); 967 + FUNC_GROUP_DECL(GPIU0, AB16); 968 + FUNC_GROUP_DECL(ADC8, AB16); 969 + 970 + #define AA17 161 971 + SIG_EXPR_LIST_DECL_SEMG(AA17, SALT10, SALT10G1, SALT10, SIG_DESC_SET(SCU434, 1), 972 + SIG_DESC_CLEAR(SCU694, 17)); 973 + SIG_EXPR_LIST_DECL_SESG(AA17, GPIU1, GPIU1, SIG_DESC_SET(SCU434, 1), 974 + SIG_DESC_SET(SCU694, 17)); 975 + SIG_EXPR_LIST_DECL_SESG(AA17, ADC9, ADC9); 976 + PIN_DECL_(AA17, SIG_EXPR_LIST_PTR(AA17, SALT10), SIG_EXPR_LIST_PTR(AA17, GPIU1), 977 + SIG_EXPR_LIST_PTR(AA17, ADC9)); 978 + GROUP_DECL(SALT10G1, AA17); 979 + FUNC_DECL_2(SALT10, SALT10G0, SALT10G1); 980 + FUNC_GROUP_DECL(GPIU1, AA17); 981 + FUNC_GROUP_DECL(ADC9, AA17); 982 + 983 + #define AB17 162 984 + SIG_EXPR_LIST_DECL_SEMG(AB17, SALT11, SALT11G1, SALT11, SIG_DESC_SET(SCU434, 2), 985 + SIG_DESC_CLEAR(SCU694, 18)); 986 + SIG_EXPR_LIST_DECL_SESG(AB17, GPIU2, GPIU2, SIG_DESC_SET(SCU434, 2), 987 + SIG_DESC_SET(SCU694, 18)); 988 + SIG_EXPR_LIST_DECL_SESG(AB17, ADC10, ADC10); 989 + PIN_DECL_(AB17, SIG_EXPR_LIST_PTR(AB17, SALT11), SIG_EXPR_LIST_PTR(AB17, GPIU2), 990 + SIG_EXPR_LIST_PTR(AB17, ADC10)); 991 + GROUP_DECL(SALT11G1, AB17); 992 + FUNC_DECL_2(SALT11, SALT11G0, SALT11G1); 993 + FUNC_GROUP_DECL(GPIU2, AB17); 994 + FUNC_GROUP_DECL(ADC10, AB17); 995 + 996 + #define AE16 163 997 + SIG_EXPR_LIST_DECL_SEMG(AE16, SALT12, SALT12G1, SALT12, SIG_DESC_SET(SCU434, 3), 998 + SIG_DESC_CLEAR(SCU694, 19)); 999 + SIG_EXPR_LIST_DECL_SESG(AE16, GPIU3, GPIU3, SIG_DESC_SET(SCU434, 3), 1000 + SIG_DESC_SET(SCU694, 19)); 1001 + SIG_EXPR_LIST_DECL_SESG(AE16, ADC11, ADC11); 1002 + PIN_DECL_(AE16, SIG_EXPR_LIST_PTR(AE16, SALT12), SIG_EXPR_LIST_PTR(AE16, GPIU3), 1003 + SIG_EXPR_LIST_PTR(AE16, ADC11)); 1004 + GROUP_DECL(SALT12G1, AE16); 1005 + FUNC_DECL_2(SALT12, SALT12G0, SALT12G1); 1006 + FUNC_GROUP_DECL(GPIU3, AE16); 1007 + FUNC_GROUP_DECL(ADC11, AE16); 1008 + 1009 + #define AC16 164 1010 + SIG_EXPR_LIST_DECL_SEMG(AC16, SALT13, SALT13G1, SALT13, SIG_DESC_SET(SCU434, 4), 1011 + SIG_DESC_CLEAR(SCU694, 20)); 1012 + SIG_EXPR_LIST_DECL_SESG(AC16, GPIU4, GPIU4, SIG_DESC_SET(SCU434, 4), 1013 + SIG_DESC_SET(SCU694, 20)); 1014 + SIG_EXPR_LIST_DECL_SESG(AC16, ADC12, ADC12); 1015 + PIN_DECL_(AC16, SIG_EXPR_LIST_PTR(AC16, SALT13), SIG_EXPR_LIST_PTR(AC16, GPIU4), 1016 + SIG_EXPR_LIST_PTR(AC16, ADC12)); 1017 + GROUP_DECL(SALT13G1, AC16); 1018 + FUNC_DECL_2(SALT13, SALT13G0, SALT13G1); 1019 + FUNC_GROUP_DECL(GPIU4, AC16); 1020 + FUNC_GROUP_DECL(ADC12, AC16); 1021 + 1022 + #define AA16 165 1023 + SIG_EXPR_LIST_DECL_SEMG(AA16, SALT14, SALT14G1, SALT14, SIG_DESC_SET(SCU434, 5), 1024 + SIG_DESC_CLEAR(SCU694, 21)); 1025 + SIG_EXPR_LIST_DECL_SESG(AA16, GPIU5, GPIU5, SIG_DESC_SET(SCU434, 5), 1026 + SIG_DESC_SET(SCU694, 21)); 1027 + SIG_EXPR_LIST_DECL_SESG(AA16, ADC13, ADC13); 1028 + PIN_DECL_(AA16, SIG_EXPR_LIST_PTR(AA16, SALT14), SIG_EXPR_LIST_PTR(AA16, GPIU5), 1029 + SIG_EXPR_LIST_PTR(AA16, ADC13)); 1030 + GROUP_DECL(SALT14G1, AA16); 1031 + FUNC_DECL_2(SALT14, SALT14G0, SALT14G1); 1032 + FUNC_GROUP_DECL(GPIU5, AA16); 1033 + FUNC_GROUP_DECL(ADC13, AA16); 1034 + 1035 + #define AD16 166 1036 + SIG_EXPR_LIST_DECL_SEMG(AD16, SALT15, SALT15G1, SALT15, SIG_DESC_SET(SCU434, 6), 1037 + SIG_DESC_CLEAR(SCU694, 22)); 1038 + SIG_EXPR_LIST_DECL_SESG(AD16, GPIU6, GPIU6, SIG_DESC_SET(SCU434, 6), 1039 + SIG_DESC_SET(SCU694, 22)); 1040 + SIG_EXPR_LIST_DECL_SESG(AD16, ADC14, ADC14); 1041 + PIN_DECL_(AD16, SIG_EXPR_LIST_PTR(AD16, SALT15), SIG_EXPR_LIST_PTR(AD16, GPIU6), 1042 + SIG_EXPR_LIST_PTR(AD16, ADC14)); 1043 + GROUP_DECL(SALT15G1, AD16); 1044 + FUNC_DECL_2(SALT15, SALT15G0, SALT15G1); 1045 + FUNC_GROUP_DECL(GPIU6, AD16); 1046 + FUNC_GROUP_DECL(ADC14, AD16); 1047 + 1048 + #define AC17 167 1049 + SIG_EXPR_LIST_DECL_SEMG(AC17, SALT16, SALT16G1, SALT16, SIG_DESC_SET(SCU434, 7), 1050 + SIG_DESC_CLEAR(SCU694, 23)); 1051 + SIG_EXPR_LIST_DECL_SESG(AC17, GPIU7, GPIU7, SIG_DESC_SET(SCU434, 7), 1052 + SIG_DESC_SET(SCU694, 23)); 1053 + SIG_EXPR_LIST_DECL_SESG(AC17, ADC15, ADC15); 1054 + PIN_DECL_(AC17, SIG_EXPR_LIST_PTR(AC17, SALT16), SIG_EXPR_LIST_PTR(AC17, GPIU7), 1055 + SIG_EXPR_LIST_PTR(AC17, ADC15)); 1056 + GROUP_DECL(SALT16G1, AC17); 1057 + FUNC_DECL_2(SALT16, SALT16G0, SALT16G1); 1058 + FUNC_GROUP_DECL(GPIU7, AC17); 1059 + FUNC_GROUP_DECL(ADC15, AC17); 1060 + 1061 + #define AB15 168 1062 + SSSF_PIN_DECL(AB15, GPIOV0, SIOS3, SIG_DESC_SET(SCU434, 8)); 1063 + 1064 + #define AF14 169 1065 + SSSF_PIN_DECL(AF14, GPIOV1, SIOS5, SIG_DESC_SET(SCU434, 9)); 1066 + 1067 + #define AD14 170 1068 + SSSF_PIN_DECL(AD14, GPIOV2, SIOPWREQ, SIG_DESC_SET(SCU434, 10)); 1069 + 1070 + #define AC15 171 1071 + SSSF_PIN_DECL(AC15, GPIOV3, SIOONCTRL, SIG_DESC_SET(SCU434, 11)); 1072 + 1073 + #define AE15 172 1074 + SSSF_PIN_DECL(AE15, GPIOV4, SIOPWRGD, SIG_DESC_SET(SCU434, 12)); 1075 + 1076 + #define AE14 173 1077 + SIG_EXPR_LIST_DECL_SESG(AE14, LPCPD, LPCPD, SIG_DESC_SET(SCU434, 13)); 1078 + SIG_EXPR_LIST_DECL_SESG(AE14, LHPD, LHPD, SIG_DESC_SET(SCU4D4, 13)); 1079 + PIN_DECL_2(AE14, GPIOV5, LPCPD, LHPD); 1080 + FUNC_GROUP_DECL(LPCPD, AE14); 1081 + FUNC_GROUP_DECL(LHPD, AE14); 1082 + 1083 + #define AD15 174 1084 + SSSF_PIN_DECL(AD15, GPIOV6, LPCPME, SIG_DESC_SET(SCU434, 14)); 1085 + 1086 + #define AF15 175 1087 + SSSF_PIN_DECL(AF15, GPIOV7, LPCSMI, SIG_DESC_SET(SCU434, 15)); 1088 + 1089 + #define AB7 176 1090 + SIG_EXPR_LIST_DECL_SESG(AB7, LAD0, LPC, SIG_DESC_SET(SCU434, 16), 1091 + SIG_DESC_CLEAR(SCU510, 6)); 1092 + SIG_EXPR_LIST_DECL_SESG(AB7, ESPID0, ESPI, SIG_DESC_SET(SCU434, 16), 1093 + SIG_DESC_SET(SCU510, 6)); 1094 + PIN_DECL_2(AB7, GPIOW0, LAD0, ESPID0); 1095 + 1096 + #define AB8 177 1097 + SIG_EXPR_LIST_DECL_SESG(AB8, LAD1, LPC, SIG_DESC_SET(SCU434, 17), 1098 + SIG_DESC_CLEAR(SCU510, 6)); 1099 + SIG_EXPR_LIST_DECL_SESG(AB8, ESPID1, ESPI, SIG_DESC_SET(SCU434, 17), 1100 + SIG_DESC_SET(SCU510, 6)); 1101 + PIN_DECL_2(AB8, GPIOW1, LAD1, ESPID1); 1102 + 1103 + #define AC8 178 1104 + SIG_EXPR_LIST_DECL_SESG(AC8, LAD2, LPC, SIG_DESC_SET(SCU434, 18), 1105 + SIG_DESC_CLEAR(SCU510, 6)); 1106 + SIG_EXPR_LIST_DECL_SESG(AC8, ESPID2, ESPI, SIG_DESC_SET(SCU434, 18), 1107 + SIG_DESC_SET(SCU510, 6)); 1108 + PIN_DECL_2(AC8, GPIOW2, LAD2, ESPID2); 1109 + 1110 + #define AC7 179 1111 + SIG_EXPR_LIST_DECL_SESG(AC7, LAD3, LPC, SIG_DESC_SET(SCU434, 19), 1112 + SIG_DESC_CLEAR(SCU510, 6)); 1113 + SIG_EXPR_LIST_DECL_SESG(AC7, ESPID3, ESPI, SIG_DESC_SET(SCU434, 19), 1114 + SIG_DESC_SET(SCU510, 6)); 1115 + PIN_DECL_2(AC7, GPIOW3, LAD3, ESPID3); 1116 + 1117 + #define AE7 180 1118 + SIG_EXPR_LIST_DECL_SESG(AE7, LCLK, LPC, SIG_DESC_SET(SCU434, 20), 1119 + SIG_DESC_CLEAR(SCU510, 6)); 1120 + SIG_EXPR_LIST_DECL_SESG(AE7, ESPICK, ESPI, SIG_DESC_SET(SCU434, 20), 1121 + SIG_DESC_SET(SCU510, 6)); 1122 + PIN_DECL_2(AE7, GPIOW4, LCLK, ESPICK); 1123 + 1124 + #define AF7 181 1125 + SIG_EXPR_LIST_DECL_SESG(AF7, LFRAME, LPC, SIG_DESC_SET(SCU434, 21), 1126 + SIG_DESC_CLEAR(SCU510, 6)); 1127 + SIG_EXPR_LIST_DECL_SESG(AF7, ESPICS, ESPI, SIG_DESC_SET(SCU434, 21), 1128 + SIG_DESC_SET(SCU510, 6)); 1129 + PIN_DECL_2(AF7, GPIOW5, LFRAME, ESPICS); 1130 + 1131 + #define AD7 182 1132 + SIG_EXPR_LIST_DECL_SESG(AD7, LSIRQ, LSIRQ, SIG_DESC_SET(SCU434, 22), 1133 + SIG_DESC_CLEAR(SCU510, 6)); 1134 + SIG_EXPR_LIST_DECL_SESG(AD7, ESPIALT, ESPIALT, SIG_DESC_SET(SCU434, 22), 1135 + SIG_DESC_SET(SCU510, 6)); 1136 + PIN_DECL_2(AD7, GPIOW6, LSIRQ, ESPIALT); 1137 + FUNC_GROUP_DECL(LSIRQ, AD7); 1138 + FUNC_GROUP_DECL(ESPIALT, AD7); 1139 + 1140 + #define AD8 183 1141 + SIG_EXPR_LIST_DECL_SESG(AD8, LPCRST, LPC, SIG_DESC_SET(SCU434, 23), 1142 + SIG_DESC_CLEAR(SCU510, 6)); 1143 + SIG_EXPR_LIST_DECL_SESG(AD8, ESPIRST, ESPI, SIG_DESC_SET(SCU434, 23), 1144 + SIG_DESC_SET(SCU510, 6)); 1145 + PIN_DECL_2(AD8, GPIOW7, LPCRST, ESPIRST); 1146 + 1147 + FUNC_GROUP_DECL(LPC, AB7, AB8, AC8, AC7, AE7, AF7, AD8); 1148 + FUNC_GROUP_DECL(ESPI, AB7, AB8, AC8, AC7, AE7, AF7, AD8); 1149 + 1150 + #define AE8 184 1151 + SIG_EXPR_LIST_DECL_SEMG(AE8, SPI2CS0, SPI2, SPI2, SIG_DESC_SET(SCU434, 24)); 1152 + PIN_DECL_1(AE8, GPIOX0, SPI2CS0); 1153 + 1154 + #define AA9 185 1155 + SSSF_PIN_DECL(AA9, GPIOX1, SPI2CS1, SIG_DESC_SET(SCU434, 25)); 1156 + 1157 + #define AC9 186 1158 + SSSF_PIN_DECL(AC9, GPIOX2, SPI2CS2, SIG_DESC_SET(SCU434, 26)); 1159 + 1160 + #define AF8 187 1161 + SIG_EXPR_LIST_DECL_SEMG(AF8, SPI2CK, SPI2, SPI2, SIG_DESC_SET(SCU434, 27)); 1162 + PIN_DECL_1(AF8, GPIOX3, SPI2CK); 1163 + 1164 + #define AB9 188 1165 + SIG_EXPR_LIST_DECL_SEMG(AB9, SPI2MOSI, SPI2, SPI2, SIG_DESC_SET(SCU434, 28)); 1166 + PIN_DECL_1(AB9, GPIOX4, SPI2MOSI); 1167 + 1168 + #define AD9 189 1169 + SIG_EXPR_LIST_DECL_SEMG(AD9, SPI2MISO, SPI2, SPI2, SIG_DESC_SET(SCU434, 29)); 1170 + PIN_DECL_1(AD9, GPIOX5, SPI2MISO); 1171 + 1172 + GROUP_DECL(SPI2, AE8, AF8, AB9, AD9); 1173 + 1174 + #define AF9 190 1175 + SIG_EXPR_LIST_DECL_SEMG(AF9, SPI2DQ2, QSPI2, SPI2, SIG_DESC_SET(SCU434, 30)); 1176 + SIG_EXPR_LIST_DECL_SEMG(AF9, TXD12, UART12G1, UART12, SIG_DESC_SET(SCU4D4, 30)); 1177 + PIN_DECL_2(AF9, GPIOX6, SPI2DQ2, TXD12); 1178 + 1179 + #define AB10 191 1180 + SIG_EXPR_LIST_DECL_SEMG(AB10, SPI2DQ3, QSPI2, SPI2, SIG_DESC_SET(SCU434, 31)); 1181 + SIG_EXPR_LIST_DECL_SEMG(AB10, RXD12, UART12G1, UART12, 1182 + SIG_DESC_SET(SCU4D4, 31)); 1183 + PIN_DECL_2(AB10, GPIOX7, SPI2DQ3, RXD12); 1184 + 1185 + GROUP_DECL(QSPI2, AE8, AF8, AB9, AD9, AF9, AB10); 1186 + FUNC_DECL_2(SPI2, SPI2, QSPI2); 1187 + 1188 + GROUP_DECL(UART12G1, AF9, AB10); 1189 + FUNC_DECL_2(UART12, UART12G0, UART12G1); 1190 + 1191 + #define AF11 192 1192 + SIG_EXPR_LIST_DECL_SESG(AF11, SALT5, SALT5, SIG_DESC_SET(SCU438, 0)); 1193 + SIG_EXPR_LIST_DECL_SESG(AF11, WDTRST1, WDTRST1, SIG_DESC_SET(SCU4D8, 0)); 1194 + PIN_DECL_2(AF11, GPIOY0, SALT5, WDTRST1); 1195 + FUNC_GROUP_DECL(SALT5, AF11); 1196 + FUNC_GROUP_DECL(WDTRST1, AF11); 1197 + 1198 + #define AD12 193 1199 + SIG_EXPR_LIST_DECL_SESG(AD12, SALT6, SALT6, SIG_DESC_SET(SCU438, 1)); 1200 + SIG_EXPR_LIST_DECL_SESG(AD12, WDTRST2, WDTRST2, SIG_DESC_SET(SCU4D8, 1)); 1201 + PIN_DECL_2(AD12, GPIOY1, SALT6, WDTRST2); 1202 + FUNC_GROUP_DECL(SALT6, AD12); 1203 + FUNC_GROUP_DECL(WDTRST2, AD12); 1204 + 1205 + #define AE11 194 1206 + SIG_EXPR_LIST_DECL_SESG(AE11, SALT7, SALT7, SIG_DESC_SET(SCU438, 2)); 1207 + SIG_EXPR_LIST_DECL_SESG(AE11, WDTRST3, WDTRST3, SIG_DESC_SET(SCU4D8, 2)); 1208 + PIN_DECL_2(AE11, GPIOY2, SALT7, WDTRST3); 1209 + FUNC_GROUP_DECL(SALT7, AE11); 1210 + FUNC_GROUP_DECL(WDTRST3, AE11); 1211 + 1212 + #define AA12 195 1213 + SIG_EXPR_LIST_DECL_SESG(AA12, SALT8, SALT8, SIG_DESC_SET(SCU438, 3)); 1214 + SIG_EXPR_LIST_DECL_SESG(AA12, WDTRST4, WDTRST4, SIG_DESC_SET(SCU4D8, 3)); 1215 + PIN_DECL_2(AA12, GPIOY3, SALT8, WDTRST4); 1216 + FUNC_GROUP_DECL(SALT8, AA12); 1217 + FUNC_GROUP_DECL(WDTRST4, AA12); 1218 + 1219 + #define AE12 196 1220 + SIG_EXPR_LIST_DECL_SEMG(AE12, FWSPIDQ2, FWQSPID, FWSPID, 1221 + SIG_DESC_SET(SCU438, 4)); 1222 + SIG_EXPR_LIST_DECL_SESG(AE12, GPIOY4, GPIOY4); 1223 + PIN_DECL_(AE12, SIG_EXPR_LIST_PTR(AE12, FWSPIDQ2), 1224 + SIG_EXPR_LIST_PTR(AE12, GPIOY4)); 1225 + 1226 + #define AF12 197 1227 + SIG_EXPR_LIST_DECL_SEMG(AF12, FWSPIDQ3, FWQSPID, FWSPID, 1228 + SIG_DESC_SET(SCU438, 5)); 1229 + SIG_EXPR_LIST_DECL_SESG(AF12, GPIOY5, GPIOY5); 1230 + PIN_DECL_(AF12, SIG_EXPR_LIST_PTR(AF12, FWSPIDQ3), 1231 + SIG_EXPR_LIST_PTR(AF12, GPIOY5)); 1232 + 1233 + #define AC12 198 1234 + SSSF_PIN_DECL(AC12, GPIOY6, FWSPIABR, SIG_DESC_SET(SCU438, 6)); 1235 + 1236 + #define AB12 199 1237 + SSSF_PIN_DECL(AB12, GPIOY7, FWSPIWP, SIG_DESC_SET(SCU438, 7)); 1238 + 1239 + #define AC10 200 1240 + SSSF_PIN_DECL(AC10, GPIOZ0, SPI1CS1, SIG_DESC_SET(SCU438, 8)); 1241 + 1242 + #define AD10 201 1243 + SSSF_PIN_DECL(AD10, GPIOZ1, SPI1ABR, SIG_DESC_SET(SCU438, 9)); 1244 + 1245 + #define AE10 202 1246 + SSSF_PIN_DECL(AE10, GPIOZ2, SPI1WP, SIG_DESC_SET(SCU438, 10)); 1247 + 1248 + #define AB11 203 1249 + SIG_EXPR_LIST_DECL_SEMG(AB11, SPI1CK, SPI1, SPI1, SIG_DESC_SET(SCU438, 11)); 1250 + PIN_DECL_1(AB11, GPIOZ3, SPI1CK); 1251 + 1252 + #define AC11 204 1253 + SIG_EXPR_LIST_DECL_SEMG(AC11, SPI1MOSI, SPI1, SPI1, SIG_DESC_SET(SCU438, 12)); 1254 + PIN_DECL_1(AC11, GPIOZ4, SPI1MOSI); 1255 + 1256 + #define AA11 205 1257 + SIG_EXPR_LIST_DECL_SEMG(AA11, SPI1MISO, SPI1, SPI1, SIG_DESC_SET(SCU438, 13)); 1258 + PIN_DECL_1(AA11, GPIOZ5, SPI1MISO); 1259 + 1260 + GROUP_DECL(SPI1, AB11, AC11, AA11); 1261 + 1262 + #define AD11 206 1263 + SIG_EXPR_LIST_DECL_SEMG(AD11, SPI1DQ2, QSPI1, SPI1, SIG_DESC_SET(SCU438, 14)); 1264 + SIG_EXPR_LIST_DECL_SEMG(AD11, TXD13, UART13G1, UART13, 1265 + SIG_DESC_SET(SCU438, 14)); 1266 + PIN_DECL_2(AD11, GPIOZ6, SPI1DQ2, TXD13); 1267 + 1268 + #define AF10 207 1269 + SIG_EXPR_LIST_DECL_SEMG(AF10, SPI1DQ3, QSPI1, SPI1, SIG_DESC_SET(SCU438, 15)); 1270 + SIG_EXPR_LIST_DECL_SEMG(AF10, RXD13, UART13G1, UART13, 1271 + SIG_DESC_SET(SCU438, 15)); 1272 + PIN_DECL_2(AF10, GPIOZ7, SPI1DQ3, RXD13); 1273 + 1274 + GROUP_DECL(QSPI1, AB11, AC11, AA11, AD11, AF10); 1275 + FUNC_DECL_2(SPI1, SPI1, QSPI1); 1276 + 1277 + GROUP_DECL(UART13G1, AD11, AF10); 1278 + FUNC_DECL_2(UART13, UART13G0, UART13G1); 1279 + 1280 + #define C6 208 1281 + SIG_EXPR_LIST_DECL_SESG(C6, RGMII1TXCK, RGMII1, SIG_DESC_SET(SCU400, 0), 1282 + SIG_DESC_SET(SCU500, 6)); 1283 + SIG_EXPR_LIST_DECL_SESG(C6, RMII1RCLKO, RMII1, SIG_DESC_SET(SCU400, 0), 1284 + SIG_DESC_CLEAR(SCU500, 6)); 1285 + PIN_DECL_2(C6, GPIO18A0, RGMII1TXCK, RMII1RCLKO); 1286 + 1287 + #define D6 209 1288 + SIG_EXPR_LIST_DECL_SESG(D6, RGMII1TXCTL, RGMII1, SIG_DESC_SET(SCU400, 1), 1289 + SIG_DESC_SET(SCU500, 6)); 1290 + SIG_EXPR_LIST_DECL_SESG(D6, RMII1TXEN, RMII1, SIG_DESC_SET(SCU400, 1), 1291 + SIG_DESC_CLEAR(SCU500, 6)); 1292 + PIN_DECL_2(D6, GPIO18A1, RGMII1TXCTL, RMII1TXEN); 1293 + 1294 + #define D5 210 1295 + SIG_EXPR_LIST_DECL_SESG(D5, RGMII1TXD0, RGMII1, SIG_DESC_SET(SCU400, 2), 1296 + SIG_DESC_SET(SCU500, 6)); 1297 + SIG_EXPR_LIST_DECL_SESG(D5, RMII1TXD0, RMII1, SIG_DESC_SET(SCU400, 2), 1298 + SIG_DESC_CLEAR(SCU500, 6)); 1299 + PIN_DECL_2(D5, GPIO18A2, RGMII1TXD0, RMII1TXD0); 1300 + 1301 + #define A3 211 1302 + SIG_EXPR_LIST_DECL_SESG(A3, RGMII1TXD1, RGMII1, SIG_DESC_SET(SCU400, 3), 1303 + SIG_DESC_SET(SCU500, 6)); 1304 + SIG_EXPR_LIST_DECL_SESG(A3, RMII1TXD1, RMII1, SIG_DESC_SET(SCU400, 3), 1305 + SIG_DESC_CLEAR(SCU500, 6)); 1306 + PIN_DECL_2(A3, GPIO18A3, RGMII1TXD1, RMII1TXD1); 1307 + 1308 + #define C5 212 1309 + SIG_EXPR_LIST_DECL_SESG(C5, RGMII1TXD2, RGMII1, SIG_DESC_SET(SCU400, 4), 1310 + SIG_DESC_SET(SCU500, 6)); 1311 + PIN_DECL_1(C5, GPIO18A4, RGMII1TXD2); 1312 + 1313 + #define E6 213 1314 + SIG_EXPR_LIST_DECL_SESG(E6, RGMII1TXD3, RGMII1, SIG_DESC_SET(SCU400, 5), 1315 + SIG_DESC_SET(SCU500, 6)); 1316 + PIN_DECL_1(E6, GPIO18A5, RGMII1TXD3); 1317 + 1318 + #define B3 214 1319 + SIG_EXPR_LIST_DECL_SESG(B3, RGMII1RXCK, RGMII1, SIG_DESC_SET(SCU400, 6), 1320 + SIG_DESC_SET(SCU500, 6)); 1321 + SIG_EXPR_LIST_DECL_SESG(B3, RMII1RCLKI, RMII1, SIG_DESC_SET(SCU400, 6), 1322 + SIG_DESC_CLEAR(SCU500, 6)); 1323 + PIN_DECL_2(B3, GPIO18A6, RGMII1RXCK, RMII1RCLKI); 1324 + 1325 + #define A2 215 1326 + SIG_EXPR_LIST_DECL_SESG(A2, RGMII1RXCTL, RGMII1, SIG_DESC_SET(SCU400, 7), 1327 + SIG_DESC_SET(SCU500, 6)); 1328 + PIN_DECL_1(A2, GPIO18A7, RGMII1RXCTL); 1329 + 1330 + #define B2 216 1331 + SIG_EXPR_LIST_DECL_SESG(B2, RGMII1RXD0, RGMII1, SIG_DESC_SET(SCU400, 8), 1332 + SIG_DESC_SET(SCU500, 6)); 1333 + SIG_EXPR_LIST_DECL_SESG(B2, RMII1RXD0, RMII1, SIG_DESC_SET(SCU400, 8), 1334 + SIG_DESC_CLEAR(SCU500, 6)); 1335 + PIN_DECL_2(B2, GPIO18B0, RGMII1RXD0, RMII1RXD0); 1336 + 1337 + #define B1 217 1338 + SIG_EXPR_LIST_DECL_SESG(B1, RGMII1RXD1, RGMII1, SIG_DESC_SET(SCU400, 9), 1339 + SIG_DESC_SET(SCU500, 6)); 1340 + SIG_EXPR_LIST_DECL_SESG(B1, RMII1RXD1, RMII1, SIG_DESC_SET(SCU400, 9), 1341 + SIG_DESC_CLEAR(SCU500, 6)); 1342 + PIN_DECL_2(B1, GPIO18B1, RGMII1RXD1, RMII1RXD1); 1343 + 1344 + #define C4 218 1345 + SIG_EXPR_LIST_DECL_SESG(C4, RGMII1RXD2, RGMII1, SIG_DESC_SET(SCU400, 10), 1346 + SIG_DESC_SET(SCU500, 6)); 1347 + SIG_EXPR_LIST_DECL_SESG(C4, RMII1CRSDV, RMII1, SIG_DESC_SET(SCU400, 10), 1348 + SIG_DESC_CLEAR(SCU500, 6)); 1349 + PIN_DECL_2(C4, GPIO18B2, RGMII1RXD2, RMII1CRSDV); 1350 + 1351 + #define E5 219 1352 + SIG_EXPR_LIST_DECL_SESG(E5, RGMII1RXD3, RGMII1, SIG_DESC_SET(SCU400, 11), 1353 + SIG_DESC_SET(SCU500, 6)); 1354 + SIG_EXPR_LIST_DECL_SESG(E5, RMII1RXER, RMII1, SIG_DESC_SET(SCU400, 11), 1355 + SIG_DESC_CLEAR(SCU500, 6)); 1356 + PIN_DECL_2(E5, GPIO18B3, RGMII1RXD3, RMII1RXER); 1357 + 1358 + FUNC_GROUP_DECL(RGMII1, C6, D6, D5, A3, C5, E6, B3, A2, B2, B1, C4, E5); 1359 + FUNC_GROUP_DECL(RMII1, C6, D6, D5, A3, B3, B2, B1, C4, E5); 1360 + 1361 + #define D4 220 1362 + SIG_EXPR_LIST_DECL_SESG(D4, RGMII2TXCK, RGMII2, SIG_DESC_SET(SCU400, 12), 1363 + SIG_DESC_SET(SCU500, 7)); 1364 + SIG_EXPR_LIST_DECL_SESG(D4, RMII2RCLKO, RMII2, SIG_DESC_SET(SCU400, 12), 1365 + SIG_DESC_CLEAR(SCU500, 7)); 1366 + PIN_DECL_2(D4, GPIO18B4, RGMII2TXCK, RMII2RCLKO); 1367 + 1368 + #define C2 221 1369 + SIG_EXPR_LIST_DECL_SESG(C2, RGMII2TXCTL, RGMII2, SIG_DESC_SET(SCU400, 13), 1370 + SIG_DESC_SET(SCU500, 7)); 1371 + SIG_EXPR_LIST_DECL_SESG(C2, RMII2TXEN, RMII2, SIG_DESC_SET(SCU400, 13), 1372 + SIG_DESC_CLEAR(SCU500, 7)); 1373 + PIN_DECL_2(C2, GPIO18B5, RGMII2TXCTL, RMII2TXEN); 1374 + 1375 + #define C1 222 1376 + SIG_EXPR_LIST_DECL_SESG(C1, RGMII2TXD0, RGMII2, SIG_DESC_SET(SCU400, 14), 1377 + SIG_DESC_SET(SCU500, 7)); 1378 + SIG_EXPR_LIST_DECL_SESG(C1, RMII2TXD0, RMII2, SIG_DESC_SET(SCU400, 14), 1379 + SIG_DESC_CLEAR(SCU500, 7)); 1380 + PIN_DECL_2(C1, GPIO18B6, RGMII2TXD0, RMII2TXD0); 1381 + 1382 + #define D3 223 1383 + SIG_EXPR_LIST_DECL_SESG(D3, RGMII2TXD1, RGMII2, SIG_DESC_SET(SCU400, 15), 1384 + SIG_DESC_SET(SCU500, 7)); 1385 + SIG_EXPR_LIST_DECL_SESG(D3, RMII2TXD1, RMII2, SIG_DESC_SET(SCU400, 15), 1386 + SIG_DESC_CLEAR(SCU500, 7)); 1387 + PIN_DECL_2(D3, GPIO18B7, RGMII2TXD1, RMII2TXD1); 1388 + 1389 + #define E4 224 1390 + SIG_EXPR_LIST_DECL_SESG(E4, RGMII2TXD2, RGMII2, SIG_DESC_SET(SCU400, 16), 1391 + SIG_DESC_SET(SCU500, 7)); 1392 + PIN_DECL_1(E4, GPIO18C0, RGMII2TXD2); 1393 + 1394 + #define F5 225 1395 + SIG_EXPR_LIST_DECL_SESG(F5, RGMII2TXD3, RGMII2, SIG_DESC_SET(SCU400, 17), 1396 + SIG_DESC_SET(SCU500, 7)); 1397 + PIN_DECL_1(F5, GPIO18C1, RGMII2TXD3); 1398 + 1399 + #define D2 226 1400 + SIG_EXPR_LIST_DECL_SESG(D2, RGMII2RXCK, RGMII2, SIG_DESC_SET(SCU400, 18), 1401 + SIG_DESC_SET(SCU500, 7)); 1402 + SIG_EXPR_LIST_DECL_SESG(D2, RMII2RCLKI, RMII2, SIG_DESC_SET(SCU400, 18), 1403 + SIG_DESC_CLEAR(SCU500, 7)); 1404 + PIN_DECL_2(D2, GPIO18C2, RGMII2RXCK, RMII2RCLKI); 1405 + 1406 + #define E3 227 1407 + SIG_EXPR_LIST_DECL_SESG(E3, RGMII2RXCTL, RGMII2, SIG_DESC_SET(SCU400, 19), 1408 + SIG_DESC_SET(SCU500, 7)); 1409 + PIN_DECL_1(E3, GPIO18C3, RGMII2RXCTL); 1410 + 1411 + #define D1 228 1412 + SIG_EXPR_LIST_DECL_SESG(D1, RGMII2RXD0, RGMII2, SIG_DESC_SET(SCU400, 20), 1413 + SIG_DESC_SET(SCU500, 7)); 1414 + SIG_EXPR_LIST_DECL_SESG(D1, RMII2RXD0, RMII2, SIG_DESC_SET(SCU400, 20), 1415 + SIG_DESC_CLEAR(SCU500, 7)); 1416 + PIN_DECL_2(D1, GPIO18C4, RGMII2RXD0, RMII2RXD0); 1417 + 1418 + #define F4 229 1419 + SIG_EXPR_LIST_DECL_SESG(F4, RGMII2RXD1, RGMII2, SIG_DESC_SET(SCU400, 21), 1420 + SIG_DESC_SET(SCU500, 7)); 1421 + SIG_EXPR_LIST_DECL_SESG(F4, RMII2RXD1, RMII2, SIG_DESC_SET(SCU400, 21), 1422 + SIG_DESC_CLEAR(SCU500, 7)); 1423 + PIN_DECL_2(F4, GPIO18C5, RGMII2RXD1, RMII2RXD1); 1424 + 1425 + #define E2 230 1426 + SIG_EXPR_LIST_DECL_SESG(E2, RGMII2RXD2, RGMII2, SIG_DESC_SET(SCU400, 22), 1427 + SIG_DESC_SET(SCU500, 7)); 1428 + SIG_EXPR_LIST_DECL_SESG(E2, RMII2CRSDV, RMII2, SIG_DESC_SET(SCU400, 22), 1429 + SIG_DESC_CLEAR(SCU500, 7)); 1430 + PIN_DECL_2(E2, GPIO18C6, RGMII2RXD2, RMII2CRSDV); 1431 + 1432 + #define E1 231 1433 + SIG_EXPR_LIST_DECL_SESG(E1, RGMII2RXD3, RGMII2, SIG_DESC_SET(SCU400, 23), 1434 + SIG_DESC_SET(SCU500, 7)); 1435 + SIG_EXPR_LIST_DECL_SESG(E1, RMII2RXER, RMII2, SIG_DESC_SET(SCU400, 23), 1436 + SIG_DESC_CLEAR(SCU500, 7)); 1437 + PIN_DECL_2(E1, GPIO18C7, RGMII2RXD3, RMII2RXER); 1438 + 1439 + FUNC_GROUP_DECL(RGMII2, D4, C2, C1, D3, E4, F5, D2, E3, D1, F4, E2, E1); 1440 + FUNC_GROUP_DECL(RMII2, D4, C2, C1, D3, D2, D1, F4, E2, E1); 1441 + 1442 + #define AB4 232 1443 + SIG_EXPR_LIST_DECL_SESG(AB4, SD3CLK, SD3, SIG_DESC_SET(SCU400, 24)); 1444 + PIN_DECL_1(AB4, GPIO18D0, SD3CLK); 1445 + 1446 + #define AA4 233 1447 + SIG_EXPR_LIST_DECL_SESG(AA4, SD3CMD, SD3, SIG_DESC_SET(SCU400, 25)); 1448 + PIN_DECL_1(AA4, GPIO18D1, SD3CMD); 1449 + 1450 + #define AC4 234 1451 + SIG_EXPR_LIST_DECL_SESG(AC4, SD3DAT0, SD3, SIG_DESC_SET(SCU400, 26)); 1452 + PIN_DECL_1(AC4, GPIO18D2, SD3DAT0); 1453 + 1454 + #define AA5 235 1455 + SIG_EXPR_LIST_DECL_SESG(AA5, SD3DAT1, SD3, SIG_DESC_SET(SCU400, 27)); 1456 + PIN_DECL_1(AA5, GPIO18D3, SD3DAT1); 1457 + 1458 + #define Y5 236 1459 + SIG_EXPR_LIST_DECL_SESG(Y5, SD3DAT2, SD3, SIG_DESC_SET(SCU400, 28)); 1460 + PIN_DECL_1(Y5, GPIO18D4, SD3DAT2); 1461 + 1462 + #define AB5 237 1463 + SIG_EXPR_LIST_DECL_SESG(AB5, SD3DAT3, SD3, SIG_DESC_SET(SCU400, 29)); 1464 + PIN_DECL_1(AB5, GPIO18D5, SD3DAT3); 1465 + 1466 + #define AB6 238 1467 + SIG_EXPR_LIST_DECL_SESG(AB6, SD3CD, SD3, SIG_DESC_SET(SCU400, 30)); 1468 + PIN_DECL_1(AB6, GPIO18D6, SD3CD); 1469 + 1470 + #define AC5 239 1471 + SIG_EXPR_LIST_DECL_SESG(AC5, SD3WP, SD3, SIG_DESC_SET(SCU400, 31)); 1472 + PIN_DECL_1(AC5, GPIO18D7, SD3WP); 1473 + 1474 + FUNC_GROUP_DECL(SD3, AB4, AA4, AC4, AA5, Y5, AB5, AB6, AC5); 1475 + 1476 + #define Y1 240 1477 + SIG_EXPR_LIST_DECL_SEMG(Y1, FWSPIDCS, FWSPID, FWSPID, SIG_DESC_SET(SCU500, 3)); 1478 + SIG_EXPR_LIST_DECL_SESG(Y1, VBCS, VB, SIG_DESC_SET(SCU500, 5)); 1479 + SIG_EXPR_LIST_DECL_SESG(Y1, SD3DAT4, SD3DAT4, SIG_DESC_SET(SCU404, 0)); 1480 + PIN_DECL_3(Y1, GPIO18E0, FWSPIDCS, VBCS, SD3DAT4); 1481 + FUNC_GROUP_DECL(SD3DAT4, Y1); 1482 + 1483 + #define Y2 241 1484 + SIG_EXPR_LIST_DECL_SEMG(Y2, FWSPIDCK, FWSPID, FWSPID, SIG_DESC_SET(SCU500, 3)); 1485 + SIG_EXPR_LIST_DECL_SESG(Y2, VBCK, VB, SIG_DESC_SET(SCU500, 5)); 1486 + SIG_EXPR_LIST_DECL_SESG(Y2, SD3DAT5, SD3DAT5, SIG_DESC_SET(SCU404, 1)); 1487 + PIN_DECL_3(Y2, GPIO18E1, FWSPIDCK, VBCK, SD3DAT5); 1488 + FUNC_GROUP_DECL(SD3DAT5, Y2); 1489 + 1490 + #define Y3 242 1491 + SIG_EXPR_LIST_DECL_SEMG(Y3, FWSPIDMOSI, FWSPID, FWSPID, 1492 + SIG_DESC_SET(SCU500, 3)); 1493 + SIG_EXPR_LIST_DECL_SESG(Y3, VBMOSI, VB, SIG_DESC_SET(SCU500, 5)); 1494 + SIG_EXPR_LIST_DECL_SESG(Y3, SD3DAT6, SD3DAT6, SIG_DESC_SET(SCU404, 2)); 1495 + PIN_DECL_3(Y3, GPIO18E2, FWSPIDMOSI, VBMOSI, SD3DAT6); 1496 + FUNC_GROUP_DECL(SD3DAT6, Y3); 1497 + 1498 + #define Y4 243 1499 + SIG_EXPR_LIST_DECL_SEMG(Y4, FWSPIDMISO, FWSPID, FWSPID, 1500 + SIG_DESC_SET(SCU500, 3)); 1501 + SIG_EXPR_LIST_DECL_SESG(Y4, VBMISO, VB, SIG_DESC_SET(SCU500, 5)); 1502 + SIG_EXPR_LIST_DECL_SESG(Y4, SD3DAT7, SD3DAT7, SIG_DESC_SET(SCU404, 3)); 1503 + PIN_DECL_3(Y4, GPIO18E3, FWSPIDMISO, VBMISO, SD3DAT7); 1504 + FUNC_GROUP_DECL(SD3DAT7, Y4); 1505 + 1506 + GROUP_DECL(FWSPID, Y1, Y2, Y3, Y4); 1507 + GROUP_DECL(FWQSPID, Y1, Y2, Y3, Y4, AE12, AF12); 1508 + FUNC_DECL_2(FWSPID, FWSPID, FWQSPID); 1509 + FUNC_GROUP_DECL(VB, Y1, Y2, Y3, Y4); 1510 + 1511 + /* 1512 + * FIXME: Confirm bits and priorities are the right way around for the 1513 + * following 4 pins 1514 + */ 1515 + #define AF25 244 1516 + SIG_EXPR_LIST_DECL_SEMG(AF25, I3C3SCL, I3C3, I3C3, SIG_DESC_SET(SCU438, 20), 1517 + SIG_DESC_SET(SCU4D8, 20)); 1518 + SIG_EXPR_LIST_DECL_SESG(AF25, FSI1CLK, FSI1, SIG_DESC_CLEAR(SCU438, 20), 1519 + SIG_DESC_SET(SCU4D8, 20)); 1520 + PIN_DECL_(AF25, SIG_EXPR_LIST_PTR(AF25, I3C3SCL), 1521 + SIG_EXPR_LIST_PTR(AF25, FSI1CLK)); 1522 + 1523 + #define AE26 245 1524 + SIG_EXPR_LIST_DECL_SEMG(AE26, I3C3SDA, I3C3, I3C3, SIG_DESC_SET(SCU438, 21), 1525 + SIG_DESC_SET(SCU4D8, 21)); 1526 + SIG_EXPR_LIST_DECL_SESG(AE26, FSI1DATA, FSI1, SIG_DESC_CLEAR(SCU438, 21), 1527 + SIG_DESC_SET(SCU4D8, 21)); 1528 + PIN_DECL_(AE26, SIG_EXPR_LIST_PTR(AE26, I3C3SDA), 1529 + SIG_EXPR_LIST_PTR(AE26, FSI1DATA)); 1530 + 1531 + GROUP_DECL(I3C3, AF25, AE26); 1532 + FUNC_DECL_2(I3C3, HVI3C3, I3C3); 1533 + FUNC_GROUP_DECL(FSI1, AF25, AE26); 1534 + 1535 + #define AE25 246 1536 + SIG_EXPR_LIST_DECL_SEMG(AE25, I3C4SCL, I3C4, I3C4, SIG_DESC_SET(SCU438, 22), 1537 + SIG_DESC_SET(SCU4D8, 22)); 1538 + SIG_EXPR_LIST_DECL_SESG(AE25, FSI2CLK, FSI2, SIG_DESC_CLEAR(SCU438, 22), 1539 + SIG_DESC_SET(SCU4D8, 22)); 1540 + PIN_DECL_(AE25, SIG_EXPR_LIST_PTR(AE25, I3C4SCL), 1541 + SIG_EXPR_LIST_PTR(AE25, FSI2CLK)); 1542 + 1543 + #define AF24 247 1544 + SIG_EXPR_LIST_DECL_SEMG(AF24, I3C4SDA, I3C4, I3C4, SIG_DESC_SET(SCU438, 23), 1545 + SIG_DESC_SET(SCU4D8, 23)); 1546 + SIG_EXPR_LIST_DECL_SESG(AF24, FSI2DATA, FSI2, SIG_DESC_CLEAR(SCU438, 23), 1547 + SIG_DESC_SET(SCU4D8, 23)); 1548 + PIN_DECL_(AF24, SIG_EXPR_LIST_PTR(AF24, I3C4SDA), 1549 + SIG_EXPR_LIST_PTR(AF24, FSI2DATA)); 1550 + 1551 + GROUP_DECL(I3C4, AE25, AF24); 1552 + FUNC_DECL_2(I3C4, HVI3C4, I3C4); 1553 + FUNC_GROUP_DECL(FSI2, AE25, AF24); 1554 + 1555 + /* Pins, groups and functions are sort(1):ed alphabetically for sanity */ 1556 + 1557 + static struct pinctrl_pin_desc aspeed_g6_pins[ASPEED_G6_NR_PINS] = { 1558 + ASPEED_PINCTRL_PIN(A11), 1559 + ASPEED_PINCTRL_PIN(A12), 1560 + ASPEED_PINCTRL_PIN(A13), 1561 + ASPEED_PINCTRL_PIN(A14), 1562 + ASPEED_PINCTRL_PIN(A15), 1563 + ASPEED_PINCTRL_PIN(A16), 1564 + ASPEED_PINCTRL_PIN(A17), 1565 + ASPEED_PINCTRL_PIN(A18), 1566 + ASPEED_PINCTRL_PIN(A19), 1567 + ASPEED_PINCTRL_PIN(A2), 1568 + ASPEED_PINCTRL_PIN(A20), 1569 + ASPEED_PINCTRL_PIN(A21), 1570 + ASPEED_PINCTRL_PIN(A22), 1571 + ASPEED_PINCTRL_PIN(A23), 1572 + ASPEED_PINCTRL_PIN(A24), 1573 + ASPEED_PINCTRL_PIN(A25), 1574 + ASPEED_PINCTRL_PIN(A3), 1575 + ASPEED_PINCTRL_PIN(AA11), 1576 + ASPEED_PINCTRL_PIN(AA12), 1577 + ASPEED_PINCTRL_PIN(AA23), 1578 + ASPEED_PINCTRL_PIN(AA24), 1579 + ASPEED_PINCTRL_PIN(AA25), 1580 + ASPEED_PINCTRL_PIN(AA26), 1581 + ASPEED_PINCTRL_PIN(AA4), 1582 + ASPEED_PINCTRL_PIN(AA5), 1583 + ASPEED_PINCTRL_PIN(AA9), 1584 + ASPEED_PINCTRL_PIN(AB10), 1585 + ASPEED_PINCTRL_PIN(AB11), 1586 + ASPEED_PINCTRL_PIN(AB12), 1587 + ASPEED_PINCTRL_PIN(AB15), 1588 + ASPEED_PINCTRL_PIN(AB18), 1589 + ASPEED_PINCTRL_PIN(AB19), 1590 + ASPEED_PINCTRL_PIN(AB22), 1591 + ASPEED_PINCTRL_PIN(AB23), 1592 + ASPEED_PINCTRL_PIN(AB24), 1593 + ASPEED_PINCTRL_PIN(AB25), 1594 + ASPEED_PINCTRL_PIN(AB26), 1595 + ASPEED_PINCTRL_PIN(AB4), 1596 + ASPEED_PINCTRL_PIN(AB5), 1597 + ASPEED_PINCTRL_PIN(AB6), 1598 + ASPEED_PINCTRL_PIN(AB7), 1599 + ASPEED_PINCTRL_PIN(AB8), 1600 + ASPEED_PINCTRL_PIN(AB9), 1601 + ASPEED_PINCTRL_PIN(AC10), 1602 + ASPEED_PINCTRL_PIN(AC11), 1603 + ASPEED_PINCTRL_PIN(AC12), 1604 + ASPEED_PINCTRL_PIN(AC15), 1605 + ASPEED_PINCTRL_PIN(AC17), 1606 + ASPEED_PINCTRL_PIN(AC18), 1607 + ASPEED_PINCTRL_PIN(AC19), 1608 + ASPEED_PINCTRL_PIN(AC22), 1609 + ASPEED_PINCTRL_PIN(AC23), 1610 + ASPEED_PINCTRL_PIN(AC24), 1611 + ASPEED_PINCTRL_PIN(AC26), 1612 + ASPEED_PINCTRL_PIN(AC4), 1613 + ASPEED_PINCTRL_PIN(AC5), 1614 + ASPEED_PINCTRL_PIN(AC7), 1615 + ASPEED_PINCTRL_PIN(AC8), 1616 + ASPEED_PINCTRL_PIN(AC9), 1617 + ASPEED_PINCTRL_PIN(AD10), 1618 + ASPEED_PINCTRL_PIN(AD11), 1619 + ASPEED_PINCTRL_PIN(AD12), 1620 + ASPEED_PINCTRL_PIN(AD14), 1621 + ASPEED_PINCTRL_PIN(AD15), 1622 + ASPEED_PINCTRL_PIN(AD19), 1623 + ASPEED_PINCTRL_PIN(AD20), 1624 + ASPEED_PINCTRL_PIN(AD22), 1625 + ASPEED_PINCTRL_PIN(AD23), 1626 + ASPEED_PINCTRL_PIN(AD24), 1627 + ASPEED_PINCTRL_PIN(AD25), 1628 + ASPEED_PINCTRL_PIN(AD26), 1629 + ASPEED_PINCTRL_PIN(AD7), 1630 + ASPEED_PINCTRL_PIN(AD8), 1631 + ASPEED_PINCTRL_PIN(AD9), 1632 + ASPEED_PINCTRL_PIN(AE10), 1633 + ASPEED_PINCTRL_PIN(AE11), 1634 + ASPEED_PINCTRL_PIN(AE12), 1635 + ASPEED_PINCTRL_PIN(AE14), 1636 + ASPEED_PINCTRL_PIN(AE15), 1637 + ASPEED_PINCTRL_PIN(AE18), 1638 + ASPEED_PINCTRL_PIN(AE19), 1639 + ASPEED_PINCTRL_PIN(AE7), 1640 + ASPEED_PINCTRL_PIN(AE8), 1641 + ASPEED_PINCTRL_PIN(AF10), 1642 + ASPEED_PINCTRL_PIN(AF11), 1643 + ASPEED_PINCTRL_PIN(AF12), 1644 + ASPEED_PINCTRL_PIN(AF14), 1645 + ASPEED_PINCTRL_PIN(AF15), 1646 + ASPEED_PINCTRL_PIN(AF7), 1647 + ASPEED_PINCTRL_PIN(AF8), 1648 + ASPEED_PINCTRL_PIN(AF9), 1649 + ASPEED_PINCTRL_PIN(B1), 1650 + ASPEED_PINCTRL_PIN(B12), 1651 + ASPEED_PINCTRL_PIN(B13), 1652 + ASPEED_PINCTRL_PIN(B14), 1653 + ASPEED_PINCTRL_PIN(B16), 1654 + ASPEED_PINCTRL_PIN(B17), 1655 + ASPEED_PINCTRL_PIN(B18), 1656 + ASPEED_PINCTRL_PIN(B2), 1657 + ASPEED_PINCTRL_PIN(B20), 1658 + ASPEED_PINCTRL_PIN(B21), 1659 + ASPEED_PINCTRL_PIN(B22), 1660 + ASPEED_PINCTRL_PIN(B24), 1661 + ASPEED_PINCTRL_PIN(B25), 1662 + ASPEED_PINCTRL_PIN(B26), 1663 + ASPEED_PINCTRL_PIN(B3), 1664 + ASPEED_PINCTRL_PIN(C1), 1665 + ASPEED_PINCTRL_PIN(C11), 1666 + ASPEED_PINCTRL_PIN(C12), 1667 + ASPEED_PINCTRL_PIN(C13), 1668 + ASPEED_PINCTRL_PIN(C14), 1669 + ASPEED_PINCTRL_PIN(C15), 1670 + ASPEED_PINCTRL_PIN(C16), 1671 + ASPEED_PINCTRL_PIN(C17), 1672 + ASPEED_PINCTRL_PIN(C18), 1673 + ASPEED_PINCTRL_PIN(C19), 1674 + ASPEED_PINCTRL_PIN(C2), 1675 + ASPEED_PINCTRL_PIN(C20), 1676 + ASPEED_PINCTRL_PIN(C21), 1677 + ASPEED_PINCTRL_PIN(C22), 1678 + ASPEED_PINCTRL_PIN(C23), 1679 + ASPEED_PINCTRL_PIN(C24), 1680 + ASPEED_PINCTRL_PIN(C25), 1681 + ASPEED_PINCTRL_PIN(C26), 1682 + ASPEED_PINCTRL_PIN(C4), 1683 + ASPEED_PINCTRL_PIN(C5), 1684 + ASPEED_PINCTRL_PIN(C6), 1685 + ASPEED_PINCTRL_PIN(D1), 1686 + ASPEED_PINCTRL_PIN(D11), 1687 + ASPEED_PINCTRL_PIN(D12), 1688 + ASPEED_PINCTRL_PIN(D13), 1689 + ASPEED_PINCTRL_PIN(D14), 1690 + ASPEED_PINCTRL_PIN(D15), 1691 + ASPEED_PINCTRL_PIN(D16), 1692 + ASPEED_PINCTRL_PIN(D17), 1693 + ASPEED_PINCTRL_PIN(D18), 1694 + ASPEED_PINCTRL_PIN(D19), 1695 + ASPEED_PINCTRL_PIN(D2), 1696 + ASPEED_PINCTRL_PIN(D20), 1697 + ASPEED_PINCTRL_PIN(D21), 1698 + ASPEED_PINCTRL_PIN(D22), 1699 + ASPEED_PINCTRL_PIN(D23), 1700 + ASPEED_PINCTRL_PIN(D24), 1701 + ASPEED_PINCTRL_PIN(D26), 1702 + ASPEED_PINCTRL_PIN(D3), 1703 + ASPEED_PINCTRL_PIN(D4), 1704 + ASPEED_PINCTRL_PIN(D5), 1705 + ASPEED_PINCTRL_PIN(D6), 1706 + ASPEED_PINCTRL_PIN(E1), 1707 + ASPEED_PINCTRL_PIN(E11), 1708 + ASPEED_PINCTRL_PIN(E12), 1709 + ASPEED_PINCTRL_PIN(E13), 1710 + ASPEED_PINCTRL_PIN(E14), 1711 + ASPEED_PINCTRL_PIN(E15), 1712 + ASPEED_PINCTRL_PIN(E16), 1713 + ASPEED_PINCTRL_PIN(E17), 1714 + ASPEED_PINCTRL_PIN(E18), 1715 + ASPEED_PINCTRL_PIN(E19), 1716 + ASPEED_PINCTRL_PIN(E2), 1717 + ASPEED_PINCTRL_PIN(E20), 1718 + ASPEED_PINCTRL_PIN(E21), 1719 + ASPEED_PINCTRL_PIN(E22), 1720 + ASPEED_PINCTRL_PIN(E23), 1721 + ASPEED_PINCTRL_PIN(E24), 1722 + ASPEED_PINCTRL_PIN(E25), 1723 + ASPEED_PINCTRL_PIN(E26), 1724 + ASPEED_PINCTRL_PIN(E3), 1725 + ASPEED_PINCTRL_PIN(E4), 1726 + ASPEED_PINCTRL_PIN(E5), 1727 + ASPEED_PINCTRL_PIN(E6), 1728 + ASPEED_PINCTRL_PIN(F13), 1729 + ASPEED_PINCTRL_PIN(F15), 1730 + ASPEED_PINCTRL_PIN(F22), 1731 + ASPEED_PINCTRL_PIN(F23), 1732 + ASPEED_PINCTRL_PIN(F24), 1733 + ASPEED_PINCTRL_PIN(F25), 1734 + ASPEED_PINCTRL_PIN(F26), 1735 + ASPEED_PINCTRL_PIN(F4), 1736 + ASPEED_PINCTRL_PIN(F5), 1737 + ASPEED_PINCTRL_PIN(G22), 1738 + ASPEED_PINCTRL_PIN(G23), 1739 + ASPEED_PINCTRL_PIN(G24), 1740 + ASPEED_PINCTRL_PIN(G26), 1741 + ASPEED_PINCTRL_PIN(H22), 1742 + ASPEED_PINCTRL_PIN(H23), 1743 + ASPEED_PINCTRL_PIN(H24), 1744 + ASPEED_PINCTRL_PIN(H25), 1745 + ASPEED_PINCTRL_PIN(H26), 1746 + ASPEED_PINCTRL_PIN(J22), 1747 + ASPEED_PINCTRL_PIN(J23), 1748 + ASPEED_PINCTRL_PIN(J24), 1749 + ASPEED_PINCTRL_PIN(J25), 1750 + ASPEED_PINCTRL_PIN(J26), 1751 + ASPEED_PINCTRL_PIN(K23), 1752 + ASPEED_PINCTRL_PIN(K24), 1753 + ASPEED_PINCTRL_PIN(K25), 1754 + ASPEED_PINCTRL_PIN(K26), 1755 + ASPEED_PINCTRL_PIN(L23), 1756 + ASPEED_PINCTRL_PIN(L24), 1757 + ASPEED_PINCTRL_PIN(L26), 1758 + ASPEED_PINCTRL_PIN(M23), 1759 + ASPEED_PINCTRL_PIN(M24), 1760 + ASPEED_PINCTRL_PIN(M25), 1761 + ASPEED_PINCTRL_PIN(M26), 1762 + ASPEED_PINCTRL_PIN(N23), 1763 + ASPEED_PINCTRL_PIN(N24), 1764 + ASPEED_PINCTRL_PIN(N25), 1765 + ASPEED_PINCTRL_PIN(N26), 1766 + ASPEED_PINCTRL_PIN(P23), 1767 + ASPEED_PINCTRL_PIN(P24), 1768 + ASPEED_PINCTRL_PIN(P25), 1769 + ASPEED_PINCTRL_PIN(P26), 1770 + ASPEED_PINCTRL_PIN(R23), 1771 + ASPEED_PINCTRL_PIN(R24), 1772 + ASPEED_PINCTRL_PIN(R26), 1773 + ASPEED_PINCTRL_PIN(T23), 1774 + ASPEED_PINCTRL_PIN(T24), 1775 + ASPEED_PINCTRL_PIN(T25), 1776 + ASPEED_PINCTRL_PIN(T26), 1777 + ASPEED_PINCTRL_PIN(U24), 1778 + ASPEED_PINCTRL_PIN(U25), 1779 + ASPEED_PINCTRL_PIN(U26), 1780 + ASPEED_PINCTRL_PIN(V24), 1781 + ASPEED_PINCTRL_PIN(V25), 1782 + ASPEED_PINCTRL_PIN(V26), 1783 + ASPEED_PINCTRL_PIN(W23), 1784 + ASPEED_PINCTRL_PIN(W24), 1785 + ASPEED_PINCTRL_PIN(W26), 1786 + ASPEED_PINCTRL_PIN(Y1), 1787 + ASPEED_PINCTRL_PIN(Y2), 1788 + ASPEED_PINCTRL_PIN(Y23), 1789 + ASPEED_PINCTRL_PIN(Y24), 1790 + ASPEED_PINCTRL_PIN(Y25), 1791 + ASPEED_PINCTRL_PIN(Y26), 1792 + ASPEED_PINCTRL_PIN(Y3), 1793 + ASPEED_PINCTRL_PIN(Y4), 1794 + ASPEED_PINCTRL_PIN(Y5), 1795 + ASPEED_PINCTRL_PIN(AB16), 1796 + ASPEED_PINCTRL_PIN(AA17), 1797 + ASPEED_PINCTRL_PIN(AB17), 1798 + ASPEED_PINCTRL_PIN(AE16), 1799 + ASPEED_PINCTRL_PIN(AC16), 1800 + ASPEED_PINCTRL_PIN(AA16), 1801 + ASPEED_PINCTRL_PIN(AD16), 1802 + ASPEED_PINCTRL_PIN(AF25), 1803 + ASPEED_PINCTRL_PIN(AE26), 1804 + ASPEED_PINCTRL_PIN(AE25), 1805 + ASPEED_PINCTRL_PIN(AF24), 1806 + }; 1807 + 1808 + static const struct aspeed_pin_group aspeed_g6_groups[] = { 1809 + ASPEED_PINCTRL_GROUP(ADC0), 1810 + ASPEED_PINCTRL_GROUP(ADC1), 1811 + ASPEED_PINCTRL_GROUP(ADC10), 1812 + ASPEED_PINCTRL_GROUP(ADC11), 1813 + ASPEED_PINCTRL_GROUP(ADC12), 1814 + ASPEED_PINCTRL_GROUP(ADC13), 1815 + ASPEED_PINCTRL_GROUP(ADC14), 1816 + ASPEED_PINCTRL_GROUP(ADC15), 1817 + ASPEED_PINCTRL_GROUP(ADC2), 1818 + ASPEED_PINCTRL_GROUP(ADC3), 1819 + ASPEED_PINCTRL_GROUP(ADC4), 1820 + ASPEED_PINCTRL_GROUP(ADC5), 1821 + ASPEED_PINCTRL_GROUP(ADC6), 1822 + ASPEED_PINCTRL_GROUP(ADC7), 1823 + ASPEED_PINCTRL_GROUP(ADC8), 1824 + ASPEED_PINCTRL_GROUP(ADC9), 1825 + ASPEED_PINCTRL_GROUP(BMCINT), 1826 + ASPEED_PINCTRL_GROUP(ESPI), 1827 + ASPEED_PINCTRL_GROUP(ESPIALT), 1828 + ASPEED_PINCTRL_GROUP(FSI1), 1829 + ASPEED_PINCTRL_GROUP(FSI2), 1830 + ASPEED_PINCTRL_GROUP(FWSPIABR), 1831 + ASPEED_PINCTRL_GROUP(FWSPID), 1832 + ASPEED_PINCTRL_GROUP(FWQSPID), 1833 + ASPEED_PINCTRL_GROUP(FWSPIWP), 1834 + ASPEED_PINCTRL_GROUP(GPIT0), 1835 + ASPEED_PINCTRL_GROUP(GPIT1), 1836 + ASPEED_PINCTRL_GROUP(GPIT2), 1837 + ASPEED_PINCTRL_GROUP(GPIT3), 1838 + ASPEED_PINCTRL_GROUP(GPIT4), 1839 + ASPEED_PINCTRL_GROUP(GPIT5), 1840 + ASPEED_PINCTRL_GROUP(GPIT6), 1841 + ASPEED_PINCTRL_GROUP(GPIT7), 1842 + ASPEED_PINCTRL_GROUP(GPIU0), 1843 + ASPEED_PINCTRL_GROUP(GPIU1), 1844 + ASPEED_PINCTRL_GROUP(GPIU2), 1845 + ASPEED_PINCTRL_GROUP(GPIU3), 1846 + ASPEED_PINCTRL_GROUP(GPIU4), 1847 + ASPEED_PINCTRL_GROUP(GPIU5), 1848 + ASPEED_PINCTRL_GROUP(GPIU6), 1849 + ASPEED_PINCTRL_GROUP(GPIU7), 1850 + ASPEED_PINCTRL_GROUP(HVI3C3), 1851 + ASPEED_PINCTRL_GROUP(HVI3C4), 1852 + ASPEED_PINCTRL_GROUP(I2C1), 1853 + ASPEED_PINCTRL_GROUP(I2C10), 1854 + ASPEED_PINCTRL_GROUP(I2C11), 1855 + ASPEED_PINCTRL_GROUP(I2C12), 1856 + ASPEED_PINCTRL_GROUP(I2C13), 1857 + ASPEED_PINCTRL_GROUP(I2C14), 1858 + ASPEED_PINCTRL_GROUP(I2C15), 1859 + ASPEED_PINCTRL_GROUP(I2C16), 1860 + ASPEED_PINCTRL_GROUP(I2C2), 1861 + ASPEED_PINCTRL_GROUP(I2C3), 1862 + ASPEED_PINCTRL_GROUP(I2C4), 1863 + ASPEED_PINCTRL_GROUP(I2C5), 1864 + ASPEED_PINCTRL_GROUP(I2C6), 1865 + ASPEED_PINCTRL_GROUP(I2C7), 1866 + ASPEED_PINCTRL_GROUP(I2C8), 1867 + ASPEED_PINCTRL_GROUP(I2C9), 1868 + ASPEED_PINCTRL_GROUP(I3C3), 1869 + ASPEED_PINCTRL_GROUP(I3C4), 1870 + ASPEED_PINCTRL_GROUP(I3C5), 1871 + ASPEED_PINCTRL_GROUP(I3C6), 1872 + ASPEED_PINCTRL_GROUP(JTAGM), 1873 + ASPEED_PINCTRL_GROUP(LHPD), 1874 + ASPEED_PINCTRL_GROUP(LHSIRQ), 1875 + ASPEED_PINCTRL_GROUP(LPC), 1876 + ASPEED_PINCTRL_GROUP(LPCHC), 1877 + ASPEED_PINCTRL_GROUP(LPCPD), 1878 + ASPEED_PINCTRL_GROUP(LPCPME), 1879 + ASPEED_PINCTRL_GROUP(LPCSMI), 1880 + ASPEED_PINCTRL_GROUP(LSIRQ), 1881 + ASPEED_PINCTRL_GROUP(MACLINK1), 1882 + ASPEED_PINCTRL_GROUP(MACLINK2), 1883 + ASPEED_PINCTRL_GROUP(MACLINK3), 1884 + ASPEED_PINCTRL_GROUP(MACLINK4), 1885 + ASPEED_PINCTRL_GROUP(MDIO1), 1886 + ASPEED_PINCTRL_GROUP(MDIO2), 1887 + ASPEED_PINCTRL_GROUP(MDIO3), 1888 + ASPEED_PINCTRL_GROUP(MDIO4), 1889 + ASPEED_PINCTRL_GROUP(NCTS1), 1890 + ASPEED_PINCTRL_GROUP(NCTS2), 1891 + ASPEED_PINCTRL_GROUP(NCTS3), 1892 + ASPEED_PINCTRL_GROUP(NCTS4), 1893 + ASPEED_PINCTRL_GROUP(NDCD1), 1894 + ASPEED_PINCTRL_GROUP(NDCD2), 1895 + ASPEED_PINCTRL_GROUP(NDCD3), 1896 + ASPEED_PINCTRL_GROUP(NDCD4), 1897 + ASPEED_PINCTRL_GROUP(NDSR1), 1898 + ASPEED_PINCTRL_GROUP(NDSR2), 1899 + ASPEED_PINCTRL_GROUP(NDSR3), 1900 + ASPEED_PINCTRL_GROUP(NDSR4), 1901 + ASPEED_PINCTRL_GROUP(NDTR1), 1902 + ASPEED_PINCTRL_GROUP(NDTR2), 1903 + ASPEED_PINCTRL_GROUP(NDTR3), 1904 + ASPEED_PINCTRL_GROUP(NDTR4), 1905 + ASPEED_PINCTRL_GROUP(NRI1), 1906 + ASPEED_PINCTRL_GROUP(NRI2), 1907 + ASPEED_PINCTRL_GROUP(NRI3), 1908 + ASPEED_PINCTRL_GROUP(NRI4), 1909 + ASPEED_PINCTRL_GROUP(NRTS1), 1910 + ASPEED_PINCTRL_GROUP(NRTS2), 1911 + ASPEED_PINCTRL_GROUP(NRTS3), 1912 + ASPEED_PINCTRL_GROUP(NRTS4), 1913 + ASPEED_PINCTRL_GROUP(OSCCLK), 1914 + ASPEED_PINCTRL_GROUP(PEWAKE), 1915 + ASPEED_PINCTRL_GROUP(PWM0), 1916 + ASPEED_PINCTRL_GROUP(PWM1), 1917 + ASPEED_PINCTRL_GROUP(PWM10G0), 1918 + ASPEED_PINCTRL_GROUP(PWM10G1), 1919 + ASPEED_PINCTRL_GROUP(PWM11G0), 1920 + ASPEED_PINCTRL_GROUP(PWM11G1), 1921 + ASPEED_PINCTRL_GROUP(PWM12G0), 1922 + ASPEED_PINCTRL_GROUP(PWM12G1), 1923 + ASPEED_PINCTRL_GROUP(PWM13G0), 1924 + ASPEED_PINCTRL_GROUP(PWM13G1), 1925 + ASPEED_PINCTRL_GROUP(PWM14G0), 1926 + ASPEED_PINCTRL_GROUP(PWM14G1), 1927 + ASPEED_PINCTRL_GROUP(PWM15G0), 1928 + ASPEED_PINCTRL_GROUP(PWM15G1), 1929 + ASPEED_PINCTRL_GROUP(PWM2), 1930 + ASPEED_PINCTRL_GROUP(PWM3), 1931 + ASPEED_PINCTRL_GROUP(PWM4), 1932 + ASPEED_PINCTRL_GROUP(PWM5), 1933 + ASPEED_PINCTRL_GROUP(PWM6), 1934 + ASPEED_PINCTRL_GROUP(PWM7), 1935 + ASPEED_PINCTRL_GROUP(PWM8G0), 1936 + ASPEED_PINCTRL_GROUP(PWM8G1), 1937 + ASPEED_PINCTRL_GROUP(PWM9G0), 1938 + ASPEED_PINCTRL_GROUP(PWM9G1), 1939 + ASPEED_PINCTRL_GROUP(QSPI1), 1940 + ASPEED_PINCTRL_GROUP(QSPI2), 1941 + ASPEED_PINCTRL_GROUP(RGMII1), 1942 + ASPEED_PINCTRL_GROUP(RGMII2), 1943 + ASPEED_PINCTRL_GROUP(RGMII3), 1944 + ASPEED_PINCTRL_GROUP(RGMII4), 1945 + ASPEED_PINCTRL_GROUP(RMII1), 1946 + ASPEED_PINCTRL_GROUP(RMII2), 1947 + ASPEED_PINCTRL_GROUP(RMII3), 1948 + ASPEED_PINCTRL_GROUP(RMII4), 1949 + ASPEED_PINCTRL_GROUP(RXD1), 1950 + ASPEED_PINCTRL_GROUP(RXD2), 1951 + ASPEED_PINCTRL_GROUP(RXD3), 1952 + ASPEED_PINCTRL_GROUP(RXD4), 1953 + ASPEED_PINCTRL_GROUP(SALT1), 1954 + ASPEED_PINCTRL_GROUP(SALT10G0), 1955 + ASPEED_PINCTRL_GROUP(SALT10G1), 1956 + ASPEED_PINCTRL_GROUP(SALT11G0), 1957 + ASPEED_PINCTRL_GROUP(SALT11G1), 1958 + ASPEED_PINCTRL_GROUP(SALT12G0), 1959 + ASPEED_PINCTRL_GROUP(SALT12G1), 1960 + ASPEED_PINCTRL_GROUP(SALT13G0), 1961 + ASPEED_PINCTRL_GROUP(SALT13G1), 1962 + ASPEED_PINCTRL_GROUP(SALT14G0), 1963 + ASPEED_PINCTRL_GROUP(SALT14G1), 1964 + ASPEED_PINCTRL_GROUP(SALT15G0), 1965 + ASPEED_PINCTRL_GROUP(SALT15G1), 1966 + ASPEED_PINCTRL_GROUP(SALT16G0), 1967 + ASPEED_PINCTRL_GROUP(SALT16G1), 1968 + ASPEED_PINCTRL_GROUP(SALT2), 1969 + ASPEED_PINCTRL_GROUP(SALT3), 1970 + ASPEED_PINCTRL_GROUP(SALT4), 1971 + ASPEED_PINCTRL_GROUP(SALT5), 1972 + ASPEED_PINCTRL_GROUP(SALT6), 1973 + ASPEED_PINCTRL_GROUP(SALT7), 1974 + ASPEED_PINCTRL_GROUP(SALT8), 1975 + ASPEED_PINCTRL_GROUP(SALT9G0), 1976 + ASPEED_PINCTRL_GROUP(SALT9G1), 1977 + ASPEED_PINCTRL_GROUP(SD1), 1978 + ASPEED_PINCTRL_GROUP(SD2), 1979 + ASPEED_PINCTRL_GROUP(SD3), 1980 + ASPEED_PINCTRL_GROUP(SD3DAT4), 1981 + ASPEED_PINCTRL_GROUP(SD3DAT5), 1982 + ASPEED_PINCTRL_GROUP(SD3DAT6), 1983 + ASPEED_PINCTRL_GROUP(SD3DAT7), 1984 + ASPEED_PINCTRL_GROUP(SGPM1), 1985 + ASPEED_PINCTRL_GROUP(SGPS1), 1986 + ASPEED_PINCTRL_GROUP(SIOONCTRL), 1987 + ASPEED_PINCTRL_GROUP(SIOPBI), 1988 + ASPEED_PINCTRL_GROUP(SIOPBO), 1989 + ASPEED_PINCTRL_GROUP(SIOPWREQ), 1990 + ASPEED_PINCTRL_GROUP(SIOPWRGD), 1991 + ASPEED_PINCTRL_GROUP(SIOS3), 1992 + ASPEED_PINCTRL_GROUP(SIOS5), 1993 + ASPEED_PINCTRL_GROUP(SIOSCI), 1994 + ASPEED_PINCTRL_GROUP(SPI1), 1995 + ASPEED_PINCTRL_GROUP(SPI1ABR), 1996 + ASPEED_PINCTRL_GROUP(SPI1CS1), 1997 + ASPEED_PINCTRL_GROUP(SPI1WP), 1998 + ASPEED_PINCTRL_GROUP(SPI2), 1999 + ASPEED_PINCTRL_GROUP(SPI2CS1), 2000 + ASPEED_PINCTRL_GROUP(SPI2CS2), 2001 + ASPEED_PINCTRL_GROUP(TACH0), 2002 + ASPEED_PINCTRL_GROUP(TACH1), 2003 + ASPEED_PINCTRL_GROUP(TACH10), 2004 + ASPEED_PINCTRL_GROUP(TACH11), 2005 + ASPEED_PINCTRL_GROUP(TACH12), 2006 + ASPEED_PINCTRL_GROUP(TACH13), 2007 + ASPEED_PINCTRL_GROUP(TACH14), 2008 + ASPEED_PINCTRL_GROUP(TACH15), 2009 + ASPEED_PINCTRL_GROUP(TACH2), 2010 + ASPEED_PINCTRL_GROUP(TACH3), 2011 + ASPEED_PINCTRL_GROUP(TACH4), 2012 + ASPEED_PINCTRL_GROUP(TACH5), 2013 + ASPEED_PINCTRL_GROUP(TACH6), 2014 + ASPEED_PINCTRL_GROUP(TACH7), 2015 + ASPEED_PINCTRL_GROUP(TACH8), 2016 + ASPEED_PINCTRL_GROUP(TACH9), 2017 + ASPEED_PINCTRL_GROUP(THRU0), 2018 + ASPEED_PINCTRL_GROUP(THRU1), 2019 + ASPEED_PINCTRL_GROUP(THRU2), 2020 + ASPEED_PINCTRL_GROUP(THRU3), 2021 + ASPEED_PINCTRL_GROUP(TXD1), 2022 + ASPEED_PINCTRL_GROUP(TXD2), 2023 + ASPEED_PINCTRL_GROUP(TXD3), 2024 + ASPEED_PINCTRL_GROUP(TXD4), 2025 + ASPEED_PINCTRL_GROUP(UART10), 2026 + ASPEED_PINCTRL_GROUP(UART11), 2027 + ASPEED_PINCTRL_GROUP(UART12G0), 2028 + ASPEED_PINCTRL_GROUP(UART12G1), 2029 + ASPEED_PINCTRL_GROUP(UART13G0), 2030 + ASPEED_PINCTRL_GROUP(UART13G1), 2031 + ASPEED_PINCTRL_GROUP(UART6), 2032 + ASPEED_PINCTRL_GROUP(UART7), 2033 + ASPEED_PINCTRL_GROUP(UART8), 2034 + ASPEED_PINCTRL_GROUP(UART9), 2035 + ASPEED_PINCTRL_GROUP(VB), 2036 + ASPEED_PINCTRL_GROUP(VGAHS), 2037 + ASPEED_PINCTRL_GROUP(VGAVS), 2038 + ASPEED_PINCTRL_GROUP(WDTRST1), 2039 + ASPEED_PINCTRL_GROUP(WDTRST2), 2040 + ASPEED_PINCTRL_GROUP(WDTRST3), 2041 + ASPEED_PINCTRL_GROUP(WDTRST4), 2042 + }; 2043 + 2044 + static const struct aspeed_pin_function aspeed_g6_functions[] = { 2045 + ASPEED_PINCTRL_FUNC(ADC0), 2046 + ASPEED_PINCTRL_FUNC(ADC1), 2047 + ASPEED_PINCTRL_FUNC(ADC10), 2048 + ASPEED_PINCTRL_FUNC(ADC11), 2049 + ASPEED_PINCTRL_FUNC(ADC12), 2050 + ASPEED_PINCTRL_FUNC(ADC13), 2051 + ASPEED_PINCTRL_FUNC(ADC14), 2052 + ASPEED_PINCTRL_FUNC(ADC15), 2053 + ASPEED_PINCTRL_FUNC(ADC2), 2054 + ASPEED_PINCTRL_FUNC(ADC3), 2055 + ASPEED_PINCTRL_FUNC(ADC4), 2056 + ASPEED_PINCTRL_FUNC(ADC5), 2057 + ASPEED_PINCTRL_FUNC(ADC6), 2058 + ASPEED_PINCTRL_FUNC(ADC7), 2059 + ASPEED_PINCTRL_FUNC(ADC8), 2060 + ASPEED_PINCTRL_FUNC(ADC9), 2061 + ASPEED_PINCTRL_FUNC(BMCINT), 2062 + ASPEED_PINCTRL_FUNC(ESPI), 2063 + ASPEED_PINCTRL_FUNC(ESPIALT), 2064 + ASPEED_PINCTRL_FUNC(FSI1), 2065 + ASPEED_PINCTRL_FUNC(FSI2), 2066 + ASPEED_PINCTRL_FUNC(FWSPIABR), 2067 + ASPEED_PINCTRL_FUNC(FWSPID), 2068 + ASPEED_PINCTRL_FUNC(FWSPIWP), 2069 + ASPEED_PINCTRL_FUNC(GPIT0), 2070 + ASPEED_PINCTRL_FUNC(GPIT1), 2071 + ASPEED_PINCTRL_FUNC(GPIT2), 2072 + ASPEED_PINCTRL_FUNC(GPIT3), 2073 + ASPEED_PINCTRL_FUNC(GPIT4), 2074 + ASPEED_PINCTRL_FUNC(GPIT5), 2075 + ASPEED_PINCTRL_FUNC(GPIT6), 2076 + ASPEED_PINCTRL_FUNC(GPIT7), 2077 + ASPEED_PINCTRL_FUNC(GPIU0), 2078 + ASPEED_PINCTRL_FUNC(GPIU1), 2079 + ASPEED_PINCTRL_FUNC(GPIU2), 2080 + ASPEED_PINCTRL_FUNC(GPIU3), 2081 + ASPEED_PINCTRL_FUNC(GPIU4), 2082 + ASPEED_PINCTRL_FUNC(GPIU5), 2083 + ASPEED_PINCTRL_FUNC(GPIU6), 2084 + ASPEED_PINCTRL_FUNC(GPIU7), 2085 + ASPEED_PINCTRL_FUNC(I2C1), 2086 + ASPEED_PINCTRL_FUNC(I2C10), 2087 + ASPEED_PINCTRL_FUNC(I2C11), 2088 + ASPEED_PINCTRL_FUNC(I2C12), 2089 + ASPEED_PINCTRL_FUNC(I2C13), 2090 + ASPEED_PINCTRL_FUNC(I2C14), 2091 + ASPEED_PINCTRL_FUNC(I2C15), 2092 + ASPEED_PINCTRL_FUNC(I2C16), 2093 + ASPEED_PINCTRL_FUNC(I2C2), 2094 + ASPEED_PINCTRL_FUNC(I2C3), 2095 + ASPEED_PINCTRL_FUNC(I2C4), 2096 + ASPEED_PINCTRL_FUNC(I2C5), 2097 + ASPEED_PINCTRL_FUNC(I2C6), 2098 + ASPEED_PINCTRL_FUNC(I2C7), 2099 + ASPEED_PINCTRL_FUNC(I2C8), 2100 + ASPEED_PINCTRL_FUNC(I2C9), 2101 + ASPEED_PINCTRL_FUNC(I3C3), 2102 + ASPEED_PINCTRL_FUNC(I3C4), 2103 + ASPEED_PINCTRL_FUNC(I3C5), 2104 + ASPEED_PINCTRL_FUNC(I3C6), 2105 + ASPEED_PINCTRL_FUNC(JTAGM), 2106 + ASPEED_PINCTRL_FUNC(LHPD), 2107 + ASPEED_PINCTRL_FUNC(LHSIRQ), 2108 + ASPEED_PINCTRL_FUNC(LPC), 2109 + ASPEED_PINCTRL_FUNC(LPCHC), 2110 + ASPEED_PINCTRL_FUNC(LPCPD), 2111 + ASPEED_PINCTRL_FUNC(LPCPME), 2112 + ASPEED_PINCTRL_FUNC(LPCSMI), 2113 + ASPEED_PINCTRL_FUNC(LSIRQ), 2114 + ASPEED_PINCTRL_FUNC(MACLINK1), 2115 + ASPEED_PINCTRL_FUNC(MACLINK2), 2116 + ASPEED_PINCTRL_FUNC(MACLINK3), 2117 + ASPEED_PINCTRL_FUNC(MACLINK4), 2118 + ASPEED_PINCTRL_FUNC(MDIO1), 2119 + ASPEED_PINCTRL_FUNC(MDIO2), 2120 + ASPEED_PINCTRL_FUNC(MDIO3), 2121 + ASPEED_PINCTRL_FUNC(MDIO4), 2122 + ASPEED_PINCTRL_FUNC(NCTS1), 2123 + ASPEED_PINCTRL_FUNC(NCTS2), 2124 + ASPEED_PINCTRL_FUNC(NCTS3), 2125 + ASPEED_PINCTRL_FUNC(NCTS4), 2126 + ASPEED_PINCTRL_FUNC(NDCD1), 2127 + ASPEED_PINCTRL_FUNC(NDCD2), 2128 + ASPEED_PINCTRL_FUNC(NDCD3), 2129 + ASPEED_PINCTRL_FUNC(NDCD4), 2130 + ASPEED_PINCTRL_FUNC(NDSR1), 2131 + ASPEED_PINCTRL_FUNC(NDSR2), 2132 + ASPEED_PINCTRL_FUNC(NDSR3), 2133 + ASPEED_PINCTRL_FUNC(NDSR4), 2134 + ASPEED_PINCTRL_FUNC(NDTR1), 2135 + ASPEED_PINCTRL_FUNC(NDTR2), 2136 + ASPEED_PINCTRL_FUNC(NDTR3), 2137 + ASPEED_PINCTRL_FUNC(NDTR4), 2138 + ASPEED_PINCTRL_FUNC(NRI1), 2139 + ASPEED_PINCTRL_FUNC(NRI2), 2140 + ASPEED_PINCTRL_FUNC(NRI3), 2141 + ASPEED_PINCTRL_FUNC(NRI4), 2142 + ASPEED_PINCTRL_FUNC(NRTS1), 2143 + ASPEED_PINCTRL_FUNC(NRTS2), 2144 + ASPEED_PINCTRL_FUNC(NRTS3), 2145 + ASPEED_PINCTRL_FUNC(NRTS4), 2146 + ASPEED_PINCTRL_FUNC(OSCCLK), 2147 + ASPEED_PINCTRL_FUNC(PEWAKE), 2148 + ASPEED_PINCTRL_FUNC(PWM0), 2149 + ASPEED_PINCTRL_FUNC(PWM1), 2150 + ASPEED_PINCTRL_FUNC(PWM10), 2151 + ASPEED_PINCTRL_FUNC(PWM11), 2152 + ASPEED_PINCTRL_FUNC(PWM12), 2153 + ASPEED_PINCTRL_FUNC(PWM13), 2154 + ASPEED_PINCTRL_FUNC(PWM14), 2155 + ASPEED_PINCTRL_FUNC(PWM15), 2156 + ASPEED_PINCTRL_FUNC(PWM2), 2157 + ASPEED_PINCTRL_FUNC(PWM3), 2158 + ASPEED_PINCTRL_FUNC(PWM4), 2159 + ASPEED_PINCTRL_FUNC(PWM5), 2160 + ASPEED_PINCTRL_FUNC(PWM6), 2161 + ASPEED_PINCTRL_FUNC(PWM7), 2162 + ASPEED_PINCTRL_FUNC(PWM8), 2163 + ASPEED_PINCTRL_FUNC(PWM9), 2164 + ASPEED_PINCTRL_FUNC(RGMII1), 2165 + ASPEED_PINCTRL_FUNC(RGMII2), 2166 + ASPEED_PINCTRL_FUNC(RGMII3), 2167 + ASPEED_PINCTRL_FUNC(RGMII4), 2168 + ASPEED_PINCTRL_FUNC(RMII1), 2169 + ASPEED_PINCTRL_FUNC(RMII2), 2170 + ASPEED_PINCTRL_FUNC(RMII3), 2171 + ASPEED_PINCTRL_FUNC(RMII4), 2172 + ASPEED_PINCTRL_FUNC(RXD1), 2173 + ASPEED_PINCTRL_FUNC(RXD2), 2174 + ASPEED_PINCTRL_FUNC(RXD3), 2175 + ASPEED_PINCTRL_FUNC(RXD4), 2176 + ASPEED_PINCTRL_FUNC(SALT1), 2177 + ASPEED_PINCTRL_FUNC(SALT10), 2178 + ASPEED_PINCTRL_FUNC(SALT11), 2179 + ASPEED_PINCTRL_FUNC(SALT12), 2180 + ASPEED_PINCTRL_FUNC(SALT13), 2181 + ASPEED_PINCTRL_FUNC(SALT14), 2182 + ASPEED_PINCTRL_FUNC(SALT15), 2183 + ASPEED_PINCTRL_FUNC(SALT16), 2184 + ASPEED_PINCTRL_FUNC(SALT2), 2185 + ASPEED_PINCTRL_FUNC(SALT3), 2186 + ASPEED_PINCTRL_FUNC(SALT4), 2187 + ASPEED_PINCTRL_FUNC(SALT5), 2188 + ASPEED_PINCTRL_FUNC(SALT6), 2189 + ASPEED_PINCTRL_FUNC(SALT7), 2190 + ASPEED_PINCTRL_FUNC(SALT8), 2191 + ASPEED_PINCTRL_FUNC(SALT9), 2192 + ASPEED_PINCTRL_FUNC(SD1), 2193 + ASPEED_PINCTRL_FUNC(SD2), 2194 + ASPEED_PINCTRL_FUNC(SD3), 2195 + ASPEED_PINCTRL_FUNC(SD3DAT4), 2196 + ASPEED_PINCTRL_FUNC(SD3DAT5), 2197 + ASPEED_PINCTRL_FUNC(SD3DAT6), 2198 + ASPEED_PINCTRL_FUNC(SD3DAT7), 2199 + ASPEED_PINCTRL_FUNC(SGPM1), 2200 + ASPEED_PINCTRL_FUNC(SGPS1), 2201 + ASPEED_PINCTRL_FUNC(SIOONCTRL), 2202 + ASPEED_PINCTRL_FUNC(SIOPBI), 2203 + ASPEED_PINCTRL_FUNC(SIOPBO), 2204 + ASPEED_PINCTRL_FUNC(SIOPWREQ), 2205 + ASPEED_PINCTRL_FUNC(SIOPWRGD), 2206 + ASPEED_PINCTRL_FUNC(SIOS3), 2207 + ASPEED_PINCTRL_FUNC(SIOS5), 2208 + ASPEED_PINCTRL_FUNC(SIOSCI), 2209 + ASPEED_PINCTRL_FUNC(SPI1), 2210 + ASPEED_PINCTRL_FUNC(SPI1ABR), 2211 + ASPEED_PINCTRL_FUNC(SPI1CS1), 2212 + ASPEED_PINCTRL_FUNC(SPI1WP), 2213 + ASPEED_PINCTRL_FUNC(SPI2), 2214 + ASPEED_PINCTRL_FUNC(SPI2CS1), 2215 + ASPEED_PINCTRL_FUNC(SPI2CS2), 2216 + ASPEED_PINCTRL_FUNC(TACH0), 2217 + ASPEED_PINCTRL_FUNC(TACH1), 2218 + ASPEED_PINCTRL_FUNC(TACH10), 2219 + ASPEED_PINCTRL_FUNC(TACH11), 2220 + ASPEED_PINCTRL_FUNC(TACH12), 2221 + ASPEED_PINCTRL_FUNC(TACH13), 2222 + ASPEED_PINCTRL_FUNC(TACH14), 2223 + ASPEED_PINCTRL_FUNC(TACH15), 2224 + ASPEED_PINCTRL_FUNC(TACH2), 2225 + ASPEED_PINCTRL_FUNC(TACH3), 2226 + ASPEED_PINCTRL_FUNC(TACH4), 2227 + ASPEED_PINCTRL_FUNC(TACH5), 2228 + ASPEED_PINCTRL_FUNC(TACH6), 2229 + ASPEED_PINCTRL_FUNC(TACH7), 2230 + ASPEED_PINCTRL_FUNC(TACH8), 2231 + ASPEED_PINCTRL_FUNC(TACH9), 2232 + ASPEED_PINCTRL_FUNC(THRU0), 2233 + ASPEED_PINCTRL_FUNC(THRU1), 2234 + ASPEED_PINCTRL_FUNC(THRU2), 2235 + ASPEED_PINCTRL_FUNC(THRU3), 2236 + ASPEED_PINCTRL_FUNC(TXD1), 2237 + ASPEED_PINCTRL_FUNC(TXD2), 2238 + ASPEED_PINCTRL_FUNC(TXD3), 2239 + ASPEED_PINCTRL_FUNC(TXD4), 2240 + ASPEED_PINCTRL_FUNC(UART10), 2241 + ASPEED_PINCTRL_FUNC(UART11), 2242 + ASPEED_PINCTRL_FUNC(UART12), 2243 + ASPEED_PINCTRL_FUNC(UART13), 2244 + ASPEED_PINCTRL_FUNC(UART6), 2245 + ASPEED_PINCTRL_FUNC(UART7), 2246 + ASPEED_PINCTRL_FUNC(UART8), 2247 + ASPEED_PINCTRL_FUNC(UART9), 2248 + ASPEED_PINCTRL_FUNC(VB), 2249 + ASPEED_PINCTRL_FUNC(VGAHS), 2250 + ASPEED_PINCTRL_FUNC(VGAVS), 2251 + ASPEED_PINCTRL_FUNC(WDTRST1), 2252 + ASPEED_PINCTRL_FUNC(WDTRST2), 2253 + ASPEED_PINCTRL_FUNC(WDTRST3), 2254 + ASPEED_PINCTRL_FUNC(WDTRST4), 2255 + }; 2256 + 2257 + /** 2258 + * Configure a pin's signal by applying an expression's descriptor state for 2259 + * all descriptors in the expression. 2260 + * 2261 + * @ctx: The pinmux context 2262 + * @expr: The expression associated with the function whose signal is to be 2263 + * configured 2264 + * @enable: true to enable an function's signal through a pin's signal 2265 + * expression, false to disable the function's signal 2266 + * 2267 + * Return: 0 if the expression is configured as requested and a negative error 2268 + * code otherwise 2269 + */ 2270 + static int aspeed_g6_sig_expr_set(struct aspeed_pinmux_data *ctx, 2271 + const struct aspeed_sig_expr *expr, 2272 + bool enable) 2273 + { 2274 + int ret; 2275 + int i; 2276 + 2277 + for (i = 0; i < expr->ndescs; i++) { 2278 + const struct aspeed_sig_desc *desc = &expr->descs[i]; 2279 + u32 pattern = enable ? desc->enable : desc->disable; 2280 + u32 val = (pattern << __ffs(desc->mask)); 2281 + bool is_strap; 2282 + 2283 + if (!ctx->maps[desc->ip]) 2284 + return -ENODEV; 2285 + 2286 + WARN_ON(desc->ip != ASPEED_IP_SCU); 2287 + is_strap = desc->reg == SCU500 || desc->reg == SCU510; 2288 + 2289 + if (is_strap) { 2290 + /* 2291 + * The AST2600 has write protection mask registers for 2292 + * the hardware strapping in SCU508 and SCU518. Assume 2293 + * that if the platform doesn't want the strapping 2294 + * values changed that it has set the write mask. 2295 + * 2296 + * The strapping registers implement write-1-clear 2297 + * behaviour. SCU500 is paired with clear writes on 2298 + * SCU504, likewise SCU510 is paired with SCU514. 2299 + */ 2300 + u32 clear = ~val & desc->mask; 2301 + u32 w1c = desc->reg + 4; 2302 + 2303 + if (clear) 2304 + ret = regmap_update_bits(ctx->maps[desc->ip], 2305 + w1c, desc->mask, 2306 + clear); 2307 + } 2308 + 2309 + ret = regmap_update_bits(ctx->maps[desc->ip], desc->reg, 2310 + desc->mask, val); 2311 + if (ret) 2312 + return ret; 2313 + } 2314 + 2315 + ret = aspeed_sig_expr_eval(ctx, expr, enable); 2316 + if (ret < 0) 2317 + return ret; 2318 + 2319 + if (!ret) 2320 + return -EPERM; 2321 + return 0; 2322 + } 2323 + 2324 + static const struct aspeed_pinmux_ops aspeed_g5_ops = { 2325 + .set = aspeed_g6_sig_expr_set, 2326 + }; 2327 + 2328 + static struct aspeed_pinctrl_data aspeed_g6_pinctrl_data = { 2329 + .pins = aspeed_g6_pins, 2330 + .npins = ARRAY_SIZE(aspeed_g6_pins), 2331 + .pinmux = { 2332 + .ops = &aspeed_g5_ops, 2333 + .groups = aspeed_g6_groups, 2334 + .ngroups = ARRAY_SIZE(aspeed_g6_groups), 2335 + .functions = aspeed_g6_functions, 2336 + .nfunctions = ARRAY_SIZE(aspeed_g6_functions), 2337 + }, 2338 + }; 2339 + 2340 + static const struct pinmux_ops aspeed_g6_pinmux_ops = { 2341 + .get_functions_count = aspeed_pinmux_get_fn_count, 2342 + .get_function_name = aspeed_pinmux_get_fn_name, 2343 + .get_function_groups = aspeed_pinmux_get_fn_groups, 2344 + .set_mux = aspeed_pinmux_set_mux, 2345 + .gpio_request_enable = aspeed_gpio_request_enable, 2346 + .strict = true, 2347 + }; 2348 + 2349 + static const struct pinctrl_ops aspeed_g6_pinctrl_ops = { 2350 + .get_groups_count = aspeed_pinctrl_get_groups_count, 2351 + .get_group_name = aspeed_pinctrl_get_group_name, 2352 + .get_group_pins = aspeed_pinctrl_get_group_pins, 2353 + .pin_dbg_show = aspeed_pinctrl_pin_dbg_show, 2354 + .dt_node_to_map = pinconf_generic_dt_node_to_map_all, 2355 + .dt_free_map = pinctrl_utils_free_map, 2356 + }; 2357 + 2358 + static struct pinctrl_desc aspeed_g6_pinctrl_desc = { 2359 + .name = "aspeed-g6-pinctrl", 2360 + .pins = aspeed_g6_pins, 2361 + .npins = ARRAY_SIZE(aspeed_g6_pins), 2362 + .pctlops = &aspeed_g6_pinctrl_ops, 2363 + .pmxops = &aspeed_g6_pinmux_ops, 2364 + }; 2365 + 2366 + static int aspeed_g6_pinctrl_probe(struct platform_device *pdev) 2367 + { 2368 + int i; 2369 + 2370 + for (i = 0; i < ARRAY_SIZE(aspeed_g6_pins); i++) 2371 + aspeed_g6_pins[i].number = i; 2372 + 2373 + return aspeed_pinctrl_probe(pdev, &aspeed_g6_pinctrl_desc, 2374 + &aspeed_g6_pinctrl_data); 2375 + } 2376 + 2377 + static const struct of_device_id aspeed_g6_pinctrl_of_match[] = { 2378 + { .compatible = "aspeed,ast2600-pinctrl", }, 2379 + { }, 2380 + }; 2381 + 2382 + static struct platform_driver aspeed_g6_pinctrl_driver = { 2383 + .probe = aspeed_g6_pinctrl_probe, 2384 + .driver = { 2385 + .name = "aspeed-g6-pinctrl", 2386 + .of_match_table = aspeed_g6_pinctrl_of_match, 2387 + }, 2388 + }; 2389 + 2390 + static int aspeed_g6_pinctrl_init(void) 2391 + { 2392 + return platform_driver_register(&aspeed_g6_pinctrl_driver); 2393 + } 2394 + 2395 + arch_initcall(aspeed_g6_pinctrl_init);
+157 -84
drivers/pinctrl/aspeed/pinmux-aspeed.h
··· 162 162 * * Enabling lower priority signals requires higher priority signals be 163 163 * disabled 164 164 * 165 - * * A function represents a set of signals; functions are distinct if their 166 - * sets of signals are not equal 165 + * * A function represents a set of signals; functions are distinct if they 166 + * do not share a subset of signals (and may be distinct if they are a 167 + * strict subset). 167 168 * 168 - * * Signals participate in one or more functions 169 + * * Signals participate in one or more functions or groups 169 170 * 170 171 * * A function is described by an expression of one or more signal 171 172 * descriptors, which compare bit values in a register ··· 508 507 * @idx: The bit index in the register 509 508 */ 510 509 #define SIG_DESC_SET(reg, idx) SIG_DESC_IP_BIT(ASPEED_IP_SCU, reg, idx, 1) 510 + #define SIG_DESC_CLEAR(reg, idx) SIG_DESC_IP_BIT(ASPEED_IP_SCU, reg, idx, 0) 511 511 512 - #define SIG_DESC_LIST_SYM(sig, func) sig_descs_ ## sig ## _ ## func 513 - #define SIG_DESC_LIST_DECL(sig, func, ...) \ 514 - static const struct aspeed_sig_desc SIG_DESC_LIST_SYM(sig, func)[] = \ 512 + #define SIG_DESC_LIST_SYM(sig, group) sig_descs_ ## sig ## _ ## group 513 + #define SIG_DESC_LIST_DECL(sig, group, ...) \ 514 + static const struct aspeed_sig_desc SIG_DESC_LIST_SYM(sig, group)[] = \ 515 515 { __VA_ARGS__ } 516 516 517 - #define SIG_EXPR_SYM(sig, func) sig_expr_ ## sig ## _ ## func 518 - #define SIG_EXPR_DECL_(sig, func) \ 519 - static const struct aspeed_sig_expr SIG_EXPR_SYM(sig, func) = \ 517 + #define SIG_EXPR_SYM(sig, group) sig_expr_ ## sig ## _ ## group 518 + #define SIG_EXPR_DECL_(sig, group, func) \ 519 + static const struct aspeed_sig_expr SIG_EXPR_SYM(sig, group) = \ 520 520 { \ 521 521 .signal = #sig, \ 522 522 .function = #func, \ 523 - .ndescs = ARRAY_SIZE(SIG_DESC_LIST_SYM(sig, func)), \ 524 - .descs = &(SIG_DESC_LIST_SYM(sig, func))[0], \ 523 + .ndescs = ARRAY_SIZE(SIG_DESC_LIST_SYM(sig, group)), \ 524 + .descs = &(SIG_DESC_LIST_SYM(sig, group))[0], \ 525 525 } 526 526 527 527 /** ··· 535 533 * 536 534 * For example, the following declares the ROMD8 signal for the ROM16 function: 537 535 * 538 - * SIG_EXPR_DECL(ROMD8, ROM16, SIG_DESC_SET(SCU90, 6)); 536 + * SIG_EXPR_DECL(ROMD8, ROM16, ROM16, SIG_DESC_SET(SCU90, 6)); 539 537 * 540 538 * And with multiple signal descriptors: 541 539 * 542 - * SIG_EXPR_DECL(ROMD8, ROM16S, SIG_DESC_SET(HW_STRAP1, 4), 540 + * SIG_EXPR_DECL(ROMD8, ROM16S, ROM16S, SIG_DESC_SET(HW_STRAP1, 4), 543 541 * { HW_STRAP1, GENMASK(1, 0), 0, 0 }); 544 542 */ 545 - #define SIG_EXPR_DECL(sig, func, ...) \ 546 - SIG_DESC_LIST_DECL(sig, func, __VA_ARGS__); \ 547 - SIG_EXPR_DECL_(sig, func) 543 + #define SIG_EXPR_DECL(sig, group, func, ...) \ 544 + SIG_DESC_LIST_DECL(sig, group, __VA_ARGS__); \ 545 + SIG_EXPR_DECL_(sig, group, func) 548 546 549 547 /** 550 548 * Declare a pointer to a signal expression ··· 552 550 * @sig: The macro symbol name for the signal (subjected to token pasting) 553 551 * @func: The macro symbol name for the function (subjected to token pasting) 554 552 */ 555 - #define SIG_EXPR_PTR(sig, func) (&SIG_EXPR_SYM(sig, func)) 553 + #define SIG_EXPR_PTR(sig, group) (&SIG_EXPR_SYM(sig, group)) 556 554 557 - #define SIG_EXPR_LIST_SYM(sig) sig_exprs_ ## sig 555 + #define SIG_EXPR_LIST_SYM(sig, group) sig_exprs_ ## sig ## _ ## group 558 556 559 557 /** 560 558 * Declare a signal expression list for reference in a struct aspeed_pin_prio. ··· 565 563 * For example, the 16-bit ROM bus can be enabled by one of two possible signal 566 564 * expressions: 567 565 * 568 - * SIG_EXPR_DECL(ROMD8, ROM16, SIG_DESC_SET(SCU90, 6)); 569 - * SIG_EXPR_DECL(ROMD8, ROM16S, SIG_DESC_SET(HW_STRAP1, 4), 566 + * SIG_EXPR_DECL(ROMD8, ROM16, ROM16, SIG_DESC_SET(SCU90, 6)); 567 + * SIG_EXPR_DECL(ROMD8, ROM16S, ROM16S, SIG_DESC_SET(HW_STRAP1, 4), 570 568 * { HW_STRAP1, GENMASK(1, 0), 0, 0 }); 571 569 * SIG_EXPR_LIST_DECL(ROMD8, SIG_EXPR_PTR(ROMD8, ROM16), 572 570 * SIG_EXPR_PTR(ROMD8, ROM16S)); 573 571 */ 574 - #define SIG_EXPR_LIST_DECL(sig, ...) \ 575 - static const struct aspeed_sig_expr *SIG_EXPR_LIST_SYM(sig)[] = \ 572 + #define SIG_EXPR_LIST_DECL(sig, group, ...) \ 573 + static const struct aspeed_sig_expr *SIG_EXPR_LIST_SYM(sig, group)[] =\ 576 574 { __VA_ARGS__, NULL } 575 + 576 + #define stringify(x) #x 577 + #define istringify(x) stringify(x) 578 + 579 + /** 580 + * Create an expression symbol alias from (signal, group) to (pin, signal). 581 + * 582 + * @pin: The pin number 583 + * @sig: The signal name 584 + * @group: The name of the group of which the pin is a member that is 585 + * associated with the function's signal 586 + * 587 + * Using an alias in this way enables detection of copy/paste errors (defining 588 + * the signal for a group multiple times) whilst enabling multiple pin groups 589 + * to exist for a signal without intrusive side-effects on defining the list of 590 + * signals available on a pin. 591 + */ 592 + #define SIG_EXPR_LIST_ALIAS(pin, sig, group) \ 593 + static const struct aspeed_sig_expr *\ 594 + SIG_EXPR_LIST_SYM(pin, sig)[ARRAY_SIZE(SIG_EXPR_LIST_SYM(sig, group))] \ 595 + __attribute__((alias(istringify(SIG_EXPR_LIST_SYM(sig, group))))) 577 596 578 597 /** 579 598 * A short-hand macro for declaring a function expression and an expression 580 - * list with a single function. 599 + * list with a single expression (SE) and a single group (SG) of pins. 581 600 * 582 - * @func: A macro symbol name for the function (is subjected to token pasting) 601 + * @pin: The pin the signal will be routed to 602 + * @sig: The signal that will be routed to the pin for the function 603 + * @func: A macro symbol name for the function 583 604 * @...: Function descriptors that define the function expression 584 605 * 585 606 * For example, signal NCTS6 participates in its own function with one group: 586 607 * 587 - * SIG_EXPR_LIST_DECL_SINGLE(NCTS6, NCTS6, SIG_DESC_SET(SCU90, 7)); 608 + * SIG_EXPR_LIST_DECL_SINGLE(A18, NCTS6, NCTS6, SIG_DESC_SET(SCU90, 7)); 588 609 */ 589 - #define SIG_EXPR_LIST_DECL_SINGLE(sig, func, ...) \ 610 + #define SIG_EXPR_LIST_DECL_SESG(pin, sig, func, ...) \ 590 611 SIG_DESC_LIST_DECL(sig, func, __VA_ARGS__); \ 591 - SIG_EXPR_DECL_(sig, func); \ 592 - SIG_EXPR_LIST_DECL(sig, SIG_EXPR_PTR(sig, func)) 612 + SIG_EXPR_DECL_(sig, func, func); \ 613 + SIG_EXPR_LIST_DECL(sig, func, SIG_EXPR_PTR(sig, func)); \ 614 + SIG_EXPR_LIST_ALIAS(pin, sig, func) 593 615 594 - #define SIG_EXPR_LIST_DECL_DUAL(sig, f0, f1) \ 595 - SIG_EXPR_LIST_DECL(sig, SIG_EXPR_PTR(sig, f0), SIG_EXPR_PTR(sig, f1)) 616 + /** 617 + * Similar to the above, but for pins with a single expression (SE) and 618 + * multiple groups (MG) of pins. 619 + * 620 + * @pin: The pin the signal will be routed to 621 + * @sig: The signal that will be routed to the pin for the function 622 + * @group: The name of the function's pin group in which the pin participates 623 + * @func: A macro symbol name for the function 624 + * @...: Function descriptors that define the function expression 625 + */ 626 + #define SIG_EXPR_LIST_DECL_SEMG(pin, sig, group, func, ...) \ 627 + SIG_DESC_LIST_DECL(sig, group, __VA_ARGS__); \ 628 + SIG_EXPR_DECL_(sig, group, func); \ 629 + SIG_EXPR_LIST_DECL(sig, group, SIG_EXPR_PTR(sig, group)); \ 630 + SIG_EXPR_LIST_ALIAS(pin, sig, group) 596 631 597 - #define SIG_EXPR_LIST_PTR(sig) (&SIG_EXPR_LIST_SYM(sig)[0]) 632 + /** 633 + * Similar to the above, but for pins with a dual expressions (DE) and 634 + * and a single group (SG) of pins. 635 + * 636 + * @pin: The pin the signal will be routed to 637 + * @sig: The signal that will be routed to the pin for the function 638 + * @group: The name of the function's pin group in which the pin participates 639 + * @func: A macro symbol name for the function 640 + * @...: Function descriptors that define the function expression 641 + */ 642 + #define SIG_EXPR_LIST_DECL_DESG(pin, sig, f0, f1) \ 643 + SIG_EXPR_LIST_DECL(sig, f0, \ 644 + SIG_EXPR_PTR(sig, f0), \ 645 + SIG_EXPR_PTR(sig, f1)); \ 646 + SIG_EXPR_LIST_ALIAS(pin, sig, f0) 647 + 648 + #define SIG_EXPR_LIST_PTR(sig, group) SIG_EXPR_LIST_SYM(sig, group) 598 649 599 650 #define PIN_EXPRS_SYM(pin) pin_exprs_ ## pin 600 651 #define PIN_EXPRS_PTR(pin) (&PIN_EXPRS_SYM(pin)[0]) 601 652 #define PIN_SYM(pin) pin_ ## pin 602 653 603 - #define MS_PIN_DECL_(pin, ...) \ 654 + #define PIN_DECL_(pin, ...) \ 604 655 static const struct aspeed_sig_expr **PIN_EXPRS_SYM(pin)[] = \ 605 656 { __VA_ARGS__, NULL }; \ 606 657 static const struct aspeed_pin_desc PIN_SYM(pin) = \ 607 658 { #pin, PIN_EXPRS_PTR(pin) } 608 659 609 660 /** 610 - * Declare a multi-signal pin 661 + * Declare a single signal pin 662 + * 663 + * @pin: The pin number 664 + * @other: Macro name for "other" functionality (subjected to stringification) 665 + * @sig: Macro name for the signal (subjected to stringification) 666 + * 667 + * For example: 668 + * 669 + * #define E3 80 670 + * SIG_EXPR_LIST_DECL_SINGLE(SCL5, I2C5, I2C5_DESC); 671 + * PIN_DECL_1(E3, GPIOK0, SCL5); 672 + */ 673 + #define PIN_DECL_1(pin, other, sig) \ 674 + SIG_EXPR_LIST_DECL_SESG(pin, other, other); \ 675 + PIN_DECL_(pin, SIG_EXPR_LIST_PTR(pin, sig), \ 676 + SIG_EXPR_LIST_PTR(pin, other)) 677 + 678 + /** 679 + * Single signal, single function pin declaration 680 + * 681 + * @pin: The pin number 682 + * @other: Macro name for "other" functionality (subjected to stringification) 683 + * @sig: Macro name for the signal (subjected to stringification) 684 + * @...: Signal descriptors that define the function expression 685 + * 686 + * For example: 687 + * 688 + * SSSF_PIN_DECL(A4, GPIOA2, TIMER3, SIG_DESC_SET(SCU80, 2)); 689 + */ 690 + #define SSSF_PIN_DECL(pin, other, sig, ...) \ 691 + SIG_EXPR_LIST_DECL_SESG(pin, sig, sig, __VA_ARGS__); \ 692 + SIG_EXPR_LIST_DECL_SESG(pin, other, other); \ 693 + PIN_DECL_(pin, SIG_EXPR_LIST_PTR(pin, sig), \ 694 + SIG_EXPR_LIST_PTR(pin, other)); \ 695 + FUNC_GROUP_DECL(sig, pin) 696 + /** 697 + * Declare a two-signal pin 611 698 * 612 699 * @pin: The pin number 613 700 * @other: Macro name for "other" functionality (subjected to stringification) ··· 712 621 * SIG_EXPR_LIST_DECL(ROMD8, SIG_EXPR_PTR(ROMD8, ROM16), 713 622 * SIG_EXPR_PTR(ROMD8, ROM16S)); 714 623 * SIG_EXPR_LIST_DECL_SINGLE(NCTS6, NCTS6, SIG_DESC_SET(SCU90, 7)); 715 - * MS_PIN_DECL(A8, GPIOH0, ROMD8, NCTS6); 624 + * PIN_DECL_2(A8, GPIOH0, ROMD8, NCTS6); 716 625 */ 717 - #define MS_PIN_DECL(pin, other, high, low) \ 718 - SIG_EXPR_LIST_DECL_SINGLE(other, other); \ 719 - MS_PIN_DECL_(pin, \ 720 - SIG_EXPR_LIST_PTR(high), \ 721 - SIG_EXPR_LIST_PTR(low), \ 722 - SIG_EXPR_LIST_PTR(other)) 626 + #define PIN_DECL_2(pin, other, high, low) \ 627 + SIG_EXPR_LIST_DECL_SESG(pin, other, other); \ 628 + PIN_DECL_(pin, \ 629 + SIG_EXPR_LIST_PTR(pin, high), \ 630 + SIG_EXPR_LIST_PTR(pin, low), \ 631 + SIG_EXPR_LIST_PTR(pin, other)) 723 632 724 - #define PIN_GROUP_SYM(func) pins_ ## func 725 - #define FUNC_GROUP_SYM(func) groups_ ## func 633 + #define PIN_DECL_3(pin, other, high, medium, low) \ 634 + SIG_EXPR_LIST_DECL_SESG(pin, other, other); \ 635 + PIN_DECL_(pin, \ 636 + SIG_EXPR_LIST_PTR(pin, high), \ 637 + SIG_EXPR_LIST_PTR(pin, medium), \ 638 + SIG_EXPR_LIST_PTR(pin, low), \ 639 + SIG_EXPR_LIST_PTR(pin, other)) 640 + 641 + #define GROUP_SYM(group) group_pins_ ## group 642 + #define GROUP_DECL(group, ...) \ 643 + static const int GROUP_SYM(group)[] = { __VA_ARGS__ } 644 + 645 + #define FUNC_SYM(func) func_groups_ ## func 646 + #define FUNC_DECL_(func, ...) \ 647 + static const char *FUNC_SYM(func)[] = { __VA_ARGS__ } 648 + 649 + #define FUNC_DECL_2(func, one, two) FUNC_DECL_(func, #one, #two) 650 + 726 651 #define FUNC_GROUP_DECL(func, ...) \ 727 - static const int PIN_GROUP_SYM(func)[] = { __VA_ARGS__ }; \ 728 - static const char *FUNC_GROUP_SYM(func)[] = { #func } 652 + GROUP_DECL(func, __VA_ARGS__); \ 653 + FUNC_DECL_(func, #func) 729 654 730 - /** 731 - * Declare a single signal pin 732 - * 733 - * @pin: The pin number 734 - * @other: Macro name for "other" functionality (subjected to stringification) 735 - * @sig: Macro name for the signal (subjected to stringification) 736 - * 737 - * For example: 738 - * 739 - * #define E3 80 740 - * SIG_EXPR_LIST_DECL_SINGLE(SCL5, I2C5, I2C5_DESC); 741 - * SS_PIN_DECL(E3, GPIOK0, SCL5); 742 - */ 743 - #define SS_PIN_DECL(pin, other, sig) \ 744 - SIG_EXPR_LIST_DECL_SINGLE(other, other); \ 745 - MS_PIN_DECL_(pin, SIG_EXPR_LIST_PTR(sig), SIG_EXPR_LIST_PTR(other)) 746 - 747 - /** 748 - * Single signal, single function pin declaration 749 - * 750 - * @pin: The pin number 751 - * @other: Macro name for "other" functionality (subjected to stringification) 752 - * @sig: Macro name for the signal (subjected to stringification) 753 - * @...: Signal descriptors that define the function expression 754 - * 755 - * For example: 756 - * 757 - * SSSF_PIN_DECL(A4, GPIOA2, TIMER3, SIG_DESC_SET(SCU80, 2)); 758 - */ 759 - #define SSSF_PIN_DECL(pin, other, sig, ...) \ 760 - SIG_EXPR_LIST_DECL_SINGLE(sig, sig, __VA_ARGS__); \ 761 - SIG_EXPR_LIST_DECL_SINGLE(other, other); \ 762 - MS_PIN_DECL_(pin, SIG_EXPR_LIST_PTR(sig), SIG_EXPR_LIST_PTR(other)); \ 763 - FUNC_GROUP_DECL(sig, pin) 764 655 765 656 #define GPIO_PIN_DECL(pin, gpio) \ 766 - SIG_EXPR_LIST_DECL_SINGLE(gpio, gpio); \ 767 - MS_PIN_DECL_(pin, SIG_EXPR_LIST_PTR(gpio)) 657 + SIG_EXPR_LIST_DECL_SESG(pin, gpio, gpio); \ 658 + PIN_DECL_(pin, SIG_EXPR_LIST_PTR(pin, gpio)) 768 659 769 660 struct aspeed_pin_group { 770 661 const char *name; ··· 756 683 757 684 #define ASPEED_PINCTRL_GROUP(name_) { \ 758 685 .name = #name_, \ 759 - .pins = &(PIN_GROUP_SYM(name_))[0], \ 760 - .npins = ARRAY_SIZE(PIN_GROUP_SYM(name_)), \ 686 + .pins = &(GROUP_SYM(name_))[0], \ 687 + .npins = ARRAY_SIZE(GROUP_SYM(name_)), \ 761 688 } 762 689 763 690 struct aspeed_pin_function { ··· 768 695 769 696 #define ASPEED_PINCTRL_FUNC(name_, ...) { \ 770 697 .name = #name_, \ 771 - .groups = &FUNC_GROUP_SYM(name_)[0], \ 772 - .ngroups = ARRAY_SIZE(FUNC_GROUP_SYM(name_)), \ 698 + .groups = &FUNC_SYM(name_)[0], \ 699 + .ngroups = ARRAY_SIZE(FUNC_SYM(name_)), \ 773 700 } 774 701 775 702 struct aspeed_pinmux_data;
+123 -33
drivers/pinctrl/bcm/pinctrl-bcm2835.c
··· 57 57 #define GPAFEN0 0x88 /* Pin Async Falling Edge Detect */ 58 58 #define GPPUD 0x94 /* Pin Pull-up/down Enable */ 59 59 #define GPPUDCLK0 0x98 /* Pin Pull-up/down Enable Clock */ 60 + #define GP_GPIO_PUP_PDN_CNTRL_REG0 0xe4 /* 2711 Pin Pull-up/down select */ 60 61 61 62 #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) 62 63 #define FSEL_SHIFT(p) (((p) % 10) * 3) 63 64 #define GPIO_REG_OFFSET(p) ((p) / 32) 64 65 #define GPIO_REG_SHIFT(p) ((p) % 32) 65 66 67 + #define PUD_2711_MASK 0x3 68 + #define PUD_2711_REG_OFFSET(p) ((p) / 16) 69 + #define PUD_2711_REG_SHIFT(p) (((p) % 16) * 2) 70 + 66 71 /* argument: bcm2835_pinconf_pull */ 67 72 #define BCM2835_PINCONF_PARAM_PULL (PIN_CONFIG_END + 1) 73 + 74 + #define BCM2711_PULL_NONE 0x0 75 + #define BCM2711_PULL_UP 0x1 76 + #define BCM2711_PULL_DOWN 0x2 68 77 69 78 struct bcm2835_pinctrl { 70 79 struct device *dev; 71 80 void __iomem *base; 72 - int irq[BCM2835_NUM_IRQS]; 73 81 74 82 /* note: locking assumes each bank will have its own unsigned long */ 75 83 unsigned long enabled_irq_map[BCM2835_NUM_BANKS]; ··· 381 373 int group; 382 374 int i; 383 375 384 - for (i = 0; i < ARRAY_SIZE(pc->irq); i++) { 385 - if (pc->irq[i] == irq) { 376 + for (i = 0; i < BCM2835_NUM_IRQS; i++) { 377 + if (chip->irq.parents[i] == irq) { 386 378 group = i; 387 379 break; 388 380 } 389 381 } 390 382 /* This should not happen, every IRQ has a bank */ 391 - if (i == ARRAY_SIZE(pc->irq)) 383 + if (i == BCM2835_NUM_IRQS) 392 384 BUG(); 393 385 394 386 chained_irq_enter(host_chip, desc); ··· 983 975 .pin_config_set = bcm2835_pinconf_set, 984 976 }; 985 977 978 + static void bcm2711_pull_config_set(struct bcm2835_pinctrl *pc, 979 + unsigned int pin, unsigned int arg) 980 + { 981 + u32 shifter; 982 + u32 value; 983 + u32 off; 984 + 985 + off = PUD_2711_REG_OFFSET(pin); 986 + shifter = PUD_2711_REG_SHIFT(pin); 987 + 988 + value = bcm2835_gpio_rd(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4)); 989 + value &= ~(PUD_2711_MASK << shifter); 990 + value |= (arg << shifter); 991 + bcm2835_gpio_wr(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4), value); 992 + } 993 + 994 + static int bcm2711_pinconf_set(struct pinctrl_dev *pctldev, 995 + unsigned int pin, unsigned long *configs, 996 + unsigned int num_configs) 997 + { 998 + struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); 999 + u32 param, arg; 1000 + int i; 1001 + 1002 + for (i = 0; i < num_configs; i++) { 1003 + param = pinconf_to_config_param(configs[i]); 1004 + arg = pinconf_to_config_argument(configs[i]); 1005 + 1006 + switch (param) { 1007 + /* convert legacy brcm,pull */ 1008 + case BCM2835_PINCONF_PARAM_PULL: 1009 + if (arg == BCM2835_PUD_UP) 1010 + arg = BCM2711_PULL_UP; 1011 + else if (arg == BCM2835_PUD_DOWN) 1012 + arg = BCM2711_PULL_DOWN; 1013 + else 1014 + arg = BCM2711_PULL_NONE; 1015 + 1016 + bcm2711_pull_config_set(pc, pin, arg); 1017 + break; 1018 + 1019 + /* Set pull generic bindings */ 1020 + case PIN_CONFIG_BIAS_DISABLE: 1021 + bcm2711_pull_config_set(pc, pin, BCM2711_PULL_NONE); 1022 + break; 1023 + case PIN_CONFIG_BIAS_PULL_DOWN: 1024 + bcm2711_pull_config_set(pc, pin, BCM2711_PULL_DOWN); 1025 + break; 1026 + case PIN_CONFIG_BIAS_PULL_UP: 1027 + bcm2711_pull_config_set(pc, pin, BCM2711_PULL_UP); 1028 + break; 1029 + 1030 + /* Set output-high or output-low */ 1031 + case PIN_CONFIG_OUTPUT: 1032 + bcm2835_gpio_set_bit(pc, arg ? GPSET0 : GPCLR0, pin); 1033 + break; 1034 + 1035 + default: 1036 + return -ENOTSUPP; 1037 + } 1038 + } /* for each config */ 1039 + 1040 + return 0; 1041 + } 1042 + 1043 + static const struct pinconf_ops bcm2711_pinconf_ops = { 1044 + .is_generic = true, 1045 + .pin_config_get = bcm2835_pinconf_get, 1046 + .pin_config_set = bcm2711_pinconf_set, 1047 + }; 1048 + 986 1049 static struct pinctrl_desc bcm2835_pinctrl_desc = { 987 1050 .name = MODULE_NAME, 988 1051 .pins = bcm2835_gpio_pins, ··· 1069 990 .npins = BCM2835_NUM_GPIOS, 1070 991 }; 1071 992 993 + static const struct of_device_id bcm2835_pinctrl_match[] = { 994 + { 995 + .compatible = "brcm,bcm2835-gpio", 996 + .data = &bcm2835_pinconf_ops, 997 + }, 998 + { 999 + .compatible = "brcm,bcm2711-gpio", 1000 + .data = &bcm2711_pinconf_ops, 1001 + }, 1002 + {} 1003 + }; 1004 + 1072 1005 static int bcm2835_pinctrl_probe(struct platform_device *pdev) 1073 1006 { 1074 1007 struct device *dev = &pdev->dev; 1075 1008 struct device_node *np = dev->of_node; 1076 1009 struct bcm2835_pinctrl *pc; 1010 + struct gpio_irq_chip *girq; 1077 1011 struct resource iomem; 1078 1012 int err, i; 1013 + const struct of_device_id *match; 1014 + 1079 1015 BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS); 1080 1016 BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS); 1081 1017 ··· 1135 1041 raw_spin_lock_init(&pc->irq_lock[i]); 1136 1042 } 1137 1043 1044 + girq = &pc->gpio_chip.irq; 1045 + girq->chip = &bcm2835_gpio_irq_chip; 1046 + girq->parent_handler = bcm2835_gpio_irq_handler; 1047 + girq->num_parents = BCM2835_NUM_IRQS; 1048 + girq->parents = devm_kcalloc(dev, BCM2835_NUM_IRQS, 1049 + sizeof(*girq->parents), 1050 + GFP_KERNEL); 1051 + if (!girq->parents) 1052 + return -ENOMEM; 1053 + /* 1054 + * Use the same handler for all groups: this is necessary 1055 + * since we use one gpiochip to cover all lines - the 1056 + * irq handler then needs to figure out which group and 1057 + * bank that was firing the IRQ and look up the per-group 1058 + * and bank data. 1059 + */ 1060 + for (i = 0; i < BCM2835_NUM_IRQS; i++) 1061 + girq->parents[i] = irq_of_parse_and_map(np, i); 1062 + girq->default_type = IRQ_TYPE_NONE; 1063 + girq->handler = handle_level_irq; 1064 + 1138 1065 err = gpiochip_add_data(&pc->gpio_chip, pc); 1139 1066 if (err) { 1140 1067 dev_err(dev, "could not add GPIO chip\n"); 1141 1068 return err; 1142 1069 } 1143 1070 1144 - err = gpiochip_irqchip_add(&pc->gpio_chip, &bcm2835_gpio_irq_chip, 1145 - 0, handle_level_irq, IRQ_TYPE_NONE); 1146 - if (err) { 1147 - dev_info(dev, "could not add irqchip\n"); 1148 - return err; 1149 - } 1150 - 1151 - for (i = 0; i < BCM2835_NUM_IRQS; i++) { 1152 - pc->irq[i] = irq_of_parse_and_map(np, i); 1153 - 1154 - if (pc->irq[i] == 0) 1155 - continue; 1156 - 1157 - /* 1158 - * Use the same handler for all groups: this is necessary 1159 - * since we use one gpiochip to cover all lines - the 1160 - * irq handler then needs to figure out which group and 1161 - * bank that was firing the IRQ and look up the per-group 1162 - * and bank data. 1163 - */ 1164 - gpiochip_set_chained_irqchip(&pc->gpio_chip, 1165 - &bcm2835_gpio_irq_chip, 1166 - pc->irq[i], 1167 - bcm2835_gpio_irq_handler); 1071 + match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node); 1072 + if (match) { 1073 + bcm2835_pinctrl_desc.confops = 1074 + (const struct pinconf_ops *)match->data; 1168 1075 } 1169 1076 1170 1077 pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc); ··· 1181 1086 1182 1087 return 0; 1183 1088 } 1184 - 1185 - static const struct of_device_id bcm2835_pinctrl_match[] = { 1186 - { .compatible = "brcm,bcm2835-gpio" }, 1187 - {} 1188 - }; 1189 1089 1190 1090 static struct platform_driver bcm2835_pinctrl_driver = { 1191 1091 .probe = bcm2835_pinctrl_probe,
-1
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
··· 923 923 if (!pinctrl->mux_log) 924 924 return -ENOMEM; 925 925 926 - log = pinctrl->mux_log; 927 926 for (i = 0; i < CYGNUS_NUM_IOMUX_REGS; i++) { 928 927 for (j = 0; j < CYGNUS_NUM_MUX_PER_REG; j++) { 929 928 log = &pinctrl->mux_log[i * CYGNUS_NUM_MUX_PER_REG
+116 -40
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
··· 54 54 /* drive strength control for ASIU GPIO */ 55 55 #define IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET 0x58 56 56 57 - /* drive strength control for CCM/CRMU (AON) GPIO */ 58 - #define IPROC_GPIO_DRV0_CTRL_OFFSET 0x00 57 + /* pinconf for CCM GPIO */ 58 + #define IPROC_GPIO_PULL_DN_OFFSET 0x10 59 + #define IPROC_GPIO_PULL_UP_OFFSET 0x14 60 + 61 + /* pinconf for CRMU(aon) GPIO and CCM GPIO*/ 62 + #define IPROC_GPIO_DRV_CTRL_OFFSET 0x00 59 63 60 64 #define GPIO_BANK_SIZE 0x200 61 65 #define NGPIOS_PER_BANK 32 ··· 78 74 IPROC_PINCONF_BIAS_PULL_UP, 79 75 IPROC_PINCONF_BIAS_PULL_DOWN, 80 76 IPROC_PINCON_MAX, 77 + }; 78 + 79 + enum iproc_pinconf_ctrl_type { 80 + IOCTRL_TYPE_AON = 1, 81 + IOCTRL_TYPE_CDRU, 82 + IOCTRL_TYPE_INVALID, 81 83 }; 82 84 83 85 /* ··· 110 100 111 101 void __iomem *base; 112 102 void __iomem *io_ctrl; 103 + enum iproc_pinconf_ctrl_type io_ctrl_type; 113 104 114 105 raw_spinlock_t lock; 115 106 107 + struct irq_chip irqchip; 116 108 struct gpio_chip gc; 117 109 unsigned num_banks; 118 110 ··· 303 291 return 0; 304 292 } 305 293 306 - static struct irq_chip iproc_gpio_irq_chip = { 307 - .name = "bcm-iproc-gpio", 308 - .irq_ack = iproc_gpio_irq_ack, 309 - .irq_mask = iproc_gpio_irq_mask, 310 - .irq_unmask = iproc_gpio_irq_unmask, 311 - .irq_set_type = iproc_gpio_irq_set_type, 312 - }; 313 - 314 294 /* 315 295 * Request the Iproc IOMUX pinmux controller to mux individual pins to GPIO 316 296 */ ··· 357 353 dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val); 358 354 359 355 return 0; 356 + } 357 + 358 + static int iproc_gpio_get_direction(struct gpio_chip *gc, unsigned int gpio) 359 + { 360 + struct iproc_gpio *chip = gpiochip_get_data(gc); 361 + unsigned int offset = IPROC_GPIO_REG(gpio, IPROC_GPIO_OUT_EN_OFFSET); 362 + unsigned int shift = IPROC_GPIO_SHIFT(gpio); 363 + 364 + return !(readl(chip->base + offset) & BIT(shift)); 360 365 } 361 366 362 367 static void iproc_gpio_set(struct gpio_chip *gc, unsigned gpio, int val) ··· 474 461 static int iproc_gpio_set_pull(struct iproc_gpio *chip, unsigned gpio, 475 462 bool disable, bool pull_up) 476 463 { 464 + void __iomem *base; 477 465 unsigned long flags; 466 + unsigned int shift; 467 + u32 val_1, val_2; 478 468 479 469 raw_spin_lock_irqsave(&chip->lock, flags); 470 + if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) { 471 + base = chip->io_ctrl; 472 + shift = IPROC_GPIO_SHIFT(gpio); 480 473 481 - if (disable) { 482 - iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, false); 474 + val_1 = readl(base + IPROC_GPIO_PULL_UP_OFFSET); 475 + val_2 = readl(base + IPROC_GPIO_PULL_DN_OFFSET); 476 + if (disable) { 477 + /* no pull-up or pull-down */ 478 + val_1 &= ~BIT(shift); 479 + val_2 &= ~BIT(shift); 480 + } else if (pull_up) { 481 + val_1 |= BIT(shift); 482 + val_2 &= ~BIT(shift); 483 + } else { 484 + val_1 &= ~BIT(shift); 485 + val_2 |= BIT(shift); 486 + } 487 + writel(val_1, base + IPROC_GPIO_PULL_UP_OFFSET); 488 + writel(val_2, base + IPROC_GPIO_PULL_DN_OFFSET); 483 489 } else { 484 - iproc_set_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio, 485 - pull_up); 486 - iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, true); 490 + if (disable) { 491 + iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, 492 + false); 493 + } else { 494 + iproc_set_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio, 495 + pull_up); 496 + iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, 497 + true); 498 + } 487 499 } 488 500 489 501 raw_spin_unlock_irqrestore(&chip->lock, flags); 490 - 491 502 dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up); 492 503 493 504 return 0; ··· 520 483 static void iproc_gpio_get_pull(struct iproc_gpio *chip, unsigned gpio, 521 484 bool *disable, bool *pull_up) 522 485 { 486 + void __iomem *base; 523 487 unsigned long flags; 488 + unsigned int shift; 489 + u32 val_1, val_2; 524 490 525 491 raw_spin_lock_irqsave(&chip->lock, flags); 526 - *disable = !iproc_get_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio); 527 - *pull_up = iproc_get_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio); 492 + if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) { 493 + base = chip->io_ctrl; 494 + shift = IPROC_GPIO_SHIFT(gpio); 495 + 496 + val_1 = readl(base + IPROC_GPIO_PULL_UP_OFFSET) & BIT(shift); 497 + val_2 = readl(base + IPROC_GPIO_PULL_DN_OFFSET) & BIT(shift); 498 + 499 + *pull_up = val_1 ? true : false; 500 + *disable = (val_1 | val_2) ? false : true; 501 + 502 + } else { 503 + *disable = !iproc_get_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio); 504 + *pull_up = iproc_get_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio); 505 + } 528 506 raw_spin_unlock_irqrestore(&chip->lock, flags); 529 507 } 508 + 509 + #define DRV_STRENGTH_OFFSET(gpio, bit, type) ((type) == IOCTRL_TYPE_AON ? \ 510 + ((2 - (bit)) * 4 + IPROC_GPIO_DRV_CTRL_OFFSET) : \ 511 + ((type) == IOCTRL_TYPE_CDRU) ? \ 512 + ((bit) * 4 + IPROC_GPIO_DRV_CTRL_OFFSET) : \ 513 + ((bit) * 4 + IPROC_GPIO_REG(gpio, IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET))) 530 514 531 515 static int iproc_gpio_set_strength(struct iproc_gpio *chip, unsigned gpio, 532 516 unsigned strength) ··· 563 505 564 506 if (chip->io_ctrl) { 565 507 base = chip->io_ctrl; 566 - offset = IPROC_GPIO_DRV0_CTRL_OFFSET; 567 508 } else { 568 509 base = chip->base; 569 - offset = IPROC_GPIO_REG(gpio, 570 - IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET); 571 510 } 572 511 573 512 shift = IPROC_GPIO_SHIFT(gpio); ··· 575 520 raw_spin_lock_irqsave(&chip->lock, flags); 576 521 strength = (strength / 2) - 1; 577 522 for (i = 0; i < GPIO_DRV_STRENGTH_BITS; i++) { 523 + offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type); 578 524 val = readl(base + offset); 579 525 val &= ~BIT(shift); 580 526 val |= ((strength >> i) & 0x1) << shift; 581 527 writel(val, base + offset); 582 - offset += 4; 583 528 } 584 529 raw_spin_unlock_irqrestore(&chip->lock, flags); 585 530 ··· 596 541 597 542 if (chip->io_ctrl) { 598 543 base = chip->io_ctrl; 599 - offset = IPROC_GPIO_DRV0_CTRL_OFFSET; 600 544 } else { 601 545 base = chip->base; 602 - offset = IPROC_GPIO_REG(gpio, 603 - IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET); 604 546 } 605 547 606 548 shift = IPROC_GPIO_SHIFT(gpio); ··· 605 553 raw_spin_lock_irqsave(&chip->lock, flags); 606 554 *strength = 0; 607 555 for (i = 0; i < GPIO_DRV_STRENGTH_BITS; i++) { 556 + offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type); 608 557 val = readl(base + offset) & BIT(shift); 609 558 val >>= shift; 610 559 *strength += (val << i); 611 - offset += 4; 612 560 } 613 561 614 562 /* convert to mA */ ··· 786 734 u32 ngpios, pinconf_disable_mask = 0; 787 735 int irq, ret; 788 736 bool no_pinconf = false; 737 + enum iproc_pinconf_ctrl_type io_ctrl_type = IOCTRL_TYPE_INVALID; 789 738 790 739 /* NSP does not support drive strength config */ 791 740 if (of_device_is_compatible(dev->of_node, "brcm,iproc-nsp-gpio")) ··· 817 764 dev_err(dev, "unable to map I/O memory\n"); 818 765 return PTR_ERR(chip->io_ctrl); 819 766 } 767 + if (of_device_is_compatible(dev->of_node, 768 + "brcm,cygnus-ccm-gpio")) 769 + io_ctrl_type = IOCTRL_TYPE_CDRU; 770 + else 771 + io_ctrl_type = IOCTRL_TYPE_AON; 820 772 } 773 + 774 + chip->io_ctrl_type = io_ctrl_type; 821 775 822 776 if (of_property_read_u32(dev->of_node, "ngpios", &ngpios)) { 823 777 dev_err(&pdev->dev, "missing ngpios DT property\n"); ··· 844 784 gc->free = iproc_gpio_free; 845 785 gc->direction_input = iproc_gpio_direction_input; 846 786 gc->direction_output = iproc_gpio_direction_output; 787 + gc->get_direction = iproc_gpio_get_direction; 847 788 gc->set = iproc_gpio_set; 848 789 gc->get = iproc_gpio_get; 849 790 850 791 chip->pinmux_is_supported = of_property_read_bool(dev->of_node, 851 792 "gpio-ranges"); 793 + 794 + /* optional GPIO interrupt support */ 795 + irq = platform_get_irq(pdev, 0); 796 + if (irq) { 797 + struct irq_chip *irqc; 798 + struct gpio_irq_chip *girq; 799 + 800 + irqc = &chip->irqchip; 801 + irqc->name = "bcm-iproc-gpio"; 802 + irqc->irq_ack = iproc_gpio_irq_ack; 803 + irqc->irq_mask = iproc_gpio_irq_mask; 804 + irqc->irq_unmask = iproc_gpio_irq_unmask; 805 + irqc->irq_set_type = iproc_gpio_irq_set_type; 806 + irqc->irq_enable = iproc_gpio_irq_unmask; 807 + irqc->irq_disable = iproc_gpio_irq_mask; 808 + 809 + girq = &gc->irq; 810 + girq->chip = irqc; 811 + girq->parent_handler = iproc_gpio_irq_handler; 812 + girq->num_parents = 1; 813 + girq->parents = devm_kcalloc(dev, 1, 814 + sizeof(*girq->parents), 815 + GFP_KERNEL); 816 + if (!girq->parents) 817 + return -ENOMEM; 818 + girq->parents[0] = irq; 819 + girq->default_type = IRQ_TYPE_NONE; 820 + girq->handler = handle_simple_irq; 821 + } 852 822 853 823 ret = gpiochip_add_data(gc, chip); 854 824 if (ret < 0) { ··· 902 812 goto err_rm_gpiochip; 903 813 } 904 814 } 905 - } 906 - 907 - /* optional GPIO interrupt support */ 908 - irq = platform_get_irq(pdev, 0); 909 - if (irq) { 910 - ret = gpiochip_irqchip_add(gc, &iproc_gpio_irq_chip, 0, 911 - handle_simple_irq, IRQ_TYPE_NONE); 912 - if (ret) { 913 - dev_err(dev, "no GPIO irqchip\n"); 914 - goto err_rm_gpiochip; 915 - } 916 - 917 - gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq, 918 - iproc_gpio_irq_handler); 919 815 } 920 816 921 817 return 0;
+6
drivers/pinctrl/cirrus/Kconfig
··· 15 15 select PINMUX 16 16 select GENERIC_PINCONF 17 17 18 + config PINCTRL_CS47L15 19 + bool 20 + 18 21 config PINCTRL_CS47L35 19 22 bool 20 23 ··· 25 22 bool 26 23 27 24 config PINCTRL_CS47L90 25 + bool 26 + 27 + config PINCTRL_CS47L92 28 28 bool
+6
drivers/pinctrl/cirrus/Makefile
··· 3 3 obj-$(CONFIG_PINCTRL_LOCHNAGAR) += pinctrl-lochnagar.o 4 4 5 5 pinctrl-madera-objs := pinctrl-madera-core.o 6 + ifeq ($(CONFIG_PINCTRL_CS47L15),y) 7 + pinctrl-madera-objs += pinctrl-cs47l15.o 8 + endif 6 9 ifeq ($(CONFIG_PINCTRL_CS47L35),y) 7 10 pinctrl-madera-objs += pinctrl-cs47l35.o 8 11 endif ··· 14 11 endif 15 12 ifeq ($(CONFIG_PINCTRL_CS47L90),y) 16 13 pinctrl-madera-objs += pinctrl-cs47l90.o 14 + endif 15 + ifeq ($(CONFIG_PINCTRL_CS47L92),y) 16 + pinctrl-madera-objs += pinctrl-cs47l92.o 17 17 endif 18 18 19 19 obj-$(CONFIG_PINCTRL_MADERA) += pinctrl-madera.o
+40
drivers/pinctrl/cirrus/pinctrl-cs47l15.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Pinctrl for Cirrus Logic CS47L15 4 + * 5 + * Copyright (C) 2018-2019 Cirrus Logic, Inc. and 6 + * Cirrus Logic International Semiconductor Ltd. 7 + */ 8 + 9 + #include <linux/err.h> 10 + #include <linux/mfd/madera/core.h> 11 + 12 + #include "pinctrl-madera.h" 13 + 14 + /* 15 + * The alt func groups are the most commonly used functions we place these at 16 + * the lower function indexes for convenience, and the less commonly used gpio 17 + * functions at higher indexes. 18 + * 19 + * To stay consistent with the datasheet the function names are the same as 20 + * the group names for that function's pins 21 + * 22 + * Note - all 1 less than in datasheet because these are zero-indexed 23 + */ 24 + static const unsigned int cs47l15_aif1_pins[] = { 0, 1, 2, 3 }; 25 + static const unsigned int cs47l15_aif2_pins[] = { 4, 5, 6, 7 }; 26 + static const unsigned int cs47l15_aif3_pins[] = { 8, 9, 10, 11 }; 27 + static const unsigned int cs47l15_spk1_pins[] = { 12, 13, 14 }; 28 + 29 + static const struct madera_pin_groups cs47l15_pin_groups[] = { 30 + { "aif1", cs47l15_aif1_pins, ARRAY_SIZE(cs47l15_aif1_pins) }, 31 + { "aif2", cs47l15_aif2_pins, ARRAY_SIZE(cs47l15_aif2_pins) }, 32 + { "aif3", cs47l15_aif3_pins, ARRAY_SIZE(cs47l15_aif3_pins) }, 33 + { "pdmspk1", cs47l15_spk1_pins, ARRAY_SIZE(cs47l15_spk1_pins) }, 34 + }; 35 + 36 + const struct madera_pin_chip cs47l15_pin_chip = { 37 + .n_pins = CS47L15_NUM_GPIOS, 38 + .pin_groups = cs47l15_pin_groups, 39 + .n_pin_groups = ARRAY_SIZE(cs47l15_pin_groups), 40 + };
+40
drivers/pinctrl/cirrus/pinctrl-cs47l92.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Pinctrl for Cirrus Logic CS47L92 4 + * 5 + * Copyright (C) 2018-2019 Cirrus Logic, Inc. and 6 + * Cirrus Logic International Semiconductor Ltd. 7 + */ 8 + 9 + #include <linux/err.h> 10 + #include <linux/mfd/madera/core.h> 11 + 12 + #include "pinctrl-madera.h" 13 + 14 + /* 15 + * The alt func groups are the most commonly used functions we place these at 16 + * the lower function indexes for convenience, and the less commonly used gpio 17 + * functions at higher indexes. 18 + * 19 + * To stay consistent with the datasheet the function names are the same as 20 + * the group names for that function's pins 21 + * 22 + * Note - all 1 less than in datasheet because these are zero-indexed 23 + */ 24 + static const unsigned int cs47l92_spk1_pins[] = { 2, 3 }; 25 + static const unsigned int cs47l92_aif1_pins[] = { 4, 5, 6, 7 }; 26 + static const unsigned int cs47l92_aif2_pins[] = { 8, 9, 10, 11 }; 27 + static const unsigned int cs47l92_aif3_pins[] = { 12, 13, 14, 15 }; 28 + 29 + static const struct madera_pin_groups cs47l92_pin_groups[] = { 30 + { "aif1", cs47l92_aif1_pins, ARRAY_SIZE(cs47l92_aif1_pins) }, 31 + { "aif2", cs47l92_aif2_pins, ARRAY_SIZE(cs47l92_aif2_pins) }, 32 + { "aif3", cs47l92_aif3_pins, ARRAY_SIZE(cs47l92_aif3_pins) }, 33 + { "pdmspk1", cs47l92_spk1_pins, ARRAY_SIZE(cs47l92_spk1_pins) }, 34 + }; 35 + 36 + const struct madera_pin_chip cs47l92_pin_chip = { 37 + .n_pins = CS47L92_NUM_GPIOS, 38 + .pin_groups = cs47l92_pin_groups, 39 + .n_pin_groups = ARRAY_SIZE(cs47l92_pin_groups), 40 + };
+22 -2
drivers/pinctrl/cirrus/pinctrl-madera-core.c
··· 396 396 .group_names = madera_pin_single_group_names, 397 397 .func = 0x157 398 398 }, 399 + { 400 + .name = "aux-pdm-clk", 401 + .group_names = madera_pin_single_group_names, 402 + .func = 0x280 403 + }, 404 + { 405 + .name = "aux-pdm-dat", 406 + .group_names = madera_pin_single_group_names, 407 + .func = 0x281 408 + }, 399 409 }; 400 410 401 411 static u16 madera_pin_make_drv_str(struct madera_pin_private *priv, ··· 996 986 static int madera_pin_probe(struct platform_device *pdev) 997 987 { 998 988 struct madera *madera = dev_get_drvdata(pdev->dev.parent); 999 - const struct madera_pdata *pdata = dev_get_platdata(madera->dev); 989 + const struct madera_pdata *pdata = &madera->pdata; 1000 990 struct madera_pin_private *priv; 1001 991 int ret; 1002 992 ··· 1014 1004 pdev->dev.of_node = madera->dev->of_node; 1015 1005 1016 1006 switch (madera->type) { 1007 + case CS47L15: 1008 + if (IS_ENABLED(CONFIG_PINCTRL_CS47L15)) 1009 + priv->chip = &cs47l15_pin_chip; 1010 + break; 1017 1011 case CS47L35: 1018 1012 if (IS_ENABLED(CONFIG_PINCTRL_CS47L35)) 1019 1013 priv->chip = &cs47l35_pin_chip; ··· 1031 1017 case CS47L91: 1032 1018 if (IS_ENABLED(CONFIG_PINCTRL_CS47L90)) 1033 1019 priv->chip = &cs47l90_pin_chip; 1020 + break; 1021 + case CS42L92: 1022 + case CS47L92: 1023 + case CS47L93: 1024 + if (IS_ENABLED(CONFIG_PINCTRL_CS47L92)) 1025 + priv->chip = &cs47l92_pin_chip; 1034 1026 break; 1035 1027 default: 1036 1028 break; ··· 1057 1037 } 1058 1038 1059 1039 /* if the configuration is provided through pdata, apply it */ 1060 - if (pdata && pdata->gpio_configs) { 1040 + if (pdata->gpio_configs) { 1061 1041 ret = pinctrl_register_mappings(pdata->gpio_configs, 1062 1042 pdata->n_gpio_configs); 1063 1043 if (ret) {
+2
drivers/pinctrl/cirrus/pinctrl-madera.h
··· 30 30 struct pinctrl_dev *pctl; 31 31 }; 32 32 33 + extern const struct madera_pin_chip cs47l15_pin_chip; 33 34 extern const struct madera_pin_chip cs47l35_pin_chip; 34 35 extern const struct madera_pin_chip cs47l85_pin_chip; 35 36 extern const struct madera_pin_chip cs47l90_pin_chip; 37 + extern const struct madera_pin_chip cs47l92_pin_chip; 36 38 37 39 #endif
+28
drivers/pinctrl/core.c
··· 736 736 return -EINVAL; 737 737 } 738 738 739 + bool pinctrl_gpio_can_use_line(unsigned gpio) 740 + { 741 + struct pinctrl_dev *pctldev; 742 + struct pinctrl_gpio_range *range; 743 + bool result; 744 + int pin; 745 + 746 + /* 747 + * Try to obtain GPIO range, if it fails 748 + * we're probably dealing with GPIO driver 749 + * without a backing pin controller - bail out. 750 + */ 751 + if (pinctrl_get_device_gpio_range(gpio, &pctldev, &range)) 752 + return true; 753 + 754 + mutex_lock(&pctldev->mutex); 755 + 756 + /* Convert to the pin controllers number space */ 757 + pin = gpio_to_pin(range, gpio); 758 + 759 + result = pinmux_can_be_used_for_gpio(pctldev, pin); 760 + 761 + mutex_unlock(&pctldev->mutex); 762 + 763 + return result; 764 + } 765 + EXPORT_SYMBOL_GPL(pinctrl_gpio_can_use_line); 766 + 739 767 /** 740 768 * pinctrl_gpio_request() - request a single pin to be used as GPIO 741 769 * @gpio: the GPIO pin number from the GPIO subsystem number space
+2 -4
drivers/pinctrl/devicetree.c
··· 228 228 * than dynamically allocate it and have to free it later, 229 229 * just point part way into the property name for the string. 230 230 */ 231 - if (ret < 0) { 232 - /* strlen("pinctrl-") == 8 */ 233 - statename = prop->name + 8; 234 - } 231 + if (ret < 0) 232 + statename = prop->name + strlen("pinctrl-"); 235 233 236 234 /* For every referenced pin configuration node in it */ 237 235 for (config = 0; config < size; config++) {
+10 -3
drivers/pinctrl/freescale/pinctrl-imx.c
··· 672 672 673 673 grp = devm_kzalloc(ipctl->dev, sizeof(struct group_desc), 674 674 GFP_KERNEL); 675 - if (!grp) 675 + if (!grp) { 676 + of_node_put(child); 676 677 return -ENOMEM; 678 + } 677 679 678 680 mutex_lock(&ipctl->mutex); 679 681 radix_tree_insert(&pctl->pin_group_tree, ··· 699 697 struct device_node *pinctrl_np; 700 698 701 699 for_each_child_of_node(np, function_np) { 702 - if (of_property_read_bool(function_np, "fsl,pins")) 700 + if (of_property_read_bool(function_np, "fsl,pins")) { 701 + of_node_put(function_np); 703 702 return true; 703 + } 704 704 705 705 for_each_child_of_node(function_np, pinctrl_np) { 706 - if (of_property_read_bool(pinctrl_np, "fsl,pins")) 706 + if (of_property_read_bool(pinctrl_np, "fsl,pins")) { 707 + of_node_put(pinctrl_np); 708 + of_node_put(function_np); 707 709 return false; 710 + } 708 711 } 709 712 } 710 713
+9 -3
drivers/pinctrl/freescale/pinctrl-mxs.c
··· 488 488 if (of_property_read_u32(child, "reg", &val)) { 489 489 ret = mxs_pinctrl_parse_group(pdev, child, 490 490 idxg++, NULL); 491 - if (ret) 491 + if (ret) { 492 + of_node_put(child); 492 493 return ret; 494 + } 493 495 continue; 494 496 } 495 497 ··· 501 499 f->ngroups, 502 500 sizeof(*f->groups), 503 501 GFP_KERNEL); 504 - if (!f->groups) 502 + if (!f->groups) { 503 + of_node_put(child); 505 504 return -ENOMEM; 505 + } 506 506 fn = child->name; 507 507 i = 0; 508 508 } 509 509 ret = mxs_pinctrl_parse_group(pdev, child, idxg++, 510 510 &f->groups[i++]); 511 - if (ret) 511 + if (ret) { 512 + of_node_put(child); 512 513 return ret; 514 + } 513 515 } 514 516 515 517 return 0;
+23 -44
drivers/pinctrl/intel/pinctrl-baytrail.c
··· 98 98 u32 val; 99 99 }; 100 100 101 - struct byt_community { 102 - unsigned int pin_base; 103 - size_t npins; 104 - const unsigned int *pad_map; 105 - void __iomem *reg_base; 106 - }; 107 - 108 101 #define COMMUNITY(p, n, map) \ 109 102 { \ 110 103 .pin_base = (p), \ ··· 105 112 .pad_map = (map),\ 106 113 } 107 114 108 - struct byt_pinctrl_soc_data { 109 - const char *uid; 110 - const struct pinctrl_pin_desc *pins; 111 - size_t npins; 112 - const struct intel_pingroup *groups; 113 - size_t ngroups; 114 - const struct intel_function *functions; 115 - size_t nfunctions; 116 - const struct byt_community *communities; 117 - size_t ncommunities; 118 - }; 119 - 120 115 struct byt_gpio { 121 116 struct gpio_chip chip; 122 117 struct platform_device *pdev; 123 118 struct pinctrl_dev *pctl_dev; 124 119 struct pinctrl_desc pctl_desc; 125 120 raw_spinlock_t lock; 126 - const struct byt_pinctrl_soc_data *soc_data; 127 - struct byt_community *communities_copy; 121 + const struct intel_pinctrl_soc_data *soc_data; 122 + struct intel_community *communities_copy; 128 123 struct byt_gpio_pin_context *saved_context; 129 124 }; 130 125 ··· 364 383 FUNCTION("gpio", byt_score_gpio_groups), 365 384 }; 366 385 367 - static const struct byt_community byt_score_communities[] = { 386 + static const struct intel_community byt_score_communities[] = { 368 387 COMMUNITY(0, BYT_NGPIO_SCORE, byt_score_pins_map), 369 388 }; 370 389 371 - static const struct byt_pinctrl_soc_data byt_score_soc_data = { 390 + static const struct intel_pinctrl_soc_data byt_score_soc_data = { 372 391 .uid = BYT_SCORE_ACPI_UID, 373 392 .pins = byt_score_pins, 374 393 .npins = ARRAY_SIZE(byt_score_pins), ··· 477 496 FUNCTION("gpio", byt_sus_gpio_groups), 478 497 }; 479 498 480 - static const struct byt_community byt_sus_communities[] = { 499 + static const struct intel_community byt_sus_communities[] = { 481 500 COMMUNITY(0, BYT_NGPIO_SUS, byt_sus_pins_map), 482 501 }; 483 502 484 - static const struct byt_pinctrl_soc_data byt_sus_soc_data = { 503 + static const struct intel_pinctrl_soc_data byt_sus_soc_data = { 485 504 .uid = BYT_SUS_ACPI_UID, 486 505 .pins = byt_sus_pins, 487 506 .npins = ARRAY_SIZE(byt_sus_pins), ··· 530 549 3, 6, 10, 13, 2, 5, 9, 7, 531 550 }; 532 551 533 - static const struct byt_community byt_ncore_communities[] = { 552 + static const struct intel_community byt_ncore_communities[] = { 534 553 COMMUNITY(0, BYT_NGPIO_NCORE, byt_ncore_pins_map), 535 554 }; 536 555 537 - static const struct byt_pinctrl_soc_data byt_ncore_soc_data = { 556 + static const struct intel_pinctrl_soc_data byt_ncore_soc_data = { 538 557 .uid = BYT_NCORE_ACPI_UID, 539 558 .pins = byt_ncore_pins, 540 559 .npins = ARRAY_SIZE(byt_ncore_pins), ··· 542 561 .ncommunities = ARRAY_SIZE(byt_ncore_communities), 543 562 }; 544 563 545 - static const struct byt_pinctrl_soc_data *byt_soc_data[] = { 564 + static const struct intel_pinctrl_soc_data *byt_soc_data[] = { 546 565 &byt_score_soc_data, 547 566 &byt_sus_soc_data, 548 567 &byt_ncore_soc_data, 549 568 NULL 550 569 }; 551 570 552 - static struct byt_community *byt_get_community(struct byt_gpio *vg, 553 - unsigned int pin) 571 + static struct intel_community *byt_get_community(struct byt_gpio *vg, 572 + unsigned int pin) 554 573 { 555 - struct byt_community *comm; 574 + struct intel_community *comm; 556 575 int i; 557 576 558 577 for (i = 0; i < vg->soc_data->ncommunities; i++) { ··· 567 586 static void __iomem *byt_gpio_reg(struct byt_gpio *vg, unsigned int offset, 568 587 int reg) 569 588 { 570 - struct byt_community *comm = byt_get_community(vg, offset); 589 + struct intel_community *comm = byt_get_community(vg, offset); 571 590 u32 reg_offset; 572 591 573 592 if (!comm) ··· 586 605 break; 587 606 } 588 607 589 - return comm->reg_base + reg_offset + reg; 608 + return comm->pad_regs + reg_offset + reg; 590 609 } 591 610 592 611 static int byt_get_groups_count(struct pinctrl_dev *pctldev) ··· 1192 1211 u32 conf0, val; 1193 1212 1194 1213 for (i = 0; i < vg->soc_data->npins; i++) { 1195 - const struct byt_community *comm; 1214 + const struct intel_community *comm; 1196 1215 const char *pull_str = NULL; 1197 1216 const char *pull = NULL; 1198 1217 void __iomem *reg; ··· 1561 1580 } 1562 1581 1563 1582 static int byt_set_soc_data(struct byt_gpio *vg, 1564 - const struct byt_pinctrl_soc_data *soc_data) 1583 + const struct intel_pinctrl_soc_data *soc_data) 1565 1584 { 1566 1585 int i; 1567 1586 ··· 1574 1593 return -ENOMEM; 1575 1594 1576 1595 for (i = 0; i < soc_data->ncommunities; i++) { 1577 - struct byt_community *comm = vg->communities_copy + i; 1578 - struct resource *mem_rc; 1596 + struct intel_community *comm = vg->communities_copy + i; 1579 1597 1580 1598 *comm = vg->soc_data->communities[i]; 1581 1599 1582 - mem_rc = platform_get_resource(vg->pdev, IORESOURCE_MEM, 0); 1583 - comm->reg_base = devm_ioremap_resource(&vg->pdev->dev, mem_rc); 1584 - if (IS_ERR(comm->reg_base)) 1585 - return PTR_ERR(comm->reg_base); 1600 + comm->pad_regs = devm_platform_ioremap_resource(vg->pdev, 0); 1601 + if (IS_ERR(comm->pad_regs)) 1602 + return PTR_ERR(comm->pad_regs); 1586 1603 } 1587 1604 1588 1605 return 0; ··· 1594 1615 1595 1616 static int byt_pinctrl_probe(struct platform_device *pdev) 1596 1617 { 1597 - const struct byt_pinctrl_soc_data *soc_data = NULL; 1598 - const struct byt_pinctrl_soc_data **soc_table; 1618 + const struct intel_pinctrl_soc_data *soc_data = NULL; 1619 + const struct intel_pinctrl_soc_data **soc_table; 1599 1620 struct acpi_device *acpi_dev; 1600 1621 struct byt_gpio *vg; 1601 1622 int i, ret; ··· 1604 1625 if (!acpi_dev) 1605 1626 return -ENODEV; 1606 1627 1607 - soc_table = (const struct byt_pinctrl_soc_data **)device_get_match_data(&pdev->dev); 1628 + soc_table = (const struct intel_pinctrl_soc_data **)device_get_match_data(&pdev->dev); 1608 1629 1609 1630 for (i = 0; soc_table[i]; i++) { 1610 1631 if (!strcmp(acpi_dev->pnp.unique_id, soc_table[i]->uid)) {
+3 -1
drivers/pinctrl/intel/pinctrl-broxton.c
··· 15 15 #include "pinctrl-intel.h" 16 16 17 17 #define BXT_PAD_OWN 0x020 18 - #define BXT_HOSTSW_OWN 0x080 19 18 #define BXT_PADCFGLOCK 0x060 19 + #define BXT_HOSTSW_OWN 0x080 20 + #define BXT_GPI_IS 0x100 20 21 #define BXT_GPI_IE 0x110 21 22 22 23 #define BXT_COMMUNITY(s, e) \ ··· 25 24 .padown_offset = BXT_PAD_OWN, \ 26 25 .padcfglock_offset = BXT_PADCFGLOCK, \ 27 26 .hostown_offset = BXT_HOSTSW_OWN, \ 27 + .is_offset = BXT_GPI_IS, \ 28 28 .ie_offset = BXT_GPI_IE, \ 29 29 .gpp_size = 32, \ 30 30 .pin_base = (s), \
+2
drivers/pinctrl/intel/pinctrl-cannonlake.c
··· 19 19 #define CNL_PADCFGLOCK 0x080 20 20 #define CNL_LP_HOSTSW_OWN 0x0b0 21 21 #define CNL_H_HOSTSW_OWN 0x0c0 22 + #define CNL_GPI_IS 0x100 22 23 #define CNL_GPI_IE 0x120 23 24 24 25 #define CNL_GPP(r, s, e, g) \ ··· 38 37 .padown_offset = CNL_PAD_OWN, \ 39 38 .padcfglock_offset = CNL_PADCFGLOCK, \ 40 39 .hostown_offset = (o), \ 40 + .is_offset = CNL_GPI_IS, \ 41 41 .ie_offset = CNL_GPI_IE, \ 42 42 .pin_base = (s), \ 43 43 .npins = ((e) - (s) + 1), \
+2 -6
drivers/pinctrl/intel/pinctrl-cherryview.c
··· 1677 1677 { 1678 1678 struct chv_pinctrl *pctrl; 1679 1679 struct acpi_device *adev; 1680 - struct resource *res; 1681 1680 acpi_status status; 1682 1681 int ret, irq, i; 1683 1682 ··· 1706 1707 return -ENOMEM; 1707 1708 #endif 1708 1709 1709 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1710 - pctrl->regs = devm_ioremap_resource(&pdev->dev, res); 1710 + pctrl->regs = devm_platform_ioremap_resource(pdev, 0); 1711 1711 if (IS_ERR(pctrl->regs)) 1712 1712 return PTR_ERR(pctrl->regs); 1713 1713 1714 1714 irq = platform_get_irq(pdev, 0); 1715 - if (irq < 0) { 1716 - dev_err(&pdev->dev, "failed to get interrupt number\n"); 1715 + if (irq < 0) 1717 1716 return irq; 1718 - } 1719 1717 1720 1718 pctrl->pctldesc = chv_pinctrl_desc; 1721 1719 pctrl->pctldesc.name = dev_name(&pdev->dev);
+28 -25
drivers/pinctrl/intel/pinctrl-denverton.c
··· 15 15 #include "pinctrl-intel.h" 16 16 17 17 #define DNV_PAD_OWN 0x020 18 - #define DNV_HOSTSW_OWN 0x0C0 19 18 #define DNV_PADCFGLOCK 0x090 19 + #define DNV_HOSTSW_OWN 0x0C0 20 + #define DNV_GPI_IS 0x100 20 21 #define DNV_GPI_IE 0x120 21 22 22 23 #define DNV_GPP(n, s, e) \ ··· 33 32 .padown_offset = DNV_PAD_OWN, \ 34 33 .padcfglock_offset = DNV_PADCFGLOCK, \ 35 34 .hostown_offset = DNV_HOSTSW_OWN, \ 35 + .is_offset = DNV_GPI_IS, \ 36 36 .ie_offset = DNV_GPI_IE, \ 37 37 .pin_base = (s), \ 38 38 .npins = ((e) - (s) + 1), \ ··· 41 39 .ngpps = ARRAY_SIZE(g), \ 42 40 } 43 41 42 + /* Denverton */ 44 43 static const struct pinctrl_pin_desc dnv_pins[] = { 45 44 /* North ALL */ 46 45 PINCTRL_PIN(0, "GBE0_SDP0"), ··· 62 59 PINCTRL_PIN(15, "NCSI_CLK_IN"), 63 60 PINCTRL_PIN(16, "NCSI_RXD1"), 64 61 PINCTRL_PIN(17, "NCSI_CRS_DV"), 65 - PINCTRL_PIN(18, "NCSI_ARB_IN"), 62 + PINCTRL_PIN(18, "IDSLDO_VID_TICKLE"), 66 63 PINCTRL_PIN(19, "NCSI_TX_EN"), 67 64 PINCTRL_PIN(20, "NCSI_TXD0"), 68 65 PINCTRL_PIN(21, "NCSI_TXD1"), ··· 71 68 PINCTRL_PIN(24, "GBE0_LED1"), 72 69 PINCTRL_PIN(25, "GBE1_LED0"), 73 70 PINCTRL_PIN(26, "GBE1_LED1"), 74 - PINCTRL_PIN(27, "GPIO_0"), 71 + PINCTRL_PIN(27, "SPARE_0"), 75 72 PINCTRL_PIN(28, "PCIE_CLKREQ0_N"), 76 73 PINCTRL_PIN(29, "PCIE_CLKREQ1_N"), 77 74 PINCTRL_PIN(30, "PCIE_CLKREQ2_N"), 78 75 PINCTRL_PIN(31, "PCIE_CLKREQ3_N"), 79 76 PINCTRL_PIN(32, "PCIE_CLKREQ4_N"), 80 - PINCTRL_PIN(33, "GPIO_1"), 81 - PINCTRL_PIN(34, "GPIO_2"), 77 + PINCTRL_PIN(33, "GBE_MDC"), 78 + PINCTRL_PIN(34, "GBE_MDIO"), 82 79 PINCTRL_PIN(35, "SVID_ALERT_N"), 83 80 PINCTRL_PIN(36, "SVID_DATA"), 84 81 PINCTRL_PIN(37, "SVID_CLK"), ··· 105 102 PINCTRL_PIN(57, "DFX_PORT14"), 106 103 PINCTRL_PIN(58, "DFX_PORT15"), 107 104 /* South GPP0 */ 108 - PINCTRL_PIN(59, "GPIO_12"), 109 - PINCTRL_PIN(60, "SMB5_GBE_ALRT_N"), 105 + PINCTRL_PIN(59, "SPI_TPM_CS_N"), 106 + PINCTRL_PIN(60, "UART2_CTS"), 110 107 PINCTRL_PIN(61, "PCIE_CLKREQ5_N"), 111 108 PINCTRL_PIN(62, "PCIE_CLKREQ6_N"), 112 109 PINCTRL_PIN(63, "PCIE_CLKREQ7_N"), 113 110 PINCTRL_PIN(64, "UART0_RXD"), 114 111 PINCTRL_PIN(65, "UART0_TXD"), 115 - PINCTRL_PIN(66, "SMB5_GBE_CLK"), 116 - PINCTRL_PIN(67, "SMB5_GBE_DATA"), 112 + PINCTRL_PIN(66, "CPU_RESET_N"), 113 + PINCTRL_PIN(67, "NMI"), 117 114 PINCTRL_PIN(68, "ERROR2_N"), 118 115 PINCTRL_PIN(69, "ERROR1_N"), 119 116 PINCTRL_PIN(70, "ERROR0_N"), ··· 132 129 PINCTRL_PIN(83, "USB_OC0_N"), 133 130 PINCTRL_PIN(84, "FLEX_CLK_SE0"), 134 131 PINCTRL_PIN(85, "FLEX_CLK_SE1"), 135 - PINCTRL_PIN(86, "GPIO_4"), 136 - PINCTRL_PIN(87, "GPIO_5"), 137 - PINCTRL_PIN(88, "GPIO_6"), 138 - PINCTRL_PIN(89, "GPIO_7"), 132 + PINCTRL_PIN(86, "SPARE_4"), 133 + PINCTRL_PIN(87, "SMB3_IE0_CLK"), 134 + PINCTRL_PIN(88, "SMB3_IE0_DATA"), 135 + PINCTRL_PIN(89, "SMB3_IE0_ALRT_N"), 139 136 PINCTRL_PIN(90, "SATA0_LED_N"), 140 137 PINCTRL_PIN(91, "SATA1_LED_N"), 141 138 PINCTRL_PIN(92, "SATA_PDETECT0"), 142 139 PINCTRL_PIN(93, "SATA_PDETECT1"), 143 - PINCTRL_PIN(94, "SATA0_SDOUT"), 144 - PINCTRL_PIN(95, "SATA1_SDOUT"), 140 + PINCTRL_PIN(94, "UART1_RTS"), 141 + PINCTRL_PIN(95, "UART1_CTS"), 145 142 PINCTRL_PIN(96, "UART1_RXD"), 146 143 PINCTRL_PIN(97, "UART1_TXD"), 147 - PINCTRL_PIN(98, "GPIO_8"), 148 - PINCTRL_PIN(99, "GPIO_9"), 144 + PINCTRL_PIN(98, "SPARE_8"), 145 + PINCTRL_PIN(99, "SPARE_9"), 149 146 PINCTRL_PIN(100, "TCK"), 150 147 PINCTRL_PIN(101, "TRST_N"), 151 148 PINCTRL_PIN(102, "TMS"), ··· 153 150 PINCTRL_PIN(104, "TDO"), 154 151 PINCTRL_PIN(105, "CX_PRDY_N"), 155 152 PINCTRL_PIN(106, "CX_PREQ_N"), 156 - PINCTRL_PIN(107, "CTBTRIGINOUT"), 157 - PINCTRL_PIN(108, "CTBTRIGOUT"), 158 - PINCTRL_PIN(109, "DFX_SPARE2"), 159 - PINCTRL_PIN(110, "DFX_SPARE3"), 160 - PINCTRL_PIN(111, "DFX_SPARE4"), 153 + PINCTRL_PIN(107, "TAP1_TCK"), 154 + PINCTRL_PIN(108, "TAP1_TRST_N"), 155 + PINCTRL_PIN(109, "TAP1_TMS"), 156 + PINCTRL_PIN(110, "TAP1_TDI"), 157 + PINCTRL_PIN(111, "TAP1_TDO"), 161 158 /* South GPP1 */ 162 159 PINCTRL_PIN(112, "SUSPWRDNACK"), 163 160 PINCTRL_PIN(113, "PMU_SUSCLK"), ··· 186 183 PINCTRL_PIN(136, "ESPI_CLK"), 187 184 PINCTRL_PIN(137, "ESPI_RST_N"), 188 185 PINCTRL_PIN(138, "ESPI_ALRT0_N"), 189 - PINCTRL_PIN(139, "GPIO_10"), 190 - PINCTRL_PIN(140, "GPIO_11"), 186 + PINCTRL_PIN(139, "ESPI_CS1_N"), 187 + PINCTRL_PIN(140, "ESPI_ALRT1_N"), 191 188 PINCTRL_PIN(141, "ESPI_CLK_LOOPBK"), 192 189 PINCTRL_PIN(142, "EMMC_CMD"), 193 190 PINCTRL_PIN(143, "EMMC_STROBE"), ··· 200 197 PINCTRL_PIN(150, "EMMC_D5"), 201 198 PINCTRL_PIN(151, "EMMC_D6"), 202 199 PINCTRL_PIN(152, "EMMC_D7"), 203 - PINCTRL_PIN(153, "GPIO_3"), 200 + PINCTRL_PIN(153, "SPARE_3"), 204 201 }; 205 202 206 203 static const unsigned int dnv_uart0_pins[] = { 60, 61, 64, 65 };
+2
drivers/pinctrl/intel/pinctrl-geminilake.c
··· 17 17 #define GLK_PAD_OWN 0x020 18 18 #define GLK_PADCFGLOCK 0x080 19 19 #define GLK_HOSTSW_OWN 0x0b0 20 + #define GLK_GPI_IS 0x100 20 21 #define GLK_GPI_IE 0x110 21 22 22 23 #define GLK_COMMUNITY(s, e) \ ··· 25 24 .padown_offset = GLK_PAD_OWN, \ 26 25 .padcfglock_offset = GLK_PADCFGLOCK, \ 27 26 .hostown_offset = GLK_HOSTSW_OWN, \ 27 + .is_offset = GLK_GPI_IS, \ 28 28 .ie_offset = GLK_GPI_IE, \ 29 29 .gpp_size = 32, \ 30 30 .pin_base = (s), \
+2
drivers/pinctrl/intel/pinctrl-icelake.c
··· 18 18 #define ICL_PAD_OWN 0x020 19 19 #define ICL_PADCFGLOCK 0x080 20 20 #define ICL_HOSTSW_OWN 0x0b0 21 + #define ICL_GPI_IS 0x100 21 22 #define ICL_GPI_IE 0x110 22 23 23 24 #define ICL_GPP(r, s, e, g) \ ··· 37 36 .padown_offset = ICL_PAD_OWN, \ 38 37 .padcfglock_offset = ICL_PADCFGLOCK, \ 39 38 .hostown_offset = ICL_HOSTSW_OWN, \ 39 + .is_offset = ICL_GPI_IS, \ 40 40 .ie_offset = ICL_GPI_IE, \ 41 41 .pin_base = (s), \ 42 42 .npins = ((e) - (s) + 1), \
+84 -36
drivers/pinctrl/intel/pinctrl-intel.c
··· 8 8 */ 9 9 10 10 #include <linux/acpi.h> 11 - #include <linux/module.h> 12 11 #include <linux/interrupt.h> 13 12 #include <linux/gpio/driver.h> 14 13 #include <linux/log2.h> 14 + #include <linux/module.h> 15 15 #include <linux/platform_device.h> 16 16 #include <linux/property.h> 17 + #include <linux/time.h> 17 18 18 19 #include <linux/pinctrl/pinctrl.h> 19 20 #include <linux/pinctrl/pinmux.h> ··· 30 29 #define REVID_MASK GENMASK(31, 16) 31 30 32 31 #define PADBAR 0x00c 33 - #define GPI_IS 0x100 34 32 35 33 #define PADOWN_BITS 4 36 34 #define PADOWN_SHIFT(p) ((p) % 8 * PADOWN_BITS) ··· 71 71 #define PADCFG2_DEBOUNCE_SHIFT 1 72 72 #define PADCFG2_DEBOUNCE_MASK GENMASK(4, 1) 73 73 74 - #define DEBOUNCE_PERIOD 31250 /* ns */ 74 + #define DEBOUNCE_PERIOD_NSEC 31250 75 75 76 76 struct intel_pad_context { 77 77 u32 padcfg0; ··· 165 165 padno = pin_to_padno(community, pin); 166 166 nregs = (community->features & PINCTRL_FEATURE_DEBOUNCE) ? 4 : 2; 167 167 168 - if (reg == PADCFG2 && !(community->features & PINCTRL_FEATURE_DEBOUNCE)) 168 + if (reg >= nregs * 4) 169 169 return NULL; 170 170 171 171 return community->pad_regs + reg + padno * nregs * 4; ··· 220 220 return !(readl(hostown) & BIT(gpp_offset)); 221 221 } 222 222 223 - static bool intel_pad_locked(struct intel_pinctrl *pctrl, unsigned int pin) 223 + /** 224 + * enum - Locking variants of the pad configuration 225 + * 226 + * @PAD_UNLOCKED: pad is fully controlled by the configuration registers 227 + * @PAD_LOCKED: pad configuration registers, except TX state, are locked 228 + * @PAD_LOCKED_TX: pad configuration TX state is locked 229 + * @PAD_LOCKED_FULL: pad configuration registers are locked completely 230 + * 231 + * Locking is considered as read-only mode for corresponding registers and 232 + * their respective fields. That said, TX state bit is locked separately from 233 + * the main locking scheme. 234 + */ 235 + enum { 236 + PAD_UNLOCKED = 0, 237 + PAD_LOCKED = 1, 238 + PAD_LOCKED_TX = 2, 239 + PAD_LOCKED_FULL = PAD_LOCKED | PAD_LOCKED_TX, 240 + }; 241 + 242 + static int intel_pad_locked(struct intel_pinctrl *pctrl, unsigned int pin) 224 243 { 225 244 struct intel_community *community; 226 245 const struct intel_padgroup *padgrp; 227 246 unsigned int offset, gpp_offset; 228 247 u32 value; 248 + int ret = PAD_UNLOCKED; 229 249 230 250 community = intel_get_community(pctrl, pin); 231 251 if (!community) 232 - return true; 252 + return PAD_LOCKED_FULL; 233 253 if (!community->padcfglock_offset) 234 - return false; 254 + return PAD_UNLOCKED; 235 255 236 256 padgrp = intel_community_get_padgroup(community, pin); 237 257 if (!padgrp) 238 - return true; 258 + return PAD_LOCKED_FULL; 239 259 240 260 gpp_offset = padgroup_offset(padgrp, pin); 241 261 242 262 /* 243 263 * If PADCFGLOCK and PADCFGLOCKTX bits are both clear for this pad, 244 264 * the pad is considered unlocked. Any other case means that it is 245 - * either fully or partially locked and we don't touch it. 265 + * either fully or partially locked. 246 266 */ 247 - offset = community->padcfglock_offset + padgrp->reg_num * 8; 267 + offset = community->padcfglock_offset + 0 + padgrp->reg_num * 8; 248 268 value = readl(community->regs + offset); 249 269 if (value & BIT(gpp_offset)) 250 - return true; 270 + ret |= PAD_LOCKED; 251 271 252 272 offset = community->padcfglock_offset + 4 + padgrp->reg_num * 8; 253 273 value = readl(community->regs + offset); 254 274 if (value & BIT(gpp_offset)) 255 - return true; 275 + ret |= PAD_LOCKED_TX; 256 276 257 - return false; 277 + return ret; 278 + } 279 + 280 + static bool intel_pad_is_unlocked(struct intel_pinctrl *pctrl, unsigned int pin) 281 + { 282 + return (intel_pad_locked(pctrl, pin) & PAD_LOCKED) == PAD_UNLOCKED; 258 283 } 259 284 260 285 static bool intel_pad_usable(struct intel_pinctrl *pctrl, unsigned int pin) 261 286 { 262 - return intel_pad_owned_by_host(pctrl, pin) && 263 - !intel_pad_locked(pctrl, pin); 287 + return intel_pad_owned_by_host(pctrl, pin) && intel_pad_is_unlocked(pctrl, pin); 264 288 } 265 289 266 290 static int intel_get_groups_count(struct pinctrl_dev *pctldev) ··· 318 294 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); 319 295 void __iomem *padcfg; 320 296 u32 cfg0, cfg1, mode; 321 - bool locked, acpi; 297 + int locked; 298 + bool acpi; 322 299 323 300 if (!intel_pad_owned_by_host(pctrl, pin)) { 324 301 seq_puts(s, "not available"); ··· 347 322 348 323 if (locked || acpi) { 349 324 seq_puts(s, " ["); 350 - if (locked) { 325 + if (locked) 351 326 seq_puts(s, "LOCKED"); 352 - if (acpi) 353 - seq_puts(s, ", "); 354 - } 327 + if ((locked & PAD_LOCKED_FULL) == PAD_LOCKED_TX) 328 + seq_puts(s, " tx"); 329 + else if ((locked & PAD_LOCKED_FULL) == PAD_LOCKED_FULL) 330 + seq_puts(s, " full"); 331 + 332 + if (locked && acpi) 333 + seq_puts(s, ", "); 334 + 355 335 if (acpi) 356 336 seq_puts(s, "ACPI"); 357 337 seq_puts(s, "]"); ··· 478 448 479 449 raw_spin_lock_irqsave(&pctrl->lock, flags); 480 450 481 - if (!intel_pad_usable(pctrl, pin)) { 451 + if (!intel_pad_owned_by_host(pctrl, pin)) { 482 452 raw_spin_unlock_irqrestore(&pctrl->lock, flags); 483 453 return -EBUSY; 454 + } 455 + 456 + if (!intel_pad_is_unlocked(pctrl, pin)) { 457 + raw_spin_unlock_irqrestore(&pctrl->lock, flags); 458 + return 0; 484 459 } 485 460 486 461 padcfg0 = intel_get_padcfg(pctrl, pin, PADCFG0); ··· 601 566 return -EINVAL; 602 567 603 568 v = (v & PADCFG2_DEBOUNCE_MASK) >> PADCFG2_DEBOUNCE_SHIFT; 604 - arg = BIT(v) * DEBOUNCE_PERIOD / 1000; 569 + arg = BIT(v) * DEBOUNCE_PERIOD_NSEC / NSEC_PER_USEC; 605 570 606 571 break; 607 572 } ··· 718 683 if (debounce) { 719 684 unsigned long v; 720 685 721 - v = order_base_2(debounce * 1000 / DEBOUNCE_PERIOD); 686 + v = order_base_2(debounce * NSEC_PER_USEC / DEBOUNCE_PERIOD_NSEC); 722 687 if (v < 3 || v > 15) { 723 688 ret = -EINVAL; 724 689 goto exit_unlock; ··· 829 794 } 830 795 831 796 return -EINVAL; 797 + } 798 + 799 + /** 800 + * intel_pin_to_gpio() - Translate from pin number to GPIO offset 801 + * @pctrl: Pinctrl structure 802 + * @pin: pin number 803 + * 804 + * Translate the pin number of pinctrl to GPIO offset 805 + */ 806 + static __maybe_unused int intel_pin_to_gpio(struct intel_pinctrl *pctrl, int pin) 807 + { 808 + const struct intel_community *community; 809 + const struct intel_padgroup *padgrp; 810 + 811 + community = intel_get_community(pctrl, pin); 812 + if (!community) 813 + return -EINVAL; 814 + 815 + padgrp = intel_community_get_padgroup(community, pin); 816 + if (!padgrp) 817 + return -EINVAL; 818 + 819 + return pin - padgrp->base + padgrp->gpio_base; 832 820 } 833 821 834 822 static int intel_gpio_get(struct gpio_chip *chip, unsigned int offset) ··· 1371 1313 1372 1314 for (i = 0; i < pctrl->ncommunities; i++) { 1373 1315 struct intel_community *community = &pctrl->communities[i]; 1374 - struct resource *res; 1375 1316 void __iomem *regs; 1376 1317 u32 padbar; 1377 1318 1378 1319 *community = pctrl->soc->communities[i]; 1379 1320 1380 - res = platform_get_resource(pdev, IORESOURCE_MEM, 1381 - community->barno); 1382 - regs = devm_ioremap_resource(&pdev->dev, res); 1321 + regs = devm_platform_ioremap_resource(pdev, community->barno); 1383 1322 if (IS_ERR(regs)) 1384 1323 return PTR_ERR(regs); 1385 1324 ··· 1400 1345 community->regs = regs; 1401 1346 community->pad_regs = regs + padbar; 1402 1347 1403 - if (!community->is_offset) 1404 - community->is_offset = GPI_IS; 1405 - 1406 1348 ret = intel_pinctrl_add_padgroups(pctrl, community); 1407 1349 if (ret) 1408 1350 return ret; 1409 1351 } 1410 1352 1411 1353 irq = platform_get_irq(pdev, 0); 1412 - if (irq < 0) { 1413 - dev_err(&pdev->dev, "failed to get interrupt number\n"); 1354 + if (irq < 0) 1414 1355 return irq; 1415 - } 1416 1356 1417 1357 ret = intel_pinctrl_pm_init(pctrl); 1418 1358 if (ret) ··· 1471 1421 table = (const struct intel_pinctrl_soc_data **)id->driver_data; 1472 1422 data = table[pdev->id]; 1473 1423 } 1474 - if (!data) 1475 - return -ENODEV; 1476 1424 1477 1425 return intel_pinctrl_probe(pdev, data); 1478 1426 } ··· 1491 1443 * them alone. 1492 1444 */ 1493 1445 if (pd->mux_owner || pd->gpio_owner || 1494 - gpiochip_line_is_irq(&pctrl->chip, pin)) 1446 + gpiochip_line_is_irq(&pctrl->chip, intel_pin_to_gpio(pctrl, pin))) 1495 1447 return true; 1496 1448 1497 1449 return false;
+5 -4
drivers/pinctrl/intel/pinctrl-intel.h
··· 75 75 * @hostown_offset: Register offset of HOSTSW_OWN from @regs. If %0 then it 76 76 * is assumed that the host owns the pin (rather than 77 77 * ACPI). 78 - * @is_offset: Register offset of GPI_IS from @regs. If %0 then uses the 79 - * default (%0x100). 78 + * @is_offset: Register offset of GPI_IS from @regs. 80 79 * @ie_offset: Register offset of GPI_IE from @regs. 80 + * @features: Additional features supported by the hardware 81 81 * @pin_base: Starting pin of pins in this community 82 82 * @gpp_size: Maximum number of pads in each group, such as PADCFGLOCK, 83 83 * HOSTSW_OWN, GPI_IS, GPI_IE, etc. Used when @gpps is %NULL. ··· 85 85 * minimum. Use %0 if the number of registers can be 86 86 * determined by the size of the group. 87 87 * @npins: Number of pins in this community 88 - * @features: Additional features supported by the hardware 89 88 * @gpps: Pad groups if the controller has variable size pad groups 90 89 * @ngpps: Number of pad groups in this community 90 + * @pad_map: Optional non-linear mapping of the pads 91 91 * @regs: Community specific common registers (reserved for core driver) 92 92 * @pad_regs: Community specific pad registers (reserved for core driver) 93 93 * ··· 104 104 unsigned int hostown_offset; 105 105 unsigned int is_offset; 106 106 unsigned int ie_offset; 107 + unsigned int features; 107 108 unsigned int pin_base; 108 109 unsigned int gpp_size; 109 110 unsigned int gpp_num_padown_regs; 110 111 size_t npins; 111 - unsigned int features; 112 112 const struct intel_padgroup *gpps; 113 113 size_t ngpps; 114 + const unsigned int *pad_map; 114 115 /* Reserved for the core driver */ 115 116 void __iomem *regs; 116 117 void __iomem *pad_regs;
+2
drivers/pinctrl/intel/pinctrl-lewisburg.c
··· 17 17 #define LBG_PAD_OWN 0x020 18 18 #define LBG_PADCFGLOCK 0x060 19 19 #define LBG_HOSTSW_OWN 0x080 20 + #define LBG_GPI_IS 0x100 20 21 #define LBG_GPI_IE 0x110 21 22 22 23 #define LBG_COMMUNITY(b, s, e) \ ··· 26 25 .padown_offset = LBG_PAD_OWN, \ 27 26 .padcfglock_offset = LBG_PADCFGLOCK, \ 28 27 .hostown_offset = LBG_HOSTSW_OWN, \ 28 + .is_offset = LBG_GPI_IS, \ 29 29 .ie_offset = LBG_GPI_IE, \ 30 30 .gpp_size = 24, \ 31 31 .pin_base = (s), \
+1 -3
drivers/pinctrl/intel/pinctrl-merrifield.c
··· 885 885 { 886 886 struct mrfld_family *families; 887 887 struct mrfld_pinctrl *mp; 888 - struct resource *mem; 889 888 void __iomem *regs; 890 889 size_t nfamilies; 891 890 unsigned int i; ··· 896 897 mp->dev = &pdev->dev; 897 898 raw_spin_lock_init(&mp->lock); 898 899 899 - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 900 - regs = devm_ioremap_resource(&pdev->dev, mem); 900 + regs = devm_platform_ioremap_resource(pdev, 0); 901 901 if (IS_ERR(regs)) 902 902 return PTR_ERR(regs); 903 903
+2
drivers/pinctrl/intel/pinctrl-sunrisepoint.c
··· 18 18 #define SPT_PAD_OWN 0x020 19 19 #define SPT_PADCFGLOCK 0x0a0 20 20 #define SPT_HOSTSW_OWN 0x0d0 21 + #define SPT_GPI_IS 0x100 21 22 #define SPT_GPI_IE 0x120 22 23 23 24 #define SPT_COMMUNITY(b, s, e) \ ··· 27 26 .padown_offset = SPT_PAD_OWN, \ 28 27 .padcfglock_offset = SPT_PADCFGLOCK, \ 29 28 .hostown_offset = SPT_HOSTSW_OWN, \ 29 + .is_offset = SPT_GPI_IS, \ 30 30 .ie_offset = SPT_GPI_IE, \ 31 31 .gpp_size = 24, \ 32 32 .gpp_num_padown_regs = 4, \
+9
drivers/pinctrl/meson/pinctrl-meson-g12a.c
··· 801 801 /* ir_out */ 802 802 static const unsigned int remote_ao_out_pins[] = { GPIOAO_4 }; 803 803 804 + /* pwm_a_e */ 805 + static const unsigned int pwm_a_e_pins[] = { GPIOE_2 }; 806 + 804 807 /* pwm_ao_a */ 805 808 static const unsigned int pwm_ao_a_pins[] = { GPIOAO_11 }; 806 809 static const unsigned int pwm_ao_a_hiz_pins[] = { GPIOAO_11 }; ··· 891 888 GROUP(i2c_ao_slave_sda, 3), 892 889 GROUP(remote_ao_input, 1), 893 890 GROUP(remote_ao_out, 1), 891 + GROUP(pwm_a_e, 3), 894 892 GROUP(pwm_ao_a, 3), 895 893 GROUP(pwm_ao_a_hiz, 2), 896 894 GROUP(pwm_ao_b, 3), ··· 1196 1192 "remote_ao_out", 1197 1193 }; 1198 1194 1195 + static const char * const pwm_a_e_groups[] = { 1196 + "pwm_a_e", 1197 + }; 1198 + 1199 1199 static const char * const pwm_ao_a_groups[] = { 1200 1200 "pwm_ao_a", "pwm_ao_a_hiz", 1201 1201 }; ··· 1298 1290 FUNCTION(i2c_ao_slave), 1299 1291 FUNCTION(remote_ao_input), 1300 1292 FUNCTION(remote_ao_out), 1293 + FUNCTION(pwm_a_e), 1301 1294 FUNCTION(pwm_ao_a), 1302 1295 FUNCTION(pwm_ao_b), 1303 1296 FUNCTION(pwm_ao_c),
+6 -6
drivers/pinctrl/meson/pinctrl-meson-gxbb.c
··· 192 192 193 193 static const unsigned int uart_tx_c_pins[] = { GPIOY_13 }; 194 194 static const unsigned int uart_rx_c_pins[] = { GPIOY_14 }; 195 - static const unsigned int uart_cts_c_pins[] = { GPIOX_11 }; 196 - static const unsigned int uart_rts_c_pins[] = { GPIOX_12 }; 195 + static const unsigned int uart_cts_c_pins[] = { GPIOY_11 }; 196 + static const unsigned int uart_rts_c_pins[] = { GPIOY_12 }; 197 197 198 198 static const unsigned int i2c_sck_a_pins[] = { GPIODV_25 }; 199 199 static const unsigned int i2c_sda_a_pins[] = { GPIODV_24 }; ··· 439 439 GROUP(pwm_f_x, 3, 18), 440 440 441 441 /* Bank Y */ 442 - GROUP(uart_cts_c, 1, 19), 443 - GROUP(uart_rts_c, 1, 18), 444 - GROUP(uart_tx_c, 1, 17), 445 - GROUP(uart_rx_c, 1, 16), 442 + GROUP(uart_cts_c, 1, 17), 443 + GROUP(uart_rts_c, 1, 16), 444 + GROUP(uart_tx_c, 1, 19), 445 + GROUP(uart_rx_c, 1, 18), 446 446 GROUP(pwm_a_y, 1, 21), 447 447 GROUP(pwm_f_y, 1, 20), 448 448 GROUP(i2s_out_ch23_y, 1, 5),
+1
drivers/pinctrl/meson/pinctrl-meson.c
··· 651 651 continue; 652 652 if (gpio_np) { 653 653 dev_err(pc->dev, "multiple gpio nodes\n"); 654 + of_node_put(np); 654 655 return -EINVAL; 655 656 } 656 657 gpio_np = np;
+15 -5
drivers/pinctrl/mvebu/pinctrl-armada-cp110.c
··· 32 32 V_ARMADA_7K = BIT(0), 33 33 V_ARMADA_8K_CPM = BIT(1), 34 34 V_ARMADA_8K_CPS = BIT(2), 35 + V_CP115_STANDALONE = BIT(3), 35 36 V_ARMADA_7K_8K_CPM = (V_ARMADA_7K | V_ARMADA_8K_CPM), 36 37 V_ARMADA_7K_8K_CPS = (V_ARMADA_7K | V_ARMADA_8K_CPS), 37 38 }; ··· 598 597 MPP_FUNCTION(7, "uart0", "rxd"), 599 598 MPP_FUNCTION(8, "uart2", "rxd"), 600 599 MPP_FUNCTION(9, "sata0", "present_act"), 601 - MPP_FUNCTION(10, "ge", "mdc")), 600 + MPP_FUNCTION(10, "ge", "mdc"), 601 + MPP_FUNCTION(14, "sdio", "ds")), 602 602 }; 603 603 604 604 static const struct of_device_id armada_cp110_pinctrl_of_match[] = { ··· 614 612 { 615 613 .compatible = "marvell,armada-8k-cps-pinctrl", 616 614 .data = (void *) V_ARMADA_8K_CPS, 615 + }, 616 + { 617 + .compatible = "marvell,cp115-standalone-pinctrl", 618 + .data = (void *) V_CP115_STANDALONE, 617 619 }, 618 620 { }, 619 621 }; ··· 660 654 661 655 switch (i) { 662 656 case 0 ... 31: 663 - mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPS); 657 + mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPS | 658 + V_CP115_STANDALONE)); 664 659 break; 665 660 case 32 ... 38: 666 - mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM); 661 + mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM | 662 + V_CP115_STANDALONE)); 667 663 break; 668 664 case 39 ... 43: 669 - mvebu_pinctrl_assign_variant(m, V_ARMADA_8K_CPM); 665 + mvebu_pinctrl_assign_variant(m, (V_ARMADA_8K_CPM | 666 + V_CP115_STANDALONE)); 670 667 break; 671 668 case 44 ... 62: 672 - mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM); 669 + mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM | 670 + V_CP115_STANDALONE)); 673 671 break; 674 672 } 675 673 }
+1
drivers/pinctrl/nomadik/pinctrl-abx500.c
··· 815 815 &reserved_maps, num_maps); 816 816 if (ret < 0) { 817 817 pinctrl_utils_free_map(pctldev, *map, *num_maps); 818 + of_node_put(np); 818 819 return ret; 819 820 } 820 821 }
+1
drivers/pinctrl/nomadik/pinctrl-nomadik.c
··· 1508 1508 &reserved_maps, num_maps); 1509 1509 if (ret < 0) { 1510 1510 pinctrl_utils_free_map(pctldev, *map, *num_maps); 1511 + of_node_put(np); 1511 1512 return ret; 1512 1513 } 1513 1514 }
+12 -4
drivers/pinctrl/pinctrl-amd.c
··· 565 565 !(regval & BIT(INTERRUPT_MASK_OFF))) 566 566 continue; 567 567 irq = irq_find_mapping(gc->irq.domain, irqnr + i); 568 - generic_handle_irq(irq); 568 + if (irq != 0) 569 + generic_handle_irq(irq); 569 570 570 571 /* Clear interrupt. 571 572 * We must read the pin register again, in case the 572 573 * value was changed while executing 573 574 * generic_handle_irq() above. 575 + * If we didn't find a mapping for the interrupt, 576 + * disable it in order to avoid a system hang caused 577 + * by an interrupt storm. 574 578 */ 575 579 raw_spin_lock_irqsave(&gpio_dev->lock, flags); 576 580 regval = readl(regs + i); 581 + if (irq == 0) { 582 + regval &= ~BIT(INTERRUPT_ENABLE_OFF); 583 + dev_dbg(&gpio_dev->pdev->dev, 584 + "Disabling spurious GPIO IRQ %d\n", 585 + irqnr + i); 586 + } 577 587 writel(regval, regs + i); 578 588 raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); 579 589 ret = IRQ_HANDLED; ··· 871 861 return -ENOMEM; 872 862 873 863 irq_base = platform_get_irq(pdev, 0); 874 - if (irq_base < 0) { 875 - dev_err(&pdev->dev, "Failed to get gpio IRQ: %d\n", irq_base); 864 + if (irq_base < 0) 876 865 return irq_base; 877 - } 878 866 879 867 #ifdef CONFIG_PM_SLEEP 880 868 gpio_dev->saved_regs = devm_kcalloc(&pdev->dev, amd_pinctrl_desc.npins,
+5 -6
drivers/pinctrl/pinctrl-falcon.c
··· 96 96 int i; 97 97 98 98 for (i = 0; i < len; i++) { 99 - /* strlen("ioXYZ") + 1 = 6 */ 100 - char *name = kzalloc(6, GFP_KERNEL); 101 - 102 - snprintf(name, 6, "io%d", base + i); 103 99 d[i].number = base + i; 104 - d[i].name = name; 100 + d[i].name = kasprintf(GFP_KERNEL, "io%d", base + i); 105 101 } 106 102 pad_count[bank] = len; 107 103 } ··· 451 455 falcon_info.clk[*bank] = clk_get(&ppdev->dev, NULL); 452 456 if (IS_ERR(falcon_info.clk[*bank])) { 453 457 dev_err(&ppdev->dev, "failed to get clock\n"); 458 + of_node_put(np) 454 459 return PTR_ERR(falcon_info.clk[*bank]); 455 460 } 456 461 falcon_info.membase[*bank] = devm_ioremap_resource(&pdev->dev, 457 462 &res); 458 - if (IS_ERR(falcon_info.membase[*bank])) 463 + if (IS_ERR(falcon_info.membase[*bank])) { 464 + of_node_put(np); 459 465 return PTR_ERR(falcon_info.membase[*bank]); 466 + } 460 467 461 468 avail = pad_r32(falcon_info.membase[*bank], 462 469 LTQ_PADC_AVAIL);
+715 -40
drivers/pinctrl/pinctrl-ingenic.c
··· 3 3 * Ingenic SoCs pinctrl driver 4 4 * 5 5 * Copyright (c) 2017 Paul Cercueil <paul@crapouillou.net> 6 + * Copyright (c) 2019 Zhou Yanjie <zhouyanjie@zoho.com> 6 7 */ 7 8 8 9 #include <linux/compiler.h> ··· 36 35 #define JZ4740_GPIO_TRIG 0x70 37 36 #define JZ4740_GPIO_FLAG 0x80 38 37 39 - #define JZ4770_GPIO_INT 0x10 40 - #define JZ4770_GPIO_PAT1 0x30 41 - #define JZ4770_GPIO_PAT0 0x40 42 - #define JZ4770_GPIO_FLAG 0x50 43 - #define JZ4770_GPIO_PEN 0x70 38 + #define JZ4760_GPIO_INT 0x10 39 + #define JZ4760_GPIO_PAT1 0x30 40 + #define JZ4760_GPIO_PAT0 0x40 41 + #define JZ4760_GPIO_FLAG 0x50 42 + #define JZ4760_GPIO_PEN 0x70 43 + 44 + #define X1000_GPIO_PZ_BASE 0x700 45 + #define X1000_GPIO_PZ_GID2LD 0x7f0 44 46 45 47 #define REG_SET(x) ((x) + 0x4) 46 48 #define REG_CLEAR(x) ((x) + 0x8) ··· 53 49 enum jz_version { 54 50 ID_JZ4740, 55 51 ID_JZ4725B, 52 + ID_JZ4760, 53 + ID_JZ4760B, 56 54 ID_JZ4770, 57 55 ID_JZ4780, 56 + ID_X1000, 57 + ID_X1000E, 58 + ID_X1500, 58 59 }; 59 60 60 61 struct ingenic_chip_info { ··· 345 336 .num_functions = ARRAY_SIZE(jz4725b_functions), 346 337 .pull_ups = jz4740_pull_ups, 347 338 .pull_downs = jz4740_pull_downs, 339 + }; 340 + 341 + static const u32 jz4760_pull_ups[6] = { 342 + 0xffffffff, 0xfffcf3ff, 0xffffffff, 0xffffcfff, 0xfffffb7c, 0xfffff00f, 343 + }; 344 + 345 + static const u32 jz4760_pull_downs[6] = { 346 + 0x00000000, 0x00030c00, 0x00000000, 0x00003000, 0x00000483, 0x00000ff0, 347 + }; 348 + 349 + static int jz4760_uart0_data_pins[] = { 0xa0, 0xa3, }; 350 + static int jz4760_uart0_hwflow_pins[] = { 0xa1, 0xa2, }; 351 + static int jz4760_uart1_data_pins[] = { 0x7a, 0x7c, }; 352 + static int jz4760_uart1_hwflow_pins[] = { 0x7b, 0x7d, }; 353 + static int jz4760_uart2_data_pins[] = { 0x5c, 0x5e, }; 354 + static int jz4760_uart2_hwflow_pins[] = { 0x5d, 0x5f, }; 355 + static int jz4760_uart3_data_pins[] = { 0x6c, 0x85, }; 356 + static int jz4760_uart3_hwflow_pins[] = { 0x88, 0x89, }; 357 + static int jz4760_mmc0_1bit_a_pins[] = { 0x12, 0x13, 0x14, }; 358 + static int jz4760_mmc0_4bit_a_pins[] = { 0x15, 0x16, 0x17, }; 359 + static int jz4760_mmc0_1bit_e_pins[] = { 0x9c, 0x9d, 0x94, }; 360 + static int jz4760_mmc0_4bit_e_pins[] = { 0x95, 0x96, 0x97, }; 361 + static int jz4760_mmc0_8bit_e_pins[] = { 0x98, 0x99, 0x9a, 0x9b, }; 362 + static int jz4760_mmc1_1bit_d_pins[] = { 0x78, 0x79, 0x74, }; 363 + static int jz4760_mmc1_4bit_d_pins[] = { 0x75, 0x76, 0x77, }; 364 + static int jz4760_mmc1_1bit_e_pins[] = { 0x9c, 0x9d, 0x94, }; 365 + static int jz4760_mmc1_4bit_e_pins[] = { 0x95, 0x96, 0x97, }; 366 + static int jz4760_mmc1_8bit_e_pins[] = { 0x98, 0x99, 0x9a, 0x9b, }; 367 + static int jz4760_mmc2_1bit_b_pins[] = { 0x3c, 0x3d, 0x34, }; 368 + static int jz4760_mmc2_4bit_b_pins[] = { 0x35, 0x3e, 0x3f, }; 369 + static int jz4760_mmc2_1bit_e_pins[] = { 0x9c, 0x9d, 0x94, }; 370 + static int jz4760_mmc2_4bit_e_pins[] = { 0x95, 0x96, 0x97, }; 371 + static int jz4760_mmc2_8bit_e_pins[] = { 0x98, 0x99, 0x9a, 0x9b, }; 372 + static int jz4760_nemc_8bit_data_pins[] = { 373 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 374 + }; 375 + static int jz4760_nemc_16bit_data_pins[] = { 376 + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 377 + }; 378 + static int jz4760_nemc_cle_ale_pins[] = { 0x20, 0x21, }; 379 + static int jz4760_nemc_addr_pins[] = { 0x22, 0x23, 0x24, 0x25, }; 380 + static int jz4760_nemc_rd_we_pins[] = { 0x10, 0x11, }; 381 + static int jz4760_nemc_frd_fwe_pins[] = { 0x12, 0x13, }; 382 + static int jz4760_nemc_wait_pins[] = { 0x1b, }; 383 + static int jz4760_nemc_cs1_pins[] = { 0x15, }; 384 + static int jz4760_nemc_cs2_pins[] = { 0x16, }; 385 + static int jz4760_nemc_cs3_pins[] = { 0x17, }; 386 + static int jz4760_nemc_cs4_pins[] = { 0x18, }; 387 + static int jz4760_nemc_cs5_pins[] = { 0x19, }; 388 + static int jz4760_nemc_cs6_pins[] = { 0x1a, }; 389 + static int jz4760_i2c0_pins[] = { 0x7e, 0x7f, }; 390 + static int jz4760_i2c1_pins[] = { 0x9e, 0x9f, }; 391 + static int jz4760_cim_pins[] = { 392 + 0x26, 0x27, 0x28, 0x29, 393 + 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 394 + }; 395 + static int jz4760_lcd_24bit_pins[] = { 396 + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 397 + 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 398 + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 399 + 0x58, 0x59, 0x5a, 0x5b, 400 + }; 401 + static int jz4760_pwm_pwm0_pins[] = { 0x80, }; 402 + static int jz4760_pwm_pwm1_pins[] = { 0x81, }; 403 + static int jz4760_pwm_pwm2_pins[] = { 0x82, }; 404 + static int jz4760_pwm_pwm3_pins[] = { 0x83, }; 405 + static int jz4760_pwm_pwm4_pins[] = { 0x84, }; 406 + static int jz4760_pwm_pwm5_pins[] = { 0x85, }; 407 + static int jz4760_pwm_pwm6_pins[] = { 0x6a, }; 408 + static int jz4760_pwm_pwm7_pins[] = { 0x6b, }; 409 + 410 + static int jz4760_uart0_data_funcs[] = { 0, 0, }; 411 + static int jz4760_uart0_hwflow_funcs[] = { 0, 0, }; 412 + static int jz4760_uart1_data_funcs[] = { 0, 0, }; 413 + static int jz4760_uart1_hwflow_funcs[] = { 0, 0, }; 414 + static int jz4760_uart2_data_funcs[] = { 0, 0, }; 415 + static int jz4760_uart2_hwflow_funcs[] = { 0, 0, }; 416 + static int jz4760_uart3_data_funcs[] = { 0, 1, }; 417 + static int jz4760_uart3_hwflow_funcs[] = { 0, 0, }; 418 + static int jz4760_mmc0_1bit_a_funcs[] = { 1, 1, 0, }; 419 + static int jz4760_mmc0_4bit_a_funcs[] = { 1, 1, 1, }; 420 + static int jz4760_mmc0_1bit_e_funcs[] = { 0, 0, 0, }; 421 + static int jz4760_mmc0_4bit_e_funcs[] = { 0, 0, 0, }; 422 + static int jz4760_mmc0_8bit_e_funcs[] = { 0, 0, 0, 0, }; 423 + static int jz4760_mmc1_1bit_d_funcs[] = { 0, 0, 0, }; 424 + static int jz4760_mmc1_4bit_d_funcs[] = { 0, 0, 0, }; 425 + static int jz4760_mmc1_1bit_e_funcs[] = { 1, 1, 1, }; 426 + static int jz4760_mmc1_4bit_e_funcs[] = { 1, 1, 1, }; 427 + static int jz4760_mmc1_8bit_e_funcs[] = { 1, 1, 1, 1, }; 428 + static int jz4760_mmc2_1bit_b_funcs[] = { 0, 0, 0, }; 429 + static int jz4760_mmc2_4bit_b_funcs[] = { 0, 0, 0, }; 430 + static int jz4760_mmc2_1bit_e_funcs[] = { 2, 2, 2, }; 431 + static int jz4760_mmc2_4bit_e_funcs[] = { 2, 2, 2, }; 432 + static int jz4760_mmc2_8bit_e_funcs[] = { 2, 2, 2, 2, }; 433 + static int jz4760_nemc_8bit_data_funcs[] = { 0, 0, 0, 0, 0, 0, 0, 0, }; 434 + static int jz4760_nemc_16bit_data_funcs[] = { 0, 0, 0, 0, 0, 0, 0, 0, }; 435 + static int jz4760_nemc_cle_ale_funcs[] = { 0, 0, }; 436 + static int jz4760_nemc_addr_funcs[] = { 0, 0, 0, 0, }; 437 + static int jz4760_nemc_rd_we_funcs[] = { 0, 0, }; 438 + static int jz4760_nemc_frd_fwe_funcs[] = { 0, 0, }; 439 + static int jz4760_nemc_wait_funcs[] = { 0, }; 440 + static int jz4760_nemc_cs1_funcs[] = { 0, }; 441 + static int jz4760_nemc_cs2_funcs[] = { 0, }; 442 + static int jz4760_nemc_cs3_funcs[] = { 0, }; 443 + static int jz4760_nemc_cs4_funcs[] = { 0, }; 444 + static int jz4760_nemc_cs5_funcs[] = { 0, }; 445 + static int jz4760_nemc_cs6_funcs[] = { 0, }; 446 + static int jz4760_i2c0_funcs[] = { 0, 0, }; 447 + static int jz4760_i2c1_funcs[] = { 0, 0, }; 448 + static int jz4760_cim_funcs[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; 449 + static int jz4760_lcd_24bit_funcs[] = { 450 + 0, 0, 0, 0, 0, 0, 0, 0, 451 + 0, 0, 0, 0, 0, 0, 0, 0, 452 + 0, 0, 0, 0, 0, 0, 0, 0, 453 + 0, 0, 0, 0, 454 + }; 455 + static int jz4760_pwm_pwm0_funcs[] = { 0, }; 456 + static int jz4760_pwm_pwm1_funcs[] = { 0, }; 457 + static int jz4760_pwm_pwm2_funcs[] = { 0, }; 458 + static int jz4760_pwm_pwm3_funcs[] = { 0, }; 459 + static int jz4760_pwm_pwm4_funcs[] = { 0, }; 460 + static int jz4760_pwm_pwm5_funcs[] = { 0, }; 461 + static int jz4760_pwm_pwm6_funcs[] = { 0, }; 462 + static int jz4760_pwm_pwm7_funcs[] = { 0, }; 463 + 464 + static const struct group_desc jz4760_groups[] = { 465 + INGENIC_PIN_GROUP("uart0-data", jz4760_uart0_data), 466 + INGENIC_PIN_GROUP("uart0-hwflow", jz4760_uart0_hwflow), 467 + INGENIC_PIN_GROUP("uart1-data", jz4760_uart1_data), 468 + INGENIC_PIN_GROUP("uart1-hwflow", jz4760_uart1_hwflow), 469 + INGENIC_PIN_GROUP("uart2-data", jz4760_uart2_data), 470 + INGENIC_PIN_GROUP("uart2-hwflow", jz4760_uart2_hwflow), 471 + INGENIC_PIN_GROUP("uart3-data", jz4760_uart3_data), 472 + INGENIC_PIN_GROUP("uart3-hwflow", jz4760_uart3_hwflow), 473 + INGENIC_PIN_GROUP("mmc0-1bit-a", jz4760_mmc0_1bit_a), 474 + INGENIC_PIN_GROUP("mmc0-4bit-a", jz4760_mmc0_4bit_a), 475 + INGENIC_PIN_GROUP("mmc0-1bit-e", jz4760_mmc0_1bit_e), 476 + INGENIC_PIN_GROUP("mmc0-4bit-e", jz4760_mmc0_4bit_e), 477 + INGENIC_PIN_GROUP("mmc0-8bit-e", jz4760_mmc0_8bit_e), 478 + INGENIC_PIN_GROUP("mmc1-1bit-d", jz4760_mmc1_1bit_d), 479 + INGENIC_PIN_GROUP("mmc1-4bit-d", jz4760_mmc1_4bit_d), 480 + INGENIC_PIN_GROUP("mmc1-1bit-e", jz4760_mmc1_1bit_e), 481 + INGENIC_PIN_GROUP("mmc1-4bit-e", jz4760_mmc1_4bit_e), 482 + INGENIC_PIN_GROUP("mmc1-8bit-e", jz4760_mmc1_8bit_e), 483 + INGENIC_PIN_GROUP("mmc2-1bit-b", jz4760_mmc2_1bit_b), 484 + INGENIC_PIN_GROUP("mmc2-4bit-b", jz4760_mmc2_4bit_b), 485 + INGENIC_PIN_GROUP("mmc2-1bit-e", jz4760_mmc2_1bit_e), 486 + INGENIC_PIN_GROUP("mmc2-4bit-e", jz4760_mmc2_4bit_e), 487 + INGENIC_PIN_GROUP("mmc2-8bit-e", jz4760_mmc2_8bit_e), 488 + INGENIC_PIN_GROUP("nemc-8bit-data", jz4760_nemc_8bit_data), 489 + INGENIC_PIN_GROUP("nemc-16bit-data", jz4760_nemc_16bit_data), 490 + INGENIC_PIN_GROUP("nemc-cle-ale", jz4760_nemc_cle_ale), 491 + INGENIC_PIN_GROUP("nemc-addr", jz4760_nemc_addr), 492 + INGENIC_PIN_GROUP("nemc-rd-we", jz4760_nemc_rd_we), 493 + INGENIC_PIN_GROUP("nemc-frd-fwe", jz4760_nemc_frd_fwe), 494 + INGENIC_PIN_GROUP("nemc-wait", jz4760_nemc_wait), 495 + INGENIC_PIN_GROUP("nemc-cs1", jz4760_nemc_cs1), 496 + INGENIC_PIN_GROUP("nemc-cs2", jz4760_nemc_cs2), 497 + INGENIC_PIN_GROUP("nemc-cs3", jz4760_nemc_cs3), 498 + INGENIC_PIN_GROUP("nemc-cs4", jz4760_nemc_cs4), 499 + INGENIC_PIN_GROUP("nemc-cs5", jz4760_nemc_cs5), 500 + INGENIC_PIN_GROUP("nemc-cs6", jz4760_nemc_cs6), 501 + INGENIC_PIN_GROUP("i2c0-data", jz4760_i2c0), 502 + INGENIC_PIN_GROUP("i2c1-data", jz4760_i2c1), 503 + INGENIC_PIN_GROUP("cim-data", jz4760_cim), 504 + INGENIC_PIN_GROUP("lcd-24bit", jz4760_lcd_24bit), 505 + { "lcd-no-pins", }, 506 + INGENIC_PIN_GROUP("pwm0", jz4760_pwm_pwm0), 507 + INGENIC_PIN_GROUP("pwm1", jz4760_pwm_pwm1), 508 + INGENIC_PIN_GROUP("pwm2", jz4760_pwm_pwm2), 509 + INGENIC_PIN_GROUP("pwm3", jz4760_pwm_pwm3), 510 + INGENIC_PIN_GROUP("pwm4", jz4760_pwm_pwm4), 511 + INGENIC_PIN_GROUP("pwm5", jz4760_pwm_pwm5), 512 + INGENIC_PIN_GROUP("pwm6", jz4760_pwm_pwm6), 513 + INGENIC_PIN_GROUP("pwm7", jz4760_pwm_pwm7), 514 + }; 515 + 516 + static const char *jz4760_uart0_groups[] = { "uart0-data", "uart0-hwflow", }; 517 + static const char *jz4760_uart1_groups[] = { "uart1-data", "uart1-hwflow", }; 518 + static const char *jz4760_uart2_groups[] = { "uart2-data", "uart2-hwflow", }; 519 + static const char *jz4760_uart3_groups[] = { "uart3-data", "uart3-hwflow", }; 520 + static const char *jz4760_mmc0_groups[] = { 521 + "mmc0-1bit-a", "mmc0-4bit-a", 522 + "mmc0-1bit-e", "mmc0-4bit-e", "mmc0-8bit-e", 523 + }; 524 + static const char *jz4760_mmc1_groups[] = { 525 + "mmc1-1bit-d", "mmc1-4bit-d", 526 + "mmc1-1bit-e", "mmc1-4bit-e", "mmc1-8bit-e", 527 + }; 528 + static const char *jz4760_mmc2_groups[] = { 529 + "mmc2-1bit-b", "mmc2-4bit-b", 530 + "mmc2-1bit-e", "mmc2-4bit-e", "mmc2-8bit-e", 531 + }; 532 + static const char *jz4760_nemc_groups[] = { 533 + "nemc-8bit-data", "nemc-16bit-data", "nemc-cle-ale", 534 + "nemc-addr", "nemc-rd-we", "nemc-frd-fwe", "nemc-wait", 535 + }; 536 + static const char *jz4760_cs1_groups[] = { "nemc-cs1", }; 537 + static const char *jz4760_cs2_groups[] = { "nemc-cs2", }; 538 + static const char *jz4760_cs3_groups[] = { "nemc-cs3", }; 539 + static const char *jz4760_cs4_groups[] = { "nemc-cs4", }; 540 + static const char *jz4760_cs5_groups[] = { "nemc-cs5", }; 541 + static const char *jz4760_cs6_groups[] = { "nemc-cs6", }; 542 + static const char *jz4760_i2c0_groups[] = { "i2c0-data", }; 543 + static const char *jz4760_i2c1_groups[] = { "i2c1-data", }; 544 + static const char *jz4760_cim_groups[] = { "cim-data", }; 545 + static const char *jz4760_lcd_groups[] = { "lcd-24bit", "lcd-no-pins", }; 546 + static const char *jz4760_pwm0_groups[] = { "pwm0", }; 547 + static const char *jz4760_pwm1_groups[] = { "pwm1", }; 548 + static const char *jz4760_pwm2_groups[] = { "pwm2", }; 549 + static const char *jz4760_pwm3_groups[] = { "pwm3", }; 550 + static const char *jz4760_pwm4_groups[] = { "pwm4", }; 551 + static const char *jz4760_pwm5_groups[] = { "pwm5", }; 552 + static const char *jz4760_pwm6_groups[] = { "pwm6", }; 553 + static const char *jz4760_pwm7_groups[] = { "pwm7", }; 554 + 555 + static const struct function_desc jz4760_functions[] = { 556 + { "uart0", jz4760_uart0_groups, ARRAY_SIZE(jz4760_uart0_groups), }, 557 + { "uart1", jz4760_uart1_groups, ARRAY_SIZE(jz4760_uart1_groups), }, 558 + { "uart2", jz4760_uart2_groups, ARRAY_SIZE(jz4760_uart2_groups), }, 559 + { "uart3", jz4760_uart3_groups, ARRAY_SIZE(jz4760_uart3_groups), }, 560 + { "mmc0", jz4760_mmc0_groups, ARRAY_SIZE(jz4760_mmc0_groups), }, 561 + { "mmc1", jz4760_mmc1_groups, ARRAY_SIZE(jz4760_mmc1_groups), }, 562 + { "mmc2", jz4760_mmc2_groups, ARRAY_SIZE(jz4760_mmc2_groups), }, 563 + { "nemc", jz4760_nemc_groups, ARRAY_SIZE(jz4760_nemc_groups), }, 564 + { "nemc-cs1", jz4760_cs1_groups, ARRAY_SIZE(jz4760_cs1_groups), }, 565 + { "nemc-cs2", jz4760_cs2_groups, ARRAY_SIZE(jz4760_cs2_groups), }, 566 + { "nemc-cs3", jz4760_cs3_groups, ARRAY_SIZE(jz4760_cs3_groups), }, 567 + { "nemc-cs4", jz4760_cs4_groups, ARRAY_SIZE(jz4760_cs4_groups), }, 568 + { "nemc-cs5", jz4760_cs5_groups, ARRAY_SIZE(jz4760_cs5_groups), }, 569 + { "nemc-cs6", jz4760_cs6_groups, ARRAY_SIZE(jz4760_cs6_groups), }, 570 + { "i2c0", jz4760_i2c0_groups, ARRAY_SIZE(jz4760_i2c0_groups), }, 571 + { "i2c1", jz4760_i2c1_groups, ARRAY_SIZE(jz4760_i2c1_groups), }, 572 + { "cim", jz4760_cim_groups, ARRAY_SIZE(jz4760_cim_groups), }, 573 + { "lcd", jz4760_lcd_groups, ARRAY_SIZE(jz4760_lcd_groups), }, 574 + { "pwm0", jz4760_pwm0_groups, ARRAY_SIZE(jz4760_pwm0_groups), }, 575 + { "pwm1", jz4760_pwm1_groups, ARRAY_SIZE(jz4760_pwm1_groups), }, 576 + { "pwm2", jz4760_pwm2_groups, ARRAY_SIZE(jz4760_pwm2_groups), }, 577 + { "pwm3", jz4760_pwm3_groups, ARRAY_SIZE(jz4760_pwm3_groups), }, 578 + { "pwm4", jz4760_pwm4_groups, ARRAY_SIZE(jz4760_pwm4_groups), }, 579 + { "pwm5", jz4760_pwm5_groups, ARRAY_SIZE(jz4760_pwm5_groups), }, 580 + { "pwm6", jz4760_pwm6_groups, ARRAY_SIZE(jz4760_pwm6_groups), }, 581 + { "pwm7", jz4760_pwm7_groups, ARRAY_SIZE(jz4760_pwm7_groups), }, 582 + }; 583 + 584 + static const struct ingenic_chip_info jz4760_chip_info = { 585 + .num_chips = 6, 586 + .groups = jz4760_groups, 587 + .num_groups = ARRAY_SIZE(jz4760_groups), 588 + .functions = jz4760_functions, 589 + .num_functions = ARRAY_SIZE(jz4760_functions), 590 + .pull_ups = jz4760_pull_ups, 591 + .pull_downs = jz4760_pull_downs, 592 + }; 593 + 594 + static const struct ingenic_chip_info jz4760b_chip_info = { 595 + .num_chips = 6, 596 + .groups = jz4760_groups, 597 + .num_groups = ARRAY_SIZE(jz4760_groups), 598 + .functions = jz4760_functions, 599 + .num_functions = ARRAY_SIZE(jz4760_functions), 600 + .pull_ups = jz4760_pull_ups, 601 + .pull_downs = jz4760_pull_downs, 348 602 }; 349 603 350 604 static const u32 jz4770_pull_ups[6] = { ··· 1016 744 .pull_downs = jz4770_pull_downs, 1017 745 }; 1018 746 747 + static const u32 x1000_pull_ups[4] = { 748 + 0xffffffff, 0x8dffffff, 0x7d3fffff, 0xffffffff, 749 + }; 750 + 751 + static const u32 x1000_pull_downs[4] = { 752 + 0x00000000, 0x02000000, 0x02000000, 0x00000000, 753 + }; 754 + 755 + static int x1000_uart0_data_pins[] = { 0x4a, 0x4b, }; 756 + static int x1000_uart0_hwflow_pins[] = { 0x4c, 0x4d, }; 757 + static int x1000_uart1_data_a_pins[] = { 0x04, 0x05, }; 758 + static int x1000_uart1_data_d_pins[] = { 0x62, 0x63, }; 759 + static int x1000_uart1_hwflow_d_pins[] = { 0x64, 0x65, }; 760 + static int x1000_uart2_data_a_pins[] = { 0x02, 0x03, }; 761 + static int x1000_uart2_data_d_pins[] = { 0x65, 0x64, }; 762 + static int x1000_mmc0_1bit_pins[] = { 0x18, 0x19, 0x17, }; 763 + static int x1000_mmc0_4bit_pins[] = { 0x16, 0x15, 0x14, }; 764 + static int x1000_mmc0_8bit_pins[] = { 0x13, 0x12, 0x11, 0x10, }; 765 + static int x1000_mmc1_1bit_pins[] = { 0x40, 0x41, 0x42, }; 766 + static int x1000_mmc1_4bit_pins[] = { 0x43, 0x44, 0x45, }; 767 + static int x1000_nemc_8bit_data_pins[] = { 768 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 769 + }; 770 + static int x1000_nemc_16bit_data_pins[] = { 771 + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 772 + }; 773 + static int x1000_nemc_addr_pins[] = { 774 + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 775 + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 776 + }; 777 + static int x1000_nemc_rd_we_pins[] = { 0x30, 0x31, }; 778 + static int x1000_nemc_wait_pins[] = { 0x34, }; 779 + static int x1000_nemc_cs1_pins[] = { 0x32, }; 780 + static int x1000_nemc_cs2_pins[] = { 0x33, }; 781 + static int x1000_i2c0_pins[] = { 0x38, 0x37, }; 782 + static int x1000_i2c1_a_pins[] = { 0x01, 0x00, }; 783 + static int x1000_i2c1_c_pins[] = { 0x5b, 0x5a, }; 784 + static int x1000_i2c2_pins[] = { 0x61, 0x60, }; 785 + static int x1000_cim_pins[] = { 786 + 0x08, 0x09, 0x0a, 0x0b, 787 + 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 788 + }; 789 + static int x1000_lcd_8bit_pins[] = { 790 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 791 + 0x30, 0x31, 0x32, 0x33, 0x34, 792 + }; 793 + static int x1000_lcd_16bit_pins[] = { 794 + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 795 + }; 796 + static int x1000_pwm_pwm0_pins[] = { 0x59, }; 797 + static int x1000_pwm_pwm1_pins[] = { 0x5a, }; 798 + static int x1000_pwm_pwm2_pins[] = { 0x5b, }; 799 + static int x1000_pwm_pwm3_pins[] = { 0x26, }; 800 + static int x1000_pwm_pwm4_pins[] = { 0x58, }; 801 + static int x1000_mac_pins[] = { 802 + 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x26, 803 + }; 804 + 805 + static int x1000_uart0_data_funcs[] = { 0, 0, }; 806 + static int x1000_uart0_hwflow_funcs[] = { 0, 0, }; 807 + static int x1000_uart1_data_a_funcs[] = { 2, 2, }; 808 + static int x1000_uart1_data_d_funcs[] = { 1, 1, }; 809 + static int x1000_uart1_hwflow_d_funcs[] = { 1, 1, }; 810 + static int x1000_uart2_data_a_funcs[] = { 2, 2, }; 811 + static int x1000_uart2_data_d_funcs[] = { 0, 0, }; 812 + static int x1000_mmc0_1bit_funcs[] = { 1, 1, 1, }; 813 + static int x1000_mmc0_4bit_funcs[] = { 1, 1, 1, }; 814 + static int x1000_mmc0_8bit_funcs[] = { 1, 1, 1, 1, 1, }; 815 + static int x1000_mmc1_1bit_funcs[] = { 0, 0, 0, }; 816 + static int x1000_mmc1_4bit_funcs[] = { 0, 0, 0, }; 817 + static int x1000_nemc_8bit_data_funcs[] = { 0, 0, 0, 0, 0, 0, 0, 0, }; 818 + static int x1000_nemc_16bit_data_funcs[] = { 0, 0, 0, 0, 0, 0, 0, 0, }; 819 + static int x1000_nemc_addr_funcs[] = { 820 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 821 + }; 822 + static int x1000_nemc_rd_we_funcs[] = { 0, 0, }; 823 + static int x1000_nemc_wait_funcs[] = { 0, }; 824 + static int x1000_nemc_cs1_funcs[] = { 0, }; 825 + static int x1000_nemc_cs2_funcs[] = { 0, }; 826 + static int x1000_i2c0_funcs[] = { 0, 0, }; 827 + static int x1000_i2c1_a_funcs[] = { 2, 2, }; 828 + static int x1000_i2c1_c_funcs[] = { 0, 0, }; 829 + static int x1000_i2c2_funcs[] = { 1, 1, }; 830 + static int x1000_cim_funcs[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; 831 + static int x1000_lcd_8bit_funcs[] = { 832 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 833 + }; 834 + static int x1000_lcd_16bit_funcs[] = { 1, 1, 1, 1, 1, 1, 1, 1, }; 835 + static int x1000_pwm_pwm0_funcs[] = { 0, }; 836 + static int x1000_pwm_pwm1_funcs[] = { 1, }; 837 + static int x1000_pwm_pwm2_funcs[] = { 1, }; 838 + static int x1000_pwm_pwm3_funcs[] = { 2, }; 839 + static int x1000_pwm_pwm4_funcs[] = { 0, }; 840 + static int x1000_mac_funcs[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; 841 + 842 + static const struct group_desc x1000_groups[] = { 843 + INGENIC_PIN_GROUP("uart0-data", x1000_uart0_data), 844 + INGENIC_PIN_GROUP("uart0-hwflow", x1000_uart0_hwflow), 845 + INGENIC_PIN_GROUP("uart1-data-a", x1000_uart1_data_a), 846 + INGENIC_PIN_GROUP("uart1-data-d", x1000_uart1_data_d), 847 + INGENIC_PIN_GROUP("uart1-hwflow-d", x1000_uart1_hwflow_d), 848 + INGENIC_PIN_GROUP("uart2-data-a", x1000_uart2_data_a), 849 + INGENIC_PIN_GROUP("uart2-data-d", x1000_uart2_data_d), 850 + INGENIC_PIN_GROUP("mmc0-1bit", x1000_mmc0_1bit), 851 + INGENIC_PIN_GROUP("mmc0-4bit", x1000_mmc0_4bit), 852 + INGENIC_PIN_GROUP("mmc0-8bit", x1000_mmc0_8bit), 853 + INGENIC_PIN_GROUP("mmc1-1bit", x1000_mmc1_1bit), 854 + INGENIC_PIN_GROUP("mmc1-4bit", x1000_mmc1_4bit), 855 + INGENIC_PIN_GROUP("nemc-8bit-data", x1000_nemc_8bit_data), 856 + INGENIC_PIN_GROUP("nemc-16bit-data", x1000_nemc_16bit_data), 857 + INGENIC_PIN_GROUP("nemc-addr", x1000_nemc_addr), 858 + INGENIC_PIN_GROUP("nemc-rd-we", x1000_nemc_rd_we), 859 + INGENIC_PIN_GROUP("nemc-wait", x1000_nemc_wait), 860 + INGENIC_PIN_GROUP("nemc-cs1", x1000_nemc_cs1), 861 + INGENIC_PIN_GROUP("nemc-cs2", x1000_nemc_cs2), 862 + INGENIC_PIN_GROUP("i2c0-data", x1000_i2c0), 863 + INGENIC_PIN_GROUP("i2c1-data-a", x1000_i2c1_a), 864 + INGENIC_PIN_GROUP("i2c1-data-c", x1000_i2c1_c), 865 + INGENIC_PIN_GROUP("i2c2-data", x1000_i2c2), 866 + INGENIC_PIN_GROUP("cim-data", x1000_cim), 867 + INGENIC_PIN_GROUP("lcd-8bit", x1000_lcd_8bit), 868 + INGENIC_PIN_GROUP("lcd-16bit", x1000_lcd_16bit), 869 + { "lcd-no-pins", }, 870 + INGENIC_PIN_GROUP("pwm0", x1000_pwm_pwm0), 871 + INGENIC_PIN_GROUP("pwm1", x1000_pwm_pwm1), 872 + INGENIC_PIN_GROUP("pwm2", x1000_pwm_pwm2), 873 + INGENIC_PIN_GROUP("pwm3", x1000_pwm_pwm3), 874 + INGENIC_PIN_GROUP("pwm4", x1000_pwm_pwm4), 875 + INGENIC_PIN_GROUP("mac", x1000_mac), 876 + }; 877 + 878 + static const char *x1000_uart0_groups[] = { "uart0-data", "uart0-hwflow", }; 879 + static const char *x1000_uart1_groups[] = { 880 + "uart1-data-a", "uart1-data-d", "uart1-hwflow-d", 881 + }; 882 + static const char *x1000_uart2_groups[] = { "uart2-data-a", "uart2-data-d", }; 883 + static const char *x1000_mmc0_groups[] = { 884 + "mmc0-1bit", "mmc0-4bit", "mmc0-8bit", 885 + }; 886 + static const char *x1000_mmc1_groups[] = { 887 + "mmc1-1bit-e", "mmc1-4bit-e", 888 + }; 889 + static const char *x1000_nemc_groups[] = { 890 + "nemc-8bit-data", "nemc-16bit-data", 891 + "nemc-addr", "nemc-rd-we", "nemc-wait", 892 + }; 893 + static const char *x1000_cs1_groups[] = { "nemc-cs1", }; 894 + static const char *x1000_cs2_groups[] = { "nemc-cs2", }; 895 + static const char *x1000_i2c0_groups[] = { "i2c0-data", }; 896 + static const char *x1000_i2c1_groups[] = { "i2c1-data-a", "i2c1-data-c", }; 897 + static const char *x1000_i2c2_groups[] = { "i2c2-data", }; 898 + static const char *x1000_cim_groups[] = { "cim-data", }; 899 + static const char *x1000_lcd_groups[] = { 900 + "lcd-8bit", "lcd-16bit", "lcd-no-pins", 901 + }; 902 + static const char *x1000_pwm0_groups[] = { "pwm0", }; 903 + static const char *x1000_pwm1_groups[] = { "pwm1", }; 904 + static const char *x1000_pwm2_groups[] = { "pwm2", }; 905 + static const char *x1000_pwm3_groups[] = { "pwm3", }; 906 + static const char *x1000_pwm4_groups[] = { "pwm4", }; 907 + static const char *x1000_mac_groups[] = { "mac", }; 908 + 909 + static const struct function_desc x1000_functions[] = { 910 + { "uart0", x1000_uart0_groups, ARRAY_SIZE(x1000_uart0_groups), }, 911 + { "uart1", x1000_uart1_groups, ARRAY_SIZE(x1000_uart1_groups), }, 912 + { "uart2", x1000_uart2_groups, ARRAY_SIZE(x1000_uart2_groups), }, 913 + { "mmc0", x1000_mmc0_groups, ARRAY_SIZE(x1000_mmc0_groups), }, 914 + { "mmc1", x1000_mmc1_groups, ARRAY_SIZE(x1000_mmc1_groups), }, 915 + { "nemc", x1000_nemc_groups, ARRAY_SIZE(x1000_nemc_groups), }, 916 + { "nemc-cs1", x1000_cs1_groups, ARRAY_SIZE(x1000_cs1_groups), }, 917 + { "nemc-cs2", x1000_cs2_groups, ARRAY_SIZE(x1000_cs2_groups), }, 918 + { "i2c0", x1000_i2c0_groups, ARRAY_SIZE(x1000_i2c0_groups), }, 919 + { "i2c1", x1000_i2c1_groups, ARRAY_SIZE(x1000_i2c1_groups), }, 920 + { "i2c2", x1000_i2c2_groups, ARRAY_SIZE(x1000_i2c2_groups), }, 921 + { "cim", x1000_cim_groups, ARRAY_SIZE(x1000_cim_groups), }, 922 + { "lcd", x1000_lcd_groups, ARRAY_SIZE(x1000_lcd_groups), }, 923 + { "pwm0", x1000_pwm0_groups, ARRAY_SIZE(x1000_pwm0_groups), }, 924 + { "pwm1", x1000_pwm1_groups, ARRAY_SIZE(x1000_pwm1_groups), }, 925 + { "pwm2", x1000_pwm2_groups, ARRAY_SIZE(x1000_pwm2_groups), }, 926 + { "pwm3", x1000_pwm3_groups, ARRAY_SIZE(x1000_pwm3_groups), }, 927 + { "pwm4", x1000_pwm4_groups, ARRAY_SIZE(x1000_pwm4_groups), }, 928 + { "mac", x1000_mac_groups, ARRAY_SIZE(x1000_mac_groups), }, 929 + }; 930 + 931 + static const struct ingenic_chip_info x1000_chip_info = { 932 + .num_chips = 4, 933 + .groups = x1000_groups, 934 + .num_groups = ARRAY_SIZE(x1000_groups), 935 + .functions = x1000_functions, 936 + .num_functions = ARRAY_SIZE(x1000_functions), 937 + .pull_ups = x1000_pull_ups, 938 + .pull_downs = x1000_pull_downs, 939 + }; 940 + 941 + static const struct ingenic_chip_info x1000e_chip_info = { 942 + .num_chips = 4, 943 + .groups = x1000_groups, 944 + .num_groups = ARRAY_SIZE(x1000_groups), 945 + .functions = x1000_functions, 946 + .num_functions = ARRAY_SIZE(x1000_functions), 947 + .pull_ups = x1000_pull_ups, 948 + .pull_downs = x1000_pull_downs, 949 + }; 950 + 951 + static int x1500_uart0_data_pins[] = { 0x4a, 0x4b, }; 952 + static int x1500_uart0_hwflow_pins[] = { 0x4c, 0x4d, }; 953 + static int x1500_uart1_data_a_pins[] = { 0x04, 0x05, }; 954 + static int x1500_uart1_data_d_pins[] = { 0x62, 0x63, }; 955 + static int x1500_uart1_hwflow_d_pins[] = { 0x64, 0x65, }; 956 + static int x1500_uart2_data_a_pins[] = { 0x02, 0x03, }; 957 + static int x1500_uart2_data_d_pins[] = { 0x65, 0x64, }; 958 + static int x1500_mmc0_1bit_pins[] = { 0x18, 0x19, 0x17, }; 959 + static int x1500_mmc0_4bit_pins[] = { 0x16, 0x15, 0x14, }; 960 + static int x1500_i2c0_pins[] = { 0x38, 0x37, }; 961 + static int x1500_i2c1_a_pins[] = { 0x01, 0x00, }; 962 + static int x1500_i2c1_c_pins[] = { 0x5b, 0x5a, }; 963 + static int x1500_i2c2_pins[] = { 0x61, 0x60, }; 964 + static int x1500_cim_pins[] = { 965 + 0x08, 0x09, 0x0a, 0x0b, 966 + 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 967 + }; 968 + static int x1500_pwm_pwm0_pins[] = { 0x59, }; 969 + static int x1500_pwm_pwm1_pins[] = { 0x5a, }; 970 + static int x1500_pwm_pwm2_pins[] = { 0x5b, }; 971 + static int x1500_pwm_pwm3_pins[] = { 0x26, }; 972 + static int x1500_pwm_pwm4_pins[] = { 0x58, }; 973 + 974 + static int x1500_uart0_data_funcs[] = { 0, 0, }; 975 + static int x1500_uart0_hwflow_funcs[] = { 0, 0, }; 976 + static int x1500_uart1_data_a_funcs[] = { 2, 2, }; 977 + static int x1500_uart1_data_d_funcs[] = { 1, 1, }; 978 + static int x1500_uart1_hwflow_d_funcs[] = { 1, 1, }; 979 + static int x1500_uart2_data_a_funcs[] = { 2, 2, }; 980 + static int x1500_uart2_data_d_funcs[] = { 0, 0, }; 981 + static int x1500_mmc0_1bit_funcs[] = { 1, 1, 1, }; 982 + static int x1500_mmc0_4bit_funcs[] = { 1, 1, 1, }; 983 + static int x1500_i2c0_funcs[] = { 0, 0, }; 984 + static int x1500_i2c1_a_funcs[] = { 2, 2, }; 985 + static int x1500_i2c1_c_funcs[] = { 0, 0, }; 986 + static int x1500_i2c2_funcs[] = { 1, 1, }; 987 + static int x1500_cim_funcs[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; 988 + static int x1500_pwm_pwm0_funcs[] = { 0, }; 989 + static int x1500_pwm_pwm1_funcs[] = { 1, }; 990 + static int x1500_pwm_pwm2_funcs[] = { 1, }; 991 + static int x1500_pwm_pwm3_funcs[] = { 2, }; 992 + static int x1500_pwm_pwm4_funcs[] = { 0, }; 993 + 994 + static const struct group_desc x1500_groups[] = { 995 + INGENIC_PIN_GROUP("uart0-data", x1500_uart0_data), 996 + INGENIC_PIN_GROUP("uart0-hwflow", x1500_uart0_hwflow), 997 + INGENIC_PIN_GROUP("uart1-data-a", x1500_uart1_data_a), 998 + INGENIC_PIN_GROUP("uart1-data-d", x1500_uart1_data_d), 999 + INGENIC_PIN_GROUP("uart1-hwflow-d", x1500_uart1_hwflow_d), 1000 + INGENIC_PIN_GROUP("uart2-data-a", x1500_uart2_data_a), 1001 + INGENIC_PIN_GROUP("uart2-data-d", x1500_uart2_data_d), 1002 + INGENIC_PIN_GROUP("mmc0-1bit", x1500_mmc0_1bit), 1003 + INGENIC_PIN_GROUP("mmc0-4bit", x1500_mmc0_4bit), 1004 + INGENIC_PIN_GROUP("i2c0-data", x1500_i2c0), 1005 + INGENIC_PIN_GROUP("i2c1-data-a", x1500_i2c1_a), 1006 + INGENIC_PIN_GROUP("i2c1-data-c", x1500_i2c1_c), 1007 + INGENIC_PIN_GROUP("i2c2-data", x1500_i2c2), 1008 + INGENIC_PIN_GROUP("cim-data", x1500_cim), 1009 + { "lcd-no-pins", }, 1010 + INGENIC_PIN_GROUP("pwm0", x1500_pwm_pwm0), 1011 + INGENIC_PIN_GROUP("pwm1", x1500_pwm_pwm1), 1012 + INGENIC_PIN_GROUP("pwm2", x1500_pwm_pwm2), 1013 + INGENIC_PIN_GROUP("pwm3", x1500_pwm_pwm3), 1014 + INGENIC_PIN_GROUP("pwm4", x1500_pwm_pwm4), 1015 + }; 1016 + 1017 + static const char *x1500_uart0_groups[] = { "uart0-data", "uart0-hwflow", }; 1018 + static const char *x1500_uart1_groups[] = { 1019 + "uart1-data-a", "uart1-data-d", "uart1-hwflow-d", 1020 + }; 1021 + static const char *x1500_uart2_groups[] = { "uart2-data-a", "uart2-data-d", }; 1022 + static const char *x1500_mmc0_groups[] = { "mmc0-1bit", "mmc0-4bit", }; 1023 + static const char *x1500_i2c0_groups[] = { "i2c0-data", }; 1024 + static const char *x1500_i2c1_groups[] = { "i2c1-data-a", "i2c1-data-c", }; 1025 + static const char *x1500_i2c2_groups[] = { "i2c2-data", }; 1026 + static const char *x1500_cim_groups[] = { "cim-data", }; 1027 + static const char *x1500_lcd_groups[] = { "lcd-no-pins", }; 1028 + static const char *x1500_pwm0_groups[] = { "pwm0", }; 1029 + static const char *x1500_pwm1_groups[] = { "pwm1", }; 1030 + static const char *x1500_pwm2_groups[] = { "pwm2", }; 1031 + static const char *x1500_pwm3_groups[] = { "pwm3", }; 1032 + static const char *x1500_pwm4_groups[] = { "pwm4", }; 1033 + 1034 + static const struct function_desc x1500_functions[] = { 1035 + { "uart0", x1500_uart0_groups, ARRAY_SIZE(x1500_uart0_groups), }, 1036 + { "uart1", x1500_uart1_groups, ARRAY_SIZE(x1500_uart1_groups), }, 1037 + { "uart2", x1500_uart2_groups, ARRAY_SIZE(x1500_uart2_groups), }, 1038 + { "mmc0", x1500_mmc0_groups, ARRAY_SIZE(x1500_mmc0_groups), }, 1039 + { "i2c0", x1500_i2c0_groups, ARRAY_SIZE(x1500_i2c0_groups), }, 1040 + { "i2c1", x1500_i2c1_groups, ARRAY_SIZE(x1500_i2c1_groups), }, 1041 + { "i2c2", x1500_i2c2_groups, ARRAY_SIZE(x1500_i2c2_groups), }, 1042 + { "cim", x1500_cim_groups, ARRAY_SIZE(x1500_cim_groups), }, 1043 + { "lcd", x1500_lcd_groups, ARRAY_SIZE(x1500_lcd_groups), }, 1044 + { "pwm0", x1500_pwm0_groups, ARRAY_SIZE(x1500_pwm0_groups), }, 1045 + { "pwm1", x1500_pwm1_groups, ARRAY_SIZE(x1500_pwm1_groups), }, 1046 + { "pwm2", x1500_pwm2_groups, ARRAY_SIZE(x1500_pwm2_groups), }, 1047 + { "pwm3", x1500_pwm3_groups, ARRAY_SIZE(x1500_pwm3_groups), }, 1048 + { "pwm4", x1500_pwm4_groups, ARRAY_SIZE(x1500_pwm4_groups), }, 1049 + }; 1050 + 1051 + static const struct ingenic_chip_info x1500_chip_info = { 1052 + .num_chips = 4, 1053 + .groups = x1500_groups, 1054 + .num_groups = ARRAY_SIZE(x1500_groups), 1055 + .functions = x1500_functions, 1056 + .num_functions = ARRAY_SIZE(x1500_functions), 1057 + .pull_ups = x1000_pull_ups, 1058 + .pull_downs = x1000_pull_downs, 1059 + }; 1060 + 1019 1061 static u32 ingenic_gpio_read_reg(struct ingenic_gpio_chip *jzgc, u8 reg) 1020 1062 { 1021 1063 unsigned int val; ··· 1350 764 regmap_write(jzgc->jzpc->map, jzgc->reg_base + reg, BIT(offset)); 1351 765 } 1352 766 767 + static void ingenic_gpio_shadow_set_bit(struct ingenic_gpio_chip *jzgc, 768 + u8 reg, u8 offset, bool set) 769 + { 770 + if (set) 771 + reg = REG_SET(reg); 772 + else 773 + reg = REG_CLEAR(reg); 774 + 775 + regmap_write(jzgc->jzpc->map, X1000_GPIO_PZ_BASE + reg, BIT(offset)); 776 + } 777 + 778 + static void ingenic_gpio_shadow_set_bit_load(struct ingenic_gpio_chip *jzgc) 779 + { 780 + regmap_write(jzgc->jzpc->map, X1000_GPIO_PZ_GID2LD, 781 + jzgc->gc.base / PINS_PER_GPIO_CHIP); 782 + } 783 + 1353 784 static inline bool ingenic_gpio_get_value(struct ingenic_gpio_chip *jzgc, 1354 785 u8 offset) 1355 786 { ··· 1378 775 static void ingenic_gpio_set_value(struct ingenic_gpio_chip *jzgc, 1379 776 u8 offset, int value) 1380 777 { 1381 - if (jzgc->jzpc->version >= ID_JZ4770) 1382 - ingenic_gpio_set_bit(jzgc, JZ4770_GPIO_PAT0, offset, !!value); 778 + if (jzgc->jzpc->version >= ID_JZ4760) 779 + ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_PAT0, offset, !!value); 1383 780 else 1384 781 ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_DATA, offset, !!value); 1385 782 } ··· 1389 786 { 1390 787 u8 reg1, reg2; 1391 788 1392 - if (jzgc->jzpc->version >= ID_JZ4770) { 1393 - reg1 = JZ4770_GPIO_PAT1; 1394 - reg2 = JZ4770_GPIO_PAT0; 789 + if (jzgc->jzpc->version >= ID_JZ4760) { 790 + reg1 = JZ4760_GPIO_PAT1; 791 + reg2 = JZ4760_GPIO_PAT0; 1395 792 } else { 1396 793 reg1 = JZ4740_GPIO_TRIG; 1397 794 reg2 = JZ4740_GPIO_DIR; ··· 1399 796 1400 797 switch (type) { 1401 798 case IRQ_TYPE_EDGE_RISING: 1402 - ingenic_gpio_set_bit(jzgc, reg2, offset, true); 1403 - ingenic_gpio_set_bit(jzgc, reg1, offset, true); 799 + if (jzgc->jzpc->version >= ID_X1000) { 800 + ingenic_gpio_shadow_set_bit(jzgc, reg2, offset, true); 801 + ingenic_gpio_shadow_set_bit(jzgc, reg1, offset, true); 802 + ingenic_gpio_shadow_set_bit_load(jzgc); 803 + } else { 804 + ingenic_gpio_set_bit(jzgc, reg2, offset, true); 805 + ingenic_gpio_set_bit(jzgc, reg1, offset, true); 806 + } 1404 807 break; 1405 808 case IRQ_TYPE_EDGE_FALLING: 1406 - ingenic_gpio_set_bit(jzgc, reg2, offset, false); 1407 - ingenic_gpio_set_bit(jzgc, reg1, offset, true); 809 + if (jzgc->jzpc->version >= ID_X1000) { 810 + ingenic_gpio_shadow_set_bit(jzgc, reg2, offset, false); 811 + ingenic_gpio_shadow_set_bit(jzgc, reg1, offset, true); 812 + ingenic_gpio_shadow_set_bit_load(jzgc); 813 + } else { 814 + ingenic_gpio_set_bit(jzgc, reg2, offset, false); 815 + ingenic_gpio_set_bit(jzgc, reg1, offset, true); 816 + } 1408 817 break; 1409 818 case IRQ_TYPE_LEVEL_HIGH: 1410 - ingenic_gpio_set_bit(jzgc, reg2, offset, true); 1411 - ingenic_gpio_set_bit(jzgc, reg1, offset, false); 819 + if (jzgc->jzpc->version >= ID_X1000) { 820 + ingenic_gpio_shadow_set_bit(jzgc, reg2, offset, true); 821 + ingenic_gpio_shadow_set_bit(jzgc, reg1, offset, false); 822 + ingenic_gpio_shadow_set_bit_load(jzgc); 823 + } else { 824 + ingenic_gpio_set_bit(jzgc, reg2, offset, true); 825 + ingenic_gpio_set_bit(jzgc, reg1, offset, false); 826 + } 1412 827 break; 1413 828 case IRQ_TYPE_LEVEL_LOW: 1414 829 default: 1415 - ingenic_gpio_set_bit(jzgc, reg2, offset, false); 1416 - ingenic_gpio_set_bit(jzgc, reg1, offset, false); 830 + if (jzgc->jzpc->version >= ID_X1000) { 831 + ingenic_gpio_shadow_set_bit(jzgc, reg2, offset, false); 832 + ingenic_gpio_shadow_set_bit(jzgc, reg1, offset, false); 833 + ingenic_gpio_shadow_set_bit_load(jzgc); 834 + } else { 835 + ingenic_gpio_set_bit(jzgc, reg2, offset, false); 836 + ingenic_gpio_set_bit(jzgc, reg1, offset, false); 837 + } 1417 838 break; 1418 839 } 1419 840 } ··· 1464 837 struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc); 1465 838 int irq = irqd->hwirq; 1466 839 1467 - if (jzgc->jzpc->version >= ID_JZ4770) 1468 - ingenic_gpio_set_bit(jzgc, JZ4770_GPIO_INT, irq, true); 840 + if (jzgc->jzpc->version >= ID_JZ4760) 841 + ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_INT, irq, true); 1469 842 else 1470 843 ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_SELECT, irq, true); 1471 844 ··· 1480 853 1481 854 ingenic_gpio_irq_mask(irqd); 1482 855 1483 - if (jzgc->jzpc->version >= ID_JZ4770) 1484 - ingenic_gpio_set_bit(jzgc, JZ4770_GPIO_INT, irq, false); 856 + if (jzgc->jzpc->version >= ID_JZ4760) 857 + ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_INT, irq, false); 1485 858 else 1486 859 ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_SELECT, irq, false); 1487 860 } ··· 1505 878 irq_set_type(jzgc, irq, IRQ_TYPE_EDGE_RISING); 1506 879 } 1507 880 1508 - if (jzgc->jzpc->version >= ID_JZ4770) 1509 - ingenic_gpio_set_bit(jzgc, JZ4770_GPIO_FLAG, irq, false); 881 + if (jzgc->jzpc->version >= ID_JZ4760) 882 + ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_FLAG, irq, false); 1510 883 else 1511 884 ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_DATA, irq, true); 1512 885 } ··· 1562 935 1563 936 chained_irq_enter(irq_chip, desc); 1564 937 1565 - if (jzgc->jzpc->version >= ID_JZ4770) 1566 - flag = ingenic_gpio_read_reg(jzgc, JZ4770_GPIO_FLAG); 938 + if (jzgc->jzpc->version >= ID_JZ4760) 939 + flag = ingenic_gpio_read_reg(jzgc, JZ4760_GPIO_FLAG); 1567 940 else 1568 941 flag = ingenic_gpio_read_reg(jzgc, JZ4740_GPIO_FLAG); 1569 942 ··· 1610 983 (set ? REG_SET(reg) : REG_CLEAR(reg)), BIT(idx)); 1611 984 } 1612 985 986 + static inline void ingenic_shadow_config_pin(struct ingenic_pinctrl *jzpc, 987 + unsigned int pin, u8 reg, bool set) 988 + { 989 + unsigned int idx = pin % PINS_PER_GPIO_CHIP; 990 + 991 + regmap_write(jzpc->map, X1000_GPIO_PZ_BASE + 992 + (set ? REG_SET(reg) : REG_CLEAR(reg)), BIT(idx)); 993 + } 994 + 995 + static inline void ingenic_shadow_config_pin_load(struct ingenic_pinctrl *jzpc, 996 + unsigned int pin) 997 + { 998 + regmap_write(jzpc->map, X1000_GPIO_PZ_GID2LD, pin / PINS_PER_GPIO_CHIP); 999 + } 1000 + 1613 1001 static inline bool ingenic_get_pin_config(struct ingenic_pinctrl *jzpc, 1614 1002 unsigned int pin, u8 reg) 1615 1003 { ··· 1643 1001 struct ingenic_pinctrl *jzpc = jzgc->jzpc; 1644 1002 unsigned int pin = gc->base + offset; 1645 1003 1646 - if (jzpc->version >= ID_JZ4770) 1647 - return ingenic_get_pin_config(jzpc, pin, JZ4770_GPIO_PAT1); 1004 + if (jzpc->version >= ID_JZ4760) 1005 + return ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_PAT1); 1648 1006 1649 1007 if (ingenic_get_pin_config(jzpc, pin, JZ4740_GPIO_SELECT)) 1650 1008 return true; ··· 1669 1027 dev_dbg(jzpc->dev, "set pin P%c%u to function %u\n", 1670 1028 'A' + offt, idx, func); 1671 1029 1672 - if (jzpc->version >= ID_JZ4770) { 1673 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_INT, false); 1030 + if (jzpc->version >= ID_X1000) { 1031 + ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); 1032 + ingenic_shadow_config_pin(jzpc, pin, GPIO_MSK, false); 1033 + ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, func & 0x2); 1034 + ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT0, func & 0x1); 1035 + ingenic_shadow_config_pin_load(jzpc, pin); 1036 + } else if (jzpc->version >= ID_JZ4760) { 1037 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); 1674 1038 ingenic_config_pin(jzpc, pin, GPIO_MSK, false); 1675 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_PAT1, func & 0x2); 1676 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_PAT0, func & 0x1); 1039 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, func & 0x2); 1040 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT0, func & 0x1); 1677 1041 } else { 1678 1042 ingenic_config_pin(jzpc, pin, JZ4740_GPIO_FUNC, true); 1679 1043 ingenic_config_pin(jzpc, pin, JZ4740_GPIO_TRIG, func & 0x2); ··· 1728 1080 dev_dbg(pctldev->dev, "set pin P%c%u to %sput\n", 1729 1081 'A' + offt, idx, input ? "in" : "out"); 1730 1082 1731 - if (jzpc->version >= ID_JZ4770) { 1732 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_INT, false); 1083 + if (jzpc->version >= ID_X1000) { 1084 + ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); 1085 + ingenic_shadow_config_pin(jzpc, pin, GPIO_MSK, true); 1086 + ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, input); 1087 + ingenic_shadow_config_pin_load(jzpc, pin); 1088 + } else if (jzpc->version >= ID_JZ4760) { 1089 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); 1733 1090 ingenic_config_pin(jzpc, pin, GPIO_MSK, true); 1734 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_PAT1, input); 1091 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, input); 1735 1092 } else { 1736 1093 ingenic_config_pin(jzpc, pin, JZ4740_GPIO_SELECT, false); 1737 1094 ingenic_config_pin(jzpc, pin, JZ4740_GPIO_DIR, !input); ··· 1763 1110 unsigned int offt = pin / PINS_PER_GPIO_CHIP; 1764 1111 bool pull; 1765 1112 1766 - if (jzpc->version >= ID_JZ4770) 1767 - pull = !ingenic_get_pin_config(jzpc, pin, JZ4770_GPIO_PEN); 1113 + if (jzpc->version >= ID_JZ4760) 1114 + pull = !ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_PEN); 1768 1115 else 1769 1116 pull = !ingenic_get_pin_config(jzpc, pin, JZ4740_GPIO_PULL_DIS); 1770 1117 ··· 1795 1142 static void ingenic_set_bias(struct ingenic_pinctrl *jzpc, 1796 1143 unsigned int pin, bool enabled) 1797 1144 { 1798 - if (jzpc->version >= ID_JZ4770) 1799 - ingenic_config_pin(jzpc, pin, JZ4770_GPIO_PEN, !enabled); 1145 + if (jzpc->version >= ID_JZ4760) 1146 + ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PEN, !enabled); 1800 1147 else 1801 1148 ingenic_config_pin(jzpc, pin, JZ4740_GPIO_PULL_DIS, !enabled); 1802 1149 } ··· 1916 1263 static const struct of_device_id ingenic_pinctrl_of_match[] = { 1917 1264 { .compatible = "ingenic,jz4740-pinctrl", .data = (void *) ID_JZ4740 }, 1918 1265 { .compatible = "ingenic,jz4725b-pinctrl", .data = (void *)ID_JZ4725B }, 1266 + { .compatible = "ingenic,jz4760-pinctrl", .data = (void *) ID_JZ4760 }, 1267 + { .compatible = "ingenic,jz4760b-pinctrl", .data = (void *) ID_JZ4760B }, 1919 1268 { .compatible = "ingenic,jz4770-pinctrl", .data = (void *) ID_JZ4770 }, 1920 1269 { .compatible = "ingenic,jz4780-pinctrl", .data = (void *) ID_JZ4780 }, 1270 + { .compatible = "ingenic,x1000-pinctrl", .data = (void *) ID_X1000 }, 1271 + { .compatible = "ingenic,x1000e-pinctrl", .data = (void *) ID_X1000E }, 1272 + { .compatible = "ingenic,x1500-pinctrl", .data = (void *) ID_X1500 }, 1921 1273 {}, 1922 1274 }; 1923 1275 1924 1276 static const struct of_device_id ingenic_gpio_of_match[] __initconst = { 1925 1277 { .compatible = "ingenic,jz4740-gpio", }, 1278 + { .compatible = "ingenic,jz4760-gpio", }, 1926 1279 { .compatible = "ingenic,jz4770-gpio", }, 1927 1280 { .compatible = "ingenic,jz4780-gpio", }, 1281 + { .compatible = "ingenic,x1000-gpio", }, 1928 1282 {}, 1929 1283 }; 1930 1284 ··· 2047 1387 else 2048 1388 jzpc->version = (enum jz_version)id->driver_data; 2049 1389 2050 - if (jzpc->version >= ID_JZ4780) 1390 + if (jzpc->version >= ID_X1500) 1391 + chip_info = &x1500_chip_info; 1392 + else if (jzpc->version >= ID_X1000E) 1393 + chip_info = &x1000e_chip_info; 1394 + else if (jzpc->version >= ID_X1000) 1395 + chip_info = &x1000_chip_info; 1396 + else if (jzpc->version >= ID_JZ4780) 2051 1397 chip_info = &jz4780_chip_info; 2052 1398 else if (jzpc->version >= ID_JZ4770) 2053 1399 chip_info = &jz4770_chip_info; 1400 + else if (jzpc->version >= ID_JZ4760B) 1401 + chip_info = &jz4760b_chip_info; 1402 + else if (jzpc->version >= ID_JZ4760) 1403 + chip_info = &jz4760_chip_info; 2054 1404 else if (jzpc->version >= ID_JZ4725B) 2055 1405 chip_info = &jz4725b_chip_info; 2056 1406 else ··· 2137 1467 static const struct platform_device_id ingenic_pinctrl_ids[] = { 2138 1468 { "jz4740-pinctrl", ID_JZ4740 }, 2139 1469 { "jz4725b-pinctrl", ID_JZ4725B }, 1470 + { "jz4760-pinctrl", ID_JZ4760 }, 1471 + { "jz4760b-pinctrl", ID_JZ4760B }, 2140 1472 { "jz4770-pinctrl", ID_JZ4770 }, 2141 1473 { "jz4780-pinctrl", ID_JZ4780 }, 1474 + { "x1000-pinctrl", ID_X1000 }, 1475 + { "x1000e-pinctrl", ID_X1000E }, 1476 + { "x1500-pinctrl", ID_X1500 }, 2142 1477 {}, 2143 1478 }; 2144 1479
+1 -7
drivers/pinctrl/pinctrl-oxnas.c
··· 902 902 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); 903 903 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); 904 904 unsigned int param; 905 - u32 arg; 906 905 unsigned int i; 907 906 u32 offset = pin - bank->gpio_chip.base; 908 907 u32 mask = BIT(offset); ··· 911 912 912 913 for (i = 0; i < num_configs; i++) { 913 914 param = pinconf_to_config_param(configs[i]); 914 - arg = pinconf_to_config_argument(configs[i]); 915 915 916 916 switch (param) { 917 917 case PIN_CONFIG_BIAS_PULL_UP: ··· 939 941 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); 940 942 unsigned int bank_offset = (bank->id ? PINMUX_820_BANK_OFFSET : 0); 941 943 unsigned int param; 942 - u32 arg; 943 944 unsigned int i; 944 945 u32 offset = pin - bank->gpio_chip.base; 945 946 u32 mask = BIT(offset); ··· 948 951 949 952 for (i = 0; i < num_configs; i++) { 950 953 param = pinconf_to_config_param(configs[i]); 951 - arg = pinconf_to_config_argument(configs[i]); 952 954 953 955 switch (param) { 954 956 case PIN_CONFIG_BIAS_PULL_UP: ··· 1225 1229 return PTR_ERR(bank->reg_base); 1226 1230 1227 1231 irq = platform_get_irq(pdev, 0); 1228 - if (irq < 0) { 1229 - dev_err(&pdev->dev, "irq get failed\n"); 1232 + if (irq < 0) 1230 1233 return irq; 1231 - } 1232 1234 1233 1235 bank->id = id; 1234 1236 bank->gpio_chip.parent = &pdev->dev;
+1 -3
drivers/pinctrl/pinctrl-pic32.c
··· 2222 2222 return PTR_ERR(bank->reg_base); 2223 2223 2224 2224 irq = platform_get_irq(pdev, 0); 2225 - if (irq < 0) { 2226 - dev_err(&pdev->dev, "irq get failed\n"); 2225 + if (irq < 0) 2227 2226 return irq; 2228 - } 2229 2227 2230 2228 bank->clk = devm_clk_get(&pdev->dev, NULL); 2231 2229 if (IS_ERR(bank->clk)) {
+2 -2
drivers/pinctrl/pinctrl-rk805.c
··· 197 197 return !(val & pci->pin_cfg[offset].dir_msk); 198 198 } 199 199 200 - static struct gpio_chip rk805_gpio_chip = { 200 + static const struct gpio_chip rk805_gpio_chip = { 201 201 .label = "rk805-gpio", 202 202 .request = gpiochip_generic_request, 203 203 .free = gpiochip_generic_free, ··· 404 404 .pin_config_set = rk805_pinconf_set, 405 405 }; 406 406 407 - static struct pinctrl_desc rk805_pinctrl_desc = { 407 + static const struct pinctrl_desc rk805_pinctrl_desc = { 408 408 .name = "rk805-pinctrl", 409 409 .pctlops = &rk805_pinctrl_ops, 410 410 .pmxops = &rk805_pinmux_ops,
+1
drivers/pinctrl/pinctrl-rockchip.c
··· 2792 2792 * still return -ENOTSUPP as before, to make sure the caller 2793 2793 * of gpiod_set_debounce won't change its behaviour. 2794 2794 */ 2795 + return -ENOTSUPP; 2795 2796 default: 2796 2797 return -ENOTSUPP; 2797 2798 }
+10 -6
drivers/pinctrl/pinctrl-rza1.c
··· 866 866 npins = 0; 867 867 for_each_child_of_node(np, child) { 868 868 of_pins = of_find_property(child, "pinmux", NULL); 869 - if (!of_pins) 869 + if (!of_pins) { 870 + of_node_put(child); 870 871 return -EINVAL; 872 + } 871 873 872 874 npins += of_pins->length / sizeof(u32); 873 875 } ··· 1027 1025 for_each_child_of_node(np, child) { 1028 1026 ret = rza1_parse_pinmux_node(rza1_pctl, child, mux_conf, 1029 1027 grpin); 1030 - if (ret < 0) 1028 + if (ret < 0) { 1029 + of_node_put(child); 1031 1030 return ret; 1031 + } 1032 1032 1033 1033 grpin += ret; 1034 1034 mux_conf += ret; ··· 1276 1272 1277 1273 ret = rza1_parse_gpiochip(rza1_pctl, child, &gpio_chips[i], 1278 1274 &gpio_ranges[i]); 1279 - if (ret) 1275 + if (ret) { 1276 + of_node_put(child); 1280 1277 return ret; 1278 + } 1281 1279 1282 1280 ++i; 1283 1281 } ··· 1365 1359 static int rza1_pinctrl_probe(struct platform_device *pdev) 1366 1360 { 1367 1361 struct rza1_pinctrl *rza1_pctl; 1368 - struct resource *res; 1369 1362 int ret; 1370 1363 1371 1364 rza1_pctl = devm_kzalloc(&pdev->dev, sizeof(*rza1_pctl), GFP_KERNEL); ··· 1373 1368 1374 1369 rza1_pctl->dev = &pdev->dev; 1375 1370 1376 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1377 - rza1_pctl->base = devm_ioremap_resource(&pdev->dev, res); 1371 + rza1_pctl->base = devm_platform_ioremap_resource(pdev, 0); 1378 1372 if (IS_ERR(rza1_pctl->base)) 1379 1373 return PTR_ERR(rza1_pctl->base); 1380 1374
+9 -8
drivers/pinctrl/pinctrl-rza2.c
··· 11 11 */ 12 12 13 13 #include <linux/bitops.h> 14 - #include <linux/gpio.h> 14 + #include <linux/gpio/driver.h> 15 + #include <linux/io.h> 15 16 #include <linux/module.h> 16 17 #include <linux/of_device.h> 17 18 #include <linux/pinctrl/pinmux.h> ··· 116 115 mask16 = RZA2_PDR_MASK << (pin * 2); 117 116 reg16 &= ~mask16; 118 117 119 - if (dir == GPIOF_DIR_IN) 118 + if (dir) 120 119 reg16 |= RZA2_PDR_INPUT << (pin * 2); /* pin as input */ 121 120 else 122 121 reg16 |= RZA2_PDR_OUTPUT << (pin * 2); /* pin as output */ ··· 135 134 reg16 = (reg16 >> (pin * 2)) & RZA2_PDR_MASK; 136 135 137 136 if (reg16 == RZA2_PDR_OUTPUT) 138 - return GPIOF_DIR_OUT; 137 + return 0; 139 138 140 139 if (reg16 == RZA2_PDR_INPUT) 141 - return GPIOF_DIR_IN; 140 + return 1; 142 141 143 142 /* 144 143 * This GPIO controller has a default Hi-Z state that is not input or 145 144 * output, so force the pin to input now. 146 145 */ 147 - rza2_pin_to_gpio(priv->base, offset, GPIOF_DIR_IN); 146 + rza2_pin_to_gpio(priv->base, offset, 1); 148 147 149 - return GPIOF_DIR_IN; 148 + return 1; 150 149 } 151 150 152 151 static int rza2_chip_direction_input(struct gpio_chip *chip, ··· 154 153 { 155 154 struct rza2_pinctrl_priv *priv = gpiochip_get_data(chip); 156 155 157 - rza2_pin_to_gpio(priv->base, offset, GPIOF_DIR_IN); 156 + rza2_pin_to_gpio(priv->base, offset, 1); 158 157 159 158 return 0; 160 159 } ··· 192 191 struct rza2_pinctrl_priv *priv = gpiochip_get_data(chip); 193 192 194 193 rza2_chip_set(chip, offset, val); 195 - rza2_pin_to_gpio(priv->base, offset, GPIOF_DIR_OUT); 194 + rza2_pin_to_gpio(priv->base, offset, 0); 196 195 197 196 return 0; 198 197 }
+9 -3
drivers/pinctrl/pinctrl-rzn1.c
··· 412 412 413 413 for_each_child_of_node(np, child) { 414 414 ret = rzn1_dt_node_to_map_one(pctldev, child, map, num_maps); 415 - if (ret < 0) 415 + if (ret < 0) { 416 + of_node_put(child); 416 417 return ret; 418 + } 417 419 } 418 420 419 421 return 0; ··· 794 792 grp = &ipctl->groups[ipctl->ngroups]; 795 793 grp->func = func->name; 796 794 ret = rzn1_pinctrl_parse_groups(child, grp, ipctl); 797 - if (ret < 0) 795 + if (ret < 0) { 796 + of_node_put(child); 798 797 return ret; 798 + } 799 799 i++; 800 800 ipctl->ngroups++; 801 801 } ··· 842 838 843 839 for_each_child_of_node(np, child) { 844 840 ret = rzn1_pinctrl_parse_functions(child, ipctl, i++); 845 - if (ret < 0) 841 + if (ret < 0) { 842 + of_node_put(child); 846 843 return ret; 844 + } 847 845 } 848 846 849 847 return 0;
+9 -3
drivers/pinctrl/pinctrl-st.c
··· 12 12 #include <linux/io.h> 13 13 #include <linux/of.h> 14 14 #include <linux/of_irq.h> 15 - #include <linux/of_gpio.h> 15 + #include <linux/of_gpio.h> /* of_get_named_gpio() */ 16 16 #include <linux/of_address.h> 17 + #include <linux/gpio/driver.h> 17 18 #include <linux/regmap.h> 18 19 #include <linux/mfd/syscon.h> 19 20 #include <linux/pinctrl/pinctrl.h> ··· 1263 1262 grp = &info->groups[*grp_index]; 1264 1263 *grp_index += 1; 1265 1264 ret = st_pctl_dt_parse_groups(child, grp, info, i++); 1266 - if (ret) 1265 + if (ret) { 1266 + of_node_put(child); 1267 1267 return ret; 1268 + } 1268 1269 } 1269 1270 dev_info(info->dev, "Function[%d\t name:%s,\tgroups:%d]\n", 1270 1271 index, func->name, func->ngroups); ··· 1626 1623 if (of_property_read_bool(child, "gpio-controller")) { 1627 1624 const char *bank_name = NULL; 1628 1625 ret = st_gpiolib_register_bank(info, bank, child); 1629 - if (ret) 1626 + if (ret) { 1627 + of_node_put(child); 1630 1628 return ret; 1629 + } 1631 1630 1632 1631 k = info->banks[bank].range.pin_base; 1633 1632 bank_name = info->banks[bank].range.name; ··· 1646 1641 i++, &grp_index); 1647 1642 if (ret) { 1648 1643 dev_err(&pdev->dev, "No functions found.\n"); 1644 + of_node_put(child); 1649 1645 return ret; 1650 1646 } 1651 1647 }
+13 -15
drivers/pinctrl/pinctrl-stmfx.c
··· 296 296 switch (param) { 297 297 case PIN_CONFIG_BIAS_PULL_PIN_DEFAULT: 298 298 case PIN_CONFIG_BIAS_DISABLE: 299 + case PIN_CONFIG_DRIVE_PUSH_PULL: 300 + ret = stmfx_pinconf_set_type(pctl, pin, 0); 301 + if (ret) 302 + return ret; 303 + break; 299 304 case PIN_CONFIG_BIAS_PULL_DOWN: 305 + ret = stmfx_pinconf_set_type(pctl, pin, 1); 306 + if (ret) 307 + return ret; 300 308 ret = stmfx_pinconf_set_pupd(pctl, pin, 0); 301 309 if (ret) 302 310 return ret; 303 311 break; 304 312 case PIN_CONFIG_BIAS_PULL_UP: 313 + ret = stmfx_pinconf_set_type(pctl, pin, 1); 314 + if (ret) 315 + return ret; 305 316 ret = stmfx_pinconf_set_pupd(pctl, pin, 1); 306 317 if (ret) 307 318 return ret; 308 319 break; 309 320 case PIN_CONFIG_DRIVE_OPEN_DRAIN: 310 - if (!dir) 311 - ret = stmfx_pinconf_set_type(pctl, pin, 1); 312 - else 313 - ret = stmfx_pinconf_set_type(pctl, pin, 0); 314 - if (ret) 315 - return ret; 316 - break; 317 - case PIN_CONFIG_DRIVE_PUSH_PULL: 318 - if (!dir) 319 - ret = stmfx_pinconf_set_type(pctl, pin, 0); 320 - else 321 - ret = stmfx_pinconf_set_type(pctl, pin, 1); 321 + ret = stmfx_pinconf_set_type(pctl, pin, 1); 322 322 if (ret) 323 323 return ret; 324 324 break; ··· 620 620 } 621 621 622 622 irq = platform_get_irq(pdev, 0); 623 - if (irq <= 0) { 624 - dev_err(pctl->dev, "failed to get irq\n"); 623 + if (irq <= 0) 625 624 return -ENXIO; 626 - } 627 625 628 626 mutex_init(&pctl->lock); 629 627
+1 -3
drivers/pinctrl/pinctrl-xway.c
··· 1731 1731 return -ENOMEM; 1732 1732 1733 1733 for (i = 0; i < xway_chip.ngpio; i++) { 1734 - /* strlen("ioXY") + 1 = 5 */ 1735 - char *name = devm_kzalloc(&pdev->dev, 5, GFP_KERNEL); 1734 + char *name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "io%d", i); 1736 1735 1737 1736 if (!name) 1738 1737 return -ENOMEM; 1739 1738 1740 - snprintf(name, 5, "io%d", i); 1741 1739 xway_info.pads[i].number = GPIO0 + i; 1742 1740 xway_info.pads[i].name = name; 1743 1741 }
+24
drivers/pinctrl/pinmux.c
··· 71 71 } 72 72 73 73 /** 74 + * pinmux_can_be_used_for_gpio() - check if a specific pin 75 + * is either muxed to a different function or used as gpio. 76 + * 77 + * @pin: the pin number in the global pin space 78 + * 79 + * Controllers not defined as strict will always return true, 80 + * menaning that the gpio can be used. 81 + */ 82 + bool pinmux_can_be_used_for_gpio(struct pinctrl_dev *pctldev, unsigned pin) 83 + { 84 + struct pin_desc *desc = pin_desc_get(pctldev, pin); 85 + const struct pinmux_ops *ops = pctldev->desc->pmxops; 86 + 87 + /* Can't inspect pin, assume it can be used */ 88 + if (!desc) 89 + return true; 90 + 91 + if (ops->strict && desc->mux_usecount) 92 + return false; 93 + 94 + return !(ops->strict && !!desc->gpio_owner); 95 + } 96 + 97 + /** 74 98 * pin_request() - request a single pin to be muxed in, typically for GPIO 75 99 * @pin: the pin number in the global pin space 76 100 * @owner: a representation of the owner of this pin; typically the device
+8
drivers/pinctrl/pinmux.h
··· 15 15 16 16 int pinmux_validate_map(const struct pinctrl_map *map, int i); 17 17 18 + bool pinmux_can_be_used_for_gpio(struct pinctrl_dev *pctldev, unsigned pin); 19 + 18 20 int pinmux_request_gpio(struct pinctrl_dev *pctldev, 19 21 struct pinctrl_gpio_range *range, 20 22 unsigned pin, unsigned gpio); ··· 42 40 static inline int pinmux_validate_map(const struct pinctrl_map *map, int i) 43 41 { 44 42 return 0; 43 + } 44 + 45 + static inline bool pinmux_can_be_used_for_gpio(struct pinctrl_dev *pctldev, 46 + unsigned pin) 47 + { 48 + return true; 45 49 } 46 50 47 51 static inline int pinmux_request_gpio(struct pinctrl_dev *pctldev,
+9
drivers/pinctrl/qcom/Kconfig
··· 159 159 which are using SSBI for communication with SoC. Example PMIC's 160 160 devices are pm8058 and pm8921. 161 161 162 + config PINCTRL_SC7180 163 + tristate "Qualcomm Technologies Inc SC7180 pin controller driver" 164 + depends on GPIOLIB && OF 165 + select PINCTRL_MSM 166 + help 167 + This is the pinctrl, pinmux, pinconf and gpiolib driver for the 168 + Qualcomm Technologies Inc TLMM block found on the Qualcomm 169 + Technologies Inc SC7180 platform. 170 + 162 171 config PINCTRL_SDM660 163 172 tristate "Qualcomm Technologies Inc SDM660 pin controller driver" 164 173 depends on GPIOLIB && OF
+1
drivers/pinctrl/qcom/Makefile
··· 20 20 obj-$(CONFIG_PINCTRL_QCOM_SPMI_PMIC) += pinctrl-spmi-mpp.o 21 21 obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-gpio.o 22 22 obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-mpp.o 23 + obj-$(CONFIG_PINCTRL_SC7180) += pinctrl-sc7180.o 23 24 obj-$(CONFIG_PINCTRL_SDM660) += pinctrl-sdm660.o 24 25 obj-$(CONFIG_PINCTRL_SDM845) += pinctrl-sdm845.o 25 26 obj-$(CONFIG_PINCTRL_SM8150) += pinctrl-sm8150.o
+16 -20
drivers/pinctrl/qcom/pinctrl-msm.c
··· 618 618 } 619 619 620 620 /* The number of GPIOs in the ACPI tables */ 621 - len = ret = device_property_read_u16_array(pctrl->dev, "gpios", NULL, 622 - 0); 621 + len = ret = device_property_count_u16(pctrl->dev, "gpios"); 623 622 if (ret < 0) 624 623 return 0; 625 624 ··· 995 996 if (pctrl->soc->reserved_gpios) 996 997 return true; 997 998 998 - return device_property_read_u16_array(pctrl->dev, "gpios", NULL, 0) > 0; 999 + return device_property_count_u16(pctrl->dev, "gpios") > 0; 999 1000 } 1000 1001 1001 1002 static int msm_gpio_init(struct msm_pinctrl *pctrl) 1002 1003 { 1003 1004 struct gpio_chip *chip; 1005 + struct gpio_irq_chip *girq; 1004 1006 int ret; 1005 1007 unsigned ngpio = pctrl->soc->ngpios; 1006 1008 ··· 1028 1028 pctrl->irq_chip.irq_request_resources = msm_gpio_irq_reqres; 1029 1029 pctrl->irq_chip.irq_release_resources = msm_gpio_irq_relres; 1030 1030 1031 + girq = &chip->irq; 1032 + girq->chip = &pctrl->irq_chip; 1033 + girq->parent_handler = msm_gpio_irq_handler; 1034 + girq->num_parents = 1; 1035 + girq->parents = devm_kcalloc(pctrl->dev, 1, sizeof(*girq->parents), 1036 + GFP_KERNEL); 1037 + if (!girq->parents) 1038 + return -ENOMEM; 1039 + girq->default_type = IRQ_TYPE_NONE; 1040 + girq->handler = handle_bad_irq; 1041 + girq->parents[0] = pctrl->irq; 1042 + 1031 1043 ret = gpiochip_add_data(&pctrl->chip, pctrl); 1032 1044 if (ret) { 1033 1045 dev_err(pctrl->dev, "Failed register gpiochip\n"); ··· 1065 1053 return ret; 1066 1054 } 1067 1055 } 1068 - 1069 - ret = gpiochip_irqchip_add(chip, 1070 - &pctrl->irq_chip, 1071 - 0, 1072 - handle_edge_irq, 1073 - IRQ_TYPE_NONE); 1074 - if (ret) { 1075 - dev_err(pctrl->dev, "Failed to add irqchip to gpiochip\n"); 1076 - gpiochip_remove(&pctrl->chip); 1077 - return -ENOSYS; 1078 - } 1079 - 1080 - gpiochip_set_chained_irqchip(chip, &pctrl->irq_chip, pctrl->irq, 1081 - msm_gpio_irq_handler); 1082 1056 1083 1057 return 0; 1084 1058 } ··· 1159 1161 msm_pinctrl_setup_pm_reset(pctrl); 1160 1162 1161 1163 pctrl->irq = platform_get_irq(pdev, 0); 1162 - if (pctrl->irq < 0) { 1163 - dev_err(&pdev->dev, "No interrupt defined for msmgpio\n"); 1164 + if (pctrl->irq < 0) 1164 1165 return pctrl->irq; 1165 - } 1166 1166 1167 1167 pctrl->desc.owner = THIS_MODULE; 1168 1168 pctrl->desc.pctlops = &msm_pinctrl_ops;
+18 -58
drivers/pinctrl/qcom/pinctrl-msm8998.c
··· 581 581 msm_mux_tgu_ch1, 582 582 msm_mux_tsense_pwm1, 583 583 msm_mux_tsense_pwm2, 584 - msm_mux_tsif1_clk, 585 - msm_mux_tsif1_data, 586 - msm_mux_tsif1_en, 587 - msm_mux_tsif1_error, 588 - msm_mux_tsif1_sync, 589 - msm_mux_tsif2_clk, 590 - msm_mux_tsif2_data, 591 - msm_mux_tsif2_en, 592 - msm_mux_tsif2_error, 593 - msm_mux_tsif2_sync, 584 + msm_mux_tsif0, 585 + msm_mux_tsif1, 594 586 msm_mux_uim1_clk, 595 587 msm_mux_uim1_data, 596 588 msm_mux_uim1_present, ··· 683 691 }; 684 692 static const char * const bimc_dte1_groups[] = { 685 693 "gpio8", "gpio10", 686 - }; 687 - static const char * const tsif1_sync_groups[] = { 688 - "gpio9", 689 694 }; 690 695 static const char * const wlan1_adc0_groups[] = { 691 696 "gpio9", ··· 850 861 "gpio39", "gpio70", "gpio71", "gpio72", 851 862 }; 852 863 static const char * const sd_write_groups[] = { 853 - "gpio40", 854 - }; 855 - static const char * const tsif1_error_groups[] = { 856 864 "gpio40", 857 865 }; 858 866 static const char * const blsp_spi6_groups[] = { ··· 1034 1048 static const char * const blsp_i2c5_groups[] = { 1035 1049 "gpio87", "gpio88", 1036 1050 }; 1037 - static const char * const tsif1_clk_groups[] = { 1038 - "gpio89", 1039 - }; 1040 - static const char * const tsif1_en_groups[] = { 1041 - "gpio90", 1051 + static const char * const tsif0_groups[] = { 1052 + "gpio9", "gpio40", "gpio89", "gpio90", "gpio91", 1042 1053 }; 1043 1054 static const char * const mdp_vsync0_groups[] = { 1044 1055 "gpio90", ··· 1058 1075 static const char * const qdss_cti1_b_groups[] = { 1059 1076 "gpio90", "gpio91", 1060 1077 }; 1061 - static const char * const tsif1_data_groups[] = { 1062 - "gpio91", 1063 - }; 1064 1078 static const char * const sdc4_cmd_groups[] = { 1065 1079 "gpio91", 1066 1080 }; 1067 1081 static const char * const tgu_ch1_groups[] = { 1068 1082 "gpio91", 1069 1083 }; 1070 - static const char * const tsif2_error_groups[] = { 1071 - "gpio92", 1084 + static const char * const tsif1_groups[] = { 1085 + "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", 1072 1086 }; 1073 1087 static const char * const sdc43_groups[] = { 1074 1088 "gpio92", ··· 1073 1093 static const char * const vfr_1_groups[] = { 1074 1094 "gpio92", 1075 1095 }; 1076 - static const char * const tsif2_clk_groups[] = { 1077 - "gpio93", 1078 - }; 1079 1096 static const char * const sdc4_clk_groups[] = { 1080 1097 "gpio93", 1081 - }; 1082 - static const char * const tsif2_en_groups[] = { 1083 - "gpio94", 1084 1098 }; 1085 1099 static const char * const sdc42_groups[] = { 1086 1100 "gpio94", ··· 1082 1108 static const char * const sd_card_groups[] = { 1083 1109 "gpio95", 1084 1110 }; 1085 - static const char * const tsif2_data_groups[] = { 1086 - "gpio95", 1087 - }; 1088 1111 static const char * const sdc41_groups[] = { 1089 1112 "gpio95", 1090 - }; 1091 - static const char * const tsif2_sync_groups[] = { 1092 - "gpio96", 1093 1113 }; 1094 1114 static const char * const sdc40_groups[] = { 1095 1115 "gpio96", ··· 1323 1355 FUNCTION(tgu_ch1), 1324 1356 FUNCTION(tsense_pwm1), 1325 1357 FUNCTION(tsense_pwm2), 1326 - FUNCTION(tsif1_clk), 1327 - FUNCTION(tsif1_data), 1328 - FUNCTION(tsif1_en), 1329 - FUNCTION(tsif1_error), 1330 - FUNCTION(tsif1_sync), 1331 - FUNCTION(tsif2_clk), 1332 - FUNCTION(tsif2_data), 1333 - FUNCTION(tsif2_en), 1334 - FUNCTION(tsif2_error), 1335 - FUNCTION(tsif2_sync), 1358 + FUNCTION(tsif0), 1359 + FUNCTION(tsif1), 1336 1360 FUNCTION(uim1_clk), 1337 1361 FUNCTION(uim1_data), 1338 1362 FUNCTION(uim1_present), ··· 1356 1396 PINGROUP(6, WEST, blsp_spi8, blsp_uart8_a, blsp_i2c8, _, _, _, _, _, _), 1357 1397 PINGROUP(7, WEST, blsp_spi8, blsp_uart8_a, blsp_i2c8, ddr_bist, _, atest_tsens2, atest_usb1, _, _), 1358 1398 PINGROUP(8, EAST, blsp_spi4, blsp_uart1_b, blsp_uim1_b, _, ddr_bist, _, wlan1_adc1, atest_usb13, bimc_dte1), 1359 - PINGROUP(9, EAST, blsp_spi4, blsp_uart1_b, blsp_uim1_b, tsif1_sync, ddr_bist, _, wlan1_adc0, atest_usb12, bimc_dte0), 1399 + PINGROUP(9, EAST, blsp_spi4, blsp_uart1_b, blsp_uim1_b, tsif0, ddr_bist, _, wlan1_adc0, atest_usb12, bimc_dte0), 1360 1400 PINGROUP(10, EAST, mdp_vsync_a, blsp_spi4, blsp_uart1_b, blsp_i2c4, ddr_bist, atest_gpsadc1, wlan2_adc1, atest_usb11, bimc_dte1), 1361 1401 PINGROUP(11, EAST, mdp_vsync_a, edp_lcd, blsp_spi4, blsp_uart1_b, blsp_i2c4, dbg_out, atest_gpsadc0, wlan2_adc0, atest_usb10), 1362 1402 PINGROUP(12, EAST, mdp_vsync, m_voc, _, _, _, _, _, _, _), ··· 1387 1427 PINGROUP(37, NORTH, agera_pll, _, _, _, _, _, _, _, _), 1388 1428 PINGROUP(38, WEST, usb_phy, _, _, _, _, _, _, _, _), 1389 1429 PINGROUP(39, WEST, lpass_slimbus, _, _, _, _, _, _, _, _), 1390 - PINGROUP(40, EAST, sd_write, tsif1_error, _, _, _, _, _, _, _), 1430 + PINGROUP(40, EAST, sd_write, tsif0, _, _, _, _, _, _, _), 1391 1431 PINGROUP(41, EAST, blsp_spi6, blsp_uart3_b, blsp_uim3_b, _, qdss, _, _, _, _), 1392 1432 PINGROUP(42, EAST, blsp_spi6, blsp_uart3_b, blsp_uim3_b, _, qdss, _, _, _, _), 1393 1433 PINGROUP(43, EAST, blsp_spi6, blsp_uart3_b, blsp_i2c6, _, qdss, _, _, _, _), ··· 1436 1476 PINGROUP(86, EAST, blsp_spi5, blsp_uart2_b, blsp_uim2_b, _, _, _, _, _, _), 1437 1477 PINGROUP(87, EAST, blsp_spi5, blsp_uart2_b, blsp_i2c5, _, _, _, _, _, _), 1438 1478 PINGROUP(88, EAST, blsp_spi5, blsp_uart2_b, blsp_i2c5, _, _, _, _, _, _), 1439 - PINGROUP(89, EAST, tsif1_clk, phase_flag, _, _, _, _, _, _, _), 1440 - PINGROUP(90, EAST, tsif1_en, mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3, blsp1_spi, tgu_ch0, qdss_cti1_b, _), 1441 - PINGROUP(91, EAST, tsif1_data, sdc4_cmd, tgu_ch1, phase_flag, qdss_cti1_b, _, _, _, _), 1442 - PINGROUP(92, EAST, tsif2_error, sdc43, vfr_1, phase_flag, _, _, _, _, _), 1443 - PINGROUP(93, EAST, tsif2_clk, sdc4_clk, _, qdss, _, _, _, _, _), 1444 - PINGROUP(94, EAST, tsif2_en, sdc42, _, _, _, _, _, _, _), 1445 - PINGROUP(95, EAST, tsif2_data, sdc41, _, _, _, _, _, _, _), 1446 - PINGROUP(96, EAST, tsif2_sync, sdc40, phase_flag, _, _, _, _, _, _), 1479 + PINGROUP(89, EAST, tsif0, phase_flag, _, _, _, _, _, _, _), 1480 + PINGROUP(90, EAST, tsif0, mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3, blsp1_spi, tgu_ch0, qdss_cti1_b, _), 1481 + PINGROUP(91, EAST, tsif0, sdc4_cmd, tgu_ch1, phase_flag, qdss_cti1_b, _, _, _, _), 1482 + PINGROUP(92, EAST, tsif1, sdc43, vfr_1, phase_flag, _, _, _, _, _), 1483 + PINGROUP(93, EAST, tsif1, sdc4_clk, _, qdss, _, _, _, _, _), 1484 + PINGROUP(94, EAST, tsif1, sdc42, _, _, _, _, _, _, _), 1485 + PINGROUP(95, EAST, tsif1, sdc41, _, _, _, _, _, _, _), 1486 + PINGROUP(96, EAST, tsif1, sdc40, phase_flag, _, _, _, _, _, _), 1447 1487 PINGROUP(97, WEST, _, mdp_vsync_b, ldo_en, _, _, _, _, _, _), 1448 1488 PINGROUP(98, WEST, _, mdp_vsync_b, ldo_update, _, _, _, _, _, _), 1449 1489 PINGROUP(99, WEST, _, _, _, _, _, _, _, _, _),
+1 -1
drivers/pinctrl/qcom/pinctrl-qdf2xxx.c
··· 52 52 } 53 53 54 54 /* The number of GPIOs in the approved list */ 55 - ret = device_property_read_u8_array(&pdev->dev, "gpios", NULL, 0); 55 + ret = device_property_count_u8(&pdev->dev, "gpios"); 56 56 if (ret < 0) { 57 57 dev_err(&pdev->dev, "missing 'gpios' property\n"); 58 58 return ret;
+1146
drivers/pinctrl/qcom/pinctrl-sc7180.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // Copyright (c) 2019, The Linux Foundation. All rights reserved. 3 + 4 + #include <linux/module.h> 5 + #include <linux/of.h> 6 + #include <linux/platform_device.h> 7 + #include <linux/pinctrl/pinctrl.h> 8 + 9 + #include "pinctrl-msm.h" 10 + 11 + static const char * const sc7180_tiles[] = { 12 + "north", 13 + "south", 14 + "west", 15 + }; 16 + 17 + enum { 18 + NORTH, 19 + SOUTH, 20 + WEST 21 + }; 22 + 23 + #define FUNCTION(fname) \ 24 + [msm_mux_##fname] = { \ 25 + .name = #fname, \ 26 + .groups = fname##_groups, \ 27 + .ngroups = ARRAY_SIZE(fname##_groups), \ 28 + } 29 + 30 + #define PINGROUP(id, _tile, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ 31 + { \ 32 + .name = "gpio" #id, \ 33 + .pins = gpio##id##_pins, \ 34 + .npins = ARRAY_SIZE(gpio##id##_pins), \ 35 + .funcs = (int[]){ \ 36 + msm_mux_gpio, /* gpio mode */ \ 37 + msm_mux_##f1, \ 38 + msm_mux_##f2, \ 39 + msm_mux_##f3, \ 40 + msm_mux_##f4, \ 41 + msm_mux_##f5, \ 42 + msm_mux_##f6, \ 43 + msm_mux_##f7, \ 44 + msm_mux_##f8, \ 45 + msm_mux_##f9 \ 46 + }, \ 47 + .nfuncs = 10, \ 48 + .ctl_reg = 0x1000 * id, \ 49 + .io_reg = 0x1000 * id + 0x4, \ 50 + .intr_cfg_reg = 0x1000 * id + 0x8, \ 51 + .intr_status_reg = 0x1000 * id + 0xc, \ 52 + .intr_target_reg = 0x1000 * id + 0x8, \ 53 + .tile = _tile, \ 54 + .mux_bit = 2, \ 55 + .pull_bit = 0, \ 56 + .drv_bit = 6, \ 57 + .oe_bit = 9, \ 58 + .in_bit = 0, \ 59 + .out_bit = 1, \ 60 + .intr_enable_bit = 0, \ 61 + .intr_status_bit = 0, \ 62 + .intr_target_bit = 5, \ 63 + .intr_target_kpss_val = 3, \ 64 + .intr_raw_status_bit = 4, \ 65 + .intr_polarity_bit = 1, \ 66 + .intr_detection_bit = 2, \ 67 + .intr_detection_width = 2, \ 68 + } 69 + 70 + #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) \ 71 + { \ 72 + .name = #pg_name, \ 73 + .pins = pg_name##_pins, \ 74 + .npins = ARRAY_SIZE(pg_name##_pins), \ 75 + .ctl_reg = ctl, \ 76 + .io_reg = 0, \ 77 + .intr_cfg_reg = 0, \ 78 + .intr_status_reg = 0, \ 79 + .intr_target_reg = 0, \ 80 + .mux_bit = -1, \ 81 + .pull_bit = pull, \ 82 + .drv_bit = drv, \ 83 + .oe_bit = -1, \ 84 + .in_bit = -1, \ 85 + .out_bit = -1, \ 86 + .intr_enable_bit = -1, \ 87 + .intr_status_bit = -1, \ 88 + .intr_target_bit = -1, \ 89 + .intr_raw_status_bit = -1, \ 90 + .intr_polarity_bit = -1, \ 91 + .intr_detection_bit = -1, \ 92 + .intr_detection_width = -1, \ 93 + } 94 + 95 + #define UFS_RESET(pg_name, offset) \ 96 + { \ 97 + .name = #pg_name, \ 98 + .pins = pg_name##_pins, \ 99 + .npins = ARRAY_SIZE(pg_name##_pins), \ 100 + .ctl_reg = offset, \ 101 + .io_reg = offset + 0x4, \ 102 + .intr_cfg_reg = 0, \ 103 + .intr_status_reg = 0, \ 104 + .intr_target_reg = 0, \ 105 + .mux_bit = -1, \ 106 + .pull_bit = 3, \ 107 + .drv_bit = 0, \ 108 + .oe_bit = -1, \ 109 + .in_bit = -1, \ 110 + .out_bit = 0, \ 111 + .intr_enable_bit = -1, \ 112 + .intr_status_bit = -1, \ 113 + .intr_target_bit = -1, \ 114 + .intr_raw_status_bit = -1, \ 115 + .intr_polarity_bit = -1, \ 116 + .intr_detection_bit = -1, \ 117 + .intr_detection_width = -1, \ 118 + } 119 + static const struct pinctrl_pin_desc sc7180_pins[] = { 120 + PINCTRL_PIN(0, "GPIO_0"), 121 + PINCTRL_PIN(1, "GPIO_1"), 122 + PINCTRL_PIN(2, "GPIO_2"), 123 + PINCTRL_PIN(3, "GPIO_3"), 124 + PINCTRL_PIN(4, "GPIO_4"), 125 + PINCTRL_PIN(5, "GPIO_5"), 126 + PINCTRL_PIN(6, "GPIO_6"), 127 + PINCTRL_PIN(7, "GPIO_7"), 128 + PINCTRL_PIN(8, "GPIO_8"), 129 + PINCTRL_PIN(9, "GPIO_9"), 130 + PINCTRL_PIN(10, "GPIO_10"), 131 + PINCTRL_PIN(11, "GPIO_11"), 132 + PINCTRL_PIN(12, "GPIO_12"), 133 + PINCTRL_PIN(13, "GPIO_13"), 134 + PINCTRL_PIN(14, "GPIO_14"), 135 + PINCTRL_PIN(15, "GPIO_15"), 136 + PINCTRL_PIN(16, "GPIO_16"), 137 + PINCTRL_PIN(17, "GPIO_17"), 138 + PINCTRL_PIN(18, "GPIO_18"), 139 + PINCTRL_PIN(19, "GPIO_19"), 140 + PINCTRL_PIN(20, "GPIO_20"), 141 + PINCTRL_PIN(21, "GPIO_21"), 142 + PINCTRL_PIN(22, "GPIO_22"), 143 + PINCTRL_PIN(23, "GPIO_23"), 144 + PINCTRL_PIN(24, "GPIO_24"), 145 + PINCTRL_PIN(25, "GPIO_25"), 146 + PINCTRL_PIN(26, "GPIO_26"), 147 + PINCTRL_PIN(27, "GPIO_27"), 148 + PINCTRL_PIN(28, "GPIO_28"), 149 + PINCTRL_PIN(29, "GPIO_29"), 150 + PINCTRL_PIN(30, "GPIO_30"), 151 + PINCTRL_PIN(31, "GPIO_31"), 152 + PINCTRL_PIN(32, "GPIO_32"), 153 + PINCTRL_PIN(33, "GPIO_33"), 154 + PINCTRL_PIN(34, "GPIO_34"), 155 + PINCTRL_PIN(35, "GPIO_35"), 156 + PINCTRL_PIN(36, "GPIO_36"), 157 + PINCTRL_PIN(37, "GPIO_37"), 158 + PINCTRL_PIN(38, "GPIO_38"), 159 + PINCTRL_PIN(39, "GPIO_39"), 160 + PINCTRL_PIN(40, "GPIO_40"), 161 + PINCTRL_PIN(41, "GPIO_41"), 162 + PINCTRL_PIN(42, "GPIO_42"), 163 + PINCTRL_PIN(43, "GPIO_43"), 164 + PINCTRL_PIN(44, "GPIO_44"), 165 + PINCTRL_PIN(45, "GPIO_45"), 166 + PINCTRL_PIN(46, "GPIO_46"), 167 + PINCTRL_PIN(47, "GPIO_47"), 168 + PINCTRL_PIN(48, "GPIO_48"), 169 + PINCTRL_PIN(49, "GPIO_49"), 170 + PINCTRL_PIN(50, "GPIO_50"), 171 + PINCTRL_PIN(51, "GPIO_51"), 172 + PINCTRL_PIN(52, "GPIO_52"), 173 + PINCTRL_PIN(53, "GPIO_53"), 174 + PINCTRL_PIN(54, "GPIO_54"), 175 + PINCTRL_PIN(55, "GPIO_55"), 176 + PINCTRL_PIN(56, "GPIO_56"), 177 + PINCTRL_PIN(57, "GPIO_57"), 178 + PINCTRL_PIN(58, "GPIO_58"), 179 + PINCTRL_PIN(59, "GPIO_59"), 180 + PINCTRL_PIN(60, "GPIO_60"), 181 + PINCTRL_PIN(61, "GPIO_61"), 182 + PINCTRL_PIN(62, "GPIO_62"), 183 + PINCTRL_PIN(63, "GPIO_63"), 184 + PINCTRL_PIN(64, "GPIO_64"), 185 + PINCTRL_PIN(65, "GPIO_65"), 186 + PINCTRL_PIN(66, "GPIO_66"), 187 + PINCTRL_PIN(67, "GPIO_67"), 188 + PINCTRL_PIN(68, "GPIO_68"), 189 + PINCTRL_PIN(69, "GPIO_69"), 190 + PINCTRL_PIN(70, "GPIO_70"), 191 + PINCTRL_PIN(71, "GPIO_71"), 192 + PINCTRL_PIN(72, "GPIO_72"), 193 + PINCTRL_PIN(73, "GPIO_73"), 194 + PINCTRL_PIN(74, "GPIO_74"), 195 + PINCTRL_PIN(75, "GPIO_75"), 196 + PINCTRL_PIN(76, "GPIO_76"), 197 + PINCTRL_PIN(77, "GPIO_77"), 198 + PINCTRL_PIN(78, "GPIO_78"), 199 + PINCTRL_PIN(79, "GPIO_79"), 200 + PINCTRL_PIN(80, "GPIO_80"), 201 + PINCTRL_PIN(81, "GPIO_81"), 202 + PINCTRL_PIN(82, "GPIO_82"), 203 + PINCTRL_PIN(83, "GPIO_83"), 204 + PINCTRL_PIN(84, "GPIO_84"), 205 + PINCTRL_PIN(85, "GPIO_85"), 206 + PINCTRL_PIN(86, "GPIO_86"), 207 + PINCTRL_PIN(87, "GPIO_87"), 208 + PINCTRL_PIN(88, "GPIO_88"), 209 + PINCTRL_PIN(89, "GPIO_89"), 210 + PINCTRL_PIN(90, "GPIO_90"), 211 + PINCTRL_PIN(91, "GPIO_91"), 212 + PINCTRL_PIN(92, "GPIO_92"), 213 + PINCTRL_PIN(93, "GPIO_93"), 214 + PINCTRL_PIN(94, "GPIO_94"), 215 + PINCTRL_PIN(95, "GPIO_95"), 216 + PINCTRL_PIN(96, "GPIO_96"), 217 + PINCTRL_PIN(97, "GPIO_97"), 218 + PINCTRL_PIN(98, "GPIO_98"), 219 + PINCTRL_PIN(99, "GPIO_99"), 220 + PINCTRL_PIN(100, "GPIO_100"), 221 + PINCTRL_PIN(101, "GPIO_101"), 222 + PINCTRL_PIN(102, "GPIO_102"), 223 + PINCTRL_PIN(103, "GPIO_103"), 224 + PINCTRL_PIN(104, "GPIO_104"), 225 + PINCTRL_PIN(105, "GPIO_105"), 226 + PINCTRL_PIN(106, "GPIO_106"), 227 + PINCTRL_PIN(107, "GPIO_107"), 228 + PINCTRL_PIN(108, "GPIO_108"), 229 + PINCTRL_PIN(109, "GPIO_109"), 230 + PINCTRL_PIN(110, "GPIO_110"), 231 + PINCTRL_PIN(111, "GPIO_111"), 232 + PINCTRL_PIN(112, "GPIO_112"), 233 + PINCTRL_PIN(113, "GPIO_113"), 234 + PINCTRL_PIN(114, "GPIO_114"), 235 + PINCTRL_PIN(115, "GPIO_115"), 236 + PINCTRL_PIN(116, "GPIO_116"), 237 + PINCTRL_PIN(117, "GPIO_117"), 238 + PINCTRL_PIN(118, "GPIO_118"), 239 + PINCTRL_PIN(119, "UFS_RESET"), 240 + PINCTRL_PIN(120, "SDC1_RCLK"), 241 + PINCTRL_PIN(121, "SDC1_CLK"), 242 + PINCTRL_PIN(122, "SDC1_CMD"), 243 + PINCTRL_PIN(123, "SDC1_DATA"), 244 + PINCTRL_PIN(124, "SDC2_CLK"), 245 + PINCTRL_PIN(125, "SDC2_CMD"), 246 + PINCTRL_PIN(126, "SDC2_DATA"), 247 + }; 248 + 249 + #define DECLARE_MSM_GPIO_PINS(pin) \ 250 + static const unsigned int gpio##pin##_pins[] = { pin } 251 + DECLARE_MSM_GPIO_PINS(0); 252 + DECLARE_MSM_GPIO_PINS(1); 253 + DECLARE_MSM_GPIO_PINS(2); 254 + DECLARE_MSM_GPIO_PINS(3); 255 + DECLARE_MSM_GPIO_PINS(4); 256 + DECLARE_MSM_GPIO_PINS(5); 257 + DECLARE_MSM_GPIO_PINS(6); 258 + DECLARE_MSM_GPIO_PINS(7); 259 + DECLARE_MSM_GPIO_PINS(8); 260 + DECLARE_MSM_GPIO_PINS(9); 261 + DECLARE_MSM_GPIO_PINS(10); 262 + DECLARE_MSM_GPIO_PINS(11); 263 + DECLARE_MSM_GPIO_PINS(12); 264 + DECLARE_MSM_GPIO_PINS(13); 265 + DECLARE_MSM_GPIO_PINS(14); 266 + DECLARE_MSM_GPIO_PINS(15); 267 + DECLARE_MSM_GPIO_PINS(16); 268 + DECLARE_MSM_GPIO_PINS(17); 269 + DECLARE_MSM_GPIO_PINS(18); 270 + DECLARE_MSM_GPIO_PINS(19); 271 + DECLARE_MSM_GPIO_PINS(20); 272 + DECLARE_MSM_GPIO_PINS(21); 273 + DECLARE_MSM_GPIO_PINS(22); 274 + DECLARE_MSM_GPIO_PINS(23); 275 + DECLARE_MSM_GPIO_PINS(24); 276 + DECLARE_MSM_GPIO_PINS(25); 277 + DECLARE_MSM_GPIO_PINS(26); 278 + DECLARE_MSM_GPIO_PINS(27); 279 + DECLARE_MSM_GPIO_PINS(28); 280 + DECLARE_MSM_GPIO_PINS(29); 281 + DECLARE_MSM_GPIO_PINS(30); 282 + DECLARE_MSM_GPIO_PINS(31); 283 + DECLARE_MSM_GPIO_PINS(32); 284 + DECLARE_MSM_GPIO_PINS(33); 285 + DECLARE_MSM_GPIO_PINS(34); 286 + DECLARE_MSM_GPIO_PINS(35); 287 + DECLARE_MSM_GPIO_PINS(36); 288 + DECLARE_MSM_GPIO_PINS(37); 289 + DECLARE_MSM_GPIO_PINS(38); 290 + DECLARE_MSM_GPIO_PINS(39); 291 + DECLARE_MSM_GPIO_PINS(40); 292 + DECLARE_MSM_GPIO_PINS(41); 293 + DECLARE_MSM_GPIO_PINS(42); 294 + DECLARE_MSM_GPIO_PINS(43); 295 + DECLARE_MSM_GPIO_PINS(44); 296 + DECLARE_MSM_GPIO_PINS(45); 297 + DECLARE_MSM_GPIO_PINS(46); 298 + DECLARE_MSM_GPIO_PINS(47); 299 + DECLARE_MSM_GPIO_PINS(48); 300 + DECLARE_MSM_GPIO_PINS(49); 301 + DECLARE_MSM_GPIO_PINS(50); 302 + DECLARE_MSM_GPIO_PINS(51); 303 + DECLARE_MSM_GPIO_PINS(52); 304 + DECLARE_MSM_GPIO_PINS(53); 305 + DECLARE_MSM_GPIO_PINS(54); 306 + DECLARE_MSM_GPIO_PINS(55); 307 + DECLARE_MSM_GPIO_PINS(56); 308 + DECLARE_MSM_GPIO_PINS(57); 309 + DECLARE_MSM_GPIO_PINS(58); 310 + DECLARE_MSM_GPIO_PINS(59); 311 + DECLARE_MSM_GPIO_PINS(60); 312 + DECLARE_MSM_GPIO_PINS(61); 313 + DECLARE_MSM_GPIO_PINS(62); 314 + DECLARE_MSM_GPIO_PINS(63); 315 + DECLARE_MSM_GPIO_PINS(64); 316 + DECLARE_MSM_GPIO_PINS(65); 317 + DECLARE_MSM_GPIO_PINS(66); 318 + DECLARE_MSM_GPIO_PINS(67); 319 + DECLARE_MSM_GPIO_PINS(68); 320 + DECLARE_MSM_GPIO_PINS(69); 321 + DECLARE_MSM_GPIO_PINS(70); 322 + DECLARE_MSM_GPIO_PINS(71); 323 + DECLARE_MSM_GPIO_PINS(72); 324 + DECLARE_MSM_GPIO_PINS(73); 325 + DECLARE_MSM_GPIO_PINS(74); 326 + DECLARE_MSM_GPIO_PINS(75); 327 + DECLARE_MSM_GPIO_PINS(76); 328 + DECLARE_MSM_GPIO_PINS(77); 329 + DECLARE_MSM_GPIO_PINS(78); 330 + DECLARE_MSM_GPIO_PINS(79); 331 + DECLARE_MSM_GPIO_PINS(80); 332 + DECLARE_MSM_GPIO_PINS(81); 333 + DECLARE_MSM_GPIO_PINS(82); 334 + DECLARE_MSM_GPIO_PINS(83); 335 + DECLARE_MSM_GPIO_PINS(84); 336 + DECLARE_MSM_GPIO_PINS(85); 337 + DECLARE_MSM_GPIO_PINS(86); 338 + DECLARE_MSM_GPIO_PINS(87); 339 + DECLARE_MSM_GPIO_PINS(88); 340 + DECLARE_MSM_GPIO_PINS(89); 341 + DECLARE_MSM_GPIO_PINS(90); 342 + DECLARE_MSM_GPIO_PINS(91); 343 + DECLARE_MSM_GPIO_PINS(92); 344 + DECLARE_MSM_GPIO_PINS(93); 345 + DECLARE_MSM_GPIO_PINS(94); 346 + DECLARE_MSM_GPIO_PINS(95); 347 + DECLARE_MSM_GPIO_PINS(96); 348 + DECLARE_MSM_GPIO_PINS(97); 349 + DECLARE_MSM_GPIO_PINS(98); 350 + DECLARE_MSM_GPIO_PINS(99); 351 + DECLARE_MSM_GPIO_PINS(100); 352 + DECLARE_MSM_GPIO_PINS(101); 353 + DECLARE_MSM_GPIO_PINS(102); 354 + DECLARE_MSM_GPIO_PINS(103); 355 + DECLARE_MSM_GPIO_PINS(104); 356 + DECLARE_MSM_GPIO_PINS(105); 357 + DECLARE_MSM_GPIO_PINS(106); 358 + DECLARE_MSM_GPIO_PINS(107); 359 + DECLARE_MSM_GPIO_PINS(108); 360 + DECLARE_MSM_GPIO_PINS(109); 361 + DECLARE_MSM_GPIO_PINS(110); 362 + DECLARE_MSM_GPIO_PINS(111); 363 + DECLARE_MSM_GPIO_PINS(112); 364 + DECLARE_MSM_GPIO_PINS(113); 365 + DECLARE_MSM_GPIO_PINS(114); 366 + DECLARE_MSM_GPIO_PINS(115); 367 + DECLARE_MSM_GPIO_PINS(116); 368 + DECLARE_MSM_GPIO_PINS(117); 369 + DECLARE_MSM_GPIO_PINS(118); 370 + 371 + static const unsigned int ufs_reset_pins[] = { 119 }; 372 + static const unsigned int sdc1_rclk_pins[] = { 120 }; 373 + static const unsigned int sdc1_clk_pins[] = { 121 }; 374 + static const unsigned int sdc1_cmd_pins[] = { 122 }; 375 + static const unsigned int sdc1_data_pins[] = { 123 }; 376 + static const unsigned int sdc2_clk_pins[] = { 124 }; 377 + static const unsigned int sdc2_cmd_pins[] = { 125 }; 378 + static const unsigned int sdc2_data_pins[] = { 126 }; 379 + 380 + enum sc7180_functions { 381 + msm_mux_adsp_ext, 382 + msm_mux_agera_pll, 383 + msm_mux_aoss_cti, 384 + msm_mux_atest_char, 385 + msm_mux_atest_char0, 386 + msm_mux_atest_char1, 387 + msm_mux_atest_char2, 388 + msm_mux_atest_char3, 389 + msm_mux_atest_tsens, 390 + msm_mux_atest_tsens2, 391 + msm_mux_atest_usb1, 392 + msm_mux_atest_usb2, 393 + msm_mux_atest_usb10, 394 + msm_mux_atest_usb11, 395 + msm_mux_atest_usb12, 396 + msm_mux_atest_usb13, 397 + msm_mux_atest_usb20, 398 + msm_mux_atest_usb21, 399 + msm_mux_atest_usb22, 400 + msm_mux_atest_usb23, 401 + msm_mux_audio_ref, 402 + msm_mux_btfm_slimbus, 403 + msm_mux_cam_mclk, 404 + msm_mux_cci_async, 405 + msm_mux_cci_i2c, 406 + msm_mux_cci_timer0, 407 + msm_mux_cci_timer1, 408 + msm_mux_cci_timer2, 409 + msm_mux_cci_timer3, 410 + msm_mux_cci_timer4, 411 + msm_mux_cri_trng, 412 + msm_mux_dbg_out, 413 + msm_mux_ddr_bist, 414 + msm_mux_ddr_pxi0, 415 + msm_mux_ddr_pxi1, 416 + msm_mux_ddr_pxi2, 417 + msm_mux_ddr_pxi3, 418 + msm_mux_dp_hot, 419 + msm_mux_edp_lcd, 420 + msm_mux_gcc_gp1, 421 + msm_mux_gcc_gp2, 422 + msm_mux_gcc_gp3, 423 + msm_mux_gpio, 424 + msm_mux_gp_pdm0, 425 + msm_mux_gp_pdm1, 426 + msm_mux_gp_pdm2, 427 + msm_mux_gps_tx, 428 + msm_mux_jitter_bist, 429 + msm_mux_ldo_en, 430 + msm_mux_ldo_update, 431 + msm_mux_lpass_ext, 432 + msm_mux_mdp_vsync, 433 + msm_mux_mdp_vsync0, 434 + msm_mux_mdp_vsync1, 435 + msm_mux_mdp_vsync2, 436 + msm_mux_mdp_vsync3, 437 + msm_mux_mi2s_1, 438 + msm_mux_mi2s_0, 439 + msm_mux_mi2s_2, 440 + msm_mux_mss_lte, 441 + msm_mux_m_voc, 442 + msm_mux_pa_indicator, 443 + msm_mux_phase_flag, 444 + msm_mux_PLL_BIST, 445 + msm_mux_pll_bypassnl, 446 + msm_mux_pll_reset, 447 + msm_mux_prng_rosc, 448 + msm_mux_qdss, 449 + msm_mux_qdss_cti, 450 + msm_mux_qlink_enable, 451 + msm_mux_qlink_request, 452 + msm_mux_qspi_clk, 453 + msm_mux_qspi_cs, 454 + msm_mux_qspi_data, 455 + msm_mux_qup00, 456 + msm_mux_qup01, 457 + msm_mux_qup02, 458 + msm_mux_qup03, 459 + msm_mux_qup04, 460 + msm_mux_qup05, 461 + msm_mux_qup10, 462 + msm_mux_qup11, 463 + msm_mux_qup12, 464 + msm_mux_qup13, 465 + msm_mux_qup14, 466 + msm_mux_qup15, 467 + msm_mux_sdc1_tb, 468 + msm_mux_sdc2_tb, 469 + msm_mux_sd_write, 470 + msm_mux_sp_cmu, 471 + msm_mux_tgu_ch0, 472 + msm_mux_tgu_ch1, 473 + msm_mux_tgu_ch2, 474 + msm_mux_tgu_ch3, 475 + msm_mux_tsense_pwm1, 476 + msm_mux_tsense_pwm2, 477 + msm_mux_uim1, 478 + msm_mux_uim2, 479 + msm_mux_uim_batt, 480 + msm_mux_usb_phy, 481 + msm_mux_vfr_1, 482 + msm_mux__V_GPIO, 483 + msm_mux__V_PPS_IN, 484 + msm_mux__V_PPS_OUT, 485 + msm_mux_vsense_trigger, 486 + msm_mux_wlan1_adc0, 487 + msm_mux_wlan1_adc1, 488 + msm_mux_wlan2_adc0, 489 + msm_mux_wlan2_adc1, 490 + msm_mux__, 491 + }; 492 + 493 + static const char * const qup01_groups[] = { 494 + "gpio0", "gpio1", "gpio2", "gpio3", "gpio12", "gpio94", 495 + }; 496 + static const char * const gpio_groups[] = { 497 + "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", 498 + "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", 499 + "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21", 500 + "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", 501 + "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35", 502 + "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42", 503 + "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49", 504 + "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", 505 + "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63", 506 + "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70", 507 + "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77", 508 + "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", 509 + "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", 510 + "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", 511 + "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104", 512 + "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110", 513 + "gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116", 514 + "gpio117", "gpio118", 515 + }; 516 + static const char * const phase_flag_groups[] = { 517 + "gpio0", "gpio1", "gpio2", "gpio8", "gpio9", 518 + "gpio11", "gpio12", "gpio17", "gpio18", "gpio19", 519 + "gpio20", "gpio25", "gpio26", "gpio27", "gpio28", 520 + "gpio32", "gpio33", "gpio34", "gpio35", "gpio36", 521 + "gpio37", "gpio38", "gpio39", "gpio42", "gpio44", 522 + "gpio56", "gpio57", "gpio58", "gpio63", "gpio64", 523 + "gpio108", "gpio109", 524 + }; 525 + static const char * const cri_trng_groups[] = { 526 + "gpio0", "gpio1", "gpio2", 527 + }; 528 + static const char * const sp_cmu_groups[] = { 529 + "gpio3", 530 + }; 531 + static const char * const dbg_out_groups[] = { 532 + "gpio3", 533 + }; 534 + static const char * const qdss_cti_groups[] = { 535 + "gpio3", "gpio4", "gpio8", "gpio9", "gpio33", "gpio44", "gpio45", 536 + "gpio72", 537 + }; 538 + static const char * const sdc1_tb_groups[] = { 539 + "gpio4", 540 + }; 541 + static const char * const sdc2_tb_groups[] = { 542 + "gpio5", 543 + }; 544 + static const char * const qup11_groups[] = { 545 + "gpio6", "gpio7", 546 + }; 547 + static const char * const ddr_bist_groups[] = { 548 + "gpio7", "gpio8", "gpio9", "gpio10", 549 + }; 550 + static const char * const gp_pdm1_groups[] = { 551 + "gpio8", "gpio50", 552 + }; 553 + static const char * const mdp_vsync_groups[] = { 554 + "gpio10", "gpio11", "gpio12", "gpio70", "gpio71", 555 + }; 556 + static const char * const edp_lcd_groups[] = { 557 + "gpio11", 558 + }; 559 + static const char * const ddr_pxi2_groups[] = { 560 + "gpio11", "gpio26", 561 + }; 562 + static const char * const m_voc_groups[] = { 563 + "gpio12", 564 + }; 565 + static const char * const wlan2_adc0_groups[] = { 566 + "gpio12", 567 + }; 568 + static const char * const atest_usb10_groups[] = { 569 + "gpio12", 570 + }; 571 + static const char * const ddr_pxi3_groups[] = { 572 + "gpio12", "gpio108", 573 + }; 574 + static const char * const cam_mclk_groups[] = { 575 + "gpio13", "gpio14", "gpio15", "gpio16", "gpio23", 576 + }; 577 + static const char * const pll_bypassnl_groups[] = { 578 + "gpio13", 579 + }; 580 + static const char * const qdss_groups[] = { 581 + "gpio13", "gpio86", "gpio14", "gpio87", 582 + "gpio15", "gpio88", "gpio16", "gpio89", 583 + "gpio17", "gpio90", "gpio18", "gpio91", 584 + "gpio19", "gpio21", "gpio20", "gpio22", 585 + "gpio23", "gpio54", "gpio24", "gpio36", 586 + "gpio25", "gpio57", "gpio26", "gpio31", 587 + "gpio27", "gpio56", "gpio28", "gpio29", 588 + "gpio30", "gpio35", "gpio93", "gpio104", 589 + "gpio34", "gpio53", "gpio37", "gpio55", 590 + }; 591 + static const char * const pll_reset_groups[] = { 592 + "gpio14", 593 + }; 594 + static const char * const qup02_groups[] = { 595 + "gpio15", "gpio16", 596 + }; 597 + static const char * const cci_i2c_groups[] = { 598 + "gpio17", "gpio18", "gpio19", "gpio20", "gpio27", "gpio28", 599 + }; 600 + static const char * const wlan1_adc0_groups[] = { 601 + "gpio17", 602 + }; 603 + static const char * const atest_usb12_groups[] = { 604 + "gpio17", 605 + }; 606 + static const char * const ddr_pxi1_groups[] = { 607 + "gpio17", "gpio44", 608 + }; 609 + static const char * const atest_char_groups[] = { 610 + "gpio17", 611 + }; 612 + static const char * const agera_pll_groups[] = { 613 + "gpio18", 614 + }; 615 + static const char * const vsense_trigger_groups[] = { 616 + "gpio18", 617 + }; 618 + static const char * const ddr_pxi0_groups[] = { 619 + "gpio18", "gpio27", 620 + }; 621 + static const char * const atest_char3_groups[] = { 622 + "gpio18", 623 + }; 624 + static const char * const atest_char2_groups[] = { 625 + "gpio19", 626 + }; 627 + static const char * const atest_char1_groups[] = { 628 + "gpio20", 629 + }; 630 + static const char * const cci_timer0_groups[] = { 631 + "gpio21", 632 + }; 633 + static const char * const gcc_gp2_groups[] = { 634 + "gpio21", 635 + }; 636 + static const char * const atest_char0_groups[] = { 637 + "gpio21", 638 + }; 639 + static const char * const cci_timer1_groups[] = { 640 + "gpio22", 641 + }; 642 + static const char * const gcc_gp3_groups[] = { 643 + "gpio22", 644 + }; 645 + static const char * const cci_timer2_groups[] = { 646 + "gpio23", 647 + }; 648 + static const char * const cci_timer3_groups[] = { 649 + "gpio24", 650 + }; 651 + static const char * const cci_async_groups[] = { 652 + "gpio24", "gpio25", "gpio26", 653 + }; 654 + static const char * const cci_timer4_groups[] = { 655 + "gpio25", 656 + }; 657 + static const char * const qup05_groups[] = { 658 + "gpio25", "gpio26", "gpio27", "gpio28", 659 + }; 660 + static const char * const atest_tsens_groups[] = { 661 + "gpio26", 662 + }; 663 + static const char * const atest_usb11_groups[] = { 664 + "gpio26", 665 + }; 666 + static const char * const PLL_BIST_groups[] = { 667 + "gpio27", 668 + }; 669 + static const char * const sd_write_groups[] = { 670 + "gpio33", 671 + }; 672 + static const char * const qup00_groups[] = { 673 + "gpio34", "gpio35", "gpio36", "gpio37", 674 + }; 675 + static const char * const gp_pdm0_groups[] = { 676 + "gpio37", "gpio68", 677 + }; 678 + static const char * const qup03_groups[] = { 679 + "gpio38", "gpio39", "gpio40", "gpio41", 680 + }; 681 + static const char * const atest_tsens2_groups[] = { 682 + "gpio39", 683 + }; 684 + static const char * const wlan2_adc1_groups[] = { 685 + "gpio39", 686 + }; 687 + static const char * const atest_usb1_groups[] = { 688 + "gpio39", 689 + }; 690 + static const char * const qup12_groups[] = { 691 + "gpio42", "gpio43", "gpio44", "gpio45", 692 + }; 693 + static const char * const wlan1_adc1_groups[] = { 694 + "gpio44", 695 + }; 696 + static const char * const atest_usb13_groups[] = { 697 + "gpio44", 698 + }; 699 + static const char * const qup13_groups[] = { 700 + "gpio46", "gpio47", 701 + }; 702 + static const char * const gcc_gp1_groups[] = { 703 + "gpio48", "gpio56", 704 + }; 705 + static const char * const mi2s_1_groups[] = { 706 + "gpio49", "gpio50", "gpio51", "gpio52", 707 + }; 708 + static const char * const btfm_slimbus_groups[] = { 709 + "gpio49", "gpio50", "gpio51", "gpio52", 710 + }; 711 + static const char * const atest_usb2_groups[] = { 712 + "gpio51", 713 + }; 714 + static const char * const atest_usb23_groups[] = { 715 + "gpio52", 716 + }; 717 + static const char * const mi2s_0_groups[] = { 718 + "gpio53", "gpio54", "gpio55", "gpio56", 719 + }; 720 + static const char * const qup15_groups[] = { 721 + "gpio53", "gpio54", "gpio55", "gpio56", 722 + }; 723 + static const char * const atest_usb22_groups[] = { 724 + "gpio53", 725 + }; 726 + static const char * const atest_usb21_groups[] = { 727 + "gpio54", 728 + }; 729 + static const char * const atest_usb20_groups[] = { 730 + "gpio55", 731 + }; 732 + static const char * const lpass_ext_groups[] = { 733 + "gpio57", "gpio58", 734 + }; 735 + static const char * const audio_ref_groups[] = { 736 + "gpio57", 737 + }; 738 + static const char * const jitter_bist_groups[] = { 739 + "gpio57", 740 + }; 741 + static const char * const gp_pdm2_groups[] = { 742 + "gpio57", 743 + }; 744 + static const char * const qup10_groups[] = { 745 + "gpio59", "gpio60", "gpio61", "gpio62", "gpio68", "gpio72", 746 + }; 747 + static const char * const tgu_ch3_groups[] = { 748 + "gpio62", 749 + }; 750 + static const char * const qspi_clk_groups[] = { 751 + "gpio63", 752 + }; 753 + static const char * const mdp_vsync0_groups[] = { 754 + "gpio63", 755 + }; 756 + static const char * const mi2s_2_groups[] = { 757 + "gpio63", "gpio64", "gpio65", "gpio66", 758 + }; 759 + static const char * const mdp_vsync1_groups[] = { 760 + "gpio63", 761 + }; 762 + static const char * const mdp_vsync2_groups[] = { 763 + "gpio63", 764 + }; 765 + static const char * const mdp_vsync3_groups[] = { 766 + "gpio63", 767 + }; 768 + static const char * const tgu_ch0_groups[] = { 769 + "gpio63", 770 + }; 771 + static const char * const qspi_data_groups[] = { 772 + "gpio64", "gpio65", "gpio66", "gpio67", 773 + }; 774 + static const char * const tgu_ch1_groups[] = { 775 + "gpio64", 776 + }; 777 + static const char * const vfr_1_groups[] = { 778 + "gpio65", 779 + }; 780 + static const char * const tgu_ch2_groups[] = { 781 + "gpio65", 782 + }; 783 + static const char * const qspi_cs_groups[] = { 784 + "gpio68", "gpio72", 785 + }; 786 + static const char * const ldo_en_groups[] = { 787 + "gpio70", 788 + }; 789 + static const char * const ldo_update_groups[] = { 790 + "gpio71", 791 + }; 792 + static const char * const prng_rosc_groups[] = { 793 + "gpio72", 794 + }; 795 + static const char * const uim2_groups[] = { 796 + "gpio75", "gpio76", "gpio77", "gpio78", 797 + }; 798 + static const char * const uim1_groups[] = { 799 + "gpio79", "gpio80", "gpio81", "gpio82", 800 + }; 801 + static const char * const _V_GPIO_groups[] = { 802 + "gpio83", "gpio84", "gpio107", 803 + }; 804 + static const char * const _V_PPS_IN_groups[] = { 805 + "gpio83", "gpio84", "gpio107", 806 + }; 807 + static const char * const _V_PPS_OUT_groups[] = { 808 + "gpio83", "gpio84", "gpio107", 809 + }; 810 + static const char * const gps_tx_groups[] = { 811 + "gpio83", "gpio84", "gpio107", "gpio109", 812 + }; 813 + static const char * const uim_batt_groups[] = { 814 + "gpio85", 815 + }; 816 + static const char * const dp_hot_groups[] = { 817 + "gpio85", "gpio117", 818 + }; 819 + static const char * const aoss_cti_groups[] = { 820 + "gpio85", 821 + }; 822 + static const char * const qup14_groups[] = { 823 + "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", 824 + }; 825 + static const char * const adsp_ext_groups[] = { 826 + "gpio87", 827 + }; 828 + static const char * const tsense_pwm1_groups[] = { 829 + "gpio88", 830 + }; 831 + static const char * const tsense_pwm2_groups[] = { 832 + "gpio88", 833 + }; 834 + static const char * const qlink_request_groups[] = { 835 + "gpio96", 836 + }; 837 + static const char * const qlink_enable_groups[] = { 838 + "gpio97", 839 + }; 840 + static const char * const pa_indicator_groups[] = { 841 + "gpio99", 842 + }; 843 + static const char * const usb_phy_groups[] = { 844 + "gpio104", 845 + }; 846 + static const char * const mss_lte_groups[] = { 847 + "gpio108", "gpio109", 848 + }; 849 + static const char * const qup04_groups[] = { 850 + "gpio115", "gpio116", 851 + }; 852 + 853 + static const struct msm_function sc7180_functions[] = { 854 + FUNCTION(adsp_ext), 855 + FUNCTION(agera_pll), 856 + FUNCTION(aoss_cti), 857 + FUNCTION(atest_char), 858 + FUNCTION(atest_char0), 859 + FUNCTION(atest_char1), 860 + FUNCTION(atest_char2), 861 + FUNCTION(atest_char3), 862 + FUNCTION(atest_tsens), 863 + FUNCTION(atest_tsens2), 864 + FUNCTION(atest_usb1), 865 + FUNCTION(atest_usb2), 866 + FUNCTION(atest_usb10), 867 + FUNCTION(atest_usb11), 868 + FUNCTION(atest_usb12), 869 + FUNCTION(atest_usb13), 870 + FUNCTION(atest_usb20), 871 + FUNCTION(atest_usb21), 872 + FUNCTION(atest_usb22), 873 + FUNCTION(atest_usb23), 874 + FUNCTION(audio_ref), 875 + FUNCTION(btfm_slimbus), 876 + FUNCTION(cam_mclk), 877 + FUNCTION(cci_async), 878 + FUNCTION(cci_i2c), 879 + FUNCTION(cci_timer0), 880 + FUNCTION(cci_timer1), 881 + FUNCTION(cci_timer2), 882 + FUNCTION(cci_timer3), 883 + FUNCTION(cci_timer4), 884 + FUNCTION(cri_trng), 885 + FUNCTION(dbg_out), 886 + FUNCTION(ddr_bist), 887 + FUNCTION(ddr_pxi0), 888 + FUNCTION(ddr_pxi1), 889 + FUNCTION(ddr_pxi2), 890 + FUNCTION(ddr_pxi3), 891 + FUNCTION(dp_hot), 892 + FUNCTION(edp_lcd), 893 + FUNCTION(gcc_gp1), 894 + FUNCTION(gcc_gp2), 895 + FUNCTION(gcc_gp3), 896 + FUNCTION(gpio), 897 + FUNCTION(gp_pdm0), 898 + FUNCTION(gp_pdm1), 899 + FUNCTION(gp_pdm2), 900 + FUNCTION(gps_tx), 901 + FUNCTION(jitter_bist), 902 + FUNCTION(ldo_en), 903 + FUNCTION(ldo_update), 904 + FUNCTION(lpass_ext), 905 + FUNCTION(mdp_vsync), 906 + FUNCTION(mdp_vsync0), 907 + FUNCTION(mdp_vsync1), 908 + FUNCTION(mdp_vsync2), 909 + FUNCTION(mdp_vsync3), 910 + FUNCTION(mi2s_0), 911 + FUNCTION(mi2s_1), 912 + FUNCTION(mi2s_2), 913 + FUNCTION(mss_lte), 914 + FUNCTION(m_voc), 915 + FUNCTION(pa_indicator), 916 + FUNCTION(phase_flag), 917 + FUNCTION(PLL_BIST), 918 + FUNCTION(pll_bypassnl), 919 + FUNCTION(pll_reset), 920 + FUNCTION(prng_rosc), 921 + FUNCTION(qdss), 922 + FUNCTION(qdss_cti), 923 + FUNCTION(qlink_enable), 924 + FUNCTION(qlink_request), 925 + FUNCTION(qspi_clk), 926 + FUNCTION(qspi_cs), 927 + FUNCTION(qspi_data), 928 + FUNCTION(qup00), 929 + FUNCTION(qup01), 930 + FUNCTION(qup02), 931 + FUNCTION(qup03), 932 + FUNCTION(qup04), 933 + FUNCTION(qup05), 934 + FUNCTION(qup10), 935 + FUNCTION(qup11), 936 + FUNCTION(qup12), 937 + FUNCTION(qup13), 938 + FUNCTION(qup14), 939 + FUNCTION(qup15), 940 + FUNCTION(sdc1_tb), 941 + FUNCTION(sdc2_tb), 942 + FUNCTION(sd_write), 943 + FUNCTION(sp_cmu), 944 + FUNCTION(tgu_ch0), 945 + FUNCTION(tgu_ch1), 946 + FUNCTION(tgu_ch2), 947 + FUNCTION(tgu_ch3), 948 + FUNCTION(tsense_pwm1), 949 + FUNCTION(tsense_pwm2), 950 + FUNCTION(uim1), 951 + FUNCTION(uim2), 952 + FUNCTION(uim_batt), 953 + FUNCTION(usb_phy), 954 + FUNCTION(vfr_1), 955 + FUNCTION(_V_GPIO), 956 + FUNCTION(_V_PPS_IN), 957 + FUNCTION(_V_PPS_OUT), 958 + FUNCTION(vsense_trigger), 959 + FUNCTION(wlan1_adc0), 960 + FUNCTION(wlan1_adc1), 961 + FUNCTION(wlan2_adc0), 962 + FUNCTION(wlan2_adc1), 963 + }; 964 + 965 + /* Every pin is maintained as a single group, and missing or non-existing pin 966 + * would be maintained as dummy group to synchronize pin group index with 967 + * pin descriptor registered with pinctrl core. 968 + * Clients would not be able to request these dummy pin groups. 969 + */ 970 + static const struct msm_pingroup sc7180_groups[] = { 971 + [0] = PINGROUP(0, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 972 + [1] = PINGROUP(1, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 973 + [2] = PINGROUP(2, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 974 + [3] = PINGROUP(3, SOUTH, qup01, sp_cmu, dbg_out, qdss_cti, _, _, _, _, _), 975 + [4] = PINGROUP(4, NORTH, sdc1_tb, _, qdss_cti, _, _, _, _, _, _), 976 + [5] = PINGROUP(5, NORTH, sdc2_tb, _, _, _, _, _, _, _, _), 977 + [6] = PINGROUP(6, NORTH, qup11, qup11, _, _, _, _, _, _, _), 978 + [7] = PINGROUP(7, NORTH, qup11, qup11, ddr_bist, _, _, _, _, _, _), 979 + [8] = PINGROUP(8, NORTH, gp_pdm1, ddr_bist, _, phase_flag, qdss_cti, _, _, _, _), 980 + [9] = PINGROUP(9, NORTH, ddr_bist, _, phase_flag, qdss_cti, _, _, _, _, _), 981 + [10] = PINGROUP(10, NORTH, mdp_vsync, ddr_bist, _, _, _, _, _, _, _), 982 + [11] = PINGROUP(11, NORTH, mdp_vsync, edp_lcd, _, phase_flag, ddr_pxi2, _, _, _, _), 983 + [12] = PINGROUP(12, SOUTH, mdp_vsync, m_voc, qup01, _, phase_flag, wlan2_adc0, atest_usb10, ddr_pxi3, _), 984 + [13] = PINGROUP(13, SOUTH, cam_mclk, pll_bypassnl, qdss, _, _, _, _, _, _), 985 + [14] = PINGROUP(14, SOUTH, cam_mclk, pll_reset, qdss, _, _, _, _, _, _), 986 + [15] = PINGROUP(15, SOUTH, cam_mclk, qup02, qup02, qdss, _, _, _, _, _), 987 + [16] = PINGROUP(16, SOUTH, cam_mclk, qup02, qup02, qdss, _, _, _, _, _), 988 + [17] = PINGROUP(17, SOUTH, cci_i2c, _, phase_flag, qdss, _, wlan1_adc0, atest_usb12, ddr_pxi1, atest_char), 989 + [18] = PINGROUP(18, SOUTH, cci_i2c, agera_pll, _, phase_flag, qdss, vsense_trigger, ddr_pxi0, atest_char3, _), 990 + [19] = PINGROUP(19, SOUTH, cci_i2c, _, phase_flag, qdss, atest_char2, _, _, _, _), 991 + [20] = PINGROUP(20, SOUTH, cci_i2c, _, phase_flag, qdss, atest_char1, _, _, _, _), 992 + [21] = PINGROUP(21, NORTH, cci_timer0, gcc_gp2, _, qdss, atest_char0, _, _, _, _), 993 + [22] = PINGROUP(22, NORTH, cci_timer1, gcc_gp3, _, qdss, _, _, _, _, _), 994 + [23] = PINGROUP(23, SOUTH, cci_timer2, cam_mclk, qdss, _, _, _, _, _, _), 995 + [24] = PINGROUP(24, SOUTH, cci_timer3, cci_async, qdss, _, _, _, _, _, _), 996 + [25] = PINGROUP(25, SOUTH, cci_timer4, cci_async, qup05, _, phase_flag, qdss, _, _, _), 997 + [26] = PINGROUP(26, SOUTH, cci_async, qup05, _, phase_flag, qdss, atest_tsens, atest_usb11, ddr_pxi2, _), 998 + [27] = PINGROUP(27, SOUTH, cci_i2c, qup05, PLL_BIST, _, phase_flag, qdss, ddr_pxi0, _, _), 999 + [28] = PINGROUP(28, SOUTH, cci_i2c, qup05, _, phase_flag, qdss, _, _, _, _), 1000 + [29] = PINGROUP(29, NORTH, _, qdss, _, _, _, _, _, _, _), 1001 + [30] = PINGROUP(30, SOUTH, qdss, _, _, _, _, _, _, _, _), 1002 + [31] = PINGROUP(31, NORTH, _, qdss, _, _, _, _, _, _, _), 1003 + [32] = PINGROUP(32, NORTH, _, phase_flag, _, _, _, _, _, _, _), 1004 + [33] = PINGROUP(33, NORTH, sd_write, _, phase_flag, qdss_cti, _, _, _, _, _), 1005 + [34] = PINGROUP(34, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 1006 + [35] = PINGROUP(35, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 1007 + [36] = PINGROUP(36, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 1008 + [37] = PINGROUP(37, SOUTH, qup00, gp_pdm0, _, phase_flag, qdss, _, _, _, _), 1009 + [38] = PINGROUP(38, SOUTH, qup03, _, phase_flag, _, _, _, _, _, _), 1010 + [39] = PINGROUP(39, SOUTH, qup03, _, phase_flag, atest_tsens2, wlan2_adc1, atest_usb1, _, _, _), 1011 + [40] = PINGROUP(40, SOUTH, qup03, _, _, _, _, _, _, _, _), 1012 + [41] = PINGROUP(41, SOUTH, qup03, _, _, _, _, _, _, _, _), 1013 + [42] = PINGROUP(42, NORTH, qup12, _, phase_flag, _, _, _, _, _, _), 1014 + [43] = PINGROUP(43, NORTH, qup12, _, _, _, _, _, _, _, _), 1015 + [44] = PINGROUP(44, NORTH, qup12, _, phase_flag, qdss_cti, wlan1_adc1, atest_usb13, ddr_pxi1, _, _), 1016 + [45] = PINGROUP(45, NORTH, qup12, qdss_cti, _, _, _, _, _, _, _), 1017 + [46] = PINGROUP(46, NORTH, qup13, qup13, _, _, _, _, _, _, _), 1018 + [47] = PINGROUP(47, NORTH, qup13, qup13, _, _, _, _, _, _, _), 1019 + [48] = PINGROUP(48, NORTH, gcc_gp1, _, _, _, _, _, _, _, _), 1020 + [49] = PINGROUP(49, WEST, mi2s_1, btfm_slimbus, _, _, _, _, _, _, _), 1021 + [50] = PINGROUP(50, WEST, mi2s_1, btfm_slimbus, gp_pdm1, _, _, _, _, _, _), 1022 + [51] = PINGROUP(51, WEST, mi2s_1, btfm_slimbus, atest_usb2, _, _, _, _, _, _), 1023 + [52] = PINGROUP(52, WEST, mi2s_1, btfm_slimbus, atest_usb23, _, _, _, _, _, _), 1024 + [53] = PINGROUP(53, WEST, mi2s_0, qup15, qdss, atest_usb22, _, _, _, _, _), 1025 + [54] = PINGROUP(54, WEST, mi2s_0, qup15, qdss, atest_usb21, _, _, _, _, _), 1026 + [55] = PINGROUP(55, WEST, mi2s_0, qup15, qdss, atest_usb20, _, _, _, _, _), 1027 + [56] = PINGROUP(56, WEST, mi2s_0, qup15, gcc_gp1, _, phase_flag, qdss, _, _, _), 1028 + [57] = PINGROUP(57, WEST, lpass_ext, audio_ref, jitter_bist, gp_pdm2, _, phase_flag, qdss, _, _), 1029 + [58] = PINGROUP(58, WEST, lpass_ext, _, phase_flag, _, _, _, _, _, _), 1030 + [59] = PINGROUP(59, NORTH, qup10, _, _, _, _, _, _, _, _), 1031 + [60] = PINGROUP(60, NORTH, qup10, _, _, _, _, _, _, _, _), 1032 + [61] = PINGROUP(61, NORTH, qup10, _, _, _, _, _, _, _, _), 1033 + [62] = PINGROUP(62, NORTH, qup10, tgu_ch3, _, _, _, _, _, _, _), 1034 + [63] = PINGROUP(63, NORTH, qspi_clk, mdp_vsync0, mi2s_2, mdp_vsync1, mdp_vsync2, mdp_vsync3, tgu_ch0, _, phase_flag), 1035 + [64] = PINGROUP(64, NORTH, qspi_data, mi2s_2, tgu_ch1, _, phase_flag, _, _, _, _), 1036 + [65] = PINGROUP(65, NORTH, qspi_data, mi2s_2, vfr_1, tgu_ch2, _, _, _, _, _), 1037 + [66] = PINGROUP(66, NORTH, qspi_data, mi2s_2, _, _, _, _, _, _, _), 1038 + [67] = PINGROUP(67, NORTH, qspi_data, _, _, _, _, _, _, _, _), 1039 + [68] = PINGROUP(68, NORTH, qspi_cs, qup10, gp_pdm0, _, _, _, _, _, _), 1040 + [69] = PINGROUP(69, WEST, _, _, _, _, _, _, _, _, _), 1041 + [70] = PINGROUP(70, NORTH, _, _, mdp_vsync, ldo_en, _, _, _, _, _), 1042 + [71] = PINGROUP(71, NORTH, _, mdp_vsync, ldo_update, _, _, _, _, _, _), 1043 + [72] = PINGROUP(72, NORTH, qspi_cs, qup10, prng_rosc, _, qdss_cti, _, _, _, _), 1044 + [73] = PINGROUP(73, WEST, _, _, _, _, _, _, _, _, _), 1045 + [74] = PINGROUP(74, WEST, _, _, _, _, _, _, _, _, _), 1046 + [75] = PINGROUP(75, WEST, uim2, _, _, _, _, _, _, _, _), 1047 + [76] = PINGROUP(76, WEST, uim2, _, _, _, _, _, _, _, _), 1048 + [77] = PINGROUP(77, WEST, uim2, _, _, _, _, _, _, _, _), 1049 + [78] = PINGROUP(78, WEST, uim2, _, _, _, _, _, _, _, _), 1050 + [79] = PINGROUP(79, WEST, uim1, _, _, _, _, _, _, _, _), 1051 + [80] = PINGROUP(80, WEST, uim1, _, _, _, _, _, _, _, _), 1052 + [81] = PINGROUP(81, WEST, uim1, _, _, _, _, _, _, _, _), 1053 + [82] = PINGROUP(82, WEST, uim1, _, _, _, _, _, _, _, _), 1054 + [83] = PINGROUP(83, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 1055 + [84] = PINGROUP(84, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 1056 + [85] = PINGROUP(85, WEST, uim_batt, dp_hot, aoss_cti, _, _, _, _, _, _), 1057 + [86] = PINGROUP(86, NORTH, qup14, qdss, _, _, _, _, _, _, _), 1058 + [87] = PINGROUP(87, NORTH, qup14, adsp_ext, qdss, _, _, _, _, _, _), 1059 + [88] = PINGROUP(88, NORTH, qup14, qdss, tsense_pwm1, tsense_pwm2, _, _, _, _, _), 1060 + [89] = PINGROUP(89, NORTH, qup14, qdss, _, _, _, _, _, _, _), 1061 + [90] = PINGROUP(90, NORTH, qup14, qdss, _, _, _, _, _, _, _), 1062 + [91] = PINGROUP(91, NORTH, qup14, qdss, _, _, _, _, _, _, _), 1063 + [92] = PINGROUP(92, NORTH, _, _, _, _, _, _, _, _, _), 1064 + [93] = PINGROUP(93, NORTH, qdss, _, _, _, _, _, _, _, _), 1065 + [94] = PINGROUP(94, SOUTH, qup01, _, _, _, _, _, _, _, _), 1066 + [95] = PINGROUP(95, WEST, _, _, _, _, _, _, _, _, _), 1067 + [96] = PINGROUP(96, WEST, qlink_request, _, _, _, _, _, _, _, _), 1068 + [97] = PINGROUP(97, WEST, qlink_enable, _, _, _, _, _, _, _, _), 1069 + [98] = PINGROUP(98, WEST, _, _, _, _, _, _, _, _, _), 1070 + [99] = PINGROUP(99, WEST, _, pa_indicator, _, _, _, _, _, _, _), 1071 + [100] = PINGROUP(100, WEST, _, _, _, _, _, _, _, _, _), 1072 + [101] = PINGROUP(101, NORTH, _, _, _, _, _, _, _, _, _), 1073 + [102] = PINGROUP(102, NORTH, _, _, _, _, _, _, _, _, _), 1074 + [103] = PINGROUP(103, NORTH, _, _, _, _, _, _, _, _, _), 1075 + [104] = PINGROUP(104, WEST, usb_phy, _, qdss, _, _, _, _, _, _), 1076 + [105] = PINGROUP(105, NORTH, _, _, _, _, _, _, _, _, _), 1077 + [106] = PINGROUP(106, NORTH, _, _, _, _, _, _, _, _, _), 1078 + [107] = PINGROUP(107, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 1079 + [108] = PINGROUP(108, SOUTH, mss_lte, _, phase_flag, ddr_pxi3, _, _, _, _, _), 1080 + [109] = PINGROUP(109, SOUTH, mss_lte, gps_tx, _, phase_flag, _, _, _, _, _), 1081 + [110] = PINGROUP(110, NORTH, _, _, _, _, _, _, _, _, _), 1082 + [111] = PINGROUP(111, NORTH, _, _, _, _, _, _, _, _, _), 1083 + [112] = PINGROUP(112, NORTH, _, _, _, _, _, _, _, _, _), 1084 + [113] = PINGROUP(113, NORTH, _, _, _, _, _, _, _, _, _), 1085 + [114] = PINGROUP(114, NORTH, _, _, _, _, _, _, _, _, _), 1086 + [115] = PINGROUP(115, WEST, qup04, qup04, _, _, _, _, _, _, _), 1087 + [116] = PINGROUP(116, WEST, qup04, qup04, _, _, _, _, _, _, _), 1088 + [117] = PINGROUP(117, WEST, dp_hot, _, _, _, _, _, _, _, _), 1089 + [118] = PINGROUP(118, WEST, _, _, _, _, _, _, _, _, _), 1090 + [119] = UFS_RESET(ufs_reset, 0x97f000), 1091 + [120] = SDC_QDSD_PINGROUP(sdc1_rclk, 0x97a000, 15, 0), 1092 + [121] = SDC_QDSD_PINGROUP(sdc1_clk, 0x97a000, 13, 6), 1093 + [122] = SDC_QDSD_PINGROUP(sdc1_cmd, 0x97a000, 11, 3), 1094 + [123] = SDC_QDSD_PINGROUP(sdc1_data, 0x97a000, 9, 0), 1095 + [124] = SDC_QDSD_PINGROUP(sdc2_clk, 0x97b000, 14, 6), 1096 + [125] = SDC_QDSD_PINGROUP(sdc2_cmd, 0x97b000, 11, 3), 1097 + [126] = SDC_QDSD_PINGROUP(sdc2_data, 0x97b000, 9, 0), 1098 + }; 1099 + 1100 + static const struct msm_pinctrl_soc_data sc7180_pinctrl = { 1101 + .pins = sc7180_pins, 1102 + .npins = ARRAY_SIZE(sc7180_pins), 1103 + .functions = sc7180_functions, 1104 + .nfunctions = ARRAY_SIZE(sc7180_functions), 1105 + .groups = sc7180_groups, 1106 + .ngroups = ARRAY_SIZE(sc7180_groups), 1107 + .ngpios = 120, 1108 + .tiles = sc7180_tiles, 1109 + .ntiles = ARRAY_SIZE(sc7180_tiles), 1110 + }; 1111 + 1112 + static int sc7180_pinctrl_probe(struct platform_device *pdev) 1113 + { 1114 + return msm_pinctrl_probe(pdev, &sc7180_pinctrl); 1115 + } 1116 + 1117 + static const struct of_device_id sc7180_pinctrl_of_match[] = { 1118 + { .compatible = "qcom,sc7180-pinctrl", }, 1119 + { }, 1120 + }; 1121 + 1122 + static struct platform_driver sc7180_pinctrl_driver = { 1123 + .driver = { 1124 + .name = "sc7180-pinctrl", 1125 + .pm = &msm_pinctrl_dev_pm_ops, 1126 + .of_match_table = sc7180_pinctrl_of_match, 1127 + }, 1128 + .probe = sc7180_pinctrl_probe, 1129 + .remove = msm_pinctrl_remove, 1130 + }; 1131 + 1132 + static int __init sc7180_pinctrl_init(void) 1133 + { 1134 + return platform_driver_register(&sc7180_pinctrl_driver); 1135 + } 1136 + arch_initcall(sc7180_pinctrl_init); 1137 + 1138 + static void __exit sc7180_pinctrl_exit(void) 1139 + { 1140 + platform_driver_unregister(&sc7180_pinctrl_driver); 1141 + } 1142 + module_exit(sc7180_pinctrl_exit); 1143 + 1144 + MODULE_DESCRIPTION("QTI sc7180 pinctrl driver"); 1145 + MODULE_LICENSE("GPL v2"); 1146 + MODULE_DEVICE_TABLE(of, sc7180_pinctrl_of_match);
+4 -4
drivers/pinctrl/qcom/pinctrl-sdm845.c
··· 262 262 PINCTRL_PIN(147, "GPIO_147"), 263 263 PINCTRL_PIN(148, "GPIO_148"), 264 264 PINCTRL_PIN(149, "GPIO_149"), 265 - PINCTRL_PIN(150, "SDC2_CLK"), 266 - PINCTRL_PIN(151, "SDC2_CMD"), 267 - PINCTRL_PIN(152, "SDC2_DATA"), 268 - PINCTRL_PIN(153, "UFS_RESET"), 265 + PINCTRL_PIN(150, "UFS_RESET"), 266 + PINCTRL_PIN(151, "SDC2_CLK"), 267 + PINCTRL_PIN(152, "SDC2_CMD"), 268 + PINCTRL_PIN(153, "SDC2_DATA"), 269 269 }; 270 270 271 271 #define DECLARE_MSM_GPIO_PINS(pin) \
+8
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
··· 793 793 switch (subtype) { 794 794 case PMIC_GPIO_SUBTYPE_GPIO_4CH: 795 795 pad->have_buffer = true; 796 + /* Fall through */ 796 797 case PMIC_GPIO_SUBTYPE_GPIOC_4CH: 797 798 pad->num_sources = 4; 798 799 break; 799 800 case PMIC_GPIO_SUBTYPE_GPIO_8CH: 800 801 pad->have_buffer = true; 802 + /* Fall through */ 801 803 case PMIC_GPIO_SUBTYPE_GPIOC_8CH: 802 804 pad->num_sources = 8; 803 805 break; ··· 1115 1113 { .compatible = "qcom,pma8084-gpio", .data = (void *) 22 }, 1116 1114 /* pms405 has 12 GPIOs with holes on 1, 9, and 10 */ 1117 1115 { .compatible = "qcom,pms405-gpio", .data = (void *) 12 }, 1116 + /* pm8150 has 10 GPIOs with holes on 2, 5, 7 and 8 */ 1117 + { .compatible = "qcom,pm8150-gpio", .data = (void *) 10 }, 1118 + /* pm8150b has 12 GPIOs with holes on 3, r and 7 */ 1119 + { .compatible = "qcom,pm8150b-gpio", .data = (void *) 12 }, 1120 + /* pm8150l has 12 GPIOs with holes on 7 */ 1121 + { .compatible = "qcom,pm8150l-gpio", .data = (void *) 12 }, 1118 1122 { }, 1119 1123 }; 1120 1124
+1 -4
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
··· 791 791 for (i = 0; i < pctrl->desc.npins; i++) { 792 792 pin_data[i].reg = SSBI_REG_ADDR_MPP(i); 793 793 pin_data[i].irq = platform_get_irq(pdev, i); 794 - if (pin_data[i].irq < 0) { 795 - dev_err(&pdev->dev, 796 - "missing interrupts for pin %d\n", i); 794 + if (pin_data[i].irq < 0) 797 795 return pin_data[i].irq; 798 - } 799 796 800 797 ret = pm8xxx_pin_populate(pctrl, &pin_data[i]); 801 798 if (ret)
+3 -8
drivers/pinctrl/sh-pfc/gpio.c
··· 7 7 */ 8 8 9 9 #include <linux/device.h> 10 - #include <linux/gpio.h> 10 + #include <linux/gpio/driver.h> 11 11 #include <linux/init.h> 12 12 #include <linux/module.h> 13 13 #include <linux/pinctrl/consumer.h> ··· 255 255 #ifdef CONFIG_PINCTRL_SH_FUNC_GPIO 256 256 static int gpio_function_request(struct gpio_chip *gc, unsigned offset) 257 257 { 258 - static bool __print_once; 259 258 struct sh_pfc *pfc = gpio_to_pfc(gc); 260 259 unsigned int mark = pfc->info->func_gpios[offset].enum_id; 261 260 unsigned long flags; 262 261 int ret; 263 262 264 - if (!__print_once) { 265 - dev_notice(pfc->dev, 266 - "Use of GPIO API for function requests is deprecated." 267 - " Convert to pinctrl\n"); 268 - __print_once = true; 269 - } 263 + dev_notice_once(pfc->dev, 264 + "Use of GPIO API for function requests is deprecated, convert to pinctrl\n"); 270 265 271 266 if (mark == 0) 272 267 return -EINVAL;
+23 -20
drivers/pinctrl/sh-pfc/pinctrl.c
··· 26 26 #include "../pinconf.h" 27 27 28 28 struct sh_pfc_pin_config { 29 - u32 type; 29 + unsigned int mux_mark; 30 + bool mux_set; 31 + bool gpio_enabled; 30 32 }; 31 33 32 34 struct sh_pfc_pinctrl { ··· 357 355 int idx = sh_pfc_get_pin_index(pfc, grp->pins[i]); 358 356 struct sh_pfc_pin_config *cfg = &pmx->configs[idx]; 359 357 360 - if (cfg->type != PINMUX_TYPE_NONE) { 358 + /* 359 + * This driver cannot manage both gpio and mux when the gpio 360 + * pin is already enabled. So, this function fails. 361 + */ 362 + if (cfg->gpio_enabled) { 361 363 ret = -EBUSY; 362 364 goto done; 363 365 } 364 - } 365 366 366 - for (i = 0; i < grp->nr_pins; ++i) { 367 367 ret = sh_pfc_config_mux(pfc, grp->mux[i], PINMUX_TYPE_FUNCTION); 368 368 if (ret < 0) 369 - break; 369 + goto done; 370 + } 371 + 372 + /* All group pins are configured, mark the pins as mux_set */ 373 + for (i = 0; i < grp->nr_pins; ++i) { 374 + int idx = sh_pfc_get_pin_index(pfc, grp->pins[i]); 375 + struct sh_pfc_pin_config *cfg = &pmx->configs[idx]; 376 + 377 + cfg->mux_set = true; 378 + cfg->mux_mark = grp->mux[i]; 370 379 } 371 380 372 381 done: ··· 398 385 399 386 spin_lock_irqsave(&pfc->lock, flags); 400 387 401 - if (cfg->type != PINMUX_TYPE_NONE) { 402 - dev_err(pfc->dev, 403 - "Pin %u is busy, can't configure it as GPIO.\n", 404 - offset); 405 - ret = -EBUSY; 406 - goto done; 407 - } 408 - 409 388 if (!pfc->gpio) { 410 389 /* If GPIOs are handled externally the pin mux type need to be 411 390 * set to GPIO here. ··· 409 404 goto done; 410 405 } 411 406 412 - cfg->type = PINMUX_TYPE_GPIO; 407 + cfg->gpio_enabled = true; 413 408 414 409 ret = 0; 415 410 ··· 430 425 unsigned long flags; 431 426 432 427 spin_lock_irqsave(&pfc->lock, flags); 433 - cfg->type = PINMUX_TYPE_NONE; 428 + cfg->gpio_enabled = false; 429 + /* If mux is already set, this configures it here */ 430 + if (cfg->mux_set) 431 + sh_pfc_config_mux(pfc, cfg->mux_mark, PINMUX_TYPE_FUNCTION); 434 432 spin_unlock_irqrestore(&pfc->lock, flags); 435 433 } 436 434 ··· 446 438 int new_type = input ? PINMUX_TYPE_INPUT : PINMUX_TYPE_OUTPUT; 447 439 int idx = sh_pfc_get_pin_index(pfc, offset); 448 440 const struct sh_pfc_pin *pin = &pfc->info->pins[idx]; 449 - struct sh_pfc_pin_config *cfg = &pmx->configs[idx]; 450 441 unsigned long flags; 451 442 unsigned int dir; 452 443 int ret; ··· 464 457 ret = sh_pfc_config_mux(pfc, pin->enum_id, new_type); 465 458 if (ret < 0) 466 459 goto done; 467 - 468 - cfg->type = new_type; 469 460 470 461 done: 471 462 spin_unlock_irqrestore(&pfc->lock, flags); ··· 787 782 788 783 for (i = 0; i < pfc->info->nr_pins; ++i) { 789 784 const struct sh_pfc_pin *info = &pfc->info->pins[i]; 790 - struct sh_pfc_pin_config *cfg = &pmx->configs[i]; 791 785 struct pinctrl_pin_desc *pin = &pmx->pins[i]; 792 786 793 787 /* If the pin number is equal to -1 all pins are considered */ 794 788 pin->number = info->pin != (u16)-1 ? info->pin : i; 795 789 pin->name = info->name; 796 - cfg->type = PINMUX_TYPE_NONE; 797 790 } 798 791 799 792 return 0;
+6 -2
drivers/pinctrl/spear/pinctrl-spear.c
··· 157 157 /* calculate number of maps required */ 158 158 for_each_child_of_node(np_config, np) { 159 159 ret = of_property_read_string(np, "st,function", &function); 160 - if (ret < 0) 160 + if (ret < 0) { 161 + of_node_put(np); 161 162 return ret; 163 + } 162 164 163 165 ret = of_property_count_strings(np, "st,pins"); 164 - if (ret < 0) 166 + if (ret < 0) { 167 + of_node_put(np); 165 168 return ret; 169 + } 166 170 167 171 count += ret; 168 172 }
-1
drivers/pinctrl/sprd/pinctrl-sprd-sc9860.c
··· 940 940 static struct platform_driver sprd_pinctrl_driver = { 941 941 .driver = { 942 942 .name = "sprd-pinctrl", 943 - .owner = THIS_MODULE, 944 943 .of_match_table = sprd_pinctrl_of_match, 945 944 }, 946 945 .probe = sprd_pinctrl_probe,
+10 -22
drivers/pinctrl/sprd/pinctrl-sprd.c
··· 454 454 if (pin->type == GLOBAL_CTRL_PIN && 455 455 param == SPRD_PIN_CONFIG_CONTROL) { 456 456 arg = reg; 457 - } else if (pin->type == COMMON_PIN) { 457 + } else if (pin->type == COMMON_PIN || pin->type == MISC_PIN) { 458 458 switch (param) { 459 459 case SPRD_PIN_CONFIG_SLEEP_MODE: 460 460 arg = (reg >> SLEEP_MODE_SHIFT) & SLEEP_MODE_MASK; ··· 465 465 case PIN_CONFIG_OUTPUT: 466 466 arg = reg & SLEEP_OUTPUT_MASK; 467 467 break; 468 - case PIN_CONFIG_SLEEP_HARDWARE_STATE: 469 - arg = 0; 470 - break; 471 - default: 472 - return -ENOTSUPP; 473 - } 474 - } else if (pin->type == MISC_PIN) { 475 - switch (param) { 476 468 case PIN_CONFIG_DRIVE_STRENGTH: 477 469 arg = (reg >> DRIVE_STRENGTH_SHIFT) & 478 470 DRIVE_STRENGTH_MASK; ··· 598 606 if (pin->type == GLOBAL_CTRL_PIN && 599 607 param == SPRD_PIN_CONFIG_CONTROL) { 600 608 val = arg; 601 - } else if (pin->type == COMMON_PIN) { 609 + } else if (pin->type == COMMON_PIN || pin->type == MISC_PIN) { 602 610 switch (param) { 603 611 case SPRD_PIN_CONFIG_SLEEP_MODE: 604 612 if (arg & AP_SLEEP) ··· 631 639 shift = SLEEP_OUTPUT_SHIFT; 632 640 } 633 641 break; 634 - case PIN_CONFIG_SLEEP_HARDWARE_STATE: 635 - continue; 636 - default: 637 - return -ENOTSUPP; 638 - } 639 - } else if (pin->type == MISC_PIN) { 640 - switch (param) { 641 642 case PIN_CONFIG_DRIVE_STRENGTH: 642 643 if (arg < 2 || arg > 60) 643 644 return -EINVAL; ··· 925 940 926 941 for_each_child_of_node(np, child) { 927 942 ret = sprd_pinctrl_parse_groups(child, sprd_pctl, grp); 928 - if (ret) 943 + if (ret) { 944 + of_node_put(child); 929 945 return ret; 946 + } 930 947 931 948 *temp++ = grp->name; 932 949 grp++; ··· 937 950 for_each_child_of_node(child, sub_child) { 938 951 ret = sprd_pinctrl_parse_groups(sub_child, 939 952 sprd_pctl, grp); 940 - if (ret) 953 + if (ret) { 954 + of_node_put(sub_child); 955 + of_node_put(child); 941 956 return ret; 957 + } 942 958 943 959 *temp++ = grp->name; 944 960 grp++; ··· 1010 1020 struct sprd_pinctrl *sprd_pctl; 1011 1021 struct sprd_pinctrl_soc_info *pinctrl_info; 1012 1022 struct pinctrl_pin_desc *pin_desc; 1013 - struct resource *res; 1014 1023 int ret, i; 1015 1024 1016 1025 sprd_pctl = devm_kzalloc(&pdev->dev, sizeof(struct sprd_pinctrl), ··· 1017 1028 if (!sprd_pctl) 1018 1029 return -ENOMEM; 1019 1030 1020 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1021 - sprd_pctl->base = devm_ioremap_resource(&pdev->dev, res); 1031 + sprd_pctl->base = devm_platform_ioremap_resource(pdev, 0); 1022 1032 if (IS_ERR(sprd_pctl->base)) 1023 1033 return PTR_ERR(sprd_pctl->base); 1024 1034
+4 -1
drivers/pinctrl/stm32/pinctrl-stm32.c
··· 615 615 &reserved_maps, num_maps); 616 616 if (ret < 0) { 617 617 pinctrl_utils_free_map(pctldev, *map, *num_maps); 618 + of_node_put(np); 618 619 return ret; 619 620 } 620 621 } ··· 1469 1468 for_each_available_child_of_node(np, child) { 1470 1469 if (of_property_read_bool(child, "gpio-controller")) { 1471 1470 ret = stm32_gpiolib_register_bank(pctl, child); 1472 - if (ret) 1471 + if (ret) { 1472 + of_node_put(child); 1473 1473 return ret; 1474 + } 1474 1475 1475 1476 pctl->nbanks++; 1476 1477 }
+260 -5
drivers/pinctrl/sunxi/pinctrl-sun8i-v3s.c
··· 1 1 /* 2 - * Allwinner V3s SoCs pinctrl driver. 2 + * Allwinner V3/V3s SoCs pinctrl driver. 3 3 * 4 4 * Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz> 5 5 * ··· 77 77 SUNXI_FUNCTION(0x2, "i2c1"), /* SCK */ 78 78 SUNXI_FUNCTION(0x3, "uart0"), /* RX */ 79 79 SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 9)), /* PB_EINT9 */ 80 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(B, 10), 81 + PINCTRL_SUN8I_V3, 82 + SUNXI_FUNCTION(0x0, "gpio_in"), 83 + SUNXI_FUNCTION(0x1, "gpio_out"), 84 + SUNXI_FUNCTION(0x2, "jtag"), /* MS */ 85 + SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 10)), /* PB_EINT10 */ 86 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(B, 11), 87 + PINCTRL_SUN8I_V3, 88 + SUNXI_FUNCTION(0x0, "gpio_in"), 89 + SUNXI_FUNCTION(0x1, "gpio_out"), 90 + SUNXI_FUNCTION(0x2, "jtag"), /* CK */ 91 + SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 11)), /* PB_EINT11 */ 92 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(B, 12), 93 + PINCTRL_SUN8I_V3, 94 + SUNXI_FUNCTION(0x0, "gpio_in"), 95 + SUNXI_FUNCTION(0x1, "gpio_out"), 96 + SUNXI_FUNCTION(0x2, "jtag"), /* DO */ 97 + SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 12)), /* PB_EINT12 */ 98 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(B, 13), 99 + PINCTRL_SUN8I_V3, 100 + SUNXI_FUNCTION(0x0, "gpio_in"), 101 + SUNXI_FUNCTION(0x1, "gpio_out"), 102 + SUNXI_FUNCTION(0x2, "jtag"), /* DI */ 103 + SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 13)), /* PB_EINT13 */ 80 104 /* Hole */ 81 105 SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 0), 82 106 SUNXI_FUNCTION(0x0, "gpio_in"), ··· 122 98 SUNXI_FUNCTION(0x1, "gpio_out"), 123 99 SUNXI_FUNCTION(0x2, "mmc2"), /* D0 */ 124 100 SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */ 101 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 4), 102 + PINCTRL_SUN8I_V3, 103 + SUNXI_FUNCTION(0x0, "gpio_in"), 104 + SUNXI_FUNCTION(0x1, "gpio_out"), 105 + SUNXI_FUNCTION(0x2, "mmc2")), /* D1 */ 106 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 5), 107 + PINCTRL_SUN8I_V3, 108 + SUNXI_FUNCTION(0x0, "gpio_in"), 109 + SUNXI_FUNCTION(0x1, "gpio_out"), 110 + SUNXI_FUNCTION(0x2, "mmc2")), /* D2 */ 111 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 6), 112 + PINCTRL_SUN8I_V3, 113 + SUNXI_FUNCTION(0x0, "gpio_in"), 114 + SUNXI_FUNCTION(0x1, "gpio_out"), 115 + SUNXI_FUNCTION(0x2, "mmc2")), /* D3 */ 116 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 7), 117 + PINCTRL_SUN8I_V3, 118 + SUNXI_FUNCTION(0x0, "gpio_in"), 119 + SUNXI_FUNCTION(0x1, "gpio_out"), 120 + SUNXI_FUNCTION(0x2, "mmc2")), /* D4 */ 121 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 8), 122 + PINCTRL_SUN8I_V3, 123 + SUNXI_FUNCTION(0x0, "gpio_in"), 124 + SUNXI_FUNCTION(0x1, "gpio_out"), 125 + SUNXI_FUNCTION(0x2, "mmc2")), /* D5 */ 126 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 9), 127 + PINCTRL_SUN8I_V3, 128 + SUNXI_FUNCTION(0x0, "gpio_in"), 129 + SUNXI_FUNCTION(0x1, "gpio_out"), 130 + SUNXI_FUNCTION(0x2, "mmc2")), /* D6 */ 131 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(C, 10), 132 + PINCTRL_SUN8I_V3, 133 + SUNXI_FUNCTION(0x0, "gpio_in"), 134 + SUNXI_FUNCTION(0x1, "gpio_out"), 135 + SUNXI_FUNCTION(0x2, "mmc2")), /* D7 */ 136 + /* Hole */ 137 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 0), 138 + PINCTRL_SUN8I_V3, 139 + SUNXI_FUNCTION(0x0, "gpio_in"), 140 + SUNXI_FUNCTION(0x1, "gpio_out"), 141 + SUNXI_FUNCTION(0x2, "lcd"), /* D2 */ 142 + SUNXI_FUNCTION(0x4, "emac")), /* RXD3 */ 143 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 1), 144 + PINCTRL_SUN8I_V3, 145 + SUNXI_FUNCTION(0x0, "gpio_in"), 146 + SUNXI_FUNCTION(0x1, "gpio_out"), 147 + SUNXI_FUNCTION(0x2, "lcd"), /* D3 */ 148 + SUNXI_FUNCTION(0x4, "emac")), /* RXD2 */ 149 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 2), 150 + PINCTRL_SUN8I_V3, 151 + SUNXI_FUNCTION(0x0, "gpio_in"), 152 + SUNXI_FUNCTION(0x1, "gpio_out"), 153 + SUNXI_FUNCTION(0x2, "lcd"), /* D4 */ 154 + SUNXI_FUNCTION(0x4, "emac")), /* RXD1 */ 155 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 3), 156 + PINCTRL_SUN8I_V3, 157 + SUNXI_FUNCTION(0x0, "gpio_in"), 158 + SUNXI_FUNCTION(0x1, "gpio_out"), 159 + SUNXI_FUNCTION(0x2, "lcd"), /* D5 */ 160 + SUNXI_FUNCTION(0x4, "emac")), /* RXD0 */ 161 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 4), 162 + PINCTRL_SUN8I_V3, 163 + SUNXI_FUNCTION(0x0, "gpio_in"), 164 + SUNXI_FUNCTION(0x1, "gpio_out"), 165 + SUNXI_FUNCTION(0x2, "lcd"), /* D6 */ 166 + SUNXI_FUNCTION(0x4, "emac")), /* RXCK */ 167 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 5), 168 + PINCTRL_SUN8I_V3, 169 + SUNXI_FUNCTION(0x0, "gpio_in"), 170 + SUNXI_FUNCTION(0x1, "gpio_out"), 171 + SUNXI_FUNCTION(0x2, "lcd"), /* D7 */ 172 + SUNXI_FUNCTION(0x4, "emac")), /* RXCTL/RXDV */ 173 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 6), 174 + PINCTRL_SUN8I_V3, 175 + SUNXI_FUNCTION(0x0, "gpio_in"), 176 + SUNXI_FUNCTION(0x1, "gpio_out"), 177 + SUNXI_FUNCTION(0x2, "lcd"), /* D10 */ 178 + SUNXI_FUNCTION(0x4, "emac")), /* RXERR */ 179 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 7), 180 + PINCTRL_SUN8I_V3, 181 + SUNXI_FUNCTION(0x0, "gpio_in"), 182 + SUNXI_FUNCTION(0x1, "gpio_out"), 183 + SUNXI_FUNCTION(0x2, "lcd"), /* D11 */ 184 + SUNXI_FUNCTION(0x4, "emac")), /* TXD3 */ 185 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 8), 186 + PINCTRL_SUN8I_V3, 187 + SUNXI_FUNCTION(0x0, "gpio_in"), 188 + SUNXI_FUNCTION(0x1, "gpio_out"), 189 + SUNXI_FUNCTION(0x2, "lcd"), /* D12 */ 190 + SUNXI_FUNCTION(0x4, "emac")), /* TXD2 */ 191 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 9), 192 + PINCTRL_SUN8I_V3, 193 + SUNXI_FUNCTION(0x0, "gpio_in"), 194 + SUNXI_FUNCTION(0x1, "gpio_out"), 195 + SUNXI_FUNCTION(0x2, "lcd"), /* D13 */ 196 + SUNXI_FUNCTION(0x4, "emac")), /* TXD1 */ 197 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 10), 198 + PINCTRL_SUN8I_V3, 199 + SUNXI_FUNCTION(0x0, "gpio_in"), 200 + SUNXI_FUNCTION(0x1, "gpio_out"), 201 + SUNXI_FUNCTION(0x2, "lcd"), /* D14 */ 202 + SUNXI_FUNCTION(0x4, "emac")), /* TXD0 */ 203 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 11), 204 + PINCTRL_SUN8I_V3, 205 + SUNXI_FUNCTION(0x0, "gpio_in"), 206 + SUNXI_FUNCTION(0x1, "gpio_out"), 207 + SUNXI_FUNCTION(0x2, "lcd"), /* D15 */ 208 + SUNXI_FUNCTION(0x4, "emac")), /* CRS */ 209 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 12), 210 + PINCTRL_SUN8I_V3, 211 + SUNXI_FUNCTION(0x0, "gpio_in"), 212 + SUNXI_FUNCTION(0x1, "gpio_out"), 213 + SUNXI_FUNCTION(0x2, "lcd"), /* D18 */ 214 + SUNXI_FUNCTION(0x3, "lvds"), /* VP0 */ 215 + SUNXI_FUNCTION(0x4, "emac")), /* TXCK */ 216 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 13), 217 + PINCTRL_SUN8I_V3, 218 + SUNXI_FUNCTION(0x0, "gpio_in"), 219 + SUNXI_FUNCTION(0x1, "gpio_out"), 220 + SUNXI_FUNCTION(0x2, "lcd"), /* D19 */ 221 + SUNXI_FUNCTION(0x3, "lvds"), /* VN0 */ 222 + SUNXI_FUNCTION(0x4, "emac")), /* TXCTL/TXEN */ 223 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 14), 224 + PINCTRL_SUN8I_V3, 225 + SUNXI_FUNCTION(0x0, "gpio_in"), 226 + SUNXI_FUNCTION(0x1, "gpio_out"), 227 + SUNXI_FUNCTION(0x2, "lcd"), /* D20 */ 228 + SUNXI_FUNCTION(0x3, "lvds"), /* VP1 */ 229 + SUNXI_FUNCTION(0x4, "emac")), /* TXERR */ 230 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 15), 231 + PINCTRL_SUN8I_V3, 232 + SUNXI_FUNCTION(0x0, "gpio_in"), 233 + SUNXI_FUNCTION(0x1, "gpio_out"), 234 + SUNXI_FUNCTION(0x2, "lcd"), /* D21 */ 235 + SUNXI_FUNCTION(0x3, "lvds"), /* VN1 */ 236 + SUNXI_FUNCTION(0x4, "emac")), /* CLKIN/COL */ 237 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 16), 238 + PINCTRL_SUN8I_V3, 239 + SUNXI_FUNCTION(0x0, "gpio_in"), 240 + SUNXI_FUNCTION(0x1, "gpio_out"), 241 + SUNXI_FUNCTION(0x2, "lcd"), /* D22 */ 242 + SUNXI_FUNCTION(0x3, "lvds"), /* VP2 */ 243 + SUNXI_FUNCTION(0x4, "emac")), /* MDC */ 244 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 17), 245 + PINCTRL_SUN8I_V3, 246 + SUNXI_FUNCTION(0x0, "gpio_in"), 247 + SUNXI_FUNCTION(0x1, "gpio_out"), 248 + SUNXI_FUNCTION(0x2, "lcd"), /* D23 */ 249 + SUNXI_FUNCTION(0x3, "lvds"), /* VN2 */ 250 + SUNXI_FUNCTION(0x4, "emac")), /* MDIO */ 251 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 18), 252 + PINCTRL_SUN8I_V3, 253 + SUNXI_FUNCTION(0x0, "gpio_in"), 254 + SUNXI_FUNCTION(0x1, "gpio_out"), 255 + SUNXI_FUNCTION(0x2, "lcd"), /* CLK */ 256 + SUNXI_FUNCTION(0x3, "lvds")), /* VPC */ 257 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 19), 258 + PINCTRL_SUN8I_V3, 259 + SUNXI_FUNCTION(0x0, "gpio_in"), 260 + SUNXI_FUNCTION(0x1, "gpio_out"), 261 + SUNXI_FUNCTION(0x2, "lcd"), /* DE */ 262 + SUNXI_FUNCTION(0x3, "lvds")), /* VNC */ 263 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 20), 264 + PINCTRL_SUN8I_V3, 265 + SUNXI_FUNCTION(0x0, "gpio_in"), 266 + SUNXI_FUNCTION(0x1, "gpio_out"), 267 + SUNXI_FUNCTION(0x2, "lcd"), /* HSYNC */ 268 + SUNXI_FUNCTION(0x3, "lvds")), /* VP3 */ 269 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(D, 21), 270 + PINCTRL_SUN8I_V3, 271 + SUNXI_FUNCTION(0x0, "gpio_in"), 272 + SUNXI_FUNCTION(0x1, "gpio_out"), 273 + SUNXI_FUNCTION(0x2, "lcd"), /* VSYNC */ 274 + SUNXI_FUNCTION(0x3, "lvds")), /* VN3 */ 125 275 /* Hole */ 126 276 SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 0), 127 277 SUNXI_FUNCTION(0x0, "gpio_in"), ··· 489 291 SUNXI_FUNCTION(0x1, "gpio_out"), 490 292 SUNXI_FUNCTION(0x2, "mmc1"), /* D3 */ 491 293 SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 5)), /* PG_EINT5 */ 294 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 6), 295 + PINCTRL_SUN8I_V3, 296 + SUNXI_FUNCTION(0x0, "gpio_in"), 297 + SUNXI_FUNCTION(0x1, "gpio_out"), 298 + SUNXI_FUNCTION(0x2, "uart1"), /* TX */ 299 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 6)), /* PG_EINT6 */ 300 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 7), 301 + PINCTRL_SUN8I_V3, 302 + SUNXI_FUNCTION(0x0, "gpio_in"), 303 + SUNXI_FUNCTION(0x1, "gpio_out"), 304 + SUNXI_FUNCTION(0x2, "uart1"), /* RX */ 305 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 7)), /* PG_EINT7 */ 306 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 8), 307 + PINCTRL_SUN8I_V3, 308 + SUNXI_FUNCTION(0x0, "gpio_in"), 309 + SUNXI_FUNCTION(0x1, "gpio_out"), 310 + SUNXI_FUNCTION(0x2, "uart1"), /* RTS */ 311 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 8)), /* PG_EINT8 */ 312 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 9), 313 + PINCTRL_SUN8I_V3, 314 + SUNXI_FUNCTION(0x0, "gpio_in"), 315 + SUNXI_FUNCTION(0x1, "gpio_out"), 316 + SUNXI_FUNCTION(0x2, "uart1"), /* CTS */ 317 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 9)), /* PG_EINT9 */ 318 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 10), 319 + PINCTRL_SUN8I_V3, 320 + SUNXI_FUNCTION(0x0, "gpio_in"), 321 + SUNXI_FUNCTION(0x1, "gpio_out"), 322 + SUNXI_FUNCTION(0x2, "i2s"), /* SYNC */ 323 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 10)), /* PG_EINT10 */ 324 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 11), 325 + PINCTRL_SUN8I_V3, 326 + SUNXI_FUNCTION(0x0, "gpio_in"), 327 + SUNXI_FUNCTION(0x1, "gpio_out"), 328 + SUNXI_FUNCTION(0x2, "i2s"), /* BCLK */ 329 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 11)), /* PG_EINT11 */ 330 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 12), 331 + PINCTRL_SUN8I_V3, 332 + SUNXI_FUNCTION(0x0, "gpio_in"), 333 + SUNXI_FUNCTION(0x1, "gpio_out"), 334 + SUNXI_FUNCTION(0x2, "i2s"), /* DOUT */ 335 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 12)), /* PG_EINT12 */ 336 + SUNXI_PIN_VARIANT(SUNXI_PINCTRL_PIN(G, 13), 337 + PINCTRL_SUN8I_V3, 338 + SUNXI_FUNCTION(0x0, "gpio_in"), 339 + SUNXI_FUNCTION(0x1, "gpio_out"), 340 + SUNXI_FUNCTION(0x2, "i2s"), /* DIN */ 341 + SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 13)), /* PG_EINT13 */ 492 342 }; 493 343 494 344 static const unsigned int sun8i_v3s_pinctrl_irq_bank_map[] = { 1, 2 }; ··· 551 305 552 306 static int sun8i_v3s_pinctrl_probe(struct platform_device *pdev) 553 307 { 554 - return sunxi_pinctrl_init(pdev, 555 - &sun8i_v3s_pinctrl_data); 308 + unsigned long variant = (unsigned long)of_device_get_match_data(&pdev->dev); 309 + 310 + return sunxi_pinctrl_init_with_variant(pdev, &sun8i_v3s_pinctrl_data, 311 + variant); 556 312 } 557 313 558 314 static const struct of_device_id sun8i_v3s_pinctrl_match[] = { 559 - { .compatible = "allwinner,sun8i-v3s-pinctrl", }, 560 - {} 315 + { 316 + .compatible = "allwinner,sun8i-v3-pinctrl", 317 + .data = (void *)PINCTRL_SUN8I_V3 318 + }, 319 + { 320 + .compatible = "allwinner,sun8i-v3s-pinctrl", 321 + .data = (void *)PINCTRL_SUN8I_V3S 322 + }, 323 + { }, 561 324 }; 562 325 563 326 static struct platform_driver sun8i_v3s_pinctrl_driver = {
+2
drivers/pinctrl/sunxi/pinctrl-sunxi.h
··· 94 94 #define PINCTRL_SUN4I_A10 BIT(6) 95 95 #define PINCTRL_SUN7I_A20 BIT(7) 96 96 #define PINCTRL_SUN8I_R40 BIT(8) 97 + #define PINCTRL_SUN8I_V3 BIT(9) 98 + #define PINCTRL_SUN8I_V3S BIT(10) 97 99 98 100 #define PIO_POW_MOD_SEL_REG 0x340 99 101
+66 -1
drivers/pinctrl/tegra/pinctrl-tegra.c
··· 32 32 33 33 static inline void pmx_writel(struct tegra_pmx *pmx, u32 val, u32 bank, u32 reg) 34 34 { 35 - writel(val, pmx->regs[bank] + reg); 35 + writel_relaxed(val, pmx->regs[bank] + reg); 36 + /* make sure pinmux register write completed */ 37 + pmx_readl(pmx, bank, reg); 36 38 } 37 39 38 40 static int tegra_pinctrl_get_groups_count(struct pinctrl_dev *pctldev) ··· 633 631 } 634 632 } 635 633 634 + static size_t tegra_pinctrl_get_bank_size(struct device *dev, 635 + unsigned int bank_id) 636 + { 637 + struct platform_device *pdev = to_platform_device(dev); 638 + struct resource *res; 639 + 640 + res = platform_get_resource(pdev, IORESOURCE_MEM, bank_id); 641 + 642 + return resource_size(res) / 4; 643 + } 644 + 645 + static int tegra_pinctrl_suspend(struct device *dev) 646 + { 647 + struct tegra_pmx *pmx = dev_get_drvdata(dev); 648 + u32 *backup_regs = pmx->backup_regs; 649 + u32 *regs; 650 + size_t bank_size; 651 + unsigned int i, k; 652 + 653 + for (i = 0; i < pmx->nbanks; i++) { 654 + bank_size = tegra_pinctrl_get_bank_size(dev, i); 655 + regs = pmx->regs[i]; 656 + for (k = 0; k < bank_size; k++) 657 + *backup_regs++ = readl_relaxed(regs++); 658 + } 659 + 660 + return pinctrl_force_sleep(pmx->pctl); 661 + } 662 + 663 + static int tegra_pinctrl_resume(struct device *dev) 664 + { 665 + struct tegra_pmx *pmx = dev_get_drvdata(dev); 666 + u32 *backup_regs = pmx->backup_regs; 667 + u32 *regs; 668 + size_t bank_size; 669 + unsigned int i, k; 670 + 671 + for (i = 0; i < pmx->nbanks; i++) { 672 + bank_size = tegra_pinctrl_get_bank_size(dev, i); 673 + regs = pmx->regs[i]; 674 + for (k = 0; k < bank_size; k++) 675 + writel_relaxed(*backup_regs++, regs++); 676 + } 677 + 678 + /* flush all the prior writes */ 679 + readl_relaxed(pmx->regs[0]); 680 + /* wait for pinctrl register read to complete */ 681 + rmb(); 682 + return 0; 683 + } 684 + 685 + const struct dev_pm_ops tegra_pinctrl_pm = { 686 + .suspend = &tegra_pinctrl_suspend, 687 + .resume = &tegra_pinctrl_resume 688 + }; 689 + 636 690 static bool gpio_node_has_range(const char *compatible) 637 691 { 638 692 struct device_node *np; ··· 713 655 int i; 714 656 const char **group_pins; 715 657 int fn, gn, gfn; 658 + unsigned long backup_regs_size = 0; 716 659 717 660 pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL); 718 661 if (!pmx) ··· 766 707 res = platform_get_resource(pdev, IORESOURCE_MEM, i); 767 708 if (!res) 768 709 break; 710 + backup_regs_size += resource_size(res); 769 711 } 770 712 pmx->nbanks = i; 771 713 772 714 pmx->regs = devm_kcalloc(&pdev->dev, pmx->nbanks, sizeof(*pmx->regs), 773 715 GFP_KERNEL); 774 716 if (!pmx->regs) 717 + return -ENOMEM; 718 + 719 + pmx->backup_regs = devm_kzalloc(&pdev->dev, backup_regs_size, 720 + GFP_KERNEL); 721 + if (!pmx->backup_regs) 775 722 return -ENOMEM; 776 723 777 724 for (i = 0; i < pmx->nbanks; i++) {
+3
drivers/pinctrl/tegra/pinctrl-tegra.h
··· 17 17 18 18 int nbanks; 19 19 void __iomem **regs; 20 + u32 *backup_regs; 20 21 }; 21 22 22 23 enum tegra_pinconf_param { ··· 193 192 bool schmitt_in_mux; 194 193 bool drvtype_in_mux; 195 194 }; 195 + 196 + extern const struct dev_pm_ops tegra_pinctrl_pm; 196 197 197 198 int tegra_pinctrl_probe(struct platform_device *pdev, 198 199 const struct tegra_pinctrl_soc_data *soc_data);
+1
drivers/pinctrl/tegra/pinctrl-tegra210.c
··· 1571 1571 .driver = { 1572 1572 .name = "tegra210-pinctrl", 1573 1573 .of_match_table = tegra210_pinctrl_of_match, 1574 + .pm = &tegra_pinctrl_pm, 1574 1575 }, 1575 1576 .probe = tegra210_pinctrl_probe, 1576 1577 };
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
··· 526 526 static const int uart2_muxvals[] = {1, 1}; 527 527 static const unsigned uart3_pins[] = {94, 95}; 528 528 static const int uart3_muxvals[] = {1, 1}; 529 - static const unsigned uart3_ctsrts_pins[] = {96, 97, 98, 99, 100, 101}; 530 - static const int uart3_ctsrts_muxvals[] = {1, 1, 1, 1, 1, 1}; 529 + static const unsigned uart3_ctsrts_pins[] = {96, 98}; 530 + static const int uart3_ctsrts_muxvals[] = {1, 1}; 531 + static const unsigned uart3_modem_pins[] = {97, 99, 100, 101}; 532 + static const int uart3_modem_muxvals[] = {1, 1, 1, 1}; 531 533 static const unsigned usb0_pins[] = {46, 47}; 532 534 static const int usb0_muxvals[] = {0, 0}; 533 535 static const unsigned usb1_pins[] = {48, 49}; ··· 602 600 UNIPHIER_PINCTRL_GROUP(uart2), 603 601 UNIPHIER_PINCTRL_GROUP(uart3), 604 602 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 603 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 605 604 UNIPHIER_PINCTRL_GROUP(usb0), 606 605 UNIPHIER_PINCTRL_GROUP(usb1), 607 606 UNIPHIER_PINCTRL_GROUP(usb2), ··· 639 636 static const char * const uart0_groups[] = {"uart0"}; 640 637 static const char * const uart1_groups[] = {"uart1"}; 641 638 static const char * const uart2_groups[] = {"uart2"}; 642 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 639 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 640 + "uart3_modem"}; 643 641 static const char * const usb0_groups[] = {"usb0"}; 644 642 static const char * const usb1_groups[] = {"usb1"}; 645 643 static const char * const usb2_groups[] = {"usb2"};
+16 -4
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
··· 544 544 545 545 static const unsigned aout1_pins[] = {137, 138, 139, 140, 141, 142}; 546 546 static const int aout1_muxvals[] = {0, 0, 0, 0, 0, 0}; 547 + static const unsigned aout1b_pins[] = {150, 151, 152, 153, 154, 155, 156}; 548 + static const int aout1b_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; 547 549 static const unsigned aoutiec1_pins[] = {135, 136}; 548 550 static const int aoutiec1_muxvals[] = {0, 0}; 549 551 static const unsigned int emmc_pins[] = {19, 20, 21, 22, 23, 24, 25}; ··· 576 574 static const int hscin2_s_muxvals[] = {3, 3, 3, 3}; 577 575 static const unsigned hscin3_s_pins[] = {129, 130, 131, 132}; 578 576 static const int hscin3_s_muxvals[] = {3, 3, 3, 3}; 577 + static const unsigned hscin4_s_pins[] = {80, 81, 82, 83}; 578 + static const int hscin4_s_muxvals[] = {3, 3, 3, 3}; 579 579 static const unsigned hscout0_ci_pins[] = {113, 114, 115, 116, 117, 118, 119, 580 580 120, 121, 122, 123}; 581 581 static const int hscout0_ci_muxvals[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; ··· 623 619 static const int uart2_muxvals[] = {1, 1}; 624 620 static const unsigned uart3_pins[] = {94, 95}; 625 621 static const int uart3_muxvals[] = {1, 1}; 626 - static const unsigned uart3_ctsrts_pins[] = {96, 97, 98, 99, 100, 101}; 627 - static const int uart3_ctsrts_muxvals[] = {1, 1, 1, 1, 1, 1}; 622 + static const unsigned uart3_ctsrts_pins[] = {96, 98}; 623 + static const int uart3_ctsrts_muxvals[] = {1, 1}; 624 + static const unsigned uart3_modem_pins[] = {97, 99, 100, 101}; 625 + static const int uart3_modem_muxvals[] = {1, 1, 1, 1}; 628 626 static const unsigned usb0_pins[] = {46, 47}; 629 627 static const int usb0_muxvals[] = {0, 0}; 630 628 static const unsigned usb1_pins[] = {48, 49}; ··· 668 662 669 663 static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = { 670 664 UNIPHIER_PINCTRL_GROUP(aout1), 665 + UNIPHIER_PINCTRL_GROUP(aout1b), 671 666 UNIPHIER_PINCTRL_GROUP(aoutiec1), 672 667 UNIPHIER_PINCTRL_GROUP(emmc), 673 668 UNIPHIER_PINCTRL_GROUP(emmc_dat8), ··· 681 674 UNIPHIER_PINCTRL_GROUP(hscin1_s), 682 675 UNIPHIER_PINCTRL_GROUP(hscin2_s), 683 676 UNIPHIER_PINCTRL_GROUP(hscin3_s), 677 + UNIPHIER_PINCTRL_GROUP(hscin4_s), 684 678 UNIPHIER_PINCTRL_GROUP(hscout0_ci), 685 679 UNIPHIER_PINCTRL_GROUP(hscout0_p), 686 680 UNIPHIER_PINCTRL_GROUP(hscout0_s), ··· 703 695 UNIPHIER_PINCTRL_GROUP(uart2), 704 696 UNIPHIER_PINCTRL_GROUP(uart3), 705 697 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 698 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 706 699 UNIPHIER_PINCTRL_GROUP(usb0), 707 700 UNIPHIER_PINCTRL_GROUP(usb1), 708 701 UNIPHIER_PINCTRL_GROUP(usb2), ··· 713 704 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range2), 714 705 }; 715 706 716 - static const char * const aout1_groups[] = {"aout1"}; 707 + static const char * const aout1_groups[] = {"aout1", "aout1b"}; 717 708 static const char * const aoutiec1_groups[] = {"aoutiec1"}; 718 709 static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; 719 710 static const char * const ether_rgmii_groups[] = {"ether_rgmii"}; ··· 724 715 static const char * const hscin1_groups[] = {"hscin1_p", "hscin1_s"}; 725 716 static const char * const hscin2_groups[] = {"hscin2_s"}; 726 717 static const char * const hscin3_groups[] = {"hscin3_s"}; 718 + static const char * const hscin4_groups[] = {"hscin4_s"}; 727 719 static const char * const hscout0_groups[] = {"hscout0_ci", 728 720 "hscout0_p", 729 721 "hscout0_s"}; ··· 744 734 static const char * const uart0_groups[] = {"uart0"}; 745 735 static const char * const uart1_groups[] = {"uart1"}; 746 736 static const char * const uart2_groups[] = {"uart2"}; 747 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 737 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 738 + "uart3_modem"}; 748 739 static const char * const usb0_groups[] = {"usb0"}; 749 740 static const char * const usb1_groups[] = {"usb1"}; 750 741 static const char * const usb2_groups[] = {"usb2"}; ··· 761 750 UNIPHIER_PINMUX_FUNCTION(hscin1), 762 751 UNIPHIER_PINMUX_FUNCTION(hscin2), 763 752 UNIPHIER_PINMUX_FUNCTION(hscin3), 753 + UNIPHIER_PINMUX_FUNCTION(hscin4), 764 754 UNIPHIER_PINMUX_FUNCTION(hscout0), 765 755 UNIPHIER_PINMUX_FUNCTION(hscout1), 766 756 UNIPHIER_PINMUX_FUNCTION(i2c0),
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
··· 583 583 static const int system_bus_cs3_muxvals[] = {1}; 584 584 static const unsigned uart0_pins[] = {85, 88}; 585 585 static const int uart0_muxvals[] = {1, 1}; 586 - static const unsigned uart0_ctsrts_pins[] = {86, 87, 89}; 587 - static const int uart0_ctsrts_muxvals[] = {1, 1, 1}; 586 + static const unsigned uart0_ctsrts_pins[] = {86, 89}; 587 + static const int uart0_ctsrts_muxvals[] = {1, 1}; 588 + static const unsigned uart0_modem_pins[] = {87}; 589 + static const int uart0_modem_muxvals[] = {1}; 588 590 static const unsigned uart1_pins[] = {155, 156}; 589 591 static const int uart1_muxvals[] = {13, 13}; 590 592 static const unsigned uart1b_pins[] = {69, 70}; ··· 643 641 UNIPHIER_PINCTRL_GROUP(system_bus_cs3), 644 642 UNIPHIER_PINCTRL_GROUP(uart0), 645 643 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 644 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 646 645 UNIPHIER_PINCTRL_GROUP(uart1), 647 646 UNIPHIER_PINCTRL_GROUP(uart1b), 648 647 UNIPHIER_PINCTRL_GROUP(uart2), ··· 670 667 "system_bus_cs1", 671 668 "system_bus_cs2", 672 669 "system_bus_cs3"}; 673 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 670 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 671 + "uart0_modem"}; 674 672 static const char * const uart1_groups[] = {"uart1", "uart1b"}; 675 673 static const char * const uart2_groups[] = {"uart2"}; 676 674 static const char * const uart3_groups[] = {"uart3"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
··· 780 780 static const int system_bus_cs5_muxvals[] = {6}; 781 781 static const unsigned uart0_pins[] = {135, 136}; 782 782 static const int uart0_muxvals[] = {3, 3}; 783 - static const unsigned uart0_ctsrts_pins[] = {137, 138, 139, 140, 141, 124}; 784 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 783 + static const unsigned uart0_ctsrts_pins[] = {137, 139}; 784 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 785 + static const unsigned uart0_modem_pins[] = {124, 138, 140, 141}; 786 + static const int uart0_modem_muxvals[] = {3, 3, 3, 3}; 785 787 static const unsigned uart0b_pins[] = {11, 12}; 786 788 static const int uart0b_muxvals[] = {2, 2}; 787 789 static const unsigned uart1_pins[] = {115, 116}; ··· 858 856 UNIPHIER_PINCTRL_GROUP(system_bus_cs5), 859 857 UNIPHIER_PINCTRL_GROUP(uart0), 860 858 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 859 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 861 860 UNIPHIER_PINCTRL_GROUP(uart0b), 862 861 UNIPHIER_PINCTRL_GROUP(uart1), 863 862 UNIPHIER_PINCTRL_GROUP(uart1b), ··· 890 887 "system_bus_cs3", 891 888 "system_bus_cs4", 892 889 "system_bus_cs5"}; 893 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", "uart0b"}; 890 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 891 + "uart0_modem", "uart0b"}; 894 892 static const char * const uart1_groups[] = {"uart1", "uart1b"}; 895 893 static const char * const uart2_groups[] = {"uart2", "uart2b"}; 896 894 static const char * const usb0_groups[] = {"usb0"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
··· 1072 1072 static const int uart2_muxvals[] = {0, 0}; 1073 1073 static const unsigned uart3_pins[] = {88, 89}; 1074 1074 static const int uart3_muxvals[] = {2, 2}; 1075 - static const unsigned uart3_ctsrts_pins[] = {80, 81, 82, 83, 90, 91}; 1076 - static const int uart3_ctsrts_muxvals[] = {2, 2, 2, 2, 2, 2}; 1075 + static const unsigned uart3_ctsrts_pins[] = {90, 91}; 1076 + static const int uart3_ctsrts_muxvals[] = {2, 2}; 1077 + static const unsigned uart3_modem_pins[] = {80, 81, 82, 83}; 1078 + static const int uart3_modem_muxvals[] = {2, 2, 2, 2}; 1077 1079 static const unsigned usb0_pins[] = {180, 181}; 1078 1080 static const int usb0_muxvals[] = {0, 0}; 1079 1081 static const unsigned usb1_pins[] = {182, 183}; ··· 1150 1148 UNIPHIER_PINCTRL_GROUP(uart2), 1151 1149 UNIPHIER_PINCTRL_GROUP(uart3), 1152 1150 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 1151 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 1153 1152 UNIPHIER_PINCTRL_GROUP(usb0), 1154 1153 UNIPHIER_PINCTRL_GROUP(usb1), 1155 1154 UNIPHIER_PINCTRL_GROUP(usb2), ··· 1184 1181 static const char * const uart0_groups[] = {"uart0"}; 1185 1182 static const char * const uart1_groups[] = {"uart1"}; 1186 1183 static const char * const uart2_groups[] = {"uart2"}; 1187 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 1184 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 1185 + "uart3_modem"}; 1188 1186 static const char * const usb0_groups[] = {"usb0"}; 1189 1187 static const char * const usb1_groups[] = {"usb1"}; 1190 1188 static const char * const usb2_groups[] = {"usb2"};
+13 -4
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
··· 807 807 static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 808 808 static const unsigned nand_cs1_pins[] = {26, 27}; 809 809 static const int nand_cs1_muxvals[] = {0, 0}; 810 - static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258}; 810 + static const unsigned pcie_pins[] = {109, 110, 111}; 811 + static const int pcie_muxvals[] = {0, 0, 0}; 812 + static const unsigned sd_pins[] = {247, 248, 249, 250, 251, 252, 253, 254, 255}; 811 813 static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 812 814 static const unsigned spi0_pins[] = {120, 121, 122, 123}; 813 815 static const int spi0_muxvals[] = {0, 0, 0, 0}; ··· 841 839 static const int uart0_muxvals[] = {0, 0}; 842 840 static const unsigned uart0b_pins[] = {227, 228}; 843 841 static const int uart0b_muxvals[] = {3, 3}; 844 - static const unsigned uart0b_ctsrts_pins[] = {229, 230, 231, 232, 233, 234}; 845 - static const int uart0b_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 842 + static const unsigned uart0b_ctsrts_pins[] = {232, 233}; 843 + static const int uart0b_ctsrts_muxvals[] = {3, 3}; 844 + static const unsigned uart0b_modem_pins[] = {229, 230, 231, 234}; 845 + static const int uart0b_modem_muxvals[] = {3, 3, 3, 3}; 846 846 static const unsigned uart1_pins[] = {49, 50}; 847 847 static const int uart1_muxvals[] = {0, 0}; 848 848 static const unsigned uart2_pins[] = {51, 52}; ··· 904 900 UNIPHIER_PINCTRL_GROUP(i2c5b), 905 901 UNIPHIER_PINCTRL_GROUP(i2c5c), 906 902 UNIPHIER_PINCTRL_GROUP(i2c6), 903 + UNIPHIER_PINCTRL_GROUP(pcie), 907 904 UNIPHIER_PINCTRL_GROUP(sd), 908 905 UNIPHIER_PINCTRL_GROUP(spi0), 909 906 UNIPHIER_PINCTRL_GROUP(spi1), ··· 921 916 UNIPHIER_PINCTRL_GROUP(uart0), 922 917 UNIPHIER_PINCTRL_GROUP(uart0b), 923 918 UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), 919 + UNIPHIER_PINCTRL_GROUP(uart0b_modem), 924 920 UNIPHIER_PINCTRL_GROUP(uart1), 925 921 UNIPHIER_PINCTRL_GROUP(uart2), 926 922 UNIPHIER_PINCTRL_GROUP(uart3), ··· 939 933 static const char * const i2c5_groups[] = {"i2c5", "i2c5b", "i2c5c"}; 940 934 static const char * const i2c6_groups[] = {"i2c6"}; 941 935 static const char * const nand_groups[] = {"nand", "nand_cs1"}; 936 + static const char * const pcie_groups[] = {"pcie"}; 942 937 static const char * const sd_groups[] = {"sd"}; 943 938 static const char * const spi0_groups[] = {"spi0"}; 944 939 static const char * const spi1_groups[] = {"spi1"}; ··· 953 946 "system_bus_cs5", 954 947 "system_bus_cs6", 955 948 "system_bus_cs7"}; 956 - static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; 949 + static const char * const uart0_groups[] = {"uart0", "uart0b", 950 + "uart0b_ctsrts", "uart0b_modem"}; 957 951 static const char * const uart1_groups[] = {"uart1"}; 958 952 static const char * const uart2_groups[] = {"uart2"}; 959 953 static const char * const uart3_groups[] = {"uart3"}; ··· 971 963 UNIPHIER_PINMUX_FUNCTION(i2c5), 972 964 UNIPHIER_PINMUX_FUNCTION(i2c6), 973 965 UNIPHIER_PINMUX_FUNCTION(nand), 966 + UNIPHIER_PINMUX_FUNCTION(pcie), 974 967 UNIPHIER_PINMUX_FUNCTION(sd), 975 968 UNIPHIER_PINMUX_FUNCTION(spi0), 976 969 UNIPHIER_PINMUX_FUNCTION(spi1),
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
··· 783 783 static const int uart0_muxvals[] = {8, 8}; 784 784 static const unsigned uart0b_pins[] = {179, 180}; 785 785 static const int uart0b_muxvals[] = {10, 10}; 786 - static const unsigned uart0b_ctsrts_pins[] = {176, 177, 178, 183, 184, 185}; 787 - static const int uart0b_ctsrts_muxvals[] = {10, 10, 10, 10, 10, 10}; 786 + static const unsigned uart0b_ctsrts_pins[] = {183, 185}; 787 + static const int uart0b_ctsrts_muxvals[] = {10, 10}; 788 + static const unsigned uart0b_modem_pins[] = {176, 177, 178, 184}; 789 + static const int uart0b_modem_muxvals[] = {10, 10, 10, 10}; 788 790 static const unsigned uart1_pins[] = {115, 116}; 789 791 static const int uart1_muxvals[] = {8, 8}; 790 792 static const unsigned uart2_pins[] = {113, 114}; ··· 865 863 UNIPHIER_PINCTRL_GROUP(uart0), 866 864 UNIPHIER_PINCTRL_GROUP(uart0b), 867 865 UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), 866 + UNIPHIER_PINCTRL_GROUP(uart0b_modem), 868 867 UNIPHIER_PINCTRL_GROUP(uart1), 869 868 UNIPHIER_PINCTRL_GROUP(uart2), 870 869 UNIPHIER_PINCTRL_GROUP(uart3), ··· 901 898 static const char * const spi1_groups[] = {"spi1"}; 902 899 static const char * const system_bus_groups[] = {"system_bus", 903 900 "system_bus_cs1"}; 904 - static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; 901 + static const char * const uart0_groups[] = {"uart0", "uart0b", 902 + "uart0b_ctsrts", "uart0b_modem"}; 905 903 static const char * const uart1_groups[] = {"uart1"}; 906 904 static const char * const uart2_groups[] = {"uart2"}; 907 905 static const char * const uart3_groups[] = {"uart3", "uart3b"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs3.c
··· 811 811 static const int system_bus_cs1_muxvals[] = {0}; 812 812 static const unsigned int uart0_pins[] = {92, 93}; 813 813 static const int uart0_muxvals[] = {0, 0}; 814 - static const unsigned int uart0_ctsrts_pins[] = {243, 244, 245, 246, 247, 248}; 815 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 814 + static const unsigned int uart0_ctsrts_pins[] = {243, 247}; 815 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 816 + static const unsigned int uart0_modem_pins[] = {244, 245, 246, 248}; 817 + static const int uart0_modem_muxvals[] = {3, 3, 3, 3}; 816 818 static const unsigned int uart1_pins[] = {94, 95}; 817 819 static const int uart1_muxvals[] = {0, 0}; 818 820 static const unsigned int uart2_pins[] = {96, 97}; ··· 889 887 UNIPHIER_PINCTRL_GROUP(system_bus_cs1), 890 888 UNIPHIER_PINCTRL_GROUP(uart0), 891 889 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 890 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 892 891 UNIPHIER_PINCTRL_GROUP(uart1), 893 892 UNIPHIER_PINCTRL_GROUP(uart2), 894 893 UNIPHIER_PINCTRL_GROUP(uart3), ··· 917 914 static const char * const spi1_groups[] = {"spi1"}; 918 915 static const char * const system_bus_groups[] = {"system_bus", 919 916 "system_bus_cs1"}; 920 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 917 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 918 + "uart0_modem"}; 921 919 static const char * const uart1_groups[] = {"uart1"}; 922 920 static const char * const uart2_groups[] = {"uart2"}; 923 921 static const char * const uart3_groups[] = {"uart3"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
··· 513 513 static const int system_bus_cs5_muxvals[] = {1}; 514 514 static const unsigned uart0_pins[] = {70, 71}; 515 515 static const int uart0_muxvals[] = {3, 3}; 516 - static const unsigned uart0_ctsrts_pins[] = {72, 73, 74}; 517 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3}; 516 + static const unsigned uart0_ctsrts_pins[] = {72, 74}; 517 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 518 + static const unsigned uart0_modem_pins[] = {73}; 519 + static const int uart0_modem_muxvals[] = {3}; 518 520 static const unsigned uart1_pins[] = {114, 115}; 519 521 static const int uart1_muxvals[] = {0, 0}; 520 522 static const unsigned uart2_pins[] = {112, 113}; ··· 574 572 UNIPHIER_PINCTRL_GROUP(system_bus_cs5), 575 573 UNIPHIER_PINCTRL_GROUP(uart0), 576 574 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 575 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 577 576 UNIPHIER_PINCTRL_GROUP(uart1), 578 577 UNIPHIER_PINCTRL_GROUP(uart2), 579 578 UNIPHIER_PINCTRL_GROUP(uart3), ··· 602 599 "system_bus_cs3", 603 600 "system_bus_cs4", 604 601 "system_bus_cs5"}; 605 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 602 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 603 + "uart0_modem"}; 606 604 static const char * const uart1_groups[] = {"uart1"}; 607 605 static const char * const uart2_groups[] = {"uart2"}; 608 606 static const char * const uart3_groups[] = {"uart3"};
+6
include/linux/pinctrl/consumer.h
··· 24 24 #ifdef CONFIG_PINCTRL 25 25 26 26 /* External interface to pin control */ 27 + extern bool pinctrl_gpio_can_use_line(unsigned gpio); 27 28 extern int pinctrl_gpio_request(unsigned gpio); 28 29 extern void pinctrl_gpio_free(unsigned gpio); 29 30 extern int pinctrl_gpio_direction_input(unsigned gpio); ··· 61 60 #endif 62 61 63 62 #else /* !CONFIG_PINCTRL */ 63 + 64 + static inline bool pinctrl_gpio_can_use_line(unsigned gpio) 65 + { 66 + return true; 67 + } 64 68 65 69 static inline int pinctrl_gpio_request(unsigned gpio) 66 70 {
+6
include/linux/platform_data/pinctrl-single.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 + 3 + #ifndef _PINCTRL_SINGLE_H 4 + #define _PINCTRL_SINGLE_H 5 + 2 6 /** 3 7 * irq: optional wake-up interrupt 4 8 * rearm: optional soc specific rearm function ··· 15 11 int irq; 16 12 void (*rearm)(void); 17 13 }; 14 + 15 + #endif /* _PINCTRL_SINGLE_H */