Skip to content

Commit aff0292

Browse files
committed
[bot] AutoMerging: merge all upstream's changes:
* https://github.com/coolsnowwolf/lede: scripts/download.pl: Make the download tool configurable (coolsnowwolf#10291) rockchip: Add Rongpin King3399 support (coolsnowwolf#10292)
2 parents 8a5d409 + 6c4e5d7 commit aff0292

12 files changed

+1319
-13
lines changed

config/Config-devel.in

+14
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,20 @@ menuconfig DEVEL
1717
Store built firmware images and filesystem images in this directory.
1818
If not set, uses './bin/$(BOARD)'
1919

20+
config DOWNLOAD_TOOL_CUSTOM
21+
string "Use custom download tool" if DEVEL
22+
default ""
23+
help
24+
Use and force custom download tool instead of relying on autoselection
25+
between curl if available and wget as a fallback.
26+
27+
download.pl supports 3 tools officially aria2c, curl and wget.
28+
If one of the tool is used in this config, download.pl will use the
29+
default args to make use of them.
30+
31+
If the provided string is different than aria2c, curl or wget, the command
32+
is used as is and the download url will be appended at the end of such command.
33+
2034
config DOWNLOAD_FOLDER
2135
string "Download folder" if DEVEL
2236
default ""

include/download.mk

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ endif
1818

1919
DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED)
2020

21+
# Export options for download.pl
22+
export DOWNLOAD_CHECK_CERTIFICATE:=$(CONFIG_DOWNLOAD_CHECK_CERTIFICATE)
23+
export DOWNLOAD_TOOL_CUSTOM:=$(CONFIG_DOWNLOAD_TOOL_CUSTOM)
24+
2125
define dl_method_git
2226
$(if $(filter https://github.com/% git://github.com/%,$(1)),github_archive,git)
2327
endef

package/boot/uboot-rockchip/Makefile

+11
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,16 @@ define U-Boot/rockpro64-rk3399
135135
ATF:=rk3399_bl31.elf
136136
endef
137137

138+
define U-Boot/rongpin-king3399-rk3399
139+
BUILD_SUBTARGET:=armv8
140+
NAME:=Rongpin King3399
141+
BUILD_DEVICES:= \
142+
rongpin_king3399
143+
DEPENDS:=+PACKAGE_u-boot-rongpin-king3399-rk3399:arm-trusted-firmware-rk3399
144+
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
145+
ATF:=rk3399_bl31_v1.35.elf
146+
USE_RKBIN:=1
147+
endef
138148

139149
# RK3568 boards
140150

@@ -206,6 +216,7 @@ UBOOT_TARGETS := \
206216
nanopi-r5s-rk3568 \
207217
rock-pi-4-rk3399 \
208218
rockpro64-rk3399 \
219+
rongpin-king3399-rk3399 \
209220
nanopi-r2c-rk3328 \
210221
nanopi-r2s-rk3328 \
211222
orangepi-r1-plus-rk3328 \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
--- /dev/null
2+
+++ b/configs/rongpin-king3399-rk3399_defconfig
3+
@@ -0,0 +1,65 @@
4+
+CONFIG_ARM=y
5+
+CONFIG_SKIP_LOWLEVEL_INIT=y
6+
+CONFIG_COUNTER_FREQUENCY=24000000
7+
+CONFIG_ARCH_ROCKCHIP=y
8+
+CONFIG_SYS_TEXT_BASE=0x00200000
9+
+CONFIG_NR_DRAM_BANKS=1
10+
+CONFIG_ENV_OFFSET=0x3F8000
11+
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4se"
12+
+CONFIG_ROCKCHIP_RK3399=y
13+
+CONFIG_TARGET_EVB_RK3399=y
14+
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
15+
+CONFIG_DEBUG_UART_CLOCK=24000000
16+
+CONFIG_SYS_LOAD_ADDR=0x800800
17+
+CONFIG_DEBUG_UART=y
18+
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4se.dtb"
19+
+CONFIG_DISPLAY_BOARDINFO_LATE=y
20+
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
21+
+CONFIG_SPL_STACK_R=y
22+
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
23+
+CONFIG_TPL=y
24+
+CONFIG_CMD_BOOTZ=y
25+
+CONFIG_CMD_GPT=y
26+
+CONFIG_CMD_MMC=y
27+
+CONFIG_CMD_USB=y
28+
+# CONFIG_CMD_SETEXPR is not set
29+
+CONFIG_CMD_TIME=y
30+
+CONFIG_SPL_OF_CONTROL=y
31+
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
32+
+CONFIG_ENV_IS_IN_MMC=y
33+
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
34+
+CONFIG_ROCKCHIP_GPIO=y
35+
+CONFIG_SYS_I2C_ROCKCHIP=y
36+
+CONFIG_MMC_DW=y
37+
+CONFIG_MMC_DW_ROCKCHIP=y
38+
+CONFIG_MMC_SDHCI=y
39+
+CONFIG_MMC_SDHCI_ROCKCHIP=y
40+
+CONFIG_DM_ETH=y
41+
+CONFIG_ETH_DESIGNWARE=y
42+
+CONFIG_GMAC_ROCKCHIP=y
43+
+CONFIG_PMIC_RK8XX=y
44+
+CONFIG_REGULATOR_PWM=y
45+
+CONFIG_REGULATOR_RK8XX=y
46+
+CONFIG_PWM_ROCKCHIP=y
47+
+CONFIG_RAM_RK3399_LPDDR4=y
48+
+CONFIG_BAUDRATE=1500000
49+
+CONFIG_DEBUG_UART_SHIFT=2
50+
+CONFIG_SYSRESET=y
51+
+CONFIG_USB=y
52+
+CONFIG_USB_XHCI_HCD=y
53+
+CONFIG_USB_XHCI_DWC3=y
54+
+CONFIG_USB_EHCI_HCD=y
55+
+CONFIG_USB_EHCI_GENERIC=y
56+
+CONFIG_USB_KEYBOARD=y
57+
+CONFIG_USB_HOST_ETHER=y
58+
+CONFIG_USB_ETHER_ASIX=y
59+
+CONFIG_USB_ETHER_ASIX88179=y
60+
+CONFIG_USB_ETHER_MCS7830=y
61+
+CONFIG_USB_ETHER_RTL8152=y
62+
+CONFIG_USB_ETHER_SMSC95XX=y
63+
+CONFIG_DM_VIDEO=y
64+
+CONFIG_DISPLAY=y
65+
+CONFIG_VIDEO_ROCKCHIP=y
66+
+CONFIG_DISPLAY_ROCKCHIP_HDMI=y
67+
+CONFIG_SPL_TINY_MEMSET=y
68+
+CONFIG_ERRNO_STR=y

scripts/download.pl

+36-13
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
my $ok;
2626

2727
my $check_certificate = $ENV{DOWNLOAD_CHECK_CERTIFICATE} eq "y";
28+
my $custom_tool = $ENV{DOWNLOAD_TOOL_CUSTOM};
29+
my $download_tool;
2830

2931
$url_filename or $url_filename = $filename;
3032

@@ -85,35 +87,54 @@ sub tool_present {
8587
return $present
8688
}
8789

90+
sub select_tool {
91+
$custom_tool =~ tr/"//d;
92+
if ($custom_tool) {
93+
return $custom_tool;
94+
}
95+
96+
# Try to use curl if available
97+
if (tool_present("curl", "curl")) {
98+
return "curl";
99+
}
100+
101+
# No tool found, fallback to wget
102+
return "wget";
103+
}
104+
88105
sub download_cmd {
89106
my $url = shift;
90107
my $filename = shift;
91-
my $additional_mirrors = join(" ", map "$_/$filename", @_);
92108

93-
my @chArray = ('a'..'z', 'A'..'Z', 0..9);
94-
my $rfn = join '', "${filename}_", map{ $chArray[int rand @chArray] } 0..9;
109+
if ($download_tool eq "curl") {
110+
return (qw(curl -f --connect-timeout 20 --retry 5 --location),
111+
$check_certificate ? () : '--insecure',
112+
shellwords($ENV{CURL_OPTIONS} || ''),
113+
$url);
114+
} elsif ($download_tool eq "wget") {
115+
return (qw(wget --tries=5 --timeout=20 --output-document=-),
116+
$check_certificate ? () : '--no-check-certificate',
117+
shellwords($ENV{WGET_OPTIONS} || ''),
118+
$url);
119+
} elsif ($download_tool eq "aria2c") {
120+
my $additional_mirrors = join(" ", map "$_/$filename", @_);
121+
my @chArray = ('a'..'z', 'A'..'Z', 0..9);
122+
my $rfn = join '', "${filename}_", map{ $chArray[int rand @chArray] } 0..9;
95123

96-
if (tool_present('aria2c', 'aria2')) {
97124
@mirrors=();
125+
98126
return join(" ", "[ -d $ENV{'TMPDIR'}/aria2c ] || mkdir $ENV{'TMPDIR'}/aria2c;",
99127
"touch $ENV{'TMPDIR'}/aria2c/${rfn}_spp;",
100128
qw(aria2c --stderr -c -x2 -s10 -j10 -k1M), $url, $additional_mirrors,
101129
$check_certificate ? () : '--check-certificate=false',
102130
"--server-stat-of=$ENV{'TMPDIR'}/aria2c/${rfn}_spp",
103131
"--server-stat-if=$ENV{'TMPDIR'}/aria2c/${rfn}_spp",
132+
"--daemon=false --no-conf", shellwords($ENV{ARIA2C_OPTIONS} || ''),
104133
"-d $ENV{'TMPDIR'}/aria2c -o $rfn;",
105134
"cat $ENV{'TMPDIR'}/aria2c/$rfn;",
106135
"rm $ENV{'TMPDIR'}/aria2c/$rfn $ENV{'TMPDIR'}/aria2c/${rfn}_spp");
107-
} elsif (tool_present('curl', 'curl')) {
108-
return (qw(curl -f --connect-timeout 20 --retry 5 --location),
109-
$check_certificate ? () : '--insecure',
110-
shellwords($ENV{CURL_OPTIONS} || ''),
111-
$url);
112136
} else {
113-
return (qw(wget --tries=5 --timeout=20 --output-document=-),
114-
$check_certificate ? () : '--no-check-certificate',
115-
shellwords($ENV{WGET_OPTIONS} || ''),
116-
$url);
137+
return join(" ", $download_tool, $url);
117138
}
118139
}
119140

@@ -328,6 +349,8 @@ sub cleanup
328349
};
329350
}
330351

352+
$download_tool = select_tool();
353+
331354
while (!-f "$target/$filename") {
332355
my $mirror = shift @mirrors;
333356
$mirror or die "No more mirrors to try - giving up.\n";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/sh /etc/rc.common
2+
# Copyright (C) 2006-2011 OpenWrt.org
3+
4+
START=99
5+
6+
. /lib/functions/system.sh
7+
8+
boot() {
9+
case $(board_name) in
10+
rongpin,king3399)
11+
echo 50 > /sys/class/gpio/export && echo high > /sys/class/gpio/gpio50/direction
12+
echo 56 > /sys/class/gpio/export && echo high > /sys/class/gpio/gpio56/direction
13+
;;
14+
esac
15+
}

0 commit comments

Comments
 (0)