RE: [PATCH V6 1/4] dt-bindings: fsl: scu: add thermal binding

From: Anson Huang
Date: Tue Feb 19 2019 - 22:44:05 EST




Best Regards!
Anson Huang

> -----Original Message-----
> From: Aisheng Dong
> Sent: 2019年2月20日 11:27
> To: Anson Huang <anson.huang@xxxxxxx>; robh+dt@xxxxxxxxxx;
> mark.rutland@xxxxxxx; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; catalin.marinas@xxxxxxx;
> will.deacon@xxxxxxx; rui.zhang@xxxxxxxxx; edubezval@xxxxxxxxx;
> daniel.lezcano@xxxxxxxxxx; ulf.hansson@xxxxxxxxxx; Daniel Baluta
> <daniel.baluta@xxxxxxx>; horms+renesas@xxxxxxxxxxxx; Andy Gross
> <andy.gross@xxxxxxxxxx>; heiko@xxxxxxxxx; arnd@xxxxxxxx;
> maxime.ripard@xxxxxxxxxxx; jagan@xxxxxxxxxxxxxxxxxxxx;
> bjorn.andersson@xxxxxxxxxx; enric.balletbo@xxxxxxxxxxxxx;
> marc.w.gonzalez@xxxxxxx; olof@xxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> pm@xxxxxxxxxxxxxxx
> Cc: dl-linux-imx <linux-imx@xxxxxxx>
> Subject: RE: [PATCH V6 1/4] dt-bindings: fsl: scu: add thermal binding
>
> > From: Anson Huang
> > Sent: Thursday, February 7, 2019 5:53 PM
> [...]
> >
> > NXP i.MX8QXP is an ARMv8 SoC with a Cortex-M4 core inside as system
> > controller, the system controller is in charge of system power, clock
> > and thermal sensors etc. management, Linux kernel has to communicate
> > with system controller via MU (message unit) IPC to get temperature
> > from thermal sensors, this patch adds binding doc for i.MX system
> controller thermal driver.
> >
> > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> > ---
> > ChangeLog since V5:
> > - add "imx,sensor-resource-id" in each thermal zone to pass resource
> > ID for thermal driver.
> > ---
> > .../devicetree/bindings/arm/freescale/fsl,scu.txt | 20
> > ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> > b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> > index 72d481c..4b79751 100644
> > --- a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> > +++ b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> > @@ -122,6 +122,20 @@ RTC bindings based on SCU Message Protocol
> > Required properties:
> > - compatible: should be "fsl,imx8qxp-sc-rtc";
> >
> > +Thermal bindings based on SCU Message Protocol
> > +------------------------------------------------------------
> > +
> > +Required properties:
> > +- compatible : Must be "fsl,imx8qxp-sc-thermal";
> > +- tsens-num : Total number of thermal sensors supported;
> > +- #thermal-sensor-cells : Should be 1. See
> > +
> Documentation/devicetree/bindings/thermal/thermal.txt
> > + for a description.
> > +- imx,sensor-resource-id : This property should be defined in each
> > +thermal
> > zone
> > + of thermal-zones node, it passes each thermal
> zone's
> > + resource id for thermal driver to get temperature
> via
> > + SCU IPC.
>
> This is missing in the example?

There are two parts of thermal dts, one is the tsens which are different on each platform.
The other are common thermal-zone definitions, these are covered by thermal binding doc.
The property is added by us for our platforms, if want to put it in example, I need to copy
Hope piece of common thermal-zone node.

>
> BTW, is this SCU function likely platform dependent?
> If not, you probably could add a fallback compatible such as "fsl,scu-rtc"

For now, the SCU API we used are platform independent, the ONLY parameter depends
on platform is resource ID, we can get it from dtb node.

OK, I think we can use a more generic compatible name like "fsl,imx-sc-thermal".

Anson.
>
> Regards
> Dong Aisheng
>
> > +
> > Example (imx8qxp):
> > -------------
> > lsio_mu1: mailbox@5d1c0000 {
> > @@ -168,6 +182,12 @@ firmware {
> > rtc: rtc {
> > compatible = "fsl,imx8qxp-sc-rtc";
> > };
> > +
> > + tsens: thermal-sensor {
> > + compatible = "fsl,imx8qxp-sc-thermal";
> > + tsens-num = <1>;
> > + #thermal-sensor-cells = <1>;
> > + };
> > };
> > };
> >
> > --
> > 2.7.4