summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoy Cho <joy.cho@hardkernel.com>2020-07-07 12:05:12 +0300
committerJoy Cho <joy.cho@hardkernel.com>2020-12-02 10:23:20 +0300
commit01c5bed8fe2cf28372da4b422e0caf560cc0691a (patch)
tree56a063bdc859616b93a66b1bbb7ebba90cec86f0
parent533d602e342547a91b6b3815cdcefcd477e2b63b (diff)
downloadu-boot-01c5bed8fe2cf28372da4b422e0caf560cc0691a.tar.xz
ODROID-GO3: Introduce ODROID-GO3 u-boot configuration
Change-Id: Ic73481a4edccf02cda1bc97a2ddd4af581ef607f
-rw-r--r--arch/arm/dts/odroidgo3.dts415
-rw-r--r--arch/arm/mach-rockchip/board.c11
-rw-r--r--arch/arm/mach-rockchip/boot_mode.c2
-rw-r--r--arch/arm/mach-rockchip/px30/Kconfig19
-rw-r--r--board/rockchip/odroidgo3/Kconfig15
-rw-r--r--board/rockchip/odroidgo3/MAINTAINERS6
-rw-r--r--board/rockchip/odroidgo3/Makefile7
-rw-r--r--board/rockchip/odroidgo3/odroidgo3.c118
-rw-r--r--board/rockchip/odroidgo3/odroidgo3_power.c68
-rw-r--r--board/rockchip/odroidgo3/odroidgo3_recovery.c127
-rw-r--r--board/rockchip/odroidgo3/odroidgo3_status.c88
-rw-r--r--cmd/Kconfig10
-rw-r--r--cmd/rksfc.c2
-rw-r--r--cmd/source.c2
-rw-r--r--configs/odroidgo2-spi_defconfig4
-rw-r--r--configs/odroidgo2_defconfig4
-rw-r--r--configs/odroidgo3_defconfig1363
-rw-r--r--include/configs/odroidgo3.h93
-rwxr-xr-xmake.sh8
19 files changed, 2345 insertions, 17 deletions
diff --git a/arch/arm/dts/odroidgo3.dts b/arch/arm/dts/odroidgo3.dts
new file mode 100644
index 0000000000..fba739789d
--- /dev/null
+++ b/arch/arm/dts/odroidgo3.dts
@@ -0,0 +1,415 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+#include "px30.dtsi"
+#include "px30-u-boot.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Rockchip RK3326 ODROID-GO3";
+ compatible = "rockchip,odroidgo3", "rockchip,rk3326";
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm1 0 40000 0>;
+ brightness-levels = <
+ 0 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15
+ 16 17 18 19 20 21 22 23
+ 24 25 26 27 28 29 30 31
+ 32 33 34 35 36 37 38 39
+ 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55
+ 56 57 58 59 60 61 62 63
+ 64 65 66 67 68 69 70 71
+ 72 73 74 75 76 77 78 79
+ 80 81 82 83 84 85 86 87
+ 88 89 90 91 92 93 94 95
+ 96 97 98 99 100 101 102 103
+ 104 105 106 107 108 109 110 111
+ 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127
+ 128 129 130 131 132 133 134 135
+ 136 137 138 139 140 141 142 143
+ 144 145 146 147 148 149 150 151
+ 152 153 154 155 156 157 158 159
+ 160 161 162 163 164 165 166 167
+ 168 169 170 171 172 173 174 175
+ 176 177 178 179 180 181 182 183
+ 184 185 186 187 188 189 190 191
+ 192 193 194 195 196 197 198 199
+ 200 201 202 203 204 205 206 207
+ 208 209 210 211 212 213 214 215
+ 216 217 218 219 220 221 222 223
+ 224 225 226 227 228 229 230 231
+ 232 233 234 235 236 237 238 239
+ 240 241 242 243 244 245 246 247
+ 248 249 250 251 252 253 254 255>;
+ default-brightness-level = <200>;
+ };
+};
+
+&i2c0 {
+ status = "okay";
+
+ rk817: pmic@20 {
+ compatible = "rockchip,rk817";
+ reg = <0x20>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int>;
+ rockchip,system-power-controller;
+ wakeup-source;
+ #clock-cells = <1>;
+ clock-output-names = "xin32k", "rk808-clkout2";
+
+ vcc1-supply = <&vccsys>;
+ vcc2-supply = <&vccsys>;
+ vcc3-supply = <&vccsys>;
+ vcc4-supply = <&vccsys>;
+ vcc5-supply = <&vccsys>;
+ vcc6-supply = <&vccsys>;
+ vcc7-supply = <&vcc_3v0>;
+ vcc8-supply = <&vccsys>;
+ vcc9-supply = <&dcdc_boost>;
+
+ vccsys: vccsys{
+ compatible = "regulator-fixed";
+ regulator-name = "vcc3v8_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3800000>;
+ regulator-max-microvolt = <3800000>;
+ };
+
+ vcc_host: vcc_host {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_host";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ vin-supply = <&vccsys>;
+ };
+
+ rk817_pin0_ts: rk817_pin0_ts {
+ pins = "gpio0";
+ function = "pin_fun0";
+ };
+
+ rk817_pin0_gpio: rk817_pin0_gpio {
+ pins = "gpio0";
+ function = "gpio";
+ };
+
+ rk817_pin1_gt: rk817_pin1_gt {
+ pins = "gpio1";
+ function = "pin_fun0";
+ };
+
+ rk817_pin1_gpio: rk817_pin1_gpio {
+ pins = "gpio1";
+ function = "gpio";
+ };
+
+ pwrkey {
+ status = "okay";
+ };
+
+ regulators {
+ vdd_arm: DCDC_REG1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-ramp-delay = <6001>;
+ regulator-initial-mode = <0x1>;
+ regulator-name = "vdd_arm";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <700000>;
+ };
+ };
+
+ vdd_logic: DCDC_REG2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-ramp-delay = <6001>;
+ regulator-initial-mode = <0x1>;
+ regulator-name = "vdd_logic";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <800000>;
+ };
+ };
+
+ vcc_ddr: DCDC_REG3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-mode = <0x1>;
+ regulator-name = "vcc_ddr";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_3v0: DCDC_REG4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <0x1>;
+ regulator-name = "vcc_3v0";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <3000000>;
+ };
+ };
+
+ vcc2v5_ddr: LDO_REG1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-name = "vcc2v5_ddr";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <2500000>;
+ };
+ };
+
+ vcc1v8_soc: LDO_REG2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-name = "vcc1v8_soc";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd1v0_soc: LDO_REG3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+
+ regulator-name = "vcc1v0_soc";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1000000>;
+ };
+ };
+
+ vcc3v0_pmu: LDO_REG4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+
+ regulator-name = "vcc3v0_pmu";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <3000000>;
+ };
+ };
+
+ vccio_sd: LDO_REG5 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+
+ regulator-name = "vccio_sd";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vcc_sd: LDO_REG6 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ regulator-name = "vcc_sd";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vcc2v8_dvp: LDO_REG7 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+
+ regulator-name = "vcc2v8_dvp";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <2800000>;
+ };
+ };
+
+ vcc1v8_dvp: LDO_REG8 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-name = "vcc1v8_dvp";
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd1v5_dvp: LDO_REG9 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+
+ regulator-name = "vdd1v5_dvp";
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1500000>;
+ };
+ };
+
+ dcdc_boost: BOOST {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5400000>;
+ regulator-name = "boost";
+ };
+
+ otg_switch: OTG_SWITCH {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-name = "otg_switch";
+ };
+ };
+
+ battery {
+ compatible = "rk817,battery";
+ ocv_table = <3500 3625 3685 3697 3718 3735 3748
+ 3760 3774 3788 3802 3816 3834 3853
+ 3877 3908 3946 3975 4018 4071 4106>;
+ design_capacity = <2500>;
+ design_qmax = <2750>;
+ bat_res = <100>;
+ sleep_enter_current = <300>;
+ sleep_exit_current = <300>;
+ sleep_filter_current = <100>;
+ power_off_thresd = <3500>;
+ zero_algorithm_vol = <3850>;
+ max_soc_offset = <60>;
+ monitor_sec = <5>;
+ sample_res = <10>;
+ virtual_power = <1>;
+ };
+
+ charger {
+ compatible = "rk817,charger";
+ min_input_voltage = <4500>;
+ max_input_current = <1500>;
+ max_chrg_current = <1300>;
+ max_chrg_voltage = <4200>;
+ chrg_term_mode = <1>;
+ chrg_finish_cur = <300>;
+ virtual_power = <0>;
+ dc_det_adc = <0>;
+ };
+ };
+};
+
+&sdmmc {
+ bus-width = <4>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ supports-sd;
+ card-detect-delay = <1200>;
+ ignore-pm-notify;
+ cd-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; /* [> CD GPIO <] */
+ sd-uhs-sdr12;
+ sd-uhs-sdr25;
+ sd-uhs-sdr50;
+ sd-uhs-sdr104;
+ vqmmc-supply = <&vccio_sd>;
+ vmmc-supply = <&vcc_sd>;
+ status = "okay";
+};
+
+&emmc {
+ status = "disabled";
+};
+
+&pwm1 {
+ status = "okay";
+};
+
+&saradc {
+ status = "okay";
+};
+
+&pinctrl {
+ pmic {
+ pmic_int: pmic_int {
+ rockchip,pins =
+ <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+};
+
+&u2phy {
+ status = "okay";
+
+ u2phy_host: host-port {
+ status = "okay";
+ };
+
+ u2phy_otg: otg-port {
+ status = "disabled";
+ };
+};
+
+&usb20_otg {
+ status = "okay";
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2m1_xfer>;
+ status = "okay";
+};
+
+&nandc0 {
+ u-boot,dm-pre-reloc;
+ status = "disabled";
+};
+
+&spi0 {
+ u-boot,dm-pre-reloc;
+ status = "disabled";
+};
+
+&sfc {
+ u-boot,dm-pre-reloc;
+ status = "okay";
+};
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index 94ad05b524..e724ccab3d 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -171,7 +171,7 @@ int board_late_init(void)
setup_boot_mode();
#endif
#ifdef CONFIG_DM_CHARGE_DISPLAY
-#ifndef CONFIG_TARGET_ODROIDGO2
+#ifndef CONFIG_PLATFORM_ODROID_GOADV
charge_display();
#endif
#endif
@@ -326,6 +326,7 @@ int init_kernel_dtb(void)
ret = rockchip_read_dtb_file((void *)fdt_addr);
if (ret < 0) {
+#ifdef CONFIG_PLATFORM_ODROID_GOADV
#ifdef CONFIG_TARGET_ODROIDGO2
/* skip spi flash in case of recovery boot */
if (recovery_check_mandatory_files()) {
@@ -336,20 +337,24 @@ int init_kernel_dtb(void)
if (ret == CMD_RET_SUCCESS)
ret = check_fdt_header(fdt_addr);
}
-
+#endif
if (ret != CMD_RET_SUCCESS) {
printf("dtb in spi flash fail, try dtb in fat\n");
ret = run_command("fatload mmc 1:1 ${fdt_addr_r} ${dtb_name}", 0);
if (ret != CMD_RET_SUCCESS) {
printf("%s dtb in fat fs fail\n", __func__);
+#ifdef CONFIG_TARGET_ODROIDGO2
odroid_drop_errorlog("dtb load fail", 13);
odroid_alert_leds();
+#endif
return 0;
} else {
if (CMD_RET_SUCCESS != check_fdt_header(fdt_addr)) {
printf("%s dtb in fat fs fail\n", __func__);
+#ifdef CONFIG_TARGET_ODROIDGO2
odroid_drop_errorlog("dtb load fail", 13);
odroid_alert_leds();
+#endif
return 0;
}
}
@@ -357,7 +362,7 @@ int init_kernel_dtb(void)
#else
printf("%s dtb in resource read fail\n", __func__);
return 0;
-#endif /* CONFIG_TARGET_ODROIDGO2 */
+#endif /* CONFIG_PLATFORM_ODROID_GOADV */
}
/*
diff --git a/arch/arm/mach-rockchip/boot_mode.c b/arch/arm/mach-rockchip/boot_mode.c
index bdb62d0a11..8922febea1 100644
--- a/arch/arm/mach-rockchip/boot_mode.c
+++ b/arch/arm/mach-rockchip/boot_mode.c
@@ -111,7 +111,7 @@ void boot_devtype_init(void)
/* For odroid target,
* mmc should be initialized by default.
*/
-#ifndef CONFIG_TARGET_ODROIDGO2
+#ifndef CONFIG_PLATFORM_ODROID_GOADV
if (!strcmp("mmc", devtype))
#endif
mmc_initialize(gd->bd);
diff --git a/arch/arm/mach-rockchip/px30/Kconfig b/arch/arm/mach-rockchip/px30/Kconfig
index a1cd345439..35dcefc83e 100644
--- a/arch/arm/mach-rockchip/px30/Kconfig
+++ b/arch/arm/mach-rockchip/px30/Kconfig
@@ -4,9 +4,23 @@ config TARGET_EVB_PX30
bool "EVB_PX30"
select BOARD_LATE_INIT
-config TARGET_ODROIDGO2
- bool "ODROIDGO2"
+config PLATFORM_ODROID_GOADV
+ bool "Support ODROID-GO Advanced Platform"
select BOARD_LATE_INIT
+ help
+ ODROID-GO Advanced configuration
+
+if PLATFORM_ODROID_GOADV
+config TARGET_ODROIDGO2
+ bool "Target ODROID-GO2"
+ help
+ ODROID-GO Advanced 2nd configuration
+
+config TARGET_ODROIDGO3
+ bool "Target ODROID-GO3"
+ help
+ ODROID-GO Advanced 3rd configuration
+endif
config SYS_SOC
default "rockchip"
@@ -19,5 +33,6 @@ config SPL_SERIAL_SUPPORT
source "board/rockchip/evb_px30/Kconfig"
source "board/rockchip/odroidgo2/Kconfig"
+source "board/rockchip/odroidgo3/Kconfig"
endif
diff --git a/board/rockchip/odroidgo3/Kconfig b/board/rockchip/odroidgo3/Kconfig
new file mode 100644
index 0000000000..ed2d46a436
--- /dev/null
+++ b/board/rockchip/odroidgo3/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ODROIDGO3
+
+config SYS_BOARD
+ default "odroidgo3"
+
+config SYS_VENDOR
+ default "rockchip"
+
+config SYS_CONFIG_NAME
+ default "odroidgo3"
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+ def_bool y
+
+endif
diff --git a/board/rockchip/odroidgo3/MAINTAINERS b/board/rockchip/odroidgo3/MAINTAINERS
new file mode 100644
index 0000000000..6058648ac3
--- /dev/null
+++ b/board/rockchip/odroidgo3/MAINTAINERS
@@ -0,0 +1,6 @@
+ODROID-GO3
+M: Joy Cho <joy.cho@hardkernel.com>
+S: Maintained
+F: board/rockchip/odroidgo3
+F: include/configs/odroidgo3.h
+F: configs/odroidgo3_defconfig
diff --git a/board/rockchip/odroidgo3/Makefile b/board/rockchip/odroidgo3/Makefile
new file mode 100644
index 0000000000..64de483c5a
--- /dev/null
+++ b/board/rockchip/odroidgo3/Makefile
@@ -0,0 +1,7 @@
+#
+# (C) Copyright 2020 Hardkernel Co., Ltd
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+obj-y += odroidgo3.o
diff --git a/board/rockchip/odroidgo3/odroidgo3.c b/board/rockchip/odroidgo3/odroidgo3.c
new file mode 100644
index 0000000000..cd5e5cf873
--- /dev/null
+++ b/board/rockchip/odroidgo3/odroidgo3.c
@@ -0,0 +1,118 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+#include <asm/arch/grf_px30.h>
+#include <asm/arch/hardware.h>
+#include <key.h>
+#include <fs.h>
+#include <version.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define ALIVE_LED_GPIO 17 /* GPIO0_C1 */
+#define WIFI_EN_GPIO 110 /* GPIO3_B6 */
+
+void board_alive_led(void)
+{
+ gpio_request(ALIVE_LED_GPIO, "alive_led");
+ gpio_direction_output(ALIVE_LED_GPIO, 1);
+ gpio_free(ALIVE_LED_GPIO);
+}
+
+int board_check_autotest(void)
+{
+ u32 stater, statel;
+ unsigned int delay = 1000; /* long key down for 1 sec */
+
+ while (delay) {
+ stater = key_read(BTN_TR);
+ statel = key_read(BTN_TL);
+
+ if ((stater != KEY_PRESS_DOWN) || (statel != KEY_PRESS_DOWN))
+ return -1;
+
+ mdelay(50);
+ delay -= 50;
+ }
+
+ return 0;
+}
+
+#define GRF_BASE 0xff140000
+void board_debug_uart2m1(void)
+{
+ static struct px30_grf * const grf = (void *)GRF_BASE;
+
+ /* GRF_IOFUNC_CON0 */
+ enum {
+ CON_IOMUX_UART2SEL_SHIFT = 10,
+ CON_IOMUX_UART2SEL_MASK = 3 << CON_IOMUX_UART2SEL_SHIFT,
+ CON_IOMUX_UART2SEL_M0 = 0,
+ CON_IOMUX_UART2SEL_M1,
+ CON_IOMUX_UART2SEL_USBPHY,
+ };
+
+ /* Enable early UART2 */
+ rk_clrsetreg(&grf->iofunc_con0,
+ CON_IOMUX_UART2SEL_MASK,
+ CON_IOMUX_UART2SEL_M1 << CON_IOMUX_UART2SEL_SHIFT);
+}
+
+void board_init_sfc_if(void)
+{
+ static struct px30_grf * const grf = (void *)GRF_BASE;
+
+ /* sfc_clk */
+ rk_setreg(&grf->gpio1bl_iomux, (0x3 << 4));
+
+ /* sfc_scn0 */
+ rk_setreg(&grf->gpio1ah_iomux, 0x3);
+
+ /* sfc_sio0 */
+ rk_setreg(&grf->gpio1al_iomux, 0x3);
+
+ /* sfc_sio1 */
+ rk_setreg(&grf->gpio1al_iomux, (0x3 << 4));
+}
+
+void board_init_switch_gpio(void)
+{
+ static struct px30_grf * const grf = (void *)GRF_BASE;
+
+ /* set iomux */
+ rk_clrreg(&grf->gpio1al_iomux, 0x0f00);
+ rk_clrreg(&grf->gpio1ah_iomux, 0xfff0);
+ rk_clrreg(&grf->gpio1bh_iomux, 0xffff);
+
+ /* set pad pull control */
+ rk_clrsetreg(&grf->gpio1b_p, 0xff00, 0x5500);
+ rk_clrsetreg(&grf->gpio1a_p, 0xfcc0, 0x5440);
+ rk_clrsetreg(&grf->gpio2a_p, 0xffff, 0x5555);
+ rk_clrsetreg(&grf->gpio3b_p, 0xC030, 0x4010);
+}
+
+int rk_board_late_init(void)
+{
+ /* turn on blue led */
+ board_alive_led();
+
+ /* set uart2-m1 port as a default debug console */
+ board_debug_uart2m1();
+
+ /* set sfc alternate function */
+ board_init_sfc_if();
+
+ /* set switch gpio */
+ board_init_switch_gpio();
+
+ /* display boot logo - TODO */
+
+ return 0;
+}
diff --git a/board/rockchip/odroidgo3/odroidgo3_power.c b/board/rockchip/odroidgo3/odroidgo3_power.c
new file mode 100644
index 0000000000..63054939b2
--- /dev/null
+++ b/board/rockchip/odroidgo3/odroidgo3_power.c
@@ -0,0 +1,68 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/gpio.h>
+#include <power/fuel_gauge.h>
+
+#define MIN_VOL_LEVEL 3500 /* 3.5V */
+
+#define DC_DET_GPIO 11 /* GPIO0_B3 */
+#define CHG_LED_GPIO 13 /* GPIO0_B5 */
+
+void board_chg_led(void)
+{
+ gpio_request(CHG_LED_GPIO, "chg_led");
+ /* default on */
+ gpio_direction_output(CHG_LED_GPIO, 1);
+ gpio_free(CHG_LED_GPIO);
+}
+
+int odroid_check_dcjack(void)
+{
+ gpio_request(DC_DET_GPIO, "dc_det_gpio");
+
+ return gpio_get_value(DC_DET_GPIO) ? 0 : -1;
+}
+
+int odroid_check_battery(int *battery)
+{
+ int ret;
+ struct udevice *fg;
+
+ ret = uclass_get_device(UCLASS_FG, 0, &fg);
+ if (ret) {
+ if (ret == -ENODEV)
+ debug("Can't find FG\n");
+ else
+ debug("Get UCLASS FG failed: %d\n", ret);
+ return ret;
+ }
+
+ *battery = fuel_gauge_get_voltage(fg);
+
+ return *battery < MIN_VOL_LEVEL ? -1 : 0;
+}
+
+int board_check_power(void)
+{
+ int battery = 0;
+ char str[32];
+
+ board_chg_led();
+
+ if (odroid_check_battery(&battery) && odroid_check_dcjack()) {
+ debug("low battery (%d) without dc jack connected\n", battery);
+ sprintf(str, "voltage level : %d.%dV", (battery / 1000), (battery % 1000));
+ printf("%s - Low Battery!\n", __func__);
+ odroid_wait_pwrkey();
+ return -1;
+ }
+
+ debug("power condition OK!\n");
+ return 0;
+}
diff --git a/board/rockchip/odroidgo3/odroidgo3_recovery.c b/board/rockchip/odroidgo3/odroidgo3_recovery.c
new file mode 100644
index 0000000000..603416e324
--- /dev/null
+++ b/board/rockchip/odroidgo3/odroidgo3_recovery.c
@@ -0,0 +1,127 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <rksfc.h>
+#include <fs.h>
+
+int recovery_check_mandatory_files(void)
+{
+ if (!file_exists("mmc", "1", "spi_recovery.img", FS_TYPE_FAT))
+ return -1;
+
+ if (!file_exists("mmc", "1", "spi_recovery.img.md5sum", FS_TYPE_FAT))
+ return -1;
+
+ return 0;
+}
+
+int board_check_recovery(void)
+{
+ char *bootdev = env_get("devtype");
+
+ /* only available with SD boot */
+ if (strncmp(bootdev, "mmc", 3))
+ return -1;
+
+ if (recovery_check_mandatory_files())
+ return -1;
+
+ printf("%s - Now start recovery!\n", __func__);
+
+ return 0;
+}
+
+#define WRITE_UNIT (32 * 512)
+void board_odroid_recovery(void)
+{
+ char cmd[128];
+ char str[64];
+ char *saddr;
+ char *md5sum_readback;
+ char md5sum_org[64];
+ int ret, loop;
+ int offs, unit;
+ int filesize;
+ int progress;
+ float percentage = 0;
+ unsigned long addr;
+
+ /* check spi flash */
+ if (rksfc_scan_namespace()) {
+ printf("spi flash probe fail!\n");
+ odroid_wait_pwrkey();
+ }
+
+ /* probe spi flash */
+ run_command("rksfc dev 1", 0);
+
+ /* load img and write */
+ run_command( "fatload mmc 1:1 $loadaddr spi_recovery.img", 0);
+ filesize = env_get_ulong("filesize", 16, 0);
+ saddr = env_get("loadaddr");
+ addr = simple_strtoul(saddr, NULL, 16);
+ offs = 0;
+ progress = 0;
+ while (progress < filesize) {
+ if ((filesize - progress) > WRITE_UNIT)
+ unit = WRITE_UNIT / 512;
+ else
+ unit = (filesize - progress) / 512;
+
+ sprintf(cmd, "rksfc write %p 0x%x 0x%x", (void *)addr, offs, unit);
+ run_command(cmd, 0);
+
+ percentage = progress * 100 / filesize;
+ sprintf(str, "recovery progress :%3d %%", (int) percentage);
+ lcd_printf(0, 18, 1, "%s", str);
+
+ offs += unit;
+ addr += unit * 512;
+ progress += unit * 512;
+ }
+
+ sprintf(str, "recovery progress :%3d %%", (int) percentage);
+ lcd_printf(0, 18, 1, "%s", str);
+
+ /* readback & calculate md5sum */
+ run_command("rksfc read $loadaddr 0x0 $sz_total", 0);
+ run_command("md5sum $loadaddr $filesize md5sum_readback", 0);
+ md5sum_readback = env_get("md5sum_readback");
+
+ /* check spi_recovery.img.md5sum and compare */
+ sprintf(cmd, "fatload mmc 1:1 %p spi_recovery.img.md5sum", (void *)md5sum_org);
+ run_command(cmd, 0);
+
+ ret = strncmp(md5sum_org, md5sum_readback, 32);
+ if (ret) {
+ printf("checksum fail! ret %d\n", ret);
+ odroid_wait_pwrkey();
+ }
+
+ /* check manufacture file */
+ ret = run_command("fatload mmc 1:1 $loadaddr manufacture", 0);
+ if (ret != CMD_RET_SUCCESS) {
+ printf("no manufacture flag in sd card, remove boot loaders\n");
+ /* remove boot loaders of sd card */
+ run_command("mmc rescan", 0);
+ run_command("mmc dev 1", 0);
+ run_command("mmc erase 0x1 0x7FFF", 0);
+ sprintf(cmd, "reset");
+ } else {
+ sprintf(cmd, "poweroff");
+ }
+
+ /* recovery done */
+ loop = 3;
+ while (loop) {
+ printf("Recovery Done! system %s in %d sec\n", cmd, loop);
+ mdelay(1000);
+ loop--;
+ };
+
+ run_command(cmd, 0);
+}
diff --git a/board/rockchip/odroidgo3/odroidgo3_status.c b/board/rockchip/odroidgo3/odroidgo3_status.c
new file mode 100644
index 0000000000..d96ab34d1e
--- /dev/null
+++ b/board/rockchip/odroidgo3/odroidgo3_status.c
@@ -0,0 +1,88 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <key.h>
+#include <dm.h>
+#include <console.h>
+#include <asm/io.h>
+#include <asm/arch/grf_px30.h>
+#include <asm/arch/hardware.h>
+#include <version.h>
+
+#define POWERDOWN_WAIT_TIME 10000
+#define LOOP_DELAY 25
+
+#define PMUGRF_BASE 0xFF010000
+
+/*
+ * When normal fdt logic doesn't work, this fnctio will show error leds
+ * and shutdown system. In this case, only low level interface is available
+ * so this approach is only possible solution so far.
+ */
+void odroid_alert_leds(void)
+{
+ static struct px30_pmugrf * const pmugrf = (void *)PMUGRF_BASE;
+
+ /* leds setup */
+ rk_clrreg(&pmugrf->gpio0bl_iomux, 0x0C00);
+ rk_clrreg(&pmugrf->gpio0cl_iomux, 0x000C);
+
+ while (1) {
+ /* set high */
+ rk_clrsetreg(&pmugrf->gpio0b_p, 0x0C00, 0x0400);
+ rk_clrsetreg(&pmugrf->gpio0c_p, 0x000C, 0x0004);
+ mdelay(200);
+ /* set low */
+ rk_clrsetreg(&pmugrf->gpio0b_p, 0x0C00, 0x0800);
+ rk_clrsetreg(&pmugrf->gpio0c_p, 0x000C, 0x0008);
+ mdelay(200);
+
+ if (ctrlc()) {
+ printf("ctrl+c key pressed - drop to console\n");
+ env_set("bootdelay", "-1");
+ return;
+ }
+ }
+}
+
+void odroid_drop_errorlog(const char *err, unsigned int size)
+{
+ char str_cmd[64];
+
+ sprintf(str_cmd, "save mmc 1 %p error.log 0x%x",
+ (void *)err, size);
+ run_command(str_cmd, 0);
+}
+
+void odroid_wait_pwrkey(void)
+{
+ u32 state;
+ unsigned int delay = POWERDOWN_WAIT_TIME;
+
+ printf("Wait power key\n");
+ printf("Hit ctrl+c key to enter uboot console\n");
+
+ /* check power key */
+ while (delay) {
+ state = key_read(KEY_POWER);
+ if (state == KEY_PRESS_DOWN)
+ break;
+
+ if (ctrlc()) {
+ printf("ctrl+c key pressed - drop to console\n");
+ env_set("bootdelay", "-1");
+ return;
+ }
+
+ mdelay(LOOP_DELAY);
+ delay -= LOOP_DELAY;
+ }
+
+ printf("power key long pressed...\n");
+ mdelay(500);
+ run_command("poweroff", 0);
+}
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 2d20e07a8a..93b83e73a4 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1666,31 +1666,31 @@ menu "ODROID commands"
config CMD_ODROID_ADC
bool "adc command - read saradc channel"
- depends on TARGET_ODROIDGO2
+ depends on PLATFORM_ODROID_GOADV
help
saradc read support
config CMD_ODROID_CFGLOAD
bool "cfgload command - load boot.ini from FAT partition"
- depends on TARGET_ODROIDGO2
+ depends on PLATFORM_ODROID_GOADV
help
cfgload support
config CMD_ODROID_BATTERY
bool "battery command - read battery infomation"
- depends on TARGET_ODROIDGO2
+ depends on PLATFORM_ODROID_GOADV
help
battery read support
config CMD_ODROID_TEST
bool "odroidtest command - hw test for go advanced"
- depends on TARGET_ODROIDGO2
+ depends on PLATFORM_ODROID_GOADV
help
This enables hw test functions for ODROID GO-Advanced board.
config CMD_ODROID_HWREV
bool "hwrev command - check hw revision for go advanced"
- depends on TARGET_ODROIDGO2
+ depends on PLATFORM_ODROID_GOADV
help
This enables hw revision check function for ODROID GO-Advanced board.
diff --git a/cmd/rksfc.c b/cmd/rksfc.c
index e5a863211d..f563d8e9ce 100644
--- a/cmd/rksfc.c
+++ b/cmd/rksfc.c
@@ -9,7 +9,7 @@
#include <dm.h>
#include <rksfc.h>
-#ifdef CONFIG_TARGET_ODROIDGO2
+#ifdef CONFIG_PLATFORM_ODROID_GOADV
static int rksfc_curr_dev = 1; /* default spinor */
#else
static int rksfc_curr_dev;
diff --git a/cmd/source.c b/cmd/source.c
index 99400be09d..bade2268a7 100644
--- a/cmd/source.c
+++ b/cmd/source.c
@@ -131,7 +131,7 @@ source (ulong addr, const char *fit_uname)
break;
#endif
default:
-#if defined(CONFIG_TARGET_ODROIDGO2)
+#if defined(CONFIG_PLATFORM_ODROID_GOADV)
{
char magic[32];
int size = snprintf(magic, sizeof(magic),
diff --git a/configs/odroidgo2-spi_defconfig b/configs/odroidgo2-spi_defconfig
index b0db66be9d..21cefbadee 100644
--- a/configs/odroidgo2-spi_defconfig
+++ b/configs/odroidgo2-spi_defconfig
@@ -185,12 +185,16 @@ CONFIG_ROCKCHIP_PRELOADER_SERIAL=y
CONFIG_GICV2=y
# CONFIG_GICV3 is not set
# CONFIG_TARGET_EVB_PX30 is not set
+CONFIG_PLATFORM_ODROID_GOADV=y
CONFIG_TARGET_ODROIDGO2=y
+# CONFIG_TARGET_ODROIDGO3 is not set
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_BOARD_SPECIFIC_OPTIONS=y
# CONFIG_TPL_LIBCOMMON_SUPPORT is not set
# CONFIG_TPL_LIBGENERIC_SUPPORT is not set
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_ENV_SIZE=0x8000
+CONFIG_ENV_OFFSET=0x3f8000
# CONFIG_SPL_LIBDISK_SUPPORT is not set
# CONFIG_SPL_NAND_SUPPORT is not set
# CONFIG_SPL_SPI_FLASH_SUPPORT is not set
diff --git a/configs/odroidgo2_defconfig b/configs/odroidgo2_defconfig
index 707ac14260..4587a23bc5 100644
--- a/configs/odroidgo2_defconfig
+++ b/configs/odroidgo2_defconfig
@@ -185,12 +185,16 @@ CONFIG_ROCKCHIP_PRELOADER_SERIAL=y
CONFIG_GICV2=y
# CONFIG_GICV3 is not set
# CONFIG_TARGET_EVB_PX30 is not set
+CONFIG_PLATFORM_ODROID_GOADV=y
CONFIG_TARGET_ODROIDGO2=y
+# CONFIG_TARGET_ODROIDGO3 is not set
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_BOARD_SPECIFIC_OPTIONS=y
# CONFIG_TPL_LIBCOMMON_SUPPORT is not set
# CONFIG_TPL_LIBGENERIC_SUPPORT is not set
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_ENV_SIZE=0x8000
+CONFIG_ENV_OFFSET=0x3f8000
# CONFIG_SPL_LIBDISK_SUPPORT is not set
# CONFIG_SPL_NAND_SUPPORT is not set
# CONFIG_SPL_SPI_FLASH_SUPPORT is not set
diff --git a/configs/odroidgo3_defconfig b/configs/odroidgo3_defconfig
new file mode 100644
index 0000000000..64fe8fd868
--- /dev/null
+++ b/configs/odroidgo3_defconfig
@@ -0,0 +1,1363 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# U-Boot 2017.09 Configuration
+#
+CONFIG_CREATE_ARCH_SYMLINK=y
+# CONFIG_ARC is not set
+CONFIG_ARM=y
+# CONFIG_M68K is not set
+# CONFIG_MICROBLAZE is not set
+# CONFIG_MIPS is not set
+# CONFIG_NDS32 is not set
+# CONFIG_NIOS2 is not set
+# CONFIG_PPC is not set
+# CONFIG_SANDBOX is not set
+# CONFIG_SH is not set
+# CONFIG_X86 is not set
+# CONFIG_XTENSA is not set
+CONFIG_SYS_ARCH="arm"
+CONFIG_SYS_CPU="armv8"
+CONFIG_SYS_SOC="rockchip"
+CONFIG_SYS_VENDOR="rockchip"
+CONFIG_SYS_BOARD="odroidgo3"
+CONFIG_SYS_CONFIG_NAME="odroidgo3"
+
+#
+# ARM architecture
+#
+CONFIG_ARM64=y
+# CONFIG_POSITION_INDEPENDENT is not set
+CONFIG_STATIC_RELA=y
+CONFIG_DMA_ADDR_T_64BIT=y
+CONFIG_ARM_ASM_UNIFIED=y
+CONFIG_SYS_ARM_ARCH=8
+CONFIG_SYS_CACHE_SHIFT_6=y
+CONFIG_SYS_CACHELINE_SIZE=64
+CONFIG_ARM_SMCCC=y
+CONFIG_ARM_CPU_SUSPEND=y
+# CONFIG_SEMIHOSTING is not set
+# CONFIG_SYS_L2CACHE_OFF is not set
+CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
+# CONFIG_ARM_CORTEX_CPU_IS_UP is not set
+CONFIG_ARM64_SUPPORT_AARCH32=y
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_TARGET_EDB93XX is not set
+# CONFIG_TARGET_ASPENITE is not set
+# CONFIG_TARGET_GPLUGD is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_KIRKWOOD is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_TARGET_DEVKIT3250 is not set
+# CONFIG_TARGET_WORK_92105 is not set
+# CONFIG_TARGET_MX25PDK is not set
+# CONFIG_TARGET_ZMX25 is not set
+# CONFIG_TARGET_APF27 is not set
+# CONFIG_TARGET_APX4DEVKIT is not set
+# CONFIG_TARGET_XFI3 is not set
+# CONFIG_TARGET_M28EVK is not set
+# CONFIG_TARGET_MX23EVK is not set
+# CONFIG_TARGET_MX28EVK is not set
+# CONFIG_TARGET_MX23_OLINUXINO is not set
+# CONFIG_TARGET_BG0900 is not set
+# CONFIG_TARGET_SANSA_FUZE_PLUS is not set
+# CONFIG_TARGET_SC_SPS_1 is not set
+# CONFIG_ORION5X is not set
+# CONFIG_TARGET_SPEAR300 is not set
+# CONFIG_TARGET_SPEAR310 is not set
+# CONFIG_TARGET_SPEAR320 is not set
+# CONFIG_TARGET_SPEAR600 is not set
+# CONFIG_TARGET_STV0991 is not set
+# CONFIG_TARGET_X600 is not set
+# CONFIG_TARGET_IMX31_PHYCORE is not set
+# CONFIG_TARGET_IMX31_PHYCORE_EET is not set
+# CONFIG_TARGET_MX31ADS is not set
+# CONFIG_TARGET_MX31PDK is not set
+# CONFIG_TARGET_WOODBURN is not set
+# CONFIG_TARGET_WOODBURN_SD is not set
+# CONFIG_TARGET_FLEA3 is not set
+# CONFIG_TARGET_MX35PDK is not set
+# CONFIG_ARCH_BCM283X is not set
+# CONFIG_TARGET_VEXPRESS_CA15_TC2 is not set
+# CONFIG_TARGET_VEXPRESS_CA5X2 is not set
+# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
+# CONFIG_TARGET_BCM23550_W1D is not set
+# CONFIG_TARGET_BCM28155_AP is not set
+# CONFIG_TARGET_BCMCYGNUS is not set
+# CONFIG_TARGET_BCMNSP is not set
+# CONFIG_TARGET_BCMNS2 is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_S5PC1XX is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_KEYSTONE is not set
+# CONFIG_ARCH_OMAP2PLUS is not set
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MX7ULP is not set
+# CONFIG_ARCH_MX7 is not set
+# CONFIG_ARCH_MX6 is not set
+CONFIG_SPL_LDSCRIPT="arch/arm/cpu/armv8/u-boot-spl.lds"
+# CONFIG_ARCH_MX5 is not set
+# CONFIG_ARCH_RMOBILE is not set
+# CONFIG_TARGET_S32V234EVB is not set
+# CONFIG_ARCH_SNAPDRAGON is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_TARGET_TS4600 is not set
+# CONFIG_ARCH_VF610 is not set
+# CONFIG_ARCH_ZYNQ is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# CONFIG_TEGRA is not set
+# CONFIG_TARGET_VEXPRESS64_AEMV8A is not set
+# CONFIG_TARGET_VEXPRESS64_BASE_FVP is not set
+# CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM is not set
+# CONFIG_TARGET_VEXPRESS64_JUNO is not set
+# CONFIG_TARGET_LS2080A_EMU is not set
+# CONFIG_TARGET_LS2080A_SIMU is not set
+# CONFIG_TARGET_LS2080AQDS is not set
+# CONFIG_TARGET_LS2080ARDB is not set
+# CONFIG_TARGET_LS2081ARDB is not set
+# CONFIG_TARGET_HIKEY is not set
+# CONFIG_TARGET_POPLAR is not set
+# CONFIG_TARGET_LS1012AQDS is not set
+# CONFIG_TARGET_LS1012ARDB is not set
+# CONFIG_TARGET_LS1012AFRDM is not set
+# CONFIG_TARGET_LS1021AQDS is not set
+# CONFIG_TARGET_LS1021ATWR is not set
+# CONFIG_TARGET_LS1021AIOT is not set
+# CONFIG_TARGET_LS1043AQDS is not set
+# CONFIG_TARGET_LS1043ARDB is not set
+# CONFIG_TARGET_LS1046AQDS is not set
+# CONFIG_TARGET_LS1046ARDB is not set
+# CONFIG_TARGET_H2200 is not set
+# CONFIG_TARGET_ZIPITZ2 is not set
+# CONFIG_TARGET_COLIBRI_PXA270 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_STM32 is not set
+# CONFIG_ARCH_STI is not set
+CONFIG_ARCH_ROCKCHIP=y
+# CONFIG_TARGET_THUNDERX_88XX is not set
+# CONFIG_ARCH_ASPEED is not set
+# CONFIG_SPL_GPIO_SUPPORT is not set
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_ROCKCHIP_PX30=y
+CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
+CONFIG_TPL_TEXT_BASE=0xff0e1000
+CONFIG_TPL_MAX_SIZE=10240
+CONFIG_ROCKCHIP_RK3326=y
+# CONFIG_ROCKCHIP_RK3036 is not set
+# CONFIG_ROCKCHIP_RK3128 is not set
+# CONFIG_ROCKCHIP_RK3066 is not set
+# CONFIG_ROCKCHIP_RK3188 is not set
+# CONFIG_ROCKCHIP_RK322X is not set
+# CONFIG_ROCKCHIP_RK3288 is not set
+CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.py"
+# CONFIG_ROCKCHIP_RK3308 is not set
+# CONFIG_ROCKCHIP_RK3328 is not set
+# CONFIG_ROCKCHIP_RK3368 is not set
+# CONFIG_ROCKCHIP_RK3399 is not set
+# CONFIG_ROCKCHIP_RK1808 is not set
+# CONFIG_ROCKCHIP_RV1108 is not set
+# CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set
+CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y
+# CONFIG_ARM64_BOOT_AARCH32 is not set
+CONFIG_ROCKCHIP_BOOT_MODE_REG=0xff010200
+CONFIG_ROCKCHIP_STIMER_BASE=0xff220020
+CONFIG_ROCKCHIP_IRAM_START_ADDR=0xff0e0000
+CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0
+CONFIG_ROCKCHIP_BROM_HELPER=y
+# CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set
+# CONFIG_TPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set
+CONFIG_SPL_MMC_SUPPORT=y
+CONFIG_RKIMG_BOOTLOADER=y
+# CONFIG_RKIMG_ANDROID_BOOTMODE_LEGACY is not set
+CONFIG_ROCKCHIP_RESOURCE_IMAGE=y
+# CONFIG_ROCKCHIP_EARLY_DISTRO_DTB is not set
+CONFIG_ROCKCHIP_VENDOR_PARTITION=y
+CONFIG_USING_KERNEL_DTB=y
+# CONFIG_ROCKCHIP_CRC is not set
+CONFIG_ROCKCHIP_SMCCC=y
+# CONFIG_ROCKCHIP_DEBUGGER is not set
+# CONFIG_ROCKCHIP_CRASH_DUMP is not set
+CONFIG_ROCKCHIP_PRELOADER_ATAGS=y
+CONFIG_ROCKCHIP_PRELOADER_SERIAL=y
+CONFIG_GICV2=y
+# CONFIG_GICV3 is not set
+# CONFIG_TARGET_EVB_PX30 is not set
+CONFIG_PLATFORM_ODROID_GOADV=y
+# CONFIG_TARGET_ODROIDGO2 is not set
+CONFIG_TARGET_ODROIDGO3=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_BOARD_SPECIFIC_OPTIONS=y
+# CONFIG_TPL_LIBCOMMON_SUPPORT is not set
+# CONFIG_TPL_LIBGENERIC_SUPPORT is not set
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_ENV_SIZE=0x8000
+CONFIG_ENV_OFFSET=0x3f8000
+# CONFIG_SPL_LIBDISK_SUPPORT is not set
+# CONFIG_SPL_NAND_SUPPORT is not set
+# CONFIG_SPL_SPI_FLASH_SUPPORT is not set
+# CONFIG_SPL_SPI_SUPPORT is not set
+# CONFIG_SPL_WATCHDOG_SUPPORT is not set
+CONFIG_IDENT_STRING=""
+CONFIG_SPL_STACK_R_ADDR=0x600000
+# CONFIG_SPL_FAT_SUPPORT is not set
+# CONFIG_ARMV8_MULTIENTRY is not set
+# CONFIG_ARMV8_SET_SMPEN is not set
+
+#
+# ARMv8 secure monitor firmware
+#
+# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set
+# CONFIG_SPL_ARMV8_SEC_FIRMWARE_SUPPORT is not set
+CONFIG_PSCI_RESET=y
+# CONFIG_ARMV8_PSCI is not set
+# CONFIG_CMD_DEKBLOB is not set
+# CONFIG_CMD_HDMIDETECT is not set
+
+#
+# ARM debug
+#
+CONFIG_DEFAULT_DEVICE_TREE="odroidgo3"
+CONFIG_SMBIOS_PRODUCT_NAME="odroidgo3"
+CONFIG_DEBUG_UART=y
+# CONFIG_AHCI is not set
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_MALLOC_F=y
+CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000
+CONFIG_TPL_SYS_MALLOC_F_LEN=0x600
+CONFIG_EXPERT=y
+CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
+# CONFIG_TOOLS_DEBUG is not set
+CONFIG_PHYS_64BIT=y
+
+#
+# Boot images
+#
+# CONFIG_ANDROID_BOOT_IMAGE is not set
+CONFIG_FIT=y
+CONFIG_FIT_ENABLE_SHA256_SUPPORT=y
+# CONFIG_FIT_SIGNATURE is not set
+CONFIG_FIT_VERBOSE=y
+# CONFIG_FIT_BEST_MATCH is not set
+CONFIG_SPL_FIT=y
+# CONFIG_SPL_FIT_SIGNATURE is not set
+CONFIG_SPL_LOAD_FIT=y
+# CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set
+CONFIG_SPL_FIT_SOURCE=""
+# CONFIG_OF_BOARD_SETUP is not set
+# CONFIG_OF_SYSTEM_SETUP is not set
+# CONFIG_OF_STDOUT_VIA_ALIAS is not set
+CONFIG_SYS_EXTRA_OPTIONS=""
+CONFIG_ARCH_FIXUP_FDT_MEMORY=y
+
+#
+# API
+#
+# CONFIG_API is not set
+
+#
+# Boot timing
+#
+# CONFIG_BOOTSTAGE is not set
+CONFIG_BOOTSTAGE_USER_COUNT=20
+CONFIG_BOOTSTAGE_RECORD_COUNT=30
+CONFIG_BOOTSTAGE_STASH_ADDR=0
+CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
+# CONFIG_BOOTSTAGE_PRINTF_TIMESTAMP is not set
+
+#
+# Boot media
+#
+# CONFIG_NAND_BOOT is not set
+# CONFIG_ONENAND_BOOT is not set
+# CONFIG_QSPI_BOOT is not set
+# CONFIG_SATA_BOOT is not set
+CONFIG_SD_BOOT=y
+# CONFIG_SPI_BOOT is not set
+CONFIG_PASS_DEVICE_SERIAL_BY_FDT=y
+CONFIG_BOOTDELAY=0
+# CONFIG_USE_BOOTARGS is not set
+
+#
+# Console
+#
+CONFIG_MENU=y
+# CONFIG_CONSOLE_RECORD is not set
+# CONFIG_CONSOLE_DISABLE_CTRLC is not set
+# CONFIG_DISABLE_CONSOLE is not set
+CONFIG_LOGLEVEL=4
+CONFIG_SPL_LOGLEVEL=4
+# CONFIG_SILENT_CONSOLE is not set
+# CONFIG_PRE_CONSOLE_BUFFER is not set
+CONFIG_CONSOLE_MUX=y
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
+# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
+# CONFIG_SYS_CONSOLE_INFO_QUIET is not set
+# CONFIG_SYS_STDIO_DEREGISTER is not set
+
+#
+# Logging
+#
+# CONFIG_LOG is not set
+# CONFIG_SPL_LOG is not set
+CONFIG_DEFAULT_FDT_FILE=""
+# CONFIG_VERSION_VARIABLE is not set
+CONFIG_BOARD_LATE_INIT=y
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_DISPLAY_BOARDINFO=y
+
+#
+# Start-up hooks
+#
+# CONFIG_ARCH_EARLY_INIT_R is not set
+# CONFIG_ARCH_MISC_INIT is not set
+# CONFIG_BOARD_EARLY_INIT_F is not set
+# CONFIG_BOARD_EARLY_INIT_R is not set
+# CONFIG_ANDROID_AB is not set
+CONFIG_ANDROID_WRITE_KEYBOX=y
+# CONFIG_ANDROID_AVB is not set
+CONFIG_ANDROID_KEYMASTER_CA=y
+# CONFIG_SKIP_RELOCATE_UBOOT is not set
+
+#
+# Security support
+#
+CONFIG_HASH=y
+
+#
+# SPL / TPL
+#
+CONFIG_SUPPORT_SPL=y
+CONFIG_SUPPORT_TPL=y
+CONFIG_SPL=y
+# CONFIG_SPL_BOARD_INIT is not set
+# CONFIG_SPL_BOOTROM_SUPPORT is not set
+CONFIG_SPL_RAW_IMAGE_SUPPORT=y
+CONFIG_SPL_LEGACY_IMAGE_SUPPORT=y
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+# CONFIG_TPL_SYS_MALLOC_SIMPLE is not set
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x100000
+# CONFIG_SPL_SEPARATE_BSS is not set
+# CONFIG_SPL_DISPLAY_PRINT is not set
+CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x4000
+# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set
+# CONFIG_SPL_CRC32_SUPPORT is not set
+# CONFIG_SPL_MD5_SUPPORT is not set
+# CONFIG_SPL_SHA1_SUPPORT is not set
+# CONFIG_SPL_SHA256_SUPPORT is not set
+# CONFIG_SPL_FIT_IMAGE_TINY is not set
+# CONFIG_SPL_CPU_SUPPORT is not set
+# CONFIG_SPL_CRYPTO_SUPPORT is not set
+# CONFIG_SPL_HASH_SUPPORT is not set
+# CONFIG_SPL_DMA_SUPPORT is not set
+# CONFIG_SPL_ENV_SUPPORT is not set
+# CONFIG_SPL_EXT_SUPPORT is not set
+# CONFIG_SPL_FPGA_SUPPORT is not set
+# CONFIG_SPL_I2C_SUPPORT is not set
+# CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT is not set
+# CONFIG_SPL_MTD_SUPPORT is not set
+# CONFIG_SPL_MUSB_NEW_SUPPORT is not set
+# CONFIG_SPL_NET_SUPPORT is not set
+# CONFIG_SPL_NO_CPU_SUPPORT is not set
+# CONFIG_SPL_NOR_SUPPORT is not set
+# CONFIG_SPL_XIP_SUPPORT is not set
+# CONFIG_SPL_ONENAND_SUPPORT is not set
+# CONFIG_SPL_OS_BOOT is not set
+# CONFIG_SPL_PCI_SUPPORT is not set
+# CONFIG_SPL_PCH_SUPPORT is not set
+# CONFIG_SPL_POST_MEM_SUPPORT is not set
+# CONFIG_SPL_POWER_SUPPORT is not set
+# CONFIG_SPL_RAM_SUPPORT is not set
+# CONFIG_SPL_RTC_SUPPORT is not set
+# CONFIG_SPL_SATA_SUPPORT is not set
+# CONFIG_SPL_USB_HOST_SUPPORT is not set
+# CONFIG_SPL_USB_GADGET_SUPPORT is not set
+# CONFIG_SPL_YMODEM_SUPPORT is not set
+CONFIG_SPL_ATF=y
+# CONFIG_SPL_OPTEE_SUPPORT is not set
+CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
+# CONFIG_SPL_OPTEE is not set
+# CONFIG_SPL_AB is not set
+# CONFIG_SPL_LOAD_RKFW is not set
+CONFIG_TPL=y
+# CONFIG_TPL_BOARD_INIT is not set
+# CONFIG_TPL_NEEDS_SEPARATE_TEXT_BASE is not set
+# CONFIG_TPL_NEEDS_SEPARATE_STACK is not set
+# CONFIG_TPL_BOOTROM_SUPPORT is not set
+# CONFIG_TPL_DRIVERS_MISC_SUPPORT is not set
+# CONFIG_TPL_ENV_SUPPORT is not set
+# CONFIG_TPL_I2C_SUPPORT is not set
+CONFIG_TPL_TINY_FRAMEWORK=y
+# CONFIG_TPL_MPC8XXX_INIT_DDR_SUPPORT is not set
+# CONFIG_TPL_MMC_SUPPORT is not set
+# CONFIG_TPL_NAND_SUPPORT is not set
+CONFIG_TPL_SERIAL_SUPPORT=y
+# CONFIG_TPL_SPI_FLASH_SUPPORT is not set
+# CONFIG_TPL_SPI_SUPPORT is not set
+
+#
+# Command line interface
+#
+CONFIG_CMDLINE=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="=> "
+
+#
+# Autoboot options
+#
+CONFIG_AUTOBOOT=y
+# CONFIG_AUTOBOOT_KEYED is not set
+
+#
+# FASTBOOT
+#
+# CONFIG_FASTBOOT is not set
+
+#
+# Commands
+#
+
+#
+# Info commands
+#
+CONFIG_CMD_BDI=y
+# CONFIG_CMD_CONFIG is not set
+CONFIG_CMD_CONSOLE=y
+# CONFIG_CMD_CPU is not set
+# CONFIG_CMD_LICENSE is not set
+
+#
+# Boot commands
+#
+CONFIG_CMD_BOOTD=y
+CONFIG_CMD_BOOTM=y
+# CONFIG_CMD_BOOTZ is not set
+CONFIG_CMD_BOOTI=y
+CONFIG_CMD_BOOTEFI=y
+CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
+# CONFIG_CMD_BOOTEFI_HELLO is not set
+# CONFIG_CMD_BOOTMENU is not set
+# CONFIG_CMD_DTIMG is not set
+CONFIG_CMD_ELF=y
+CONFIG_CMD_FDT=y
+CONFIG_CMD_GO=y
+CONFIG_CMD_RUN=y
+CONFIG_CMD_IMI=y
+# CONFIG_CMD_IMLS is not set
+CONFIG_CMD_XIMG=y
+CONFIG_CMD_POWEROFF=y
+# CONFIG_CMD_SPL is not set
+# CONFIG_CMD_THOR_DOWNLOAD is not set
+# CONFIG_CMD_ZBOOT is not set
+
+#
+# Environment commands
+#
+# CONFIG_CMD_ASKENV is not set
+CONFIG_CMD_EXPORTENV=y
+CONFIG_CMD_IMPORTENV=y
+CONFIG_CMD_EDITENV=y
+# CONFIG_CMD_GREPENV is not set
+CONFIG_CMD_SAVEENV=y
+CONFIG_CMD_ENV_EXISTS=y
+# CONFIG_CMD_ENV_CALLBACK is not set
+# CONFIG_CMD_ENV_FLAGS is not set
+
+#
+# Memory commands
+#
+CONFIG_CMD_CRC32=y
+# CONFIG_CRC32_VERIFY is not set
+# CONFIG_CMD_EEPROM is not set
+# CONFIG_LOOPW is not set
+CONFIG_CMD_MD5SUM=y
+CONFIG_MD5SUM_VERIFY=y
+# CONFIG_CMD_MEMINFO is not set
+CONFIG_CMD_MEMORY=y
+# CONFIG_CMD_MEMTEST is not set
+# CONFIG_CMD_MX_CYCLIC is not set
+# CONFIG_CMD_SHA1SUM is not set
+# CONFIG_CMD_STRINGS is not set
+
+#
+# Compression commands
+#
+CONFIG_CMD_LZMADEC=y
+CONFIG_CMD_UNZIP=y
+# CONFIG_CMD_ZIP is not set
+
+#
+# Device access commands
+#
+# CONFIG_CMD_ARMFLASH is not set
+CONFIG_CMD_CLK=y
+# CONFIG_CMD_DEMO is not set
+# CONFIG_CMD_DFU is not set
+CONFIG_CMD_DM=y
+# CONFIG_CMD_FDC is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_FPGAD is not set
+# CONFIG_CMD_FUSE is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_RANDOM_UUID=y
+# CONFIG_CMD_GPT_RENAME is not set
+# CONFIG_CMD_IDE is not set
+# CONFIG_CMD_IO is not set
+# CONFIG_CMD_IOTRACE is not set
+CONFIG_CMD_I2C=y
+CONFIG_CMD_LOADB=y
+CONFIG_CMD_LOADS=y
+CONFIG_CMD_BOOT_ROCKCHIP=y
+CONFIG_CMD_MMC=y
+# CONFIG_CMD_MTD is not set
+# CONFIG_CMD_NAND is not set
+# CONFIG_CMD_MMC_SPI is not set
+# CONFIG_CMD_ONENAND is not set
+CONFIG_CMD_PART=y
+# CONFIG_CMD_PCI is not set
+# CONFIG_CMD_PCMCIA is not set
+# CONFIG_CMD_READ is not set
+CONFIG_CMD_ROCKUSB=y
+# CONFIG_CMD_RKNAND is not set
+CONFIG_CMD_RKSFC=y
+# CONFIG_CMD_RK_SECURE_STORAGE is not set
+# CONFIG_CMD_SATA is not set
+# CONFIG_CMD_SAVES is not set
+# CONFIG_CMD_SDRAM is not set
+CONFIG_CMD_SF=y
+# CONFIG_CMD_SF_TEST is not set
+CONFIG_CMD_SPI=y
+# CONFIG_CMD_TSI148 is not set
+# CONFIG_CMD_UNIVERSE is not set
+CONFIG_CMD_USB=y
+# CONFIG_CMD_USB_SDP is not set
+CONFIG_CMD_USB_MASS_STORAGE=y
+
+#
+# Shell scripting commands
+#
+CONFIG_CMD_ECHO=y
+CONFIG_CMD_ITEST=y
+CONFIG_CMD_SOURCE=y
+CONFIG_CMD_SETEXPR=y
+
+#
+# Network commands
+#
+CONFIG_CMD_NET=y
+# CONFIG_CMD_TFTPPUT is not set
+# CONFIG_CMD_TFTPSRV is not set
+# CONFIG_CMD_RARP is not set
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_PXE=y
+CONFIG_CMD_NFS=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_DNS=y
+CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_ETHSW=y
+CONFIG_CMD_MEMTESTER=y
+# CONFIG_CMD_DDR_TEST_TOOL is not set
+
+#
+# Misc commands
+#
+CONFIG_CMD_BMP=y
+# CONFIG_CMD_BSP is not set
+# CONFIG_CMD_BKOPS_ENABLE is not set
+# CONFIG_CMD_CACHE is not set
+# CONFIG_CMD_DISPLAY is not set
+CONFIG_CMD_LED=y
+# CONFIG_CMD_DATE is not set
+# CONFIG_CMD_TIME is not set
+# CONFIG_CMD_GETTIME is not set
+CONFIG_CMD_MISC=y
+CONFIG_CMD_TIMER=y
+# CONFIG_CMD_QFW is not set
+# CONFIG_CMD_TERMINAL is not set
+# CONFIG_CMD_UUID is not set
+
+#
+# Power commands
+#
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_CHARGE_DISPLAY=y
+
+#
+# Security commands
+#
+# CONFIG_CMD_AES is not set
+# CONFIG_CMD_BLOB is not set
+# CONFIG_CMD_HASH is not set
+
+#
+# Firmware commands
+#
+
+#
+# Filesystem commands
+#
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+# CONFIG_CMD_FS_UUID is not set
+# CONFIG_CMD_JFFS2 is not set
+# CONFIG_CMD_MTDPARTS is not set
+# CONFIG_CMD_MTD_BLK is not set
+# CONFIG_CMD_REISER is not set
+# CONFIG_CMD_SCSI is not set
+# CONFIG_CMD_ZFS is not set
+
+#
+# Debug commands
+#
+# CONFIG_CMD_BEDBUG is not set
+# CONFIG_CMD_DIAG is not set
+# CONFIG_CMD_KGDB is not set
+# CONFIG_CMD_LOG is not set
+# CONFIG_CMD_TRACE is not set
+# CONFIG_CMD_UBI is not set
+
+#
+# ODROID commands
+#
+CONFIG_CMD_ODROID_ADC=y
+CONFIG_CMD_ODROID_CFGLOAD=y
+CONFIG_CMD_ODROID_BATTERY=y
+# CONFIG_CMD_ODROID_TEST is not set
+CONFIG_CMD_ODROID_HWREV=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITIONS=y
+# CONFIG_MAC_PARTITION is not set
+# CONFIG_SPL_MAC_PARTITION is not set
+CONFIG_DOS_PARTITION=y
+CONFIG_SPL_DOS_PARTITION=y
+CONFIG_ISO_PARTITION=y
+CONFIG_SPL_ISO_PARTITION=y
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_SPL_AMIGA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
+CONFIG_EFI_PARTITION_ENTRIES_OFF=0
+CONFIG_SPL_EFI_PARTITION=y
+CONFIG_PARTITION_UUIDS=y
+CONFIG_SPL_PARTITION_UUIDS=y
+# CONFIG_PARTITION_TYPE_GUID is not set
+CONFIG_RKPARM_PARTITION=y
+# CONFIG_SPL_ROCKCHIP_PARTITION is not set
+CONFIG_SUPPORT_OF_CONTROL=y
+CONFIG_DTC=y
+
+#
+# Device Tree Control
+#
+CONFIG_OF_CONTROL=y
+# CONFIG_OF_BOARD_FIXUP is not set
+CONFIG_SPL_OF_CONTROL=y
+# CONFIG_TPL_OF_CONTROL is not set
+CONFIG_OF_LIVE=y
+CONFIG_OF_SEPARATE=y
+# CONFIG_OF_EMBED is not set
+# CONFIG_OF_BOARD is not set
+CONFIG_OF_LIST="odroidgo3"
+# CONFIG_MULTI_DTB_FIT is not set
+# CONFIG_SPL_MULTI_DTB_FIT is not set
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+# CONFIG_SPL_OF_PLATDATA is not set
+CONFIG_MKIMAGE_DTC_PATH="dtc"
+
+#
+# Environment
+#
+# CONFIG_ENV_IS_NOWHERE is not set
+# CONFIG_ENV_IS_IN_EEPROM is not set
+# CONFIG_ENV_IS_IN_FAT is not set
+# CONFIG_ENV_IS_IN_FLASH is not set
+CONFIG_ENV_IS_IN_MMC=y
+# CONFIG_ENV_IS_IN_NAND is not set
+# CONFIG_ENV_IS_IN_NVRAM is not set
+# CONFIG_ENV_IS_IN_ONENAND is not set
+# CONFIG_ENV_IS_IN_REMOTE is not set
+# CONFIG_ENV_IS_IN_SPI_FLASH is not set
+# CONFIG_ENV_IS_IN_UBI is not set
+# CONFIG_ENV_IS_IN_BLK_DEV is not set
+# CONFIG_ENV_AES is not set
+CONFIG_NET=y
+# CONFIG_NET_RANDOM_ETHADDR is not set
+# CONFIG_NETCONSOLE is not set
+CONFIG_NET_TFTP_VARS=y
+CONFIG_BOOTP_PXE_CLIENTARCH=0x16
+CONFIG_BOOTP_VCI_STRING="U-Boot.armv8"
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_DM=y
+CONFIG_SPL_DM=y
+# CONFIG_TPL_DM is not set
+CONFIG_DM_WARN=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_DEVICE_REMOVE=y
+CONFIG_DM_STDIO=y
+CONFIG_DM_SEQ_ALIAS=y
+# CONFIG_SPL_DM_SEQ_ALIAS is not set
+CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
+# CONFIG_DEVRES is not set
+CONFIG_SIMPLE_BUS=y
+CONFIG_SPL_SIMPLE_BUS=y
+CONFIG_OF_TRANSLATE=y
+# CONFIG_SPL_OF_TRANSLATE is not set
+CONFIG_ADC=y
+# CONFIG_ADC_EXYNOS is not set
+# CONFIG_ADC_SANDBOX is not set
+CONFIG_SARADC_ROCKCHIP=y
+# CONFIG_SATA is not set
+
+#
+# SATA/SCSI device support
+#
+CONFIG_BLK=y
+CONFIG_SPL_BLK=y
+# CONFIG_BLOCK_CACHE is not set
+# CONFIG_IDE is not set
+
+#
+# Boot count support
+#
+# CONFIG_BOOTCOUNT is not set
+
+#
+# Clock
+#
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
+# CONFIG_CLK_AT91 is not set
+# CONFIG_CPU is not set
+# CONFIG_AMP is not set
+
+#
+# Hardware crypto devices
+#
+# CONFIG_DM_CRYPTO is not set
+# CONFIG_SPL_DM_CRYPTO is not set
+# CONFIG_FSL_CAAM is not set
+# CONFIG_SYS_FSL_SEC_BE is not set
+# CONFIG_SYS_FSL_SEC_LE is not set
+
+#
+# Demo for driver model
+#
+# CONFIG_DM_DEMO is not set
+
+#
+# DFU support
+#
+
+#
+# DMA Support
+#
+# CONFIG_DMA is not set
+# CONFIG_TI_EDMA3 is not set
+CONFIG_FIRMWARE=y
+CONFIG_ARM_PSCI_FW=y
+
+#
+# FPGA support
+#
+# CONFIG_FPGA_ALTERA is not set
+# CONFIG_FPGA_SOCFPGA is not set
+# CONFIG_FPGA_XILINX is not set
+
+#
+# GPIO Support
+#
+CONFIG_DM_GPIO=y
+# CONFIG_ALTERA_PIO is not set
+# CONFIG_DWAPB_GPIO is not set
+# CONFIG_AT91_GPIO is not set
+# CONFIG_ATMEL_PIO4 is not set
+# CONFIG_INTEL_BROADWELL_GPIO is not set
+# CONFIG_INTEL_ICH6_GPIO is not set
+# CONFIG_IMX_RGPIO2P is not set
+# CONFIG_LPC32XX_GPIO is not set
+# CONFIG_MSM_GPIO is not set
+# CONFIG_CMD_PCA953X is not set
+# CONFIG_PCF8575_GPIO is not set
+CONFIG_ROCKCHIP_GPIO=y
+# CONFIG_CMD_TCA642X is not set
+# CONFIG_TEGRA_GPIO is not set
+# CONFIG_TEGRA186_GPIO is not set
+# CONFIG_VYBRID_GPIO is not set
+# CONFIG_DM_74X164 is not set
+# CONFIG_DM_PCA953X is not set
+# CONFIG_MPC85XX_GPIO is not set
+
+#
+# I2C support
+#
+CONFIG_DM_I2C=y
+# CONFIG_DM_I2C_COMPAT is not set
+# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set
+# CONFIG_DM_I2C_GPIO is not set
+# CONFIG_SYS_I2C_FSL is not set
+# CONFIG_SYS_I2C_CADENCE is not set
+# CONFIG_SYS_I2C_DW is not set
+# CONFIG_SYS_I2C_INTEL is not set
+# CONFIG_SYS_I2C_IMX_LPI2C is not set
+CONFIG_SYS_I2C_ROCKCHIP=y
+# CONFIG_SYS_I2C_MVTWSI is not set
+# CONFIG_I2C_MUX is not set
+# CONFIG_DM_KEYBOARD is not set
+CONFIG_DM_KEY=y
+# CONFIG_DM_RC is not set
+# CONFIG_CROS_EC_KEYB is not set
+CONFIG_RK8XX_PWRKEY=y
+CONFIG_ADC_KEY=y
+CONFIG_GPIO_KEY=y
+CONFIG_RK_KEY=y
+CONFIG_PWRKEY_DNL_TRIGGER_NUM=0
+
+#
+# LED Support
+#
+CONFIG_LED=y
+CONFIG_LED_BLINK=y
+# CONFIG_SPL_LED is not set
+CONFIG_LED_GPIO=y
+# CONFIG_LED_STATUS is not set
+
+#
+# Mailbox Controller Support
+#
+# CONFIG_DM_MAILBOX is not set
+
+#
+# Memory Controller drivers
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MISC is not set
+# CONFIG_SPL_MISC is not set
+# CONFIG_CROS_EC is not set
+# CONFIG_DS4510 is not set
+# CONFIG_FSL_SEC_MON is not set
+# CONFIG_MXC_OCOTP is not set
+# CONFIG_NUVOTON_NCT6102D is not set
+# CONFIG_PWRSEQ is not set
+# CONFIG_PCA9551_LED is not set
+# CONFIG_WINBOND_W83627 is not set
+
+#
+# MMC Host controller Support
+#
+CONFIG_MMC=y
+CONFIG_DM_MMC=y
+CONFIG_SPL_DM_MMC=y
+# CONFIG_SPL_MMC_TINY is not set
+CONFIG_MMC_DW=y
+# CONFIG_MMC_DW_K3 is not set
+CONFIG_MMC_DW_ROCKCHIP=y
+# CONFIG_MMC_MXC is not set
+# CONFIG_MMC_PCI is not set
+# CONFIG_MMC_OMAP_HS is not set
+# CONFIG_MMC_SDHCI is not set
+
+#
+# MTD Support
+#
+# CONFIG_MTD is not set
+# CONFIG_MTD_NOR_FLASH is not set
+# CONFIG_MTD_DEVICE is not set
+# CONFIG_FLASH_CFI_DRIVER is not set
+# CONFIG_NAND is not set
+
+#
+# SPI Flash Support
+#
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH=y
+CONFIG_SF_DEFAULT_BUS=0
+CONFIG_SF_DEFAULT_CS=0
+CONFIG_SF_DEFAULT_MODE=3
+CONFIG_SF_DEFAULT_SPEED=1000000
+# CONFIG_SPI_FLASH_SFDP_SUPPORT is not set
+# CONFIG_SPI_FLASH_BAR is not set
+# CONFIG_SF_DUAL_FLASH is not set
+# CONFIG_SPI_FLASH_ATMEL is not set
+# CONFIG_SPI_FLASH_EON is not set
+# CONFIG_SPI_FLASH_GIGADEVICE is not set
+# CONFIG_SPI_FLASH_ISSI is not set
+# CONFIG_SPI_FLASH_MACRONIX is not set
+# CONFIG_SPI_FLASH_SPANSION is not set
+# CONFIG_SPI_FLASH_STMICRO is not set
+# CONFIG_SPI_FLASH_SST is not set
+# CONFIG_SPI_FLASH_WINBOND is not set
+# CONFIG_SPI_FLASH_XMC is not set
+CONFIG_SPI_FLASH_XTX=y
+CONFIG_SPI_FLASH_USE_4K_SECTORS=y
+# CONFIG_SPI_FLASH_DATAFLASH is not set
+# CONFIG_SPI_FLASH_MTD is not set
+
+#
+# UBI support
+#
+# CONFIG_CONFIG_UBI_SILENCE_MSG is not set
+# CONFIG_MTD_UBI is not set
+# CONFIG_BITBANGMII is not set
+# CONFIG_MV88E6352_SWITCH is not set
+# CONFIG_PHYLIB is not set
+# CONFIG_DM_ETH is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_PCI is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_PHY=y
+# CONFIG_SPL_PHY is not set
+# CONFIG_NOP_PHY is not set
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+# CONFIG_MVEBU_COMPHY_SUPPORT is not set
+
+#
+# Pin controllers
+#
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_FULL=y
+CONFIG_PINCTRL_GENERIC=y
+CONFIG_PINMUX=y
+# CONFIG_PINCONF is not set
+# CONFIG_SPL_PINCTRL is not set
+# CONFIG_PINCTRL_AT91 is not set
+# CONFIG_PINCTRL_AT91PIO4 is not set
+CONFIG_PINCTRL_ROCKCHIP=y
+# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_STM32 is not set
+
+#
+# Power
+#
+
+#
+# Power Domain Support
+#
+# CONFIG_POWER_DOMAIN is not set
+CONFIG_DM_FUEL_GAUGE=y
+# CONFIG_POWER_FG_CW201X is not set
+# CONFIG_POWER_FG_RK818 is not set
+CONFIG_POWER_FG_RK817=y
+# CONFIG_POWER_FG_RK816 is not set
+
+#
+# IO Domain Support
+#
+# CONFIG_IO_DOMAIN is not set
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_CHILDREN=y
+CONFIG_SPL_PMIC_CHILDREN=y
+# CONFIG_PMIC_ACT8846 is not set
+# CONFIG_PMIC_AS3722 is not set
+# CONFIG_DM_PMIC_PFUZE100 is not set
+# CONFIG_DM_PMIC_MAX77686 is not set
+# CONFIG_DM_PMIC_MAX8998 is not set
+# CONFIG_PMIC_MAX8997 is not set
+# CONFIG_PMIC_PM8916 is not set
+CONFIG_PMIC_RK8XX=y
+# CONFIG_PMIC_S2MPS11 is not set
+# CONFIG_DM_PMIC_SANDBOX is not set
+# CONFIG_PMIC_S5M8767 is not set
+# CONFIG_PMIC_RN5T567 is not set
+# CONFIG_PMIC_TPS65090 is not set
+# CONFIG_PMIC_PALMAS is not set
+# CONFIG_PMIC_LP873X is not set
+# CONFIG_PMIC_LP87565 is not set
+# CONFIG_POWER_MC34VR500 is not set
+CONFIG_DM_REGULATOR=y
+# CONFIG_SPL_DM_REGULATOR is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_PWM=y
+CONFIG_DM_REGULATOR_FIXED=y
+# CONFIG_SPL_DM_REGULATOR_FIXED is not set
+# CONFIG_DM_REGULATOR_GPIO is not set
+CONFIG_REGULATOR_RK8XX=y
+# CONFIG_DM_DVFS is not set
+# CONFIG_CHARGER_BQ25700 is not set
+CONFIG_DM_CHARGE_DISPLAY=y
+CONFIG_CHARGE_ANIMATION=y
+CONFIG_ROCKCHIP_PM=y
+CONFIG_DM_PWM=y
+# CONFIG_PWM_EXYNOS is not set
+CONFIG_PWM_ROCKCHIP=y
+# CONFIG_PWM_SANDBOX is not set
+# CONFIG_PWM_TEGRA is not set
+CONFIG_RAM=y
+CONFIG_SPL_RAM=y
+CONFIG_TPL_RAM=y
+# CONFIG_STM32_SDRAM is not set
+# CONFIG_DM_RAMDISK is not set
+# CONFIG_ROCKCHIP_DMC is not set
+CONFIG_ROCKCHIP_SDRAM_COMMON=y
+CONFIG_SDRAM_COMMON_CAP_DETECT=y
+CONFIG_SDRAM_COMMON_OSREG=y
+# CONFIG_SDRAM_COMMON_MSCH_RK3399 is not set
+CONFIG_SDRAM_COMMON_MSCH_PX30=y
+
+#
+# Remote Processor drivers
+#
+
+#
+# Reset Controller Support
+#
+CONFIG_DM_RESET=y
+CONFIG_RESET_ROCKCHIP=y
+CONFIG_RKNAND=y
+CONFIG_ZFTL=y
+CONFIG_RKFLASH=y
+
+#
+# Rockchip Flash Devices
+#
+CONFIG_RKSFC_NOR=y
+
+#
+# Real Time Clock
+#
+# CONFIG_DM_RTC is not set
+# CONFIG_SCSI is not set
+# CONFIG_DM_SCSI is not set
+
+#
+# Serial drivers
+#
+CONFIG_BAUDRATE=115200
+CONFIG_REQUIRE_SERIAL_CONSOLE=y
+CONFIG_SERIAL_PRESENT=y
+CONFIG_SPL_SERIAL_PRESENT=y
+CONFIG_DM_SERIAL=y
+# CONFIG_SERIAL_RX_BUFFER is not set
+CONFIG_SPL_DM_SERIAL=y
+CONFIG_TPL_DM_SERIAL=y
+# CONFIG_DEBUG_UART_ALTERA_JTAGUART is not set
+# CONFIG_DEBUG_UART_ALTERA_UART is not set
+# CONFIG_DEBUG_UART_ATMEL is not set
+CONFIG_DEBUG_UART_NS16550=y
+# CONFIG_DEBUG_UART_S5P is not set
+# CONFIG_DEBUG_UART_UARTLITE is not set
+# CONFIG_DEBUG_UART_ARM_DCC is not set
+# CONFIG_DEBUG_MVEBU_A3700_UART is not set
+# CONFIG_DEBUG_UART_ZYNQ is not set
+# CONFIG_DEBUG_UART_PL010 is not set
+# CONFIG_DEBUG_UART_PL011 is not set
+# CONFIG_DEBUG_UART_OMAP is not set
+CONFIG_DEBUG_UART_BASE=0xFF160000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_BOARD_INIT=y
+# CONFIG_DEBUG_UART_ANNOUNCE is not set
+# CONFIG_DEBUG_UART_SKIP_INIT is not set
+# CONFIG_ALTERA_JTAG_UART is not set
+# CONFIG_ALTERA_UART is not set
+# CONFIG_ATMEL_USART is not set
+# CONFIG_FSL_LPUART is not set
+# CONFIG_MVEBU_A3700_UART is not set
+CONFIG_SYS_NS16550=y
+# CONFIG_MSM_SERIAL is not set
+# CONFIG_PXA_SERIAL is not set
+
+#
+# Sound support
+#
+# CONFIG_SOUND is not set
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_SPI_MEM=y
+# CONFIG_ALTERA_SPI is not set
+# CONFIG_ATCSPI200_SPI is not set
+# CONFIG_ATMEL_SPI is not set
+# CONFIG_CADENCE_QSPI is not set
+# CONFIG_DESIGNWARE_SPI is not set
+# CONFIG_EXYNOS_SPI is not set
+# CONFIG_FSL_DSPI is not set
+# CONFIG_ICH_SPI is not set
+# CONFIG_MVEBU_A3700_SPI is not set
+CONFIG_ROCKCHIP_SPI=y
+# CONFIG_ROCKCHIP_SFC is not set
+# CONFIG_TEGRA114_SPI is not set
+# CONFIG_TEGRA20_SFLASH is not set
+# CONFIG_TEGRA20_SLINK is not set
+# CONFIG_TEGRA210_QSPI is not set
+# CONFIG_XILINX_SPI is not set
+# CONFIG_SOFT_SPI is not set
+# CONFIG_CF_SPI is not set
+# CONFIG_FSL_ESPI is not set
+# CONFIG_FSL_QSPI is not set
+# CONFIG_SH_SPI is not set
+# CONFIG_SH_QSPI is not set
+# CONFIG_TI_QSPI is not set
+# CONFIG_KIRKWOOD_SPI is not set
+# CONFIG_LPC32XX_SSP is not set
+# CONFIG_MPC8XXX_SPI is not set
+# CONFIG_MXC_SPI is not set
+# CONFIG_MXS_SPI is not set
+# CONFIG_OMAP3_SPI is not set
+
+#
+# SPMI support
+#
+# CONFIG_SPMI is not set
+
+#
+# System reset device drivers
+#
+CONFIG_SYSRESET=y
+CONFIG_SPL_SYSRESET=y
+CONFIG_SYSRESET_PSCI=y
+# CONFIG_SYSRESET_SYSCON is not set
+# CONFIG_SYSRESET_WATCHDOG is not set
+# CONFIG_DM_THERMAL is not set
+
+#
+# Timer Support
+#
+# CONFIG_TIMER is not set
+
+#
+# TPM support
+#
+CONFIG_USB=y
+CONFIG_DM_USB=y
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_HOST=y
+# CONFIG_USB_XHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_MSM is not set
+# CONFIG_USB_EHCI_PCI is not set
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
+# CONFIG_USB_UHCI_HCD is not set
+CONFIG_USB_DWC2=y
+# CONFIG_USB_DWC3 is not set
+
+#
+# MUSB Controller Driver
+#
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_GADGET is not set
+# CONFIG_USB_MUSB_TI is not set
+
+#
+# ULPI drivers
+#
+
+#
+# USB peripherals
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_KEYBOARD is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_BCM_UDC_OTG_PHY is not set
+CONFIG_USB_GADGET_DWC2_OTG=y
+# CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 is not set
+# CONFIG_CI_UDC is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+# CONFIG_USB_FUNCTION_SDP is not set
+CONFIG_G_DNL_MANUFACTURER="Rockchip"
+CONFIG_G_DNL_VENDOR_NUM=0x2207
+CONFIG_G_DNL_PRODUCT_NUM=0x330d
+CONFIG_USBNET_DEVADDR="de:ad:be:ef:00:01"
+CONFIG_USB_HOST_ETHER=y
+CONFIG_USB_ETHER_ASIX=y
+CONFIG_USB_ETHER_ASIX88179=y
+# CONFIG_USB_ETHER_LAN75XX is not set
+# CONFIG_USB_ETHER_LAN78XX is not set
+# CONFIG_USB_ETHER_MCS7830 is not set
+CONFIG_USB_ETHER_RTL8152=y
+CONFIG_USB_ETHER_SMSC95XX=y
+
+#
+# Graphics support
+#
+CONFIG_DM_VIDEO=y
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_VIDEO_BPP8=y
+CONFIG_VIDEO_BPP16=y
+CONFIG_VIDEO_BPP32=y
+CONFIG_CONSOLE_NORMAL=y
+CONFIG_CONSOLE_ROTATION=y
+# CONFIG_CONSOLE_TRUETYPE is not set
+CONFIG_SYS_WHITE_ON_BLACK=y
+
+#
+# TrueType Fonts
+#
+# CONFIG_VIDCONSOLE_AS_LCD is not set
+# CONFIG_VIDEO_VESA is not set
+# CONFIG_VIDEO_LCD_ANX9804 is not set
+# CONFIG_VIDEO_LCD_SSD2828 is not set
+# CONFIG_VIDEO_MVEBU is not set
+CONFIG_I2C_EDID=y
+CONFIG_DISPLAY=y
+# CONFIG_ATMEL_HLCD is not set
+# CONFIG_VIDEO_ROCKCHIP is not set
+CONFIG_DRM_ROCKCHIP=y
+CONFIG_DRM_ROCKCHIP_PANEL=y
+# CONFIG_DRM_ROCKCHIP_DW_HDMI is not set
+# CONFIG_ROCKCHIP_INNO_HDMI_PHY is not set
+# CONFIG_DRM_ROCKCHIP_INNO_MIPI_PHY is not set
+# CONFIG_DRM_ROCKCHIP_INNO_VIDEO_PHY is not set
+CONFIG_DRM_ROCKCHIP_INNO_VIDEO_COMBO_PHY=y
+CONFIG_DRM_MIPI_DSI=y
+CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI=y
+# CONFIG_DRM_ROCKCHIP_ANALOGIX_DP is not set
+# CONFIG_DRM_ROCKCHIP_LVDS is not set
+# CONFIG_DRM_ROCKCHIP_RGB is not set
+# CONFIG_DRM_ROCKCHIP_RK618 is not set
+# CONFIG_ROCKCHIP_DRM_TVE is not set
+# CONFIG_VIDEO_TEGRA20 is not set
+# CONFIG_VIDEO_TEGRA124 is not set
+CONFIG_VIDEO_BRIDGE=y
+# CONFIG_VIDEO_BRIDGE_PARADE_PS862X is not set
+# CONFIG_VIDEO_BRIDGE_NXP_PTN3460 is not set
+# CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345 is not set
+CONFIG_CONSOLE_SCROLL_LINES=1
+# CONFIG_LCD is not set
+
+#
+# Watchdog Timer Support
+#
+# CONFIG_BCM2835_WDT is not set
+# CONFIG_ULP_WATCHDOG is not set
+# CONFIG_WDT is not set
+CONFIG_IRQ=y
+# CONFIG_PHYS_TO_BUS is not set
+
+#
+# File systems
+#
+# CONFIG_FS_CBFS is not set
+CONFIG_FS_FAT=y
+CONFIG_FAT_WRITE=y
+CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
+# CONFIG_FS_JFFS2 is not set
+# CONFIG_FS_CRAMFS is not set
+# CONFIG_YAFFS2 is not set
+
+#
+# Library routines
+#
+# CONFIG_BCH is not set
+# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
+CONFIG_SYS_HZ=1000
+CONFIG_SYS_STACK_SIZE=0x200000
+CONFIG_USE_TINY_PRINTF=y
+# CONFIG_PANIC_HANG is not set
+CONFIG_REGEX=y
+# CONFIG_LIB_RAND is not set
+CONFIG_SPL_TINY_MEMSET=y
+# CONFIG_TPL_TINY_MEMSET is not set
+CONFIG_SYSMEM=y
+CONFIG_BIDRAM=y
+# CONFIG_CMD_DHRYSTONE is not set
+
+#
+# Security support
+#
+# CONFIG_AES is not set
+# CONFIG_RSA is not set
+# CONFIG_TPM is not set
+
+#
+# Hashing Support
+#
+CONFIG_SHA1=y
+CONFIG_SHA256=y
+# CONFIG_SHA512 is not set
+# CONFIG_SHA_HW_ACCEL is not set
+CONFIG_MD5=y
+
+#
+# Compression Support
+#
+CONFIG_LZ4=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
+# CONFIG_SPL_LZO is not set
+# CONFIG_SPL_GZIP is not set
+CONFIG_ERRNO_STR=y
+# CONFIG_HEXDUMP is not set
+CONFIG_OF_LIBFDT=y
+# CONFIG_OF_LIBFDT_OVERLAY is not set
+CONFIG_SPL_OF_LIBFDT=y
+# CONFIG_TPL_OF_LIBFDT is not set
+# CONFIG_FDT_FIXUP_PARTITIONS is not set
+
+#
+# System tables
+#
+CONFIG_GENERATE_SMBIOS_TABLE=y
+CONFIG_SMBIOS_MANUFACTURER="rockchip"
+CONFIG_EFI_LOADER=y
+# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set
+# CONFIG_AVB_LIBAVB is not set
+# CONFIG_SPL_AVB_LIBAVB is not set
+# CONFIG_TPL_AVB_LIBAVB is not set
+# CONFIG_AVB_LIBAVB_AB is not set
+# CONFIG_SPL_AVB_LIBAVB_AB is not set
+# CONFIG_TPL_AVB_LIBAVB_AB is not set
+# CONFIG_AVB_LIBAVB_ATX is not set
+# CONFIG_SPL_AVB_LIBAVB_ATX is not set
+# CONFIG_TPL_AVB_LIBAVB_ATX is not set
+# CONFIG_AVB_LIBAVB_USER is not set
+# CONFIG_SPL_AVB_LIBAVB_USER is not set
+# CONFIG_TPL_AVB_LIBAVB_USER is not set
+# CONFIG_RK_AVB_LIBAVB_USER is not set
+# CONFIG_SPL_RK_AVB_LIBAVB_USER is not set
+# CONFIG_TPL_RK_AVB_LIBAVB_USER is not set
+CONFIG_OPTEE_CLIENT=y
+# CONFIG_OPTEE_V1 is not set
+CONFIG_OPTEE_V2=y
+CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y
+# CONFIG_UNIT_TEST is not set
+CONFIG_TEST_ROCKCHIP=y
+# CONFIG_LAVA_INFO is not set
diff --git a/include/configs/odroidgo3.h b/include/configs/odroidgo3.h
new file mode 100644
index 0000000000..f92b4a583b
--- /dev/null
+++ b/include/configs/odroidgo3.h
@@ -0,0 +1,93 @@
+/*
+ * (C) Copyright 2020 Hardkernel Co., Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __ODROIDGO3_H
+#define __ODROIDGO3_H
+
+#include <configs/px30_common.h>
+
+#define CONFIG_SYS_MMC_ENV_DEV 1 /* SDMMC default */
+
+#undef CONFIG_ENV_SIZE
+#undef CONFIG_ENV_OFFSET
+#ifdef CONFIG_SD_BOOT
+#define CONFIG_ENV_SIZE (32 * SZ_1K)
+#define CONFIG_ENV_OFFSET (1024 * SZ_1K)
+#define ENV_DEV_TYPE \
+ "devtype=mmc\0"
+#define ENV_DEV_NUM \
+ "devnum=1\0"
+#else
+/* SPI Flash boot */
+#define CONFIG_ENV_SIZE (32 * SZ_1K)
+#define CONFIG_ENV_OFFSET (32 * SZ_1K)
+#define ENV_DEV_TYPE \
+ "devtype=spinor\0"
+#define ENV_DEV_NUM \
+ "devnum=1\0"
+#endif
+
+/* default env of spi flash layout */
+#define SPI_FLASH_LAYOUT \
+ "st_boot1=0x0\0" \
+ "sz_boot1=0x800\0" \
+ "st_uboot=0x800\0" \
+ "sz_uboot=0x800\0" \
+ "st_trust=0x1000\0" \
+ "sz_trust=0x1000\0" \
+ "st_dtb=0x2000\0" \
+ "sz_dtb=0xC8\0" \
+ "sz_logo=0x190\0" \
+ "st_logo_hardkernel=0x20C8\0" \
+ "st_logo_lowbatt=0x2258\0" \
+ "st_logo_recovery=0x23E8\0" \
+ "st_logo_err=0x2578\0" \
+ "st_logo_nosdcard=0x2708\0" \
+ "st_battery_0=0x2898\0" \
+ "st_battery_1=0x2A28\0" \
+ "st_battery_2=0x2BB8\0" \
+ "st_battery_3=0x2D48 \0" \
+ "st_battery_fail=0x2ED8\0" \
+ "sz_total=0x3068\0"
+
+#define ROCKCHIP_DEVICE_SETTINGS \
+ "stdout=serial,vidconsole\0" \
+ "stderr=serial,vidconsole\0"
+
+#undef CONFIG_CONSOLE_SCROLL_LINES
+#define CONFIG_CONSOLE_SCROLL_LINES 10
+#define CONFIG_SUPPORT_EMMC_RPMB
+
+#ifndef CONFIG_SPL_BUILD
+#undef CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND RKIMG_BOOTCOMMAND
+#endif
+
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "fdt_addr_r=0x01f00000\0" \
+ "dtb_name=rk3326-odroidgo3-linux-v01.dtb\0" \
+ "loadaddr=0x100000\0" \
+ ENV_DEV_TYPE \
+ ENV_DEV_NUM \
+ SPI_FLASH_LAYOUT \
+ "spi_upgrade_from_sd="\
+ "rksfc scan; "\
+ "rksfc dev 1; "\
+ "fatload mmc 1 ${loadaddr} spi_recovery.img; rksfc write ${loadaddr} 0x0 $sz_total\0"\
+ "setbootargs=setenv bootargs earlyprintk swiotlb=1 " \
+ "console=ttyFIQ0,115200n8 " \
+ "rw root=/dev/mmcblk0p2 rootwait rw fsck.repair=yes " \
+ "net.iframes=0 fbcon=rotate:3\0" \
+ "bootcmd=mmc dev 1; cfgload; run setbootargs;" \
+ "load mmc 1:1 0x02000000 Image; " \
+ "load mmc 1:1 0x01f00000 rk3326-odroidgo3-linux-v01.dtb; " \
+ "booti 0x02000000 - 0x01f00000\0"
+
+#undef CONFIG_BOOTDELAY
+#define CONFIG_BOOTDELAY 1
+
+#endif
diff --git a/make.sh b/make.sh
index e204e94a41..5a4b4eeaa5 100755
--- a/make.sh
+++ b/make.sh
@@ -28,7 +28,7 @@ RKCHIP_INI_DESC=("CONFIG_TARGET_GVA_RK3229 NA RK322XAT NA"
########################################### User can modify #############################################
# User's rkbin tool relative path
-if [ "${BOARD}" = 'odroidgo2' ] || [ "${BOARD}" == 'odroidgo2-spi' ]; then
+if [[ "${BOARD}" == "odroidgo"* ]]; then
RKBIN_TOOLS=./tools/rk_tools/tools
else
RKBIN_TOOLS=../rkbin/tools
@@ -452,7 +452,7 @@ fixup_platform_configure()
elif [ $RKCHIP = "RK1808" ]; then
PLATFORM_UBOOT_IMG_SIZE="--size 1024 2"
PLATFORM_TRUST_IMG_SIZE="--size 1024 2"
- elif [ ${BOARD} = "odroidgo2-spi" ]; then
+ elif [ ${BOARD} = "odroidgo2-spi" -o ${BOARD} = "odroidgo3-spi" ]; then
PLATFORM_UBOOT_IMG_SIZE="--size 1024 1"
PLATFORM_TRUST_IMG_SIZE="--size 2048 1"
fi
@@ -822,7 +822,7 @@ pack_idbloader()
finish()
{
- if [ "${BOARD}" = 'odroidgo2-spi' ]; then
+ if [ "${BOARD}" = 'odroidgo2-spi' -o "${BOARD}" = 'odroidgo3-spi' ]; then
mv ${OUTDIR}/uboot.img ./sd_fuse/uboot_spi.img
mv ${OUTDIR}/trust.img ./sd_fuse/trust_spi.img
else
@@ -847,7 +847,7 @@ make CROSS_COMPILE=${TOOLCHAIN_GCC} all --jobs=${JOB} ${OUTOPT}
pack_uboot_image
pack_loader_image
pack_trust_image
-if [ "${BOARD}" = 'odroidgo2' ]; then
+if [ "${BOARD}" = 'odroidgo2' -o "${BOARD}" = 'odroidgo3' ]; then
pack_idbloader
fi
finish