linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).