======================
Aspeed Pin Controllers
======================

The Aspeed SoCs vary in functionality inside a generation but have a common mux
device register layout.

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"

The pin controller node should be the child of a syscon node with the required
property:

- 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"

Refer to the the bindings described in
Documentation/devicetree/bindings/mfd/syscon.txt

Subnode Format
==============

The required properties of pinmux child nodes are:
- function: the mux function to select
- groups  : the list of groups to select with this function

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:

aspeed,ast2400-pinctrl, aspeed,g4-pinctrl:

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
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

aspeed,ast2500-pinctrl, aspeed,g5-pinctrl:

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
TXD3 TXD4 UART6 USB11BHID USB2AD USB2AH USB2BD USB2BH USBCKI VGABIOSROM VGAHS
VGAVS VPI24 VPO WDTRST1 WDTRST2

Examples
========

g4 Example
----------

syscon: scu@1e6e2000 {
	compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
	reg = <0x1e6e2000 0x1a8>;

	pinctrl: pinctrl {
		compatible = "aspeed,g4-pinctrl";

		pinctrl_i2c3_default: i2c3_default {
			function = "I2C3";
			groups = "I2C3";
		};

		pinctrl_gpioh0_unbiased_default: gpioh0 {
			pins = "A8";
			bias-disable;
		};
	};
};

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";
				};

				pinctrl_gpioh0_unbiased_default: gpioh0 {
					pins = "A18";
					bias-disable;
				};
			};
		};

		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>;
			};
		};
	};
};
