Merge branch 'master' of git://git.denx.de/u-boot-rockchip

This commit is contained in:
Tom Rini
2017-08-14 10:40:01 -04:00
203 changed files with 4233 additions and 859 deletions

View File

@@ -1,5 +1,8 @@
if TARGET_APF27
config SPL_LDSCRIPT
default "arch/$(ARCH)/cpu/u-boot-spl.lds"
config SYS_BOARD
default "apf27"

View File

@@ -1,5 +1,8 @@
if TARGET_MX31PDK
config SPL_LDSCRIPT
default "arch/$(ARCH)/cpu/u-boot-spl.lds"
config SYS_BOARD
default "mx31pdk"

View File

@@ -4,30 +4,6 @@
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <asm/io.h>
#include <fdtdec.h>
#include <asm/arch/clock.h>
#include <asm/arch/grf_rk3368.h>
DECLARE_GLOBAL_DATA_PTR;
int mach_cpu_init(void)
{
struct rk3368_pmu_grf *pmugrf;
int node;
node = fdt_node_offset_by_compatible(gd->fdt_blob, -1, "rockchip,rk3368-pmugrf");
pmugrf = (struct rk3368_pmu_grf *)fdtdec_get_addr(gd->fdt_blob, node, "reg");
rk_clrsetreg(&pmugrf->gpio0d_iomux,
GPIO0D0_MASK | GPIO0D1_MASK |
GPIO0D2_MASK | GPIO0D3_MASK,
GPIO0D0_GPIO << GPIO0D0_SHIFT |
GPIO0D1_GPIO << GPIO0D1_SHIFT |
GPIO0D2_UART4_SOUT << GPIO0D2_SHIFT |
GPIO0D3_UART4_SIN << GPIO0D3_SHIFT);
return 0;
}
int board_init(void)
{

View File

@@ -1,5 +1,8 @@
if TARGET_X600
config SPL_LDSCRIPT
default "arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
config SYS_BOARD
default "x600"

View File

@@ -0,0 +1,15 @@
if TARGET_LION_RK3368
config SYS_BOARD
default "lion_rk3368"
config SYS_VENDOR
default "theobroma-systems"
config SYS_CONFIG_NAME
default "lion_rk3368"
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
endif

View File

@@ -0,0 +1,10 @@
LION-RK3368 (RK3368-uQ7 system-on-module)
M: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
M: Klaus Goger <klaus.goger@theobroma-systems.com>
S: Maintained
F: board/theobroma-systems/lion_rk3368
F: include/configs/lion_rk3368.h
F: arch/arm/dts/rk3368-lion.dts
F: configs/lion-rk3368_defconfig
W: https://www.theobroma-systems.com/rk3368-uq7/tech-specs
T: git git://git.theobroma-systems.com/lion-u-boot.git

View File

@@ -0,0 +1,7 @@
#
# Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y += lion_rk3368.o

View File

@@ -0,0 +1,60 @@
Here is the step-by-step to boot to U-Boot on RK3368-uQ7
Get the Source and build ATF
============================
> git clone git://git.theobroma-systems.com/arm-trusted-firmware.git
> cd arm-trusted-firmware
> make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3368 bl31
> cp build/rk3368/release/bl31.bin ../u-boot/bl31-rk3368.bin
Configure U-Boot
================
> cd ../u-boot
> make lion-rk3368_defconfig
Build the TPL/SPL stage
=======================
> make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm
> tools/mkimage -n rk3368 -T rksd -d tpl/u-boot-tpl.bin spl-3368.img
> cat spl/u-boot-spl-dtb.bin >> spl-3368.img
Build the full U-Boot and a FIT image including the ATF
=======================================================
> make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm u-boot.itb
Write to a SD-card
==================
> dd if=spl-3368.img of=/dev/sdb seek=64
> dd if=u-boot.itb of=/dev/sdb seek=512
If everything went according to plan, you should see the following
output on UART0:
<debug_uart> U-Boot TPL board init
Trying to boot from BOOTROM
Returning to boot ROM...
Trying to boot from MMC1
NOTICE: BL31: v1.3(release):v1.2-1320-gbf43a443
NOTICE: BL31: Built : 18:04:47, Jul 5 2017
U-Boot 2017.07-00158-g2395e99858 (Jul 18 2017 - 21:03:31 +0200)
Model: Theobroma Systems RK3368-uQ7 SoM
DRAM: 2 GiB
MMC: dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Using default environment
In: serial@ff180000
Out: serial@ff180000
Err: serial@ff180000
Net:
Warning: ethernet@ff290000 (eth0) using random MAC address - d2:69:35:7e:d0:1e
eth0: ethernet@ff290000
Hit any key to stop autoboot: 2

View File

@@ -0,0 +1,51 @@
/*
* Copyright (C) 2017 Theobroma Systems Design und Consulting GmbH
*
* Minimal dts for a SPL FIT image payload.
*
* SPDX-License-Identifier: GPL-2.0+ X11
*/
/dts-v1/;
/ {
description = "FIT image with U-Boot proper, ATF bl31, DTB";
#address-cells = <1>;
images {
uboot {
description = "U-Boot (64-bit)";
data = /incbin/("../../../u-boot-nodtb.bin");
type = "standalone";
arch = "arm64";
compression = "none";
load = <0x00200000>;
};
atf {
description = "ARM Trusted Firmware";
data = /incbin/("../../../bl31-rk3368.bin");
type = "firmware";
arch = "arm64";
compression = "none";
load = <0x00010000>;
entry = <0x00010000>;
};
fdt {
description = "RK3368-uQ7 (Lion) flat device-tree";
data = /incbin/("../../../u-boot.dtb");
type = "flat_dt";
compression = "none";
};
};
configurations {
default = "conf";
conf {
description = "Theobroma Systems RK3368-uQ7 (Puma) SoM";
firmware = "uboot";
loadables = "atf";
fdt = "fdt";
};
};
};

View File

@@ -0,0 +1,25 @@
/*
* Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <ram.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/grf_rk3368.h>
#include <asm/arch/timer.h>
#include <syscon.h>
DECLARE_GLOBAL_DATA_PTR;
int mach_cpu_init(void)
{
return 0;
}
int board_init(void)
{
return 0;
}

View File

@@ -37,7 +37,7 @@ Compile the ATF
> cd arm-trusted-firmware
> make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
> cp build/rk3399/release/bl31.bin ../u-boot
> cp build/rk3399/release/bl31.bin ../u-boot/bl31-rk3399.bin
Compile the M0 firmware
=======================

View File

@@ -13,7 +13,7 @@
#address-cells = <1>;
images {
uboot@1 {
uboot {
description = "U-Boot (64-bit)";
data = /incbin/("../../../u-boot-nodtb.bin");
type = "standalone";
@@ -21,23 +21,23 @@
compression = "none";
load = <0x00200000>;
};
atf@1 {
atf {
description = "ARM Trusted Firmware";
data = /incbin/("../../../bl31.bin");
data = /incbin/("../../../bl31-rk3399.bin");
type = "firmware";
arch = "arm64";
compression = "none";
load = <0x00001000>;
entry = <0x00001000>;
};
pmu@1 {
pmu {
description = "Cortex-M0 firmware";
data = /incbin/("../../../rk3399m0.bin");
type = "pmu-firmware";
compression = "none";
load = <0xff8c0000>;
};
fdt@1 {
fdt {
description = "RK3399-Q7 (Puma) flat device-tree";
data = /incbin/("../../../u-boot.dtb");
type = "flat_dt";
@@ -46,12 +46,12 @@
};
configurations {
default = "conf@1";
conf@1 {
default = "conf";
conf {
description = "Theobroma Systems RK3399-Q7 (Puma) SoM";
firmware = "uboot@1";
loadables = "atf@1";
fdt = "fdt@1";
firmware = "uboot";
loadables = "atf";
fdt = "fdt";
};
};
};