Disabling internal RTC ends up in hang

Emmanuel Vadot manu at bidouilliste.com
Fri Aug 21 14:58:16 UTC 2020


On Fri, 21 Aug 2020 12:24:17 +0200
Johnny Sorocil <jsorocil at gmail.com> wrote:

> On Wed, Aug 19, 2020 at 7:55 PM Ian Lepore <ian at freebsd.org> wrote:
> 
> > I think you may be running into a problem Andriy (avg@) described on
> > irc the other day:  the allwinner RTC hardware has no way to detect
> > whether it lost power, so it always supplies the time, even if it's
> > incorrect.  When there are multiple RTCs in the system, the kernel asks
> > them in the order they registered until one provides the time.
> >
> > I suspect the panic is happening because the internal RTC also provides
> > the system 32khz clock, which is needed by other devices.
> >
> > He cooked up this patch: http://paste.ubuntu.com/p/6hhtQbJC85/
> >
> > With that patch in place, the 32khz clock would be available, but the
> > RTC would not supply the time unless it was correct.
> >
> 
>  Attempt #1:
> Booting GENERIC kernel and loading patched "aw_rtc.ko"
> - already present in kernel
> - system date not correct
> 
> Attempt #2:
> Booting custom kernel with option "nodevice aw_rtc" and loading patched
> "aw_rtc.ko"
> - same panic & hang as in previous message

 Both #1 and #2 are expected, aw_rtc is present in GENERIC and needs to
be for the 32khz clock to be created.

> Attempt #3:
> Booting GENERIC kernel which has builtin patched "aw_rtc":
> 
> mmc0: No compatible cards found on bus
> aw_mmc1: Spurious interrupt - no active request, rint: 0x00000004
> 
> mmc1: <MMC/SD bus> on aw_mmc0
> Cannot set frequency for clk: mmc0, error: 34
> aw_mmc0: failed to set frequency to 50000000 Hz: 34
> uhub2: 1 port with 1 removable, self powered
> uhub0: 1 port with 1 removable, self powered
> ugen2.2: <Realtek 802.11n NIC> at usbus2
> mountroot: waiting for device /dev/ufs/rootfs...
> Mounting from ufs:/dev/ufs/rootfs failed with error 19.
> 
> Loader variables:
>   vfs.root.mountfrom=ufs:/dev/ufs/rootfs
>   vfs.root.mountfrom.options=rw
> 
> Manual root filesystem specification:
>   <fstype>:<device> [options]
>       Mount <device> using filesystem <fstype>
>       and with the specified (optional) option list.
> 
>     eg. ufs:/dev/da0s1a
>         zfs:zroot/ROOT/default
>         cd9660:/dev/cd0 ro
>           (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
> 
>   ?               List valid disk boot devices
>   .               Yield 1 second (for background tasks)
>   <empty line>    Abort manual input
> 
> mountroot> aw_mmc0: controller timeout
> aw_mmc0: timeout resetting DMA/FIFO
> aw_mmc0: timeout updating clock
> aw_mmc0: controller timeout
> aw_mmc0: timeout resetting DMA/FIFO
> aw_mmc0: timeout updating clock
> aw_mmc0: controller timeout
> aw_mmc0: timeout resetting DMA/FIFO

 That doesn't seems related at all, do you have any other modification ?

> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"


-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the freebsd-arm mailing list