Mark JZ4770's __cpm_get_pll1out() as inline

That way, GCC won't complain about the fact that this function is not
called by any of the current code.
Fixed get_memory_size() when both chip enables are 1

The original code would double the number of address bits if both chip
enables are 1, instead of just doubling the memory.

We do not have any device with SDRAM on both chip enable pins, so this
problem never occurred in practice.
Do not ignore error from get_first_partition()
Fill branch delay slots of jump to c_main()

The next instruction happened to be harmless, but that is a
coincidence, not something we can count on. So use an explicit NOP.
Copy boot loader to SDRAM once that is up and running

Tests on JZ4770 show that the data cache lines that contain the boot
loader are not marked as dirty initially. Therefore, if those cache
lines are evicted, the data is lost. To avoid that, we copy the data
into SDRAM, by copying from kseg0 (cached) to the same area in kseg1
(uncached).
Allow board-*.c to also contain config-specific code

This is required to support multiple SDRAM configurations.
Put hardware variant in kernel command line

This tells the updater application which boot loader to install.
Report memory of over 256 MB in two address ranges

The first 256 MB of SDRAM exists at both physical address 0x00000000
and 0x20000000, but the kernel can only use address 0x00000000 since
that is mapped by kseg0. The SDRAM after 256 MB can only be accessed
at the physical address based on 0x20000000, since the mirroring is
limited to the first 256 MB.
Specify SDRAM delays in picoseconds instead of nanoseconds

With a 400 MHz clock, one tick is 2.5 ns, so having to round values
like 7.5 ns and 12.5 ns up will result in an unnecessary extra tick
in the delay value.
Add support for MDDR SDRAM

Previously, only DDR2 was supported.
Cleaned up code that handles DDR_tWTR timing parameter

There is no functional change on valid input.
Moved selection of SDRAM header to new "sdram.h"

It is not possible to include more than one of the SDRAM configuration
headers at the same time, so don't treat them as ordinary header files.
Add support for 2 Gb DDR2 SDRAM from Micron

Two of these are combined to get 512 MB with 32-bit data transfers.

Also added GCW0 variant that uses this SDRAM.
Add support for 2 Gb MDDR SDRAM from Micron

Two of these are combined to get 512 MB with 32-bit data transfers.

Also added GCW0 variant that uses this SDRAM.