drivers: Add support for X-Powers AXP209 PMU

Change-Id: I1de0e656a38527b172af1d0b5bcd97acbfc03bf0
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
xpowers/axp209: Allow voltages to be sepecified in devicetree.cb

This allows system voltages to be specified uniformly, rather than
hardcoding them for each board. This will be used by cubieboard in an
upcoming patch.

Change-Id: I9dc2d3281d076c359c3fad13688649f7d36c0001
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
xpowers/axp209: Add helper to set voltages from devicetree config

Change-Id: I3ffe225b78f88c3c2d3a15292c43009e69413afb
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
cpu/allwinner/a10: Clean up include order in Makefile.inc

Alphabetize the sources for each stage (bootblock, rom, ram), and
include twi.c in both romstage and ramstage.

Change-Id: I5526f5a66f6600560005731a3ee536eb858f4ff0
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
cubieboard: Configure system voltages from devicetree

Change-Id: I93bac9bf94f5bafcd3ff0c3d5763b31d3ee9959b
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
[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>
lib/hexdump: Take 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>
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/allwinner/a10: make entire ROM image bootable

Change-Id: Ifb4ac7b1682462ccbf590f41b2357b113da1d2d5
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
CPU: Kconfig, Clarify positioning of keep ROMSTAGE and RAMSTAGE

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

Change-Id: I6ec78ae2b173d054a80584315bd2698c618f5b89
board: load ramstage in romstage

Change-Id: I828b7e019b6d66cf99ca039844be50f9f50bdb7d
CPU: Add first ramstage bits

Change-Id: I857755976b17b0e492c086162f395a77933eeed8
KILLME fucking hack

Change-Id: I4a20a0d85621cbd4adc73401f064bc610ae5cb53
MMC: move comments to C file

Change-Id: I87c0ef1411b1cca4f26571fed739a1858b1fae10
MMC: factor out SPI CRC enable

Change-Id: Idad30ad41ccf924032666205b717c0f3e4484b4f
MMC: factor out read ID

Change-Id: I5b2bf3c2056f5c5835e383718a2a45234783278c