
On 9/12/24 2:59 AM, Simon Glass wrote:
Hi Tom,
Hello Simon,
How do you propose we resolve this then, Svyatoslav? I threw this patch at some TI platforms as well and they're all fine. Are you unable to get some early debuging information out like Marek was asking? Thanks.
At this point I would like to have an optional Kconfig to enable the always-on regulators in the init sequence, perhaps as part of initf_dm().
That would only move the current regulators_enable_boot_on() elsewhere without fixing the real issue which this series does address -- that the regulators which are marked as always-on/boot-on should always be enabled on boot, unconditionally. If there are regulators which should not be enabled on boot, they should not be marked always-on/boot-on in DT in the first place.
The regulators_enable_boot_on() is missing or forgotten in multiple board files, which makes boards randomly misbehave due to disabled always-on regulators. Adding a Kconfig option would convert this problem to "new Kconfig option is missing in multiple configs" problem, which is effectively identical problem, only moved elsewhere. It should be the core code that handles this the same way for all boards and configs.
The core has the tools for it too, the DM_FLAG_PROBE_AFTER_BIND flag which is already used for the same purpose for LEDs, pinctrl, PMICs, etc., which makes regulators_enable_boot_on() unnecessary.
The DM_FLAG_PROBE_AFTER_BIND should be used more instead of ad-hoc callbacks in random places of the init sequence, those do not scale.
It should not be in DM core, sorry.
This is in regulator uclass, not in DM core ?
This discussion thread is about debugging tegra i2c, how is your comment related to the discussion here ?