-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0002-Add-DFU-alternative-function-for-evb-rk3399.patch
63 lines (59 loc) · 1.64 KB
/
0002-Add-DFU-alternative-function-for-evb-rk3399.patch
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
From ed57f537a17d924424b81b8ca61a94f8973905f9 Mon Sep 17 00:00:00 2001
From: frank_chiang <[email protected]>
Date: Mon, 25 Mar 2024 16:26:55 +0800
Subject: [PATCH 1/1] Add DFU alternative function for evb-rk3399
---
board/rockchip/evb_rk3399/evb-rk3399.c | 36 ++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/rockchip/evb_rk3399/evb-rk3399.c
index abb76585cf..169420e925 100644
--- a/board/rockchip/evb_rk3399/evb-rk3399.c
+++ b/board/rockchip/evb_rk3399/evb-rk3399.c
@@ -10,6 +10,9 @@
#include <asm/arch-rockchip/periph.h>
#include <power/regulator.h>
+#include <dfu.h>
+#include <env.h>
+
#ifndef CONFIG_SPL_BUILD
int board_early_init_f(void)
{
@@ -30,3 +33,36 @@ out:
return 0;
}
#endif
+
+/* ALT_INFO Macro Function below added for DFU_ALT_INFO */
+#ifdef CONFIG_SET_DFU_ALT_INFO
+#define CONFIG_DFU_ALT_BOOT_SD \
+ "mmc 1=idbloader-img raw 0x40 0x2000;u-boot-itb raw 0x4000 0x2000\0"
+#define CONFIG_DFU_ALT_BOOT_EMMC \
+ "mmc 0=idbloader-img raw 0x40 0x2000;u-boot-itb raw 0x4000 0x2000\0"
+
+void set_dfu_alt_info(char *interface, char *devstr)
+{
+ char *alt_info;
+ struct mmc *mmc;
+ int dev_num = 0;
+ alt_info = env_get("dfu_alt_info");
+ if (alt_info)
+ return;
+ dev_num = simple_strtoul(devstr ? devstr:"0", NULL, 10);
+ mmc = find_mmc_device(dev_num);
+
+ int err = mmc_get_op_cond(mmc);
+ if (err) {
+ if (dev_num)
+ mmc = find_mmc_device(0);
+ else
+ mmc = find_mmc_device(1);
+ }
+
+ if (!mmc || mmc_init(mmc))
+ return;
+ alt_info = IS_SD(mmc) ? CONFIG_DFU_ALT_BOOT_SD : CONFIG_DFU_ALT_BOOT_EMMC;
+ env_set("dfu_alt_info", alt_info);
+}
+#endif
--
2.25.1