* [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller
@ 2025-09-18 6:14 Mathew McBride
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Mathew McBride @ 2025-09-18 6:14 UTC (permalink / raw)
To: devicetree, linux-arm-kernel
Cc: Shawn Guo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Lee Jones, Mathew McBride
This series requires the "dt-bindings: mfd: Move embedded controllers to own
directory"[1] change which is in mfd-next for the 6.18 cycle.
Changes since v3:
- Move to the embedded-controller directory (which was created following
the last submission)
- Remove the extra paragraph in the dt-binding description field
- Const'ify the I2C endpoint address (only one I2C address is implemented in
hardware, 0x7e)
- Fix the description line of the fsl-ls1088a-ten64 patch (s/arm/arm64)
Changes since v4:
- Cosmetic only (no changes to the patch diff), clarify why the Reviwed-By:
tag previously given to dt-schema file, was not taken up due to the content
of the patch changing
- Previous links changed to lore.kernel.org where applicable
v3 series:
https://lore.kernel.org/linux-devicetree/20250821061115.18254-1-matt@traverse.com.au/
v4:
https://lore.kernel.org/linux-devicetree/20250917011940.9880-1-matt@traverse.com.au/
More information on the board controller can be found here:
https://ten64doc.traverse.com.au/hardware/microcontroller/
There is no (presently) Linux kernel driver for this device, but
it is used by U-Boot for functions such as reading out the boards
assigned MAC and controlling some devices on the board.
[1] https://lore.kernel.org/all/20250825081201.9775-2-krzysztof.kozlowski@linaro.org/
Mathew McBride (2):
dt-bindings: embedded-controller: add Traverse Ten64 board controller
arm64: dts: ten64: add board controller binding
.../traverse,ten64-controller.yaml | 40 +++++++++++++++++++
.../boot/dts/freescale/fsl-ls1088a-ten64.dts | 4 ++
2 files changed, 44 insertions(+)
create mode 100644 Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
--
2.45.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse Ten64 board controller
2025-09-18 6:14 [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Mathew McBride
@ 2025-09-18 6:14 ` Mathew McBride
2025-09-18 15:17 ` Conor Dooley
2025-09-18 16:47 ` Frank Li
2025-09-18 6:14 ` [PATCH v5 2/2] arm64: dts: ten64: add board controller binding Mathew McBride
2025-10-21 7:58 ` [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Shawn Guo
2 siblings, 2 replies; 7+ messages in thread
From: Mathew McBride @ 2025-09-18 6:14 UTC (permalink / raw)
To: devicetree, linux-arm-kernel
Cc: Shawn Guo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Lee Jones, Mathew McBride
Add device tree binding for the board (micro)controller on Ten64 family
boards[1].
The schema is simple and is (presently) only consumed by U-Boot, but it
is possible nvmem, watchdog and other features could be described in
the future, as well as extension to future Traverse boards.
[1] https://ten64doc.traverse.com.au/hardware/microcontroller/
Signed-off-by: Mathew McBride <matt@traverse.com.au>
---
Changes from v3:
- 'reg' property was changed to a constant (instead of array/maxItems:1),
reflecting that the I2C endpoint is on a fixed address which cannot be
changed.
- Redundant paragraph describing functionality of the device removed
Due to these small, but substantive changes, I have not carried the
Reviewed-By: tag given to v3.
.../traverse,ten64-controller.yaml | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
diff --git a/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml b/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
new file mode 100644
index 0000000000000..08d02c4df8732
--- /dev/null
+++ b/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/embedded-controller/traverse,ten64-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Traverse Ten64 board microcontroller
+
+maintainers:
+ - Mathew McBride <matt@traverse.com.au>
+
+description: |
+ The board microcontroller on the Ten64 board family is responsible for
+ management of power sources on the board, as well as signalling the SoC
+ to power on and reset.
+
+properties:
+ compatible:
+ const: traverse,ten64-controller
+
+ reg:
+ const: 0x7e
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ board-controller@7e {
+ compatible = "traverse,ten64-controller";
+ reg = <0x7e>;
+ };
+ };
--
2.45.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 2/2] arm64: dts: ten64: add board controller binding
2025-09-18 6:14 [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Mathew McBride
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
@ 2025-09-18 6:14 ` Mathew McBride
2025-10-21 7:58 ` [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Shawn Guo
2 siblings, 0 replies; 7+ messages in thread
From: Mathew McBride @ 2025-09-18 6:14 UTC (permalink / raw)
To: devicetree, linux-arm-kernel
Cc: Shawn Guo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Lee Jones, Mathew McBride
The board (micro)controller[1] is responsible for functions such as
power supply sequencing, SoC reset as well as serial/MAC address storage,
bootcount and scratch registers.
There is currently no Linux kernel driver for this controller, however,
there is a driver in U-Boot which utilises this binding.
[1] https://ten64doc.traverse.com.au/hardware/microcontroller/
Signed-off-by: Mathew McBride <matt@traverse.com.au>
---
arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
index 3a11068f2212f..71765ec91745e 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
@@ -253,6 +253,10 @@ usbhub: usb-hub@2d {
reg = <0x2d>;
};
+ uc: board-controller@7e {
+ compatible = "traverse,ten64-controller";
+ reg = <0x7e>;
+ };
};
&i2c2 {
--
2.45.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse Ten64 board controller
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
@ 2025-09-18 15:17 ` Conor Dooley
2025-09-18 16:47 ` Frank Li
1 sibling, 0 replies; 7+ messages in thread
From: Conor Dooley @ 2025-09-18 15:17 UTC (permalink / raw)
To: Mathew McBride
Cc: devicetree, linux-arm-kernel, Shawn Guo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Lee Jones
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse Ten64 board controller
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
2025-09-18 15:17 ` Conor Dooley
@ 2025-09-18 16:47 ` Frank Li
2025-09-19 0:14 ` Mathew McBride
1 sibling, 1 reply; 7+ messages in thread
From: Frank Li @ 2025-09-18 16:47 UTC (permalink / raw)
To: Mathew McBride
Cc: devicetree, linux-arm-kernel, Shawn Guo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Lee Jones
On Thu, Sep 18, 2025 at 04:14:40PM +1000, Mathew McBride wrote:
> Add device tree binding for the board (micro)controller on Ten64 family
> boards[1].
>
> The schema is simple and is (presently) only consumed by U-Boot, but it
> is possible nvmem, watchdog and other features could be described in
> the future, as well as extension to future Traverse boards.
>
> [1] https://ten64doc.traverse.com.au/hardware/microcontroller/
>
> Signed-off-by: Mathew McBride <matt@traverse.com.au>
> ---
> Changes from v3:
> - 'reg' property was changed to a constant (instead of array/maxItems:1),
> reflecting that the I2C endpoint is on a fixed address which cannot be
> changed.
> - Redundant paragraph describing functionality of the device removed
>
> Due to these small, but substantive changes, I have not carried the
> Reviewed-By: tag given to v3.
>
> .../traverse,ten64-controller.yaml | 40 +++++++++++++++++++
> 1 file changed, 40 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
>
> diff --git a/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml b/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
> new file mode 100644
> index 0000000000000..08d02c4df8732
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/embedded-controller/traverse,ten64-controller.yaml
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/embedded-controller/traverse,ten64-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Traverse Ten64 board microcontroller
> +
> +maintainers:
> + - Mathew McBride <matt@traverse.com.au>
> +
> +description: |
needn't |
> + The board microcontroller on the Ten64 board family is responsible for
> + management of power sources on the board, as well as signalling the SoC
> + to power on and reset.
> +
> +properties:
> + compatible:
> + const: traverse,ten64-controller
> +
> + reg:
> + const: 0x7e
> +
only have reg properties, can you put to
Documentation/devicetree/bindings/trivial-devices.yaml
Frank
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + board-controller@7e {
> + compatible = "traverse,ten64-controller";
> + reg = <0x7e>;
> + };
> + };
> --
> 2.45.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse Ten64 board controller
2025-09-18 16:47 ` Frank Li
@ 2025-09-19 0:14 ` Mathew McBride
0 siblings, 0 replies; 7+ messages in thread
From: Mathew McBride @ 2025-09-19 0:14 UTC (permalink / raw)
To: Frank Li
Cc: devicetree, linux-arm-kernel, Shawn Guo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Lee Jones
Hi Frank,
On Fri, Sep 19, 2025, at 2:47 AM, Frank Li wrote:
[snip]
> > +properties:
> > + compatible:
> > + const: traverse,ten64-controller
> > +
> > + reg:
> > + const: 0x7e
> > +
>
> only have reg properties, can you put to
> Documentation/devicetree/bindings/trivial-devices.yaml
I submitted a version of this binding as a trivial device a while ago (2023) and it was not accepted:
https://lore.kernel.org/linux-devicetree/c44a73f0-5b34-c740-40c9-afb04bf1c6ab@linaro.org/
Even if it were to be accepted today as a trivial-device, my concern is that we would end up with this schema again should we expose any functions of the device, for example, as an nvmem device.
Best Regards,
Matt
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller
2025-09-18 6:14 [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Mathew McBride
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
2025-09-18 6:14 ` [PATCH v5 2/2] arm64: dts: ten64: add board controller binding Mathew McBride
@ 2025-10-21 7:58 ` Shawn Guo
2 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2025-10-21 7:58 UTC (permalink / raw)
To: Mathew McBride
Cc: devicetree, linux-arm-kernel, Shawn Guo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Lee Jones
On Thu, Sep 18, 2025 at 04:14:39PM +1000, Mathew McBride wrote:
> Mathew McBride (2):
> dt-bindings: embedded-controller: add Traverse Ten64 board controller
> arm64: dts: ten64: add board controller binding
Applied both, thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-10-21 7:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-18 6:14 [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Mathew McBride
2025-09-18 6:14 ` [PATCH v5 1/2] dt-bindings: embedded-controller: add Traverse " Mathew McBride
2025-09-18 15:17 ` Conor Dooley
2025-09-18 16:47 ` Frank Li
2025-09-19 0:14 ` Mathew McBride
2025-09-18 6:14 ` [PATCH v5 2/2] arm64: dts: ten64: add board controller binding Mathew McBride
2025-10-21 7:58 ` [PATCH v5 0/2] dt-bindings: embedded-controller: add binding for Ten64 board controller Shawn Guo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.