ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Subsystems (2)
PATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Add an ethernet0 alias for the wired network card and an all 0 default mac address so that u-boot can find the device-node and fill in the mac address.
---
arch/arm/boot/dts/rk3288-rock2-square.dts | 6 ++++++ 1 file changed, 6 insertions(+)
arch/arm/boot/dts/rk3288-rock2-square.dts +6 -0
@@ -45,6 +45,10 @@ model = "Radxa Rock 2 Square"; compatible = "radxa,rock2-square", "rockchip,rk3288"; + aliases { + ethernet0 = &gmac; + }; + chosen { stdout-path = "serial2:115200n8"; };
@@ -130,6 +134,8 @@ }; &gmac { + /* To be filled in by U-Boot */ + mac-address = [00 00 00 00 00 00]; status = "ok"; };
Signature · 1 line
2.6.2
Heiko Stuebner
maintainerPATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Hi Sjoerd,
Am Donnerstag, 29. Oktober 2015, 21:44:57 schrieb Sjoerd Simons:
Quoted 15 lines
Add an ethernet0 alias for the wired network card and an all 0 default mac address so that u-boot can find the device-node and fill in the mac address.
Signed-off-by Sjoerd Simons <[email protected]>---
arch/arm/boot/dts/rk3288-rock2-square.dts | 6 ++++++ 1 file changed, 6 insertions(+)arch/arm/boot/dts/rk3288-rock2-square.dts +0
-0
arch/arm/boot/dts/rk3288-rock2-square.dts line 51
Quoted 7 lines
arch/arm/boot/dts/rk3288-rock2-square.dts +4
-0@@ -45,6 +45,10 @@ model = "Radxa Rock 2 Square"; compatible = "radxa,rock2-square", "rockchip,rk3288"; + aliases { + ethernet0 = &gmac; + }; +
wouldn't it make more sense to have this in the rk3288.dtsi, so to keep every board from having to add this alias?
arch/arm/boot/dts/rk3288-rock2-square.dts line 140
Quoted 11 lines
arch/arm/boot/dts/rk3288-rock2-square.dts +2
-0chosen { stdout-path = "serial2:115200n8"; };@@ -130,6 +134,8 @@ }; &gmac { + /* To be filled in by U-Boot */ + mac-address = [00 00 00 00 00 00]; status = "ok"; };
I guess the same applies for the mac placeholder.
Heiko
PATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Quoted 23 lines · Heiko Stuebner
Hi Sjoerd,
Am Donnerstag, 29. Oktober 2015, 21:44:57 schrieb Sjoerd Simons:
Quoted 20 lines
Add an ethernet0 alias for the wired network card and an all 0 default
mac address so that u-boot can find the device-node and fill in the mac address.Signed-off-by Sjoerd Simons <[email protected]>---
?arch/arm/boot/dts/rk3288-rock2-square.dts | 6 ++++++ ?1 file changed, 6 insertions(+)
arch/arm/boot/dts/rk3288-rock2-square.dts +0
-0@@ -45,6 +45,10 @@ ? model = "Radxa Rock 2 Square"; ? compatible = "radxa,rock2-square", "rockchip,rk3288";?
Quoted 8 lines
arch/arm/boot/dts/rk3288-rock2-square.dts line 51
Quoted 4 lines
arch/arm/boot/dts/rk3288-rock2-square.dts +4
-0+ aliases { + ethernet0 = &gmac; + }; +wouldn't it make more sense to have this in the
rk3288.dtsi, so to keep
every board from having to add this alias?
Hmm, that would work. Thought it would add an alias point to a disabled node for boards that don't have a wired interface. If that isn't an issue it can indeed be moved there.
Quoted 14 lines
Quoted 10 lines
? chosen {
? stdout-path = "serial2:115200n8";
? };arch/arm/boot/dts/rk3288-rock2-square.dts +0
-0@@ -130,6 +134,8 @@ ?};?
?&gmac {arch/arm/boot/dts/rk3288-rock2-square.dts +2
-0+ /* To be filled in by U-Boot */ + mac-address = [00 00 00 00 00 00];Quoted 2 lines
? status = "ok";
?};I guess the same applies for the mac placeholder.
In any case they should be in the same dts{i}.
--?
Sjoerd Simons
Collabora Ltd.
Heiko Stuebner
maintainerPATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Am Donnerstag, 29. Oktober 2015, 22:39:24 schrieb Sjoerd Simons:
Quoted 33 lines · Heiko Stuebner
Quoted 23 lines
Hi Sjoerd,
Am Donnerstag, 29. Oktober 2015, 21:44:57 schrieb Sjoerd Simons:
Quoted 20 lines
Add an ethernet0 alias for the wired network card and an all 0 default
mac address so that u-boot can find the device-node and fill in the mac address.Signed-off-by Sjoerd Simons <[email protected]>---
arch/arm/boot/dts/rk3288-rock2-square.dts | 6 ++++++ 1 file changed, 6 insertions(+)arch/arm/boot/dts/rk3288-rock2-square.dts +0
-0@@ -45,6 +45,10 @@ model = "Radxa Rock 2 Square"; compatible = "radxa,rock2-square", "rockchip,rk3288";Quoted 8 lines
arch/arm/boot/dts/rk3288-rock2-square.dts line 51
Quoted 4 lines
arch/arm/boot/dts/rk3288-rock2-square.dts +4
-0+ aliases { + ethernet0 = &gmac; + }; +wouldn't it make more sense to have this in the
rk3288.dtsi, so to keep
every board from having to add this alias?
Quoted 3 lines
Hmm, that would work. Thought it would add an alias point to a disabled node for boards that don't have a wired interface. If that isn't an issue it can indeed be moved there.
we also have aliases for all i2c, mmc, spi, uart etc nodes ... some of which may stay disabled. But i2c5 stays i2c5 everywhere
and similarly the internal ethernet will stay ethernet0 everywhere too.
And for the "fluffy" good feeling, a lot of other socs also seem to keep their ethernet0 aliases in the central dtsi (allwinner, freescale, socfpga), so it's not obviously wrong :-) .
Heiko
PATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
In reply to Sjoerd SimonsHi Sjoerd,
Quoted 3 lines · Sjoerd Simons
Add an ethernet0 alias for the wired network card and an all 0 default mac address so that u-boot can find the device-node and fill in the mac address.
Thanks a lot!
I had the same issue on another board, and adding an "ethernet0" alias fixes it.
arch/arm/boot/dts/rk3288-rock2-square.dts line 140
Quoted 8 lines
arch/arm/boot/dts/rk3288-rock2-square.dts +2
-0@@ -130,6 +134,8 @@ }; &gmac { + /* To be filled in by U-Boot */ + mac-address = [00 00 00 00 00 00]; status = "ok"; };
Note that in my case I didn't have to add an empty mac-address property. U-Boot (2015.04-something --- don't have the sources) seems to add a "local-mac-address" property automatically.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
PATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Quoted 9 lines · Geert Uytterhoeven
Hi Sjoerd,
Quoted 4 lines · Sjoerd Simons
Add an ethernet0 alias for the wired network card and an all 0 default
mac address so that u-boot can find the device-node and fill in the mac address.
Quoted 5 lines
Thanks a lot!
I had the same issue on another board, and adding an "ethernet0" alias
fixes it.
Happy to help, this stuff is really not that well document unfortunately.
Quoted 13 lines
Review line 140
Quoted 8 lines
(quoted diff) +2
-0@@ -130,6 +134,8 @@ ?}; ?&gmac { +???????/* To be filled in by U-Boot */ +???????mac-address = [00 00 00 00 00 00]; ????????status = "ok"; ?};Note that in my case I didn't have to add an empty mac-address property.
U-Boot (2015.04-something --- don't have the sources) seems to add a "local-mac-address" property automatically.
After submitting the patch i actually dived a bit deeper at how this all hangs together.
The linux kernel checks for mac-address, local-mac-address and address in the fdt node, in that order of preference. u-boot (at least recent ones like you have), will set the mac-address property *if* it's already defined but will always create the local-mac-address property regardless.
So indeed practially, as you noticed, just setting the alias is enough. I'm now just very confused about the intended meanings of the properties, Documentation/devicetree/bindings/net/ethernet.txt doesn't shed a lot of light on it:
- local-mac-address: array of 6 bytes, specifies the MAC address that? ? was assigned to the network device;
- mac-address: array of 6 bytes, specifies the MAC address that was? ? last used by the boot program; should be used in cases where the MAC? ? address assigned to the device by the boot program is different from? ? the "local-mac-address"property;
So yeah, I'm not sure what the "correct" fix is. It's tempting to indeed just leave out the mac-address property though :)
Signature · 2 lines
Sjoerd Simons Collabora Ltd.
PATCH 1/1 ARM: dts: rockchip: Setup ethernet0 alias for u-boot
Hi Sjoerd,
Quoted 5 lines · Sjoerd Simons
Quoted 4 lines
Note that in my case I didn't have to add an empty mac-address property.
U-Boot (2015.04-something --- don't have the sources) seems to add a "local-mac-address" property automatically.
Quoted 8 lines
After submitting the patch i actually dived a bit deeper at how this all hangs together.
The linux kernel checks for mac-address, local-mac-address and address in the fdt node, in that order of preference. u-boot (at least recent ones like you have), will set the mac-address property *if* it's already defined but will always create the local-mac-address property regardless.
That's also what I noticed. Originally I added the empty "mac-address" like you did, and /sys/firmware/devicetree/base/soc/ethernet at e6800000 ended up having both "mac-address" and "local-mac-address", both with the correct address.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds