[U-Boot] [PATCH v3 25/25] rockchip: Add a simple README

Andre Przywara
2015-07-27T17:08:03Z

Hi Simon,

On 24/06/15 00:29, Simon Glass wrote:
> diff --git a/doc/README.rockchip b/doc/README.rockchip
> new file mode 100644
> index 0000000..a34e198
> --- /dev/null
> +++ b/doc/README.rockchip

....

> +
> +Future work
> +===========
> +
> +Immediate priorities are:
> +
> +- MMC support (in U-Boot itself)

Can you briefly sketch what is missing here? If I got this correctly,
the SPL part has MMC working, right?
If that works, we should be able to load a kernel from the SD card,
shouldn't we?

Cheers,
Andre.

P.S. Is there any news on the oversized SPL image? I disabled LED
support in the SPL for the time being, so the resulting image is 32189
Bytes (vanilla GCC 5.1.0) and it works for me now.

> +- GPIO (driver exists but is lightly tested)
> +- I2C (driver exists but is non-functional)
> +- USB host
> +- USB device
> +- PMIC and regulators (only ACT8846 is supported at present)
> +- LCD and HDMI
> +- Run CPU at full speed
> +- Ethernet
> +- NAND flash
> +- Support for other Rockchip parts
> +- Boot U-Boot proper over USB OTG (at present only SPL works)
> +
> +
> +Development Notes
> +=================
> +
> +There are plenty of patches in the links below to help with this work.
> +
> +[1] https://github.com/rkchrome/uboot.git
> +[2] https://github.com/linux-rockchip/u-boot-rockchip.git branch u-boot-rk3288
> +[3] https://github.com/linux-rockchip/rkflashtool.git
> +[4] http://wiki.t-firefly.com/index.php/Firefly-RK3288/Serial_debug/en
> +
> +rkimage
> +-------
> +
> +rkimage.c produces an SPL image suitable for sending directly to the boot ROM
> +over USB OTG. This is a very simple format - just the string RK32 (as 4 bytes)
> +followed by u-boot-spl-dtb.bin.
> +
> +The boot ROM loads image to 0xff704000 which is in the internal SRAM. The SRAM
> +starts at 0xff700000 and extends to 0xff718000 where we put the stack.
> +
> +rksd
> +----
> +
> +rksd.c produces an image consisting of 32KB of empty space, a header and
> +u-boot-spl-dtb.bin. The header is defined by 'struct header0_info' although
> +most of the fields are unused by U-Boot. We just need to specify the
> +signature, a flag and the block offset and size of the SPL image.
> +
> +The header occupies a single block but we pad it out to 4 blocks. The header
> +is encoding using RC4 with the key 7c4e0304550509072d2c7b38170d1711. The SPL
> +image can be encoded too but we don't do that.
> +
> +The maximum size of u-boot-spl-dtb.bin which the boot ROM will read is 32KB,
> +or 0x40 blocks. This is a severe and annoying limitation. There may be a way
> +around this limitation, since there is plenty of SRAM, but at present the
> +board refuses to boot if this limit is exceeded.
> +
> +The image produced is padded up to a block boundary (512 bytes). It should be
> +written to the start of an SD card using dd.
> +
> +Since this image is set to load U-Boot from the SD card at block offset,
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR, dd should be used to write
> +u-boot-dtb.img to the SD card at that offset. See above for instructions.
> +
> +rkspi
> +-----
> +
> +rkspi.c produces an image consisting of a header and u-boot-spl-dtb.bin. The
> +resulting image is then spread out so that only the first 2KB of each 4KB
> +sector is used. The header is the same as with rksd and the maximum size is
> +also 32KB (before spreading). The image should be written to the start of
> +SPI flash.
> +
> +See above for instructions on how to write a SPI image.
> +
> +
> +Device tree and driver model
> +----------------------------
> +
> +Where possible driver model is used to provide a structure to the
> +functionality. Device tree is used for configuration. However these have an
> +overhead and in SPL with a 32KB size limit some shortcuts have been taken.
> +In general all Rockchip drivers should use these features, with SPL-specific
> +modifications where required.
> +
> +
> +--
> +Simon Glass <sjg@chromium.org>
> +24 June 2015
>