Otherwise kernel uses random MAC which is not very conveniet.
With that change in place use might set desired MAC in U-Boot
with "setenv ethaddr 11:22:33:44:55:66", save environment and
then from boot to boot the same MAC will be used by the kernel.
One other note for this to happen it's required to pass
board's .dtb in U-Boot's "bootm" command like that:
------------------->8-----------------
bootm 0x82000000 - 0x84000000
------------------->8-----------------
Here 0x82000000 is location of uImage while
0x80000000 is location of either axs10x.dtb or hsdk.dtb
previously loaded from SD-card, USB storage or TFTP server.
Signed-off-by: Alexey Brodkin <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: [email protected] # 4.14
Cc: [email protected]
---
arch/arc/boot/dts/axs10x_mb.dtsi | 7 ++++++-
arch/arc/boot/dts/hsdk.dts | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index 47b74fbc403c..37bafd44e36d 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -9,6 +9,10 @@
*/
/ {
+ aliases {
+ ethernet = &gmac;
+ };
+
axs10x_mb {
compatible = "simple-bus";
#address-cells = <1>;
@@ -68,7 +72,7 @@
};
};
- ethernet@0x18000 {
+ gmac: ethernet@0x18000 {
#interrupt-cells = <1>;
compatible = "snps,dwmac";
reg = < 0x18000 0x2000 >;
@@ -81,6 +85,7 @@
max-speed = <100>;
resets = <&creg_rst 5>;
reset-names = "stmmaceth";
+ mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
};
ehci@0x40000 {
diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts
index 006aa3de5348..d00f283094d3 100644
--- a/arch/arc/boot/dts/hsdk.dts
+++ b/arch/arc/boot/dts/hsdk.dts
@@ -25,6 +25,10 @@
bootargs = "earlycon=uart8250,mmio32,0xf0005000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1";
};
+ aliases {
+ ethernet = &gmac;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -163,7 +167,7 @@
#clock-cells = <0>;
};
- ethernet@8000 {
+ gmac: ethernet@8000 {
#interrupt-cells = <1>;
compatible = "snps,dwmac";
reg = <0x8000 0x2000>;
@@ -176,6 +180,7 @@
phy-handle = <&phy0>;
resets = <&cgu_rst HSDK_ETH_RESET>;
reset-names = "stmmaceth";
+ mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
mdio {
#address-cells = <1>;
--
2.17.1
On 08/02/2018 03:19 AM, Alexey Brodkin wrote:
> Otherwise kernel uses random MAC which is not very conveniet.
Curious what exactly is the issue - why does the user care what MAC is assigned ?
> With that change in place use might set desired MAC in U-Boot
> with "setenv ethaddr 11:22:33:44:55:66", save environment and
> then from boot to boot the same MAC will be used by the kernel.
>
And what if one is running without uboot - it will resort to all zeros vs. random
yet working MAC ?
Hi Vineet,
On Thu, 2018-08-02 at 21:58 +0000, Vineet Gupta wrote:
> On 08/02/2018 03:19 AM, Alexey Brodkin wrote:
> > Otherwise kernel uses random MAC which is not very conveniet.
>
> Curious what exactly is the issue - why does the user care what MAC is assigned ?
>
> > With that change in place use might set desired MAC in U-Boot
> > with "setenv ethaddr 11:22:33:44:55:66", save environment and
> > then from boot to boot the same MAC will be used by the kernel.
> >
>
> And what if one is running without uboot - it will resort to all zeros vs. random
> yet working MAC ?
>
If one is running without u-boot - it will resort to random MAC as we don't treat
"00:00:00:00:00:00" as a valid Ethernet address.
Look at following link for more details.
https://elixir.bootlin.com/linux/v4.18-rc8/source/include/linux/etherdevice.h#L184
BTW:
Tested-by: Evgeniy Paltsev <[email protected]>
>
> _______________________________________________
> linux-snps-arc mailing list
> [email protected]
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.infradead.org_mailman_listinfo_linux-2Dsnps-2Darc&d=DwICAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN
> 1MriPUTkBKCrPSx67GmaplEUGcAEk9yPtCLdUXI&m=pEe31Mq4FC20ZBQ1SMGdCpesPmQFyaQCdpY9-N_aWRc&s=lwI7vTqAmbVPHdfMz_FlOzfBDvtYCQDL-6s-Z2FFr_Y&e=
--
Eugeniy Paltsev