[PATCH 1/3] dt-bindings: iio: adc: Add syscon property for multi-SCU SoCs

From: Billy Tsai

Date: Wed Sep 30 2026 - 23:29:33 EST


The ADC's reference-voltage trimming data lives in a System Control
Unit (SCU) register. SoCs with a single SCU instance let the driver
locate it without any additional information, but SoCs such as AST2700
that expose more than one SCU node need an explicit phandle to
disambiguate which one holds the trimming data.

Add an optional "syscon" phandle property, and require it for the
AST2700 compatibles since they are the first multi-SCU SoCs supported
by this driver.

Signed-off-by: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
Assisted-by: Claude:claude-sonnet-5
---
.../bindings/iio/adc/aspeed,ast2600-adc.yaml | 28 ++++++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml b/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml
index 249101b55cf4e..0d6b10450cfa8 100644
--- a/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml
@@ -67,6 +67,11 @@ properties:
description:
Inform the driver that last channel will be used to sensor battery.

+ syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Required on SoCs with more than one SCU instance (e.g. AST2700).
+
required:
- compatible
- reg
@@ -74,6 +79,18 @@ required:
- resets
- "#io-channel-cells"

+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - aspeed,ast2700-adc0
+ - aspeed,ast2700-adc1
+ then:
+ required:
+ - syscon
+
additionalProperties: false

examples:
@@ -95,4 +112,15 @@ examples:
#io-channel-cells = <1>;
aspeed,int-vref-microvolt = <2500000>;
};
+ - |
+ #include <dt-bindings/clock/aspeed,ast2700-scu.h>
+ #include <dt-bindings/reset/aspeed,ast2700-scu.h>
+ adc0: adc@14c00000 {
+ compatible = "aspeed,ast2700-adc0";
+ reg = <0x14c00000 0x100>;
+ clocks = <&syscon1 SCU1_CLK_AHB>;
+ resets = <&syscon1 SCU1_RESET_ADC>;
+ syscon = <&syscon1>;
+ #io-channel-cells = <1>;
+ };
...

--
2.34.1