Hi Kever, On Thu, Aug 31, 2017 at 6:37 AM, Kever Yang <kever.y...@rock-chips.com> wrote: > Hi Jagan, > > > > On 08/30/2017 11:10 PM, Jagan Teki wrote: >> >> + Philipp >> >> On Mon, Aug 21, 2017 at 6:30 PM, Kever Yang <kever.y...@rock-chips.com> >> wrote: >>> >>> Since we support ATF in SPL and add script for it, let's make the >>> document up to date. >>> >>> Signed-off-by: Kever Yang <kever.y...@rock-chips.com> >>> Acked-by: Philipp Tomsich <philipp.toms...@theobroma-systems.com> >>> --- >>> >>> Changes in v2: >>> - typo fix, evb-firefly->firefly-rk3399 >>> >>> board/rockchip/evb_rk3399/README | 79 >>> ++++++++++++++++++++++++++++++++-------- >>> 1 file changed, 63 insertions(+), 16 deletions(-) >>> >>> diff --git a/board/rockchip/evb_rk3399/README >>> b/board/rockchip/evb_rk3399/README >>> index fb8bb19..b5c7614 100644 >>> --- a/board/rockchip/evb_rk3399/README >>> +++ b/board/rockchip/evb_rk3399/README >>> @@ -18,8 +18,8 @@ evb key features: >>> * PMIC: rk808 >>> * debug console: UART2 >>> >>> -In order to support Arm Trust Firmware(ATF), we need to use the >>> -miniloader from rockchip which: >>> +In order to support Arm Trust Firmware(ATF), we can use either SPL or >>> +miniloader from rockchip to do: >>> * do DRAM init >>> * load and verify ATF image >>> * load and verify U-Boot image >>> @@ -32,8 +32,8 @@ Get the Source and prebuild binary >>> > mkdir ~/evb_rk3399 >>> > cd ~/evb_rk3399 >>> > git clone https://github.com/ARM-software/arm-trusted-firmware.git >>> - > git clone https://github.com/rockchip-linux/rkbin >>> - > git clone https://github.com/rockchip-linux/rkflashtool >>> + > git clone https://github.com/rockchip-linux/rkbin.git >>> + > git clone https://github.com/rockchip-linux/rkdeveloptool.git >>> >>> Compile the ATF >>> =============== >>> @@ -42,32 +42,79 @@ Compile the ATF >>> > make realclean >>> > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31 >>> >>> + Or you can get the bl31.elf directly from Rockchip: >>> + cp rkbin/rk33/rk3399_bl31_v1.00.elf ../u-boot/bl31.elf >>> + >>> + Get bl31.elf in this step, copy it to U-Boot root dir: >>> + > cp bl31.elf ../u-boot/ >>> + >>> Compile the U-Boot >>> ================== >>> >>> > cd ../u-boot >>> - > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig all >>> + > export ARCH=arm64 >>> + > export CROSS_COMPILE=aarch64-linux-gnu- >>> + > make evb-rk3399_defconfig >>> + for firefly-rk3399, use below instead: >>> + > make firefly-rk3399_defconfig >>> + > make >>> + > make u-boot.itb >>> >>> -Compile the rkflashtool >>> -======================= >>> + Get spl/u-boot-spl.bin and u-boot.itb in this step. >>> >>> +Compile the rkdeveloptool >>> +======================= >>> + Follow instructions in latest README >>> > cd ../rkflashtool >>> + > autoreconf -i >>> + > ./configure >>> > make >>> + > sudo make install >>> + >>> + Get rkdeveloptool in you Host in this step. >>> + >>> +Both origin binaries and Tool are ready now, choose either option 1 or >>> +option 2 to deploy U-Boot. >>> + >>> +Package the image >>> +================= >>> >>> -Package the image for miniloader >>> -================================ >>> +Package the image for U-Boot SPL(option 1) >>> +-------------------------------- >>> > cd .. >>> - > cp arm-trusted-firmware/build/rk3399/release/bl31.bin rkbin/rk33 >>> + > tools/mkimage -n rk3399 -T rksd -d spl/u-boot-spl.bin idbspl.img >>> + >>> + Get idbspl.img in this step. >>> + >>> +Package the image for Rockchip miniloader(option 2) >>> +------------------------------------------ >>> + > cd .. >>> + > cp arm-trusted-firmware/build/rk3399/release/bl31.elf rkbin/rk33 >>> > ./rkbin/tools/trust_merger rkbin/tools/RK3399TRUST.ini >>> > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin >>> uboot.img >>> - > mkdir image >>> - > mv trust.img ./image/ >>> - > mv uboot.img ./image/rk3399evb-uboot.bin >>> >>> -Flash the image >>> -=============== >>> + Get trust.img and uboot.img in this step. >>> + >>> +Flash the image to eMMC >>> +======================= >>> + >>> +Flash the image with U-Boot SPL(option 1) >>> +------------------------------- >>> Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then: >>> + > rkdeveloptool db rkbin/rk33/rk3399_loader_v1.08.106.bin >>> + > rkdeveloptool wl 64 u-boot/idbspl.img >>> + > rkdeveloptool wl 512 u-boot/u-boot.itb >>> + > rkdeveloptool rd >> >> Do we still need rk3399_loader_v1.08.106.bin? if u-boot.itb has ATF, > > > We need this for db command for now, if we enable rockusb in U-Boot, then we > don't > need db command and we don't need rk3399_loader_v1.08.106.bin > > rk3399_loader_v1.08.106.bin will be there for Windows flash tool like > rkdeveloptool in Linux.
Ok, thanks for the info. I'm trying to boot from SDMMC and written SPL and u-boot.itb (ATF+Cortex-M0) like # dd if=spl of=/dev/mmcblk0 seek=64 # dd if=u-boot.itb of=/dev/mmcblk0 seek=512 With this ROM picked boot image from eMMC instead of SDMMC and hang at 'try to start rockusb' [1] Do I need to loader here? and wiki [2] doesn't mention to write loader for ARMv8 with SPL [1] https://paste.ubuntu.com/25436760/ [2] http://opensource.rock-chips.com/wiki_Boot_option#Boot_from_SD.2FTF_Card -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot