[PATCH v5 0/8] Add support for mt8167 toprgu and mmsys resets
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Wed Sep 9 02:42:06 PDT 2026
On 9/8/26 19:38, Luca Leonardo Scorcia wrote:
> Currently mt8167 inherits its watchdog from the included mt8516 dtsi,
> which in turn falls back on mt6589-wdt, which does not support toprgu
> resets yet. In the first two patches we add support for the 12 mt6589
> toprgu resets.
>
> However, according to its data sheet, mt8167 has 14 sw resets instead of
> 12, and its reset bits are non-contiguous. This is currently unsupported
> by the mtk-wdt driver and it caused confusion between reset IDs and reset
> bits in other mtk SoCs device tree includes.
>
> Therefore we introduce a dedicated mediatek,mt8167-wdt compatible for the
> watchdog driver that describes correctly this SoC's resets. Since its
> reset bits are non-contiguous, we add support for a watchdog reset table
> to accommodate the distinction between device tree reset IDs and the
> actual bits in the registers. Code is inspired by the reset table
> currently implemented in the mmsys driver. There should be no effect
> on existing sequential wdt resets.
>
> In the last three patches we describe the mmsys reset table for the SoC.
> According to the datasheet there are 28 mmsys reset bits divided across
> two adjacent registers.
>
> The series has been tested on a Sony PlayStation Classic Mini, on a Xiaomi
> Mi Smart Clock and on a Lenovo Smart Clock 2.
>
Whole series is
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> Changes in v5:
> - Dropped the binding header for mt6589 reset IDs;
> - Moved the definition of the number of resets for mt6589 inside
> mtk-wdt driver;
> - Separated the mmsys related changes to the last three commits.
>
> Changes in v4 [4]:
> - Squashed the reset IDs includes together with the bindings change;
> - Added support for a reset table to the mtk-wdt driver. This allows us
> to decouple reset IDs from device trees from reset bits and lets us
> describe correctly the non-contiguous reset bits of mt8167;
> - Improved explanations in commit messages.
>
> Changes in v3 [3]:
> - Improved explanations in the commit messages;
> - Added the #reset-cells property to mt6589 watchdog node;
> - Included the mediatek,mt6589-resets.h file in mt6589.dtsi;
> - Included the mediatek,mt8167-resets.h file in mt8167.dtsi;
> - Moved the mmsys reset table from the mt8167-mmsys.h header file to
> the mmsys driver implementation.
>
> Changes in v2 [2]:
> - Sashiko pointed out correctly a missing entry in the mmsys reset table
> in the last patch.
>
> Initial version: [1]
>
> [1] https://lore.kernel.org/linux-mediatek/20260717151134.678839-1-l.scorcia@gmail.com/
> [2] https://lore.kernel.org/linux-mediatek/20260717163959.714561-1-l.scorcia@gmail.com/
> [3] https://lore.kernel.org/linux-mediatek/20260809160643.33991-1-l.scorcia@gmail.com/
> [4] https://lore.kernel.org/linux-mediatek/20260819101853.44681-1-l.scorcia@gmail.com/
>
> Luca Leonardo Scorcia (8):
> watchdog: mediatek: Add wdt/toprgu resets for mt6589
> arm: dts: mediatek: mt6589: Enable toprgu reset controller
> dt-bindings: watchdog: Add compatible for MediaTek mt8167
> watchdog: mediatek: Add support for mt8167 toprgu/watchdog
> arm64: dts: mt8167: Properly describe the SoC watchdog resets
> dt-bindings: reset: Add mmsys reset ids for mt8167
> soc: mediatek: mtk-mmsys: Add resets for mt8167
> arm64: dts: mt8167: Add support for mmsys resets
>
> .../bindings/watchdog/mediatek,mtk-wdt.yaml | 1 +
> arch/arm/boot/dts/mediatek/mt6589.dtsi | 1 +
> arch/arm64/boot/dts/mediatek/mt8167.dtsi | 9 ++++
> drivers/soc/mediatek/mt8167-mmsys.h | 3 ++
> drivers/soc/mediatek/mtk-mmsys.c | 38 +++++++++++++
> drivers/watchdog/mtk_wdt.c | 54 +++++++++++++++++--
> .../dt-bindings/reset/mediatek,mt8167-mmsys.h | 35 ++++++++++++
> .../dt-bindings/reset/mediatek,mt8167-wdt.h | 21 ++++++++
> 8 files changed, 157 insertions(+), 5 deletions(-)
> create mode 100644 include/dt-bindings/reset/mediatek,mt8167-mmsys.h
> create mode 100644 include/dt-bindings/reset/mediatek,mt8167-wdt.h
>
More information about the linux-arm-kernel
mailing list