linux-samsung-coreprimevelte: upgrade to 7.2_rc3, refactor

Migrate the kernel to fragment-based configuration and move patches away
from the pmaports tree, aligning with other pmOS kernels.

Hardware support is also slightly improved, gaining USB OTG and
preliminary hwmon support.

pahole, linux-headers, elfutils-dev and python3 are added to makedepends
to allow enabling BTF.

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8575>
This commit is contained in:
Duje Mihanović 2026-05-06 23:51:35 +02:00 committed by The Friendly Meow (merge) Bot
parent fefa738e0f
commit b7681d0e85
No known key found for this signature in database
14 changed files with 4166 additions and 1364 deletions

View file

@ -1,30 +0,0 @@
From 3c4c127ab88c15f824f08140c718349be8d3d634 Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 26 Oct 2025 19:20:38 +0100
Subject: [PATCH 1/9] dt-bindings: mwifiex: document use with the SD8777
chipset
Document the corresponding compatible string for the use of this driver
with the Marvell SD8777 wireless chipset.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
Acked-by: Brian Norris <briannorris@chromium.org>
---
.../devicetree/bindings/net/wireless/marvell,sd8787.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/net/wireless/marvell,sd8787.yaml b/Documentation/devicetree/bindings/net/wireless/marvell,sd8787.yaml
index 930b700b73d0..d31ff38f57d1 100644
--- a/Documentation/devicetree/bindings/net/wireless/marvell,sd8787.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/marvell,sd8787.yaml
@@ -18,6 +18,7 @@ description:
properties:
compatible:
enum:
+ - marvell,sd8777
- marvell,sd8787
- marvell,sd8897
- marvell,sd8978
--
2.53.0

View file

@ -1,98 +0,0 @@
From fbc9c71ce76dd55b95f0b4b700920d43699e23ea Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 26 Oct 2025 19:20:39 +0100
Subject: [PATCH 2/9] net: mwifiex: add support for the SD8777 chipset
Marvell SD8777 is a wireless chipset used for instance in the PXA1908
SoC found for example in the samsung,coreprimevelte smartphone, with
which this was tested. The driver seems to be compatible with this
chipset so enable this support by adding the necessary information based
on the downstream code.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
---
drivers/net/wireless/marvell/mwifiex/sdio.c | 21 +++++++++++++++++++++
drivers/net/wireless/marvell/mwifiex/sdio.h | 1 +
include/linux/mmc/sdio_ids.h | 1 +
3 files changed, 23 insertions(+)
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c
index f039d6f19183..a1adb78fabaf 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
@@ -318,6 +318,23 @@ static const struct mwifiex_sdio_card_reg mwifiex_reg_sd89xx = {
0x68, 0x69, 0x6a},
};
+static const struct mwifiex_sdio_device mwifiex_sdio_sd8777 = {
+ .firmware = SD8777_DEFAULT_FW_NAME,
+ .reg = &mwifiex_reg_sd87xx,
+ .max_ports = 16,
+ .mp_agg_pkt_limit = 8,
+ .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K,
+ .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_16K,
+ .mp_rx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_16K,
+ .supports_sdio_new_mode = false,
+ .has_control_mask = true,
+ .can_dump_fw = false,
+ .can_auto_tdls = true,
+ .can_ext_scan = true,
+ .fw_ready_extra_delay = false,
+ .host_mlme = false,
+};
+
static const struct mwifiex_sdio_device mwifiex_sdio_sd8786 = {
.firmware = SD8786_DEFAULT_FW_NAME,
.reg = &mwifiex_reg_sd87xx,
@@ -516,6 +533,7 @@ static struct memory_type_mapping mem_type_mapping_tbl[] = {
};
static const struct of_device_id mwifiex_sdio_of_match_table[] __maybe_unused = {
+ { .compatible = "marvell,sd8777" },
{ .compatible = "marvell,sd8787" },
{ .compatible = "marvell,sd8897" },
{ .compatible = "marvell,sd8978" },
@@ -954,6 +972,8 @@ static void mwifiex_sdio_coredump(struct device *dev)
/* WLAN IDs */
static const struct sdio_device_id mwifiex_ids[] = {
+ {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8777_WLAN),
+ .driver_data = (unsigned long)&mwifiex_sdio_sd8777},
{SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8786_WLAN),
.driver_data = (unsigned long) &mwifiex_sdio_sd8786},
{SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8787_WLAN),
@@ -3201,6 +3221,7 @@ MODULE_AUTHOR("Marvell International Ltd.");
MODULE_DESCRIPTION("Marvell WiFi-Ex SDIO Driver version " SDIO_VERSION);
MODULE_VERSION(SDIO_VERSION);
MODULE_LICENSE("GPL v2");
+MODULE_FIRMWARE(SD8777_DEFAULT_FW_NAME);
MODULE_FIRMWARE(SD8786_DEFAULT_FW_NAME);
MODULE_FIRMWARE(SD8787_DEFAULT_FW_NAME);
MODULE_FIRMWARE(SD8797_DEFAULT_FW_NAME);
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.h b/drivers/net/wireless/marvell/mwifiex/sdio.h
index 65d142286c46..c6425191ad84 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.h
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.h
@@ -18,6 +18,7 @@
#include "main.h"
+#define SD8777_DEFAULT_FW_NAME "mrvl/sd8777_uapsta.bin"
#define SD8786_DEFAULT_FW_NAME "mrvl/sd8786_uapsta.bin"
#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"
#define SD8797_DEFAULT_FW_NAME "mrvl/sd8797_uapsta.bin"
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 673cbdf43453..61e95b5a528c 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -95,6 +95,7 @@
#define SDIO_DEVICE_ID_MARVELL_8797_BT 0x912a
#define SDIO_DEVICE_ID_MARVELL_8897_WLAN 0x912d
#define SDIO_DEVICE_ID_MARVELL_8897_BT 0x912e
+#define SDIO_DEVICE_ID_MARVELL_8777_WLAN 0x9131
#define SDIO_DEVICE_ID_MARVELL_8887_F0 0x9134
#define SDIO_DEVICE_ID_MARVELL_8887_WLAN 0x9135
#define SDIO_DEVICE_ID_MARVELL_8887_BT 0x9136
--
2.53.0

View file

@ -1,174 +0,0 @@
From 2c09590041c6cda3fcd4ef57bd544c251bd87460 Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 26 Oct 2025 19:20:40 +0100
Subject: [PATCH 3/9] DONOTMERGE: net: mwifiex: fix timeouts with the SD8777
chip
It has been observed with the samsung,coreprimevelte smartphone which
uses this wireless chip that the driver would irrecoverably fail upon
certain operations, usually after timing out on a FW command such as
with these logs:
[ 2101.209913] mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: Timeout cmd id = 0xa4, act = 0x0
[ 2101.209941] mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0
[ 2101.209949] mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0
[ 2101.209957] mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1
[ 2101.209964] mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0
[ 2101.209971] mwifiex_sdio mmc2:0001:1: last_cmd_index = 1
[ 2101.209978] mwifiex_sdio mmc2:0001:1: last_cmd_id: 16 00 a4 00 75 00 a4 00 7f 00
[ 2101.209988] mwifiex_sdio mmc2:0001:1: last_cmd_act: 00 00 00 00 02 00 00 00 00 00
[ 2101.209995] mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 0
[ 2101.210003] mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 16 80 a4 80 75 80 a4 80 7f 80
[ 2101.210010] mwifiex_sdio mmc2:0001:1: last_event_index = 4
[ 2101.210018] mwifiex_sdio mmc2:0001:1: last_event: 0b 00 0a 00 0b 00 0a 00 1c 00
[ 2101.210025] mwifiex_sdio mmc2:0001:1: data_sent=1 cmd_sent=1
[ 2101.210033] mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0
[ 2101.210089] mwifiex_sdio mmc2:0001:1: failed to get signal information
[ 2101.210761] mwifiex_sdio mmc2:0001:1: PREP_CMD: FW is in bad state
[ 2101.210786] mwifiex_sdio mmc2:0001:1: failed to get signal information
[ 2101.211162] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump start===
[ 2101.211178] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (14.75.33.p119)
[ 2101.211202] mwifiex_sdio mmc2:0001:1: SDIO register dump start
[ 2101.211482] mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 32 02 02 02 03 00 00 02 03 00
[ 2101.211649] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x0-0x9): 02 3f 03 00 00 00 00 00 92 00
[ 2101.211740] mwifiex_sdio mmc2:0001:1: SDIO Func1: (0x28) 00 (0x30) 08 (0x34) 07 (0x38) 11 (0x3c) 00
[ 2101.211921] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x60-0x6a): dc fe 5f 81 ca 04 00 79 79 00 30
[ 2101.314135] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x60-0x6a): dc fe 5f 81 ca 04 00 79 79 00 30
[ 2101.314168] mwifiex_sdio mmc2:0001:1: SDIO register dump end
[ 2101.314300] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump end===
[ 2101.314313] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump start
[ 2101.314586] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump end
[ 2101.314610] mwifiex_sdio mmc2:0001:1: PREP_CMD: FW is in bad state
[ 2101.314638] mwifiex_sdio mmc2:0001:1: PREP_CMD: FW is in bad state
[ 2101.317997] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318029] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.318037] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318044] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.318051] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318057] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.318064] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318071] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.318078] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318084] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.318091] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.318098] mwifiex_sdio mmc2:0001:1: deleting the crypto keys
[ 2101.321278] mwifiex_sdio mmc2:0001:1: info: shutdown mwifiex...
[ 2101.323214] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.323250] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.324427] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed
[ 2101.419786] mmc2: queuing unknown CIS tuple 0x50 [40 1e fd d1 c0 46 70 47 00 b5 23 48 24 49 01 60 24 48 24 49 01 60 24 49 08 47 1f 48 24 49 01 60] (32 bytes)
[ 2101.460850] mmc2: queuing unknown CIS tuple 0x70 [53 f0 21 e3 1e ff 2f e1 10 1f 11 ee 00 00 50 e3 02 2a a0 e3 02 10 c1 01 02 10 81 11 10 1f 01 ee 1e ff 2f e1 01 00 a0 e3 f6 ff ff eb ea ff ff fa 48 00 9f e5 54 10 9f e5 54 20 9f e5 ef ff ff eb] (71 bytes)
[ 2101.532495] mmc2: queuing unknown CIS tuple 0xe8 [2f 07 ee 1e ff 2f e1 0e 30 a0 e1 00 00 a0 e3 ea ff ff eb e5 ff ff fa 03 e0 a0 e1 2c 30 9f e5 13 ff 2f e1 00 10 80 e5 1a 9f 00 ee 12 ff 2f e1 04 21 00 80 c0 00 10 80 04 22 00 80 06 0a 46 02 48] (144 bytes)
[ 2101.598922] mmc2: queuing unknown CIS tuple 0x9d [29 15 1d 01 00 4d 61 72 76 65 6c 6c 20 42 6c 75 65 74 6f 6f 74 68 20 44 65 76 69 63 65 00 00 ff 20 04 df 02 32 91 21 02 0c 00 22 2a 01 01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00] (162 bytes)
[ 2101.599647] mmc2: tried to HW reset card, got error -2
[ 2101.599699] mwifiex_sdio mmc2:0001:1: SDIO HW reset failed: -2
(besides cmd id 0xa4 also 0xce is often seen in these dumps).
One of these operations which would cause the timeout reliably was
initiating a SSH connection into the phone over the WiFi and this was
used for tracking down the issue. The other known ones are heavier usage
of the XMPP client Dino on the phone and any more than basic browsing in
Firefox.
It was however verified that the mwifiex driver works without issues on
the vendor Samsung kernel with the proper support for the chip added,
although the stock Android on the phone doesn't use mwifiex but instead
a specialized driver for the chip which however is very similar to
mwifiex.
A support for the phone and it's components essential for the WiFi
function were thus backported to the v3.14 kernel on whose stable branch
the stock kernel was based and it was verified that the WiFi (namely SSH
over WiFi) also works there without timeouts. Afterwards, a bisect was
performed which first indicated the commit 808bbebcc8fc ("mwifiex: add
Tx status support for EAPOL packets") introduced in the v3.18-v3.19
cycle.
Reverting this commit (and the following one, commit 18ca43823f3c
("mwifiex: add Tx status support for ACTION frames"), to facilitate a
clean revert) fixed the timeouts for v3.19, but during the next cycle,
v3.19-v4.0, another breakage was introduced via commit 84b313b35f81
("mwifiex: make tx packet 64 byte DMA aligned").
Reverting all three commits fixed the timeouts on the current mainline
kernel also. This patch contains the minimal changes needed to achieve
that derived from the full revert commits.
Note that a few timeouts were still observed on mainline Linux even with
these changes, however they were all on a particular network and don't
have a known reproducer. On other networks, the chip performs flawlessly
as far as it was tested so far.
These changes also don't mitigate the observed firmware loading issues:
[ 68.698674] mwifiex_sdio mmc2:0001:1: FW download, write iomem (0) failed @ 208016
[ 68.698711] mwifiex_sdio mmc2:0001:1: prog_fw failed ret=0xffffffff
These were however also seen with the old kernels and as such are likely
caused either by some inherent incompatibility of the driver with the
chip in this regard or, more likely given their occasional nature, by an
issue at some other level, such as the stability of the SDIO (the
occurrence of the problem does seem to loosely correlate with the load
exerted on the phone while the FW loading is performed (i. e. mainly on
startup)).
Note that Bluetooth on the phone (provided by the same chip) has also
been seen crashing in a similar way as the WiFi without this patch,
although seemingly less frequently/deterministically, and a similar
change might thus be needed in the btmrvl driver if it is to be used for
the phone's BT without issues.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
[Duje: adjust casts to build on clang]
---
drivers/net/wireless/marvell/mwifiex/fw.h | 4 +---
drivers/net/wireless/marvell/mwifiex/sta_tx.c | 10 ++--------
2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h
index e9e896606912..5c4c3363c7de 100644
--- a/drivers/net/wireless/marvell/mwifiex/fw.h
+++ b/drivers/net/wireless/marvell/mwifiex/fw.h
@@ -690,9 +690,7 @@ struct txpd {
u8 priority;
u8 flags;
u8 pkt_delay_2ms;
- u8 reserved1[2];
- u8 tx_token_id;
- u8 reserved[2];
+ u8 reserved1;
} __packed;
struct rxpd {
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_tx.c b/drivers/net/wireless/marvell/mwifiex/sta_tx.c
index 9d0ef04ebe02..4ffa0e22aca9 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_tx.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_tx.c
@@ -41,8 +41,8 @@ void mwifiex_process_sta_txpd(struct mwifiex_private *priv,
pkt_type = mwifiex_is_skb_mgmt_frame(skb) ? PKT_TYPE_MGMT : 0;
- pad = ((uintptr_t)skb->data - (sizeof(*local_tx_pd) + hroom)) &
- (MWIFIEX_DMA_ALIGN_SZ - 1);
+ pad = (4 - ((uint64_t) skb->data & 0x3)) % 4;
+
skb_push(skb, sizeof(*local_tx_pd) + pad);
local_tx_pd = (struct txpd *) skb->data;
@@ -58,12 +58,6 @@ void mwifiex_process_sta_txpd(struct mwifiex_private *priv,
local_tx_pd->pkt_delay_2ms =
mwifiex_wmm_compute_drv_pkt_delay(priv, skb);
- if (tx_info->flags & MWIFIEX_BUF_FLAG_EAPOL_TX_STATUS ||
- tx_info->flags & MWIFIEX_BUF_FLAG_ACTION_TX_STATUS) {
- local_tx_pd->tx_token_id = tx_info->ack_frame_id;
- local_tx_pd->flags |= MWIFIEX_TXPD_FLAGS_REQ_TX_STATUS;
- }
-
if (local_tx_pd->priority <
ARRAY_SIZE(priv->wmm.user_pri_pkt_tx_ctrl))
/*
--
2.53.0

View file

@ -1,51 +0,0 @@
From 72469a9519d3aa34348ea2fd9e60b66532f2f69c Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 26 Oct 2025 19:20:41 +0100
Subject: [PATCH 4/9] arm64: dts: samsung,coreprimevelte: add wifi node
Add a node for the phone's WiFi serviced by the Marvell SD8777 chip a
communication with which happens over the SDIO. Also enable a regulator
without which it is not possible to connect to networks although they
are discovered properly.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
---
.../mmp/pxa1908-samsung-coreprimevelte.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
index b2ce5edd9c6a..36d6ae4e902e 100644
--- a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
+++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
@@ -475,6 +475,14 @@ ldo14: ldo14 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3300000>;
};
+
+ /*
+ * Needs to be enabled in order for the WiFi to be able
+ * to connect to networks.
+ */
+ ldo15 {
+ regulator-always-on;
+ };
};
};
};
@@ -523,6 +531,13 @@ &sdh1 {
pinctrl-1 = <&sdh1_fast_pins_0 &sdh1_fast_pins_1 &sdh1_pins_2>;
bus-width = <4>;
non-removable;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wifi@1 {
+ compatible = "marvell,sd8777";
+ reg = <1>;
+ };
};
&pwm3 {
--
2.53.0

View file

@ -1,73 +0,0 @@
From e608e191696c097c062a30d9b539634d68ab9fea Mon Sep 17 00:00:00 2001
From: blacksilver <blacksilver@debdan.net>
Date: Wed, 1 Nov 2023 10:33:06 +0100
Subject: [PATCH 5/9] Bluetooth: btmrvl_sdio: Add support for SD8777 chipset
Support for Marvell's chipset SD8777 is added.
Existing btmrvl_reg_87xx register definition is reused.
---
drivers/bluetooth/btmrvl_sdio.c | 14 ++++++++++++++
include/linux/mmc/sdio_ids.h | 1 +
2 files changed, 15 insertions(+)
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index 93932a0d8625..8fb282255324 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -41,6 +41,7 @@ static struct memory_type_mapping mem_type_mapping_tbl[] = {
};
static const struct of_device_id btmrvl_sdio_of_match_table[] __maybe_unused = {
+ { .compatible = "marvell,sd8777-bt" },
{ .compatible = "marvell,sd8897-bt" },
{ .compatible = "marvell,sd8997-bt" },
{ }
@@ -235,6 +236,15 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8688 = {
.supports_fw_dump = false,
};
+static const struct btmrvl_sdio_device btmrvl_sdio_sd8777 = {
+ .helper = NULL,
+ .firmware = "mrvl/sd8777_uapsta.bin",
+ .reg = &btmrvl_reg_87xx,
+ .support_pscan_win_report = false,
+ .sd_blksz_fw_dl = 256,
+ .supports_fw_dump = false,
+};
+
static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = {
.helper = NULL,
.firmware = "mrvl/sd8787_uapsta.bin",
@@ -302,6 +312,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
/* Marvell SD8688 Bluetooth device */
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8688_BT),
.driver_data = (unsigned long)&btmrvl_sdio_sd8688 },
+ /* Marvell SD8777 Bluetooth device */
+ { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8777_BT),
+ .driver_data = (unsigned long)&btmrvl_sdio_sd8777 },
/* Marvell SD8787 Bluetooth device */
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8787_BT),
.driver_data = (unsigned long)&btmrvl_sdio_sd8787 },
@@ -1772,6 +1785,7 @@ MODULE_VERSION(VERSION);
MODULE_LICENSE("GPL v2");
MODULE_FIRMWARE("mrvl/sd8688_helper.bin");
MODULE_FIRMWARE("mrvl/sd8688.bin");
+MODULE_FIRMWARE("mrvl/sd8777_uapsta.bin");
MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin");
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 61e95b5a528c..8ab0a59f8be6 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -96,6 +96,7 @@
#define SDIO_DEVICE_ID_MARVELL_8897_WLAN 0x912d
#define SDIO_DEVICE_ID_MARVELL_8897_BT 0x912e
#define SDIO_DEVICE_ID_MARVELL_8777_WLAN 0x9131
+#define SDIO_DEVICE_ID_MARVELL_8777_BT 0x9132
#define SDIO_DEVICE_ID_MARVELL_8887_F0 0x9134
#define SDIO_DEVICE_ID_MARVELL_8887_WLAN 0x9135
#define SDIO_DEVICE_ID_MARVELL_8887_BT 0x9136
--
2.53.0

View file

@ -1,49 +0,0 @@
From 2ebbc5585b50866cc02ee682db2c12770361c52d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Duje=20Mihanovi=C4=87?= <duje@dujemihanovic.xyz>
Date: Thu, 18 Sep 2025 16:46:23 +0200
Subject: [PATCH 6/9] arm64: dts: marvell: samsung,coreprimevelte: Use
memory-region for framebuffer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since the framebuffer resides in system RAM, use the memory-region
property preferred in that case over reg.
Also, testing showed that reusing most of the region (excluding where
the actual framebuffer resides) is perfectly safe, so do that and save
~22.5 MiB of RAM in the process.
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
---
.../dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
index 36d6ae4e902e..faeea5001364 100644
--- a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
+++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
@@ -23,7 +23,7 @@ chosen {
fb0: framebuffer@17177000 {
compatible = "simple-framebuffer";
- reg = <0 0x17177000 0 (480 * 800 * 4)>;
+ memory-region = <&fb_mem>;
power-domains = <&apmu PXA1908_POWER_DOMAIN_DSI>;
width = <480>;
height = <800>;
@@ -48,8 +48,9 @@ secure-region@0 {
reg = <0 0 0 0x1000000>;
};
- framebuffer@17000000 {
- reg = <0 0x17000000 0 0x1800000>;
+ /* The "active buffer" is at 0x17000000 + (size of one buffer). */
+ fb_mem: framebuffer@17177000 {
+ reg = <0 0x17177000 0 (480 * 800 * 4)>;
no-map;
};
};
--
2.53.0

View file

@ -1,35 +0,0 @@
From fa6ad6e2493c66a0ed760cf6ba741ec97d0ee828 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Duje=20Mihanovi=C4=87?= <duje@dujemihanovic.xyz>
Date: Sun, 14 Dec 2025 13:13:11 +0100
Subject: [PATCH 7/9] arm64: dts: marvell: samsung-coreprimevelte: Increase
touchscreen voltage
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The old 1.9V setting was found to be insufficient in certain
environments (in my case cold ones), causing the touchscreen to register
ghost touches and mostly ignore actual touches. Increase the voltage to
2.5V to correct the issue.
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
---
.../boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
index faeea5001364..fd16760f1072 100644
--- a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
+++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
@@ -461,7 +461,7 @@ pmic@30 {
regulators {
ldo2: ldo2 {
- regulator-min-microvolt = <1900000>;
+ regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3100000>;
};
--
2.53.0

View file

@ -1,34 +0,0 @@
From 12e608294afcfc34896f5ff14a1b163a74644c03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Duje=20Mihanovi=C4=87?= <duje@dujemihanovic.xyz>
Date: Sat, 24 Jan 2026 17:39:12 +0100
Subject: [PATCH 8/9] arm64: dts: marvell: samsung-coreprimevelte: Add missing
SDIO properties
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
According to the vendor device tree, the WiFi+BT card must not be
powered off during suspend and is capable of waking up the board. Add
the respective properties to the SDIO node to reflect this.
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
---
.../boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
index fd16760f1072..ecae615b4414 100644
--- a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
+++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts
@@ -532,6 +532,8 @@ &sdh1 {
pinctrl-1 = <&sdh1_fast_pins_0 &sdh1_fast_pins_1 &sdh1_pins_2>;
bus-width = <4>;
non-removable;
+ keep-power-in-suspend;
+ wakeup-source;
#address-cells = <1>;
#size-cells = <0>;
--
2.53.0

View file

@ -1,35 +0,0 @@
From 809338abe1c7571df68443b4f5d5ce1b4951f718 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Duje=20Mihanovi=C4=87?= <duje@dujemihanovic.xyz>
Date: Sat, 14 Mar 2026 16:03:38 +0100
Subject: [PATCH 9/9] backlight: ktd2801: enable BL_CORE_SUSPENDRESUME
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Boards using this backlight chip do not power the backlight off on
suspend. Enable BL_CORE_SUSPENDRESUME so the chip gets powered off by
the backlight core on suspend.
Tested on samsung-coreprimevelte.
Cc: stable@vger.kernel.org # v6.19
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
---
drivers/video/backlight/ktd2801-backlight.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/backlight/ktd2801-backlight.c b/drivers/video/backlight/ktd2801-backlight.c
index 17eac1b3bce4..1b1307e03b20 100644
--- a/drivers/video/backlight/ktd2801-backlight.c
+++ b/drivers/video/backlight/ktd2801-backlight.c
@@ -53,6 +53,7 @@ static int ktd2801_update_status(struct backlight_device *bd)
}
static const struct backlight_ops ktd2801_backlight_ops = {
+ .options = BL_CORE_SUSPENDRESUME,
.update_status = ktd2801_update_status,
};
--
2.53.0

View file

@ -1,56 +1,50 @@
maintainer="Duje Mihanović <duje@dujemihanovic.xyz>"
_flavor=samsung-coreprimevelte
pkgname=linux-$_flavor
pkgver=6.19.10
pkgrel=1
pkgver=7.2_rc3
pkgrel=0
pkgdesc="Samsung Galaxy Core Prime VE LTE mainline kernel"
arch="aarch64"
_carch="arm64"
url="https://kernel.org"
url="https://codeberg.org/pxa1908-mainline/linux"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community"
options="
!check
!strip
!tracedeps
pmb:cross-native
pmb:kconfigcheck-community
pmb:kconfigcheck-uefi
"
makedepends="
bc
bison
clang
dtc
elfutils-dev
findutils
flex
linux-headers
lld
llvm
openssl-dev
pahole
perl
postmarketos-installkernel
python3
zstd
"
# Source
_config=config-$_flavor.$arch
case $pkgver in
*.*.*) _kernver=${pkgver%.0};;
*.*) _kernver=$pkgver;;
esac
_tag=v${pkgver/_/-}-pxa1908-pmaports
source="
https://cdn.kernel.org/pub/linux/kernel/v${_kernver%%.*}.x/linux-$_kernver.tar.xz
0001-dt-bindings-mwifiex-document-use-with-the-SD8777-chi.patch
0002-net-mwifiex-add-support-for-the-SD8777-chipset.patch
0003-DONOTMERGE-net-mwifiex-fix-timeouts-with-the-SD8777-.patch
0004-arm64-dts-samsung-coreprimevelte-add-wifi-node.patch
0005-Bluetooth-btmrvl_sdio-Add-support-for-SD8777-chipset.patch
0006-arm64-dts-marvell-samsung-coreprimevelte-Use-memory-.patch
0007-arm64-dts-marvell-samsung-coreprimevelte-Increase-to.patch
0008-arm64-dts-marvell-samsung-coreprimevelte-Add-missing.patch
0009-backlight-ktd2801-enable-BL_CORE_SUSPENDRESUME.patch
$_config
$pkgname-$pkgver.tar.gz::https://codeberg.org/pxa1908-mainline/linux/archive/$_tag.tar.gz
config-$_flavor.$arch
"
builddir="$srcdir"/linux-"$_kernver"
builddir="$srcdir"/linux
prepare() {
default_prepare
cp "$srcdir"/$_config "$builddir"/.config
cp "$srcdir"/config-$_flavor.$arch "$builddir"/.config
}
build() {
@ -60,44 +54,21 @@ build() {
}
package() {
if [ -e "$builddir/arch/$_carch/boot/vmlinuz.efi" ]; then
# ZBOOT EFI decompressor for EFI booting
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz.efi" \
"$pkgdir/boot/linux.efi"
# Old ZSTD'd kernel image for boot.img compatibility
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz" \
"$pkgdir/boot/vmlinuz"
else
echo "WARNING: CONFIG_EFI_ZBOOT not enabled!"
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz" \
"$pkgdir/boot/vmlinuz"
fi
make modules_install dtbs_install \
make zinstall modules_install dtbs_install \
ARCH=$_carch \
LLVM=1 \
INSTALL_MOD_STRIP=1 \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_PATH="$pkgdir"/usr \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
rm -f "$pkgdir"/usr/lib/modules/*/build "$pkgdir"/usr/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
11a397c54dddf02fc62b52b2571a0d13cf96450c2e67cffa759c34b9432e51dcb39871347c9cdbca36cfaf78198015d8d7a4d2c2a8d506e22b998fd2b185341b linux-6.19.10.tar.xz
853f63245c4c8c4a6229d52e2f1444eea6b67e8ecfacea4431c0a661ae0dff307086cba6677639a02d723c97a184a0075171747058107ac62ee98641c54fbde6 0001-dt-bindings-mwifiex-document-use-with-the-SD8777-chi.patch
1813ae97fc99fa451f52a79cfb4a33ade26db3d357d4a7d0faec39eeec5046e6905d7caee7f0f8ef9029cd14690fd4794de568d94608559ea03720185f689d7c 0002-net-mwifiex-add-support-for-the-SD8777-chipset.patch
a75a8f203d36e2410107e39bc591582b659ec242298125935d6daf027259d845ab8235c04bcd7ca008d309d1bfcc42a8be20e7a95d168ec7f9ffff6bb8c9a5a4 0003-DONOTMERGE-net-mwifiex-fix-timeouts-with-the-SD8777-.patch
b09f1e155728dd4322df42fc1ad8221ca3c6999724bd647566e073a20f91b0e67dab202a92f2c8f6ee977c3c1985e0e646212f653287660d05652d2791dd74cb 0004-arm64-dts-samsung-coreprimevelte-add-wifi-node.patch
24e6a9e7f39ba72df60c91b48488951a0b3ad5bc3568ba191c98de48be7f58c050c392504729c4f27bb2664f55d5ff8c3b72a196614aa43ee5cfb81be16754b8 0005-Bluetooth-btmrvl_sdio-Add-support-for-SD8777-chipset.patch
fcd10232882fcdabc122689aad63cb32eab6f626f76fea67a92928affe48705d92a4a75ff6e587419537c8baa3eaa815f68905d6d164915ed7cdd8b91de5a0d0 0006-arm64-dts-marvell-samsung-coreprimevelte-Use-memory-.patch
2cd76bf89f2b8baa9eb998f7a6553782c0b8e213fc9d0ed6cf8707af5a8d3e4722f00626642571a9d381078ada6fcf8f39763edab869db459455d3f6b66a1edd 0007-arm64-dts-marvell-samsung-coreprimevelte-Increase-to.patch
e5cf0fbe4a727bfe83d582714b5a109e989f9b325303d33905cace7534c63462d5ee3374388b802b973fb288d3d7d390806982269465ea461312f8e6940ae534 0008-arm64-dts-marvell-samsung-coreprimevelte-Add-missing.patch
b454382126dd51ebd51dd7b596088a937dec339f2763233ba1ed39b087a84b3342fbec15f03cab6829a55b6342fb80670490e09ee292188670673e0f5bab3fe7 0009-backlight-ktd2801-enable-BL_CORE_SUSPENDRESUME.patch
f3d05d84b38b8429857d572e825ebee8ebe881eccdc29ed87fc4ce371d5aec823e36aa6cb6bf1f14f0325c758e79c33f83c34b74955fcc205d76e14c2454e5e0 config-samsung-coreprimevelte.aarch64
50792ff5644a0941e4c8ceb6cc6de7192d7f147fa8a2f7a9963ccf0007c7b08624ed4543d913d266d8f08da639e78d3dd759bdcc67a5df95211c0b71c9f9d51c linux-samsung-coreprimevelte-7.2_rc3.tar.gz
665174a345a8fb844f510945670013e17eb641a1ae1c9256294155fbd829aaadc0e8fc6e8605c8985fc2aa30ca24e20d293c54a09a6793ca9f58fca12e62a544 config-samsung-coreprimevelte.aarch64
"

View file

@ -0,0 +1,2 @@
# Compression
CONFIG_KERNEL_ZSTD=y

View file

@ -0,0 +1,507 @@
# default
# CONFIG_ANDROID_PARANOID_NETWORK is not set
CONFIG_BINFMT_ELF=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_CGROUPS=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_XTS=y
CONFIG_DEVTMPFS=y
CONFIG_DM_CRYPT=y
CONFIG_FB=y
CONFIG_INPUT_EVDEV=m
# CONFIG_KINETO_GAN is not set
CONFIG_NLS_ASCII=y
# CONFIG_PFT is not set
# CONFIG_SEC_RESTRICT_ROOTING is not set
CONFIG_SYN_COOKIES=y
CONFIG_SYSVIPC=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_USE_VFB is not set
CONFIG_VFAT_FS=y
CONFIG_VT=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_UEVENT_HELPER=y
CONFIG_USER_NS=y
CONFIG_NULL_TTY=m
CONFIG_MODULE_COMPRESS=y
CONFIG_MODULE_COMPRESS_ZSTD=y
CONFIG_MODULE_DECOMPRESS=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_UDMABUF=y
CONFIG_BPF=y
CONFIG_BPF_JIT=y
CONFIG_BPF_LSM=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
CONFIG_DEBUG_INFO_DWARF5=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_IPC_NS=y
CONFIG_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_NET_NS=y
CONFIG_PID_NS=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_PATH=y
CONFIG_USER_NS=y
CONFIG_UTS_NS=y
# netmount
CONFIG_CACHEFILES=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFS_FS=m
CONFIG_NFS_FSCACHE=y
CONFIG_NFS_V3=m
CONFIG_NFS_V4=m
CONFIG_NFS_V4_2=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_KRB5=m
# accessibility
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_ACCESSIBILITY=y
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
# waydroid
# CONFIG_ANDROID_BINDERFS is not set
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BPF_SYSCALL=y
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_CGROUP_BPF=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FUSE_FS=m
CONFIG_IP_NF_MANGLE=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_TMPFS_XATTR=y
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VLAN_8021Q=m
CONFIG_IP_NF_IPTABLES_LEGACY=m
CONFIG_NETFILTER_XTABLES_LEGACY=y
# iwd
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_KEYS=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_RFKILL=m
CONFIG_X509_CERTIFICATE_PARSER=y
# nftables
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_NETFILTER=y
CONFIG_NFT_CT=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_NAT=m
CONFIG_NFT_REJECT=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_IP6_NF_IPTABLES_LEGACY=m
CONFIG_IP_NF_IPTABLES_LEGACY=m
CONFIG_NETFILTER_XTABLES_LEGACY=y
# containers
CONFIG_BLK_CGROUP=y
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BRIDGE=m
CONFIG_BRIDGE_NETFILTER=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_SCHED=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CPUSETS=y
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DUMMY=m
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IPC_NS=y
CONFIG_IPVLAN=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_VS=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=m
CONFIG_KEYS=y
CONFIG_MACVLAN=m
CONFIG_MD=y
CONFIG_MEMCG=y
CONFIG_NAMESPACES=y
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_NS=y
CONFIG_NET_SCHED=y
CONFIG_NFT_COMPAT=m
CONFIG_NFT_CT=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_NAT=m
CONFIG_NF_NAT=m
CONFIG_NF_TABLES=m
CONFIG_OVERLAY_FS=m
CONFIG_PID_NS=y
CONFIG_POSIX_MQUEUE=y
CONFIG_SECCOMP=y
CONFIG_SWAP=y
CONFIG_UTS_NS=y
CONFIG_VETH=m
CONFIG_VXLAN=m
CONFIG_IP6_NF_FILTER=m
# zram
CONFIG_SWAP=y
CONFIG_ZRAM=y
CONFIG_ZSMALLOC=y
CONFIG_ZRAM_BACKEND_842=y
CONFIG_ZRAM_BACKEND_DEFLATE=y
CONFIG_ZRAM_BACKEND_LZ4=y
CONFIG_ZRAM_BACKEND_LZ4HC=y
CONFIG_ZRAM_BACKEND_LZO=y
CONFIG_ZRAM_BACKEND_ZSTD=y
# netboot
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_UBLK=m
# wireguard
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_NFT_CT=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_WIREGUARD=m
# filesystems
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EXFAT_FS=m
CONFIG_EXT4_FS=y
CONFIG_F2FS_FS=m
CONFIG_UDF_FS=m
CONFIG_XFS_FS=m
CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_ZSTD=y
# usb_gadgets
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_RNDIS=y
# CONFIG_USB_ETH is not set
# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_F_FS=m
CONFIG_USB_GADGET=y
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MASS_STORAGE is not set
# community_various
CONFIG_BINFMT_MISC=m
CONFIG_CIFS=m
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_DM_INTEGRITY=m
CONFIG_LEDS_TRIGGER_PATTERN=m
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_UCLAMP_TASK=y
CONFIG_UCLAMP_TASK_GROUP=y
# uefi
CONFIG_DMI=y
CONFIG_EFI=y
CONFIG_EFI_ESRT=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_STUB=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_PSTORE=y
CONFIG_EFI_GENERIC_STUB=y
CONFIG_EFI_PARAMS_FROM_FDT=y
CONFIG_EFI_ZBOOT=y
CONFIG_NTFS_FS=m
# input
CONFIG_BT=m
CONFIG_BT_HIDP=m
CONFIG_GPIOLIB=y
CONFIG_HIDRAW=y
CONFIG_HID_A4TECH=m
CONFIG_HID_ACCUTOUCH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_ALPS=m
CONFIG_HID_APPLE=m
CONFIG_HID_APPLEIR=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HID_BELKIN=m
CONFIG_HID_BETOP_FF=m
CONFIG_HID_BIGBEN_FF=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EMS_FF=m
CONFIG_HID_EZKEY=m
CONFIG_HID_FT260=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=m
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_HID_LETSKETCH=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
CONFIG_HID_MCP2221=m
CONFIG_HID_MEGAWORLD_FF=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NINTENDO=m
CONFIG_HID_NTI=m
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PID=y
CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PLAYSTATION=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_PXRC=m
CONFIG_HID_RAZER=m
CONFIG_HID_RETRODE=m
CONFIG_HID_RMI=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SEMITEK=m
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m
CONFIG_HID_SENSOR_DEVICE_ROTATION=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_HID_SENSOR_HUB=m
CONFIG_HID_SENSOR_HUMIDITY=m
CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m
CONFIG_HID_SENSOR_INCLINOMETER_3D=m
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
CONFIG_HID_SENSOR_TEMP=m
CONFIG_HID_SIGMAMICRO=m
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_HID_SONY=m
CONFIG_HID_SPEEDLINK=m
CONFIG_HID_STEAM=m
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_HID_TIVO=m
CONFIG_HID_TOPRE=m
CONFIG_HID_TOPSEED=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_U2FZERO=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_UDRAW_PS3=m
CONFIG_HID_VIEWSONIC=m
CONFIG_HID_VIVALDI=m
CONFIG_HID_WACOM=m
CONFIG_HID_WALTOP=m
CONFIG_HID_WIIMOTE=m
CONFIG_HID_XIAOMI=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_IIO=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=y
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LEDS_CLASS_MULTICOLOR=m
CONFIG_UHID=m
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_PRINTER=m
CONFIG_HID_EVISION=m
CONFIG_HID_SUPPORT=y
CONFIG_HID_NVIDIA_SHIELD=m
CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_WINWING=m
CONFIG_HID_GOODIX_SPI=m
CONFIG_SPI=y
# usb
CONFIG_DRM=y
CONFIG_DRM_UDL=m
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_AUDIO_MIDI_V2=y
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_RTL8152=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_STORAGE=m
CONFIG_USB_UAS=m
CONFIG_USB_USBNET=m
# debug
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# immutable
CONFIG_EFIVAR_FS=m
CONFIG_DM_VERITY=m
# hardening
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,selinux,smack,tomoyo,ipe,bpf"
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_SECURITY_YAMA=y
CONFIG_SHADOW_CALL_STACK=y
CONFIG_CFI=y
# CONFIG_CFI_PERMISSIVE is not set
CONFIG_CFI_ICALL_NORMALIZE_INTEGERS=y
# wine
CONFIG_NTSYNC=m

View file

@ -0,0 +1,76 @@
# Config fragment for PXA1908
CONFIG_LOCALVERSION="-pxa1908"
# SoC
CONFIG_ARCH_MMP=y
CONFIG_MFD_88PM886_PMIC=y
CONFIG_REGULATOR_88PM886=m
CONFIG_88PM886_GPADC=m
CONFIG_MMC_SDHCI_PXAV3=y
CONFIG_RTC_DRV_88PM886=m
CONFIG_MMP_PDMA=m
CONFIG_MMP_TDMA=m
CONFIG_PWM_PXA=m
CONFIG_GPIO_PXA=y
CONFIG_INPUT_88PM886_ONKEY=m
CONFIG_PHY_PXA_28NM_USB2=y
CONFIG_DRM_SIMPLEDRM=y
# Samsung Galaxy Core Prime VE LTE
CONFIG_BACKLIGHT_KTD2801=m
CONFIG_I2C_GPIO=y
CONFIG_TOUCHSCREEN_IMAGIS=m
CONFIG_EXTCON_SM5502=y
CONFIG_SENSORS_IIO_HWMON=m
# Disable other platforms to save time and space
CONFIG_ARCH_ACTIONS=n
CONFIG_ARCH_AIROHA=n
CONFIG_ARCH_SUNXI=n
CONFIG_ARCH_ALPINE=n
CONFIG_ARCH_APPLE=n
CONFIG_ARCH_AXIADO=n
CONFIG_ARCH_BCM=n
CONFIG_ARCH_BERLIN=n
CONFIG_ARCH_BITMAIN=n
CONFIG_ARCH_BLAIZE=n
CONFIG_ARCH_BST=n
CONFIG_ARCH_CIX=n
CONFIG_ARCH_EXYNOS=n
CONFIG_ARCH_K3=n
CONFIG_ARCH_LG1K=n
CONFIG_ARCH_HISI=n
CONFIG_ARCH_KEEMBAY=n
CONFIG_ARCH_MICROCHIP=n
CONFIG_ARCH_SPARX5=n
CONFIG_ARCH_MEDIATEK=n
CONFIG_ARCH_MESON=n
CONFIG_ARCH_MVEBU=n
CONFIG_ARCH_NXP=n
CONFIG_ARCH_LAYERSCAPE=n
CONFIG_ARCH_MXC=n
CONFIG_ARCH_S32=n
CONFIG_ARCH_MA35=n
CONFIG_ARCH_NPCM=n
CONFIG_ARCH_QCOM=n
CONFIG_ARCH_REALTEK=n
CONFIG_ARCH_RENESAS=n
CONFIG_ARCH_ROCKCHIP=n
CONFIG_ARCH_SEATTLE=n
CONFIG_ARCH_INTEL_SOCFPGA=n
CONFIG_ARCH_SOPHGO=n
CONFIG_ARCH_STM32=n
CONFIG_ARCH_SYNQUACER=n
CONFIG_ARCH_TEGRA=n
CONFIG_ARCH_TESLA_FSD=n
CONFIG_ARCH_SPRD=n
CONFIG_ARCH_THUNDER=n
CONFIG_ARCH_THUNDER2=n
CONFIG_ARCH_UNIPHIER=n
CONFIG_ARCH_VEXPRESS=n
CONFIG_ARCH_VISCONTI=n
CONFIG_ARCH_XGENE=n
CONFIG_ARCH_ZYNQMP=n
# Disable more unnecessary stuff
CONFIG_PCI=n