Re: [PATCH 1/2] dt-bindings: reset: introduce toshiba,tc9564-reset.yaml
From: Alex Elder
Date: Mon Oct 12 2026 - 15:17:05 EST
On 10/12/26 1:51 PM, Conor Dooley wrote:
On Mon, Oct 12, 2026 at 11:43:52AM -0500, Alex Elder wrote:
Define the binding for the reset controller functionality present in
the Toshiba TC9564 SoC.
Co-developed-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Alex Elder <elder@xxxxxxxxxxxx>
---
.../bindings/reset/toshiba,tc9564-reset.yaml | 56 +++++++++++++++++++
MAINTAINERS | 7 +++
include/dt-bindings/reset/toshiba,tc9564.h | 26 +++++++++
3 files changed, 89 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reset/toshiba,tc9564-reset.yaml
create mode 100644 include/dt-bindings/reset/toshiba,tc9564.h
diff --git a/Documentation/devicetree/bindings/reset/toshiba,tc9564-reset.yaml b/Documentation/devicetree/bindings/reset/toshiba,tc9564-reset.yaml
new file mode 100644
index 0000000000000..1908e9539abac
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/toshiba,tc9564-reset.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/toshiba,tc9564-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Toshiba TC9564 Reset Controller
+
+maintainers:
+ - Alex Elder <elder@xxxxxxxxxxxx>
+ - Daniel Thompson <daniel@xxxxxxxxxxxx>
+
+description:
+ The Toshiba TC9564 is an SoC accessed by a host system through the
+ upstream PCIe port on the PCIe switch it implements. The switch
+ includes an embedded PCIe endpoint that provides access to various
+ SoC peripherals (including a reset controller) via its BARs.
+
+ A total of 13 resets are implemented, though two of these are not
+ controllable. Access to the reset controller relies on PCIe being
+ functional, so the PCIe reset is assumed to be deasserted. Similarly,
+ the PCIe controller relies on I2C, so the I2C reset is also assumed
+ to be deasserted.
+
+ Reset ids are defined in <dt-bindings/reset/toshiba,tc9564.h>.
+
+ The reset controller uses registers within the same page as a
+ clock controller, so both devices are defined as children of a
+ "config" syscon.
+
+properties:
+ compatible:
+ const: toshiba,tc9564-reset
Why does this need to exist as a standalone device, rather than be
rolled up into the parent syscon node? It doesn't have any resources, so
it should be doable.
This is along the lines of what Krzysztof has mentioned, and it
seems clear I must be missing something.
This kind of thing for a syscon is always difficult to review when only
one element is present - where is the rest of the syscon's
functionality?
The reason a syscon was used was simply for the benefit of
having a shared regmap that the reset, clock, and DWMAC drivers
can use. All three of those drivers use registers that reside
within a single page of addressible MMIO space. And I don't
know that I can guarantee their probe order.
There is otherwise no "system controller" that is treated as
a logical entity within the SoC.
What is the proper way for me to represent this? It's fairly
simple; and I mainly want to ensure all three of those drivers
can safely access their addresses.
Thanks.
-Alex
Thanks,
Conor.
+
+ "#reset-cells":
+ const: 1
+
+required:
+ - compatible
+ - "#reset-cells"
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/reset/toshiba,tc9564.h>
+
+ syscon@0 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x0 0x2000>;
+
+ reset {
+ compatible = "toshiba,tc9564-reset";
+ #reset-cells = <1>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 252b6d7ee1638..d0eb44079fe17 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -28180,6 +28180,13 @@ S: Maintained
F: Documentation/devicetree/bindings/misc/pci1179,0220.yaml
F: drivers/misc/tc9564-pci.c
+TOSHIBA TC9564 RESET DRIVER
+M: Alex Elder <elder@xxxxxxxxxx>
+M: Daniel Thompson <danielt@xxxxxxxxxx>
+S: Maintained
+F: Documentation/devicetree/bindings/reset/toshiba,tc9564-reset.yaml
+F: include/dt-bindings/reset/toshiba,tc9564.h
+
TOSHIBA WMI HOTKEYS DRIVER
M: Azael Avalos <coproscefalo@xxxxxxxxx>
L: platform-driver-x86@xxxxxxxxxxxxxxx
diff --git a/include/dt-bindings/reset/toshiba,tc9564.h b/include/dt-bindings/reset/toshiba,tc9564.h
new file mode 100644
index 0000000000000..5fcc9a06d4ff6
--- /dev/null
+++ b/include/dt-bindings/reset/toshiba,tc9564.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+/*
+ * Copyright (C) 2026 by RISCstar Solutions Corporation. All rights reserved.
+ */
+
+#ifndef __RESET_TOSHIBA_TC9564_H__
+#define __RESET_TOSHIBA_TC9564_H__
+
+/* Reset IDs */
+
+#define RESET_MCU 0
+#define RESET_MCU1 1
+#define RESET_MSIGEN 2
+#define RESET_INTC 3
+#define RESET_UART 4
+
+#define RESET_MAC0_MAC 5
+#define RESET_MAC0_PMA 6
+#define RESET_MAC0_XPCS 7
+
+#define RESET_MAC1_MAC 8
+#define RESET_MAC1_PMA 9
+#define RESET_MAC1_XPCS 10
+
+#endif /* __RESET_TOSHIBA_TC9564_H__*/
--
2.53.0