This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Configuration MAC address on a based OMAPL137 custom board

Other Parts Discussed in Thread: OMAP-L137

Hi,

right now I am working on a OMAPL137 custom board, so every component or IC of this board is virgin. At the MAC issue, I believe there are three elements playing each other: OMAPL137, MICREL (KSZ8893MQL) and I2C EEPROM (CAT24WC256). According to my knowledge, MICREL IC read MAC address from I2C EEPROM pre-configured by means a function like (i2c_read). Then, communication with OMAP and so on...

At the MICREL's manual, there is a set of steps that allows programming the eeprom with the desired configuration:

1. Connect the KSZ8893MQL/MBL to the EEPROM by joining the SCL and SDA signals of the respective devices.
2. Enable I C master mode by setting the KSZ8893MQL/MBL strap-in pins, PS[1:0] (pins 100 and 101,respectively) to “00”.
3. Check to ensure that the KSZ8893MQL/MBL reset signal input
4. Program the desired configuration data into the EEPROM.
5. Place the EEPROM on the board and power up the board

However, this configuration written into the EEPROM, what is it? I mean, one of the most fundamental parameters of that configuration is the MAC address. So, how can I figure out that?? At the EVM, it is much easier because there is a sticker on the bottom layer, but at the custom board, with all elements with out any data, how is it possible? I hope I understand my problem.

I do not know how obtain the MAC address in my custom board. Any advise would be appreciated. Thanks in advance

Regards

Óscar

  • Oscar

    I see Rahul has responded to your question, does his suggestion work?

    David

  • It's been a while. My memory may be failing on this. I remember the MAC address is stored only in the EEPROM and the OMAP137 is the only one that accesses that address.

    U-boot will read the MAC address from the EEPROM and initialize the environment variable ethaddr. That variable is used for variious u-boot network commands.

    Linux will also read read the MAC address from the EEPROM and store it in the platform davinci_soc_info structure. The EMAC driver will eventually pick up the address from the structure and initialize the EMAC with the address. A far as I know, the OMAP-L137's EMAC will communicate the MAC address to whatever PHY is attached to it. Likely it does even know it is connected toa Micrel PHY. Just a guess.

    On the EVM, Spectrum Digital would program the I2C and print the sticker with the same MAC address. On a custom board, you would have to do the same. Obtaining a MAC address range is a different issue . One option is to buy a range from the IEEE Registration Authority. Another would be to buy pre-programmed EEPROM with pre-purchased MAC addresses from Maxim or Microchip. Random MAC addresses another approach.

    http://www.denx.de/wiki/DULG/WhereCanIGetAValidMACAddress

    If you don't have an EEPROM on your custom board, you need to store the MAC address somewhere else that is accessible to both U-boot and Linux, eg NAND.