Re: [PATCH 0/6] arm64: dts: imx: Move Ethernet aliases out of SoC DTSI

Krzysztof Kozlowski
2025-04-29T15:44:34Z

On 29/04/2025 17:13, Lucas Stach wrote:
> Am Dienstag, dem 29.04.2025 um 16:30 +0200 schrieb Krzysztof Kozlowski:
>> On 29/04/2025 11:39, Lucas Stach wrote:
>>> Hi Krzysztof,
>>>
>>> Am Freitag, dem 25.04.2025 um 21:48 +0200 schrieb Krzysztof Kozlowski:
>>>> Not tested on hardware.
>>>>
>>>> Ethernet interface, like other exposed interfaces, aliases depend on
>>>> actual board configuration, e.g. its labeling, thus aliases should be
>>>> defined per each board or each SoM.
>>>>
>>>> Some boards (e.g. Gateworks) follow this convention but many do not.
>>>>
>>>> This is continuation of my comments from:
>>>> https://lore.kernel.org/r/16a98816-f43c-4f4d-940e-9da30cb1f73f@kernel.org
>>>>
>>> The i.MX boards have traditionally listed aliases for many hardware
>>> peripherals with the same numbering that's used in the SoC reference
>>
>> ... which is not correct. Aliases should represent how boards are really
>> labeled, not how reference manual labels them.
>>
> While that is the commonly agreed interpretation today, I do not see
> any language in the DT spec itself or kernel Documentation/devicetree
> that would mandate aliases to be used in this way.
>
> In fact there are examples to the contrary like
> Documentation/devicetree/bindings/serial/samsung_uart.yaml which says:
> "Each Samsung UART should have an alias [...] as specified by User's
> Manual of respective SoC."

And that is an ABI. Did I affect ABI here?

>
> So I would argue that there is no hard line between correct/incorrect
> for the historical usage of the alias nodes on the i.MX platform.

There is. ABI is documented. There are things which turn out ABI, even
though they are not documented, like node names. Was there a problem
with refactoring these in NXP?

No.

>
>>> manual. Boards always have the option to override those aliases if they
>>> have a good reason to do so, e.g. labeling on the physical device.
>>>
>>> Other users besides Linux rely on fixed numbering provided by the
>>> aliases. Both barebox and U-Boot number their ethernet interfaces
>>> according to the alias.
>>
>> And?
>>
> Some usecases depend on the aliases being the same between kernel and
> bootloader. Historically that has been guaranteed on the i.MX platform
> by the aliases in the SoC DTSI, when the board didn't have a need to

I know.

> change them. With this series applied some other users may now end up
> with missing aliases if the only include the DTSI.

Bring actual case, what is broken by this changeset.

>
>>>
>>> While you seem to add back aliases for in-tree boards, this breaks the
>>> majority of boards that include the kernel DTSI from an out-of-tree
>>> board. I can understand that we can't always accommodate these users,
>>
>> This is not ABI, so every out of tree user is on their own.
>
> I am not too sympathetic about out-of-tree users myself, but I don't
> think we should make their life harder deliberately.

We are making our life easier by maintaining and improving source code:
e.g. not creating fake aliases for devices which do not exist on given
board.

Best regards,
Krzysztof