mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-18 17:33:31 +00:00
Merge branch 'master' of https://github.com/coolsnowwolf/lede
This commit is contained in:
commit
b99049121c
@ -35,6 +35,17 @@ define U-Boot/nanopi-r2s-rk3328
|
||||
OF_PLATDATA:=$(1)
|
||||
endef
|
||||
|
||||
define U-Boot/orangepi-r1-plus-rk3328
|
||||
BUILD_SUBTARGET:=armv8
|
||||
NAME:=Orange Pi R1 Plus
|
||||
BUILD_DEVICES:= \
|
||||
xunlong_orangepi-r1-plus
|
||||
DEPENDS:=+PACKAGE_u-boot-orangepi-r1-plus-rk3328:arm-trusted-firmware-rockchip
|
||||
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
||||
ATF:=rk3328_bl31.elf
|
||||
OF_PLATDATA:=$(1)
|
||||
endef
|
||||
|
||||
|
||||
# RK3399 boards
|
||||
|
||||
@ -72,7 +83,8 @@ UBOOT_TARGETS := \
|
||||
nanopi-r4s-rk3399 \
|
||||
rock-pi-4-rk3399 \
|
||||
rockpro64-rk3399 \
|
||||
nanopi-r2s-rk3328
|
||||
nanopi-r2s-rk3328 \
|
||||
orangepi-r1-plus-rk3328
|
||||
|
||||
UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
|
||||
|
||||
|
@ -0,0 +1,173 @@
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -111,6 +111,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3308) += \
|
||||
dtb-$(CONFIG_ROCKCHIP_RK3328) += \
|
||||
rk3328-evb.dtb \
|
||||
rk3328-nanopi-r2s.dtb \
|
||||
+ rk3328-orangepi-r1-plus.dtb \
|
||||
rk3328-roc-cc.dtb \
|
||||
rk3328-rock64.dtb \
|
||||
rk3328-rock-pi-e.dtb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
|
||||
@@ -0,0 +1,1 @@
|
||||
+#include "rk3328-nanopi-r2s-u-boot.dtsi"
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3328-orangepi-r1-plus.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+#include "rk3328-nanopi-r2s.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Xunlong Orange Pi R1 PLUS";
|
||||
+ compatible = "xunlong,orangepi-r1-plus", "rockchip,rk3328";
|
||||
+};
|
||||
+
|
||||
+&lan_led {
|
||||
+ label = "orangepi-r1-plus:green:lan";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ max-freq = <48000000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&sys_led {
|
||||
+ gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ label = "orangepi-r1-plus:red:sys";
|
||||
+};
|
||||
+
|
||||
+&sys_led_pin {
|
||||
+ rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&wan_led {
|
||||
+ label = "orangepi-r1-plus:green:wan";
|
||||
+};
|
||||
--- a/board/rockchip/evb_rk3328/MAINTAINERS
|
||||
+++ b/board/rockchip/evb_rk3328/MAINTAINERS
|
||||
@@ -12,6 +12,13 @@ F: configs/nanopi-r2s-rk3328_defconfig
|
||||
F: arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi
|
||||
F: arch/arm/dts/rk3328-nanopi-r2s.dts
|
||||
|
||||
+ORANGEPI-R1-PLUS-RK3328
|
||||
+M: Shenzhen Xunlong Software CO.,Limited <zhao_steven@263.net>
|
||||
+S: Maintained
|
||||
+F: configs/orangepi-r1-plus-rk3328_defconfig
|
||||
+F: arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
|
||||
+F: arch/arm/dts/rk3328-orangepi-r1-plus.dts
|
||||
+
|
||||
ROC-RK3328-CC
|
||||
M: Loic Devulder <ldevulder@suse.com>
|
||||
M: Chen-Yu Tsai <wens@csie.org>
|
||||
--- /dev/null
|
||||
+++ b/configs/orangepi-r1-plus-rk3328_defconfig
|
||||
@@ -0,0 +1,98 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
+CONFIG_SPL_GPIO_SUPPORT=y
|
||||
+CONFIG_ENV_OFFSET=0x3F8000
|
||||
+CONFIG_ROCKCHIP_RK3328=y
|
||||
+CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
|
||||
+CONFIG_TPL_LIBCOMMON_SUPPORT=y
|
||||
+CONFIG_TPL_LIBGENERIC_SUPPORT=y
|
||||
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
|
||||
+CONFIG_SPL_STACK_R_ADDR=0x600000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_DEBUG_UART_BASE=0xFF130000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_SYSINFO=y
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
||||
+# CONFIG_ANDROID_BOOT_IMAGE is not set
|
||||
+CONFIG_FIT=y
|
||||
+CONFIG_FIT_VERBOSE=y
|
||||
+CONFIG_SPL_LOAD_FIT=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-orangepi-r1-plus.dtb"
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_SPL_I2C_SUPPORT=y
|
||||
+CONFIG_SPL_POWER_SUPPORT=y
|
||||
+CONFIG_SPL_ATF=y
|
||||
+CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_TIME=y
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_TPL_OF_CONTROL=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3328-orangepi-r1-plus"
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_TPL_OF_PLATDATA=y
|
||||
+CONFIG_ENV_IS_IN_MMC=y
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_TPL_DM=y
|
||||
+CONFIG_REGMAP=y
|
||||
+CONFIG_SPL_REGMAP=y
|
||||
+CONFIG_TPL_REGMAP=y
|
||||
+CONFIG_SYSCON=y
|
||||
+CONFIG_SPL_SYSCON=y
|
||||
+CONFIG_TPL_SYSCON=y
|
||||
+CONFIG_CLK=y
|
||||
+CONFIG_SPL_CLK=y
|
||||
+CONFIG_FASTBOOT_BUF_ADDR=0x800800
|
||||
+CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_SF_DEFAULT_SPEED=20000000
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_GMAC_ROCKCHIP=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+CONFIG_SPL_PINCTRL=y
|
||||
+CONFIG_DM_PMIC=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_SPL_DM_REGULATOR=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_SPL_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_RAM=y
|
||||
+CONFIG_SPL_RAM=y
|
||||
+CONFIG_TPL_RAM=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_SYSRESET=y
|
||||
+# CONFIG_TPL_SYSRESET is not set
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_USB_OHCI_GENERIC=y
|
||||
+CONFIG_USB_DWC2=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_GADGET_DWC2_OTG=y
|
||||
+CONFIG_SPL_TINY_MEMSET=y
|
||||
+CONFIG_TPL_TINY_MEMSET=y
|
||||
+CONFIG_ERRNO_STR=y
|
@ -0,0 +1,174 @@
|
||||
/*
|
||||
* DO NOT MODIFY
|
||||
*
|
||||
* This file was generated by dtoc from a .dtb (device tree binary) file.
|
||||
*/
|
||||
|
||||
/* Allow use of U_BOOT_DEVICE() in this file */
|
||||
#define DT_PLATDATA_C
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <dt-structs.h>
|
||||
|
||||
/* Node /clock-controller@ff440000 index 0 */
|
||||
static struct dtd_rockchip_rk3328_cru dtv_clock_controller_at_ff440000 = {
|
||||
.reg = {0xff440000, 0x1000},
|
||||
.rockchip_grf = 0x3a,
|
||||
};
|
||||
U_BOOT_DEVICE(clock_controller_at_ff440000) = {
|
||||
.name = "rockchip_rk3328_cru",
|
||||
.platdata = &dtv_clock_controller_at_ff440000,
|
||||
.platdata_size = sizeof(dtv_clock_controller_at_ff440000),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /dmc index 1 */
|
||||
static struct dtd_rockchip_rk3328_dmc dtv_dmc = {
|
||||
.reg = {0xff400000, 0x1000, 0xff780000, 0x3000, 0xff100000, 0x1000, 0xff440000, 0x1000,
|
||||
0xff720000, 0x1000, 0xff798000, 0x1000},
|
||||
.rockchip_sdram_params = {0x1, 0xa, 0x2, 0x1, 0x0, 0x0, 0x11, 0x0,
|
||||
0x11, 0x0, 0x0, 0x94291288, 0x0, 0x27, 0x462, 0x15,
|
||||
0x242, 0xff, 0x14d, 0x0, 0x1, 0x0, 0x0, 0x0,
|
||||
0x43049010, 0x64, 0x28003b, 0xd0, 0x20053, 0xd4, 0x220000, 0xd8,
|
||||
0x100, 0xdc, 0x40000, 0xe0, 0x0, 0xe4, 0x110000, 0xe8,
|
||||
0x420, 0xec, 0x400, 0xf4, 0xf011f, 0x100, 0x9060b06, 0x104,
|
||||
0x20209, 0x108, 0x505040a, 0x10c, 0x40400c, 0x110, 0x5030206, 0x114,
|
||||
0x3030202, 0x120, 0x3030b03, 0x124, 0x20208, 0x180, 0x1000040, 0x184,
|
||||
0x0, 0x190, 0x7030003, 0x198, 0x5001100, 0x1a0, 0xc0400003, 0x240,
|
||||
0x6000604, 0x244, 0x201, 0x250, 0xf00, 0x490, 0x1, 0xffffffff,
|
||||
0xffffffff, 0xffffffff, 0xffffffff, 0x4, 0xc, 0x28, 0xa, 0x2c,
|
||||
0x0, 0x30, 0x9, 0xffffffff, 0xffffffff, 0x77, 0x88, 0x79,
|
||||
0x79, 0x87, 0x97, 0x87, 0x78, 0x77, 0x78, 0x87,
|
||||
0x88, 0x87, 0x87, 0x77, 0x78, 0x78, 0x78, 0x78,
|
||||
0x78, 0x78, 0x78, 0x78, 0x78, 0x69, 0x9, 0x77,
|
||||
0x78, 0x77, 0x78, 0x77, 0x78, 0x77, 0x78, 0x77,
|
||||
0x79, 0x9, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
||||
0x78, 0x78, 0x78, 0x69, 0x9, 0x77, 0x78, 0x77,
|
||||
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x79, 0x9,
|
||||
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
||||
0x78, 0x69, 0x9, 0x77, 0x78, 0x77, 0x78, 0x77,
|
||||
0x78, 0x77, 0x78, 0x77, 0x79, 0x9, 0x78, 0x78,
|
||||
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x69,
|
||||
0x9, 0x77, 0x78, 0x77, 0x77, 0x77, 0x77, 0x77,
|
||||
0x77, 0x77, 0x79, 0x9},
|
||||
};
|
||||
U_BOOT_DEVICE(dmc) = {
|
||||
.name = "rockchip_rk3328_dmc",
|
||||
.platdata = &dtv_dmc,
|
||||
.platdata_size = sizeof(dtv_dmc),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /pinctrl/gpio0@ff210000 index 2 */
|
||||
static struct dtd_rockchip_gpio_bank dtv_gpio0_at_ff210000 = {
|
||||
.clocks = {
|
||||
{0, {200}},},
|
||||
.gpio_controller = true,
|
||||
.interrupt_controller = true,
|
||||
.interrupts = {0x0, 0x33, 0x4},
|
||||
.reg = {0xff210000, 0x100},
|
||||
};
|
||||
U_BOOT_DEVICE(gpio0_at_ff210000) = {
|
||||
.name = "rockchip_gpio_bank",
|
||||
.platdata = &dtv_gpio0_at_ff210000,
|
||||
.platdata_size = sizeof(dtv_gpio0_at_ff210000),
|
||||
.parent_idx = 4,
|
||||
};
|
||||
|
||||
/* Node /mmc@ff500000 index 3 */
|
||||
static struct dtd_rockchip_rk3288_dw_mshc dtv_mmc_at_ff500000 = {
|
||||
.bus_width = 0x4,
|
||||
.cap_sd_highspeed = true,
|
||||
.clocks = {
|
||||
{0, {317}},
|
||||
{0, {33}},
|
||||
{0, {74}},
|
||||
{0, {78}},},
|
||||
.disable_wp = true,
|
||||
.fifo_depth = 0x100,
|
||||
.interrupts = {0x0, 0xc, 0x4},
|
||||
.max_frequency = 0x8f0d180,
|
||||
.pinctrl_0 = {0x47, 0x48, 0x49, 0x4a},
|
||||
.pinctrl_names = "default",
|
||||
.reg = {0xff500000, 0x4000},
|
||||
.sd_uhs_sdr104 = true,
|
||||
.sd_uhs_sdr12 = true,
|
||||
.sd_uhs_sdr25 = true,
|
||||
.sd_uhs_sdr50 = true,
|
||||
.u_boot_spl_fifo_mode = true,
|
||||
.vmmc_supply = 0x4b,
|
||||
.vqmmc_supply = 0x1e,
|
||||
};
|
||||
U_BOOT_DEVICE(mmc_at_ff500000) = {
|
||||
.name = "rockchip_rk3288_dw_mshc",
|
||||
.platdata = &dtv_mmc_at_ff500000,
|
||||
.platdata_size = sizeof(dtv_mmc_at_ff500000),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /pinctrl index 4 */
|
||||
static struct dtd_rockchip_rk3328_pinctrl dtv_pinctrl = {
|
||||
.ranges = true,
|
||||
.rockchip_grf = 0x3a,
|
||||
};
|
||||
U_BOOT_DEVICE(pinctrl) = {
|
||||
.name = "rockchip_rk3328_pinctrl",
|
||||
.platdata = &dtv_pinctrl,
|
||||
.platdata_size = sizeof(dtv_pinctrl),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /sdmmc-regulator index 5 */
|
||||
static struct dtd_regulator_fixed dtv_sdmmc_regulator = {
|
||||
.gpio = {0x61, 0x1e, 0x1},
|
||||
.pinctrl_0 = 0x67,
|
||||
.pinctrl_names = "default",
|
||||
.regulator_boot_on = true,
|
||||
.regulator_max_microvolt = 0x325aa0,
|
||||
.regulator_min_microvolt = 0x325aa0,
|
||||
.regulator_name = "vcc_sd",
|
||||
.vin_supply = 0x1c,
|
||||
};
|
||||
U_BOOT_DEVICE(sdmmc_regulator) = {
|
||||
.name = "regulator_fixed",
|
||||
.platdata = &dtv_sdmmc_regulator,
|
||||
.platdata_size = sizeof(dtv_sdmmc_regulator),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /serial@ff130000 index 6 */
|
||||
static struct dtd_ns16550_serial dtv_serial_at_ff130000 = {
|
||||
.clock_frequency = 0x16e3600,
|
||||
.clocks = {
|
||||
{0, {40}},
|
||||
{0, {212}},},
|
||||
.dma_names = {"tx", "rx"},
|
||||
.dmas = {0x10, 0x6, 0x10, 0x7},
|
||||
.interrupts = {0x0, 0x39, 0x4},
|
||||
.pinctrl_0 = 0x26,
|
||||
.pinctrl_names = "default",
|
||||
.reg = {0xff130000, 0x100},
|
||||
.reg_io_width = 0x4,
|
||||
.reg_shift = 0x2,
|
||||
};
|
||||
U_BOOT_DEVICE(serial_at_ff130000) = {
|
||||
.name = "ns16550_serial",
|
||||
.platdata = &dtv_serial_at_ff130000,
|
||||
.platdata_size = sizeof(dtv_serial_at_ff130000),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
/* Node /syscon@ff100000 index 7 */
|
||||
static struct dtd_rockchip_rk3328_grf dtv_syscon_at_ff100000 = {
|
||||
.reg = {0xff100000, 0x1000},
|
||||
};
|
||||
U_BOOT_DEVICE(syscon_at_ff100000) = {
|
||||
.name = "rockchip_rk3328_grf",
|
||||
.platdata = &dtv_syscon_at_ff100000,
|
||||
.platdata_size = sizeof(dtv_syscon_at_ff100000),
|
||||
.parent_idx = -1,
|
||||
};
|
||||
|
||||
void dm_populate_phandle_data(void) {
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* DO NOT MODIFY
|
||||
*
|
||||
* This file was generated by dtoc from a .dtb (device tree binary) file.
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <linux/libfdt.h>
|
||||
struct dtd_ns16550_serial {
|
||||
fdt32_t clock_frequency;
|
||||
struct phandle_1_arg clocks[2];
|
||||
const char * dma_names[2];
|
||||
fdt32_t dmas[4];
|
||||
fdt32_t interrupts[3];
|
||||
fdt32_t pinctrl_0;
|
||||
const char * pinctrl_names;
|
||||
fdt64_t reg[2];
|
||||
fdt32_t reg_io_width;
|
||||
fdt32_t reg_shift;
|
||||
};
|
||||
struct dtd_regulator_fixed {
|
||||
fdt32_t gpio[3];
|
||||
fdt32_t pinctrl_0;
|
||||
const char * pinctrl_names;
|
||||
bool regulator_boot_on;
|
||||
fdt32_t regulator_max_microvolt;
|
||||
fdt32_t regulator_min_microvolt;
|
||||
const char * regulator_name;
|
||||
fdt32_t vin_supply;
|
||||
};
|
||||
struct dtd_rockchip_gpio_bank {
|
||||
struct phandle_1_arg clocks[1];
|
||||
bool gpio_controller;
|
||||
bool interrupt_controller;
|
||||
fdt32_t interrupts[3];
|
||||
fdt64_t reg[2];
|
||||
};
|
||||
struct dtd_rockchip_rk3288_dw_mshc {
|
||||
fdt32_t bus_width;
|
||||
bool cap_sd_highspeed;
|
||||
struct phandle_1_arg clocks[4];
|
||||
bool disable_wp;
|
||||
fdt32_t fifo_depth;
|
||||
fdt32_t interrupts[3];
|
||||
fdt32_t max_frequency;
|
||||
fdt32_t pinctrl_0[4];
|
||||
const char * pinctrl_names;
|
||||
fdt64_t reg[2];
|
||||
bool sd_uhs_sdr104;
|
||||
bool sd_uhs_sdr12;
|
||||
bool sd_uhs_sdr25;
|
||||
bool sd_uhs_sdr50;
|
||||
bool u_boot_spl_fifo_mode;
|
||||
fdt32_t vmmc_supply;
|
||||
fdt32_t vqmmc_supply;
|
||||
};
|
||||
struct dtd_rockchip_rk3328_cru {
|
||||
fdt64_t reg[2];
|
||||
fdt32_t rockchip_grf;
|
||||
};
|
||||
struct dtd_rockchip_rk3328_dmc {
|
||||
fdt64_t reg[12];
|
||||
fdt32_t rockchip_sdram_params[196];
|
||||
};
|
||||
struct dtd_rockchip_rk3328_grf {
|
||||
fdt64_t reg[2];
|
||||
};
|
||||
struct dtd_rockchip_rk3328_pinctrl {
|
||||
bool ranges;
|
||||
fdt32_t rockchip_grf;
|
||||
};
|
@ -188,7 +188,7 @@ start()
|
||||
if [ $FLAC -eq 1 ]; then
|
||||
ENABLE_FLAC="-b "
|
||||
fi
|
||||
UnblockNeteaseMusic $ENABLE_FLAC -p 5200 -sp 5201 -m 0 -c /usr/share/UnblockNeteaseMusicGo/server.crt -k /usr/share/UnblockNeteaseMusicGo/server.key -m 0 -e -sl ${SEARCHLIMIT} -l /tmp/unblockmusic.log &
|
||||
UnblockNeteaseMusic $musictype $ENABLE_FLAC -p 5200 -sp 5201 -c /usr/share/UnblockNeteaseMusicGo/server.crt -k /usr/share/UnblockNeteaseMusicGo/server.key -m 0 -e -sl ${SEARCHLIMIT} -l /tmp/unblockmusic.log &
|
||||
echo "$(date -R) # UnblockNeteaseMusic Golang Version (http:5200, https:5201)" >>/tmp/unblockmusic.log
|
||||
else
|
||||
kill -9 $(busybox ps -w | grep 'sleep 60m' | grep -v grep | awk '{print $1}') >/dev/null 2>&1
|
||||
|
@ -1,8 +1,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-xlnetacc
|
||||
PKG_VERSION:=1.0.3
|
||||
PKG_RELEASE:=9
|
||||
PKG_VERSION:=1.0.5
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_LICENSE:=GPLv2
|
||||
PKG_MAINTAINER:=Sense <sensec@gmail.com>
|
||||
|
@ -28,6 +28,21 @@ uci:foreach("network", "interface", function(section)
|
||||
end
|
||||
end)
|
||||
|
||||
o = s:option(Value, "keepalive", translate("Keepalive interval"), "5-60 " .. translate("minutes"))
|
||||
for _, v in ipairs({5, 10, 20, 30, 60}) do
|
||||
o:value(v, v .. " " .. translate("minutes"))
|
||||
end
|
||||
o.datatype = "range(5, 60)"
|
||||
o.default = 10
|
||||
|
||||
o = s:option(Value, "relogin", translate("Account relogin"), "1-48 " .. translate("hours"))
|
||||
o:value(0, translate("Not enabled"))
|
||||
for _, v in ipairs({3, 12, 18, 24, 30}) do
|
||||
o:value(v, v .. " " .. translate("hours"))
|
||||
end
|
||||
o.datatype = "max(48)"
|
||||
o.default = 0
|
||||
|
||||
o = s:option(Value, "account", translate("XLNetAcc account"))
|
||||
|
||||
o = s:option(Value, "password", translate("XLNetAcc password"))
|
||||
|
@ -55,6 +55,21 @@ msgstr "启用详细日志"
|
||||
msgid "Upgrade interface"
|
||||
msgstr "指定提速接口"
|
||||
|
||||
msgid "Keepalive interval"
|
||||
msgstr "保持连接周期"
|
||||
|
||||
msgid "Account relogin"
|
||||
msgstr "帐号重新登录"
|
||||
|
||||
msgid "Not enabled"
|
||||
msgstr "未启用"
|
||||
|
||||
msgid "minutes"
|
||||
msgstr "分钟"
|
||||
|
||||
msgid "hours"
|
||||
msgstr "小时"
|
||||
|
||||
msgid "XLNetAcc account"
|
||||
msgstr "迅雷快鸟帐号"
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
# 声明常量
|
||||
readonly packageName='com.xunlei.vip.swjsq'
|
||||
readonly protocolVersion=200
|
||||
readonly protocolVersion=300
|
||||
readonly businessType=68
|
||||
readonly sdkVersion='2.1.1.177662'
|
||||
readonly clientVersion='2.4.1.3'
|
||||
readonly agent_xl="android-async-http/xl-acc-sdk/version-$sdkVersion"
|
||||
readonly agent_down='okhttp/3.4.1'
|
||||
readonly sdkVersion='3.1.2.185150'
|
||||
readonly clientVersion='2.7.2.0'
|
||||
readonly agent_xl="android-ok-http-client/xl-acc-sdk/version-$sdkVersion"
|
||||
readonly agent_down='okhttp/3.9.1'
|
||||
readonly agent_up='android-async-http/xl-acc-sdk/version-1.0.0.1'
|
||||
readonly client_type_down='android-swjsq'
|
||||
readonly client_type_up='android-uplink'
|
||||
@ -53,11 +53,9 @@ uci_get_by_bool() {
|
||||
|
||||
# 日志和状态栏输出。1 日志文件, 2 系统日志, 4 详细模式, 8 下行状态栏, 16 上行状态栏, 32 失败状态
|
||||
_log() {
|
||||
local msg=$1
|
||||
local flag=$2
|
||||
local msg=$1 flag=$2 timestamp=$(date +'%Y/%m/%d %H:%M:%S')
|
||||
[ -z "$msg" ] && return
|
||||
[ -z "$flag" ] && flag=1
|
||||
local timestamp=$(date +'%Y/%m/%d %H:%M:%S')
|
||||
|
||||
[ $logging -eq 0 -a $(( $flag & 1 )) -ne 0 ] && flag=$(( $flag ^ 1 ))
|
||||
if [ $verbose -eq 0 -a $(( $flag & 4 )) -ne 0 ]; then
|
||||
@ -145,14 +143,16 @@ swjsq_json() {
|
||||
json_init
|
||||
json_add_string protocolVersion "$protocolVersion"
|
||||
json_add_string sequenceNo "$sequence_xl"
|
||||
json_add_string platformVersion '2'
|
||||
json_add_string platformVersion '10'
|
||||
json_add_string isCompressed '0'
|
||||
json_add_string businessType "$businessType"
|
||||
json_add_string appid "$businessType"
|
||||
json_add_string clientVersion "$clientVersion"
|
||||
json_add_string peerID "$_peerid"
|
||||
json_add_string appName "ANDROID-$packageName"
|
||||
json_add_string sdkVersion "${sdkVersion##*.}"
|
||||
json_add_string devicesign "$_devicesign"
|
||||
json_add_string netWorkType 'WIFI'
|
||||
json_add_string providerName 'OTHER'
|
||||
json_add_string deviceModel 'MI'
|
||||
json_add_string deviceName 'Xiaomi Mi'
|
||||
json_add_string OSVersion "7.1.1"
|
||||
@ -167,6 +167,7 @@ swjsq_login() {
|
||||
json_add_string passWord "$password"
|
||||
json_add_string verifyKey
|
||||
json_add_string verifyCode
|
||||
json_add_string isMd5Pwd '0'
|
||||
else
|
||||
access_url='https://mobile-login.xunlei.com/loginkey'
|
||||
json_add_string userName "$_userid"
|
||||
@ -240,7 +241,8 @@ swjsq_logout() {
|
||||
|
||||
# 获取用户信息
|
||||
swjsq_getuserinfo() {
|
||||
[ $1 -eq 1 ] && local _vasid=14 || local _vasid=33
|
||||
local _vasid vasid_down=14 vasid_up=33 outmsg
|
||||
[ $down_acc -ne 0 ] && _vasid="${_vasid}${vasid_down},"; [ $up_acc -ne 0 ] && _vasid="${_vasid}${vasid_up},"
|
||||
swjsq_json
|
||||
json_add_string userID "$_userid"
|
||||
json_add_string sessionID "$_sessionid"
|
||||
@ -248,17 +250,16 @@ swjsq_getuserinfo() {
|
||||
json_close_object
|
||||
|
||||
local ret=$($_http_cmd --user-agent="$agent_xl" 'https://mobile-login.xunlei.com/getuserinfo' --post-data="$(json_dump)")
|
||||
_log "getuserinfo $1 is $ret" $(( 1 | 4 ))
|
||||
_log "getuserinfo is $ret" $(( 1 | 4 ))
|
||||
json_cleanup; json_load "$ret" >/dev/null 2>&1
|
||||
json_get_var lasterr "errorCode"
|
||||
|
||||
[ $1 -eq 1 ] && local outmsg="下行提速会员" || local outmsg="上行提速会员"
|
||||
case ${lasterr:=-1} in
|
||||
0)
|
||||
local index vasid isVip isYear expireDate can_upgrade
|
||||
local index=1 can_down=0 vasid isVip isYear expireDate
|
||||
json_select "vipList" >/dev/null 2>&1
|
||||
while : ; do
|
||||
json_select ${index:=1} >/dev/null 2>&1
|
||||
json_select $index >/dev/null 2>&1
|
||||
[ $? -ne 0 ] && break
|
||||
json_get_var vasid "vasid"
|
||||
json_get_var isVip "isVip"
|
||||
@ -266,28 +267,59 @@ swjsq_getuserinfo() {
|
||||
json_get_var expireDate "expireDate"
|
||||
json_select ".." >/dev/null 2>&1
|
||||
let index++
|
||||
([ $1 -eq 1 -a ${vasid:-0} -eq 2 ] || [ ${vasid:-0} -eq $_vasid ]) && \
|
||||
[ ${isVip:-0} -eq 1 -o ${isYear:-0} -eq 1 ] && { can_upgrade=1; break; }
|
||||
done
|
||||
if [ ${can_upgrade:-0} -eq 1 ]; then
|
||||
outmsg="获取${outmsg}信息成功。会员到期时间:${expireDate:0:4}-${expireDate:4:2}-${expireDate:6:2}"; \
|
||||
_log "$outmsg" $(( 1 | $1 * 8 ))
|
||||
else
|
||||
if [ ${#expireDate} -ge 8 ]; then
|
||||
outmsg="${outmsg}已到期。会员到期时间:${expireDate:0:4}-${expireDate:4:2}-${expireDate:6:2}"
|
||||
case ${vasid:-0} in
|
||||
2) [ $down_acc -ne 0 ] && outmsg="迅雷超级会员" || continue;;
|
||||
$vasid_down) outmsg="迅雷快鸟会员";;
|
||||
$vasid_up) outmsg="上行提速会员";;
|
||||
*) continue;;
|
||||
esac
|
||||
if [ ${isVip:-0} -eq 1 -o ${isYear:-0} -eq 1 ]; then
|
||||
outmsg="${outmsg}有效。会员到期时间:${expireDate:0:4}-${expireDate:4:2}-${expireDate:6:2}"
|
||||
[ $vasid -eq $vasid_up ] && _log "$outmsg" $(( 1 | 16 )) || _log "$outmsg" $(( 1 | 8 ))
|
||||
[ $vasid -ne $vasid_up ] && can_down=$(( $can_down | 1 ))
|
||||
else
|
||||
outmsg="${outmsg}无效"
|
||||
if [ ${#expireDate} -ge 8 ]; then
|
||||
outmsg="${outmsg}已到期。会员到期时间:${expireDate:0:4}-${expireDate:4:2}-${expireDate:6:2}"
|
||||
else
|
||||
outmsg="${outmsg}无效"
|
||||
fi
|
||||
[ $vasid -eq $vasid_up ] && _log "$outmsg" $(( 1 | 16 | 32 )) || _log "$outmsg" $(( 1 | 8 | 32 ))
|
||||
[ $vasid -eq $vasid_up ] && up_acc=0
|
||||
fi
|
||||
_log "$outmsg" $(( 1 | $1 * 8 | 32 ))
|
||||
[ $1 -eq 1 ] && down_acc=0 || up_acc=0
|
||||
fi
|
||||
done
|
||||
[ $can_down -eq 0 ] && down_acc=0
|
||||
;;
|
||||
-1)
|
||||
outmsg="获取${outmsg}信息失败。迅雷服务器未响应,请稍候"; _log "$outmsg";;
|
||||
outmsg="获取迅雷会员信息失败。迅雷服务器未响应,请稍候"; _log "$outmsg";;
|
||||
*)
|
||||
local errorDesc; json_get_var errorDesc "errorDesc"
|
||||
outmsg="获取${outmsg}信息失败。错误代码: ${lasterr}"; \
|
||||
[ -n "$errorDesc" ] && outmsg="${outmsg},原因: $errorDesc"; _log "$outmsg" $(( 1 | $1 * 8 | 32 ));;
|
||||
outmsg="获取迅雷会员信息失败。错误代码: ${lasterr}"; \
|
||||
[ -n "$errorDesc" ] && outmsg="${outmsg},原因: $errorDesc"; _log "$outmsg" $(( 1 | 8 | 32 ));;
|
||||
esac
|
||||
|
||||
[ $lasterr -eq 0 ] && return 0 || return 1
|
||||
}
|
||||
|
||||
# 登录时间更新
|
||||
swjsq_renewal() {
|
||||
xlnetacc_var 1
|
||||
local limitdate=$(date +%Y%m%d -d "1970.01.01-00:00:$(( $(date +%s) + 30 * 24 * 60 * 60 ))")
|
||||
|
||||
access_url='http://api.ext.swjsq.vip.xunlei.com'
|
||||
local ret=$($_http_cmd --user-agent="$user_agent" "$access_url/renewal?${http_args%&dial_account=*}&limitdate=$limitdate")
|
||||
_log "renewal is $ret" $(( 1 | 4 ))
|
||||
json_cleanup; json_load "$ret" >/dev/null 2>&1
|
||||
json_get_var lasterr "errno"
|
||||
|
||||
case ${lasterr:=-1} in
|
||||
0)
|
||||
local outmsg="更新登录时间成功。帐号登录展期:${limitdate:0:4}-${limitdate:4:2}-${limitdate:6:2}"; _log "$outmsg";;
|
||||
-1)
|
||||
local outmsg="更新登录时间失败。迅雷服务器未响应,请稍候"; _log "$outmsg";;
|
||||
*)
|
||||
local message; json_get_var message "richmessage"
|
||||
local outmsg="更新登录时间失败。错误代码: ${lasterr}"; \
|
||||
[ -n "$message" ] && outmsg="${outmsg},原因: $message"; _log "$outmsg" $(( 1 | 8 | 32 ));;
|
||||
esac
|
||||
|
||||
[ $lasterr -eq 0 ] && return 0 || return 1
|
||||
@ -354,8 +386,8 @@ isp_bandwidth() {
|
||||
json_select; json_select "max_bandwidth" >/dev/null 2>&1
|
||||
json_get_var max_bandwidth "$stream"
|
||||
json_select
|
||||
cur_bandwidth=$(expr ${cur_bandwidth:-0} / 1024)
|
||||
max_bandwidth=$(expr ${max_bandwidth:-0} / 1024)
|
||||
cur_bandwidth=$(( ${cur_bandwidth:-0} / 1024 ))
|
||||
max_bandwidth=$(( ${max_bandwidth:-0} / 1024 ))
|
||||
|
||||
if [ -n "$bind_dial_account" -a "$bind_dial_account" != "$dial_account" ]; then
|
||||
local outmsg="绑定宽带账号 $bind_dial_account 与当前宽带账号 $dial_account 不一致,请联系迅雷客服解绑(每月仅一次)"; \
|
||||
@ -510,7 +542,7 @@ xlnetacc_var() {
|
||||
let sequence_up++
|
||||
access_url=$_portal_up
|
||||
http_args="sequence=${sequence_up}&client_type=${client_type_up}-${clientVersion}&client_version=${client_type_up//-/}-${clientVersion}"
|
||||
user_agent=$agent_up
|
||||
user_agent=$agent_down
|
||||
link_cn="上行"
|
||||
fi
|
||||
http_args="${http_args}&peerid=${_peerid}&userid=${_userid}&sessionid=${_sessionid}&user_type=1&os=android-7.1.1"
|
||||
@ -581,10 +613,16 @@ xlnetacc_init() {
|
||||
readonly logging=$(uci_get_by_bool "general" "logging" 1)
|
||||
readonly verbose=$(uci_get_by_bool "general" "verbose" 0)
|
||||
network=$(uci_get_by_name "general" "network" "wan")
|
||||
keepalive=$(uci_get_by_name "general" "keepalive" 10)
|
||||
relogin=$(uci_get_by_name "general" "relogin" 0)
|
||||
readonly username=$(uci_get_by_name "general" "account")
|
||||
readonly password=$(uci_get_by_name "general" "password")
|
||||
local enabled=$(uci_get_by_bool "general" "enabled" 0)
|
||||
([ $enabled -eq 0 ] || [ $down_acc -eq 0 -a $up_acc -eq 0 ] || [ -z "$username" -o -z "$password" -o -z "$network" ]) && return 2
|
||||
([ -z "$keepalive" -o -n "${keepalive//[0-9]/}" ] || [ $keepalive -lt 5 -o $keepalive -gt 60 ]) && keepalive=10
|
||||
readonly keepalive=$(( $keepalive ))
|
||||
([ -z "$relogin" -o -n "${relogin//[0-9]/}" ] || [ $relogin -gt 48 ]) && relogin=0
|
||||
readonly relogin=$(( $relogin * 60 * 60 ))
|
||||
|
||||
[ $logging -eq 1 ] && [ ! -d /var/log ] && mkdir -p /var/log
|
||||
[ -f "$LOGFILE" ] && _log "------------------------------"
|
||||
@ -606,6 +644,7 @@ xlnetacc_init() {
|
||||
|
||||
clean_log
|
||||
[ -d /var/state ] || mkdir -p /var/state
|
||||
rm -f "$down_state_file" "$up_state_file"
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -636,9 +675,10 @@ xlnetacc_main() {
|
||||
done
|
||||
|
||||
# 获取用户信息
|
||||
xlnetacc_retry 'swjsq_getuserinfo' 1 1
|
||||
xlnetacc_retry 'swjsq_getuserinfo' 2 1
|
||||
xlnetacc_retry 'swjsq_getuserinfo'
|
||||
[ $down_acc -eq 0 -a $up_acc -eq 0 ] && break
|
||||
# 登录时间更新
|
||||
xlnetacc_retry 'swjsq_renewal'
|
||||
# 获取提速入口
|
||||
xlnetacc_retry 'swjsq_portal' 1 1
|
||||
xlnetacc_retry 'swjsq_portal' 2 1
|
||||
@ -651,11 +691,11 @@ xlnetacc_main() {
|
||||
xlnetacc_retry 'isp_upgrade' 2 1 10 || { sleep 3m; continue; }
|
||||
|
||||
# 心跳保持
|
||||
# local retry=1
|
||||
local timer=$(date +%s)
|
||||
while : ; do
|
||||
clean_log # 清理日志
|
||||
sleep 10m
|
||||
# [ $retry -ge 144 ] && break || let retry++ # 心跳最多保持24小时,144=24*60/10
|
||||
sleep ${keepalive}m
|
||||
[ $relogin -ne 0 -a $(( $(date +%s) - $timer )) -ge $relogin ] && break # 登录超时
|
||||
xlnetacc_retry 'isp_keepalive' 1 2 5 || break
|
||||
xlnetacc_retry 'isp_keepalive' 2 2 5 || break
|
||||
done
|
||||
|
@ -12,8 +12,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uugamebooster
|
||||
PKG_VERSION:=v2.7.8
|
||||
PKG_RELEASE:=6
|
||||
PKG_VERSION:=v2.9.0
|
||||
PKG_RELEASE:=7
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
@ -31,27 +31,27 @@ endef
|
||||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
UU_ARCH:=x86_64
|
||||
PKG_MD5SUM:=7964978383c6c1535a8a8799b96498d7
|
||||
PKG_MD5SUM:=136c6e63745b385ab986df60ff8b2ff0
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),mipsel)
|
||||
UU_ARCH:=mipsel
|
||||
PKG_MD5SUM:=e25531db253ae05e13367d98ab862e45
|
||||
PKG_MD5SUM:=7bec7f1df806d511f93e90e677aa830a
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),mips)
|
||||
UU_ARCH:=mipsel
|
||||
PKG_MD5SUM:=e25531db253ae05e13367d98ab862e45
|
||||
PKG_MD5SUM:=7bec7f1df806d511f93e90e677aa830a
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),arm)
|
||||
UU_ARCH:=arm
|
||||
PKG_MD5SUM:=5a308f12a9855841dab6c534453850aa
|
||||
PKG_MD5SUM:=ceefdf84f8ce3e1eb87d22200373900a
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),aarch64)
|
||||
UU_ARCH:=aarch64
|
||||
PKG_MD5SUM:=f7d891a1c9eecb900a1981df47bf365f
|
||||
PKG_MD5SUM:=a4c82d58416aa604c143053023aca71d
|
||||
endif
|
||||
|
||||
PKG_SOURCE_URL:=http://uu.gdl.netease.com/openwrt-$(UU_ARCH)/$(PKG_VERSION)/uu.tar.gz?
|
||||
|
@ -9,7 +9,8 @@ boardname="${board##*,}"
|
||||
board_config_update
|
||||
|
||||
case $board in
|
||||
friendlyarm,nanopi-r2s)
|
||||
friendlyarm,nanopi-r2s|\
|
||||
xunlong,orangepi-r1-plus)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth1"
|
||||
;;
|
||||
|
@ -9,7 +9,8 @@ rockchip_setup_interfaces()
|
||||
|
||||
case "$board" in
|
||||
friendlyarm,nanopi-r2s|\
|
||||
friendlyarm,nanopi-r4s)
|
||||
friendlyarm,nanopi-r4s|\
|
||||
xunlong,orangepi-r1-plus)
|
||||
ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
|
||||
;;
|
||||
*)
|
||||
@ -37,9 +38,10 @@ rockchip_setup_macs()
|
||||
wan_mac=$(nanopi_r2s_generate_mac)
|
||||
lan_mac=$(macaddr_add "$wan_mac" +1)
|
||||
;;
|
||||
friendlyarm,nanopi-r4s)
|
||||
wan_mac=$(cat /sys/class/net/eth0/address)
|
||||
lan_mac=$(macaddr_add "$wan_mac" +1)
|
||||
friendlyarm,nanopi-r4s|\
|
||||
xunlong,orangepi-r1-plus)
|
||||
lan_mac=$(cat /sys/class/net/eth1/address)
|
||||
wan_mac=$(macaddr_add "$lan_mac" -1)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -22,7 +22,8 @@ set_interface_core() {
|
||||
}
|
||||
|
||||
case "$(board_name)" in
|
||||
friendlyarm,nanopi-r2s)
|
||||
friendlyarm,nanopi-r2s|\
|
||||
xunlong,orangepi-r1-plus)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1" "xhci-hcd:usb3"
|
||||
;;
|
||||
|
@ -42,3 +42,13 @@ define Device/radxa_rock-pi-4
|
||||
DEVICE_PACKAGES := -urngd
|
||||
endef
|
||||
TARGET_DEVICES += radxa_rock-pi-4
|
||||
|
||||
define Device/xunlong_orangepi-r1-plus
|
||||
DEVICE_VENDOR := Xunlong
|
||||
DEVICE_MODEL := Orange Pi R1 Plus
|
||||
SOC := rk3328
|
||||
UBOOT_DEVICE_NAME := orangepi-r1-plus-rk3328
|
||||
IMAGE/sysupgrade.img.gz := boot-common | boot-script nanopi-r2s | pine64-img | gzip | append-metadata
|
||||
DEVICE_PACKAGES := kmod-usb-net-rtl8152
|
||||
endef
|
||||
TARGET_DEVICES += xunlong_orangepi-r1-plus
|
||||
|
@ -0,0 +1,52 @@
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -2,6 +2,7 @@
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+#include "rk3328-nanopi-r2s.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Xunlong Orange Pi R1 PLUS";
|
||||
+ compatible = "xunlong,orangepi-r1-plus", "rockchip,rk3328";
|
||||
+};
|
||||
+
|
||||
+&lan_led {
|
||||
+ label = "orangepi-r1-plus:green:lan";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ max-freq = <48000000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&sys_led {
|
||||
+ gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ label = "orangepi-r1-plus:red:sys";
|
||||
+};
|
||||
+
|
||||
+&sys_led_pin {
|
||||
+ rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&wan_led {
|
||||
+ label = "orangepi-r1-plus:green:wan";
|
||||
+};
|
Loading…
Reference in New Issue
Block a user