From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timur Tabi Date: Wed, 14 Nov 2007 09:34:18 -0600 Subject: [U-Boot-Users] [PATCH] Implement general ULi 526x Ethernet driver support in U-boot In-Reply-To: <1194255563.17501.7.camel@localhost.localdomain> References: <1193910575.19316.21.camel@localhost.localdomain> <1194252111.17074.8.camel@localhost.localdomain> <1194255563.17501.7.camel@localhost.localdomain> Message-ID: <473B157A.5000505@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Zang Roy-r61911 wrote: > + if (((u16 *) db->srom)[0] == 0xffff || ((u16 *) db->srom)[0] == 0) > + /* SROM absent, so write MAC address to ID Table */ > + set_mac_addr(dev); > + else { /*Exist SROM*/ > + for (i = 0; i < 6; i++) > + dev->enetaddr[i] = db->srom[20 + i]; > + } What is the difference between the ID table (IDT) and the SROM? And why do we not program the ID table if we have SROM? BTW, where is the code that programs the MAC address *into* the IDT/SROM? All we have is code that reads *from* the IDT/SROM. On the 8610, the MAC address is stored in I2C EEPROM (address 0x57), and so U-Boot will need to copy that into the IDT/SROM *before* this driver runs. -- Timur Tabi Linux kernel developer at Freescale