* [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC
@ 2026-10-19 0:39 Ben Grisdale via B4 Relay
2026-10-19 0:39 ` [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
` (7 more replies)
0 siblings, 8 replies; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:39 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
This series adds basic support for the MediaTek MT8163 SoC.
The MT8163 is a 64-bit SoC featuring four ARM Cortex-A53 cores,
typically found in entry-level tablets and smart displays, such as
the Amazon Echo and Fire HD devices.
The bindings, SoC dtsi and watchdog support added here are enough to
boot the 2016 Amazon Echo Dot (biscuit) to a shell over UART0.
This series requires custom TF-A, U-Boot and OP-TEE ports for MT8163.
The stock vendor firmware does not provide a usable PSCI implementation
(the vendor kernel brings up secondary CPUs with a custom "mt-boot"
enable-method instead), and these ports also define the reserved memory
layout used by the board dts:
- TF-A: https://github.com/iara-linux/arm-trusted-firmware
- U-Boot: https://github.com/iara-linux/u-boot
- OP-TEE: https://github.com/iara-linux/optee_os
This is the first of several series. Support for the remaining
peripherals will follow, starting with the clock controllers, pinctrl
and power domains.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
Ben Grisdale (8):
dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016)
dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163
dt-bindings: timer: mediatek,timer: Add MT8163
dt-bindings: serial: mediatek,uart: Add MT8163
dt-bindings: watchdog: mediatek,mtk-wdt: Add MT8163
watchdog: mediatek: Add support for MT8163 TOPRGU/WDT
arm64: dts: mediatek: Add basic support for MT8163 SoC
arm64: dts: mediatek: Add Amazon Echo Dot (2016)
.../devicetree/bindings/arm/mediatek.yaml | 4 +
.../mediatek,mt6577-sysirq.yaml | 1 +
.../devicetree/bindings/serial/mediatek,uart.yaml | 1 +
.../devicetree/bindings/timer/mediatek,timer.yaml | 1 +
.../bindings/watchdog/mediatek,mtk-wdt.yaml | 1 +
arch/arm64/boot/dts/mediatek/Makefile | 1 +
.../boot/dts/mediatek/mt8163-amazon-biscuit.dts | 68 ++++++
arch/arm64/boot/dts/mediatek/mt8163.dtsi | 243 +++++++++++++++++++++
drivers/watchdog/mtk_wdt.c | 6 +
include/dt-bindings/reset/mediatek,mt8163-wdt.h | 23 ++
10 files changed, 349 insertions(+)
---
base-commit: 2efb7a11f1aa4d2dc285fe2680cca22cb9f72f64
change-id: 20261018-arm64-initial-support-for-mediatek-mt8163-soc-ea58d47cb7aa
Best regards,
--
Ben Grisdale <bengris32@protonmail.ch>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016)
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
@ 2026-10-19 0:39 ` Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:39 ` [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163 Ben Grisdale via B4 Relay
` (6 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:39 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add compatible strings for the MediaTek MT8163 SoC and the Amazon Echo
Dot (2nd generation, 2016), codenamed "biscuit".
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
Documentation/devicetree/bindings/arm/mediatek.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 180e6e4948e7..15db402552c1 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -129,6 +129,10 @@ properties:
- enum:
- mediatek,mt8135-evbp1
- const: mediatek,mt8135
+ - items:
+ - enum:
+ - amazon,biscuit
+ - const: mediatek,mt8163
- items:
- enum:
- mediatek,mt8167-pumpkin
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
2026-10-19 0:39 ` [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
@ 2026-10-19 0:39 ` Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:39 ` [PATCH 3/8] dt-bindings: timer: mediatek,timer: " Ben Grisdale via B4 Relay
` (5 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:39 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the SYSIRQ interrupt polarity controller on
the MediaTek MT8163 SoC, which is compatible with the MT6577 SYSIRQ.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
.../devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml
index b94fc3cec175..9d2fc15fc81d 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml
@@ -36,6 +36,7 @@ properties:
- mediatek,mt7629-sysirq
- mediatek,mt8127-sysirq
- mediatek,mt8135-sysirq
+ - mediatek,mt8163-sysirq
- mediatek,mt8173-sysirq
- mediatek,mt8183-sysirq
- mediatek,mt8365-sysirq
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/8] dt-bindings: timer: mediatek,timer: Add MT8163
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
2026-10-19 0:39 ` [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
2026-10-19 0:39 ` [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163 Ben Grisdale via B4 Relay
@ 2026-10-19 0:39 ` Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 4/8] dt-bindings: serial: mediatek,uart: " Ben Grisdale via B4 Relay
` (4 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:39 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the general purpose timer (GPT) on the
MediaTek MT8163 SoC, which is compatible with the MT6577 timer.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
Documentation/devicetree/bindings/timer/mediatek,timer.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/timer/mediatek,timer.yaml b/Documentation/devicetree/bindings/timer/mediatek,timer.yaml
index 337580dc77d8..fcf4303e1426 100644
--- a/Documentation/devicetree/bindings/timer/mediatek,timer.yaml
+++ b/Documentation/devicetree/bindings/timer/mediatek,timer.yaml
@@ -34,6 +34,7 @@ properties:
- mediatek,mt7623-timer
- mediatek,mt8127-timer
- mediatek,mt8135-timer
+ - mediatek,mt8163-timer
- mediatek,mt8173-timer
- mediatek,mt8516-timer
- const: mediatek,mt6577-timer
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/8] dt-bindings: serial: mediatek,uart: Add MT8163
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
` (2 preceding siblings ...)
2026-10-19 0:39 ` [PATCH 3/8] dt-bindings: timer: mediatek,timer: " Ben Grisdale via B4 Relay
@ 2026-10-19 0:40 ` Ben Grisdale via B4 Relay
2026-10-19 9:45 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: " Ben Grisdale via B4 Relay
` (3 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the UART controllers on the MediaTek MT8163
SoC, which are compatible with the MT6577 UART.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
Documentation/devicetree/bindings/serial/mediatek,uart.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/serial/mediatek,uart.yaml b/Documentation/devicetree/bindings/serial/mediatek,uart.yaml
index 5bd8a8853ae0..11801b58f637 100644
--- a/Documentation/devicetree/bindings/serial/mediatek,uart.yaml
+++ b/Documentation/devicetree/bindings/serial/mediatek,uart.yaml
@@ -43,6 +43,7 @@ properties:
- mediatek,mt7988-uart
- mediatek,mt8127-uart
- mediatek,mt8135-uart
+ - mediatek,mt8163-uart
- mediatek,mt8173-uart
- mediatek,mt8183-uart
- mediatek,mt8186-uart
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: Add MT8163
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
` (3 preceding siblings ...)
2026-10-19 0:40 ` [PATCH 4/8] dt-bindings: serial: mediatek,uart: " Ben Grisdale via B4 Relay
@ 2026-10-19 0:40 ` Ben Grisdale via B4 Relay
2026-10-19 9:45 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 6/8] watchdog: mediatek: Add support for MT8163 TOPRGU/WDT Ben Grisdale via B4 Relay
` (2 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the Top Reset Generation Unit (TOPRGU) and
watchdog timer on the MediaTek MT8163 SoC, along with a header defining
the reset IDs it provides.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
.../bindings/watchdog/mediatek,mtk-wdt.yaml | 1 +
include/dt-bindings/reset/mediatek,mt8163-wdt.h | 23 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
index f9b725592c27..8e8991ac95ea 100644
--- a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
@@ -26,6 +26,7 @@ properties:
- mediatek,mt6795-wdt
- mediatek,mt7986-wdt
- mediatek,mt7988-wdt
+ - mediatek,mt8163-wdt
- mediatek,mt8167-wdt
- mediatek,mt8183-wdt
- mediatek,mt8186-wdt
diff --git a/include/dt-bindings/reset/mediatek,mt8163-wdt.h b/include/dt-bindings/reset/mediatek,mt8163-wdt.h
new file mode 100644
index 000000000000..e6add5281e65
--- /dev/null
+++ b/include/dt-bindings/reset/mediatek,mt8163-wdt.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef _DT_BINDINGS_RESET_MEDIATEK_MT8163_WDT_H_
+#define _DT_BINDINGS_RESET_MEDIATEK_MT8163_WDT_H_
+
+/* TOPRGU resets */
+#define MT8163_TOPRGU_INFRA_RST 0
+#define MT8163_TOPRGU_MM_RST 1
+#define MT8163_TOPRGU_MFG_RST 2
+#define MT8163_TOPRGU_VENC_RST 3
+#define MT8163_TOPRGU_VDEC_RST 4
+#define MT8163_TOPRGU_IMG_RST 5
+#define MT8163_TOPRGU_DDRPHY_RST 6
+#define MT8163_TOPRGU_MD_RST 7
+#define MT8163_TOPRGU_INFRA_AO_RST 8
+#define MT8163_TOPRGU_CONN_RST 9
+#define MT8163_TOPRGU_APMIXED_RST 10
+#define MT8163_TOPRGU_PWRAP_SPICTL_RST 11
+#define MT8163_TOPRGU_CONN_MCU_RST 12
+#define MT8163_TOPRGU_MJC_RST 13
+#define MT8163_TOPRGU_MDLITE_RST 14
+
+#endif /* _DT_BINDINGS_RESET_MEDIATEK_MT8163_WDT_H_ */
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 6/8] watchdog: mediatek: Add support for MT8163 TOPRGU/WDT
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
` (4 preceding siblings ...)
2026-10-19 0:40 ` [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: " Ben Grisdale via B4 Relay
@ 2026-10-19 0:40 ` Ben Grisdale via B4 Relay
2026-10-19 0:40 ` [PATCH 7/8] arm64: dts: mediatek: Add basic support for MT8163 SoC Ben Grisdale via B4 Relay
2026-10-19 0:40 ` [PATCH 8/8] arm64: dts: mediatek: Add Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
7 siblings, 0 replies; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add support for the Top Reset Generation Unit (TOPRGU) and watchdog
timer on the MediaTek MT8163 SoC, which provides 15 software resets.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
drivers/watchdog/mtk_wdt.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index 1630ab65d593..0c6efa2e851d 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -70,6 +70,7 @@
#define MT6589_TOPRGU_SW_RST_NUM 12
#define MT7988_TOPRGU_SW_RST_NUM 24
+#define MT8163_TOPRGU_SW_RST_NUM 15
static bool nowayout = WATCHDOG_NOWAYOUT;
static unsigned int timeout;
@@ -117,6 +118,10 @@ static const struct mtk_wdt_data mt7988_data = {
.has_swsysrst_en = true,
};
+static const struct mtk_wdt_data mt8163_data = {
+ .toprgu_sw_rst_num = MT8163_TOPRGU_SW_RST_NUM,
+};
+
static const struct mtk_wdt_data mt8183_data = {
.toprgu_sw_rst_num = MT8183_TOPRGU_SW_RST_NUM,
};
@@ -597,6 +602,7 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
{ .compatible = "mediatek,mt6795-wdt", .data = &mt6795_data },
{ .compatible = "mediatek,mt7986-wdt", .data = &mt7986_data },
{ .compatible = "mediatek,mt7988-wdt", .data = &mt7988_data },
+ { .compatible = "mediatek,mt8163-wdt", .data = &mt8163_data },
{ .compatible = "mediatek,mt8167-wdt", .data = &mt8167_data },
{ .compatible = "mediatek,mt8183-wdt", .data = &mt8183_data },
{ .compatible = "mediatek,mt8186-wdt", .data = &mt8186_data },
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 7/8] arm64: dts: mediatek: Add basic support for MT8163 SoC
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
` (5 preceding siblings ...)
2026-10-19 0:40 ` [PATCH 6/8] watchdog: mediatek: Add support for MT8163 TOPRGU/WDT Ben Grisdale via B4 Relay
@ 2026-10-19 0:40 ` Ben Grisdale via B4 Relay
2026-10-19 0:40 ` [PATCH 8/8] arm64: dts: mediatek: Add Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
7 siblings, 0 replies; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a basic dtsi for the MediaTek MT8163 SoC, describing the CPUs and
caches, PSCI, interrupt controllers, timers, PMU, watchdog and UARTs.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
arch/arm64/boot/dts/mediatek/mt8163.dtsi | 243 +++++++++++++++++++++++++++++++
1 file changed, 243 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8163.dtsi b/arch/arm64/boot/dts/mediatek/mt8163.dtsi
new file mode 100644
index 000000000000..645f4e15587b
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8163.dtsi
@@ -0,0 +1,243 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) 2026 Ben Grisdale <bengris32@protonmail.ch>
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "mediatek,mt8163";
+ interrupt-parent = <&sysirq>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ clk32k: clock-32768 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ clock-output-names = "clk32k";
+ };
+
+ clk13m: clock-13000000 {
+ compatible = "fixed-factor-clock";
+ #clock-cells = <0>;
+ clocks = <&clk26m>;
+ clock-div = <2>;
+ clock-mult = <1>;
+ clock-output-names = "clk13m";
+ };
+
+ clk26m: clock-26000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <26000000>;
+ clock-output-names = "clk26m";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x0>;
+ enable-method = "psci";
+ i-cache-size = <32768>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <32768>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x1>;
+ enable-method = "psci";
+ i-cache-size = <32768>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <32768>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x2>;
+ enable-method = "psci";
+ i-cache-size = <32768>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <32768>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x3>;
+ enable-method = "psci";
+ i-cache-size = <32768>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <32768>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+
+ core1 {
+ cpu = <&cpu1>;
+ };
+
+ core2 {
+ cpu = <&cpu2>;
+ };
+
+ core3 {
+ cpu = <&cpu3>;
+ };
+ };
+ };
+
+ l2: l2-cache {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-size = <524288>;
+ cache-line-size = <64>;
+ cache-sets = <512>;
+ cache-unified;
+ };
+ };
+
+ pmu {
+ compatible = "arm,cortex-a53-pmu";
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 11 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ };
+
+ soc {
+ compatible = "simple-bus";
+ ranges;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ watchdog: watchdog@10007000 {
+ compatible = "mediatek,mt8163-wdt";
+ reg = <0 0x10007000 0 0x1000>;
+ interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_FALLING>;
+ #reset-cells = <1>;
+ };
+
+ timer: timer@10008000 {
+ compatible = "mediatek,mt8163-timer",
+ "mediatek,mt6577-timer";
+ reg = <0 0x10008000 0 0x1000>;
+ interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk13m>, <&clk32k>;
+ clock-names = "system-clk", "rtc-clk";
+ };
+
+ sysirq: interrupt-controller@10200620 {
+ compatible = "mediatek,mt8163-sysirq",
+ "mediatek,mt6577-sysirq";
+ reg = <0 0x10200620 0 0x20>;
+ #interrupt-cells = <3>;
+ interrupt-parent = <&gic>;
+ interrupt-controller;
+ };
+
+ gic: interrupt-controller@10221000 {
+ compatible = "arm,gic-400";
+ reg = <0 0x10221000 0 0x1000>,
+ <0 0x10222000 0 0x2000>,
+ <0 0x10224000 0 0x2000>,
+ <0 0x10226000 0 0x2000>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
+ IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
+ uart0: serial@11002000 {
+ compatible = "mediatek,mt8163-uart",
+ "mediatek,mt6577-uart";
+ reg = <0 0x11002000 0 0x400>;
+ interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk26m>, <&clk26m>;
+ clock-names = "baud", "bus";
+
+ status = "disabled";
+ };
+
+ uart1: serial@11003000 {
+ compatible = "mediatek,mt8163-uart",
+ "mediatek,mt6577-uart";
+ reg = <0 0x11003000 0 0x400>;
+ interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk26m>, <&clk26m>;
+ clock-names = "baud", "bus";
+
+ status = "disabled";
+ };
+
+ uart2: serial@11004000 {
+ compatible = "mediatek,mt8163-uart",
+ "mediatek,mt6577-uart";
+ reg = <0 0x11004000 0 0x400>;
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk26m>, <&clk26m>;
+ clock-names = "baud", "bus";
+
+ status = "disabled";
+ };
+
+ uart3: serial@11005000 {
+ compatible = "mediatek,mt8163-uart",
+ "mediatek,mt6577-uart";
+ reg = <0 0x11005000 0 0x400>;
+ interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk26m>, <&clk26m>;
+ clock-names = "baud", "bus";
+
+ status = "disabled";
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_PPI 13
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 14
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 11
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 10
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+ arm,no-tick-in-suspend;
+ };
+};
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 8/8] arm64: dts: mediatek: Add Amazon Echo Dot (2016)
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
` (6 preceding siblings ...)
2026-10-19 0:40 ` [PATCH 7/8] arm64: dts: mediatek: Add basic support for MT8163 SoC Ben Grisdale via B4 Relay
@ 2026-10-19 0:40 ` Ben Grisdale via B4 Relay
7 siblings, 0 replies; 14+ messages in thread
From: Ben Grisdale via B4 Relay @ 2026-10-19 0:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
linux-serial, linux-watchdog, Ben Grisdale
From: Ben Grisdale <bengris32@protonmail.ch>
Add a device tree for the Amazon Echo Dot (2nd generation, 2016),
codenamed "biscuit", which is based on the MediaTek MT8163 SoC.
This is enough to boot to a shell over UART0. The UART pins are assumed
to be configured by the bootloader, as there is no pinctrl support yet.
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
---
arch/arm64/boot/dts/mediatek/Makefile | 1 +
.../boot/dts/mediatek/mt8163-amazon-biscuit.dts | 68 ++++++++++++++++++++++
2 files changed, 69 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index a86fb313b1a9..adf02b9f234b 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -92,6 +92,7 @@ mt7988a-bananapi-bpi-r4-pro-8x-sd-cn18-dtbs := \
mt7988a-bananapi-bpi-r4-pro-cn13.dtbo \
mt7988a-bananapi-bpi-r4-pro-cn18.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-sd-cn18.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8163-amazon-biscuit.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8167-pumpkin.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-elm.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-elm-hana.dtb
diff --git a/arch/arm64/boot/dts/mediatek/mt8163-amazon-biscuit.dts b/arch/arm64/boot/dts/mediatek/mt8163-amazon-biscuit.dts
new file mode 100644
index 000000000000..5fb5d59e4ed2
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8163-amazon-biscuit.dts
@@ -0,0 +1,68 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) 2026 Ben Grisdale <bengris32@protonmail.ch>
+ */
+
+/dts-v1/;
+#include "mt8163.dtsi"
+
+/ {
+ model = "Amazon Echo Dot (2016)";
+ compatible = "amazon,biscuit", "mediatek,mt8163";
+ chassis-type = "embedded";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:921600n8";
+ };
+
+ firmware {
+ optee {
+ compatible = "linaro,optee-tz";
+ method = "smc";
+ };
+ };
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0 0x40000000 0 0x20000000>;
+ };
+
+ reserved-memory {
+ ranges;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ /* 192 KiB reserved for ARM Trusted Firmware (BL31) */
+ secmon@43000000 {
+ reg = <0 0x43000000 0 0x30000>;
+ no-map;
+ };
+
+ /* 16 KiB reserved for SPM firmware */
+ spm-pcm@43030000 {
+ reg = <0 0x43030000 0 0x4000>;
+ no-map;
+ };
+
+ /*
+ * 6 MiB reserved for OP-TEE (BL32)
+ * +-----------------------+ 0x4380_0000
+ * | SHMEM 2MiB |
+ * +-----------------------+ 0x4360_0000
+ * | TZDRAM 4MiB |
+ * +-----------------------+ 0x4320_0000
+ */
+ optee@43200000 {
+ reg = <0 0x43200000 0 0x600000>;
+ no-map;
+ };
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
--
2.56.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016)
2026-10-19 0:39 ` [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
@ 2026-10-19 9:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-19 9:44 UTC (permalink / raw)
To: Ben Grisdale
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek, linux-serial,
linux-watchdog
On Mon, Oct 19, 2026 at 01:39:57AM +0100, Ben Grisdale wrote:
> Add compatible strings for the MediaTek MT8163 SoC and the Amazon Echo
> Dot (2nd generation, 2016), codenamed "biscuit".
>
> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
> ---
> Documentation/devicetree/bindings/arm/mediatek.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163
2026-10-19 0:39 ` [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163 Ben Grisdale via B4 Relay
@ 2026-10-19 9:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-19 9:44 UTC (permalink / raw)
To: Ben Grisdale
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek, linux-serial,
linux-watchdog
On Mon, Oct 19, 2026 at 01:39:58AM +0100, Ben Grisdale wrote:
> Add a compatible string for the SYSIRQ interrupt polarity controller on
> the MediaTek MT8163 SoC, which is compatible with the MT6577 SYSIRQ.
>
> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
> ---
> .../devicetree/bindings/interrupt-controller/mediatek,mt6577-sysirq.yaml | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/8] dt-bindings: timer: mediatek,timer: Add MT8163
2026-10-19 0:39 ` [PATCH 3/8] dt-bindings: timer: mediatek,timer: " Ben Grisdale via B4 Relay
@ 2026-10-19 9:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-19 9:44 UTC (permalink / raw)
To: Ben Grisdale
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek, linux-serial,
linux-watchdog
On Mon, Oct 19, 2026 at 01:39:59AM +0100, Ben Grisdale wrote:
> Add a compatible string for the general purpose timer (GPT) on the
> MediaTek MT8163 SoC, which is compatible with the MT6577 timer.
>
> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
> ---
> Documentation/devicetree/bindings/timer/mediatek,timer.yaml | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 4/8] dt-bindings: serial: mediatek,uart: Add MT8163
2026-10-19 0:40 ` [PATCH 4/8] dt-bindings: serial: mediatek,uart: " Ben Grisdale via B4 Relay
@ 2026-10-19 9:45 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-19 9:45 UTC (permalink / raw)
To: Ben Grisdale
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek, linux-serial,
linux-watchdog
On Mon, Oct 19, 2026 at 01:40:00AM +0100, Ben Grisdale wrote:
> Add a compatible string for the UART controllers on the MediaTek MT8163
> SoC, which are compatible with the MT6577 UART.
>
> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
> ---
> Documentation/devicetree/bindings/serial/mediatek,uart.yaml | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: Add MT8163
2026-10-19 0:40 ` [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: " Ben Grisdale via B4 Relay
@ 2026-10-19 9:45 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-19 9:45 UTC (permalink / raw)
To: Ben Grisdale
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, Thomas Gleixner,
Radu Rendec, Daniel Lezcano, Greg Kroah-Hartman, Jiri Slaby,
Wim Van Sebroeck, Guenter Roeck, Philipp Zabel, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek, linux-serial,
linux-watchdog
On Mon, Oct 19, 2026 at 01:40:01AM +0100, Ben Grisdale wrote:
> Add a compatible string for the Top Reset Generation Unit (TOPRGU) and
> watchdog timer on the MediaTek MT8163 SoC, along with a header defining
> the reset IDs it provides.
>
> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
> ---
> .../bindings/watchdog/mediatek,mtk-wdt.yaml | 1 +
> include/dt-bindings/reset/mediatek,mt8163-wdt.h | 23 ++++++++++++++++++++++
> 2 files changed, 24 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-10-19 9:45 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19 0:39 [PATCH 0/8] arm64: Initial support for MediaTek MT8163 SoC Ben Grisdale via B4 Relay
2026-10-19 0:39 ` [PATCH 1/8] dt-bindings: arm: mediatek: Add MT8163 Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:39 ` [PATCH 2/8] dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Add MT8163 Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:39 ` [PATCH 3/8] dt-bindings: timer: mediatek,timer: " Ben Grisdale via B4 Relay
2026-10-19 9:44 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 4/8] dt-bindings: serial: mediatek,uart: " Ben Grisdale via B4 Relay
2026-10-19 9:45 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 5/8] dt-bindings: watchdog: mediatek,mtk-wdt: " Ben Grisdale via B4 Relay
2026-10-19 9:45 ` Krzysztof Kozlowski
2026-10-19 0:40 ` [PATCH 6/8] watchdog: mediatek: Add support for MT8163 TOPRGU/WDT Ben Grisdale via B4 Relay
2026-10-19 0:40 ` [PATCH 7/8] arm64: dts: mediatek: Add basic support for MT8163 SoC Ben Grisdale via B4 Relay
2026-10-19 0:40 ` [PATCH 8/8] arm64: dts: mediatek: Add Amazon Echo Dot (2016) Ben Grisdale via B4 Relay
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox