From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Date: Mon, 27 Jul 2015 18:08:03 +0100 Subject: [U-Boot] [PATCH v3 25/25] rockchip: Add a simple README In-Reply-To: <1435102150-29438-26-git-send-email-sjg@chromium.org> References: <1435102150-29438-1-git-send-email-sjg@chromium.org> <1435102150-29438-26-git-send-email-sjg@chromium.org> Message-ID: <55B66573.5010304@arm.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > +24 June 2015 >