summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2020-06-08 08:51:30 -0400
committerTom Rini <[email protected]>2020-06-08 08:51:30 -0400
commit325b83e04072e22c19d6395f69264bf6bf800146 (patch)
tree84097b656cae3180a483f8843a2d8070bc959970 /board
parent62005e20832135bda2d7539a29f7d2e9026f590a (diff)
parent187ab38e766393cda7bf3bf4926c1e55f48ad0cb (diff)
Merge tag 'u-boot-rockchip-20200607' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip
- revive rk3399 puma board to adapt mainline dts; - Fix rk3399-evb stdout path; - Enable PCIe for rk3399: Rockpro64, firefly, pinebookpro; - Add rk3328 Rock-pi-e board; - Enable SPI boot for rockpro64 and roc-pc-rk3399;
Diffstat (limited to 'board')
-rw-r--r--board/rockchip/evb_rk3328/MAINTAINERS7
-rw-r--r--board/theobroma-systems/puma_rk3399/Kconfig15
-rwxr-xr-xboard/theobroma-systems/puma_rk3399/fit_spl_atf.sh94
-rw-r--r--board/theobroma-systems/puma_rk3399/puma-rk3399.c93
4 files changed, 35 insertions, 174 deletions
diff --git a/board/rockchip/evb_rk3328/MAINTAINERS b/board/rockchip/evb_rk3328/MAINTAINERS
index 89becf41c50..e7dd59ff4ed 100644
--- a/board/rockchip/evb_rk3328/MAINTAINERS
+++ b/board/rockchip/evb_rk3328/MAINTAINERS
@@ -17,3 +17,10 @@ M: Matwey V. Kornilov <[email protected]>
S: Maintained
F: configs/rock64-rk3328_defconfig
F: arch/arm/dts/rk3328-rock64-u-boot.dtsi
+
+ROCKPIE-RK3328
+M: Banglang Huang <[email protected]>
+S: Maintained
+F: configs/rock-pi-e-rk3328_defconfig
+F: arch/arm/dts/rk3328-rock-pi-e.dts
+F: arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
diff --git a/board/theobroma-systems/puma_rk3399/Kconfig b/board/theobroma-systems/puma_rk3399/Kconfig
index 9e232527549..e82623a1701 100644
--- a/board/theobroma-systems/puma_rk3399/Kconfig
+++ b/board/theobroma-systems/puma_rk3399/Kconfig
@@ -18,4 +18,19 @@ config ENV_SIZE
config ENV_OFFSET
default 0x3fc000 if ENV_IS_IN_SPI_FLASH
+choice
+ prompt "Theobroma Systems RK3399-Q7 DDR Option"
+ default TARGET_PUMA_RK3399_RAM_DDR3_1333
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1333
+ bool "DDR3-1333MHz"
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1600
+ bool "DDR3-1600MHz"
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1866
+ bool "DDR3-1866MHz"
+
+endchoice
+
endif
diff --git a/board/theobroma-systems/puma_rk3399/fit_spl_atf.sh b/board/theobroma-systems/puma_rk3399/fit_spl_atf.sh
deleted file mode 100755
index c9396577a92..00000000000
--- a/board/theobroma-systems/puma_rk3399/fit_spl_atf.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/sh
-#
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Copyright (C) 2019 Jagan Teki <[email protected]>
-#
-# Based on the board/sunxi/mksunxi_fit_atf.sh
-#
-# Script to generate FIT image source for 64-bit puma boards with
-# U-Boot proper, ATF, PMU firmware and devicetree.
-#
-# usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
-
-[ -z "$BL31" ] && BL31="bl31.bin"
-
-if [ ! -f $BL31 ]; then
- echo "WARNING: BL31 file $BL31 NOT found, resulting binary is non-functional" >&2
- echo "Please read Building section in doc/README.rockchip" >&2
- BL31=/dev/null
-fi
-
-[ -z "$PMUM0" ] && PMUM0="rk3399m0.bin"
-
-if [ ! -f $PMUM0 ]; then
- echo "WARNING: PMUM0 file $PMUM0 NOT found, resulting binary is non-functional" >&2
- echo "Please read Building section in doc/README.rockchip" >&2
- PMUM0=/dev/null
-fi
-
-cat << __HEADER_EOF
-/* SPDX-License-Identifier: GPL-2.0+ OR X11 */
-/*
- * Copyright (C) 2017 Theobroma Systems Design und Consulting GmbH
- *
- * Minimal dts for a SPL FIT image payload.
- */
-
-/dts-v1/;
-
-/ {
- description = "FIT image with U-Boot proper, ATF bl31, M0 Firmware, DTB";
- #address-cells = <1>;
-
- images {
- uboot {
- description = "U-Boot (64-bit)";
- data = /incbin/("u-boot-nodtb.bin");
- type = "standalone";
- arch = "arm64";
- compression = "none";
- load = <0x4a000000>;
- };
- atf {
- description = "ARM Trusted Firmware";
- data = /incbin/("$BL31");
- type = "firmware";
- arch = "arm64";
- os = "arm-trusted-firmware";
- compression = "none";
- load = <0x1000>;
- entry = <0x1000>;
- };
- pmu {
- description = "Cortex-M0 firmware";
- data = /incbin/("$PMUM0");
- type = "pmu-firmware";
- compression = "none";
- load = <0x180000>;
- };
- fdt {
- description = "RK3399-Q7 (Puma) flat device-tree";
- data = /incbin/("$1");
- type = "flat_dt";
- compression = "none";
- };
-__HEADER_EOF
-
-cat << __CONF_HEADER_EOF
- };
-
- configurations {
- default = "conf";
- conf {
- description = "Theobroma Systems RK3399-Q7 (Puma) SoM";
- firmware = "atf";
- loadables = "uboot", "pmu";
- fdt = "fdt";
- };
-__CONF_HEADER_EOF
-
-cat << __ITS_EOF
- };
-};
-__ITS_EOF
diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
index f7f08ae617d..deeba3084a8 100644
--- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c
+++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
@@ -114,22 +114,22 @@ static int setup_boottargets(void)
int misc_init_r(void)
{
- const u32 cpuid_offset = 0x7;
- const u32 cpuid_length = 0x10;
- u8 cpuid[cpuid_length];
- int ret;
+ const u32 cpuid_offset = 0x7;
+ const u32 cpuid_length = 0x10;
+ u8 cpuid[cpuid_length];
+ int ret;
- ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
- if (ret)
- return ret;
+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
+ if (ret)
+ return ret;
- ret = rockchip_cpuid_set(cpuid, cpuid_length);
- if (ret)
- return ret;
+ ret = rockchip_cpuid_set(cpuid, cpuid_length);
+ if (ret)
+ return ret;
- ret = rockchip_setup_macaddr();
- if (ret)
- return ret;
+ ret = rockchip_setup_macaddr();
+ if (ret)
+ return ret;
setup_iodomain();
setup_boottargets();
@@ -152,70 +152,3 @@ void get_board_serial(struct tag_serialnr *serialnr)
serialnr->low = (u32)(serial & 0xffffffff);
}
#endif
-
-/**
- * Switch power at an external regulator (for our root hub).
- *
- * @param ctrl pointer to the xHCI controller
- * @param port port number as in the control message (one-based)
- * @param enable boolean indicating whether to enable or disable power
- * @return returns 0 on success, an error-code on failure
- */
-static int board_usb_port_power_set(struct udevice *dev, int port,
- bool enable)
-{
-#if CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(DM_REGULATOR)
- /* We start counting ports at 0, while USB counts from 1. */
- int index = port - 1;
- const char *regname = NULL;
- struct udevice *regulator;
- const char *prop = "tsd,usb-port-power";
- int ret;
-
- debug("%s: ctrl '%s' port %d enable %s\n", __func__,
- dev_read_name(dev), port, enable ? "true" : "false");
-
- ret = dev_read_string_index(dev, prop, index, &regname);
- if (ret < 0) {
- debug("%s: ctrl '%s' port %d: no entry in '%s'\n",
- __func__, dev_read_name(dev), port, prop);
- return ret;
- }
-
- ret = regulator_get_by_platname(regname, &regulator);
- if (ret) {
- debug("%s: ctrl '%s' port %d: could not get regulator '%s'\n",
- __func__, dev_read_name(dev), port, regname);
- return ret;
- }
-
- regulator_set_enable(regulator, enable);
- return 0;
-#else
- return -ENOTSUPP;
-#endif
-}
-
-void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
-{
- struct udevice *dev = hub->pusb_dev->dev;
- struct udevice *ctrl;
-
- /* We are only interested in our root-hubs */
- if (usb_hub_is_root_hub(dev) == false)
- return;
-
- ctrl = usb_get_bus(dev);
- if (!ctrl) {
- debug("%s: could not retrieve ctrl for hub\n", __func__);
- return;
- }
-
- /*
- * To work around an incompatibility between the single-threaded
- * USB stack in U-Boot and (a strange low-power mode of) the USB
- * hub we have on-module, we need to delay powering on the hub
- * until the first time the port is probed.
- */
- board_usb_port_power_set(ctrl, port, true);
-}