linux-postmarketos-amlogic: add upstream MNT patches
The patches are altered to remove the noisy kernel messages. By default they use KERN_ALERT, which is very intrusive. Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
This commit is contained in:
parent
e1dd67402d
commit
a2160a27b4
16 changed files with 647 additions and 1 deletions
|
|
@ -0,0 +1,103 @@
|
|||
From ab72f04662c6065a331924d9421b2b4c5707a35b Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
|
||||
Date: Thu, 17 Apr 2025 17:44:55 +0200
|
||||
Subject: [PATCH] meson-g12b-bananapi-cm4-mnt-reform2.dts: fix audio and
|
||||
communication with LPC
|
||||
|
||||
---
|
||||
.../meson-g12b-bananapi-cm4-mnt-reform2.dts | 37 ++++++++++++++-----
|
||||
1 file changed, 28 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts
|
||||
index 0f48c32bec97..5b105fcee657 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts
|
||||
@@ -79,10 +79,6 @@ sound {
|
||||
"LINPUT1", "Mic Jack",
|
||||
"Mic Jack", "MICB";
|
||||
|
||||
- clocks = <&clkc CLKID_MPLL2>,
|
||||
- <&clkc CLKID_MPLL0>,
|
||||
- <&clkc CLKID_MPLL1>;
|
||||
-
|
||||
assigned-clocks = <&clkc CLKID_MPLL2>,
|
||||
<&clkc CLKID_MPLL0>,
|
||||
<&clkc CLKID_MPLL1>;
|
||||
@@ -197,14 +193,18 @@ backlight: backlight {
|
||||
enable-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
|
||||
brightness-levels = <0 32 64 128 160 200 255>;
|
||||
default-brightness-level = <6>;
|
||||
+
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
panel {
|
||||
- compatible = "innolux,n125hce-gn1";
|
||||
+ compatible = "innolux,n125hce-gn1-a311d", "simple-panel";
|
||||
power-supply = <®_main_3v3>;
|
||||
backlight = <&backlight>;
|
||||
no-hpd;
|
||||
|
||||
+ status = "okay";
|
||||
+
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&edp_bridge_out>;
|
||||
@@ -217,6 +217,24 @@ clock_12288: clock_12288 {
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12288000>;
|
||||
};
|
||||
+
|
||||
+ spi {
|
||||
+ compatible = "spi-gpio";
|
||||
+ #address-cells = <0x1>;
|
||||
+ ranges;
|
||||
+
|
||||
+ sck-gpios = <&gpio_ao GPIOAO_5 0>; // GPIOAO_5 / GPIO7
|
||||
+ miso-gpios = <&gpio GPIOH_4 0>; // GPIOH_4 / GPIO5
|
||||
+ mosi-gpios = <&gpio_ao GPIOAO_10 0>; // GPIOAO_10 / GPIO6
|
||||
+ cs-gpios = <&gpio GPIOA_10 0>; // GPIOA_10 / GPIO4
|
||||
+ num-chipselects = <1>;
|
||||
+
|
||||
+ spidev@0 {
|
||||
+ compatible = "mntre,lpc11u24";
|
||||
+ spi-max-frequency = <1000000>;
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&mipi_analog_dphy {
|
||||
@@ -281,6 +299,10 @@ &i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
|
||||
@@ -292,6 +314,7 @@ edp_bridge: bridge@2c {
|
||||
vpll-supply = <®_main_1v8>;
|
||||
vcca-supply = <®_main_1v2>;
|
||||
vcc-supply = <®_main_1v2>;
|
||||
+ burst-mode;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
@@ -314,10 +337,6 @@ edp_bridge_out: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
-};
|
||||
-
|
||||
-&i2c2 {
|
||||
- status = "okay";
|
||||
|
||||
wm8960: codec@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From 62de193d8150578bf040bfee65db4bf0cf834cee Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
|
||||
Date: Sat, 21 Dec 2024 17:54:09 +0100
|
||||
Subject: [PATCH] Revert "drm/bridge: synopsys: dw-mipi-dsi: enable EoTp by
|
||||
default"
|
||||
|
||||
This reverts commit d97e71e449373efbd2403f1d7a32d416599f32ac.
|
||||
---
|
||||
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
|
||||
index 0fb02e4e7f4e..c4e9d96933dc 100644
|
||||
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
|
||||
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
|
||||
@@ -722,12 +722,7 @@ static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi,
|
||||
|
||||
static void dw_mipi_dsi_packet_handler_config(struct dw_mipi_dsi *dsi)
|
||||
{
|
||||
- u32 val = CRC_RX_EN | ECC_RX_EN | BTA_EN | EOTP_TX_EN;
|
||||
-
|
||||
- if (dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)
|
||||
- val &= ~EOTP_TX_EN;
|
||||
-
|
||||
- dsi_write(dsi, DSI_PCKHDL_CFG, val);
|
||||
+ dsi_write(dsi, DSI_PCKHDL_CFG, CRC_RX_EN | ECC_RX_EN | BTA_EN);
|
||||
}
|
||||
|
||||
static void dw_mipi_dsi_video_packet_config(struct dw_mipi_dsi *dsi,
|
||||
--
|
||||
2.39.5
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From 573d769372d0dd1b6e7199048764cd851a511750 Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:47 +0200
|
||||
Subject: [PATCH 11/21] dw-mipi-dsi-phy-stop-wait-time
|
||||
|
||||
---
|
||||
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
|
||||
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
|
||||
@@ -605,8 +605,10 @@ static void dw_mipi_dsi_video_mode_confi
|
||||
*/
|
||||
val = ENABLE_LOW_POWER;
|
||||
|
||||
- if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)
|
||||
+ if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) {
|
||||
val |= VID_MODE_TYPE_BURST;
|
||||
+ printk(KERN_DEBUG "dw-mipi-dsi: video mode type burst\n");
|
||||
+ }
|
||||
else if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)
|
||||
val |= VID_MODE_TYPE_NON_BURST_SYNC_PULSES;
|
||||
else
|
||||
@@ -886,7 +888,7 @@ static void dw_mipi_dsi_dphy_interface_c
|
||||
* stop wait time should be the maximum between host dsi
|
||||
* and panel stop wait times
|
||||
*/
|
||||
- dsi_write(dsi, DSI_PHY_IF_CFG, PHY_STOP_WAIT_TIME(0x20) |
|
||||
+ dsi_write(dsi, DSI_PHY_IF_CFG, PHY_STOP_WAIT_TIME(0x1) |
|
||||
N_LANES(dsi->lanes));
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
From 6a51b0b4e1bae07da42ab82c41628c5ca1997c6f Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:48 +0200
|
||||
Subject: [PATCH 12/21] innolux-n125hce-gn1-timing-tweaks
|
||||
|
||||
---
|
||||
drivers/gpu/drm/panel/panel-edp.c | 32 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
--- a/drivers/gpu/drm/panel/panel-edp.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-edp.c
|
||||
@@ -1318,6 +1318,35 @@ static const struct panel_desc innolux_n
|
||||
},
|
||||
};
|
||||
|
||||
+static const struct drm_display_mode innolux_n125hce_gn1_a311d_mode = {
|
||||
+ //.clock = 162000, 70Hz
|
||||
+ // wrong colors are only if this mismatches dtb assigned clock
|
||||
+ .clock = 156000, // 68Hz
|
||||
+ //.clock = 153600, // 65Hz (921.6mhz)
|
||||
+ //.clock = 138780, // 59Hz (832.68mhz)
|
||||
+ //.clock = 138780, // 59Hz (832.68mhz)
|
||||
+ .hdisplay = 1920,
|
||||
+ .hsync_start = 1920 + 40,
|
||||
+ .hsync_end = 1920 + 40 + 40,
|
||||
+ .htotal = 1920 + 40 + 40 + 80,
|
||||
+ .vdisplay = 1080,
|
||||
+ // a311d mipi dsi driver currently calculates these wrongly,
|
||||
+ // so we have to work around that here
|
||||
+ .vsync_start = 1080 + 1,
|
||||
+ .vsync_end = 1080 + 1 + 4,
|
||||
+ .vtotal = 1080 + 1 + 4 + 27,
|
||||
+};
|
||||
+
|
||||
+static const struct panel_desc innolux_n125hce_gn1_a311d = {
|
||||
+ .modes = &innolux_n125hce_gn1_a311d_mode,
|
||||
+ .num_modes = 1,
|
||||
+ .bpc = 8,
|
||||
+ .size = {
|
||||
+ .width = 276,
|
||||
+ .height = 155,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static const struct drm_display_mode innolux_p120zdg_bf1_mode = {
|
||||
.clock = 206016,
|
||||
.hdisplay = 2160,
|
||||
@@ -1736,6 +1765,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "innolux,n125hce-gn1",
|
||||
.data = &innolux_n125hce_gn1,
|
||||
}, {
|
||||
+ .compatible = "innolux,n125hce-gn1-a311d",
|
||||
+ .data = &innolux_n125hce_gn1_a311d,
|
||||
+ }, {
|
||||
.compatible = "innolux,p120zdg-bf1",
|
||||
.data = &innolux_p120zdg_bf1,
|
||||
}, {
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From f45675995ec2fab90adec43426039dd6ffda94a7 Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:49 +0200
|
||||
Subject: [PATCH 13/21] meson-viu-hold-fifo-lines
|
||||
|
||||
---
|
||||
drivers/gpu/drm/meson/meson_viu.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c
|
||||
index cd399b0b7..119d00f23 100644
|
||||
--- a/drivers/gpu/drm/meson/meson_viu.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_viu.c
|
||||
@@ -441,7 +441,7 @@ void meson_viu_init(struct meson_drm *priv)
|
||||
VIU_OSD_FIFO_LIMITS(2); /* fifo_lim: 2*16=32 */
|
||||
|
||||
if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A))
|
||||
- reg |= (VIU_OSD_BURST_LENGTH_32 | VIU_OSD_HOLD_FIFO_LINES(31));
|
||||
+ reg |= (VIU_OSD_BURST_LENGTH_32 | VIU_OSD_HOLD_FIFO_LINES(4)); // FIXME altered
|
||||
else
|
||||
reg |= (VIU_OSD_BURST_LENGTH_64 | VIU_OSD_HOLD_FIFO_LINES(4));
|
||||
|
||||
--
|
||||
2.40.0
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From 46a66919ef279bace11147d89c373bc4440a6d5a Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:50 +0200
|
||||
Subject: [PATCH 14/21] meson-venc-sync.patch
|
||||
|
||||
---
|
||||
drivers/gpu/drm/meson/meson_venc.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
|
||||
index 3bf0d6e4f..0e9a9bb07 100644
|
||||
--- a/drivers/gpu/drm/meson/meson_venc.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_venc.c
|
||||
@@ -1711,7 +1711,7 @@ void meson_venc_mipi_dsi_mode_set(struct meson_drm *priv,
|
||||
writel_relaxed(vavon_eline, priv->io_base + _REG(L_OEV1_VE_ADDR));
|
||||
|
||||
/* Hsync signal for TTL */
|
||||
- if (mode->flags & DRM_MODE_FLAG_PHSYNC) {
|
||||
+ if (mode->flags & DRM_MODE_FLAG_NHSYNC) {
|
||||
writel_relaxed(hso_begin, priv->io_base + _REG(L_STH1_HS_ADDR));
|
||||
writel_relaxed(hso_end, priv->io_base + _REG(L_STH1_HE_ADDR));
|
||||
} else {
|
||||
@@ -1724,7 +1724,7 @@ void meson_venc_mipi_dsi_mode_set(struct meson_drm *priv,
|
||||
/* Vsync signal for TTL */
|
||||
writel_relaxed(vso_begin, priv->io_base + _REG(L_STV1_HS_ADDR));
|
||||
writel_relaxed(vso_end, priv->io_base + _REG(L_STV1_HE_ADDR));
|
||||
- if (mode->flags & DRM_MODE_FLAG_PVSYNC) {
|
||||
+ if (mode->flags & DRM_MODE_FLAG_NVSYNC) {
|
||||
writel_relaxed(vso_bline, priv->io_base + _REG(L_STV1_VS_ADDR));
|
||||
writel_relaxed(vso_eline, priv->io_base + _REG(L_STV1_VE_ADDR));
|
||||
} else {
|
||||
--
|
||||
2.40.0
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
From 55cc68c56db6bb4b27bb7e52d63d37172dbfb51b Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:51 +0200
|
||||
Subject: [PATCH 15/21] meson-dw-mipi-dsi-sync-invert
|
||||
|
||||
---
|
||||
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
|
||||
@@ -129,7 +129,9 @@ static int dw_mipi_dsi_phy_init(void *pr
|
||||
FIELD_PREP(MIPI_DSI_TOP_IN_COLOR_MODE, venc_data_width) |
|
||||
FIELD_PREP(MIPI_DSI_TOP_COMP2_SEL, 2) |
|
||||
FIELD_PREP(MIPI_DSI_TOP_COMP1_SEL, 1) |
|
||||
- FIELD_PREP(MIPI_DSI_TOP_COMP0_SEL, 0),
|
||||
+ FIELD_PREP(MIPI_DSI_TOP_COMP0_SEL, 0) |
|
||||
+ (mipi_dsi->mode->flags & DRM_MODE_FLAG_NHSYNC ? 0 : MIPI_DSI_TOP_HSYNC_INVERT) |
|
||||
+ (mipi_dsi->mode->flags & DRM_MODE_FLAG_NVSYNC ? 0 : MIPI_DSI_TOP_VSYNC_INVERT),
|
||||
mipi_dsi->base + MIPI_DSI_TOP_CNTL);
|
||||
|
||||
return phy_configure(mipi_dsi->phy, &mipi_dsi->phy_opts);
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
From 6d6b45ed6cdf1ed5c2efcd05019cea4a1df0a962 Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 9 Jul 2023 23:02:51 +0200
|
||||
Subject: [PATCH 16/21] sn65dsi86-burst-mode-support
|
||||
|
||||
---
|
||||
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
|
||||
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
|
||||
@@ -722,6 +722,10 @@ static int ti_sn_attach_host(struct auxi
|
||||
dsi->lanes = 4;
|
||||
dsi->format = MIPI_DSI_FMT_RGB888;
|
||||
dsi->mode_flags = MIPI_DSI_MODE_VIDEO;
|
||||
+ if (of_property_read_bool(pdata->dev->of_node, "burst-mode")) {
|
||||
+ dsi->mode_flags |= MIPI_DSI_MODE_VIDEO_BURST;
|
||||
+ printk(KERN_DEBUG "ti_sn65dsi86: burst mode enabled\n");
|
||||
+ };
|
||||
|
||||
/* For i.MX8MP / Samsung DSIM Host, don't guess the HS rate, but read it from DTS */
|
||||
if (of_device_is_compatible(pdata->host_node, "fsl,imx8mp-mipi-dsim")) {
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
From 87c72ab5cd34dfa5fe1c91c475e5b6d4b8e1aad6 Mon Sep 17 00:00:00 2001
|
||||
From: "Lukas F. Hartmann" <lukas@mntre.com>
|
||||
Date: Sun, 17 Sep 2023 17:43:10 +0200
|
||||
Subject: [PATCH 18/21] sn65dsi86-never-turn-off
|
||||
|
||||
---
|
||||
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
|
||||
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
|
||||
@@ -347,6 +347,9 @@ static void ti_sn65dsi86_disable_comms(s
|
||||
{
|
||||
mutex_lock(&pdata->comms_mutex);
|
||||
|
||||
+
|
||||
+ return;
|
||||
+
|
||||
pdata->comms_enabled = false;
|
||||
clk_disable_unprepare(pdata->refclk);
|
||||
|
||||
@@ -387,6 +390,9 @@ static int __maybe_unused ti_sn65dsi86_s
|
||||
struct ti_sn65dsi86 *pdata = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
||||
+ printk(KERN_DEBUG "ti_sn65dsi86: suspend skipped\n");
|
||||
+ return 0;
|
||||
+
|
||||
if (pdata->refclk)
|
||||
ti_sn65dsi86_disable_comms(pdata);
|
||||
|
||||
@@ -820,6 +826,9 @@ static void ti_sn_bridge_atomic_disable(
|
||||
{
|
||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||
|
||||
+ printk(KERN_DEBUG "ti_sn65dsi86: atomic disable skipped\n");
|
||||
+ return;
|
||||
+
|
||||
/* disable video stream */
|
||||
regmap_update_bits(pdata->regmap, SN_ENH_FRAME_REG, VSTREAM_ENABLE, 0);
|
||||
}
|
||||
@@ -1185,6 +1194,9 @@ static void ti_sn_bridge_atomic_post_dis
|
||||
{
|
||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||
|
||||
+ printk(KERN_DEBUG "ti_sn65dsi86: atomic_post_disable skipped\n");
|
||||
+ return;
|
||||
+
|
||||
/* semi auto link training mode OFF */
|
||||
regmap_write(pdata->regmap, SN_ML_TX_MODE_REG, 0);
|
||||
/* Num lanes to 0 as per power sequencing in data sheet */
|
||||
@@ -1871,6 +1883,9 @@ static inline void ti_sn_gpio_unregister
|
||||
|
||||
static void ti_sn65dsi86_runtime_disable(void *data)
|
||||
{
|
||||
+
|
||||
+ return;
|
||||
+
|
||||
pm_runtime_dont_use_autosuspend(data);
|
||||
pm_runtime_disable(data);
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
From 2c1b731fb890ac217152a62ea524c2e7ee10e05e Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 17 Apr 2022 04:37:48 +0000
|
||||
Subject: [PATCH 20/21] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls
|
||||
to device 0
|
||||
|
||||
On SoC sound devices utilizing codec2codec DAI links with a HDMI codec
|
||||
the kctls for chmap, ELD, IEC958 are currently created using the
|
||||
internal PCM device numbers. This causes userspace to not see the
|
||||
actual channel mapping.
|
||||
|
||||
Affected devices include LibreTech LePotato and Wetek Play 2.
|
||||
|
||||
The proper fix would be not create these kctls for internal PCMs and
|
||||
instead create them for the real userspace-visible PCMs, somehow
|
||||
forwarding the controls between the HDMI codec and the real PCM.
|
||||
|
||||
As a workaround, simply use device=0 for all channel map controls and
|
||||
SoC HDMI codec controls for internal PCM devices.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
---
|
||||
sound/core/pcm_lib.c | 5 ++++-
|
||||
sound/soc/codecs/hdmi-codec.c | 3 ++-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/sound/core/pcm_lib.c
|
||||
+++ b/sound/core/pcm_lib.c
|
||||
@@ -2547,7 +2547,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pc
|
||||
knew.name = "Playback Channel Map";
|
||||
else
|
||||
knew.name = "Capture Channel Map";
|
||||
- knew.device = pcm->device;
|
||||
+ if (pcm->internal && pcm->device)
|
||||
+ dev_info(pcm->card->dev, "workaround active: internal PCM chmap controls mapped to device 0\n");
|
||||
+ else
|
||||
+ knew.device = pcm->device;
|
||||
knew.count = pcm->streams[stream].substream_count;
|
||||
knew.private_value = private_value;
|
||||
info->kctl = snd_ctl_new1(&knew, info);
|
||||
--- a/sound/soc/codecs/hdmi-codec.c
|
||||
+++ b/sound/soc/codecs/hdmi-codec.c
|
||||
@@ -801,7 +801,8 @@ static int hdmi_codec_pcm_new(struct snd
|
||||
if (!kctl)
|
||||
return -ENOMEM;
|
||||
|
||||
- kctl->id.device = rtd->pcm->device;
|
||||
+ if (!rtd->pcm->internal)
|
||||
+ kctl->id.device = rtd->pcm->device;
|
||||
ret = snd_ctl_add(rtd->card->snd_card, kctl);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From 25b84eeff0c5013366821e82654313d591609c57 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 15 Sep 2021 05:00:45 +0000
|
||||
Subject: [PATCH 21/21] HACK: of: partial revert of fdt.c changes
|
||||
|
||||
This resolves reports similar to the below which are present in dmesg
|
||||
since Linux 5.10; which are also causing crashes in some distros:
|
||||
|
||||
[ 0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'secmon@5000000': base 0x0000000005000000, size 3 MiB
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
drivers/of/fdt.c | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
--- a/drivers/of/of_reserved_mem.c
|
||||
+++ b/drivers/of/of_reserved_mem.c
|
||||
@@ -82,15 +82,6 @@ static int __init early_init_dt_reserve_
|
||||
phys_addr_t size, bool nomap)
|
||||
{
|
||||
if (nomap) {
|
||||
- /*
|
||||
- * If the memory is already reserved (by another region), we
|
||||
- * should not allow it to be marked nomap, but don't worry
|
||||
- * if the region isn't memory as it won't be mapped.
|
||||
- */
|
||||
- if (memblock_overlaps_region(&memblock.memory, base, size) &&
|
||||
- memblock_is_region_reserved(base, size))
|
||||
- return -EBUSY;
|
||||
-
|
||||
return memblock_mark_nomap(base, size);
|
||||
}
|
||||
return memblock_reserve(base, size);
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From a38d90dab271fd9911cf338e2693fd608744d9f7
|
||||
From: Lukas F. Hartmann <lukas@mntre.com>
|
||||
Subject: add-bt-and-eth-resets
|
||||
Date: Tue Nov 12 03:00:14 2024 +0100
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
index 97e5229..d1435a3 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
@@ -211,6 +211,11 @@ ðmac {
|
||||
pinctrl-names = "default";
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-handle = <&external_phy>;
|
||||
+
|
||||
+ /* This is only a partial fix; ethernet only works reliably after a reload
|
||||
+ of the mdio, dwmac, stmmac etc modules */
|
||||
+ snps,reset-gpio = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
|
||||
+ snps,reset-delays-us = <0 1000000 2000000>;
|
||||
};
|
||||
|
||||
&frddr_a {
|
||||
@@ -369,8 +374,7 @@ &uart_A {
|
||||
|
||||
bluetooth {
|
||||
compatible = "realtek,rtl8822cs-bt";
|
||||
- enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
||||
- host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>;
|
||||
device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From a38d90dab271fd9911cf338e2693fd608744d9f7
|
||||
From: Lukas F. Hartmann <lukas@mntre.com>
|
||||
Subject: sdio-improve-wifi-speed
|
||||
Date: Tue Nov 12 03:00:14 2024 +0100
|
||||
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -937,17 +937,22 @@
|
||||
};
|
||||
|
||||
sdio_pins: sdio {
|
||||
- mux {
|
||||
+ mux-0 {
|
||||
groups = "sdio_d0",
|
||||
"sdio_d1",
|
||||
"sdio_d2",
|
||||
"sdio_d3",
|
||||
- "sdio_clk",
|
||||
"sdio_cmd";
|
||||
function = "sdio";
|
||||
- bias-disable;
|
||||
+ bias-pull-up;
|
||||
drive-strength-microamp = <4000>;
|
||||
};
|
||||
+
|
||||
+ mux-1 {
|
||||
+ groups = "sdio_clk";
|
||||
+ function = "sdio";
|
||||
+ bias-disable;
|
||||
+ };
|
||||
};
|
||||
|
||||
sdio_clk_gate_pins: sdio_clk_gate {
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
From a38d90dab271fd9911cf338e2693fd608744d9f7
|
||||
From: Lukas F. Hartmann <lukas@mntre.com>
|
||||
Subject: sdio-improve-wifi-speed
|
||||
Date: Tue Nov 12 03:00:14 2024 +0100
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
index 5805bc9..144d68b 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
|
||||
@@ -31,6 +31,7 @@ sdio_pwrseq: sdio-pwrseq {
|
||||
reset-gpios = <&gpio GPIOAO_6 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&wifi32k>;
|
||||
clock-names = "ext_clock";
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
};
|
||||
|
||||
emmc_1v8: regulator-emmc-1v8 {
|
||||
@@ -299,19 +300,24 @@ &sd_emmc_a {
|
||||
#size-cells = <0>;
|
||||
|
||||
bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
- max-frequency = <50000000>;
|
||||
+ max-frequency = <100000000>;
|
||||
|
||||
non-removable;
|
||||
disable-wp;
|
||||
|
||||
+ /* apparently DRAM quirk is not needed on modern A311D chips */
|
||||
+ /delete-property/ amlogic,dram-access-quirk;
|
||||
+
|
||||
/* WiFi firmware requires power in suspend */
|
||||
keep-power-in-suspend;
|
||||
|
||||
mmc-pwrseq = <&sdio_pwrseq>;
|
||||
|
||||
vmmc-supply = <&vddao_3v3>;
|
||||
- vqmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&vddao_1v8>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From 5880cab67e4b3f6ab40fd6f3477bd16f6eb329cf
|
||||
From: Lukas F. Hartmann <lukas@mntre.com>
|
||||
Subject: WORKAROUND-meson-plane-disable-afbc-32x8
|
||||
Date: Sat Mar 22 14:48:13 2025 +0100
|
||||
|
||||
meson_plane: disable AFBC 32x8 support
|
||||
|
||||
Since mesa/panfrost has turned on 32x8 AFBC compression for Mali-G52 we are getting missed frames/syncs on our A311D MNT Reforms and Pocket Reforms. While the problem is investigated, we turn off this compression format in the display pipeline for this SoC, so we don't have to patch mesa.
|
||||
|
||||
Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1099032
|
||||
Mesa bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12718
|
||||
|
||||
diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
|
||||
index b43ac61..ba6331f 100644
|
||||
--- a/drivers/gpu/drm/meson/meson_plane.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_plane.c
|
||||
@@ -508,18 +508,6 @@ static const uint64_t format_modifiers_afbc_g12a[] = {
|
||||
AFBC_FORMAT_MOD_YTR |
|
||||
AFBC_FORMAT_MOD_SPARSE |
|
||||
AFBC_FORMAT_MOD_SPLIT),
|
||||
- DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 |
|
||||
- AFBC_FORMAT_MOD_SPARSE),
|
||||
- DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 |
|
||||
- AFBC_FORMAT_MOD_YTR |
|
||||
- AFBC_FORMAT_MOD_SPARSE),
|
||||
- DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 |
|
||||
- AFBC_FORMAT_MOD_SPARSE |
|
||||
- AFBC_FORMAT_MOD_SPLIT),
|
||||
- DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 |
|
||||
- AFBC_FORMAT_MOD_YTR |
|
||||
- AFBC_FORMAT_MOD_SPARSE |
|
||||
- AFBC_FORMAT_MOD_SPLIT),
|
||||
DRM_FORMAT_MOD_LINEAR,
|
||||
DRM_FORMAT_MOD_INVALID,
|
||||
};
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
# Co-Maintainer: exkc <exxxxkc@getgoogleoff.me>
|
||||
pkgname=linux-postmarketos-amlogic
|
||||
pkgver=6.12.23
|
||||
pkgrel=2
|
||||
pkgrel=4
|
||||
pkgdesc="Mainline kernel for Amlogic devices"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
|
|
@ -40,6 +40,21 @@ source="
|
|||
0004-dt-bindings-arm-amlogic-add-S805Y-and-Mi-TV-Stick.patch
|
||||
0005-arm64-dts-amlogic-add-support-for-xiaomi-aquaman-Mi-.patch
|
||||
0006-arm64-dts-amlogic-xiaomi-aquaman-revert-to-the-old-PWM-binding.patch
|
||||
0007-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch
|
||||
0008-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch
|
||||
0009-dw-mipi-dsi-phy-stop-wait-time.patch
|
||||
0010-innolux-n125hce-gn1-timing-tweaks.patch
|
||||
0011-meson-viu-hold-fifo-lines.patch
|
||||
0012-meson-venc-sync.patch.patch
|
||||
0013-meson-dw-mipi-dsi-sync-invert.patch
|
||||
0014-sn65dsi86-burst-mode-support.patch
|
||||
0015-sn65dsi86-never-turn-off.patch
|
||||
0016-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch
|
||||
0017-HACK-of-partial-revert-of-fdt.c-changes.patch
|
||||
0018-add-bt-and-eth-resets.patch
|
||||
0019-sdio-pullups.patch
|
||||
0020-sdio-improve-wifi-speed.patch
|
||||
0021-WORKAROUND-meson-plane-disable-afbc-32x8.patch
|
||||
"
|
||||
builddir="$srcdir/linux-$pkgver"
|
||||
|
||||
|
|
@ -76,4 +91,19 @@ c972c81f985c5470d4c1b4642214f9ddcb49cecbf1e6a99e52a24ce480d06d7ee7ca7f0dcee7bc4f
|
|||
f49836388fedb8adf93a8b619c701eb13b6c96736a6293f91ec7f6a2286ecd54eaee6fd90d8872652cea12c2fc1f90473a73bfb8038edd77d94baa2e921e35c5 0004-dt-bindings-arm-amlogic-add-S805Y-and-Mi-TV-Stick.patch
|
||||
d7c1f097b32d201893942d7eb4541c5f1c17e998006c6c20501f4ab9c7c3f6bf6567658f15d1c6587d9ef31534fea296e6bec539d51bddb4615939b4c0da7b51 0005-arm64-dts-amlogic-add-support-for-xiaomi-aquaman-Mi-.patch
|
||||
a080d357c9870ffe936d41cef757e2b717d97c4593332fa8682476dc0791d07af59e2de74935bde68485ffae9554a39084151b3f1877cdf320d631dec72f735c 0006-arm64-dts-amlogic-xiaomi-aquaman-revert-to-the-old-PWM-binding.patch
|
||||
f1a3f10c67f491758bbaa2922b3acc84e2abee432ae22a39cb4081c9cea71792c5c740c57df93740e4b9756755e0e32583d23a93485933aeddb01c1d85eb4ccc 0007-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch
|
||||
fb34099eefaf51b7bb36d7eca3c6130d7b23760250be8934341e93656d9315a099a243cbb02c9ed572dd76bf9017016b76aa1a8c03e867273f8ff4c3e7b3c9cb 0008-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch
|
||||
00e257c1271fb9bfdb3cb3d61693e4226ec64cf7f168b19c504744c22844776f45e72005ec4def46450315ee71edfb5c762b323dad97df61c1106b835e91c372 0009-dw-mipi-dsi-phy-stop-wait-time.patch
|
||||
d9cf2556bc705a42088cdcb42f0dce4e32307e1315a53b68e7177e040848bfe51fce5c943be0a0ad3c19051fcc77ae2c8b04591034cf4c3c80c521471028be48 0010-innolux-n125hce-gn1-timing-tweaks.patch
|
||||
5df1e7f7b53c0a0246bc5bef185ee542ef249eb699013cee65f7a2b9a7aec449677750a58b9d8b6b0b3935d04a8fcf6a7e55341a5f87a0d356d7d10ed857c83c 0011-meson-viu-hold-fifo-lines.patch
|
||||
4ff6c694f1ed8281ce8309f2920f069510e61e23f44e3c21578e34964cdb94758db497d3bde2dae177f9e591a14cebed8adb87e7b91673b72633cbde41729f40 0012-meson-venc-sync.patch.patch
|
||||
04739b5df9dcf319a31a2229dd0294f8c62385a30705fc722b99888e194f335b63ec4da36131a80dab3aecfb65e1100a942ff8d064dc9c91206b3762e83602ad 0013-meson-dw-mipi-dsi-sync-invert.patch
|
||||
c0723efa41e9cce210ebefebc6c44b42e858be91006dac6305ddce11659e4e34a2231951215e3a76ad37fabd8e5e027f6662043757c2917601c24777a092e363 0014-sn65dsi86-burst-mode-support.patch
|
||||
1b38e2dab7506826a3eb5965c1d24f55b781612f2781110c8c45b6882215c8be18f54b4c4e4ee198ff768a695097ab42d3a91f9f2545a1b870f9880d9342cebb 0015-sn65dsi86-never-turn-off.patch
|
||||
f84cc1b22c0d10ac3c88dd9330d4a73ac903a13462298653c4ffb2c4c8dc4618fd7c2d635376d3d9a0d1a068465731b9220c5f24fdf890940203dc5d0b02d304 0016-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch
|
||||
d21d3ac5e7e86e8df1b7634fa4f3ebaab47aaced021ec034d84f9478ee986707360db413d81b9f16840a705d70f446618564e31ca22d193ed9f0392f2032caef 0017-HACK-of-partial-revert-of-fdt.c-changes.patch
|
||||
d472a143ede616698627fe3992b8537fab17fecc304a6aa2ebfa545713c88c8ef390fe25a0fdee7cebc0334d29d7df58785095e753546a75645fa9029afdc731 0018-add-bt-and-eth-resets.patch
|
||||
9dc9a728bed858b5587a603fd0d31181d91755a3d2685ebe514195705c30474df43efc7bbe53b84615713192df7cc7593ee7d5c38b9c3f8d2d13c609b320a04c 0019-sdio-pullups.patch
|
||||
f6fb37ac0aa876f8d95ed598be20263417d8522a3c1f48a4ce148f95e6c6774664048064f4a96ff7f90ba3b4f71695ba8c51df2da3310bb820f627991d288851 0020-sdio-improve-wifi-speed.patch
|
||||
3d38202c1b5b56f25c16664924b72e6041e7911e71985a028b91c7151758659a2e662009c06342a0fddd8d829df03d6feb8ee929c550fde74a16f955cb01ae30 0021-WORKAROUND-meson-plane-disable-afbc-32x8.patch
|
||||
"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue