hi Martin, +Bartosz Golaszewski <bgolaszew...@baylibre.com>
On Mon, 25 Feb 2019 at 02:25, Martin Blumenstingl <martin.blumensti...@googlemail.com> wrote: > > I have seen Anand's your question in [0]: > > only issue is I have is the each time their is random MAC address so I > > get new IP from dhcp server. > > How can I avoid this. I have tried to enable eFuse driver but with no > > success. > > u-boot on the 64-bit SoCs can read the MAC address from the eFuse and > pass it (via the .dtb) to the kernel. > This requires an ethernet0 alias in the mainline .dts though, see [1] > for and example. > > I'm not sure if this also works with the older u-boot on the 32-bit SoCs. > if it doesn't then there's a nvmem-cells binding for all Ethernet > controllers: [2] (please note that the function implementing this > binding was recently renamed: [3]) > as far as I can tell the stmmac driver doesn't support the nvmem-cells > based binding yet > > Anand, if you want to work on this: feel free to do so! > I have the SDHC MMC driver and a discussion about the power-domain > drivers on my TODO-list, so I'm pretty busy at the moment. > > > Regards > Martin > Thanks for your inputs :) 8) After enable CONFIG_MESON_MX_EFUSE and added the alias On Odroid C1+ # hexdump /sys/devices/platform/soc/da000000.secbus/da000000.nvmem/meson8b-efuse0/nvmem 0000000 1143 0000 4b48 3143 3131 3232 3346 4537 0000010 3942 4432 0000 0000 0000 0000 0000 0000 0000020 0000 0000 0000 0000 0000 0000 0000 0000 * 00001b0 0000 0000 1e00 1006 addc 0000 0000 0000 *00:1e:06:10:dc:ad* mac address from nvmem 00001c0 0000 0000 0000 4b48 3143 3133 3631 3131 00001d0 3732 3130 6237 6537 3165 6437 3034 3764 00001e0 02ad ec24 ff7f acfb d692 5300 0047 0000 00001f0 0000 0000 0000 aff6 a000 0000 1400 c100 0000200 as per my understating on 3.10.x the mac address is also set in the u-boot env. odroidc#printenv ethaddr ethaddr=00:1e:06:10:dc:ad Which is equal to above nvmem setting above. * But sill I am getting new mac address on every reboot. :p * Odroid C2: I could clearly observe the same. [root@archl-c2l alarm]# hexdump /sys/devices/platform/efuse/efuse0/nvmem 0000000 0000 0000 0000 0000 0000 0000 0000 0000 0000010 0000 0000 4b48 3243 3331 3532 4434 4346 0000020 4145 4146 0000 0000 0000 0000 0000 0000 0000030 0000 0000 1e00 3306 7a37 0000 0000 0000 *00:1e:06:33:37:7a* 0000040 0000 0000 0000 4b48 3243 3132 3631 3430 0000050 3834 3932 3631 3837 3937 3466 6233 6366 0000060 357c c7ec cc98 0f6d 65b7 92cf 000b 0a00 0000070 0000 0000 0000 0000 0000 0000 0000 0000 0000080 0014 0000 0000 0000 0000 0000 0000 0000 0000090 0000 0000 0000 0000 0000 0000 0000 0000 * 00000c0 [root@archl-c2l alarm]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.0.140 netmask 255.255.255.0 broadcast 10.0.0.255 inet6 2002:ac10:e303:e472:21e:6ff:fe33:377a prefixlen 64 scopeid 0x0<global> inet6 fe80::21e:6ff:fe33:377a prefixlen 64 scopeid 0x20<link> ether 00:1e:06:33:37:7a txqueuelen 1000 (Ethernet) RX packets 70485 bytes 4390622 (4.1 MiB) RX errors 0 dropped 28 overruns 0 frame 0 TX packets 6159 bytes 766939 (748.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 18 How can we read the mac address from given offset in nvmem. > > [0] > http://lists.infradead.org/pipermail/linux-amlogic/2019-February/010464.html > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7c36209c46c4d162202b65eed2e66962ad8c3c1 > [2] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9217e566bdee4583d0a9ea4879c8f5e004886eac > [3] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=afa64a72b862a7a9d04f8d07fba632eaf06b23f8 Yes thanks for the inputs. I see c85efcc60a892210aa10688d5de1f997d5cad799 ("ARM: davinci: da830-evm: use cell nvmem lookup for mac address") I do not know what this changes will help get the mac address from nvmem region. If some body could share some inputs it will be better for me to debug. Best Regards -Anand