> -----Original Message----- > From: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > Sent: 2019年4月12日 20:19 > To: Andy Tang <andy.tang@xxxxxxx>; shawnguo@xxxxxxxxxx > Cc: Leo Li <leoyang.li@xxxxxxx>; robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx; > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; rui.zhang@xxxxxxxxx; > edubezval@xxxxxxxxx > Subject: Re: [EXT] Re: [PATCH v5] arm64: dts: ls1088a: add one more thermal > zone node > > WARNING: This email was created outside of NXP. DO NOT CLICK links or > attachments unless you recognize the sender and know the content is safe. > > > > On 12/04/2019 09:47, Andy Tang wrote: > > > >> -----Original Message----- > >> From: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > >> Sent: 2019年4月12日 3:15 > >> To: Andy Tang <andy.tang@xxxxxxx>; shawnguo@xxxxxxxxxx > >> Cc: Leo Li <leoyang.li@xxxxxxx>; robh+dt@xxxxxxxxxx; > >> mark.rutland@xxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > >> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > >> linux-pm@xxxxxxxxxxxxxxx; rui.zhang@xxxxxxxxx; edubezval@xxxxxxxxx > >> Subject: [EXT] Re: [PATCH v5] arm64: dts: ls1088a: add one more > >> thermal zone node > >> > >> WARNING: This email was created outside of NXP. DO NOT CLICK links or > >> attachments unless you recognize the sender and know the content is safe. > >> > >> > >> > >> On 11/04/2019 10:32, Yuantian Tang wrote: > >>> Ls1088a has 2 thermal sensors, core cluster and SoC platform. Core > >>> cluster sensor is used to monitor the temperature of core and SoC > >>> platform is for platform. The current dts only support the first sensor. > >>> This patch adds the second sensor node to dts to enable it. > >>> > >>> Signed-off-by: Yuantian Tang <andy.tang@xxxxxxx> > >>> --- > >>> v5: > >>> - update the thermal zone name due to the length limitation > >>> - remove cooling map in platform zone > >>> v4: > >>> - use hyphen instead of underscore in node name > >>> v3: > >>> - use more descriptive name for each zone > >>> v2: > >>> - Add more information about sensors to description > >>> arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 28 > >> ++++++++++++++++++++--- > >>> 1 files changed, 24 insertions(+), 4 deletions(-) > >>> > >>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > >>> b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > >>> index de93b42..de39672 100644 > >>> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > >>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > >>> @@ -129,19 +129,19 @@ > >>> }; > >>> > >>> thermal-zones { > >>> - cpu_thermal: cpu-thermal { > >>> + core-cluster { > >>> polling-delay-passive = <1000>; > >>> polling-delay = <5000>; > >>> thermal-sensors = <&tmu 0>; > >>> > >>> trips { > >>> - cpu_alert: cpu-alert { > >>> + core_cluster_alert: core-cluster-alert > >>> + { > >>> temperature = <85000>; > >>> hysteresis = <2000>; > >>> type = "passive"; > >>> }; > >>> > >>> - cpu_crit: cpu-crit { > >>> + core_cluster_crit: core-cluster-crit { > >>> temperature = <95000>; > >>> hysteresis = <2000>; > >>> type = "critical"; @@ -150,7 > >>> +150,7 @@ > >>> > >>> cooling-maps { > >>> map0 { > >>> - trip = <&cpu_alert>; > >>> + trip = <&core_cluster_alert>; > >>> cooling-device = > >>> <&cpu0 > >> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, > >>> <&cpu1 > >> THERMAL_NO_LIMIT > >>> THERMAL_NO_LIMIT>, @@ -163,6 +163,26 @@ > >>> }; > >>> }; > >>> }; > >>> + > >>> + platform { > >>> + polling-delay-passive = <1000>; > >>> + polling-delay = <5000>; > >>> + thermal-sensors = <&tmu 1>; > >>> + > >>> + trips { > >>> + platform-alert { > >>> + temperature = <85000>; > >>> + hysteresis = <2000>; > >>> + type = "passive"; > >>> + }; > >>> + > >>> + platform-crit { > >>> + temperature = <95000>; > >>> + hysteresis = <2000>; > >>> + type = "critical"; > >>> + }; > >>> + }; > >>> + }; > >> > >> > >> Unfortunately, the documentation says the thermal zone node must > >> contain a "cooling-maps" entry. > > That's a question. > > If I add "cooling-maps", then multiple zones will use same cooling device. > > If I don't, documentation says it is a " Required properties". > > I am wondering how it was dealt with on other platform supporting multiple > zones. > > I think the problem comes from the fact there are no governors capable of > handling multiple thermal zones. > > The additional cooling device is the devfreq but as the mali driver is not > upstream, the cooling map for this device does not appear. We can find the > definitions and the driver in the AOSP [1]. > > Moreover, the power is usually managed by the IPA governor, but this one can > not handle multiple thermal zones, so the cooling devices are joined together > into a single thermal zone with their contribution to the cooling effect. > > Other definitions I have seen upstream are incomplete or broken. > > [1] > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandroid.g > ooglesource.com%2Fkernel%2Fhikey-linaro%2F%2B%2Frefs%2Fheads%2Fandr > oid-hikey-linaro-4.14%2Farch%2Farm64%2Fboot%2Fdts%2Fhisilicon%2Fhi3660. > dtsi%231340&data=02%7C01%7Candy.tang%40nxp.com%7C559218b1622e > 4603251908d6bf410e4b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7 > C636906683466836985&sdata=952xIcrr11g%2B0nl2lgKrG18SlRVgGV6L%2 > BMBL3U6UaiQ%3D&reserved=0 Interesting. I think we have to accept the imperfect for now. Hi Shawn, Any comments? BR, Andy > > > Hi Shawn, > > What's your opinions about this? > > > > -- > > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.lin > aro.org%2F&data=02%7C01%7Candy.tang%40nxp.com%7C559218b1622e4 > 603251908d6bf410e4b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C > 636906683466836985&sdata=AJvIX8XJ7j1JkpWgD1GuEcP2keO0R1muAzt9 > n2qgU3A%3D&reserved=0> Linaro.org │ Open source software for ARM > SoCs > > Follow Linaro: > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.fac > ebook.com%2Fpages%2FLinaro&data=02%7C01%7Candy.tang%40nxp.com > %7C559218b1622e4603251908d6bf410e4b%7C686ea1d3bc2b4c6fa92cd99c5c30 > 1635%7C0%7C0%7C636906683466836985&sdata=cSUB5H7sqpUP%2B0EP > HgXEgaRZxYit%2FGN9Vt6XrQuy0DA%3D&reserved=0> Facebook | > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftwitter.c > om%2F%23!%2Flinaroorg&data=02%7C01%7Candy.tang%40nxp.com%7C5 > 59218b1622e4603251908d6bf410e4b%7C686ea1d3bc2b4c6fa92cd99c5c301635 > %7C0%7C0%7C636906683466836985&sdata=OH7w3%2FUwMEAuBS5%2 > BwPfJl9USz9gT6LpTIw1ORmMeaXA%3D&reserved=0> Twitter | > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.lin > aro.org%2Flinaro-blog%2F&data=02%7C01%7Candy.tang%40nxp.com%7C > 559218b1622e4603251908d6bf410e4b%7C686ea1d3bc2b4c6fa92cd99c5c30163 > 5%7C0%7C0%7C636906683466836985&sdata=LtyQn%2BVliawr2tuRhCB84 > WH1RMEio3aFQ2ExCfKn7ok%3D&reserved=0> Blog