On the last read, master must NAK, on intermediate reads it must ACK.
If you get this wrong, communication with device is screwed even in Linux.
Signed-off-by: Andy Green <andy@openmoko.com>
Now cards larger than 4GB are normal, we can't use the byte addressing
internally any more for SDHC type card. This changes us to use block
(512 byte) addressing internally always.
Signed-off-by: Andy Green <andy@openmoko.com>
This patch performs the equivalent init actions to the SDHC slow
unitl first bulk patch in kernel, it allows us to work with large
SDHC cards which exceed Glamo timeout capability at 16MHz for first
access.
Signed-off-by: Andy Green <andy@openmoko.com>
This patch increases the timeout for card initializaton so it works with
8GB Sandisk uSDHC, and adds the size computation for SDHC as well.
Signed-off-by: Andy Green <andy@openmoko.com>
This adds ext2 support from U-Boot and stitches it into the
partition stuff. It also upgrades the board definitions so they
can define the path to look for in the ext2 filesystem being
mounted. I used /boot/uImage.bin because this is already in use
by the packaged kernel.
We now mount, open and pull the kernel from ext2 in phase2.c if
the kernel source defines it.
Signed-off-by: Andy Green <andy@openmoko.com>
We have to minimally support DOS partition scheme.
Partitions are counted from 1+ now, and 0 means no
partition table instead of -1.
Signed-off-by: Andy Green <andy@openmoko.com>
Moves various .h into include from drivers
Gets glamo-mmc.h working so we can detect
card ID / Size if the card is plugged in.
Adds FAT / MMC kernel source entry for GTA02 that
is first before the NAND one. When it works it will
favour to boot off SD Card if a kernel is found there, but
right now we don't have a working filesystem parser and
partition handling hooked up.
Signed-off-by: Andy Green <andy@openmoko.com>
Move serial.c into drivers/serial-s3c24xx.c and qi-serial.h into include/serial-s3c24xx.h
making things a bit cleaner for being s3c24xx-specific. This needed a lot of meddling
additionally, ending up with a new puts() callback that belongs in the board structure
and removal of the debug uart member, since the puts() action was the only user.
Also change serial init API name and function to only fix to 115kbps and adapt to
PCLK.
Signed-off-by: Andy Green <andy@openmoko.com>
Introduce generic bitbang I2C system, and a s3c24xx-specific implementation of
it that knows which GPIO pins and how to control them.
The generic bitbang stuff exposes synchronous (ie, it will return when it is
done) and asynchronous read and write APIs, allowing the delay between bits to
be hidden in other slow, looping code if necessary.
Signed-off-by: Andy Green <andy@openmoko.com>
Create ./src/drivers and move s3c24xx mmc thing in there with more
specific name. Move fat.h into ./include
Signed-off-by: Andy Green <andy@openmoko.com>