Re: [PATCH v4 2/6] arm64: dts: ti: k3-j784s4: Add alias to MCU CPSW2G
From: Andrew Davis <hidden>
Date: 2024-03-19 15:35:46
Also in:
linux-devicetree, lkml
On 3/11/24 5:44 AM, Chintan Vankar wrote:
On 31/01/24 21:06, Andrew Davis wrote:quoted
On 1/31/24 4:14 AM, Chintan Vankar wrote:quoted
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?
quoted
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.
quoted
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
quoted
Andrewquoted
--- 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@80000000 {
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel