lib/hexdump: Take const void * and size_t as arguments

Representing a memory location as an unsigned long is specific to
32-bit architectures. It also doesn't make sense to represent a length
assumed to be positive as a signed integer. With this change, it is no
longer necessary to cast a pointer to unsigned long when passing it to
hexdump.

Change-Id: I641777d940ceac6f37c363051f1e9c1b3ec3ed95
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/4575
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
lib: Add log2 ceiling function

Change-Id: Ifb41050e729a0ce314e4d4918e46f82bc7e16bed
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/4684
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
cpu/allwinner/a10: Add helper to configure CPU clock

Change-Id: I5a3bb3220aeefdd6822a7dbecf210ff77095dad6
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/4685
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
cubieboard: Setup CPU clock in romstage and load ramstage

This completes the romstage for the cubieboard.

Change-Id: If3272d8a9e414f782892bc41b34b5e2dece5d7e1
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/4686
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
cpu/allwinner/a10: Clarify positioning of boot stages

This fixes a number of potential issues, such as generating a build
failure if the bootblock is too large, and making sure romstage and
ramstage cannot overlap in memory.

Change-Id: I4ca9ad097b145445316bcd962e007731b08a7fda
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/4687
Tested-by: build bot (Jenkins)
[RFC] drivers: Import generic MMC handler from uboot

Aye and behold, the wonderful world of MMC and SD cards.
This is the MMC handler imported from uboot and adjusted for coreboot
use. There are over 100 micro-commits to refactor and clean up the
ubootian style, so there is no sense in saying what uboot revision
this came from (yeah, Paul, I'm looking at you).

Let's be honest. This code is a clusterfuck in a coreboot-flavored
candy coating. There's probably so much more work to do, that I didn't
bother cleaning up the comments. I need a general direction on this.
How do we even start bringing this up to coreboot standards? We'll
need this for the Allwinner ports.

There's also the SoC specific MMC driver, but that one is not included
here. I want to get a perspective from someone who's never had to
endure the pains of uboot code.

Change-Id: Ied5ac5701d2fe8338fd92477110d6f74a4295371
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
NFM cpu: Import sunxi MMC driver from uboot

Change-Id: I8417875737a5f8e1dc21325ad5d6d245423f68cb
NFM cpu: Add clock reg definitions for SD clock

Change-Id: I88763072c8a541ddba794e79fb55e82eb2f187a9
cubieboard: add basic SD init and testing

Change-Id: I63302b87b583ed62794559238b8b1ae19aba3f81
NFM cpu: use SD card for bootblock media

Change-Id: Ie0b123023c53e485c41650c1fc7b0fb69a286a30
CPU: bootblock_media, cache entire rom to RAM

Change-Id: I6ec78ae2b173d054a80584315bd2698c618f5b89
CPU: Add first ramstage bits

Change-Id: I857755976b17b0e492c086162f395a77933eeed8
KILLME fucking hack

Change-Id: I4a20a0d85621cbd4adc73401f064bc610ae5cb53