mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-08 13:53:21 +09:00
![]() When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
||
---|---|---|
.. | ||
evb-rk3399.c | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README |
Introduction ============ RK3399 key features we might use in U-Boot: * CPU: ARMv8 64bit Big-Little architecture, * Big: dual-core Cortex-A72 * Little: quad-core Cortex-A53 * IRAM: 200KB * DRAM: 4GB-128MB dual-channel * eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50 * SD/MMC: support SD 3.0, MMC 4.51 * USB: USB3.0 typc-C port *2 with dwc3 controller * USB2.0 EHCI host port *2 * Display: RGB/HDMI/DP/MIPI/EDP evb key features: * regulator: pwm regulator for CPU B/L * PMIC: rk808 * debug console: UART2 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 Here is the step-by-step to boot to U-Boot on rk3399. 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 > git clone https://github.com/rockchip-linux/rkdeveloptool.git Compile the ATF =============== > cd arm-trusted-firmware > 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 > 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 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 U-Boot SPL(option 1) -------------------------------- > cd .. > 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 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 0x4000 u-boot/u-boot.itb > rkdeveloptool rd Flash the image with Rockchip miniloader(option 2) ---------------------------------------- Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then: > rkdeveloptool db rkbin/rk33/rk3399_loader_v1.08.106.bin > rkdeveloptool ul rkbin/rk33/rk3399_loader_v1.08.106.bin > rkdeveloptool wl 0x4000 u-boot/uboot.img > rkdeveloptool wl 0x6000 u-boot/trust.img > rkdeveloptool rd You should be able to get U-Boot log in console/UART2(baurdrate 1500000) For more detail, please reference to: http://opensource.rock-chips.com/wiki_Boot_option