[Letux-kernel] [PATCH 00/20] A bunch of JZ4730 fixups for letux-kernel
Paul Boddie
paul at boddie.org.uk
Mon Dec 21 16:22:34 CET 2020
On Monday, 21 December 2020 15:00:35 CET H. Nikolaus Schaller wrote:
> >
> > [ 0.140069] pinctrl-ingenic 10010000.pin-controller: invalid group
> > "PC0" for function "mmc"
> > [ 0.131717] pinctrl-ingenic 10010000.pin-controller: invalid group
> > "PC2" for function "mmc"
>
> This comes from
>
> mmc_ctrl {
> function = "mmc";
> pins = "PC0", "PC2";
> bias-disable;
> };
>
> (I have currently removed the PA21 entry).
>
> The problem is that there is a function definition. This makes
> drivers/pinctrl/pinmux search the individual pins in the mmc group. And
> they don't exist.
>
> It seems we can only do
>
> - function + groups
> - pins
Yes, I guess that this is the intention. There is a strong association between
groups and functions in the pinctrl driver, whereas pins just seem to be
defined for the pins member of struct pinctrl_desc. This stuff is just not
adequately documented.
Indeed, I don't think it really makes a lot of sense to combine function with
bias-disable, at least for the Ingenic SoCs. Leaving bias-disable together
with pins is probably the right thing to do, though.
> The solution to silence this is to remove the function = "mmc"; line.
> IMHO we can keep the "PA21" as it was before.
>
> In any case it has no visible effect on the mmc subsystem and final kernel
> panic.
Yes, I don't think defining its function is correct. In fact, I can't believe
I didn't react to that before: PA21 is being used as a GPIO and although it is
used in connection with the MMC peripheral, it is not under the control of
that peripheral, and it should therefore never be assigned the MMC alternate
function (even if that were possible).
> I'll consolidate all this and since stable v5.10.2 just has arrived I will
> backport our new patches there as well.
Thanks once again for all your investigations and hard work!
Paul
More information about the Letux-kernel
mailing list