1====================== 2Aspeed Pin Controllers 3====================== 4 5The Aspeed SoCs vary in functionality inside a generation but have a common mux 6device register layout. 7 8Required properties for g4: 9- compatible : Should be one of the following: 10 "aspeed,ast2400-pinctrl" 11 "aspeed,g4-pinctrl" 12 13Required properties for g5: 14- compatible : Should be one of the following: 15 "aspeed,ast2500-pinctrl" 16 "aspeed,g5-pinctrl" 17 18- aspeed,external-nodes: A cell of phandles to external controller nodes: 19 0: compatible with "aspeed,ast2500-gfx", "syscon" 20 1: compatible with "aspeed,ast2500-lhc", "syscon" 21 22The pin controller node should be the child of a syscon node with the required 23property: 24 25- compatible : Should be one of the following: 26 "aspeed,ast2400-scu", "syscon", "simple-mfd" 27 "aspeed,g4-scu", "syscon", "simple-mfd" 28 "aspeed,ast2500-scu", "syscon", "simple-mfd" 29 "aspeed,g5-scu", "syscon", "simple-mfd" 30 31Refer to the the bindings described in 32Documentation/devicetree/bindings/mfd/syscon.txt 33 34Subnode Format 35============== 36 37The required properties of pinmux child nodes are: 38- function: the mux function to select 39- groups : the list of groups to select with this function 40 41Required properties of pinconf child nodes are: 42- groups: A list of groups to select (either this or "pins" must be 43 specified) 44- pins : A list of ball names as strings, eg "D14" (either this or "groups" 45 must be specified) 46 47Optional properties of pinconf child nodes are: 48- bias-disable : disable any pin bias 49- bias-pull-down: pull down the pin 50- drive-strength: sink or source at most X mA 51 52Definitions are as specified in 53Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt, with any 54further limitations as described above. 55 56For pinmux, each mux function has only one associated pin group. Each group is 57named by its function. The following values for the function and groups 58properties are supported: 59 60aspeed,ast2400-pinctrl, aspeed,g4-pinctrl: 61 62ACPI ADC0 ADC1 ADC10 ADC11 ADC12 ADC13 ADC14 ADC15 ADC2 ADC3 ADC4 ADC5 ADC6 63ADC7 ADC8 ADC9 BMCINT DDCCLK DDCDAT EXTRST FLACK FLBUSY FLWP GPID GPID0 GPID2 64GPID4 GPID6 GPIE0 GPIE2 GPIE4 GPIE6 I2C10 I2C11 I2C12 I2C13 I2C14 I2C3 I2C4 65I2C5 I2C6 I2C7 I2C8 I2C9 LPCPD LPCPME LPCRST LPCSMI MAC1LINK MAC2LINK MDIO1 66MDIO2 NCTS1 NCTS2 NCTS3 NCTS4 NDCD1 NDCD2 NDCD3 NDCD4 NDSR1 NDSR2 NDSR3 NDSR4 67NDTR1 NDTR2 NDTR3 NDTR4 NDTS4 NRI1 NRI2 NRI3 NRI4 NRTS1 NRTS2 NRTS3 OSCCLK PWM0 68PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7 RGMII1 RGMII2 RMII1 RMII2 ROM16 ROM8 ROMCS1 69ROMCS2 ROMCS3 ROMCS4 RXD1 RXD2 RXD3 RXD4 SALT1 SALT2 SALT3 SALT4 SD1 SD2 SGPMCK 70SGPMI SGPMLD SGPMO SGPSCK SGPSI0 SGPSI1 SGPSLD SIOONCTRL SIOPBI SIOPBO SIOPWREQ 71SIOPWRGD SIOS3 SIOS5 SIOSCI SPI1 SPI1DEBUG SPI1PASSTHRU SPICS1 TIMER3 TIMER4 72TIMER5 TIMER6 TIMER7 TIMER8 TXD1 TXD2 TXD3 TXD4 UART6 USB11D1 USB11H2 USB2D1 73USB2H1 USBCKI VGABIOS_ROM VGAHS VGAVS VPI18 VPI24 VPI30 VPO12 VPO24 WDTRST1 74WDTRST2 75 76aspeed,ast2500-pinctrl, aspeed,g5-pinctrl: 77 78ACPI ADC0 ADC1 ADC10 ADC11 ADC12 ADC13 ADC14 ADC15 ADC2 ADC3 ADC4 ADC5 ADC6 79ADC7 ADC8 ADC9 BMCINT DDCCLK DDCDAT ESPI FWSPICS1 FWSPICS2 GPID0 GPID2 GPID4 80GPID6 GPIE0 GPIE2 GPIE4 GPIE6 I2C10 I2C11 I2C12 I2C13 I2C14 I2C3 I2C4 I2C5 I2C6 81I2C7 I2C8 I2C9 LAD0 LAD1 LAD2 LAD3 LCLK LFRAME LPCHC LPCPD LPCPLUS LPCPME 82LPCRST LPCSMI LSIRQ MAC1LINK MAC2LINK MDIO1 MDIO2 NCTS1 NCTS2 NCTS3 NCTS4 NDCD1 83NDCD2 NDCD3 NDCD4 NDSR1 NDSR2 NDSR3 NDSR4 NDTR1 NDTR2 NDTR3 NDTR4 NRI1 NRI2 84NRI3 NRI4 NRTS1 NRTS2 NRTS3 NRTS4 OSCCLK PEWAKE PNOR PWM0 PWM1 PWM2 PWM3 PWM4 85PWM5 PWM6 PWM7 RGMII1 RGMII2 RMII1 RMII2 RXD1 RXD2 RXD3 RXD4 SALT1 SALT10 86SALT11 SALT12 SALT13 SALT14 SALT2 SALT3 SALT4 SALT5 SALT6 SALT7 SALT8 SALT9 87SCL1 SCL2 SD1 SD2 SDA1 SDA2 SGPS1 SGPS2 SIOONCTRL SIOPBI SIOPBO SIOPWREQ 88SIOPWRGD SIOS3 SIOS5 SIOSCI SPI1 SPI1CS1 SPI1DEBUG SPI1PASSTHRU SPI2CK SPI2CS0 89SPI2CS1 SPI2MISO SPI2MOSI TIMER3 TIMER4 TIMER5 TIMER6 TIMER7 TIMER8 TXD1 TXD2 90TXD3 TXD4 UART6 USB11BHID USB2AD USB2AH USB2BD USB2BH USBCKI VGABIOSROM VGAHS 91VGAVS VPI24 VPO WDTRST1 WDTRST2 92 93Examples 94======== 95 96g4 Example 97---------- 98 99syscon: scu@1e6e2000 { 100 compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd"; 101 reg = <0x1e6e2000 0x1a8>; 102 103 pinctrl: pinctrl { 104 compatible = "aspeed,g4-pinctrl"; 105 106 pinctrl_i2c3_default: i2c3_default { 107 function = "I2C3"; 108 groups = "I2C3"; 109 }; 110 111 pinctrl_gpioh0_unbiased_default: gpioh0 { 112 pins = "A8"; 113 bias-disable; 114 }; 115 }; 116}; 117 118g5 Example 119---------- 120 121ahb { 122 apb { 123 syscon: scu@1e6e2000 { 124 compatible = "aspeed,ast2500-scu", "syscon", "simple-mfd"; 125 reg = <0x1e6e2000 0x1a8>; 126 127 pinctrl: pinctrl { 128 compatible = "aspeed,g5-pinctrl"; 129 aspeed,external-nodes = <&gfx &lhc>; 130 131 pinctrl_i2c3_default: i2c3_default { 132 function = "I2C3"; 133 groups = "I2C3"; 134 }; 135 136 pinctrl_gpioh0_unbiased_default: gpioh0 { 137 pins = "A18"; 138 bias-disable; 139 }; 140 }; 141 }; 142 143 gfx: display@1e6e6000 { 144 compatible = "aspeed,ast2500-gfx", "syscon"; 145 reg = <0x1e6e6000 0x1000>; 146 }; 147 }; 148 149 lpc: lpc@1e789000 { 150 compatible = "aspeed,ast2500-lpc", "simple-mfd"; 151 reg = <0x1e789000 0x1000>; 152 153 #address-cells = <1>; 154 #size-cells = <1>; 155 ranges = <0x0 0x1e789000 0x1000>; 156 157 lpc_host: lpc-host@80 { 158 compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon"; 159 reg = <0x80 0x1e0>; 160 reg-io-width = <4>; 161 162 #address-cells = <1>; 163 #size-cells = <1>; 164 ranges = <0x0 0x80 0x1e0>; 165 166 lhc: lhc@20 { 167 compatible = "aspeed,ast2500-lhc"; 168 reg = <0x20 0x24 0x48 0x8>; 169 }; 170 }; 171 }; 172}; 173