diff --git a/package/boot/imx-bootlets/Makefile b/package/boot/imx-bootlets/Makefile index 742c8a3bd0953c..de976c249a63bf 100644 --- a/package/boot/imx-bootlets/Makefile +++ b/package/boot/imx-bootlets/Makefile @@ -13,6 +13,8 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://trabant.uid0.hu/openwrt/ PKG_HASH:=09ecd81a64db5166a235932146faf08d0689bfc7ac04ac9fcc3a5bd809fba74a +PKG_FLAGS:=nonshared + include $(INCLUDE_DIR)/package.mk define Package/imx-bootlets diff --git a/package/boot/kobs-ng/Makefile b/package/boot/kobs-ng/Makefile index 68e6ff170cde2e..261cd92eab1c15 100644 --- a/package/boot/kobs-ng/Makefile +++ b/package/boot/kobs-ng/Makefile @@ -18,6 +18,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/imx-kobs-$(PKG_VERSION) PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:=COPYING +PKG_FLAGS:=nonshared include $(INCLUDE_DIR)/package.mk diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index cf650cb82a185f..307fcff5f7f873 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -106,6 +106,13 @@ define U-Boot/rock-pi-e-rk3328 radxa_rock-pi-e endef +define U-Boot/rock-pi-e-v3-rk3328 + $(U-Boot/rk3328/Default) + NAME:=ROCK Pi E v3.0 + BUILD_DEVICES:= \ + radxa_rock-pi-e-v3 +endef + # RK3399 boards define U-Boot/rk3399/Default @@ -220,6 +227,7 @@ UBOOT_TARGETS := \ roc-cc-rk3328 \ rock64-rk3328 \ rock-pi-e-rk3328 \ + rock-pi-e-v3-rk3328 \ radxa-cm3-io-rk3566 \ bpi-r2-pro-rk3568 \ nanopi-r5c-rk3568 \ diff --git a/package/boot/uboot-rockchip/patches/000-rockchip-add-support-for-Radxa-ROCK-Pi-E-v3.0.patch b/package/boot/uboot-rockchip/patches/000-rockchip-add-support-for-Radxa-ROCK-Pi-E-v3.0.patch new file mode 100644 index 00000000000000..515e07c3f87b8a --- /dev/null +++ b/package/boot/uboot-rockchip/patches/000-rockchip-add-support-for-Radxa-ROCK-Pi-E-v3.0.patch @@ -0,0 +1,248 @@ +From 8ca5e0e4d6ed084d2321584e8cdc8105c60b9aa1 Mon Sep 17 00:00:00 2001 +From: FUKAUMI Naoki +Date: Tue, 25 Jun 2024 05:45:29 +0900 +Subject: [PATCH] rockchip: add support for Radxa ROCK Pi E v3.0 + +ROCK Pi E v3.0 uses DDR4 SDRAM instead of DDR3 SDRAM used in v1.2x. + +prepare new rk3328-rock-pi-e-v3.dts in u-boot which just includes +upstream rk3328-rock-pi-e.dts. + +defconfig still uses + CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-rock-pi-e.dtb" + +because v3.0 and prior are compatible. + +Suggested-by: Jonas Karlman +Signed-off-by: FUKAUMI Naoki +Reviewed-by: Kever Yang +--- + ...dtsi => rk3328-rock-pi-e-base-u-boot.dtsi} | 1 - + arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi | 47 +-------- + arch/arm/dts/rk3328-rock-pi-e-v3-u-boot.dtsi | 4 + + arch/arm/dts/rk3328-rock-pi-e-v3.dts | 4 + + board/rockchip/evb_rk3328/MAINTAINERS | 4 +- + configs/rock-pi-e-v3-rk3328_defconfig | 97 +++++++++++++++++++ + 6 files changed, 111 insertions(+), 46 deletions(-) + copy arch/arm/dts/{rk3328-rock-pi-e-u-boot.dtsi => rk3328-rock-pi-e-base-u-boot.dtsi} (94%) + rewrite arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi (88%) + create mode 100644 arch/arm/dts/rk3328-rock-pi-e-v3-u-boot.dtsi + create mode 100644 arch/arm/dts/rk3328-rock-pi-e-v3.dts + create mode 100644 configs/rock-pi-e-v3-rk3328_defconfig + +--- a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi ++++ b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi +@@ -1,43 +1,4 @@ + // SPDX-License-Identifier: GPL-2.0+ +-/* +- * (C) Copyright 2020 Radxa +- */ + +-#include "rk3328-u-boot.dtsi" ++#include "rk3328-rock-pi-e-base-u-boot.dtsi" + #include "rk3328-sdram-ddr3-666.dtsi" +- +-/ { +- smbios { +- compatible = "u-boot,sysinfo-smbios"; +- +- smbios { +- system { +- manufacturer = "radxa"; +- product = "rock-pi-e_rk3328"; +- }; +- +- baseboard { +- manufacturer = "radxa"; +- product = "rock-pi-e_rk3328"; +- }; +- +- chassis { +- manufacturer = "radxa"; +- product = "rock-pi-e_rk3328"; +- }; +- }; +- }; +-}; +- +-&u2phy_host { +- phy-supply = <&vcc_host_5v>; +-}; +- +-&vcc_host_5v { +- /delete-property/ regulator-always-on; +- /delete-property/ regulator-boot-on; +-}; +- +-&vcc_sd { +- bootph-pre-ram; +-}; +--- /dev/null ++++ b/arch/arm/dts/rk3328-rock-pi-e-base-u-boot.dtsi +@@ -0,0 +1,42 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * (C) Copyright 2020 Radxa ++ */ ++ ++#include "rk3328-u-boot.dtsi" ++ ++/ { ++ smbios { ++ compatible = "u-boot,sysinfo-smbios"; ++ ++ smbios { ++ system { ++ manufacturer = "radxa"; ++ product = "rock-pi-e_rk3328"; ++ }; ++ ++ baseboard { ++ manufacturer = "radxa"; ++ product = "rock-pi-e_rk3328"; ++ }; ++ ++ chassis { ++ manufacturer = "radxa"; ++ product = "rock-pi-e_rk3328"; ++ }; ++ }; ++ }; ++}; ++ ++&u2phy_host { ++ phy-supply = <&vcc_host_5v>; ++}; ++ ++&vcc_host_5v { ++ /delete-property/ regulator-always-on; ++ /delete-property/ regulator-boot-on; ++}; ++ ++&vcc_sd { ++ bootph-pre-ram; ++}; +--- /dev/null ++++ b/arch/arm/dts/rk3328-rock-pi-e-v3-u-boot.dtsi +@@ -0,0 +1,4 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++ ++#include "rk3328-rock-pi-e-base-u-boot.dtsi" ++#include "rk3328-sdram-ddr4-666.dtsi" +--- /dev/null ++++ b/arch/arm/dts/rk3328-rock-pi-e-v3.dts +@@ -0,0 +1,4 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++ ++/dts-v1/; ++#include "rk3328-rock-pi-e.dts" +--- a/board/rockchip/evb_rk3328/MAINTAINERS ++++ b/board/rockchip/evb_rk3328/MAINTAINERS +@@ -64,5 +64,5 @@ M: Banglang Huang + S: Maintained + F: configs/rock-pi-e-rk3328_defconfig +-F: arch/arm/dts/rk3328-rock-pi-e.dts +-F: arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi ++F: configs/rock-pi-e-v3-rk3328_defconfig ++F: arch/arm/dts/rk3328-rock-pi-e* +--- /dev/null ++++ b/configs/rock-pi-e-v3-rk3328_defconfig +@@ -0,0 +1,97 @@ ++CONFIG_ARM=y ++CONFIG_SKIP_LOWLEVEL_INIT=y ++CONFIG_COUNTER_FREQUENCY=24000000 ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SPL_GPIO=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_SF_DEFAULT_SPEED=20000000 ++CONFIG_ENV_OFFSET=0x3F8000 ++CONFIG_DEFAULT_DEVICE_TREE="rk3328-rock-pi-e-v3" ++CONFIG_DM_RESET=y ++CONFIG_ROCKCHIP_RK3328=y ++CONFIG_DEBUG_UART_BASE=0xFF130000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_SYS_LOAD_ADDR=0x800800 ++CONFIG_DEBUG_UART=y ++CONFIG_FIT=y ++CONFIG_FIT_VERBOSE=y ++CONFIG_SPL_FIT_SIGNATURE=y ++CONFIG_SPL_LOAD_FIT=y ++CONFIG_LEGACY_IMAGE_FORMAT=y ++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-rock-pi-e.dtb" ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_DISPLAY_BOARDINFO_LATE=y ++CONFIG_SPL_MAX_SIZE=0x40000 ++CONFIG_SPL_PAD_TO=0x7f8000 ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++CONFIG_SPL_POWER=y ++CONFIG_SPL_ATF=y ++CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_REGULATOR=y ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_TPL_OF_CONTROL=y ++# CONFIG_OF_UPSTREAM is not set ++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_SYS_MMC_ENV_DEV=1 ++CONFIG_TPL_DM=y ++CONFIG_SPL_DM_SEQ_ALIAS=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_ROCKCHIP_GPIO=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_PHY_REALTEK=y ++CONFIG_DM_MDIO=y ++CONFIG_DM_ETH_PHY=y ++CONFIG_PHY_GIGE=y ++CONFIG_ETH_DESIGNWARE=y ++CONFIG_GMAC_ROCKCHIP=y ++CONFIG_PHY_ROCKCHIP_INNO_USB2=y ++CONFIG_PINCTRL=y ++CONFIG_SPL_PINCTRL=y ++CONFIG_DM_PMIC=y ++CONFIG_PMIC_RK8XX=y ++CONFIG_SPL_DM_REGULATOR=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_RNG=y ++CONFIG_RNG_ROCKCHIP=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_SYS_NS16550_MEM32=y ++CONFIG_SYSINFO=y ++CONFIG_SYSINFO_SMBIOS=y ++CONFIG_SYSRESET=y ++# CONFIG_TPL_SYSRESET is not set ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_OHCI_HCD=y ++CONFIG_USB_OHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_USB_DWC3_GENERIC=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_TPL_TINY_MEMSET=y ++CONFIG_ERRNO_STR=y diff --git a/package/firmware/lantiq/dsl_vr11_firmware_xdsl/Makefile b/package/firmware/lantiq/dsl_vr11_firmware_xdsl/Makefile index 777edb0e75156d..c219e16bbbefc5 100644 --- a/package/firmware/lantiq/dsl_vr11_firmware_xdsl/Makefile +++ b/package/firmware/lantiq/dsl_vr11_firmware_xdsl/Makefile @@ -11,6 +11,7 @@ PKG_SOURCE_URL:=https://gitlab.com/prpl-foundation/intel/dsl_vr11_firmware_xdsl. PKG_SOURCE_VERSION:=99cf1fe7a1711b9aa128eeb8419eab698448df9f PKG_MIRROR_HASH:=7fb37723f8db2558d774ba972f011598d2399609158c5dbc287eca0873b040f1 +PKG_FLAGS:=nonshared PKG_LICENSE:=MaxLinear-Software-License-Agreement PKG_LICENSE_FILES:=LICENSE diff --git a/package/firmware/lantiq/vrx518_aca_fw/Makefile b/package/firmware/lantiq/vrx518_aca_fw/Makefile index 6b2361ec1064e8..60fb5b76a69493 100644 --- a/package/firmware/lantiq/vrx518_aca_fw/Makefile +++ b/package/firmware/lantiq/vrx518_aca_fw/Makefile @@ -11,6 +11,7 @@ PKG_SOURCE_URL:=https://gitlab.com/prpl-foundation/intel/vrx518_aca_fw.git PKG_SOURCE_VERSION:=c509b89c77c26a7df0f0999aabf78b82ca9c9ff0 PKG_MIRROR_HASH:=fba91071f18599617434d93e78c67dad91b3e4c5811b77c15961e3a13b506d2e +PKG_FLAGS:=nonshared PKG_LICENSE:=MaxLinear-Software-License-Agreement PKG_LICENSE_FILES:=platform/xrx500/LICENSE diff --git a/package/firmware/lantiq/vrx518_ppe_fw/Makefile b/package/firmware/lantiq/vrx518_ppe_fw/Makefile index 4c50521fbe522e..90a6f73daa79ea 100644 --- a/package/firmware/lantiq/vrx518_ppe_fw/Makefile +++ b/package/firmware/lantiq/vrx518_ppe_fw/Makefile @@ -11,6 +11,7 @@ PKG_SOURCE_URL:=https://gitlab.com/prpl-foundation/intel/vrx518_ppe_fw.git PKG_SOURCE_VERSION:=47c48d52ba59df733ab21fd0c18f6d1a7b0e7229 PKG_MIRROR_HASH:=33dd15b6c6205b5031498aac9a5a4876f8217aefea06dc511ac60ca1343b50d1 +PKG_FLAGS:=nonshared PKG_LICENSE:=MaxLinear-Software-License-Agreement PKG_LICENSE_FILES:=platform/xrx500/LICENSE diff --git a/package/firmware/linux-firmware/amd.mk b/package/firmware/linux-firmware/amd.mk index b669cf1b35089d..c1f5711e92d318 100644 --- a/package/firmware/linux-firmware/amd.mk +++ b/package/firmware/linux-firmware/amd.mk @@ -1,4 +1,4 @@ -Package/amd64-microcode = $(call Package/firmware-default,AMD64 CPU microcode,@TARGET_x86,LICENSE.amd-ucode) +Package/amd64-microcode = $(call Package/firmware-default,AMD64 CPU microcode,,LICENSE.amd-ucode) define Package/amd64-microcode/install $(INSTALL_DIR) $(1)/lib/firmware/amd-ucode $(CP) \ diff --git a/package/kernel/mac80211/patches/nss/subsys/917-QSDK-mac80211-WAR-for-association-failure-issue-with.patch b/package/kernel/mac80211/patches/nss/subsys/917-QSDK-mac80211-WAR-for-association-failure-issue-with.patch new file mode 100644 index 00000000000000..6efc623307939e --- /dev/null +++ b/package/kernel/mac80211/patches/nss/subsys/917-QSDK-mac80211-WAR-for-association-failure-issue-with.patch @@ -0,0 +1,38 @@ +From 3bce46935954d8439e980a2188a6befbb42a3803 Mon Sep 17 00:00:00 2001 +From: Balamurugan Ramar +Date: Wed, 8 May 2024 23:01:34 +0530 +Subject: [PATCH] QSDK: mac80211: WAR for association failure issue with WDS + +Every 100 milliseconds, the station sends an "association request" and +the AP adds the peer and the AP responds to the station with an +"association response". + +But "association response" takes time to reach the station. Because of +this, the station sends another "association request" to the AP. + +In the second associate request, the AP removes the peer and re-adds +the station. Meanwhile, "association response" is reached to station +and station sends "QoS NULL" frame to AP. + +The moment the station sends a QoS NULL frame to the ap, the peer on +the AP is deleted and the AP sends a de-authentication to the station. + +To fix this issue, increased the assoc timeout period from 100 milli- +seconds to 500 milli seconds. + +Signed-off-by: Balamurugan Ramar +--- + net/mac80211/mlme.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/mac80211/mlme.c ++++ b/net/mac80211/mlme.c +@@ -7144,7 +7144,7 @@ void ieee80211_sta_work(struct ieee80211 + */ + if (status_acked) { + ifmgd->assoc_data->timeout = +- jiffies + IEEE80211_ASSOC_TIMEOUT_SHORT; ++ jiffies + IEEE80211_ASSOC_TIMEOUT_LONG; + run_again(sdata, ifmgd->assoc_data->timeout); + } else { + ifmgd->assoc_data->timeout = jiffies - 1; diff --git a/package/kernel/mac80211/patches/nss/subsys/999-775-wifi-mac80211-Changes-for-WDS-MLD.patch b/package/kernel/mac80211/patches/nss/subsys/999-775-wifi-mac80211-Changes-for-WDS-MLD.patch new file mode 100644 index 00000000000000..b3410578a5a02d --- /dev/null +++ b/package/kernel/mac80211/patches/nss/subsys/999-775-wifi-mac80211-Changes-for-WDS-MLD.patch @@ -0,0 +1,210 @@ +From abd9e23af3835b9d21b9e0b9d885142dff73d741 Mon Sep 17 00:00:00 2001 +From: Ramasamy Kaliappan +Date: Wed, 17 May 2023 16:26:23 +0530 +Subject: [PATCH] cfg80211/mac80211: Changes for WDS MLD + +Add link id attributes for NL80211_CMD_UNEXPECTED_4ADDR_FRAME. + +Based on the station's link, add links to the vlan interface + +Signed-off-by: Ramasamy Kaliappan +--- + include/net/cfg80211.h | 4 +++- + net/mac80211/cfg.c | 37 +++++++++++++++++++++++++++++++++++++ + net/mac80211/rx.c | 8 +++++--- + net/wireless/nl80211.c | 13 +++++++++---- + 4 files changed, 54 insertions(+), 8 deletions(-) + +--- a/include/net/cfg80211.h ++++ b/include/net/cfg80211.h +@@ -8760,6 +8760,7 @@ bool cfg80211_rx_spurious_frame(struct n + * @dev: The device the frame matched to + * @addr: the transmitter address + * @gfp: context flags ++ * @link_id: link id + * + * This function is used in AP mode (only!) to inform userspace that + * an associated station sent a 4addr frame but that wasn't expected. +@@ -8769,7 +8770,8 @@ bool cfg80211_rx_spurious_frame(struct n + * for a reason other than not having a subscription.) + */ + bool cfg80211_rx_unexpected_4addr_frame(struct net_device *dev, +- const u8 *addr, gfp_t gfp); ++ const u8 *addr, gfp_t gfp, ++ const int link_id); + + /** + * cfg80211_probe_status - notify userspace about probe status +--- a/net/mac80211/cfg.c ++++ b/net/mac80211/cfg.c +@@ -2189,9 +2189,16 @@ static int ieee80211_change_station(stru + vlansdata = IEEE80211_DEV_TO_SUB_IF(params->vlan); + + if (params->vlan->ieee80211_ptr->use_4addr) { ++ struct ieee80211_sub_if_data *master; ++ struct wireless_dev *wdev; ++ + if (vlansdata->u.vlan.sta) + return -EBUSY; + ++ wdev = &vlansdata->wdev; ++ master = container_of(vlansdata->bss, ++ struct ieee80211_sub_if_data, u.ap); ++ + rcu_assign_pointer(vlansdata->u.vlan.sta, sta); + __ieee80211_check_fast_rx_iface(vlansdata); + +@@ -2201,6 +2208,39 @@ static int ieee80211_change_station(stru + else + drv_sta_set_4addr(local, sta->sdata, &sta->sta, + true); ++ if (sta->sta.valid_links) { ++ int link_id; ++ unsigned long valid_links = master->vif.valid_links; ++ for_each_set_bit(link_id, ++ &valid_links, ++ IEEE80211_MLD_MAX_NUM_LINKS) { ++ if (!(sta->sta.valid_links & BIT(link_id))) { ++ rcu_assign_pointer( ++ vlansdata->vif.link_conf[link_id], ++ NULL); ++ rcu_assign_pointer( ++ vlansdata->link[link_id], ++ NULL); ++ memset(wdev->links[link_id].addr, ++ 0, ETH_ALEN); ++ vlansdata->vif.valid_links &= ++ ~BIT(link_id); ++ wdev->valid_links &= ~BIT(link_id); ++ } ++ else { ++ rcu_assign_pointer( ++ vlansdata->vif.link_conf[link_id], ++ master->vif.link_conf[link_id]); ++ rcu_assign_pointer(vlansdata->link[link_id], ++ master->link[link_id]); ++ memcpy(wdev->links[link_id].addr, ++ vlansdata->vif.link_conf[link_id]->bssid, ++ ETH_ALEN); ++ vlansdata->vif.valid_links |= BIT(link_id); ++ wdev->valid_links |= BIT(link_id); ++ } ++ } ++ } + } + + if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && +--- a/net/mac80211/rx.c ++++ b/net/mac80211/rx.c +@@ -1683,7 +1683,7 @@ EXPORT_SYMBOL(ieee80211_sta_uapsd_trigge + + void ieee80211_rx_nss_notify_4addr(struct net_device *dev, u8 *sta_addr) + { +- cfg80211_rx_unexpected_4addr_frame(dev, sta_addr, GFP_ATOMIC); ++ cfg80211_rx_unexpected_4addr_frame(dev, sta_addr, GFP_ATOMIC, -1); + } + EXPORT_SYMBOL(ieee80211_rx_nss_notify_4addr); + +@@ -1858,7 +1858,8 @@ ieee80211_rx_h_sta_process(struct ieee80 + if (!test_and_set_sta_flag(sta, WLAN_STA_4ADDR_EVENT)) + cfg80211_rx_unexpected_4addr_frame( + rx->sdata->dev, sta->sta.addr, +- GFP_ATOMIC); ++ GFP_ATOMIC, ++ rx->link_id); + return RX_DROP_M_UNEXPECTED_4ADDR_FRAME; + } + /* +@@ -3245,7 +3246,8 @@ ieee80211_rx_h_data(struct ieee80211_rx_ + if (rx->sta && + !test_and_set_sta_flag(rx->sta, WLAN_STA_4ADDR_EVENT)) + cfg80211_rx_unexpected_4addr_frame( +- rx->sdata->dev, rx->sta->sta.addr, GFP_ATOMIC); ++ rx->sdata->dev, rx->sta->sta.addr, GFP_ATOMIC, ++ rx->link_id); + return RX_DROP_MONITOR; + } + +--- a/net/wireless/nl80211.c ++++ b/net/wireless/nl80211.c +@@ -18887,7 +18887,8 @@ void cfg80211_conn_failed(struct net_dev + EXPORT_SYMBOL(cfg80211_conn_failed); + + static bool __nl80211_unexpected_frame(struct net_device *dev, u8 cmd, +- const u8 *addr, gfp_t gfp) ++ const u8 *addr, gfp_t gfp, ++ const int link_id) + { + struct wireless_dev *wdev = dev->ieee80211_ptr; + struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); +@@ -18913,6 +18914,9 @@ static bool __nl80211_unexpected_frame(s + nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, addr)) + goto nla_put_failure; + ++ if (link_id != -1) ++ nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id); ++ + genlmsg_end(msg, hdr); + genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid); + return true; +@@ -18936,14 +18940,15 @@ bool cfg80211_rx_spurious_frame(struct n + return false; + } + ret = __nl80211_unexpected_frame(dev, NL80211_CMD_UNEXPECTED_FRAME, +- addr, gfp); ++ addr, gfp, -1); + trace_cfg80211_return_bool(ret); + return ret; + } + EXPORT_SYMBOL(cfg80211_rx_spurious_frame); + + bool cfg80211_rx_unexpected_4addr_frame(struct net_device *dev, +- const u8 *addr, gfp_t gfp) ++ const u8 *addr, gfp_t gfp, ++ const int link_id) + { + struct wireless_dev *wdev = dev->ieee80211_ptr; + bool ret; +@@ -18958,7 +18963,7 @@ bool cfg80211_rx_unexpected_4addr_frame( + } + ret = __nl80211_unexpected_frame(dev, + NL80211_CMD_UNEXPECTED_4ADDR_FRAME, +- addr, gfp); ++ addr, gfp, link_id); + trace_cfg80211_return_bool(ret); + return ret; + } +--- a/net/mac80211/chan.c ++++ b/net/mac80211/chan.c +@@ -979,6 +979,8 @@ __ieee80211_link_copy_chanctx_to_vlans(s + list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) { + struct ieee80211_bss_conf *vlan_conf; + ++ if (!(vlan->vif.valid_links & BIT(link_id))) ++ continue; + vlan_conf = wiphy_dereference(local->hw.wiphy, + vlan->vif.link_conf[link_id]); + if (WARN_ON(!vlan_conf)) +@@ -1220,6 +1222,8 @@ ieee80211_link_update_chanreq(struct iee + list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) { + struct ieee80211_bss_conf *vlan_conf; + ++ if (!(vlan->vif.valid_links & BIT(link_id))) ++ continue; + vlan_conf = wiphy_dereference(sdata->local->hw.wiphy, + vlan->vif.link_conf[link_id]); + if (WARN_ON(!vlan_conf)) +--- a/net/mac80211/mlme.c ++++ b/net/mac80211/mlme.c +@@ -1847,9 +1847,9 @@ void ieee80211_send_4addr_nullfunc(struc + fc = cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_NULLFUNC | + IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS); + nullfunc->frame_control = fc; +- memcpy(nullfunc->addr1, sdata->deflink.u.mgd.bssid, ETH_ALEN); ++ memcpy(nullfunc->addr1, sdata->vif.cfg.ap_addr, ETH_ALEN); + memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); +- memcpy(nullfunc->addr3, sdata->deflink.u.mgd.bssid, ETH_ALEN); ++ memcpy(nullfunc->addr3, sdata->vif.cfg.ap_addr, ETH_ALEN); + memcpy(nullfunc->addr4, sdata->vif.addr, ETH_ALEN); + + IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT; diff --git a/package/kernel/mac80211/realtek.mk b/package/kernel/mac80211/realtek.mk index 28ea6a65718bba..b53d08b24a5441 100644 --- a/package/kernel/mac80211/realtek.mk +++ b/package/kernel/mac80211/realtek.mk @@ -1,9 +1,9 @@ PKG_DRIVERS += \ rtlwifi rtlwifi-pci rtlwifi-btcoexist rtlwifi-usb rtl8192c-common \ rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8723-common rtl8723be rtl8723bs rtl8821ae \ - rtl8xxxu rtw88 rtw88-pci rtw88-usb rtw88-8821c rtw88-8822b rtw88-8822c \ + rtl8xxxu rtw88 rtw88-pci rtw88-usb rtw88-sdio rtw88-8821c rtw88-8822b rtw88-8822c \ rtw88-8723d rtw88-8821ce rtw88-8821cu rtw88-8822be rtw88-8822bu \ - rtw88-8822ce rtw88-8822cu rtw88-8723de + rtw88-8822ce rtw88-8822cu rtw88-8723de rtw88-8723ds rtw88-8723du config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI @@ -29,6 +29,7 @@ config-y += STAGING config-$(call config_package,rtw88) += RTW88 RTW88_CORE config-$(call config_package,rtw88-pci) += RTW88_PCI config-$(call config_package,rtw88-usb) += RTW88_USB +config-$(call config_package,rtw88-sdio) += RTW88_SDIO config-$(call config_package,rtw88-8821c) += RTW88_8821C config-$(call config_package,rtw88-8821ce) += RTW88_8821CE config-$(call config_package,rtw88-8821cu) += RTW88_8821CU @@ -40,6 +41,8 @@ config-$(call config_package,rtw88-8822ce) += RTW88_8822CE config-$(call config_package,rtw88-8822cu) += RTW88_8822CU config-$(call config_package,rtw88-8723d) += RTW88_8723D config-$(call config_package,rtw88-8723de) += RTW88_8723DE +config-$(call config_package,rtw88-8723ds) += RTW88_8723DS +config-$(call config_package,rtw88-8723du) += RTW88_8723DU config-$(CONFIG_PACKAGE_RTW88_DEBUG) += RTW88_DEBUG config-$(CONFIG_PACKAGE_RTW88_DEBUGFS) += RTW88_DEBUGFS @@ -186,7 +189,7 @@ endef define KernelPackage/rtw88 $(call KernelPackage/mac80211/Default) TITLE:=Realtek RTW88 common part - DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 + DEPENDS+= +kmod-mac80211 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtw88_core.ko AUTOLOAD:=$(call AutoProbe,rtw88_core) HIDDEN:=1 @@ -201,6 +204,15 @@ define KernelPackage/rtw88-pci HIDDEN:=1 endef +define KernelPackage/rtw88-sdio + $(call KernelPackage/mac80211/Default) + TITLE:=Realtek RTW88 SDIO chips support + DEPENDS+= +kmod-mmc +kmod-rtw88 + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtw88_sdio.ko + AUTOLOAD:=$(call AutoProbe,rtw88_sdio) + HIDDEN:=1 +endef + define KernelPackage/rtw88-usb $(call KernelPackage/mac80211/Default) TITLE:=Realtek RTW88 USB chips support @@ -299,7 +311,23 @@ define KernelPackage/rtw88-8723de TITLE:=Realtek RTL8723DE support DEPENDS+= +kmod-rtw88-pci +kmod-rtw88-8723d FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtw88_8723de.ko - AUTOLOAD:=$(call AutoProbe,rtw88_8723) + AUTOLOAD:=$(call AutoProbe,rtw88_8723de) +endef + +define KernelPackage/rtw88-8723ds + $(call KernelPackage/mac80211/Default) + TITLE:=Realtek RTL8723DS support + DEPENDS+= +kmod-rtw88-sdio +kmod-rtw88-8723d + FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtw88_8723ds.ko + AUTOLOAD:=$(call AutoProbe,rtw88_8723ds) +endef + +define KernelPackage/rtw88-8723du + $(call KernelPackage/mac80211/Default) + TITLE:=Realtek RTL8723DU support + DEPENDS+= +kmod-rtw88-usb +kmod-rtw88-8723d + FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtw88_8723du.ko + AUTOLOAD:=$(call AutoProbe,rtw88_8723du) endef define KernelPackage/rtl8723-common diff --git a/package/utils/dns320l-mcu/Makefile b/package/utils/dns320l-mcu/Makefile index 724a664a8b25d3..5124f5323d13ab 100644 --- a/package/utils/dns320l-mcu/Makefile +++ b/package/utils/dns320l-mcu/Makefile @@ -11,6 +11,8 @@ PKG_MIRROR_HASH:=e0f186a0c139ccfac3d311f49e2fecdbd02fa3f9fe6ced4b1ce0baa603d49fc PKG_MAINTAINER:=Zoltan HERPAI PKG_LICENSE:=GPL-3.0+ +PKG_FLAGS:=nonshared + include $(INCLUDE_DIR)/package.mk define Package/dns320l-mcu diff --git a/package/utils/firmware-utils/Makefile b/package/utils/firmware-utils/Makefile index 2d9dbc5fcec0a1..3dcac6bcf1e7f3 100644 --- a/package/utils/firmware-utils/Makefile +++ b/package/utils/firmware-utils/Makefile @@ -11,6 +11,7 @@ PKG_SOURCE_DATE:=2024-06-20 PKG_SOURCE_VERSION:=6ac44974185a3e7dc7848e97b964339948e817a7 PKG_MIRROR_HASH:=ee5b29f45593750a6806cfa7cad3fd766b321b44107a6b481b890efe82a7dbf5 +PKG_FLAGS:=nonshared PKG_BUILD_DEPENDS:=openssl zlib include $(INCLUDE_DIR)/package.mk diff --git a/target/linux/generic/backport-6.6/719-v6.11-net-phy-realtek-add-support-for-RTL8366S-Gigabit-PHY.patch b/target/linux/generic/backport-6.6/719-v6.11-net-phy-realtek-add-support-for-RTL8366S-Gigabit-PHY.patch new file mode 100644 index 00000000000000..f6bc97a60bd808 --- /dev/null +++ b/target/linux/generic/backport-6.6/719-v6.11-net-phy-realtek-add-support-for-RTL8366S-Gigabit-PHY.patch @@ -0,0 +1,48 @@ +From 225990c487c1023e7b3aa89beb6a68011fbc0461 Mon Sep 17 00:00:00 2001 +From: Mark Mentovai +Date: Thu, 25 Jul 2024 16:41:44 -0400 +Subject: [PATCH] net: phy: realtek: add support for RTL8366S Gigabit PHY + +The PHY built in to the Realtek RTL8366S switch controller was +previously supported by genphy_driver. This PHY does not implement MMD +operations. Since commit 9b01c885be36 ("net: phy: c22: migrate to +genphy_c45_write_eee_adv()"), MMD register reads have been made during +phy_probe to determine EEE support. For genphy_driver, these reads are +transformed into 802.3 annex 22D clause 45-over-clause 22 +mmd_phy_indirect operations that perform MII register writes to +MII_MMD_CTRL and MII_MMD_DATA. This overwrites those two MII registers, +which on this PHY are reserved and have another function, rendering the +PHY unusable while so configured. + +Proper support for this PHY is restored by providing a phy_driver that +declares MMD operations as unsupported by using the helper functions +provided for that purpose, while remaining otherwise identical to +genphy_driver. + +Fixes: 9b01c885be36 ("net: phy: c22: migrate to genphy_c45_write_eee_adv()") +Reported-by: Russell Senior +Closes: https://github.com/openwrt/openwrt/issues/15981 +Link: https://github.com/openwrt/openwrt/issues/15739 +Signed-off-by: Mark Mentovai +Reviewed-by: Maxime Chevallier +Signed-off-by: David S. Miller +--- + drivers/net/phy/realtek.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/net/phy/realtek.c ++++ b/drivers/net/phy/realtek.c +@@ -1083,6 +1083,13 @@ static struct phy_driver realtek_drvs[] + .handle_interrupt = genphy_handle_interrupt_no_ack, + .suspend = genphy_suspend, + .resume = genphy_resume, ++ }, { ++ PHY_ID_MATCH_EXACT(0x001cc960), ++ .name = "RTL8366S Gigabit Ethernet", ++ .suspend = genphy_suspend, ++ .resume = genphy_resume, ++ .read_mmd = genphy_read_mmd_unsupported, ++ .write_mmd = genphy_write_mmd_unsupported, + }, + }; + diff --git a/target/linux/kirkwood/Makefile b/target/linux/kirkwood/Makefile index 44eaf925a18eb5..2010f9a812aec6 100644 --- a/target/linux/kirkwood/Makefile +++ b/target/linux/kirkwood/Makefile @@ -11,8 +11,7 @@ FEATURES:=rtc usb nand squashfs ramdisk CPU_TYPE:=xscale SUBTARGETS:=generic -KERNEL_PATCHVER:=6.1 -KERNEL_TESTING_PATCHVER:=6.6 +KERNEL_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/kirkwood/config-6.1 b/target/linux/kirkwood/config-6.1 deleted file mode 100644 index 6d21143e96e879..00000000000000 --- a/target/linux/kirkwood/config-6.1 +++ /dev/null @@ -1,309 +0,0 @@ -CONFIG_ALIGNMENT_TRAP=y -CONFIG_ARCH_32BIT_OFF_T=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MULTIPLATFORM=y -CONFIG_ARCH_MULTI_CPU_AUTO=y -# CONFIG_ARCH_MULTI_V4 is not set -# CONFIG_ARCH_MULTI_V4T is not set -CONFIG_ARCH_MULTI_V4_V5=y -CONFIG_ARCH_MULTI_V5=y -CONFIG_ARCH_MVEBU=y -CONFIG_ARCH_NR_GPIO=0 -CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM=y -# CONFIG_ARMADA_37XX_WATCHDOG is not set -# CONFIG_ARMADA_THERMAL is not set -CONFIG_ARM_APPENDED_DTB=y -CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y -CONFIG_ARM_HAS_GROUP_RELOCS=y -# CONFIG_ARM_KIRKWOOD_CPUIDLE is not set -CONFIG_ARM_L1_CACHE_SHIFT=5 -# CONFIG_ARM_MVEBU_V7_CPUIDLE is not set -CONFIG_ARM_PATCH_PHYS_VIRT=y -# CONFIG_ARM_THUMB is not set -CONFIG_ARM_UNWIND=y -CONFIG_ATA=y -CONFIG_ATAGS=y -CONFIG_ATA_LEDS=y -CONFIG_AUTO_ZRELADDR=y -CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_MQ_PCI=y -CONFIG_CACHE_FEROCEON_L2=y -# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set -CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y -CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" -CONFIG_CC_NO_ARRAY_BOUNDS=y -CONFIG_CLKSRC_MMIO=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_COMMON_CLK=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 -CONFIG_COMPAT_32BIT_TIME=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_COPY_FEROCEON=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y -CONFIG_CPU_FEROCEON=y -# CONFIG_CPU_FEROCEON_OLD_ID is not set -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_PABRT_LEGACY=y -CONFIG_CPU_PM=y -CONFIG_CPU_THERMAL=y -CONFIG_CPU_THUMB_CAPABLE=y -CONFIG_CPU_TLB_FEROCEON=y -CONFIG_CPU_USE_DOMAINS=y -CONFIG_CRC16=y -# CONFIG_CRC32_SARWATE is not set -CONFIG_CRC32_SLICEBY8=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_DEV_MARVELL=y -CONFIG_CRYPTO_DEV_MARVELL_CESA=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_DES=y -CONFIG_CRYPTO_LIB_SHA1=y -CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_ZSTD=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_LL=y -CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" -CONFIG_DEBUG_MVEBU_UART0_ALTERNATE=y -# CONFIG_DEBUG_MVEBU_UART1_ALTERNATE is not set -CONFIG_DEBUG_UART_8250=y -CONFIG_DEBUG_UART_8250_SHIFT=2 -CONFIG_DEBUG_UART_PHYS=0xf1012000 -CONFIG_DEBUG_UART_VIRT=0xfed12000 -CONFIG_DMA_OPS=y -CONFIG_DNOTIFY=y -CONFIG_DTC=y -# CONFIG_EARLY_PRINTK is not set -CONFIG_EDAC_ATOMIC_SCRUB=y -CONFIG_EDAC_SUPPORT=y -CONFIG_EXCLUSIVE_SYSTEM_RAM=y -CONFIG_FIXED_PHY=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FORCE_PCI=y -CONFIG_FWNODE_MDIO=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_FW_LOADER_SYSFS=y -CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_GENERIC_IRQ_CHIP=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_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GLOB=y -CONFIG_GPIOLIB_IRQCHIP=y -CONFIG_GPIO_CDEV=y -CONFIG_GPIO_MVEBU=y -CONFIG_GRO_CELLS=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HWMON=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_OMAP=y -CONFIG_HZ_FIXED=0 -CONFIG_HZ_PERIODIC=y -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MV64XXX=y -# CONFIG_I2C_PXA is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQCHIP=y -CONFIG_IRQSTACKS=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_KIRKWOOD_CLK=y -CONFIG_KIRKWOOD_THERMAL=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_NETXBIG=y -CONFIG_LEDS_NS2=y -CONFIG_LIBFDT=y -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_MACH_KIRKWOOD=y -CONFIG_MACH_MVEBU_ANY=y -CONFIG_MANGLE_BOOTARGS=y -CONFIG_MARVELL_PHY=y -CONFIG_MDIO_BUS=y -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_DEVRES=y -CONFIG_MEMFD_CREATE=y -CONFIG_MIGRATION=y -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MTD_CFI is not set -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_NAND_CORE=y -CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_NAND_ECC_SW_HAMMING=y -# CONFIG_MTD_NAND_MARVELL is not set -CONFIG_MTD_NAND_ORION=y -CONFIG_MTD_RAW_NAND=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_MTD_SPLIT_UIMAGE_FW=y -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_BEB_LIMIT=20 -CONFIG_MTD_UBI_BLOCK=y -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MV643XX_ETH=y -CONFIG_MVEBU_CLK_COMMON=y -CONFIG_MVEBU_MBUS=y -CONFIG_MVMDIO=y -# CONFIG_MVNETA is not set -# CONFIG_MVPP2 is not set -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_KUSER_HELPERS=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET_DEVLINK=y -CONFIG_NET_DSA=y -CONFIG_NET_DSA_MV88E6XXX=y -CONFIG_NET_DSA_TAG_DSA=y -CONFIG_NET_DSA_TAG_DSA_COMMON=y -CONFIG_NET_DSA_TAG_EDSA=y -CONFIG_NET_SELFTESTS=y -CONFIG_NET_SWITCHDEV=y -CONFIG_NLS=y -CONFIG_NVMEM=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_ORION_IRQCHIP=y -CONFIG_ORION_TIMER=y -CONFIG_ORION_WATCHDOG=y -CONFIG_OUTER_CACHE=y -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_PAGE_POOL=y -CONFIG_PAGE_SIZE_LESS_THAN_256KB=y -CONFIG_PAGE_SIZE_LESS_THAN_64KB=y -CONFIG_PCI=y -CONFIG_PCI_BRIDGE_EMUL=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_MVEBU=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PGTABLE_LEVELS=2 -CONFIG_PHYLIB=y -CONFIG_PHYLINK=y -# CONFIG_PHY_MVEBU_A3700_UTMI is not set -# CONFIG_PHY_MVEBU_A38X_COMPHY is not set -CONFIG_PHY_MVEBU_SATA=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_KIRKWOOD=y -CONFIG_PINCTRL_MVEBU=y -# CONFIG_PINCTRL_SINGLE is not set -CONFIG_PINCTRL_SX150X=y -CONFIG_PLAT_ORION=y -CONFIG_POWER_RESET=y -CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_LINKSTATION=y -CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_RANDSTRUCT_NONE=y -CONFIG_RATIONAL=y -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_MV=y -CONFIG_RTC_I2C_AND_SPI=y -CONFIG_RTC_MC146818_LIB=y -CONFIG_SCSI=y -CONFIG_SCSI_COMMON=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_MCTRL_GPIO=y -# CONFIG_SERIAL_MVEBU_UART is not set -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SGL_ALLOC=y -CONFIG_SG_POOL=y -CONFIG_SOC_BUS=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y -# CONFIG_SPI_ARMADA_3700 is not set -CONFIG_SPI_MASTER=y -CONFIG_SPI_MEM=y -CONFIG_SPI_ORION=y -CONFIG_SPLIT_PTLOCK_CPUS=999999 -CONFIG_SRAM=y -CONFIG_SRAM_EXEC=y -CONFIG_SRCU=y -CONFIG_SWPHY=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_THREAD_INFO_IN_TASK=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_TINY_SRCU=y -CONFIG_UBIFS_FS=y -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" -CONFIG_UNWINDER_ARM=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_LED_TRIG=y -CONFIG_USB_SUPPORT=y -CONFIG_USE_OF=y -# CONFIG_VFP is not set -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_WAN=y -CONFIG_WATCHDOG_CORE=y -CONFIG_XXHASH=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZSTD_COMMON=y -CONFIG_ZSTD_COMPRESS=y -CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 2bd2f6415987ea..e64785c5a12aef 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -112,9 +112,7 @@ endef define Device/Default PROFILES := Default -ifdef CONFIG_LINUX_6_6 DEVICE_DTS_DIR := $(DTS_DIR)/marvell -endif DEVICE_DTS = kirkwood-$(lastword $(subst _, ,$(1))) KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) KERNEL := kernel-bin | append-dtb | uImage none diff --git a/target/linux/kirkwood/image/generic.mk b/target/linux/kirkwood/image/generic.mk deleted file mode 100644 index fff46be1725bc6..00000000000000 --- a/target/linux/kirkwood/image/generic.mk +++ /dev/null @@ -1,177 +0,0 @@ -define Device/checkpoint_l-50 - DEVICE_VENDOR := Check Point - DEVICE_MODEL := L-50 - DEVICE_PACKAGES := kmod-ath9k kmod-gpio-button-hotplug kmod-mvsdio \ - kmod-rtc-s35390a kmod-usb-ledtrig-usbport wpad-basic-mbedtls - IMAGES := sysupgrade.bin -endef -TARGET_DEVICES += checkpoint_l-50 - -define Device/cisco_on100 - DEVICE_VENDOR := Cisco Systems - DEVICE_MODEL := ON100 - KERNEL_SIZE := 5376k - KERNEL_IN_UBI := - UBINIZE_OPTS := -E 5 - IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - DEVICE_PACKAGES := kmod-mvsdio kmod-rtc-mv - SUPPORTED_DEVICES += on100 -endef -TARGET_DEVICES += cisco_on100 - -define Device/cloudengines_pogoe02 - DEVICE_VENDOR := Cloud Engines - DEVICE_MODEL := Pogoplug E02 - DEVICE_DTS := kirkwood-pogo_e02 - DEVICE_PACKAGES := kmod-rtc-mv - SUPPORTED_DEVICES += pogo_e02 -endef -TARGET_DEVICES += cloudengines_pogoe02 - -define Device/cloudengines_pogoplugv4 - DEVICE_VENDOR := Cloud Engines - DEVICE_MODEL := Pogoplug V4 - DEVICE_DTS := kirkwood-pogoplug-series-4 - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 kmod-mvsdio kmod-usb3 \ - kmod-gpio-button-hotplug kmod-rtc-mv -endef -TARGET_DEVICES += cloudengines_pogoplugv4 - -define Device/ctera_c200-v1 - DEVICE_VENDOR := Ctera - DEVICE_MODEL := C200 - DEVICE_VARIANT := V1 - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-gpio-button-hotplug \ - kmod-hwmon-lm63 kmod-rtc-s35390a kmod-usb-ledtrig-usbport - KERNEL := kernel-bin | append-dtb | uImage none | ctera-firmware - KERNEL_IN_UBI := - KERNEL_SUFFIX := -factory.firm - IMAGES := sysupgrade.bin -endef -TARGET_DEVICES += ctera_c200-v1 - -define Device/endian_4i-edge-200 - DEVICE_VENDOR := Endian - DEVICE_MODEL := 4i Edge 200 - DEVICE_ALT0_VENDOR := Endian - DEVICE_ALT0_MODEL := UTM Mini Firewall - DEVICE_PACKAGES := kmod-ath9k kmod-mvsdio wpad-basic-mbedtls kmod-rtc-mv - KERNEL_SIZE := 4096k - IMAGES := sysupgrade.bin -endef -TARGET_DEVICES += endian_4i-edge-200 - -define Device/globalscale_sheevaplug - DEVICE_VENDOR := Globalscale - DEVICE_MODEL := Sheevaplug - DEVICE_PACKAGES := kmod-mvsdio kmod-rtc-mv -endef -TARGET_DEVICES += globalscale_sheevaplug - -define Device/iom_iconnect-1.1 - DEVICE_VENDOR := Iomega - DEVICE_MODEL := Iconnect - DEVICE_PACKAGES := kmod-rtc-mv - DEVICE_DTS := kirkwood-iconnect - SUPPORTED_DEVICES += iconnect -endef -TARGET_DEVICES += iom_iconnect-1.1 - -define Device/iptime_nas1 - DEVICE_VENDOR := ipTIME - DEVICE_MODEL := NAS1 - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 \ - kmod-gpio-button-hotplug kmod-gpio-pca953x kmod-hwmon-drivetemp \ - kmod-hwmon-gpiofan kmod-usb-ledtrig-usbport kmod-rtc-mv kmod-thermal \ - -uboot-envtools - KERNEL := $$(KERNEL) | iptime-naspkg nas1 - BLOCKSIZE := 256k - IMAGE_SIZE := 15872k - IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ - check-size | append-metadata -endef -TARGET_DEVICES += iptime_nas1 - -define Device/netgear_readynas-duo-v2 - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := ReadyNAS Duo - DEVICE_VARIANT := v2 - DEVICE_DTS := kirkwood-netgear_readynas_duo_v2 - KERNEL_IN_UBI := - IMAGES := sysupgrade.bin - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 \ - kmod-gpio-button-hotplug kmod-hwmon-g762 kmod-rtc-rs5c372a kmod-usb3 -endef -TARGET_DEVICES += netgear_readynas-duo-v2 - -define Device/raidsonic_ib-nas62x0 - DEVICE_VENDOR := RaidSonic - DEVICE_MODEL := ICY BOX IB-NAS62x0 - DEVICE_DTS := kirkwood-ib62x0 - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 kmod-rtc-mv - SUPPORTED_DEVICES += ib62x0 -endef -TARGET_DEVICES += raidsonic_ib-nas62x0 - -define Device/seagate_blackarmor-nas220 - DEVICE_VENDOR := Seagate - DEVICE_MODEL := Blackarmor NAS220 - DEVICE_PACKAGES := kmod-hwmon-adt7475 kmod-fs-ext4 kmod-ata-marvell-sata \ - mdadm kmod-gpio-button-hotplug kmod-rtc-mv - PAGESIZE := 512 - SUBPAGESIZE := 256 - BLOCKSIZE := 16k - UBINIZE_OPTS := -e 1 -endef -TARGET_DEVICES += seagate_blackarmor-nas220 - -define Device/seagate_dockstar - DEVICE_VENDOR := Seagate - DEVICE_MODEL := FreeAgent Dockstar - DEVICE_PACKAGES := kmod-rtc-mv - SUPPORTED_DEVICES += dockstar -endef -TARGET_DEVICES += seagate_dockstar - -define Device/seagate_goflexnet - DEVICE_VENDOR := Seagate - DEVICE_MODEL := GoFlexNet - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 kmod-rtc-mv - SUPPORTED_DEVICES += goflexnet -endef -TARGET_DEVICES += seagate_goflexnet - -define Device/seagate_goflexhome - DEVICE_VENDOR := Seagate - DEVICE_MODEL := GoFlexHome - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 kmod-rtc-mv - SUPPORTED_DEVICES += goflexhome -endef -TARGET_DEVICES += seagate_goflexhome - -define Device/zyxel_nsa310b - DEVICE_VENDOR := ZyXEL - DEVICE_MODEL := NSA310b - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-r8169 kmod-fs-ext4 \ - kmod-gpio-button-hotplug kmod-hwmon-lm85 kmod-rtc-mv - SUPPORTED_DEVICES += nsa310b -endef -TARGET_DEVICES += zyxel_nsa310b - -define Device/zyxel_nsa310s - DEVICE_VENDOR := ZyXEL - DEVICE_MODEL := NSA310S - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 kmod-gpio-button-hotplug -endef -TARGET_DEVICES += zyxel_nsa310s - -define Device/zyxel_nsa325 - DEVICE_VENDOR := ZyXEL - DEVICE_MODEL := NSA325 - DEVICE_VARIANT := v1/v2 - DEVICE_PACKAGES := kmod-ata-marvell-sata kmod-fs-ext4 \ - kmod-gpio-button-hotplug kmod-rtc-pcf8563 kmod-usb3 - SUPPORTED_DEVICES += nsa325 -endef -TARGET_DEVICES += zyxel_nsa325 diff --git a/target/linux/kirkwood/patches-6.1/002-6.2-ARM-dts-kirkwood-Add-Zyxel-NSA310S-board.patch b/target/linux/kirkwood/patches-6.1/002-6.2-ARM-dts-kirkwood-Add-Zyxel-NSA310S-board.patch deleted file mode 100644 index 6a8e8e8c9bd93f..00000000000000 --- a/target/linux/kirkwood/patches-6.1/002-6.2-ARM-dts-kirkwood-Add-Zyxel-NSA310S-board.patch +++ /dev/null @@ -1,301 +0,0 @@ -From e977a103840c57d72b52cbc8c17f87f86ef9aa8d Mon Sep 17 00:00:00 2001 -From: Pawel Dembicki -Date: Sat, 29 Oct 2022 22:57:38 +0200 -Subject: [PATCH] ARM: dts: kirkwood: Add Zyxel NSA310S board - -Zyxel NSA310S is a NAS based on Marvell kirkwood SoC. - -Specification: - - Processor Marvell 88F6702 1 GHz - - 256MB RAM - - 128MB NAND - - 1x GBE LAN port (PHY: Marvell 88E1318) - - 2x USB 2.0 - - 1x SATA - - 3x button - - 7x leds - - serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC) - -Tested-by: Tony Dinh -Signed-off-by: Pawel Dembicki -Acked-by: Adam Baker -Reviewed-by: Andrew Lunn -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/kirkwood-nsa310s.dts | 259 +++++++++++++++++++++++++ - 2 files changed, 260 insertions(+) - create mode 100644 arch/arm/boot/dts/kirkwood-nsa310s.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -356,6 +356,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ - kirkwood-ns2mini.dtb \ - kirkwood-nsa310.dtb \ - kirkwood-nsa310a.dtb \ -+ kirkwood-nsa310s.dtb \ - kirkwood-nsa320.dtb \ - kirkwood-nsa325.dtb \ - kirkwood-openblocks_a6.dtb \ ---- /dev/null -+++ b/arch/arm/boot/dts/kirkwood-nsa310s.dts -@@ -0,0 +1,259 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * ZyXEL NSA310S Board Description -+ * Copyright 2020-2022 Pawel Dembicki -+ * Copyright (c) 2015-2021, Tony Dinh -+ * Copyright (c) 2014, Adam Baker -+ * Based upon the board setup file created by Peter Schildmann -+ */ -+/dts-v1/; -+ -+#include "kirkwood.dtsi" -+#include "kirkwood-6281.dtsi" -+#include -+ -+/ { -+ model = "ZyXEL NSA310S"; -+ compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood"; -+ -+ memory { -+ device_type = "memory"; -+ reg = <0x00000000 0x10000000>; -+ }; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200n8 earlyprintk"; -+ stdout-path = &uart0; -+ }; -+ -+ gpio_poweroff { -+ compatible = "gpio-poweroff"; -+ pinctrl-0 = <&pmx_pwr_off>; -+ pinctrl-names = "default"; -+ gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ pinctrl-0 = <&pmx_buttons>; -+ pinctrl-names = "default"; -+ -+ power { -+ label = "Power Button"; -+ linux,code = ; -+ gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ copy { -+ label = "Copy Button"; -+ linux,code = ; -+ gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; -+ }; -+ -+ reset { -+ label = "Reset Button"; -+ linux,code = ; -+ gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ pinctrl-0 = <&pmx_leds>; -+ pinctrl-names = "default"; -+ -+ led-1 { -+ function = LED_FUNCTION_DISK_ERR; -+ color = ; -+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ led-2 { -+ function = LED_FUNCTION_USB; -+ color = ; -+ gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "usb-host"; -+ }; -+ -+ led-3 { -+ function = LED_FUNCTION_DISK; -+ color = ; -+ gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "ata1"; -+ }; -+ -+ led-4 { -+ function = LED_FUNCTION_INDICATOR; -+ color = ; -+ gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ led-5 { -+ function = LED_FUNCTION_INDICATOR; -+ color = ; -+ gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ led-6 { -+ function = LED_FUNCTION_STATUS; -+ color = ; -+ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ led-7 { -+ function = LED_FUNCTION_STATUS; -+ color = ; -+ gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ usb0_power: regulator@1 { -+ compatible = "regulator-fixed"; -+ regulator-name = "USB Power"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ sata1_power: regulator@2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "SATA1 Power"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ thermal-zones { -+ disk-thermal { -+ polling-delay = <20000>; -+ polling-delay-passive = <2000>; -+ -+ thermal-sensors = <&hdd_temp>; -+ -+ trips { -+ disk_alert: disk-alert { -+ temperature = <40000>; -+ hysteresis = <5000>; -+ type = "active"; -+ }; -+ disk_crit: disk-crit { -+ temperature = <60000>; -+ hysteresis = <2000>; -+ type = "critical"; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+ -+ð0 { -+ status = "okay"; -+ -+ ethernet0-port@0 { -+ phy-handle = <ðphy0>; -+ }; -+}; -+ -+&i2c0 { -+ status = "okay"; -+ -+ rtc@68 { -+ compatible = "htk,ht1382"; -+ reg = <0x68>; -+ }; -+}; -+ -+&mdio { -+ status = "okay"; -+ -+ ethphy0: ethernet-phy@1 { -+ reg = <1>; -+ phy-mode = "rgmii-id"; -+ marvell,reg-init = <0x1 0x16 0x0 0x3>, -+ <0x1 0x10 0x0 0x1017>, -+ <0x1 0x11 0x0 0x4408>, -+ <0x1 0x16 0x0 0x0>; -+ }; -+}; -+ -+&nand { -+ status = "okay"; -+ chip-delay = <35>; -+ -+ partition@0 { -+ label = "uboot"; -+ reg = <0x0000000 0x00c0000>; -+ read-only; -+ }; -+ partition@c0000 { -+ label = "uboot_env"; -+ reg = <0x00c0000 0x0080000>; -+ }; -+ partition@140000 { -+ label = "ubi"; -+ reg = <0x0140000 0x7ec0000>; -+ }; -+}; -+ -+&pciec { -+ status = "okay"; -+}; -+ -+&pcie0 { -+ status = "okay"; -+}; -+ -+&pinctrl { -+ pinctrl-names = "default"; -+ -+ pmx_buttons: pmx-buttons { -+ marvell,pins = "mpp24", "mpp25", "mpp26"; -+ marvell,function = "gpio"; -+ }; -+ -+ pmx_leds: pmx-leds { -+ marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23", -+ "mpp28", "mpp29"; -+ marvell,function = "gpio"; -+ }; -+ -+ pmx_power: pmx-power { -+ marvell,pins = "mpp21", "mpp33"; -+ marvell,function = "gpio"; -+ }; -+ -+ pmx_pwr_off: pmx-pwr-off { -+ marvell,pins = "mpp27"; -+ marvell,function = "gpio"; -+ }; -+}; -+ -+&rtc { -+ status = "disabled"; -+}; -+ -+&sata { -+ status = "okay"; -+ nr-ports = <1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ hdd_temp: sata-port@0 { -+ reg = <0>; -+ #thermal-sensor-cells = <0>; -+ }; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; diff --git a/target/linux/kirkwood/patches-6.1/003-6.5-ARM-dts-kirkwood-Add-Endian-4i-Edge-200-board.patch b/target/linux/kirkwood/patches-6.1/003-6.5-ARM-dts-kirkwood-Add-Endian-4i-Edge-200-board.patch deleted file mode 100644 index cde281526be70a..00000000000000 --- a/target/linux/kirkwood/patches-6.1/003-6.5-ARM-dts-kirkwood-Add-Endian-4i-Edge-200-board.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 5668d088ee4ea05db9daaae0645d1d1f579b20f9 Mon Sep 17 00:00:00 2001 -From: Pawel Dembicki -Date: Mon, 3 Oct 2022 09:34:43 +0200 -Subject: ARM: dts: kirkwood: Add Endian 4i Edge 200 board - -Add Endian 4i Edge 200 is 5-port firewall. -It have also clone: Endian UTM Mini (The same hardware, with added WLAN -card). - -Hardware: - - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz - - Ram: 512MB (4x Nanya NT5TU128M8GE-AC) - - NAND Flash: 512MB (Micron 29F4G08AAC) - - Lan 1-4: 4x GBE (Marvell 88E6171R-TFJ2) - - Lan 5: 1x GBE (Marvell 88E1116R-NNC1) - - Storage: MicroSD Slot - - MCPIE: MiniPCIe Slot present [fitted with SparkLan WPEA-110N/E - (Atheros AR9280 chipset) in Endian UTM Mini WLAN only] - - USB: 1x USB 2.0 port - - Console: RJ-45 port - - LEDs: 3x GPIO controlled - -Signed-off-by: Pawel Dembicki -Reviewed-by: Andrew Lunn -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/kirkwood-4i-edge-200.dts | 205 +++++++++++++++++++++++++++++ - 2 files changed, 206 insertions(+) - create mode 100644 arch/arm/boot/dts/kirkwood-4i-edge-200.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -300,6 +300,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \ - keystone-k2g-evm.dtb \ - keystone-k2g-ice.dtb - dtb-$(CONFIG_MACH_KIRKWOOD) += \ -+ kirkwood-4i-edge-200.dtb \ - kirkwood-b3.dtb \ - kirkwood-blackarmor-nas220.dtb \ - kirkwood-c200-v1.dtb \ ---- /dev/null -+++ b/arch/arm/boot/dts/kirkwood-4i-edge-200.dts -@@ -0,0 +1,205 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Endian 4i Edge 200 Board Description -+ * Note: Endian UTM Mini is hardware clone of Endian Edge 200 -+ * Copyright 2021-2022 Pawel Dembicki -+ */ -+ -+/dts-v1/; -+ -+#include "kirkwood.dtsi" -+#include "kirkwood-6281.dtsi" -+#include -+ -+/ { -+ model = "Endian 4i Edge 200"; -+ compatible = "endian,4i-edge-200", "marvell,kirkwood-88f6281", "marvell,kirkwood"; -+ -+ memory { -+ device_type = "memory"; -+ reg = <0x00000000 0x20000000>; -+ }; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200n8"; -+ stdout-path = &uart0; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ pinctrl-0 = <&pmx_led>; -+ pinctrl-names = "default"; -+ -+ led-1 { -+ function = LED_FUNCTION_SD; -+ color = ; -+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "mmc0"; -+ }; -+ -+ led-2 { -+ function = LED_FUNCTION_STATUS; -+ color = ; -+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ led-3 { -+ function = LED_FUNCTION_STATUS; -+ color = ; -+ gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+}; -+ -+ð0 { -+ status = "okay"; -+}; -+ -+ð0port { -+ speed = <1000>; -+ duplex = <1>; -+}; -+ -+ð1 { -+ status = "okay"; -+}; -+ -+ð1port { -+ phy-handle = <ðphyb>; -+}; -+ -+&mdio { -+ status = "okay"; -+ -+ ethphyb: ethernet-phy@b { -+ reg = <0x0b>; -+ -+ marvell,reg-init = -+ /* link-activity, bi-color mode 4 */ -+ <3 0x10 0xfff0 0xf>; /* Reg 3,16 <- 0xzzzf */ -+ }; -+ -+ switch0: switch@11 { -+ compatible = "marvell,mv88e6085"; -+ reg = <0x11>; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ label = "port1"; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ label = "port2"; -+ }; -+ -+ port@2 { -+ reg = <2>; -+ label = "port3"; -+ }; -+ -+ port@3 { -+ reg = <3>; -+ label = "port4"; -+ }; -+ -+ port@5 { -+ reg = <5>; -+ phy-mode = "rgmii-id"; -+ ethernet = <ð0port>; -+ -+ fixed-link { -+ speed = <1000>; -+ full-duplex; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&nand { -+ status = "okay"; -+ pinctrl-0 = <&pmx_nand>; -+ pinctrl-names = "default"; -+ -+ partition@0 { -+ label = "u-boot"; -+ reg = <0x00000000 0x000a0000>; -+ read-only; -+ }; -+ -+ partition@a0000 { -+ label = "u-boot-env"; -+ reg = <0x000a0000 0x00060000>; -+ read-only; -+ }; -+ -+ partition@100000 { -+ label = "kernel"; -+ reg = <0x00100000 0x00400000>; -+ }; -+ -+ partition@500000 { -+ label = "ubi"; -+ reg = <0x00500000 0x1fb00000>; -+ }; -+}; -+ -+&pciec { -+ status = "okay"; -+}; -+ -+&pcie0 { -+ status = "okay"; -+}; -+ -+&pinctrl { -+ pinctrl-0 = <&pmx_sysrst>; -+ pinctrl-names = "default"; -+ -+ pmx_sysrst: pmx-sysrst { -+ marvell,pins = "mpp6"; -+ marvell,function = "sysrst"; -+ }; -+ -+ pmx_sdio_cd: pmx-sdio-cd { -+ marvell,pins = "mpp28"; -+ marvell,function = "gpio"; -+ }; -+ -+ pmx_led: pmx-led { -+ marvell,pins = "mpp34", "mpp35", "mpp49"; -+ marvell,function = "gpio"; -+ }; -+}; -+ -+&rtc { -+ status = "okay"; -+}; -+ -+&sata_phy0 { -+ status = "disabled"; -+}; -+ -+&sata_phy1 { -+ status = "disabled"; -+}; -+ -+&sdio { -+ pinctrl-0 = <&pmx_sdio_cd>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ cd-gpios = <&gpio0 28 9>; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; -+ -+&usb0 { -+ status = "okay"; -+}; diff --git a/target/linux/kirkwood/patches-6.1/004-6.4-ARM-dts-kirkwood-Add-missing-phy-mode-and-fixed-link.patch b/target/linux/kirkwood/patches-6.1/004-6.4-ARM-dts-kirkwood-Add-missing-phy-mode-and-fixed-link.patch deleted file mode 100644 index fd7adc35844744..00000000000000 --- a/target/linux/kirkwood/patches-6.1/004-6.4-ARM-dts-kirkwood-Add-missing-phy-mode-and-fixed-link.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 8aea8659a5f3ae8dc63c9f632ce1f676a1483556 Mon Sep 17 00:00:00 2001 -From: Andrew Lunn -Date: Fri, 7 Apr 2023 17:17:20 +0200 -Subject: [PATCH] ARM: dts: kirkwood: Add missing phy-mode and fixed links - -The DSA framework has got more picky about always having a phy-mode -for the CPU port. The Kirkwood Ethernet is an RGMII port. Set the -switch to impose the RGMII delays. - -Additionally, the cpu label has never actually been used in the -binding, so remove it. - -Signed-off-by: Andrew Lunn -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/kirkwood-dir665.dts | 3 ++- - arch/arm/boot/dts/kirkwood-l-50.dts | 2 +- - arch/arm/boot/dts/kirkwood-linksys-viper.dts | 3 ++- - arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 3 ++- - arch/arm/boot/dts/kirkwood-rd88f6281.dtsi | 2 +- - 5 files changed, 8 insertions(+), 5 deletions(-) - ---- a/arch/arm/boot/dts/kirkwood-dir665.dts -+++ b/arch/arm/boot/dts/kirkwood-dir665.dts -@@ -232,7 +232,7 @@ - - port@6 { - reg = <6>; -- label = "cpu"; -+ phy-mode = "rgmii-id"; - ethernet = <ð0port>; - fixed-link { - speed = <1000>; -@@ -251,6 +251,7 @@ - ethernet0-port@0 { - speed = <1000>; - duplex = <1>; -+ phy-mode = "rgmii"; - }; - }; - ---- a/arch/arm/boot/dts/kirkwood-l-50.dts -+++ b/arch/arm/boot/dts/kirkwood-l-50.dts -@@ -254,7 +254,6 @@ - - port@6 { - reg = <6>; -- label = "cpu"; - phy-mode = "rgmii-id"; - ethernet = <ð1port>; - fixed-link { -@@ -330,6 +329,7 @@ - ethernet1-port@0 { - speed = <1000>; - duplex = <1>; -+ phy-mode = "rgmii"; - }; - }; - ---- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts -+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts -@@ -198,7 +198,7 @@ - - port@5 { - reg = <5>; -- label = "cpu"; -+ phy-mode = "rgmii-id"; - ethernet = <ð0port>; - fixed-link { - speed = <1000>; -@@ -221,6 +221,7 @@ - ethernet0-port@0 { - speed = <1000>; - duplex = <1>; -+ phy-mode = "rgmii"; - }; - }; - ---- a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts -+++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts -@@ -149,7 +149,7 @@ - - port@5 { - reg = <5>; -- label = "cpu"; -+ phy-mode = "rgmii-id"; - ethernet = <ð0port>; - fixed-link { - speed = <1000>; -@@ -166,6 +166,7 @@ - ethernet0-port@0 { - speed = <1000>; - duplex = <1>; -+ phy-mode = "rgmii"; - }; - }; - ---- a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi -+++ b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi -@@ -105,7 +105,7 @@ - - port@5 { - reg = <5>; -- label = "cpu"; -+ phy-mode = "rgmii-id"; - ethernet = <ð0port>; - fixed-link { - speed = <1000>; diff --git a/target/linux/kirkwood/patches-6.1/100-ib62x0.patch b/target/linux/kirkwood/patches-6.1/100-ib62x0.patch deleted file mode 100644 index 0637c24b631867..00000000000000 --- a/target/linux/kirkwood/patches-6.1/100-ib62x0.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-ib62x0.dts -+++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts -@@ -6,7 +6,14 @@ - - / { - model = "RaidSonic ICY BOX IB-NAS62x0 (Rev B)"; -- compatible = "raidsonic,ib-nas6210-b", "raidsonic,ib-nas6220-b", "raidsonic,ib-nas6210", "raidsonic,ib-nas6220", "raidsonic,ib-nas62x0", "marvell,kirkwood-88f6281", "marvell,kirkwood"; -+ compatible = "raidsonic,ib-nas62x0", "marvell,kirkwood-88f6281", "marvell,kirkwood"; -+ -+ aliases { -+ led-boot = &led_green_os; -+ led-failsafe = &led_red_os; -+ led-running = &led_green_os; -+ led-upgrade = &led_red_os; -+ }; - - memory { - device_type = "memory"; -@@ -81,12 +88,12 @@ - &pmx_led_usb_transfer>; - pinctrl-names = "default"; - -- green-os { -+ led_green_os: green-os { - label = "ib62x0:green:os"; - gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>; -- default-state = "keep"; -+ default-state = "on"; - }; -- red-os { -+ led_red_os: red-os { - label = "ib62x0:red:os"; - gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; - }; -@@ -118,13 +125,13 @@ - }; - - partition@100000 { -- label = "uImage"; -- reg = <0x0100000 0x600000>; -+ label = "second stage u-boot"; -+ reg = <0x100000 0x200000>; - }; - -- partition@700000 { -- label = "root"; -- reg = <0x0700000 0xf900000>; -+ partition@200000 { -+ label = "ubi"; -+ reg = <0x200000 0xfe00000>; - }; - - }; diff --git a/target/linux/kirkwood/patches-6.1/101-iconnect.patch b/target/linux/kirkwood/patches-6.1/101-iconnect.patch deleted file mode 100644 index 935e2dfcf54863..00000000000000 --- a/target/linux/kirkwood/patches-6.1/101-iconnect.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-iconnect.dts -+++ b/arch/arm/boot/dts/kirkwood-iconnect.dts -@@ -8,6 +8,13 @@ - model = "Iomega Iconnect"; - compatible = "iom,iconnect-1.1", "iom,iconnect", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_power_blue; -+ led-failsafe = &led_power_red; -+ led-running = &led_power_blue; -+ led-upgrade = &led_power_red; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x10000000>; -@@ -16,8 +23,6 @@ - chosen { - bootargs = "console=ttyS0,115200n8 earlyprintk"; - stdout-path = &uart0; -- linux,initrd-start = <0x4500040>; -- linux,initrd-end = <0x4800000>; - }; - - ocp@f1000000 { -@@ -89,12 +94,12 @@ - gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; -- power-blue { -+ led_power_blue: power-blue { - label = "power:blue"; - gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; -- default-state = "keep"; -+ default-state = "on"; - }; -- power-red { -+ led_power_red: power-red { - label = "power:red"; - gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; - }; -@@ -146,28 +151,23 @@ - status = "okay"; - - partition@0 { -- label = "uboot"; -- reg = <0x0000000 0xc0000>; -+ label = "u-boot"; -+ reg = <0x0000000 0xe0000>; - }; - -- partition@a0000 { -- label = "env"; -- reg = <0xa0000 0x20000>; -+ partition@e0000 { -+ label = "u-boot environment"; -+ reg = <0xe0000 0x100000>; - }; - - partition@100000 { -- label = "zImage"; -- reg = <0x100000 0x300000>; -- }; -- -- partition@540000 { -- label = "initrd"; -- reg = <0x540000 0x300000>; -+ label = "second stage u-boot"; -+ reg = <0x100000 0x200000>; - }; - -- partition@980000 { -- label = "boot"; -- reg = <0x980000 0x1f400000>; -+ partition@200000 { -+ label = "ubi"; -+ reg = <0x200000 0x1fe00000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/102-dockstar.patch b/target/linux/kirkwood/patches-6.1/102-dockstar.patch deleted file mode 100644 index 127f84962c195e..00000000000000 --- a/target/linux/kirkwood/patches-6.1/102-dockstar.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-dockstar.dts -+++ b/arch/arm/boot/dts/kirkwood-dockstar.dts -@@ -8,6 +8,13 @@ - model = "Seagate FreeAgent Dockstar"; - compatible = "seagate,dockstar", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_health; -+ led-failsafe = &led_fault; -+ led-running = &led_health; -+ led-upgrade = &led_fault; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x8000000>; -@@ -42,12 +49,12 @@ - pinctrl-0 = <&pmx_led_green &pmx_led_orange>; - pinctrl-names = "default"; - -- health { -+ led_health: health { - label = "status:green:health"; - gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; -- default-state = "keep"; -+ default-state = "on"; - }; -- fault { -+ led_fault: fault { - label = "status:orange:fault"; - gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; - }; -@@ -78,18 +85,22 @@ - - partition@0 { - label = "u-boot"; -- reg = <0x0000000 0x100000>; -- read-only; -+ reg = <0x0000000 0xe0000>; -+ }; -+ -+ partition@e0000 { -+ label = "u-boot environment"; -+ reg = <0xe0000 0x100000>; - }; - - partition@100000 { -- label = "uImage"; -- reg = <0x0100000 0x400000>; -+ label = "second stage u-boot"; -+ reg = <0x100000 0x200000>; - }; - -- partition@500000 { -- label = "data"; -- reg = <0x0500000 0xfb00000>; -+ partition@200000 { -+ label = "ubi"; -+ reg = <0x200000 0xfe00000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/103-iomega-ix2-200.patch b/target/linux/kirkwood/patches-6.1/103-iomega-ix2-200.patch deleted file mode 100644 index db04c09f760eed..00000000000000 --- a/target/linux/kirkwood/patches-6.1/103-iomega-ix2-200.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts -+++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts -@@ -8,6 +8,13 @@ - model = "Iomega StorCenter ix2-200"; - compatible = "iom,ix2-200", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_power; -+ led-failsafe = &led_health; -+ led-running = &led_power; -+ led-upgrade = &led_health; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x10000000>; -@@ -127,16 +134,16 @@ - &pmx_led_rebuild &pmx_led_health >; - pinctrl-names = "default"; - -- power_led { -+ led_power: power_led { - label = "status:white:power_led"; - gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; -- default-state = "keep"; -+ default-state = "on"; - }; - rebuild_led { - label = "status:white:rebuild_led"; - gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; - }; -- health_led { -+ led_health: health_led { - label = "status:red:health_led"; - gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; - }; -@@ -186,19 +193,19 @@ - }; - - partition@a0000 { -- label = "env"; -+ label = "u-boot environment"; - reg = <0xa0000 0x20000>; - read-only; - }; - - partition@100000 { -- label = "uImage"; -- reg = <0x100000 0x300000>; -+ label = "kernel"; -+ reg = <0x100000 0x400000>; - }; - -- partition@400000 { -- label = "rootfs"; -- reg = <0x400000 0x1C00000>; -+ partition@500000 { -+ label = "ubi"; -+ reg = <0x500000 0x1C00000>; - }; - }; - -@@ -211,7 +218,7 @@ - }; - - ð0 { -- status = "okay"; -+ status = "disabled"; - ethernet0-port@0 { - speed = <1000>; - duplex = <1>; diff --git a/target/linux/kirkwood/patches-6.1/105-linksys-viper-dts.patch b/target/linux/kirkwood/patches-6.1/105-linksys-viper-dts.patch deleted file mode 100644 index b1604ec92cf438..00000000000000 --- a/target/linux/kirkwood/patches-6.1/105-linksys-viper-dts.patch +++ /dev/null @@ -1,59 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts -+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts -@@ -24,6 +24,10 @@ - }; - - aliases { -+ led-boot = &led_white_health; -+ led-failsafe = &led_white_health; -+ led-running = &led_white_health; -+ led-upgrade = &led_white_health; - serial0 = &uart0; - }; - -@@ -56,9 +60,10 @@ - pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >; - pinctrl-names = "default"; - -- white-health { -+ led_white_health: white-health { - label = "viper:white:health"; - gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; - }; - - white-pulse { -@@ -114,23 +119,23 @@ - }; - - partition@200000 { -- label = "kernel"; -- reg = <0x200000 0x2A0000>; -+ label = "kernel1"; -+ reg = <0x200000 0x1A00000>; - }; - -- partition@4a0000 { -- label = "rootfs"; -- reg = <0x4A0000 0x1760000>; -+ partition@600000 { -+ label = "rootfs1"; -+ reg = <0x600000 0x1600000>; - }; - - partition@1c00000 { -- label = "alt_kernel"; -- reg = <0x1C00000 0x2A0000>; -+ label = "kernel2"; -+ reg = <0x1C00000 0x1A00000>; - }; - -- partition@1ea0000 { -- label = "alt_rootfs"; -- reg = <0x1EA0000 0x1760000>; -+ partition@2000000 { -+ label = "rootfs2"; -+ reg = <0x2000000 0x1600000>; - }; - - partition@3600000 { diff --git a/target/linux/kirkwood/patches-6.1/106-goflexnet.patch b/target/linux/kirkwood/patches-6.1/106-goflexnet.patch deleted file mode 100644 index 82cf90841e30b7..00000000000000 --- a/target/linux/kirkwood/patches-6.1/106-goflexnet.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-goflexnet.dts -+++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts -@@ -8,6 +8,13 @@ - model = "Seagate GoFlex Net"; - compatible = "seagate,goflexnet", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_health; -+ led-failsafe = &led_fault; -+ led-running = &led_health; -+ led-upgrade = &led_fault; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x8000000>; -@@ -85,12 +92,12 @@ - >; - pinctrl-names = "default"; - -- health { -+ led_health: health { - label = "status:green:health"; - gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; -- default-state = "keep"; -+ default-state = "on"; - }; -- fault { -+ led_fault: fault { - label = "status:orange:fault"; - gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; - }; -@@ -159,18 +166,8 @@ - }; - - partition@100000 { -- label = "uImage"; -- reg = <0x0100000 0x400000>; -- }; -- -- partition@500000 { -- label = "pogoplug"; -- reg = <0x0500000 0x2000000>; -- }; -- -- partition@2500000 { -- label = "root"; -- reg = <0x02500000 0xd800000>; -+ label = "ubi"; -+ reg = <0x0100000 0x0ff00000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/107-01-zyxel-nsa3x0-common-nand-partitions.patch b/target/linux/kirkwood/patches-6.1/107-01-zyxel-nsa3x0-common-nand-partitions.patch deleted file mode 100644 index df654033fd8cf9..00000000000000 --- a/target/linux/kirkwood/patches-6.1/107-01-zyxel-nsa3x0-common-nand-partitions.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi -+++ b/arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi -@@ -112,40 +112,16 @@ - - partition@0 { - label = "uboot"; -- reg = <0x0000000 0x0100000>; -+ reg = <0x0000000 0x00c0000>; - read-only; - }; - partition@100000 { - label = "uboot_env"; -- reg = <0x0100000 0x0080000>; -+ reg = <0x00c0000 0x0080000>; - }; -- partition@180000 { -- label = "key_store"; -- reg = <0x0180000 0x0080000>; -- }; -- partition@200000 { -- label = "info"; -- reg = <0x0200000 0x0080000>; -- }; -- partition@280000 { -- label = "etc"; -- reg = <0x0280000 0x0a00000>; -- }; -- partition@c80000 { -- label = "kernel_1"; -- reg = <0x0c80000 0x0a00000>; -- }; -- partition@1680000 { -- label = "rootfs1"; -- reg = <0x1680000 0x2fc0000>; -- }; -- partition@4640000 { -- label = "kernel_2"; -- reg = <0x4640000 0x0a00000>; -- }; -- partition@5040000 { -- label = "rootfs2"; -- reg = <0x5040000 0x2fc0000>; -+ partition@140000 { -+ label = "ubi"; -+ reg = <0x0140000 0x7ec0000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/107-03-nsa325.patch b/target/linux/kirkwood/patches-6.1/107-03-nsa325.patch deleted file mode 100644 index 374c0895a99e68..00000000000000 --- a/target/linux/kirkwood/patches-6.1/107-03-nsa325.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-nsa325.dts -+++ b/arch/arm/boot/dts/kirkwood-nsa325.dts -@@ -15,6 +15,13 @@ - model = "ZyXEL NSA325"; - compatible = "zyxel,nsa325", "marvell,kirkwood-88f6282", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_green_sys; -+ led-failsafe = &led_orange_sys; -+ led-running = &led_green_sys; -+ led-upgrade = &led_orange_sys; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x20000000>; -@@ -162,17 +169,19 @@ - &pmx_led_hdd1_green &pmx_led_hdd1_red>; - pinctrl-names = "default"; - -- green-sys { -+ led_green_sys: green-sys { - label = "nsa325:green:sys"; - gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; - }; -- orange-sys { -+ led_orange_sys: orange-sys { - label = "nsa325:orange:sys"; - gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; - }; - green-hdd1 { - label = "nsa325:green:hdd1"; - gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "ata1"; - }; - red-hdd1 { - label = "nsa325:red:hdd1"; -@@ -181,6 +190,7 @@ - green-hdd2 { - label = "nsa325:green:hdd2"; - gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "ata2"; - }; - red-hdd2 { - label = "nsa325:red:hdd2"; -@@ -189,6 +199,7 @@ - green-usb { - label = "nsa325:green:usb"; - gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "usb-host"; - }; - green-copy { - label = "nsa325:green:copy"; diff --git a/target/linux/kirkwood/patches-6.1/109-pogoplug_v4.patch b/target/linux/kirkwood/patches-6.1/109-pogoplug_v4.patch deleted file mode 100644 index 4273eb9af19e83..00000000000000 --- a/target/linux/kirkwood/patches-6.1/109-pogoplug_v4.patch +++ /dev/null @@ -1,87 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts -+++ b/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts -@@ -18,12 +18,20 @@ - compatible = "cloudengines,pogoplugv4", "marvell,kirkwood-88f6192", - "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_health; -+ led-failsafe = &led_fault; -+ led-running = &led_health; -+ led-upgrade = &led_fault; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x08000000>; - }; - - chosen { -+ bootargs = "console=ttyS0,115200"; - stdout-path = "uart0:115200n8"; - }; - -@@ -37,8 +45,8 @@ - eject { - debounce-interval = <50>; - wakeup-source; -- linux,code = ; -- label = "Eject Button"; -+ linux,code = ; -+ label = "Reset"; - gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; - }; - }; -@@ -48,12 +56,12 @@ - pinctrl-0 = <&pmx_led_green &pmx_led_red>; - pinctrl-names = "default"; - -- health { -+ led_health: health { - label = "pogoplugv4:green:health"; - gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; - default-state = "on"; - }; -- fault { -+ led_fault: fault { - label = "pogoplugv4:red:fault"; - gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; - }; -@@ -137,29 +145,19 @@ - #size-cells = <1>; - - partition@0 { -- label = "u-boot"; -- reg = <0x00000000 0x200000>; -+ label = "uboot"; -+ reg = <0x00000000 0x1c0000>; - read-only; - }; - -- partition@200000 { -- label = "uImage"; -- reg = <0x00200000 0x300000>; -- }; -- -- partition@500000 { -- label = "uImage2"; -- reg = <0x00500000 0x300000>; -- }; -- -- partition@800000 { -- label = "failsafe"; -- reg = <0x00800000 0x800000>; -+ partition@1c0000 { -+ label = "uboot_env"; -+ reg = <0x001c0000 0x40000>; - }; - -- partition@1000000 { -- label = "root"; -- reg = <0x01000000 0x7000000>; -+ partition@200000 { -+ label = "ubi"; -+ reg = <0x00200000 0x7e00000>; - }; - }; - }; diff --git a/target/linux/kirkwood/patches-6.1/110-pogo_e02.patch b/target/linux/kirkwood/patches-6.1/110-pogo_e02.patch deleted file mode 100644 index fc384d3521f960..00000000000000 --- a/target/linux/kirkwood/patches-6.1/110-pogo_e02.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-pogo_e02.dts -+++ b/arch/arm/boot/dts/kirkwood-pogo_e02.dts -@@ -20,6 +20,13 @@ - compatible = "cloudengines,pogoe02", "marvell,kirkwood-88f6281", - "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_health; -+ led-failsafe = &led_fault; -+ led-running = &led_health; -+ led-upgrade = &led_fault; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x10000000>; -@@ -33,12 +40,12 @@ - gpio-leds { - compatible = "gpio-leds"; - -- health { -+ led_health: health { - label = "pogo_e02:green:health"; - gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; -- default-state = "keep"; -+ default-state = "on"; - }; -- fault { -+ led_fault: fault { - label = "pogo_e02:orange:fault"; - gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; - }; -@@ -95,24 +102,24 @@ - status = "okay"; - - partition@0 { -- label = "u-boot"; -- reg = <0x0000000 0x100000>; -+ label = "uboot"; -+ reg = <0x0 0xe0000>; - read-only; - }; - -- partition@100000 { -- label = "uImage"; -- reg = <0x0100000 0x400000>; -+ partition@e0000 { -+ label = "uboot_env"; -+ reg = <0xe0000 0x20000>; - }; - -- partition@500000 { -- label = "pogoplug"; -- reg = <0x0500000 0x2000000>; -+ partition@100000 { -+ label = "second_stage_uboot"; -+ reg = <0x100000 0x100000>; - }; - -- partition@2500000 { -- label = "root"; -- reg = <0x02500000 0x5b00000>; -+ partition@200000 { -+ label = "ubi"; -+ reg = <0x200000 0x7e00000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/111-l-50.patch b/target/linux/kirkwood/patches-6.1/111-l-50.patch deleted file mode 100644 index bc933cb610b5cc..00000000000000 --- a/target/linux/kirkwood/patches-6.1/111-l-50.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-l-50.dts -+++ b/arch/arm/boot/dts/kirkwood-l-50.dts -@@ -18,6 +18,13 @@ - reg = <0x00000000 0x20000000>; - }; - -+ aliases { -+ led-boot = &led_status_green; -+ led-failsafe = &led_status_red; -+ led-running = &led_status_green; -+ led-upgrade = &led_status_red; -+ }; -+ - chosen { - bootargs = "console=ttyS0,115200n8"; - stdout-path = &uart0; -@@ -95,12 +102,12 @@ - leds { - compatible = "gpio-leds"; - -- status_green { -+ led_status_green: status_green { - label = "l-50:green:status"; - gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; - }; - -- status_red { -+ led_status_red: status_red { - label = "l-50:red:status"; - gpios = <&gpio3 2 GPIO_ACTIVE_LOW>; - }; -@@ -349,13 +356,8 @@ - }; - - partition@100000 { -- label = "kernel-1"; -- reg = <0x00100000 0x00800000>; -- }; -- -- partition@900000 { -- label = "rootfs-1"; -- reg = <0x00900000 0x07100000>; -+ label = "ubi"; -+ reg = <0x00100000 0x07900000>; - }; - - partition@7a00000 { diff --git a/target/linux/kirkwood/patches-6.1/112-sheevaplug.patch b/target/linux/kirkwood/patches-6.1/112-sheevaplug.patch deleted file mode 100644 index d1ff9884a068f1..00000000000000 --- a/target/linux/kirkwood/patches-6.1/112-sheevaplug.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi -+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi -@@ -78,13 +78,8 @@ - }; - - partition@100000 { -- label = "uImage"; -- reg = <0x0100000 0x400000>; -- }; -- -- partition@500000 { -- label = "root"; -- reg = <0x0500000 0x1fb00000>; -+ label = "ubi"; -+ reg = <0x0100000 0x1ff00000>; - }; - }; - ---- a/arch/arm/boot/dts/kirkwood-sheevaplug.dts -+++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts -@@ -13,6 +13,13 @@ - model = "Globalscale Technologies SheevaPlug"; - compatible = "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_health; -+ led-failsafe = &led_health; -+ led-running = &led_health; -+ led-upgrade = &led_health; -+ }; -+ - ocp@f1000000 { - mvsdio@90000 { - pinctrl-0 = <&pmx_sdio>; -@@ -28,10 +35,10 @@ - pinctrl-0 = <&pmx_led_blue &pmx_led_red>; - pinctrl-names = "default"; - -- health { -+ led_health: health { - label = "sheevaplug:blue:health"; - gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; -- default-state = "keep"; -+ default-state = "on"; - }; - - misc { diff --git a/target/linux/kirkwood/patches-6.1/113-readynas_duo_v2.patch b/target/linux/kirkwood/patches-6.1/113-readynas_duo_v2.patch deleted file mode 100644 index c6452c55a37cde..00000000000000 --- a/target/linux/kirkwood/patches-6.1/113-readynas_duo_v2.patch +++ /dev/null @@ -1,76 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts -+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts -@@ -19,6 +19,13 @@ - reg = <0x00000000 0x10000000>; - }; - -+ aliases { -+ led-boot = &led_power; -+ led-failsafe = &led_power; -+ led-running = &led_power; -+ led-upgrade = &led_power; -+ }; -+ - chosen { - bootargs = "console=ttyS0,115200n8 earlyprintk"; - stdout-path = &uart0; -@@ -115,7 +122,7 @@ - &pmx_led_blue_backup >; - pinctrl-names = "default"; - -- power_led { -+ led_power: power_led { - label = "status:blue:power_led"; - gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; - default-state = "keep"; -@@ -129,11 +136,13 @@ - disk1_led { - label = "status:blue:disk1_led"; - gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "ata1"; - }; - - disk2_led { - label = "status:blue:disk2_led"; - gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "ata2"; - }; - - backup_led { -@@ -150,7 +159,13 @@ - - power-button { - label = "Power Button"; -- linux,code = ; -+ /* Power button and INT pin from PHY are both connected -+ * to this GPIO. Every network restart causes PHY restart -+ * and button is pressed. It's difficult to use it as -+ * KEY_POWER without changes in kernel (or netifd) so -+ * the button is configured as regular one. -+ */ -+ linux,code = ; - gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; - }; - -@@ -208,18 +223,13 @@ - }; - - partition@200000 { -- label = "uImage"; -+ label = "kernel"; - reg = <0x0200000 0x600000>; - }; - - partition@800000 { -- label = "minirootfs"; -- reg = <0x0800000 0x1000000>; -- }; -- -- partition@1800000 { -- label = "jffs2"; -- reg = <0x1800000 0x6800000>; -+ label = "ubi"; -+ reg = <0x0800000 0x7800000>; - }; - }; - diff --git a/target/linux/kirkwood/patches-6.1/114-ctera-c-200-v1.patch b/target/linux/kirkwood/patches-6.1/114-ctera-c-200-v1.patch deleted file mode 100644 index eb62e1a5ed43f0..00000000000000 --- a/target/linux/kirkwood/patches-6.1/114-ctera-c-200-v1.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-c200-v1.dts -+++ b/arch/arm/boot/dts/kirkwood-c200-v1.dts -@@ -14,6 +14,14 @@ - model = "Ctera C200 V1"; - compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood"; - -+ -+ aliases { -+ led-boot = &led_status_green; -+ led-failsafe = &led_status_red; -+ led-running = &led_status_green; -+ led-upgrade = &led_status_red; -+ }; -+ - chosen { - bootargs = "console=ttyS0,115200"; - stdout-path = &uart0; -@@ -78,6 +86,7 @@ - function-enumerator = <1>; - color = ; - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "ata1"; - }; - - led-2 { -@@ -85,6 +94,7 @@ - function-enumerator = <2>; - color = ; - gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "ata2"; - }; - - led-3 { -@@ -94,13 +104,13 @@ - gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; - }; - -- led-4 { -+ led_status_red: led-4 { - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; - }; - -- led-5 { -+ led_status_green: led-5 { - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; -@@ -240,7 +250,7 @@ - }; - - partition@7a00000 { -- label = "rootfs"; -+ label = "ubi"; - reg = <0x7a00000 0x8600000>; - }; - }; diff --git a/target/linux/kirkwood/patches-6.1/115-nsa310s.patch b/target/linux/kirkwood/patches-6.1/115-nsa310s.patch deleted file mode 100644 index 4c6e08f49cbcfc..00000000000000 --- a/target/linux/kirkwood/patches-6.1/115-nsa310s.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-nsa310s.dts -+++ b/arch/arm/boot/dts/kirkwood-nsa310s.dts -@@ -16,6 +16,13 @@ - model = "ZyXEL NSA310S"; - compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_green_sys; -+ led-failsafe = &led_red_sys; -+ led-running = &led_green_sys; -+ led-upgrade = &led_red_sys; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x00000000 0x10000000>; -@@ -96,14 +103,16 @@ - gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; - }; - -- led-6 { -+ led_green_sys: led-6 { -+ label = "nsa310s:green:sys"; - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-on"; - }; - -- led-7 { -+ led_red_sys: led-7 { -+ label = "nsa310s:red:sys"; - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; diff --git a/target/linux/kirkwood/patches-6.1/116-4i-edge-200.patch b/target/linux/kirkwood/patches-6.1/116-4i-edge-200.patch deleted file mode 100644 index ffc46c29dc863f..00000000000000 --- a/target/linux/kirkwood/patches-6.1/116-4i-edge-200.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-4i-edge-200.dts -+++ b/arch/arm/boot/dts/kirkwood-4i-edge-200.dts -@@ -20,6 +20,13 @@ - reg = <0x00000000 0x20000000>; - }; - -+ aliases { -+ led-boot = &led_status_green; -+ led-failsafe = &led_status_orange; -+ led-running = &led_status_green; -+ led-upgrade = &led_status_orange; -+ }; -+ - chosen { - bootargs = "console=ttyS0,115200n8"; - stdout-path = &uart0; -@@ -37,13 +44,15 @@ - linux,default-trigger = "mmc0"; - }; - -- led-2 { -+ led_status_orange: led-2 { -+ label = "orange:status"; - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; - }; - -- led-3 { -+ led_status_green: led-3 { -+ label = "green:status"; - function = LED_FUNCTION_STATUS; - color = ; - gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; diff --git a/target/linux/kirkwood/patches-6.1/117-netgear_stora.patch b/target/linux/kirkwood/patches-6.1/117-netgear_stora.patch deleted file mode 100644 index c7518933b201bc..00000000000000 --- a/target/linux/kirkwood/patches-6.1/117-netgear_stora.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -375,6 +375,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ - kirkwood-rs411.dtb \ - kirkwood-sheevaplug.dtb \ - kirkwood-sheevaplug-esata.dtb \ -+ kirkwood-stora.dtb \ - kirkwood-t5325.dtb \ - kirkwood-topkick.dtb \ - kirkwood-ts219-6281.dtb \ diff --git a/target/linux/kirkwood/patches-6.1/118-dns-320l.patch b/target/linux/kirkwood/patches-6.1/118-dns-320l.patch deleted file mode 100644 index d6c84e2c59d9e2..00000000000000 --- a/target/linux/kirkwood/patches-6.1/118-dns-320l.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -310,6 +310,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ - kirkwood-db-88f6282.dtb \ - kirkwood-dir665.dtb \ - kirkwood-dns320.dtb \ -+ kirkwood-dns320l.dtb \ - kirkwood-dns325.dtb \ - kirkwood-dockstar.dtb \ - kirkwood-dreamplug.dtb \ ---- a/arch/arm/boot/dts/kirkwood-dns320l.dts -+++ b/arch/arm/boot/dts/kirkwood-dns320l.dts -@@ -32,6 +32,13 @@ - reg = <0x00000000 0x10000000>; - }; - -+ aliases { -+ led-boot = &led_orange_usb; -+ led-failsafe = &led_orange_usb; -+ led-running = &led_orange_usb; -+ led-upgrade = &led_orange_usb; -+ }; -+ - chosen { - bootargs = "console=ttyS0,115200n8 earlyprintk"; - stdout-path = &uart0; -@@ -68,7 +75,7 @@ - linux,default-trigger = "usbport"; - }; - -- orange-usb { -+ led_orange_usb: orange-usb { - label = "dns320l:usb:orange"; - gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; - }; diff --git a/target/linux/kirkwood/patches-6.1/201-enable-sata-port-specific-led-triggers.patch b/target/linux/kirkwood/patches-6.1/201-enable-sata-port-specific-led-triggers.patch deleted file mode 100644 index 3db362de9fbda2..00000000000000 --- a/target/linux/kirkwood/patches-6.1/201-enable-sata-port-specific-led-triggers.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/arm/mach-mvebu/Kconfig -+++ b/arch/arm/mach-mvebu/Kconfig -@@ -115,6 +115,7 @@ config MACH_DOVE - config MACH_KIRKWOOD - bool "Marvell Kirkwood boards" - depends on ARCH_MULTI_V5 -+ select ARCH_WANT_LIBATA_LEDS - select CPU_FEROCEON - select GPIOLIB - select KIRKWOOD_CLK diff --git a/target/linux/kirkwood/patches-6.1/202-linksys-find-active-root.patch b/target/linux/kirkwood/patches-6.1/202-linksys-find-active-root.patch deleted file mode 100644 index 5029b1791c1035..00000000000000 --- a/target/linux/kirkwood/patches-6.1/202-linksys-find-active-root.patch +++ /dev/null @@ -1,62 +0,0 @@ -The WRT1900AC among other Linksys routers uses a dual-firmware layout. -Dynamically rename the active partition to "ubi". - -Signed-off-by: Imre Kaloz ---- ---- a/drivers/mtd/parsers/ofpart_core.c -+++ b/drivers/mtd/parsers/ofpart_core.c -@@ -38,6 +38,8 @@ static bool node_has_compatible(struct d - return of_get_property(pp, "compatible", NULL); - } - -+static int mangled_rootblock; -+ - static int parse_fixed_partitions(struct mtd_info *master, - const struct mtd_partition **pparts, - struct mtd_part_parser_data *data) -@@ -47,6 +49,7 @@ static int parse_fixed_partitions(struct - struct mtd_partition *parts; - struct device_node *mtd_node; - struct device_node *ofpart_node; -+ const char *owrtpart = "ubi"; - const char *partname; - struct device_node *pp; - int nr_parts, i, ret = 0; -@@ -152,9 +155,15 @@ static int parse_fixed_partitions(struct - parts[i].size = of_read_number(reg + a_cells, s_cells); - parts[i].of_node = pp; - -- partname = of_get_property(pp, "label", &len); -- if (!partname) -- partname = of_get_property(pp, "name", &len); -+ if (mangled_rootblock && (i == mangled_rootblock)) { -+ partname = owrtpart; -+ } else { -+ partname = of_get_property(pp, "label", &len); -+ -+ if (!partname) -+ partname = of_get_property(pp, "name", &len); -+ } -+ - parts[i].name = partname; - - if (of_get_property(pp, "read-only", &len)) -@@ -271,6 +280,18 @@ static int __init ofpart_parser_init(voi - return 0; - } - -+static int __init active_root(char *str) -+{ -+ get_option(&str, &mangled_rootblock); -+ -+ if (!mangled_rootblock) -+ return 1; -+ -+ return 1; -+} -+ -+__setup("mangled_rootblock=", active_root); -+ - static void __exit ofpart_parser_exit(void) - { - deregister_mtd_parser(&ofpart_parser); diff --git a/target/linux/kirkwood/patches-6.1/203-blackarmor-nas220.patch b/target/linux/kirkwood/patches-6.1/203-blackarmor-nas220.patch deleted file mode 100644 index e04a28206a2000..00000000000000 --- a/target/linux/kirkwood/patches-6.1/203-blackarmor-nas220.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- a/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts -+++ b/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts -@@ -17,6 +17,13 @@ - compatible = "seagate,blackarmor-nas220","marvell,kirkwood-88f6192", - "marvell,kirkwood"; - -+ aliases { -+ led-boot = &led_status_amber; -+ led-failsafe = &led_status_amber; -+ led-running = &led_status_blue; -+ led-upgrade = &led_status_amber; -+ }; -+ - memory { /* 128 MB */ - device_type = "memory"; - reg = <0x00000000 0x8000000>; -@@ -36,14 +43,14 @@ - compatible = "gpio-keys"; - - reset { -- label = "Reset"; -- linux,code = ; -+ label = "Reset Button"; -+ linux,code = ; - gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; - }; - -- button { -- label = "Power"; -- linux,code = ; -+ power { -+ label = "Power Button"; -+ linux,code = ; - gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; - }; - }; -@@ -51,11 +58,27 @@ - gpio-leds { - compatible = "gpio-leds"; - -- blue-power { -+ led_power_blue: power_blue { - label = "nas220:blue:power"; - gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-on"; - }; -+ -+ disk_blue { -+ label = "nas220:blue:disk"; -+ gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "disk-activity"; -+ }; -+ -+ led_status_blue: status_blue { -+ label = "nas220:blue:status"; -+ gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ led_status_amber: status_amber { -+ label = "nas220:amber:status"; -+ gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; -+ }; - }; - - regulators { -@@ -153,6 +176,33 @@ - - &nand { - status = "okay"; -+ -+ partitions { -+ compatible = "fixed-partitions"; -+ -+ partition@0 { -+ label = "uboot"; -+ reg = <0x0 0xa0000>; -+ read-only; -+ }; -+ -+ partition@a0000 { -+ label = "uboot-env"; -+ reg = <0xa0000 0x10000>; -+ read-only; -+ }; -+ -+ partition@b0000 { -+ label = "reserved"; -+ reg = <0xb0000 0x10000>; -+ read-only; -+ }; -+ -+ partition@c0000 { -+ label = "ubi"; -+ reg = <0xc0000 0x1e80000>; -+ }; -+ }; - }; - - &mdio { diff --git a/target/linux/mediatek/dts/mt7981a-glinet-gl-x3000-xe3000-common.dtsi b/target/linux/mediatek/dts/mt7981a-glinet-gl-x3000-xe3000-common.dtsi index e9050e02e5ec5e..919fb23c53a4c7 100644 --- a/target/linux/mediatek/dts/mt7981a-glinet-gl-x3000-xe3000-common.dtsi +++ b/target/linux/mediatek/dts/mt7981a-glinet-gl-x3000-xe3000-common.dtsi @@ -148,7 +148,7 @@ partname = "u-boot-env"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; diff --git a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt2500.dts b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt2500.dts index 15818a90fca029..0bd3ac0a295499 100644 --- a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt2500.dts +++ b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt2500.dts @@ -164,7 +164,7 @@ block-partition-u-boot-env { partname = "u-boot-env"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; }; diff --git a/target/linux/mediatek/dts/mt7981b-unielec-u7981-01-emmc.dts b/target/linux/mediatek/dts/mt7981b-unielec-u7981-01-emmc.dts index abd4d4e59d74cc..264c9856127b77 100644 --- a/target/linux/mediatek/dts/mt7981b-unielec-u7981-01-emmc.dts +++ b/target/linux/mediatek/dts/mt7981b-unielec-u7981-01-emmc.dts @@ -32,7 +32,7 @@ partname = "u-boot-env"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; diff --git a/target/linux/mediatek/dts/mt7986a-glinet-gl-mt6000.dts b/target/linux/mediatek/dts/mt7986a-glinet-gl-mt6000.dts index fd0e1a69157ed0..fe55f2ea3a34a7 100644 --- a/target/linux/mediatek/dts/mt7986a-glinet-gl-mt6000.dts +++ b/target/linux/mediatek/dts/mt7986a-glinet-gl-mt6000.dts @@ -325,7 +325,7 @@ partname = "u-boot-env"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; diff --git a/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-emmc.dtso b/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-emmc.dtso index 4945185d699e85..cd266d6b0f581c 100644 --- a/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-emmc.dtso +++ b/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-emmc.dtso @@ -41,7 +41,7 @@ block-partition-env { partname = "ubootenv"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; emmc_rootfs: block-partition-production { diff --git a/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-sd.dtso b/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-sd.dtso index 1f5e1491a471e9..c2ab424e3e6ef2 100644 --- a/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-sd.dtso +++ b/target/linux/mediatek/files-6.6/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-sd.dtso @@ -39,7 +39,7 @@ block-partition-env { partname = "ubootenv"; nvmem-layout { - compatible = "u-boot,env-layout"; + compatible = "u-boot,env"; }; }; sd_rootfs: block-partition-production { diff --git a/target/linux/mediatek/patches-6.6/911-dts-mt7622-bpi-r64-add-rootdisk.patch b/target/linux/mediatek/patches-6.6/911-dts-mt7622-bpi-r64-add-rootdisk.patch index 4feb0e5d1a7e96..a28d274493d8cc 100644 --- a/target/linux/mediatek/patches-6.6/911-dts-mt7622-bpi-r64-add-rootdisk.patch +++ b/target/linux/mediatek/patches-6.6/911-dts-mt7622-bpi-r64-add-rootdisk.patch @@ -25,7 +25,7 @@ + block-partition-env { + partname = "ubootenv"; + nvmem-layout { -+ compatible = "u-boot,env-layout"; ++ compatible = "u-boot,env"; + }; + }; + emmc_rootfs: block-partition-production { @@ -52,7 +52,7 @@ + block-partition-env { + partname = "ubootenv"; + nvmem-layout { -+ compatible = "u-boot,env-layout"; ++ compatible = "u-boot,env"; + }; + }; + sd_rootfs: block-partition-production { diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network index 8729bd52f22600..f1192c93719960 100644 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -12,6 +12,7 @@ rockchip_setup_interfaces() friendlyarm,nanopi-r2s|\ friendlyarm,nanopi-r4s|\ friendlyarm,nanopi-r4s-enterprise|\ + radxa,rockpi-e|\ xunlong,orangepi-r1-plus|\ xunlong,orangepi-r1-plus-lts) ucidef_set_interfaces_lan_wan 'eth1' 'eth0' diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 23519b43ee21e1..d8d180a2145887 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -139,14 +139,21 @@ define Device/radxa_rock-pi-e endef TARGET_DEVICES += radxa_rock-pi-e +define Device/radxa_rock-pi-e-v3 + DEVICE_VENDOR := Radxa + DEVICE_MODEL := ROCK Pi E v3.0 + SOC := rk3328 + DEVICE_DTS := rockchip/rk3328-rock-pi-e + DEVICE_PACKAGES := kmod-rtw88-8723du kmod-usb-net-cdc-ncm kmod-usb-net-rndis wpad-basic-mbedtls +endef +TARGET_DEVICES += radxa_rock-pi-e-v3 + define Device/radxa_rock-pi-s DEVICE_VENDOR := Radxa DEVICE_MODEL := ROCK Pi S SOC := rk3308 - DEVICE_DTS := rockchip/rk3308-rock-pi-s BOOT_SCRIPT := rock-pi-s - UBOOT_DEVICE_NAME := rock-pi-s-rk3308 - DEVICE_PACKAGES := kmod-usb-net-cdc-ncm kmod-usb-net-rndis + DEVICE_PACKAGES := kmod-rtw88-8723ds kmod-usb-net-cdc-ncm kmod-usb-net-rndis wpad-basic-mbedtls endef TARGET_DEVICES += radxa_rock-pi-s diff --git a/target/linux/rockchip/patches-6.6/010-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch b/target/linux/rockchip/patches-6.6/010-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch new file mode 100644 index 00000000000000..bb7f8339772f91 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/010-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch @@ -0,0 +1,86 @@ +From 0536fa6e6fa3e48f4ca11855b586c277be524fbe Mon Sep 17 00:00:00 2001 +From: David Wu +Date: Tue, 21 May 2024 21:10:13 +0000 +Subject: [PATCH] soc: rockchip: io-domain: Add RK3308 IO voltage domains + +Add IO voltage domains support for the RK3308 SoC. + +Signed-off-by: David Wu +Signed-off-by: Jianqun Xu +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20240521211029.1236094-11-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + drivers/soc/rockchip/io-domain.c | 40 ++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +--- a/drivers/soc/rockchip/io-domain.c ++++ b/drivers/soc/rockchip/io-domain.c +@@ -39,6 +39,10 @@ + #define RK3288_SOC_CON2_FLASH0 BIT(7) + #define RK3288_SOC_FLASH_SUPPLY_NUM 2 + ++#define RK3308_SOC_CON0 0x300 ++#define RK3308_SOC_CON0_VCCIO3 BIT(8) ++#define RK3308_SOC_VCCIO3_SUPPLY_NUM 3 ++ + #define RK3328_SOC_CON4 0x410 + #define RK3328_SOC_CON4_VCCIO2 BIT(7) + #define RK3328_SOC_VCCIO2_SUPPLY_NUM 1 +@@ -229,6 +233,25 @@ static void rk3288_iodomain_init(struct + dev_warn(iod->dev, "couldn't update flash0 ctrl\n"); + } + ++static void rk3308_iodomain_init(struct rockchip_iodomain *iod) ++{ ++ int ret; ++ u32 val; ++ ++ /* if no vccio3 supply we should leave things alone */ ++ if (!iod->supplies[RK3308_SOC_VCCIO3_SUPPLY_NUM].reg) ++ return; ++ ++ /* ++ * set vccio3 iodomain to also use this framework ++ * instead of a special gpio. ++ */ ++ val = RK3308_SOC_CON0_VCCIO3 | (RK3308_SOC_CON0_VCCIO3 << 16); ++ ret = regmap_write(iod->grf, RK3308_SOC_CON0, val); ++ if (ret < 0) ++ dev_warn(iod->dev, "couldn't update vccio3 vsel ctrl\n"); ++} ++ + static void rk3328_iodomain_init(struct rockchip_iodomain *iod) + { + int ret; +@@ -376,6 +399,19 @@ static const struct rockchip_iodomain_so + .init = rk3288_iodomain_init, + }; + ++static const struct rockchip_iodomain_soc_data soc_data_rk3308 = { ++ .grf_offset = 0x300, ++ .supply_names = { ++ "vccio0", ++ "vccio1", ++ "vccio2", ++ "vccio3", ++ "vccio4", ++ "vccio5", ++ }, ++ .init = rk3308_iodomain_init, ++}; ++ + static const struct rockchip_iodomain_soc_data soc_data_rk3328 = { + .grf_offset = 0x410, + .supply_names = { +@@ -529,6 +565,10 @@ static const struct of_device_id rockchi + .data = &soc_data_rk3288 + }, + { ++ .compatible = "rockchip,rk3308-io-voltage-domain", ++ .data = &soc_data_rk3308 ++ }, ++ { + .compatible = "rockchip,rk3328-io-voltage-domain", + .data = &soc_data_rk3328 + }, diff --git a/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch b/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch new file mode 100644 index 00000000000000..3565acd2e4fc23 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch @@ -0,0 +1,28 @@ +From d1829ba469d5743734e37d59fece73e3668ab084 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Tue, 21 May 2024 21:10:14 +0000 +Subject: [PATCH] arm64: dts: rockchip: Add rk3308 IO voltage domains + +Add a disabled RK3308 IO voltage domains node to SoC DT. + +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20240521211029.1236094-12-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3308.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi +@@ -168,6 +168,11 @@ + compatible = "rockchip,rk3308-grf", "syscon", "simple-mfd"; + reg = <0x0 0xff000000 0x0 0x08000>; + ++ io_domains: io-domains { ++ compatible = "rockchip,rk3308-io-voltage-domain"; ++ status = "disabled"; ++ }; ++ + reboot-mode { + compatible = "syscon-reboot-mode"; + offset = <0x500>; diff --git a/target/linux/rockchip/patches-6.6/047-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch b/target/linux/rockchip/patches-6.6/047-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch new file mode 100644 index 00000000000000..149cadf8632ad2 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/047-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch @@ -0,0 +1,35 @@ +From 100b3bdee6035192f6d4a1847970fe004bb505fb Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Tue, 21 May 2024 21:10:15 +0000 +Subject: [PATCH] arm64: dts: rockchip: Add io-domains to rk3308-rock-pi-s + +The VCCIO4 io-domain used for WiFi/BT is using 1v8 IO signal voltage. + +Add io-domains node with the VCCIO supplies connected on the board. + +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20240521211029.1236094-13-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts +@@ -231,6 +231,16 @@ + status = "okay"; + }; + ++&io_domains { ++ vccio0-supply = <&vcc_io>; ++ vccio1-supply = <&vcc_io>; ++ vccio2-supply = <&vcc_io>; ++ vccio3-supply = <&vcc_io>; ++ vccio4-supply = <&vcc_1v8>; ++ vccio5-supply = <&vcc_io>; ++ status = "okay"; ++}; ++ + &pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&rtc_32k>; diff --git a/target/linux/rockchip/patches-6.6/048-v6.11-arm64-dts-rockchip-Update-WIFi-BT-related-nodes-on-r.patch b/target/linux/rockchip/patches-6.6/048-v6.11-arm64-dts-rockchip-Update-WIFi-BT-related-nodes-on-r.patch new file mode 100644 index 00000000000000..976e5f4cdffd73 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/048-v6.11-arm64-dts-rockchip-Update-WIFi-BT-related-nodes-on-r.patch @@ -0,0 +1,97 @@ +From 12c3ec878cbe3709782e85b88124abecc3bb8617 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Tue, 21 May 2024 21:10:16 +0000 +Subject: [PATCH] arm64: dts: rockchip: Update WIFi/BT related nodes on + rk3308-rock-pi-s + +Update WiFi SDIO and BT UART related props to better reflect details +about the optional onboard RTL8723DS WiFi/BT module. + +Also correct the compatible used for bluetooth to match the WiFi/BT +module used on the board. + +Fixes: bc3753aed81f ("arm64: dts: rockchip: rock-pi-s add more peripherals") +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20240521211029.1236094-14-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + .../boot/dts/rockchip/rk3308-rock-pi-s.dts | 40 +++++++++++++++++-- + 1 file changed, 36 insertions(+), 4 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts +@@ -17,6 +17,7 @@ + ethernet0 = &gmac; + mmc0 = &emmc; + mmc1 = &sdmmc; ++ mmc2 = &sdio; + }; + + chosen { +@@ -245,6 +246,20 @@ + pinctrl-names = "default"; + pinctrl-0 = <&rtc_32k>; + ++ bluetooth { ++ bt_reg_on: bt-reg-on { ++ rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_wake_host: bt-wake-host { ++ rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ host_wake_bt: host-wake-bt { ++ rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ + gmac { + mac_rst: mac-rst { + rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; +@@ -294,11 +309,24 @@ + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; +- max-frequency = <1000000>; ++ max-frequency = <100000000>; + mmc-pwrseq = <&sdio_pwrseq>; ++ no-mmc; ++ no-sd; + non-removable; +- sd-uhs-sdr104; ++ sd-uhs-sdr50; ++ vmmc-supply = <&vcc_io>; ++ vqmmc-supply = <&vcc_1v8>; + status = "okay"; ++ ++ rtl8723ds: wifi@1 { ++ reg = <1>; ++ interrupt-parent = <&gpio0>; ++ interrupts = ; ++ interrupt-names = "host-wake"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_host_wake>; ++ }; + }; + + &sdmmc { +@@ -330,12 +358,16 @@ + }; + + &uart4 { ++ uart-has-rtscts; + status = "okay"; + + bluetooth { +- compatible = "realtek,rtl8723bs-bt"; +- device-wake-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; ++ compatible = "realtek,rtl8723ds-bt"; ++ device-wake-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; ++ enable-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; + host-wake-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>; + }; + }; + diff --git a/target/linux/rockchip/patches-6.6/113-rock-pi-s-add-led-aliases-and-stop-heartbeat.patch b/target/linux/rockchip/patches-6.6/113-rock-pi-s-add-led-aliases-and-stop-heartbeat.patch index 9564c900a264ef..48a617b09a725b 100644 --- a/target/linux/rockchip/patches-6.6/113-rock-pi-s-add-led-aliases-and-stop-heartbeat.patch +++ b/target/linux/rockchip/patches-6.6/113-rock-pi-s-add-led-aliases-and-stop-heartbeat.patch @@ -1,9 +1,9 @@ --- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts -@@ -17,6 +17,10 @@ - ethernet0 = &gmac; +@@ -18,6 +18,10 @@ mmc0 = &emmc; mmc1 = &sdmmc; + mmc2 = &sdio; + led-boot = &blue_led; + led-failsafe = &blue_led; + led-running = &blue_led; @@ -11,7 +11,7 @@ }; chosen { -@@ -28,22 +32,19 @@ +@@ -29,22 +33,19 @@ pinctrl-names = "default"; pinctrl-0 = <&green_led>, <&heartbeat_led>; diff --git a/target/linux/rockchip/patches-6.6/114-rock-pi-e-add-led-aliases-and-stop-heartbeat.patch b/target/linux/rockchip/patches-6.6/114-rock-pi-e-add-led-aliases-and-stop-heartbeat.patch new file mode 100644 index 00000000000000..e2ea7fdd63a765 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/114-rock-pi-e-add-led-aliases-and-stop-heartbeat.patch @@ -0,0 +1,27 @@ +--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts +@@ -23,6 +23,10 @@ + aliases { + mmc0 = &sdmmc; + mmc1 = &emmc; ++ led-boot = &led_blue; ++ led-failsafe = &led_blue; ++ led-running = &led_blue; ++ led-upgrade = &led_blue; + }; + + chosen { +@@ -55,10 +59,11 @@ + pinctrl-0 = <&led_pin>; + pinctrl-names = "default"; + +- led-0 { ++ led_blue: led-0 { + color = ; ++ default-state = "on"; ++ function = LED_FUNCTION_HEARTBEAT; + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; +- linux,default-trigger = "heartbeat"; + }; + }; + diff --git a/target/linux/rockchip/patches-6.6/300-hwrng-add-Rockchip-SoC-hwrng-driver.patch b/target/linux/rockchip/patches-6.6/300-hwrng-add-hwrng-driver-for-Rockchip-RK3568-SoC.patch similarity index 57% rename from target/linux/rockchip/patches-6.6/300-hwrng-add-Rockchip-SoC-hwrng-driver.patch rename to target/linux/rockchip/patches-6.6/300-hwrng-add-hwrng-driver-for-Rockchip-RK3568-SoC.patch index 0be9a7300b0bf5..683d1b1d5e51c9 100644 --- a/target/linux/rockchip/patches-6.6/300-hwrng-add-Rockchip-SoC-hwrng-driver.patch +++ b/target/linux/rockchip/patches-6.6/300-hwrng-add-hwrng-driver-for-Rockchip-RK3568-SoC.patch @@ -1,56 +1,27 @@ -From patchwork Sat Nov 12 14:10:58 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Aurelien Jarno -X-Patchwork-Id: 13041222 -Return-Path: - -X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on - aws-us-west-2-korg-lkml-1.web.codeaurora.org +From cea47ad1fbd46d3096fcf5c6905db3d12b5da960 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno -To: Olivia Mackall , - Herbert Xu , - Rob Herring , - Krzysztof Kozlowski , - Heiko Stuebner , - Philipp Zabel , - Lin Jinhan -Cc: linux-crypto@vger.kernel.org (open list:HARDWARE RANDOM NUMBER GENERATOR - CORE), - devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE - BINDINGS), - linux-arm-kernel@lists.infradead.org (moderated list:ARM/Rockchip SoC - support), - linux-rockchip@lists.infradead.org (open list:ARM/Rockchip SoC support), - linux-kernel@vger.kernel.org (open list), - Aurelien Jarno -Subject: [PATCH v1 2/3] hwrng: add Rockchip SoC hwrng driver -Date: Sat, 12 Nov 2022 15:10:58 +0100 -Message-Id: <20221112141059.3802506-3-aurelien@aurel32.net> -In-Reply-To: <20221112141059.3802506-1-aurelien@aurel32.net> -References: <20221112141059.3802506-1-aurelien@aurel32.net> -MIME-Version: 1.0 -List-Id: +Date: Sun, 21 Jul 2024 01:48:04 +0100 +Subject: [PATCH 2/3] hwrng: add hwrng driver for Rockchip RK3568 SoC Rockchip SoCs used to have a random number generator as part of their crypto device, and support for it has to be added to the corresponding -driver. However newer Rockchip SoCs like the RK356x have an independent +driver. However newer Rockchip SoCs like the RK3568 have an independent True Random Number Generator device. This patch adds a driver for it, greatly inspired from the downstream driver. The TRNG device does not seem to have a signal conditionner and the FIPS 140-2 test returns a lot of failures. They can be reduced by increasing -RK_RNG_SAMPLE_CNT, in a tradeoff between quality and speed. This value -has been adjusted to get ~90% of successes and the quality value has -been set accordingly. +rockchip,sample-count in DT, in a tradeoff between quality and speed. Signed-off-by: Aurelien Jarno +[daniel@makrotpia.org: code style fixes, add DT properties] +Signed-off-by: Daniel Golle +Acked-by: Krzysztof Kozlowski --- drivers/char/hw_random/Kconfig | 14 ++ drivers/char/hw_random/Makefile | 1 + - drivers/char/hw_random/rockchip-rng.c | 251 ++++++++++++++++++++++++++ - 3 files changed, 266 insertions(+) + drivers/char/hw_random/rockchip-rng.c | 230 ++++++++++++++++++++++++++ + 4 files changed, 246 insertions(+) create mode 100644 drivers/char/hw_random/rockchip-rng.c --- a/drivers/char/hw_random/Kconfig @@ -60,18 +31,18 @@ Signed-off-by: Aurelien Jarno The module will be called jh7110-trng. +config HW_RANDOM_ROCKCHIP -+ tristate "Rockchip True Random Number Generator" -+ depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST) -+ depends on HAS_IOMEM -+ default HW_RANDOM -+ help -+ This driver provides kernel-side support for the True Random Number -+ Generator hardware found on some Rockchip SoC like RK3566 or RK3568. ++ tristate "Rockchip True Random Number Generator" ++ depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST) ++ depends on HAS_IOMEM ++ default HW_RANDOM ++ help ++ This driver provides kernel-side support for the True Random Number ++ Generator hardware found on some Rockchip SoC like RK3566 or RK3568. + -+ To compile this driver as a module, choose M here: the -+ module will be called rockchip-rng. ++ To compile this driver as a module, choose M here: the ++ module will be called rockchip-rng. + -+ If unsure, say Y. ++ If unsure, say Y. + endif # HW_RANDOM @@ -86,10 +57,10 @@ Signed-off-by: Aurelien Jarno obj-$(CONFIG_HW_RANDOM_JH7110) += jh7110-trng.o --- /dev/null +++ b/drivers/char/hw_random/rockchip-rng.c -@@ -0,0 +1,251 @@ +@@ -0,0 +1,230 @@ +// SPDX-License-Identifier: GPL-2.0 +/* -+ * rockchip-rng.c True Random Number Generator driver for Rockchip SoCs ++ * rockchip-rng.c True Random Number Generator driver for Rockchip RK3568 SoC + * + * Copyright (c) 2018, Fuzhou Rockchip Electronics Co., Ltd. + * Copyright (c) 2022, Aurelien Jarno @@ -103,7 +74,8 @@ Signed-off-by: Aurelien Jarno +#include +#include +#include -+#include ++#include ++#include +#include +#include +#include @@ -113,13 +85,6 @@ Signed-off-by: Aurelien Jarno +#define RK_RNG_POLL_PERIOD_US 100 +#define RK_RNG_POLL_TIMEOUT_US 10000 + -+/* -+ * TRNG collects osc ring output bit every RK_RNG_SAMPLE_CNT time. The value is -+ * a tradeoff between speed and quality and has been adjusted to get a quality -+ * of ~900 (~90% of FIPS 140-2 successes). -+ */ -+#define RK_RNG_SAMPLE_CNT 1000 -+ +/* TRNG registers from RK3568 TRM-Part2, section 5.4.1 */ +#define TRNG_RST_CTL 0x0004 +#define TRNG_RNG_CTL 0x0400 @@ -131,17 +96,11 @@ Signed-off-by: Aurelien Jarno +#define TRNG_RNG_CTL_OSC_RING_SPEED_1 (0x01 << 2) +#define TRNG_RNG_CTL_OSC_RING_SPEED_2 (0x02 << 2) +#define TRNG_RNG_CTL_OSC_RING_SPEED_3 (0x03 << 2) ++#define TRNG_RNG_CTL_MASK GENMASK(15, 0) +#define TRNG_RNG_CTL_ENABLE BIT(1) +#define TRNG_RNG_CTL_START BIT(0) +#define TRNG_RNG_SAMPLE_CNT 0x0404 -+#define TRNG_RNG_DOUT_0 0x0410 -+#define TRNG_RNG_DOUT_1 0x0414 -+#define TRNG_RNG_DOUT_2 0x0418 -+#define TRNG_RNG_DOUT_3 0x041c -+#define TRNG_RNG_DOUT_4 0x0420 -+#define TRNG_RNG_DOUT_5 0x0424 -+#define TRNG_RNG_DOUT_6 0x0428 -+#define TRNG_RNG_DOUT_7 0x042c ++#define TRNG_RNG_DOUT 0x0410 + +struct rk_rng { + struct hwrng rng; @@ -149,18 +108,18 @@ Signed-off-by: Aurelien Jarno + struct reset_control *rst; + int clk_num; + struct clk_bulk_data *clk_bulks; ++ u32 sample_cnt; +}; + -+/* The mask determine the bits that are updated */ ++/* The mask in the upper 16 bits determines the bits that are updated */ +static void rk_rng_write_ctl(struct rk_rng *rng, u32 val, u32 mask) +{ -+ writel_relaxed((mask << 16) | val, rng->base + TRNG_RNG_CTL); ++ writel((mask << 16) | val, rng->base + TRNG_RNG_CTL); +} + +static int rk_rng_init(struct hwrng *rng) +{ + struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); -+ u32 reg; + int ret; + + /* start clocks */ @@ -172,13 +131,13 @@ Signed-off-by: Aurelien Jarno + } + + /* set the sample period */ -+ writel(RK_RNG_SAMPLE_CNT, rk_rng->base + TRNG_RNG_SAMPLE_CNT); ++ writel(rk_rng->sample_cnt, rk_rng->base + TRNG_RNG_SAMPLE_CNT); + + /* set osc ring speed and enable it */ -+ reg = TRNG_RNG_CTL_LEN_256_BIT | -+ TRNG_RNG_CTL_OSC_RING_SPEED_0 | -+ TRNG_RNG_CTL_ENABLE; -+ rk_rng_write_ctl(rk_rng, reg, 0xffff); ++ rk_rng_write_ctl(rk_rng, TRNG_RNG_CTL_LEN_256_BIT | ++ TRNG_RNG_CTL_OSC_RING_SPEED_0 | ++ TRNG_RNG_CTL_ENABLE, ++ TRNG_RNG_CTL_MASK); + + return 0; +} @@ -186,11 +145,9 @@ Signed-off-by: Aurelien Jarno +static void rk_rng_cleanup(struct hwrng *rng) +{ + struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); -+ u32 reg; + + /* stop TRNG */ -+ reg = 0; -+ rk_rng_write_ctl(rk_rng, reg, 0xffff); ++ rk_rng_write_ctl(rk_rng, 0, TRNG_RNG_CTL_MASK); + + /* stop clocks */ + clk_bulk_disable_unprepare(rk_rng->clk_num, rk_rng->clk_bulks); @@ -199,15 +156,16 @@ Signed-off-by: Aurelien Jarno +static int rk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) +{ + struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); ++ size_t to_read = min_t(size_t, max, RK_RNG_MAX_BYTE); + u32 reg; + int ret = 0; -+ int i; + -+ pm_runtime_get_sync((struct device *) rk_rng->rng.priv); ++ ret = pm_runtime_resume_and_get((struct device *) rk_rng->rng.priv); ++ if (ret < 0) ++ return ret; + + /* Start collecting random data */ -+ reg = TRNG_RNG_CTL_START; -+ rk_rng_write_ctl(rk_rng, reg, reg); ++ rk_rng_write_ctl(rk_rng, TRNG_RNG_CTL_START, TRNG_RNG_CTL_START); + + ret = readl_poll_timeout(rk_rng->base + TRNG_RNG_CTL, reg, + !(reg & TRNG_RNG_CTL_START), @@ -216,27 +174,23 @@ Signed-off-by: Aurelien Jarno + if (ret < 0) + goto out; + -+ /* Read random data stored in big endian in the registers */ -+ ret = min_t(size_t, max, RK_RNG_MAX_BYTE); -+ for (i = 0; i < ret; i += 4) { -+ reg = readl_relaxed(rk_rng->base + TRNG_RNG_DOUT_0 + i); -+ *(u32 *)(buf + i) = be32_to_cpu(reg); -+ } -+ ++ /* Read random data stored in the registers */ ++ memcpy_fromio(buf, rk_rng->base + TRNG_RNG_DOUT, to_read); +out: + pm_runtime_mark_last_busy((struct device *) rk_rng->rng.priv); + pm_runtime_put_sync_autosuspend((struct device *) rk_rng->rng.priv); + -+ return ret; ++ return (ret < 0) ? ret : to_read; +} + +static int rk_rng_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct rk_rng *rk_rng; ++ u32 quality; + int ret; + -+ rk_rng = devm_kzalloc(dev, sizeof(struct rk_rng), GFP_KERNEL); ++ rk_rng = devm_kzalloc(dev, sizeof(*rk_rng), GFP_KERNEL); + if (!rk_rng) + return -ENOMEM; + @@ -249,11 +203,19 @@ Signed-off-by: Aurelien Jarno + return dev_err_probe(dev, rk_rng->clk_num, + "Failed to get clks property\n"); + -+ rk_rng->rst = devm_reset_control_array_get(&pdev->dev, false, false); ++ rk_rng->rst = devm_reset_control_array_get_exclusive(&pdev->dev); + if (IS_ERR(rk_rng->rst)) + return dev_err_probe(dev, PTR_ERR(rk_rng->rst), + "Failed to get reset property\n"); + ++ ret = of_property_read_u32(dev->of_node, "rockchip,sample-count", &rk_rng->sample_cnt); ++ if (ret) ++ return dev_err_probe(dev, ret, "Failed to get sample-count property\n"); ++ ++ ret = of_property_read_u32(dev->of_node, "quality", &quality); ++ if (ret || quality > 1024) ++ return dev_err_probe(dev, ret, "Failed to get quality property\n"); ++ + reset_control_assert(rk_rng->rst); + udelay(2); + reset_control_deassert(rk_rng->rst); @@ -261,36 +223,26 @@ Signed-off-by: Aurelien Jarno + platform_set_drvdata(pdev, rk_rng); + + rk_rng->rng.name = dev_driver_string(dev); -+#ifndef CONFIG_PM -+ rk_rng->rng.init = rk_rng_init; -+ rk_rng->rng.cleanup = rk_rng_cleanup; -+#endif ++ if (!IS_ENABLED(CONFIG_PM)) { ++ rk_rng->rng.init = rk_rng_init; ++ rk_rng->rng.cleanup = rk_rng_cleanup; ++ } + rk_rng->rng.read = rk_rng_read; + rk_rng->rng.priv = (unsigned long) dev; -+ rk_rng->rng.quality = 900; ++ rk_rng->rng.quality = quality; + + pm_runtime_set_autosuspend_delay(dev, RK_RNG_AUTOSUSPEND_DELAY); + pm_runtime_use_autosuspend(dev); -+ pm_runtime_enable(dev); ++ devm_pm_runtime_enable(dev); + + ret = devm_hwrng_register(dev, &rk_rng->rng); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Failed to register Rockchip hwrng\n"); + -+ dev_info(&pdev->dev, "Registered Rockchip hwrng\n"); -+ -+ return 0; -+} -+ -+static int rk_rng_remove(struct platform_device *pdev) -+{ -+ pm_runtime_disable(&pdev->dev); -+ + return 0; +} + -+#ifdef CONFIG_PM -+static int rk_rng_runtime_suspend(struct device *dev) ++static int __maybe_unused rk_rng_runtime_suspend(struct device *dev) +{ + struct rk_rng *rk_rng = dev_get_drvdata(dev); + @@ -299,13 +251,12 @@ Signed-off-by: Aurelien Jarno + return 0; +} + -+static int rk_rng_runtime_resume(struct device *dev) ++static int __maybe_unused rk_rng_runtime_resume(struct device *dev) +{ + struct rk_rng *rk_rng = dev_get_drvdata(dev); + + return rk_rng_init(&rk_rng->rng); +} -+#endif + +static const struct dev_pm_ops rk_rng_pm_ops = { + SET_RUNTIME_PM_OPS(rk_rng_runtime_suspend, @@ -315,10 +266,8 @@ Signed-off-by: Aurelien Jarno +}; + +static const struct of_device_id rk_rng_dt_match[] = { -+ { -+ .compatible = "rockchip,rk3568-rng", -+ }, -+ {}, ++ { .compatible = "rockchip,rk3568-rng", }, ++ { /* sentinel */ }, +}; + +MODULE_DEVICE_TABLE(of, rk_rng_dt_match); @@ -330,11 +279,12 @@ Signed-off-by: Aurelien Jarno + .of_match_table = rk_rng_dt_match, + }, + .probe = rk_rng_probe, -+ .remove = rk_rng_remove, +}; + +module_platform_driver(rk_rng_driver); + -+MODULE_DESCRIPTION("Rockchip True Random Number Generator driver"); -+MODULE_AUTHOR("Lin Jinhan , Aurelien Jarno "); -+MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Rockchip RK3568 True Random Number Generator driver"); ++MODULE_AUTHOR("Lin Jinhan "); ++MODULE_AUTHOR("Aurelien Jarno "); ++MODULE_AUTHOR("Daniel Golle "); ++MODULE_LICENSE("GPL"); diff --git a/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK3568.patch b/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK3568.patch new file mode 100644 index 00000000000000..c5e1eb44f68ba9 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK3568.patch @@ -0,0 +1,49 @@ +From 756e7d3251ad8f6c72e7bf4c476537a89f673e38 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Sun, 21 Jul 2024 01:48:38 +0100 +Subject: [PATCH 3/3] arm64: dts: rockchip: add DT entry for RNG to RK356x + +Enable the just added Rockchip RNG driver for RK356x SoCs. + +Signed-off-by: Aurelien Jarno +Signed-off-by: Daniel Golle +--- + arch/arm64/boot/dts/rockchip/rk3568.dtsi | 7 +++++++ + arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 ++++++++++ + 2 files changed, 17 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi +@@ -257,6 +257,13 @@ + }; + }; + ++&rng { ++ rockchip,sample-count = <1000>; ++ quality = <900>; ++ ++ status = "okay"; ++}; ++ + &usb_host0_xhci { + phys = <&usb2phy0_otg>, <&combphy0 PHY_TYPE_USB3>; + phy-names = "usb2-phy", "usb3-phy"; +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -1105,6 +1105,16 @@ + status = "disabled"; + }; + ++ rng: rng@fe388000 { ++ compatible = "rockchip,rk3568-rng"; ++ reg = <0x0 0xfe388000 0x0 0x4000>; ++ clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>; ++ clock-names = "core", "ahb"; ++ resets = <&cru SRST_TRNG_NS>; ++ reset-names = "reset"; ++ status = "disabled"; ++ }; ++ + i2s0_8ch: i2s@fe400000 { + compatible = "rockchip,rk3568-i2s-tdm"; + reg = <0x0 0xfe400000 0x0 0x1000>; diff --git a/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch b/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch deleted file mode 100644 index 3e65de7a20fa94..00000000000000 --- a/target/linux/rockchip/patches-6.6/301-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch +++ /dev/null @@ -1,56 +0,0 @@ -From patchwork Sat Nov 12 14:10:59 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Aurelien Jarno -X-Patchwork-Id: 13041221 -From: Aurelien Jarno -To: Olivia Mackall , - Herbert Xu , - Rob Herring , - Krzysztof Kozlowski , - Heiko Stuebner , - Philipp Zabel , - Lin Jinhan -Cc: linux-crypto@vger.kernel.org (open list:HARDWARE RANDOM NUMBER GENERATOR - CORE), - devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE - BINDINGS), - linux-arm-kernel@lists.infradead.org (moderated list:ARM/Rockchip SoC - support), - linux-rockchip@lists.infradead.org (open list:ARM/Rockchip SoC support), - linux-kernel@vger.kernel.org (open list), - Aurelien Jarno -Subject: [PATCH v1 3/3] arm64: dts: rockchip: add DT entry for RNG to RK356x -Date: Sat, 12 Nov 2022 15:10:59 +0100 -Message-Id: <20221112141059.3802506-4-aurelien@aurel32.net> -In-Reply-To: <20221112141059.3802506-1-aurelien@aurel32.net> -References: <20221112141059.3802506-1-aurelien@aurel32.net> -MIME-Version: 1.0 -List-Id: - -Enable the just added Rockchip RNG driver for RK356x SoCs. - -Signed-off-by: Aurelien Jarno ---- - arch/arm64/boot/dts/rockchip/rk356x.dtsi | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -1848,6 +1848,15 @@ - }; - }; - -+ rng: rng@fe388000 { -+ compatible = "rockchip,rk3568-rng"; -+ reg = <0x0 0xfe388000 0x0 0x4000>; -+ clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>; -+ clock-names = "trng_clk", "trng_hclk"; -+ resets = <&cru SRST_TRNG_NS>; -+ reset-names = "reset"; -+ }; -+ - pinctrl: pinctrl { - compatible = "rockchip,rk3568-pinctrl"; - rockchip,grf = <&grf>; diff --git a/target/linux/rockchip/patches-6.6/310-PCI-dw-rockchip-Fix-initial-PERST-GPIO-value.patch b/target/linux/rockchip/patches-6.6/310-PCI-dw-rockchip-Fix-initial-PERST-GPIO-value.patch new file mode 100644 index 00000000000000..5ebf04bb337597 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/310-PCI-dw-rockchip-Fix-initial-PERST-GPIO-value.patch @@ -0,0 +1,76 @@ +From 28b8d7793b8573563b3d45321376f36168d77b1e Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Wed, 17 Apr 2024 18:42:26 +0200 +Subject: [PATCH] PCI: dw-rockchip: Fix initial PERST# GPIO value +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +PERST# is active low according to the PCIe specification. + +However, the existing pcie-dw-rockchip.c driver does: + + gpiod_set_value(..., 0); msleep(100); gpiod_set_value(..., 1); + +when asserting + deasserting PERST#. + +This is of course wrong, but because all the device trees for this +compatible string have also incorrectly marked this GPIO as ACTIVE_HIGH: + + $ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3568* + $ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3588* + +The actual toggling of PERST# is correct, and we cannot change it anyway, +since that would break device tree compatibility. + +However, this driver does request the GPIO to be initialized as +GPIOD_OUT_HIGH, which does cause a silly sequence where PERST# gets +toggled back and forth for no good reason. + +Fix this by requesting the GPIO to be initialized as GPIOD_OUT_LOW (which +for this driver means PERST# asserted). + +This will avoid an unnecessary signal change where PERST# gets deasserted +(by devm_gpiod_get_optional()) and then gets asserted (by +rockchip_pcie_start_link()) just a few instructions later. + +Before patch, debug prints on EP side, when booting RC: + + [ 845.606810] pci: PERST# asserted by host! + [ 852.483985] pci: PERST# de-asserted by host! + [ 852.503041] pci: PERST# asserted by host! + [ 852.610318] pci: PERST# de-asserted by host! + +After patch, debug prints on EP side, when booting RC: + + [ 125.107921] pci: PERST# asserted by host! + [ 132.111429] pci: PERST# de-asserted by host! + +This extra, very short, PERST# assertion + deassertion has been reported to +cause issues with certain WLAN controllers, e.g. RTL8822CE. + +Fixes: 0e898eb8df4e ("PCI: rockchip-dwc: Add Rockchip RK356X host controller driver") +Link: https://lore.kernel.org/linux-pci/20240417164227.398901-1-cassel@kernel.org +Tested-by: Heiko Stuebner +Tested-by: Jianfeng Liu +Signed-off-by: Niklas Cassel +Signed-off-by: Krzysztof WilczyƄski +Signed-off-by: Bjorn Helgaas +Reviewed-by: Heiko Stuebner +Reviewed-by: Manivannan Sadhasivam +Cc: stable@vger.kernel.org # v5.15+ +--- + drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c ++++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c +@@ -240,7 +240,7 @@ static int rockchip_pcie_resource_get(st + return PTR_ERR(rockchip->apb_base); + + rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset", +- GPIOD_OUT_HIGH); ++ GPIOD_OUT_LOW); + if (IS_ERR(rockchip->rst_gpio)) + return PTR_ERR(rockchip->rst_gpio); + diff --git a/target/linux/zynq/Makefile b/target/linux/zynq/Makefile index 90e49df87892db..29995e43bf500f 100644 --- a/target/linux/zynq/Makefile +++ b/target/linux/zynq/Makefile @@ -19,6 +19,7 @@ define Target/Description endef KERNEL_PATCHVER:=6.1 +KERNEL_TESTING_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/zynq/config-6.6 b/target/linux/zynq/config-6.6 new file mode 100644 index 00000000000000..15716a12cdbc75 --- /dev/null +++ b/target/linux/zynq/config-6.6 @@ -0,0 +1,570 @@ +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_ALTERA_FREEZE_BRIDGE is not set +# CONFIG_ALTERA_PR_IP_CORE is not set +CONFIG_ARCH_32BIT_OFF_T=y +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_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_STACKWALK=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y +# CONFIG_ARCH_VEXPRESS_SPC is not set +CONFIG_ARCH_ZYNQ=y +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_ERRATA_643719=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GLOBAL_TIMER=y +CONFIG_ARM_GT_INITIAL_PRESCALER_VAL=2 +CONFIG_ARM_HAS_GROUP_RELOCS=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_PATCH_IDIV=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +# CONFIG_ARM_PL172_MPMC is not set +# CONFIG_ARM_SMMU is not set +CONFIG_ARM_THUMB=y +CONFIG_ARM_TIMER_SP804=y +CONFIG_ARM_UNWIND=y +CONFIG_ARM_VIRT_EXT=y +CONFIG_ARM_ZYNQ_CPUIDLE=y +CONFIG_ATAGS=y +CONFIG_AUTO_ZRELADDR=y +# CONFIG_AXI_DMAC is not set +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BOUNCE=y +CONFIG_BUFFER_HEAD=y +CONFIG_CACHE_L2X0=y +CONFIG_CADENCE_TTC_TIMER=y +CONFIG_CADENCE_WATCHDOG=y +CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLKSRC_VERSATILE=y +CONFIG_CLK_ICST=y +CONFIG_CLK_SP810=y +CONFIG_CLK_VEXPRESS_OSC=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SYSFS is not set +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_SI570=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y +CONFIG_CONTIG_ALLOC=y +CONFIG_COREDUMP=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 is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=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_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_MITIGATIONS=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_CRC32_SARWATE is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_GF128MUL=y +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_UTILS=y +CONFIG_CURRENT_POINTER_IN_TPIDRURO=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_DMA_OPS=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DRM=y +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_BRIDGE=y +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DTC=y +CONFIG_DUMMY_CONSOLE=y +CONFIG_E1000E=y +CONFIG_EDAC=y +CONFIG_EDAC_ATOMIC_SCRUB=y +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_LEGACY_SYSFS=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC_SYNOPSYS is not set +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y +CONFIG_ELF_CORE=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_EXT4_FS=y +CONFIG_EXTCON=y +CONFIG_F2FS_FS=y +CONFIG_FB=y +CONFIG_FB_CORE=y +CONFIG_FB_IOMEM_FOPS=y +# CONFIG_FB_XILINX is not set +CONFIG_FHANDLE=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FPGA=y +CONFIG_FPGA_BRIDGE=y +# CONFIG_FPGA_DFL is not set +# CONFIG_FPGA_MGR_ALTERA_CVP is not set +# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set +# CONFIG_FPGA_MGR_ICE40_SPI is not set +# CONFIG_FPGA_MGR_LATTICE_SYSCONFIG_SPI is not set +# CONFIG_FPGA_MGR_MACHXO2_SPI is not set +# CONFIG_FPGA_MGR_MICROCHIP_SPI is not set +# CONFIG_FPGA_MGR_XILINX_SPI is not set +CONFIG_FPGA_MGR_ZYNQ_FPGA=y +CONFIG_FPGA_REGION=y +CONFIG_FREEZER=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FUNCTION_ALIGNMENT=0 +CONFIG_FWNODE_MDIO=y +CONFIG_FW_CACHE=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_GCC10_NO_ARRAY_BOUNDS=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_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_MSI_IRQ=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PINCONF=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_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_ZYNQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAVE_SMP=y +CONFIG_HDMI=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HOTPLUG_CORE_SYNC_DEAD=y +CONFIG_HOTPLUG_CPU=y +CONFIG_HWMON=y +CONFIG_HW_CONSOLE=y +CONFIG_HZ_FIXED=0 +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CADENCE=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_SPARSEKMAP=y +CONFIG_INPUT_VIVALDIFMAP=y +# CONFIG_IOMMUFD is not set +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_RARP=y +CONFIG_IRQCHIP=y +CONFIG_IRQSTACKS=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_WORK=y +# CONFIG_ISDN is not set +CONFIG_JBD2=y +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_KCMP=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_XZ is not set +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=y +CONFIG_KMAP_LOCAL=y +CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +CONFIG_LEDS_TRIGGER_CAMERA=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_TRANSIENT=y +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_MACB=y +# CONFIG_MACB_PCI is not set +CONFIG_MACB_USE_HWSTAMP=y +CONFIG_MARVELL_PHY=y +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +# CONFIG_MDIO_GPIO is not set +CONFIG_MEMORY=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_MFD_CORE=y +CONFIG_MFD_SYSCON=y +CONFIG_MFD_VEXPRESS_SYSREG=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGRATION=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_CQHCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_OF_ARASAN=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_STRIPPED is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_CYPRESS=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SMBUS=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MTD_CFI_INTELEXT is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_SPLIT_FIRMWARE=y +# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SRCU_NMI_SAFE=y +CONFIG_NEON=y +CONFIG_NET_EGRESS=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_INGRESS=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_SELFTESTS=y +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set +CONFIG_NET_XGRESS=y +CONFIG_NLS=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_IOPORT_MAP=y +CONFIG_NR_CPUS=4 +CONFIG_NVMEM=y +CONFIG_NVMEM_LAYOUTS=y +CONFIG_NVMEM_SYSFS=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +# CONFIG_OF_FPGA_REGION is not set +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_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PCI=y +CONFIG_PCIE_XILINX=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_MSI=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLIB_LEDS=y +CONFIG_PHYLINK=y +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PINCTRL_ZYNQ=y +CONFIG_PL310_ERRATA_588369=y +CONFIG_PL310_ERRATA_727915=y +CONFIG_PL310_ERRATA_753970=y +CONFIG_PL310_ERRATA_769419=y +CONFIG_PL330_DMA=y +# CONFIG_PL353_SMC is not set +CONFIG_PLAT_VERSATILE=y +CONFIG_PM=y +CONFIG_PMBUS=y +CONFIG_PM_CLK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_VEXPRESS=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPS=y +CONFIG_PREEMPT_NONE_BUILD=y +CONFIG_PROC_EVENTS=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_R8169=y +CONFIG_R8169_LEDS=y +CONFIG_RANDSTRUCT_NONE=y +CONFIG_RAS=y +CONFIG_RATIONAL=y +CONFIG_REALTEK_PHY=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VEXPRESS is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_ZYNQ=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +# CONFIG_SCHED_CORE is not set +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_SENSORS_PMBUS=y +CONFIG_SENSORS_UCD9000=y +CONFIG_SENSORS_UCD9200=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SERIO=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_SERPORT=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOC_BUS=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_CADENCE=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_XILINX=y +CONFIG_SPI_ZYNQ_QSPI=y +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +CONFIG_SRAM=y +CONFIG_SRAM_EXEC=y +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWPHY=y +CONFIG_SWP_EMULATE=y +CONFIG_SYNC_FILE=y +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_TEXTSEARCH is not set +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_THREAD_INFO_IN_TASK=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UIO=y +# CONFIG_UIO_AEC is not set +# CONFIG_UIO_CIF is not set +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_UIO_MF624 is not set +# CONFIG_UIO_NETX is not set +# CONFIG_UIO_PCI_GENERIC is not set +CONFIG_UIO_PDRV_GENIRQ=y +# CONFIG_UIO_PRUSS is not set +# CONFIG_UIO_SERCOS3 is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_UNWINDER_ARM=y +CONFIG_USB=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_XILINX=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_PHY=y +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_BUS=y +CONFIG_USB_ULPI_VIEWPORT=y +CONFIG_USE_OF=y +CONFIG_VEXPRESS_CONFIG=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_CMDLINE=y +CONFIG_VIDEO_NOMODESET=y +CONFIG_VITESSE_PHY=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_WATCHDOG_CORE=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_XILINX_EMACLITE=y +# CONFIG_XILINX_PR_DECOUPLER is not set +CONFIG_XILINX_WATCHDOG=y +CONFIG_XILINX_XADC=y +CONFIG_XPS=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_X86=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/zynq/image/Makefile b/target/linux/zynq/image/Makefile index 0931871624e96d..50301cf2a834ae 100644 --- a/target/linux/zynq/image/Makefile +++ b/target/linux/zynq/image/Makefile @@ -29,6 +29,9 @@ endef define Device/Default PROFILES := Default +ifdef CONFIG_LINUX_6_6 + DTS_DIR := $(DTS_DIR)/xilinx +endif DEVICE_DTS := $(lastword $(subst _, ,$(1))) KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) KERNEL_LOADADDR := 0x8000