Re: #thermal-sensor-cells under protocol@15

Sudeep Holla <[email protected]> Wed, 29 Jul 2026 14:30:03 +0100
Newsgroups org.kernel.vger.arm-scmi,org.kernel.vger.linux-devicetree
Message-ID <20260729-idealistic-oriole-of-fruition-ecd1d1@sudeepholla>
On Wed, Jul 29, 2026 at 11:20:54AM +0200, Laszlo Ersek wrote:
> On 7/28/26 22:10, Sudeep Holla wrote:
> 
> > The cells property is not for the SCMI sensor itself, it is for the
> > consumer of this node which currently is only thermal subsystem.
> 
> > On Tue, Jul 28, 2026 at 04:33:59PM +0200, Laszlo Ersek wrote:
> > > (3) Where exactly does the kernel consume "#thermal-sensor-cells" in
> > > the proposed (general) sense?
> > > 
> > 
> > No where, I got confused earlier as mentioned above. It is not needed
> > unless you have use case. Please present if you have one.
> 
> Thanks for the clarification.
> 
> IIUC, this means my original point stands: the #thermal-sensor-cells
> property is optional, and only needed if SCMI sensors (the "provider")
> are referenced by a consumer, such as "thermal-sensors".
> 

Agreed, but looking at that angle all #*-cells properties are optional
if there are no phandles referring back to the nodes. Not sure if that
is represented somehow in DT schemas. I am currently unaware of that and
happy to know if that exists.

> What about the following update then:
> 
> | diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> | index d06cca9273c4..fde9d06342f6 100644
> | --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> | +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> | @@ -223,23 +223,26 @@ properties:
> |    protocol@15:
> |      $ref: '#/$defs/protocol-node'
> |      unevaluatedProperties: false
> |
> |      properties:
> |        reg:
> |          const: 0x15
> |
> |        '#thermal-sensor-cells':
> |          const: 1
> | -
> | -    required:
> | -      - '#thermal-sensor-cells'
> | +        description:
> | +          If other nodes (such as a list property like "thermal-sensors")
> | +          reference SCMI sensors from the "protocol@15" node, then the
> | +          "#thermal-sensor-cells" property is required; otherwise, it is
> | +          unneeded. "#thermal-sensor-cells" specifies the width of SCMI Sensor
> | +          IDs for referrers, expressed as a number of 32-bit cells.
> |
> |    protocol@16:
> |      $ref: '#/$defs/protocol-node'
> |      unevaluatedProperties: false
> |
> |      properties:
> |        reg:
> |          const: 0x16
> |
> |        '#reset-cells':
> 
> If you think this is unnecessary complication or verbosity, I can drop
> it; it's just that I'd like to construct a minimal "protocol@15" node
> for my use case (a particular DTS I'm extending), and be able to justify
> every little part of that addition. Presently I can't justify
> "#thermal-sensor-cells", so I'd like to leave it out -- but currently
> that would conflict with the documentation (even though it wouldn't
> cause a problem for any of the drivers included / activated).
> 

See above, it extends to all #*-cells properties IMO, again happy to get
corrected if I am missing something.

-- 
Regards,
Sudeep