Merge pull request #7387 from chewitt/amlogic-upstream

amlogic: bump kernel to 6.1.y and misc. changes
This commit is contained in:
CvH 2023-01-16 09:32:41 +01:00 committed by GitHub
commit d4a359e059
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
103 changed files with 2713 additions and 781 deletions

View File

@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}"
case "${LINUX}" in
amlogic)
PKG_VERSION="be8b93b5cc7d533eb8c9b0590cdac055ecafe13a" # 6.0.9
PKG_SHA256="d32f975add35f62ad1a0fe7207fd6503c566a60faf856b037008d4d6471e7a8d"
PKG_VERSION="90ca7a874a9093e500cc6147cecd85ad2e6a2852" # 6.1.5
PKG_SHA256="6fed4ac4f4585ebac26e82022f377fca29f8b4dc8042e34db1f67b53f4f5d2d8"
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
;;

View File

@ -2,3 +2,4 @@ CONFIG_LZ4=y
CONFIG_LZO=y
CONFIG_LZMA=y
CONFIG_BOOTDELAY=0
CONFIG_EFI_LOADER=n

View File

@ -1,7 +1,7 @@
From bbbc1a8a588a2f899c67941f054dfeb250233a19 Mon Sep 17 00:00:00 2001
From ff14abfd54075d016f8d46e30e3395dd5613024b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:41:51 +0000
Subject: [PATCH 01/73] LOCAL: set meson-gx cma pool to 896MB
Subject: [PATCH 01/92] LOCAL: set meson-gx cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use
@ -14,7 +14,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/aml
index 023a52005494..ca0d1733d515 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -58,7 +58,7 @@
@@ -58,7 +58,7 @@ secmon_reserved_bl32: secmon@5300000 {
linux,cma {
compatible = "shared-dma-pool";
reusable;
@ -24,5 +24,5 @@ index 023a52005494..ca0d1733d515 100644
linux,cma-default;
};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 391e4a8fc138daf6fba77392eb6ebe688f2f6468 Mon Sep 17 00:00:00 2001
From 184621c6007e47fb0415a05668f132006c80caa9 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 14 Aug 2019 19:58:14 +0000
Subject: [PATCH 02/73] LOCAL: set meson-g12 cma pool to 896MB
Subject: [PATCH 02/92] LOCAL: set meson-g12 cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use
@ -14,7 +14,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot
index 45947c1031c4..2c56b216d6f9 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -116,7 +116,7 @@
@@ -116,7 +116,7 @@ secmon_reserved_bl32: secmon@5300000 {
linux,cma {
compatible = "shared-dma-pool";
reusable;
@ -24,5 +24,5 @@ index 45947c1031c4..2c56b216d6f9 100644
linux,cma-default;
};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b0f2464452ed2c0cf69e2dee5a1c054fa1b0e6cc Mon Sep 17 00:00:00 2001
From b1e12b3742785eecdda1b58e2445c3d83eccf445 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:45:18 +0000
Subject: [PATCH 03/73] LOCAL: arm64: fix Kodi sysinfo CPU information
Subject: [PATCH 03/92] LOCAL: arm64: fix Kodi sysinfo CPU information
This allows the CPU information to show in the Kodi sysinfo screen, e.g.
@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
index d7702f39b4d3..4b6ac49e34b4 100644
index 28d4f442b0bc..d46cea365be4 100644
--- a/arch/arm64/kernel/cpuinfo.c
+++ b/arch/arm64/kernel/cpuinfo.c
@@ -169,8 +169,7 @@ static int c_show(struct seq_file *m, void *v)
@@ -170,8 +170,7 @@ static int c_show(struct seq_file *m, void *v)
* "processor". Give glibc what it expects.
*/
seq_printf(m, "processor\t: %d\n", i);
@ -27,5 +27,5 @@ index d7702f39b4d3..4b6ac49e34b4 100644
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From d0e70c5cf59999273d7f25ac7153f959a9f12f42 Mon Sep 17 00:00:00 2001
From a859d1225bad98a5398a4777acc0cb64d32dfe04 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:23 +0100
Subject: [PATCH 04/73] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
Subject: [PATCH 04/92] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
The Amlogic Meson GX SoCs uses a non-standard argument to the
PSCI CPU_SUSPEND call to enter system suspend.
@ -131,5 +131,5 @@ index 000000000000..c104c2e4c77f
+MODULE_DESCRIPTION("Amlogic Meson GX PM driver");
+MODULE_LICENSE("GPL v2");
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 482d13486412a6b33ceb9e64c87e6394942834e9 Mon Sep 17 00:00:00 2001
From 87dbe21ffcdcd929dcb86f31453fcb400c954cd7 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:25 +0100
Subject: [PATCH 05/73] LOCAL: arm64: dts: meson: add support for GX PM and
Subject: [PATCH 05/92] LOCAL: arm64: dts: meson: add support for GX PM and
Virtual RTC
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
@ -13,7 +13,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/aml
index ca0d1733d515..b278a8380f8a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -221,6 +221,10 @@
@@ -221,6 +221,10 @@ sm: secure-monitor {
};
};
@ -24,7 +24,7 @@ index ca0d1733d515..b278a8380f8a 100644
efuse: efuse {
compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
#address-cells = <1>;
@@ -459,6 +463,11 @@
@@ -459,6 +463,11 @@ clkc_AO: clock-controller {
};
};
@ -37,5 +37,5 @@ index ca0d1733d515..b278a8380f8a 100644
compatible = "amlogic,meson-gx-ao-cec";
reg = <0x0 0x00100 0x0 0x14>;
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 411cb7102c7addd30d31b41f21471d57df8e2124 Mon Sep 17 00:00:00 2001
From 6f466ee418a0ce0de01ac2671efc5e73364b83eb Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 21 Jan 2021 01:35:36 +0000
Subject: [PATCH 06/73] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Subject: [PATCH 06/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
@ -16,7 +16,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/a
index 6ab1cc125b96..24af15e18026 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -29,6 +29,8 @@
@@ -29,6 +29,8 @@ button-function {
aliases {
serial2 = &uart_AO_B;
ethernet0 = &ethmac;
@ -26,5 +26,5 @@ index 6ab1cc125b96..24af15e18026 100644
gpio-keys-polled {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 1786033be020b8a5ab6a86646135e8df2e294524 Mon Sep 17 00:00:00 2001
From 14ad2621e7d5d7d96ef6ead4ed2dd2658d75acc6 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 6 Nov 2021 13:01:08 +0000
Subject: [PATCH 07/73] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Subject: [PATCH 07/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM2
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
@ -16,7 +16,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/
index f43c45daf7eb..6d396c1be3d6 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -18,6 +18,8 @@
@@ -18,6 +18,8 @@ / {
aliases {
serial0 = &uart_AO;
serial2 = &uart_AO_B;
@ -26,5 +26,5 @@ index f43c45daf7eb..6d396c1be3d6 100644
chosen {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From eae65baf2f29a74a7fe9d349501561b50439abfe Mon Sep 17 00:00:00 2001
From b9ec4238130625734e858f024ca9f5d87642bb62 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 1 Feb 2021 19:27:40 +0000
Subject: [PATCH 08/73] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
Subject: [PATCH 08/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
NEO U9-H
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts b/arch/arm6
index b8ef3bd8b840..0920e7b096f5 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts
@@ -14,6 +14,11 @@
@@ -14,6 +14,11 @@ / {
compatible = "minix,neo-u9h", "amlogic,s912", "amlogic,meson-gxm";
model = "Minix Neo U9-H";
@ -28,5 +28,5 @@ index b8ef3bd8b840..0920e7b096f5 100644
compatible = "gpio-leds";
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 04bdcad098193dda5988bb96bfae7178834b13b0 Mon Sep 17 00:00:00 2001
From 0cade3f576c5486cc914c32c7478af90aedf31bb 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 09/73] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls
Subject: [PATCH 09/92] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls
to device 0
On SoC sound devices utilizing codec2codec DAI links with a HDMI codec
@ -25,7 +25,7 @@ Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 40751e5aff09..1461463dc320 100644
index 8b6aeb8a78f7..eee05d447dec 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -2514,7 +2514,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream,
@ -41,10 +41,10 @@ index 40751e5aff09..1461463dc320 100644
knew.private_value = private_value;
info->kctl = snd_ctl_new1(&knew, info);
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index 5679102de91f..aa2ca5078551 100644
index 0b1cdb2d6049..bbc33161bcca 100644
--- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c
@@ -797,7 +797,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,
@@ -793,7 +793,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,
if (!kctl)
return -ENOMEM;
@ -55,5 +55,5 @@ index 5679102de91f..aa2ca5078551 100644
if (ret < 0)
return ret;
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 080a637d2fedf1d550f2fcee2da8520cb2456122 Mon Sep 17 00:00:00 2001
From 72ea6f5c5fe299d105ebee91103ae26a7473af46 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 3 Jan 2022 10:44:17 +0000
Subject: [PATCH 10/73] LOCAL: usb: hub: disable autosuspend for Genesys Logic
Subject: [PATCH 10/92] LOCAL: usb: hub: disable autosuspend for Genesys Logic
Hubs
Disable autosuspend in Genesys Logic hubs to allow USB devices on the
@ -30,5 +30,5 @@ index bbab424b0d55..ccfd0b312867 100644
.bDeviceClass = USB_CLASS_HUB},
{ .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS,
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 31cdc54e582baafbe8e2daf291c35b027081f01d Mon Sep 17 00:00:00 2001
From 0efd3bd51c74ee027a993d1a51501dd20c70e9ac Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Wed, 15 Sep 2021 05:00:45 +0000
Subject: [PATCH 11/73] LOCAL: of: partial revert of fdt.c changes
Subject: [PATCH 11/92] LOCAL: 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:
@ -14,7 +14,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 9 deletions(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 1c573e7a60bc..f9188a76500d 100644
index 4f88e8bbdd27..efa14615b865 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -481,15 +481,6 @@ static int __init early_init_dt_reserve_memory(phys_addr_t base,
@ -34,5 +34,5 @@ index 1c573e7a60bc..f9188a76500d 100644
}
return memblock_reserve(base, size);
--
2.17.1
2.34.1

View File

@ -1,57 +0,0 @@
From 7712306891a8e02c0253f4b6f68101cf4e567e3a Mon Sep 17 00:00:00 2001
From: Erico Nunes <nunes.erico@gmail.com>
Date: Fri, 18 Nov 2022 03:00:39 +0000
Subject: [PATCH 12/73] FROMGIT: drm/lima: Fix opp clkname setting in case of
missing regulator
Commit d8c32d3971e4 ("drm/lima: Migrate to dev_pm_opp_set_config()")
introduced a regression as it may undo the clk_names setting in case
the optional regulator is missing. This resulted in test and performance
regressions with lima.
Restore the old behavior where clk_names is set separately so it is not
undone in case of a missing optional regulator.
Fixes: d8c32d3971e4 ("drm/lima: Migrate to dev_pm_opp_set_config()")
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/gpu/drm/lima/lima_devfreq.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/lima/lima_devfreq.c b/drivers/gpu/drm/lima/lima_devfreq.c
index 011be7ff51e1..bc8fb4e38d0a 100644
--- a/drivers/gpu/drm/lima/lima_devfreq.c
+++ b/drivers/gpu/drm/lima/lima_devfreq.c
@@ -112,11 +112,6 @@ int lima_devfreq_init(struct lima_device *ldev)
unsigned long cur_freq;
int ret;
const char *regulator_names[] = { "mali", NULL };
- const char *clk_names[] = { "core", NULL };
- struct dev_pm_opp_config config = {
- .regulator_names = regulator_names,
- .clk_names = clk_names,
- };
if (!device_property_present(dev, "operating-points-v2"))
/* Optional, continue without devfreq */
@@ -124,7 +119,15 @@ int lima_devfreq_init(struct lima_device *ldev)
spin_lock_init(&ldevfreq->lock);
- ret = devm_pm_opp_set_config(dev, &config);
+ /*
+ * clkname is set separately so it is not affected by the optional
+ * regulator setting which may return error.
+ */
+ ret = devm_pm_opp_set_clkname(dev, "core");
+ if (ret)
+ return ret;
+
+ ret = devm_pm_opp_set_regulators(dev, regulator_names);
if (ret) {
/* Continue if the optional regulator is missing */
if (ret != -ENODEV)
--
2.17.1

View File

@ -0,0 +1,197 @@
From 95ad58d671ddc3b20f6de9a90659a12bfed01548 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 14 Jan 2023 12:25:33 +0000
Subject: [PATCH 12/92] REVERT: mmc: meson-gx: add SDIO interrupt support
This reverts commit 066ecde6d826b443f492570e080cba3f2212280d.
See https://lore.kernel.org/linux-amlogic/52861a84-0fe2-37f0-d66a-145f2ebe1d79@gmail.com/T/#m9c6a0aa6b221bcbf51457e612456c6fff5eeacfa
---
drivers/mmc/host/meson-gx-mmc.c | 70 +++++----------------------------
1 file changed, 10 insertions(+), 60 deletions(-)
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index 6e5ea0213b47..a8258ea5364c 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -41,17 +41,14 @@
#define CLK_V2_TX_DELAY_MASK GENMASK(19, 16)
#define CLK_V2_RX_DELAY_MASK GENMASK(23, 20)
#define CLK_V2_ALWAYS_ON BIT(24)
-#define CLK_V2_IRQ_SDIO_SLEEP BIT(25)
#define CLK_V3_TX_DELAY_MASK GENMASK(21, 16)
#define CLK_V3_RX_DELAY_MASK GENMASK(27, 22)
#define CLK_V3_ALWAYS_ON BIT(28)
-#define CLK_V3_IRQ_SDIO_SLEEP BIT(29)
#define CLK_TX_DELAY_MASK(h) (h->data->tx_delay_mask)
#define CLK_RX_DELAY_MASK(h) (h->data->rx_delay_mask)
#define CLK_ALWAYS_ON(h) (h->data->always_on)
-#define CLK_IRQ_SDIO_SLEEP(h) (h->data->irq_sdio_sleep)
#define SD_EMMC_DELAY 0x4
#define SD_EMMC_ADJUST 0x8
@@ -138,7 +135,6 @@ struct meson_mmc_data {
unsigned int rx_delay_mask;
unsigned int always_on;
unsigned int adjust;
- unsigned int irq_sdio_sleep;
};
struct sd_emmc_desc {
@@ -178,7 +174,6 @@ struct meson_host {
bool vqmmc_enabled;
bool needs_pre_post_req;
- spinlock_t lock;
};
#define CMD_CFG_LENGTH_MASK GENMASK(8, 0)
@@ -435,7 +430,6 @@ static int meson_mmc_clk_init(struct meson_host *host)
clk_reg |= FIELD_PREP(CLK_CORE_PHASE_MASK, CLK_PHASE_180);
clk_reg |= FIELD_PREP(CLK_TX_PHASE_MASK, CLK_PHASE_0);
clk_reg |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0);
- clk_reg |= CLK_IRQ_SDIO_SLEEP(host);
writel(clk_reg, host->regs + SD_EMMC_CLOCK);
/* get the mux parents */
@@ -934,54 +928,32 @@ static void meson_mmc_read_resp(struct mmc_host *mmc, struct mmc_command *cmd)
}
}
-static void __meson_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
-{
- struct meson_host *host = mmc_priv(mmc);
- u32 reg_irqen = IRQ_EN_MASK;
-
- if (enable)
- reg_irqen |= IRQ_SDIO;
- writel(reg_irqen, host->regs + SD_EMMC_IRQ_EN);
-}
-
static irqreturn_t meson_mmc_irq(int irq, void *dev_id)
{
struct meson_host *host = dev_id;
struct mmc_command *cmd;
+ struct mmc_data *data;
u32 status, raw_status;
irqreturn_t ret = IRQ_NONE;
raw_status = readl(host->regs + SD_EMMC_STATUS);
- status = raw_status & (IRQ_EN_MASK | IRQ_SDIO);
+ status = raw_status & IRQ_EN_MASK;
if (!status) {
dev_dbg(host->dev,
"Unexpected IRQ! irq_en 0x%08lx - status 0x%08x\n",
- IRQ_EN_MASK | IRQ_SDIO, raw_status);
+ IRQ_EN_MASK, raw_status);
return IRQ_NONE;
}
- if (WARN_ON(!host))
+ if (WARN_ON(!host) || WARN_ON(!host->cmd))
return IRQ_NONE;
/* ack all raised interrupts */
writel(status, host->regs + SD_EMMC_STATUS);
cmd = host->cmd;
-
- if (status & IRQ_SDIO) {
- spin_lock(&host->lock);
- __meson_mmc_enable_sdio_irq(host->mmc, 0);
- sdio_signal_irq(host->mmc);
- spin_unlock(&host->lock);
- status &= ~IRQ_SDIO;
- if (!status)
- return IRQ_HANDLED;
- }
-
- if (WARN_ON(!cmd))
- return IRQ_NONE;
-
+ data = cmd->data;
cmd->error = 0;
if (status & IRQ_CRC_ERR) {
dev_dbg(host->dev, "CRC Error - status 0x%08x\n", status);
@@ -999,9 +971,12 @@ static irqreturn_t meson_mmc_irq(int irq, void *dev_id)
meson_mmc_read_resp(host->mmc, cmd);
- if (status & (IRQ_END_OF_CHAIN | IRQ_RESP_STATUS)) {
- struct mmc_data *data = cmd->data;
+ if (status & IRQ_SDIO) {
+ dev_dbg(host->dev, "IRQ: SDIO TODO.\n");
+ ret = IRQ_HANDLED;
+ }
+ if (status & (IRQ_END_OF_CHAIN | IRQ_RESP_STATUS)) {
if (data && !cmd->error)
data->bytes_xfered = data->blksz * data->blocks;
if (meson_mmc_bounce_buf_read(data) ||
@@ -1144,21 +1119,6 @@ static int meson_mmc_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios)
return -EINVAL;
}
-static void meson_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
-{
- struct meson_host *host = mmc_priv(mmc);
- unsigned long flags;
-
- spin_lock_irqsave(&host->lock, flags);
- __meson_mmc_enable_sdio_irq(mmc, enable);
- spin_unlock_irqrestore(&host->lock, flags);
-}
-
-static void meson_mmc_ack_sdio_irq(struct mmc_host *mmc)
-{
- meson_mmc_enable_sdio_irq(mmc, 1);
-}
-
static const struct mmc_host_ops meson_mmc_ops = {
.request = meson_mmc_request,
.set_ios = meson_mmc_set_ios,
@@ -1168,8 +1128,6 @@ static const struct mmc_host_ops meson_mmc_ops = {
.execute_tuning = meson_mmc_resampling_tuning,
.card_busy = meson_mmc_card_busy,
.start_signal_voltage_switch = meson_mmc_voltage_switch,
- .enable_sdio_irq = meson_mmc_enable_sdio_irq,
- .ack_sdio_irq = meson_mmc_ack_sdio_irq,
};
static int meson_mmc_probe(struct platform_device *pdev)
@@ -1275,13 +1233,7 @@ static int meson_mmc_probe(struct platform_device *pdev)
if (ret)
goto err_init_clk;
- spin_lock_init(&host->lock);
-
mmc->caps |= MMC_CAP_CMD23;
-
- if (mmc->caps & MMC_CAP_SDIO_IRQ)
- mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
-
if (host->dram_access_quirk) {
/* Limit segments to 1 due to low available sram memory */
mmc->max_segs = 1;
@@ -1374,7 +1326,6 @@ static const struct meson_mmc_data meson_gx_data = {
.rx_delay_mask = CLK_V2_RX_DELAY_MASK,
.always_on = CLK_V2_ALWAYS_ON,
.adjust = SD_EMMC_ADJUST,
- .irq_sdio_sleep = CLK_V2_IRQ_SDIO_SLEEP,
};
static const struct meson_mmc_data meson_axg_data = {
@@ -1382,7 +1333,6 @@ static const struct meson_mmc_data meson_axg_data = {
.rx_delay_mask = CLK_V3_RX_DELAY_MASK,
.always_on = CLK_V3_ALWAYS_ON,
.adjust = SD_EMMC_V3_ADJUST,
- .irq_sdio_sleep = CLK_V3_IRQ_SDIO_SLEEP,
};
static const struct of_device_id meson_mmc_of_match[] = {
--
2.34.1

View File

@ -1,30 +0,0 @@
From f159c2cb2327d34823fb0731da4f3e7438fad3a9 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 09:58:31 +0000
Subject: [PATCH 13/73] FROMGIT(6.1): dt-bindings: arm: amlogic: add Beelink
GT1 Ultimate binding
Add the board binding for the Shenzen AZW (Beelink) GT1 Ultimate
Android Set-Top Box device.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 61a6cabb375b..3217c069673e 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -120,6 +120,7 @@ properties:
- enum:
- amlogic,q200
- amlogic,q201
+ - azw,gt1-ultimate
- khadas,vim2
- kingnovel,r-box-pro
- libretech,aml-s912-pc
--
2.17.1

View File

@ -1,7 +1,7 @@
From f1ff5687260210679d811005e7f3fb0ff48a51cc Mon Sep 17 00:00:00 2001
From 9faf586f51d20766a18a6b17bd0ce263c2880ed2 Mon Sep 17 00:00:00 2001
From: David Heidelberg <david@ixit.cz>
Date: Sat, 27 Nov 2021 07:23:35 +0000
Subject: [PATCH 15/73] FROMLIST(v2): arm64: dts: meson: make dts use gpio-fan
Subject: [PATCH 13/92] FROMLIST(v2): arm64: dts: meson: make dts use gpio-fan
matrix instead of array
No functional changes.
@ -19,7 +19,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/
index 6d396c1be3d6..9b0c7e9d0620 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -54,10 +54,11 @@
@@ -54,10 +54,11 @@ gpio_fan: gpio-fan {
gpios = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH
&gpio GPIODV_15 GPIO_ACTIVE_HIGH>;
/* Dummy RPM values since fan is optional */
@ -36,5 +36,5 @@ index 6d396c1be3d6..9b0c7e9d0620 100644
};
--
2.17.1
2.34.1

View File

@ -1,141 +0,0 @@
From 11d8541da45ed52bd6363b8be424289149cb7b7a Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 09:58:31 +0000
Subject: [PATCH 14/73] FROMGIT(6.1): arm64: dts: meson: add support for
Beelink GT1-Ultimate
The Beelink GT1-Ultimate is based on the Amlogic S912 (Q200)
reference design with the following specifications:
- 3GB DDR3 RAM
- 32GB eMMC
- HDMI 2.1 video
- S/PDIF optical output
- 10/100/1000 Ethernet
- AP6356S Wireless (802.11 a/b/g/n, BT 4.2)
- 3x USB 2.0 ports
- IR receiver (internal)
- 1x micro SD card slot
- 1x Power LED (white)
- 1x Reset button (internal)
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
---
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../dts/amlogic/meson-gxm-gt1-ultimate.dts | 91 +++++++++++++++++++
2 files changed, 92 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-gt1-ultimate.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 8773211df50e..641399fcbdd9 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-gt1-ultimate.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-minix-neo-u9h.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-gt1-ultimate.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-gt1-ultimate.dts
new file mode 100644
index 000000000000..2c267884cc16
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-gt1-ultimate.dts
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) Christian Hewitt <christianshewitt@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "meson-gxm.dtsi"
+#include "meson-gx-p23x-q20x.dtsi"
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "azw,gt1-ultimate", "amlogic,s912", "amlogic,meson-gxm";
+ model = "Beelink GT1 Ultimate";
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-white {
+ color = <LED_COLOR_ID_WHITE>;
+ function = LED_FUNCTION_POWER;
+ gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ panic-indicator;
+ };
+ };
+
+ adc-keys {
+ compatible = "adc-keys";
+ io-channels = <&saradc 0>;
+ io-channel-names = "buttons";
+ keyup-threshold-microvolt = <1710000>;
+
+ button-function {
+ label = "update";
+ linux,code = <KEY_VENDOR>;
+ press-threshold-microvolt = <10000>;
+ };
+ };
+};
+
+&ethmac {
+ pinctrl-0 = <&eth_pins>;
+ pinctrl-names = "default";
+ phy-handle = <&external_phy>;
+ amlogic,tx-delay-ns = <2>;
+ phy-mode = "rgmii";
+};
+
+&external_mdio {
+ external_phy: ethernet-phy@0 {
+ /* Realtek RTL8211F (0x001cc916) */
+ reg = <0>;
+ max-speed = <1000>;
+
+ reset-assert-us = <10000>;
+ reset-deassert-us = <80000>;
+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
+
+ interrupt-parent = <&gpio_intc>;
+ /* MAC_INTR on GPIOZ_15 */
+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
+ };
+};
+
+&ir {
+ linux,rc-map-name = "rc-beelink-gs1";
+};
+
+&sd_emmc_a {
+ brcmf: wifi@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ };
+};
+
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
+ max-speed = <2000000>;
+ clocks = <&wifi32k>;
+ clock-names = "lpo";
+ };
+};
--
2.17.1

View File

@ -1,7 +1,7 @@
From fe266042ccee82d0997fdc437572de68ff9a1a76 Mon Sep 17 00:00:00 2001
From f19c935ec550a795e05b2357b00edfef0bdfa398 Mon Sep 17 00:00:00 2001
From: Sergey Shtylyov <s.shtylyov@omp.ru>
Date: Fri, 24 Dec 2021 06:09:57 +0000
Subject: [PATCH 16/73] FROMLIST(v1): mmc: meson-gx: fix deferred probing
Subject: [PATCH 14/92] FROMLIST(v1): mmc: meson-gx: fix deferred probing
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -EINVAL, so if it returns -EPROBE_DEFER, the driver will fail the probe
@ -17,10 +17,10 @@ Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index fc462995cf94..a2aacbffc3bf 100644
index a8258ea5364c..2454d92c4391 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1185,8 +1185,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
@@ -1183,8 +1183,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
}
host->irq = platform_get_irq(pdev, 0);
@ -32,5 +32,5 @@ index fc462995cf94..a2aacbffc3bf 100644
}
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From d04e53e0b5cc15aeee4cd078706226ea80d47dee Mon Sep 17 00:00:00 2001
From f135d58914b0d5c93af9f93f9a9908a08fd87531 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Sun, 20 Feb 2022 08:23:12 +0000
Subject: [PATCH 17/73] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan
Subject: [PATCH 15/92] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan
Micro Electronics
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -17,10 +17,10 @@ Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 2f0151e9f6be..7163901e5976 100644
index 6e323a380294..9570cc9e0e06 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1291,6 +1291,8 @@ patternProperties:
@@ -1303,6 +1303,8 @@ patternProperties:
description: Texas Instruments
"^tianma,.*":
description: Tianma Micro-electronics Co., Ltd.
@ -30,5 +30,5 @@ index 2f0151e9f6be..7163901e5976 100644
description: Trusted Logic Mobility
"^tmt,.*":
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 1bc9224b52be0df338c4e63e122460df0f651d96 Mon Sep 17 00:00:00 2001
From a2b6a10d9cedb6db79a6a5b3efc0f14fd2ac9387 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 20 Feb 2022 08:24:47 +0000
Subject: [PATCH 18/73] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro
Subject: [PATCH 16/92] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro
Electronics TM1628
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -110,5 +110,5 @@ index 000000000000..d9cbbc950aab
+ };
+...
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 12d50549e630b703799379595f49c363ac6b8308 Mon Sep 17 00:00:00 2001
From d6dadd1402bc7e9a112ac7f6e2776083d9d26fe0 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 20 Feb 2022 08:26:27 +0000
Subject: [PATCH 19/73] FROMLIST(v5): docs: ABI: document tm1628 attribute
Subject: [PATCH 17/92] FROMLIST(v5): docs: ABI: document tm1628 attribute
display-text
Document the attribute for reading / writing the text to be displayed on
@ -27,5 +27,5 @@ index 000000000000..382757e721af
+ Any printable character is allowed as input, but some
+ can not be displayed in a readable way with 7 segments.
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 90b0ef46ad6cc8ea91a75d59561f2ce837319c83 Mon Sep 17 00:00:00 2001
From 7d01e16ca5d7a49b5030fb2c30c0dab7f311eb95 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:51:20 +0000
Subject: [PATCH 20/73] FROMLIST(v5): auxdisplay: add support for Titanmec
Subject: [PATCH 18/92] FROMLIST(v5): auxdisplay: add support for Titanmec
TM1628 7 segment display controller
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -457,5 +457,5 @@ index 000000000000..4d99a7aa077b
+MODULE_AUTHOR("Heiner Kallweit <hkallweit1@gmail.com>");
+MODULE_LICENSE("GPL");
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 42aab91da4a46c2be7e2f0f8ef578621bccc0665 Mon Sep 17 00:00:00 2001
From 4c521341fbecf30baa20f2da32ada53aede0ed1e Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:52:34 +0000
Subject: [PATCH 21/73] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add
Subject: [PATCH 19/92] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add
support for the 7 segment display
This patch adds support for the 7 segment display of the device.
@ -23,7 +23,7 @@ index 6705c2082a78..ae0d8d7b1e19 100644
/ {
compatible = "oranth,tx3-mini", "amlogic,s905w", "amlogic,meson-gxl";
@@ -19,6 +20,64 @@
@@ -19,6 +20,64 @@ memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>; /* 1 GiB or 2 GiB */
};
@ -89,5 +89,5 @@ index 6705c2082a78..ae0d8d7b1e19 100644
&ir {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b302175edf75e8729fe5a5b6dae4bed90525ab8d Mon Sep 17 00:00:00 2001
From 0548abd0394d2185344898ac10bd8e43fc8a6a3a Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:53:32 +0000
Subject: [PATCH 22/73] FROMLIST(v5): MAINTAINERS: Add entry for tm1628
Subject: [PATCH 20/92] FROMLIST(v5): MAINTAINERS: Add entry for tm1628
auxdisplay driver
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
@ -10,10 +10,10 @@ Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 72b9654f764c..8889d9dbd71a 100644
index 886d3f69ee64..c81d579853a6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20481,6 +20481,13 @@ W: http://sourceforge.net/projects/tlan/
@@ -20726,6 +20726,13 @@ W: http://sourceforge.net/projects/tlan/
F: Documentation/networking/device_drivers/ethernet/ti/tlan.rst
F: drivers/net/ethernet/ti/tlan.*
@ -28,5 +28,5 @@ index 72b9654f764c..8889d9dbd71a 100644
M: Mauro Carvalho Chehab <mchehab@kernel.org>
L: linux-media@vger.kernel.org
--
2.17.1
2.34.1

View File

@ -0,0 +1,35 @@
From ceb50e98435f388832372b434660eec802e20b0f Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Wed, 30 Nov 2022 12:03:14 +0000
Subject: [PATCH 21/92] FROMLIST(v6): dt-bindings: reset: meson-g12a: Add
missing NNA reset
Doesn't appear in the TRM I have, but it is used by the downstream
galcore driver.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
include/dt-bindings/reset/amlogic,meson-g12a-reset.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/dt-bindings/reset/amlogic,meson-g12a-reset.h b/include/dt-bindings/reset/amlogic,meson-g12a-reset.h
index 6d487c5eba2c..45f6b8a951d0 100644
--- a/include/dt-bindings/reset/amlogic,meson-g12a-reset.h
+++ b/include/dt-bindings/reset/amlogic,meson-g12a-reset.h
@@ -69,7 +69,9 @@
#define RESET_PARSER_FETCH 72
#define RESET_CTL 73
#define RESET_PARSER_TOP 74
-/* 75-77 */
+/* 75 */
+#define RESET_NNA 76
+/* 77 */
#define RESET_DVALIN 78
#define RESET_HDMITX 79
/* 80-95 */
--
2.34.1

View File

@ -0,0 +1,29 @@
From 5f95a5931e6459199c4524f477d76875b6191619 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Wed, 30 Nov 2022 12:04:02 +0000
Subject: [PATCH 22/92] FROMLIST(v6): dt-bindings: power: Add G12A NNA power
domain
Add define for the NNA power domain for the NPU in the G12A.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
include/dt-bindings/power/meson-g12a-power.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/dt-bindings/power/meson-g12a-power.h b/include/dt-bindings/power/meson-g12a-power.h
index bb5e67a842de..93b03bdd60b7 100644
--- a/include/dt-bindings/power/meson-g12a-power.h
+++ b/include/dt-bindings/power/meson-g12a-power.h
@@ -9,5 +9,6 @@
#define PWRC_G12A_VPU_ID 0
#define PWRC_G12A_ETH_ID 1
+#define PWRC_G12A_NNA_ID 2
#endif
--
2.34.1

View File

@ -1,49 +0,0 @@
From 0ae242ebcee68a9b02f466b00ff46944390d80cd Mon Sep 17 00:00:00 2001
From: Guillaume BRUN <the.cheaterman@gmail.com>
Date: Thu, 13 Oct 2022 13:21:53 +0000
Subject: [PATCH 23/73] FROMLIST(v1): drm: bridge: dw_hdmi: fix preference of
RGB modes over YUV420
Cheap monitors sometimes advertise YUV modes they don't really have
(HDMI specification mandates YUV support so even monitors without actual
support will often wrongfully advertise it) which results in YUV matches
and user forum complaints of a red tint to light colour display areas in
common desktop environments.
Moving the default RGB fall-back before YUV selection results in RGB
mode matching in most cases, reducing complaints.
Fixes: 6c3c719936da ("drm/bridge: synopsys: dw-hdmi: add bus format negociation")
Signed-off-by: Guillaume BRUN <the.cheaterman@gmail.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 40d8ca37f5bc..aa51c61a78c7 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2720,6 +2720,9 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
* if supported. In any case the default RGB888 format is added
*/
+ /* Default 8bit RGB fallback */
+ output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24;
+
if (max_bpc >= 16 && info->bpc == 16) {
if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
output_fmts[i++] = MEDIA_BUS_FMT_YUV16_1X48;
@@ -2753,9 +2756,6 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
- /* Default 8bit RGB fallback */
- output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24;
-
*num_output_fmts = i;
return output_fmts;
--
2.17.1

View File

@ -0,0 +1,67 @@
From bc98444729a3facb4c950f0eb14a5994fd1e73bf Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Wed, 30 Nov 2022 12:04:51 +0000
Subject: [PATCH 23/92] FROMLIST(v6): soc: amlogic: meson-pwrc: Add NNA power
domain for A311D
Based on power initialization sequence in downstream driver.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/soc/amlogic/meson-ee-pwrc.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/soc/amlogic/meson-ee-pwrc.c b/drivers/soc/amlogic/meson-ee-pwrc.c
index dd5f2a13ceb5..dfbf0b1c7d29 100644
--- a/drivers/soc/amlogic/meson-ee-pwrc.c
+++ b/drivers/soc/amlogic/meson-ee-pwrc.c
@@ -46,6 +46,9 @@
#define HHI_NANOQ_MEM_PD_REG1 (0x47 << 2)
#define HHI_VPU_MEM_PD_REG2 (0x4d << 2)
+#define G12A_HHI_NANOQ_MEM_PD_REG0 (0x43 << 2)
+#define G12A_HHI_NANOQ_MEM_PD_REG1 (0x44 << 2)
+
struct meson_ee_pwrc;
struct meson_ee_pwrc_domain;
@@ -106,6 +109,13 @@ static struct meson_ee_pwrc_top_domain sm1_pwrc_usb = SM1_EE_PD(17);
static struct meson_ee_pwrc_top_domain sm1_pwrc_pci = SM1_EE_PD(18);
static struct meson_ee_pwrc_top_domain sm1_pwrc_ge2d = SM1_EE_PD(19);
+static struct meson_ee_pwrc_top_domain g12a_pwrc_nna = { \
+ .sleep_reg = GX_AO_RTI_GEN_PWR_SLEEP0, \
+ .sleep_mask = BIT(16) | BIT(17), \
+ .iso_reg = GX_AO_RTI_GEN_PWR_ISO0, \
+ .iso_mask = BIT(16) | BIT(17), \
+ };
+
/* Memory PD Domains */
#define VPU_MEMPD(__reg) \
@@ -217,6 +227,11 @@ static struct meson_ee_pwrc_mem_domain sm1_pwrc_mem_audio[] = {
{ HHI_AUDIO_MEM_PD_REG0, GENMASK(27, 26) },
};
+static struct meson_ee_pwrc_mem_domain g12a_pwrc_mem_nna[] = {
+ { G12A_HHI_NANOQ_MEM_PD_REG0, GENMASK(31, 0) },
+ { G12A_HHI_NANOQ_MEM_PD_REG1, GENMASK(23, 0) },
+};
+
#define VPU_PD(__name, __top_pd, __mem, __is_pwr_off, __resets, __clks) \
{ \
.name = __name, \
@@ -253,6 +268,8 @@ static struct meson_ee_pwrc_domain_desc g12a_pwrc_domains[] = {
[PWRC_G12A_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, g12a_pwrc_mem_vpu,
pwrc_ee_is_powered_off, 11, 2),
[PWRC_G12A_ETH_ID] = MEM_PD("ETH", meson_pwrc_mem_eth),
+ [PWRC_G12A_NNA_ID] = TOP_PD("NNA", &g12a_pwrc_nna, g12a_pwrc_mem_nna,
+ pwrc_ee_is_powered_off),
};
static struct meson_ee_pwrc_domain_desc gxbb_pwrc_domains[] = {
--
2.34.1

View File

@ -0,0 +1,62 @@
From 4c9cf2ba95cf5dde129212e0a4f7228cda5db8ec Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Wed, 30 Nov 2022 12:05:46 +0000
Subject: [PATCH 24/92] FROMLIST(v6): arm64: dts: Add DT node for the
VIPNano-QI on the A311D
This "NPU" is very similar to the Vivante GPUs and Etnaviv works well
with it with just a few small changes.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
---
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 12 ++++++++++++
.../dts/amlogic/meson-g12b-a311d-khadas-vim3.dts | 4 ++++
2 files changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 2c56b216d6f9..ac5280df143e 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -11,6 +11,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/power/meson-g12a-power.h>
/ {
interrupt-parent = <&gic>;
@@ -2484,4 +2485,15 @@ xtal: xtal-clk {
#clock-cells = <0>;
};
+ npu: npu@ff100000 {
+ status = "disabled";
+ compatible = "vivante,gc";
+ reg = <0x0 0xff100000 0x0 0x20000>;
+ interrupts = <0 147 4>;
+ clocks = <&clkc CLKID_NNA_CORE_CLK>,
+ <&clkc CLKID_NNA_AXI_CLK>;
+ clock-names = "core", "bus";
+ resets = <&reset RESET_NNA>;
+ power-domains = <&pwrc PWRC_G12A_NNA_ID>;
+ };
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts
index 124a80901084..73f3d87dcefd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts
@@ -15,6 +15,10 @@ / {
compatible = "khadas,vim3", "amlogic,a311d", "amlogic,g12b";
};
+&npu {
+ status = "okay";
+};
+
/*
* The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential
* lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between
--
2.34.1

View File

@ -0,0 +1,68 @@
From d10e70fc05550e96af4a5778266d9b03ec3a78a2 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Sat, 3 Dec 2022 06:01:47 +0000
Subject: [PATCH 25/92] FROMLIST(v6): drm/etnaviv: Add nn_core_count to chip
feature struct
We will use these for differentiating between GPUs and NPUs, as the
downstream driver does.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 3 +++
drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
index 85eddd492774..c8f3ad2031ce 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
@@ -50,6 +50,9 @@ struct etnaviv_chip_identity {
/* Number of shader cores. */
u32 shader_core_count;
+ /* Number of Neural Network cores. */
+ u32 nn_core_count;
+
/* Size of the vertex cache. */
u32 vertex_cache_size;
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
index f2fc645c7956..44df273a5aae 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
@@ -16,6 +16,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.register_max = 64,
.thread_count = 128,
.shader_core_count = 1,
+ .nn_core_count = 0,
.vertex_cache_size = 8,
.vertex_output_buffer_size = 1024,
.pixel_pipes = 1,
@@ -47,6 +48,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.register_max = 64,
.thread_count = 512,
.shader_core_count = 2,
+ .nn_core_count = 0,
.vertex_cache_size = 16,
.vertex_output_buffer_size = 1024,
.pixel_pipes = 1,
@@ -78,6 +80,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.register_max = 64,
.thread_count = 512,
.shader_core_count = 2,
+ .nn_core_count = 0,
.vertex_cache_size = 16,
.vertex_output_buffer_size = 1024,
.pixel_pipes = 1,
@@ -109,6 +112,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.register_max = 64,
.thread_count = 1024,
.shader_core_count = 4,
+ .nn_core_count = 0,
.vertex_cache_size = 16,
.vertex_output_buffer_size = 1024,
.pixel_pipes = 2,
--
2.34.1

View File

@ -1,59 +0,0 @@
From 9d475abbf29793acc2c085e862ee8abb60c88961 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 14 Jan 2021 17:43:02 +0100
Subject: [PATCH 25/73] WIP: mmc: meson-gx-mmc: set core clock phase to 270
degrees for AXG compatible controllers
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
drivers/mmc/host/meson-gx-mmc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index a2aacbffc3bf..c16ac828b6f9 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -38,6 +38,7 @@
#define CLK_RX_PHASE_MASK GENMASK(13, 12)
#define CLK_PHASE_0 0
#define CLK_PHASE_180 2
+#define CLK_PHASE_270 3
#define CLK_V2_TX_DELAY_MASK GENMASK(19, 16)
#define CLK_V2_RX_DELAY_MASK GENMASK(23, 20)
#define CLK_V2_ALWAYS_ON BIT(24)
@@ -136,6 +137,7 @@ struct meson_mmc_data {
unsigned int rx_delay_mask;
unsigned int always_on;
unsigned int adjust;
+ unsigned int clk_core_phase;
};
struct sd_emmc_desc {
@@ -428,7 +430,7 @@ static int meson_mmc_clk_init(struct meson_host *host)
/* init SD_EMMC_CLOCK to sane defaults w/min clock rate */
clk_reg = CLK_ALWAYS_ON(host);
clk_reg |= CLK_DIV_MASK;
- clk_reg |= FIELD_PREP(CLK_CORE_PHASE_MASK, CLK_PHASE_180);
+ clk_reg |= FIELD_PREP(CLK_CORE_PHASE_MASK, host->data->clk_core_phase);
clk_reg |= FIELD_PREP(CLK_TX_PHASE_MASK, CLK_PHASE_0);
clk_reg |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0);
writel(clk_reg, host->regs + SD_EMMC_CLOCK);
@@ -1328,6 +1330,7 @@ static const struct meson_mmc_data meson_gx_data = {
.rx_delay_mask = CLK_V2_RX_DELAY_MASK,
.always_on = CLK_V2_ALWAYS_ON,
.adjust = SD_EMMC_ADJUST,
+ .clk_core_phase = CLK_PHASE_180,
};
static const struct meson_mmc_data meson_axg_data = {
@@ -1335,6 +1338,7 @@ static const struct meson_mmc_data meson_axg_data = {
.rx_delay_mask = CLK_V3_RX_DELAY_MASK,
.always_on = CLK_V3_ALWAYS_ON,
.adjust = SD_EMMC_V3_ADJUST,
+ .clk_core_phase = CLK_PHASE_270,
};
static const struct of_device_id meson_mmc_of_match[] = {
--
2.17.1

View File

@ -0,0 +1,31 @@
From c39b01d9b9a85ca8ec4d4b91ec2cf50b80936027 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Sat, 3 Dec 2022 06:02:31 +0000
Subject: [PATCH 26/92] FROMLIST(v6): drm/etnaviv: Warn when probing on NPUs
Userspace is still not making full use of the hardware, so we don't know
yet if changes to the UAPI won't be needed. Warn about it.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index f667e7906d1f..2fb70c73cf71 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -772,6 +772,10 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
goto fail;
}
+ if (gpu->identity.nn_core_count > 0)
+ dev_warn(gpu->dev, "etnaviv has been instantiated on a NPU, "
+ "for which the UAPI is still experimental\n");
+
/* Exclude VG cores with FE2.0 */
if (gpu->identity.features & chipFeatures_PIPE_VG &&
gpu->identity.features & chipFeatures_FE20) {
--
2.34.1

View File

@ -0,0 +1,63 @@
From 856f72c12e899110274043d1d1032987fb06ba5d Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Sat, 3 Dec 2022 06:03:16 +0000
Subject: [PATCH 27/92] FROMLIST(v6): drm/etnaviv: add HWDB entry for
VIPNano-QI.7120.0055
This is a compute-only module marketed towards AI and vision
acceleration. This particular version can be found on the Amlogic A311D
SoC.
The feature bits are taken from the Khadas downstream kernel driver
6.4.4.3.310723AAA.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 31 ++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
index 44df273a5aae..66b8ad6c7d26 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
@@ -134,6 +134,37 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.minor_features10 = 0x90044250,
.minor_features11 = 0x00000024,
},
+ {
+ .model = 0x8000,
+ .revision = 0x7120,
+ .product_id = 0x45080009,
+ .customer_id = 0x88,
+ .eco_id = 0,
+ .stream_count = 8,
+ .register_max = 64,
+ .thread_count = 256,
+ .shader_core_count = 1,
+ .vertex_cache_size = 16,
+ .vertex_output_buffer_size = 1024,
+ .pixel_pipes = 1,
+ .instruction_count = 512,
+ .num_constants = 320,
+ .buffer_size = 0,
+ .varyings_count = 16,
+ .features = 0xe0287cac,
+ .minor_features0 = 0xc1799eff,
+ .minor_features1 = 0xfefbfadb,
+ .minor_features2 = 0xeb9d6fbf,
+ .minor_features3 = 0xedfffced,
+ .minor_features4 = 0xd30dafc7,
+ .minor_features5 = 0x7b5ac333,
+ .minor_features6 = 0xfc8ee200,
+ .minor_features7 = 0x03fffa6f,
+ .minor_features8 = 0x00fe0ef0,
+ .minor_features9 = 0x0088003c,
+ .minor_features10 = 0x108048c0,
+ .minor_features11 = 0x00000010,
+ },
};
bool etnaviv_fill_identity_from_hwdb(struct etnaviv_gpu *gpu)
--
2.34.1

View File

@ -0,0 +1,62 @@
From 66cbc9c2806ca408c3795c70a252e9802c365538 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Sat, 3 Dec 2022 06:04:00 +0000
Subject: [PATCH 28/92] FROMLIST(v6): arm64: dts: Fix NPU power domain
references in Amlogic G12-based SoCs
The power sequence is different between SoCs in that family, so get the
right bits for each one.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 4 ++++
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 4 ++++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index ac5280df143e..6841e1909250 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -11,7 +11,6 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
#include <dt-bindings/thermal/thermal.h>
-#include <dt-bindings/power/meson-g12a-power.h>
/ {
interrupt-parent = <&gic>;
@@ -2494,6 +2493,5 @@ npu: npu@ff100000 {
<&clkc CLKID_NNA_AXI_CLK>;
clock-names = "core", "bus";
resets = <&reset RESET_NNA>;
- power-domains = <&pwrc PWRC_G12A_NNA_ID>;
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
index ee8fcae9f9f0..886380b5a96f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
@@ -139,3 +139,7 @@ map1 {
&mali {
dma-coherent;
};
+
+&npu {
+ power-domains = <&pwrc PWRC_G12A_NNA_ID>;
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
index 80737731af3f..318a16aa4433 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
@@ -543,3 +543,7 @@ &vpu {
&usb {
power-domains = <&pwrc PWRC_SM1_USB_ID>;
};
+
+&npu {
+ power-domains = <&pwrc PWRC_SM1_NNA_ID>;
+};
--
2.34.1

View File

@ -0,0 +1,65 @@
From e27dcbffd0a5e9fe9a0a5ce4b2f0351a24812ea5 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Mon, 26 Dec 2022 04:41:46 +0000
Subject: [PATCH 29/92] FROMLIST(v1): clk: meson: mpll: Switch from .round_rate
to .determine_rate
clk_ops.round_rate will be removed at some point. It's replacement is
.determine_rate. Switch clk-mpll over to use .determine_rate.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/clk/meson/clk-mpll.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/clk/meson/clk-mpll.c b/drivers/clk/meson/clk-mpll.c
index fc9df4860872..20255e129b37 100644
--- a/drivers/clk/meson/clk-mpll.c
+++ b/drivers/clk/meson/clk-mpll.c
@@ -87,16 +87,22 @@ static unsigned long mpll_recalc_rate(struct clk_hw *hw,
return rate < 0 ? 0 : rate;
}
-static long mpll_round_rate(struct clk_hw *hw,
- unsigned long rate,
- unsigned long *parent_rate)
+static int mpll_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
{
struct clk_regmap *clk = to_clk_regmap(hw);
struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk);
unsigned int sdm, n2;
+ long rate;
+
+ params_from_rate(req->rate, req->best_parent_rate, &sdm, &n2,
+ mpll->flags);
- params_from_rate(rate, *parent_rate, &sdm, &n2, mpll->flags);
- return rate_from_params(*parent_rate, sdm, n2);
+ rate = rate_from_params(req->best_parent_rate, sdm, n2);
+ if (rate < 0)
+ return rate;
+
+ req->rate = rate;
+ return 0;
}
static int mpll_set_rate(struct clk_hw *hw,
@@ -157,13 +163,13 @@ static int mpll_init(struct clk_hw *hw)
const struct clk_ops meson_clk_mpll_ro_ops = {
.recalc_rate = mpll_recalc_rate,
- .round_rate = mpll_round_rate,
+ .determine_rate = mpll_determine_rate,
};
EXPORT_SYMBOL_GPL(meson_clk_mpll_ro_ops);
const struct clk_ops meson_clk_mpll_ops = {
.recalc_rate = mpll_recalc_rate,
- .round_rate = mpll_round_rate,
+ .determine_rate = mpll_determine_rate,
.set_rate = mpll_set_rate,
.init = mpll_init,
};
--
2.34.1

View File

@ -0,0 +1,61 @@
From 618d9912efd9ad02acad0ba978ae52144c931af7 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Mon, 26 Dec 2022 04:42:41 +0000
Subject: [PATCH 30/92] FROMLIST(v1): clk: meson: dualdiv: switch from
.round_rate to .determine_rate
clk_ops.round_rate will be removed at some point. It's replacement is
.determine_rate. Switch clk-dualdiv over to use .determine_rate.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/clk/meson/clk-dualdiv.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/drivers/clk/meson/clk-dualdiv.c b/drivers/clk/meson/clk-dualdiv.c
index c5ca23a5e3e8..feae49a8f6dc 100644
--- a/drivers/clk/meson/clk-dualdiv.c
+++ b/drivers/clk/meson/clk-dualdiv.c
@@ -86,18 +86,23 @@ __dualdiv_get_setting(unsigned long rate, unsigned long parent_rate,
return (struct meson_clk_dualdiv_param *)&table[best_i];
}
-static long meson_clk_dualdiv_round_rate(struct clk_hw *hw, unsigned long rate,
- unsigned long *parent_rate)
+static int meson_clk_dualdiv_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
{
struct clk_regmap *clk = to_clk_regmap(hw);
struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk);
- const struct meson_clk_dualdiv_param *setting =
- __dualdiv_get_setting(rate, *parent_rate, dualdiv);
+ const struct meson_clk_dualdiv_param *setting;
- if (!setting)
- return meson_clk_dualdiv_recalc_rate(hw, *parent_rate);
+ setting = __dualdiv_get_setting(req->rate, req->best_parent_rate,
+ dualdiv);
+ if (setting)
+ req->rate = __dualdiv_param_to_rate(req->best_parent_rate,
+ setting);
+ else
+ req->rate = meson_clk_dualdiv_recalc_rate(hw,
+ req->best_parent_rate);
- return __dualdiv_param_to_rate(*parent_rate, setting);
+ return 0;
}
static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -122,7 +127,7 @@ static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate,
const struct clk_ops meson_clk_dualdiv_ops = {
.recalc_rate = meson_clk_dualdiv_recalc_rate,
- .round_rate = meson_clk_dualdiv_round_rate,
+ .determine_rate = meson_clk_dualdiv_determine_rate,
.set_rate = meson_clk_dualdiv_set_rate,
};
EXPORT_SYMBOL_GPL(meson_clk_dualdiv_ops);
--
2.34.1

View File

@ -0,0 +1,52 @@
From 5dfb053aef5c9f6d7a0ffd17004d9c7d18f6f9bb Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Mon, 26 Dec 2022 04:43:33 +0000
Subject: [PATCH 31/92] FROMLIST(v1): clk: meson: sclk-div: switch from
.round_rate to .determine_rate
clk_ops.round_rate will be removed at some point. It's replacement is
.determine_rate. Switch sclk-div over to use .determine_rate.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/clk/meson/sclk-div.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/clk/meson/sclk-div.c b/drivers/clk/meson/sclk-div.c
index 76d31c0a3342..d12c45c4c261 100644
--- a/drivers/clk/meson/sclk-div.c
+++ b/drivers/clk/meson/sclk-div.c
@@ -96,16 +96,17 @@ static int sclk_div_bestdiv(struct clk_hw *hw, unsigned long rate,
return bestdiv;
}
-static long sclk_div_round_rate(struct clk_hw *hw, unsigned long rate,
- unsigned long *prate)
+static int sclk_div_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
{
struct clk_regmap *clk = to_clk_regmap(hw);
struct meson_sclk_div_data *sclk = meson_sclk_div_data(clk);
int div;
- div = sclk_div_bestdiv(hw, rate, prate, sclk);
+ div = sclk_div_bestdiv(hw, req->rate, &req->best_parent_rate, sclk);
+ req->rate = DIV_ROUND_UP_ULL((u64)req->best_parent_rate, div);
- return DIV_ROUND_UP_ULL((u64)*prate, div);
+ return 0;
}
static void sclk_apply_ratio(struct clk_regmap *clk,
@@ -237,7 +238,7 @@ static int sclk_div_init(struct clk_hw *hw)
const struct clk_ops meson_sclk_div_ops = {
.recalc_rate = sclk_div_recalc_rate,
- .round_rate = sclk_div_round_rate,
+ .determine_rate = sclk_div_determine_rate,
.set_rate = sclk_div_set_rate,
.enable = sclk_div_enable,
.disable = sclk_div_disable,
--
2.34.1

View File

@ -0,0 +1,48 @@
From 0f23ef2ab5c65e129ba40ddd15d601e1f3c59776 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Mon, 26 Dec 2022 04:44:26 +0000
Subject: [PATCH 32/92] FROMLIST(v1): clk: meson: clk-cpu-dyndiv: switch from
.round_rate to .determine_rate
clk_ops.round_rate will be removed at some point. It's replacement is
.determine_rate. Switch clk-cpu-dyndiv over to use .determine_rate.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/clk/meson/clk-cpu-dyndiv.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/clk/meson/clk-cpu-dyndiv.c b/drivers/clk/meson/clk-cpu-dyndiv.c
index 36976927fe82..8778c149d26a 100644
--- a/drivers/clk/meson/clk-cpu-dyndiv.c
+++ b/drivers/clk/meson/clk-cpu-dyndiv.c
@@ -27,14 +27,13 @@ static unsigned long meson_clk_cpu_dyndiv_recalc_rate(struct clk_hw *hw,
NULL, 0, data->div.width);
}
-static long meson_clk_cpu_dyndiv_round_rate(struct clk_hw *hw,
- unsigned long rate,
- unsigned long *prate)
+static int meson_clk_cpu_dyndiv_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
{
struct clk_regmap *clk = to_clk_regmap(hw);
struct meson_clk_cpu_dyndiv_data *data = meson_clk_cpu_dyndiv_data(clk);
- return divider_round_rate(hw, rate, prate, NULL, data->div.width, 0);
+ return divider_determine_rate(hw, req, NULL, data->div.width, 0);
}
static int meson_clk_cpu_dyndiv_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -63,7 +62,7 @@ static int meson_clk_cpu_dyndiv_set_rate(struct clk_hw *hw, unsigned long rate,
const struct clk_ops meson_clk_cpu_dyndiv_ops = {
.recalc_rate = meson_clk_cpu_dyndiv_recalc_rate,
- .round_rate = meson_clk_cpu_dyndiv_round_rate,
+ .determine_rate = meson_clk_cpu_dyndiv_determine_rate,
.set_rate = meson_clk_cpu_dyndiv_set_rate,
};
EXPORT_SYMBOL_GPL(meson_clk_cpu_dyndiv_ops);
--
2.34.1

View File

@ -0,0 +1,38 @@
From d84e72164608f4cf0b022afd3435fa67a0e529c1 Mon Sep 17 00:00:00 2001
From: Pierre-Olivier Mercier <nemunaire@nemunai.re>
Date: Wed, 4 Jan 2023 15:19:06 +0000
Subject: [PATCH 33/92] FROMLIST(v1): Revert "arm64: dts: meson-sm1-odroid-hc4:
disable unused USB PHY0"
This reverts commit 703e84d6615a4a95fb504c8f2e4c9426b86f3930.
USB device enumeration was not working on Odroid HC4 as both USB2 PHYs
need to be enabled. This is inherited from the GLX USB design [0].
[0]: https://lore.kernel.org/all/20170814224542.18257-1-martin.blumenstingl@googlemail.com/T/
Link: https://lore.kernel.org/all/Y6okoXpwF%2FLZewhv@nemunai.re/
Signed-off-by: Pierre-Olivier Mercier <nemunaire@nemunai.re>
---
arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts
index e3486f60645a..a1f0c38ccadd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts
@@ -131,10 +131,6 @@ flash@0 {
};
&usb {
- phys = <&usb2_phy1>;
- phy-names = "usb2-phy1";
-};
-
-&usb2_phy0 {
- status = "disabled";
+ phys = <&usb2_phy0>, <&usb2_phy1>;
+ phy-names = "usb2-phy0", "usb2-phy1";
};
--
2.34.1

View File

@ -1,7 +1,7 @@
From 5c71bbe15728d90b905b1539a394a6c78aa3339f Mon Sep 17 00:00:00 2001
From 6c22741ba7990df5127aecf0cf7dc0603b90159b Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 23 Dec 2018 02:24:38 +0100
Subject: [PATCH 24/73] WIP: ASoC: hdmi-codec: reorder channel allocation list
Subject: [PATCH 34/92] WIP: ASoC: hdmi-codec: reorder channel allocation list
Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx().
@ -24,10 +24,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 77 insertions(+), 63 deletions(-)
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index aa2ca5078551..bed6dba14243 100644
index bbc33161bcca..7a5c26208149 100644
--- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c
@@ -188,84 +188,97 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = {
@@ -184,84 +184,97 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = {
/*
* hdmi_codec_channel_alloc: speaker configuration available for CEA
*
@ -187,7 +187,7 @@ index aa2ca5078551..bed6dba14243 100644
};
struct hdmi_codec_priv {
@@ -374,7 +387,8 @@ static int hdmi_codec_chmap_ctl_get(struct snd_kcontrol *kcontrol,
@@ -370,7 +383,8 @@ static int hdmi_codec_chmap_ctl_get(struct snd_kcontrol *kcontrol,
struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol);
struct hdmi_codec_priv *hcp = info->private_data;
@ -198,5 +198,5 @@ index aa2ca5078551..bed6dba14243 100644
for (i = 0; i < info->max_channels; i++) {
if (hcp->chmap_idx == HDMI_CODEC_CHMAP_IDX_UNKNOWN)
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From be4a8a8b236626776583abc7c0bc6a0cbe4ecf55 Mon Sep 17 00:00:00 2001
From e5a4a0047f094aea697fcb6133b1112830afb5ab Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 13 Jan 2022 03:50:01 +0000
Subject: [PATCH 26/73] WIP: arm64: dts: meson: add Broadcom WiFi to P212 dtsi
Subject: [PATCH 35/92] WIP: arm64: dts: meson: add Broadcom WiFi to P212 dtsi
The P212 has a combined WiFi/BT module. The BT side is already enabled
in the dtsi but the WiFi side is not. Let's enable the WiFi module.
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/
index 05cb2f5e5c36..7055057d7942 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -125,6 +125,11 @@
@@ -125,6 +125,11 @@ &sd_emmc_a {
vmmc-supply = <&vddao_3v3>;
vqmmc-supply = <&vddio_boot>;
@ -28,5 +28,5 @@ index 05cb2f5e5c36..7055057d7942 100644
/* SD card */
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From a4e6681cdab0a1e3518ee3401e2b7ffba0363b90 Mon Sep 17 00:00:00 2001
From cf4221c578efbc38145eb0b0ab494b5345738262 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 13 Jan 2022 03:56:12 +0000
Subject: [PATCH 27/73] WIP: arm64: dts: meson: move pwm_ef node in P212 dtsi
Subject: [PATCH 36/92] WIP: arm64: dts: meson: move pwm_ef node in P212 dtsi
Cosmetic-only change to alpha-sort the pwm_ef node.
@ -14,7 +14,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/
index 7055057d7942..a150cc0e18ff 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -97,6 +97,14 @@
@@ -97,6 +97,14 @@ &ir {
pinctrl-names = "default";
};
@ -29,7 +29,7 @@ index 7055057d7942..a150cc0e18ff 100644
&saradc {
status = "okay";
vref-supply = <&vddio_ao18>;
@@ -170,14 +178,6 @@
@@ -170,14 +178,6 @@ &sd_emmc_c {
vqmmc-supply = <&vddio_boot>;
};
@ -45,5 +45,5 @@ index 7055057d7942..a150cc0e18ff 100644
&uart_A {
status = "okay";
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 96b67dcbffe99d032c38bb393f8f3459b5df04cf Mon Sep 17 00:00:00 2001
From 3b9ee8fdaeec5b4c4cb6bc7c3f02a8831ee5439f Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 13 Jan 2022 03:58:58 +0000
Subject: [PATCH 28/73] WIP: arm64: dts: meson: remove WiFi/BT nodes from
Subject: [PATCH 37/92] WIP: arm64: dts: meson: remove WiFi/BT nodes from
Khadas VIM1
The Broadcom WiFi/BT SDIO nodes are now inherited from the P212 common dtsi
@ -16,7 +16,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/a
index 24af15e18026..5ed1e9313003 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -221,21 +221,6 @@
@@ -221,21 +221,6 @@ &pwm_ef {
&sd_emmc_a {
max-frequency = <100000000>;
@ -39,5 +39,5 @@ index 24af15e18026..5ed1e9313003 100644
/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 193209275b80d4510bd47a52c029084b2fedf542 Mon Sep 17 00:00:00 2001
From 83bcc4cb433a445d281844fc35eb09c5f7b34a62 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 18 Jan 2022 15:09:12 +0000
Subject: [PATCH 29/73] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to
Subject: [PATCH 38/92] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to
100MHz
Amlogic datasheets describe 50MHz max-frequency for SDIO on GXL/GXM but
@ -82,7 +82,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/bo
index dafc841f7c16..8d315508360d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -259,7 +259,7 @@
@@ -259,7 +259,7 @@ &sd_emmc_a {
bus-width = <4>;
cap-sd-highspeed;
@ -95,7 +95,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/
index a150cc0e18ff..b3d7b8613d6d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -121,7 +121,7 @@
@@ -121,7 +121,7 @@ &sd_emmc_a {
bus-width = <4>;
cap-sd-highspeed;
@ -105,5 +105,5 @@ index a150cc0e18ff..b3d7b8613d6d 100644
non-removable;
disable-wp;
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From e5a3f942e0191001771ecec4eeb0cfc6312727a1 Mon Sep 17 00:00:00 2001
From 1093ac36e96e54222564186a00bef5442e67c7b8 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 19 Jan 2022 06:45:06 +0000
Subject: [PATCH 30/73] WIP: arm64: dts: meson: add UHS SDIO capabilities to
Subject: [PATCH 39/92] WIP: arm64: dts: meson: add UHS SDIO capabilities to
p212/p23x/q20x
Add UHS capabilities to the SDIO node to enable 100MHz speeds.
@ -16,7 +16,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/bo
index 8d315508360d..b0d008fc5f7a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -259,6 +259,10 @@
@@ -259,6 +259,10 @@ &sd_emmc_a {
bus-width = <4>;
cap-sd-highspeed;
@ -31,7 +31,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/
index b3d7b8613d6d..6eec4e81592b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -121,6 +121,10 @@
@@ -121,6 +121,10 @@ &sd_emmc_a {
bus-width = <4>;
cap-sd-highspeed;
@ -43,5 +43,5 @@ index b3d7b8613d6d..6eec4e81592b 100644
non-removable;
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From f9949b67a813b574134869de01224f589e0af092 Mon Sep 17 00:00:00 2001
From 957338182bd6312a2644ba67d43a33fccedaf4a7 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 18 Jan 2022 15:18:32 +0000
Subject: [PATCH 31/73] WIP: arm64: dts: meson: remove SDIO node from Khadas
Subject: [PATCH 40/92] WIP: arm64: dts: meson: remove SDIO node from Khadas
VIM1
Now that SDIO 100MHz max-frequency is inherited from the p212 dtsi we
@ -16,7 +16,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/a
index 5ed1e9313003..fb0dd920882f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -219,10 +219,6 @@
@@ -219,10 +219,6 @@ &pwm_ef {
pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
};
@ -28,5 +28,5 @@ index 5ed1e9313003..fb0dd920882f 100644
&uart_AO {
status = "okay";
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 841690704fda49df673b17cd7847f8fc6d14026c Mon Sep 17 00:00:00 2001
From 8187f1b091c9b66ff30fa0d999b78e527a942ebc Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 13 Jan 2022 04:30:44 +0000
Subject: [PATCH 32/73] WIP: arm64: dts: meson: add audio playback to
Subject: [PATCH 41/92] WIP: arm64: dts: meson: add audio playback to
S905X-P212 dts
Add support for the HDMI and Analogue i2s audio outputs.
@ -35,7 +35,7 @@ index 2602940c2077..c2bc7cec476d 100644
cvbs-connector {
compatible = "composite-video-connector";
@@ -32,6 +40,68 @@
@@ -32,6 +40,68 @@ hdmi_connector_in: endpoint {
};
};
};
@ -105,5 +105,5 @@ index 2602940c2077..c2bc7cec476d 100644
&cec_AO {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b07432a29e196337c9e9506a0b1ece3a2c5d2944 Mon Sep 17 00:00:00 2001
From f4cef56cd5fd2b91cd38d6a8f56a2c16081d0f5f Mon Sep 17 00:00:00 2001
From: benjamin545 <benjamin545@gmail.com>
Date: Thu, 15 Jul 2021 14:32:33 -0400
Subject: [PATCH 33/73] WIP: drivers: meson: vdec: remove redundant if
Subject: [PATCH 42/92] WIP: drivers: meson: vdec: remove redundant if
statement
checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done
@ -25,5 +25,5 @@ index 86ccc8937afc..7b15fc54efe4 100644
if (esparser_vififo_get_free_space(sess) < payload_size ||
atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs)
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 44bcd5abdcc043dbabd7af356ab7b81972b806d3 Mon Sep 17 00:00:00 2001
From 7f52e06b00d93a73a5e2b7eb2fdab2c978b00cc6 Mon Sep 17 00:00:00 2001
From: benjamin545 <benjamin545@gmail.com>
Date: Thu, 15 Jul 2021 16:32:39 -0400
Subject: [PATCH 34/73] WIP: drivers: meson: vdec: improve mmu and fbc handling
Subject: [PATCH 43/92] WIP: drivers: meson: vdec: improve mmu and fbc handling
and add 10 bit handling
---
@ -582,5 +582,5 @@ index 4bf3e61d081b..1a711679d26a 100644
/**
* amvdec_abort() - Abort the current decoding session
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 9c91e0c4fb4deb050b4a8b4fc0b338c3145814b5 Mon Sep 17 00:00:00 2001
From 9324cfd9b3774304892f3635a58bba14b12ded95 Mon Sep 17 00:00:00 2001
From: benjamin545 <benjamin545@gmail.com>
Date: Thu, 15 Jul 2021 17:08:42 -0400
Subject: [PATCH 35/73] WIP: drivers: meson: vdec: add HEVC decode codec
Subject: [PATCH 44/92] WIP: drivers: meson: vdec: add HEVC decode codec
---
drivers/staging/media/meson/vdec/Makefile | 2 +-
@ -1605,5 +1605,5 @@ index 88c9d72e1c83..8592cb3aaea9 100644
.pixfmt = V4L2_PIX_FMT_H264,
.min_buffers = 2,
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 01c7b71f758342efe824f09988a122f1060e3834 Mon Sep 17 00:00:00 2001
From f5d5669ec148d7bb2459e50d2a988ae0e1fb03c2 Mon Sep 17 00:00:00 2001
From: benjamin545 <benjamin545@gmail.com>
Date: Mon, 2 Aug 2021 15:18:40 -0400
Subject: [PATCH 36/73] WIP: drivers: meson: vdec: add handling to HEVC decoder
Subject: [PATCH 45/92] WIP: drivers: meson: vdec: add handling to HEVC decoder
to show frames when ready
..rather than when no longer referenced
@ -153,5 +153,5 @@ index 3a6fd04a2d33..01218efde99b 100644
static void codec_hevc_resume(struct amvdec_session *sess)
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 514962e3e5743b5d0e1b9add082b27f1a17d535d Mon Sep 17 00:00:00 2001
From 15e99400c562118a9ac674700a9da43bf57fae6d Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 21 Nov 2021 19:12:07 +0000
Subject: [PATCH 37/73] WIP: drivers: meson: vdec: add HEVC support to GXBB
Subject: [PATCH 46/92] WIP: drivers: meson: vdec: add HEVC support to GXBB
It's not clear whether the GXL firmware is the same one used with GXBB
but let's try it and see!
@ -35,5 +35,5 @@ index 8592cb3aaea9..810039a02b44 100644
.min_buffers = 2,
.max_buffers = 24,
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 8d43f5852bdc1a6925e45c57de499ad61547cde1 Mon Sep 17 00:00:00 2001
From 64002523532d6e5746c147fa3e7e7fc0c3c4222c Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Mon, 22 Nov 2021 09:15:21 +0000
Subject: [PATCH 38/73] WIP: drivers: meson: vdec: check if parser has really
Subject: [PATCH 47/92] WIP: drivers: meson: vdec: check if parser has really
parser before marking input buffer as error
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
@ -47,5 +47,5 @@ index df5956c6141d..06f627b141fb 100644
atomic_inc(&sess->esparser_queued_bufs);
--
2.17.1
2.34.1

View File

@ -0,0 +1,168 @@
From 0990c81824f144c0182c2f9496b6871900660289 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 5 Jan 2023 15:16:46 +0000
Subject: [PATCH 48/92] WIP: drivers: meson: vdec: disable MPEG1/MPEG2 hardware
decoding
The MPEG1/2 decoder is broken and nobody has volunteered to poke
code and fix it. As media is almost never over 1080p resolution
boards should be able to software decode it. So lets just disable
hardware decoding for now.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
.../staging/media/meson/vdec/vdec_platform.c | 110 ------------------
1 file changed, 110 deletions(-)
diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c
index 810039a02b44..c1ffe04d3b2c 100644
--- a/drivers/staging/media/meson/vdec/vdec_platform.c
+++ b/drivers/staging/media/meson/vdec/vdec_platform.c
@@ -39,28 +39,6 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
.flags = V4L2_FMT_FLAG_COMPRESSED |
V4L2_FMT_FLAG_DYN_RESOLUTION,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG2,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
},
};
@@ -101,28 +79,6 @@ static const struct amvdec_format vdec_formats_gxl[] = {
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
.flags = V4L2_FMT_FLAG_COMPRESSED |
V4L2_FMT_FLAG_DYN_RESOLUTION,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG2,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
},
};
@@ -163,28 +119,6 @@ static const struct amvdec_format vdec_formats_gxm[] = {
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
.flags = V4L2_FMT_FLAG_COMPRESSED |
V4L2_FMT_FLAG_DYN_RESOLUTION,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG2,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
},
};
@@ -225,28 +159,6 @@ static const struct amvdec_format vdec_formats_g12a[] = {
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
.flags = V4L2_FMT_FLAG_COMPRESSED |
V4L2_FMT_FLAG_DYN_RESOLUTION,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG2,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
},
};
@@ -287,28 +199,6 @@ static const struct amvdec_format vdec_formats_sm1[] = {
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
.flags = V4L2_FMT_FLAG_COMPRESSED |
V4L2_FMT_FLAG_DYN_RESOLUTION,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
- }, {
- .pixfmt = V4L2_PIX_FMT_MPEG2,
- .min_buffers = 8,
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/vdec/gxl_mpeg12.bin",
- .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
- .flags = V4L2_FMT_FLAG_COMPRESSED,
},
};
--
2.34.1

View File

@ -1,7 +1,7 @@
From 2e5d82b4f096bb5abe901f491e1612a23b332c5d Mon Sep 17 00:00:00 2001
From 885a1a5806ff78e2ac3e3263a8542e7a46be0f82 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 17 Aug 2021 16:16:43 +0000
Subject: [PATCH 39/73] WIP: arm64: dts: meson: radxa-zero: add support for the
Subject: [PATCH 49/92] WIP: arm64: dts: meson: radxa-zero: add support for the
usb type-c controller
Radxa Zero uses an FUSB302 type-c controller, so lets enable it.
@ -20,7 +20,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/
index e3bb6df42ff3..5e3dc013409f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
@@ -60,6 +60,14 @@
@@ -60,6 +60,14 @@ sdio_pwrseq: sdio-pwrseq {
clock-names = "ext_clock";
};
@ -35,7 +35,7 @@ index e3bb6df42ff3..5e3dc013409f 100644
ao_5v: regulator-ao_5v {
compatible = "regulator-fixed";
regulator-name = "AO_5V";
@@ -191,6 +199,18 @@
@@ -191,6 +199,18 @@ wifi32k: wifi32k {
};
};
@ -54,7 +54,7 @@ index e3bb6df42ff3..5e3dc013409f 100644
&arb {
status = "okay";
};
@@ -278,6 +298,22 @@
@@ -278,6 +298,22 @@ &ir {
pinctrl-names = "default";
};
@ -77,7 +77,7 @@ index e3bb6df42ff3..5e3dc013409f 100644
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
@@ -403,3 +439,11 @@
@@ -403,3 +439,11 @@ &usb {
status = "okay";
dr_mode = "host";
};
@ -90,5 +90,5 @@ index e3bb6df42ff3..5e3dc013409f 100644
+ phy-supply = <&typec2_vbus>;
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 0fb9861b7c3cc0a598ef0ad6544c3ef3ebc1e3cc Mon Sep 17 00:00:00 2001
From 18e13ed0bc6e08e4e772758fff2e8114044cdf64 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 16 Feb 2022 07:27:07 +0000
Subject: [PATCH 40/73] WIP: dt-bindings: arm: amlogic: add support for Radxa
Subject: [PATCH 50/92] WIP: dt-bindings: arm: amlogic: add support for Radxa
Zero2
The Radxa Zero2 is a small form-factor SBC using the Amlogic
@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 3217c069673e..ea4f016082c4 100644
index 9fda2436c618..cf81dc06df2e 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -153,6 +153,7 @@ properties:
@@ -154,6 +154,7 @@ properties:
items:
- enum:
- khadas,vim3
@ -25,5 +25,5 @@ index 3217c069673e..ea4f016082c4 100644
- const: amlogic,g12b
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 92ce99d7dc9d6aca6bcebbdb99b032b32ec39f81 Mon Sep 17 00:00:00 2001
From 3d8adf4989896bf6166454e0e48d7ae04c4ae2ec Mon Sep 17 00:00:00 2001
From: Yuntian Zhang <yt@radxa.com>
Date: Fri, 14 Jan 2022 15:50:02 +0000
Subject: [PATCH 41/73] WIP: arm64: dts: meson: add support for Radxa Zero2
Subject: [PATCH 51/92] WIP: arm64: dts: meson: add support for Radxa Zero2
Radxa Zero2 is a small form factor SBC based on the Amlogic A311D
chipset that ships in a number of eMMC configurations:
@ -26,10 +26,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 641399fcbdd9..5eaaeb620a17 100644
index e213aeebb774..4aa1aa0e22a8 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
@@ -14,6 +14,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
@ -543,5 +543,5 @@ index 000000000000..fefa6f2b7abf
+ status = "okay";
+};
--
2.17.1
2.34.1

View File

@ -0,0 +1,35 @@
From 7c9aedb198c2dc03679ca8bd3908790f1dbdffb5 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 30 Nov 2022 12:07:55 +0000
Subject: [PATCH 52/92] WIP: arm64: dts: meson: add support for the NPU on
Radxa Zero2
Radxa Zero2 has an NPU on the A311D SoC, so lets enable it.
NPU support depends upon [0].
[0] https://patchwork.kernel.org/project/linux-amlogic/cover/20221129085047.49813-1-tomeu.vizoso@collabora.com/
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
index fefa6f2b7abf..7432c7f9255b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
@@ -366,6 +366,10 @@ &ir {
pinctrl-names = "default";
};
+&npu {
+ status = "okay";
+};
+
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
--
2.34.1

View File

@ -1,7 +1,7 @@
From f0102e5d910b47aa4f46e2757a8e4b9cd820ae7c Mon Sep 17 00:00:00 2001
From 1a3ee4cb5ea27bd9594133196599b8a9142f860b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Fri, 15 May 2020 07:52:47 +0000
Subject: [PATCH 42/73] WIP: arm64: dts: meson: add audio playback to p201
Subject: [PATCH 53/92] WIP: arm64: dts: meson: add audio playback to p201
Add initial audio support limited to HDMI i2s.
@ -66,5 +66,5 @@ index 150a82f3b2d7..22bd0070146b 100644
&ethmac {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From cbba90f273a4af2f08f6286bca65c49b96ff44d4 Mon Sep 17 00:00:00 2001
From 888a7c084900b84b1730f3f550dce896ac524426 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Fri, 15 May 2020 07:56:15 +0000
Subject: [PATCH 43/73] WIP: arm64: dts: meson: add audio playback to p200
Subject: [PATCH 54/92] WIP: arm64: dts: meson: add audio playback to p200
Add initial support limited to HDMI i2s and SPDIF (LPCM).
@ -34,7 +34,7 @@ index 3c93d1898b40..27b3ab20f070 100644
avdd18_usb_adc: regulator-avdd18_usb_adc {
compatible = "regulator-fixed";
regulator-name = "AVDD18_USB_ADC";
@@ -57,6 +65,59 @@
@@ -57,6 +65,59 @@ button-menu {
press-threshold-microvolt = <0>; /* 0% */
};
};
@ -95,5 +95,5 @@ index 3c93d1898b40..27b3ab20f070 100644
&ethmac {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From e708a7770bd3d6f557bf31b7fa921af5e38d68ff Mon Sep 17 00:00:00 2001
From c8effdc08eca825a89ab022b9e4873c8d2d8bfce Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 17 May 2020 05:00:55 +0000
Subject: [PATCH 44/73] WIP: arm64: dts: meson: add audio playback to u200
Subject: [PATCH 55/92] WIP: arm64: dts: meson: add audio playback to u200
Add initial support limited to HDMI i2s and SPDIF (LPCM).
@ -22,7 +22,7 @@ index 4b5d11e56364..61a85c27a463 100644
/ {
compatible = "amlogic,u200", "amlogic,g12a";
@@ -18,6 +19,13 @@
@@ -18,6 +19,13 @@ aliases {
ethernet0 = &ethmac;
};
@ -36,7 +36,7 @@ index 4b5d11e56364..61a85c27a463 100644
chosen {
stdout-path = "serial0:115200n8";
};
@@ -147,6 +155,90 @@
@@ -147,6 +155,90 @@ vddcpu: regulator-vddcpu {
regulator-boot-on;
regulator-always-on;
};
@ -127,7 +127,7 @@ index 4b5d11e56364..61a85c27a463 100644
};
&cec_AO {
@@ -163,6 +255,10 @@
@@ -163,6 +255,10 @@ &cecb_AO {
hdmi-phandle = <&hdmi_tx>;
};
@ -138,7 +138,7 @@ index 4b5d11e56364..61a85c27a463 100644
&cpu0 {
cpu-supply = <&vddcpu>;
operating-points-v2 = <&cpu_opp_table>;
@@ -203,6 +299,18 @@
@@ -203,6 +299,18 @@ &ethmac {
phy-mode = "rmii";
};
@ -157,7 +157,7 @@ index 4b5d11e56364..61a85c27a463 100644
&hdmi_tx {
status = "okay";
pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
@@ -288,6 +396,28 @@
@@ -288,6 +396,28 @@ &sd_emmc_c {
vqmmc-supply = <&flash_1v8>;
};
@ -187,5 +187,5 @@ index 4b5d11e56364..61a85c27a463 100644
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From fece5cdfd0a0be48e8b78294fc9242216761d13e Mon Sep 17 00:00:00 2001
From c6513a896b55e08bd20dfa90cc6d007866a852f1 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 27 Nov 2021 13:50:06 +0000
Subject: [PATCH 45/73] WIP: arm64: dts: meson: add Headphone output to Beelink
Subject: [PATCH 56/92] WIP: arm64: dts: meson: add Headphone output to Beelink
GT-King
Add support for the Headphone audio DAC built-in to the S922X chip.
@ -23,7 +23,7 @@ index 5d96c1449050..a441975cbfb0 100644
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
/ {
@@ -29,14 +30,37 @@
@@ -29,14 +30,37 @@ spdif_dit: audio-codec-1 {
sound {
compatible = "amlogic,axg-sound-card";
model = "GTKING";
@ -63,7 +63,7 @@ index 5d96c1449050..a441975cbfb0 100644
assigned-clocks = <&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL0>,
@@ -59,8 +83,20 @@
@@ -59,8 +83,20 @@ dai-link-2 {
sound-dai = <&frddr_c>;
};
@ -85,7 +85,7 @@ index 5d96c1449050..a441975cbfb0 100644
sound-dai = <&tdmif_b>;
dai-format = "i2s";
dai-tdm-slot-tx-mask-0 = <1 1>;
@@ -69,13 +105,17 @@
@@ -69,13 +105,17 @@ dai-link-3 {
dai-tdm-slot-tx-mask-3 = <1 1>;
mclk-fs = <256>;
@ -105,7 +105,7 @@ index 5d96c1449050..a441975cbfb0 100644
sound-dai = <&spdifout>;
codec-0 {
@@ -88,7 +128,7 @@
@@ -88,7 +128,7 @@ codec-1 {
};
/* spdif hdmi interface */
@ -114,7 +114,7 @@ index 5d96c1449050..a441975cbfb0 100644
sound-dai = <&spdifout_b>;
codec {
@@ -96,17 +136,47 @@
@@ -96,17 +136,47 @@ codec {
};
};
@ -163,7 +163,7 @@ index 5d96c1449050..a441975cbfb0 100644
&arb {
status = "okay";
};
@@ -154,10 +224,46 @@
@@ -154,10 +224,46 @@ &tdmif_b {
status = "okay";
};
@ -211,5 +211,5 @@ index 5d96c1449050..a441975cbfb0 100644
status = "okay";
};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 363f2d99c9a9f49cabbef2818edb4df61a3f86cf Mon Sep 17 00:00:00 2001
From 49a971c963c99fade69e9f2266e7567a3071acd6 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 29 Feb 2020 15:13:02 +0000
Subject: [PATCH 46/73] WIP: dt-bindings: arm: amlogic: add support for the
Subject: [PATCH 57/92] WIP: dt-bindings: arm: amlogic: add support for the
Tanix TX5 Max
The Oranth (Tanix) TX5 Max is based on the Amlogic U200 reference
@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index ea4f016082c4..ba74854cd6b1 100644
index cf81dc06df2e..e8b9fc4eb8a6 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -145,6 +145,7 @@ properties:
@@ -146,6 +146,7 @@ properties:
- enum:
- amediatech,x96-max
- amlogic,u200
@ -25,5 +25,5 @@ index ea4f016082c4..ba74854cd6b1 100644
- seirobotics,sei510
- const: amlogic,g12a
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b12f0b01cc049a365480902807c6a1db0980f587 Mon Sep 17 00:00:00 2001
From ce597f5f290d4452403311a6a01f89ed19b7d71d Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 20 Oct 2019 04:06:59 +0000
Subject: [PATCH 47/73] WIP: arm64: dts: meson: add support for the Tanix TX5
Subject: [PATCH 58/92] WIP: arm64: dts: meson: add support for the Tanix TX5
Max
The Tanix TX5 Max is based on the Amlogic U200 reference design
@ -26,10 +26,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 5eaaeb620a17..51a3b84bda1e 100644
index 4aa1aa0e22a8..249f0923b4cc 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
@ -525,5 +525,5 @@ index 000000000000..0e55427ca398
+ status = "okay";
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 9246eb3763b8fc6837b6041cd6c1441fcf12eddc Mon Sep 17 00:00:00 2001
From 09b8dcfeb45c42812cab811f99b808bc8207ce45 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 21 Oct 2019 03:58:06 +0000
Subject: [PATCH 48/73] WIP: arm64: dts: meson: add multiple MeCool device
Subject: [PATCH 59/92] WIP: arm64: dts: meson: add multiple MeCool device
trees
This adds initial device trees for a range of MeCool devices based on various
@ -25,10 +25,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 51a3b84bda1e..1caed487c074 100644
index 249f0923b4cc..4239aad5686e 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -17,6 +17,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
@@ -19,6 +19,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
@ -37,7 +37,7 @@ index 51a3b84bda1e..1caed487c074 100644
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
@@ -30,12 +32,21 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb
@@ -32,12 +34,21 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb
@ -211,5 +211,5 @@ index 000000000000..3ddcf59d2649
+ linux,rc-map-name = "rc-mecool-m8s-plus";
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From a5736b0b8811d7cad0c79fde2768b6cef819e35d Mon Sep 17 00:00:00 2001
From f8d9d1c6c3a661b405bab2aff3ff88b8974c02a4 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 11 Apr 2021 05:50:13 +0000
Subject: [PATCH 49/73] WIP: dt-bindings: arm: amlogic: add support for Minix
Subject: [PATCH 60/92] WIP: dt-bindings: arm: amlogic: add support for Minix
NEO-U1
The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB)
@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index ba74854cd6b1..7e801f208863 100644
index e8b9fc4eb8a6..275d3fcd7366 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -58,6 +58,7 @@ properties:
@ -25,5 +25,5 @@ index ba74854cd6b1..7e801f208863 100644
- videostrong,kii-pro
- wetek,hub
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b2e02da33d49e72e3b3f126f6df87608be02443c Mon Sep 17 00:00:00 2001
From a189ef3f25cdf625bef9984253c2125349122867 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 11 Apr 2021 05:52:14 +0000
Subject: [PATCH 50/73] WIP: arm64: dts: meson: add initial device-tree for
Subject: [PATCH 61/92] WIP: arm64: dts: meson: add initial device-tree for
Minix NEO-U1
The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB)
@ -30,10 +30,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 1caed487c074..fd0d7d68f8e6 100644
index 4239aad5686e..72f8d27e63e4 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb
@ -237,5 +237,5 @@ index 000000000000..5343e90f9f34
+ };
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From c543938e8b30003ef31501248601b9cd5d15270e Mon Sep 17 00:00:00 2001
From 3867c618f355daf842e6bb3a2b121213b8cd2605 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Fri, 19 Aug 2022 21:32:21 +0000
Subject: [PATCH 51/73] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
Subject: [PATCH 62/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
NEO-U1
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts b/arch/arm6
index 5343e90f9f34..5900ee92ca28 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts
@@ -17,6 +17,7 @@
@@ -17,6 +17,7 @@ / {
aliases {
rtc0 = &rtc;
@ -24,5 +24,5 @@ index 5343e90f9f34..5900ee92ca28 100644
spdif_dit: audio-codec-0 {
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From a85233ca2209fa517b3b68c6563f940591481501 Mon Sep 17 00:00:00 2001
From f228cf6645db4c58217f1d8e763e09133d44a25b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 8 Dec 2021 15:33:47 +0000
Subject: [PATCH 52/73] WIP: media: rc: add keymap for Beelink Mini MXIII
Subject: [PATCH 63/92] WIP: media: rc: add keymap for Beelink Mini MXIII
remote
Add a keymap and bindings for the simple IR (NEC) remote used with
@ -17,7 +17,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 drivers/media/rc/keymaps/rc-beelink-mxiii.c
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
index b11d14ab89c4..1121006b9fbe 100644
index e732b7f3a635..4f53fea766c6 100644
--- a/Documentation/devicetree/bindings/media/rc.yaml
+++ b/Documentation/devicetree/bindings/media/rc.yaml
@@ -39,6 +39,7 @@ properties:
@ -113,5 +113,5 @@ index 793b54342dff..e4ddb3586d05 100644
#define RC_MAP_BEHOLD_COLUMBUS "rc-behold-columbus"
#define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old"
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 91747a7ed34a46cef82739d8d77645c281eda1cf Mon Sep 17 00:00:00 2001
From d23c3fbbae77767a676c25c6f45674db1b021c53 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 8 Dec 2021 15:28:50 +0000
Subject: [PATCH 53/73] WIP: dt-bindings: arm: amlogic: add support for Beelink
Subject: [PATCH 64/92] WIP: dt-bindings: arm: amlogic: add support for Beelink
Mini MXIII
The Beelink Mini MXIII is an Android STB based on the Amlogic P200
@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 7e801f208863..096c3cfadeb0 100644
index 275d3fcd7366..68b21500a620 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -56,6 +56,7 @@ properties:
@ -25,5 +25,5 @@ index 7e801f208863..096c3cfadeb0 100644
- hardkernel,odroid-c2
- minix,neo-u1
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 242be8590b9bb9462c4cced8613f0a7fb141f62d Mon Sep 17 00:00:00 2001
From 38209ac02c1c97a58bb8d3c9861fe718e0d1b731 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 8 Dec 2021 15:26:00 +0000
Subject: [PATCH 54/73] WIP: arm64: dts: meson: add support for Beelink Mini
Subject: [PATCH 65/92] WIP: arm64: dts: meson: add support for Beelink Mini
MXIII
This is a GXBB board that ships in two variants, one with
@ -15,10 +15,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index fd0d7d68f8e6..2fb679aa6105 100644
index 72f8d27e63e4..fad2df44475a 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
@ -205,5 +205,5 @@ index 000000000000..3d99ca93e1d5
+ };
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From e8701365b030f23a1237df631201bd99b16e4230 Mon Sep 17 00:00:00 2001
From 4193b220c01c63ace1e117133388f5e13a2365d0 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 16 Jan 2022 08:48:02 +0000
Subject: [PATCH 55/73] WIP: media: rc: add keymap for MeCool M8S Pro W remote
Subject: [PATCH 66/92] WIP: media: rc: add keymap for MeCool M8S Pro W remote
Add a keymap and bindings for the simple IR (NEC) remote used with
the MeCool M8S Pro W Android STB device.
@ -16,7 +16,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
index 1121006b9fbe..5e3039e71312 100644
index 4f53fea766c6..6578a2328ec5 100644
--- a/Documentation/devicetree/bindings/media/rc.yaml
+++ b/Documentation/devicetree/bindings/media/rc.yaml
@@ -94,6 +94,7 @@ properties:
@ -134,5 +134,5 @@ index e4ddb3586d05..9b6f09a6fd3a 100644
#define RC_MAP_MEDION_X10_DIGITAINER "rc-medion-x10-digitainer"
#define RC_MAP_MEDION_X10_OR2X "rc-medion-x10-or2x"
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From cac91ad1445e0da6b9f51e5e4b3d29e6bd361b7e Mon Sep 17 00:00:00 2001
From 221e808484625d17da5c2311d738240c1e35923b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 16 Jan 2022 08:15:36 +0000
Subject: [PATCH 56/73] WIP: dt-bindings: arm: amlogic: add support for MeCool
Subject: [PATCH 67/92] WIP: dt-bindings: arm: amlogic: add support for MeCool
M8S Pro W
The MeCool M8S Pro W is an Android STB based on the Amlogic P281
@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 096c3cfadeb0..954d536f6c56 100644
index 68b21500a620..8e96318342f4 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -89,6 +89,7 @@ properties:
@ -25,5 +25,5 @@ index 096c3cfadeb0..954d536f6c56 100644
- const: amlogic,meson-gxl
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 282f373fa348d80178c8849853bf2919d4ab7d5d Mon Sep 17 00:00:00 2001
From 4e94b6b505ff2ccfcb34540a82858ff4fc42246e Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 16 Jan 2022 08:17:41 +0000
Subject: [PATCH 57/73] WIP: arm64: dts: meson: add support for MeCool M8S Pro
Subject: [PATCH 68/92] WIP: arm64: dts: meson: add support for MeCool M8S Pro
W
MeCool M8S Pro W is an Android STB based on the Amlogic P281 (GXL)
@ -62,5 +62,5 @@ index 000000000000..a5bbe7315471
+ dr_mode = "host";
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From f8a3f8723b9996495a87676b66ab33d2ccde6152 Mon Sep 17 00:00:00 2001
From 62f3ac503dc6cb215e2ec3503863fd0a9006467a Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 19 Jan 2022 02:40:20 +0000
Subject: [PATCH 58/73] WIP: dt-bindings: arm: amlogic: add Vero 4K binding
Subject: [PATCH 69/92] WIP: dt-bindings: arm: amlogic: add Vero 4K binding
Add the board binding for the OSMC Vero 4K STB device
@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 954d536f6c56..ef943bf50944 100644
index 8e96318342f4..0061cec1995e 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -102,6 +102,7 @@ properties:
@ -23,5 +23,5 @@ index 954d536f6c56..ef943bf50944 100644
- const: amlogic,meson-gxl
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From b9752455be81fbca3fad373b608b643e48f99df0 Mon Sep 17 00:00:00 2001
From 324d28ddabc035c4e5fd70b195bb729856ca7c06 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 19 Jan 2022 04:06:17 +0000
Subject: [PATCH 59/73] WIP: arm64: dts: meson: add support for OSMC Vero 4K
Subject: [PATCH 70/92] WIP: arm64: dts: meson: add support for OSMC Vero 4K
The OSMC Vero 4K device is based on the Amlogic S905X (P212) reference
design with the following specifications:
@ -28,10 +28,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 2fb679aa6105..de102b395dd3 100644
index fad2df44475a..7a4a0feb21e0 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -49,6 +49,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
@@ -51,6 +51,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
@ -226,5 +226,5 @@ index 000000000000..6196153e424d
+ status = "okay";
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 595907b3cf75fd7c4e1378e2b1e0f603d6b72fd9 Mon Sep 17 00:00:00 2001
From d75a2eedf816b6572d4e2fb5c664b7e21f7e8b91 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 12 Apr 2022 11:21:21 +0000
Subject: [PATCH 60/73] WIP: arm64: dts: meson: add RTL8822CS bluetooth to
Subject: [PATCH 71/92] WIP: arm64: dts: meson: add RTL8822CS bluetooth to
X96-Air
Add the uart_A/bluetooth node for the RTL8822CS chip.
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts b/arch/arm64
index 7e1a74046ba5..66e53c25bfb4 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts
@@ -131,3 +131,16 @@
@@ -131,3 +131,16 @@ &tdmout_b {
&tohdmitx {
status = "okay";
};
@ -33,5 +33,5 @@ index 7e1a74046ba5..66e53c25bfb4 100644
+ };
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 420bb2b17660a31cb5928df4cb38b8236c07db49 Mon Sep 17 00:00:00 2001
From d359ff8f3aaf41f0a0338680d491177afcce2e56 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 10 Apr 2022 11:51:38 +0000
Subject: [PATCH 61/73] WIP: media: rc: add keymap for Venz V10 remote
Subject: [PATCH 72/92] WIP: media: rc: add keymap for Venz V10 remote
Add a keymap and bindings for the IR (NEC) remote used with
the Venz V10 Android STB device.
@ -16,7 +16,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 drivers/media/rc/keymaps/rc-venz-v10.c
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
index 5e3039e71312..f441a35ce7f4 100644
index 6578a2328ec5..d4ef523cb3d5 100644
--- a/Documentation/devicetree/bindings/media/rc.yaml
+++ b/Documentation/devicetree/bindings/media/rc.yaml
@@ -151,6 +151,7 @@ properties:
@ -150,5 +150,5 @@ index 9b6f09a6fd3a..43d254930daa 100644
#define RC_MAP_VIDEOMATE_K100 "rc-videomate-k100"
#define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350"
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 2e6341669bc34a64c264db1137369cdb31a4ee5f Mon Sep 17 00:00:00 2001
From eaa08478f34e3ab816fe2aafdaccb204ef40bf27 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 9 Apr 2022 06:27:50 +0000
Subject: [PATCH 62/73] WIP: dt-bindings: arm: amlogic: add S905L and Venz V10
Subject: [PATCH 73/92] WIP: dt-bindings: arm: amlogic: add S905L and Venz V10
bindings
Add SOC bindings for S905L devices and the board binding for Venz V10.
@ -12,7 +12,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index ef943bf50944..47a9ec09a81a 100644
index 0061cec1995e..cadb9b2377f2 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -83,6 +83,13 @@ properties:
@ -30,5 +30,5 @@ index ef943bf50944..47a9ec09a81a 100644
items:
- enum:
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 3eafb34fd8bdff426583e2fb85dfd82fb69564ca Mon Sep 17 00:00:00 2001
From 40937b8db5dacf81599ca35038238e34e939aa65 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 9 Apr 2022 06:21:58 +0000
Subject: [PATCH 63/73] WIP: arm64: dts: meson: add support for Venz V10
Subject: [PATCH 74/92] WIP: arm64: dts: meson: add support for Venz V10
The Venz V10 is an Android STB based on the Amlogic P212 (GXL)
reference design with an S905L chip and the following specs:
@ -25,10 +25,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index de102b395dd3..751e1be7be1b 100644
index 7a4a0feb21e0..79f53897fa79 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
@@ -45,6 +45,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb
@ -369,5 +369,5 @@ index 000000000000..553377fce051
+ phy-supply = <&hdmi_5v>;
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From d36e778a5f52586b7a3bbea4ff1b17a261b222ea Mon Sep 17 00:00:00 2001
From 117f9124956cf96f8c7d41ba74599fcedaf18c46 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 05:15:41 +0000
Subject: [PATCH 64/73] WIP: dt-bindings: vendor-prefixes: add tbee prefix
Subject: [PATCH 75/92] WIP: dt-bindings: vendor-prefixes: add tbee prefix
QUIDBox, Lda. are the Portuguese manufacturer of 'TBee' branded
Android Set-Top Box devices.
@ -12,10 +12,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 7163901e5976..51dc9317db26 100644
index 9570cc9e0e06..369bd0c826a1 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1251,6 +1251,8 @@ patternProperties:
@@ -1263,6 +1263,8 @@ patternProperties:
"^synopsys,.*":
description: Synopsys, Inc. (deprecated, use snps)
deprecated: true
@ -25,5 +25,5 @@ index 7163901e5976..51dc9317db26 100644
description: TBS Technologies
"^tbs-biometrics,.*":
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 747c7ac68e792e26a165b49a07cf5b05d37843e5 Mon Sep 17 00:00:00 2001
From 9e929bee05f351db3969235f378ca77845c08225 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 05:05:11 +0000
Subject: [PATCH 65/73] WIP: dt-bindings: arm: amlogic: add TBee Box binding
Subject: [PATCH 76/92] WIP: dt-bindings: arm: amlogic: add TBee Box binding
Add the board binding for the TBee Box.
@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 47a9ec09a81a..a17daa64ba31 100644
index cadb9b2377f2..971645c53f43 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -110,6 +110,7 @@ properties:
@ -23,5 +23,5 @@ index 47a9ec09a81a..a17daa64ba31 100644
- const: amlogic,meson-gxl
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 806ac3731dd4e2e35ab71c393e77e0a29f702b39 Mon Sep 17 00:00:00 2001
From 997ee42acb0a44bf5f628e9a8e0e551335e91e9b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 05:23:12 +0000
Subject: [PATCH 66/73] WIP: arm64: dts: meson: add support for TBee Box
Subject: [PATCH 77/92] WIP: arm64: dts: meson: add support for TBee Box
The TBee Box is an Android STB based on the Amlogic P212 (GXL)
reference design with an S905X chip and the following specs:
@ -26,10 +26,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-tbee.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 751e1be7be1b..3e216a8e3b2a 100644
index 79f53897fa79..4d4b5dc66501 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -50,6 +50,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
@@ -52,6 +52,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
@ -197,5 +197,5 @@ index 000000000000..3584d87c1916
+};
+
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From ea9f2cf8516daabd388706eea334220525b0bd96 Mon Sep 17 00:00:00 2001
From 0a225528fdb833260b425e6b8a69bced20a6562c Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 24 Jul 2022 08:50:28 +0000
Subject: [PATCH 67/73] WIP: dt-bindings: arm: amlogic: add Beelink GT1 binding
Subject: [PATCH 78/92] WIP: dt-bindings: arm: amlogic: add Beelink GT1 binding
Add the board binding for the Shenzen AZW (Beelink) GT1 Android
Set-Top Box device.
@ -12,7 +12,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index a17daa64ba31..8f7908bb3fee 100644
index 971645c53f43..083fab6ab099 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -132,6 +132,7 @@ properties:
@ -24,5 +24,5 @@ index a17daa64ba31..8f7908bb3fee 100644
- khadas,vim2
- kingnovel,r-box-pro
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 128d4f0b7fed865b7b6210cec0d7946ccca19042 Mon Sep 17 00:00:00 2001
From cc3cb5dec191afe3586a4ca993b69b950a2b60bb Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 6 Jul 2022 10:01:03 +0000
Subject: [PATCH 68/73] WIP: arm64: dts: meson: add support for Beelink GT1
Subject: [PATCH 79/92] WIP: arm64: dts: meson: add support for Beelink GT1
The Beelink GT1 is based on the Amlogic S912 (Q200) reference
design with the following specifications:
@ -26,10 +26,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 3e216a8e3b2a..dc5167a86685 100644
index 4d4b5dc66501..fd1d2ad059e4 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -61,6 +61,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
@ -135,5 +135,5 @@ index 000000000000..3c8d73599ce6
+ };
+};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 479af13691d399bbb6782713658a312a9800b65d Mon Sep 17 00:00:00 2001
From 21621f4e6cc3b1553ddd5fed306851e73af9fb89 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 27 Jul 2022 10:27:10 +0000
Subject: [PATCH 69/73] WIP: arm64: dts: meson: add vcc_5v regulator to WeTek
Subject: [PATCH 80/92] WIP: arm64: dts: meson: add vcc_5v regulator to WeTek
dtsi
Add the vcc_5v regulator used by the audio DAC chip
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot
index 94dafb955301..caa63f5edf03 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
@@ -71,6 +71,13 @@
@@ -71,6 +71,13 @@ vddio_ao18: regulator-vddio_ao18 {
regulator-always-on;
};
@ -30,5 +30,5 @@ index 94dafb955301..caa63f5edf03 100644
compatible = "regulator-fixed";
regulator-name = "VCC_3V3";
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 51142747fd8747c558922b6ef8cbbe453986c7b2 Mon Sep 17 00:00:00 2001
From c5328b7d87942abd73d3a904df0554b41d4dc1f0 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 27 Jul 2022 13:39:23 +0000
Subject: [PATCH 70/73] WIP: arm64: dts: meson: add audio lineout to WeTek
Subject: [PATCH 81/92] WIP: arm64: dts: meson: add audio lineout to WeTek
Play2
Add support for the ES7134LV headphone output on the WeTek Play2
@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64
index 505ffcd8eb76..e206d658d157 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
@@ -21,6 +21,13 @@
@@ -21,6 +21,13 @@ spdif_dit: audio-codec-0 {
sound-name-prefix = "DIT";
};
@ -29,7 +29,7 @@ index 505ffcd8eb76..e206d658d157 100644
leds {
led-wifi {
label = "wetek-play:wifi-status";
@@ -74,6 +81,10 @@
@@ -74,6 +81,10 @@ dai-link-2 {
codec-0 {
sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
};
@ -40,7 +40,7 @@ index 505ffcd8eb76..e206d658d157 100644
};
dai-link-3 {
@@ -96,7 +107,9 @@
@@ -96,7 +107,9 @@ codec-0 {
&aiu {
status = "okay";
@ -52,5 +52,5 @@ index 505ffcd8eb76..e206d658d157 100644
};
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 860b75b686b8cbff5090e4db07964e51d48ed90c Mon Sep 17 00:00:00 2001
From 8f8e3b8a0df5188b194841703324715550d88e20 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Fri, 29 Jul 2022 08:29:20 +0000
Subject: [PATCH 71/73] WIP: arm64: dts: amlogic: fix cvbs disable on WeTek Hub
Subject: [PATCH 82/92] WIP: arm64: dts: amlogic: fix cvbs disable on WeTek Hub
The original submission in commit d537d289de06 ("ARM64: dts: meson-gxbb:
Add support for WeTek Hub and Play") shows cvbs output as disabled, but
@ -19,7 +19,7 @@ diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts b/arch/arm64/b
index 58733017eda8..23bea3fe9501 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
@@ -13,6 +13,10 @@
@@ -13,6 +13,10 @@ / {
compatible = "wetek,hub", "amlogic,meson-gxbb";
model = "WeTek Hub";
@ -31,5 +31,5 @@ index 58733017eda8..23bea3fe9501 100644
compatible = "amlogic,gx-sound-card";
model = "WETEK-HUB";
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 577af8787454fffa1a6cc387f14d564282c8b244 Mon Sep 17 00:00:00 2001
From 10b09cf6a2b47bcb45844a99f8e150e87566f248 Mon Sep 17 00:00:00 2001
From: Romain Perier <romain.perier@collabora.com>
Date: Sun, 14 Aug 2022 04:21:16 +0000
Subject: [PATCH 72/73] WIP: ASoC: dt-bindings: add compatible for es8323-i2c
Subject: [PATCH 83/92] WIP: ASoC: dt-bindings: add compatible for es8323-i2c
Add a compatible for the everest,es8323 audio codec used with a number
of Amlogic and Rockchip board devices.
@ -30,5 +30,5 @@ index 33fbf058c997..86b6d6e99732 100644
- AVDD-supply : Regulator providing analog supply voltage 3.3V
- PVDD-supply : Regulator providing digital IO supply voltage 1.8 - 3.6V
--
2.17.1
2.34.1

View File

@ -1,7 +1,7 @@
From 7c7014c03b5bbbec7231836f836a26b0237f31cf Mon Sep 17 00:00:00 2001
From 414ab31ceac2d078b6bfece819138e66a2aafc0e Mon Sep 17 00:00:00 2001
From: Romain Perier <romain.perier@collabora.com>
Date: Sun, 14 Aug 2022 04:29:32 +0000
Subject: [PATCH 73/73] WIP: ASoC: codecs: add support for ES8323
Subject: [PATCH 84/92] WIP: ASoC: codecs: add support for ES8323
The ES8323 is compatible with the existing ES8328 codec driver, so add
compatibles allowing it to be used.
@ -33,5 +33,5 @@ index 68072e99fcc7..57c7de5cfa05 100644
{ .compatible = "everest,es8388", },
{ }
--
2.17.1
2.34.1

View File

@ -0,0 +1,213 @@
From 6d33dfefde64db49246af2d0a7cd9c87accfdf65 Mon Sep 17 00:00:00 2001
From: Emanuel Strobel <emanuel.strobel@yahoo.com>
Date: Mon, 5 Apr 2021 17:57:57 +0000
Subject: [PATCH 85/92] WIP: media: rc: add common keymap for Dreambox RC10 and
RC20/RC-BT remotes
Add a common keymap and bindings for the RC10 and RC20/RC-BT remotes
used with the Dreambox One and Dreambox Two DVB-S/T boxes. The maps
are combined since the IR codes do not conflict and both boxes have
been sold with both remote designs.
Signed-off-by: Emanuel Strobel <emanuel.strobel@yahoo.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
.../devicetree/bindings/media/rc.yaml | 1 +
drivers/media/rc/keymaps/Makefile | 1 +
drivers/media/rc/keymaps/rc-dreambox.c | 147 ++++++++++++++++++
include/media/rc-map.h | 1 +
4 files changed, 150 insertions(+)
create mode 100644 drivers/media/rc/keymaps/rc-dreambox.c
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
index d4ef523cb3d5..f390a5d2c82d 100644
--- a/Documentation/devicetree/bindings/media/rc.yaml
+++ b/Documentation/devicetree/bindings/media/rc.yaml
@@ -56,6 +56,7 @@ properties:
- rc-dm1105-nec
- rc-dntv-live-dvb-t
- rc-dntv-live-dvbt-pro
+ - rc-dreambox
- rc-dtt200u
- rc-dvbsky
- rc-dvico-mce
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
index 77d8b5a69815..03bc9a8d355e 100644
--- a/drivers/media/rc/keymaps/Makefile
+++ b/drivers/media/rc/keymaps/Makefile
@@ -38,6 +38,7 @@ obj-$(CONFIG_RC_MAP) += \
rc-dm1105-nec.o \
rc-dntv-live-dvb-t.o \
rc-dntv-live-dvbt-pro.o \
+ rc-dreambox.o \
rc-dtt200u.o \
rc-dvbsky.o \
rc-dvico-mce.o \
diff --git a/drivers/media/rc/keymaps/rc-dreambox.c b/drivers/media/rc/keymaps/rc-dreambox.c
new file mode 100644
index 000000000000..0ccbed367ea3
--- /dev/null
+++ b/drivers/media/rc/keymaps/rc-dreambox.c
@@ -0,0 +1,147 @@
+// SPDX-License-Identifier: GPL-2.0+
+//
+// Copyright (c) 2021 Emanuel Strobel <emanuel.strobel@yahoo.com>
+
+#include <media/rc-map.h>
+#include <linux/module.h>
+
+//
+// Keytable for the Dreabox RC10 and RC20/RC-BT remote controls
+//
+
+static struct rc_map_table dreambox[] = {
+
+ /* Dreambox RC10 remote */
+
+ { 0x3401, KEY_POWER },
+
+ // DREAM
+ { 0x3426, KEY_HELP },
+ // TV
+
+ { 0x3404, KEY_1 },
+ { 0x3405, KEY_2 },
+ { 0x3406, KEY_3 },
+ { 0x3408, KEY_4 },
+ { 0x3409, KEY_5 },
+ { 0x340a, KEY_6 },
+ { 0x340c, KEY_7 },
+ { 0x340d, KEY_8 },
+ { 0x340e, KEY_9 },
+ { 0x340b, KEY_PREVIOUS },
+ { 0x3410, KEY_0 },
+ { 0x340f, KEY_NEXT },
+
+ { 0x341f, KEY_RED },
+ { 0x3420, KEY_GREEN },
+ { 0x3421, KEY_YELLOW },
+ { 0x3422, KEY_BLUE },
+
+ { 0x341b, KEY_INFO },
+ { 0x341c, KEY_MENU },
+ { 0x3430, KEY_AUDIO },
+ { 0x3431, KEY_PVR },
+
+ { 0x3414, KEY_LEFT },
+ { 0x3411, KEY_UP },
+ { 0x3416, KEY_RIGHT },
+ { 0x3419, KEY_DOWN },
+ { 0x3415, KEY_OK },
+
+ { 0x3413, KEY_VOLUMEUP },
+ { 0x3418, KEY_VOLUMEDOWN },
+
+ { 0x3412, KEY_ESC }, // EXIT
+ { 0x3407, KEY_MUTE },
+
+ { 0x3417, KEY_PAGEUP },
+ { 0x341a, KEY_PAGEDOWN },
+
+ { 0x3432, KEY_PREVIOUSSONG },
+ { 0x3433, KEY_PLAYPAUSE },
+ { 0x3434, KEY_STOP },
+ { 0x3435, KEY_NEXTSONG },
+
+ // TV
+ // RADIO
+ { 0x3425, KEY_TEXT },
+ { 0x3436, KEY_RECORD },
+
+ /* Dreambox RC20/RC-BT */
+
+ { 0x321a, KEY_MUTE },
+ // MODE
+ { 0x3200, KEY_POWER },
+
+ { 0x3223, KEY_PREVIOUSSONG },
+ { 0x3224, KEY_PLAYPAUSE },
+ { 0x3226, KEY_NEXTSONG },
+
+ { 0x322a, KEY_RECORD },
+ { 0x3225, KEY_STOP },
+ { 0x3229, KEY_TEXT },
+
+ { 0x321f, KEY_RED },
+ { 0x3220, KEY_GREEN },
+ { 0x3221, KEY_YELLOW },
+ { 0x3222, KEY_BLUE },
+
+ { 0x3210, KEY_INFO },
+ { 0x3212, KEY_MENU },
+ { 0x320e, KEY_AUDIO },
+ { 0x3218, KEY_PVR },
+
+ { 0x3213, KEY_LEFT },
+ { 0x3211, KEY_UP },
+ { 0x3215, KEY_RIGHT },
+ { 0x3217, KEY_DOWN },
+ { 0x3214, KEY_OK },
+
+ { 0x3219, KEY_VOLUMEUP },
+ { 0x321c, KEY_VOLUMEDOWN },
+
+ { 0x321d, KEY_ESC }, // EXIT
+ { 0x3290, KEY_HELP },
+
+ { 0x321b, KEY_PAGEUP },
+ { 0x321e, KEY_PAGEDOWN },
+
+ { 0x3201, KEY_1 },
+ { 0x3202, KEY_2 },
+ { 0x3203, KEY_3 },
+ { 0x3204, KEY_4 },
+ { 0x3205, KEY_5 },
+ { 0x3206, KEY_6 },
+ { 0x3207, KEY_7 },
+ { 0x3208, KEY_8 },
+ { 0x3209, KEY_9 },
+ { 0x320a, KEY_PREVIOUS },
+ { 0x320b, KEY_0 },
+ { 0x320c, KEY_NEXT },
+
+};
+
+static struct rc_map_list dreambox_map = {
+ .map = {
+ .scan = dreambox,
+ .size = ARRAY_SIZE(dreambox),
+ .rc_proto = RC_PROTO_NEC,
+ .name = RC_MAP_DREAMBOX,
+ }
+};
+
+static int __init init_rc_map_dreambox(void)
+{
+ return rc_map_register(&dreambox_map);
+}
+
+static void __exit exit_rc_map_dreambox(void)
+{
+ rc_map_unregister(&dreambox_map);
+}
+
+module_init(init_rc_map_dreambox)
+module_exit(exit_rc_map_dreambox)
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Emanuel Strobel <emanuel.strobel@yahoo.com>");
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
index 43d254930daa..dadd4d27a760 100644
--- a/include/media/rc-map.h
+++ b/include/media/rc-map.h
@@ -242,6 +242,7 @@ struct rc_map *rc_map_get(const char *name);
#define RC_MAP_DM1105_NEC "rc-dm1105-nec"
#define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t"
#define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro"
+#define RC_MAP_DREAMBOX "rc-dreambox"
#define RC_MAP_DTT200U "rc-dtt200u"
#define RC_MAP_DVBSKY "rc-dvbsky"
#define RC_MAP_DVICO_MCE "rc-dvico-mce"
--
2.34.1

View File

@ -0,0 +1,28 @@
From 16f6b516305e6b43019e5c6d9b5528037b58e27e Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 5 Apr 2021 13:47:52 +0000
Subject: [PATCH 86/92] WIP: dt-bindings: add dream vendor prefix
Add vendor prefix for Dream Property GmbH
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 369bd0c826a1..a585da02832e 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -350,6 +350,8 @@ patternProperties:
description: DPTechnics
"^dragino,.*":
description: Dragino Technology Co., Limited
+ "^dream,.*":
+ description: Dream Property GmbH
"^ds,.*":
description: DaSheng, Inc.
"^dserve,.*":
--
2.34.1

View File

@ -0,0 +1,30 @@
From 8e14d531bb2fb3b52f7942c742e48e48c4b0c0c8 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 5 Apr 2021 13:48:34 +0000
Subject: [PATCH 87/92] WIP: dt-bindings: arm: amlogic: add support for
Dreambox One/Two
The Dreambox One and Dreambox Two are DVBS/T2 receiver boxes based
on the Amlogic W400 reference board with an S922X chip.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 083fab6ab099..6af30f2020a1 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -178,6 +178,8 @@ properties:
- azw,gsking-x
- azw,gtking
- azw,gtking-pro
+ - dream,dreambox-one
+ - dream,dreambox-two
- hardkernel,odroid-n2
- hardkernel,odroid-n2-plus
- khadas,vim3
--
2.34.1

View File

@ -0,0 +1,261 @@
From d13e691554129c1533d417af1594fa3ea7a7b9bf Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 5 Apr 2021 13:51:20 +0000
Subject: [PATCH 88/92] WIP: arm64: dts: meson: add initial device-trees for
Dreambox One/Two
Dreambox One and Dreambox Two are based on the Amlogic W400 reference
board with an S922X chip and the following specs:
- 2GB DDR3 RAM
- 16GB eMMC
- 10/100/1000 Base-T Ethernet
- AP6356 Wireless (802.11 b/g/n/ac, BT 5.0)
- HDMI 2.1 video
- S/PDIF optical output
- 2x DVB-S2/T2
- Smartcard Reader Slot
- 2x USB 2.0 port (1x micro-USB for service)
- 1x USB 3.0 port
- IR receiver
- 1x Power LED (blue)
- 1x Power button (top)
- 1x Update/Reset button (underside)
- 1x micro SD card slot
Dreambox Two differences:
- 3" Colour LCD display (MIPI-DSI)
- Common Interface Slot
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
arch/arm64/boot/dts/amlogic/Makefile | 2 +
.../dts/amlogic/meson-g12b-dreambox-one.dts | 13 ++
.../dts/amlogic/meson-g12b-dreambox-two.dts | 13 ++
.../boot/dts/amlogic/meson-g12b-dreambox.dtsi | 160 ++++++++++++++++++
4 files changed, 188 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index fd1d2ad059e4..2c9885b957a7 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -10,6 +10,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12a-tanix-tx5max.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-one.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-two.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts
new file mode 100644
index 000000000000..ce3f18ad044a
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "meson-g12b-dreambox.dtsi"
+
+/ {
+ compatible = "dream,dreambox-one", "amlogic,g12b";
+ model = "Dreambox One";
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts
new file mode 100644
index 000000000000..b63bbb01036e
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "meson-g12b-dreambox.dtsi"
+
+/ {
+ compatible = "dream,dreambox-two", "amlogic,g12b";
+ model = "Dreambox Two";
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
new file mode 100644
index 000000000000..14b2827b592d
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
@@ -0,0 +1,160 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2021 Christian Hewitt <christianshewitt@gmail.com>
+ */
+
+#include "meson-g12b-w400.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
+
+/ {
+ cvbs-connector {
+ status = "disabled";
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>;
+ clocks = <&wifi32k>;
+ clock-names = "ext_clock";
+ };
+
+ spdif_dit: audio-codec-1 {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ status = "okay";
+ sound-name-prefix = "DIT";
+ };
+
+ sound {
+ compatible = "amlogic,axg-sound-card";
+ model = "DREAMBOX";
+ audio-aux-devs = <&tdmout_b>;
+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
+ "TDMOUT_B IN 1", "FRDDR_B OUT 1",
+ "TDMOUT_B IN 2", "FRDDR_C OUT 1",
+ "TDM_B Playback", "TDMOUT_B OUT",
+ "SPDIFOUT IN 0", "FRDDR_A OUT 3",
+ "SPDIFOUT IN 1", "FRDDR_B OUT 3",
+ "SPDIFOUT IN 2", "FRDDR_C OUT 3";
+
+ assigned-clocks = <&clkc CLKID_MPLL2>,
+ <&clkc CLKID_MPLL0>,
+ <&clkc CLKID_MPLL1>;
+ assigned-clock-parents = <0>, <0>, <0>;
+ assigned-clock-rates = <294912000>,
+ <270950400>,
+ <393216000>;
+ status = "okay";
+
+ dai-link-0 {
+ sound-dai = <&frddr_a>;
+ };
+
+ dai-link-1 {
+ sound-dai = <&frddr_b>;
+ };
+
+ dai-link-2 {
+ sound-dai = <&frddr_c>;
+ };
+
+ /* 8ch hdmi interface */
+ dai-link-3 {
+ sound-dai = <&tdmif_b>;
+ dai-format = "i2s";
+ dai-tdm-slot-tx-mask-0 = <1 1>;
+ dai-tdm-slot-tx-mask-1 = <1 1>;
+ dai-tdm-slot-tx-mask-2 = <1 1>;
+ dai-tdm-slot-tx-mask-3 = <1 1>;
+ mclk-fs = <256>;
+
+ codec {
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
+ };
+ };
+
+ /* spdif hdmi or toslink interface */
+ dai-link-4 {
+ sound-dai = <&spdifout>;
+
+ codec-0 {
+ sound-dai = <&spdif_dit>;
+ };
+
+ codec-1 {
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
+ };
+ };
+
+ /* spdif hdmi interface */
+ dai-link-5 {
+ sound-dai = <&spdifout_b>;
+
+ codec {
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
+ };
+ };
+
+ /* hdmi glue */
+ dai-link-6 {
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
+
+ codec {
+ sound-dai = <&hdmi_tx>;
+ };
+ };
+ };
+};
+
+&arb {
+ status = "okay";
+};
+
+&clkc_audio {
+ status = "okay";
+};
+
+&frddr_a {
+ status = "okay";
+};
+
+&frddr_b {
+ status = "okay";
+};
+
+&frddr_c {
+ status = "okay";
+};
+
+&ir {
+ linux,rc-map-name = "rc-dreambox";
+};
+
+&saradc {
+ status = "okay";
+ vref-supply = <&vddao_1v8>;
+};
+
+&spdifout {
+ pinctrl-0 = <&spdif_out_h_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&spdifout_b {
+ status = "okay";
+};
+
+&tdmif_b {
+ status = "okay";
+};
+
+&tdmout_b {
+ status = "okay";
+};
+
+&tohdmitx {
+ status = "okay";
+};
--
2.34.1

View File

@ -0,0 +1,30 @@
From 59064c140b25b8316983ae348ccc1e316af7bb2f Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 15 Dec 2022 04:27:45 +0000
Subject: [PATCH 89/92] WIP: dt-bindings: arm: amlogic: add support for Ugoos
AM6 plus
The AM6 plus is a revised version of the AM6 Android box based
on the Amlogic W400 reference board, but now with an S922XJ to
bump CPU speeds (rev C silicon) and add Dolby Vision features.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 6af30f2020a1..4f6b8a44f28c 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -184,6 +184,7 @@ properties:
- hardkernel,odroid-n2-plus
- khadas,vim3
- ugoos,am6
+ - ugoos,am6-plus
- const: amlogic,s922x
- const: amlogic,g12b
--
2.34.1

View File

@ -0,0 +1,273 @@
From ea0025676c08c7fa55095101c77d14db71749290 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 15 Dec 2022 05:29:31 +0000
Subject: [PATCH 90/92] WIP: arm64: dts: meson: add support for Ugoos AM6 Plus
The Ugoos AM6 Plus is based on the Amlogic W400 (G12B) reference design
using the S922XJ (S922X rev-C with Dolby Vision license) chipset.
Hardware specifications:
- 2GB/4GB LPDDR4 RAM
- 16GB/32GB eMMC storage
- 10/100/1000 Base-T Ethernet using External RGMII PHY
- 802.11 a/b/g/b/ac + BT 5.0 sdio wireless (Ampak 6398S)
- HDMI 2.0 (4k@60p) video
- Composite video + 2-channel audio output on 3.5mm jack
- S/PDIF audio output
- Aux input
- 1x USB 3.0
- 3x USB 2.0
- 1x micro SD card slot
- 1x power button (rear)
Suggested-by: Furkan Kardame <f.kardame@manjaro.org>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../dts/amlogic/meson-g12b-ugoos-am6-plus.dts | 221 ++++++++++++++++++
2 files changed, 222 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 2c9885b957a7..83c75550fd88 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-beelink-mini-mxiii.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
new file mode 100644
index 000000000000..b2922dc5a30e
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
@@ -0,0 +1,221 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 BayLibre, SAS
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
+ * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "meson-g12b-w400.dtsi"
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
+
+/ {
+ compatible = "ugoos,am6-plus", "amlogic,s922x", "amlogic,g12b";
+ model = "Ugoos AM6 Plus";
+
+ aliases {
+ rtc0 = &rtc;
+ rtc1 = &vrtc;
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ power-button {
+ label = "power";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-green {
+ label = "power:green";
+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ spdif_dit: audio-codec-1 {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ status = "okay";
+ sound-name-prefix = "DIT";
+ };
+
+ sound {
+ compatible = "amlogic,axg-sound-card";
+ model = "AM6-PLUS";
+ audio-aux-devs = <&tdmout_b>;
+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
+ "TDMOUT_B IN 1", "FRDDR_B OUT 1",
+ "TDMOUT_B IN 2", "FRDDR_C OUT 1",
+ "TDM_B Playback", "TDMOUT_B OUT",
+ "SPDIFOUT IN 0", "FRDDR_A OUT 3",
+ "SPDIFOUT IN 1", "FRDDR_B OUT 3",
+ "SPDIFOUT IN 2", "FRDDR_C OUT 3";
+
+ assigned-clocks = <&clkc CLKID_MPLL2>,
+ <&clkc CLKID_MPLL0>,
+ <&clkc CLKID_MPLL1>;
+ assigned-clock-parents = <0>, <0>, <0>;
+ assigned-clock-rates = <294912000>,
+ <270950400>,
+ <393216000>;
+ status = "okay";
+
+ dai-link-0 {
+ sound-dai = <&frddr_a>;
+ };
+
+ dai-link-1 {
+ sound-dai = <&frddr_b>;
+ };
+
+ dai-link-2 {
+ sound-dai = <&frddr_c>;
+ };
+
+ /* 8ch hdmi interface */
+ dai-link-3 {
+ sound-dai = <&tdmif_b>;
+ dai-format = "i2s";
+ dai-tdm-slot-tx-mask-0 = <1 1>;
+ dai-tdm-slot-tx-mask-1 = <1 1>;
+ dai-tdm-slot-tx-mask-2 = <1 1>;
+ dai-tdm-slot-tx-mask-3 = <1 1>;
+ mclk-fs = <256>;
+
+ codec {
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
+ };
+ };
+
+ /* spdif hdmi or toslink interface */
+ dai-link-4 {
+ sound-dai = <&spdifout>;
+
+ codec-0 {
+ sound-dai = <&spdif_dit>;
+ };
+
+ codec-1 {
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
+ };
+ };
+
+ /* spdif hdmi interface */
+ dai-link-5 {
+ sound-dai = <&spdifout_b>;
+
+ codec {
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
+ };
+ };
+
+ /* hdmi glue */
+ dai-link-6 {
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
+
+ codec {
+ sound-dai = <&hdmi_tx>;
+ };
+ };
+ };
+};
+
+&arb {
+ status = "okay";
+};
+
+&clkc_audio {
+ status = "okay";
+};
+
+&frddr_a {
+ status = "okay";
+};
+
+&frddr_b {
+ status = "okay";
+};
+
+&frddr_c {
+ status = "okay";
+};
+
+&ir {
+ linux,rc-map-name = "rc-khadas";
+};
+
+&i2c3 {
+ status = "okay";
+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
+ pinctrl-names = "default";
+
+ rtc: rtc@51 {
+ compatible = "haoyu,hym8563";
+ reg = <0x51>;
+ };
+};
+
+&spdifout {
+ pinctrl-0 = <&spdif_out_h_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&spdifout_b {
+ status = "okay";
+};
+
+&tdmif_b {
+ status = "okay";
+};
+
+&tdmout_b {
+ status = "okay";
+};
+
+&tohdmitx {
+ status = "okay";
+};
+
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
+ max-speed = <2000000>;
+ clocks = <&wifi32k>;
+ clock-names = "lpo";
+ };
+};
+
+&uart_AO {
+ status = "okay";
+ pinctrl-0 = <&uart_ao_a_pins>;
+ pinctrl-names = "default";
+};
+
+&usb {
+ status = "okay";
+ dr_mode = "host";
+ vbus-supply = <&usb_pwr_en>;
+};
+
+&usb2_phy0 {
+ phy-supply = <&usb1_pow>;
+};
+
+&usb2_phy1 {
+ phy-supply = <&usb1_pow>;
+};
--
2.34.1

View File

@ -0,0 +1,74 @@
From 72193ae3fa4e37c1363d02728bdc4bbc7180b3f1 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 5 Jan 2023 06:08:37 +0000
Subject: [PATCH 91/92] FIXUP! add adc/gpio keys and led's to dreambox
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
.../boot/dts/amlogic/meson-g12b-dreambox.dtsi | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
index 14b2827b592d..1566dd48c473 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
@@ -13,6 +13,56 @@ cvbs-connector {
status = "disabled";
};
+ adc_keys {
+ compatible = "adc-keys";
+ io-channels = <&saradc 2>;
+ io-channel-names = "buttons";
+ keyup-threshold-microvolt = <1800000>;
+
+ button-up {
+ label = "Volume Up";
+ linux,code = <KEY_VOLUMEUP>;
+ press-threshold-microvolt = <4680352>;
+ };
+
+ button-down {
+ label = "Volume Down";
+ linux,code = <KEY_VOLUMEDOWN>;
+ press-threshold-microvolt = <2516129>;
+ };
+
+ button-enter {
+ label = "Enter";
+ linux,code = <KEY_ENTER>;
+ press-threshold-microvolt = <6844575>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ poll-interval = <20>;
+
+ button {
+ label = "power";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-system {
+ label = "system-status";
+ color = <LED_COLOR_ID_RED>;
+ function = LED_FUNCTION_POWER;
+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ panic-indicator;
+ retain-state-suspended;
+ };
+ };
+
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>;
--
2.34.1

View File

@ -0,0 +1,25 @@
From 3c419397d0dda1c5d193a73073e11cdf51e02f7b Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 14 Jan 2023 13:07:46 +0000
Subject: [PATCH 92/92] fixup_am6-plus
---
arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
index b2922dc5a30e..dd5a9665a996 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
@@ -196,7 +196,7 @@ bluetooth {
shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
max-speed = <2000000>;
clocks = <&wifi32k>;
- clock-names = "lpo";
+ clock-names = "lpo";
};
};
--
2.34.1

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More