mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux: bump Amlogic to Linux 5.16.y
This commit is contained in:
parent
cbe9a7218b
commit
6ddb8b3ff4
@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}"
|
||||
|
||||
case "${LINUX}" in
|
||||
amlogic)
|
||||
PKG_VERSION="f00712e27083550be3031099b7697925533a6e01" # 5.15.5
|
||||
PKG_SHA256="d1d06b7d0b2b23099f17b18559680821f39275e245d6be3d48a4867e0a7076c7"
|
||||
PKG_VERSION="2585cf9dfaaddf00b069673f27bb3f8530e2039c" # 5.16-rc5
|
||||
PKG_SHA256="07df650e8d06ac5cd0fed6b0d3b6e17e8f8a8caa8403d43ee069ad5655b998e3"
|
||||
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||
;;
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6441a37be7b5f73b21f575afc9414066e7c5dbf2 Mon Sep 17 00:00:00 2001
|
||||
From f7ccc39d5ee3dddc37497b9dea516cd421e807c5 Mon Sep 17 00:00:00 2001
|
||||
From: chewitt <github@chrishewitt.net>
|
||||
Date: Sat, 13 Apr 2019 05:41:51 +0000
|
||||
Subject: [PATCH 01/60] HACK: set meson-gx cma pool to 896MB
|
||||
Subject: [PATCH 01/71] HACK: set meson-gx cma pool to 896MB
|
||||
|
||||
This change sets the CMA pool to a larger 896MB! value for vdec use
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 92cf54f0adfc83fb83e9f7564027b84f32ddd401 Mon Sep 17 00:00:00 2001
|
||||
From ad1c014ceb8cfe665df0739d1a7b38a5740db964 Mon Sep 17 00:00:00 2001
|
||||
From: chewitt <github@chrishewitt.net>
|
||||
Date: Wed, 14 Aug 2019 19:58:14 +0000
|
||||
Subject: [PATCH 02/60] HACK: set meson-g12 cma pool to 896MB
|
||||
Subject: [PATCH 02/71] HACK: set meson-g12 cma pool to 896MB
|
||||
|
||||
This change sets the CMA pool to a larger 896MB! value for vdec use
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3d98fa9b2f696f13eaa1baf1d6fa7f6f2ea31287 Mon Sep 17 00:00:00 2001
|
||||
From 5a3bd9e778637bd48aaabdf4f976879aba2c7e95 Mon Sep 17 00:00:00 2001
|
||||
From: chewitt <github@chrishewitt.net>
|
||||
Date: Sat, 13 Apr 2019 05:45:18 +0000
|
||||
Subject: [PATCH 03/60] HACK: arm64: fix Kodi sysinfo CPU information
|
||||
Subject: [PATCH 03/71] HACK: 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 87731fea5e41..322fec5320e3 100644
|
||||
index 6e27b759056a..4c3110aed4ea 100644
|
||||
--- a/arch/arm64/kernel/cpuinfo.c
|
||||
+++ b/arch/arm64/kernel/cpuinfo.c
|
||||
@@ -148,8 +148,7 @@ static int c_show(struct seq_file *m, void *v)
|
||||
@@ -149,8 +149,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);
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 796ed17addc9f7c7ab713b0d33fa7429ead84589 Mon Sep 17 00:00:00 2001
|
||||
From 2c40387638d3c79e0d48d8bb169e8b147a0d9b76 Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Sat, 6 Jul 2019 07:54:44 +0000
|
||||
Subject: [PATCH 04/60] HACK: arm64: dts: meson-gx: add ATF BL32 reserved
|
||||
Subject: [PATCH 04/71] HACK: arm64: dts: meson-gx: add ATF BL32 reserved
|
||||
memory region
|
||||
|
||||
Vendor firmware/uboot has an additional reserved region for BL32 trusted
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 8cb8fc73cc2f53b73300037edfe81c9f9f6d5f4e Mon Sep 17 00:00:00 2001
|
||||
From 0a8ff502eb685541fbadfd80a1a3e0736f668257 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 3 Nov 2016 15:29:23 +0100
|
||||
Subject: [PATCH 05/60] HACK: arm64: meson: add Amlogic Meson GX PM Suspend
|
||||
Subject: [PATCH 05/71] HACK: 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.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f84b9abfe184af1bedf58c7492430b68cc6a0ac2 Mon Sep 17 00:00:00 2001
|
||||
From 75d4afb43eb64994d9d1855a5d716a392626d36f Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 3 Nov 2016 15:29:25 +0100
|
||||
Subject: [PATCH 06/60] HACK: arm64: dts: meson: add support for GX PM and
|
||||
Subject: [PATCH 06/71] HACK: arm64: dts: meson: add support for GX PM and
|
||||
Virtual RTC
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 16e0395a999865b4450e46f3d53df3ed3ea7c023 Mon Sep 17 00:00:00 2001
|
||||
From fb9688326b950679aff07eb1b056e25be47dd792 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 21 Jan 2021 01:35:36 +0000
|
||||
Subject: [PATCH 07/60] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas
|
||||
Subject: [PATCH 07/71] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas
|
||||
VIM
|
||||
|
||||
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c8d74b62cbf8c0f7c1cd331607540660a0e4d830 Mon Sep 17 00:00:00 2001
|
||||
From 0b718ec6c8dd53a26708ad6c4a3032343c0880b1 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 6 Nov 2021 13:01:08 +0000
|
||||
Subject: [PATCH 08/60] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas
|
||||
Subject: [PATCH 08/71] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas
|
||||
VIM2
|
||||
|
||||
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e2a996cefcd8feaa1ebd986b3f811571c7649293 Mon Sep 17 00:00:00 2001
|
||||
From 04c6b6fff46ad34e580157a93bb062fad03fb75b Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 1 Feb 2021 19:27:40 +0000
|
||||
Subject: [PATCH 09/60] HACK: arm64: dts: meson: add rtc/vrtc aliases to Minix
|
||||
Subject: [PATCH 09/71] HACK: arm64: dts: meson: add rtc/vrtc aliases to Minix
|
||||
NEO U9-H
|
||||
|
||||
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0dd3d24b886da5098bb8048a53d182dd086c6f30 Mon Sep 17 00:00:00 2001
|
||||
From 1fdc01532d51293d191d698a0c96313b0c1036d8 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 25 Nov 2021 11:31:43 +0000
|
||||
Subject: [PATCH 60/60] HACK: arm64: dts: amlogic: remove opps below 1GHz for
|
||||
Subject: [PATCH 10/71] HACK: arm64: dts: meson: remove opps below 1GHz for
|
||||
g12/sm1
|
||||
|
||||
This seems to workaround or hide occurrences of CPU stalls and other
|
@ -1,29 +0,0 @@
|
||||
From 92f35a36faa4dbcf0e562566a1f4a4a2deb615ca Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 16 May 2020 07:04:58 +0000
|
||||
Subject: [PATCH 11/60] FROMGIT: dt-bindings: arm: amlogic: add support for
|
||||
Radxa Zero
|
||||
|
||||
Radxa Zero is a small form-factor SBC with an Amlogic S905Y2 chip.
|
||||
|
||||
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 6423377710ee..67dccdd9a5a4 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -141,6 +141,7 @@ properties:
|
||||
- enum:
|
||||
- amediatech,x96-max
|
||||
- amlogic,u200
|
||||
+ - radxa,zero
|
||||
- seirobotics,sei510
|
||||
- const: amlogic,g12a
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From aaab5272187b1650776371c4381ea1373d818d1a Mon Sep 17 00:00:00 2001
|
||||
From eb5b75515a748fe33d7bfaff278c43c6fee4f3b9 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 15 Sep 2021 05:00:45 +0000
|
||||
Subject: [PATCH 10/60] HACK: of: partial revert of fdt.c changes
|
||||
Subject: [PATCH 11/71] HACK: of: partial revert of fdt.c changes
|
||||
|
||||
This resolves reports similar to the below which are present in dmesg
|
||||
since Linux 5.10; which are also causing crashes in some distros:
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
|
||||
index 4546572af24b..cf5c100cc5d4 100644
|
||||
index bdca35284ceb..674d12e37e65 100644
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -480,13 +480,6 @@ static int __init early_init_dt_reserve_memory_arch(phys_addr_t base,
|
@ -1,453 +0,0 @@
|
||||
From be960f16c8f919f083ebf6a1727d23da2b4690d2 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 6 Aug 2021 12:16:10 +0000
|
||||
Subject: [PATCH 12/60] FROMGIT: arm64: dts: amlogic: add support for Radxa
|
||||
Zero
|
||||
|
||||
Radxa Zero is a small form factor SBC based on the Amlogic S905Y2
|
||||
chipset that ships in a number of RAM/eMMC configurations:
|
||||
|
||||
Boards with 512MB/1GB LPDDR4 RAM have no eMMC storage and BCM43436
|
||||
wireless (2.4GHz b/g/n) while 2GB/4GB boards have 8/16/32/64/128GB
|
||||
eMMC storage and BCM4345 wireless (2.4/5GHz a/b/g/n/ac).
|
||||
|
||||
- Amlogic S905Y2 quad-core Cortex-A53
|
||||
- Mali G31-MP2 GPU
|
||||
- HDMI 2.1 output (micro)
|
||||
- 1x USB 2.0 port - Type C (OTG)
|
||||
- 1x USB 3.0 port - Type C (Host)
|
||||
- 1x micro SD Card slot
|
||||
- 40 Pin GPIO header
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
||||
.../dts/amlogic/meson-g12a-radxa-zero.dts | 405 ++++++++++++++++++
|
||||
2 files changed, 406 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
index faa0a79a34f5..be308361e2f1 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -1,5 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
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
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
new file mode 100644
|
||||
index 000000000000..e3bb6df42ff3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
@@ -0,0 +1,405 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2018 BayLibre SAS. All rights reserved.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-g12a.dtsi"
|
||||
+#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "radxa,zero", "amlogic,g12a";
|
||||
+ model = "Radxa Zero";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart_AO;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ cvbs-connector {
|
||||
+ status = "disabled";
|
||||
+ compatible = "composite-video-connector";
|
||||
+
|
||||
+ port {
|
||||
+ cvbs_connector_in: endpoint {
|
||||
+ remote-endpoint = <&cvbs_vdac_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_connector_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ emmc_pwrseq: emmc-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
|
||||
+ clocks = <&wifi32k>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ };
|
||||
+
|
||||
+ ao_5v: regulator-ao_5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "AO_5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: regulator-vcc_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vcc_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v3: regulator-vcc_3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ hdmi_pw: regulator-hdmi_pw {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "HDMI_PW";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&ao_5v>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_1v8: regulator-vddao_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_3v3: regulator-vddao_3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&ao_5v>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddcpu: regulator-vddcpu {
|
||||
+ compatible = "pwm-regulator";
|
||||
+
|
||||
+ regulator-name = "VDDCPU";
|
||||
+ regulator-min-microvolt = <721000>;
|
||||
+ regulator-max-microvolt = <1022000>;
|
||||
+
|
||||
+ vin-supply = <&ao_5v>;
|
||||
+
|
||||
+ pwms = <&pwm_AO_cd 1 1250 0>;
|
||||
+ pwm-dutycycle-range = <100 0>;
|
||||
+
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,axg-sound-card";
|
||||
+ model = "RADXA-ZERO";
|
||||
+ 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";
|
||||
+
|
||||
+ 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>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
||||
+
|
||||
+ codec {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wifi32k: wifi32k {
|
||||
+ compatible = "pwm-clock";
|
||||
+ #clock-cells = <0>;
|
||||
+ clock-frequency = <32768>;
|
||||
+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&arb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cec_AO {
|
||||
+ pinctrl-0 = <&cec_ao_a_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "disabled";
|
||||
+ hdmi-phandle = <&hdmi_tx>;
|
||||
+};
|
||||
+
|
||||
+&cecb_AO {
|
||||
+ pinctrl-0 = <&cec_ao_b_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ hdmi-phandle = <&hdmi_tx>;
|
||||
+};
|
||||
+
|
||||
+&clkc_audio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cvbs_vdac_port {
|
||||
+ cvbs_vdac_out: endpoint {
|
||||
+ remote-endpoint = <&cvbs_connector_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ hdmi-supply = <&hdmi_pw>;
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx_tmds_port {
|
||||
+ hdmi_tx_tmds_out: endpoint {
|
||||
+ remote-endpoint = <&hdmi_connector_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ status = "disabled";
|
||||
+ pinctrl-0 = <&remote_input_ao_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_cd {
|
||||
+ pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin1";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm_ef {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&pwm_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin0";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&vddao_1v8>;
|
||||
+};
|
||||
+
|
||||
+/* SDIO */
|
||||
+&sd_emmc_a {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdio_pins>;
|
||||
+ pinctrl-1 = <&sdio_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ sd-uhs-sdr50;
|
||||
+ max-frequency = <100000000>;
|
||||
+
|
||||
+ non-removable;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ /* WiFi firmware requires power to be kept while in suspend */
|
||||
+ keep-power-in-suspend;
|
||||
+
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+
|
||||
+ vmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&vddao_1v8>;
|
||||
+
|
||||
+ brcmf: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* SD card */
|
||||
+&sd_emmc_b {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdcard_c_pins>;
|
||||
+ pinctrl-1 = <&sdcard_clk_gate_c_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ max-frequency = <100000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&vddao_3v3>;
|
||||
+};
|
||||
+
|
||||
+/* eMMC */
|
||||
+&sd_emmc_c {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
|
||||
+ pinctrl-1 = <&emmc_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ max-frequency = <200000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ mmc-pwrseq = <&emmc_pwrseq>;
|
||||
+ vmmc-supply = <&vcc_3v3>;
|
||||
+ vqmmc-supply = <&vcc_1v8>;
|
||||
+};
|
||||
+
|
||||
+&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";
|
||||
+};
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c59abdc476c8dd424ce2731ef5602a2d5dde6ee7 Mon Sep 17 00:00:00 2001
|
||||
From b0374f9e8fd2adbe151cbfcf7344177b0f933a1f Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Shmidt <dimitrysh@google.com>
|
||||
Date: Fri, 8 Oct 2021 03:54:31 +0000
|
||||
Subject: [PATCH 14/60] FROMGIT: arm64: dts: meson-sm1-odroid: add cec nodes
|
||||
Subject: [PATCH 12/71] FROMGIT: arm64: dts: meson-sm1-odroid: add cec nodes
|
||||
|
||||
Enable CEC in same way it is done for other meson odroid devices
|
||||
|
@ -0,0 +1,150 @@
|
||||
From 2fe5f23b604ad1e33f6d3d81e0cb43b600864694 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Date: Fri, 26 Nov 2021 15:46:30 +0000
|
||||
Subject: [PATCH 13/71] FROMGIT: arm64: dts: amlogic: meson-g12: Fix
|
||||
thermal-zones indent
|
||||
|
||||
This node is currently at /soc/thermal-zones, but the later introduced
|
||||
bindings in commit 1202a442a31f ("dt-bindings: thermal: Add yaml bindings
|
||||
for thermal zones") put this at /thermal-zones.
|
||||
Fix dtb_check warning by moving the thermal-zones node to /
|
||||
|
||||
Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20211026182813.900775-1-alexander.stein@mailbox.org
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 110 +++++++++---------
|
||||
1 file changed, 55 insertions(+), 55 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 93022e53c0db..524188b3344c 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -159,61 +159,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
- thermal-zones {
|
||||
- cpu_thermal: cpu-thermal {
|
||||
- polling-delay = <1000>;
|
||||
- polling-delay-passive = <100>;
|
||||
- thermal-sensors = <&cpu_temp>;
|
||||
-
|
||||
- trips {
|
||||
- cpu_passive: cpu-passive {
|
||||
- temperature = <85000>; /* millicelsius */
|
||||
- hysteresis = <2000>; /* millicelsius */
|
||||
- type = "passive";
|
||||
- };
|
||||
-
|
||||
- cpu_hot: cpu-hot {
|
||||
- temperature = <95000>; /* millicelsius */
|
||||
- hysteresis = <2000>; /* millicelsius */
|
||||
- type = "hot";
|
||||
- };
|
||||
-
|
||||
- cpu_critical: cpu-critical {
|
||||
- temperature = <110000>; /* millicelsius */
|
||||
- hysteresis = <2000>; /* millicelsius */
|
||||
- type = "critical";
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- ddr_thermal: ddr-thermal {
|
||||
- polling-delay = <1000>;
|
||||
- polling-delay-passive = <100>;
|
||||
- thermal-sensors = <&ddr_temp>;
|
||||
-
|
||||
- trips {
|
||||
- ddr_passive: ddr-passive {
|
||||
- temperature = <85000>; /* millicelsius */
|
||||
- hysteresis = <2000>; /* millicelsius */
|
||||
- type = "passive";
|
||||
- };
|
||||
-
|
||||
- ddr_critical: ddr-critical {
|
||||
- temperature = <110000>; /* millicelsius */
|
||||
- hysteresis = <2000>; /* millicelsius */
|
||||
- type = "critical";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- cooling-maps {
|
||||
- map {
|
||||
- trip = <&ddr_passive>;
|
||||
- cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
ethmac: ethernet@ff3f0000 {
|
||||
compatible = "amlogic,meson-g12a-dwmac",
|
||||
"snps,dwmac-3.70a",
|
||||
@@ -2415,6 +2360,61 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ thermal-zones {
|
||||
+ cpu_thermal: cpu-thermal {
|
||||
+ polling-delay = <1000>;
|
||||
+ polling-delay-passive = <100>;
|
||||
+ thermal-sensors = <&cpu_temp>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu_passive: cpu-passive {
|
||||
+ temperature = <85000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot: cpu-hot {
|
||||
+ temperature = <95000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+
|
||||
+ cpu_critical: cpu-critical {
|
||||
+ temperature = <110000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ddr_thermal: ddr-thermal {
|
||||
+ polling-delay = <1000>;
|
||||
+ polling-delay-passive = <100>;
|
||||
+ thermal-sensors = <&ddr_temp>;
|
||||
+
|
||||
+ trips {
|
||||
+ ddr_passive: ddr-passive {
|
||||
+ temperature = <85000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ ddr_critical: ddr-critical {
|
||||
+ temperature = <110000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map {
|
||||
+ trip = <&ddr_passive>;
|
||||
+ cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,102 +0,0 @@
|
||||
From 1fcbeb841274082a23ce1bccd597167a56132662 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 08:13:00 +0000
|
||||
Subject: [PATCH 13/60] FROMGIT: arm64: dts: meson: add audio playback to
|
||||
rbox-pro
|
||||
|
||||
Add initial support limited to HDMI i2s and SPDIF (LPCM).
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-gxm-rbox-pro.dts | 61 +++++++++++++++++++
|
||||
1 file changed, 61 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
|
||||
index dde7cfe12cff..50137aafab10 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
|
||||
@@ -14,6 +14,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "meson-gxm.dtsi"
|
||||
+#include <dt-bindings/sound/meson-aiu.h>
|
||||
|
||||
/ {
|
||||
compatible = "kingnovel,r-box-pro", "amlogic,s912", "amlogic,meson-gxm";
|
||||
@@ -33,6 +34,13 @@
|
||||
reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 3 GiB */
|
||||
};
|
||||
|
||||
+ spdif_dit: audio-codec-0 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ status = "okay";
|
||||
+ sound-name-prefix = "DIT";
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -90,6 +98,59 @@
|
||||
clocks = <&wifi32k>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,gx-sound-card";
|
||||
+ model = "RBOX-PRO";
|
||||
+ assigned-clocks = <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>,
|
||||
+ <&clkc CLKID_MPLL2>;
|
||||
+ assigned-clock-parents = <0>, <0>, <0>;
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-1 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-2 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||||
+ dai-format = "i2s";
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-3 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&spdif_dit>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&aiu {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&spdif_out_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
};
|
||||
|
||||
ðmac {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 94bb0ba0af551c23c20896d7f37f96b2c8419f19 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Date: Fri, 26 Nov 2021 15:47:31 +0000
|
||||
Subject: [PATCH 14/71] FROMGIT: arm64: dts: amlogic: meson-g12: Fix GPU
|
||||
operating point table node name
|
||||
|
||||
Starting with commit 94274f20f6bf ("dt-bindings: opp: Convert to DT
|
||||
schema") the opp node name has a mandatory pattern. This change
|
||||
fixes the dtbs_check warning:
|
||||
gpu-opp-table: $nodename:0: 'gpu-opp-table' does not match
|
||||
'^opp-table(-[a-z0-9]+)?$'
|
||||
Put the 'gpu' part at the end to match the pattern.
|
||||
|
||||
Fixes: 916a0edc43f0 ("arm64: dts: amlogic: meson-g12: add the Mali OPP table and use DVFS")
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20211026182813.900775-2-alexander.stein@mailbox.org
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 524188b3344c..4f4c8e7d79d2 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -58,7 +58,7 @@
|
||||
secure-monitor = <&sm>;
|
||||
};
|
||||
|
||||
- gpu_opp_table: gpu-opp-table {
|
||||
+ gpu_opp_table: opp-table-gpu {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-124999998 {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 5370462c68a417ae491feca72209682932cbe319 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Date: Fri, 26 Nov 2021 15:48:22 +0000
|
||||
Subject: [PATCH 15/71] FROMGIT: arm64: dts: amlogic: Fix SPI NOR flash node
|
||||
name for ODROID N2/N2+
|
||||
|
||||
Fix the schema warning: "spi-flash@0: $nodename:0: 'spi-flash@0' does
|
||||
not match '^flash(@.*)?$'" from jedec,spi-nor.yaml
|
||||
|
||||
Fixes: a084eaf3096c ("arm64: dts: meson-g12b-odroid-n2: add SPIFC controller node")
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20211026182813.900775-3-alexander.stein@mailbox.org
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
index e8a00a2f8812..3e968b244191 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
@@ -609,7 +609,7 @@
|
||||
pinctrl-0 = <&nor_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
- mx25u64: spi-flash@0 {
|
||||
+ mx25u64: flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "mxicy,mx25u6435f", "jedec,spi-nor";
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6065e3208d647aebec8a3fb7b1986b1b8d8fdd83 Mon Sep 17 00:00:00 2001
|
||||
From d8199982b9d87e42a00a67fbff827087047b0e5d Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 04:47:14 +0000
|
||||
Subject: [PATCH 15/60] FROMGIT: arm64: dts: meson-gxbb-wetek: fix HDMI in
|
||||
Subject: [PATCH 16/71] FROMGIT: arm64: dts: meson-gxbb-wetek: fix HDMI in
|
||||
early boot
|
||||
|
||||
Mark the VDDIO_AO18 regulator always-on and set hdmi-supply for the hdmi_tx
|
@ -1,7 +1,7 @@
|
||||
From aaa7ab225b8b3f5a58baecf1d4522d893e9f8db5 Mon Sep 17 00:00:00 2001
|
||||
From cd6b35fda299a2983153cd8758af452765e7be66 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 05:13:06 +0000
|
||||
Subject: [PATCH 16/60] FROMGIT: arm64: dts: meson-gxbb-wetek: fix missing GPIO
|
||||
Subject: [PATCH 17/71] FROMGIT: arm64: dts: meson-gxbb-wetek: fix missing GPIO
|
||||
binding
|
||||
|
||||
The absence of this binding appears to be harmless in Linux but it breaks
|
@ -1,7 +1,7 @@
|
||||
From 8e92a8d45aecb19c6bcfe569cf238f0f476b293f Mon Sep 17 00:00:00 2001
|
||||
From 774d975dac28f9b83ef449f82eabd91fca862240 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 04:58:38 +0000
|
||||
Subject: [PATCH 17/60] FROMGIT: arm64: dts: meson-gxbb-wetek: use updated LED
|
||||
Subject: [PATCH 18/71] FROMGIT: arm64: dts: meson-gxbb-wetek: use updated LED
|
||||
bindings
|
||||
|
||||
Update the dts to use the newer style of LED bindings.
|
@ -1,31 +0,0 @@
|
||||
From 4b278c3214195ee59c936ff082a66a6593d1004b Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 20 Aug 2021 01:17:54 +0000
|
||||
Subject: [PATCH 18/60] FROMGIT: soc: amlogic: meson-gx-socinfo: Add S905Y2 ID
|
||||
for Radxa Zero
|
||||
|
||||
Add the SOC ID for the S905Y2 used in the Radxa Zero. Before/After:
|
||||
|
||||
[ 0.321650] soc soc0: Amlogic Meson G12A (Unknown) Revision 28:b (30:2) Detected
|
||||
[ 0.318533] soc soc0: Amlogic Meson G12A (S905Y2) Revision 28:b (30:2) Detected
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
drivers/soc/amlogic/meson-gx-socinfo.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/soc/amlogic/meson-gx-socinfo.c b/drivers/soc/amlogic/meson-gx-socinfo.c
|
||||
index 6f54bd832c8b..165f7548401b 100644
|
||||
--- a/drivers/soc/amlogic/meson-gx-socinfo.c
|
||||
+++ b/drivers/soc/amlogic/meson-gx-socinfo.c
|
||||
@@ -65,6 +65,7 @@ static const struct meson_gx_package_id {
|
||||
{ "A113X", 0x25, 0x37, 0xff },
|
||||
{ "A113D", 0x25, 0x22, 0xff },
|
||||
{ "S905D2", 0x28, 0x10, 0xf0 },
|
||||
+ { "S905Y2", 0x28, 0x30, 0xf0 },
|
||||
{ "S905X2", 0x28, 0x40, 0xf0 },
|
||||
{ "A311D", 0x29, 0x10, 0xf0 },
|
||||
{ "S922X", 0x29, 0x40, 0xf0 },
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 5772ac3d4d2eb52cd9051d3a79f36ec587d08a91 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Tue, 30 Nov 2021 14:08:06 +0000
|
||||
Subject: [PATCH 19/71] FROMGIT: arm64: dts: meson: p241: add vcc_5v regulator
|
||||
|
||||
Add the VCC_5V regulator, which feeds the HDMI, USB and audio amplifier.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20211130100159.214489-2-jbrunet@baylibre.com
|
||||
---
|
||||
.../arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
index eb7f5a3fefd4..9d0684a8264b 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
@@ -84,6 +84,14 @@
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
+ vcc_5v: regulator-vcc-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+
|
||||
emmc_pwrseq: emmc-pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
|
||||
@@ -136,6 +144,7 @@
|
||||
status = "okay";
|
||||
pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
+ hdmi-supply = <&vcc_5v>;
|
||||
};
|
||||
|
||||
&hdmi_tx_tmds_port {
|
||||
@@ -220,3 +229,7 @@
|
||||
status = "okay";
|
||||
dr_mode = "host";
|
||||
};
|
||||
+
|
||||
+&usb2_phy0 {
|
||||
+ phy-supply = <&vcc_5v>;
|
||||
+};
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 3ca769d11ba14c46f2bc52fe633dc878c8d6f288 Mon Sep 17 00:00:00 2001
|
||||
From: Cai Huoqing <caihuoqing@baidu.com>
|
||||
Date: Tue, 14 Sep 2021 15:10:02 +0000
|
||||
Subject: [PATCH 19/60] FROMGIT: soc: amlogic: canvas: Make use of the helper
|
||||
function devm_platform_ioremap_resource()
|
||||
|
||||
Use the devm_platform_ioremap_resource() helper instead of
|
||||
calling platform_get_resource() and devm_ioremap_resource()
|
||||
separately
|
||||
|
||||
Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20210908071544.603-1-caihuoqing@baidu.com
|
||||
---
|
||||
drivers/soc/amlogic/meson-canvas.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/soc/amlogic/meson-canvas.c b/drivers/soc/amlogic/meson-canvas.c
|
||||
index d0329ad170d1..383b0cfc584e 100644
|
||||
--- a/drivers/soc/amlogic/meson-canvas.c
|
||||
+++ b/drivers/soc/amlogic/meson-canvas.c
|
||||
@@ -168,7 +168,6 @@ EXPORT_SYMBOL_GPL(meson_canvas_free);
|
||||
|
||||
static int meson_canvas_probe(struct platform_device *pdev)
|
||||
{
|
||||
- struct resource *res;
|
||||
struct meson_canvas *canvas;
|
||||
struct device *dev = &pdev->dev;
|
||||
|
||||
@@ -176,8 +175,7 @@ static int meson_canvas_probe(struct platform_device *pdev)
|
||||
if (!canvas)
|
||||
return -ENOMEM;
|
||||
|
||||
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
- canvas->reg_base = devm_ioremap_resource(dev, res);
|
||||
+ canvas->reg_base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(canvas->reg_base))
|
||||
return PTR_ERR(canvas->reg_base);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,114 @@
|
||||
From 7421ba1c742ed81077d147b65995b4c3c0c06ea9 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Tue, 30 Nov 2021 14:08:53 +0000
|
||||
Subject: [PATCH 20/71] FROMGIT: arm64: dts: meson: p241: add sound support
|
||||
|
||||
Add the p241 sound card support. This board can play audio through HDMI
|
||||
and the internal DAC.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20211130100159.214489-3-jbrunet@baylibre.com
|
||||
---
|
||||
.../boot/dts/amlogic/meson-gxl-s805x-p241.dts | 70 +++++++++++++++++++
|
||||
1 file changed, 70 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
index 9d0684a8264b..ff906becd2ab 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
|
||||
@@ -8,6 +8,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/sound/meson-aiu.h>
|
||||
|
||||
#include "meson-gxl-s805x.dtsi"
|
||||
|
||||
@@ -21,6 +22,13 @@
|
||||
ethernet0 = ðmac;
|
||||
};
|
||||
|
||||
+ au2: analog-amplifier {
|
||||
+ compatible = "simple-audio-amplifier";
|
||||
+ sound-name-prefix = "AU2";
|
||||
+ VCC-supply = <&vcc_5v>;
|
||||
+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
@@ -110,6 +118,68 @@
|
||||
clocks = <&wifi32k>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,gx-sound-card";
|
||||
+ model = "GXL-P241";
|
||||
+ audio-aux-devs = <&au2>;
|
||||
+ audio-widgets = "Line", "Lineout";
|
||||
+ audio-routing = "AU2 INL", "ACODEC LOLN",
|
||||
+ "AU2 INR", "ACODEC LORN",
|
||||
+ "Lineout", "AU2 OUTL",
|
||||
+ "Lineout", "AU2 OUTR";
|
||||
+ assigned-clocks = <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>,
|
||||
+ <&clkc CLKID_MPLL2>;
|
||||
+ assigned-clock-parents = <0>, <0>, <0>;
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-1 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||||
+ dai-format = "i2s";
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||||
+ };
|
||||
+
|
||||
+ codec-1 {
|
||||
+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-2 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-3 {
|
||||
+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&acodec>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&acodec {
|
||||
+ AVDD-supply = <&vddio_ao18>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&aiu {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
&cec_AO {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 14f405c0277266c8f09203813c93f2eb2d8be1b5 Mon Sep 17 00:00:00 2001
|
||||
From: Cai Huoqing <caihuoqing@baidu.com>
|
||||
Date: Tue, 14 Sep 2021 15:10:45 +0000
|
||||
Subject: [PATCH 20/60] FROMGIT: soc: amlogic: meson-clk-measure: Make use of
|
||||
the helper function devm_platform_ioremap_resource()
|
||||
|
||||
Use the devm_platform_ioremap_resource() helper instead of
|
||||
calling platform_get_resource() and devm_ioremap_resource()
|
||||
separately
|
||||
|
||||
Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20210908071544.603-2-caihuoqing@baidu.com
|
||||
---
|
||||
drivers/soc/amlogic/meson-clk-measure.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/soc/amlogic/meson-clk-measure.c b/drivers/soc/amlogic/meson-clk-measure.c
|
||||
index 6dd190270123..3f3039600357 100644
|
||||
--- a/drivers/soc/amlogic/meson-clk-measure.c
|
||||
+++ b/drivers/soc/amlogic/meson-clk-measure.c
|
||||
@@ -606,7 +606,6 @@ static int meson_msr_probe(struct platform_device *pdev)
|
||||
{
|
||||
const struct meson_msr_id *match_data;
|
||||
struct meson_msr *priv;
|
||||
- struct resource *res;
|
||||
struct dentry *root, *clks;
|
||||
void __iomem *base;
|
||||
int i;
|
||||
@@ -624,8 +623,7 @@ static int meson_msr_probe(struct platform_device *pdev)
|
||||
|
||||
memcpy(priv->msr_table, match_data, sizeof(priv->msr_table));
|
||||
|
||||
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
- base = devm_ioremap_resource(&pdev->dev, res);
|
||||
+ base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,30 +0,0 @@
|
||||
From d74a4ec6a83b29c7706fe072b933b30b76c38b57 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 11:19:54 +0000
|
||||
Subject: [PATCH 21/60] FROMGIT: ASoC: meson: implement driver_name for
|
||||
snd_soc_card in meson-card-utils
|
||||
|
||||
Implement driver_name to provide an alternative to card_name for userspace
|
||||
configuration of Amlogic audio cards.
|
||||
|
||||
Suggested-by: Matthias Reichl <hias@horus.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
sound/soc/meson/meson-card-utils.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/soc/meson/meson-card-utils.c b/sound/soc/meson/meson-card-utils.c
|
||||
index 415cc0046e4b..29b0174f4b5c 100644
|
||||
--- a/sound/soc/meson/meson-card-utils.c
|
||||
+++ b/sound/soc/meson/meson-card-utils.c
|
||||
@@ -302,6 +302,7 @@ int meson_card_probe(struct platform_device *pdev)
|
||||
|
||||
priv->card.owner = THIS_MODULE;
|
||||
priv->card.dev = dev;
|
||||
+ priv->card.driver_name = dev->driver->name;
|
||||
priv->match_data = data;
|
||||
|
||||
ret = snd_soc_of_parse_card_name(&priv->card, "model");
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 1918f1f5e7e8ddefa517d945b7dac6cdc73ef17d Mon Sep 17 00:00:00 2001
|
||||
From 879077d4975581151203ff7be708243fa80e6c73 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Sat, 16 Oct 2021 13:45:35 +0000
|
||||
Subject: [PATCH 25/60] FROMLIST(v2): clk: meson: gxbb: Fix the SDM_EN bit for
|
||||
MPLL0 on GXBB
|
||||
Subject: [PATCH 21/71] FROMGIT: clk: meson: gxbb: Fix the SDM_EN bit for MPLL0
|
||||
on GXBB
|
||||
|
||||
There are reports that 48kHz audio does not work on his WeTek Play 2
|
||||
(which uses a GXBB SoC), while 44.1kHz audio works fine on the same
|
@ -0,0 +1,706 @@
|
||||
From 9a0730311c90afef97e77a5f71d335db2c6d563a Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Estevam <festevam@denx.de>
|
||||
Date: Wed, 24 Nov 2021 13:20:05 +0000
|
||||
Subject: [PATCH 22/71] FROMGIT: ath10k: Fix the MTU size on QCA9377 SDIO
|
||||
|
||||
On an imx6dl-pico-pi board with a QCA9377 SDIO chip, simply trying to
|
||||
connect via ssh to another machine causes:
|
||||
|
||||
[ 55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
|
||||
[ 55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
|
||||
[ 55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
|
||||
[ 55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
|
||||
[ 55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
|
||||
[ 55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
|
||||
|
||||
leading to an ssh connection failure.
|
||||
|
||||
One user inspected the size of frames on Wireshark and reported
|
||||
the followig:
|
||||
|
||||
"I was able to narrow the issue down to the mtu. If I set the mtu for
|
||||
the wlan0 device to 1486 instead of 1500, the issue does not happen.
|
||||
|
||||
The size of frames that I see on Wireshark is exactly 1500 after
|
||||
setting it to 1486."
|
||||
|
||||
Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
|
||||
the ssh command works successfully after that.
|
||||
|
||||
Introduce a 'credit_size_workaround' field to ath10k_hw_params for
|
||||
the QCA9377 SDIO, so that the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE
|
||||
is not set in this case.
|
||||
|
||||
Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
|
||||
|
||||
Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
|
||||
Signed-off-by: Fabio Estevam <festevam@denx.de>
|
||||
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-sm1-ac2xx.ok.dtsi | 375 ++++++++++++++++++
|
||||
.../dts/amlogic/meson-sm1-x96-air-100.ok.dts | 106 +++++
|
||||
drivers/net/wireless/ath/ath10k/core.c | 19 +-
|
||||
drivers/net/wireless/ath/ath10k/hw.h | 3 +
|
||||
4 files changed, 502 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.ok.dtsi
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.ok.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.ok.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.ok.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..034959bcff00
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.ok.dtsi
|
||||
@@ -0,0 +1,375 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre SAS. All rights reserved.
|
||||
+ * Copyright (c) 2020 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+ *
|
||||
+ * AC200/AC202 = S905D3
|
||||
+ * AC213/AC214 = S905X3
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "meson-sm1.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ serial0 = &uart_AO;
|
||||
+ ethernet0 = ðmac;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ emmc_pwrseq: emmc-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_connector_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ ao_5v: regulator-ao_5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "AO_5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&dc_in>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ dc_in: regulator-dc_in {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "DC_IN";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ emmc_1v8: regulator-emmc_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "EMMC_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_3v3: regulator-vddao_3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&dc_in>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddcpu: regulator-vddcpu {
|
||||
+ /*
|
||||
+ * SY8120B1ABC DC/DC Regulator.
|
||||
+ */
|
||||
+ compatible = "pwm-regulator";
|
||||
+
|
||||
+ regulator-name = "VDDCPU";
|
||||
+ regulator-min-microvolt = <690000>;
|
||||
+ regulator-max-microvolt = <1050000>;
|
||||
+
|
||||
+ vin-supply = <&dc_in>;
|
||||
+
|
||||
+ pwms = <&pwm_AO_cd 1 1500 0>;
|
||||
+ pwm-dutycycle-range = <100 0>;
|
||||
+
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddio_ao1v8: regulator-vddio_ao1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDIO_AO1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
|
||||
+ clocks = <&wifi32k>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,axg-sound-card";
|
||||
+ model = "SM1-X96-AIR";
|
||||
+ 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";
|
||||
+
|
||||
+ 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>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /* hdmi glue */
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
||||
+
|
||||
+ codec {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wifi32k: wifi32k {
|
||||
+ compatible = "pwm-clock";
|
||||
+ #clock-cells = <0>;
|
||||
+ clock-frequency = <32768>;
|
||||
+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&arb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cec_AO {
|
||||
+ pinctrl-0 = <&cec_ao_a_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "disabled";
|
||||
+ hdmi-phandle = <&hdmi_tx>;
|
||||
+};
|
||||
+
|
||||
+&cecb_AO {
|
||||
+ pinctrl-0 = <&cec_ao_b_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ hdmi-phandle = <&hdmi_tx>;
|
||||
+};
|
||||
+
|
||||
+&clkc_audio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU1_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU2_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU3_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx_tmds_port {
|
||||
+ hdmi_tx_tmds_out: endpoint {
|
||||
+ remote-endpoint = <&hdmi_connector_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&remote_input_ao_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ linux,rc-map-name = "rc-beelink-gs1";
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_ab {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&pwm_ao_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin0";
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_cd {
|
||||
+ pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin1";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm_ef {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&pwm_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin0";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&vddio_ao1v8>;
|
||||
+};
|
||||
+
|
||||
+&sd_emmc_a {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdio_pins>;
|
||||
+ pinctrl-1 = <&sdio_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ sd-uhs-sdr50;
|
||||
+ max-frequency = <35000000>;
|
||||
+
|
||||
+ non-removable;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ /* WiFi firmware requires power to be kept while in suspend */
|
||||
+ keep-power-in-suspend;
|
||||
+
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+
|
||||
+ vmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&vddio_ao1v8>;
|
||||
+};
|
||||
+
|
||||
+/* SD card */
|
||||
+&sd_emmc_b {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdcard_c_pins>;
|
||||
+ pinctrl-1 = <&sdcard_clk_gate_c_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ max-frequency = <35000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&vddao_3v3>;
|
||||
+};
|
||||
+
|
||||
+/* eMMC */
|
||||
+&sd_emmc_c {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
|
||||
+ pinctrl-1 = <&emmc_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ max-frequency = <200000000>;
|
||||
+ non-removable;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ mmc-pwrseq = <&emmc_pwrseq>;
|
||||
+ vmmc-supply = <&vddao_3v3>;
|
||||
+ vqmmc-supply = <&emmc_1v8>;
|
||||
+};
|
||||
+
|
||||
+&tdmif_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmout_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tohdmitx {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart_AO {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_ao_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&usb {
|
||||
+ status = "okay";
|
||||
+ dr_mode = "otg";
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.ok.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.ok.dts
|
||||
new file mode 100644
|
||||
index 000000000000..7899c93b9910
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.ok.dts
|
||||
@@ -0,0 +1,106 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre SAS. All rights reserved.
|
||||
+ * Copyright (c) 2020 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-sm1-ac2xx.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "amediatech,x96-air-2g", "amlogic,sm1";
|
||||
+ model = "Shenzhen Amediatech Technology Co., Ltd X96 Air";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &rtl8189ftv;
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,axg-sound-card";
|
||||
+ model = "SM1-X96-AIR";
|
||||
+ 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";
|
||||
+
|
||||
+ 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>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /* hdmi glue */
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
||||
+
|
||||
+ codec {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ status = "okay";
|
||||
+ phy-handle = <&internal_ephy>;
|
||||
+ phy-mode = "rmii";
|
||||
+};
|
||||
+
|
||||
+&sd_emmc_a {
|
||||
+ rtl8189ftv: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart_A {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8822cs-bt";
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "host-wakeup";
|
||||
+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
||||
+ max-speed = <2000000>;
|
||||
+ clocks = <&wifi32k>;
|
||||
+ clock-names = "lpo";
|
||||
+ vbat-supply = <&vddao_3v3>;
|
||||
+ vddio-supply = <&vddio_ao1v8>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
|
||||
index 5935e0973d14..5e3b4d10c1a9 100644
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -89,6 +89,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = true,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -124,6 +125,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = true,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -160,6 +162,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -190,6 +193,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.num_wds_entries = 0x20,
|
||||
.uart_pin_workaround = true,
|
||||
.tx_stats_over_pktlog = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.bmi_large_size_download = true,
|
||||
.supports_peer_stats_info = true,
|
||||
.dynamic_sar_support = true,
|
||||
@@ -226,6 +230,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -261,6 +266,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -296,6 +302,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -334,6 +341,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = true,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.supports_peer_stats_info = true,
|
||||
.dynamic_sar_support = true,
|
||||
@@ -376,6 +384,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -424,6 +433,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -469,6 +479,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -504,6 +515,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -541,6 +553,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = true,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -570,6 +583,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.ast_skid_limit = 0x10,
|
||||
.num_wds_entries = 0x20,
|
||||
.uart_pin_workaround = true,
|
||||
+ .credit_size_workaround = true,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
{
|
||||
@@ -611,6 +625,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = false,
|
||||
.hw_filter_reset_required = true,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = false,
|
||||
},
|
||||
@@ -639,6 +654,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
|
||||
.rri_on_ddr = true,
|
||||
.hw_filter_reset_required = false,
|
||||
.fw_diag_ce_download = false,
|
||||
+ .credit_size_workaround = false,
|
||||
.tx_stats_over_pktlog = false,
|
||||
.dynamic_sar_support = true,
|
||||
},
|
||||
@@ -714,6 +730,7 @@ static void ath10k_send_suspend_complete(struct ath10k *ar)
|
||||
|
||||
static int ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
|
||||
{
|
||||
+ bool mtu_workaround = ar->hw_params.credit_size_workaround;
|
||||
int ret;
|
||||
u32 param = 0;
|
||||
|
||||
@@ -731,7 +748,7 @@ static int ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
|
||||
|
||||
param |= HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET;
|
||||
|
||||
- if (mode == ATH10K_FIRMWARE_MODE_NORMAL)
|
||||
+ if (mode == ATH10K_FIRMWARE_MODE_NORMAL && !mtu_workaround)
|
||||
param |= HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
|
||||
else
|
||||
param &= ~HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
|
||||
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
|
||||
index 6b03c7787e36..591ef7416b61 100644
|
||||
--- a/drivers/net/wireless/ath/ath10k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath10k/hw.h
|
||||
@@ -618,6 +618,9 @@ struct ath10k_hw_params {
|
||||
*/
|
||||
bool uart_pin_workaround;
|
||||
|
||||
+ /* Workaround for the credit size calculation */
|
||||
+ bool credit_size_workaround;
|
||||
+
|
||||
/* tx stats support over pktlog */
|
||||
bool tx_stats_over_pktlog;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,133 +0,0 @@
|
||||
From e25b25780778b016152db20e138f1944ab55fe19 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Sun, 21 Nov 2021 19:53:25 +0000
|
||||
Subject: [PATCH 22/60] FROMGIT: media: v4l2-core: fix VIDIOC_DQEVENT handling
|
||||
on non-x86
|
||||
|
||||
My previous bugfix addressed an API inconsistency found by syzbot,
|
||||
and it correctly fixed the issue on x86-64 machines, which now behave
|
||||
correctly for both native and compat tasks.
|
||||
|
||||
Unfortunately, John found that the patch broke compat mode on all other
|
||||
architectures, as they can no longer rely on the VIDIOC_DQEVENT_TIME32
|
||||
code from the native handler as a fallback in the compat code.
|
||||
|
||||
The best way I can see for addressing this is to generalize the
|
||||
VIDIOC_DQEVENT32_TIME32 code from x86 and use that for all architectures,
|
||||
leaving only the VIDIOC_DQEVENT32 variant as x86 specific. The original
|
||||
code was trying to be clever and use the same conversion helper for native
|
||||
32-bit code and compat mode, but that turned out to be too obscure so
|
||||
even I missed that bit I had introduced myself when I made the fix.
|
||||
|
||||
Fixes: c344f07aa1b4 ("media: v4l2-core: ignore native time32 ioctls on 64-bit")
|
||||
Reported-by: John Stultz <john.stultz@linaro.org>
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
---
|
||||
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 41 ++++++++-----------
|
||||
1 file changed, 17 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
|
||||
index 47aff3b19742..80aaf07b16f2 100644
|
||||
--- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
|
||||
+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
|
||||
@@ -744,10 +744,6 @@ static int put_v4l2_ext_controls32(struct v4l2_ext_controls *p64,
|
||||
/*
|
||||
* x86 is the only compat architecture with different struct alignment
|
||||
* between 32-bit and 64-bit tasks.
|
||||
- *
|
||||
- * On all other architectures, v4l2_event32 and v4l2_event32_time32 are
|
||||
- * the same as v4l2_event and v4l2_event_time32, so we can use the native
|
||||
- * handlers, converting v4l2_event to v4l2_event_time32 if necessary.
|
||||
*/
|
||||
struct v4l2_event32 {
|
||||
__u32 type;
|
||||
@@ -765,21 +761,6 @@ struct v4l2_event32 {
|
||||
__u32 reserved[8];
|
||||
};
|
||||
|
||||
-#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
-struct v4l2_event32_time32 {
|
||||
- __u32 type;
|
||||
- union {
|
||||
- compat_s64 value64;
|
||||
- __u8 data[64];
|
||||
- } u;
|
||||
- __u32 pending;
|
||||
- __u32 sequence;
|
||||
- struct old_timespec32 timestamp;
|
||||
- __u32 id;
|
||||
- __u32 reserved[8];
|
||||
-};
|
||||
-#endif
|
||||
-
|
||||
static int put_v4l2_event32(struct v4l2_event *p64,
|
||||
struct v4l2_event32 __user *p32)
|
||||
{
|
||||
@@ -795,7 +776,22 @@ static int put_v4l2_event32(struct v4l2_event *p64,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
+struct v4l2_event32_time32 {
|
||||
+ __u32 type;
|
||||
+ union {
|
||||
+ compat_s64 value64;
|
||||
+ __u8 data[64];
|
||||
+ } u;
|
||||
+ __u32 pending;
|
||||
+ __u32 sequence;
|
||||
+ struct old_timespec32 timestamp;
|
||||
+ __u32 id;
|
||||
+ __u32 reserved[8];
|
||||
+};
|
||||
+
|
||||
static int put_v4l2_event32_time32(struct v4l2_event *p64,
|
||||
struct v4l2_event32_time32 __user *p32)
|
||||
{
|
||||
@@ -811,7 +807,6 @@ static int put_v4l2_event32_time32(struct v4l2_event *p64,
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
-#endif
|
||||
|
||||
struct v4l2_edid32 {
|
||||
__u32 pad;
|
||||
@@ -873,9 +868,7 @@ static int put_v4l2_edid32(struct v4l2_edid *p64,
|
||||
#define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct v4l2_buffer32_time32)
|
||||
#define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct v4l2_buffer32_time32)
|
||||
#define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct v4l2_buffer32_time32)
|
||||
-#ifdef CONFIG_X86_64
|
||||
#define VIDIOC_DQEVENT32_TIME32 _IOR ('V', 89, struct v4l2_event32_time32)
|
||||
-#endif
|
||||
#define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct v4l2_buffer32_time32)
|
||||
#endif
|
||||
|
||||
@@ -929,10 +922,10 @@ unsigned int v4l2_compat_translate_cmd(unsigned int cmd)
|
||||
#ifdef CONFIG_X86_64
|
||||
case VIDIOC_DQEVENT32:
|
||||
return VIDIOC_DQEVENT;
|
||||
+#endif
|
||||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
case VIDIOC_DQEVENT32_TIME32:
|
||||
return VIDIOC_DQEVENT;
|
||||
-#endif
|
||||
#endif
|
||||
}
|
||||
return cmd;
|
||||
@@ -1025,10 +1018,10 @@ int v4l2_compat_put_user(void __user *arg, void *parg, unsigned int cmd)
|
||||
#ifdef CONFIG_X86_64
|
||||
case VIDIOC_DQEVENT32:
|
||||
return put_v4l2_event32(parg, arg);
|
||||
+#endif
|
||||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
case VIDIOC_DQEVENT32_TIME32:
|
||||
return put_v4l2_event32_time32(parg, arg);
|
||||
-#endif
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 672fdfb31b8d41b0bc70ef8a42b917d566141fb4 Mon Sep 17 00:00:00 2001
|
||||
From 2aff51a9d669d46e2d440953cce4716bd3ec07ac Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Sun, 3 Oct 2021 05:35:48 +0000
|
||||
Subject: [PATCH 26/60] FROMLIST(RFCv1): ASoC: meson: aiu: Fix HDMI codec
|
||||
control selection
|
||||
Subject: [PATCH 23/71] FROMLIST(v1): ASoC: meson: aiu: Fix HDMI codec control
|
||||
selection
|
||||
|
||||
The HDMI controllers on Amlogic Meson SoCs which use the AIU
|
||||
audio-controller have two different audio format inputs:
|
@ -1,37 +0,0 @@
|
||||
From 8625017fb7c5f6e6547f075272574125e66e2259 Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Wed, 22 Sep 2021 05:55:57 +0000
|
||||
Subject: [PATCH 23/60] FROMLIST(v1): arm64: dts: meson-g12b-odroid-n2: add 5v
|
||||
regulator gpio
|
||||
|
||||
As described in the Odroid-n2 & Odroid-n2-plus schematics,
|
||||
the 5V regulator is controlled by GPIOH_8 and in Open Drain
|
||||
since this GPIO doesn't support Push-Pull.
|
||||
|
||||
Fixes: c35f6dc5c377 ("arm64: dts: meson: Add minimal support for Odroid-N2")
|
||||
Fixes: ef599f5f3e10 ("arm64: dts: meson: convert ODROID-N2 to dtsi")
|
||||
|
||||
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20210920204739.950-1-linux.amoon@gmail.com
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
index 4f33820aba1f..e8a00a2f8812 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
@@ -99,6 +99,8 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <&main_12v>;
|
||||
+ gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
|
||||
+ enable-active-high;
|
||||
};
|
||||
|
||||
vcc_1v8: regulator-vcc_1v8 {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,43 @@
|
||||
From ef16ab5f71fa35fc0ccbc1d866d456300b5b1092 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Sun, 5 Dec 2021 19:34:24 +0000
|
||||
Subject: [PATCH 24/71] FROMLIST(v1): ASoC: meson: aiu: fifo: Add missing
|
||||
dma_coerce_mask_and_coherent()
|
||||
|
||||
The FIFO registers which take an DMA-able address are only 32-bit wide
|
||||
on AIU. Add dma_coerce_mask_and_coherent() to make the DMA core aware of
|
||||
this limitation.
|
||||
|
||||
Fixes: 6ae9ca9ce986bf ("ASoC: meson: aiu: add i2s and spdif support")
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
sound/soc/meson/aiu-fifo.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/meson/aiu-fifo.c b/sound/soc/meson/aiu-fifo.c
|
||||
index 4ad23267cace..d67ff4cdabd5 100644
|
||||
--- a/sound/soc/meson/aiu-fifo.c
|
||||
+++ b/sound/soc/meson/aiu-fifo.c
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <linux/bitfield.h>
|
||||
#include <linux/clk.h>
|
||||
+#include <linux/dma-mapping.h>
|
||||
#include <sound/pcm_params.h>
|
||||
#include <sound/soc.h>
|
||||
#include <sound/soc-dai.h>
|
||||
@@ -179,6 +180,11 @@ int aiu_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd,
|
||||
struct snd_card *card = rtd->card->snd_card;
|
||||
struct aiu_fifo *fifo = dai->playback_dma_data;
|
||||
size_t size = fifo->pcm->buffer_bytes_max;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32));
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV,
|
||||
card->dev, size, size);
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 557ca56ff23234e2cd8fce4d3aa1c752bedded9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Mon, 20 Sep 2021 09:44:05 +0200
|
||||
Subject: [PATCH 24/60] FROMLIST(v1): hwrng: meson - Improve error handling for
|
||||
core clock
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
-ENOENT (ie. "there is no clock") is fine to ignore for an optional
|
||||
clock, other values are not supposed to be ignored and should be
|
||||
escalated to the caller (e.g. -EPROBE_DEFER). Ignore -ENOENT by using
|
||||
devm_clk_get_optional().
|
||||
|
||||
While touching this code also add an error message for the fatal errors.
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
drivers/char/hw_random/meson-rng.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/hw_random/meson-rng.c b/drivers/char/hw_random/meson-rng.c
|
||||
index e446236e81f2..8bb30282ca46 100644
|
||||
--- a/drivers/char/hw_random/meson-rng.c
|
||||
+++ b/drivers/char/hw_random/meson-rng.c
|
||||
@@ -54,9 +54,10 @@ static int meson_rng_probe(struct platform_device *pdev)
|
||||
if (IS_ERR(data->base))
|
||||
return PTR_ERR(data->base);
|
||||
|
||||
- data->core_clk = devm_clk_get(dev, "core");
|
||||
+ data->core_clk = devm_clk_get_optional(dev, "core");
|
||||
if (IS_ERR(data->core_clk))
|
||||
- data->core_clk = NULL;
|
||||
+ return dev_err_probe(dev, PTR_ERR(data->core_clk),
|
||||
+ "Failed to get core clock\n");
|
||||
|
||||
if (data->core_clk) {
|
||||
ret = clk_prepare_enable(data->core_clk);
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,139 @@
|
||||
From 9d074170f9183c0d56a6f165d06b98cc6a1a6400 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Sun, 5 Dec 2021 02:33:33 +0000
|
||||
Subject: [PATCH 25/71] FROMLIST(v1): ASoC: meson: aiu: Move AIU_I2S_MISC hold
|
||||
setting to aiu-fifo-i2s
|
||||
|
||||
The out-of-tree vendor driver uses the following approach to set the
|
||||
AIU_I2S_MISC register:
|
||||
1) write AIU_MEM_I2S_START_PTR and AIU_MEM_I2S_RD_PTR
|
||||
2) configure AIU_I2S_MUTE_SWAP[15:0]
|
||||
3) write AIU_MEM_I2S_END_PTR
|
||||
4) set AIU_I2S_MISC[2] to 1 (documented as: "put I2S interface in hold
|
||||
mode")
|
||||
5) set AIU_I2S_MISC[4] to 1 (depending on the driver revision it always
|
||||
stays at 1 while for older drivers this bit is unset in step 4)
|
||||
6) set AIU_I2S_MISC[2] to 0
|
||||
7) write AIU_MEM_I2S_MASKS
|
||||
8) toggle AIU_MEM_I2S_CONTROL[0]
|
||||
9) toggle AIU_MEM_I2S_BUF_CNTL[0]
|
||||
|
||||
Additional testing shows that when AIU_I2S_MISC[2] is set to 1 then no
|
||||
interrupts are generated anymore. The way this bit is managed by the
|
||||
vendor driver as well as not getting any interrupts can mean that it's
|
||||
related to the FIFO and not the encoder.
|
||||
|
||||
Move setting the AIU_I2S_MISC[2] bit to aiu_fifo_i2s_hw_params() so it
|
||||
closer resembles the flow in the vendor kernel. While here also
|
||||
configure AIU_I2S_MISC[4] (documented as: "force each audio data to
|
||||
left or right according to the bit attached with the audio data")
|
||||
similar to how the vendor driver does this. This fixes the infamous and
|
||||
long-standing "machine gun noise" issue (a buffer underrun issue).
|
||||
|
||||
Fixes: 6ae9ca9ce986bf ("ASoC: meson: aiu: add i2s and spdif support")
|
||||
Reported-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Reported-by: Geraldo Nascimento <geraldogabriel@gmail.com>
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
sound/soc/meson/aiu-encoder-i2s.c | 33 -------------------------------
|
||||
sound/soc/meson/aiu-fifo-i2s.c | 12 +++++++++++
|
||||
2 files changed, 12 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/meson/aiu-encoder-i2s.c b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
index f8378066d448..88637deb2d7a 100644
|
||||
--- a/sound/soc/meson/aiu-encoder-i2s.c
|
||||
+++ b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
@@ -18,7 +18,6 @@
|
||||
#define AIU_RST_SOFT_I2S_FAST BIT(0)
|
||||
|
||||
#define AIU_I2S_DAC_CFG_MSB_FIRST BIT(2)
|
||||
-#define AIU_I2S_MISC_HOLD_EN BIT(2)
|
||||
#define AIU_CLK_CTRL_I2S_DIV_EN BIT(0)
|
||||
#define AIU_CLK_CTRL_I2S_DIV GENMASK(3, 2)
|
||||
#define AIU_CLK_CTRL_AOCLK_INVERT BIT(6)
|
||||
@@ -35,37 +34,6 @@ static void aiu_encoder_i2s_divider_enable(struct snd_soc_component *component,
|
||||
enable ? AIU_CLK_CTRL_I2S_DIV_EN : 0);
|
||||
}
|
||||
|
||||
-static void aiu_encoder_i2s_hold(struct snd_soc_component *component,
|
||||
- bool enable)
|
||||
-{
|
||||
- snd_soc_component_update_bits(component, AIU_I2S_MISC,
|
||||
- AIU_I2S_MISC_HOLD_EN,
|
||||
- enable ? AIU_I2S_MISC_HOLD_EN : 0);
|
||||
-}
|
||||
-
|
||||
-static int aiu_encoder_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||
- struct snd_soc_dai *dai)
|
||||
-{
|
||||
- struct snd_soc_component *component = dai->component;
|
||||
-
|
||||
- switch (cmd) {
|
||||
- case SNDRV_PCM_TRIGGER_START:
|
||||
- case SNDRV_PCM_TRIGGER_RESUME:
|
||||
- case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
||||
- aiu_encoder_i2s_hold(component, false);
|
||||
- return 0;
|
||||
-
|
||||
- case SNDRV_PCM_TRIGGER_STOP:
|
||||
- case SNDRV_PCM_TRIGGER_SUSPEND:
|
||||
- case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
||||
- aiu_encoder_i2s_hold(component, true);
|
||||
- return 0;
|
||||
-
|
||||
- default:
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static int aiu_encoder_i2s_setup_desc(struct snd_soc_component *component,
|
||||
struct snd_pcm_hw_params *params)
|
||||
{
|
||||
@@ -347,7 +315,6 @@ static void aiu_encoder_i2s_shutdown(struct snd_pcm_substream *substream,
|
||||
}
|
||||
|
||||
const struct snd_soc_dai_ops aiu_encoder_i2s_dai_ops = {
|
||||
- .trigger = aiu_encoder_i2s_trigger,
|
||||
.hw_params = aiu_encoder_i2s_hw_params,
|
||||
.hw_free = aiu_encoder_i2s_hw_free,
|
||||
.set_fmt = aiu_encoder_i2s_set_fmt,
|
||||
diff --git a/sound/soc/meson/aiu-fifo-i2s.c b/sound/soc/meson/aiu-fifo-i2s.c
|
||||
index 2388a2d0b3a6..d0a1090d6465 100644
|
||||
--- a/sound/soc/meson/aiu-fifo-i2s.c
|
||||
+++ b/sound/soc/meson/aiu-fifo-i2s.c
|
||||
@@ -20,6 +20,8 @@
|
||||
#define AIU_MEM_I2S_CONTROL_MODE_16BIT BIT(6)
|
||||
#define AIU_MEM_I2S_BUF_CNTL_INIT BIT(0)
|
||||
#define AIU_RST_SOFT_I2S_FAST BIT(0)
|
||||
+#define AIU_I2S_MISC_HOLD_EN BIT(2)
|
||||
+#define AIU_I2S_MISC_FORCE_LEFT_RIGHT BIT(4)
|
||||
|
||||
#define AIU_FIFO_I2S_BLOCK 256
|
||||
|
||||
@@ -90,6 +92,10 @@ static int aiu_fifo_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
unsigned int val;
|
||||
int ret;
|
||||
|
||||
+ snd_soc_component_update_bits(component, AIU_I2S_MISC,
|
||||
+ AIU_I2S_MISC_HOLD_EN,
|
||||
+ AIU_I2S_MISC_HOLD_EN);
|
||||
+
|
||||
ret = aiu_fifo_hw_params(substream, params, dai);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -117,6 +123,12 @@ static int aiu_fifo_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
snd_soc_component_update_bits(component, AIU_MEM_I2S_MASKS,
|
||||
AIU_MEM_I2S_MASKS_IRQ_BLOCK, val);
|
||||
|
||||
+ snd_soc_component_update_bits(component, AIU_I2S_MISC,
|
||||
+ AIU_I2S_MISC_FORCE_LEFT_RIGHT,
|
||||
+ AIU_I2S_MISC_FORCE_LEFT_RIGHT);
|
||||
+ snd_soc_component_update_bits(component, AIU_I2S_MISC,
|
||||
+ AIU_I2S_MISC_HOLD_EN, 0);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,39 @@
|
||||
From d814ae9808603b9f9c336c87e0df45f8570f2d3d Mon Sep 17 00:00:00 2001
|
||||
From: David Heidelberg <david@ixit.cz>
|
||||
Date: Sat, 27 Nov 2021 07:23:35 +0000
|
||||
Subject: [PATCH 26/71] FROMLIST(v1): arm64: dts: meson: make dts use gpio-fan
|
||||
matrix instead of array
|
||||
|
||||
No functional changes.
|
||||
|
||||
Adjust to comply with dt-schema requirements
|
||||
and make possible to validate values.
|
||||
|
||||
Signed-off-by: David Heidelberg <david@ixit.cz>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
|
||||
index 9c26d7489d2a..c5e3b5587135 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 @@
|
||||
gpios = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH
|
||||
&gpio GPIODV_15 GPIO_ACTIVE_HIGH>;
|
||||
/* Dummy RPM values since fan is optional */
|
||||
- gpio-fan,speed-map = <0 0
|
||||
- 1 1
|
||||
- 2 2
|
||||
- 3 3>;
|
||||
+ gpio-fan,speed-map =
|
||||
+ <0 0>,
|
||||
+ <1 1>,
|
||||
+ <2 2>,
|
||||
+ <3 3>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 30c6fc86c9027949f04928cc5e7fb2b5bfcf721a Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Wed, 20 Oct 2021 20:03:05 +0000
|
||||
Subject: [PATCH 27/60] FROMLIST(v1): ASoC: meson: axg-card: make links
|
||||
nonatomic
|
||||
|
||||
Non atomic operations need to be performed in the trigger callback
|
||||
of the TDM interfaces. Those are BEs but what matters is the nonatomic
|
||||
flag of the FE in the DPCM context. Just set nonatomic for everything so,
|
||||
at least, it is clear.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
sound/soc/meson/axg-card.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c
|
||||
index 2b77010c2c5c..cbbaa55d92a6 100644
|
||||
--- a/sound/soc/meson/axg-card.c
|
||||
+++ b/sound/soc/meson/axg-card.c
|
||||
@@ -320,6 +320,7 @@ static int axg_card_add_link(struct snd_soc_card *card, struct device_node *np,
|
||||
|
||||
dai_link->cpus = cpu;
|
||||
dai_link->num_cpus = 1;
|
||||
+ dai_link->nonatomic = true;
|
||||
|
||||
ret = meson_card_parse_dai(card, np, &dai_link->cpus->of_node,
|
||||
&dai_link->cpus->dai_name);
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,44 @@
|
||||
From 6a53f5161b04f4079faafe3e2c7f07a5e806a743 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Sat, 27 Nov 2021 07:29:18 +0000
|
||||
Subject: [PATCH 27/71] FROMLIST(v1): pwm: meson: Drop always false check from
|
||||
.request()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In .request() pwm_get_chip_data() returns NULL always since commit
|
||||
e926b12c611c ("pwm: Clear chip_data in pwm_put()"). (And if it didn't
|
||||
returning 0 would be wrong because then .request() wouldn't reenable
|
||||
the clk which the other driver code depends on.)
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
---
|
||||
drivers/pwm/pwm-meson.c | 8 +-------
|
||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
|
||||
index 3cf3bcf5ddfc..be3c806b57e4 100644
|
||||
--- a/drivers/pwm/pwm-meson.c
|
||||
+++ b/drivers/pwm/pwm-meson.c
|
||||
@@ -120,16 +120,10 @@ static inline struct meson_pwm *to_meson_pwm(struct pwm_chip *chip)
|
||||
static int meson_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
|
||||
{
|
||||
struct meson_pwm *meson = to_meson_pwm(chip);
|
||||
- struct meson_pwm_channel *channel;
|
||||
+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
struct device *dev = chip->dev;
|
||||
int err;
|
||||
|
||||
- channel = pwm_get_chip_data(pwm);
|
||||
- if (channel)
|
||||
- return 0;
|
||||
-
|
||||
- channel = &meson->channels[pwm->hwpwm];
|
||||
-
|
||||
if (channel->clk_parent) {
|
||||
err = clk_set_parent(channel->clk, channel->clk_parent);
|
||||
if (err < 0) {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,77 +0,0 @@
|
||||
From 17c65fae4e17678468e7eb0c6107914adad7852f Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Wed, 20 Oct 2021 20:03:57 +0000
|
||||
Subject: [PATCH 28/60] FROMLIST(v1): ASoC: meson: axg-tdm-interface: manage
|
||||
formatters in trigger
|
||||
|
||||
So far, the formatters have been reset/enabled using the .prepare()
|
||||
callback. This was done in this callback because walking the formatters use
|
||||
a mutex so it could not be done in .trigger(), which is atomic by default.
|
||||
|
||||
It turns out there is a problem on capture path of the AXG series.
|
||||
The FIFO may get out of sync with the TDM decoder if the IP are not enabled
|
||||
in a specific order. The FIFO must be enabled before the formatter starts
|
||||
producing data. IOW, we must deal with FE before the BE. The .prepare()
|
||||
callback is called on the BEs before the FE so it is not OK for the AXG.
|
||||
|
||||
The .trigger() callback order can be configured, and it deals with the FE
|
||||
before the BEs by default. To solve our problem, we just need to start and
|
||||
stop the formatters from the .trigger() callback. It is OK do so now that
|
||||
the links have been made 'nonatomic' in the card driver.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
sound/soc/meson/axg-tdm-interface.c | 26 +++++++++++++++++++++-----
|
||||
1 file changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/meson/axg-tdm-interface.c b/sound/soc/meson/axg-tdm-interface.c
|
||||
index 87cac440b369..db077773af7a 100644
|
||||
--- a/sound/soc/meson/axg-tdm-interface.c
|
||||
+++ b/sound/soc/meson/axg-tdm-interface.c
|
||||
@@ -351,13 +351,29 @@ static int axg_tdm_iface_hw_free(struct snd_pcm_substream *substream,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int axg_tdm_iface_prepare(struct snd_pcm_substream *substream,
|
||||
+static int axg_tdm_iface_trigger(struct snd_pcm_substream *substream,
|
||||
+ int cmd,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
- struct axg_tdm_stream *ts = snd_soc_dai_get_dma_data(dai, substream);
|
||||
+ struct axg_tdm_stream *ts =
|
||||
+ snd_soc_dai_get_dma_data(dai, substream);
|
||||
+
|
||||
+ switch (cmd) {
|
||||
+ case SNDRV_PCM_TRIGGER_START:
|
||||
+ case SNDRV_PCM_TRIGGER_RESUME:
|
||||
+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
||||
+ axg_tdm_stream_start(ts);
|
||||
+ break;
|
||||
+ case SNDRV_PCM_TRIGGER_SUSPEND:
|
||||
+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
||||
+ case SNDRV_PCM_TRIGGER_STOP:
|
||||
+ axg_tdm_stream_stop(ts);
|
||||
+ break;
|
||||
+ default:
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
|
||||
- /* Force all attached formatters to update */
|
||||
- return axg_tdm_stream_reset(ts);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int axg_tdm_iface_remove_dai(struct snd_soc_dai *dai)
|
||||
@@ -397,8 +413,8 @@ static const struct snd_soc_dai_ops axg_tdm_iface_ops = {
|
||||
.set_fmt = axg_tdm_iface_set_fmt,
|
||||
.startup = axg_tdm_iface_startup,
|
||||
.hw_params = axg_tdm_iface_hw_params,
|
||||
- .prepare = axg_tdm_iface_prepare,
|
||||
.hw_free = axg_tdm_iface_hw_free,
|
||||
+ .trigger = axg_tdm_iface_trigger,
|
||||
};
|
||||
|
||||
/* TDM Backend DAIs */
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 3264849b3829771aa04104a99e6cf901a4ee8053 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Sat, 27 Nov 2021 07:30:03 +0000
|
||||
Subject: [PATCH 28/71] FROMLIST(v1): pwm: meson: Drop useless check for
|
||||
channel data being NULL
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In meson_pwm_free() the function pwm_get_chip_data() always returns a
|
||||
non-NULL pointer because it's only called when the request callback
|
||||
succeeded and this callback calls pwm_set_chip_data() in this case.
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
---
|
||||
drivers/pwm/pwm-meson.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
|
||||
index be3c806b57e4..1fbe54a2abfe 100644
|
||||
--- a/drivers/pwm/pwm-meson.c
|
||||
+++ b/drivers/pwm/pwm-meson.c
|
||||
@@ -148,8 +148,7 @@ static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
|
||||
{
|
||||
struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||
|
||||
- if (channel)
|
||||
- clk_disable_unprepare(channel->clk);
|
||||
+ clk_disable_unprepare(channel->clk);
|
||||
}
|
||||
|
||||
static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm,
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,70 @@
|
||||
From c796aad314bc6363997e02e15c3430e5f586d4bf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Sat, 27 Nov 2021 07:31:03 +0000
|
||||
Subject: [PATCH 29/71] FROMLIST(v1): pwm: meson: Simplify duplicated
|
||||
per-channel tracking
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The driver tracks per-channel data via struct pwm_device::chip_data and
|
||||
struct meson_pwm::channels[]. The latter holds the actual data, the former
|
||||
is only a pointer to the latter. So simplify by using struct
|
||||
meson_pwm::channels[] consistently.
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
---
|
||||
drivers/pwm/pwm-meson.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
|
||||
index 1fbe54a2abfe..908e314c7c00 100644
|
||||
--- a/drivers/pwm/pwm-meson.c
|
||||
+++ b/drivers/pwm/pwm-meson.c
|
||||
@@ -141,12 +141,13 @@ static int meson_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
|
||||
return err;
|
||||
}
|
||||
|
||||
- return pwm_set_chip_data(pwm, channel);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
|
||||
{
|
||||
- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||
+ struct meson_pwm *meson = to_meson_pwm(chip);
|
||||
+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
|
||||
clk_disable_unprepare(channel->clk);
|
||||
}
|
||||
@@ -154,7 +155,7 @@ static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
|
||||
static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||
+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
unsigned int duty, period, pre_div, cnt, duty_cnt;
|
||||
unsigned long fin_freq;
|
||||
|
||||
@@ -217,7 +218,7 @@ static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm,
|
||||
|
||||
static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
|
||||
{
|
||||
- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||
+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
struct meson_pwm_channel_data *channel_data;
|
||||
unsigned long flags;
|
||||
u32 value;
|
||||
@@ -260,8 +261,8 @@ static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm)
|
||||
static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||
struct meson_pwm *meson = to_meson_pwm(chip);
|
||||
+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
int err = 0;
|
||||
|
||||
if (!state)
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 84006909a914eb189bcff27e5566f78affd7da46 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Sat, 27 Nov 2021 07:32:18 +0000
|
||||
Subject: [PATCH 30/71] FROMLIST(v1): pwm: meson: Drop always false check from
|
||||
.apply()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The pwm core only calls the apply callback with a valid state pointer,
|
||||
so don't repeat this check already done in the core.
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
---
|
||||
drivers/pwm/pwm-meson.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
|
||||
index 908e314c7c00..57112f438c6d 100644
|
||||
--- a/drivers/pwm/pwm-meson.c
|
||||
+++ b/drivers/pwm/pwm-meson.c
|
||||
@@ -265,9 +265,6 @@ static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm];
|
||||
int err = 0;
|
||||
|
||||
- if (!state)
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (!state->enabled) {
|
||||
if (state->polarity == PWM_POLARITY_INVERSED) {
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,93 @@
|
||||
From b44918f1bf3acbd64c4a25f033350a17740551e1 Mon Sep 17 00:00:00 2001
|
||||
From: Maxime Ripard <maxime@cerno.tech>
|
||||
Date: Sat, 27 Nov 2021 07:26:47 +0000
|
||||
Subject: [PATCH 31/71] FROMLIST(v1): drm/connector: Add define for HDMI 1.4
|
||||
Maximum Pixel Rate
|
||||
|
||||
A lot of drivers open-code the HDMI 1.4 maximum pixel rate in their
|
||||
driver to test whether the resolutions are supported or if the
|
||||
scrambling needs to be enabled.
|
||||
|
||||
Let's create a common define for everyone to use it.
|
||||
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++--
|
||||
drivers/gpu/drm/drm_edid.c | 2 +-
|
||||
drivers/gpu/drm/meson/meson_dw_hdmi.c | 4 ++--
|
||||
include/drm/drm_connector.h | 2 ++
|
||||
4 files changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
|
||||
index f08d0fded61f..2081f1e443ae 100644
|
||||
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
|
||||
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
|
||||
@@ -46,7 +46,7 @@
|
||||
/* DW-HDMI Controller >= 0x200a are at least compliant with SCDC version 1 */
|
||||
#define SCDC_MIN_SOURCE_VERSION 0x1
|
||||
|
||||
-#define HDMI14_MAX_TMDSCLK 340000000
|
||||
+#define HDMI14_MAX_TMDSCLK (DRM_HDMI_14_MAX_TMDS_CLK_KHZ * 1000)
|
||||
|
||||
enum hdmi_datamap {
|
||||
RGB444_8B = 0x01,
|
||||
@@ -1264,7 +1264,7 @@ static bool dw_hdmi_support_scdc(struct dw_hdmi *hdmi,
|
||||
* for low rates is not supported either
|
||||
*/
|
||||
if (!display->hdmi.scdc.scrambling.low_rates &&
|
||||
- display->max_tmds_clock <= 340000)
|
||||
+ display->max_tmds_clock <= DRM_HDMI_14_MAX_TMDS_CLK_KHZ)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
|
||||
index 12893e7be89b..4d3473b2f72f 100644
|
||||
--- a/drivers/gpu/drm/drm_edid.c
|
||||
+++ b/drivers/gpu/drm/drm_edid.c
|
||||
@@ -4975,7 +4975,7 @@ static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
|
||||
u32 max_tmds_clock = hf_vsdb[5] * 5000;
|
||||
struct drm_scdc *scdc = &hdmi->scdc;
|
||||
|
||||
- if (max_tmds_clock > 340000) {
|
||||
+ if (max_tmds_clock > DRM_HDMI_14_MAX_TMDS_CLK_KHZ) {
|
||||
display->max_tmds_clock = max_tmds_clock;
|
||||
DRM_DEBUG_KMS("HF-VSDB: max TMDS clock %d kHz\n",
|
||||
display->max_tmds_clock);
|
||||
diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
||||
index 0afbd1e70bfc..8078667aea0e 100644
|
||||
--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
||||
@@ -434,7 +434,7 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
|
||||
readl_relaxed(priv->io_base + _REG(VPU_HDMI_SETTING));
|
||||
|
||||
DRM_DEBUG_DRIVER("\"%s\" div%d\n", mode->name,
|
||||
- mode->clock > 340000 ? 40 : 10);
|
||||
+ mode->clock > DRM_HDMI_14_MAX_TMDS_CLK_KHZ ? 40 : 10);
|
||||
|
||||
/* Enable clocks */
|
||||
regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, 0xffff, 0x100);
|
||||
@@ -457,7 +457,7 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
|
||||
dw_hdmi->data->top_write(dw_hdmi, HDMITX_TOP_BIST_CNTL, BIT(12));
|
||||
|
||||
/* TMDS pattern setup */
|
||||
- if (mode->clock > 340000 &&
|
||||
+ if (mode->clock > DRM_HDMI_14_MAX_TMDS_CLK_KHZ &&
|
||||
dw_hdmi->output_bus_fmt == MEDIA_BUS_FMT_YUV8_1X24) {
|
||||
dw_hdmi->data->top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01,
|
||||
0);
|
||||
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
|
||||
index 379746d3266f..09f462d3e8fa 100644
|
||||
--- a/include/drm/drm_connector.h
|
||||
+++ b/include/drm/drm_connector.h
|
||||
@@ -258,6 +258,8 @@ struct drm_hdmi_info {
|
||||
struct drm_hdmi_dsc_cap dsc_cap;
|
||||
};
|
||||
|
||||
+#define DRM_HDMI_14_MAX_TMDS_CLK_KHZ (340 * 1000)
|
||||
+
|
||||
/**
|
||||
* enum drm_link_status - connector's link_status property value
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,36 @@
|
||||
From cf3c77bd72ec22e3aff26d3ee8e8ad52ba54e733 Mon Sep 17 00:00:00 2001
|
||||
From: Artem Lapkin <art@khadas.com>
|
||||
Date: Sat, 27 Nov 2021 07:36:59 +0000
|
||||
Subject: [PATCH 32/71] FROMLIST(v1): watchdog: meson_gxbb_wdt: remove
|
||||
watchdog_stop_on_reboot()
|
||||
|
||||
The Meson platform still has some hardware drivers problems for some
|
||||
configurations which can freeze devices on shutdown/reboot.
|
||||
|
||||
Remove watchdog_stop_on_reboot() to catch this situation and ensure that
|
||||
the reboot happens anyway. Users who still want to stop the watchdog on
|
||||
reboot can still do so using the watchdog.stop_on_reboot=1 module
|
||||
parameter.
|
||||
|
||||
https://lore.kernel.org/linux-watchdog/20210729072308.1908904-1-art@khadas.com/T/#t
|
||||
|
||||
Signed-off-by: Artem Lapkin <art@khadas.com>
|
||||
---
|
||||
drivers/watchdog/meson_gxbb_wdt.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/watchdog/meson_gxbb_wdt.c b/drivers/watchdog/meson_gxbb_wdt.c
|
||||
index 945f5e65db57..d3c9e2f6e63b 100644
|
||||
--- a/drivers/watchdog/meson_gxbb_wdt.c
|
||||
+++ b/drivers/watchdog/meson_gxbb_wdt.c
|
||||
@@ -198,7 +198,6 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev)
|
||||
|
||||
meson_gxbb_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout);
|
||||
|
||||
- watchdog_stop_on_reboot(&data->wdt_dev);
|
||||
return devm_watchdog_register_device(dev, &data->wdt_dev);
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,8 @@
|
||||
From 00c422fab52c36c4a76ba4f480d887960191db6a Mon Sep 17 00:00:00 2001
|
||||
From 53e48359e0382879afa5c4b0d63e389779e12e83 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 24 Jun 2020 12:41:46 +0000
|
||||
Subject: [PATCH 46/60] arm64: dts: meson: add common SM1 ac2xx dtsi
|
||||
Subject: [PATCH 33/71] FROMLIST(v1): arm64: dts: meson: add common SM1 ac2xx
|
||||
dtsi
|
||||
|
||||
Add a common dtsi for Android STB devices based on the Amlogic S905X3
|
||||
(AC213/AC214) and S905D3 (AC201/AC202) reference designs. The dtsi is
|
||||
@ -9,24 +10,10 @@ loosely based on the existing SEI610 device-tree.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../devicetree/bindings/arm/amlogic.yaml | 2 +
|
||||
.../boot/dts/amlogic/meson-sm1-ac2xx.dtsi | 300 ++++++++++++++++++
|
||||
2 files changed, 302 insertions(+)
|
||||
1 file changed, 300 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index 67dccdd9a5a4..61aebbb3090e 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -168,6 +168,8 @@ properties:
|
||||
- description: Boards with the Amlogic Meson SM1 S905X3/D3/Y3 SoC
|
||||
items:
|
||||
- enum:
|
||||
+ - amediatech,x96-air-100
|
||||
+ - amediatech,x96-air-1000
|
||||
- bananapi,bpi-m5
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..46a34731f7e2
|
@ -0,0 +1,32 @@
|
||||
From 70f1885edac68b9b87c7a84939d55736f97d630d Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 18 May 2020 23:23:40 +0000
|
||||
Subject: [PATCH 34/71] FROMLIST(v1): dt-bindings: arm: amlogic: add X96-AIR
|
||||
bindings
|
||||
|
||||
Add board bindings for the Amediatech X96-AIR STB which ships with
|
||||
model variants distiguished by Ethernet configuration: models using
|
||||
internal 10/100 PHY have a -100 suffix, while models using external
|
||||
Gigabit PHY have a -1000 suffix.
|
||||
|
||||
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 36081734f720..e9ab0ffe8be7 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -170,6 +170,8 @@ properties:
|
||||
- description: Boards with the Amlogic Meson SM1 S905X3/D3/Y3 SoC
|
||||
items:
|
||||
- enum:
|
||||
+ - amediatech,x96-air-100
|
||||
+ - amediatech,x96-air-1000
|
||||
- bananapi,bpi-m5
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,8 @@
|
||||
From 2efcc5d41cecfba052a80c8645e17bebd6bb849e Mon Sep 17 00:00:00 2001
|
||||
From 8fd19097221a773829b88f77ed1a9b0c3ee15cbb Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 24 Jun 2020 15:04:10 +0000
|
||||
Subject: [PATCH 47/60] arm64: dts: meson: add initial device-trees for X96-AIR
|
||||
Subject: [PATCH 35/71] FROMLIST(v1): arm64: dts: meson: add initial
|
||||
device-trees for X96-AIR
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@ -29,32 +30,18 @@ and with -1000 suffix supports models with Gigabit Ethernet.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../devicetree/bindings/arm/amlogic.yaml | 2 +
|
||||
arch/arm64/boot/dts/amlogic/Makefile | 2 +
|
||||
.../dts/amlogic/meson-sm1-x96-air-100.dts | 112 +++++++++++++++
|
||||
.../dts/amlogic/meson-sm1-x96-air-1000.dts | 133 ++++++++++++++++++
|
||||
4 files changed, 249 insertions(+)
|
||||
3 files changed, 247 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.dts
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-1000.dts
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index 61aebbb3090e..172ed028e686 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -171,6 +171,8 @@ properties:
|
||||
- amediatech,x96-air-100
|
||||
- amediatech,x96-air-1000
|
||||
- bananapi,bpi-m5
|
||||
+ - cyx,a95xf3-air-100
|
||||
+ - cyx,a95xf3-air-1000
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
||||
- khadas,vim3l
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
index be308361e2f1..69f7d5fd29ea 100644
|
||||
index 5148cd9e5146..a0c1a7fbae57 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -54,4 +54,6 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb
|
||||
@@ -56,4 +56,6 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb
|
||||
@ -63,7 +50,7 @@ index be308361e2f1..69f7d5fd29ea 100644
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.dts
|
||||
new file mode 100644
|
||||
index 000000000000..54a765c1948b
|
||||
index 000000000000..d9e5bc98a46a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-100.dts
|
||||
@@ -0,0 +1,112 @@
|
||||
@ -147,9 +134,9 @@ index 000000000000..54a765c1948b
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ status = "okay";
|
||||
+ phy-handle = <&internal_ephy>;
|
||||
+ phy-mode = "rmii";
|
||||
+ status = "okay";
|
||||
+ phy-handle = <&internal_ephy>;
|
||||
+ phy-mode = "rmii";
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
@ -0,0 +1,30 @@
|
||||
From 2ca8292f3d20489223bed83d3bc16b5e76cfd9cd Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 30 Nov 2021 05:00:45 +0000
|
||||
Subject: [PATCH 36/71] FROMLIST(v1): dt-bindings: vendor-prefixes: add cyx
|
||||
prefix
|
||||
|
||||
Shenzhen CYX Industrial Co., Ltd are a manufacturer of Android
|
||||
Set-Top Box devices.
|
||||
|
||||
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 66d6432fd781..f1b4afb2876a 100644
|
||||
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
|
||||
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
|
||||
@@ -279,6 +279,8 @@ patternProperties:
|
||||
description: CUI Devices
|
||||
"^cypress,.*":
|
||||
description: Cypress Semiconductor Corporation
|
||||
+ "^cyx,.*":
|
||||
+ description: Shenzhen CYX Industrial Co., Ltd
|
||||
"^cznic,.*":
|
||||
description: CZ.NIC, z.s.p.o.
|
||||
"^dallas,.*":
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,32 @@
|
||||
From 281384b1d2535b236a093d115bdf8361a419880f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 29 Jun 2020 15:54:45 +0000
|
||||
Subject: [PATCH 37/71] FROMLIST(v1): dt-bindings: arm: amlogic: add A95XF3-AIR
|
||||
bindings
|
||||
|
||||
Add board bindings for the CYX A95XF3-AIR set-top box which ships
|
||||
with model variants distiguished by Ethernet configuration: models
|
||||
using internal 10/100 PHY have a -100 suffix, while models using
|
||||
external Gigabit PHY have a -1000 suffix.
|
||||
|
||||
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 e9ab0ffe8be7..1dc793eb35f4 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -173,6 +173,8 @@ properties:
|
||||
- amediatech,x96-air-100
|
||||
- amediatech,x96-air-1000
|
||||
- bananapi,bpi-m5
|
||||
+ - cyx,a95xf3-air-100
|
||||
+ - cyx,a95xf3-air-1000
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
||||
- khadas,vim3l
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 3c5414373037e6ecdafe87fecb97e2b083517f63 Mon Sep 17 00:00:00 2001
|
||||
From 5a8f5aa9f84d506c7b4174bc606c6ca4ee3a6904 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 3 Jun 2020 18:03:22 +0000
|
||||
Subject: [PATCH 48/60] arm64: dts: meson: add initial device-trees for
|
||||
A95XF3-AIR
|
||||
Subject: [PATCH 38/71] FROMLIST(v1): arm64: dts: meson: add initial
|
||||
device-trees for A95XF3-AIR
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@ -38,10 +38,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-1000.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
index 69f7d5fd29ea..111425d59da0 100644
|
||||
index a0c1a7fbae57..e198d17f2ea8 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -49,6 +49,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
|
||||
@@ -51,6 +51,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb
|
||||
@ -52,7 +52,7 @@ index 69f7d5fd29ea..111425d59da0 100644
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-100.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-100.dts
|
||||
new file mode 100644
|
||||
index 000000000000..1d3820c4a2f5
|
||||
index 000000000000..5158cc40485e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-100.dts
|
||||
@@ -0,0 +1,108 @@
|
||||
@ -136,9 +136,9 @@ index 000000000000..1d3820c4a2f5
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ status = "okay";
|
||||
+ phy-handle = <&internal_ephy>;
|
||||
+ phy-mode = "rmii";
|
||||
+ status = "okay";
|
||||
+ phy-handle = <&internal_ephy>;
|
||||
+ phy-mode = "rmii";
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
@ -1,7 +1,8 @@
|
||||
From 97716a8c52bb002a8ec1e1e1814f6ad752a32940 Mon Sep 17 00:00:00 2001
|
||||
From 7a4bea19df5da8fe19a7e6c09f8480325399dc81 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Jan 2021 17:24:07 +0000
|
||||
Subject: [PATCH 49/60] dt-bindings: vendor-prefixes: add haochuangyi prefix
|
||||
Subject: [PATCH 39/71] FROMLIST(v1): dt-bindings: vendor-prefixes: add
|
||||
haochuangyi prefix
|
||||
|
||||
Shenzhen Haochuangyi Technology Co.,Ltd are a manufcaturer of Android
|
||||
Set-Top Box devices.
|
||||
@ -12,10 +13,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 a867f7102c35..fc3e9205946f 100644
|
||||
index f1b4afb2876a..52ff63248892 100644
|
||||
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
|
||||
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
|
||||
@@ -471,6 +471,8 @@ patternProperties:
|
||||
@@ -483,6 +483,8 @@ patternProperties:
|
||||
deprecated: true
|
||||
"^hannstar,.*":
|
||||
description: HannStar Display Corporation
|
@ -1,7 +1,8 @@
|
||||
From 242a6ff12de0a23a10cd96f20882b1717ee76b57 Mon Sep 17 00:00:00 2001
|
||||
From ba5fc3ea8be0a54ec98766dd0f0a073d0c5eea8a Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Jan 2021 17:25:33 +0000
|
||||
Subject: [PATCH 50/60] dt-bindings: arm: amlogic: add H96-Max bindings
|
||||
Subject: [PATCH 40/71] FROMLIST(v1): dt-bindings: arm: amlogic: add H96-Max
|
||||
bindings
|
||||
|
||||
Add the board binding for the Haochuangyi H96-Max STB device.
|
||||
|
||||
@ -11,10 +12,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 172ed028e686..903ab1796c07 100644
|
||||
index 1dc793eb35f4..1e792feecc69 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -175,6 +175,7 @@ properties:
|
||||
@@ -177,6 +177,7 @@ properties:
|
||||
- cyx,a95xf3-air-1000
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
@ -1,7 +1,8 @@
|
||||
From ba87086b3333005e2a1b1a6b1b9552b0f598d7eb Mon Sep 17 00:00:00 2001
|
||||
From 1a2bf7ec89e3bdd444dabdb2a0ad95deeed0dae4 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 12 Jan 2021 17:26:42 +0000
|
||||
Subject: [PATCH 51/60] arm64: dts: meson: add initial device-tree for H96-Max
|
||||
Subject: [PATCH 41/71] FROMLIST(v1): arm64: dts: meson: add initial
|
||||
device-tree for H96-Max
|
||||
|
||||
The Haochuangyi H96-Max is based on the Amlogic S905X3 reference
|
||||
design with the following specs:
|
||||
@ -29,10 +30,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
index 111425d59da0..60a12b6d560a 100644
|
||||
index e198d17f2ea8..2d7cbebba35a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -52,6 +52,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb
|
||||
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-100.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-1000.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb
|
@ -0,0 +1,36 @@
|
||||
From 99dd1222b8bff38d88de9b98264292aa65c43753 Mon Sep 17 00:00:00 2001
|
||||
From: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Date: Mon, 6 Dec 2021 04:25:36 +0000
|
||||
Subject: [PATCH 42/71] FROMLIST(v4): phy: amlogic: phy-meson-gxl-usb2: fix
|
||||
shared reset controller use
|
||||
|
||||
Use reset_control_rearm() call if an error occurs in case
|
||||
phy_meson_gxl_usb2_init() fails after reset() has been called ; or in case
|
||||
phy_meson_gxl_usb2_exit() is called i.e the resource is no longer used
|
||||
and the reset line may be triggered again by other devices.
|
||||
|
||||
reset_control_rearm() keeps use of triggered_count sane in the reset
|
||||
framework. Therefore, use of reset_control_reset() on shared reset line
|
||||
should be balanced with reset_control_rearm().
|
||||
|
||||
Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Reported-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
drivers/phy/amlogic/phy-meson-gxl-usb2.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/phy/amlogic/phy-meson-gxl-usb2.c b/drivers/phy/amlogic/phy-meson-gxl-usb2.c
|
||||
index 2b3c0d730f20..d2f56075dc57 100644
|
||||
--- a/drivers/phy/amlogic/phy-meson-gxl-usb2.c
|
||||
+++ b/drivers/phy/amlogic/phy-meson-gxl-usb2.c
|
||||
@@ -125,6 +125,7 @@ static int phy_meson_gxl_usb2_exit(struct phy *phy)
|
||||
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
|
||||
|
||||
clk_disable_unprepare(priv->clk);
|
||||
+ reset_control_rearm(priv->reset);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,60 +0,0 @@
|
||||
From a4af329ff09bb610bb7206f629589a2b98d04f29 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Wed, 23 Dec 2020 02:45:27 +0100
|
||||
Subject: [PATCH 42/60] WIP: ASoC: meson: aiu: encoder-spdif: implement the
|
||||
.mute_stream callback
|
||||
|
||||
Implement the .mute_stream callback based on code from the vendor
|
||||
driver.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
sound/soc/meson/aiu-encoder-spdif.c | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/meson/aiu-encoder-spdif.c b/sound/soc/meson/aiu-encoder-spdif.c
|
||||
index de850913975f..5c42a784cee4 100644
|
||||
--- a/sound/soc/meson/aiu-encoder-spdif.c
|
||||
+++ b/sound/soc/meson/aiu-encoder-spdif.c
|
||||
@@ -19,6 +19,8 @@
|
||||
#define AIU_958_MISC_U_FROM_STREAM BIT(12)
|
||||
#define AIU_958_MISC_FORCE_LR BIT(13)
|
||||
#define AIU_958_CTRL_HOLD_EN BIT(0)
|
||||
+#define AIU_958_CTRL_MUTE_RIGHT_SPEAKER BIT(3)
|
||||
+#define AIU_958_CTRL_MUTE_LEFT_SPEAKER BIT(4)
|
||||
#define AIU_CLK_CTRL_958_DIV_EN BIT(1)
|
||||
#define AIU_CLK_CTRL_958_DIV GENMASK(5, 4)
|
||||
#define AIU_CLK_CTRL_958_DIV_MORE BIT(12)
|
||||
@@ -200,10 +202,29 @@ static void aiu_encoder_spdif_shutdown(struct snd_pcm_substream *substream,
|
||||
clk_bulk_disable_unprepare(aiu->spdif.clk_num, aiu->spdif.clks);
|
||||
}
|
||||
|
||||
+static int aiu_encoder_spdif_mute_stream(struct snd_soc_dai *dai, int mute,
|
||||
+ int stream)
|
||||
+{
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ u32 value = 0;
|
||||
+
|
||||
+ if (mute)
|
||||
+ value = AIU_958_CTRL_MUTE_RIGHT_SPEAKER |
|
||||
+ AIU_958_CTRL_MUTE_LEFT_SPEAKER;
|
||||
+
|
||||
+ snd_soc_component_update_bits(component, AIU_958_CTRL,
|
||||
+ AIU_958_CTRL_MUTE_RIGHT_SPEAKER |
|
||||
+ AIU_958_CTRL_MUTE_LEFT_SPEAKER,
|
||||
+ value);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
const struct snd_soc_dai_ops aiu_encoder_spdif_dai_ops = {
|
||||
.trigger = aiu_encoder_spdif_trigger,
|
||||
.hw_params = aiu_encoder_spdif_hw_params,
|
||||
.hw_free = aiu_encoder_spdif_hw_free,
|
||||
.startup = aiu_encoder_spdif_startup,
|
||||
.shutdown = aiu_encoder_spdif_shutdown,
|
||||
+ .mute_stream = aiu_encoder_spdif_mute_stream,
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 3ef02f4bce0f0035941d37005cc3a8a57e36c217 Mon Sep 17 00:00:00 2001
|
||||
From: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Date: Mon, 6 Dec 2021 04:26:22 +0000
|
||||
Subject: [PATCH 43/71] FROMLIST(v4): phy: amlogic: meson8b-usb2: Use
|
||||
dev_err_probe()
|
||||
|
||||
Use the existing dev_err_probe() helper instead of open-coding the same
|
||||
operation.
|
||||
|
||||
Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Reported-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
drivers/phy/amlogic/phy-meson8b-usb2.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
index cf10bed40528..77e7e9b1428c 100644
|
||||
--- a/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
@@ -265,8 +265,9 @@ static int phy_meson8b_usb2_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(priv->clk_usb);
|
||||
|
||||
priv->reset = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
|
||||
- if (PTR_ERR(priv->reset) == -EPROBE_DEFER)
|
||||
- return PTR_ERR(priv->reset);
|
||||
+ if (IS_ERR(priv->reset))
|
||||
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->reset),
|
||||
+ "Failed to get the reset line");
|
||||
|
||||
priv->dr_mode = of_usb_get_dr_mode_by_phy(pdev->dev.of_node, -1);
|
||||
if (priv->dr_mode == USB_DR_MODE_UNKNOWN) {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,69 +0,0 @@
|
||||
From b3ddc4fc78ab0ff9e01958408c8c1b2a40633ebf Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Wed, 23 Dec 2020 02:46:54 +0100
|
||||
Subject: [PATCH 43/60] WIP: ASoC: meson: aiu: encoder-i2s: implement the
|
||||
.mute_stream callback
|
||||
|
||||
Implement the .mute_stream callback based on the code from the vendor
|
||||
driver.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
sound/soc/meson/aiu-encoder-i2s.c | 15 +++++++++++++++
|
||||
sound/soc/meson/aiu.h | 1 +
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/meson/aiu-encoder-i2s.c b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
index f8378066d448..ba3dac987112 100644
|
||||
--- a/sound/soc/meson/aiu-encoder-i2s.c
|
||||
+++ b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
@@ -27,6 +27,8 @@
|
||||
#define AIU_CLK_CTRL_MORE_I2S_DIV GENMASK(5, 0)
|
||||
#define AIU_CODEC_DAC_LRCLK_CTRL_DIV GENMASK(11, 0)
|
||||
|
||||
+#define AIU_I2S_MUTE_SWAP_MUTE GENMASK(15, 8)
|
||||
+
|
||||
static void aiu_encoder_i2s_divider_enable(struct snd_soc_component *component,
|
||||
bool enable)
|
||||
{
|
||||
@@ -346,6 +348,18 @@ static void aiu_encoder_i2s_shutdown(struct snd_pcm_substream *substream,
|
||||
clk_bulk_disable_unprepare(aiu->i2s.clk_num, aiu->i2s.clks);
|
||||
}
|
||||
|
||||
+static int aiu_encoder_i2s_mute_stream(struct snd_soc_dai *dai, int mute,
|
||||
+ int stream)
|
||||
+{
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+
|
||||
+ snd_soc_component_update_bits(component, AIU_I2S_MUTE_SWAP,
|
||||
+ AIU_I2S_MUTE_SWAP_MUTE,
|
||||
+ mute ? AIU_I2S_MUTE_SWAP_MUTE : 0);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
const struct snd_soc_dai_ops aiu_encoder_i2s_dai_ops = {
|
||||
.trigger = aiu_encoder_i2s_trigger,
|
||||
.hw_params = aiu_encoder_i2s_hw_params,
|
||||
@@ -354,5 +368,6 @@ const struct snd_soc_dai_ops aiu_encoder_i2s_dai_ops = {
|
||||
.set_sysclk = aiu_encoder_i2s_set_sysclk,
|
||||
.startup = aiu_encoder_i2s_startup,
|
||||
.shutdown = aiu_encoder_i2s_shutdown,
|
||||
+ .mute_stream = aiu_encoder_i2s_mute_stream,
|
||||
};
|
||||
|
||||
diff --git a/sound/soc/meson/aiu.h b/sound/soc/meson/aiu.h
|
||||
index 393b6c2307e4..7884c50f244d 100644
|
||||
--- a/sound/soc/meson/aiu.h
|
||||
+++ b/sound/soc/meson/aiu.h
|
||||
@@ -66,6 +66,7 @@ extern const struct snd_soc_dai_ops aiu_encoder_spdif_dai_ops;
|
||||
#define AIU_958_CHSTAT_L0 0x020
|
||||
#define AIU_958_CHSTAT_L1 0x024
|
||||
#define AIU_958_CTRL 0x028
|
||||
+#define AIU_I2S_MUTE_SWAP 0x030
|
||||
#define AIU_I2S_SOURCE_DESC 0x034
|
||||
#define AIU_I2S_DAC_CFG 0x040
|
||||
#define AIU_I2S_SYNC 0x044
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,60 @@
|
||||
From b0a1060c2eb88bd8f4b3958193658024b01fedb7 Mon Sep 17 00:00:00 2001
|
||||
From: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Date: Mon, 6 Dec 2021 04:27:13 +0000
|
||||
Subject: [PATCH 44/71] FROMLIST(v4): phy: amlogic: meson8b-usb2: fix shared
|
||||
reset control use
|
||||
|
||||
Use reset_control_rearm() call if an error occurs in case
|
||||
phy_meson8b_usb2_power_on() fails after reset() has been called, or in
|
||||
case phy_meson8b_usb2_power_off() is called i.e the resource is no longer
|
||||
used and the reset line may be triggered again by other devices.
|
||||
|
||||
reset_control_rearm() keeps use of triggered_count sane in the reset
|
||||
framework, use of reset_control_reset() on shared reset line should
|
||||
be balanced with reset_control_rearm().
|
||||
|
||||
Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
|
||||
Reported-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
drivers/phy/amlogic/phy-meson8b-usb2.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
index 77e7e9b1428c..dd96763911b8 100644
|
||||
--- a/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
|
||||
@@ -154,6 +154,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
|
||||
ret = clk_prepare_enable(priv->clk_usb_general);
|
||||
if (ret) {
|
||||
dev_err(&phy->dev, "Failed to enable USB general clock\n");
|
||||
+ reset_control_rearm(priv->reset);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -161,6 +162,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
|
||||
if (ret) {
|
||||
dev_err(&phy->dev, "Failed to enable USB DDR clock\n");
|
||||
clk_disable_unprepare(priv->clk_usb_general);
|
||||
+ reset_control_rearm(priv->reset);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -199,6 +201,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
|
||||
dev_warn(&phy->dev, "USB ID detect failed!\n");
|
||||
clk_disable_unprepare(priv->clk_usb);
|
||||
clk_disable_unprepare(priv->clk_usb_general);
|
||||
+ reset_control_rearm(priv->reset);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
@@ -218,6 +221,7 @@ static int phy_meson8b_usb2_power_off(struct phy *phy)
|
||||
|
||||
clk_disable_unprepare(priv->clk_usb);
|
||||
clk_disable_unprepare(priv->clk_usb_general);
|
||||
+ reset_control_rearm(priv->reset);
|
||||
|
||||
/* power off the PHY by putting it into reset mode */
|
||||
regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,95 @@
|
||||
From ae8697e818bc8d9c3fcb73270f063cad77c9d18f Mon Sep 17 00:00:00 2001
|
||||
From: Jiasheng Jiang <jiasheng@iscas.ac.cn>
|
||||
Date: Wed, 15 Dec 2021 03:49:15 +0000
|
||||
Subject: [PATCH 45/71] FROMLIST(v3): media: meson: vdec: potential dereference
|
||||
of null pointer
|
||||
|
||||
In amvdec_add_ts(), there is a dereference of kzalloc(), which could lead
|
||||
to a NULL pointer dereference on failure of kzalloc().
|
||||
|
||||
Fix this bug by adding a NULL check of new_ts.
|
||||
|
||||
This bug was found by a static analyzer[1].
|
||||
|
||||
Builds with CONFIG_VIDEO_MESON_VDEC=m show no new warnings,
|
||||
and our static analyzer no longer warns about this code.
|
||||
|
||||
Fixes: 876f123b8956 ("media: meson: vdec: bring up to compliance")
|
||||
Signed-off-by: Zhou Qingyang <zhou1615@umn.edu>
|
||||
---
|
||||
drivers/staging/media/meson/vdec/esparser.c | 11 ++++++++++-
|
||||
drivers/staging/media/meson/vdec/vdec_helpers.c | 8 ++++++--
|
||||
drivers/staging/media/meson/vdec/vdec_helpers.h | 2 +-
|
||||
3 files changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index db7022707ff8..819fb937d1a8 100644
|
||||
--- a/drivers/staging/media/meson/vdec/esparser.c
|
||||
+++ b/drivers/staging/media/meson/vdec/esparser.c
|
||||
@@ -328,9 +328,18 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
|
||||
offset = esparser_get_offset(sess);
|
||||
|
||||
- amvdec_add_ts(sess, vb->timestamp, vbuf->timecode, offset, vbuf->flags);
|
||||
+ ret = amvdec_add_ts(sess, vb->timestamp, vbuf->timecode, offset, vbuf->flags);
|
||||
+ if (!ret) {
|
||||
+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
dev_dbg(core->dev, "esparser: ts = %llu pld_size = %u offset = %08X flags = %08X\n",
|
||||
vb->timestamp, payload_size, offset, vbuf->flags);
|
||||
+ if (ret) {
|
||||
+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
|
||||
+ return ret;
|
||||
+ }
|
||||
|
||||
vbuf->flags = 0;
|
||||
vbuf->field = V4L2_FIELD_NONE;
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.c b/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
index b9125c295d1d..06fd66539797 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
@@ -227,13 +227,16 @@ int amvdec_set_canvases(struct amvdec_session *sess,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(amvdec_set_canvases);
|
||||
|
||||
-void amvdec_add_ts(struct amvdec_session *sess, u64 ts,
|
||||
- struct v4l2_timecode tc, u32 offset, u32 vbuf_flags)
|
||||
+int amvdec_add_ts(struct amvdec_session *sess, u64 ts,
|
||||
+ struct v4l2_timecode tc, u32 offset, u32 vbuf_flags)
|
||||
{
|
||||
struct amvdec_timestamp *new_ts;
|
||||
unsigned long flags;
|
||||
|
||||
new_ts = kzalloc(sizeof(*new_ts), GFP_KERNEL);
|
||||
+ if (!new_ts)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
new_ts->ts = ts;
|
||||
new_ts->tc = tc;
|
||||
new_ts->offset = offset;
|
||||
@@ -242,6 +245,7 @@ void amvdec_add_ts(struct amvdec_session *sess, u64 ts,
|
||||
spin_lock_irqsave(&sess->ts_spinlock, flags);
|
||||
list_add_tail(&new_ts->list, &sess->timestamps);
|
||||
spin_unlock_irqrestore(&sess->ts_spinlock, flags);
|
||||
+ return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(amvdec_add_ts);
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.h b/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
index 88137d15aa3a..2c569cf62b7b 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
@@ -56,7 +56,7 @@ void amvdec_dst_buf_done_offset(struct amvdec_session *sess,
|
||||
* @offset: offset in the VIFIFO where the associated packet was written
|
||||
* @flags: the vb2_v4l2_buffer flags
|
||||
*/
|
||||
-void amvdec_add_ts(struct amvdec_session *sess, u64 ts,
|
||||
+int amvdec_add_ts(struct amvdec_session *sess, u64 ts,
|
||||
struct v4l2_timecode tc, u32 offset, u32 flags);
|
||||
void amvdec_remove_ts(struct amvdec_session *sess, u64 ts);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,127 @@
|
||||
From 3162a580bd5c99642c29b3050705cf5c6b4e48b4 Mon Sep 17 00:00:00 2001
|
||||
From: Chen-Yu Tsai <wenst@chromium.org>
|
||||
Date: Wed, 15 Dec 2021 03:51:07 +0000
|
||||
Subject: [PATCH 46/71] FROMLIST(v2): media: v4l2-mem2mem: Apply
|
||||
DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
|
||||
|
||||
DST_QUEUE_OFF_BASE is applied to offset/mem_offset on MMAP capture buffers
|
||||
only for the VIDIOC_QUERYBUF ioctl, while the userspace fields (including
|
||||
offset/mem_offset) are filled in for VIDIOC_{QUERY,PREPARE,Q,DQ}BUF
|
||||
ioctls. This leads to differences in the values presented to userspace.
|
||||
If userspace attempts to mmap the capture buffer directly using values
|
||||
from DQBUF, it will fail.
|
||||
|
||||
Move the code that applies the magic offset into a helper, and call
|
||||
that helper from all four ioctl entry points.
|
||||
|
||||
Fixes: 7f98639def42 ("V4L/DVB: add memory-to-memory device helper framework for videobuf")
|
||||
Fixes: 908a0d7c588e ("[media] v4l: mem2mem: port to videobuf2")
|
||||
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
|
||||
---
|
||||
drivers/media/v4l2-core/v4l2-mem2mem.c | 53 ++++++++++++++++++++------
|
||||
1 file changed, 41 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c
|
||||
index e7f4bf5bc8dd..67582d788b9b 100644
|
||||
--- a/drivers/media/v4l2-core/v4l2-mem2mem.c
|
||||
+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
|
||||
@@ -585,19 +585,14 @@ int v4l2_m2m_reqbufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_reqbufs);
|
||||
|
||||
-int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
- struct v4l2_buffer *buf)
|
||||
+static void v4l2_m2m_adjust_mem_offset(struct vb2_queue *vq,
|
||||
+ struct v4l2_buffer *buf)
|
||||
{
|
||||
- struct vb2_queue *vq;
|
||||
- int ret = 0;
|
||||
- unsigned int i;
|
||||
-
|
||||
- vq = v4l2_m2m_get_vq(m2m_ctx, buf->type);
|
||||
- ret = vb2_querybuf(vq, buf);
|
||||
-
|
||||
/* Adjust MMAP memory offsets for the CAPTURE queue */
|
||||
if (buf->memory == V4L2_MEMORY_MMAP && V4L2_TYPE_IS_CAPTURE(vq->type)) {
|
||||
if (V4L2_TYPE_IS_MULTIPLANAR(vq->type)) {
|
||||
+ unsigned int i;
|
||||
+
|
||||
for (i = 0; i < buf->length; ++i)
|
||||
buf->m.planes[i].m.mem_offset
|
||||
+= DST_QUEUE_OFF_BASE;
|
||||
@@ -605,8 +600,23 @@ int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
buf->m.offset += DST_QUEUE_OFF_BASE;
|
||||
}
|
||||
}
|
||||
+}
|
||||
|
||||
- return ret;
|
||||
+int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
+ struct v4l2_buffer *buf)
|
||||
+{
|
||||
+ struct vb2_queue *vq;
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ vq = v4l2_m2m_get_vq(m2m_ctx, buf->type);
|
||||
+ ret = vb2_querybuf(vq, buf);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* Adjust MMAP memory offsets for the CAPTURE queue */
|
||||
+ v4l2_m2m_adjust_mem_offset(vq, buf);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_querybuf);
|
||||
|
||||
@@ -763,6 +773,9 @@ int v4l2_m2m_qbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
+ /* Adjust MMAP memory offsets for the CAPTURE queue */
|
||||
+ v4l2_m2m_adjust_mem_offset(vq, buf);
|
||||
+
|
||||
/*
|
||||
* If the capture queue is streaming, but streaming hasn't started
|
||||
* on the device, but was asked to stop, mark the previously queued
|
||||
@@ -784,9 +797,17 @@ int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct v4l2_buffer *buf)
|
||||
{
|
||||
struct vb2_queue *vq;
|
||||
+ int ret;
|
||||
|
||||
vq = v4l2_m2m_get_vq(m2m_ctx, buf->type);
|
||||
- return vb2_dqbuf(vq, buf, file->f_flags & O_NONBLOCK);
|
||||
+ ret = vb2_dqbuf(vq, buf, file->f_flags & O_NONBLOCK);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* Adjust MMAP memory offsets for the CAPTURE queue */
|
||||
+ v4l2_m2m_adjust_mem_offset(vq, buf);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_dqbuf);
|
||||
|
||||
@@ -795,9 +816,17 @@ int v4l2_m2m_prepare_buf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
struct vb2_queue *vq;
|
||||
+ int ret;
|
||||
|
||||
vq = v4l2_m2m_get_vq(m2m_ctx, buf->type);
|
||||
- return vb2_prepare_buf(vq, vdev->v4l2_dev->mdev, buf);
|
||||
+ ret = vb2_prepare_buf(vq, vdev->v4l2_dev->mdev, buf);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* Adjust MMAP memory offsets for the CAPTURE queue */
|
||||
+ v4l2_m2m_adjust_mem_offset(vq, buf);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_prepare_buf);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,54 @@
|
||||
From 764514f817de4e7b5053cea6b17983ed37cc7989 Mon Sep 17 00:00:00 2001
|
||||
From: Artem Lapkin <art@khadas.com>
|
||||
Date: Thu, 16 Dec 2021 16:10:58 +0000
|
||||
Subject: [PATCH 47/71] FROMLIST(v1): arm64: dts: meson-sm1: add spdifin
|
||||
spdifout nodes
|
||||
|
||||
Add spdifin spdifout nodes for Amlogic SM1 SoCs.
|
||||
|
||||
Signed-off-by: Artem Lapkin <art@khadas.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 27 ++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
index 78bdbd2ccc9d..a685dabde5d3 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
@@ -336,6 +336,33 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ spdifin: audio-controller@400 {
|
||||
+ compatible = "amlogic,g12a-spdifin",
|
||||
+ "amlogic,axg-spdifin";
|
||||
+ reg = <0x0 0x400 0x0 0x30>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "SPDIFIN";
|
||||
+ interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
+ <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
+ clock-names = "pclk", "refclk";
|
||||
+ resets = <&clkc_audio AUD_RESET_SPDIFIN>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdifout: audio-controller@480 {
|
||||
+ compatible = "amlogic,g12a-spdifout",
|
||||
+ "amlogic,axg-spdifout";
|
||||
+ reg = <0x0 0x480 0x0 0x50>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "SPDIFOUT";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
+ <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
+ clock-names = "pclk", "mclk";
|
||||
+ resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
tdmout_a: audio-controller@500 {
|
||||
compatible = "amlogic,sm1-tdmout";
|
||||
reg = <0x0 0x500 0x0 0x40>;
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 87f2074b73cf0d82a3cc77e0cba3761ea893b6b6 Mon Sep 17 00:00:00 2001
|
||||
From 0ef0caa00235a6236a4ee1cd064fca9ba229d915 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 14 Jan 2021 17:43:02 +0100
|
||||
Subject: [PATCH 29/60] WIP: mmc: meson-gx-mmc: set core clock phase to 270
|
||||
degres for AXG compatible controllers
|
||||
Subject: [PATCH 48/71] WIP: mmc: meson-gx-mmc: set core clock phase to 270
|
||||
degrees for AXG compatible controllers
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
@ -1,7 +1,7 @@
|
||||
From 8009e7c2cdf4f88da111c80c84b7d71f37527c6c Mon Sep 17 00:00:00 2001
|
||||
From b612444848dc9b27d7d5711f2119b20012369993 Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 14:32:33 -0400
|
||||
Subject: [PATCH 30/60] WIP: drivers: meson: vdec: remove redundant if
|
||||
Subject: [PATCH 49/71] WIP: drivers: meson: vdec: remove redundant if
|
||||
statement
|
||||
|
||||
checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done
|
||||
@ -11,7 +11,7 @@ as a condition to enter the if statement where this additional check is performe
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index db7022707ff8..e18334e57fc0 100644
|
||||
index 819fb937d1a8..c3ac015a5d01 100644
|
||||
--- a/drivers/staging/media/meson/vdec/esparser.c
|
||||
+++ b/drivers/staging/media/meson/vdec/esparser.c
|
||||
@@ -314,8 +314,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
@ -1,7 +1,7 @@
|
||||
From 1de7b27fc9e3a46e2e2566c0b5435e1acd050d32 Mon Sep 17 00:00:00 2001
|
||||
From 9aadefbc5dbb36f611bb762d5cab862a96ee769a Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 16:32:39 -0400
|
||||
Subject: [PATCH 31/60] WIP: drivers: meson: vdec: improve mmu and fbc handling
|
||||
Subject: [PATCH 50/71] WIP: drivers: meson: vdec: improve mmu and fbc handling
|
||||
and add 10 bit handling
|
||||
|
||||
---
|
||||
@ -429,7 +429,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
/* No frame is actually processed */
|
||||
vp9->cur_frame = NULL;
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index e18334e57fc0..610a92b9f6f2 100644
|
||||
index c3ac015a5d01..8275ef5c6e4b 100644
|
||||
--- a/drivers/staging/media/meson/vdec/esparser.c
|
||||
+++ b/drivers/staging/media/meson/vdec/esparser.c
|
||||
@@ -319,6 +319,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
@ -441,10 +441,10 @@ index e18334e57fc0..610a92b9f6f2 100644
|
||||
return -EAGAIN;
|
||||
}
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec.h b/drivers/staging/media/meson/vdec/vdec.h
|
||||
index f95445ac0658..e3e4af73447a 100644
|
||||
index 0906b8fb5cc6..a48170fe4cff 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec.h
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec.h
|
||||
@@ -234,6 +234,7 @@ struct amvdec_session {
|
||||
@@ -244,6 +244,7 @@ struct amvdec_session {
|
||||
u32 width;
|
||||
u32 height;
|
||||
u32 colorspace;
|
||||
@ -453,7 +453,7 @@ index f95445ac0658..e3e4af73447a 100644
|
||||
u8 quantization;
|
||||
u8 xfer_func;
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.c b/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
index b9125c295d1d..bae69b55baf3 100644
|
||||
index 06fd66539797..6a889915d5da 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_helpers.c
|
||||
@@ -50,32 +50,40 @@ void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val)
|
||||
@ -507,7 +507,7 @@ index b9125c295d1d..bae69b55baf3 100644
|
||||
|
||||
static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id)
|
||||
{
|
||||
@@ -436,7 +444,7 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess,
|
||||
@@ -440,7 +448,7 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess,
|
||||
EXPORT_SYMBOL_GPL(amvdec_set_par_from_dar);
|
||||
|
||||
void amvdec_src_change(struct amvdec_session *sess, u32 width,
|
||||
@ -516,7 +516,7 @@ index b9125c295d1d..bae69b55baf3 100644
|
||||
{
|
||||
static const struct v4l2_event ev = {
|
||||
.type = V4L2_EVENT_SOURCE_CHANGE,
|
||||
@@ -444,25 +452,27 @@ void amvdec_src_change(struct amvdec_session *sess, u32 width,
|
||||
@@ -448,25 +456,27 @@ void amvdec_src_change(struct amvdec_session *sess, u32 width,
|
||||
|
||||
v4l2_ctrl_s_ctrl(sess->ctrl_min_buf_capture, dpb_size);
|
||||
|
||||
@ -552,7 +552,7 @@ index b9125c295d1d..bae69b55baf3 100644
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(amvdec_src_change);
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.h b/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
index cfaed52ab526..e574c4349759 100644
|
||||
index 2c569cf62b7b..74cc47ad2045 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_helpers.h
|
||||
@@ -27,9 +27,10 @@ void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val);
|
||||
@ -569,7 +569,7 @@ index cfaed52ab526..e574c4349759 100644
|
||||
|
||||
/**
|
||||
* amvdec_dst_buf_done_idx() - Signal that a buffer is done decoding
|
||||
@@ -76,9 +77,10 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess,
|
||||
@@ -77,9 +78,10 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess,
|
||||
* @width: picture width detected by the hardware
|
||||
* @height: picture height detected by the hardware
|
||||
* @dpb_size: Decoded Picture Buffer size (= amount of buffers for decoding)
|
@ -1,7 +1,7 @@
|
||||
From f7dc4a36a0a2cefdc9f40ba440ef29d8c4b142a0 Mon Sep 17 00:00:00 2001
|
||||
From 9e20aa5ee7c5007812da1d09d67b99405b62b40e Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 17:08:42 -0400
|
||||
Subject: [PATCH 32/60] WIP: drivers: meson: vdec: add hevc decode codec
|
||||
Subject: [PATCH 51/71] WIP: drivers: meson: vdec: add HEVC decode codec
|
||||
|
||||
---
|
||||
drivers/staging/media/meson/vdec/Makefile | 2 +-
|
||||
@ -1492,7 +1492,7 @@ index 000000000000..f2f9b2464df1
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index 610a92b9f6f2..9b6034936d32 100644
|
||||
index 8275ef5c6e4b..b62918529717 100644
|
||||
--- a/drivers/staging/media/meson/vdec/esparser.c
|
||||
+++ b/drivers/staging/media/meson/vdec/esparser.c
|
||||
@@ -309,7 +309,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
@ -1,7 +1,7 @@
|
||||
From afb9610594bffe6728a10c63c6d4999a1ab1529b Mon Sep 17 00:00:00 2001
|
||||
From f4c37db01b342c684de191a20e1c8afa3266d751 Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Mon, 2 Aug 2021 15:18:40 -0400
|
||||
Subject: [PATCH 33/60] WIP: drivers: meson: vdec: add handling to HEVC decoder
|
||||
Subject: [PATCH 52/71] WIP: drivers: meson: vdec: add handling to HEVC decoder
|
||||
to show frames when ready
|
||||
|
||||
..rather than when no longer referenced
|
@ -1,7 +1,7 @@
|
||||
From e4ac25d2996360ae77fcd685f0f5bbbb17635c18 Mon Sep 17 00:00:00 2001
|
||||
From d915bafab29f182dfe9fe45ca5ffaaddc5dbedfa Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 21 Nov 2021 19:12:07 +0000
|
||||
Subject: [PATCH 34/60] WIP: drivers: meson: vdec: add HEVC support to GXBB
|
||||
Subject: [PATCH 53/71] 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!
|
@ -1,7 +1,7 @@
|
||||
From 04190a885f16165acba6c1de28f50ac8d8d4d616 Mon Sep 17 00:00:00 2001
|
||||
From 08f6973cd4a767180f630d93553983eacfd8b09c Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 22 Nov 2021 09:15:21 +0000
|
||||
Subject: [PATCH 35/60] WIP: drivers: meson: vdec: check if parser has really
|
||||
Subject: [PATCH 54/71] WIP: drivers: meson: vdec: check if parser has really
|
||||
parser before marking input buffer as error
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index 9b6034936d32..bb9480f0a70c 100644
|
||||
index b62918529717..a689ccebc1b5 100644
|
||||
--- a/drivers/staging/media/meson/vdec/esparser.c
|
||||
+++ b/drivers/staging/media/meson/vdec/esparser.c
|
||||
@@ -300,6 +300,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
@ -21,7 +21,7 @@ index 9b6034936d32..bb9480f0a70c 100644
|
||||
|
||||
/*
|
||||
* When max ref frame is held by VP9, this should be -= 3 to prevent a
|
||||
@@ -349,15 +350,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
@@ -358,15 +359,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
}
|
||||
|
||||
pad_size = esparser_pad_start_code(core, vb, payload_size);
|
@ -1,7 +1,7 @@
|
||||
From 6dcf2f9273f30e6f9e6222d3e01087908b84caad Mon Sep 17 00:00:00 2001
|
||||
From 4a092331686e14cae768b6082bfa63a7e54c0063 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 17 Aug 2021 16:16:43 +0000
|
||||
Subject: [PATCH 36/60] WIP: arm64: dts: amlogic: radxa-zero: add support for
|
||||
Subject: [PATCH 55/71] WIP: arm64: dts: amlogic: radxa-zero: add support for
|
||||
the usb type-c controller
|
||||
|
||||
Radxa Zero uses an FUSB302 type-c controller, so lets enable it.
|
@ -1,7 +1,7 @@
|
||||
From dc121392d96a65e226ba87e7105c462c90f3232d Mon Sep 17 00:00:00 2001
|
||||
From ef98e21cc6c14bf89d277a67fa9f64b212fbe0f8 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 07:52:47 +0000
|
||||
Subject: [PATCH 37/60] WIP: arm64: dts: meson: add audio playback to p201
|
||||
Subject: [PATCH 56/71] WIP: arm64: dts: meson: add audio playback to p201
|
||||
|
||||
Add initial audio support limited to HDMI i2s.
|
||||
|
@ -1,44 +0,0 @@
|
||||
From de35bb96122893c0d7eaea9de949cff3cb87ad24 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 4 Nov 2021 02:08:38 +0000
|
||||
Subject: [PATCH 57/60] TEST: new registers
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
sound/soc/meson/aiu-encoder-i2s.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/meson/aiu-encoder-i2s.c b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
index ba3dac987112..eeff716c1b8d 100644
|
||||
--- a/sound/soc/meson/aiu-encoder-i2s.c
|
||||
+++ b/sound/soc/meson/aiu-encoder-i2s.c
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#define AIU_I2S_DAC_CFG_MSB_FIRST BIT(2)
|
||||
#define AIU_I2S_MISC_HOLD_EN BIT(2)
|
||||
+#define AIU_I2S_MISC_FORCE_LEFT_RIGHT BIT(4)
|
||||
#define AIU_CLK_CTRL_I2S_DIV_EN BIT(0)
|
||||
#define AIU_CLK_CTRL_I2S_DIV GENMASK(3, 2)
|
||||
#define AIU_CLK_CTRL_AOCLK_INVERT BIT(6)
|
||||
@@ -40,9 +41,16 @@ static void aiu_encoder_i2s_divider_enable(struct snd_soc_component *component,
|
||||
static void aiu_encoder_i2s_hold(struct snd_soc_component *component,
|
||||
bool enable)
|
||||
{
|
||||
+ unsigned int value;
|
||||
+
|
||||
+ if (enable)
|
||||
+ value = AIU_I2S_MISC_HOLD_EN;
|
||||
+ else
|
||||
+ value = AIU_I2S_MISC_FORCE_LEFT_RIGHT;
|
||||
+
|
||||
snd_soc_component_update_bits(component, AIU_I2S_MISC,
|
||||
- AIU_I2S_MISC_HOLD_EN,
|
||||
- enable ? AIU_I2S_MISC_HOLD_EN : 0);
|
||||
+ AIU_I2S_MISC_HOLD_EN |
|
||||
+ AIU_I2S_MISC_FORCE_LEFT_RIGHT, value);
|
||||
}
|
||||
|
||||
static int aiu_encoder_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 09c0826a05c34391894102abf3dbe925daa9e97a Mon Sep 17 00:00:00 2001
|
||||
From e44724a5c9a208771e719437055dd378f0d74cd6 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 07:56:15 +0000
|
||||
Subject: [PATCH 38/60] WIP: arm64: dts: meson: add audio playback to p200
|
||||
Subject: [PATCH 57/71] WIP: arm64: dts: meson: add audio playback to p200
|
||||
|
||||
Add initial support limited to HDMI i2s and SPDIF (LPCM).
|
||||
|
@ -1,80 +0,0 @@
|
||||
From 783c76adcf53f7e47cd2a974fafbc2835d070579 Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Estevam <festevam@denx.de>
|
||||
Date: Wed, 24 Nov 2021 13:20:05 +0000
|
||||
Subject: [PATCH 58/60] FROMLIST(v2): ath10k: Fix the MTU size on QCA9377 SDIO
|
||||
|
||||
On an imx6dl-pico-pi board with a QCA9377 SDIO chip, simply trying to
|
||||
connect via ssh to another machine causes:
|
||||
|
||||
[ 55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
|
||||
[ 55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
|
||||
[ 55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
|
||||
[ 55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
|
||||
[ 55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
|
||||
[ 55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
|
||||
|
||||
, leading to an ssh connection failure.
|
||||
|
||||
One user inspected the size of frames on Wireshark and reported
|
||||
the followig:
|
||||
|
||||
"I was able to narrow the issue down to the mtu. If I set the mtu for
|
||||
the wlan0 device to 1486 instead of 1500, the issue does not happen.
|
||||
|
||||
The size of frames that I see on Wireshark is exactly 1500 after
|
||||
setting it to 1486."
|
||||
|
||||
Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
|
||||
the ssh command works successfully after that.
|
||||
|
||||
Introduce a 'credit_size_workaround' field to ath10k_hw_params for
|
||||
the QCA9377 SDIO, so that the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE
|
||||
is not set in this case.
|
||||
|
||||
Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
|
||||
|
||||
Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
|
||||
Signed-off-by: Fabio Estevam <festevam@denx.de>
|
||||
---
|
||||
drivers/net/wireless/ath/ath10k/core.c | 3 ++-
|
||||
drivers/net/wireless/ath/ath10k/hw.h | 3 +++
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
|
||||
index 64c7145b51a2..afae168159ea 100644
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -714,6 +714,7 @@ static void ath10k_send_suspend_complete(struct ath10k *ar)
|
||||
|
||||
static int ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
|
||||
{
|
||||
+ bool mtu_workaround = ar->hw_params.credit_size_workaround;
|
||||
int ret;
|
||||
u32 param = 0;
|
||||
|
||||
@@ -731,7 +732,7 @@ static int ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
|
||||
|
||||
param |= HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET;
|
||||
|
||||
- if (mode == ATH10K_FIRMWARE_MODE_NORMAL)
|
||||
+ if (mode == ATH10K_FIRMWARE_MODE_NORMAL && !mtu_workaround)
|
||||
param |= HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
|
||||
else
|
||||
param &= ~HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
|
||||
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
|
||||
index 6b03c7787e36..591ef7416b61 100644
|
||||
--- a/drivers/net/wireless/ath/ath10k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath10k/hw.h
|
||||
@@ -618,6 +618,9 @@ struct ath10k_hw_params {
|
||||
*/
|
||||
bool uart_pin_workaround;
|
||||
|
||||
+ /* Workaround for the credit size calculation */
|
||||
+ bool credit_size_workaround;
|
||||
+
|
||||
/* tx stats support over pktlog */
|
||||
bool tx_stats_over_pktlog;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a6edde22c0cd4c04635b13b253a72194078653c9 Mon Sep 17 00:00:00 2001
|
||||
From 0fcf079352469bd1a2e9cd2479206cc8745965fc Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 08:02:54 +0000
|
||||
Subject: [PATCH 39/60] WIP: arm64: dts: meson: add audio playback to
|
||||
Subject: [PATCH 58/71] WIP: arm64: dts: meson: add audio playback to
|
||||
p212-s905x dtsi
|
||||
|
||||
Add initial audio support limited to HDMI i2s.
|
@ -1,67 +0,0 @@
|
||||
From 872551950d5a45f3163626e1c28b145a1100e1e0 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 25 Nov 2021 02:34:41 +0000
|
||||
Subject: [PATCH 59/60] WIP: arm64: dts: amlogic: set 4GB ram size for Beelink
|
||||
S922X devices
|
||||
|
||||
Set 4GB RAM size to see if this resolves the kernel panic issue
|
||||
seen when boxes are booted from vendor u-boot.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts | 5 +++++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts | 5 +++++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts | 5 +++++
|
||||
3 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
|
||||
index 6c7bfacbad78..93c7acccf5be 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
|
||||
@@ -20,6 +20,11 @@
|
||||
rtc1 = &vrtc;
|
||||
};
|
||||
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0xf0800000>;
|
||||
+ };
|
||||
+
|
||||
gpio-keys-polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
#address-cells = <1>;
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
|
||||
index 707daf92787b..6e1e1a680df0 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
|
||||
@@ -19,6 +19,11 @@
|
||||
rtc1 = &vrtc;
|
||||
};
|
||||
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0xf0800000>;
|
||||
+ };
|
||||
+
|
||||
gpio-keys-polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
#address-cells = <1>;
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
index 5d96c1449050..64039df7e0a4 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
@@ -19,6 +19,11 @@
|
||||
rtc1 = &vrtc;
|
||||
};
|
||||
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0xf0800000>;
|
||||
+ };
|
||||
+
|
||||
spdif_dit: audio-codec-1 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "linux,spdif-dit";
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 17cf7d25e74c64ad18a85aa8f55d0b7f5f8b795f Mon Sep 17 00:00:00 2001
|
||||
From c487ac38a4b048fff11eafeff2fe8a0f70d21c2a Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 17 May 2020 05:00:55 +0000
|
||||
Subject: [PATCH 40/60] WIP: arm64: dts: meson: add audio playback to u200
|
||||
Subject: [PATCH 59/71] WIP: arm64: dts: meson: add audio playback to u200
|
||||
|
||||
Add initial support limited to HDMI i2s and SPDIF (LPCM).
|
||||
|
@ -0,0 +1,215 @@
|
||||
From 16039c4b37059281a40066a0d07a6553b53bb28b Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 27 Nov 2021 13:50:06 +0000
|
||||
Subject: [PATCH 60/71] WIP: arm64: dts: meson: add Headphone output to Beelink
|
||||
GT-King
|
||||
|
||||
Add support for the Headphone audio DAC built-in to the S922X chip.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12b-gtking.dts | 120 +++++++++++++++++-
|
||||
1 file changed, 113 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
index 5d96c1449050..a441975cbfb0 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
|
||||
@@ -8,6 +8,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "meson-g12b-w400.dtsi"
|
||||
+#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
||||
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
|
||||
/ {
|
||||
@@ -29,14 +30,37 @@
|
||||
sound {
|
||||
compatible = "amlogic,axg-sound-card";
|
||||
model = "GTKING";
|
||||
- audio-aux-devs = <&tdmout_b>;
|
||||
+ audio-widgets = "Line", "Lineout";
|
||||
+ audio-aux-devs = <&tdmout_b>, <&tdmout_c>,
|
||||
+ <&tdmin_a>, <&tdmin_b>, <&tdmin_c>;
|
||||
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",
|
||||
+ "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
||||
+ "TDMOUT_C IN 1", "FRDDR_B OUT 2",
|
||||
+ "TDMOUT_C IN 2", "FRDDR_C OUT 2",
|
||||
+ "TDM_C Playback", "TDMOUT_C OUT",
|
||||
+ "TDMIN_A IN 4", "TDM_B Loopback",
|
||||
+ "TDMIN_B IN 4", "TDM_B Loopback",
|
||||
+ "TDMIN_C IN 4", "TDM_B Loopback",
|
||||
+ "TDMIN_A IN 5", "TDM_C Loopback",
|
||||
+ "TDMIN_B IN 5", "TDM_C Loopback",
|
||||
+ "TDMIN_C IN 5", "TDM_C Loopback",
|
||||
+ "TODDR_A IN 0", "TDMIN_A OUT",
|
||||
+ "TODDR_B IN 0", "TDMIN_A OUT",
|
||||
+ "TODDR_C IN 0", "TDMIN_A OUT",
|
||||
+ "TODDR_A IN 1", "TDMIN_B OUT",
|
||||
+ "TODDR_B IN 1", "TDMIN_B OUT",
|
||||
+ "TODDR_C IN 1", "TDMIN_B OUT",
|
||||
+ "TODDR_A IN 2", "TDMIN_C OUT",
|
||||
+ "TODDR_B IN 2", "TDMIN_C OUT",
|
||||
+ "TODDR_C IN 2", "TDMIN_C OUT",
|
||||
"SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
||||
"SPDIFOUT IN 1", "FRDDR_B OUT 3",
|
||||
- "SPDIFOUT IN 2", "FRDDR_C OUT 3";
|
||||
+ "SPDIFOUT IN 2", "FRDDR_C OUT 3",
|
||||
+ "Lineout", "ACODEC LOLP",
|
||||
+ "Lineout", "ACODEC LORP";
|
||||
|
||||
assigned-clocks = <&clkc CLKID_MPLL2>,
|
||||
<&clkc CLKID_MPLL0>,
|
||||
@@ -59,8 +83,20 @@
|
||||
sound-dai = <&frddr_c>;
|
||||
};
|
||||
|
||||
- /* 8ch hdmi interface */
|
||||
dai-link-3 {
|
||||
+ sound-dai = <&toddr_a>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&toddr_b>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-5 {
|
||||
+ sound-dai = <&toddr_c>;
|
||||
+ };
|
||||
+
|
||||
+ /* 8ch hdmi interface */
|
||||
+ dai-link-6 {
|
||||
sound-dai = <&tdmif_b>;
|
||||
dai-format = "i2s";
|
||||
dai-tdm-slot-tx-mask-0 = <1 1>;
|
||||
@@ -69,13 +105,17 @@
|
||||
dai-tdm-slot-tx-mask-3 = <1 1>;
|
||||
mclk-fs = <256>;
|
||||
|
||||
- codec {
|
||||
+ codec-0 {
|
||||
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
|
||||
};
|
||||
+
|
||||
+ codec-1 {
|
||||
+ sound-dai = <&toacodec TOACODEC_IN_B>;
|
||||
+ };
|
||||
};
|
||||
|
||||
/* spdif hdmi or toslink interface */
|
||||
- dai-link-4 {
|
||||
+ dai-link-7 {
|
||||
sound-dai = <&spdifout>;
|
||||
|
||||
codec-0 {
|
||||
@@ -88,7 +128,7 @@
|
||||
};
|
||||
|
||||
/* spdif hdmi interface */
|
||||
- dai-link-5 {
|
||||
+ dai-link-8 {
|
||||
sound-dai = <&spdifout_b>;
|
||||
|
||||
codec {
|
||||
@@ -96,17 +136,47 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ /* i2s jack output interface */
|
||||
+ dai-link-9 {
|
||||
+ sound-dai = <&tdmif_c>;
|
||||
+ dai-format = "i2s";
|
||||
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>;
|
||||
+ };
|
||||
+
|
||||
+ codec-1 {
|
||||
+ sound-dai = <&toacodec TOACODEC_IN_C>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
/* hdmi glue */
|
||||
- dai-link-6 {
|
||||
+ dai-link-10 {
|
||||
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
||||
|
||||
codec {
|
||||
sound-dai = <&hdmi_tx>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ /* acodec glue */
|
||||
+ dai-link-11 {
|
||||
+ sound-dai = <&toacodec TOACODEC_OUT>;
|
||||
+
|
||||
+ codec {
|
||||
+ sound-dai = <&acodec>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
+&acodec {
|
||||
+ AVDD-supply = <&vddao_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&arb {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -154,10 +224,46 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&tdmif_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmin_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmin_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmin_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&tdmout_b {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&tdmout_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toacodec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&tohdmitx {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6624d186fdaedc4c3795b741b202987d63e81691 Mon Sep 17 00:00:00 2001
|
||||
From 3a8ae6a8dcc4b3f1aa5329f45b476012ff61f19b Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 23 Dec 2018 02:24:38 +0100
|
||||
Subject: [PATCH 41/60] WIP: ASoC: hdmi-codec: reorder channel allocation list
|
||||
Subject: [PATCH 61/71] WIP: ASoC: hdmi-codec: reorder channel allocation list
|
||||
|
||||
Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx().
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2ddece0262c3fae2df9b3579b572936bc5491534 Mon Sep 17 00:00:00 2001
|
||||
From 991a35ebc7670e8b11b52508a5743b832a9cfcad Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Fri, 19 Mar 2021 12:14:17 +0100
|
||||
Subject: [PATCH 44/60] WIP: ALSA: pcm: fix ELD constraints for some compressed
|
||||
Subject: [PATCH 62/71] WIP: ALSA: pcm: fix ELD constraints for some compressed
|
||||
audio formats
|
||||
|
||||
The SADs of compressed formats like AC3 and DTS contain the channel
|
@ -1,7 +1,7 @@
|
||||
From f49ba4a1cbe32f949e68a91f0da55189acccf09e Mon Sep 17 00:00:00 2001
|
||||
From f52930b6f738455393e027f217721f62bf76883d Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Sat, 20 Mar 2021 10:48:54 +0100
|
||||
Subject: [PATCH 45/60] WIP: ALSA: pcm: ignore formats not supported by kodi in
|
||||
Subject: [PATCH 63/71] WIP: ALSA: pcm: ignore formats not supported by kodi in
|
||||
ELD constraints
|
||||
|
||||
Only parse channel info and rates from the PCM SAD. All other SAD
|
@ -1,7 +1,7 @@
|
||||
From addcdc01e7d6682d82ca1019f62b6dfcf6f1ac9d Mon Sep 17 00:00:00 2001
|
||||
From 6c3ce1b8e6d549b025db0f4bd85469a61f076c39 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 29 Feb 2020 15:13:02 +0000
|
||||
Subject: [PATCH 52/60] dt-bindings: arm: amlogic: add support for the Tanix
|
||||
Subject: [PATCH 64/71] 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 903ab1796c07..5554d23362f8 100644
|
||||
index 1e792feecc69..a950b66ed9a2 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -141,6 +141,7 @@ properties:
|
||||
@@ -143,6 +143,7 @@ properties:
|
||||
- enum:
|
||||
- amediatech,x96-max
|
||||
- amlogic,u200
|
@ -1,7 +1,7 @@
|
||||
From e7614444f2c3b7b529d7fbf0528aafa3f0d3dc30 Mon Sep 17 00:00:00 2001
|
||||
From dc529eb2c131c57255a8cf67485379bce225bb07 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 20 Oct 2019 04:06:59 +0000
|
||||
Subject: [PATCH 53/60] arm64: dts: meson: add support for the Tanix TX5 Max
|
||||
Subject: [PATCH 65/71] arm64: dts: meson: add support for the Tanix TX5 Max
|
||||
|
||||
The Tanix TX5 Max is based on the Amlogic U200 reference design
|
||||
using the S905X2 chipset. Hardware specification:
|
||||
@ -25,11 +25,11 @@ 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 60a12b6d560a..9566cfdbb54b 100644
|
||||
index 2d7cbebba35a..2bc0ae29937a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -2,6 +2,7 @@
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
|
||||
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
|
||||
+dtb-$(CONFIG_ARCH_MESON) += meson-g12a-tanix-tx5max.dtb
|
@ -1,7 +1,7 @@
|
||||
From 59d403256f734cb20f89cb0c47f909df3d144e7b Mon Sep 17 00:00:00 2001
|
||||
From 32cd01e73f058eeee72638fd3451cb130811c240 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 21 Oct 2019 03:58:06 +0000
|
||||
Subject: [PATCH 54/60] arm64: dts: meson: add multiple MeCool device trees
|
||||
Subject: [PATCH 66/71] arm64: dts: meson: add multiple MeCool device trees
|
||||
|
||||
This adds initial device trees for a range of MeCool devices based on various
|
||||
Amlogic GXBB, GXL and GXM reference designs. The current purpose is to allow
|
||||
@ -24,10 +24,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 9566cfdbb54b..a8213077ed67 100644
|
||||
index 2bc0ae29937a..6cc035471832 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -14,6 +14,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
|
||||
@@ -15,6 +15,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
|
||||
@ -36,7 +36,7 @@ index 9566cfdbb54b..a8213077ed67 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
|
||||
@@ -31,7 +33,10 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
|
||||
@@ -32,7 +34,10 @@ 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
|
@ -1,7 +1,7 @@
|
||||
From 969f5a6bcf04e02bdfbf39d062d22ceee09957ce Mon Sep 17 00:00:00 2001
|
||||
From cb41f5c89ebafba2f269df02cbf2827b99c8c51c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 05:50:13 +0000
|
||||
Subject: [PATCH 55/60] dt-bindings: arm: amlogic: add support for Minix NEO-U1
|
||||
Subject: [PATCH 67/71] dt-bindings: arm: amlogic: add support for Minix NEO-U1
|
||||
|
||||
The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB)
|
||||
reference design with an S905 chip.
|
||||
@ -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 5554d23362f8..79b3f93a172d 100644
|
||||
index a950b66ed9a2..db0d62d5d37d 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -58,6 +58,7 @@ properties:
|
@ -1,7 +1,7 @@
|
||||
From 5525e2ab1a8ac6bf6513bdd7cdf9113df5d18c31 Mon Sep 17 00:00:00 2001
|
||||
From 0711b3e9f67f2a091d493d27a7857cd857c9ef9e Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 05:52:14 +0000
|
||||
Subject: [PATCH 56/60] arm64: dts: meson: add initial device-tree for Minix
|
||||
Subject: [PATCH 68/71] 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 a8213077ed67..5f59dc6a8a94 100644
|
||||
index 6cc035471832..8f364a784d30 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -16,6 +16,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
|
||||
@@ -17,6 +17,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
|
@ -0,0 +1,117 @@
|
||||
From 80a1bccaa6581b5bbed3b0727e23faf5c5e992f5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:33:47 +0000
|
||||
Subject: [PATCH 69/71] WIP: media: rc: add keymap for Beelink Mini MXIII
|
||||
remote
|
||||
|
||||
Add a keymap and bindings for the simple IR (NEC) remote used with
|
||||
the Beelink Mini MXIII Android STB device.
|
||||
|
||||
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-beelink-mxiii.c | 54 +++++++++++++++++++
|
||||
include/media/rc-map.h | 1 +
|
||||
4 files changed, 57 insertions(+)
|
||||
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 d4c541c4b164..ab28159a1768 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -39,6 +39,7 @@ properties:
|
||||
- rc-avertv-303
|
||||
- rc-azurewave-ad-tu700
|
||||
- rc-beelink-gs1
|
||||
+ - rc-beelink-mxiii
|
||||
- rc-behold
|
||||
- rc-behold-columbus
|
||||
- rc-budget-ci-old
|
||||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
|
||||
index 5fe5c9e1a46d..5dc7e2c0e62a 100644
|
||||
--- a/drivers/media/rc/keymaps/Makefile
|
||||
+++ b/drivers/media/rc/keymaps/Makefile
|
||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
|
||||
rc-avertv-303.o \
|
||||
rc-azurewave-ad-tu700.o \
|
||||
rc-beelink-gs1.o \
|
||||
+ rc-beelink-mxiii.o \
|
||||
rc-behold.o \
|
||||
rc-behold-columbus.o \
|
||||
rc-budget-ci-old.o \
|
||||
diff --git a/drivers/media/rc/keymaps/rc-beelink-mxiii.c b/drivers/media/rc/keymaps/rc-beelink-mxiii.c
|
||||
new file mode 100644
|
||||
index 000000000000..09b77295e0a3
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/keymaps/rc-beelink-mxiii.c
|
||||
@@ -0,0 +1,54 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+//
|
||||
+// Copyright (C) 2019 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+
|
||||
+#include <media/rc-map.h>
|
||||
+#include <linux/module.h>
|
||||
+
|
||||
+//
|
||||
+// Keytable for the Beelink Mini MXIII remote control
|
||||
+//
|
||||
+
|
||||
+static struct rc_map_table beelink_mxiii[] = {
|
||||
+ { 0xb2dc, KEY_POWER },
|
||||
+
|
||||
+ { 0xb288, KEY_MUTE },
|
||||
+ { 0xb282, KEY_HOME },
|
||||
+
|
||||
+ { 0xb2ca, KEY_UP },
|
||||
+ { 0xb299, KEY_LEFT },
|
||||
+ { 0xb2ce, KEY_OK },
|
||||
+ { 0xb2c1, KEY_RIGHT },
|
||||
+ { 0xb2d2, KEY_DOWN },
|
||||
+
|
||||
+ { 0xb2c5, KEY_MENU },
|
||||
+ { 0xb29a, KEY_BACK },
|
||||
+
|
||||
+ { 0xb281, KEY_VOLUMEDOWN },
|
||||
+ { 0xb280, KEY_VOLUMEUP },
|
||||
+};
|
||||
+
|
||||
+static struct rc_map_list beelink_mxiii_map = {
|
||||
+ .map = {
|
||||
+ .scan = beelink_mxiii,
|
||||
+ .size = ARRAY_SIZE(beelink_mxiii),
|
||||
+ .rc_proto = RC_PROTO_NEC,
|
||||
+ .name = RC_MAP_BEELINK_MXIII,
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+static int __init init_rc_map_beelink_mxiii(void)
|
||||
+{
|
||||
+ return rc_map_register(&beelink_mxiii_map);
|
||||
+}
|
||||
+
|
||||
+static void __exit exit_rc_map_beelink_mxiii(void)
|
||||
+{
|
||||
+ rc_map_unregister(&beelink_mxiii_map);
|
||||
+}
|
||||
+
|
||||
+module_init(init_rc_map_beelink_mxiii)
|
||||
+module_exit(exit_rc_map_beelink_mxiii)
|
||||
+
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com");
|
||||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
|
||||
index 793b54342dff..e4ddb3586d05 100644
|
||||
--- a/include/media/rc-map.h
|
||||
+++ b/include/media/rc-map.h
|
||||
@@ -225,6 +225,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
#define RC_MAP_AVERTV_303 "rc-avertv-303"
|
||||
#define RC_MAP_AZUREWAVE_AD_TU700 "rc-azurewave-ad-tu700"
|
||||
#define RC_MAP_BEELINK_GS1 "rc-beelink-gs1"
|
||||
+#define RC_MAP_BEELINK_MXIII "rc-beelink-mxiii"
|
||||
#define RC_MAP_BEHOLD "rc-behold"
|
||||
#define RC_MAP_BEHOLD_COLUMBUS "rc-behold-columbus"
|
||||
#define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old"
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,29 @@
|
||||
From 25359abc217efcb420a12487525731b17f01cae9 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:28:50 +0000
|
||||
Subject: [PATCH 70/71] WIP: dt-bindings: arm: amlogic: add support for Beelink
|
||||
Mini MXIII
|
||||
|
||||
The Beelink Mini MXIII is an Android STB based on the Amlogic P200
|
||||
(GXBB) reference design with an S905 chip.
|
||||
|
||||
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 db0d62d5d37d..f57fdb322d92 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -56,6 +56,7 @@ properties:
|
||||
- enum:
|
||||
- amlogic,p200
|
||||
- amlogic,p201
|
||||
+ - beelink,mini-mxiii
|
||||
- friendlyarm,nanopi-k2
|
||||
- hardkernel,odroid-c2
|
||||
- minix,neo-u1
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,211 @@
|
||||
From e2356dcc2c32e2a33cc5c83a57d5c9169f8d002f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:26:00 +0000
|
||||
Subject: [PATCH 71/71] WIP: arm64: dts: meson: add support for Beelink Mini
|
||||
MXIII
|
||||
|
||||
This is a GXBB board that ships in two variants, one with
|
||||
a Broadcom SDIO module, and a second with RTL8723BS.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
||||
.../amlogic/meson-gxbb-beelink-mini-mxiii.dts | 174 ++++++++++++++++++
|
||||
2 files changed, 175 insertions(+)
|
||||
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 8f364a784d30..2ae6aaa419ab 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.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
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-minix-neo-u1.dtb
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts
|
||||
new file mode 100644
|
||||
index 000000000000..53b1b825421b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts
|
||||
@@ -0,0 +1,174 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-gxbb-p20x.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/sound/meson-aiu.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "beelink,mini-mxiii", "amlogic,meson-gxbb";
|
||||
+ model = "Beelink Mini MXIII";
|
||||
+
|
||||
+ spdif_dit: audio-codec-0 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ status = "okay";
|
||||
+ sound-name-prefix = "DIT";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-power {
|
||||
+ /* Red in Standby */
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpio-keys-polled {
|
||||
+ compatible = "gpio-keys-polled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ poll-interval = <20>;
|
||||
+
|
||||
+ button-reset {
|
||||
+ label = "reset";
|
||||
+ linux,code = <KEY_POWER>;
|
||||
+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ avdd18_usb_adc: regulator-avdd18_usb_adc {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "AVDD18_USB_ADC";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,gx-sound-card";
|
||||
+ model = "MINI-MXIII";
|
||||
+ assigned-clocks = <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>,
|
||||
+ <&clkc CLKID_MPLL2>;
|
||||
+ assigned-clock-parents = <0>, <0>, <0>;
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-1 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-2 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||||
+ dai-format = "i2s";
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-3 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&spdif_dit>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&aiu {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&spdif_out_y_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <ð_rgmii_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+
|
||||
+ phy-handle = <ð_phy0>;
|
||||
+ phy-mode = "rgmii";
|
||||
+
|
||||
+ amlogic,tx-delay-ns = <2>;
|
||||
+
|
||||
+ mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ eth_phy0: ethernet-phy@0 {
|
||||
+ /* Realtek RTL8211F (0x001cc916) */
|
||||
+ reg = <0>;
|
||||
+
|
||||
+ 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 = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ linux,rc-map-name = "rc-beelink-mxiii";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&avdd18_usb_adc>;
|
||||
+};
|
||||
+
|
||||
+/* Realtek Wireless SDIO Module */
|
||||
+&sd_emmc_a {
|
||||
+ /delete-node/ brcmf;
|
||||
+
|
||||
+ rtl8723bs: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "realtek,rtl8723bs";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Connected to the Bluetooth module */
|
||||
+&uart_A {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ enable-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
|
||||
+ max-speed = <2000000>;
|
||||
+ clocks = <&wifi32k>;
|
||||
+ clock-names = "lpo";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 5.15.5 Kernel Configuration
|
||||
# Linux/arm64 5.16.0-rc4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc.real (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
@ -57,7 +57,6 @@ CONFIG_GENERIC_IRQ_IPI=y
|
||||
CONFIG_GENERIC_MSI_IRQ=y
|
||||
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_MSI_IOMMU=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
|
||||
@ -67,6 +66,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_ARCH_HAS_TICK_BROADCAST=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
|
||||
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
||||
|
||||
#
|
||||
# Timers subsystem
|
||||
@ -93,6 +94,7 @@ CONFIG_BPF_SYSCALL=y
|
||||
# CONFIG_BPF_PRELOAD is not set
|
||||
# end of BPF subsystem
|
||||
|
||||
CONFIG_PREEMPT_BUILD=y
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
@ -145,6 +147,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
|
||||
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||
CONFIG_CC_HAS_INT128=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_PAGE_COUNTER=y
|
||||
@ -352,6 +355,9 @@ CONFIG_ARM64_ERRATUM_1286807=y
|
||||
CONFIG_ARM64_ERRATUM_1463225=y
|
||||
CONFIG_ARM64_ERRATUM_1542419=y
|
||||
CONFIG_ARM64_ERRATUM_1508412=y
|
||||
CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
|
||||
CONFIG_ARM64_ERRATUM_2054223=y
|
||||
CONFIG_ARM64_ERRATUM_2067961=y
|
||||
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_27456 is not set
|
||||
@ -378,6 +384,7 @@ CONFIG_ARM64_PA_BITS=48
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_SCHED_MC=y
|
||||
# CONFIG_SCHED_CLUSTER is not set
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
@ -560,6 +567,7 @@ CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
# end of CPU Frequency scaling
|
||||
# end of CPU Power Management
|
||||
|
||||
CONFIG_HAVE_KVM=y
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA256_ARM64=y
|
||||
@ -591,6 +599,7 @@ CONFIG_JUMP_LABEL=y
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
|
||||
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
|
||||
CONFIG_HAVE_NMI=y
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
@ -648,6 +657,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS=18
|
||||
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
|
||||
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
||||
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
@ -666,7 +676,6 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
|
||||
# CONFIG_LOCK_EVENT_COUNTS is not set
|
||||
CONFIG_ARCH_HAS_RELR=y
|
||||
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
||||
|
||||
#
|
||||
@ -678,7 +687,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
|
||||
CONFIG_HAVE_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
|
||||
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
|
||||
# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
|
||||
# end of General architecture-dependent options
|
||||
@ -848,6 +856,7 @@ CONFIG_ARCH_HAS_PTE_SPECIAL=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_COMPAT_NETLINK_MESSAGES=y
|
||||
CONFIG_NET_INGRESS=y
|
||||
CONFIG_NET_EGRESS=y
|
||||
CONFIG_SKB_EXTENSIONS=y
|
||||
|
||||
#
|
||||
@ -955,6 +964,7 @@ CONFIG_BRIDGE_NETFILTER=m
|
||||
# Core Netfilter Configuration
|
||||
#
|
||||
CONFIG_NETFILTER_INGRESS=y
|
||||
CONFIG_NETFILTER_EGRESS=y
|
||||
CONFIG_NETFILTER_NETLINK=m
|
||||
CONFIG_NETFILTER_FAMILY_BRIDGE=y
|
||||
# CONFIG_NETFILTER_NETLINK_ACCT is not set
|
||||
@ -1637,7 +1647,6 @@ CONFIG_OF_KOBJ=y
|
||||
CONFIG_OF_DYNAMIC=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
@ -1648,7 +1657,6 @@ CONFIG_CDROM=y
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
|
||||
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
|
||||
# CONFIG_BLK_DEV_DRBD is not set
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
# CONFIG_BLK_DEV_SX8 is not set
|
||||
@ -1796,6 +1804,7 @@ CONFIG_ISCSI_BOOT_SYSFS=y
|
||||
# CONFIG_SCSI_MPI3MR is not set
|
||||
# CONFIG_SCSI_SMARTPQI is not set
|
||||
# CONFIG_SCSI_UFSHCD is not set
|
||||
# CONFIG_SCSI_UFS_HWMON is not set
|
||||
# CONFIG_SCSI_HPTIOP is not set
|
||||
# CONFIG_SCSI_MYRB is not set
|
||||
# CONFIG_SCSI_MYRS is not set
|
||||
@ -1944,6 +1953,7 @@ CONFIG_MACVLAN=m
|
||||
# CONFIG_GENEVE is not set
|
||||
# CONFIG_BAREUDP is not set
|
||||
# CONFIG_GTP is not set
|
||||
# CONFIG_AMT is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
@ -1965,6 +1975,8 @@ CONFIG_ETHERNET=y
|
||||
# CONFIG_NET_VENDOR_AMD is not set
|
||||
# CONFIG_NET_VENDOR_AQUANTIA is not set
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
CONFIG_NET_VENDOR_ASIX=y
|
||||
# CONFIG_SPI_AX88796C is not set
|
||||
# CONFIG_NET_VENDOR_ATHEROS is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_BROCADE is not set
|
||||
@ -2290,6 +2302,7 @@ CONFIG_MT7663U=m
|
||||
CONFIG_MT7663S=m
|
||||
# CONFIG_MT7915E is not set
|
||||
# CONFIG_MT7921E is not set
|
||||
# CONFIG_MT7921S is not set
|
||||
CONFIG_WLAN_VENDOR_MICROCHIP=y
|
||||
# CONFIG_WILC1000_SDIO is not set
|
||||
# CONFIG_WILC1000_SPI is not set
|
||||
@ -2340,6 +2353,7 @@ CONFIG_RTW88=m
|
||||
# CONFIG_RTW88_8822CE is not set
|
||||
# CONFIG_RTW88_8723DE is not set
|
||||
# CONFIG_RTW88_8821CE is not set
|
||||
# CONFIG_RTW89 is not set
|
||||
CONFIG_WLAN_VENDOR_RSI=y
|
||||
# CONFIG_RSI_91X is not set
|
||||
# CONFIG_WLAN_VENDOR_ST is not set
|
||||
@ -2418,6 +2432,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_CAP11XX is not set
|
||||
# CONFIG_KEYBOARD_BCM is not set
|
||||
# CONFIG_KEYBOARD_CYPRESS_SF is not set
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
# CONFIG_MOUSE_PS2 is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
@ -2735,6 +2750,7 @@ CONFIG_SPI_MEM=y
|
||||
# CONFIG_SPI_BITBANG is not set
|
||||
# CONFIG_SPI_CADENCE is not set
|
||||
# CONFIG_SPI_CADENCE_QUADSPI is not set
|
||||
# CONFIG_SPI_CADENCE_XSPI is not set
|
||||
# CONFIG_SPI_DESIGNWARE is not set
|
||||
# CONFIG_SPI_NXP_FLEXSPI is not set
|
||||
# CONFIG_SPI_GPIO is not set
|
||||
@ -3029,6 +3045,7 @@ CONFIG_SENSORS_GPIO_FAN=m
|
||||
# CONFIG_SENSORS_MAX197 is not set
|
||||
# CONFIG_SENSORS_MAX31722 is not set
|
||||
# CONFIG_SENSORS_MAX31730 is not set
|
||||
# CONFIG_SENSORS_MAX6620 is not set
|
||||
# CONFIG_SENSORS_MAX6621 is not set
|
||||
# CONFIG_SENSORS_MAX6639 is not set
|
||||
# CONFIG_SENSORS_MAX6642 is not set
|
||||
@ -3235,7 +3252,6 @@ CONFIG_MFD_CORE=y
|
||||
# CONFIG_HTC_I2CPLD is not set
|
||||
# CONFIG_LPC_ICH is not set
|
||||
# CONFIG_LPC_SCH is not set
|
||||
# CONFIG_MFD_INTEL_PMT is not set
|
||||
# CONFIG_MFD_IQS62X is not set
|
||||
# CONFIG_MFD_JANZ_CMODIO is not set
|
||||
# CONFIG_MFD_KEMPLD is not set
|
||||
@ -3291,7 +3307,6 @@ CONFIG_MFD_SYSCON=y
|
||||
# CONFIG_MFD_TPS65910 is not set
|
||||
# CONFIG_MFD_TPS65912_I2C is not set
|
||||
# CONFIG_MFD_TPS65912_SPI is not set
|
||||
# CONFIG_MFD_TPS80031 is not set
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
# CONFIG_TWL6040_CORE is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
@ -3425,11 +3440,14 @@ CONFIG_IR_GPIO_CIR=m
|
||||
CONFIG_IR_GPIO_TX=m
|
||||
CONFIG_IR_PWM_TX=m
|
||||
# CONFIG_IR_SERIAL is not set
|
||||
# CONFIG_IR_SIR is not set
|
||||
CONFIG_RC_XBOX_DVD=m
|
||||
# CONFIG_IR_TOY is not set
|
||||
CONFIG_CEC_CORE=y
|
||||
CONFIG_CEC_NOTIFIER=y
|
||||
|
||||
#
|
||||
# CEC support
|
||||
#
|
||||
# CONFIG_MEDIA_CEC_RC is not set
|
||||
CONFIG_MEDIA_CEC_SUPPORT=y
|
||||
# CONFIG_CEC_CH7322 is not set
|
||||
@ -3438,6 +3456,8 @@ CONFIG_CEC_MESON_G12A_AO=y
|
||||
# CONFIG_CEC_GPIO is not set
|
||||
# CONFIG_USB_PULSE8_CEC is not set
|
||||
# CONFIG_USB_RAINSHADOW_CEC is not set
|
||||
# end of CEC support
|
||||
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
# CONFIG_MEDIA_SUPPORT_FILTER is not set
|
||||
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
|
||||
@ -3755,6 +3775,7 @@ CONFIG_VIDEO_CX25840=m
|
||||
# Camera sensor devices
|
||||
#
|
||||
# CONFIG_VIDEO_HI556 is not set
|
||||
# CONFIG_VIDEO_HI846 is not set
|
||||
# CONFIG_VIDEO_IMX208 is not set
|
||||
# CONFIG_VIDEO_IMX214 is not set
|
||||
# CONFIG_VIDEO_IMX219 is not set
|
||||
@ -3790,6 +3811,7 @@ CONFIG_VIDEO_CX25840=m
|
||||
# CONFIG_VIDEO_OV9640 is not set
|
||||
# CONFIG_VIDEO_OV9650 is not set
|
||||
# CONFIG_VIDEO_OV13858 is not set
|
||||
# CONFIG_VIDEO_OV13B10 is not set
|
||||
# CONFIG_VIDEO_VS6624 is not set
|
||||
# CONFIG_VIDEO_MT9M001 is not set
|
||||
# CONFIG_VIDEO_MT9M032 is not set
|
||||
@ -4071,6 +4093,7 @@ CONFIG_DRM=y
|
||||
# CONFIG_DRM_DEBUG_SELFTEST is not set
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
|
||||
CONFIG_DRM_DEBUG_MODESET_LOCK=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_DRM_FBDEV_OVERALLOC=100
|
||||
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
|
||||
@ -4119,6 +4142,7 @@ CONFIG_DRM_PANEL=y
|
||||
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
|
||||
# CONFIG_DRM_PANEL_LVDS is not set
|
||||
# CONFIG_DRM_PANEL_SIMPLE is not set
|
||||
# CONFIG_DRM_PANEL_EDP is not set
|
||||
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
|
||||
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
|
||||
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
|
||||
@ -4130,6 +4154,7 @@ CONFIG_DRM_PANEL=y
|
||||
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
||||
@ -4452,6 +4477,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
# CONFIG_SND_SOC_CS35L34 is not set
|
||||
# CONFIG_SND_SOC_CS35L35 is not set
|
||||
# CONFIG_SND_SOC_CS35L36 is not set
|
||||
# CONFIG_SND_SOC_CS35L41_SPI is not set
|
||||
# CONFIG_SND_SOC_CS35L41_I2C is not set
|
||||
# CONFIG_SND_SOC_CS42L42 is not set
|
||||
# CONFIG_SND_SOC_CS42L51_I2C is not set
|
||||
# CONFIG_SND_SOC_CS42L52 is not set
|
||||
@ -4464,7 +4491,6 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
# CONFIG_SND_SOC_CS4271_SPI is not set
|
||||
# CONFIG_SND_SOC_CS42XX8_I2C is not set
|
||||
# CONFIG_SND_SOC_CS43130 is not set
|
||||
CONFIG_SND_SOC_CS4334=y
|
||||
# CONFIG_SND_SOC_CS4341 is not set
|
||||
# CONFIG_SND_SOC_CS4349 is not set
|
||||
# CONFIG_SND_SOC_CS53L30 is not set
|
||||
@ -4486,6 +4512,7 @@ CONFIG_SND_SOC_MAX98357A=y
|
||||
# CONFIG_SND_SOC_MAX98504 is not set
|
||||
# CONFIG_SND_SOC_MAX9867 is not set
|
||||
# CONFIG_SND_SOC_MAX98927 is not set
|
||||
# CONFIG_SND_SOC_MAX98520 is not set
|
||||
# CONFIG_SND_SOC_MAX98373_I2C is not set
|
||||
# CONFIG_SND_SOC_MAX98390 is not set
|
||||
# CONFIG_SND_SOC_MAX9860 is not set
|
||||
@ -4510,6 +4537,7 @@ CONFIG_SND_SOC_MAX98357A=y
|
||||
# CONFIG_SND_SOC_RT5631 is not set
|
||||
# CONFIG_SND_SOC_RT5640 is not set
|
||||
# CONFIG_SND_SOC_RT5659 is not set
|
||||
# CONFIG_SND_SOC_RT9120 is not set
|
||||
# CONFIG_SND_SOC_SGTL5000 is not set
|
||||
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y
|
||||
# CONFIG_SND_SOC_SIMPLE_MUX is not set
|
||||
@ -4576,6 +4604,7 @@ CONFIG_SND_SOC_SPDIF=y
|
||||
# CONFIG_SND_SOC_NAU8315 is not set
|
||||
# CONFIG_SND_SOC_NAU8540 is not set
|
||||
# CONFIG_SND_SOC_NAU8810 is not set
|
||||
# CONFIG_SND_SOC_NAU8821 is not set
|
||||
# CONFIG_SND_SOC_NAU8822 is not set
|
||||
# CONFIG_SND_SOC_NAU8824 is not set
|
||||
# CONFIG_SND_SOC_TPA6130A2 is not set
|
||||
@ -4588,6 +4617,8 @@ CONFIG_SND_SOC_SPDIF=y
|
||||
CONFIG_SND_SIMPLE_CARD_UTILS=y
|
||||
CONFIG_SND_SIMPLE_CARD=y
|
||||
CONFIG_SND_AUDIO_GRAPH_CARD=y
|
||||
# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
|
||||
# CONFIG_SND_TEST_COMPONENT is not set
|
||||
|
||||
#
|
||||
# HID support
|
||||
@ -4640,6 +4671,7 @@ CONFIG_HID_KYE=y
|
||||
# CONFIG_HID_UCLOGIC is not set
|
||||
# CONFIG_HID_WALTOP is not set
|
||||
# CONFIG_HID_VIEWSONIC is not set
|
||||
# CONFIG_HID_XIAOMI is not set
|
||||
CONFIG_HID_GYRATION=y
|
||||
# CONFIG_HID_ICADE is not set
|
||||
# CONFIG_HID_ITE is not set
|
||||
@ -4663,6 +4695,7 @@ CONFIG_LOGIWHEELS_FF=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_MULTITOUCH=m
|
||||
# CONFIG_HID_NINTENDO is not set
|
||||
# CONFIG_HID_NTI is not set
|
||||
# CONFIG_HID_NTRIG is not set
|
||||
CONFIG_HID_ORTEK=y
|
||||
@ -4672,7 +4705,6 @@ CONFIG_HID_PENMOUNT=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
# CONFIG_HID_PICOLCD is not set
|
||||
# CONFIG_HID_PLANTRONICS is not set
|
||||
# CONFIG_HID_PLAYSTATION is not set
|
||||
# CONFIG_HID_PRIMAX is not set
|
||||
# CONFIG_HID_RETRODE is not set
|
||||
# CONFIG_HID_ROCCAT is not set
|
||||
@ -5268,10 +5300,9 @@ CONFIG_RTLLIB_CRYPTO_CCMP=m
|
||||
CONFIG_RTLLIB_CRYPTO_TKIP=m
|
||||
CONFIG_RTLLIB_CRYPTO_WEP=m
|
||||
# CONFIG_RTL8192E is not set
|
||||
# CONFIG_RTL8723BS is not set
|
||||
CONFIG_RTL8723BS=m
|
||||
# CONFIG_R8712U is not set
|
||||
CONFIG_R8188EU=m
|
||||
# CONFIG_88EU_AP_MODE is not set
|
||||
# CONFIG_RTS5208 is not set
|
||||
# CONFIG_VT6655 is not set
|
||||
# CONFIG_VT6656 is not set
|
||||
@ -5365,7 +5396,7 @@ CONFIG_COMMON_CLK=y
|
||||
#
|
||||
# Clock driver for ARM Reference designs
|
||||
#
|
||||
# CONFIG_ICST is not set
|
||||
# CONFIG_CLK_ICST is not set
|
||||
# CONFIG_CLK_SP810 is not set
|
||||
# end of Clock driver for ARM Reference designs
|
||||
|
||||
@ -5570,8 +5601,12 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
|
||||
#
|
||||
# CONFIG_ADIS16201 is not set
|
||||
# CONFIG_ADIS16209 is not set
|
||||
# CONFIG_ADXL313_I2C is not set
|
||||
# CONFIG_ADXL313_SPI is not set
|
||||
# CONFIG_ADXL345_I2C is not set
|
||||
# CONFIG_ADXL345_SPI is not set
|
||||
# CONFIG_ADXL355_I2C is not set
|
||||
# CONFIG_ADXL355_SPI is not set
|
||||
# CONFIG_ADXL372_SPI is not set
|
||||
# CONFIG_ADXL372_I2C is not set
|
||||
# CONFIG_BMA180 is not set
|
||||
@ -5699,10 +5734,12 @@ CONFIG_MESON_SARADC=y
|
||||
# CONFIG_IAQCORE is not set
|
||||
# CONFIG_PMS7003 is not set
|
||||
# CONFIG_SCD30_CORE is not set
|
||||
# CONFIG_SCD4X is not set
|
||||
# CONFIG_SENSIRION_SGP30 is not set
|
||||
# CONFIG_SENSIRION_SGP40 is not set
|
||||
# CONFIG_SPS30_I2C is not set
|
||||
# CONFIG_SPS30_SERIAL is not set
|
||||
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
|
||||
# CONFIG_VZ89X is not set
|
||||
# end of Chemical Sensors
|
||||
|
||||
@ -5782,6 +5819,7 @@ CONFIG_MESON_SARADC=y
|
||||
#
|
||||
# CONFIG_ADF4350 is not set
|
||||
# CONFIG_ADF4371 is not set
|
||||
# CONFIG_ADRF6780 is not set
|
||||
# end of Phase-Locked Loop (PLL) frequency synthesizers
|
||||
# end of Frequency Synthesizers DDS/PLL
|
||||
|
||||
@ -6024,6 +6062,7 @@ CONFIG_MESON_SARADC=y
|
||||
# CONFIG_TSYS01 is not set
|
||||
# CONFIG_TSYS02D is not set
|
||||
# CONFIG_MAX31856 is not set
|
||||
# CONFIG_MAX31865 is not set
|
||||
# end of Temperature sensors
|
||||
|
||||
# CONFIG_NTB is not set
|
||||
@ -6072,7 +6111,13 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=y
|
||||
CONFIG_PHY_MESON_AXG_PCIE=y
|
||||
CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
|
||||
CONFIG_PHY_MESON_AXG_MIPI_DPHY=y
|
||||
|
||||
#
|
||||
# PHY drivers for Broadcom platforms
|
||||
#
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# end of PHY drivers for Broadcom platforms
|
||||
|
||||
# CONFIG_PHY_CADENCE_TORRENT is not set
|
||||
# CONFIG_PHY_CADENCE_DPHY is not set
|
||||
# CONFIG_PHY_CADENCE_SIERRA is not set
|
||||
@ -6501,7 +6546,6 @@ CONFIG_CRYPTO_PCRYPT=y
|
||||
CONFIG_CRYPTO_CRYPTD=y
|
||||
# CONFIG_CRYPTO_AUTHENC is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
CONFIG_CRYPTO_SIMD=y
|
||||
CONFIG_CRYPTO_ENGINE=y
|
||||
|
||||
#
|
||||
@ -6724,6 +6768,7 @@ CONFIG_XZ_DEC=y
|
||||
# CONFIG_XZ_DEC_ARM is not set
|
||||
# CONFIG_XZ_DEC_ARMTHUMB is not set
|
||||
# CONFIG_XZ_DEC_SPARC is not set
|
||||
# CONFIG_XZ_DEC_MICROLZMA is not set
|
||||
# CONFIG_XZ_DEC_TEST is not set
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_XARRAY_MULTI=y
|
||||
@ -6781,6 +6826,8 @@ CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_STACKWALK=y
|
||||
CONFIG_STACKDEPOT=y
|
||||
CONFIG_STACK_HASH_ORDER=20
|
||||
CONFIG_SBITMAP=y
|
||||
# end of Library routines
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user