2016-12-20 15:35:48 +08:00
|
|
|
======================
|
2016-08-30 15:54:22 +08:00
|
|
|
Aspeed Pin Controllers
|
2016-12-20 15:35:48 +08:00
|
|
|
======================
|
2016-08-30 15:54:22 +08:00
|
|
|
|
|
|
|
The Aspeed SoCs vary in functionality inside a generation but have a common mux
|
|
|
|
device register layout.
|
|
|
|
|
2016-12-20 15:35:48 +08:00
|
|
|
Required properties for g4:
|
|
|
|
- compatible : Should be one of the following:
|
|
|
|
"aspeed,ast2400-pinctrl"
|
|
|
|
"aspeed,g4-pinctrl"
|
|
|
|
|
|
|
|
Required properties for g5:
|
|
|
|
- compatible : Should be one of the following:
|
|
|
|
"aspeed,ast2500-pinctrl"
|
|
|
|
"aspeed,g5-pinctrl"
|
|
|
|
|
|
|
|
- aspeed,external-nodes: A cell of phandles to external controller nodes:
|
|
|
|
0: compatible with "aspeed,ast2500-gfx", "syscon"
|
|
|
|
1: compatible with "aspeed,ast2500-lhc", "syscon"
|
2016-08-30 15:54:22 +08:00
|
|
|
|
2016-12-20 15:35:47 +08:00
|
|
|
The pin controller node should be the child of a syscon node with the required
|
2016-08-30 15:54:22 +08:00
|
|
|
property:
|
2016-12-20 15:35:47 +08:00
|
|
|
|
|
|
|
- compatible : Should be one of the following:
|
|
|
|
"aspeed,ast2400-scu", "syscon", "simple-mfd"
|
|
|
|
"aspeed,g4-scu", "syscon", "simple-mfd"
|
|
|
|
"aspeed,ast2500-scu", "syscon", "simple-mfd"
|
|
|
|
"aspeed,g5-scu", "syscon", "simple-mfd"
|
2016-08-30 15:54:22 +08:00
|
|
|
|
|
|
|
Refer to the the bindings described in
|
|
|
|
Documentation/devicetree/bindings/mfd/syscon.txt
|
|
|
|
|
|
|
|
Subnode Format
|
2016-12-20 15:35:48 +08:00
|
|
|
==============
|
2016-08-30 15:54:22 +08:00
|
|
|
|
2017-04-07 20:57:10 +08:00
|
|
|
The required properties of pinmux child nodes are:
|
|
|
|
- function: the mux function to select
|
|
|
|
- groups : the list of groups to select with this function
|
2016-08-30 15:54:22 +08:00
|
|
|
|
2017-04-07 20:57:10 +08:00
|
|
|
Required properties of pinconf child nodes are:
|
|
|
|
- groups: A list of groups to select (either this or "pins" must be
|
|
|
|
specified)
|
|
|
|
- pins : A list of ball names as strings, eg "D14" (either this or "groups"
|
|
|
|
must be specified)
|
|
|
|
|
|
|
|
Optional properties of pinconf child nodes are:
|
|
|
|
- bias-disable : disable any pin bias
|
|
|
|
- bias-pull-down: pull down the pin
|
|
|
|
- drive-strength: sink or source at most X mA
|
|
|
|
|
|
|
|
Definitions are as specified in
|
|
|
|
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt, with any
|
|
|
|
further limitations as described above.
|
|
|
|
|
|
|
|
For pinmux, each mux function has only one associated pin group. Each group is
|
|
|
|
named by its function. The following values for the function and groups
|
|
|
|
properties are supported:
|
2016-08-30 15:54:22 +08:00
|
|
|
|
|
|
|
aspeed,ast2400-pinctrl, aspeed,g4-pinctrl:
|
|
|
|
|
2016-12-20 15:35:49 +08:00
|
|
|
ACPI ADC0 ADC1 ADC10 ADC11 ADC12 ADC13 ADC14 ADC15 ADC2 ADC3 ADC4 ADC5 ADC6
|
|
|
|
ADC7 ADC8 ADC9 BMCINT DDCCLK DDCDAT EXTRST FLACK FLBUSY FLWP GPID GPID0 GPID2
|
|
|
|
GPID4 GPID6 GPIE0 GPIE2 GPIE4 GPIE6 I2C10 I2C11 I2C12 I2C13 I2C14 I2C3 I2C4
|
|
|
|
I2C5 I2C6 I2C7 I2C8 I2C9 LPCPD LPCPME LPCRST LPCSMI MAC1LINK MAC2LINK MDIO1
|
|
|
|
MDIO2 NCTS1 NCTS2 NCTS3 NCTS4 NDCD1 NDCD2 NDCD3 NDCD4 NDSR1 NDSR2 NDSR3 NDSR4
|
|
|
|
NDTR1 NDTR2 NDTR3 NDTR4 NDTS4 NRI1 NRI2 NRI3 NRI4 NRTS1 NRTS2 NRTS3 OSCCLK PWM0
|
|
|
|
PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7 RGMII1 RGMII2 RMII1 RMII2 ROM16 ROM8 ROMCS1
|
|
|
|
ROMCS2 ROMCS3 ROMCS4 RXD1 RXD2 RXD3 RXD4 SALT1 SALT2 SALT3 SALT4 SD1 SD2 SGPMCK
|
|
|
|
SGPMI SGPMLD SGPMO SGPSCK SGPSI0 SGPSI1 SGPSLD SIOONCTRL SIOPBI SIOPBO SIOPWREQ
|
|
|
|
SIOPWRGD SIOS3 SIOS5 SIOSCI SPI1 SPI1DEBUG SPI1PASSTHRU SPICS1 TIMER3 TIMER4
|
2017-07-18 13:24:50 +08:00
|
|
|
TIMER5 TIMER6 TIMER7 TIMER8 TXD1 TXD2 TXD3 TXD4 UART6 USB11D1 USB11H2 USB2D1
|
|
|
|
USB2H1 USBCKI VGABIOS_ROM VGAHS VGAVS VPI18 VPI24 VPI30 VPO12 VPO24 WDTRST1
|
|
|
|
WDTRST2
|
2016-08-30 15:54:22 +08:00
|
|
|
|
|
|
|
aspeed,ast2500-pinctrl, aspeed,g5-pinctrl:
|
|
|
|
|
2016-12-20 15:35:50 +08:00
|
|
|
ACPI ADC0 ADC1 ADC10 ADC11 ADC12 ADC13 ADC14 ADC15 ADC2 ADC3 ADC4 ADC5 ADC6
|
|
|
|
ADC7 ADC8 ADC9 BMCINT DDCCLK DDCDAT ESPI FWSPICS1 FWSPICS2 GPID0 GPID2 GPID4
|
|
|
|
GPID6 GPIE0 GPIE2 GPIE4 GPIE6 I2C10 I2C11 I2C12 I2C13 I2C14 I2C3 I2C4 I2C5 I2C6
|
|
|
|
I2C7 I2C8 I2C9 LAD0 LAD1 LAD2 LAD3 LCLK LFRAME LPCHC LPCPD LPCPLUS LPCPME
|
|
|
|
LPCRST LPCSMI LSIRQ MAC1LINK MAC2LINK MDIO1 MDIO2 NCTS1 NCTS2 NCTS3 NCTS4 NDCD1
|
|
|
|
NDCD2 NDCD3 NDCD4 NDSR1 NDSR2 NDSR3 NDSR4 NDTR1 NDTR2 NDTR3 NDTR4 NRI1 NRI2
|
|
|
|
NRI3 NRI4 NRTS1 NRTS2 NRTS3 NRTS4 OSCCLK PEWAKE PNOR PWM0 PWM1 PWM2 PWM3 PWM4
|
|
|
|
PWM5 PWM6 PWM7 RGMII1 RGMII2 RMII1 RMII2 RXD1 RXD2 RXD3 RXD4 SALT1 SALT10
|
|
|
|
SALT11 SALT12 SALT13 SALT14 SALT2 SALT3 SALT4 SALT5 SALT6 SALT7 SALT8 SALT9
|
|
|
|
SCL1 SCL2 SD1 SD2 SDA1 SDA2 SGPS1 SGPS2 SIOONCTRL SIOPBI SIOPBO SIOPWREQ
|
|
|
|
SIOPWRGD SIOS3 SIOS5 SIOSCI SPI1 SPI1CS1 SPI1DEBUG SPI1PASSTHRU SPI2CK SPI2CS0
|
|
|
|
SPI2CS1 SPI2MISO SPI2MOSI TIMER3 TIMER4 TIMER5 TIMER6 TIMER7 TIMER8 TXD1 TXD2
|
2017-07-18 13:24:51 +08:00
|
|
|
TXD3 TXD4 UART6 USB11BHID USB2AD USB2AH USB2BD USB2BH USBCKI VGABIOSROM VGAHS
|
|
|
|
VGAVS VPI24 VPO WDTRST1 WDTRST2
|
2016-09-27 22:50:16 +08:00
|
|
|
|
2016-12-20 15:35:48 +08:00
|
|
|
Examples
|
|
|
|
========
|
2016-08-30 15:54:22 +08:00
|
|
|
|
2016-12-20 15:35:48 +08:00
|
|
|
g4 Example
|
|
|
|
----------
|
2016-08-30 15:54:22 +08:00
|
|
|
|
|
|
|
syscon: scu@1e6e2000 {
|
2016-12-20 15:35:47 +08:00
|
|
|
compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
|
2016-08-30 15:54:22 +08:00
|
|
|
reg = <0x1e6e2000 0x1a8>;
|
|
|
|
|
|
|
|
pinctrl: pinctrl {
|
|
|
|
compatible = "aspeed,g4-pinctrl";
|
|
|
|
|
|
|
|
pinctrl_i2c3_default: i2c3_default {
|
|
|
|
function = "I2C3";
|
|
|
|
groups = "I2C3";
|
|
|
|
};
|
2017-04-07 20:57:10 +08:00
|
|
|
|
|
|
|
pinctrl_gpioh0_unbiased_default: gpioh0 {
|
|
|
|
pins = "A8";
|
|
|
|
bias-disable;
|
|
|
|
};
|
2016-08-30 15:54:22 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2016-12-20 15:35:48 +08:00
|
|
|
g5 Example
|
|
|
|
----------
|
|
|
|
|
|
|
|
ahb {
|
|
|
|
apb {
|
|
|
|
syscon: scu@1e6e2000 {
|
|
|
|
compatible = "aspeed,ast2500-scu", "syscon", "simple-mfd";
|
|
|
|
reg = <0x1e6e2000 0x1a8>;
|
|
|
|
|
|
|
|
pinctrl: pinctrl {
|
|
|
|
compatible = "aspeed,g5-pinctrl";
|
|
|
|
aspeed,external-nodes = <&gfx &lhc>;
|
|
|
|
|
|
|
|
pinctrl_i2c3_default: i2c3_default {
|
|
|
|
function = "I2C3";
|
|
|
|
groups = "I2C3";
|
|
|
|
};
|
2017-04-07 20:57:10 +08:00
|
|
|
|
|
|
|
pinctrl_gpioh0_unbiased_default: gpioh0 {
|
|
|
|
pins = "A18";
|
|
|
|
bias-disable;
|
|
|
|
};
|
2016-12-20 15:35:48 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
gfx: display@1e6e6000 {
|
|
|
|
compatible = "aspeed,ast2500-gfx", "syscon";
|
|
|
|
reg = <0x1e6e6000 0x1000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
lpc: lpc@1e789000 {
|
|
|
|
compatible = "aspeed,ast2500-lpc", "simple-mfd";
|
|
|
|
reg = <0x1e789000 0x1000>;
|
|
|
|
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges = <0x0 0x1e789000 0x1000>;
|
|
|
|
|
|
|
|
lpc_host: lpc-host@80 {
|
|
|
|
compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon";
|
|
|
|
reg = <0x80 0x1e0>;
|
|
|
|
reg-io-width = <4>;
|
|
|
|
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges = <0x0 0x80 0x1e0>;
|
|
|
|
|
|
|
|
lhc: lhc@20 {
|
|
|
|
compatible = "aspeed,ast2500-lhc";
|
|
|
|
reg = <0x20 0x24 0x48 0x8>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|