![Andrew Jeffery](/assets/img/avatar_default.png)
The Aspeed SoCs typically provide more than 200 pins for GPIO and other functions. The signal enabled on a pin is determined on a priority basis, where a given pin can provide a number of different signal types. In addition to the priority levels, the Aspeed pin controllers describe the signal active on a pin by compound logical expressions involving multiple operators, registers and bits. Some difficulty arises as a pin's function bit masks for each priority level are frequently not the same (i.e. we cannot just flip a bit to change from a high to low priority signal), or even in the same register(s). Some configuration bits affect multiple pins, while in other cases the signals for a bus must each be enabled individually. Together, these features give rise to some complexity in the implementation. A more complete description of the complexities is provided in the associated header file. The patch doesn't implement pinctrl/pinmux/pinconf for any particular Aspeed SoC, rather it adds the framework for defining pinmux configurations. Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Reviewed-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
57 lines
2.2 KiB
Makefile
57 lines
2.2 KiB
Makefile
# generic pinmux support
|
|
|
|
subdir-ccflags-$(CONFIG_DEBUG_PINCTRL) += -DDEBUG
|
|
|
|
obj-y += core.o pinctrl-utils.o
|
|
obj-$(CONFIG_PINMUX) += pinmux.o
|
|
obj-$(CONFIG_PINCONF) += pinconf.o
|
|
obj-$(CONFIG_OF) += devicetree.o
|
|
obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
|
|
obj-$(CONFIG_PINCTRL_ADI2) += pinctrl-adi2.o
|
|
obj-$(CONFIG_PINCTRL_AS3722) += pinctrl-as3722.o
|
|
obj-$(CONFIG_PINCTRL_BF54x) += pinctrl-adi2-bf54x.o
|
|
obj-$(CONFIG_PINCTRL_BF60x) += pinctrl-adi2-bf60x.o
|
|
obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o
|
|
obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o
|
|
obj-$(CONFIG_PINCTRL_AMD) += pinctrl-amd.o
|
|
obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o
|
|
obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o
|
|
obj-$(CONFIG_PINCTRL_MAX77620) += pinctrl-max77620.o
|
|
obj-$(CONFIG_PINCTRL_MESON) += meson/
|
|
obj-$(CONFIG_PINCTRL_OXNAS) += pinctrl-oxnas.o
|
|
obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o
|
|
obj-$(CONFIG_PINCTRL_PIC32) += pinctrl-pic32.o
|
|
obj-$(CONFIG_PINCTRL_PISTACHIO) += pinctrl-pistachio.o
|
|
obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o
|
|
obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o
|
|
obj-$(CONFIG_PINCTRL_SIRF) += sirf/
|
|
obj-$(CONFIG_ARCH_TEGRA) += tegra/
|
|
obj-$(CONFIG_PINCTRL_TZ1090) += pinctrl-tz1090.o
|
|
obj-$(CONFIG_PINCTRL_TZ1090_PDC) += pinctrl-tz1090-pdc.o
|
|
obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o
|
|
obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o
|
|
obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
|
|
obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o
|
|
obj-$(CONFIG_PINCTRL_LPC18XX) += pinctrl-lpc18xx.o
|
|
obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o
|
|
obj-$(CONFIG_PINCTRL_ST) += pinctrl-st.o
|
|
obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
|
|
|
|
obj-$(CONFIG_ARCH_ASPEED) += aspeed/
|
|
obj-y += bcm/
|
|
obj-$(CONFIG_PINCTRL_BERLIN) += berlin/
|
|
obj-y += freescale/
|
|
obj-$(CONFIG_X86) += intel/
|
|
obj-$(CONFIG_PINCTRL_MVEBU) += mvebu/
|
|
obj-y += nomadik/
|
|
obj-$(CONFIG_PINCTRL_PXA) += pxa/
|
|
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
|
obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/
|
|
obj-$(CONFIG_PINCTRL_SH_PFC) += sh-pfc/
|
|
obj-$(CONFIG_PINCTRL_SPEAR) += spear/
|
|
obj-$(CONFIG_PINCTRL_STM32) += stm32/
|
|
obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/
|
|
obj-$(CONFIG_PINCTRL_UNIPHIER) += uniphier/
|
|
obj-$(CONFIG_ARCH_VT8500) += vt8500/
|
|
obj-$(CONFIG_PINCTRL_MTK) += mediatek/
|