uboot/include
Haavard Skinnemoen ab0df36fc7 avr32: refactor the portmux/gpio code
- Separate the portmux configuration functionality from the GPIO pin
    control API.
  - Separate the controller-specific code from the chip-specific code.
  - Allow "ganged" port configuration (multiple pins at once).
  - Add more flexibility to the "canned" peripheral select functions:
      - Allow using more than 23 address bits, more chip selects, as
	well as NAND- and CF-specific pins.
      - Make the MACB SPEED pin optional, and choose between MII/RMII
	using a parameter instead of an #ifdef.
      - Make it possible to use other MMC slots than slot 0, and support
	different MMC/SDCard data bus widths.
  - Use more reasonable pull-up defaults; floating pins may consume a
    lot of power.
  - Get rid of some custom portmux code from the mimc200 board code. The
    old gpio/portmux API couldn't really handle its requirements, but
    the new one can.
  - Add documentation.

The end result is slightly smaller code for all boards. Which isn't
really the point, but at least it isn't any larger.

This has been verified on ATSTK1002 and ATNGW100. I'd appreciate if
the board maintainers could help me test this on their boards. In
particular, the mimc200 port has lost a lot of code, so I'm hoping Mark
can help me out.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Cc: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Cc: Mark Jackson <mpfj@mimc.co.uk>
Cc: Alex Raimondi <alex.raimondi@miromico.ch>
Cc: Julien May <julien.may@miromico.ch>

Changes since v1:
  * Enable pullup on NWAIT
  * Add missing include to portmux-pio.h
  * Rename CONFIG_PIO2 -> CONFIG_PORTMUX_PIO to match docs
2008-09-01 14:20:41 +02:00
..
asm-arm davinci: fix remaining dm644x_eth 2008-08-31 04:45:42 +02:00
asm-avr32 avr32: refactor the portmux/gpio code 2008-09-01 14:20:41 +02:00
asm-blackfin Change bd/gd memsize/ram_size to be phys_size_t. 2008-06-12 00:54:53 +02:00
asm-i386 Change bd/gd memsize/ram_size to be phys_size_t. 2008-06-12 00:54:53 +02:00
asm-m68k ColdFire: I2C fix for multiple platforms 2008-08-28 09:16:54 -06:00
asm-microblaze microblaze: Remove useless ancient headers 2008-07-13 15:20:17 +02:00
asm-mips Change bd/gd memsize/ram_size to be phys_size_t. 2008-06-12 00:54:53 +02:00
asm-nios Change bd/gd memsize/ram_size to be phys_size_t. 2008-06-12 00:54:53 +02:00
asm-nios2 Fix merge problems 2008-08-06 14:05:38 +02:00
asm-ppc mpc85xx: Add support for the MPC8536 2008-08-27 11:43:54 -05:00
asm-sh sh: add support Renesas SH7723 2008-08-31 23:02:21 +09:00
asm-sparc SPARC: Build error fix 2008-07-10 00:51:16 +02:00
bedbug Big white-space cleanup. 2008-05-21 00:14:08 +02:00
configs avr32: refactor the portmux/gpio code 2008-09-01 14:20:41 +02:00
cramfs Fix endianess problem in cramfs code (cramfs is always host-endian in Linux) 2008-03-03 22:08:08 +01:00
galileo Big white-space cleanup. 2008-05-21 00:14:08 +02:00
jffs2
linux update linux/list 2008-08-31 04:24:51 +02:00
pcmcia
u-boot Add support for calculating hashes with watchdog triggering 2008-04-25 00:01:06 +02:00
.gitignore include/gitignore: update to all architectures 2008-05-09 20:59:21 +02:00
4xx_i2c.h ppc4xx: Add basic support for AMCC 460EX/460GT (3/5) 2008-03-15 07:28:04 +01:00
74xx_7xx.h
405_dimm.h
405_mal.h ppc4xx: Add basic support for AMCC 460EX/460GT (3/5) 2008-03-15 07:28:04 +01:00
ACEX1K.h Add size #defines for Altera Cyclone-II EP2C8 and EP2C20. 2008-06-03 21:40:09 +02:00
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
SA-1100.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
_exports.h
ahci.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
altera.h Altera Stratix II support 2008-04-13 14:52:48 -07:00
ambapp.h Coding Style cleanup; update CHANGELOG 2008-04-13 09:59:26 -07:00
api_public.h Fix merge problems 2008-08-06 14:05:38 +02:00
arm920t.h
arm925t.h
arm926ejs.h
arm946es.h
armcoremodule.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
at45.h
at91rm9200_i2c.h
at91rm9200_net.h
ata.h Add a hook to allow board-specific PIO mode setting. 2008-08-21 01:31:04 +02:00
atmel_lcdc.h Add ATMEL LCD driver 2008-05-10 11:44:55 +02:00
bcd.h
bcm5221.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
bmp_layout.h
bzlib.h
circbuf.h
clps7111.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
command.h Fix merge problems 2008-08-06 14:05:38 +02:00
common.h ARM: Add arm1176 core with S3C6400 SoC 2008-08-31 00:39:46 +02:00
commproc.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
config_cmd_all.h Add 'license' command to U-Boot command line 2008-08-18 23:21:49 +02:00
config_cmd_default.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
console.h
crc.h
da9030.h
dataflash.h DataFlash: AT45DB021 fix and AT45DB081 support 2008-08-09 00:15:06 +02:00
ddr_spd.h Add proper SPD definitions for DDR1/2/3 2008-08-27 02:05:53 +02:00
devices.h devices: merge to list_head 2008-08-31 04:24:55 +02:00
div64.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
dm9161.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
dp83848.h
dtt.h Minor code cleanup: keep lists sorted. 2008-08-18 23:50:20 +02:00
e500.h
elf.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
environment.h Remove code duplication for setting the default environment 2008-07-10 00:28:20 +02:00
exports.h Make setenv() return status 2008-07-01 23:03:14 +02:00
ext2fs.h
fat.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
fdc.h
fdt.h Fix host tool build breakage, take two 2008-03-27 23:49:12 +01:00
fdt_support.h fdt: refactor initrd related code 2008-08-26 23:45:20 +02:00
fis.h ata: add the fis struct for SATA 2008-03-26 23:38:54 +01:00
flash.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
fpga.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
hush.h
i2c.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
i8042.h
ide.h
image.h bootm: refactor image detection and os load steps 2008-08-26 23:41:43 +02:00
ioports.h
keyboard.h
kgdb.h
lcd.h Add ATMEL LCD driver 2008-05-10 11:44:55 +02:00
lcdvideo.h
lh7a40x.h
lh7a400.h
lh7a404.h
libata.h ata: update the libata.h from ata.h of linux kernel 2008-04-13 23:20:16 -07:00
libfdt.h libfdt: Implement fdt_get_property_namelen() and fdt_getprop_namelen() 2008-08-24 22:20:50 -04:00
libfdt_env.h dtc: Enable and fix -Wpointer-arith warnings 2008-08-24 22:20:49 -04:00
linux_logo.h
lmb.h Fix LMB type issues 2008-07-10 00:39:28 +02:00
logbuff.h Avoid initrd and logbuffer area overlaps 2008-06-03 19:34:19 +02:00
lpd7a400_cpld.h
lxt971a.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
lynxkdi.h
malloc.h
mb862xx.h
mii_phy.h
miiphy.h
mk48t59.h
mmc.h MMC: Consolidate MMC/SD command definitions 2008-06-28 22:40:15 +02:00
mpc5xx.h
mpc5xxx.h Adding bootlimit/bootcount feature for MPC5XXX on TQM5200 Boards 2008-08-21 01:39:24 +02:00
mpc5xxx_sdma.h Move MPC5xxx_FEC driver to drivers/net 2008-08-29 13:58:07 -06:00
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h MPC83XX: Add miscellaneous registers and #defines to support MPC83xx family devices 2008-08-25 17:04:40 -05:00
mpc85xx.h 83xx/85xx: further localbus cleanups 2008-06-10 18:22:25 -05:00
mpc86xx.h 83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h 2008-06-10 18:22:25 -05:00
mpc106.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc512x.h ADS5121: Fix NOR and CPLD ALE timing for rev 2 silicon 2008-08-28 13:36:43 -06:00
mpc824x.h
mpc8220.h
mpc8260.h
mpc8260_irq.h
nand.h Coding Style cleanup, update CHANGELOG 2008-08-14 14:41:06 +02:00
net.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
nios-io.h
nios.h
nios2-epcs.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
nios2-io.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
nios2.h
ns7520_eth.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
ns9750_bbus.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
ns9750_eth.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
ns9750_mem.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
ns9750_ser.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
ns9750_sys.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
ns16550.h
ns87308.h
onenand_uboot.h Fix OneNAND read_oob/write_oob functions compatability 2008-08-21 13:50:20 -05:00
part.h Coding style cleanup, update CHANGELOG 2008-03-27 00:03:57 +01:00
pc_keyb.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
pci.h Update pci code to use phys_addr_t 2008-05-10 00:59:57 +02:00
pci_ids.h mpc85xx: Add support for the MPC8536 2008-08-27 11:43:54 -05:00
pcmcia.h
post.h POST: add POST_STOP flag 2008-05-20 23:24:37 +02:00
ppc4xx.h ppc4xx: Cleanup of "ppc4xx: Optimize PLB4 Arbiter..." patch 2008-08-21 11:05:03 +02:00
ppc4xx_enet.h ppc4xx: Add MII mode support to the EMAC RGMII Bridge 2008-07-11 13:18:13 +02:00
ppc405.h ppc4xx: Consolidate PPC4xx UIC defines 2008-07-11 13:18:14 +02:00
ppc440.h ppc4xx: Optimize PLB4 Arbiter and Memory Queue settings for PPC440SP/SPe, 2008-08-21 10:31:16 +02:00
ppc_asm.tmpl
ppc_defs.h
ps2mult.h
radeon.h Extend ATI Radeon driver to support more video modes 2008-02-15 00:54:01 +01:00
reiserfs.h
rtc.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
s3c24x0.h
s3c64x0.h ARM: Add arm1176 core with S3C6400 SoC 2008-08-31 00:39:46 +02:00
s3c2400.h
s3c2410.h
s3c6400.h ARM: Add arm1176 core with S3C6400 SoC 2008-08-31 00:39:46 +02:00
s_record.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
sa1100.h
sata.h drivers: code clean up 2008-04-13 14:57:46 -07:00
scsi.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
sed156x.h
sed13806.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
serial.h
sha1.h Add support for calculating hashes with watchdog triggering 2008-04-25 00:01:06 +02:00
sha256.h include/sha256.h: fix file permissions. 2008-07-06 01:21:46 +02:00
sm501.h
smiLynxEM.h
spartan2.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
spartan3.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
spd.h
spd_sdram.h
spi.h Move conditional compilation of MPC8XXX SPI driver to Makefile 2008-07-01 21:02:11 +02:00
spi_flash.h SPI Flash subsystem 2008-06-03 20:31:34 +02:00
status_led.h
stratixII.h Altera Stratix II support 2008-04-13 14:52:48 -07:00
sym53c8xx.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
systemace.h
tsi108.h
universe.h
usb.h usb: add support for R8A66597 usb controller 2008-08-07 17:37:36 +02:00
usb_cdc_acm.h
usb_defs.h
usbdcore.h
usbdcore_ep0.h
usbdcore_mpc8xx.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
usbdcore_omap1510.h
usbdescriptors.h
version.h Makefile: fix "error: version_autogenerated.h: No such file or directory" 2008-05-13 23:15:52 +02:00
vfd_logo.h
video.h
video_ad7176.h
video_ad7177.h
video_ad7179.h
video_easylogo.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
video_fb.h
video_font.h
video_logo.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
virtex2.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
vsc7385.h Cleanup coding style, update CHANGELOG 2008-03-26 11:48:46 +01:00
w83c553f.h
watchdog.h
xilinx.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
xyzModem.h
zlib.h