Re: [PATCH] arm64: dts: imx8mm-kontron-n801x-som: do not allow to switch off buck2

Michael Walle michael at walle.cc
Mon Sep 20 00:43:23 PDT 2021


Am 20. September 2021 09:31:20 MESZ schrieb Frieder Schrempf <frieder.schrempf at kontron.de>:
>On 17.09.21 18:10, Heiko Thiery wrote:
>> Hi Lucas,
>> 
>> Am Fr., 17. Sept. 2021 um 13:44 Uhr schrieb Lucas Stach
>> <l.stach at pengutronix.de>:
>>>
>>> Am Freitag, dem 17.09.2021 um 09:28 +0200 schrieb Heiko Thiery:
>>>> Hi Frieder,
>>>>
>>>> Am Mi., 15. Sept. 2021 um 14:09 Uhr schrieb Frieder Schrempf
>>>> <frieder.schrempf at kontron.de>:
>>>>>
>>>>> On 15.09.21 14:05, Michael Walle wrote:
>>>>>> Am 2021-09-15 14:03, schrieb Heiko Thiery:
>>>>>>> The buck2 output of the PMIC is the VDD core voltage of the cpu.
>>>>>>> Switching off this will poweroff the CPU. Add the 'regulator-always-on'
>>>>>>> property to avoid this.
>>>>>>
>>>>>> Mh, have this ever worked? Is there a commit which introduced a regression?
>>>>>
>>>>> Yes, this did work before, even without 'regulator-always-on'. I
>>>>> currently don't understand why this is needed. The regulator is
>>>>> referenced in the CPU nodes as 'cpu-supply'. This should be enough to
>>>>> not disable it as long as the CPU is up.
>>>>
>>>> I rechecked that with 5.11, 5.10 and 5.9 and I see on all of them the
>>>> same issue:
>>>>
>>>> [ 31.716031] vdd-5v: disabling
>>>> [ 31.719032] rst-usb-eth2: disabling
>>>> [ 31.722553] buck2: disabling
>>>>
>>>> While on that I tried to compare with other boards and see that they
>>>> also have the cpu-voltage marked as "regulator-always-on". The only
>>>> exception in dts/freescale is in imx8mq-librem5-devkit.dts [1] that
>>>> has not set this property.
>>>>
>>>> I agree with you and don't understand why this is happening. Has
>>>> anyone else an explanation?
>>>>
>>>> [1] https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.bootlin.com%2Flinux%2Flatest%2Fsource%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mq-librem5-devkit.dts%23L319&data=04%7C01%7Cfrieder.schrempf%40kontron.de%7Cce9d266ad78a4d06721008d979f5aeed%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C637674918380815550%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PsTKX4MXGwvvP6WxmQ1OWc8e32YI6Nsu%2FEkcNR4V8is%3D&reserved=0
>>>>
>>> Maybe your kernel config is missing the cpufreq driver, so you don't
>>> have a consumer of the regulator?
>>>
>>> Marking the regulator as always-on seems like the right thing to do,
>>> you don't want to depend on a consumer showing up to make sure that
>>> your CPU voltage isn't cut...
>> 
>> shouldn't it be that the node cpu-supply here is a consumer of the
>> referenced voltage?
>
>Yes, but as Michael and Lucas noted, the consumer is only active if the
>cpufreq driver is loaded and we don't want to depend on this. In my
>config I always had this compiled into the kernel so I didn't notice
>that the always-on property is missing.

Hm. So any cpu core voltage has to have the "always-on" property? On any SoC? Shouldn't there be some code to prevent the disabling of the voltage if the cpu nodes have a cpu-supply phandle?

-michael




More information about the linux-arm-kernel mailing list