Re: [PATCH 4/4] arm64: dts: mediatek: Add MT6833 and the Xiaomi Redmi Note 13 5G

From: Roman Vivchar

Date: Sat Nov 07 2026 - 08:26:30 EST


On Saturday, November 7th, 2026 at 2:22 PM, Rui Cao via B4 Relay <devnull+i.udp0.com@xxxxxxxxxx> wrote:

> From: Rui Cao <i@xxxxxxxx>
>
> Add a device tree for MediaTek's MT6833 (Dimensity 700): its eight
> cores, six Cortex-A55 and two Cortex-A76 in one DynamIQ cluster, with
> their caches and PMUs, PSCI, the architected timer, the GICv3, the
> watchdog and the first UART.
>
> Add the Xiaomi Redmi Note 13 5G (gold) on it, with its memory, the
> regions its bootloader reserves for the firmware it starts, and the
> framebuffer the bootloader leaves the panel scanning out.
>
> The cache sizes are the ones the cores report in CCSIDR_EL1. The
> bootloader programs CNTFRQ_EL0 (13 MHz), so the timer has no
> clock-frequency.
>
> Signed-off-by: Rui Cao <i@xxxxxxxx>
> ---
> arch/arm64/boot/dts/mediatek/Makefile | 1 +
> .../arm64/boot/dts/mediatek/mt6833-xiaomi-gold.dts | 205 +++++++++++++
> arch/arm64/boot/dts/mediatek/mt6833.dtsi | 341 +++++++++++++++++++++
> 3 files changed, 547 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index a86fb313b1a..b8466d4a3d6 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-sony-xperia-m5.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt6833-xiaomi-gold.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-cudy-wr3000-v1.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/mt6833-xiaomi-gold.dts b/arch/arm64/boot/dts/mediatek/mt6833-xiaomi-gold.dts
> new file mode 100644
> index 00000000000..6bdcf407fb6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt6833-xiaomi-gold.dts
> @@ -0,0 +1,205 @@
> +// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
> +/*
> + * Xiaomi Redmi Note 13 5G (gold)
> + *
> + * Copyright (C) 2026 Rui Cao <i@xxxxxxxx>
> + */
> +
> +/dts-v1/;
> +#include "mt6833.dtsi"
> +
> +/ {
> + model = "Xiaomi Redmi Note 13 5G";
> + compatible = "xiaomi,gold", "mediatek,mt6833";
> + chassis-type = "handset";
> +
> + chosen {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + /* The bootloader leaves the panel lit, scanning out this buffer */
> + framebuffer@73c10000 {
> + compatible = "simple-framebuffer";
> + reg = <0 0x73c10000 0 (4352 * 2400)>;
> + width = <1080>;
> + height = <2400>;
> + stride = <4352>;
> + format = "a8r8g8b8";
> + };
> + };
> +
> + memory@40000000 {
> + device_type = "memory";
> + reg = <0 0x40000000 1 0x80000000>;
> + };
> +
> + /*
> + * The regions the bootloader reserves for the firmware it starts (ATF,
> + * TEE, GenieZone, the SSPM, MCUPM and SCP coprocessors, the modem) and
> + * for itself, as it reports them.
> + */

Shouldn't the boot shim populate /memory and the dynamic /reserved-memory
nodes from the vendor FDT instead of hardcoding them here? There are
multiple phone variants, which may have different reserved memory addresses.

> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + aee-debug-kinfo@48080000 {
> + reg = <0 0x48080000 0 0x10000>;
> + no-map;
> + };

...

> diff --git a/arch/arm64/boot/dts/mediatek/mt6833.dtsi b/arch/arm64/boot/dts/mediatek/mt6833.dtsi
> new file mode 100644
> index 00000000000..4c5f1381ca6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt6833.dtsi

...

> + watchdog: watchdog@10007000 {
> + compatible = "mediatek,mt6833-wdt", "mediatek,mt6589-wdt";
> + reg = <0 0x10007000 0 0x100>;
> + };
> +

No interrupts?

Best regards,
Roman