Merge Official Source

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
This commit is contained in:
CN_SZTL 2021-02-21 15:38:23 +08:00
commit 77fc847766
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
37 changed files with 766 additions and 121 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=tfa-layerscape
PKG_VERSION:=LSDK-20.04-update-290520
PKG_RELEASE:=2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
@ -74,6 +74,20 @@ define Package/tfa-ls1043a-rdb-sdboot
BOOT_MODE:=sd
endef
define Package/tfa-ls1046a-frwy
$(Package/tfa-generic)
TITLE:=NXP LS1046AFRWY Trusted Firmware
PLAT:=ls1046afrwy
BOOT_MODE:=qspi
endef
define Package/tfa-ls1046a-frwy-sdboot
$(Package/tfa-generic)
TITLE:=NXP LS1046AFRWY SD Boot Trusted Firmware
PLAT:=ls1046afrwy
BOOT_MODE:=sd
endef
define Package/tfa-ls1046a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS1046ARDB Trusted Firmware
@ -109,6 +123,20 @@ define Package/tfa-ls2088a-rdb
BOOT_MODE:=nor
endef
define Package/tfa-lx2160a-rdb
$(Package/tfa-generic)
TITLE:=NXP LX2160ARDB Trusted Firmware
PLAT:=lx2160ardb
BOOT_MODE:=flexspi_nor
endef
define Package/tfa-lx2160a-rdb-sdboot
$(Package/tfa-generic)
TITLE:=NXP LX2160ARDB SD Boot Trusted Firmware
PLAT:=lx2160ardb
BOOT_MODE:=sd
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
@ -134,11 +162,15 @@ TFAS := \
ls1012a-frwy-sdboot \
ls1043a-rdb \
ls1043a-rdb-sdboot \
ls1046a-frwy \
ls1046a-frwy-sdboot \
ls1046a-rdb \
ls1046a-rdb-sdboot \
ls1088a-rdb \
ls1088a-rdb-sdboot \
ls2088a-rdb
ls2088a-rdb \
lx2160a-rdb \
lx2160a-rdb-sdboot
$(eval $(call HostBuild))
$(foreach tfa,$(TFAS), \

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=uboot-layerscape
PKG_VERSION:=LSDK-20.04-update-290520
PKG_RELEASE:=2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot
@ -55,6 +55,16 @@ define U-Boot/fsl_ls1043a-rdb-sdboot
UBOOT_CONFIG:=ls1043ardb_tfa
endef
define U-Boot/fsl_ls1046a-frwy
NAME:=NXP LS1046AFRWY
UBOOT_CONFIG:=ls1046afrwy_tfa
endef
define U-Boot/fsl_ls1046a-frwy-sdboot
NAME:=NXP LS1046AFRWY SD Card Boot
UBOOT_CONFIG:=ls1046afrwy_tfa
endef
define U-Boot/fsl_ls1046a-rdb
NAME:=NXP LS1046ARDB
UBOOT_CONFIG:=ls1046ardb_tfa
@ -80,6 +90,16 @@ define U-Boot/fsl_ls2088a-rdb
UBOOT_CONFIG:=ls2088ardb_tfa
endef
define U-Boot/fsl_lx2160a-rdb
NAME:=NXP LX2160ARDB
UBOOT_CONFIG:=lx2160ardb_tfa
endef
define U-Boot/fsl_lx2160a-rdb-sdboot
NAME:=NXP LX2160ARDB SD Card Boot
UBOOT_CONFIG:=lx2160ardb_tfa
endef
define U-Boot/fsl_ls1021a-twr
NAME:=NXP LS1021ATWR
BUILD_SUBTARGET:=armv7
@ -109,11 +129,15 @@ UBOOT_TARGETS := \
fsl_ls1012a-frwy-sdboot \
fsl_ls1043a-rdb \
fsl_ls1043a-rdb-sdboot \
fsl_ls1046a-frwy \
fsl_ls1046a-frwy-sdboot \
fsl_ls1046a-rdb \
fsl_ls1046a-rdb-sdboot \
fsl_ls1088a-rdb \
fsl_ls1088a-rdb-sdboot \
fsl_ls2088a-rdb \
fsl_lx2160a-rdb \
fsl_lx2160a-rdb-sdboot \
fsl_ls1021a-twr \
fsl_ls1021a-twr-sdboot \
fsl_ls1021a-iot-sdboot

View File

@ -0,0 +1,8 @@
fdtaddr=0x8f000000
loadaddr=0x81000000
bootm_size=0x10000000
hwconfig=fsl_ddr:bank_intlv=auto
sd_boot=ext4load mmc 0:1 ${loadaddr} fitImage;bootm ${loadaddr}
bootargs=root=/dev/mmcblk0p2 rw rootwait rootfstype=squashfs,f2fs noinitrd earlycon=uart8250,mmio,0x21c0500 console=ttyS0,115200
bootcmd=echo starting openwrt ...;run sd_boot
bootdelay=3

View File

@ -0,0 +1,8 @@
fdtaddr=0x8f000000
loadaddr=0x81000000
bootm_size=0x10000000
hwconfig=fsl_ddr:bank_intlv=auto
qspi_boot=sf probe 0:0;sf read $fdtaddr f00000 100000;sf read $loadaddr 1000000 1000000;bootm $loadaddr - $fdtaddr
bootargs=root=/dev/mtdblock9 rootfstype=squashfs,jffs2 noinitrd earlycon=uart8250,mmio,0x21c0500 console=ttyS0,115200 mtdparts=1550000.spi:1m(bl2),4m(fip),1m(u-boot-env),3m(reserved-1),256k(fman),5888k(reserved-2),1m(dtb),16m(kernel),32m(rootfs),49m@0xf00000(firmware)
bootcmd=echo starting openwrt ...;run qspi_boot
bootdelay=3

View File

@ -0,0 +1,9 @@
fdtaddr=0x8f000000
loadaddr=0x81000000
bootm_size=0x10000000
hwconfig=fsl_ddr:bank_intlv=auto
mc_init=mmc read 80000000 5000 1800;mmc read 80300000 7000 800;fsl_mc start mc 80000000 80300000;mmc read 80400000 6800 800;fsl_mc apply dpl 80400000
sd_boot=ext4load mmc 0:1 ${loadaddr} fitImage;bootm ${loadaddr}
bootargs=root=/dev/mmcblk0p2 rw rootwait rootfstype=squashfs,f2fs noinitrd earlycon=pl011,mmio32,0x21c0000 console=ttyAMA0,115200
bootcmd=echo starting openwrt ...;run mc_init;run sd_boot
bootdelay=3

View File

@ -0,0 +1,9 @@
fdtaddr=0x8f000000
loadaddr=0x81000000
bootm_size=0x10000000
hwconfig=fsl_ddr:bank_intlv=auto
mc_init=sf probe 0:0;sf read 80000000 a00000 300000;sf read 80300000 e00000 100000;fsl_mc start mc 80000000 80300000;sf read 80400000 d00000 100000;fsl_mc apply dpl 80400000
xspi_boot=sf probe 0:0;sf read $fdtaddr f00000 100000;sf read $loadaddr 1000000 1000000;bootm $loadaddr - $fdtaddr
bootargs=root=/dev/mtdblock9 rootfstype=squashfs,jffs2 noinitrd earlycon=pl011,mmio32,0x21c0000 console=ttyAMA0,115200 mtdparts=20c0000.spi-0:1m(bl2),4m(fip),1m(u-boot-env),4m(reserved-1),3m(mc),1m(dpl),1m(dpc),1m(dtb),16m(kernel),32m(rootfs),49m@0xf00000(firmware)
bootcmd=echo starting openwrt ...;run mc_init;run xspi_boot
bootdelay=3

View File

@ -15,7 +15,7 @@ PKG_RELEASE:=3
PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz
PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip
PKG_SOURCE_URL:=https://community.cypress.com/servlet/JiveServlet/download/19375-1-53475/
PKG_SOURCE_URL:=https://community.cypress.com/gfawx74859/attachments/gfawx74859/resourcelibrary/1016/1/
PKG_HASH:=b12b0570f462c2f3c26dde98b10235a845a7109037def1e7e51af728bcc1a958
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>

View File

@ -0,0 +1,50 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright 2020 NXP
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ls-ddr-phy
PKG_VERSION:=LSDK-20.04-update-290520
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/NXP/ddr-phy-binary.git
PKG_SOURCE_VERSION:=fbc036b88acb6c06ffed02c898cbae9856ec75ba
PKG_MIRROR_HASH:=84e2bdea99384211971bb23ba9ed18b5839628ff2aa0738d2978bbdf841638cb
PKG_BUILD_DEPENDS:=tfa-layerscape/host
PKG_LICENSE:=EULA
PKG_LICENSE_FILES:=NXP-Binary-EULA.txt
include $(INCLUDE_DIR)/package.mk
define Package/layerscape-ddr-phy
SECTION:=firmware
CATEGORY:=Firmware
TITLE:=NXP Layerscape DDR PHY firmware
DEPENDS:=@TARGET_layerscape
endef
define Build/Compile
cd $(PKG_BUILD_DIR)/lx2160a/ && \
tfa-fiptool create \
--ddr-immem-udimm-1d ddr4_pmu_train_imem.bin \
--ddr-immem-udimm-2d ddr4_2d_pmu_train_imem.bin \
--ddr-dmmem-udimm-1d ddr4_pmu_train_dmem.bin \
--ddr-dmmem-udimm-2d ddr4_2d_pmu_train_dmem.bin \
--ddr-immem-rdimm-1d ddr4_rdimm_pmu_train_imem.bin \
--ddr-immem-rdimm-2d ddr4_rdimm2d_pmu_train_imem.bin \
--ddr-dmmem-rdimm-1d ddr4_rdimm_pmu_train_dmem.bin \
--ddr-dmmem-rdimm-2d ddr4_rdimm2d_pmu_train_dmem.bin \
fip_ddr_all.bin
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/lx2160a/fip_ddr_all.bin \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-fip_ddr_all.bin
endef
$(eval $(call BuildPackage,layerscape-ddr-phy))

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ls-dpl
PKG_VERSION:=LSDK-20.04
PKG_RELEASE:=2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils
@ -40,6 +40,10 @@ define Build/InstallDev
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpl.dtb
$(CP) $(PKG_BUILD_DIR)/config/ls2088a/RDB/dpc.0x2A_0x41.dtb \
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpc.dtb
$(CP) $(PKG_BUILD_DIR)/config/lx2160a/RDB/dpl-eth.19.dtb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpl.dtb
$(CP) $(PKG_BUILD_DIR)/config/lx2160a/RDB/dpc-usxgmii.dtb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpc.dtb
endef
$(eval $(call BuildPackage,layerscape-dpl))

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ls-mc
PKG_VERSION:=LSDK-20.04
PKG_RELEASE:=2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/NXP/qoriq-mc-binary.git
@ -34,6 +34,8 @@ define Build/InstallDev
$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-mc.itb
$(CP) $(PKG_BUILD_DIR)/ls2088a/mc_10.20.4_ls2088a.itb \
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-mc.itb
$(CP) $(PKG_BUILD_DIR)/lx2160a/mc_10.20.4_lx2160a.itb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-mc.itb
endef
$(eval $(call BuildPackage,layerscape-mc))

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ls-rcw
PKG_VERSION:=LSDK-20.04-update-290520
PKG_RELEASE:=2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
@ -31,11 +31,15 @@ BOARDS := \
ls1012a-frwy-sdboot \
ls1043a-rdb \
ls1043a-rdb-sdboot \
ls1046a-frwy \
ls1046a-frwy-sdboot \
ls1046a-rdb \
ls1046a-rdb-sdboot \
ls1088a-rdb \
ls1088a-rdb-sdboot \
ls2088a-rdb \
lx2160a-rdb \
lx2160a-rdb-sdboot \
ls1021a-twr
RCW_ls1012a-rdb :=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin
@ -43,11 +47,15 @@ RCW_ls1012a-frdm :=ls1012afrdm/N_SSNP_3305/rcw_800.bin
RCW_ls1012a-frwy-sdboot :=ls1012afrwy/N_SSNP_3305/rcw_1000_default.bin
RCW_ls1043a-rdb :=ls1043ardb/RR_FQPP_1455/rcw_1600.bin
RCW_ls1043a-rdb-sdboot :=ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin
RCW_ls1046a-frwy :=ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot.bin
RCW_ls1046a-frwy-sdboot :=ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin
RCW_ls1046a-rdb :=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin
RCW_ls1046a-rdb-sdboot :=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_sdboot.bin
RCW_ls1088a-rdb :=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi.bin
RCW_ls1088a-rdb-sdboot :=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_sd.bin
RCW_ls2088a-rdb :=ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41/rcw_1800.bin
RCW_lx2160a-rdb :=lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2.bin
RCW_lx2160a-rdb-sdboot :=lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2.bin
RCW_ls1021a-twr :=ls1021atwr/SSR_PNS_30/rcw_1200.bin
define Build/InstallDev

View File

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd
PKG_RELEASE:=31
PKG_RELEASE:=32
PKG_SOURCE_URL:=http://w1.fi/hostap.git
PKG_SOURCE_PROTO:=git

View File

@ -0,0 +1,78 @@
From c7cca9b08f3e1e49c4a4a59ec66c47d91448e6ae Mon Sep 17 00:00:00 2001
From: Jouni Malinen <j@w1.fi>
Date: Sat, 13 Feb 2021 23:59:28 +0200
Subject: [PATCH] nl80211: Ignore 4addr mode enabling error if it was already
enabled
nl80211_set_4addr_mode() could fail when trying to enable 4addr mode on
an interface that is in a bridge and has 4addr mode already enabled.
This operation would not have been necessary in the first place and this
failure results in disconnecting, e.g., when roaming from one backhaul
BSS to another BSS with Multi AP.
Avoid this issue by ignoring the nl80211 command failure in the case
where 4addr mode is being enabled while it has already been enabled.
Signed-off-by: Jouni Malinen <j@w1.fi>
---
src/drivers/driver_nl80211.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 72189da24..011a15e68 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -617,6 +617,7 @@ struct wiphy_idx_data {
int wiphy_idx;
enum nl80211_iftype nlmode;
u8 *macaddr;
+ u8 use_4addr;
};
@@ -639,6 +640,9 @@ static int netdev_info_handler(struct nl_msg *msg, void *arg)
os_memcpy(info->macaddr, nla_data(tb[NL80211_ATTR_MAC]),
ETH_ALEN);
+ if (tb[NL80211_ATTR_4ADDR])
+ info->use_4addr = nla_get_u8(tb[NL80211_ATTR_4ADDR]);
+
return NL_SKIP;
}
@@ -691,6 +695,20 @@ static int nl80211_get_macaddr(struct i802_bss *bss)
}
+static int nl80211_get_4addr(struct i802_bss *bss)
+{
+ struct nl_msg *msg;
+ struct wiphy_idx_data data = {
+ .use_4addr = 0,
+ };
+
+ if (!(msg = nl80211_cmd_msg(bss, 0, NL80211_CMD_GET_INTERFACE)) ||
+ send_and_recv_msgs(bss->drv, msg, netdev_info_handler, &data))
+ return -1;
+ return data.use_4addr;
+}
+
+
static int nl80211_register_beacons(struct wpa_driver_nl80211_data *drv,
struct nl80211_wiphy_data *w)
{
@@ -11482,6 +11500,11 @@ static int nl80211_set_4addr_mode(void *priv, const char *bridge_ifname,
ret = send_and_recv_msgs(drv, msg, NULL, NULL);
msg = NULL;
+ if (ret && val && nl80211_get_4addr(bss) == 1) {
+ wpa_printf(MSG_DEBUG,
+ "nl80211: 4addr mode was already enabled");
+ ret = 0;
+ }
if (!ret) {
if (bridge_ifname[0] && val &&
i802_check_bridge(drv, bss, bridge_ifname, bss->ifname) < 0)
--
2.29.2

View File

@ -1,37 +0,0 @@
From 8a4893dd06eb236460db4937f3c54e246739ad28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= <raphael.melotte@mind.be>
Date: Wed, 3 Feb 2021 14:23:17 +0100
Subject: [PATCH] wpa_supplicant: multi_ap: only enable 4addr mode if not
already enabled
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If 4addr mode is already enabled, the call to enable it a second time
may fail. If this happens when roaming, it leads to deauthentication.
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
---
wpa_supplicant/events.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -2589,11 +2589,13 @@ static void multi_ap_set_4addr_mode(stru
goto fail;
}
- if (wpa_drv_set_4addr_mode(wpa_s, 1) < 0) {
- wpa_printf(MSG_ERROR, "Failed to set 4addr mode");
- goto fail;
+ if (wpa_s->enabled_4addr_mode == 0) {
+ if (wpa_drv_set_4addr_mode(wpa_s, 1) < 0) {
+ wpa_printf(MSG_ERROR, "Failed to set 4addr mode");
+ goto fail;
+ }
+ wpa_s->enabled_4addr_mode = 1;
}
- wpa_s->enabled_4addr_mode = 1;
return;
fail:

View File

@ -7,9 +7,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/keyring.git
PKG_SOURCE_DATE:=2019-07-25
PKG_SOURCE_VERSION:=8080ef341b4180e40c4ae8ab63511ac6496f0ad1
PKG_MIRROR_HASH:=000882364b953691bf02f7ac41462badb68f452f0317cdfd51cfd617c9b1e364
PKG_SOURCE_DATE:=2021-02-20
PKG_SOURCE_VERSION:=49283916005d7868923d34ab34f14188cf74812d
PKG_MIRROR_HASH:=7b58592bb49e4b37c8e80904c8f457ce3f0f2e6b1d2c473ccfe9204a8b7be831
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
PKG_LICENSE:=GPL-2.0

View File

@ -19,6 +19,8 @@ define Target/Description
endef
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES := $(filter-out urngd,$(DEFAULT_PACKAGES))
DEFAULT_PACKAGES += \
bcm27xx-gpu-fw \
kmod-usb-hid \

View File

@ -246,6 +246,7 @@ CONFIG_HOTPLUG_CPU=y
CONFIG_HW_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_BCM2835=y
CONFIG_HW_RANDOM_IPROC_RNG200=y
CONFIG_HZ=100
CONFIG_HZ_100=y
CONFIG_HZ_FIXED=0

View File

@ -258,6 +258,7 @@ CONFIG_HOTPLUG_CPU=y
CONFIG_HW_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_BCM2835=y
CONFIG_HW_RANDOM_IPROC_RNG200=y
CONFIG_HZ=250
CONFIG_HZ_250=y
CONFIG_I2C=y

View File

@ -0,0 +1,25 @@
From d3e5e7f3a4e6f61e8c380b9a610212267ee72dbd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Sat, 20 Feb 2021 19:24:50 +0100
Subject: [PATCH] hwrng: iproc: set quality to 1000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This allows khwrngd to make use of iproc-rng200.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
drivers/char/hw_random/iproc-rng200.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/char/hw_random/iproc-rng200.c
+++ b/drivers/char/hw_random/iproc-rng200.c
@@ -270,6 +270,7 @@ static int iproc_rng200_probe(struct pla
priv->rng.name = pdev->name;
priv->rng.cleanup = iproc_rng200_cleanup;
+ priv->rng.quality = 1000;
if (of_device_is_compatible(dev->of_node, "brcm,bcm2711-rng200")) {
priv->rng.init = bcm2711_rng200_init;

View File

@ -1,15 +1,23 @@
From ca6be00ca1d3a2f5b8794894e2dae175e63768f5 Mon Sep 17 00:00:00 2001
From: Sieng Piaw Liew <liew.s.piaw@gmail.com>
Date: Tue, 16 Feb 2021 16:23:08 +0800
Subject: [PATCH] bcm63xx_enet: Fix sporadic kernel panic
In ndo_stop functions, netdev_completed_queue() is called during forced
tx reclaim, after netdev_reset_queue(). This may trigger kernel panic if
there is any tx skb left.
This patch moves netdev_reset_queue() to after tx reclaim, so BQL can
complete successfully then reset.
Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
---
drivers/net/ethernet/broadcom/bcm63xx_enet.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -1105,6 +1105,8 @@ static int bcm_enet_open(struct net_devi
else
bcm_enet_adjust_link(dev);
+ netdev_reset_queue(dev);
+
netif_start_queue(dev);
return 0;
@@ -1193,7 +1195,6 @@ static int bcm_enet_stop(struct net_devi
@@ -1193,7 +1193,6 @@ static int bcm_enet_stop(struct net_devi
kdev = &priv->pdev->dev;
netif_stop_queue(dev);
@ -17,13 +25,15 @@
napi_disable(&priv->napi);
if (priv->has_phy)
phy_stop(dev->phydev);
@@ -2267,6 +2268,7 @@ static int bcm_enetsw_open(struct net_de
enet_dmac_writel(priv, ENETDMAC_IR_PKTDONE_MASK,
ENETDMAC_IRMASK, priv->tx_chan);
@@ -1232,6 +1231,9 @@ static int bcm_enet_stop(struct net_devi
if (priv->has_phy)
phy_disconnect(dev->phydev);
+ /* reset BQL after forced tx reclaim to not kernel panic */
+ netdev_reset_queue(dev);
netif_carrier_on(dev);
netif_start_queue(dev);
+
return 0;
}
@@ -2348,7 +2350,6 @@ static int bcm_enetsw_stop(struct net_de
@ -33,3 +43,13 @@
napi_disable(&priv->napi);
del_timer_sync(&priv->rx_timeout);
@@ -2376,6 +2377,9 @@ static int bcm_enetsw_stop(struct net_de
free_irq(priv->irq_tx, dev);
free_irq(priv->irq_rx, dev);
+ /* reset BQL after forced tx reclaim to not kernel panic */
+ netdev_reset_queue(dev);
+
return 0;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -1630,7 +1630,7 @@ static int bcm_enet_change_mtu(struct ne
@@ -1631,7 +1631,7 @@ static int bcm_enet_change_mtu(struct ne
return -EBUSY;
/* add ethernet header + vlan tag size */

View File

@ -79,7 +79,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
else
bcm_enet_adjust_link(dev);
@@ -1133,10 +1110,6 @@ out_freeirq_rx:
@@ -1131,10 +1108,6 @@ out_freeirq_rx:
out_freeirq:
free_irq(dev->irq, dev);
@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
return ret;
}
@@ -1229,10 +1202,6 @@ static int bcm_enet_stop(struct net_devi
@@ -1227,10 +1200,6 @@ static int bcm_enet_stop(struct net_devi
free_irq(priv->irq_rx, dev);
free_irq(dev->irq, dev);
@ -98,10 +98,10 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
- if (priv->has_phy)
- phy_disconnect(dev->phydev);
-
return 0;
}
/* reset BQL after forced tx reclaim to not kernel panic */
netdev_reset_queue(dev);
@@ -1801,14 +1770,47 @@ static int bcm_enet_probe(struct platfor
@@ -1802,14 +1771,47 @@ static int bcm_enet_probe(struct platfor
/* do minimal hardware init to be able to probe mii bus */
bcm_enet_hw_preinit(priv);
@ -150,7 +150,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
}
bus = priv->mii_bus;
@@ -1832,6 +1834,26 @@ static int bcm_enet_probe(struct platfor
@@ -1833,6 +1835,26 @@ static int bcm_enet_probe(struct platfor
dev_err(&pdev->dev, "unable to register mdio bus\n");
goto out_free_mdio;
}
@ -177,7 +177,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
} else {
/* run platform code to initialize PHY device */
@@ -1839,45 +1861,16 @@ static int bcm_enet_probe(struct platfor
@@ -1840,45 +1862,16 @@ static int bcm_enet_probe(struct platfor
pd->mii_config(dev, 1, bcm_enet_mdio_read_mii,
bcm_enet_mdio_write_mii)) {
dev_err(&pdev->dev, "unable to configure mdio bus\n");
@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
if (priv->mii_bus)
mdiobus_unregister(priv->mii_bus);
@@ -1885,6 +1878,9 @@ out_free_mdio:
@@ -1886,6 +1879,9 @@ out_free_mdio:
if (priv->mii_bus)
mdiobus_free(priv->mii_bus);
@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
out_uninit_hw:
/* turn off mdc clock */
enet_writel(priv, 0, ENET_MIISC_REG);
@@ -1915,6 +1911,7 @@ static int bcm_enet_remove(struct platfo
@@ -1916,6 +1912,7 @@ static int bcm_enet_remove(struct platfo
enet_writel(priv, 0, ENET_MIISC_REG);
if (priv->has_phy) {

View File

@ -32,7 +32,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports
#define ENETSW_MDIOC_EXT_MASK (1 << 16)
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -2184,6 +2184,18 @@ static int bcm_enetsw_open(struct net_de
@@ -2185,6 +2185,18 @@ static int bcm_enetsw_open(struct net_de
priv->sw_port_link[i] = 0;
}

View File

@ -20,7 +20,7 @@
#include <bcm63xx_dev_enet.h>
#include "bcm63xx_enet.h"
@@ -1931,7 +1932,8 @@ static int bcm_enet_remove(struct platfo
@@ -1932,7 +1933,8 @@ static int bcm_enet_remove(struct platfo
return 0;
}
@ -30,7 +30,7 @@
.probe = bcm_enet_probe,
.remove = bcm_enet_remove,
.driver = {
@@ -1940,6 +1942,42 @@ struct platform_driver bcm63xx_enet_driv
@@ -1941,6 +1943,42 @@ struct platform_driver bcm63xx_enet_driv
},
};
@ -73,7 +73,7 @@
/*
* switch mii access callbacks
*/
@@ -2196,29 +2234,6 @@ static int bcm_enetsw_open(struct net_de
@@ -2197,29 +2235,6 @@ static int bcm_enetsw_open(struct net_de
enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i));
}
@ -103,7 +103,7 @@
/* initialize flow control buffer allocation */
enet_dma_writel(priv, ENETDMA_BUFALLOC_FORCE_MASK | 0,
ENETDMA_BUFALLOC_REG(priv->rx_chan));
@@ -2652,6 +2667,9 @@ static int bcm_enetsw_probe(struct platf
@@ -2655,6 +2670,9 @@ static int bcm_enetsw_probe(struct platf
struct bcm63xx_enetsw_platform_data *pd;
struct resource *res_mem;
int ret, irq_rx, irq_tx;
@ -113,7 +113,7 @@
if (!bcm_enet_shared_base[0])
return -EPROBE_DEFER;
@@ -2732,6 +2750,43 @@ static int bcm_enetsw_probe(struct platf
@@ -2735,6 +2753,43 @@ static int bcm_enetsw_probe(struct platf
priv->pdev = pdev;
priv->net_dev = dev;
@ -157,7 +157,7 @@
return 0;
out_disable_clk:
@@ -2753,6 +2808,9 @@ static int bcm_enetsw_remove(struct plat
@@ -2756,6 +2811,9 @@ static int bcm_enetsw_remove(struct plat
priv = netdev_priv(dev);
unregister_netdev(dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -2711,9 +2711,9 @@ static int bcm_enetsw_probe(struct platf
@@ -2714,9 +2714,9 @@ static int bcm_enetsw_probe(struct platf
if (ret)
goto out;

View File

@ -12,7 +12,7 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -2231,6 +2231,10 @@ static int bcm_enetsw_open(struct net_de
@@ -2232,6 +2232,10 @@ static int bcm_enetsw_open(struct net_de
rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i));
rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN;

View File

@ -0,0 +1,26 @@
From d6988cf1d16faac56899918bb2b1be8d85155e3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Sat, 20 Feb 2021 18:36:38 +0100
Subject: [PATCH] hwrng: bcm2835: set quality to 1000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This allows devices without a high precission timer to reduce boot from >100s
to <30s.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
drivers/char/hw_random/bcm2835-rng.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/char/hw_random/bcm2835-rng.c
+++ b/drivers/char/hw_random/bcm2835-rng.c
@@ -167,6 +167,7 @@ static int bcm2835_rng_probe(struct plat
priv->rng.init = bcm2835_rng_init;
priv->rng.read = bcm2835_rng_read;
priv->rng.cleanup = bcm2835_rng_cleanup;
+ priv->rng.quality = 1000;
if (dev_of_node(dev)) {
rng_id = of_match_node(bcm2835_rng_of_match, np);

View File

@ -1,15 +1,27 @@
Layerscape Quick Start
1. Layerscape target support
This is a quick start guide for Layerscape specific usage, like introducing
how to configure, build, and deploy OpenWrt to Layerscape boards, so that
users can bring up the board without difficulty.
1. Target support
----------------------------
* ARMv8 64-bit
LS1012ARDB LS1012AFRWY LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB
(SD card boot support on LS1043ARDB/LS1046ARDB/LS1088ARDB)
LS1012ARDB (QSPI NOR boot)
LS1012AFRDM (QSPI NOR boot)
LS1012AFRWY (QSPI NOR boot)
LS1043ARDB (NOR boot | SD card boot)
LS1046ARDB (QSPI NOR boot | SD card boot)
LS1046AFRWY (QSPI NOR boot | SD card boot)
LS1088ARDB (QSPI NOR boot | SD card boot)
LS2088ARDB (NOR boot)
LX2160ARDB Rev2.0 (FlexSPI NOR boot | SD card boot)
* ARMv7
LS1021ATWR LS1021AIOT
(SD card boot support on LS1021ATWR/LS1021AIOT)
LS1021ATWR (NOR boot | SD card boot)
LS1021AIOT (SD card boot)
2. Build
@ -24,7 +36,7 @@ $ ./scripts/feeds install -a
Subtarget: (Select subtarget)
Target Profile: (Select device, or "Multiple devices")
Target Devices: (Select devices. Available when Target Profile is "Multiple devices")
Target Images: (Disable "GZip images" if don't want to unzip manually to use the images.)
Target Images: (Disable "GZip images" if you don't want to unzip manually to use the images.)
Note: The first time make menuconfig would create a .config file which
would include all dependencies for selected target. After that, make
@ -37,16 +49,16 @@ $ ./scripts/feeds install -a
* make (or make -j<n>)
* Final firmware/image
Path: bin/targets/layerscape/<subtarget>/
Path: bin/targets/layerscape/<subtarget>/
Firmware for flash: openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin
Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img.gz
Sysupgrade images: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sysupgrade.bin
Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img.gz
Sysupgrade images: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sysupgrade.bin
3. Program NOR/QSPI flash or SD card
------------------------------------
The firmware.bin or sdcard.img (after extract from gz) is an all-in-one image including all
things for OpenWrt staring up. (except LS1012AFRWY. Refer to 3.3.)
3. Deploy
---------
The firmware.bin or sdcard.img is an all-in-one image including all things
for OpenWrt staring up except LS1012AFRWY (Refer to 3.3).
If you want to install all things into flash, please use firmware.bin.
If you want to install all things into SD card, please use sdcard.img.
@ -72,17 +84,7 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
3.2 Program firmware.bin to flash
---------------------------------
* LS1012FRDM (QSPI flash)
Board have only one nor flash bank. Those commands will replace stock
bootloader and firmware. Please refer point 4 for MAC recovery.
=> tftp a0000000 <firmware_name>-firmware.bin
=> sf probe 0:0
=> sf erase 0 +$filesize
=> sf write a0000000 0 $filesize
=> reset
* LS1012ARDB (QSPI flash)
* LS1012ARDB
Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt.
@ -93,7 +95,7 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
=> sf write a0000000 0 $filesize
=> reset
* LS1043ARDB (NOR flash)
* LS1043ARDB
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
@ -103,7 +105,7 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
=> cp.b a0000000 64000000 $filesize
=> cpld reset altbank
* LS1046ARDB (QSPI flash)
* LS1046ARDB
Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt.
@ -113,7 +115,27 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
=> sf write a0000000 0 $filesize
=> cpld reset altbank
* LS1088ARDB (QSPI flash)
* LS2088ARDB
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
=> tftp a0000000 <firmware_name>-firmware.bin
=> protect off all
=> erase 584000000 +$filesize
=> cp.b a0000000 584000000 $filesize
=> qix altbank
* LS1012FRDM/LS1046AFRWY
Board has only one bank. Those commands will replace stock bootloader
and firmware.
=> tftp a0000000 <firmware_name>-firmware.bin
=> sf probe 0:0
=> sf erase 0 +$filesize
=> sf write a0000000 0 $filesize
=> reset
* LS1088ARDB/LX2160ARDB Rev2.0
Start up from bank0, and program firmware to bank1 with below commands.
Switch to bank1 to start up OpenWrt.
@ -127,15 +149,15 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
bank1 instead of 'qix altbank'.
=> i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21
* LS2088ARDB (NOR flash)
* LS1021ATWR
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
=> tftp a0000000 <firmware_name>-firmware.bin
=> protect off all
=> erase 584000000 +$filesize
=> cp.b a0000000 584000000 $filesize
=> qix altbank
=> erase 64000000 +$filesize
=> cp.b a0000000 64000000 $filesize
=> boot_bank 1
3.3 Program LS1012AFRWY
-----------------------
@ -159,7 +181,7 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
4. Known issues and limitation
------------------------------
* u-boot may fail to read MAC addresses from EEPROM on some boards and there
* U-boot may fail to read MAC addresses from EEPROM on some boards and there
won't be MAC addresses set in environment. This may cause kernel fails to
probe these network interfaces. The workaround is to set MAC addresses
manually, for example,
@ -168,8 +190,23 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
=> setenv eth1addr 00:04:9F:04:65:4c
=> saveenv
* In case users want to refer Layerscape SDK doc for network configuration,
like TSN (Time-Sensitive Networking) on LS1028A, the OpenWrt LAN/WAN router
setting should be removed before that.
# ubus call network.interface.lan remove
# ubus call network.interface.wan remove
# ubus call network.interface.wan6 remove
And firewall may be needed to stop.
# /etc/init.d/firewall stop
5. Other references
-------------------
- NXP LSDK site: https://lsdk.github.io/
- NXP LSDK source: https://lsdk.github.io/
- NXP LSDK site: https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/layerscape-software-development-kit:LAYERSCAPE-SDK
- OpenWrt documentation: https://openwrt.org/docs/start

View File

@ -72,8 +72,10 @@ platform_copy_config() {
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb-sdboot | \
fsl,ls1088a-rdb-sdboot)
fsl,ls1088a-rdb-sdboot | \
fsl,lx2160a-rdb-sdboot)
platform_copy_config_sdboot
;;
esac
@ -95,11 +97,15 @@ platform_check_image() {
fsl,ls1021a-twr-sdboot | \
fsl,ls1043a-rdb | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb | \
fsl,ls1046a-rdb-sdboot | \
fsl,ls1088a-rdb | \
fsl,ls1088a-rdb-sdboot | \
fsl,ls2088a-rdb)
fsl,ls2088a-rdb | \
fsl,lx2160a-rdb | \
fsl,lx2160a-rdb-sdboot)
return 0
;;
*)
@ -125,9 +131,11 @@ platform_do_upgrade() {
fsl,ls1012a-rdb | \
fsl,ls1021a-twr | \
fsl,ls1043a-rdb | \
fsl,ls1046a-frwy | \
fsl,ls1046a-rdb | \
fsl,ls1088a-rdb | \
fsl,ls2088a-rdb)
fsl,ls2088a-rdb | \
fsl,lx2160a-rdb)
PART_NAME=firmware
default_do_upgrade "$1"
;;
@ -135,8 +143,10 @@ platform_do_upgrade() {
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb-sdboot | \
fsl,ls1088a-rdb-sdboot)
fsl,ls1088a-rdb-sdboot | \
fsl,lx2160a-rdb-sdboot)
platform_do_upgrade_sdboot "$1"
return 0
;;

View File

@ -21,7 +21,6 @@ define Device/Default
endef
define Device/fsl-sdboot
$(Device/rework-sdcard-images)
KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
IMAGES := sdcard.img.gz sysupgrade.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
@ -45,6 +44,7 @@ endef
TARGET_DEVICES += fsl_ls1021a-twr
define Device/fsl_ls1021a-twr-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := TWR-LS1021A
@ -61,6 +61,7 @@ endef
TARGET_DEVICES += fsl_ls1021a-twr-sdboot
define Device/fsl_ls1021a-iot-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1021A-IoT

View File

@ -20,7 +20,6 @@ define Device/Default
endef
define Device/fsl-sdboot
$(Device/rework-sdcard-images)
KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
IMAGES := sdcard.img.gz sysupgrade.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
@ -76,6 +75,7 @@ endef
TARGET_DEVICES += fsl_ls1012a-rdb
define Device/fsl_ls1012a-frwy-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := FRWY-LS1012A
@ -126,6 +126,7 @@ endef
TARGET_DEVICES += fsl_ls1043a-rdb
define Device/fsl_ls1043a-rdb-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1043A-RDB
@ -150,6 +151,47 @@ define Device/fsl_ls1043a-rdb-sdboot
endef
TARGET_DEVICES += fsl_ls1043a-rdb-sdboot
define Device/fsl_ls1046a-frwy
DEVICE_VENDOR := NXP
DEVICE_MODEL := FRWY-LS1046A
DEVICE_VARIANT := Default
DEVICE_PACKAGES += \
layerscape-fman \
tfa-ls1046a-frwy
DEVICE_DTS := freescale/fsl-ls1046a-frwy-sdk
IMAGE/firmware.bin := \
ls-clean | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 9M | \
ls-append fsl_ls1046a-rdb-fman.bin | pad-to 15M | \
ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to 32M | \
append-rootfs | pad-rootfs | check-size
endef
TARGET_DEVICES += fsl_ls1046a-frwy
define Device/fsl_ls1046a-frwy-sdboot
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := FRWY-LS1046A
DEVICE_VARIANT := SD Card Boot
DEVICE_PACKAGES += \
layerscape-fman \
tfa-ls1046a-frwy-sdboot
DEVICE_DTS := freescale/fsl-ls1046a-frwy-sdk
IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 9M | \
ls-append fsl_ls1046a-rdb-fman.bin | pad-to 16M | \
ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
endef
TARGET_DEVICES += fsl_ls1046a-frwy-sdboot
define Device/fsl_ls1046a-rdb
$(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
@ -176,6 +218,7 @@ endef
TARGET_DEVICES += fsl_ls1046a-rdb
define Device/fsl_ls1046a-rdb-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1046A-RDB
@ -228,6 +271,7 @@ endef
TARGET_DEVICES += fsl_ls1088a-rdb
define Device/fsl_ls1088a-rdb-sdboot
$(Device/rework-sdcard-images)
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1088A-RDB
@ -279,6 +323,58 @@ define Device/fsl_ls2088a-rdb
endef
TARGET_DEVICES += fsl_ls2088a-rdb
define Device/fsl_lx2160a-rdb
DEVICE_VENDOR := NXP
DEVICE_MODEL := LX2160A-RDB
DEVICE_VARIANT := Rev2.0 silicon
DEVICE_PACKAGES += \
layerscape-mc \
layerscape-dpl \
layerscape-ddr-phy \
tfa-lx2160a-rdb \
restool
IMAGE/firmware.bin := \
ls-clean | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 8M | \
ls-append $(1)-fip_ddr_all.bin | pad-to 10M | \
ls-append $(1)-mc.itb | pad-to 13M | \
ls-append $(1)-dpl.dtb | pad-to 14M | \
ls-append $(1)-dpc.dtb | pad-to 15M | \
ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to 32M | \
append-rootfs | pad-rootfs | check-size
endef
TARGET_DEVICES += fsl_lx2160a-rdb
define Device/fsl_lx2160a-rdb-sdboot
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LX2160A-RDB
DEVICE_VARIANT := Rev2.0 silicon SD Card Boot
DEVICE_PACKAGES += \
layerscape-mc \
layerscape-dpl \
layerscape-ddr-phy \
tfa-lx2160a-rdb-sdboot \
restool
DEVICE_DTS := freescale/fsl-lx2160a-rdb
IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 8M | \
ls-append fsl_lx2160a-rdb-fip_ddr_all.bin | pad-to 10M | \
ls-append fsl_lx2160a-rdb-mc.itb | pad-to 13M | \
ls-append fsl_lx2160a-rdb-dpl.dtb | pad-to 14M | \
ls-append fsl_lx2160a-rdb-dpc.dtb | pad-to 16M | \
ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
endef
TARGET_DEVICES += fsl_lx2160a-rdb-sdboot
define Device/traverse_ls1043
DEVICE_VENDOR := Traverse
DEVICE_MODEL := LS1043 Boards

View File

@ -206,6 +206,9 @@
&pcie {
status = "okay";
reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
<&gpio 8 GPIO_ACTIVE_LOW>;
};
&pcie0 {

View File

@ -0,0 +1,180 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
compatible = "tplink,eap235-wall-v1", "mediatek,mt7621-soc";
model = "TP-Link EAP235-Wall v1";
aliases {
label-mac-device = &gmac0;
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "white:status";
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
led {
label = "led";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_LIGHTS_TOGGLE>;
};
reset {
label = "reset";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-export {
compatible = "gpio-export";
poe_passthrough {
gpio-export,name = "poe-passthrough";
gpio-export,output = <0>;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <20000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x00000 0x80000>;
read-only;
};
partition@80000 {
label = "partition-table";
reg = <0x80000 0x10000>;
read-only;
};
info: partition@90000 {
label = "product-info";
reg = <0x90000 0x10000>;
read-only;
};
partition@a0000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x0a0000 0xd20000>;
};
partition@dc0000 {
label = "user-config";
reg = <0xdc0000 0x030000>;
read-only;
};
/* 0xdf0000 - 0xf30000 unused */
partition@f30000 {
label = "mutil-log";
reg = <0xf30000 0x080000>;
read-only;
};
partition@fb0000 {
label = "oops";
reg = <0xfb0000 0x040000>;
read-only;
};
radio: partition@ff0000 {
label = "radio";
reg = <0xff0000 0x010000>;
read-only;
};
};
};
};
&state_default {
gpio {
groups = "uart2", "uart3";
function = "gpio";
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x0>;
mtd-mac-address = <&info 0x8>;
};
};
&pcie1 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&info 0x8>;
mtd-mac-address-increment = <1>;
};
};
&gmac0 {
mtd-mac-address = <&info 0x8>;
};
&switch0 {
ports {
port@0 {
status = "okay";
label = "lan0";
};
port@1 {
status = "okay";
label = "lan3";
};
port@2 {
status = "okay";
label = "lan2";
};
port@3 {
status = "okay";
label = "lan1";
};
};
};

View File

@ -981,6 +981,7 @@ define Device/tplink_archer-c20-v1
TPLINK_HWID := 0xc2000001
TPLINK_HWREV := 0x44
TPLINK_HWREVADD := 0x1
IMAGES := sysupgrade.bin
DEVICE_MODEL := Archer C20
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \

View File

@ -1112,6 +1112,19 @@ define Device/totolink_x5000r
endef
TARGET_DEVICES += totolink_x5000r
define Device/tplink_eap235-wall-v1
$(Device/dsa-migration)
$(Device/tplink-safeloader)
DEVICE_MODEL := EAP235-Wall
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
TPLINK_BOARD_ID := EAP235-WALL-V1
IMAGE_SIZE := 13440k
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory | \
pad-extra 128
endef
TARGET_DEVICES += tplink_eap235-wall-v1
define Device/tplink_re350-v1
$(Device/dsa-migration)
$(Device/tplink-safeloader)
@ -1239,6 +1252,7 @@ TARGET_DEVICES += wavlink_wl-wn531a6
define Device/wevo_11acnas
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
IMAGE_SIZE := 16064k
UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
DEVICE_VENDOR := WeVO
@ -1251,6 +1265,7 @@ TARGET_DEVICES += wevo_11acnas
define Device/wevo_w2914ns-v2
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
IMAGE_SIZE := 16064k
UIMAGE_NAME := W2914NS-V2(0.0.0)
DEVICE_VENDOR := WeVO

View File

@ -55,6 +55,9 @@ ramips_setup_interfaces()
mikrotik,routerboard-760igs)
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
;;
tplink,eap235-wall-v1)
ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
;;
ubnt,edgerouter-x)
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
;;

View File

@ -1447,6 +1447,35 @@ static struct device_info boards[] = {
.last_sysupgrade_partition = "file-system"
},
/** Firmware layout for the EAP235-Wall v1 */
{
.id = "EAP235-WALL-V1",
.support_list =
"SupportList:\r\n"
"EAP235-Wall(TP-Link|UN|AC1200-D):1.0\r\n",
.part_trail = PART_TRAIL_NONE,
.soft_ver = NULL,
.soft_ver_compat_level = 1,
.partitions = {
{"fs-uboot", 0x00000, 0x80000},
{"partition-table", 0x80000, 0x02000},
{"default-mac", 0x90000, 0x01000},
{"support-list", 0x91000, 0x00100},
{"product-info", 0x91100, 0x00400},
{"soft-version", 0x92000, 0x00100},
{"firmware", 0xa0000, 0xd20000},
{"user-config", 0xdc0000, 0x30000},
{"mutil-log", 0xf30000, 0x80000},
{"oops", 0xfb0000, 0x40000},
{"radio", 0xff0000, 0x10000},
{NULL, 0, 0}
},
.first_sysupgrade_partition = "os-image",
.last_sysupgrade_partition = "file-system"
},
/** Firmware layout for the EAP245 v1 */
{
.id = "EAP245-V1",