Re: [PATCH 2/5] ARM: dts: rockchip: assign a fixed index to mmc devices on rv1108 boards

From: Heiko Stübner
Date: Wed Feb 10 2021 - 05:54:11 EST


Am Mittwoch, 10. Februar 2021, 11:34:41 CET schrieb Arnd Bergmann:
> On Wed, Feb 10, 2021 at 12:50 AM Heiko Stübner <heiko@xxxxxxxxx> wrote:
> > Am Dienstag, 9. Februar 2021, 23:25:40 CET schrieb Arnd Bergmann:
> >
> > Hmm, right now I don't see the disadvantage of missing mmc numbers.
>
> It's inconsistent with the normal use of these aliases across other
> platforms.
>
> > As similarly we count i2c and serial numbers for a long time, even though
> > not all of them appear on every board.
>
> Yes, that is a similar mistake.
>
> > Especially as the main goal is to simply have stable numbers and
> > not having the mmc devices swap numbers on every boot.
> >
> > So right now we're not using them from a userspace POV but
> > instead agreed on following the address ordering of the soc.
> > so when ordering mmc controllers by their io-address, mmc0
> > is the first one, then mmc1, etc.
> >
> > So just for my understanding, what is different for mmc?
> > I guess to guarantee ongoing numbering similar to sd{a,b,c,...}
> > Or should all aliases be duplicted in each board dts and not
> > live in any soc dtsi?
>
> Each board should have its own aliases node that describes
> exactly which of the devices are wired up on that board, and
> in which order. If there are connectors on the board that
> are labeled in some form, then the aliases are meant to
> match what is written on the board or in its documentation.

Then we're at least in the clear for i2c, serial and the rest ... as these
are numbered in the soc documentation, and all boards I've seen so
far use these number also to identify these in schematics.

So an i2c2 is always i2c2 even if i2c1 is not populated.

And of course doing
i2c0 = &i2c2
would definitly confuse people to no end.

So I guess we'll just move the mmc stuff over to board files.