diff --git a/include/kernel-5.10 b/include/kernel-5.10 index 785ced909102e6..794011133bbc25 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .191 -LINUX_KERNEL_HASH-5.10.191 = cb54660ed4917cc4f9a9ab93d117defefd8bcbe745ec6082d909bbfd5ae962c2 +LINUX_VERSION-5.10 = .197 +LINUX_KERNEL_HASH-5.10.197 = 183a4507b0ebec7816a79ceba6253aa7ad345e25b0fcd4e834ee154be9a993ab diff --git a/include/kernel-5.15 b/include/kernel-5.15 index c1c1e791f71873..06bcb632e3367b 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .127 -LINUX_KERNEL_HASH-5.15.127 = add0a575341b263a06e93599fc220a5dd34cb4ca5b9d05097a5db2a061928f26 +LINUX_VERSION-5.15 = .133 +LINUX_KERNEL_HASH-5.15.133 = ef845e7934897b88e4448378ea9daacac19e07f156fe904844fab0a7d8ff5ddd diff --git a/include/kernel-5.4 b/include/kernel-5.4 index 9188e0617c2cdd..7ce385e9ff3ef9 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .255 -LINUX_KERNEL_HASH-5.4.255 = 34d5ed902f47d90f27b9d5d6b8db0d3fa660834111f9452e166d920968a4a061 +LINUX_VERSION-5.4 = .257 +LINUX_KERNEL_HASH-5.4.257 = 2e775970521ea7ff6eb613fc85a6e34cec73feaeb67b88a77a2fbd4f75483df0 diff --git a/include/kernel-6.1 b/include/kernel-6.1 index cc106e2572f4a6..0354d642c8550c 100644 --- a/include/kernel-6.1 +++ b/include/kernel-6.1 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.1 = .52 -LINUX_KERNEL_HASH-6.1.52 = 567737990dbc9265966a0786392821a9fa559fd346494fd1eff050dbeb383a52 +LINUX_VERSION-6.1 = .56 +LINUX_KERNEL_HASH-6.1.56 = 9edefdde32c2298389dcd19566402332b3c2016f5ada17e5820f500b908d478c diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index 4c32f678c10adf..e892c6620a1ac4 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -287,6 +287,17 @@ define U-Boot/r66s-rk3568 DDR:=rk3568_ddr_1560MHz_v1.18.bin endef +define U-Boot/seewo-sv21-rk3568 + BUILD_SUBTARGET:=armv8 + NAME:=Seewo sv21-rk3568 + BUILD_DEVICES:= \ + seewo_sv21-rk3568 + DEPENDS:=+PACKAGE_u-boot-seewo-sv21-rk3568:arm-trusted-firmware-rk3568 + PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor + ATF:=rk3568_bl31_v1.43.elf + DDR:=rk3568_ddr_1560MHz_v1.18.bin +endef + define U-Boot/station-p2-rk3568 BUILD_SUBTARGET:=armv8 NAME:=StationP2 @@ -306,6 +317,7 @@ UBOOT_TARGETS := \ radxa-e25-rk3568 \ rock-3a-rk3568 \ r66s-rk3568 \ + seewo-sv21-rk3568 \ station-p2-rk3568 \ panther-x2-rk3566 \ sharevdi-h3399pc-rk3399 \ diff --git a/package/boot/uboot-rockchip/patches/317-rockchip-rk3566-Add-support-for-seewo-sv21-3568.patch b/package/boot/uboot-rockchip/patches/317-rockchip-rk3566-Add-support-for-seewo-sv21-3568.patch new file mode 100644 index 00000000000000..3a54cb9c342f00 --- /dev/null +++ b/package/boot/uboot-rockchip/patches/317-rockchip-rk3566-Add-support-for-seewo-sv21-3568.patch @@ -0,0 +1,90 @@ +--- /dev/null ++++ b/configs/seewo-sv21-rk3568_defconfig +@@ -0,0 +1,87 @@ ++CONFIG_ARM=y ++CONFIG_SKIP_LOWLEVEL_INIT=y ++CONFIG_COUNTER_FREQUENCY=24000000 ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_TEXT_BASE=0x00a00000 ++CONFIG_SPL_LIBCOMMON_SUPPORT=y ++CONFIG_SPL_LIBGENERIC_SUPPORT=y ++CONFIG_NR_DRAM_BANKS=2 ++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y ++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000 ++CONFIG_DEFAULT_DEVICE_TREE="rk3568-evb" ++CONFIG_ROCKCHIP_RK3568=y ++CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y ++CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y ++CONFIG_SPL_MMC=y ++CONFIG_SPL_SERIAL=y ++CONFIG_SPL_STACK_R_ADDR=0x600000 ++CONFIG_TARGET_EVB_RK3568=y ++CONFIG_SPL_STACK=0x400000 ++CONFIG_DEBUG_UART_BASE=0xFE660000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_SYS_LOAD_ADDR=0xc00800 ++CONFIG_DEBUG_UART=y ++CONFIG_FIT=y ++CONFIG_FIT_VERBOSE=y ++CONFIG_SPL_LOAD_FIT=y ++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-evb.dtb" ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_DISPLAY_BOARDINFO_LATE=y ++CONFIG_SPL_MAX_SIZE=0x40000 ++CONFIG_SPL_PAD_TO=0x7f8000 ++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y ++CONFIG_SPL_BSS_START_ADDR=0x4000000 ++CONFIG_SPL_BSS_MAX_SIZE=0x4000 ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set ++CONFIG_SPL_STACK_R=y ++CONFIG_SPL_ATF=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_I2C=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_REGULATOR=y ++# CONFIG_CMD_SETEXPR is not set ++# CONFIG_SPL_DOS_PARTITION is not set ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_OF_LIVE=y ++CONFIG_NET_RANDOM_ETHADDR=y ++CONFIG_SPL_REGMAP=y ++CONFIG_SPL_SYSCON=y ++CONFIG_SPL_CLK=y ++CONFIG_CLK_SCMI=y ++CONFIG_RESET_SCMI=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_MISC=y ++CONFIG_SUPPORT_EMMC_RPMB=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_ETH_DESIGNWARE=y ++CONFIG_GMAC_ROCKCHIP=y ++CONFIG_DM_PMIC=y ++CONFIG_PMIC_RK8XX=y ++CONFIG_SPL_PMIC_RK8XX=y ++CONFIG_PHY_ROCKCHIP_INNO_USB2=y ++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_REGULATOR_RK8XX=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_SPL_RAM=y ++CONFIG_DM_RESET=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_SYS_NS16550_MEM32=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_USB_DWC3_GENERIC=y ++CONFIG_ERRNO_STR=y diff --git a/package/lean/default-settings/Makefile b/package/lean/default-settings/Makefile index dec131e020b901..5da6c270767967 100644 --- a/package/lean/default-settings/Makefile +++ b/package/lean/default-settings/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=default-settings PKG_VERSION:=3 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_LICENSE:=GPLv3 PKG_LICENSE_FILES:=LICENSE diff --git a/package/lean/default-settings/files/zzz-default-settings b/package/lean/default-settings/files/zzz-default-settings index 0ade31379ae6a2..1bacb6667148ec 100755 --- a/package/lean/default-settings/files/zzz-default-settings +++ b/package/lean/default-settings/files/zzz-default-settings @@ -51,7 +51,7 @@ sed -i '/option disabled/d' /etc/config/wireless sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release -echo "DISTRIB_REVISION='R23.9.18'" >> /etc/openwrt_release +echo "DISTRIB_REVISION='R23.10.1'" >> /etc/openwrt_release sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index fa0791f62fb9ec..f0ef1e80696584 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssl -PKG_VERSION:=3.0.10 +PKG_VERSION:=3.0.11 PKG_RELEASE:=1 PKG_USE_MIPS16:=0 PKG_BUILD_FLAGS:=gc-sections no-lto @@ -27,7 +27,7 @@ PKG_SOURCE_URL:= \ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/ -PKG_HASH:=1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323 +PKG_HASH:=b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/target/linux/generic/backport-5.15/798-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch b/target/linux/generic/backport-5.15/798-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch new file mode 100644 index 00000000000000..d6015a56584143 --- /dev/null +++ b/target/linux/generic/backport-5.15/798-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch @@ -0,0 +1,34 @@ +From d387e34fec407f881fdf165b5d7ec128ebff362f Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Tue, 19 Sep 2023 14:47:20 +0200 +Subject: [PATCH] net: sfp: add quirk for Fiberstone GPON-ONU-34-20BI + +Fiberstone GPON-ONU-34-20B can operate at 2500base-X, but report 1.2GBd +NRZ in their EEPROM. + +The module also require the ignore tx fault fixup similar to Huawei MA5671A +as it gets disabled on error messages with serial redirection enabled. + +Signed-off-by: Christian Marangi +Link: https://lore.kernel.org/r/20230919124720.8210-1-ansuelsmth@gmail.com +Signed-off-by: Paolo Abeni +--- + drivers/net/phy/sfp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -368,6 +368,13 @@ static const struct sfp_quirk sfp_quirks + .modes = sfp_quirk_2500basex, + .fixup = sfp_fixup_long_startup, + }, { ++ // Fiberstore GPON-ONU-34-20BI can operate at 2500base-X, but report 1.2GBd ++ // NRZ in their EEPROM ++ .vendor = "FS", ++ .part = "GPON-ONU-34-20BI", ++ .modes = sfp_quirk_2500basex, ++ .fixup = sfp_fixup_ignore_tx_fault, ++ }, { + .vendor = "HALNy", + .part = "HL-GSFP", + .fixup = sfp_fixup_halny_gsfp, diff --git a/target/linux/generic/backport-6.1/020-v6.3-01-UPSTREAM-mm-multi-gen-LRU-rename-lru_gen_struct-to-l.patch b/target/linux/generic/backport-6.1/020-v6.3-01-UPSTREAM-mm-multi-gen-LRU-rename-lru_gen_struct-to-l.patch index 9d21f8de22fd68..fe32acc9851223 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-01-UPSTREAM-mm-multi-gen-LRU-rename-lru_gen_struct-to-l.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-01-UPSTREAM-mm-multi-gen-LRU-rename-lru_gen_struct-to-l.patch @@ -256,9 +256,9 @@ Signed-off-by: T.J. Mercier - struct lru_gen_struct *lrugen = &lruvec->lrugen; + struct lru_gen_folio *lrugen = &lruvec->lrugen; + restart: spin_lock_irq(&lruvec->lru_lock); - -@@ -4387,7 +4387,7 @@ static bool try_to_inc_max_seq(struct lr +@@ -4389,7 +4389,7 @@ static bool try_to_inc_max_seq(struct lr bool success; struct lru_gen_mm_walk *walk; struct mm_struct *mm = NULL; @@ -267,7 +267,7 @@ Signed-off-by: T.J. Mercier VM_WARN_ON_ONCE(max_seq > READ_ONCE(lrugen->max_seq)); -@@ -4452,7 +4452,7 @@ static bool should_run_aging(struct lruv +@@ -4454,7 +4454,7 @@ static bool should_run_aging(struct lruv unsigned long old = 0; unsigned long young = 0; unsigned long total = 0; @@ -276,7 +276,7 @@ Signed-off-by: T.J. Mercier struct mem_cgroup *memcg = lruvec_memcg(lruvec); for (type = !can_swap; type < ANON_AND_FILE; type++) { -@@ -4737,7 +4737,7 @@ static bool sort_folio(struct lruvec *lr +@@ -4740,7 +4740,7 @@ static bool sort_folio(struct lruvec *lr int delta = folio_nr_pages(folio); int refs = folio_lru_refs(folio); int tier = lru_tier_from_refs(refs); @@ -285,7 +285,7 @@ Signed-off-by: T.J. Mercier VM_WARN_ON_ONCE_FOLIO(gen >= MAX_NR_GENS, folio); -@@ -4837,7 +4837,7 @@ static int scan_folios(struct lruvec *lr +@@ -4848,7 +4848,7 @@ static int scan_folios(struct lruvec *lr int scanned = 0; int isolated = 0; int remaining = MAX_LRU_BATCH; @@ -294,7 +294,7 @@ Signed-off-by: T.J. Mercier struct mem_cgroup *memcg = lruvec_memcg(lruvec); VM_WARN_ON_ONCE(!list_empty(list)); -@@ -5237,7 +5237,7 @@ done: +@@ -5249,7 +5249,7 @@ done: static bool __maybe_unused state_is_valid(struct lruvec *lruvec) { @@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier if (lrugen->enabled) { enum lru_list lru; -@@ -5519,7 +5519,7 @@ static void lru_gen_seq_show_full(struct +@@ -5531,7 +5531,7 @@ static void lru_gen_seq_show_full(struct int i; int type, tier; int hist = lru_hist_from_seq(seq); @@ -312,7 +312,7 @@ Signed-off-by: T.J. Mercier for (tier = 0; tier < MAX_NR_TIERS; tier++) { seq_printf(m, " %10d", tier); -@@ -5569,7 +5569,7 @@ static int lru_gen_seq_show(struct seq_f +@@ -5581,7 +5581,7 @@ static int lru_gen_seq_show(struct seq_f unsigned long seq; bool full = !debugfs_real_fops(m->file)->write; struct lruvec *lruvec = v; @@ -321,7 +321,7 @@ Signed-off-by: T.J. Mercier int nid = lruvec_pgdat(lruvec)->node_id; struct mem_cgroup *memcg = lruvec_memcg(lruvec); DEFINE_MAX_SEQ(lruvec); -@@ -5823,7 +5823,7 @@ void lru_gen_init_lruvec(struct lruvec * +@@ -5835,7 +5835,7 @@ void lru_gen_init_lruvec(struct lruvec * { int i; int gen, type, zone; diff --git a/target/linux/generic/backport-6.1/020-v6.3-02-UPSTREAM-mm-multi-gen-LRU-rename-lrugen-lists-to-lru.patch b/target/linux/generic/backport-6.1/020-v6.3-02-UPSTREAM-mm-multi-gen-LRU-rename-lrugen-lists-to-lru.patch deleted file mode 100644 index 97ea33c528b879..00000000000000 --- a/target/linux/generic/backport-6.1/020-v6.3-02-UPSTREAM-mm-multi-gen-LRU-rename-lrugen-lists-to-lru.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 656287d55d9cfc72a4bcd4d9bd098570f12ce409 Mon Sep 17 00:00:00 2001 -From: Yu Zhao -Date: Wed, 21 Dec 2022 21:19:00 -0700 -Subject: [PATCH 02/19] UPSTREAM: mm: multi-gen LRU: rename lrugen->lists[] to - lrugen->folios[] - -lru_gen_folio will be chained into per-node lists by the coming -lrugen->list. - -Link: https://lkml.kernel.org/r/20221222041905.2431096-3-yuzhao@google.com -Signed-off-by: Yu Zhao -Cc: Johannes Weiner -Cc: Jonathan Corbet -Cc: Michael Larabel -Cc: Michal Hocko -Cc: Mike Rapoport -Cc: Roman Gushchin -Cc: Suren Baghdasaryan -Signed-off-by: Andrew Morton -Bug: 274865848 -(cherry picked from commit 6df1b2212950aae2b2188c6645ea18e2a9e3fdd5) -Change-Id: I09f53e0fb2cd6b8b3adbb8a80b15dc5efbeae857 -Signed-off-by: T.J. Mercier ---- - Documentation/mm/multigen_lru.rst | 8 ++++---- - include/linux/mm_inline.h | 4 ++-- - include/linux/mmzone.h | 8 ++++---- - mm/vmscan.c | 20 ++++++++++---------- - 4 files changed, 20 insertions(+), 20 deletions(-) - ---- a/Documentation/mm/multigen_lru.rst -+++ b/Documentation/mm/multigen_lru.rst -@@ -89,15 +89,15 @@ variables are monotonically increasing. - - Generation numbers are truncated into ``order_base_2(MAX_NR_GENS+1)`` - bits in order to fit into the gen counter in ``folio->flags``. Each --truncated generation number is an index to ``lrugen->lists[]``. The -+truncated generation number is an index to ``lrugen->folios[]``. The - sliding window technique is used to track at least ``MIN_NR_GENS`` and - at most ``MAX_NR_GENS`` generations. The gen counter stores a value - within ``[1, MAX_NR_GENS]`` while a page is on one of --``lrugen->lists[]``; otherwise it stores zero. -+``lrugen->folios[]``; otherwise it stores zero. - - Each generation is divided into multiple tiers. A page accessed ``N`` - times through file descriptors is in tier ``order_base_2(N)``. Unlike --generations, tiers do not have dedicated ``lrugen->lists[]``. In -+generations, tiers do not have dedicated ``lrugen->folios[]``. In - contrast to moving across generations, which requires the LRU lock, - moving across tiers only involves atomic operations on - ``folio->flags`` and therefore has a negligible cost. A feedback loop -@@ -127,7 +127,7 @@ page mapped by this PTE to ``(max_seq%MA - Eviction - -------- - The eviction consumes old generations. Given an ``lruvec``, it --increments ``min_seq`` when ``lrugen->lists[]`` indexed by -+increments ``min_seq`` when ``lrugen->folios[]`` indexed by - ``min_seq%MAX_NR_GENS`` becomes empty. To select a type and a tier to - evict from, it first compares ``min_seq[]`` to select the older type. - If both types are equally old, it selects the one whose first tier has ---- a/include/linux/mm_inline.h -+++ b/include/linux/mm_inline.h -@@ -256,9 +256,9 @@ static inline bool lru_gen_add_folio(str - lru_gen_update_size(lruvec, folio, -1, gen); - /* for folio_rotate_reclaimable() */ - if (reclaiming) -- list_add_tail(&folio->lru, &lrugen->lists[gen][type][zone]); -+ list_add_tail(&folio->lru, &lrugen->folios[gen][type][zone]); - else -- list_add(&folio->lru, &lrugen->lists[gen][type][zone]); -+ list_add(&folio->lru, &lrugen->folios[gen][type][zone]); - - return true; - } ---- a/include/linux/mmzone.h -+++ b/include/linux/mmzone.h -@@ -312,7 +312,7 @@ enum lruvec_flags { - * They form a sliding window of a variable size [MIN_NR_GENS, MAX_NR_GENS]. An - * offset within MAX_NR_GENS, i.e., gen, indexes the LRU list of the - * corresponding generation. The gen counter in folio->flags stores gen+1 while -- * a page is on one of lrugen->lists[]. Otherwise it stores 0. -+ * a page is on one of lrugen->folios[]. Otherwise it stores 0. - * - * A page is added to the youngest generation on faulting. The aging needs to - * check the accessed bit at least twice before handing this page over to the -@@ -324,8 +324,8 @@ enum lruvec_flags { - * rest of generations, if they exist, are considered inactive. See - * lru_gen_is_active(). - * -- * PG_active is always cleared while a page is on one of lrugen->lists[] so that -- * the aging needs not to worry about it. And it's set again when a page -+ * PG_active is always cleared while a page is on one of lrugen->folios[] so -+ * that the aging needs not to worry about it. And it's set again when a page - * considered active is isolated for non-reclaiming purposes, e.g., migration. - * See lru_gen_add_folio() and lru_gen_del_folio(). - * -@@ -412,7 +412,7 @@ struct lru_gen_folio { - /* the birth time of each generation in jiffies */ - unsigned long timestamps[MAX_NR_GENS]; - /* the multi-gen LRU lists, lazily sorted on eviction */ -- struct list_head lists[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES]; -+ struct list_head folios[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES]; - /* the multi-gen LRU sizes, eventually consistent */ - long nr_pages[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES]; - /* the exponential moving average of refaulted */ ---- a/mm/vmscan.c -+++ b/mm/vmscan.c -@@ -4258,7 +4258,7 @@ static bool inc_min_seq(struct lruvec *l - - /* prevent cold/hot inversion if force_scan is true */ - for (zone = 0; zone < MAX_NR_ZONES; zone++) { -- struct list_head *head = &lrugen->lists[old_gen][type][zone]; -+ struct list_head *head = &lrugen->folios[old_gen][type][zone]; - - while (!list_empty(head)) { - struct folio *folio = lru_to_folio(head); -@@ -4269,7 +4269,7 @@ static bool inc_min_seq(struct lruvec *l - VM_WARN_ON_ONCE_FOLIO(folio_zonenum(folio) != zone, folio); - - new_gen = folio_inc_gen(lruvec, folio, false); -- list_move_tail(&folio->lru, &lrugen->lists[new_gen][type][zone]); -+ list_move_tail(&folio->lru, &lrugen->folios[new_gen][type][zone]); - - if (!--remaining) - return false; -@@ -4297,7 +4297,7 @@ static bool try_to_inc_min_seq(struct lr - gen = lru_gen_from_seq(min_seq[type]); - - for (zone = 0; zone < MAX_NR_ZONES; zone++) { -- if (!list_empty(&lrugen->lists[gen][type][zone])) -+ if (!list_empty(&lrugen->folios[gen][type][zone])) - goto next; - } - -@@ -4762,7 +4762,7 @@ static bool sort_folio(struct lruvec *lr - - /* promoted */ - if (gen != lru_gen_from_seq(lrugen->min_seq[type])) { -- list_move(&folio->lru, &lrugen->lists[gen][type][zone]); -+ list_move(&folio->lru, &lrugen->folios[gen][type][zone]); - return true; - } - -@@ -4771,7 +4771,7 @@ static bool sort_folio(struct lruvec *lr - int hist = lru_hist_from_seq(lrugen->min_seq[type]); - - gen = folio_inc_gen(lruvec, folio, false); -- list_move_tail(&folio->lru, &lrugen->lists[gen][type][zone]); -+ list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]); - - WRITE_ONCE(lrugen->protected[hist][type][tier - 1], - lrugen->protected[hist][type][tier - 1] + delta); -@@ -4783,7 +4783,7 @@ static bool sort_folio(struct lruvec *lr - if (folio_test_locked(folio) || folio_test_writeback(folio) || - (type == LRU_GEN_FILE && folio_test_dirty(folio))) { - gen = folio_inc_gen(lruvec, folio, true); -- list_move(&folio->lru, &lrugen->lists[gen][type][zone]); -+ list_move(&folio->lru, &lrugen->folios[gen][type][zone]); - return true; - } - -@@ -4850,7 +4850,7 @@ static int scan_folios(struct lruvec *lr - for (zone = sc->reclaim_idx; zone >= 0; zone--) { - LIST_HEAD(moved); - int skipped = 0; -- struct list_head *head = &lrugen->lists[gen][type][zone]; -+ struct list_head *head = &lrugen->folios[gen][type][zone]; - - while (!list_empty(head)) { - struct folio *folio = lru_to_folio(head); -@@ -5250,7 +5250,7 @@ static bool __maybe_unused state_is_vali - int gen, type, zone; - - for_each_gen_type_zone(gen, type, zone) { -- if (!list_empty(&lrugen->lists[gen][type][zone])) -+ if (!list_empty(&lrugen->folios[gen][type][zone])) - return false; - } - } -@@ -5295,7 +5295,7 @@ static bool drain_evictable(struct lruve - int remaining = MAX_LRU_BATCH; - - for_each_gen_type_zone(gen, type, zone) { -- struct list_head *head = &lruvec->lrugen.lists[gen][type][zone]; -+ struct list_head *head = &lruvec->lrugen.folios[gen][type][zone]; - - while (!list_empty(head)) { - bool success; -@@ -5832,7 +5832,7 @@ void lru_gen_init_lruvec(struct lruvec * - lrugen->timestamps[i] = jiffies; - - for_each_gen_type_zone(gen, type, zone) -- INIT_LIST_HEAD(&lrugen->lists[gen][type][zone]); -+ INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]); - - lruvec->mm_state.seq = MIN_NR_GENS; - init_waitqueue_head(&lruvec->mm_state.wait); diff --git a/target/linux/generic/backport-6.1/020-v6.3-03-UPSTREAM-mm-multi-gen-LRU-remove-eviction-fairness-s.patch b/target/linux/generic/backport-6.1/020-v6.3-03-UPSTREAM-mm-multi-gen-LRU-remove-eviction-fairness-s.patch index a5e4ad557f862c..e5ad78b61d3563 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-03-UPSTREAM-mm-multi-gen-LRU-remove-eviction-fairness-s.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-03-UPSTREAM-mm-multi-gen-LRU-remove-eviction-fairness-s.patch @@ -66,7 +66,7 @@ Signed-off-by: T.J. Mercier static bool writeback_throttling_sane(struct scan_control *sc) { return true; -@@ -4993,8 +5003,7 @@ static int isolate_folios(struct lruvec +@@ -5005,8 +5015,7 @@ static int isolate_folios(struct lruvec return scanned; } @@ -76,7 +76,7 @@ Signed-off-by: T.J. Mercier { int type; int scanned; -@@ -5083,9 +5092,6 @@ retry: +@@ -5095,9 +5104,6 @@ retry: goto retry; } @@ -86,7 +86,7 @@ Signed-off-by: T.J. Mercier return scanned; } -@@ -5124,67 +5130,26 @@ done: +@@ -5136,67 +5142,26 @@ done: return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0; } @@ -163,7 +163,7 @@ Signed-off-by: T.J. Mercier lru_add_drain(); -@@ -5208,7 +5173,7 @@ static void lru_gen_shrink_lruvec(struct +@@ -5220,7 +5185,7 @@ static void lru_gen_shrink_lruvec(struct if (!nr_to_scan) goto done; @@ -172,7 +172,7 @@ Signed-off-by: T.J. Mercier if (!delta) goto done; -@@ -5216,7 +5181,7 @@ static void lru_gen_shrink_lruvec(struct +@@ -5228,7 +5193,7 @@ static void lru_gen_shrink_lruvec(struct if (scanned >= nr_to_scan) break; @@ -181,7 +181,7 @@ Signed-off-by: T.J. Mercier break; cond_resched(); -@@ -5666,7 +5631,7 @@ static int run_eviction(struct lruvec *l +@@ -5678,7 +5643,7 @@ static int run_eviction(struct lruvec *l if (sc->nr_reclaimed >= nr_to_reclaim) return 0; diff --git a/target/linux/generic/backport-6.1/020-v6.3-04-BACKPORT-mm-multi-gen-LRU-remove-aging-fairness-safe.patch b/target/linux/generic/backport-6.1/020-v6.3-04-BACKPORT-mm-multi-gen-LRU-remove-aging-fairness-safe.patch index 87ed87a52d08be..cb349abcdb6c6c 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-04-BACKPORT-mm-multi-gen-LRU-remove-aging-fairness-safe.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-04-BACKPORT-mm-multi-gen-LRU-remove-aging-fairness-safe.patch @@ -52,7 +52,7 @@ Signed-off-by: T.J. Mercier unsigned long last_reclaimed; #endif -@@ -4455,7 +4454,7 @@ done: +@@ -4457,7 +4456,7 @@ done: return true; } @@ -61,7 +61,7 @@ Signed-off-by: T.J. Mercier struct scan_control *sc, bool can_swap, unsigned long *nr_to_scan) { int gen, type, zone; -@@ -4464,6 +4463,13 @@ static bool should_run_aging(struct lruv +@@ -4466,6 +4465,13 @@ static bool should_run_aging(struct lruv unsigned long total = 0; struct lru_gen_folio *lrugen = &lruvec->lrugen; struct mem_cgroup *memcg = lruvec_memcg(lruvec); @@ -75,7 +75,7 @@ Signed-off-by: T.J. Mercier for (type = !can_swap; type < ANON_AND_FILE; type++) { unsigned long seq; -@@ -4492,8 +4498,6 @@ static bool should_run_aging(struct lruv +@@ -4494,8 +4500,6 @@ static bool should_run_aging(struct lruv * stalls when the number of generations reaches MIN_NR_GENS. Hence, the * ideal number of generations is MIN_NR_GENS+1. */ @@ -84,7 +84,7 @@ Signed-off-by: T.J. Mercier if (min_seq[!can_swap] + MIN_NR_GENS < max_seq) return false; -@@ -4512,40 +4516,54 @@ static bool should_run_aging(struct lruv +@@ -4514,40 +4518,54 @@ static bool should_run_aging(struct lruv return false; } @@ -160,7 +160,7 @@ Signed-off-by: T.J. Mercier } /* to protect the working set of the last N jiffies */ -@@ -4554,46 +4572,32 @@ static unsigned long lru_gen_min_ttl __r +@@ -4556,46 +4574,32 @@ static unsigned long lru_gen_min_ttl __r static void lru_gen_age_node(struct pglist_data *pgdat, struct scan_control *sc) { struct mem_cgroup *memcg; @@ -214,7 +214,7 @@ Signed-off-by: T.J. Mercier */ if (mutex_trylock(&oom_lock)) { struct oom_control oc = { -@@ -5101,33 +5105,27 @@ retry: +@@ -5113,33 +5117,27 @@ retry: * reclaim. */ static unsigned long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc, @@ -254,7 +254,7 @@ Signed-off-by: T.J. Mercier } static unsigned long get_nr_to_reclaim(struct scan_control *sc) -@@ -5146,9 +5144,7 @@ static unsigned long get_nr_to_reclaim(s +@@ -5158,9 +5156,7 @@ static unsigned long get_nr_to_reclaim(s static void lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) { struct blk_plug plug; @@ -264,7 +264,7 @@ Signed-off-by: T.J. Mercier unsigned long nr_to_reclaim = get_nr_to_reclaim(sc); lru_add_drain(); -@@ -5169,13 +5165,13 @@ static void lru_gen_shrink_lruvec(struct +@@ -5181,13 +5177,13 @@ static void lru_gen_shrink_lruvec(struct else swappiness = 0; @@ -281,7 +281,7 @@ Signed-off-by: T.J. Mercier scanned += delta; if (scanned >= nr_to_scan) -@@ -5187,10 +5183,6 @@ static void lru_gen_shrink_lruvec(struct +@@ -5199,10 +5195,6 @@ static void lru_gen_shrink_lruvec(struct cond_resched(); } diff --git a/target/linux/generic/backport-6.1/020-v6.3-05-UPSTREAM-mm-multi-gen-LRU-shuffle-should_run_aging.patch b/target/linux/generic/backport-6.1/020-v6.3-05-UPSTREAM-mm-multi-gen-LRU-shuffle-should_run_aging.patch index 857072296bfb83..42caab7c3785e2 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-05-UPSTREAM-mm-multi-gen-LRU-shuffle-should_run_aging.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-05-UPSTREAM-mm-multi-gen-LRU-shuffle-should_run_aging.patch @@ -26,7 +26,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4454,68 +4454,6 @@ done: +@@ -4456,68 +4456,6 @@ done: return true; } @@ -95,7 +95,7 @@ Signed-off-by: T.J. Mercier static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc) { int gen, type, zone; -@@ -5099,6 +5037,68 @@ retry: +@@ -5111,6 +5049,68 @@ retry: return scanned; } diff --git a/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch b/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch index 87e7c49a766fda..ef98d52b78d616 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch @@ -76,7 +76,7 @@ Signed-off-by: T.J. Mercier --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h -@@ -790,6 +790,11 @@ static inline void obj_cgroup_put(struct +@@ -795,6 +795,11 @@ static inline void obj_cgroup_put(struct percpu_ref_put(&objcg->refcnt); } @@ -88,7 +88,7 @@ Signed-off-by: T.J. Mercier static inline void mem_cgroup_put(struct mem_cgroup *memcg) { if (memcg) -@@ -1290,6 +1295,11 @@ static inline void obj_cgroup_put(struct +@@ -1295,6 +1300,11 @@ static inline void obj_cgroup_put(struct { } @@ -402,7 +402,7 @@ Signed-off-by: T.J. Mercier static struct lruvec *get_lruvec(struct mem_cgroup *memcg, int nid) { struct pglist_data *pgdat = NODE_DATA(nid); -@@ -4440,8 +4440,7 @@ done: +@@ -4442,8 +4442,7 @@ done: if (sc->priority <= DEF_PRIORITY - 2) wait_event_killable(lruvec->mm_state.wait, max_seq < READ_ONCE(lrugen->max_seq)); @@ -412,7 +412,7 @@ Signed-off-by: T.J. Mercier } VM_WARN_ON_ONCE(max_seq != READ_ONCE(lrugen->max_seq)); -@@ -4514,8 +4513,6 @@ static void lru_gen_age_node(struct pgli +@@ -4516,8 +4515,6 @@ static void lru_gen_age_node(struct pgli VM_WARN_ON_ONCE(!current_is_kswapd()); @@ -421,7 +421,7 @@ Signed-off-by: T.J. Mercier /* check the order to exclude compaction-induced reclaim */ if (!min_ttl || sc->order || sc->priority == DEF_PRIORITY) return; -@@ -5104,8 +5101,7 @@ static bool should_run_aging(struct lruv +@@ -5116,8 +5113,7 @@ static bool should_run_aging(struct lruv * 1. Defer try_to_inc_max_seq() to workqueues to reduce latency for memcg * reclaim. */ @@ -431,7 +431,7 @@ Signed-off-by: T.J. Mercier { unsigned long nr_to_scan; struct mem_cgroup *memcg = lruvec_memcg(lruvec); -@@ -5122,10 +5118,8 @@ static unsigned long get_nr_to_scan(stru +@@ -5134,10 +5130,8 @@ static unsigned long get_nr_to_scan(stru if (sc->priority == DEF_PRIORITY) return nr_to_scan; @@ -443,7 +443,7 @@ Signed-off-by: T.J. Mercier } static unsigned long get_nr_to_reclaim(struct scan_control *sc) -@@ -5134,29 +5128,18 @@ static unsigned long get_nr_to_reclaim(s +@@ -5146,29 +5140,18 @@ static unsigned long get_nr_to_reclaim(s if (!global_reclaim(sc)) return -1; @@ -475,7 +475,7 @@ Signed-off-by: T.J. Mercier if (sc->may_swap) swappiness = get_swappiness(lruvec, sc); -@@ -5166,7 +5149,7 @@ static void lru_gen_shrink_lruvec(struct +@@ -5178,7 +5161,7 @@ static void lru_gen_shrink_lruvec(struct swappiness = 0; nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness); @@ -484,7 +484,7 @@ Signed-off-by: T.J. Mercier break; delta = evict_folios(lruvec, sc, swappiness); -@@ -5183,10 +5166,251 @@ static void lru_gen_shrink_lruvec(struct +@@ -5195,10 +5178,251 @@ static void lru_gen_shrink_lruvec(struct cond_resched(); } @@ -736,7 +736,7 @@ Signed-off-by: T.J. Mercier /****************************************************************************** * state change -@@ -5644,11 +5868,11 @@ static int run_cmd(char cmd, int memcg_i +@@ -5656,11 +5880,11 @@ static int run_cmd(char cmd, int memcg_i if (!mem_cgroup_disabled()) { rcu_read_lock(); @@ -751,7 +751,7 @@ Signed-off-by: T.J. Mercier rcu_read_unlock(); if (!memcg) -@@ -5796,6 +6020,19 @@ void lru_gen_init_lruvec(struct lruvec * +@@ -5808,6 +6032,19 @@ void lru_gen_init_lruvec(struct lruvec * } #ifdef CONFIG_MEMCG @@ -771,7 +771,7 @@ Signed-off-by: T.J. Mercier void lru_gen_init_memcg(struct mem_cgroup *memcg) { INIT_LIST_HEAD(&memcg->mm_list.fifo); -@@ -5819,7 +6056,69 @@ void lru_gen_exit_memcg(struct mem_cgrou +@@ -5831,7 +6068,69 @@ void lru_gen_exit_memcg(struct mem_cgrou } } } @@ -842,7 +842,7 @@ Signed-off-by: T.J. Mercier static int __init init_lru_gen(void) { -@@ -5846,6 +6145,10 @@ static void lru_gen_shrink_lruvec(struct +@@ -5858,6 +6157,10 @@ static void lru_gen_shrink_lruvec(struct { } @@ -853,7 +853,7 @@ Signed-off-by: T.J. Mercier #endif /* CONFIG_LRU_GEN */ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) -@@ -5859,7 +6162,7 @@ static void shrink_lruvec(struct lruvec +@@ -5871,7 +6174,7 @@ static void shrink_lruvec(struct lruvec bool proportional_reclaim; struct blk_plug plug; @@ -862,7 +862,7 @@ Signed-off-by: T.J. Mercier lru_gen_shrink_lruvec(lruvec, sc); return; } -@@ -6102,6 +6405,11 @@ static void shrink_node(pg_data_t *pgdat +@@ -6114,6 +6417,11 @@ static void shrink_node(pg_data_t *pgdat struct lruvec *target_lruvec; bool reclaimable = false; diff --git a/target/linux/generic/backport-6.1/020-v6.3-07-BACKPORT-mm-multi-gen-LRU-clarify-scan_control-flags.patch b/target/linux/generic/backport-6.1/020-v6.3-07-BACKPORT-mm-multi-gen-LRU-clarify-scan_control-flags.patch index 29430636ff41f4..d60ddb9dccafed 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-07-BACKPORT-mm-multi-gen-LRU-clarify-scan_control-flags.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-07-BACKPORT-mm-multi-gen-LRU-clarify-scan_control-flags.patch @@ -69,7 +69,7 @@ Signed-off-by: T.J. Mercier VM_WARN_ON_ONCE(current_is_kswapd()); walk = kzalloc(sizeof(*walk), __GFP_HIGH | __GFP_NOMEMALLOC | __GFP_NOWARN); -@@ -4417,7 +4420,7 @@ static bool try_to_inc_max_seq(struct lr +@@ -4419,7 +4422,7 @@ static bool try_to_inc_max_seq(struct lr goto done; } @@ -78,7 +78,7 @@ Signed-off-by: T.J. Mercier if (!walk) { success = iterate_mm_list_nowalk(lruvec, max_seq); goto done; -@@ -4486,8 +4489,6 @@ static bool lruvec_is_reclaimable(struct +@@ -4488,8 +4491,6 @@ static bool lruvec_is_reclaimable(struct struct mem_cgroup *memcg = lruvec_memcg(lruvec); DEFINE_MIN_SEQ(lruvec); @@ -87,7 +87,7 @@ Signed-off-by: T.J. Mercier /* see the comment on lru_gen_folio */ gen = lru_gen_from_seq(min_seq[LRU_GEN_FILE]); birth = READ_ONCE(lruvec->lrugen.timestamps[gen]); -@@ -4743,12 +4744,8 @@ static bool isolate_folio(struct lruvec +@@ -4753,12 +4754,8 @@ static bool isolate_folio(struct lruvec { bool success; @@ -101,7 +101,7 @@ Signed-off-by: T.J. Mercier (folio_test_dirty(folio) || (folio_test_anon(folio) && !folio_test_swapcache(folio)))) return false; -@@ -4845,9 +4842,8 @@ static int scan_folios(struct lruvec *lr +@@ -4857,9 +4854,8 @@ static int scan_folios(struct lruvec *lr __count_vm_events(PGSCAN_ANON + type, isolated); /* @@ -113,7 +113,7 @@ Signed-off-by: T.J. Mercier */ return isolated || !remaining ? scanned : 0; } -@@ -5107,8 +5103,7 @@ static long get_nr_to_scan(struct lruvec +@@ -5119,8 +5115,7 @@ static long get_nr_to_scan(struct lruvec struct mem_cgroup *memcg = lruvec_memcg(lruvec); DEFINE_MAX_SEQ(lruvec); @@ -123,7 +123,7 @@ Signed-off-by: T.J. Mercier return 0; if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan)) -@@ -5136,17 +5131,14 @@ static bool try_to_shrink_lruvec(struct +@@ -5148,17 +5143,14 @@ static bool try_to_shrink_lruvec(struct long nr_to_scan; unsigned long scanned = 0; unsigned long nr_to_reclaim = get_nr_to_reclaim(sc); @@ -146,7 +146,7 @@ Signed-off-by: T.J. Mercier nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness); if (nr_to_scan <= 0) -@@ -5277,12 +5269,13 @@ static void lru_gen_shrink_lruvec(struct +@@ -5289,12 +5281,13 @@ static void lru_gen_shrink_lruvec(struct struct blk_plug plug; VM_WARN_ON_ONCE(global_reclaim(sc)); @@ -161,7 +161,7 @@ Signed-off-by: T.J. Mercier if (try_to_shrink_lruvec(lruvec, sc)) lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG); -@@ -5338,11 +5331,19 @@ static void lru_gen_shrink_node(struct p +@@ -5350,11 +5343,19 @@ static void lru_gen_shrink_node(struct p VM_WARN_ON_ONCE(!global_reclaim(sc)); @@ -182,7 +182,7 @@ Signed-off-by: T.J. Mercier set_initial_priority(pgdat, sc); -@@ -5360,7 +5361,7 @@ static void lru_gen_shrink_node(struct p +@@ -5372,7 +5373,7 @@ static void lru_gen_shrink_node(struct p clear_mm_walk(); blk_finish_plug(&plug); @@ -191,7 +191,7 @@ Signed-off-by: T.J. Mercier /* kswapd should never fail */ pgdat->kswapd_failures = 0; } -@@ -5932,7 +5933,7 @@ static ssize_t lru_gen_seq_write(struct +@@ -5944,7 +5945,7 @@ static ssize_t lru_gen_seq_write(struct set_task_reclaim_state(current, &sc.reclaim_state); flags = memalloc_noreclaim_save(); blk_start_plug(&plug); diff --git a/target/linux/generic/backport-6.1/020-v6.3-08-UPSTREAM-mm-multi-gen-LRU-simplify-arch_has_hw_pte_y.patch b/target/linux/generic/backport-6.1/020-v6.3-08-UPSTREAM-mm-multi-gen-LRU-simplify-arch_has_hw_pte_y.patch index d7d98ca6c59291..3cbc84f8b8e5c8 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-08-UPSTREAM-mm-multi-gen-LRU-simplify-arch_has_hw_pte_y.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-08-UPSTREAM-mm-multi-gen-LRU-simplify-arch_has_hw_pte_y.patch @@ -27,7 +27,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4415,7 +4415,7 @@ static bool try_to_inc_max_seq(struct lr +@@ -4417,7 +4417,7 @@ static bool try_to_inc_max_seq(struct lr * handful of PTEs. Spreading the work out over a period of time usually * is less efficient, but it avoids bursty page faults. */ diff --git a/target/linux/generic/backport-6.1/020-v6.3-09-UPSTREAM-mm-multi-gen-LRU-avoid-futile-retries.patch b/target/linux/generic/backport-6.1/020-v6.3-09-UPSTREAM-mm-multi-gen-LRU-avoid-futile-retries.patch index 1f91cb9f54f6ab..c1ad1c538eabcc 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-09-UPSTREAM-mm-multi-gen-LRU-avoid-futile-retries.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-09-UPSTREAM-mm-multi-gen-LRU-avoid-futile-retries.patch @@ -29,7 +29,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -5206,18 +5206,20 @@ static int shrink_one(struct lruvec *lru +@@ -5218,18 +5218,20 @@ static int shrink_one(struct lruvec *lru static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc) { @@ -52,7 +52,7 @@ Signed-off-by: T.J. Mercier gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq)); rcu_read_lock(); -@@ -5241,14 +5243,22 @@ restart: +@@ -5253,14 +5255,22 @@ restart: op = shrink_one(lruvec, sc); @@ -78,7 +78,7 @@ Signed-off-by: T.J. Mercier /* restart if raced with lru_gen_rotate_memcg() */ if (gen != get_nulls_value(pos)) goto restart; -@@ -5257,11 +5267,6 @@ restart: +@@ -5269,11 +5279,6 @@ restart: bin = get_memcg_bin(bin + 1); if (bin != first_bin) goto restart; diff --git a/target/linux/generic/backport-6.1/020-v6.3-12-UPSTREAM-mm-multi-gen-LRU-section-for-working-set-pr.patch b/target/linux/generic/backport-6.1/020-v6.3-12-UPSTREAM-mm-multi-gen-LRU-section-for-working-set-pr.patch index ca68b3a86aa8be..bac2e3e34409b0 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-12-UPSTREAM-mm-multi-gen-LRU-section-for-working-set-pr.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-12-UPSTREAM-mm-multi-gen-LRU-section-for-working-set-pr.patch @@ -54,7 +54,7 @@ Signed-off-by: T.J. Mercier The multi-gen LRU can be disassembled into the following parts: --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4459,6 +4459,10 @@ done: +@@ -4461,6 +4461,10 @@ done: return true; } diff --git a/target/linux/generic/backport-6.1/020-v6.3-13-UPSTREAM-mm-multi-gen-LRU-section-for-rmap-PT-walk-f.patch b/target/linux/generic/backport-6.1/020-v6.3-13-UPSTREAM-mm-multi-gen-LRU-section-for-rmap-PT-walk-f.patch index ca28cee2cb35fd..c28a1c5d5b9b4b 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-13-UPSTREAM-mm-multi-gen-LRU-section-for-rmap-PT-walk-f.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-13-UPSTREAM-mm-multi-gen-LRU-section-for-rmap-PT-walk-f.patch @@ -44,7 +44,7 @@ Signed-off-by: T.J. Mercier The multi-gen LRU can be disassembled into the following parts: --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4553,6 +4553,10 @@ static void lru_gen_age_node(struct pgli +@@ -4555,6 +4555,10 @@ static void lru_gen_age_node(struct pgli } } diff --git a/target/linux/generic/backport-6.1/020-v6.3-15-UPSTREAM-mm-multi-gen-LRU-section-for-memcg-LRU.patch b/target/linux/generic/backport-6.1/020-v6.3-15-UPSTREAM-mm-multi-gen-LRU-section-for-memcg-LRU.patch index 735c91f79983be..39552b07c0e8f3 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-15-UPSTREAM-mm-multi-gen-LRU-section-for-memcg-LRU.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-15-UPSTREAM-mm-multi-gen-LRU-section-for-memcg-LRU.patch @@ -154,7 +154,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4690,6 +4690,148 @@ void lru_gen_look_around(struct page_vma +@@ -4692,6 +4692,148 @@ void lru_gen_look_around(struct page_vma } /****************************************************************************** @@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier * the eviction ******************************************************************************/ -@@ -5386,53 +5528,6 @@ done: +@@ -5398,53 +5540,6 @@ done: pgdat->kswapd_failures = 0; } @@ -357,7 +357,7 @@ Signed-off-by: T.J. Mercier /****************************************************************************** * state change ******************************************************************************/ -@@ -6078,67 +6173,6 @@ void lru_gen_exit_memcg(struct mem_cgrou +@@ -6090,67 +6185,6 @@ void lru_gen_exit_memcg(struct mem_cgrou } } diff --git a/target/linux/generic/backport-6.1/020-v6.3-16-UPSTREAM-mm-multi-gen-LRU-improve-lru_gen_exit_memcg.patch b/target/linux/generic/backport-6.1/020-v6.3-16-UPSTREAM-mm-multi-gen-LRU-improve-lru_gen_exit_memcg.patch index 94473755058d24..1ee766f8613faf 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-16-UPSTREAM-mm-multi-gen-LRU-improve-lru_gen_exit_memcg.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-16-UPSTREAM-mm-multi-gen-LRU-improve-lru_gen_exit_memcg.patch @@ -20,7 +20,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -6160,12 +6160,17 @@ void lru_gen_exit_memcg(struct mem_cgrou +@@ -6172,12 +6172,17 @@ void lru_gen_exit_memcg(struct mem_cgrou int i; int nid; diff --git a/target/linux/generic/backport-6.1/020-v6.3-18-UPSTREAM-mm-multi-gen-LRU-simplify-lru_gen_look_arou.patch b/target/linux/generic/backport-6.1/020-v6.3-18-UPSTREAM-mm-multi-gen-LRU-simplify-lru_gen_look_arou.patch index 1f071f0839c5f2..856199574a1c43 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-18-UPSTREAM-mm-multi-gen-LRU-simplify-lru_gen_look_arou.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-18-UPSTREAM-mm-multi-gen-LRU-simplify-lru_gen_look_arou.patch @@ -26,7 +26,7 @@ Signed-off-by: T.J. Mercier --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4571,13 +4571,12 @@ static void lru_gen_age_node(struct pgli +@@ -4573,13 +4573,12 @@ static void lru_gen_age_node(struct pgli void lru_gen_look_around(struct page_vma_mapped_walk *pvmw) { int i; @@ -42,7 +42,7 @@ Signed-off-by: T.J. Mercier struct folio *folio = pfn_folio(pvmw->pfn); struct mem_cgroup *memcg = folio_memcg(folio); struct pglist_data *pgdat = folio_pgdat(folio); -@@ -4594,25 +4593,28 @@ void lru_gen_look_around(struct page_vma +@@ -4596,25 +4595,28 @@ void lru_gen_look_around(struct page_vma /* avoid taking the LRU lock under the PTL when possible */ walk = current->reclaim_state ? current->reclaim_state->mm_walk : NULL; @@ -79,7 +79,7 @@ Signed-off-by: T.J. Mercier for (i = 0, addr = start; addr != end; i++, addr += PAGE_SIZE) { unsigned long pfn; -@@ -4637,56 +4639,27 @@ void lru_gen_look_around(struct page_vma +@@ -4639,56 +4641,27 @@ void lru_gen_look_around(struct page_vma !folio_test_swapcache(folio))) folio_mark_dirty(folio); diff --git a/target/linux/generic/backport-6.1/020-v6.4-19-mm-Multi-gen-LRU-remove-wait_event_killable.patch b/target/linux/generic/backport-6.1/020-v6.4-19-mm-Multi-gen-LRU-remove-wait_event_killable.patch index fc42a245f39fcb..1b0459cdb9cc97 100644 --- a/target/linux/generic/backport-6.1/020-v6.4-19-mm-Multi-gen-LRU-remove-wait_event_killable.patch +++ b/target/linux/generic/backport-6.1/020-v6.4-19-mm-Multi-gen-LRU-remove-wait_event_killable.patch @@ -226,7 +226,7 @@ Signed-off-by: Andrew Morton /* folio_update_gen() requires stable folio_memcg() */ if (!mem_cgroup_trylock_pages(memcg)) break; -@@ -4442,25 +4425,12 @@ static bool try_to_inc_max_seq(struct lr +@@ -4444,25 +4427,12 @@ static bool try_to_inc_max_seq(struct lr success = iterate_mm_list(lruvec, walk, &mm); if (mm) walk_mm(lruvec, mm, walk); @@ -255,7 +255,7 @@ Signed-off-by: Andrew Morton } /****************************************************************************** -@@ -6105,7 +6075,6 @@ void lru_gen_init_lruvec(struct lruvec * +@@ -6117,7 +6087,6 @@ void lru_gen_init_lruvec(struct lruvec * INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]); lruvec->mm_state.seq = MIN_NR_GENS; @@ -263,7 +263,7 @@ Signed-off-by: Andrew Morton } #ifdef CONFIG_MEMCG -@@ -6138,7 +6107,6 @@ void lru_gen_exit_memcg(struct mem_cgrou +@@ -6150,7 +6119,6 @@ void lru_gen_exit_memcg(struct mem_cgrou for_each_node(nid) { struct lruvec *lruvec = get_lruvec(memcg, nid); diff --git a/target/linux/generic/backport-6.1/701-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch b/target/linux/generic/backport-6.1/701-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch new file mode 100644 index 00000000000000..56e14c5c0a90cc --- /dev/null +++ b/target/linux/generic/backport-6.1/701-net-next-net-sfp-add-quirk-for-Fiberstone-GPON-ONU-34-20BI.patch @@ -0,0 +1,32 @@ +From d387e34fec407f881fdf165b5d7ec128ebff362f Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Tue, 19 Sep 2023 14:47:20 +0200 +Subject: [PATCH] net: sfp: add quirk for Fiberstone GPON-ONU-34-20BI + +Fiberstone GPON-ONU-34-20B can operate at 2500base-X, but report 1.2GBd +NRZ in their EEPROM. + +The module also require the ignore tx fault fixup similar to Huawei MA5671A +as it gets disabled on error messages with serial redirection enabled. + +Signed-off-by: Christian Marangi +Link: https://lore.kernel.org/r/20230919124720.8210-1-ansuelsmth@gmail.com +Signed-off-by: Paolo Abeni +--- + drivers/net/phy/sfp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -393,6 +393,11 @@ static const struct sfp_quirk sfp_quirks + SFP_QUIRK("ALCATELLUCENT", "3FE46541AA", sfp_quirk_2500basex, + sfp_fixup_long_startup), + ++ // Fiberstore GPON-ONU-34-20BI can operate at 2500base-X, but report 1.2GBd ++ // NRZ in their EEPROM ++ SFP_QUIRK("FS", "GPON-ONU-34-20BI", sfp_quirk_2500basex, ++ sfp_fixup_ignore_tx_fault), ++ + SFP_QUIRK_F("HALNy", "HL-GSFP", sfp_fixup_halny_gsfp), + + // HG MXPD-483II-F 2.5G supports 2500Base-X, but incorrectly reports diff --git a/target/linux/generic/hack-5.10/920-device_tree_cmdline.patch b/target/linux/generic/hack-5.10/920-device_tree_cmdline.patch new file mode 100644 index 00000000000000..27d4d7f1e5e25d --- /dev/null +++ b/target/linux/generic/hack-5.10/920-device_tree_cmdline.patch @@ -0,0 +1,12 @@ +--- a/drivers/of/fdt.c ++++ b/drivers/of/fdt.c +@@ -1055,6 +1055,9 @@ int __init early_init_dt_scan_chosen(uns + p = of_get_flat_dt_prop(node, "bootargs", &l); + if (p != NULL && l > 0) + strlcpy(data, p, min(l, COMMAND_LINE_SIZE)); ++ p = of_get_flat_dt_prop(node, "bootargs-append", &l); ++ if (p != NULL && l > 0) ++ strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE)); + + /* + * CONFIG_CMDLINE is meant to be a default in case nothing else diff --git a/target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch b/target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch index 1d2b3d85ffdd44..b55ad97821d370 100644 --- a/target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch +++ b/target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch @@ -1,5 +1,5 @@ ---- a/drivers/bus/mhi/core/init.c -+++ b/drivers/bus/mhi/core/init.c +--- a/drivers/bus/mhi/host/init.c ++++ b/drivers/bus/mhi/host/init.c @@ -148,12 +148,17 @@ int mhi_init_irq_setup(struct mhi_contro { struct mhi_event *mhi_event = mhi_cntrl->mhi_event; diff --git a/target/linux/generic/hack-5.10/995-add-support-for-forced-PM-resume.patch b/target/linux/generic/hack-5.10/995-add-support-for-forced-PM-resume.patch index 8751b2930c078d..bcbe99cc2452e6 100644 --- a/target/linux/generic/hack-5.10/995-add-support-for-forced-PM-resume.patch +++ b/target/linux/generic/hack-5.10/995-add-support-for-forced-PM-resume.patch @@ -1,5 +1,5 @@ ---- a/drivers/bus/mhi/core/pm.c -+++ b/drivers/bus/mhi/core/pm.c +--- a/drivers/bus/mhi/host/pm.c ++++ b/drivers/bus/mhi/host/pm.c @@ -768,7 +768,7 @@ int mhi_pm_suspend(struct mhi_controller } EXPORT_SYMBOL_GPL(mhi_pm_suspend); diff --git a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch index 10af22e52e050d..e7372b31d1ea0c 100644 --- a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch +++ b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch @@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -383,6 +383,11 @@ static const struct sfp_quirk sfp_quirks +@@ -390,6 +390,11 @@ static const struct sfp_quirk sfp_quirks .modes = sfp_quirk_2500basex, .fixup = sfp_fixup_ignore_tx_fault, }, { @@ -38,7 +38,7 @@ Signed-off-by: Daniel Golle // Lantech 8330-262D-E can operate at 2500base-X, but // incorrectly report 2500MBd NRZ in their EEPROM .vendor = "Lantech", -@@ -2312,7 +2317,8 @@ static void sfp_sm_main(struct sfp *sfp, +@@ -2319,7 +2324,8 @@ static void sfp_sm_main(struct sfp *sfp, * or t_start_up, so assume there is a fault. */ sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, @@ -48,7 +48,7 @@ Signed-off-by: Daniel Golle } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { init_done: sfp->sm_phy_retries = R_PHY_RETRY; -@@ -2535,10 +2541,12 @@ static void sfp_check_state(struct sfp * +@@ -2542,10 +2548,12 @@ static void sfp_check_state(struct sfp * mutex_lock(&sfp->st_mutex); state = sfp_get_state(sfp); changed = state ^ sfp->state; diff --git a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch index afb9f3d9076f9d..27c87d5b656016 100644 --- a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch +++ b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch @@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -404,6 +404,9 @@ static const struct sfp_quirk sfp_quirks +@@ -409,6 +409,9 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex, sfp_fixup_ignore_tx_fault), @@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // 2500MBd NRZ in their EEPROM SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), -@@ -2339,7 +2342,8 @@ static void sfp_sm_main(struct sfp *sfp, +@@ -2344,7 +2347,8 @@ static void sfp_sm_main(struct sfp *sfp, * or t_start_up, so assume there is a fault. */ sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, @@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { init_done: /* Create mdiobus and start trying for PHY */ -@@ -2568,10 +2572,12 @@ static void sfp_check_state(struct sfp * +@@ -2573,10 +2577,12 @@ static void sfp_check_state(struct sfp * mutex_lock(&sfp->st_mutex); state = sfp_get_state(sfp); changed = state ^ sfp->state; diff --git a/target/linux/generic/pending-5.15/950-fix-up-backport-of-interconnect-teach.patch b/target/linux/generic/pending-5.15/950-fix-up-backport-of-interconnect-teach.patch new file mode 100644 index 00000000000000..d9b479c1f6e7a0 --- /dev/null +++ b/target/linux/generic/pending-5.15/950-fix-up-backport-of-interconnect-teach.patch @@ -0,0 +1,12 @@ +diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c +index ab654b33f5d24..b7c41bd7409cd 100644 +--- a/drivers/interconnect/core.c ++++ b/drivers/interconnect/core.c +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile index b704e1b54efea3..775938ef380f39 100644 --- a/target/linux/ipq40xx/Makefile +++ b/target/linux/ipq40xx/Makefile @@ -17,8 +17,8 @@ include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += \ kmod-usb-dwc3-qcom \ kmod-leds-gpio kmod-gpio-button-hotplug swconfig \ - kmod-ath10k-ct wpad-basic-wolfssl \ + kmod-ath10k-ct wpad-openssl \ kmod-usb3 kmod-usb-dwc3 ath10k-firmware-qca4019-ct \ - uboot-envtools + uboot-envtools autocore-arm htop luci-app-cpufreq $(eval $(call BuildTarget)) diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index a38d35a10dcf30..d2177a579d81d3 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -67,7 +67,8 @@ ipq40xx_setup_interfaces() ;; avm,fritzbox-4040|\ linksys,ea6350v3|\ - linksys,ea8300) + linksys,ea8300|\ + yyets,le1) ucidef_set_interfaces_lan_wan "eth0" "eth1" ucidef_add_switch "switch0" \ "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts new file mode 100644 index 00000000000000..376e91986783a9 --- /dev/null +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts @@ -0,0 +1,306 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "YYeTs LE1"; + compatible = "yyets,le1"; + + aliases { + led-boot = &led_usb; + led-failsafe = &led_usb; + led-upgrade = &led_usb; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_usb: usb { + label = "green:usb"; + gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; + linux,default-trigger = "usbport"; + trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; + }; + + wlan2g { + label = "green:wlan2g"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wlan5g { + label = "green:wlan5g"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + }; + + soc { + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + tcsr@194b000 { + compatible = "qcom,tcsr"; + reg = <0x194b000 0x100>; + qcom,usb-hsphy-mode-select = ; + }; + + ess_tcsr@1953000 { + compatible = "qcom,tcsr"; + reg = <0x1953000 0x1000>; + qcom,ess-interface-select = ; + }; + + tcsr@1957000 { + compatible = "qcom,tcsr"; + reg = <0x1957000 0x100>; + qcom,wifi_noc_memtype_m0_m2 = ; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_spi1 { + cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "ART"; + reg = <0x170000 0x10000>; + read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + }; + + partition@180000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x180000 0x1e80000>; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&tlmm { + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + serial_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + pinmux { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pinmux_cs { + function = "gpio"; + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&usb2 { + status = "okay"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + usb2_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&usb3 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + usb3_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + usb3_port2: port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&watchdog { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + nvmem-cells = <&precal_art_1000>; + nvmem-cell-names = "pre-calibration"; + qcom,ath10k-calibration-variant = "YYeTs-LE1"; +}; + +&wifi1 { + status = "okay"; + nvmem-cells = <&precal_art_5000>; + nvmem-cell-names = "pre-calibration"; + qcom,ath10k-calibration-variant = "YYeTs-LE1"; +}; diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index b8e3edf8575db5..1b663024265935 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -983,6 +983,20 @@ define Device/unielec_u4019-32m endef TARGET_DEVICES += unielec_u4019-32m +define Device/yyets_le1 + $(call Device/FitzImage) + DEVICE_VENDOR := YYeTs + DEVICE_MODEL := LE1 + SOC := qcom-ipq4019 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 31232k + IMAGES += factory.bin + IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata + DEVICE_PACKAGES := ipq-wifi-yyets_le1 kmod-usb-ledtrig-usbport +endef +TARGET_DEVICES += yyets_le1 + define Device/zte_mf28x_common $(call Device/FitzImage) DEVICE_VENDOR := ZTE diff --git a/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch index c51586a2329cd6..6fb0be0ecbe737 100644 --- a/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -904,11 +904,76 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -904,11 +904,77 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ @@ -58,8 +58,9 @@ Signed-off-by: John Crispin + qcom-ipq4019-fritzrepeater-3000.dtb \ + qcom-ipq4019-habanero-dvk.dtb \ + qcom-ipq4019-hap-ac3.dtb \ -+ qcom-ipq4019-map-ac2200.dtb \ ++ qcom-ipq4019-le1.dtb \ + qcom-ipq4019-lhgg-60ad.dtb \ ++ qcom-ipq4019-map-ac2200.dtb \ + qcom-ipq4019-mf286d.dtb \ + qcom-ipq4019-mf289f.dtb \ + qcom-ipq4019-mr8300.dtb \ diff --git a/target/linux/meson/Makefile b/target/linux/meson/Makefile index 3d7180431173d7..59d3d654a00c4b 100644 --- a/target/linux/meson/Makefile +++ b/target/linux/meson/Makefile @@ -1,18 +1,16 @@ -# SPDX-License-Identifier: GPL-2.0-or-later +# SPDX-License-Identifier: GPL-2.0-only # -# Copyright (C) 2017-2021 Stijn Tintel +# Copyright (C) 2006-2013 OpenWrt.org include $(TOPDIR)/rules.mk ARCH:=arm BOARD:=meson BOARDNAME:=Amlogic Meson family -FEATURES:=audio boot-part ext4 fpu legacy-sdcard squashfs usbgadget -MAINTAINER:=Stijn Tintel -SUBTARGETS:=meson8b mesongx +FEATURES:=boot-part ext4 fpu legacy-sdcard squashfs usbgadget +SUBTARGETS:=meson8b -KERNEL_PATCHVER:=5.10 -KERNEL_TESTING_PATCHVER:=5.15 +KERNEL_PATCHVER:=6.1 define Target/Description Build firmware image for Amlogic Meson SoC devices. @@ -23,9 +21,11 @@ include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += \ e2fsprogs \ - kmod-sound-core \ - kmod-usb-hid \ mkf2fs \ + automount \ + resize2fs \ + parted \ + losetup \ partx-utils KERNELNAME:=Image dtbs diff --git a/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts b/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts index 36f8ed7814f8a7..1765464018dae1 100644 --- a/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts +++ b/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts @@ -132,25 +132,22 @@ regulator-name = "VCC_CORE"; - // ------------------------------------------ - // | The actual mapping in phyical | - // -------------------------------------- - // | | 100% | 60% | 30% | 0% | - // -------------------------------------- - // | V1.0 | 677mV | 857mV | 992mV | 1127mV | - // | V1.3 | 1116mV | 1121mV | 1125mV | 1129mV | - // -------------------------------------- + // --------------------------------------------------- + // | The actual mapping in phyical | + // ---------------------------------------------- + // | | 100% | 60% | 30% | 10% | 0% | + // ---------------------------------------------- + // | V1.0 | 677mV | 857mV | 992mV | 1082mV | 1127mV | + // | V1.3 | 1116mV | 1121mV | 1125mV | 1128mV | 1129mV | + // ---------------------------------------------- // - // According to meson8b.dtsi, the CPU should be able - // to run at 504MHz with 870mV. But according to my - // test on V1.0, the system will crash in this case. - // - // And this regulator supplies not only CPU but also GPU. - // - // So we use higher voltages. + // According to meson8b.dtsi, the CPU should be able to + // run at 504MHz with 870mV. But this regulator supplies + // not only CPU but also GPU. And according to the users' + // tests on V1.0, we need such higher voltages. pwms = <&pwm_cd 1 12001 0>; // PWM_D - pwm-dutycycle-range = <30 0>; + pwm-dutycycle-range = <10 0>; regulator-min-microvolt = <860000>; regulator-max-microvolt = <1140000>; @@ -161,6 +158,12 @@ }; }; +&uart_AO { + status = "okay"; + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; +}; + &pwm_cd { status = "okay"; pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>; @@ -173,145 +176,123 @@ cpu-supply = <&vcc_core>; }; +&saradc { + status = "okay"; + vref-supply = <&vcc_1v8>; +}; &gpio { gpio-line-names = - // 0-3 Bank GPIOX 0-3 - "7U1_PIN_18", "7U1_PIN_19", - "7U1_PIN_14", "7U1_PIN_15", - // 4-7 Bank GPIOX 4-7 - "7U1_PIN_27", "7U1_PIN_25", - "7U1_PIN_28", "7U1_PIN_26", - // 8 Bank GPIOX 8 - "R_RightOf_LED", - // 9 Bank GPIOX 9 - "7U1_PIN_16", - // 10 Bank GPIOX 10 - "", - // 11 Bank GPIOX 11 - "7U1_PIN_12", - // 12-16 Bank GPIOX 16-20 - "7U1_PIN_43", "7U1_PIN_42", - "7U1_PIN_41(Resistor)", "7U1_PIN_44", - "7U1_PIN_34", - // 17 Bank GPIOX 21 - "7U1_PIN_13", - - // 18 Bank GPIOY 0 - "Resistor_TopOf_LED", - // 19-20 Bank GPIOY 1-3 - "", "", - // 21-26 Bank GPIOY 6-11 - "", "", - "", "", - "", "", - // 27 Bank GPIOY 12 - "", - // 28-29 Bank GPIOY 13-14 - "Left_BottomOf_CPU", "Right_BottomOf_CPU", - - // 30 Bank GPIODV 9 - "VCCK_PWM (PWM_C)", - // 31-35 Bank GPIODV 24-28 - "I2CA_SDA", "I2CA_SCL", - "I2CB_SDA", "I2CB_SCL", - "VDDEE_PWM (PWM_D)", - // 36 Bank GPIODV 29 - "", - - // 37-39 Bank GPIOH 0-2 - "HDMI_HPD", "HDMI_I2C_SDA", "HDMI_I2C_SCL", - // 40-46 Bank GPIOH 3-9 - "ETH_PHY_INTR", "ETH_PHY_NRST", - "ETH_TXD1", "ETH_TXD0", - "ETH_TXD3", "ETH_TXD2", - "ETH_RGMII_TX_CLK", - - // 47-53 Bank CARD 0-6 - "SD_D1", "SD_D0", - "SD_CLK", "SD_CMD", - "SD_D3", "SD_D2", - "SD_CD", - - // 54-65 Bank BOOT 0-11 - "EMMC_D0", "EMMC_D1", - "EMMC_D2", "EMMC_D3", - "EMMC_D4", "EMMC_D5", - "EMMC_D6", "EMMC_D7", - "EMMC_CLK", "EMMC_RSTn", - "EMMC_CMD", "BOOT_SEL", - // 66-72 Bank BOOT 12-18 - "", "", - "", "", - "", "", - "", - - // 73-74 Bank DIF 0P 0N - "ETH_RXD1", "ETH_RXD0", - // 75-76 Bank DIF 1P 1N - "ETH_RX_DV", "RGMII_RX_CLK", - // 77-78 Bank DIF 2P 2N - "ETH_RXD3", "ETH_RXD2", - // 79-80 Bank DIF 3P 3N - "ETH_TXEN", "ETH_PHY_REF_CLK_25MOUT", - // 81-82 Bank DIF 4P 4N - "ETH_MDC", "ETH_MDIO"; + /* 0 */ "WIFI_SDIO_D0 PIN18 (GPIOX_0)", + /* 1 */ "WIFI_SDIO_D1 PIN19 (GPIOX_1)", + /* 2 */ "WIFI_SDIO_D2 PIN14 (GPIOX_2)", + /* 3 */ "WIFI_SDIO_D3 PIN15 (GPIOX_3)", + /* 4 */ "WIFI_PCM_DIN PIN27 (GPIOX_4)", + /* 5 */ "WIFI_PCM_DOUT PIN25 (GPIOX_5)", + /* 6 */ "WIFI_PCM_SYNC PIN28 (GPIOX_6)", + /* 7 */ "WIFI_PCM_CLK PIN26 (GPIOX_7)", + /* 8 */ "WIFI_SDIO_CLK PIN17_Resistor (GPIOX_8)", + /* 9 */ "WIFI_SDIO_CMD PIN16 (GPIOX_9)", + /* 10 */ "GPIOX_10", + /* 11 */ "WIFI PIN12 (GPIOX_11)", + /* 12 */ "WIFI_UART_RX PIN43 (GPIOX_16)", + /* 13 */ "WIFI_UART_TX PIN42 (GPIOX_17)", + /* 14 */ "WIFI_UART_RTS PIN41_Resistor (GPIOX_18)", + /* 15 */ "WIFI_UART_CTS PIN44 (GPIOX_19)", + /* 16 */ "WIFI PIN34 (GPIOX_20)", + /* 17 */ "WIFI_WAKE PIN13 (GPIOX_21)", + + /* 18 */ "Resistor_TopOf_LED (GPIOY_0)", + /* 19 */ "GPIOY_1", + /* 20 */ "GPIOY_3", + /* 21 */ "GPIOY_6", + /* 22 */ "GPIOY_7", + /* 23 */ "GPIOY_8", + /* 24 */ "GPIOY_9", + /* 25 */ "GPIOY_10", + /* 26 */ "GPIOY_11", + /* 27 */ "GPIOY_12", + /* 28 */ "Left_BottomOf_CPU (GPIOY_13)", + /* 29 */ "Right_BottomOf_CPU (GPIOY_14)", + + /* 30 */ "GPIODV_9 (PWM_C)", + /* 31 */ "GPIODV_24", + /* 32 */ "GPIODV_25", + /* 33 */ "GPIODV_26", + /* 34 */ "GPIODV_27", + /* 35 */ "VCC_CPU_PWM (GPIODV_28)", + /* 36 */ "GPIODV_29", + + /* 37 */ "HDMI_HPD (GPIOH_0)", + /* 38 */ "HDMI_SDA (GPIOH_1)", + /* 39 */ "HDMI_SCL (GPIOH_2)", + /* 40 */ "ETH_PHY_INTR (GPIOH_3)", + /* 41 */ "ETH_PHY_nRST (GPIOH_4)", + /* 42 */ "ETH_TXD1 (GPIOH_5)", + /* 43 */ "ETH_TXD0 (GPIOH_6)", + /* 44 */ "ETH_TXD3 (GPIOH_7)", + /* 45 */ "ETH_TXD2 (GPIOH_8)", + /* 46 */ "ETH_TX_CLK (GPIOH_9)", + + /* 47 */ "SDCARD_D1 (CARD_0)", + /* 48 */ "SDCARD_D0 (CARD_1)", + /* 49 */ "SDCARD_CLK (CARD_2)", + /* 50 */ "SDCARD_CMD (CARD_3)", + /* 51 */ "SDCARD_D3 (CARD_4)", + /* 52 */ "SDCARD_D2 (CARD_5)", + /* 53 */ "SDCARD_CD (CARD_6)", + + /* 54 */ "EMMC_D0 (BOOT_0)", + /* 55 */ "EMMC_D1 (BOOT_1)", + /* 56 */ "EMMC_D2 (BOOT_2)", + /* 57 */ "EMMC_D3 (BOOT_3)", + /* 58 */ "EMMC_D4 (BOOT_4)", + /* 59 */ "EMMC_D5 (BOOT_5)", + /* 60 */ "EMMC_D6 (BOOT_6)", + /* 61 */ "EMMC_D7 (BOOT_7)", + /* 62 */ "EMMC_CLK (BOOT_8)", + /* 63 */ "EMMC_nRST (BOOT_9)", + /* 64 */ "EMMC_CMD (BOOT_10)", + /* 65 */ "BOOT_11", + /* 66 */ "BOOT_12", + /* 67 */ "BOOT_13", + /* 68 */ "BOOT_14", + /* 69 */ "BOOT_15", + /* 70 */ "BOOT_16", + /* 71 */ "BOOT_17", + /* 72 */ "BOOT_18", + + /* 73 */ "ETH_RXD1 (DIF_0_P)", + /* 74 */ "ETH_RXD0 (DIF_0_N)", + /* 75 */ "ETH_RX_DV (DIF_1_P)", + /* 76 */ "ETH_RX_CLK (DIF_1_N)", + /* 77 */ "ETH_RXD3 (DIF_2_P)", + /* 78 */ "ETH_RXD2 (DIF_2_N)", + /* 79 */ "ETH_TX_EN (DIF_3_P)", + /* 80 */ "ETH_REF_CLK (DIF_3_N)", + /* 81 */ "ETH_MDC (DIF_4_P)", + /* 82 */ "ETH_MDIO_EN (DIF_4_N)"; }; &gpio_ao { gpio-line-names = - // 0-1 Band GPIOAO 0-1 - "UART TX", "UART RX", - // 2-4 Band GPIOAO 2-4 - "RED_LED", "GREEN_LED", "BLUE_LED", - // 5 Band GPIOAO 5 - "BUTTON", - // 6 Band GPIOAO 6 - "", - // 7 Band GPIOAO 7 - "IR_IN", - // 8 Band GPIOAO 8-13 - "", "", - "", "", - "", "", - - // 14 Band GPIO_BSD_EN - "", - // 15 GPIO_TEST_N - ""; -}; - -ðmac { - status = "okay"; - - pinctrl-0 = <ð_rgmii_pins>; - pinctrl-names = "default"; - - phy-handle = <ð_phy>; - phy-mode = "rgmii-rxid"; - - mdio { - compatible = "snps,dwmac-mdio"; - #address-cells = <1>; - #size-cells = <0>; - - // Realtek RTL8211F (0x001cc916) - eth_phy: ethernet-phy@0 { - reg = <0>; - - reset-assert-us = <10000>; - reset-deassert-us = <80000>; - reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; - - interrupt-parent = <&gpio_intc>; - interrupts = <17 IRQ_TYPE_LEVEL_LOW>; // GPIOH 3 - }; - }; -}; - -&saradc { - status = "okay"; - vref-supply = <&vcc_1v8>; + /* 0 */ "UART TX (GPIOAO_0)", + /* 1 */ "UART RX (GPIOAO_1)", + /* 2 */ "RED_LED (GPIOAO_2)", + /* 3 */ "GREEN_LED (GPIOAO_3)", + /* 4 */ "BLUE_LED (GPIOAO_4)", + /* 5 */ "BUTTON (GPIOAO_5)", + /* 6 */ "GPIOAO_6", + /* 7 */ "IR_IN (GPIOAO_7)", + /* 8 */ "GPIOAO_8", + /* 9 */ "GPIOAO_9", + /* 10 */ "GPIOAO_10", + /* 11 */ "GPIOAO_11", + /* 12 */ "GPIOAO_12", + /* 13 */ "GPIOAO_13", + + /* 14 */ "GPIO_BSD_EN", + /* 15 */ "GPIO_TEST_N"; }; // eMMC @@ -321,16 +302,13 @@ pinctrl-0 = <&sdxc_c_pins>; pinctrl-names = "default"; + non-removable; bus-width = <8>; - max-frequency = <100000000>; - - disable-wp; + max-frequency = <200000000>; cap-mmc-highspeed; mmc-hs200-1_8v; - no-sdio; mmc-pwrseq = <&emmc_pwrseq>; - vmmc-supply = <&vcc_3v3>; // vqmmc-supply = <&vcc_3v3>; }; @@ -360,21 +338,42 @@ }; }; -&uart_AO { +ðmac { status = "okay"; - pinctrl-0 = <&uart_ao_a_pins>; + + pinctrl-0 = <ð_rgmii_pins>; pinctrl-names = "default"; -}; -&usb0_phy { - status = "okay"; + phy-handle = <ð_phy>; + phy-mode = "rgmii-rxid"; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + // Realtek RTL8211F (0x001cc916) + eth_phy: ethernet-phy@0 { + reg = <0>; + + reset-assert-us = <10000>; + reset-deassert-us = <80000>; + reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; + + interrupt-parent = <&gpio_intc>; + interrupts = <17 IRQ_TYPE_LEVEL_LOW>; // GPIOH 3 + }; + }; }; &usb0 { status = "okay"; + dr_mode = "otg"; + usb-role-switch; + role-switch-default-mode = "host"; }; -&usb1_phy { +&usb0_phy { status = "okay"; }; @@ -382,6 +381,10 @@ status = "okay"; }; +&usb1_phy { + status = "okay"; +}; + &ir_receiver { status = "okay"; pinctrl-0 = <&ir_recv_pins>; diff --git a/target/linux/meson/image/Makefile b/target/linux/meson/image/Makefile index dfdb8c31791c94..ebb8c2d1c0c5c2 100644 --- a/target/linux/meson/image/Makefile +++ b/target/linux/meson/image/Makefile @@ -8,21 +8,19 @@ include $(INCLUDE_DIR)/image.mk FAT32_BLOCK_SIZE=1024 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_KERNEL_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) -define Build/sdcard-img +define Build/boot-script + # Make an U-boot image and copy it to the boot partition + mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "boot.scr" -d boot.txt $(KDIR)/boot.scr +endef + +define Build/sdcard-common $(RM) -f $@.boot mkfs.fat -C $@.boot $(FAT32_BLOCKS) + mkdir -p $(KDIR)/boot.fat -#For S805 - mcopy -i $@.boot $(KDIR)/uInitrd :: - mcopy -i $@.boot $(KDIR)/s805_autoscript :: - mcopy -i $@.boot $(KDIR)/s805_autoscript.txt :: - mcopy -i $@.boot $(KDIR)/boot.scr :: - mcopy -i $@.boot $(KDIR)/boot.txt :: -#For S905 - mcopy -i $@.boot $(KDIR)/uEnv.ini :: - mcopy -i $@.boot $(KDIR)/s905_autoscript :: - mcopy -i $@.boot $(KDIR)/s905_autoscript.txt :: + $(CP) $(KDIR)/boot.scr $(KDIR)/boot.fat/boot.scr + mcopy -i $@.boot $(KDIR)/boot.scr :: $(CP) $(IMAGE_KERNEL) $(KDIR)/boot.fat/uImage mcopy -i $@.boot $(KDIR)/boot.fat/uImage :: @@ -33,92 +31,24 @@ define Build/sdcard-img ./gen_aml_sdcard_img.sh $@ $@.boot $(IMAGE_ROOTFS) \ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) - -endef - -define Build/uImage-meson -#For S805 autoscript && boot.scr - $(RM) -rf $(KDIR)/uInitrd - $(RM) -rf $(KDIR)/s805_autoscript - $(RM) -rf $(KDIR)/s805_autoscript.txt - $(RM) -rf $(KDIR)/boot.scr - $(RM) -rf $(KDIR)/boot.txt - - -#For S905 autoscript - $(RM) -rf $(KDIR)/s905_autoscript - $(RM) -rf $(KDIR)/s905_autoscript.txt - $(RM) -rf $(KDIR)/uEnv.ini - - $(call Build/uImage,none) - -#For S805 autoscript && boot.scr - touch $(KDIR)/uInitrd - $(CP) s805_autoscript.txt $(KDIR)/s805_autoscript.txt - mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "s805_autoscript" -d s805_autoscript.txt $(KDIR)/s805_autoscript - $(CP) boot.txt $(KDIR)/boot.txt - mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "boot.scr" -d boot.txt $(KDIR)/boot.scr - -#For S905 autoscript - $(CP) uEnv.ini $(KDIR)/uEnv.ini - $(CP) s905_autoscript.txt $(KDIR)/s905_autoscript.txt - mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "s905_autoscript" -d s905_autoscript.txt $(KDIR)/s905_autoscript - endef ### Devices ### define Device/Default FILESYSTEMS := ext4 IMAGES := sdcard.img - IMAGE/sdcard.img := sdcard-img $$(DEVICE_NAME) KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) KERNEL_LOADADDR := 0x01080000 KERNEL_NAME := Image - KERNEL := kernel-bin | uImage-meson none + KERNEL := kernel-bin | uImage none PROFILES = Default $$(DEVICE_NAME) endef -define Device/odroid-c1 - DEVICE_DTS := meson8b-odroidc1 - DEVICE_PACKAGES += - DEVICE_TITLE := ODROID C1 - KERNEL_LOADADDR := 0x00208000 -endef -ifeq ($(SUBTARGET),meson8b) - TARGET_DEVICES += odroid-c1 -endif - -define Device/odroid-c2 - DEVICE_DTS := amlogic/meson-gxbb-odroidc2 - DEVICE_PACKAGES += - DEVICE_TITLE := ODROID C2 -endef -ifeq ($(SUBTARGET),mesongx) - TARGET_DEVICES += odroid-c2 -endif - -define Device/gxl-s905x-p212 - DEVICE_DTS := amlogic/meson-gxl-s905x-p212 - DEVICE_PACKAGES += - DEVICE_TITLE := S905X Design Reference Board -endef -ifeq ($(SUBTARGET),mesongx) - TARGET_DEVICES += gxl-s905x-p212 -endif - -define Device/gxm-q200 - DEVICE_DTS := amlogic/meson-gxm-q200 - DEVICE_PACKAGES += - DEVICE_TITLE := GXM Q200 Development Board -endef -ifeq ($(SUBTARGET),mesongx) - TARGET_DEVICES += gxm-q200 -endif - define Device/thunder-onecloud DEVICE_DTS := meson8b-onecloud DEVICE_TITLE := Thunder OneCloud KERNEL_LOADADDR := 0x00208000 + IMAGE/sdcard.img := boot-script onecloud | sdcard-common $$(DEVICE_NAME) endef ifeq ($(SUBTARGET),meson8b) TARGET_DEVICES += thunder-onecloud diff --git a/target/linux/meson/image/s805_autoscript.txt b/target/linux/meson/image/s805_autoscript.txt deleted file mode 100644 index 663d36db807e16..00000000000000 --- a/target/linux/meson/image/s805_autoscript.txt +++ /dev/null @@ -1,19 +0,0 @@ - -setenv condev "console=ttyAML0,115200n8 no_console_suspend consoleblank=0" -setenv bootargs "root=/dev/sda2 rootwait ro ${condev} fsck.repair=yes net.ifnames=0 mac=${mac}" -setenv bootargs_sd "root=/dev/mmcblk0p2 rootwait ro ${condev} fsck.repair=yes net.ifnames=0 mac=${mac}" -setenv kernel_loadaddr "0x00208000" -setenv dtb_loadaddr "0x21800000" -setenv initrd_loadaddr "0x22000000" -setenv dtb_name "dtb" -#setenv boot_start bootm ${kernel_loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} -setenv boot_start bootm ${kernel_loadaddr} - ${dtb_loadaddr} - -if fatload usb 0 ${initrd_loadaddr} uInitrd; then if fatload usb 0 ${kernel_loadaddr} uImage; then if fatload usb 0 ${dtb_loadaddr} ${dtb_name}; then run boot_start; else imgread dtb boot ${loadaddr} ${dtb_loadaddr}; run boot_start;fi;fi;fi; -if fatload usb 1 ${initrd_loadaddr} uInitrd; then if fatload usb 1 ${kernel_loadaddr} uImage; then if fatload usb 1 ${dtb_loadaddr} ${dtb_name}; then run boot_start; else imgread dtb boot ${loadaddr} ${dtb_loadaddr}; run boot_start;fi;fi;fi; -if fatload usb 2 ${initrd_loadaddr} uInitrd; then if fatload usb 2 ${kernel_loadaddr} uImage; then if fatload usb 2 ${dtb_loadaddr} ${dtb_name}; then run boot_start; else imgread dtb boot ${loadaddr} ${dtb_loadaddr}; run boot_start;fi;fi;fi; -if fatload usb 3 ${initrd_loadaddr} uInitrd; then if fatload usb 3 ${kernel_loadaddr} uImage; then if fatload usb 3 ${dtb_loadaddr} ${dtb_name}; then run boot_start; else imgread dtb boot ${loadaddr} ${dtb_loadaddr}; run boot_start;fi;fi;fi; -if fatload mmc 0 ${initrd_loadaddr} uInitrd; setenv bootargs ${bootargs_sd}; then if fatload mmc 0 ${kernel_loadaddr} uImage; then if fatload mmc 0 ${dtb_loadaddr} ${dtb_name}; then run boot_start; else imgread dtb boot ${loadaddr} ${dtb_loadaddr}; run boot_start;fi;fi;fi; - -#rebuild -#mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "s805_autoscript" -d s805_autoscript.txt ./s805_autoscript diff --git a/target/linux/meson/image/s905_autoscript.txt b/target/linux/meson/image/s905_autoscript.txt deleted file mode 100644 index d1f589498d38b8..00000000000000 --- a/target/linux/meson/image/s905_autoscript.txt +++ /dev/null @@ -1,16 +0,0 @@ -setenv loadaddr "0x01080000" -setenv dtb_mem_addr "0x01000000" -setenv env_addr "0x1040000" -setenv boot_start 'bootm ${loadaddr} - ${dtb_mem_addr}' -setenv bootargs_ismmc 'if itest ${devtype} == mmc; then setenv bootargs ${bootargs_mmc}; fi' -setenv bootargs_isusb 'if itest ${devtype} == usb; then setenv bootargs ${bootargs_usb}; fi' -setenv try_boot_start 'if fatload ${devtype} ${devnum} ${loadaddr} uImage; then fatload ${devtype} ${devnum} ${env_addr} uEnv.ini && env import -t ${env_addr} ${filesize}; run bootargs_ismmc; run bootargs_isusb; printenv bootargs; fatload ${devtype} ${devnum} ${dtb_mem_addr} ${dtb_name} && run boot_start; fi' -setenv devtype mmc -setenv devnum 0 -run try_boot_start -setenv devtype usb -for devnum in 0 1 2 3 ; do run try_boot_start ; done - -#rebuild -#mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "s905_autoscript" -d s905_autoscript.txt ./s905_autoscript - diff --git a/target/linux/meson/image/uEnv.ini b/target/linux/meson/image/uEnv.ini deleted file mode 100644 index d758991737f95a..00000000000000 --- a/target/linux/meson/image/uEnv.ini +++ /dev/null @@ -1,3 +0,0 @@ -dtb_name=dtb -bootargs_mmc=root=/dev/mmcblk0p2 rootwait ro rootfstype=ext4,squashfs console=tty0, console=ttyAML0,115200 net.ifnames=0 -bootargs_usb=root=/dev/sda2 rootwait ro rootfstype=ext4,squashfs console=tty0 console=ttyAML0,115200 net.ifnames=0 diff --git a/target/linux/meson/meson8b/config-5.15 b/target/linux/meson/meson8b/config-5.15 deleted file mode 100644 index 3c467b3e116c3b..00000000000000 --- a/target/linux/meson/meson8b/config-5.15 +++ /dev/null @@ -1,482 +0,0 @@ -# CONFIG_AIO is not set -CONFIG_ALIGNMENT_TRAP=y -CONFIG_AMLOGIC_THERMAL=y -CONFIG_ARCH_32BIT_OFF_T=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MESON=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MULTIPLATFORM=y -CONFIG_ARCH_MULTI_V6_V7=y -CONFIG_ARCH_MULTI_V7=y -CONFIG_ARCH_NR_GPIO=0 -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_SUSPEND_POSSIBLE=y -CONFIG_ARM=y -CONFIG_ARM_GIC=y -CONFIG_ARM_CRYPTO=y -CONFIG_ARM_GLOBAL_TIMER=y -CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_ARM_HEAVY_MB=y -CONFIG_ARM_L1_CACHE_SHIFT=6 -CONFIG_ARM_L1_CACHE_SHIFT_6=y -CONFIG_ARM_PATCH_IDIV=y -CONFIG_ARM_PATCH_PHYS_VIRT=y -CONFIG_ARM_THUMB=y -CONFIG_ARM_THUMBEE=y -CONFIG_ARM_UNWIND=y -CONFIG_ARM_VIRT_EXT=y -CONFIG_ASN1=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_AUTO_ZRELADDR=y -CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y -CONFIG_BLK_DEBUG_FS=y -# CONFIG_BLK_DEV_INITRD is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_PM=y -CONFIG_BLK_SCSI_REQUEST=y -CONFIG_CACHE_L2X0=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y -CONFIG_CLKSRC_MMIO=y -CONFIG_CLK_QORIQ=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CLZ_TAB=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_COMMON_CLK=y -CONFIG_COMMON_CLK_CS2000_CP=y -CONFIG_COMMON_CLK_MESON8B=y -CONFIG_COMMON_CLK_MESON_MPLL=y -CONFIG_COMMON_CLK_MESON_PLL=y -CONFIG_COMMON_CLK_MESON_REGMAP=y -CONFIG_COMMON_CLK_PWM=y -CONFIG_COMPAT_32BIT_TIME=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_CONTIG_ALLOC=y -CONFIG_COREDUMP=y -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -CONFIG_CPU_32v6K=y -CONFIG_CPU_32v7=y -CONFIG_CPU_ABRT_EV7=y -CONFIG_CPU_CACHE_V7=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -CONFIG_CPU_FREQ_GOV_COMMON=y -# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_STAT is not set -CONFIG_CPU_FREQ_THERMAL=y -CONFIG_CPU_HAS_ASID=y -CONFIG_CPU_PABRT_V7=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_CRC7=y -CONFIG_CRC_ITU_T=y -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_DRBG=y -CONFIG_CRYPTO_DRBG_HMAC=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_JITTERENTROPY=y -CONFIG_CRYPTO_LIB_SHA256=y -CONFIG_CRYPTO_NULL2=y -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_SHA256=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" -CONFIG_DMA_CMA=y -CONFIG_DMA_OPS=y -CONFIG_DMA_REMAP=y -CONFIG_DMA_SHARED_BUFFER=y -CONFIG_DRM=y -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y -CONFIG_DRM_KMS_FB_HELPER=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_MALI_DISPLAY=y -# CONFIG_DRM_MESON is not set -CONFIG_DRM_PANEL=y -CONFIG_DRM_PANEL_BRIDGE=y -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_DTC=y -CONFIG_DUMMY_CONSOLE=y -CONFIG_DWMAC_DWC_QOS_ETH=y -# CONFIG_DWMAC_GENERIC is not set -CONFIG_DWMAC_MESON=y -CONFIG_EDAC_ATOMIC_SCRUB=y -CONFIG_EDAC_SUPPORT=y -CONFIG_ELF_CORE=y -# CONFIG_ENABLE_DEFAULT_TRACERS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXTCON=y -CONFIG_F2FS_FS=y -CONFIG_F2FS_FS_POSIX_ACL=y -CONFIG_FB=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_CMDLINE=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_SYS_IMAGEBLIT=y -CONFIG_FIXED_PHY=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FONT_8x16=y -CONFIG_FONT_8x8=y -CONFIG_FONT_SUPPORT=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FS_IOMAP=y -CONFIG_FS_MBCACHE=y -CONFIG_FS_POSIX_ACL=y -CONFIG_FTRACE=y -# CONFIG_FTRACE_SYSCALLS is not set -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_GENERIC_ADC_THERMAL=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_PHY=y -CONFIG_GENERIC_PINCONF=y -CONFIG_GENERIC_PINCTRL_GROUPS=y -CONFIG_GENERIC_PINMUX_FUNCTIONS=y -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_VDSO_32=y -CONFIG_GLOB=y -CONFIG_GPIOLIB=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAVE_ARM_TWD=y -CONFIG_HAVE_SMP=y -CONFIG_HDMI=y -CONFIG_HWMON=y -CONFIG_HW_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_MESON=y -CONFIG_HZ=100 -CONFIG_HZ_100=y -CONFIG_HZ_FIXED=0 -CONFIG_I2C=y -CONFIG_I2C_ALGOBIT=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_MESON=y -CONFIG_ICPLUS_PHY=y -CONFIG_IIO=y -CONFIG_INPUT=y -CONFIG_IPV6=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MULTIPLE_TABLES=y -# CONFIG_IPV6_PIMSM_V2 is not set -CONFIG_IPV6_SUBTREES=y -CONFIG_IP_MROUTE_COMMON=y -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -# CONFIG_IR_IMON_RAW is not set -# CONFIG_IR_MESON is not set -# CONFIG_IR_SERIAL is not set -# CONFIG_IR_SIR is not set -# CONFIG_IR_TOY is not set -CONFIG_JBD2=y -CONFIG_KCMP=y -CONFIG_KEYS=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set -CONFIG_LEDS_GPIO=y -CONFIG_LIBFDT=y -CONFIG_LIB_MEMNEQ=y -# CONFIG_LIRC is not set -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LOCK_SPIN_ON_OWNER=y -# CONFIG_MACH_MESON6 is not set -CONFIG_MACH_MESON8=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAILBOX=y -# CONFIG_MAILBOX_TEST is not set -CONFIG_MDIO_BITBANG=y -CONFIG_MDIO_BUS=y -CONFIG_MDIO_BUS_MUX=y -# CONFIG_MDIO_BUS_MUX_MESON_G12A is not set -CONFIG_MDIO_BUS_MUX_MMIOREG=y -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_DEVRES=y -# CONFIG_MDIO_GPIO is not set -CONFIG_MEMFD_CREATE=y -CONFIG_MEMORY=y -CONFIG_MEMORY_ISOLATION=y -CONFIG_MESON6_TIMER=y -# CONFIG_MESON_CANVAS is not set -CONFIG_MESON_CLK_MEASURE=y -CONFIG_MESON_EE_PM_DOMAINS=y -# CONFIG_MESON_GXBB_WATCHDOG is not set -# CONFIG_MESON_GXL_PHY is not set -CONFIG_MESON_GX_PM_DOMAINS=y -# CONFIG_MESON_GX_SOCINFO is not set -CONFIG_MESON_IRQ_GPIO=y -CONFIG_MESON_MX_EFUSE=y -CONFIG_MESON_MX_SOCINFO=y -CONFIG_MESON_SARADC=y -CONFIG_MESON_WATCHDOG=y -# CONFIG_MFD_KHADAS_MCU is not set -CONFIG_MFD_SYSCON=y -CONFIG_MIGHT_HAVE_CACHE_L2X0=y -CONFIG_MIGRATION=y -CONFIG_MMC=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_MMC_CQHCI=y -CONFIG_MMC_DW=y -# CONFIG_MMC_DW_BLUEFIELD is not set -# CONFIG_MMC_DW_EXYNOS is not set -# CONFIG_MMC_DW_HI3798CV200 is not set -CONFIG_MMC_DW_K3=y -CONFIG_MMC_DW_PLTFM=y -# CONFIG_MMC_MESON_GX is not set -CONFIG_MMC_MESON_MX_SDHC=y -CONFIG_MMC_MESON_MX_SDIO=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_OF_ARASAN=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SPI=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_MPILIB=y -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEON=y -CONFIG_NET_CLS_ACT=y -CONFIG_NET_EMATCH=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NET_PTP_CLASSIFY=y -CONFIG_NLS=y -CONFIG_NO_HZ_COMMON=y -CONFIG_NO_HZ_IDLE=y -CONFIG_NR_CPUS=4 -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_OF_NET=y -CONFIG_OID_REGISTRY=y -CONFIG_OLD_SIGACTION=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_OUTER_CACHE=y -CONFIG_OUTER_CACHE_SYNC=y -CONFIG_PADATA=y -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_PAGE_POOL=y -CONFIG_PCS_XPCS=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PGTABLE_LEVELS=2 -CONFIG_PHYLIB=y -CONFIG_PHYLINK=y -CONFIG_PHY_MESON8B_USB2=y -# CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG is not set -# CONFIG_PHY_MESON_AXG_PCIE is not set -# CONFIG_PHY_MESON_G12A_USB2 is not set -# CONFIG_PHY_MESON_G12A_USB3_PCIE is not set -# CONFIG_PHY_MESON_GXL_USB2 is not set -CONFIG_PINCTRL=y -CONFIG_PINCTRL_MESON=y -CONFIG_PINCTRL_MESON8=y -CONFIG_PINCTRL_MESON8B=y -CONFIG_PINCTRL_MESON8_PMX=y -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set -CONFIG_PLATFORM_MHU=y -CONFIG_PM=y -CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_PM_OPP=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -CONFIG_POWER_RESET=y -CONFIG_POWER_SUPPLY=y -CONFIG_POWER_SUPPLY_HWMON=y -CONFIG_PPS=y -CONFIG_PRINTK_TIME=y -CONFIG_PTP_1588_CLOCK=y -CONFIG_PWM=y -CONFIG_PWM_MESON=y -CONFIG_PWM_SYSFS=y -CONFIG_RATIONAL=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RC_CORE=y -CONFIG_RC_DEVICES=y -# CONFIG_RC_XBOX_DVD is not set -CONFIG_REALTEK_AUTOPM=y -CONFIG_REALTEK_PHY=y -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_PWM=y -CONFIG_RESET_CONTROLLER=y -CONFIG_RESET_MESON=y -# CONFIG_RESET_MESON_AUDIO_ARB is not set -CONFIG_RFS_ACCEL=y -CONFIG_RPS=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_MESON=y -# CONFIG_RTC_DRV_MESON_VRTC is not set -CONFIG_RTC_I2C_AND_SPI=y -CONFIG_RTC_MC146818_LIB=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_SCHED_THERMAL_PRESSURE=y -CONFIG_SCSI=y -CONFIG_SDIO_UART=y -CONFIG_SENSORS_IIO_HWMON=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SERIAL_MESON=y -CONFIG_SERIAL_MESON_CONSOLE=y -CONFIG_SG_POOL=y -CONFIG_SMP=y -CONFIG_SMP_ON_UP=y -CONFIG_SOC_BUS=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_MESON_SPICC=y -CONFIG_SPI_MESON_SPIFC=y -CONFIG_SRCU=y -CONFIG_STACKTRACE=y -CONFIG_STMMAC_ETH=y -CONFIG_STMMAC_PLATFORM=y -# CONFIG_STMMAC_SELFTESTS is not set -CONFIG_SWPHY=y -CONFIG_SWP_EMULATE=y -CONFIG_SYNC_FILE=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_THERMAL=y -CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -CONFIG_THERMAL_GOV_STEP_WISE=y -CONFIG_THERMAL_HWMON=y -CONFIG_THERMAL_OF=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_TREE_RCU=y -CONFIG_TREE_SRCU=y -# CONFIG_UCLAMP_TASK is not set -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" -CONFIG_UNWINDER_ARM=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_DWC2=y -CONFIG_USB_DWC2_DUAL_ROLE=y -CONFIG_USB_DWC3=y -CONFIG_USB_DWC3_DUAL_ROLE=y -# CONFIG_USB_DWC3_GADGET is not set -# CONFIG_USB_DWC3_HOST is not set -# CONFIG_USB_DWC3_MESON_G12A is not set -CONFIG_USB_DWC3_OF_SIMPLE=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -# CONFIG_USB_ETH is not set -CONFIG_USB_GADGET=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_FSM=y -CONFIG_USB_PHY=y -CONFIG_USB_ROLE_SWITCH=y -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_REALTEK=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_ULPI=y -CONFIG_USB_ULPI_VIEWPORT=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PLATFORM=y -CONFIG_USE_OF=y -CONFIG_VFP=y -CONFIG_VFPv3=y -CONFIG_VIDEOMODE_HELPERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_WATCHDOG_CORE=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_XPS=y -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_IP_NF_TARGET_REDIRECT=y -CONFIG_IP_NF_TARGET_MASQUERADE=y diff --git a/target/linux/meson/meson8b/config-5.10 b/target/linux/meson/meson8b/config-6.1 similarity index 82% rename from target/linux/meson/meson8b/config-5.10 rename to target/linux/meson/meson8b/config-6.1 index 3c467b3e116c3b..986e824d5e87e6 100644 --- a/target/linux/meson/meson8b/config-5.10 +++ b/target/linux/meson/meson8b/config-6.1 @@ -17,9 +17,9 @@ CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM=y CONFIG_ARM_GIC=y -CONFIG_ARM_CRYPTO=y CONFIG_ARM_GLOBAL_TIMER=y -CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_GT_INITIAL_PRESCALER_VAL=1 +CONFIG_ARM_HAS_GROUP_RELOCS=y CONFIG_ARM_HEAVY_MB=y CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y @@ -30,9 +30,6 @@ CONFIG_ARM_THUMBEE=y CONFIG_ARM_UNWIND=y CONFIG_ARM_VIRT_EXT=y CONFIG_ASN1=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_AUTO_ZRELADDR=y CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y CONFIG_BLK_DEBUG_FS=y @@ -40,12 +37,12 @@ CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_PM=y -CONFIG_BLK_SCSI_REQUEST=y CONFIG_CACHE_L2X0=y -CONFIG_CLKDEV_LOOKUP=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_CLK_QORIQ=y CONFIG_CLONE_BACKWARDS=y CONFIG_CLZ_TAB=y CONFIG_CMA=y @@ -58,6 +55,7 @@ CONFIG_CMA_SIZE_MBYTES=16 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=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_CS2000_CP=y CONFIG_COMMON_CLK_MESON8B=y @@ -65,8 +63,11 @@ CONFIG_COMMON_CLK_MESON_MPLL=y CONFIG_COMMON_CLK_MESON_PLL=y CONFIG_COMMON_CLK_MESON_REGMAP=y CONFIG_COMMON_CLK_PWM=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_COMPAT_32BIT_TIME=y CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y CONFIG_CONTIG_ALLOC=y CONFIG_COREDUMP=y CONFIG_CPUFREQ_DT=y @@ -80,19 +81,16 @@ CONFIG_CPU_COPY_V6=y CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_CPU_FREQ_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_STAT is not set +CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPU_PABRT_V7=y CONFIG_CPU_RMAP=y CONFIG_CPU_SPECTRE=y @@ -103,43 +101,33 @@ CONFIG_CPU_V7=y CONFIG_CRC16=y CONFIG_CRC7=y CONFIG_CRC_ITU_T=y +CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y -CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=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_DMA_CMA=y CONFIG_DMA_OPS=y -CONFIG_DMA_REMAP=y CONFIG_DMA_SHARED_BUFFER=y -CONFIG_DRM=y -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y -CONFIG_DRM_KMS_FB_HELPER=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_MALI_DISPLAY=y -# CONFIG_DRM_MESON is not set -CONFIG_DRM_PANEL=y -CONFIG_DRM_PANEL_BRIDGE=y -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_DTC=y CONFIG_DUMMY_CONSOLE=y CONFIG_DWMAC_DWC_QOS_ETH=y @@ -149,35 +137,24 @@ CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_ELF_CORE=y # CONFIG_ENABLE_DEFAULT_TRACERS is not set +CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXTCON=y CONFIG_F2FS_FS=y CONFIG_F2FS_FS_POSIX_ACL=y -CONFIG_FB=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_CMDLINE=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_SYS_IMAGEBLIT=y CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FONT_8x16=y -CONFIG_FONT_8x8=y -CONFIG_FONT_SUPPORT=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FORTIFY_SOURCE is not set CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y CONFIG_FS_POSIX_ACL=y CONFIG_FTRACE=y # CONFIG_FTRACE_SYSCALLS is not set +CONFIG_FWNODE_MDIO=y CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_GCC11_NO_ARRAY_BOUNDS=y CONFIG_GENERIC_ADC_THERMAL=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ARCH_TOPOLOGY=y @@ -194,6 +171,7 @@ CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=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 @@ -206,22 +184,22 @@ CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_VDSO_32=y CONFIG_GLOB=y -CONFIG_GPIOLIB=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_GPIO_CDEV=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_SMP=y -CONFIG_HDMI=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +# CONFIG_HIST_TRIGGERS is not set CONFIG_HWMON=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_MESON=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y @@ -237,23 +215,20 @@ CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IP_MROUTE_COMMON=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_IR_IMON_RAW is not set # CONFIG_IR_MESON is not set -# CONFIG_IR_SERIAL is not set -# CONFIG_IR_SIR is not set -# CONFIG_IR_TOY is not set +CONFIG_IR_MESON_TX=y CONFIG_JBD2=y CONFIG_KCMP=y -CONFIG_KEYS=y +CONFIG_KMAP_LOCAL=y +CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set CONFIG_LEDS_GPIO=y CONFIG_LIBFDT=y -CONFIG_LIB_MEMNEQ=y -# CONFIG_LIRC is not set CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y # CONFIG_MACH_MESON6 is not set @@ -279,9 +254,7 @@ CONFIG_MESON_EE_PM_DOMAINS=y # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set CONFIG_MESON_GX_PM_DOMAINS=y -# CONFIG_MESON_GX_SOCINFO is not set CONFIG_MESON_IRQ_GPIO=y -CONFIG_MESON_MX_EFUSE=y CONFIG_MESON_MX_SOCINFO=y CONFIG_MESON_SARADC=y CONFIG_MESON_WATCHDOG=y @@ -317,11 +290,13 @@ CONFIG_NET_CLS_ACT=y CONFIG_NET_EMATCH=y CONFIG_NET_FLOW_LIMIT=y CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_SELFTESTS=y CONFIG_NLS=y CONFIG_NO_HZ_COMMON=y CONFIG_NO_HZ_IDLE=y CONFIG_NR_CPUS=4 CONFIG_NVMEM=y +CONFIG_NVMEM_MESON_MX_EFUSE=y CONFIG_OF=y CONFIG_OF_ADDRESS=y CONFIG_OF_EARLY_FLATTREE=y @@ -330,7 +305,6 @@ CONFIG_OF_GPIO=y CONFIG_OF_IRQ=y CONFIG_OF_KOBJ=y CONFIG_OF_MDIO=y -CONFIG_OF_NET=y CONFIG_OID_REGISTRY=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND3=y @@ -339,14 +313,19 @@ 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_PCS_XPCS=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLINK=y CONFIG_PHY_MESON8B_USB2=y +# CONFIG_PHY_MESON8_HDMI_TX is not set +# CONFIG_PHY_MESON_AXG_MIPI_DPHY is not set # CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG is not set # CONFIG_PHY_MESON_AXG_PCIE is not set +# CONFIG_PHY_MESON_G12A_MIPI_DPHY_ANALOG is not set # CONFIG_PHY_MESON_G12A_USB2 is not set # CONFIG_PHY_MESON_G12A_USB3_PCIE is not set # CONFIG_PHY_MESON_GXL_USB2 is not set @@ -355,8 +334,6 @@ CONFIG_PINCTRL_MESON=y CONFIG_PINCTRL_MESON8=y CONFIG_PINCTRL_MESON8B=y CONFIG_PINCTRL_MESON8_PMX=y -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set CONFIG_PLATFORM_MHU=y CONFIG_PM=y CONFIG_PM_CLK=y @@ -369,20 +346,21 @@ CONFIG_POWER_RESET=y CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_HWMON=y CONFIG_PPS=y +CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PRINTK_TIME=y CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_PWM=y CONFIG_PWM_MESON=y CONFIG_PWM_SYSFS=y +CONFIG_RANDSTRUCT_NONE=y CONFIG_RATIONAL=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_RCU_STALL_COMMON=y CONFIG_RC_CORE=y CONFIG_RC_DEVICES=y -# CONFIG_RC_XBOX_DVD is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -401,7 +379,9 @@ CONFIG_RTC_MC146818_LIB=y CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_SCHED_THERMAL_PRESSURE=y CONFIG_SCSI=y +CONFIG_SCSI_COMMON=y CONFIG_SDIO_UART=y +# CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SENSORS_IIO_HWMON=y CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_MCTRL_GPIO=y @@ -410,7 +390,9 @@ CONFIG_SERIAL_MESON_CONSOLE=y CONFIG_SG_POOL=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_MASTER=y @@ -420,7 +402,6 @@ CONFIG_SRCU=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y -# CONFIG_STMMAC_SELFTESTS is not set CONFIG_SWPHY=y CONFIG_SWP_EMULATE=y CONFIG_SYNC_FILE=y @@ -431,12 +412,12 @@ 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_UCLAMP_TASK is not set CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y @@ -451,7 +432,6 @@ CONFIG_USB_DWC3_DUAL_ROLE=y CONFIG_USB_DWC3_OF_SIMPLE=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD_PLATFORM=y -# CONFIG_USB_ETH is not set CONFIG_USB_GADGET=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y @@ -469,14 +449,11 @@ CONFIG_USB_XHCI_PLATFORM=y CONFIG_USE_OF=y CONFIG_VFP=y CONFIG_VFPv3=y -CONFIG_VIDEOMODE_HELPERS=y CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_WATCHDOG_CORE=y -CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_XPS=y CONFIG_ZBOOT_ROM_BSS=0 CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_IP_NF_TARGET_REDIRECT=y -CONFIG_IP_NF_TARGET_MASQUERADE=y diff --git a/target/linux/meson/meson8b/target.mk b/target/linux/meson/meson8b/target.mk index 9b8dba026ad025..75bf85120e4886 100644 --- a/target/linux/meson/meson8b/target.mk +++ b/target/linux/meson/meson8b/target.mk @@ -1,20 +1,14 @@ # SPDX-License-Identifier: GPL-2.0-only # -# Copyright (C) 2020 ChalesYu <574249312@qq.com> -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# +# Copyright (C) 2006-2013 OpenWrt.org ARCH:=arm SUBTARGET:=meson8b BOARDNAME:=Amlogic S805 boards (32 bit) CPU_TYPE:=cortex-a5 CPU_SUBTYPE:=vfpv4 -MAINTAINER:=ChalesYu <574249312@qq.com> define Target/Description Build firmware image for Amlogic S805 SoC devices. This firmware features a 32 bit kernel. endef - diff --git a/target/linux/meson/mesongx/config-5.10 b/target/linux/meson/mesongx/config-5.10 deleted file mode 100644 index 6023a2b497d5e1..00000000000000 --- a/target/linux/meson/mesongx/config-5.10 +++ /dev/null @@ -1,518 +0,0 @@ -CONFIG_64BIT=y -# CONFIG_AIO is not set -CONFIG_AMLOGIC_THERMAL=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MESON=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=33 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_STACKWALK=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM64=y -CONFIG_ARM64_4K_PAGES=y -CONFIG_ARM64_CNP=y -CONFIG_ARM64_ERRATUM_1165522=y -CONFIG_ARM64_ERRATUM_1286807=y -CONFIG_ARM64_ERRATUM_819472=y -CONFIG_ARM64_ERRATUM_824069=y -CONFIG_ARM64_ERRATUM_826319=y -CONFIG_ARM64_ERRATUM_827319=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_858921=y -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_MODULE_PLTS=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PAN=y -CONFIG_ARM64_PA_BITS=48 -CONFIG_ARM64_PA_BITS_48=y -CONFIG_ARM64_PMEM=y -CONFIG_ARM64_PTR_AUTH=y -CONFIG_ARM64_SVE=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARM64_UAO=y -CONFIG_ARM64_VA_BITS=48 -# CONFIG_ARM64_VA_BITS_39 is not set -CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_VHE=y -CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y -CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y -CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y -CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_ARM_GIC=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -CONFIG_ARM_PSCI_FW=y -CONFIG_ARM_SCPI_CPUFREQ=y -CONFIG_ARM_SCPI_POWER_DOMAIN=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ASN1=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -CONFIG_BLK_DEBUG_FS=y -# CONFIG_BLK_DEV_INITRD is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_PM=y -CONFIG_BLK_SCSI_REQUEST=y -CONFIG_CAVIUM_TX2_ERRATUM_219=y -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -# CONFIG_CEC_CH7322 is not set -# CONFIG_CEC_MESON_AO is not set -# CONFIG_CEC_MESON_G12A_AO is not set -CONFIG_CLKDEV_LOOKUP=y -CONFIG_CLK_QORIQ=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CLZ_TAB=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_COMMON_CLK=y -CONFIG_COMMON_CLK_AXG=y -# CONFIG_COMMON_CLK_AXG_AUDIO is not set -CONFIG_COMMON_CLK_CS2000_CP=y -CONFIG_COMMON_CLK_G12A=y -CONFIG_COMMON_CLK_GXBB=y -CONFIG_COMMON_CLK_MESON_AO_CLKC=y -CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y -CONFIG_COMMON_CLK_MESON_DUALDIV=y -CONFIG_COMMON_CLK_MESON_EE_CLKC=y -CONFIG_COMMON_CLK_MESON_MPLL=y -CONFIG_COMMON_CLK_MESON_PLL=y -CONFIG_COMMON_CLK_MESON_REGMAP=y -CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y -CONFIG_COMMON_CLK_PWM=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_COMMON_CLK_XGENE=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_CONTIG_ALLOC=y -CONFIG_COREDUMP=y -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -CONFIG_CPU_FREQ=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_THERMAL=y -CONFIG_CPU_RMAP=y -CONFIG_CPU_THERMAL=y -CONFIG_CRC16=y -CONFIG_CRC7=y -CONFIG_CRC_ITU_T=y -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_DRBG=y -CONFIG_CRYPTO_DRBG_HMAC=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_JITTERENTROPY=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_SHA256=y -CONFIG_CRYPTO_NULL2=y -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_SHA256=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_DMA_CMA=y -CONFIG_DMA_DIRECT_REMAP=y -CONFIG_DMA_REMAP=y -CONFIG_DMA_SHARED_BUFFER=y -CONFIG_DRM=y -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_DW_HDMI=y -# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y -CONFIG_DRM_KMS_FB_HELPER=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_MALI_DISPLAY=y -CONFIG_DRM_MESON=y -CONFIG_DRM_MESON_DW_HDMI=y -CONFIG_DRM_PANEL=y -CONFIG_DRM_PANEL_BRIDGE=y -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_DTC=y -CONFIG_DUMMY_CONSOLE=y -CONFIG_DVB_CORE=y -CONFIG_DWMAC_DWC_QOS_ETH=y -# CONFIG_DWMAC_GENERIC is not set -CONFIG_DWMAC_MESON=y -CONFIG_EDAC_SUPPORT=y -CONFIG_ELF_CORE=y -# CONFIG_ENABLE_DEFAULT_TRACERS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXTCON=y -CONFIG_F2FS_FS=y -CONFIG_F2FS_FS_POSIX_ACL=y -CONFIG_FB=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_CMDLINE=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_SYS_IMAGEBLIT=y -CONFIG_FIXED_PHY=y -CONFIG_FIX_EARLYCON_MEM=y -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_FONT_8x16=y -CONFIG_FONT_8x8=y -CONFIG_FONT_SUPPORT=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FRAME_POINTER=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_FS_IOMAP=y -CONFIG_FS_MBCACHE=y -CONFIG_FS_POSIX_ACL=y -CONFIG_FTRACE=y -# CONFIG_FTRACE_SYSCALLS is not set -CONFIG_FUJITSU_ERRATUM_010001=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_GENERIC_CSUM=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_MULTI_HANDLER=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_PHY=y -CONFIG_GENERIC_PINCONF=y -CONFIG_GENERIC_PINCTRL_GROUPS=y -CONFIG_GENERIC_PINMUX_FUNCTIONS=y -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GLOB=y -CONFIG_GPIOLIB=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HDMI=y -# CONFIG_HIST_TRIGGERS is not set -CONFIG_HOLES_IN_ZONE=y -CONFIG_HWMON=y -CONFIG_HW_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_MESON=y -CONFIG_I2C=y -CONFIG_I2C_ALGOBIT=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_MESON=y -CONFIG_ICPLUS_PHY=y -CONFIG_IIO=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_INPUT=y -CONFIG_IPV6=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MULTIPLE_TABLES=y -# CONFIG_IPV6_PIMSM_V2 is not set -CONFIG_IPV6_SUBTREES=y -CONFIG_IP_MROUTE_COMMON=y -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -# CONFIG_IR_IMON_RAW is not set -CONFIG_IR_MESON=y -# CONFIG_IR_SERIAL is not set -# CONFIG_IR_SIR is not set -# CONFIG_IR_TOY is not set -CONFIG_JBD2=y -CONFIG_KCMP=y -CONFIG_KEYS=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set -CONFIG_LEDS_GPIO=y -CONFIG_LIBFDT=y -CONFIG_LIB_MEMNEQ=y -# CONFIG_LIRC is not set -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAILBOX=y -# CONFIG_MAILBOX_TEST is not set -CONFIG_MDIO_BITBANG=y -CONFIG_MDIO_BUS=y -CONFIG_MDIO_BUS_MUX=y -# CONFIG_MDIO_BUS_MUX_MESON_G12A is not set -CONFIG_MDIO_BUS_MUX_MMIOREG=y -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_DEVRES=y -# CONFIG_MDIO_GPIO is not set -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_ATTACH=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_CEC_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_PLATFORM_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -CONFIG_MEDIA_SDR_SUPPORT=y -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_TEST_SUPPORT=y -CONFIG_MEDIA_TUNER=y -CONFIG_MEMFD_CREATE=y -CONFIG_MEMORY_ISOLATION=y -CONFIG_MESON_CANVAS=y -CONFIG_MESON_CLK_MEASURE=y -CONFIG_MESON_EE_PM_DOMAINS=y -CONFIG_MESON_EFUSE=y -CONFIG_MESON_GXBB_WATCHDOG=y -CONFIG_MESON_GXL_PHY=y -CONFIG_MESON_GX_PM_DOMAINS=y -CONFIG_MESON_GX_SOCINFO=y -CONFIG_MESON_IRQ_GPIO=y -# CONFIG_MESON_MX_EFUSE is not set -CONFIG_MESON_MX_SOCINFO=y -CONFIG_MESON_SARADC=y -CONFIG_MESON_SECURE_PM_DOMAINS=y -CONFIG_MESON_SM=y -CONFIG_MESON_WATCHDOG=y -# CONFIG_MFD_KHADAS_MCU is not set -CONFIG_MFD_SYSCON=y -CONFIG_MIGRATION=y -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_MMC_CQHCI=y -CONFIG_MMC_DW=y -# CONFIG_MMC_DW_BLUEFIELD is not set -# CONFIG_MMC_DW_EXYNOS is not set -# CONFIG_MMC_DW_HI3798CV200 is not set -CONFIG_MMC_DW_K3=y -CONFIG_MMC_DW_PLTFM=y -CONFIG_MMC_MESON_GX=y -# CONFIG_MMC_MESON_MX_SDIO is not set -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_OF_ARASAN=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SPI=y -CONFIG_MMC_STM32_SDMMC=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_MPILIB=y -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NET_CLS_ACT=y -CONFIG_NET_EMATCH=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NET_PTP_CLASSIFY=y -CONFIG_NLS=y -CONFIG_NO_HZ_COMMON=y -CONFIG_NO_HZ_IDLE=y -CONFIG_NO_IOPORT_MAP=y -CONFIG_NR_CPUS=8 -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_OF_NET=y -CONFIG_OID_REGISTRY=y -CONFIG_PADATA=y -CONFIG_PAGE_POOL=y -CONFIG_PARTITION_PERCPU=y -CONFIG_PCS_XPCS=y -CONFIG_PGTABLE_LEVELS=4 -CONFIG_PHYLIB=y -CONFIG_PHYLINK=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_PHY_MESON8B_USB2=y -CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y -CONFIG_PHY_MESON_AXG_PCIE=y -# CONFIG_PHY_MESON_G12A_USB2 is not set -# CONFIG_PHY_MESON_G12A_USB3_PCIE is not set -CONFIG_PHY_MESON_GXL_USB2=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_MESON=y -CONFIG_PINCTRL_MESON8_PMX=y -# CONFIG_PINCTRL_MESON_A1 is not set -# CONFIG_PINCTRL_MESON_AXG is not set -# CONFIG_PINCTRL_MESON_G12A is not set -CONFIG_PINCTRL_MESON_GXBB=y -CONFIG_PINCTRL_MESON_GXL=y -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set -CONFIG_PLATFORM_MHU=y -CONFIG_PM=y -CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_PM_OPP=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -CONFIG_POWER_RESET=y -CONFIG_POWER_SUPPLY=y -CONFIG_POWER_SUPPLY_HWMON=y -CONFIG_PPS=y -CONFIG_PRINTK_TIME=y -CONFIG_PTP_1588_CLOCK=y -CONFIG_PWM=y -CONFIG_PWM_MESON=y -CONFIG_PWM_SYSFS=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_RATIONAL=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RC_CORE=y -CONFIG_RC_DEVICES=y -# CONFIG_RC_XBOX_DVD is not set -CONFIG_REALTEK_AUTOPM=y -CONFIG_REALTEK_PHY=y -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_PWM=y -CONFIG_RESET_CONTROLLER=y -CONFIG_RESET_MESON=y -# CONFIG_RESET_MESON_AUDIO_ARB is not set -CONFIG_RFS_ACCEL=y -CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -CONFIG_RPS=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_SCHED_THERMAL_PRESSURE=y -CONFIG_SCSI=y -CONFIG_SDIO_UART=y -CONFIG_SENSORS_ARM_SCPI=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SERIAL_MESON=y -CONFIG_SERIAL_MESON_CONSOLE=y -CONFIG_SG_POOL=y -CONFIG_SMP=y -CONFIG_SOC_BUS=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_MESON_SPICC=y -CONFIG_SPI_MESON_SPIFC=y -CONFIG_SRCU=y -CONFIG_STACKTRACE=y -CONFIG_STMMAC_ETH=y -CONFIG_STMMAC_PLATFORM=y -# CONFIG_STMMAC_SELFTESTS is not set -CONFIG_SWIOTLB=y -CONFIG_SWPHY=y -CONFIG_SYNC_FILE=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=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_TREE_RCU=y -CONFIG_TREE_SRCU=y -# CONFIG_UCLAMP_TASK is not set -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_DWC2=y -CONFIG_USB_DWC2_DUAL_ROLE=y -CONFIG_USB_DWC3=y -CONFIG_USB_DWC3_DUAL_ROLE=y -# CONFIG_USB_DWC3_GADGET is not set -# CONFIG_USB_DWC3_HOST is not set -CONFIG_USB_DWC3_MESON_G12A=y -CONFIG_USB_DWC3_OF_SIMPLE=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -# CONFIG_USB_ETH is not set -CONFIG_USB_GADGET=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_FSM=y -CONFIG_USB_PHY=y -# CONFIG_USB_PULSE8_CEC is not set -# CONFIG_USB_RAINSHADOW_CEC is not set -CONFIG_USB_ROLE_SWITCH=y -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_REALTEK=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_ULPI=y -CONFIG_USB_ULPI_VIEWPORT=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PLATFORM=y -CONFIG_VIDEOMODE_HELPERS=y -CONFIG_VMAP_STACK=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_WATCHDOG_CORE=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_XPS=y -CONFIG_ZONE_DMA32=y diff --git a/target/linux/meson/mesongx/target.mk b/target/linux/meson/mesongx/target.mk deleted file mode 100644 index aad4b8bc0db49d..00000000000000 --- a/target/linux/meson/mesongx/target.mk +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -ARCH:=aarch64 -SUBTARGET:=mesongx -BOARDNAME:=Amlogic S9 SoC family (64 bit) -CPU_TYPE:=cortex-a53 -MAINTAINER:=Stijn Tintel - -define Target/Description - Build firmware image for Amlogic S9 SoC devices. - This firmware features a 64 bit kernel. -endef diff --git a/target/linux/meson/patches-5.10/001-v5.12-ARM-dts-meson-move-iio-hwmon-for-the-SoC.patch b/target/linux/meson/patches-5.10/001-v5.12-ARM-dts-meson-move-iio-hwmon-for-the-SoC.patch deleted file mode 100644 index 7e8a1ec601b884..00000000000000 --- a/target/linux/meson/patches-5.10/001-v5.12-ARM-dts-meson-move-iio-hwmon-for-the-SoC.patch +++ /dev/null @@ -1,94 +0,0 @@ -From e9ced25e41588a2ff95280b4d3dabf3a0865513b Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 21 Dec 2020 19:13:02 +0100 -Subject: [PATCH] ARM: dts: meson: move iio-hwmon for the SoC temperature to - meson.dtsi - -The SoC temperature can be retrieved from ADC channel 8 on all 32-bit -SoCs (Meson6, Meson8, Meson8b and Meson8m2). Move the iio-hwmon instance -to meson.dtsi instead of duplicating it in all board.dts. -If the temperature sensor calibration data is missing for a board then -iio-hwmon will simply not probe. - -Signed-off-by: Martin Blumenstingl -Reviewed-by: Neil Armstrong -Signed-off-by: Kevin Hilman -Link: https://lore.kernel.org/r/20201221181306.904272-2-martin.blumenstingl@googlemail.com ---- - arch/arm/boot/dts/meson.dtsi | 5 +++++ - arch/arm/boot/dts/meson8b-ec100.dts | 5 ----- - arch/arm/boot/dts/meson8b-mxq.dts | 5 ----- - arch/arm/boot/dts/meson8b-odroidc1.dts | 5 ----- - arch/arm/boot/dts/meson8m2-mxiii-plus.dts | 5 ----- - 5 files changed, 5 insertions(+), 20 deletions(-) - ---- a/arch/arm/boot/dts/meson.dtsi -+++ b/arch/arm/boot/dts/meson.dtsi -@@ -11,6 +11,11 @@ - #size-cells = <1>; - interrupt-parent = <&gic>; - -+ iio-hwmon { -+ compatible = "iio-hwmon"; -+ io-channels = <&saradc 8>; -+ }; -+ - soc { - compatible = "simple-bus"; - #address-cells = <1>; ---- a/arch/arm/boot/dts/meson8b-ec100.dts -+++ b/arch/arm/boot/dts/meson8b-ec100.dts -@@ -70,11 +70,6 @@ - timeout-ms = <20000>; - }; - -- iio-hwmon { -- compatible = "iio-hwmon"; -- io-channels = <&saradc 8>; -- }; -- - leds { - compatible = "gpio-leds"; - ---- a/arch/arm/boot/dts/meson8b-mxq.dts -+++ b/arch/arm/boot/dts/meson8b-mxq.dts -@@ -27,11 +27,6 @@ - reg = <0x40000000 0x40000000>; - }; - -- iio-hwmon { -- compatible = "iio-hwmon"; -- io-channels = <&saradc 8>; -- }; -- - vcck: regulator-vcck { - compatible = "pwm-regulator"; - ---- a/arch/arm/boot/dts/meson8b-odroidc1.dts -+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts -@@ -85,11 +85,6 @@ - 1800000 1>; - }; - -- iio-hwmon { -- compatible = "iio-hwmon"; -- io-channels = <&saradc 8>; -- }; -- - rtc32k_xtal: rtc32k-xtal-clk { - /* X3 in the schematics */ - compatible = "fixed-clock"; ---- a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts -+++ b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts -@@ -45,11 +45,6 @@ - }; - }; - -- iio-hwmon { -- compatible = "iio-hwmon"; -- io-channels = <&saradc 8>; -- }; -- - vcc_3v3: regulator-vcc3v3 { - compatible = "regulator-fixed"; - regulator-name = "VCC3V3"; diff --git a/target/linux/meson/patches-5.10/002-v5.12-ARM-dts-meson-add-the-ADC-thermal-sensor.patch b/target/linux/meson/patches-5.10/002-v5.12-ARM-dts-meson-add-the-ADC-thermal-sensor.patch deleted file mode 100644 index 5fc217033ed978..00000000000000 --- a/target/linux/meson/patches-5.10/002-v5.12-ARM-dts-meson-add-the-ADC-thermal-sensor.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c8559511107120403f7810428f50fc68fd77ed5a Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 21 Dec 2020 19:13:03 +0100 -Subject: [PATCH] ARM: dts: meson: add the ADC thermal sensor to meson.dtsi - -The SoC temperature can be retrieved from ADC channel 8 on all 32-bit -SoCs (Meson6, Meson8, Meson8b and Meson8m2). Add a "generic-adc-thermal" -instance to meson.dtsi so the thermal sensor is available for all SoCs. -If the temperature sensor calibration data is missing for a board then -the "generic-adc-thermal" will not probe and not register a thermal -sensor. - -Signed-off-by: Martin Blumenstingl -Reviewed-by: Neil Armstrong -Signed-off-by: Kevin Hilman -Link: https://lore.kernel.org/r/20201221181306.904272-3-martin.blumenstingl@googlemail.com ---- - arch/arm/boot/dts/meson.dtsi | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- a/arch/arm/boot/dts/meson.dtsi -+++ b/arch/arm/boot/dts/meson.dtsi -@@ -298,6 +298,13 @@ - }; - }; - -+ thermal_sensor: thermal-sensor { -+ compatible = "generic-adc-thermal"; -+ #thermal-sensor-cells = <0>; -+ io-channels = <&saradc 8>; -+ io-channel-names = "sensor-channel"; -+ }; -+ - xtal: xtal-clk { - compatible = "fixed-clock"; - clock-frequency = <24000000>; diff --git a/target/linux/meson/patches-5.10/003-v5.12-ARM-dts-meson8b-add-the-thermal-zones-with.patch b/target/linux/meson/patches-5.10/003-v5.12-ARM-dts-meson8b-add-the-thermal-zones-with.patch deleted file mode 100644 index 01b7ae16664ef4..00000000000000 --- a/target/linux/meson/patches-5.10/003-v5.12-ARM-dts-meson8b-add-the-thermal-zones-with.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 9073f694efd8733b0e7c97d3396d81161bd05582 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 21 Dec 2020 19:13:05 +0100 -Subject: [PATCH] ARM: dts: meson8b: add the thermal-zones with cooling - configuration -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The vendor kernel uses the following thermal-zone settings: -<= 70°C: -- CPU frequency limited to 1.488GHz -- GPU limited to 511MHz and 2 cores (pixel processors) - -<= 80°C: -- CPU frequency limited to 1.2GHz -- GPU limited to 435MHz and 2 cores (pixel processors) - -<= 90°C: -- CPU frequency limited to 0.804GHz -- GPU limited to 328MHz and 1 core (pixel processor) - -Add simplified thermal configuration which is taken from the -GXBB/GXL/GXM SoC family (which uses the same manufacturing process and -has the same maximum junction temperature of 125°C). With this the -thermal framework will try to keep the SoC temperature at or below 80°C -which is identical to the vendor kernel (with the exception of one CPU -frequency step from 1.488GHz to 1.536GHz). - -The number of GPU cores are not taken into account as this is not -supported. - -Signed-off-by: Martin Blumenstingl -Reviewed-by: Neil Armstrong -Signed-off-by: Kevin Hilman -Link: https://lore.kernel.org/r/20201221181306.904272-5-martin.blumenstingl@googlemail.com ---- - arch/arm/boot/dts/meson8b.dtsi | 54 ++++++++++++++++++++++++++++++++++ - 1 file changed, 54 insertions(+) - ---- a/arch/arm/boot/dts/meson8b.dtsi -+++ b/arch/arm/boot/dts/meson8b.dtsi -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - #include "meson.dtsi" - - / { -@@ -26,6 +27,7 @@ - resets = <&clkc CLKC_RESET_CPU0_SOFT_RESET>; - operating-points-v2 = <&cpu_opp_table>; - clocks = <&clkc CLKID_CPUCLK>; -+ #cooling-cells = <2>; /* min followed by max */ - }; - - cpu1: cpu@201 { -@@ -37,6 +39,7 @@ - resets = <&clkc CLKC_RESET_CPU1_SOFT_RESET>; - operating-points-v2 = <&cpu_opp_table>; - clocks = <&clkc CLKID_CPUCLK>; -+ #cooling-cells = <2>; /* min followed by max */ - }; - - cpu2: cpu@202 { -@@ -48,6 +51,7 @@ - resets = <&clkc CLKC_RESET_CPU2_SOFT_RESET>; - operating-points-v2 = <&cpu_opp_table>; - clocks = <&clkc CLKID_CPUCLK>; -+ #cooling-cells = <2>; /* min followed by max */ - }; - - cpu3: cpu@203 { -@@ -59,6 +63,7 @@ - resets = <&clkc CLKC_RESET_CPU3_SOFT_RESET>; - operating-points-v2 = <&cpu_opp_table>; - clocks = <&clkc CLKID_CPUCLK>; -+ #cooling-cells = <2>; /* min followed by max */ - }; - }; - -@@ -167,6 +172,54 @@ - }; - }; - -+ thermal-zones { -+ soc { -+ polling-delay-passive = <250>; /* milliseconds */ -+ polling-delay = <1000>; /* milliseconds */ -+ thermal-sensors = <&thermal_sensor>; -+ -+ cooling-maps { -+ map0 { -+ trip = <&soc_passive>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ }; -+ -+ map1 { -+ trip = <&soc_hot>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ }; -+ }; -+ -+ trips { -+ soc_passive: soc-passive { -+ temperature = <80000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "passive"; -+ }; -+ -+ soc_hot: soc-hot { -+ temperature = <90000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "hot"; -+ }; -+ -+ soc_critical: soc-critical { -+ temperature = <110000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "critical"; -+ }; -+ }; -+ }; -+ }; -+ - mmcbus: bus@c8000000 { - compatible = "simple-bus"; - reg = <0xc8000000 0x8000>; -@@ -221,6 +274,7 @@ - clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; - clock-names = "bus", "core"; - operating-points-v2 = <&gpu_opp_table>; -+ #cooling-cells = <2>; /* min followed by max */ - }; - }; - }; /* end of / */ diff --git a/target/linux/meson/patches-5.10/901-arm-boot-add-dts-files.patch b/target/linux/meson/patches-5.10/901-arm-boot-add-dts-files.patch deleted file mode 100644 index eaa3c4c5bcd824..00000000000000 --- a/target/linux/meson/patches-5.10/901-arm-boot-add-dts-files.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -348,6 +348,7 @@ dtb-$(CONFIG_MACH_MESON8) += \ - meson8b-ec100.dtb \ - meson8b-mxq.dtb \ - meson8b-odroidc1.dtb \ -+ meson8b-onecloud.dtb \ - meson8m2-mxiii-plus.dtb - dtb-$(CONFIG_ARCH_MMP) += \ - pxa168-aspenite.dtb \ diff --git a/target/linux/meson/patches-5.10/903-Support-for-EMMC.patch b/target/linux/meson/patches-5.10/903-Support-for-EMMC.patch deleted file mode 100644 index 1c1d43096b1ca6..00000000000000 --- a/target/linux/meson/patches-5.10/903-Support-for-EMMC.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/drivers/mmc/core/mmc.c -+++ b/drivers/mmc/core/mmc.c -@@ -1383,12 +1383,13 @@ static int mmc_select_hs400es(struct mmc - * SEND_STATUS reliably at the initial frequency. - */ - mmc_set_timing(host, MMC_TIMING_MMC_HS); -- mmc_set_bus_speed(card); - - err = mmc_switch_status(card, true); - if (err) - goto out_err; - -+ mmc_set_clock(host, card->ext_csd.hs_max_dtr); -+ - /* Switch card to DDR with strobe bit */ - val = EXT_CSD_DDR_BUS_WIDTH_8 | EXT_CSD_BUS_WIDTH_STROBE; - err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, -@@ -1446,7 +1447,7 @@ out_err: - static int mmc_select_hs200(struct mmc_card *card) - { - struct mmc_host *host = card->host; -- unsigned int old_timing, old_signal_voltage, old_clock; -+ unsigned int old_timing, old_signal_voltage; - int err = -EINVAL; - u8 val; - -@@ -1485,9 +1486,7 @@ static int mmc_select_hs200(struct mmc_c - * successfully switched over. - */ - old_timing = host->ios.timing; -- old_clock = host->ios.clock; - mmc_set_timing(host, MMC_TIMING_MMC_HS200); -- mmc_set_clock(card->host, card->ext_csd.hs_max_dtr); - - /* - * For HS200, CRC errors are not a reliable way to know the -@@ -1500,10 +1499,8 @@ static int mmc_select_hs200(struct mmc_c - * mmc_select_timing() assumes timing has not changed if - * it is a switch error. - */ -- if (err == -EBADMSG) { -- mmc_set_clock(host, old_clock); -+ if (err == -EBADMSG) - mmc_set_timing(host, old_timing); -- } - } - err: - if (err) { diff --git a/target/linux/meson/patches-5.10/904-usb-disable-ACA-check.patch b/target/linux/meson/patches-5.10/904-usb-disable-ACA-check.patch deleted file mode 100644 index 422d9676644a8e..00000000000000 --- a/target/linux/meson/patches-5.10/904-usb-disable-ACA-check.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/drivers/phy/amlogic/phy-meson8b-usb2.c -+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c -@@ -195,12 +195,12 @@ static int phy_meson8b_usb2_power_on(str - udelay(ACA_ENABLE_COMPLETE_TIME); - - regmap_read(priv->regmap, REG_ADP_BC, ®); -- if (reg & REG_ADP_BC_ACA_PIN_FLOAT) { -+ /*if (reg & REG_ADP_BC_ACA_PIN_FLOAT) { - dev_warn(&phy->dev, "USB ID detect failed!\n"); - clk_disable_unprepare(priv->clk_usb); - clk_disable_unprepare(priv->clk_usb_general); - return -EINVAL; -- } -+ }*/ - } - } - diff --git a/target/linux/meson/patches-5.15/902-use-system-LED-for-OpenWrt.patch b/target/linux/meson/patches-5.15/902-use-system-LED-for-OpenWrt.patch deleted file mode 100644 index a387fde89a51b2..00000000000000 --- a/target/linux/meson/patches-5.15/902-use-system-LED-for-OpenWrt.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/arch/arm/boot/dts/meson8b-onecloud.dts -+++ b/arch/arm/boot/dts/meson8b-onecloud.dts -@@ -13,6 +13,11 @@ - serial0 = &uart_AO; - mmc0 = &sd_card_slot; - mmc1 = &sdhc; -+ -+ led-boot = &led_status_red; -+ led-failsafe = &led_status_red; -+ led-running = &led_status_blue; -+ led-upgrade = &led_status_green; - }; - - chosen { diff --git a/target/linux/meson/patches-5.15/904-usb-disable-ACA-check.patch b/target/linux/meson/patches-5.15/904-usb-disable-ACA-check.patch deleted file mode 100644 index 7aad94a2a74eb5..00000000000000 --- a/target/linux/meson/patches-5.15/904-usb-disable-ACA-check.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/drivers/phy/amlogic/phy-meson8b-usb2.c -+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c -@@ -197,13 +197,13 @@ static int phy_meson8b_usb2_power_on(str - udelay(ACA_ENABLE_COMPLETE_TIME); - - regmap_read(priv->regmap, REG_ADP_BC, ®); -- if (reg & REG_ADP_BC_ACA_PIN_FLOAT) { -+ /*if (reg & REG_ADP_BC_ACA_PIN_FLOAT) { - dev_warn(&phy->dev, "USB ID detect failed!\n"); - clk_disable_unprepare(priv->clk_usb); - clk_disable_unprepare(priv->clk_usb_general); - reset_control_rearm(priv->reset); - return -EINVAL; -- } -+ }*/ - } - } - diff --git a/target/linux/meson/patches-5.10/902-use-system-LED-for-OpenWrt.patch b/target/linux/meson/patches-6.1/902-use-system-LED-for-OpenWrt.patch similarity index 100% rename from target/linux/meson/patches-5.10/902-use-system-LED-for-OpenWrt.patch rename to target/linux/meson/patches-6.1/902-use-system-LED-for-OpenWrt.patch diff --git a/target/linux/meson/patches-5.15/903-Support-for-EMMC.patch b/target/linux/meson/patches-6.1/903-add-dts-and-identify-emmc.patch similarity index 84% rename from target/linux/meson/patches-5.15/903-Support-for-EMMC.patch rename to target/linux/meson/patches-6.1/903-add-dts-and-identify-emmc.patch index da689353bb3f5f..5065be6589be8b 100644 --- a/target/linux/meson/patches-5.15/903-Support-for-EMMC.patch +++ b/target/linux/meson/patches-6.1/903-add-dts-and-identify-emmc.patch @@ -1,6 +1,6 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_MESON8) += \ +@@ -402,6 +402,7 @@ dtb-$(CONFIG_MACH_MESON8) += \ meson8b-ec100.dtb \ meson8b-mxq.dtb \ meson8b-odroidc1.dtb \ @@ -10,7 +10,7 @@ pxa168-aspenite.dtb \ --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c -@@ -1386,12 +1386,13 @@ static int mmc_select_hs400es(struct mmc +@@ -1396,12 +1396,13 @@ static int mmc_select_hs400es(struct mmc * SEND_STATUS reliably at the initial frequency. */ mmc_set_timing(host, MMC_TIMING_MMC_HS); @@ -25,7 +25,7 @@ /* Switch card to DDR with strobe bit */ val = EXT_CSD_DDR_BUS_WIDTH_8 | EXT_CSD_BUS_WIDTH_STROBE; err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, -@@ -1449,7 +1450,7 @@ out_err: +@@ -1459,7 +1460,7 @@ out_err: static int mmc_select_hs200(struct mmc_card *card) { struct mmc_host *host = card->host; @@ -34,7 +34,7 @@ int err = -EINVAL; u8 val; -@@ -1488,9 +1489,7 @@ static int mmc_select_hs200(struct mmc_c +@@ -1498,9 +1499,7 @@ static int mmc_select_hs200(struct mmc_c * successfully switched over. */ old_timing = host->ios.timing; @@ -44,7 +44,7 @@ /* * For HS200, CRC errors are not a reliable way to know the -@@ -1503,10 +1502,8 @@ static int mmc_select_hs200(struct mmc_c +@@ -1513,10 +1512,8 @@ static int mmc_select_hs200(struct mmc_c * mmc_select_timing() assumes timing has not changed if * it is a switch error. */ diff --git a/target/linux/meson/patches-6.1/905-pwm-meson-modify-and-simplify-calculation-in.patch b/target/linux/meson/patches-6.1/905-pwm-meson-modify-and-simplify-calculation-in.patch new file mode 100644 index 00000000000000..2ba1117b4ef6f9 --- /dev/null +++ b/target/linux/meson/patches-6.1/905-pwm-meson-modify-and-simplify-calculation-in.patch @@ -0,0 +1,23 @@ +--- a/drivers/pwm/pwm-meson.c ++++ b/drivers/pwm/pwm-meson.c +@@ -351,8 +351,18 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, + channel->lo = FIELD_GET(PWM_LOW_MASK, value); + channel->hi = FIELD_GET(PWM_HIGH_MASK, value); + +- state->period = meson_pwm_cnt_to_ns(chip, pwm, channel->lo + channel->hi); +- state->duty_cycle = meson_pwm_cnt_to_ns(chip, pwm, channel->hi); ++ if (channel->lo == 0) { ++ state->period = meson_pwm_cnt_to_ns(chip, pwm, channel->hi); ++ state->duty_cycle = state->period; ++ } else if (channel->lo >= channel->hi) { ++ state->period = meson_pwm_cnt_to_ns(chip, pwm, ++ channel->lo + channel->hi); ++ state->duty_cycle = meson_pwm_cnt_to_ns(chip, pwm, ++ channel->hi); ++ } else { ++ state->period = 0; ++ state->duty_cycle = 0; ++ } + + state->polarity = PWM_POLARITY_NORMAL; + 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 2a2f60b3720d8c..77d511659c49ee 100755 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -27,7 +27,8 @@ rockchip_setup_interfaces() fastrhino,r66s|\ firefly,rk3568-roc-pc|\ friendlyarm,nanopi-r5c|\ - radxa,e25) + radxa,e25|\ + seewo,sv21-rk3568) ucidef_set_interfaces_lan_wan 'eth0' 'eth1' ;; hinlink,opc-h68k|\ @@ -99,7 +100,8 @@ rockchip_setup_macs() ;; friendlyarm,nanopi-r5c|\ friendlyarm,nanopi-r5s|\ - sharevdi,guangmiao-g4c) + sharevdi,guangmiao-g4c|\ + seewo,sv21-rk3568) wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1) lan_mac=$(macaddr_add "$wan_mac" +1) ;; diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index 06b914d4770951..f605ed00d2c44e 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -36,6 +36,7 @@ firefly,rk3568-roc-pc) ;; friendlyarm,nanopi-r2c|\ friendlyarm,nanopi-r2s|\ +seewo,sv21-rk3568|\ xunlong,orangepi-r1-plus|\ xunlong,orangepi-r1-plus-lts) set_interface_core 2 "eth0" diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-seewo-sv21.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-seewo-sv21.dts new file mode 100644 index 00000000000000..1ae0be4369764c --- /dev/null +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-seewo-sv21.dts @@ -0,0 +1,565 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2023 tdleiyao + */ + +/dts-v1/; + +#include +#include +#include +#include "rk3568.dtsi" + +/ { + model = "seewo sv21-rk3568"; + compatible = "seewo,sv21-rk3568", "rockchip,rk3568"; + + aliases { + ethernet0 = &gmac1; + ethernet1 = &rtl8153; + mmc0 = &sdmmc0; + mmc1 = &sdhci; + mmc2 = &sdmmc1; + }; + + chosen: chosen { + stdout-path = "serial2:1500000n8"; + }; + +/* + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1800000>; + poll-interval = <100>; + + button-recovery { + label = "Reset"; + linux,code = ; + press-threshold-microvolt = <1800>; + }; + }; +*/ + vbus: vbus-regulator { + compatible = "regulator-fixed"; + regulator-name = "vbus"; + regulator-always-on; + regulator-boot-on; + }; + + vcc5v0_sys: vcc5v0-sys-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vbus>; + }; + + vcc3v3_sys: vcc3v3-sys-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vbus>; + }; + + vcc5v0_usb_host: vcc5v0-usb-host-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb_host"; + enable-active-high; + gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_host_en_pin>; + regulator-always-on; + }; + + vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb_otg"; + enable-active-high; + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_otg_en_pin>; + }; +}; + +&cpu0 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply = <&vdd_cpu>; +}; + +&gmac1 { + assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; + assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; + assigned-clock-rates = <0>, <125000000>; + clock_in_out = "output"; + phy-mode = "rgmii"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1m1_miim + &gmac1m1_tx_bus2 + &gmac1m1_rx_bus2 + &gmac1m1_rgmii_clk + &gmac1m1_rgmii_bus>; + snps,reset-gpio = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>; + snps,reset-active-high; + snps,reset-delays-us = <0 1000000 2000000>; + tx_delay = <0x2a>; + rx_delay = <0x2a>; + fixed-link = <0x1 0x1 0x3e8 0x1 0x1>; + phy-handle = <&rgmii_phy1>; + status = "okay"; +}; +&mdio1 { + rgmii_phy1: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + }; +}; + +&i2c0 { + status = "okay"; + + vdd_cpu: regulator@1c { + compatible = "tcs,tcs4525"; + reg = <0x40>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1150000>; + regulator-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + rk809: pmic@20 { + compatible = "rockchip,rk809"; + reg = <0x20>; + interrupt-parent = <&gpio0>; + interrupts = ; + assigned-clocks = <&cru I2S1_MCLKOUT_TX>; + assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; + #clock-cells = <1>; + clock-names = "mclk"; + clocks = <&cru I2S1_MCLKOUT_TX>; + clock-output-names = "rk808-clkout1", "rk808-clkout2"; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; + rockchip,system-power-controller; + #sound-dai-cells = <0>; + wakeup-source; + + vcc1-supply = <&vcc3v3_sys>; + vcc2-supply = <&vcc3v3_sys>; + vcc3-supply = <&vcc3v3_sys>; + vcc4-supply = <&vcc3v3_sys>; + vcc5-supply = <&vcc3v3_sys>; + vcc6-supply = <&vcc3v3_sys>; + vcc7-supply = <&vcc3v3_sys>; + vcc8-supply = <&vcc3v3_sys>; + vcc9-supply = <&vcc3v3_sys>; + + regulators { + vdd_logic: DCDC_REG1 { + regulator-name = "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-init-microvolt = <900000>; + regulator-ramp-delay = <6001>; + regulator-initial-mode = <0x2>; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_gpu: DCDC_REG2 { + regulator-name = "vdd_gpu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-init-microvolt = <900000>; + regulator-ramp-delay = <6001>; + regulator-initial-mode = <0x2>; + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + regulator-name = "vcc_ddr"; + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vdd_npu: DCDC_REG4 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-init-microvolt = <900000>; + regulator-initial-mode = <0x2>; + regulator-name = "vdd_npu"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_1v8: DCDC_REG5 { + regulator-name = "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_image: LDO_REG1 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-name = "vdda0v9_image"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda_0v9: LDO_REG2 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-name = "vdda_0v9"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_pmu: LDO_REG3 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-name = "vdda0v9_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <900000>; + }; + }; + + vccio_acodec: LDO_REG4 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vccio_acodec"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vccio_sd: LDO_REG5 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vccio_sd"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_pmu: LDO_REG6 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc3v3_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + + vcca_1v8: LDO_REG7 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcca_1v8"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcca1v8_pmu: LDO_REG8 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcca1v8_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vcca1v8_image: LDO_REG9 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcca1v8_image"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_3v3: SWITCH_REG1 { + regulator-name = "vcc_3v3"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_sd: SWITCH_REG2 { + regulator-name = "vcc3v3_sd"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + codec { + mic-in-differential; + }; + }; + }; +}; + +&i2c5 { + status = "okay"; + + hym8563: rtc@51 { + compatible = "haoyu,hym8563"; + reg = <0x51>; + interrupt-parent = <&gpio0>; + interrupts = ; + #clock-cells = <0>; + clock-output-names = "rtcic_32kout"; + pinctrl-names = "default"; + pinctrl-0 = <&hym8563_int>; + wakeup-source; + }; +}; + +&i2s1_8ch { + pinctrl-names = "default"; + pinctrl-0 = <&i2s1m1_sclktx &i2s1m1_sclkrx + &i2s1m1_lrcktx &i2s1m1_lrckrx + &i2s1m1_sdi0 &i2s1m1_sdi1 + &i2s1m1_sdi2 &i2s1m1_sdi3 + &i2s1m1_sdo0 &i2s1m1_sdo1 + &i2s1m1_sdo2 &i2s1m1_sdo3>; + rockchip,trcm-sync-tx-only; + status = "okay"; +}; + +&pinctrl { + + ethernet { + eth_phy_rst: eth-phy-rst { + rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + hym8563 { + hym8563_int: hym8563-int { + rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + usb { + vcc5v0_usb_host_en_pin: vcc5v0-usb-host-en-pin { + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + vcc5v0_usb_otg_en_pin: vcc5v0-usb-otg-en-pin { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, + <3 RK_PC6 RK_FUNC_GPIO &pcfg_output_high>; + }; + }; + + pmic { + pmic_int_l: pmic-int-l { + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + +}; + +&pmu_io_domains { + pmuio1-supply = <&vcc3v3_pmu>; + pmuio2-supply = <&vcc3v3_pmu>; + vccio1-supply = <&vccio_acodec>; + vccio2-supply = <&vcc_1v8>; + vccio3-supply = <&vccio_sd>; + vccio4-supply = <&vcc_3v3>; + vccio5-supply = <&vcc_3v3>; + vccio6-supply = <&vcc_3v3>; + vccio7-supply = <&vcc_3v3>; + status = "okay"; +}; + +&saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; +}; + +&sdhci { + bus-width = <8>; + max-frequency = <200000000>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&vcc_1v8>; + status = "okay"; +}; + +&sdmmc0 { + broken-cd; + bus-width = <4>; + cap-sd-highspeed; + disable-wp; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; + vqmmc-supply = <&vccio_sd>; + status = "okay"; +}; + +&sdmmc1 { + supports-sdio; + bus-width = <4>; + disable-wp; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; + non-removable; + status = "okay"; +}; + +&tsadc { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy0>; + dr_mode = "host"; + status = "okay"; +}; + +&usb_host1_ehci { + status = "okay"; +}; + +&usb_host1_ohci { + status = "okay"; +}; + +&usb_host1_xhci { + status = "okay"; + + rtl8153: device@2 { + compatible = "usbbda,8153"; + reg = <2>; + realtek,led-data = <0x87>; + }; +}; + +&usb2phy0 { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy0_otg { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy1_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy1_otg { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; + +&combphy0 { + status = "okay"; +}; + +&combphy1 { + status = "okay"; +}; + +&combphy2 { + status = "okay"; +}; + +&sata2 { + status = "okay"; +}; + diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index b26e380f44cdab..9d8c3cbf9e1c42 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -262,6 +262,16 @@ define Device/rocktech_mpc1903 endef TARGET_DEVICES += rocktech_mpc1903 +define Device/seewo_sv21-rk3568 + DEVICE_VENDOR := Seewo + DEVICE_MODEL := sv21 + DEVICE_DTS := rockchip/rk3568-seewo-sv21 + UBOOT_DEVICE_NAME := seewo-sv21-rk3568 + IMAGE/sysupgrade.img.gz := boot-common | boot-script nanopi-r5s | pine64-img | gzip | append-metadata + DEVICE_PACKAGES := kmod-usb-net-rtl8152 kmod-ata-ahci kmod-ata-ahci-platform +endef +TARGET_DEVICES += seewo_sv21-rk3568 + define Device/sharevdi_h3399pc DEVICE_VENDOR := SHAREVDI DEVICE_MODEL := H3399PC diff --git a/target/linux/rockchip/patches-5.15/210-rockchip-rk356x-add-support-for-new-boards.patch b/target/linux/rockchip/patches-5.15/210-rockchip-rk356x-add-support-for-new-boards.patch index f82623ecd3a826..40230634d61dad 100644 --- a/target/linux/rockchip/patches-5.15/210-rockchip-rk356x-add-support-for-new-boards.patch +++ b/target/linux/rockchip/patches-5.15/210-rockchip-rk356x-add-support-for-new-boards.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -59,3 +59,18 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sa +@@ -59,3 +59,19 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sa dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb @@ -17,5 +17,6 @@ +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-roc-pc.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-r66s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-r68s.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-seewo-sv21.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-t68m.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-panther-x2.dtb diff --git a/target/linux/rockchip/patches-6.1/210-rockchip-rk356x-add-support-for-new-boards.patch b/target/linux/rockchip/patches-6.1/210-rockchip-rk356x-add-support-for-new-boards.patch index 9369ad50eaef01..371e3c9dd4b6ec 100644 --- a/target/linux/rockchip/patches-6.1/210-rockchip-rk356x-add-support-for-new-boards.patch +++ b/target/linux/rockchip/patches-6.1/210-rockchip-rk356x-add-support-for-new-boards.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -79,3 +79,17 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so +@@ -79,3 +79,18 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb @@ -16,5 +16,6 @@ +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-r66s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-r68s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-roc-pc.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-seewo-sv21.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-t68m.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-panther-x2.dtb