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.

How to compute DM9000 base address?

Hi,

    I'm using EVMDM355. In u-boot, the following macro is defined:

    #define CONFIG_DM9000_BASE 0x04014000

    In schematics, the cs pin of DM9000 connects to CE1.

    Why not define the base address as 0x04000000? Is it determined by the hardware?

    Thanks!

  • During development the DM355 EVM was to have a NOR FLASH device which was addressed at 0x040 0000.  A CPLD was used to divide up the CE1 address space to share it with the DM9000.  Before release, the NOR FLASH was dropped and the DM9000 was directly connected to CE1.  As long as the code referenced above works with the DM9000 there should be no issue.

    So a more direct answer to your question is there was other hardware located at 0x4000 0000 during development and as such the DM9000 base address was defined as 0x0401 4000.  SW was developed using these addresses.  When the NOR FLASH was removed, there was no need to remap the DM9000 address.  Note that I am much more familiar with the HW than SW.  Please respond back if there is a SW issue with the DM9000 -- I am assuming the code works.

    -Mike

  • Hi Mike,

    Thanks for your explanation. The code works.

    In fact, I have a DM355_IPNC board, DM9000 works in u-boot, but failed to work in linux, it read wrong id. Want to identify whether it is a HW problem or a SW issue, I turns to EVMDM355 board for some information, and you answered my question.