u-boot/drivers
Masahiro Yamada d90a5a30de pinctrl: add pin control uclass support
This creates a new framework for handling of pin control devices,
i.e. devices that control different aspects of package pins.

This uclass handles pinmuxing and pin configuration; pinmuxing
controls switching among silicon blocks that share certain physical
pins, pin configuration handles electronic properties such as pin-
biasing, load capacitance etc.

This framework can support the same device tree bindings, but if you
do not need full interface support, you can disable some features to
reduce memory foot print.  Typically around 1.5KB is necessary to
include full-featured uclass support on ARM board (CONFIG_PINCTRL +
CONFIG_PINCTRL_FULL + CONFIG_PINCTRL_GENERIC + CONFIG_PINCTRL_PINMUX),
for example.

We are often limited on code size for SPL.  Besides, we still have
many boards that do not support device tree configuration.  The full
pinctrl, which requires OF_CONTROL, does not make sense for those
boards.  So, this framework also has a Do-It-Yourself (let's say
simple pinctrl) interface.  With CONFIG_PINCTRL_FULL disabled, the
uclass itself provides no systematic mechanism for identifying the
peripheral device, applying pinctrl settings, etc.  They must be
done in each low-level driver.  In return, you can save much memory
footprint and it might be useful especially for SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-08-31 07:57:29 -06:00
..
bios_emulator biosemu: Do not free vga_info->BIOSImage when it is 0xc0000 2015-04-29 18:51:49 -06:00
block arm: mvebu: add Armada XP SATA support 2015-07-23 08:30:58 +02:00
bootcount qe: move immap_qe.h from arch directory into common directory 2014-07-22 16:25:54 -07:00
clk clk: rename CONFIG_SPL_CLK_SUPPORT to CONFIG_SPL_CLK 2015-08-18 13:46:01 -04:00
core pinctrl: add pin control uclass support 2015-08-31 07:57:29 -06:00
cpu x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
crypto Correct License and Copyright information on few files 2015-08-12 20:47:46 -04:00
ddr ddr: altera: Repair uninited variable 2015-08-23 11:56:19 +02:00
demo drivers: hierarchize drivers Kconfig menu 2015-08-12 20:47:44 -04:00
dfu dfu: fix 64-bit compile warnings 2015-07-27 15:53:52 -07:00
dma dma: lpc32xx: add DMA driver 2015-08-18 13:45:55 -04:00
fpga arm: socfpga: Fix FPGA bitstream programming routine 2015-08-08 14:14:04 +02:00
gpio dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
hwmon dtt: add ds620 support 2015-04-10 14:23:23 +02:00
i2c dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
input x86: i8042: Correctly initialize the controller 2015-08-26 07:54:16 -07:00
led led: rename CONFIG_SPL_LED_SUPPORT to CONFIG_SPL_LED 2015-08-18 13:46:03 -04:00
memory ARM: keystone: aemif: move aemif driver to drivers/memory/ti-aemif.c 2014-06-19 17:53:58 -04:00
misc x86: superio: Add keyboard controller support to smsc_lpc47m driver 2015-08-26 07:54:12 -07:00
mmc arm: pxa: mmc: clean-up include file order 2015-08-24 20:30:37 +02:00
mtd mtd: denali_spl: do not allocate page_buffer in .bss section 2015-08-30 22:18:00 +09:00
net net: e1000: Fix build warnings for 32-bit 2015-08-26 07:54:01 -07:00
pci dm: pci: Optimize pci_uclass_post_bind() 2015-08-26 07:54:17 -07:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
pinctrl pinctrl: add pin control uclass support 2015-08-31 07:57:29 -06:00
power of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
pwm pwm: imx: Remove unreachable code 2015-05-26 14:13:12 +02:00
qe driver/qe: use strncpy instead of strcpy 2015-08-03 12:06:36 -07:00
ram ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM 2015-08-18 13:46:02 -04:00
rtc drivers: hierarchize drivers Kconfig menu 2015-08-12 20:47:44 -04:00
serial dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
soc soc: keystone_serdes: generalize configuration mechanism 2014-10-23 11:27:28 -04:00
sound of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
spi dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
thermal thermal: imx_thermal: fix busywait if IMX6 temp <0C 2015-07-10 10:15:19 +02:00
tpm dm: tpm: Convert LPC driver to driver model 2015-08-31 07:57:28 -06:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
video dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
watchdog watchdog/imx_watchdog: do not set WCR_WDW 2015-03-25 16:52:16 +01:00
Kconfig pinctrl: add pin control uclass support 2015-08-31 07:57:29 -06:00
Makefile pinctrl: add pin control uclass support 2015-08-31 07:57:29 -06:00