freebsd-dev/sys/boot/arm/at91/libat91
Ian Lepore 8926f21ce1 Enable at91 systems to boot from high capacity SD cards.
This also fixes a few minor violations of the SD protocol, such as running
the bus at high speed during the card identification sequence.

The sdcard_init() routine now probes for SDHC cards so that later read
requests can make needed adjustments between block and byte offsets based
on card type.

There is a new MCI_readblocks() function that takes block number and block
count parameters instead of byte-offset values.  Using this routine, boot
loader code can load a kernel from any location on an SDHC or standard SD.

The old MCI_read() interface remains unchanged so that existing customized
boot loader code will still keep working without changes.  Using this
routine, boot loaders can load a kernel from anywhere in the first 4GB of
an SDHC card (or of course any location on a standard SD card).

A new sdcard_use4wire() routine allows boot loaders to request 4-bit
transfers; it should be called after sdcard_init().  The sdcard_init()
routine no longer assumes the hardware is 4-wire capable and by default
sets things up for 1-bit transfers.  (4-wire mode is unreliable on
at91rm9200, works on later SoCs.)

PR:		155894
Submitted by:	me.  years ago.
2014-07-26 04:16:04 +00:00
..
arm_init.S
at91rm9200_lowlevel.c Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
at91rm9200_lowlevel.h
at91rm9200.h Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
delay.c
eeprom.c Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
emac_init.c Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
emac.c Silence a clang warning about a while loop with an empty body. 2014-07-26 03:19:13 +00:00
emac.h
getc.c
lib_AT91RM9200.h Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
lib.h
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
mci_device.h Enable at91 systems to boot from high capacity SD cards. 2014-07-26 04:16:04 +00:00
memcmp.c
memcpy.c
memset.c
p_string.c
printf.c
putchar.c
reset.c
sd-card.c Enable at91 systems to boot from high capacity SD cards. 2014-07-26 04:16:04 +00:00
sd-card.h Enable at91 systems to boot from high capacity SD cards. 2014-07-26 04:16:04 +00:00
spi_flash.c Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
spi_flash.h
strcmp.c
strcpy.c
strcvt.c
strlen.c
tag_list.c
tag_list.h
xmodem.c