Merge branch 'openwrt:master' into master

This commit is contained in:
Hayzam Sherif 2023-08-25 00:10:25 +05:30 committed by GitHub
commit b98c3f8106
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 1189 additions and 233 deletions

View file

@ -45,7 +45,7 @@ mercusys,mr90x-v1)
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1" ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
;; ;;
netgear,wax220) netgear,wax220)
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x20000" "0x20000" ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;; ;;
xiaomi,mi-router-wr30u-112m-nmbm|\ xiaomi,mi-router-wr30u-112m-nmbm|\
xiaomi,mi-router-wr30u-stock|\ xiaomi,mi-router-wr30u-stock|\

View file

@ -0,0 +1,69 @@
From patchwork Mon Aug 21 19:38:23 2023
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
X-Patchwork-Id: 1823742
X-Patchwork-Delegate: trini@ti.com
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Date: Mon, 21 Aug 2023 20:38:23 +0100
From: Daniel Golle <daniel@makrotopia.org>
To: Sam Shih <sam.shih@mediatek.com>, Weijie Gao <weijie.gao@mediatek.com>,
Lorenzo Bianconi <lorenzo@kernel.org>, u-boot@lists.denx.de
Subject: [PATCH] configs: set CONFIG_LMB_MAX_REGIONS=64 for MT7988 boards
Message-ID:
<568a8030acf9056266b5c96055cea54f810496c9.1692646620.git.daniel@makrotopia.org>
MIME-Version: 1.0
Content-Disposition: inline
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
Similar to MT7981 and MT7986 also MT7988 can have a high number of
reserved-memory regions used by the various hardware offloading
subsystems.
Raise CONFIG_LMB_MAX_REGIONS to 64 to avoid errors when trying to boot
Linux with more then 6 reserved regions:
ERROR: reserving fdt memory region failed (addr=4f700000 size=240000 flags=4)
ERROR: reserving fdt memory region failed (addr=15194000 size=1000 flags=4)
ERROR: reserving fdt memory region failed (addr=15294000 size=1000 flags=4)
ERROR: reserving fdt memory region failed (addr=15394000 size=1000 flags=4)
ERROR: Failed to allocate 0xb161 bytes below 0x80000000.
device tree - allocation error
Fixes: bc4adc97cfb ("board: mediatek: add MT7988 reference boards")
Reported-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
configs/mt7988_rfb_defconfig | 1 +
configs/mt7988_sd_rfb_defconfig | 1 +
2 files changed, 2 insertions(+)
--- a/configs/mt7988_rfb_defconfig
+++ b/configs/mt7988_rfb_defconfig
@@ -81,3 +81,4 @@ CONFIG_MTK_SPIM=y
CONFIG_LZO=y
CONFIG_HEXDUMP=y
# CONFIG_EFI_LOADER is not set
+CONFIG_LMB_MAX_REGIONS=64
--- a/configs/mt7988_sd_rfb_defconfig
+++ b/configs/mt7988_sd_rfb_defconfig
@@ -69,3 +69,4 @@ CONFIG_MTK_SPIM=y
CONFIG_LZO=y
CONFIG_HEXDUMP=y
# CONFIG_EFI_LOADER is not set
+CONFIG_LMB_MAX_REGIONS=64

View file

@ -3,8 +3,6 @@ Date: Tue, 25 Jul 2023 20:05:06 +0800
Subject: [PATCH] wifi: rt2x00: rework MT7620 PA/LNA RF calibration Subject: [PATCH] wifi: rt2x00: rework MT7620 PA/LNA RF calibration
1. Move MT7620 PA/LNA calibration code to dedicated functions. 1. Move MT7620 PA/LNA calibration code to dedicated functions.
Calibration stage 1 is executed before configuring channels and
stage 2 is executed after configuring channels.
2. For external PA/LNA devices, restore RF and BBP registers before 2. For external PA/LNA devices, restore RF and BBP registers before
R-Calibration. R-Calibration.
3. Do Rx DCOC calibration again before RXIQ calibration. 3. Do Rx DCOC calibration again before RXIQ calibration.
@ -21,23 +19,13 @@ Subject: [PATCH] wifi: rt2x00: rework MT7620 PA/LNA RF calibration
Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
--- ---
.../net/wireless/ralink/rt2x00/rt2800lib.c | 318 +++++++++++------- .../net/wireless/ralink/rt2x00/rt2800lib.c | 306 ++++++++++--------
drivers/net/wireless/ralink/rt2x00/rt2x00.h | 6 + drivers/net/wireless/ralink/rt2x00/rt2x00.h | 6 +
2 files changed, 194 insertions(+), 130 deletions(-) 2 files changed, 182 insertions(+), 130 deletions(-)
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -62,6 +62,9 @@ MODULE_PARM_DESC(watchdog, "Enable watch @@ -3881,14 +3881,6 @@ static void rt2800_config_channel_rf7620
rt2800_regbusy_read((__dev), H2M_MAILBOX_CSR, \
H2M_MAILBOX_CSR_OWNER, (__reg))
+static void rt6352_init_palna_stage1(struct rt2x00_dev *rt2x00dev);
+static void rt6352_init_palna_stage2(struct rt2x00_dev *rt2x00dev);
+
static inline bool rt2800_is_305x_soc(struct rt2x00_dev *rt2x00dev)
{
/* check for rt2872 on SoC */
@@ -3881,14 +3884,6 @@ static void rt2800_config_channel_rf7620
rfcsr |= tx_agc_fc; rfcsr |= tx_agc_fc;
rt2800_rfcsr_write_bank(rt2x00dev, 7, 59, rfcsr); rt2800_rfcsr_write_bank(rt2x00dev, 7, 59, rfcsr);
} }
@ -52,17 +40,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
} }
static void rt2800_config_alc_rt6352(struct rt2x00_dev *rt2x00dev, static void rt2800_config_alc_rt6352(struct rt2x00_dev *rt2x00dev,
@@ -4151,6 +4146,9 @@ static void rt2800_config_channel(struct @@ -4457,89 +4449,63 @@ static void rt2800_config_channel(struct
rt2800_txpower_to_dev(rt2x00dev, rf->channel,
info->default_power3);
+ if (rt2x00_rt(rt2x00dev, RT6352))
+ rt6352_init_palna_stage1(rt2x00dev);
+
switch (rt2x00dev->chip.rt) {
case RT3883:
rt3883_bbp_adjust(rt2x00dev, rf);
@@ -4457,89 +4455,65 @@ static void rt2800_config_channel(struct
usleep_range(1000, 1500); usleep_range(1000, 1500);
} }
@ -193,12 +171,10 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ * Otherwise it's difficult to pass the WHQL. + * Otherwise it's difficult to pass the WHQL.
+ */ + */
+ usleep_range(1000, 1500); + usleep_range(1000, 1500);
+
+ rt6352_init_palna_stage2(rt2x00dev);
} }
bbp = rt2800_bbp_read(rt2x00dev, 4); bbp = rt2800_bbp_read(rt2x00dev, 4);
@@ -5649,43 +5623,6 @@ void rt2800_vco_calibration(struct rt2x0 @@ -5649,43 +5615,6 @@ void rt2800_vco_calibration(struct rt2x0
} }
} }
rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin); rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin);
@ -242,7 +218,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
} }
EXPORT_SYMBOL_GPL(rt2800_vco_calibration); EXPORT_SYMBOL_GPL(rt2800_vco_calibration);
@@ -8650,7 +8587,7 @@ static void rt2800_r_calibration(struct @@ -8650,7 +8579,7 @@ static void rt2800_r_calibration(struct
rt2x00_warn(rt2x00dev, "Wait MAC Tx Status to MAX !!!\n"); rt2x00_warn(rt2x00dev, "Wait MAC Tx Status to MAX !!!\n");
maccfg = rt2800_register_read(rt2x00dev, MAC_SYS_CTRL); maccfg = rt2800_register_read(rt2x00dev, MAC_SYS_CTRL);
@ -251,7 +227,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, maccfg); rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, maccfg);
if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev, MAC_STATUS_CFG_BBP_RF_BUSY_RX))) if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev, MAC_STATUS_CFG_BBP_RF_BUSY_RX)))
@@ -10688,30 +10625,151 @@ static void rt2800_init_rfcsr_6352(struc @@ -10688,30 +10617,143 @@ static void rt2800_init_rfcsr_6352(struc
rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00); rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00);
rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x7C); rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x7C);
} }
@ -266,7 +242,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
- rt2800_loft_iq_calibration(rt2x00dev); - rt2800_loft_iq_calibration(rt2x00dev);
- rt2800_rxiq_calibration(rt2x00dev); - rt2800_rxiq_calibration(rt2x00dev);
- rt6352_enable_pa_pin(rt2x00dev, 1); - rt6352_enable_pa_pin(rt2x00dev, 1);
+static void rt6352_init_ext_palna(struct rt2x00_dev *rt2x00dev) +static void rt2800_init_palna_rt6352(struct rt2x00_dev *rt2x00dev)
+{ +{
+ u32 reg; + u32 reg;
+ +
@ -308,9 +284,8 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ } + }
+ +
+ if (rt2800_hw_get_chippkg(rt2x00dev) == 1 && + if (rt2800_hw_get_chippkg(rt2x00dev) == 1 &&
+ rt2x00_has_cap_external_pa(rt2x00dev)) { + rt2x00_has_cap_external_pa(rt2x00dev))
+ rt2800_rfcsr_write_dccal(rt2x00dev, 05, 0x00); + rt2800_rfcsr_write_dccal(rt2x00dev, 05, 0x00);
+ }
+ +
+ if (rt2800_hw_get_chippkg(rt2x00dev) == 1 && + if (rt2800_hw_get_chippkg(rt2x00dev) == 1 &&
+ rt2x00_has_cap_external_lna_bg(rt2x00dev)) { + rt2x00_has_cap_external_lna_bg(rt2x00dev)) {
@ -333,7 +308,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ } + }
+} +}
+ +
+static void rt6352_restore_rf_bbp(struct rt2x00_dev *rt2x00dev) +static void rt2800_restore_rf_bbp_rt6352(struct rt2x00_dev *rt2x00dev)
+{ +{
+ if (rt2x00_has_cap_external_pa(rt2x00dev)) { + if (rt2x00_has_cap_external_pa(rt2x00dev)) {
+ rt2800_register_write(rt2x00dev, RF_CONTROL3, 0x0); + rt2800_register_write(rt2x00dev, RF_CONTROL3, 0x0);
@ -348,8 +323,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ } + }
+ +
+ if (rt2800_hw_get_chippkg(rt2x00dev) == 1 && + if (rt2800_hw_get_chippkg(rt2x00dev) == 1 &&
+ rt2x00_has_cap_external_pa(rt2x00dev)) + rt2x00_has_cap_external_pa(rt2x00dev)) {
+ {
+ rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3); + rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3);
+ rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xB3); + rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xB3);
+ rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xD5); + rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xD5);
@ -376,29 +350,23 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ rt2800_bbp_write(rt2x00dev, 82, 0xB6); + rt2800_bbp_write(rt2x00dev, 82, 0xB6);
+ } + }
+ +
+ if (rt2800_hw_get_chippkg(rt2x00dev) == 1 + if (rt2800_hw_get_chippkg(rt2x00dev) == 1 &&
+ && rt2x00_has_cap_external_pa(rt2x00dev)) { + rt2x00_has_cap_external_pa(rt2x00dev)) {
+ rt2800_register_write(rt2x00dev, TX0_RF_GAIN_CORRECT, 0x3630363A); + rt2800_register_write(rt2x00dev, TX0_RF_GAIN_CORRECT, 0x3630363A);
+ rt2800_register_write(rt2x00dev, TX0_RF_GAIN_ATTEN, 0x6C6C666C); + rt2800_register_write(rt2x00dev, TX0_RF_GAIN_ATTEN, 0x6C6C666C);
+ rt2800_register_write(rt2x00dev, TX1_RF_GAIN_ATTEN, 0x6C6C666C); + rt2800_register_write(rt2x00dev, TX1_RF_GAIN_ATTEN, 0x6C6C666C);
+ } + }
+} +}
+ +
+/* MT7620 PA/LNA initialization before switching channels */ +static void rt2800_calibration_rt6352(struct rt2x00_dev *rt2x00dev)
+static void rt6352_init_palna_stage1(struct rt2x00_dev *rt2x00dev)
+{ +{
+ if (rt2x00_has_cap_external_pa(rt2x00dev) || + if (rt2x00_has_cap_external_pa(rt2x00dev) ||
+ rt2x00_has_cap_external_lna_bg(rt2x00dev)) { + rt2x00_has_cap_external_lna_bg(rt2x00dev)) {
+ rt6352_enable_pa_pin(rt2x00dev, 0); + rt6352_enable_pa_pin(rt2x00dev, 0);
+ rt6352_restore_rf_bbp(rt2x00dev); + rt2800_restore_rf_bbp_rt6352(rt2x00dev);
+ } + }
+ +
+ rt2800_r_calibration(rt2x00dev); + rt2800_r_calibration(rt2x00dev);
+}
+
+/* MT7620 PA/LNA initialization after switching channels */
+static void rt6352_init_palna_stage2(struct rt2x00_dev *rt2x00dev)
+{
+ rt2800_rf_self_txdc_cal(rt2x00dev); + rt2800_rf_self_txdc_cal(rt2x00dev);
+ rt2800_rxdcoc_calibration(rt2x00dev); + rt2800_rxdcoc_calibration(rt2x00dev);
+ rt2800_bw_filter_calibration(rt2x00dev, true); + rt2800_bw_filter_calibration(rt2x00dev, true);
@ -413,10 +381,21 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+ if (rt2x00_has_cap_external_pa(rt2x00dev) || + if (rt2x00_has_cap_external_pa(rt2x00dev) ||
+ rt2x00_has_cap_external_lna_bg(rt2x00dev)) { + rt2x00_has_cap_external_lna_bg(rt2x00dev)) {
+ rt6352_enable_pa_pin(rt2x00dev, 1); + rt6352_enable_pa_pin(rt2x00dev, 1);
+ rt6352_init_ext_palna(rt2x00dev); + rt2800_init_palna_rt6352(rt2x00dev);
} }
} }
@@ -10804,6 +10846,10 @@ int rt2800_enable_radio(struct rt2x00_de
rt2800_init_bbp(rt2x00dev);
rt2800_init_rfcsr(rt2x00dev);
+ /* Do calibration and init PA/LNA for RT6352 */
+ if (rt2x00_rt(rt2x00dev, RT6352))
+ rt2800_calibration_rt6352(rt2x00dev);
+
if (rt2x00_is_usb(rt2x00dev) &&
(rt2x00_rt(rt2x00dev, RT3070) ||
rt2x00_rt(rt2x00dev, RT3071) ||
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h --- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
@@ -1277,6 +1277,12 @@ rt2x00_has_cap_external_lna_bg(struct rt @@ -1277,6 +1277,12 @@ rt2x00_has_cap_external_lna_bg(struct rt

View file

@ -867,8 +867,9 @@ hostapd_set_bss_options() {
[ "$bss_transition" -eq "1" ] && append bss_conf "bss_transition=1" "$N" [ "$bss_transition" -eq "1" ] && append bss_conf "bss_transition=1" "$N"
[ "$mbo" -eq 1 ] && append bss_conf "mbo=1" "$N" [ "$mbo" -eq 1 ] && append bss_conf "mbo=1" "$N"
json_get_vars ieee80211k rrm_neighbor_report rrm_beacon_report json_get_vars ieee80211k rrm_neighbor_report rrm_beacon_report rnr
set_default ieee80211k 0 set_default ieee80211k 0
set_default rnr 0
if [ "$ieee80211k" -eq "1" ]; then if [ "$ieee80211k" -eq "1" ]; then
set_default rrm_neighbor_report 1 set_default rrm_neighbor_report 1
set_default rrm_beacon_report 1 set_default rrm_beacon_report 1
@ -879,6 +880,7 @@ hostapd_set_bss_options() {
[ "$rrm_neighbor_report" -eq "1" ] && append bss_conf "rrm_neighbor_report=1" "$N" [ "$rrm_neighbor_report" -eq "1" ] && append bss_conf "rrm_neighbor_report=1" "$N"
[ "$rrm_beacon_report" -eq "1" ] && append bss_conf "rrm_beacon_report=1" "$N" [ "$rrm_beacon_report" -eq "1" ] && append bss_conf "rrm_beacon_report=1" "$N"
[ "$rnr" -eq "1" ] && append bss_conf "rnr=1" "$N"
json_get_vars ftm_responder stationary_ap lci civic json_get_vars ftm_responder stationary_ap lci civic
set_default ftm_responder 0 set_default ftm_responder 0

View file

@ -188,6 +188,7 @@ function iface_hostapd_notify(phy, ifname, iface, state)
switch (state) { switch (state) {
case "DISCONNECTED": case "DISCONNECTED":
case "AUTHENTICATING": case "AUTHENTICATING":
case "SCANNING":
msg.up = false; msg.up = false;
break; break;
case "INTERFACE_DISABLED": case "INTERFACE_DISABLED":

View file

@ -1,97 +0,0 @@
--- a/src/utils/os_unix.c
+++ b/src/utils/os_unix.c
@@ -10,6 +10,7 @@
#include <time.h>
#include <sys/wait.h>
+#include <fcntl.h>
#ifdef ANDROID
#include <sys/capability.h>
@@ -188,59 +189,46 @@ int os_gmtime(os_time_t t, struct os_tm
return 0;
}
-
-#ifdef __APPLE__
-#include <fcntl.h>
-static int os_daemon(int nochdir, int noclose)
+int os_daemonize(const char *pid_file)
{
- int devnull;
+ int pid = 0, i, devnull;
- if (chdir("/") < 0)
- return -1;
+#if defined(__uClinux__) || defined(__sun__)
+ return -1;
+#else /* defined(__uClinux__) || defined(__sun__) */
- devnull = open("/dev/null", O_RDWR);
- if (devnull < 0)
+#ifndef __APPLE__
+ pid = fork();
+ if (pid < 0)
return -1;
+#endif
- if (dup2(devnull, STDIN_FILENO) < 0) {
- close(devnull);
- return -1;
+ if (pid > 0) {
+ if (pid_file) {
+ FILE *f = fopen(pid_file, "w");
+ if (f) {
+ fprintf(f, "%u\n", pid);
+ fclose(f);
+ }
+ }
+ _exit(0);
}
- if (dup2(devnull, STDOUT_FILENO) < 0) {
- close(devnull);
+ if (setsid() < 0)
return -1;
- }
- if (dup2(devnull, STDERR_FILENO) < 0) {
- close(devnull);
+ if (chdir("/") < 0)
return -1;
- }
-
- return 0;
-}
-#else /* __APPLE__ */
-#define os_daemon daemon
-#endif /* __APPLE__ */
-
-int os_daemonize(const char *pid_file)
-{
-#if defined(__uClinux__) || defined(__sun__)
- return -1;
-#else /* defined(__uClinux__) || defined(__sun__) */
- if (os_daemon(0, 0)) {
- perror("daemon");
+ devnull = open("/dev/null", O_RDWR);
+ if (devnull < 0)
return -1;
- }
- if (pid_file) {
- FILE *f = fopen(pid_file, "w");
- if (f) {
- fprintf(f, "%u\n", getpid());
- fclose(f);
- }
- }
+ for (i = 0; i <= STDERR_FILENO; i++)
+ dup2(devnull, i);
+
+ if (devnull > 2)
+ close(devnull);
return -0;
#endif /* defined(__uClinux__) || defined(__sun__) */

View file

@ -7,6 +7,7 @@
#include "beacon.h" #include "beacon.h"
#include "hw_features.h" #include "hw_features.h"
#include "ap_drv_ops.h" #include "ap_drv_ops.h"
#include "dfs.h"
#include <libubox/uloop.h> #include <libubox/uloop.h>
static uc_resource_type_t *global_type, *bss_type, *iface_type; static uc_resource_type_t *global_type, *bss_type, *iface_type;
@ -367,6 +368,13 @@ out:
if (conf->channel) if (conf->channel)
iface->freq = hostapd_hw_get_freq(iface->bss[0], conf->channel); iface->freq = hostapd_hw_get_freq(iface->bss[0], conf->channel);
if (hostapd_is_dfs_required(iface) && !hostapd_is_dfs_chan_available(iface)) {
wpa_printf(MSG_INFO, "DFS CAC required on new channel, restart interface");
hostapd_disable_iface(iface);
hostapd_enable_iface(iface);
return ucv_boolean_new(true);
}
for (i = 0; i < iface->num_bss; i++) { for (i = 0; i < iface->num_bss; i++) {
struct hostapd_data *hapd = iface->bss[i]; struct hostapd_data *hapd = iface->bss[i];
int ret; int ret;

View file

@ -90,6 +90,22 @@
linux,default-trigger = "phy1tpt"; linux,default-trigger = "phy1tpt";
}; };
}; };
ubi-concat {
compatible = "mtd-concat";
devices = <&ubiconcat0 &ubiconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ubi";
reg = <0x0 0x0>;
};
};
};
}; };
&spi { &spi {
@ -165,10 +181,20 @@
reg = <0x0 0x400000>; reg = <0x0 0x400000>;
}; };
partition@400000 { ubiconcat0: partition@400000 {
label = "ubi"; label = "ubiconcat0";
reg = <0x400000 0x7c00000>; reg = <0x400000 0x5c00000>;
}; };
ubiconcat1: partition@6020000 {
label = "ubiconcat1";
reg = <0x6020000 0x1f60000>;
};
/*
* U-boot always unconditionally marks block 768, 1020 - 1023 as
* bad blocks on each boot. To avoid conflicts with the nand
* driver, manually skip them.
*/
}; };
}; };
}; };

View file

@ -285,7 +285,7 @@ define Device/meraki_mr18
endef endef
TARGET_DEVICES += meraki_mr18 TARGET_DEVICES += meraki_mr18
# fake rootfs is mandatory, pad-offset 64 equals (1 * uimage_header) # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + '\0')
define Device/netgear_ath79_nand define Device/netgear_ath79_nand
DEVICE_VENDOR := NETGEAR DEVICE_VENDOR := NETGEAR
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -293,8 +293,9 @@ define Device/netgear_ath79_nand
BLOCKSIZE := 128k BLOCKSIZE := 128k
PAGESIZE := 2048 PAGESIZE := 2048
IMAGE_SIZE := 25600k IMAGE_SIZE := 25600k
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \ KERNEL := kernel-bin | append-dtb | lzma | \
pad-offset $$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC) pad-offset $$(BLOCKSIZE) 129 | uImage lzma | pad-extra 1 | \
append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
IMAGES := sysupgrade.bin factory.img IMAGES := sysupgrade.bin factory.img
IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \ IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
append-ubi | check-size | netgear-dni append-ubi | check-size | netgear-dni
@ -372,6 +373,9 @@ TARGET_DEVICES += netgear_wndr4300tn
define Device/netgear_wndr4300-v2 define Device/netgear_wndr4300-v2
SOC := qca9563 SOC := qca9563
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
first reboot issue. Please reflash factory image with nmrp or tftp.
DEVICE_MODEL := WNDR4300 DEVICE_MODEL := WNDR4300
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
UIMAGE_MAGIC := 0x27051956 UIMAGE_MAGIC := 0x27051956
@ -383,6 +387,9 @@ TARGET_DEVICES += netgear_wndr4300-v2
define Device/netgear_wndr4500-v3 define Device/netgear_wndr4500-v3
SOC := qca9563 SOC := qca9563
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
first reboot issue. Please reflash factory image with nmrp or tftp.
DEVICE_MODEL := WNDR4500 DEVICE_MODEL := WNDR4500
DEVICE_VARIANT := v3 DEVICE_VARIANT := v3
UIMAGE_MAGIC := 0x27051956 UIMAGE_MAGIC := 0x27051956

View file

@ -0,0 +1,15 @@
. /lib/functions.sh
. /lib/functions/uci-defaults.sh
board_config_update
case "$(board_name)" in
netgear,wndr4300-v2|\
netgear,wndr4500-v3)
ucidef_set_compat_version "1.1"
;;
esac
board_config_flush
exit 0

View file

@ -84,6 +84,9 @@
phy0: ethernet-phy@5 { phy0: ethernet-phy@5 {
reg = <5>; reg = <5>;
compatible = "ethernet-phy-ieee802.3-c45"; compatible = "ethernet-phy-ieee802.3-c45";
/* LED0: Amber ; LED1: nc ; LED2: nc ; LED3: Green */
mxl,led-config = <0x3b0 0x0 0x0 0x3c0>;
}; };
}; };

View file

@ -8,10 +8,8 @@
#include "mt7986b.dtsi" #include "mt7986b.dtsi"
/ { / {
#address-cells = <0x2>;
#size-cells = <0x2>;
model = "Netgear WAX220"; model = "Netgear WAX220";
compatible = "netgear,wax220", "mediatek,mt7986b-spim-snand-rfb"; compatible = "netgear,wax220", "mediatek,mt7986b";
aliases { aliases {
serial0 = &uart0; serial0 = &uart0;
@ -106,8 +104,6 @@
}; };
&mdio { &mdio {
#address-cells = <1>;
#size-cells = <0>;
phy6: ethernet-phy@6 { phy6: ethernet-phy@6 {
reg = <6>; reg = <6>;
reset-assert-us = <100000>; reset-assert-us = <100000>;
@ -120,7 +116,6 @@
}; };
}; };
&pio { &pio {
spi_flash_pins: spi-flash-pins-33-to-38 { spi_flash_pins: spi-flash-pins-33-to-38 {
mux { mux {
@ -196,29 +191,10 @@
#size-cells = <0x1>; #size-cells = <0x1>;
compatible = "fixed-partitions"; compatible = "fixed-partitions";
partition@5fc0000 { partition@0 {
label = "Traffic"; label = "BL2";
reg = <0x5fc0000 0x200000>; read-only;
}; reg = <0x0 0x100000>;
partition@63c0000 {
label = "NTGRcryptD";
reg = <0x63c0000 0x500000>;
};
partition@580000 {
label = "ubi";
reg = <0x580000 0x5140000>;
};
factory: partition@180000 {
label = "Factory";
reg = <0x180000 0x200000>;
};
partition@69c0000 {
label = "User_data";
reg = <0x69c0000 0x640000>;
}; };
partition@100000 { partition@100000 {
@ -226,30 +202,9 @@
reg = <0x100000 0x80000>; reg = <0x100000 0x80000>;
}; };
partition@68c0000 { factory: partition@180000 {
label = "LOG"; label = "Factory";
reg = <0x68c0000 0x100000>; reg = <0x180000 0x200000>;
};
partition@5ac0000 {
label = "POT";
reg = <0x5ac0000 0x100000>;
};
partition@0 {
label = "BL2";
read-only;
reg = <0x0 0x100000>;
};
partition@5bc0000 {
label = "Language";
reg = <0x5bc0000 0x400000>;
};
partition@61c0000 {
label = "Cert";
reg = <0x61c0000 0x100000>;
}; };
partition@380000 { partition@380000 {
@ -257,15 +212,55 @@
reg = <0x380000 0x200000>; reg = <0x380000 0x200000>;
}; };
partition@580000 {
label = "ubi";
reg = <0x580000 0x5140000>;
};
partition@56c0000 { partition@56c0000 {
label = "RAE"; label = "RAE";
reg = <0x56c0000 0x400000>; reg = <0x56c0000 0x400000>;
}; };
partition@5ac0000 {
label = "POT";
reg = <0x5ac0000 0x100000>;
};
partition@5bc0000 {
label = "Language";
reg = <0x5bc0000 0x400000>;
};
partition@5fc0000 {
label = "Traffic";
reg = <0x5fc0000 0x200000>;
};
partition@61c0000 {
label = "Cert";
reg = <0x61c0000 0x100000>;
};
partition@62c0000 { partition@62c0000 {
label = "NTGRcryptK"; label = "NTGRcryptK";
reg = <0x62c0000 0x100000>; reg = <0x62c0000 0x100000>;
}; };
partition@63c0000 {
label = "NTGRcryptD";
reg = <0x63c0000 0x500000>;
};
partition@68c0000 {
label = "LOG";
reg = <0x68c0000 0x100000>;
};
partition@69c0000 {
label = "User_data";
reg = <0x69c0000 0x640000>;
};
}; };
}; };

View file

@ -0,0 +1,35 @@
# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
rootfs_create() {
local blocks
blocks=$(cat /sys/class/ubi/ubi0/avail_eraseblocks)
[ -z "$blocks" ] && {
echo "Failed to read amount of available erase blocks" >&2
return
}
# Delete after getting available blocks: Make sure enough space is
# left to recreate these volumes.
ubirmvol /dev/ubi0 -N kernel_backup
ubirmvol /dev/ubi0 -N rootfs_backup
# Use 90% of remaining flash size for "rootfs_data"
ubimkvol /dev/ubi0 -n 20 -N rootfs_data --lebs $((blocks / 100 * 90))
mknod -m 0600 /dev/ubi0_20 c 250 21
}
rootfs_prepare() {
case $(board_name) in
netgear,wax220)
if ! ubinfo /dev/ubi0 -N rootfs_data &>/dev/null; then
echo "Creating \"rootfs_data\" UBI volume"
rootfs_create
fi
;;
*)
;;
esac
}
boot_hook_add preinit_main rootfs_prepare

View file

@ -104,7 +104,7 @@ define Device/acer_predator-w6
DEVICE_DTS := mt7986a-acer-predator-w6 DEVICE_DTS := mt7986a-acer-predator-w6
DEVICE_DTS_DIR := ../dts DEVICE_DTS_DIR := ../dts
DEVICE_DTS_LOADADDR := 0x47000000 DEVICE_DTS_LOADADDR := 0x47000000
DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware mt7986-wo-firmware DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
IMAGES := sysupgrade.bin IMAGES := sysupgrade.bin
KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
KERNEL_INITRAMFS := kernel-bin | lzma | \ KERNEL_INITRAMFS := kernel-bin | lzma | \
@ -225,18 +225,20 @@ endef
TARGET_DEVICES += h3c_magic-nx30-pro TARGET_DEVICES += h3c_magic-nx30-pro
define Device/netgear_wax220 define Device/netgear_wax220
DEVICE_VENDOR := Netgear DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := WAX220 DEVICE_MODEL := WAX220
DEVICE_DTS := mt7986b-netgear-wax220 DEVICE_DTS := mt7986b-netgear-wax220
DEVICE_DTS_DIR := ../dts DEVICE_DTS_DIR := ../dts
NETGEAR_ENC_MODEL := WAX220
NETGEAR_ENC_REGION := US
DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
IMAGES := sysupgrade.bin KERNEL_INITRAMFS_SUFFIX := -recovery.itb
KERNEL_IN_UBI := 1 IMAGE_SIZE := 32768k
KERNEL := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGES += factory.img
# Padding to 10M seems to be required by OEM web interface
IMAGE/factory.img := sysupgrade-tar | \
pad-to 10M | check-size | netgear-encrypted-factory
endef endef
TARGET_DEVICES += netgear_wax220 TARGET_DEVICES += netgear_wax220

View file

@ -11,6 +11,7 @@ FEATURES:=fpu usb ext4 display rootfs-part rtc squashfs
SUBTARGETS:=cortexa8 cortexa7 cortexa53 SUBTARGETS:=cortexa8 cortexa7 cortexa53
KERNEL_PATCHVER:=5.15 KERNEL_PATCHVER:=5.15
KERNEL_TESTING_PATCHVER:=6.1
KERNELNAME:=zImage dtbs KERNELNAME:=zImage dtbs

View file

@ -0,0 +1,524 @@
# CONFIG_AHCI_SUNXI is not set
CONFIG_ALIGNMENT_TRAP=y
CONFIG_ARCH_32BIT_OFF_T=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_FORCE_MAX_ORDER=11
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MULTIPLATFORM=y
CONFIG_ARCH_MULTI_V6_V7=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_NR_GPIO=416
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_SUNXI_MC_SMP=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM=y
# CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM is not set
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
CONFIG_ARM_CCI=y
CONFIG_ARM_CCI400_COMMON=y
CONFIG_ARM_CCI400_PORT_CTRL=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_ARM_CRYPTO=y
CONFIG_ARM_ERRATA_643719=y
CONFIG_ARM_GIC=y
CONFIG_ARM_HAS_SG_CHAIN=y
CONFIG_ARM_HEAVY_MB=y
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_L1_CACHE_SHIFT_6=y
CONFIG_ARM_LPAE=y
CONFIG_ARM_PATCH_IDIV=y
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_ARM_PSCI=y
CONFIG_ARM_PSCI_FW=y
CONFIG_ARM_THUMB=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VIRT_EXT=y
CONFIG_ATA=y
CONFIG_ATAGS=y
CONFIG_AUTO_ZRELADDR=y
CONFIG_AXP20X_POWER=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_PM=y
CONFIG_BOUNCE=y
CONFIG_CACHE_L2X0=y
CONFIG_CAN=y
CONFIG_CLKSRC_MMIO=y
CONFIG_CLK_SUNXI=y
CONFIG_CLK_SUNXI_CLOCKS=y
CONFIG_CLK_SUNXI_PRCM_SUN6I=y
CONFIG_CLK_SUNXI_PRCM_SUN8I=y
CONFIG_CLK_SUNXI_PRCM_SUN9I=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_COMMON_CLK=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_COREDUMP=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CPUFREQ_DT=y
CONFIG_CPUFREQ_DT_PLATDEV=y
CONFIG_CPU_32v6K=y
CONFIG_CPU_32v7=y
CONFIG_CPU_ABRT_EV7=y
CONFIG_CPU_CACHE_V7=y
CONFIG_CPU_CACHE_VIPT=y
CONFIG_CPU_COPY_V6=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_HAS_ASID=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_PABRT_V7=y
CONFIG_CPU_PM=y
CONFIG_CPU_RMAP=y
CONFIG_CPU_SPECTRE=y
CONFIG_CPU_THERMAL=y
CONFIG_CPU_THUMB_CAPABLE=y
CONFIG_CPU_TLB_V7=y
CONFIG_CPU_V7=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_ARM_CE=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_DEV_ALLWINNER=y
CONFIG_CRYPTO_DEV_SUN4I_SS=y
# CONFIG_CRYPTO_DEV_SUN4I_SS_DEBUG is not set
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
# CONFIG_CRYPTO_DEV_SUN8I_CE is not set
# CONFIG_CRYPTO_DEV_SUN8I_SS is not set
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_SHA1=y
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
CONFIG_DMA_OPS=y
CONFIG_DMA_REMAP=y
CONFIG_DMA_SUN4I=y
CONFIG_DMA_SUN6I=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DNOTIFY=y
CONFIG_DTC=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DVB_CORE=y
CONFIG_DWMAC_GENERIC=y
# CONFIG_DWMAC_SUN8I is not set
CONFIG_DWMAC_SUNXI=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_ELF_CORE=y
CONFIG_EXT4_FS=y
CONFIG_EXTCON=y
CONFIG_F2FS_FS=y
CONFIG_FAT_FS=y
CONFIG_FB=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_LITTLE_ENDIAN=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_SIMPLE=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FIXED_PHY=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
CONFIG_FONT_SUPPORT=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAME_WARN=2048
CONFIG_FREEZER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
CONFIG_FWNODE_MDIO=y
CONFIG_FW_CACHE=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_GENERIC_ARCH_TOPOLOGY=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_PHY=y
CONFIG_GENERIC_PINCONF=y
CONFIG_GENERIC_PINCTRL_GROUPS=y
CONFIG_GENERIC_PINMUX_FUNCTIONS=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_VDSO_32=y
CONFIG_GLOB=y
CONFIG_GPIO_CDEV=y
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAVE_SMP=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_HWMON=y
CONFIG_HW_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
CONFIG_HZ_FIXED=0
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_MV64XXX=y
CONFIG_I2C_SUN6I_P2WI=y
CONFIG_IIO=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INPUT=y
CONFIG_INPUT_AXP20X_PEK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_WORK=y
CONFIG_JBD2=y
CONFIG_KALLSYMS=y
CONFIG_KEYBOARD_SUN4I_LRADC=y
CONFIG_KMAP_LOCAL=y
CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y
CONFIG_KSM=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y
CONFIG_LEDS_GPIO=y
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_MACH_SUN4I=y
CONFIG_MACH_SUN5I=y
CONFIG_MACH_SUN6I=y
CONFIG_MACH_SUN7I=y
CONFIG_MACH_SUN8I=y
CONFIG_MACH_SUN9I=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_SUN4I=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_TEST_SUPPORT=y
CONFIG_MEDIA_TUNER=y
CONFIG_MEMFD_CREATE=y
CONFIG_MFD_AXP20X=y
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=y
CONFIG_MFD_CORE=y
CONFIG_MFD_SUN6I_PRCM=y
CONFIG_MFD_SYSCON=y
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
CONFIG_MIGRATION=y
CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_SUNXI=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_FIT_FW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEON=y
CONFIG_NET_FLOW_LIMIT=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NO_HZ=y
CONFIG_NO_HZ_COMMON=y
CONFIG_NO_HZ_IDLE=y
CONFIG_NR_CPUS=8
CONFIG_NVMEM=y
CONFIG_NVMEM_SUNXI_SID=y
CONFIG_NVMEM_SYSFS=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_KOBJ=y
CONFIG_OF_MDIO=y
CONFIG_OLD_SIGACTION=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OUTER_CACHE=y
CONFIG_OUTER_CACHE_SYNC=y
CONFIG_PADATA=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_PAGE_POOL=y
CONFIG_PCS_XPCS=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=3
CONFIG_PHYLIB=y
CONFIG_PHYLINK=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_PHY_SUN4I_USB=y
# CONFIG_PHY_SUN50I_USB3 is not set
# CONFIG_PHY_SUN6I_MIPI_DPHY is not set
CONFIG_PHY_SUN9I_USB=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_AXP209=y
# CONFIG_PINCTRL_SUN20I_D1 is not set
CONFIG_PINCTRL_SUN4I_A10=y
# CONFIG_PINCTRL_SUN50I_A100 is not set
# CONFIG_PINCTRL_SUN50I_A100_R is not set
# CONFIG_PINCTRL_SUN50I_A64 is not set
# CONFIG_PINCTRL_SUN50I_A64_R is not set
# CONFIG_PINCTRL_SUN50I_H5 is not set
# CONFIG_PINCTRL_SUN50I_H6 is not set
# CONFIG_PINCTRL_SUN50I_H616 is not set
# CONFIG_PINCTRL_SUN50I_H616_R is not set
# CONFIG_PINCTRL_SUN50I_H6_R is not set
CONFIG_PINCTRL_SUN5I=y
CONFIG_PINCTRL_SUN6I_A31=y
CONFIG_PINCTRL_SUN6I_A31_R=y
CONFIG_PINCTRL_SUN8I_A23=y
CONFIG_PINCTRL_SUN8I_A23_R=y
CONFIG_PINCTRL_SUN8I_A33=y
CONFIG_PINCTRL_SUN8I_A83T=y
CONFIG_PINCTRL_SUN8I_A83T_R=y
CONFIG_PINCTRL_SUN8I_H3=y
CONFIG_PINCTRL_SUN8I_H3_R=y
CONFIG_PINCTRL_SUN8I_V3S=y
CONFIG_PINCTRL_SUN9I_A80=y
CONFIG_PINCTRL_SUN9I_A80_R=y
CONFIG_PINCTRL_SUNXI=y
CONFIG_PM=y
CONFIG_PM_CLK=y
CONFIG_PM_OPP=y
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_POWER_RESET=y
CONFIG_POWER_SUPPLY=y
CONFIG_PPS=y
CONFIG_PRINTK_TIME=y
CONFIG_PROC_EVENTS=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
CONFIG_PWM=y
CONFIG_PWM_SUN4I=y
CONFIG_PWM_SYSFS=y
CONFIG_RATIONAL=y
CONFIG_REALTEK_PHY=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_SPI=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_SY8106A=y
CONFIG_RELAY=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_SIMPLE=y
CONFIG_RESET_SUNXI=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_SATA_HOST=y
CONFIG_SATA_PMP=y
CONFIG_SCSI=y
CONFIG_SCSI_COMMON=y
CONFIG_SDIO_UART=y
CONFIG_SECURITYFS=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_8250_DWLIB=y
CONFIG_SERIAL_8250_FSL=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
CONFIG_SG_POOL=y
CONFIG_SMP=y
CONFIG_SMP_ON_UP=y
CONFIG_SND=y
CONFIG_SND_COMPRESS_OFFLOAD=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_PCM=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_SND_SIMPLE_CARD_UTILS=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SUN4I_I2S is not set
# CONFIG_SND_SUN4I_SPDIF is not set
# CONFIG_SND_SUN50I_DMIC is not set
# CONFIG_SND_SUN8I_CODEC is not set
# CONFIG_SND_SUN8I_CODEC_ANALOG is not set
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_MEM=y
CONFIG_SPI_SUN4I=y
CONFIG_SPI_SUN6I=y
CONFIG_SRCU=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PLATFORM=y
CONFIG_SUN4I_A10_CCU=y
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN4I_TIMER=y
CONFIG_SUN5I_CCU=y
CONFIG_SUN5I_HSTIMER=y
CONFIG_SUN6I_A31_CCU=y
# CONFIG_SUN6I_RTC_CCU is not set
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
CONFIG_SUN8I_THERMAL=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_MBUS=y
CONFIG_SUNXI_RSB=y
CONFIG_SUNXI_SRAM=y
CONFIG_SUNXI_WATCHDOG=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_SWIOTLB=y
CONFIG_SWPHY=y
CONFIG_SWP_EMULATE=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_THERMAL=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TOUCHSCREEN_SUN4I=y
CONFIG_TREE_RCU=y
CONFIG_TREE_SRCU=y
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_UNWINDER_ARM=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_COMMON=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_GADGET=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_STORAGE=y
CONFIG_USB_SUPPORT=y
CONFIG_USERIO=y
CONFIG_USE_OF=y
CONFIG_VFAT_FS=y
CONFIG_VFP=y
CONFIG_VFPv3=y
CONFIG_VHOST=y
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_NET=y
# CONFIG_VIDEO_SUN4I_CSI is not set
# CONFIG_VIDEO_SUN6I_CSI is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_WATCHDOG_CORE=y
CONFIG_XPS=y
CONFIG_XXHASH=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_ZBOOT_ROM_TEXT=0

View file

@ -0,0 +1,105 @@
CONFIG_64BIT=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_ARCH_MMAP_RND_BITS=18
CONFIG_ARCH_MMAP_RND_BITS_MAX=24
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ARCH_STACKWALK=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_ARM64=y
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
CONFIG_ARM64_ERRATUM_2051678=y
CONFIG_ARM64_ERRATUM_2077057=y
CONFIG_ARM64_ERRATUM_2658417=y
CONFIG_ARM64_ERRATUM_2054223=y
CONFIG_ARM64_ERRATUM_2067961=y
CONFIG_ARM64_PAGE_SHIFT=12
CONFIG_ARM64_PA_BITS=48
CONFIG_ARM64_PA_BITS_48=y
CONFIG_ARM64_TAGGED_ADDR_ABI=y
CONFIG_ARM64_VA_BITS=39
CONFIG_ARM64_VA_BITS_39=y
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC_V3_ITS=y
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_BLAKE2S=y
CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SIMD=y
CONFIG_DMA_DIRECT_REMAP=y
CONFIG_DWMAC_SUN8I=y
CONFIG_EEPROM_AT24=y
CONFIG_FRAME_POINTER=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_MDIO_BUS_MUX=y
CONFIG_MICREL_PHY=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_MUSB_PIO_ONLY=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_NO_IOPORT_MAP=y
CONFIG_PARTITION_PERCPU=y
CONFIG_PHY_SUN50I_USB3=y
CONFIG_PINCTRL_SUN50I_A100=y
CONFIG_PINCTRL_SUN50I_A100_R=y
CONFIG_PINCTRL_SUN50I_A64=y
CONFIG_PINCTRL_SUN50I_A64_R=y
CONFIG_PINCTRL_SUN50I_H5=y
CONFIG_PINCTRL_SUN50I_H6=y
CONFIG_PINCTRL_SUN50I_H6_R=y
# CONFIG_PREEMPT_DYNAMIC is not set
CONFIG_QUEUED_RWLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
# CONFIG_SCHED_CLUSTER is not set
# CONFIG_SHADOW_CALL_STACK is not set
# CONFIG_SND_SUN50I_CODEC_ANALOG is not set
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SUN50I_A100_CCU=y
CONFIG_SUN50I_A100_R_CCU=y
CONFIG_SUN50I_A64_CCU=y
CONFIG_SUN50I_DE2_BUS=y
CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
# CONFIG_SUN50I_H616_CCU is not set
CONFIG_SUN50I_H6_CCU=y
CONFIG_SUN50I_H6_R_CCU=y
# CONFIG_SUN6I_RTC_CCU is not set
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_THREAD_INFO_IN_TASK=y
CONFIG_UNMAP_KERNEL_AT_EL0=y
CONFIG_USB_MUSB_DUAL_ROLE=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB_PHY=y
CONFIG_VMAP_STACK=y
CONFIG_ZONE_DMA32=y
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
# CONFIG_PAGE_TABLE_CHECK is not set
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_ARCH_NXP is not set

View file

@ -0,0 +1,24 @@
CONFIG_B53=y
CONFIG_B53_MDIO_DRIVER=y
CONFIG_CRYPTO_BLAKE2S_ARM=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_DWMAC_SUN8I=y
CONFIG_GRO_CELLS=y
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
CONFIG_MDIO_BUS_MUX=y
CONFIG_MICREL_PHY=y
CONFIG_MUSB_PIO_ONLY=y
CONFIG_NET_DEVLINK=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM_LEGACY=y
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_RTC_DRV_SUN6I=y
CONFIG_USB_MUSB_DUAL_ROLE=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB_PHY=y

View file

@ -0,0 +1,12 @@
# CONFIG_ARM_LPAE is not set
CONFIG_CRYPTO_BLAKE2S_ARM=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
# CONFIG_MACH_SUN6I is not set
# CONFIG_MACH_SUN7I is not set
# CONFIG_MACH_SUN8I is not set
# CONFIG_MACH_SUN9I is not set
CONFIG_PGTABLE_LEVELS=2
# CONFIG_PHY_SUN9I_USB is not set
# CONFIG_SPI_SUN6I is not set
# CONFIG_SUN8I_A83T_CCU is not set
# CONFIG_SUN8I_THERMAL is not set

View file

@ -0,0 +1,30 @@
From a896bc1d79e3c00f0aacfe225499d811775616f3 Mon Sep 17 00:00:00 2001
From: Chukun Pan <amadeus@jmu.edu.cn>
Date: Sun, 10 Oct 2021 21:50:17 +0800
Subject: [PATCH] arm64: allwinner: add OF node for USB eth on NanoPi R1S H5
This adds the OF node for the USB3 ethernet adapter on the FriendlyARM
NanoPi R1S H5. Add the correct value for the RTL8153 LED configuration
register to match the blink behavior of the other port on the device.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 7 +++++++
1 file changed, 7 insertions(+)
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
@@ -116,6 +116,13 @@
&ehci1 {
status = "okay";
+
+ usb-eth@1 {
+ compatible = "realtek,rtl8153";
+ reg = <1>;
+
+ realtek,led-data = <0x78>;
+ };
};
&ehci2 {

View file

@ -0,0 +1,20 @@
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
@@ -59,7 +59,7 @@
key-sw4 {
label = "sw4";
- linux,code = <BTN_0>;
+ linux,code = <KEY_POWER>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
wakeup-source;
};
@@ -220,7 +220,7 @@
};
&usb_otg {
- dr_mode = "otg";
+ dr_mode = "host";
status = "okay";
};

View file

@ -0,0 +1,46 @@
From 7d87d3dafc4b1ea5659eb71ee6c5fd5308490d1f Mon Sep 17 00:00:00 2001
From: Oskari Lemmela <oskari@lemmela.net>
Date: Mon, 31 Dec 2018 07:44:49 +0200
Subject: [PATCH] arm64: allwinner: a64-sopine: Add Sopine flash partitions.
First 896kB to u-boot. Enough space for SPL, u-boot and ATF.
Next 128kB to u-boot environment and rest to firmware.
Firmware partition is compatible FIT image dynamic splitting.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
---
.../boot/dts/allwinner/sun50i-a64-sopine.dtsi | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
@@ -58,6 +58,28 @@
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x000000 0x0E0000>;
+ };
+
+ partition@e0000 {
+ label = "u-boot-env";
+ reg = <0x0E0000 0x020000>;
+ };
+
+ partition@100000 {
+ compatible = "denx,fit";
+ label = "firmware";
+ reg = <0x100000 0xF00000>;
+ };
+ };
};
};

View file

@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
Date: Thu, 26 Mar 2020 10:09:19 +0100
Subject: [PATCH] arm64: dts: allwinner: a64: olinuxino: add status LED aliases
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Štetiar <ynezz@true.cz>
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -15,6 +15,10 @@
aliases {
ethernet0 = &emac;
serial0 = &uart0;
+ led-boot = &led_user;
+ led-failsafe = &led_user;
+ led-running = &led_user;
+ led-upgrade = &led_user;
};
chosen {
@@ -35,7 +39,7 @@
leds {
compatible = "gpio-leds";
- led-0 {
+ led_user: led-0 {
label = "a64-olinuxino:red:user";
gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
};

View file

@ -0,0 +1,35 @@
From 1845163a052efac124f00656eb72f38947630a42 Mon Sep 17 00:00:00 2001
From: Chukun Pan <amadeus@jmu.edu.cn>
Date: Sun, 10 Oct 2021 21:50:18 +0800
Subject: [PATCH] arm64: dts: allwinner: NanoPi R1S H5: add status LED aliases
Use the SYS LED on the casing for showing system status.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
@@ -23,6 +23,11 @@
ethernet0 = &emac;
ethernet1 = &rtl8189etv;
serial0 = &uart0;
+
+ led-boot = &led_sys;
+ led-failsafe = &led_sys;
+ led-running = &led_sys;
+ led-upgrade = &led_sys;
};
chosen {
@@ -38,7 +43,7 @@
gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>;
};
- led-1 {
+ led_sys: led-1 {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;

View file

@ -0,0 +1,10 @@
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
@@ -41,3 +41,7 @@
reg = <1>;
};
};
+
+&pwm {
+ status = "okay";
+};

View file

@ -0,0 +1,72 @@
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -42,6 +42,11 @@
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
};
&ac_power_supply {
@@ -102,6 +107,21 @@
reg = <1>;
};
};
+
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <&reg_dldo4>;
+ vqmmc-supply = <&reg_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ rtl8723cs: wifi@1 {
+ reg = <1>;
+ };
+};
&mmc2 {
pinctrl-names = "default";
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -35,6 +35,11 @@
};
};
};
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
};
&codec {
@@ -124,6 +129,21 @@
status = "okay";
};
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <&reg_dldo4>;
+ vqmmc-supply = <&reg_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ rtl8723cs: wifi@1 {
+ reg = <1>;
+ };
+};
+
&ohci0 {
status = "okay";
};