[BUG]: A83T - AC100 gets the wrong number of parents

Chen-Yu Tsai wens at csie.org
Mon Feb 12 00:47:45 PST 2018


On Sun, Feb 11, 2018 at 10:43 AM, Philipp Rossak <embed3d at gmail.com> wrote:
> Hey,
>
> When I boot my A83T I get the following bootlog [1].
>
> After some debugging, I found out that the function call:
> clk_hw_get_num_parents() returns 2. After a look in the devicetree I
> found out that this value should be 1, since we only have one parent
> clock [3].

Not really. The first parent is registered within the rtc-ac100 driver,
which also handles the clocks on the RTC side of the chip.

The clock in the device tree is meant to tie the two parts of the chip
together: the codec side provides a high speed clock to the RTC side.

> Setting the variable num_parents to 1 fixes the problem, but this is no
> soultion.

A good fix would be to check the return value of clk_hw_get_parent_by_index()
here: http://lxr.bootlin.com/linux/v4.16-rc1/source/drivers/rtc/rtc-ac100.c#L186
and skip it if it's NULL.

The driver is setup this way because the codec side is not implemented,
but the device tree binding is partially defined to include the clock.

ChenYu

> Regards,
> Philipp
>
>
>
> [1]: https://pastebin.com/5c7hxjsS
> [2]: http://lxr.bootlin.com/linux/v4.15/source/drivers/rtc/rtc-ac100.c#
> L180
> [3]: http://lxr.bootlin.com/linux/v4.15/source/arch/arm/boot/dts/sun8i-
> a83t-bananapi-m3.dts#L159
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list