[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4b91154-7a8b-4642-a642-6ae93b448115@ti.com>
Date: Tue, 19 Mar 2024 10:35:30 -0500
From: Andrew Davis <afd@...com>
To: Chintan Vankar <c-vankar@...com>, Peter Rosin <peda@...ntia.se>,
Greg
Kroah-Hartman <gregkh@...uxfoundation.org>,
Conor Dooley
<conor+dt@...nel.org>,
Krzysztof Kozlowski
<krzysztof.kozlowski+dt@...aro.org>,
Rob Herring <robh+dt@...nel.org>, Tero
Kristo <kristo@...nel.org>,
Vignesh Raghavendra <vigneshr@...com>, Nishanth
Menon <nm@...com>
CC: <linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <srk@...com>,
<s-vadapalli@...com>, <r-gunasekaran@...com>, <danishanwar@...com>
Subject: Re: [PATCH v4 2/6] arm64: dts: ti: k3-j784s4: Add alias to MCU CPSW2G
On 3/11/24 5:44 AM, Chintan Vankar wrote:
>
>
> On 31/01/24 21:06, Andrew Davis wrote:
>> On 1/31/24 4:14 AM, Chintan Vankar wrote:
>>> Add alias for the MCU CPSW2G port to enable Linux to fetch MAC Address
>>> for the port directly from U-Boot.
>>
>> Could you explain *how* this alias allows Linux to fetch a MAC
>> address from U-Boot? Sounds like we are doing something hacky here..
>>
> Using "probe_daughtercards()" function U-Boot parses MAC addresses from
> EEPROM, then it internally calls "eth_env_set_enetaddr_by_index()"
> function which stores these MAC addresses into environment variables
> ethaddr, eth1addr, eth2addr and so on based on number of ports.
>
> U-Boot loads DTB during boot process, and it calls
> "fdt_fixup_ethernet()" function, which uses environment variables to
> update MAC addresses of ethernet ports as specified in the aliases
> section.
>
So maybe a better question would by why does it need to use aliases
for this?
>> Why can't Linux fetch the MAC from efuses the same way U-Boot does,
>
> Linux can fetch the MAC address from efuses if "ti,syscon-efuse"
> property is enabled.
>
Then let's do it this way always.
>> what happens if I don't use U-Boot to boot?
>
> If you don't use U-Boot to boot then the equivalent of
> "probe_daughtercards()" has to be implemented which is currently
> missing.
>
Or we just let Linux fetch it instead of implementing that function
in all the possible bootloaders. This would also remove a DTB fixup.
Those fixups should be avoided if at all possible.
Andrew
>>
>> Andrew
>>
>>> ---
>>> arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
>>> index f34b92acc56d..b74f7d3025de 100644
>>> --- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
>>> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
>>> @@ -27,6 +27,7 @@ aliases {
>>> mmc1 = &main_sdhci1;
>>> i2c0 = &wkup_i2c0;
>>> i2c3 = &main_i2c0;
>>> + ethernet0 = &mcu_cpsw_port1;
>>> };
>>> memory@...00000 {
Powered by blists - more mailing lists