[bug] boot failure on pinebook pro due to rk8xx changes in 2022.07
Michal Suchánek
msuchanek at suse.de
Tue Jul 19 18:32:04 CEST 2022
Hello,
On Mon, Jul 18, 2022 at 05:37:18PM -0500, Chris Morgan wrote:
> On Mon, Jul 18, 2022 at 03:39:43PM +0200, Jan Palus wrote:
> > u-boot 2022.07 successfully finds and loads kernel (5.18.3) on my
> > Pinebook Pro however boot process fails when loading rk808 module:
> >
> > rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x00, state: 1
> > rk808 0-001b: failed to read the chip id at 0x17
> > rk808: probe of 0-001b failed with error -110
> >
> > git bisect indicates first commit to cause regression:
> >
> > commit ad607512f5757f4485968efd5bcf2c0245a8a235 (refs/bisect/bad)
> > Author: Chris Morgan <macromorgan at hotmail.com>
> > Date: Fri May 27 20:18:19 2022
> >
> > power: pmic: rk8xx: Support sysreset shutdown method
> >
> > Add support for sysreset shutdown for this PMIC. The values were pulled
> > from the various datasheets, but for now it has only been tested on
> > the rk817 (for an Odroid Go Advance).
> >
> > Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
> > Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>
> > Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
> >
> > Reverting this commit fixes the issue and upon rk808 module load
> > following is logged:
> >
> > rk808 0-001b: chip id: 0x0
>
> This is strange, as I've not encountered this bug. However, as this is
> the second report of a problem with the Pinebook Pro and this patch I
> wonder if it's prudent to roll this back (until such time that the
> functionality can be made board specific rather than generic to the
> PMIC).
Observed problems after the patch:
- cannot reset board from u-boot
- the sysreset walk function does not find any sysreset uclass device
and halts
- the pmic is no longer probed
- the PMIC: RK808 message (with a trailing space) is no longer
printed during u-boot startup
- linux locks up during boot
- there is some complaint about fan53555 regulators which is no longer
printed during boot
I tried to not error out when the sysreset bind fails, and not bind it
to DT node (device_bind_driver_to_node -> device_bind_driver) but it does
not make any difference.
I do not use the later part with staying off after plug-in which is not
needed on this board so I don't really understand what's the difference.
Thanks
Michal
More information about the U-Boot
mailing list