diff mbox series

[v2,06/14] arm64: dts: rockchip: Remove #cooling-cells from fan on Theobroma boards

Message ID 20241008203940.2573684-7-heiko@sntech.de (mailing list archive)
State New
Headers show
Series Fixing some dtbscheck warnings | expand

Commit Message

Heiko Stübner Oct. 8, 2024, 8:39 p.m. UTC
All Theobroma boards use a ti,amc6821 as fan controller.
It normally runs in an automatically controlled way and while it may be
possible to use it as part of a dt-based thermal management, this is
not yet specified in the binding, nor implemented in any kernel.

Newer boards already don't contain that #cooling-cells property, but
older ones do. So remove them for now, they can be re-added if thermal
integration gets implemented in the future.

Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck) SoM with Haikou baseboard")
Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) SoM")
Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM")
Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
---
 arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi | 1 -
 arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi   | 1 -
 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi   | 1 -
 3 files changed, 3 deletions(-)

Comments

Dragan Simic Oct. 9, 2024, 7:16 a.m. UTC | #1
Hello Heiko,

On 2024-10-08 22:39, Heiko Stuebner wrote:
> All Theobroma boards use a ti,amc6821 as fan controller.
> It normally runs in an automatically controlled way and while it may be
> possible to use it as part of a dt-based thermal management, this is
> not yet specified in the binding, nor implemented in any kernel.
> 
> Newer boards already don't contain that #cooling-cells property, but
> older ones do. So remove them for now, they can be re-added if thermal
> integration gets implemented in the future.
> 
> Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck)
> SoM with Haikou baseboard")
> Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) SoM")
> Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM")
> Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
> Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>

Looking good to me, thanks for the patch.  In addition to the amc6821
driver currently not supporting full integration into the thermal
framework, the "fan" DT node also isn't referenced in any cooling map,
so having it define the "cooling-cells" property is of no use.

By the way, it would be nice to see the amc6821 driver supporting fan
speed regulation, and test it to check who does a better job when it
comes to cooling and fan speed regulation, the thermal framework or
the chip's built-in logic. :)

Reviewed-by: Dragan Simic <dsimic@manjaro.org>

> ---
>  arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi | 1 -
>  arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi   | 1 -
>  arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi   | 1 -
>  3 files changed, 3 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
> b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
> index b7163ed74232..a6ea9d8c785c 100644
> --- a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
> @@ -293,7 +293,6 @@ &i2c1 {
>  	fan: fan@18 {
>  		compatible = "ti,amc6821";
>  		reg = <0x18>;
> -		#cooling-cells = <2>;
>  	};
> 
>  	rtc_twi: rtc@6f {
> diff --git a/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
> b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
> index 8ac8acf4082d..ab3fda69a1fb 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
> @@ -61,7 +61,6 @@ i2c_lvds_blc: i2c@0 {
>  			fan: fan@18 {
>  				compatible = "ti,amc6821";
>  				reg = <0x18>;
> -				#cooling-cells = <2>;
>  			};
> 
>  			rtc_twi: rtc@6f {
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
> b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
> index 650b1ba9c192..6de3128556b7 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
> @@ -395,7 +395,6 @@ &i2c7 {
>  	fan: fan@18 {
>  		compatible = "ti,amc6821";
>  		reg = <0x18>;
> -		#cooling-cells = <2>;
>  	};
> 
>  	rtc_twi: rtc@6f {
Quentin Schulz Oct. 14, 2024, 3:39 p.m. UTC | #2
Hi Dragan,

On 10/9/24 9:16 AM, Dragan Simic wrote:
> Hello Heiko,
> 
> On 2024-10-08 22:39, Heiko Stuebner wrote:
>> All Theobroma boards use a ti,amc6821 as fan controller.
>> It normally runs in an automatically controlled way and while it may be
>> possible to use it as part of a dt-based thermal management, this is
>> not yet specified in the binding, nor implemented in any kernel.
>>
>> Newer boards already don't contain that #cooling-cells property, but
>> older ones do. So remove them for now, they can be re-added if thermal
>> integration gets implemented in the future.
>>
>> Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck)
>> SoM with Haikou baseboard")
>> Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) SoM")
>> Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM")
>> Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
>> Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
> 
> Looking good to me, thanks for the patch.  In addition to the amc6821
> driver currently not supporting full integration into the thermal
> framework, the "fan" DT node also isn't referenced in any cooling map,
> so having it define the "cooling-cells" property is of no use.
> 
> By the way, it would be nice to see the amc6821 driver supporting fan
> speed regulation, and test it to check who does a better job when it
> comes to cooling and fan speed regulation, the thermal framework or
> the chip's built-in logic. :)
> 

Wasn't this feature added this summer by Guenter?

c.f. 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/hwmon/amc6821.c?id=becbd16ed2f8f427239ffda66b5d894008bc56af

Mode 4 is 
https://elixir.bootlin.com/linux/v6.11.3/source/drivers/hwmon/amc6821.c#L367 
([FDRC1:FDRC0] = [01] -> Software-RPM Control Mode (Fan Speed Regulator) 
according to the datasheet).

In any case, we cannot compare those for our products as we do not have 
a genuine AMC6821 but a handmade simulation of the IP we run in an MCU.

But that'd be an interesting data point indeed :)

Cheers,
Quentin
Dragan Simic Oct. 14, 2024, 3:49 p.m. UTC | #3
Hello Quentin,

On 2024-10-14 17:39, Quentin Schulz wrote:
> On 10/9/24 9:16 AM, Dragan Simic wrote:
>> On 2024-10-08 22:39, Heiko Stuebner wrote:
>>> All Theobroma boards use a ti,amc6821 as fan controller.
>>> It normally runs in an automatically controlled way and while it may 
>>> be
>>> possible to use it as part of a dt-based thermal management, this is
>>> not yet specified in the binding, nor implemented in any kernel.
>>> 
>>> Newer boards already don't contain that #cooling-cells property, but
>>> older ones do. So remove them for now, they can be re-added if 
>>> thermal
>>> integration gets implemented in the future.
>>> 
>>> Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck)
>>> SoM with Haikou baseboard")
>>> Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) 
>>> SoM")
>>> Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) 
>>> SoM")
>>> Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
>>> Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
>> 
>> Looking good to me, thanks for the patch.  In addition to the amc6821
>> driver currently not supporting full integration into the thermal
>> framework, the "fan" DT node also isn't referenced in any cooling map,
>> so having it define the "cooling-cells" property is of no use.
>> 
>> By the way, it would be nice to see the amc6821 driver supporting fan
>> speed regulation, and test it to check who does a better job when it
>> comes to cooling and fan speed regulation, the thermal framework or
>> the chip's built-in logic. :)
> 
> Wasn't this feature added this summer by Guenter?
> 
> c.f. 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/hwmon/amc6821.c?id=becbd16ed2f8f427239ffda66b5d894008bc56af
> 
> Mode 4 is
> https://elixir.bootlin.com/linux/v6.11.3/source/drivers/hwmon/amc6821.c#L367
> ([FDRC1:FDRC0] = [01] -> Software-RPM Control Mode (Fan Speed
> Regulator) according to the datasheet).

Ah, SENSOR_DEVICE_ATTR_RW(fan1_target, fan, IDX_FAN1_TARGET)...
How did I miss that?  Hmm...  Maybe I was looking at some older
local branch, which happened not to include that commit.

Anywyay, good to know, thanks.

> In any case, we cannot compare those for our products as we do not
> have a genuine AMC6821 but a handmade simulation of the IP we run in
> an MCU.

I seem to remember your MCU that performs a few tasks, back from
some related discussions.  I wonder what was the reason to implement
it in software, instead of using actual fan controller chip?

> But that'd be an interesting data point indeed :)

I'm glad that you agree. :)
Quentin Schulz Oct. 14, 2024, 4:29 p.m. UTC | #4
Hi Dragan,

On 10/14/24 5:49 PM, Dragan Simic wrote:
> Hello Quentin,
> 
> On 2024-10-14 17:39, Quentin Schulz wrote:
>> On 10/9/24 9:16 AM, Dragan Simic wrote:
>>> On 2024-10-08 22:39, Heiko Stuebner wrote:
>>>> All Theobroma boards use a ti,amc6821 as fan controller.
>>>> It normally runs in an automatically controlled way and while it may be
>>>> possible to use it as part of a dt-based thermal management, this is
>>>> not yet specified in the binding, nor implemented in any kernel.
>>>>
>>>> Newer boards already don't contain that #cooling-cells property, but
>>>> older ones do. So remove them for now, they can be re-added if thermal
>>>> integration gets implemented in the future.
>>>>
>>>> Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck)
>>>> SoM with Haikou baseboard")
>>>> Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) SoM")
>>>> Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM")
>>>> Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
>>>> Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
>>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>>> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
>>>
>>> Looking good to me, thanks for the patch.  In addition to the amc6821
>>> driver currently not supporting full integration into the thermal
>>> framework, the "fan" DT node also isn't referenced in any cooling map,
>>> so having it define the "cooling-cells" property is of no use.
>>>
>>> By the way, it would be nice to see the amc6821 driver supporting fan
>>> speed regulation, and test it to check who does a better job when it
>>> comes to cooling and fan speed regulation, the thermal framework or
>>> the chip's built-in logic. :)
>>
>> Wasn't this feature added this summer by Guenter?
>>
>> c.f. https://eur02.safelinks.protection.outlook.com/? 
>> url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fcommit%2Fdrivers%2Fhwmon%2Famc6821.c%3Fid%3Dbecbd16ed2f8f427239ffda66b5d894008bc56af&data=05%7C02%7Cquentin.schulz%40cherry.de%7C6df77e4e73434d36a6fd08dcec67c21c%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638645177611948235%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4VaZrAKxDUTdEf7avUM1ewHLl9PIgBple841dE55o4w%3D&reserved=0
>>
>> Mode 4 is
>> https://eur02.safelinks.protection.outlook.com/? 
>> url=https%3A%2F%2Felixir.bootlin.com%2Flinux%2Fv6.11.3%2Fsource%2Fdrivers%2Fhwmon%2Famc6821.c%23L367&data=05%7C02%7Cquentin.schulz%40cherry.de%7C6df77e4e73434d36a6fd08dcec67c21c%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638645177611979168%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=uNnWR0Oux0BlNhpe20Xj4%2FEtGQJv%2FsU1hapm4fGn7Qk%3D&reserved=0
>> ([FDRC1:FDRC0] = [01] -> Software-RPM Control Mode (Fan Speed
>> Regulator) according to the datasheet).
> 
> Ah, SENSOR_DEVICE_ATTR_RW(fan1_target, fan, IDX_FAN1_TARGET)...
> How did I miss that?  Hmm...  Maybe I was looking at some older
> local branch, which happened not to include that commit.
> 
> Anywyay, good to know, thanks.
> 
>> In any case, we cannot compare those for our products as we do not
>> have a genuine AMC6821 but a handmade simulation of the IP we run in
>> an MCU.
> 
> I seem to remember your MCU that performs a few tasks, back from
> some related discussions.  I wonder what was the reason to implement
> it in software, instead of using actual fan controller chip?
> 

This predates my joining the company, so... I don't know.

What I can say is, we have the following emulated in the MCU:
- custom CAN over USB (UCAN; upstreamed already)
- ISL1208 RTC
- AMC6821 FAN controller
- custom PWM controller (upstreaming pending)
- a few bytes of NVRAM (AT24-based; upstreaming pending)
- uncontrollable (from SoC PoV) watchdog, allows another MCU/system to 
trigger a full system reset
- possibly, custom HW watchdog controllable over I2C (required to fix a 
very odd corner case in HW on PX30 Ringneck)

Possibly more if we have the need for it and it fits into the MCU flash :)

I assume this was born out of necessity to add support for CAN on RK3399 
Puma since there's no CAN controller inside the SoC?

I also think ISL1208 and AMC6821 aren't that easy to source anymore 
(RK3399 Puma has that MCU and its support started in ~2018 I seem to 
recall?). Considering the quantities and prices we get for the two MCUs 
flavors we have and how space constrained we are on some products, 
especially the uQ7 (PX30 Ringneck), it was probably I wise decision. The 
second MCU flavor came because STM32 was impossible to source at 
reasonable prices during the shortage 2-4 years ago.

This also means we can expand the set of features over time (which we 
are for example, with the custom PWM controller, NVRAM and I2C watchdog) 
since the MCU can be flashed once in the field too.

Obviously, you replace component cost and footprint with MCU FW 
development, so it's not necessarily cost-efficient but I'm not the one 
running the numbers so wouldn't be able to tell you ;)

Cheers,
Quentin
Dragan Simic Oct. 14, 2024, 5:21 p.m. UTC | #5
Hello Quentin,

On 2024-10-14 18:29, Quentin Schulz wrote:
> On 10/14/24 5:49 PM, Dragan Simic wrote:
>> On 2024-10-14 17:39, Quentin Schulz wrote:
>>> On 10/9/24 9:16 AM, Dragan Simic wrote:
>>>> On 2024-10-08 22:39, Heiko Stuebner wrote:
>>>>> All Theobroma boards use a ti,amc6821 as fan controller.
>>>>> It normally runs in an automatically controlled way and while it 
>>>>> may be
>>>>> possible to use it as part of a dt-based thermal management, this 
>>>>> is
>>>>> not yet specified in the binding, nor implemented in any kernel.
>>>>> 
>>>>> Newer boards already don't contain that #cooling-cells property, 
>>>>> but
>>>>> older ones do. So remove them for now, they can be re-added if 
>>>>> thermal
>>>>> integration gets implemented in the future.
>>>>> 
>>>>> Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck)
>>>>> SoM with Haikou baseboard")
>>>>> Fixes: d99a02bcfa81 ("arm64: dts: rockchip: add RK3368-uQ7 (Lion) 
>>>>> SoM")
>>>>> Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) 
>>>>> SoM")
>>>>> Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com>
>>>>> Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
>>>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>>>> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
>>>> 
>>>> Looking good to me, thanks for the patch.  In addition to the 
>>>> amc6821
>>>> driver currently not supporting full integration into the thermal
>>>> framework, the "fan" DT node also isn't referenced in any cooling 
>>>> map,
>>>> so having it define the "cooling-cells" property is of no use.
>>>> 
>>>> By the way, it would be nice to see the amc6821 driver supporting 
>>>> fan
>>>> speed regulation, and test it to check who does a better job when it
>>>> comes to cooling and fan speed regulation, the thermal framework or
>>>> the chip's built-in logic. :)
>>> 
>>> Wasn't this feature added this summer by Guenter?
>>> 
>>> c.f. https://eur02.safelinks.protection.outlook.com/? 
>>> url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fcommit%2Fdrivers%2Fhwmon%2Famc6821.c%3Fid%3Dbecbd16ed2f8f427239ffda66b5d894008bc56af&data=05%7C02%7Cquentin.schulz%40cherry.de%7C6df77e4e73434d36a6fd08dcec67c21c%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638645177611948235%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4VaZrAKxDUTdEf7avUM1ewHLl9PIgBple841dE55o4w%3D&reserved=0
>>> 
>>> Mode 4 is
>>> https://eur02.safelinks.protection.outlook.com/? 
>>> url=https%3A%2F%2Felixir.bootlin.com%2Flinux%2Fv6.11.3%2Fsource%2Fdrivers%2Fhwmon%2Famc6821.c%23L367&data=05%7C02%7Cquentin.schulz%40cherry.de%7C6df77e4e73434d36a6fd08dcec67c21c%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638645177611979168%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=uNnWR0Oux0BlNhpe20Xj4%2FEtGQJv%2FsU1hapm4fGn7Qk%3D&reserved=0
>>> ([FDRC1:FDRC0] = [01] -> Software-RPM Control Mode (Fan Speed
>>> Regulator) according to the datasheet).
>> 
>> Ah, SENSOR_DEVICE_ATTR_RW(fan1_target, fan, IDX_FAN1_TARGET)...
>> How did I miss that?  Hmm...  Maybe I was looking at some older
>> local branch, which happened not to include that commit.
>> 
>> Anywyay, good to know, thanks.
>> 
>>> In any case, we cannot compare those for our products as we do not
>>> have a genuine AMC6821 but a handmade simulation of the IP we run in
>>> an MCU.
>> 
>> I seem to remember your MCU that performs a few tasks, back from
>> some related discussions.  I wonder what was the reason to implement
>> it in software, instead of using actual fan controller chip?
> 
> This predates my joining the company, so... I don't know.
> 
> What I can say is, we have the following emulated in the MCU:
> - custom CAN over USB (UCAN; upstreamed already)
> - ISL1208 RTC
> - AMC6821 FAN controller
> - custom PWM controller (upstreaming pending)
> - a few bytes of NVRAM (AT24-based; upstreaming pending)
> - uncontrollable (from SoC PoV) watchdog, allows another MCU/system to
> trigger a full system reset
> - possibly, custom HW watchdog controllable over I2C (required to fix
> a very odd corner case in HW on PX30 Ringneck)

Nice, that's quite a lot of emulated stuff.

> Possibly more if we have the need for it and it fits into the MCU flash 
> :)

That's one of the benefits that come with an approach like this.
It's like some kind of PaaS (or whatever is the "cool" thing these
days) for hardware design. :)

> I assume this was born out of necessity to add support for CAN on
> RK3399 Puma since there's no CAN controller inside the SoC?

Could be, and the additional functionality, also required for the
board, was then just "offloaded" to the same MCU.

> I also think ISL1208 and AMC6821 aren't that easy to source anymore
> (RK3399 Puma has that MCU and its support started in ~2018 I seem to
> recall?). Considering the quantities and prices we get for the two
> MCUs flavors we have and how space constrained we are on some
> products, especially the uQ7 (PX30 Ringneck), it was probably I wise
> decision. The second MCU flavor came because STM32 was impossible to
> source at reasonable prices during the shortage 2-4 years ago.

Makes sense.  Instead of two or more separate additional chips,
whose availability can change at virtually any point, you now
depend on a single additional chip, which is also, presumably,
more widely used, so should be easier to source.

> This also means we can expand the set of features over time (which we
> are for example, with the custom PWM controller, NVRAM and I2C
> watchdog) since the MCU can be flashed once in the field too.

Yup, just like PaaS, SaaS or whatever. :)

> Obviously, you replace component cost and footprint with MCU FW
> development, so it's not necessarily cost-efficient but I'm not the
> one running the numbers so wouldn't be able to tell you ;)

Also good point.  Additional standalone chips are sometimes less
expensive than the equivalent manpower. :)
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
index b7163ed74232..a6ea9d8c785c 100644
--- a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
@@ -293,7 +293,6 @@  &i2c1 {
 	fan: fan@18 {
 		compatible = "ti,amc6821";
 		reg = <0x18>;
-		#cooling-cells = <2>;
 	};
 
 	rtc_twi: rtc@6f {
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
index 8ac8acf4082d..ab3fda69a1fb 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
@@ -61,7 +61,6 @@  i2c_lvds_blc: i2c@0 {
 			fan: fan@18 {
 				compatible = "ti,amc6821";
 				reg = <0x18>;
-				#cooling-cells = <2>;
 			};
 
 			rtc_twi: rtc@6f {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
index 650b1ba9c192..6de3128556b7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
@@ -395,7 +395,6 @@  &i2c7 {
 	fan: fan@18 {
 		compatible = "ti,amc6821";
 		reg = <0x18>;
-		#cooling-cells = <2>;
 	};
 
 	rtc_twi: rtc@6f {