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

From: Anson Huang
Date: Mon Mar 25 2019 - 22:48:39 EST


Ping...

Hi, Eduardo
What is your opinion about where to put the HW resource ID in DT?

Best Regards!
Anson Huang

> -----Original Message-----
> From: Anson Huang
> Sent: 2019å3æ13æ 16:12
> To: 'Rob Herring' <robh@xxxxxxxxxx>; 'edubezval@xxxxxxxxx'
> <edubezval@xxxxxxxxx>
> Cc: 'mark.rutland@xxxxxxx' <mark.rutland@xxxxxxx>;
> 'shawnguo@xxxxxxxxxx' <shawnguo@xxxxxxxxxx>; 's.hauer@xxxxxxxxxxxxxx'
> <s.hauer@xxxxxxxxxxxxxx>; 'kernel@xxxxxxxxxxxxxx'
> <kernel@xxxxxxxxxxxxxx>; 'festevam@xxxxxxxxx' <festevam@xxxxxxxxx>;
> 'catalin.marinas@xxxxxxx' <catalin.marinas@xxxxxxx>;
> 'will.deacon@xxxxxxx' <will.deacon@xxxxxxx>; 'rui.zhang@xxxxxxxxx'
> <rui.zhang@xxxxxxxxx>; 'edubezval@xxxxxxxxx' <edubezval@xxxxxxxxx>;
> 'daniel.lezcano@xxxxxxxxxx' <daniel.lezcano@xxxxxxxxxx>; Aisheng Dong
> <aisheng.dong@xxxxxxx>; 'ulf.hansson@xxxxxxxxxx'
> <ulf.hansson@xxxxxxxxxx>; 'sboyd@xxxxxxxxxx' <sboyd@xxxxxxxxxx>; Daniel
> Baluta <daniel.baluta@xxxxxxx>; Andy Gross <andy.gross@xxxxxxxxxx>;
> 'horms+renesas@xxxxxxxxxxxx' <horms+renesas@xxxxxxxxxxxx>;
> 'heiko@xxxxxxxxx' <heiko@xxxxxxxxx>; 'arnd@xxxxxxxx' <arnd@xxxxxxxx>;
> 'maxime.ripard@xxxxxxxxxxx' <maxime.ripard@xxxxxxxxxxx>;
> 'bjorn.andersson@xxxxxxxxxx' <bjorn.andersson@xxxxxxxxxx>;
> 'jagan@xxxxxxxxxxxxxxxxxxxx' <jagan@xxxxxxxxxxxxxxxxxxxx>;
> 'enric.balletbo@xxxxxxxxxxxxx' <enric.balletbo@xxxxxxxxxxxxx>;
> 'marc.w.gonzalez@xxxxxxx' <marc.w.gonzalez@xxxxxxx>; 'olof@xxxxxxxxx'
> <olof@xxxxxxxxx>; 'devicetree@xxxxxxxxxxxxxxx'
> <devicetree@xxxxxxxxxxxxxxx>; 'linux-kernel@xxxxxxxxxxxxxxx' <linux-
> kernel@xxxxxxxxxxxxxxx>; 'linux-arm-kernel@xxxxxxxxxxxxxxxxxxx' <linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx>; 'linux-pm@xxxxxxxxxxxxxxx' <linux-
> pm@xxxxxxxxxxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>
> Subject: RE: [PATCH V10 1/4] dt-bindings: fsl: scu: add thermal binding
>
> Ping...
> Hi, Eduardo
> Can you take a look at this thread? Thanks.
>
>
> Best Regards!
> Anson Huang
>
> > -----Original Message-----
> > From: Anson Huang
> > Sent: 2019å3æ6æ 13:27
> > To: 'Rob Herring' <robh@xxxxxxxxxx>; 'edubezval@xxxxxxxxx'
> > <edubezval@xxxxxxxxx>
> > Cc: 'mark.rutland@xxxxxxx' <mark.rutland@xxxxxxx>;
> > 'shawnguo@xxxxxxxxxx' <shawnguo@xxxxxxxxxx>;
> 's.hauer@xxxxxxxxxxxxxx'
> > <s.hauer@xxxxxxxxxxxxxx>; 'kernel@xxxxxxxxxxxxxx'
> > <kernel@xxxxxxxxxxxxxx>; 'festevam@xxxxxxxxx' <festevam@xxxxxxxxx>;
> > 'catalin.marinas@xxxxxxx' <catalin.marinas@xxxxxxx>;
> > 'will.deacon@xxxxxxx' <will.deacon@xxxxxxx>; 'rui.zhang@xxxxxxxxx'
> > <rui.zhang@xxxxxxxxx>; 'edubezval@xxxxxxxxx' <edubezval@xxxxxxxxx>;
> > 'daniel.lezcano@xxxxxxxxxx' <daniel.lezcano@xxxxxxxxxx>; Aisheng Dong
> > <aisheng.dong@xxxxxxx>; 'ulf.hansson@xxxxxxxxxx'
> > <ulf.hansson@xxxxxxxxxx>; 'sboyd@xxxxxxxxxx' <sboyd@xxxxxxxxxx>;
> > Daniel Baluta <daniel.baluta@xxxxxxx>; Andy Gross
> > <andy.gross@xxxxxxxxxx>; 'horms+renesas@xxxxxxxxxxxx'
> > <horms+renesas@xxxxxxxxxxxx>; 'heiko@xxxxxxxxx' <heiko@xxxxxxxxx>;
> > 'arnd@xxxxxxxx' <arnd@xxxxxxxx>; 'maxime.ripard@xxxxxxxxxxx'
> > <maxime.ripard@xxxxxxxxxxx>; 'bjorn.andersson@xxxxxxxxxx'
> > <bjorn.andersson@xxxxxxxxxx>; 'jagan@xxxxxxxxxxxxxxxxxxxx'
> > <jagan@xxxxxxxxxxxxxxxxxxxx>; 'enric.balletbo@xxxxxxxxxxxxx'
> > <enric.balletbo@xxxxxxxxxxxxx>; 'marc.w.gonzalez@xxxxxxx'
> <marc.w.gonzalez@xxxxxxx>; 'olof@xxxxxxxxx'
> > <olof@xxxxxxxxx>; 'devicetree@xxxxxxxxxxxxxxx'
> > <devicetree@xxxxxxxxxxxxxxx>; 'linux-kernel@xxxxxxxxxxxxxxx' <linux-
> > kernel@xxxxxxxxxxxxxxx>; 'linux-arm-kernel@xxxxxxxxxxxxxxxxxxx'
> > <linux-arm- kernel@xxxxxxxxxxxxxxxxxxx>; 'linux-pm@xxxxxxxxxxxxxxx'
> > <linux- pm@xxxxxxxxxxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>
> > Subject: RE: [PATCH V10 1/4] dt-bindings: fsl: scu: add thermal
> > binding
> >
> > Ping...
> >
> > Hi, Eduardo
> > Looks like we are going around in circle, can we make decision of
> > which direction to go?
> >
> > Best Regards!
> > Anson Huang
> >
> > > -----Original Message-----
> > > From: Anson Huang
> > > Sent: 2019å3æ1æ 9:41
> > > To: 'Rob Herring' <robh@xxxxxxxxxx>; edubezval@xxxxxxxxx
> > > Cc: 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; Aisheng Dong <aisheng.dong@xxxxxxx>;
> > > ulf.hansson@xxxxxxxxxx; sboyd@xxxxxxxxxx; Daniel Baluta
> > > <daniel.baluta@xxxxxxx>; Andy Gross <andy.gross@xxxxxxxxxx>;
> > > horms+renesas@xxxxxxxxxxxx; heiko@xxxxxxxxx; arnd@xxxxxxxx;
> > > maxime.ripard@xxxxxxxxxxx; bjorn.andersson@xxxxxxxxxx;
> > > jagan@xxxxxxxxxxxxxxxxxxxx; enric.balletbo@xxxxxxxxxxxxx;
> > > marc.w.gonzalez@xxxxxxx; olof@xxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > > linux- pm@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>
> > > Subject: RE: [PATCH V10 1/4] dt-bindings: fsl: scu: add thermal
> > > binding
> > >
> > > Hi, Rob/Eduardo
> > >
> > > Best Regards!
> > > Anson Huang
> > >
> > > > -----Original Message-----
> > > > From: Rob Herring [mailto:robh@xxxxxxxxxx]
> > > > Sent: 2019å2æ28æ 22:49
> > > > To: Anson Huang <anson.huang@xxxxxxx>
> > > > Cc: 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; Aisheng Dong <aisheng.dong@xxxxxxx>;
> > > > ulf.hansson@xxxxxxxxxx; sboyd@xxxxxxxxxx; Daniel Baluta
> > > > <daniel.baluta@xxxxxxx>; Andy Gross <andy.gross@xxxxxxxxxx>;
> > > > horms+renesas@xxxxxxxxxxxx; heiko@xxxxxxxxx; arnd@xxxxxxxx;
> > > > maxime.ripard@xxxxxxxxxxx; bjorn.andersson@xxxxxxxxxx;
> > > > jagan@xxxxxxxxxxxxxxxxxxxx; enric.balletbo@xxxxxxxxxxxxx;
> > > > marc.w.gonzalez@xxxxxxx; olof@xxxxxxxxx;
> > > > devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > > > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > > > linux- pm@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>
> > > > Subject: Re: [PATCH V10 1/4] dt-bindings: fsl: scu: add thermal
> > > > binding
> > > >
> > > > On Wed, Feb 27, 2019 at 6:48 PM Anson Huang
> <anson.huang@xxxxxxx>
> > > > wrote:
> > > > >
> > > > > Hi, Rob
> > > > >
> > > > > Best Regards!
> > > > > Anson Huang
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Rob Herring [mailto:robh@xxxxxxxxxx]
> > > > > > Sent: 2019å2æ28æ 7:55
> > > > > > To: Anson Huang <anson.huang@xxxxxxx>
> > > > > > Cc: 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; Aisheng Dong
> > > > > > <aisheng.dong@xxxxxxx>; ulf.hansson@xxxxxxxxxx;
> > > > > > sboyd@xxxxxxxxxx; Daniel Baluta <daniel.baluta@xxxxxxx>; Andy
> > > > > > Gross <andy.gross@xxxxxxxxxx>; horms+renesas@xxxxxxxxxxxx;
> > > > > > heiko@xxxxxxxxx; arnd@xxxxxxxx; maxime.ripard@xxxxxxxxxxx;
> > > > > > bjorn.andersson@xxxxxxxxxx; jagan@xxxxxxxxxxxxxxxxxxxx;
> > > > > > enric.balletbo@xxxxxxxxxxxxx; marc.w.gonzalez@xxxxxxx;
> > > > > > olof@xxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> > > > > > linux-kernel@xxxxxxxxxxxxxxx;
> > > > > > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > > > > > linux- pm@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>
> > > > > > Subject: Re: [PATCH V10 1/4] dt-bindings: fsl: scu: add
> > > > > > thermal binding
> > > > > >
> > > > > > On Wed, Feb 27, 2019 at 08:46:21AM +0000, Anson Huang wrote:
> > > > > > > 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>
> > > > > > > ---
> > > > > > > Changes since V9:
> > > > > > > - change #thermal-sensor-cells value in example to 1,
> > > > > > > since there are
> > > > > > other
> > > > > > > thermal sensors inside system controller, it is just
> > > > > > > because there are
> > > > > > still
> > > > > > > some issue, so system controller does NOT expose them
> > > > > > > for now,
> > > > > > they could
> > > > > > > be exposed later, so it should be 1 from HW perspective.
> > > > > > > ---
> > > > > > > .../devicetree/bindings/arm/freescale/fsl,scu.txt | 21
> > > > > > +++++++++++++++++++++
> > > > > > > 1 file changed, 21 insertions(+)
> > > > > > >
> > > > > > > diff --git
> > > > > > > a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.tx
> > > > > > > t
> > > > > > > b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.tx
> > > > > > > t index 72d481c..855270b 100644
> > > > > > > ---
> > > > > > > a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.tx
> > > > > > > t
> > > > > > > +++ b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.
> > > > > > > +++ tx
> > > > > > > +++ t
> > > > > > > @@ -122,6 +122,21 @@ 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: Should be :
> > > > > > > + "fsl,imx8qxp-sc-thermal"
> > > > > > > + followed by
> > > > > > > +"fsl,imx-sc-thermal";
> > > > > > > +
> > > > > > > +- #thermal-sensor-cells: See
> > > > > > Documentation/devicetree/bindings/thermal/thermal.txt
> > > > > > > + for a description.
> > > > > > > +
> > > > > > > +- imx,sensor-resource-id: A single integer for single
> > > > > > > +thermal zone's
> > > > > > resource ID or
> > > > > > > + an array of integers to specify
> > > > > > > + each thermal
> > > > > > zone's sensor
> > > > > > > + resource ID.
> > > > > >
> > > > > > Can't you put the resource ids in the thermal-sensor cells?
> > > > > > Why do you need to list them here?
> > > > >
> > > > > For the thermal-sensor cells, if you meant the argument of tsens
> > > > > phandle, then the reason is that argument is for sensor index
> > > > > starting from 0, previous I use it for our resource ID, but it
> > > > > looks confused, since user will think there are many sensors
> > > > > there per
> > > Eduardo's comment.
> > > > >
> > > > > + thermal-sensors = <&tsens 0>;
> > > > >
> > > > > If you meant putting it in each thermal sensor node instead of "tsens"
> > > > > node, then in previous patch series, I put this "
> > > > > imx,sensor-resource-id " property in each thermal sensor node,
> > > > > but the thermal sensor nodes are parsed by common thermal
> > > > > framework, thermal driver will need to find the thermal zone
> > > > > node and go through every child node to get the resource id
> > > > > again, so Eduardo suggested to put it in
> > > > our platform tsens node, that makes our thermal driver code much
> > > > more simple.
> > > >
> > > > The phandle args are meant to be an id typically. There's
> > > > absolutely no requirement they are 0-N based. They often are
> > > > because things like interrupts are 0-N or clocks have no h/w id.
> > > > If you already have an id,
> > use it.
> > > > Don't invent your own.
> > >
> > > At the beginning, I put the HW resource ID in the "tsens" phandle
> > > argument of "thermal-sensors" node, see below patch I sent before,
> > > the benefit is I do NOT need to add new property for passing HW
> > > resource ID to driver, the disadvantage is, I have to parse the
> > > thermal_zones' each child node and get the HW resource ID from
> > > phandle argument(searing thermal_zones node and go through all its
> > > child node, and get the phandle argument), they are by default ONLY
> > > parsed by thermal core driver. When we register thermal zone, we
> > > have to pass the HW resource ID when calling
> > > devm_thermal_zone_of_sensor_register(), if we add our own property
> > > to pass the HW resource ID, then no need to do so, we just pass the
> > > index 0-N for each thermal sensors in devicetree which also with
> > > phandle
> > argument 0- N. So using our own property makes the driver much more
> > simple.
> > >
> > > So, @Eduardo, which direction I should go? Looks like Rob suggests
> > > just put the HW resource ID in the phandle argument like what I did
> > > at the beginning, can you advise?
> > >
> > > Thanks,
> > > Anson.
> > >
> > > https://patchwork.kernel.org/patch/10703849/
> > > > + thermal_zones: thermal-zones {
> > > > + cpu-thermal0 {
> > > > + polling-delay-passive = <250>;
> > > > + polling-delay = <2000>;
> > > > + thermal-sensors = <&tsens 355>;
> > > > + trips {
> > > > + cpu_alert0: trip0 {
> > > > + temperature = <107000>;
> > > > + hysteresis = <2000>;
> > > > + type = "passive";
> > > > + };
> > >
> > > >
> > > > Rob