mediatek: add support for JDCloud RE-CP-03
Hardware specification:
SoC: MediaTek MT7986A 4x A53
Flash: 128GB eMMC
RAM: 1GB DDR4
Ethernet: 4x 1GbE, 1x 2.5GbE
Switch: MediaTek MT7531AE
WiFi: MediaTek MT7976C
Button: Reset, Joylink
Power: DC 12V 2A
Flash instructions:
1. Download and flash the vendor migration firmware via webUI:
https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7986-jdcloud_re-cp-03-vendor-migration.bin
(Default address is 192.168.68.1, user root, no password)
2. After device has booted up, write new GPT table:
dd if=immortalwrt-mediatek-filogic-jdcloud_re-cp-03-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=immortalwrt-mediatek-filogic-jdcloud_re-cp-03-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
dd if=immortalwrt-mediatek-filogic-jdcloud_re-cp-03-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
IP 192.168.1.254/24, GW 192.168.1.1
6. Serve Immortalwrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
(Don't worry! You will always have TFTP recovery boot feature.)
dd if=immortalwrt-mediatek-filogic-jdcloud_re-cp-03-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e6cad552da)
This commit is contained in:
parent
ec6df7a9d8
commit
f236c1c4f5
@ -93,6 +93,11 @@ zyxel,ex5601-t0-ubootmod)
|
|||||||
imou,lc-hx3001-ubootmod)
|
imou,lc-hx3001-ubootmod)
|
||||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x80000" "1"
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x80000" "1"
|
||||||
;;
|
;;
|
||||||
|
jdcloud,re-cp-03)
|
||||||
|
local envdev=$(find_mmc_part "ubootenv" "mmcblk0")
|
||||||
|
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
|
||||||
|
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
|
||||||
|
;;
|
||||||
livinet,zr-3020|\
|
livinet,zr-3020|\
|
||||||
livinet,zr-3020-ubootmod|\
|
livinet,zr-3020-ubootmod|\
|
||||||
qihoo,360t7-ubootmod)
|
qihoo,360t7-ubootmod)
|
||||||
|
|||||||
@ -207,15 +207,15 @@
|
|||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+&mmc0 {
|
+&mmc0 {
|
||||||
+ pinctrl-names = "default";
|
|
||||||
+ pinctrl-0 = <&mmc0_pins_default>;
|
|
||||||
+ bus-width = <8>;
|
+ bus-width = <8>;
|
||||||
+ max-frequency = <200000000>;
|
|
||||||
+ cap-mmc-highspeed;
|
+ cap-mmc-highspeed;
|
||||||
+ cap-mmc-hw-reset;
|
+ cap-mmc-hw-reset;
|
||||||
|
+ max-frequency = <200000000>;
|
||||||
|
+ non-removable;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&mmc0_pins_default>;
|
||||||
+ vmmc-supply = <®_3p3v>;
|
+ vmmc-supply = <®_3p3v>;
|
||||||
+ vqmmc-supply = <®_1p8v>;
|
+ vqmmc-supply = <®_1p8v>;
|
||||||
+ non-removable;
|
|
||||||
+ status = "okay";
|
+ status = "okay";
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
|
|||||||
291
target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
Normal file
291
target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
|
||||||
|
#include "mt7986a.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "JDCloud RE-CP-03";
|
||||||
|
compatible = "jdcloud,re-cp-03", "mediatek,mt7986a";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &red_led;
|
||||||
|
led-failsafe = &red_led;
|
||||||
|
led-running = &green_led;
|
||||||
|
led-upgrade = &green_led;
|
||||||
|
serial0 = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory {
|
||||||
|
reg = <0 0x40000000 0 0x40000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
button-joylink {
|
||||||
|
label = "joylink";
|
||||||
|
linux,code = <BTN_0>;
|
||||||
|
gpios = <&pio 10 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button-reset {
|
||||||
|
label = "reset";
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&pio 9 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led-0 {
|
||||||
|
label = "blue:status";
|
||||||
|
gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
red_led: led-1 {
|
||||||
|
label = "red:status";
|
||||||
|
gpios = <&pio 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
green_led: led-2 {
|
||||||
|
label = "green:status";
|
||||||
|
gpios = <&pio 12 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_1p8v: regulator-1p8v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "fixed-1.8V";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_3p3v: regulator-3p3v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "fixed-3.3V";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&crypto {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
ð {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
gmac0: mac@0 {
|
||||||
|
compatible = "mediatek,eth-mac";
|
||||||
|
reg = <0>;
|
||||||
|
phy-mode = "2500base-x";
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <2500>;
|
||||||
|
full-duplex;
|
||||||
|
pause;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac1: mac@1 {
|
||||||
|
compatible = "mediatek,eth-mac";
|
||||||
|
reg = <1>;
|
||||||
|
phy-mode = "2500base-x";
|
||||||
|
phy-handle = <&phy6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio: mdio-bus {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
phy6: phy@6 {
|
||||||
|
compatible = "ethernet-phy-ieee802.3-c45";
|
||||||
|
reg = <6>;
|
||||||
|
|
||||||
|
reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>;
|
||||||
|
reset-assert-us = <10000>;
|
||||||
|
reset-deassert-us = <50000>;
|
||||||
|
realtek,aldps-enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch: switch@1f {
|
||||||
|
compatible = "mediatek,mt7531";
|
||||||
|
reg = <31>;
|
||||||
|
reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
interrupt-parent = <&pio>;
|
||||||
|
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc0 {
|
||||||
|
bus-width = <8>;
|
||||||
|
cap-mmc-highspeed;
|
||||||
|
hs400-ds-delay = <0x14014>;
|
||||||
|
max-frequency = <200000000>;
|
||||||
|
mmc-hs200-1_8v;
|
||||||
|
mmc-hs400-1_8v;
|
||||||
|
no-sd;
|
||||||
|
no-sdio;
|
||||||
|
non-removable;
|
||||||
|
pinctrl-names = "default", "state_uhs";
|
||||||
|
pinctrl-0 = <&mmc0_pins_default>;
|
||||||
|
pinctrl-1 = <&mmc0_pins_uhs>;
|
||||||
|
vmmc-supply = <®_3p3v>;
|
||||||
|
vqmmc-supply = <®_1p8v>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pio {
|
||||||
|
mmc0_pins_default: mmc0-pins-default {
|
||||||
|
mux {
|
||||||
|
function = "emmc";
|
||||||
|
groups = "emmc_51";
|
||||||
|
};
|
||||||
|
conf-cmd-dat {
|
||||||
|
pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
|
||||||
|
"EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
|
||||||
|
"EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
|
||||||
|
input-enable;
|
||||||
|
drive-strength = <4>;
|
||||||
|
mediatek,pull-up-adv = <1>;
|
||||||
|
};
|
||||||
|
conf-clk {
|
||||||
|
pins = "EMMC_CK";
|
||||||
|
drive-strength = <6>;
|
||||||
|
mediatek,pull-down-adv = <2>;
|
||||||
|
};
|
||||||
|
conf-ds {
|
||||||
|
pins = "EMMC_DSL";
|
||||||
|
mediatek,pull-down-adv = <2>;
|
||||||
|
};
|
||||||
|
conf-rst {
|
||||||
|
pins = "EMMC_RSTB";
|
||||||
|
drive-strength = <4>;
|
||||||
|
mediatek,pull-up-adv = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc0_pins_uhs: mmc0-uhs-pins {
|
||||||
|
mux {
|
||||||
|
function = "emmc";
|
||||||
|
groups = "emmc_51";
|
||||||
|
};
|
||||||
|
conf-cmd-dat {
|
||||||
|
pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
|
||||||
|
"EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
|
||||||
|
"EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
|
||||||
|
input-enable;
|
||||||
|
drive-strength = <4>;
|
||||||
|
mediatek,pull-up-adv = <1>;
|
||||||
|
};
|
||||||
|
conf-clk {
|
||||||
|
pins = "EMMC_CK";
|
||||||
|
drive-strength = <6>;
|
||||||
|
mediatek,pull-down-adv = <2>;
|
||||||
|
};
|
||||||
|
conf-ds {
|
||||||
|
pins = "EMMC_DSL";
|
||||||
|
mediatek,pull-down-adv = <2>;
|
||||||
|
};
|
||||||
|
conf-rst {
|
||||||
|
pins = "EMMC_RSTB";
|
||||||
|
drive-strength = <4>;
|
||||||
|
mediatek,pull-up-adv = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
wf_2g_5g_pins: wf-2g-5g-pins {
|
||||||
|
mux {
|
||||||
|
function = "wifi";
|
||||||
|
groups = "wf_2g", "wf_5g";
|
||||||
|
};
|
||||||
|
conf {
|
||||||
|
pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
|
||||||
|
"WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
|
||||||
|
"WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
|
||||||
|
"WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
|
||||||
|
"WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
|
||||||
|
"WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
|
||||||
|
"WF1_TOP_CLK", "WF1_TOP_DATA";
|
||||||
|
drive-strength = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&switch {
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "lan1";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan2";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan3";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
label = "lan4";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@6 {
|
||||||
|
reg = <6>;
|
||||||
|
ethernet = <&gmac0>;
|
||||||
|
phy-mode = "2500base-x";
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <2500>;
|
||||||
|
full-duplex;
|
||||||
|
pause;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&trng {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&wf_2g_5g_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
@ -21,6 +21,7 @@ mediatek_setup_interfaces()
|
|||||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 game" eth1
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 game" eth1
|
||||||
;;
|
;;
|
||||||
asus,tuf-ax4200|\
|
asus,tuf-ax4200|\
|
||||||
|
jdcloud,re-cp-03|\
|
||||||
mediatek,mt7981-rfb|\
|
mediatek,mt7981-rfb|\
|
||||||
zbtlink,zbt-z8102ax|\
|
zbtlink,zbt-z8102ax|\
|
||||||
zyxel,ex5601-t0-stock|\
|
zyxel,ex5601-t0-stock|\
|
||||||
@ -148,6 +149,11 @@ mediatek_setup_macs()
|
|||||||
[ -n "$lan_mac" ] || lan_mac=$(macaddr_add $(mtd_get_mac_binary Factory 0x4) -1)
|
[ -n "$lan_mac" ] || lan_mac=$(macaddr_add $(mtd_get_mac_binary Factory 0x4) -1)
|
||||||
wan_mac=$(macaddr_add $lan_mac 2)
|
wan_mac=$(macaddr_add $lan_mac 2)
|
||||||
;;
|
;;
|
||||||
|
jdcloud,re-cp-03)
|
||||||
|
wan_mac=$(mmc_get_mac_binary factory 0x2a)
|
||||||
|
lan_mac=$(mmc_get_mac_binary factory 0x24)
|
||||||
|
label_mac=$lan_mac
|
||||||
|
;;
|
||||||
mercusys,mr90x-v1)
|
mercusys,mr90x-v1)
|
||||||
label_mac=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
|
label_mac=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
|
||||||
lan_mac=$label_mac
|
lan_mac=$label_mac
|
||||||
|
|||||||
@ -58,7 +58,8 @@ case "$FIRMWARE" in
|
|||||||
CI_UBIPART="UBI_DEV"
|
CI_UBIPART="UBI_DEV"
|
||||||
caldata_extract_ubi "Factory" 0x0 0x1000
|
caldata_extract_ubi "Factory" 0x0 0x1000
|
||||||
;;
|
;;
|
||||||
glinet,gl-mt6000)
|
glinet,gl-mt6000|\
|
||||||
|
jdcloud,re-cp-03)
|
||||||
caldata_extract_mmc "factory" 0x0 0x1000
|
caldata_extract_mmc "factory" 0x0 0x1000
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@ -63,7 +63,8 @@ case "$board" in
|
|||||||
esac
|
esac
|
||||||
[ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress
|
[ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress
|
||||||
;;
|
;;
|
||||||
cmcc,rax3000m-emmc-ubootmod)
|
cmcc,rax3000m-emmc-ubootmod|\
|
||||||
|
jdcloud,re-cp-03)
|
||||||
[ "$PHYNBR" = "1" ] && mmc_get_mac_binary factory 0xa > /sys${DEVPATH}/macaddress
|
[ "$PHYNBR" = "1" ] && mmc_get_mac_binary factory 0xa > /sys${DEVPATH}/macaddress
|
||||||
;;
|
;;
|
||||||
cudy,wr3000-v1)
|
cudy,wr3000-v1)
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
. /lib/functions/system.sh
|
||||||
|
|
||||||
|
do_extract_caldata() {
|
||||||
|
case $(board_name) in
|
||||||
|
glinet,gl-mt6000|\
|
||||||
|
jdcloud,re-cp-03)
|
||||||
|
FIRMWARE=mediatek/mt7986_eeprom_mt7976_dual.bin \
|
||||||
|
sh /etc/hotplug.d/firmware/11-mt76-caldata
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
boot_hook_add preinit_main do_extract_caldata
|
||||||
@ -117,6 +117,10 @@ platform_do_upgrade() {
|
|||||||
CI_KERNPART="fit"
|
CI_KERNPART="fit"
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
;;
|
;;
|
||||||
|
jdcloud,re-cp-03)
|
||||||
|
CI_KERNPART="production"
|
||||||
|
emmc_do_upgrade "$1"
|
||||||
|
;;
|
||||||
mercusys,mr90x-v1)
|
mercusys,mr90x-v1)
|
||||||
CI_UBIPART="ubi0"
|
CI_UBIPART="ubi0"
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
@ -176,6 +180,7 @@ platform_copy_config() {
|
|||||||
cmcc,rax3000m-emmc-ubootmod|\
|
cmcc,rax3000m-emmc-ubootmod|\
|
||||||
glinet,gl-mt2500|\
|
glinet,gl-mt2500|\
|
||||||
glinet,gl-mt6000|\
|
glinet,gl-mt6000|\
|
||||||
|
jdcloud,re-cp-03|\
|
||||||
ubnt,unifi-6-plus)
|
ubnt,unifi-6-plus)
|
||||||
emmc_copy_config
|
emmc_copy_config
|
||||||
;;
|
;;
|
||||||
|
|||||||
@ -590,6 +590,32 @@ define Device/jcg_q30-ubootmod
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += jcg_q30-ubootmod
|
TARGET_DEVICES += jcg_q30-ubootmod
|
||||||
|
|
||||||
|
define Device/jdcloud_re-cp-03
|
||||||
|
DEVICE_VENDOR := JDCloud
|
||||||
|
DEVICE_MODEL := RE-CP-03
|
||||||
|
DEVICE_DTS := mt7986a-jdcloud-re-cp-03
|
||||||
|
DEVICE_DTS_DIR := ../dts
|
||||||
|
DEVICE_DTC_FLAGS := --pad 4096
|
||||||
|
DEVICE_DTS_LOADADDR := 0x43f00000
|
||||||
|
DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware \
|
||||||
|
e2fsprogs f2fsck mkf2fs
|
||||||
|
KERNEL_LOADADDR := 0x44000000
|
||||||
|
KERNEL := kernel-bin | gzip
|
||||||
|
KERNEL_INITRAMFS := kernel-bin | lzma | \
|
||||||
|
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
|
||||||
|
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
|
||||||
|
IMAGES := sysupgrade.itb
|
||||||
|
IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
|
||||||
|
IMAGE/sysupgrade.itb := append-kernel | \
|
||||||
|
fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
|
||||||
|
pad-rootfs | append-metadata
|
||||||
|
ARTIFACTS :=gpt.bin preloader.bin bl31-uboot.fip
|
||||||
|
ARTIFACT/gpt.bin := mt798x-gpt emmc
|
||||||
|
ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
|
||||||
|
ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot jdcloud_re-cp-03
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += jdcloud_re-cp-03
|
||||||
|
|
||||||
define Device/livinet_zr-3020-common
|
define Device/livinet_zr-3020-common
|
||||||
DEVICE_VENDOR := Livinet
|
DEVICE_VENDOR := Livinet
|
||||||
DEVICE_MODEL := ZR-3020
|
DEVICE_MODEL := ZR-3020
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user