1*83d290c5STom Rini# SPDX-License-Identifier: GPL-2.0+ 2adfb2bfeSSimon Glass# 3adfb2bfeSSimon Glass# Copyright (C) 2015 Google. Inc 4adfb2bfeSSimon Glass# Written by Simon Glass <sjg@chromium.org> 5adfb2bfeSSimon Glass 6adfb2bfeSSimon GlassU-Boot on Rockchip 7adfb2bfeSSimon Glass================== 8adfb2bfeSSimon Glass 9adfb2bfeSSimon GlassThere are several repositories available with versions of U-Boot that support 10adfb2bfeSSimon Glassmany Rockchip devices [1] [2]. 11adfb2bfeSSimon Glass 12adfb2bfeSSimon GlassThe current mainline support is experimental only and is not useful for 13adfb2bfeSSimon Glassanything. It should provide a base on which to build. 14adfb2bfeSSimon Glass 15f1387130SSimon GlassSo far only support for the RK3288 and RK3036 is provided. 16adfb2bfeSSimon Glass 17adfb2bfeSSimon Glass 18adfb2bfeSSimon GlassPrerequisites 19adfb2bfeSSimon Glass============= 20adfb2bfeSSimon Glass 21adfb2bfeSSimon GlassYou will need: 22adfb2bfeSSimon Glass 23f1387130SSimon Glass - Firefly RK3288 board or something else with a supported RockChip SoC 24adfb2bfeSSimon Glass - Power connection to 5V using the supplied micro-USB power cable 25adfb2bfeSSimon Glass - Separate USB serial cable attached to your computer and the Firefly 26adfb2bfeSSimon Glass (connect to the micro-USB connector below the logo) 27adfb2bfeSSimon Glass - rkflashtool [3] 28adfb2bfeSSimon Glass - openssl (sudo apt-get install openssl) 29adfb2bfeSSimon Glass - Serial UART connection [4] 30adfb2bfeSSimon Glass - Suitable ARM cross compiler, e.g.: 31adfb2bfeSSimon Glass sudo apt-get install gcc-4.7-arm-linux-gnueabi 32adfb2bfeSSimon Glass 33adfb2bfeSSimon Glass 34adfb2bfeSSimon GlassBuilding 35adfb2bfeSSimon Glass======== 36adfb2bfeSSimon Glass 37a84b589eSWadim EgorovAt present nine RK3288 boards are supported: 38adfb2bfeSSimon Glass 39744368d6SXu Ziyuan - EVB RK3288 - use evb-rk3288 configuration 40d7ca67b7Sjk.kernel@gmail.com - Fennec RK3288 - use fennec-rk3288 configuration 411c62d999SXu Ziyuan - Firefly RK3288 - use firefly-rk3288 configuration 421c62d999SXu Ziyuan - Hisense Chromebook - use chromebook_jerry configuration 437da8680bSJernej Skrabec - MiQi RK3288 - use miqi-rk3288 configuration 44a84b589eSWadim Egorov - phyCORE-RK3288 RDK - use phycore-rk3288 configuration 45dd63fbc7Sjk.kernel@gmail.com - PopMetal RK3288 - use popmetal-rk3288 configuration 461c62d999SXu Ziyuan - Radxa Rock 2 - use rock2 configuration 4743b5c78dSJernej Skrabec - Tinker RK3288 - use tinker-rk3288 configuration 48adfb2bfeSSimon Glass 49f1387130SSimon GlassTwo RK3036 board are supported: 501d5a6968Shuang lin 51f1387130SSimon Glass - EVB RK3036 - use evb-rk3036 configuration 52f1387130SSimon Glass - Kylin - use kylin_rk3036 configuration 531d5a6968Shuang lin 54adfb2bfeSSimon GlassFor example: 55adfb2bfeSSimon Glass 56adfb2bfeSSimon Glass CROSS_COMPILE=arm-linux-gnueabi- make O=firefly firefly-rk3288_defconfig all 57adfb2bfeSSimon Glass 58adfb2bfeSSimon Glass(or you can use another cross compiler if you prefer) 59adfb2bfeSSimon Glass 60adfb2bfeSSimon Glass 61adfb2bfeSSimon GlassWriting to the board with USB 62adfb2bfeSSimon Glass============================= 63adfb2bfeSSimon Glass 64adfb2bfeSSimon GlassFor USB to work you must get your board into ROM boot mode, either by erasing 65adfb2bfeSSimon Glassyour MMC or (perhaps) holding the recovery button when you boot the board. 66adfb2bfeSSimon GlassTo erase your MMC, you can boot into Linux and type (as root) 67adfb2bfeSSimon Glass 68adfb2bfeSSimon Glass dd if=/dev/zero of=/dev/mmcblk0 bs=1M 69adfb2bfeSSimon Glass 70adfb2bfeSSimon GlassConnect your board's OTG port to your computer. 71adfb2bfeSSimon Glass 72adfb2bfeSSimon GlassTo create a suitable image and write it to the board: 73adfb2bfeSSimon Glass 74717f8845SJeffy Chen ./firefly-rk3288/tools/mkimage -n rk3288 -T rkimage -d \ 75f2acc55eSSimon Glass ./firefly-rk3288/spl/u-boot-spl-dtb.bin out && \ 76adfb2bfeSSimon Glass cat out | openssl rc4 -K 7c4e0304550509072d2c7b38170d1711 | rkflashtool l 77adfb2bfeSSimon Glass 78adfb2bfeSSimon GlassIf all goes well you should something like: 79adfb2bfeSSimon Glass 80adfb2bfeSSimon Glass U-Boot SPL 2015.07-rc1-00383-ge345740-dirty (Jun 03 2015 - 10:06:49) 81adfb2bfeSSimon Glass Card did not respond to voltage select! 82adfb2bfeSSimon Glass spl: mmc init failed with error: -17 83adfb2bfeSSimon Glass ### ERROR ### Please RESET the board ### 84adfb2bfeSSimon Glass 85adfb2bfeSSimon GlassYou will need to reset the board before each time you try. Yes, that's all 86adfb2bfeSSimon Glassit does so far. If support for the Rockchip USB protocol or DFU were added 87adfb2bfeSSimon Glassin SPL then we could in principle load U-Boot and boot to a prompt from USB 88adfb2bfeSSimon Glassas several other platforms do. However it does not seem to be possible to 89adfb2bfeSSimon Glassuse the existing boot ROM code from SPL. 90adfb2bfeSSimon Glass 91adfb2bfeSSimon Glass 92adfb2bfeSSimon GlassBooting from an SD card 93adfb2bfeSSimon Glass======================= 94adfb2bfeSSimon Glass 95adfb2bfeSSimon GlassTo write an image that boots from an SD card (assumed to be /dev/sdc): 96adfb2bfeSSimon Glass 97717f8845SJeffy Chen ./firefly-rk3288/tools/mkimage -n rk3288 -T rksd -d \ 98f2acc55eSSimon Glass firefly-rk3288/spl/u-boot-spl-dtb.bin out && \ 99f2acc55eSSimon Glass sudo dd if=out of=/dev/sdc seek=64 && \ 10073e6dbe8SKever Yang sudo dd if=firefly-rk3288/u-boot-dtb.img of=/dev/sdc seek=16384 101adfb2bfeSSimon Glass 102adfb2bfeSSimon GlassThis puts the Rockchip header and SPL image first and then places the U-Boot 103341e44edSGoldschmidt Simonimage at block 16384 (i.e. 8MB from the start of the SD card). This 104adfb2bfeSSimon Glasscorresponds with this setting in U-Boot: 105adfb2bfeSSimon Glass 10673e6dbe8SKever Yang #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x4000 107adfb2bfeSSimon Glass 108adfb2bfeSSimon GlassPut this SD (or micro-SD) card into your board and reset it. You should see 109adfb2bfeSSimon Glasssomething like: 110adfb2bfeSSimon Glass 111f1387130SSimon Glass U-Boot 2016.01-rc2-00309-ge5bad3b-dirty (Jan 02 2016 - 23:41:59 -0700) 112adfb2bfeSSimon Glass 113f1387130SSimon Glass Model: Radxa Rock 2 Square 114adfb2bfeSSimon Glass DRAM: 2 GiB 115f1387130SSimon Glass MMC: dwmmc@ff0f0000: 0, dwmmc@ff0c0000: 1 116f1387130SSimon Glass *** Warning - bad CRC, using default environment 117adfb2bfeSSimon Glass 118f1387130SSimon Glass In: serial 119f1387130SSimon Glass Out: vop@ff940000.vidconsole 120f1387130SSimon Glass Err: serial 121f1387130SSimon Glass Net: Net Initialization Skipped 122f1387130SSimon Glass No ethernet found. 123f1387130SSimon Glass Hit any key to stop autoboot: 0 124adfb2bfeSSimon Glass => 125adfb2bfeSSimon Glass 126b47ea792SXu ZiyuanThe rockchip bootrom can load and boot an initial spl, then continue to 127b47ea792SXu Ziyuanload a second-level bootloader(ie. U-BOOT) as soon as it returns to bootrom. 128b47ea792SXu ZiyuanTherefore RK3288 has another loading sequence like RK3036. The option of 129b47ea792SXu ZiyuanU-Boot is controlled with this setting in U-Boot: 130b47ea792SXu Ziyuan 131ee14d29dSPhilipp Tomsich #define CONFIG_SPL_ROCKCHIP_BACK_TO_BROM 132b47ea792SXu Ziyuan 133b47ea792SXu ZiyuanYou can create the image via the following operations: 134b47ea792SXu Ziyuan 135b47ea792SXu Ziyuan ./firefly-rk3288/tools/mkimage -n rk3288 -T rksd -d \ 136b47ea792SXu Ziyuan firefly-rk3288/spl/u-boot-spl-dtb.bin out && \ 137b47ea792SXu Ziyuan cat firefly-rk3288/u-boot-dtb.bin >> out && \ 138b47ea792SXu Ziyuan sudo dd if=out of=/dev/sdc seek=64 139b47ea792SXu Ziyuan 140f1387130SSimon GlassIf you have an HDMI cable attached you should see a video console. 141f1387130SSimon Glass 1421d5a6968Shuang linFor evb_rk3036 board: 143717f8845SJeffy Chen ./evb-rk3036/tools/mkimage -n rk3036 -T rksd -d evb-rk3036/spl/u-boot-spl.bin out && \ 1441d5a6968Shuang lin cat evb-rk3036/u-boot-dtb.bin >> out && \ 1451d5a6968Shuang lin sudo dd if=out of=/dev/sdc seek=64 1461d5a6968Shuang lin 1471d5a6968Shuang linNote: rk3036 SDMMC and debug uart use the same iomux, so if you boot from SD, the 1481d5a6968Shuang lin debug uart must be disabled 149adfb2bfeSSimon Glass 150f46b859bSHeiko Stübner 151532cb7f5SJagan TekiBooting from an SD card on RK3288 with TPL 152532cb7f5SJagan Teki========================================== 153532cb7f5SJagan Teki 154532cb7f5SJagan TekiSince the size of SPL can't be exceeded 0x8000 bytes in RK3288, it is not possible add 155532cb7f5SJagan Tekinew SPL features like Falcon mode or etc. 156532cb7f5SJagan Teki 157532cb7f5SJagan TekiSo introduce TPL so-that adding new features to SPL is possible because now TPL should 158532cb7f5SJagan Tekirun minimal with code like DDR, clock etc and rest of new features in SPL. 159532cb7f5SJagan Teki 160532cb7f5SJagan TekiAs of now TPL is added on Vyasa-RK3288 board. 161532cb7f5SJagan Teki 162532cb7f5SJagan TekiTo write an image that boots from an SD card (assumed to be /dev/mmcblk0): 163532cb7f5SJagan Teki 164532cb7f5SJagan Teki ./tools/mkimage -n rk3288 -T rksd -d ./tpl/u-boot-tpl.bin out && 165532cb7f5SJagan Teki cat ./spl/u-boot-spl-dtb.bin >> out && 166532cb7f5SJagan Teki sudo dd if=out of=/dev/mmcblk0 seek=64 && 167d80599e8SJagan Teki sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 seek=16384 168532cb7f5SJagan Teki 169f46b859bSHeiko StübnerBooting from an SD card on RK3188 170f46b859bSHeiko Stübner================================= 171f46b859bSHeiko Stübner 172f46b859bSHeiko StübnerFor rk3188 boards the general storage onto the card stays the same as 173f46b859bSHeiko Stübnerdescribed above, but the image creation needs a bit more care. 174f46b859bSHeiko Stübner 175f46b859bSHeiko StübnerThe bootrom of rk3188 expects to find a small 1kb loader which returns 176f46b859bSHeiko Stübnercontrol to the bootrom, after which it will load the real loader, which 1774d9253fbSPhilipp Tomsichcan then be up to 29kb in size and does the regular ddr init. This is 1784d9253fbSPhilipp Tomsichhandled by a single image (built as the SPL stage) that tests whether 1794d9253fbSPhilipp Tomsichit is handled for the first or second time via code executed from the 1804d9253fbSPhilipp Tomsichboot0-hook. 181f46b859bSHeiko Stübner 182f46b859bSHeiko StübnerAdditionally the rk3188 requires everything the bootrom loads to be 183f46b859bSHeiko Stübnerrc4-encrypted. Except for the very first stage the bootrom always reads 184f46b859bSHeiko Stübnerand decodes 2kb pages, so files should be sized accordingly. 185f46b859bSHeiko Stübner 186f46b859bSHeiko Stübner# copy tpl, pad to 1020 bytes and append spl 1874d9253fbSPhilipp Tomsichtools/mkimage -n rk3188 -T rksd -d spl/u-boot-spl.bin out 188f46b859bSHeiko Stübner 189f46b859bSHeiko Stübner# truncate, encode and append u-boot.bin 190f46b859bSHeiko Stübnertruncate -s %2048 u-boot.bin 191f46b859bSHeiko Stübnercat u-boot.bin | split -b 512 --filter='openssl rc4 -K 7C4E0304550509072D2C7B38170D1711' >> out 192f46b859bSHeiko Stübner 193f46b859bSHeiko Stübner 194a16e2e06SXu ZiyuanUsing fastboot on rk3288 195a16e2e06SXu Ziyuan======================== 196a16e2e06SXu Ziyuan- Write GPT partition layout to mmc device which fastboot want to use it to 197a16e2e06SXu Ziyuanstore the image 198a16e2e06SXu Ziyuan 199a16e2e06SXu Ziyuan => gpt write mmc 1 $partitions 200a16e2e06SXu Ziyuan 201a16e2e06SXu Ziyuan- Invoke fastboot command to prepare 202a16e2e06SXu Ziyuan 203a16e2e06SXu Ziyuan => fastboot 1 204a16e2e06SXu Ziyuan 205a16e2e06SXu Ziyuan- Start fastboot request on PC 206a16e2e06SXu Ziyuan 207a16e2e06SXu Ziyuan fastboot -i 0x2207 flash loader evb-rk3288/spl/u-boot-spl-dtb.bin 208a16e2e06SXu Ziyuan 209a16e2e06SXu ZiyuanYou should see something like: 210a16e2e06SXu Ziyuan 211a16e2e06SXu Ziyuan => fastboot 1 212a16e2e06SXu Ziyuan WARNING: unknown variable: partition-type:loader 213a16e2e06SXu Ziyuan Starting download of 357796 bytes 214a16e2e06SXu Ziyuan .. 215a16e2e06SXu Ziyuan downloading of 357796 bytes finished 216a16e2e06SXu Ziyuan Flashing Raw Image 217a16e2e06SXu Ziyuan ........ wrote 357888 bytes to 'loader' 218a16e2e06SXu Ziyuan 219adfb2bfeSSimon GlassBooting from SPI 220adfb2bfeSSimon Glass================ 221adfb2bfeSSimon Glass 222adfb2bfeSSimon GlassTo write an image that boots from SPI flash (e.g. for the Haier Chromebook): 223adfb2bfeSSimon Glass 224dd8e4290SSimon Glass ./chromebook_jerry/tools/mkimage -n rk3288 -T rkspi \ 225dd8e4290SSimon Glass -d chromebook_jerry/spl/u-boot-spl-dtb.bin spl.bin && \ 226dd8e4290SSimon Glass dd if=spl.bin of=spl-out.bin bs=128K conv=sync && \ 227dd8e4290SSimon Glass cat spl-out.bin chromebook_jerry/u-boot-dtb.img >out.bin && \ 228adfb2bfeSSimon Glass dd if=out.bin of=out.bin.pad bs=4M conv=sync 229adfb2bfeSSimon Glass 230adfb2bfeSSimon GlassThis converts the SPL image to the required SPI format by adding the Rockchip 231adfb2bfeSSimon Glassheader and skipping every 2KB block. Then the U-Boot image is written at 232adfb2bfeSSimon Glassoffset 128KB and the whole image is padded to 4MB which is the SPI flash size. 233adfb2bfeSSimon GlassThe position of U-Boot is controlled with this setting in U-Boot: 234adfb2bfeSSimon Glass 235adfb2bfeSSimon Glass #define CONFIG_SYS_SPI_U_BOOT_OFFS (128 << 10) 236adfb2bfeSSimon Glass 237adfb2bfeSSimon GlassIf you have a Dediprog em100pro connected then you can write the image with: 238adfb2bfeSSimon Glass 239adfb2bfeSSimon Glass sudo em100 -s -c GD25LQ32 -d out.bin.pad -r 240adfb2bfeSSimon Glass 241adfb2bfeSSimon GlassWhen booting you should see something like: 242adfb2bfeSSimon Glass 243adfb2bfeSSimon Glass U-Boot SPL 2015.07-rc2-00215-g9a58220-dirty (Jun 23 2015 - 12:11:32) 244adfb2bfeSSimon Glass 245adfb2bfeSSimon Glass 246adfb2bfeSSimon Glass U-Boot 2015.07-rc2-00215-g9a58220-dirty (Jun 23 2015 - 12:11:32 -0600) 247adfb2bfeSSimon Glass 248adfb2bfeSSimon Glass Model: Google Jerry 249adfb2bfeSSimon Glass DRAM: 2 GiB 250adfb2bfeSSimon Glass MMC: 251adfb2bfeSSimon Glass Using default environment 252adfb2bfeSSimon Glass 253adfb2bfeSSimon Glass In: serial@ff690000 254adfb2bfeSSimon Glass Out: serial@ff690000 255adfb2bfeSSimon Glass Err: serial@ff690000 256adfb2bfeSSimon Glass => 257adfb2bfeSSimon Glass 258adfb2bfeSSimon GlassFuture work 259adfb2bfeSSimon Glass=========== 260adfb2bfeSSimon Glass 261adfb2bfeSSimon GlassImmediate priorities are: 262adfb2bfeSSimon Glass 263adfb2bfeSSimon Glass- USB host 264adfb2bfeSSimon Glass- USB device 265f1387130SSimon Glass- Run CPU at full speed (code exists but we only see ~60 DMIPS maximum) 266adfb2bfeSSimon Glass- NAND flash 267adfb2bfeSSimon Glass- Support for other Rockchip parts 268adfb2bfeSSimon Glass- Boot U-Boot proper over USB OTG (at present only SPL works) 269adfb2bfeSSimon Glass 270adfb2bfeSSimon Glass 271adfb2bfeSSimon GlassDevelopment Notes 272adfb2bfeSSimon Glass================= 273adfb2bfeSSimon Glass 274adfb2bfeSSimon GlassThere are plenty of patches in the links below to help with this work. 275adfb2bfeSSimon Glass 276adfb2bfeSSimon Glass[1] https://github.com/rkchrome/uboot.git 277adfb2bfeSSimon Glass[2] https://github.com/linux-rockchip/u-boot-rockchip.git branch u-boot-rk3288 278adfb2bfeSSimon Glass[3] https://github.com/linux-rockchip/rkflashtool.git 279adfb2bfeSSimon Glass[4] http://wiki.t-firefly.com/index.php/Firefly-RK3288/Serial_debug/en 280adfb2bfeSSimon Glass 281adfb2bfeSSimon Glassrkimage 282adfb2bfeSSimon Glass------- 283adfb2bfeSSimon Glass 284adfb2bfeSSimon Glassrkimage.c produces an SPL image suitable for sending directly to the boot ROM 285adfb2bfeSSimon Glassover USB OTG. This is a very simple format - just the string RK32 (as 4 bytes) 286adfb2bfeSSimon Glassfollowed by u-boot-spl-dtb.bin. 287adfb2bfeSSimon Glass 288adfb2bfeSSimon GlassThe boot ROM loads image to 0xff704000 which is in the internal SRAM. The SRAM 289adfb2bfeSSimon Glassstarts at 0xff700000 and extends to 0xff718000 where we put the stack. 290adfb2bfeSSimon Glass 291adfb2bfeSSimon Glassrksd 292adfb2bfeSSimon Glass---- 293adfb2bfeSSimon Glass 294adfb2bfeSSimon Glassrksd.c produces an image consisting of 32KB of empty space, a header and 295adfb2bfeSSimon Glassu-boot-spl-dtb.bin. The header is defined by 'struct header0_info' although 296adfb2bfeSSimon Glassmost of the fields are unused by U-Boot. We just need to specify the 297adfb2bfeSSimon Glasssignature, a flag and the block offset and size of the SPL image. 298adfb2bfeSSimon Glass 299adfb2bfeSSimon GlassThe header occupies a single block but we pad it out to 4 blocks. The header 300adfb2bfeSSimon Glassis encoding using RC4 with the key 7c4e0304550509072d2c7b38170d1711. The SPL 301adfb2bfeSSimon Glassimage can be encoded too but we don't do that. 302adfb2bfeSSimon Glass 303adfb2bfeSSimon GlassThe maximum size of u-boot-spl-dtb.bin which the boot ROM will read is 32KB, 304adfb2bfeSSimon Glassor 0x40 blocks. This is a severe and annoying limitation. There may be a way 305adfb2bfeSSimon Glassaround this limitation, since there is plenty of SRAM, but at present the 306adfb2bfeSSimon Glassboard refuses to boot if this limit is exceeded. 307adfb2bfeSSimon Glass 308adfb2bfeSSimon GlassThe image produced is padded up to a block boundary (512 bytes). It should be 309adfb2bfeSSimon Glasswritten to the start of an SD card using dd. 310adfb2bfeSSimon Glass 311adfb2bfeSSimon GlassSince this image is set to load U-Boot from the SD card at block offset, 312adfb2bfeSSimon GlassCONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR, dd should be used to write 313adfb2bfeSSimon Glassu-boot-dtb.img to the SD card at that offset. See above for instructions. 314adfb2bfeSSimon Glass 315adfb2bfeSSimon Glassrkspi 316adfb2bfeSSimon Glass----- 317adfb2bfeSSimon Glass 318adfb2bfeSSimon Glassrkspi.c produces an image consisting of a header and u-boot-spl-dtb.bin. The 319adfb2bfeSSimon Glassresulting image is then spread out so that only the first 2KB of each 4KB 320adfb2bfeSSimon Glasssector is used. The header is the same as with rksd and the maximum size is 321adfb2bfeSSimon Glassalso 32KB (before spreading). The image should be written to the start of 322adfb2bfeSSimon GlassSPI flash. 323adfb2bfeSSimon Glass 324adfb2bfeSSimon GlassSee above for instructions on how to write a SPI image. 325adfb2bfeSSimon Glass 326002c634cSSimon Glassrkmux.py 327002c634cSSimon Glass-------- 328002c634cSSimon Glass 329002c634cSSimon GlassYou can use this script to create #defines for SoC register access. See the 330002c634cSSimon Glassscript for usage. 331002c634cSSimon Glass 332adfb2bfeSSimon Glass 333adfb2bfeSSimon GlassDevice tree and driver model 334adfb2bfeSSimon Glass---------------------------- 335adfb2bfeSSimon Glass 336adfb2bfeSSimon GlassWhere possible driver model is used to provide a structure to the 337adfb2bfeSSimon Glassfunctionality. Device tree is used for configuration. However these have an 338adfb2bfeSSimon Glassoverhead and in SPL with a 32KB size limit some shortcuts have been taken. 339adfb2bfeSSimon GlassIn general all Rockchip drivers should use these features, with SPL-specific 340adfb2bfeSSimon Glassmodifications where required. 341adfb2bfeSSimon Glass 3423f3e1e33SJacob ChenGPT partition layout 3433f3e1e33SJacob Chen---------------------------- 3443f3e1e33SJacob Chen 3453f3e1e33SJacob ChenRockchip use a unified GPT partition layout in open source support. 3463f3e1e33SJacob ChenWith this GPT partition layout, uboot can be compatilbe with other components, 3473f3e1e33SJacob Chenlike miniloader, trusted-os, arm-trust-firmware. 3483f3e1e33SJacob Chen 3493f3e1e33SJacob ChenThere are some documents about partitions in the links below. 3503f3e1e33SJacob Chenhttp://rockchip.wikidot.com/partitions 351adfb2bfeSSimon Glass 352adfb2bfeSSimon Glass-- 353adfb2bfeSSimon GlassSimon Glass <sjg@chromium.org> 354adfb2bfeSSimon Glass24 June 2015 355