Re: [PATCH v2 1/3] dt-bindings: thermal: sophgo,cv180x-thermal: Add Sophgo CV180x thermal

From: Conor Dooley
Date: Wed Jun 05 2024 - 13:54:34 EST


On Wed, Jun 05, 2024 at 11:40:32AM +0800, Inochi Amaoto wrote:
> On Tue, Jun 04, 2024 at 12:54:19PM GMT, Haylen Chu wrote:
> > Add devicetree binding documentation for thermal sensors integrated in
> > Sophgo CV180X SoCs.
> >
> > Signed-off-by: Haylen Chu <heylenay@xxxxxxxxxxx>
> > ---
> > .../thermal/sophgo,cv180x-thermal.yaml | 82 +++++++++++++++++++
> > 1 file changed, 82 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/thermal/sophgo,cv180x-thermal.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/thermal/sophgo,cv180x-thermal.yaml b/Documentation/devicetree/bindings/thermal/sophgo,cv180x-thermal.yaml
> > new file mode 100644
> > index 000000000000..1c3a6f74ff1d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/thermal/sophgo,cv180x-thermal.yaml
> > @@ -0,0 +1,82 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/thermal/sophgo,cv180x-thermal.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Sophgo CV180x on-SoC Thermal Sensor
> > +
> > +maintainers:
> > + - Haylen Chu <heylenay@xxxxxxxxxxx>
> > +
> > +description: Binding for Sophgo CV180x on-SoC thermal sensor
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - sophgo,cv1800-thermal
> > + - sophgo,cv180x-thermal
> > +
>
> Is this necessary? I don't find any change between the sensor of these.

"cv180x" isn't even a real device. Either we have a compatible that
matches an actual SoC and use it everywhere, or we add ones for each SoC
and have a fallback to cv1800.

> > + reg:
> > + maxItems: 1
> > +
> > + clocks:
> > + description: The thermal sensor clock
> > +
> > + clock-names:
> > + const: clk_tempsen

clock-names is not useful here as there's only one clock.
"clk_tempsen" sounds more like the name for this clock at the provider
than at the consumer anyway.

> > +
> > + accumulation-period:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description: Accumulation period for a sample
> > + oneOf:
> > + - const: 0
> > + description: 512 ticks
> > + - const: 1
> > + description: 1024 ticks
> > + - const: 2
> > + description: 2048 ticks
> > + - const: 3
> > + description: 4096 ticks
> > + default: 2
> > +
> > + chop-period:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description: ADC chop period

What's a "chop" and why is either this or the accumulation-period a
fixed property of the hardware? Shouldn't this choice really be up to
the user?

> > + oneOf:
> > + - const: 0
> > + description: 128 ticks
> > + - const: 1
> > + description: 256 ticks
> > + - const: 2
> > + description: 512 ticks
> > + - const: 3
> > + description: 1024 ticks

Can we just make the number of ticks the unit here, and above?
Also, a "oneOf: - const" structure is just an enum.

> > + default: 3
> > +
> > + sample-cycle-us:
> > + description: Period between samples
> > + default: 1000000

No constraints?

Thanks,
Conor.

> > +
> > + '#thermal-sensor-cells':
> > + const: 0
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > + - clock-names
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/sophgo,cv1800.h>
> > + thermal-sensor@30e0000 {
> > + compatible = "sophgo,cv180x-thermal";
> > + reg = <0x30e0000 0x100>;
> > + clocks = <&clk CLK_TEMPSEN>;
> > + clock-names = "clk_tempsen";
> > + #thermal-sensor-cells = <0>;
> > + };
> > +...
>
> Where is the interrupt number? The sensors does support the interrupt,
> but I don't see you describe it in the binding.
>
> > --
> > 2.45.2
> >

Attachment: signature.asc
Description: PGP signature