9
0
Fork 0
barebox/include
Sascha Hauer 7f63c0a246 Add initial pinctrl support
This is a massively stripped down pinctrl support. The upper API
consists of only of:

int pinctrl_select_state(struct device_d *dev, const char *state);

This is used to setup the pinmux for a device to a certain state.
This function normally does not need to be called manually. The
device core will setup the default state before probing a device.

The pinctrl core has the job of handling the devicetree. It parses
the pinctrl phandles for a device from devicetree, finds the correct
pinctrl device and calls its set_state callback with the pinctrl
setup device node.

The simplicity of this pinctrl framework comes from the fact that
we:

- Limit usage to devicetree only for now. For non devicetree use the
  old legacy SoC specific APIs still can be used.
- Do not parse the devicetree into internal data structures which
  are used by the drivers later. This adds the overhead that we
  may parse the devicetree multiple times for more dynamic setups,
  but on the other hand we do not need to parse devices from the
  devicetree we don't use in barebox
- Do not detect resource conflicts. Since the framework mainly is
  a devicetree parser this would be hard to implement. It should
  be easy for board maintainers to avoid resource conflicts though.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-23 09:36:13 +02:00
..
asm-generic Merge branch 'for-next/zynq' 2013-04-04 23:23:19 +02:00
cramfs Change byte order detection mechanism to kernel style 2012-06-28 13:49:16 +02:00
gui gui: blit the surface on demand 2012-10-04 17:22:09 +02:00
i2c I2C: Rename i2c_register_driver() for using with register_driver_macro() 2013-03-14 07:15:44 +01:00
input input: add qt1070 touch keyboard support 2012-11-03 23:16:32 +01:00
linux Merge branch 'for-next/mtd' 2013-04-04 14:20:32 +02:00
mci twl6030: add missing twl6030 header file. 2012-01-06 09:50:11 +01:00
mfd Add system controller register driver (SYSCON) 2013-03-11 22:17:43 +01:00
mtd libmtd: rename functions from mtd_* to libmtd_* 2013-02-14 10:16:17 +01:00
net net:designware: allow to pass the phy interface 2012-10-15 08:54:41 +02:00
platform_data macb: rename platform data 2013-04-03 17:21:51 +02:00
spi Introduce device_spi_driver() macro and use it for SPI drivers 2013-03-14 07:15:45 +01:00
usb Merge branch 'for-next/usb' 2013-03-04 09:21:54 +01:00
video video: add atmel lcdc frambuffer support 2013-01-28 09:45:39 +01:00
.gitignore move barebox_default_env.h to include/generated/ 2010-09-17 10:56:24 +08:00
aimage.h arm: add Android boot image support 2012-04-13 12:08:42 +02:00
ata_drive.h ata: Add init callback to ata_port_operations 2013-03-08 11:33:27 +01:00
bbu.h Add in-system barebox update infrastructure 2012-10-17 20:23:41 +02:00
binfmt.h Introduce binfmt support 2012-04-18 20:14:12 +08:00
block.h block: reimplement caching 2012-02-15 08:21:43 +01:00
boot.h bootm: Pass unflattened devicetree to handlers 2013-03-06 11:41:29 +01:00
bootsource.h bootsource: add definition for i2c-eeprom, spi-nor, spi-eeprom and usb 2013-04-04 10:54:27 +02:00
bootstrap.h introduce common bootstrap code 2013-01-22 22:03:44 +01:00
bunzip2.h use kernel bunzip implementation 2011-11-29 21:12:27 +01:00
cache.h remove strange flush_cache functions 2010-10-21 22:21:25 +02:00
clock.h clock: introduce non interruptible timeout 2012-10-29 22:31:18 +01:00
command.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
common.h Merge branch 'for-next/misc' 2013-02-04 15:49:00 +01:00
complete.h common: fix typo cammand_var_complete 2012-06-30 12:47:04 +02:00
console.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
crc.h Some code cleanup 2006-04-16 10:51:58 +02:00
crc7.h crypto: Add crc7 function 2011-11-25 12:37:25 +01:00
debug_ll.h debug_ll: Add some usage comments 2012-12-05 19:48:53 +01:00
digest.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
disks.h DISK: Add common partition handling for disk like media 2011-11-28 09:23:24 +01:00
dm9000.h dm9000: introduce add_dm9000_device to register dm9000 device 2011-07-29 14:04:24 +08:00
dma.h blackfin, mips, openrisc, ppc, sandbox, x86: add generic dma_alloc, dma_free inlines 2012-06-30 12:46:25 +02:00
driver.h Merge branch 'for-next/malloc-all-initcalls' 2013-04-04 14:20:32 +02:00
elf.h replace elf.h with the one from the linux kernel. It does not have powerpc 2007-09-28 19:59:12 +02:00
envfs.h env: add register_persistent_environment 2013-02-21 14:45:43 +01:00
environment.h scripts: remove now unnecessary include 2013-01-20 16:33:02 +01:00
errno.h add strerror function 2009-05-25 16:52:35 +02:00
fb.h fb: add it's own bus for fb devices 2012-09-23 21:15:13 +02:00
fcntl.h rename U-Boot-v2 project to barebox 2009-12-15 10:18:30 +01:00
fdt.h of: remove unused libfdt 2013-03-06 11:41:29 +01:00
fec.h net: fec: use standard phy type defines 2013-03-09 20:09:23 +01:00
filetype.h filetype: add GPT support 2013-02-16 23:39:08 +01:00
fnmatch.h add globbing support 2008-03-09 22:35:38 +01:00
fs.h fs: add pread and pwrite functions 2013-02-20 08:22:42 +01:00
getopt.h getopt: change optstring to const char* 2013-02-11 20:57:34 +01:00
glob.h hardcode _FILE_OFFSET_BITS to 32 2008-06-03 13:34:45 +02:00
globalvar.h globalvar: add support to set a value to of all globalvars beginning with 'match' 2012-09-14 00:46:00 +08:00
gpio.h Add Generic GPIO driver 2013-03-11 22:17:42 +01:00
gpio_keys.h add gpio keyboard support 2012-02-16 18:17:30 +08:00
gunzip.h decompress_inflate.c: fix "no previous prototype for 'gunzip'" warning 2012-01-02 12:33:52 +01:00
image.h Merge branch 'for-next/remove-fsf-address' 2012-10-03 21:12:48 +02:00
init.h init: introduce mem, mmu and postmmu initcall 2011-08-01 16:31:46 +02:00
io.h Fix big endian MMIO primitives. 2012-05-07 09:50:29 +02:00
ioctl.h add basic at91sam9260 support. Currently only second stage 2008-06-06 09:30:32 +02:00
jtag.h Add JTAG bitbang driver 2012-08-13 21:38:50 +02:00
kallsyms.h kallsyms/printk: enable symbol printing support (%pS) 2011-03-10 14:50:16 +01:00
kfifo.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
kgdb.h Initial revision 2002-08-27 10:38:37 +00:00
led.h led-gpio: add bicolor led support 2012-11-19 11:25:55 +01:00
libbb.h recursive_action: add ACTION_FOLLOWLINKS support 2012-09-05 03:22:14 +08:00
libgen.h move dirname() and basename() to lib/libgen.c and add header file 2007-09-24 16:57:12 +02:00
lzo.h lzo: Allow for static inlining 2012-07-23 23:57:44 +02:00
magicvar.h magicvar: Add magicvar macro with additional name argument 2012-05-15 09:05:51 +02:00
malloc.h malloc: put common memory functions to seperate file 2011-04-11 15:57:51 +02:00
math.h commands: add let command which supports proper arithmetic 2013-01-09 10:32:54 +01:00
matrix_keypad.h input: Add i.MX matrix keypad driver 2012-07-17 20:45:47 +02:00
mci.h mci: add card_write_protected 2013-01-27 12:17:28 +01:00
memory.h memory: return error in barebox_add_memory_bank 2012-10-08 00:33:21 +02:00
menu.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
module.h module: move EXPORT_SYMBOL_GPL define to module.h 2010-08-30 14:36:09 +02:00
nand.h nand bb: add proper bb remove function 2011-04-12 09:54:56 +02:00
net.h net: remove unused prototypes for eth_[open|halt] 2012-09-27 23:55:16 +02:00
notifier.h notifier: sparse fixes 2010-10-21 22:21:23 +02:00
ns16550.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
of.h of: partitions: pass struct cdev as argument 2013-04-22 09:25:33 +02:00
of_net.h of/net: Add net related of helpers 2013-04-04 23:23:41 +02:00
param.h parameter: fix build warning when !CONFIG_PARAMETER 2013-04-02 08:29:02 +02:00
part.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
partition.h partitions: Make 64bit capable 2012-06-30 16:53:25 +02:00
password.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
pbl.h pbl: factorise decompressor 2013-01-30 22:32:13 +01:00
pinctrl.h Add initial pinctrl support 2013-04-23 09:36:13 +02:00
platform_ide.h Add driver for IDE like interfaces 2011-11-28 09:23:24 +01:00
poller.h Add generic poll infrastructure 2010-12-20 09:28:21 +01:00
printk.h fix another brown paper bag bug introduced with compile time loglevel 2013-03-06 23:53:04 +01:00
progress.h add progression bar function 2010-06-28 10:43:55 +02:00
pwm.h drivers/pwm: add duty_ns and period_ns to core pwm chip 2012-02-17 10:18:30 +01:00
qsort.h qsort: declare strcmp_compar publically 2012-06-30 22:34:54 +02:00
readkey.h readkey: add define for Ascii keys 2012-02-16 18:17:32 +08:00
reset_source.h reset_source: provide static inline function if disabled 2012-10-08 21:41:30 +02:00
rtc.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
s_record.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
scsi.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
sizes.h Add missing SZ_xx defines 2013-02-15 09:38:54 +01:00
smc911x.h net smc911x: add support for external PHY 2012-11-12 08:29:48 +01:00
stdio.h introduce console none support 2013-01-23 20:34:16 +01:00
stdlib.h include support for a simple pseudo number generator 2010-06-22 15:44:44 +02:00
string.h add protection from double inclusion in string.h 2008-03-31 21:55:34 +02:00
stringlist.h stringlist: fix cpp macro in header 2013-01-09 09:42:47 +01:00
tlsf.h adapt tlsf for barebox 2011-12-23 11:26:42 +01:00
twl6030_pwrbtn.h twl6030: add power button as an input key 2013-03-25 10:21:20 +01:00
types.h add __[lb]e types 2009-04-06 11:12:54 +02:00
uncompress.h Add generic uncompress function 2011-11-29 21:12:42 +01:00
usb_dfu_trailer.h rename U-Boot-v2 project to barebox 2009-12-15 10:18:30 +01:00
w1_mac_address.h w1: introduce helper to generate mac address from 1-wire id 2012-11-15 20:20:28 +01:00
watchdog.h Add a simple watchdog framework 2012-06-29 15:16:34 +02:00
xfuncs.h Fix error handling with malloc, memalign etc. Introduce xmemalign(). 2011-01-07 10:21:22 +01:00
xymodem.h commands: change Y-Modem implementation 2012-11-12 09:35:53 +01:00