[U-Boot-Users] [PATCH 10/10 v2] [ARM] TQMA31: new kernel param. to pass the eth MAC addr to the Linux eth chip driver

Some Linux drivers like the smc911x driver, as used on TQMA31, rely on the MAC address in the appropriate register, but U-Boot resets the controller after every transfer. A patch for the Linux driver is necessary to extract the MAC address from the kernel boot parameter line and set the MAC address register accordingly. This patch adds the kernel parameter "ethaddr" to the U-Boot default environment so that the user cannot forget it.
Signed-off-by: Jens Gehrlein sew_s@tqs.de ---
Replaced whitespaces by tab. Fixed typos in patch description.
include/configs/TQMA31.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/configs/TQMA31.h b/include/configs/TQMA31.h index c753ccc..f79cdd3 100644 --- a/include/configs/TQMA31.h +++ b/include/configs/TQMA31.h @@ -271,6 +271,7 @@ "console=ttymxc0,115200\0" \ "bootargs_nfs=setenv bootargs ${bootargs} " \ "root=/dev/nfs rw " \ + "ethaddr=${ethaddr} " \ "ip=${ipaddr}:${serverip}:${gatewayip}:" \ "${netmask}:${hostname}:${netdev}:off " \ "panic=1 " \

Hi,
Some Linux drivers like the smc911x driver, as used on TQMA31, rely on the MAC address in the appropriate register, but U-Boot resets the controller after every transfer. A patch for the Linux driver is necessary to extract the MAC address from the kernel boot parameter line and set the MAC address register accordingly. This patch adds the kernel parameter "ethaddr" to the U-Boot default environment so that the user cannot forget it.
Do you know the nwhwconf patch? We used it with a kernel 2.6.22 for Renesas SH3. It adds a kernel parameter nwhwconf and one of its options is to specify a hwaddr which is the MAC address to use. The Ethernet driver does not have to do anything other than to support the ethtool interface.
Example: nwhwconf=device:eth0,hwaddr:12:34:56:78:90:ab
So I think reading a kernel parameter from the Ethernet driver is not a good idea - there are more generic approaches available.
There has already been a discussion on this topic on the Celinux-dev mailing list: http://tree.celinuxforum.org/pipermail/celinux-dev/2007-July/001477.html . Wolfgang Denk layed out his POV there as well.
Regards, Mark

Hi Mark,
Mark Jonas schrieb:
Hi,
Some Linux drivers like the smc911x driver, as used on TQMA31, rely on the MAC address in the appropriate register, but U-Boot resets the controller after every transfer. A patch for the Linux driver is necessary to extract the MAC address from the kernel boot parameter line and set the MAC address register accordingly. This patch adds the kernel parameter "ethaddr" to the U-Boot default environment so that the user cannot forget it.
Do you know the nwhwconf patch? We used it with a kernel 2.6.22 for Renesas SH3. It adds a kernel parameter nwhwconf and one of its options is to specify a hwaddr which is the MAC address to use. The Ethernet driver does not have to do anything other than to support the ethtool interface.
Example: nwhwconf=device:eth0,hwaddr:12:34:56:78:90:ab
So I think reading a kernel parameter from the Ethernet driver is not a good idea - there are more generic approaches available.
There has already been a discussion on this topic on the Celinux-dev mailing list: http://tree.celinuxforum.org/pipermail/celinux-dev/2007-July/001477.html . Wolfgang Denk layed out his POV there as well.
Regards, Mark
I have 2.6.22, too. Thank you very much for the hint and the weblink. I will give the patch a try. A first look showed, that the smc911x driver supports ethtool.
Kind regards, Jens

On 12:44 Wed 09 Jul , Mark Jonas wrote:
Hi,
Some Linux drivers like the smc911x driver, as used on TQMA31, rely on the MAC address in the appropriate register, but U-Boot resets the controller after every transfer. A patch for the Linux driver is necessary to extract the MAC address from the kernel boot parameter line and set the MAC address register accordingly. This patch adds the kernel parameter "ethaddr" to the U-Boot default environment so that the user cannot forget it.
Do you know the nwhwconf patch? We used it with a kernel 2.6.22 for Renesas SH3. It adds a kernel parameter nwhwconf and one of its options is to specify a hwaddr which is the MAC address to use. The Ethernet driver does not have to do anything other than to support the ethtool interface.
Example: nwhwconf=device:eth0,hwaddr:12:34:56:78:90:ab
I allready point it.
Personnaly, until we can merge the arm in order to use FDT, I prefer the nwhwconf patch done by Stuart from ST
Best Regards, J.
participants (3)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Jens Gehrlein
-
Mark Jonas