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.

DM9000 read wrong ID 0x2b2a2928 for DM355 IPNC

Hi,

Made a board according to the solution of dm355 ipnc.

DM9000 works fine in u-boot, but it failed in kernel booting. The error is "read wrong id 0x2b2a2928" . It seems dm9000 does not put the data on the IO bus. CPU still reads the address of the register. I think the hardware has not problem because it works in u-boot. I check the dm9000 driver in linux kernel (same version to EVMDM355), haven't find the problem yet.

For hardware, CMD pin connects to A2, and CS pin connects to EM_CE1, and it works in 16 bit mode.

Following is the board setting:

/////////////////////////////////////////////////////////////////////////////////////////

#define ETH_PHYS (DAVINCI_ASYNC_EMIF_DATA_CE1_BASE)
#define ETH_PHYS_DATA (ETH_PHYS+16)

static struct resource dm9000_resources[] = {
[0] = {
.start = ETH_PHYS,
.end = ETH_PHYS + 1,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = ETH_PHYS_DATA,
.end = ETH_PHYS_DATA + 1,

.flags = IORESOURCE_MEM,
},
[2] = {
.start = ETH_IRQ_USE,
.end = ETH_IRQ_USE,
.flags = (IORESOURCE_IRQ | IRQT_RISING),
},
};
 ////////////////////////////////////////////////////////////////////////////////

  • Hi,

    Did you get the problem resolved based on the discussion in this post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/dm3x/f/100/p/43226/151463.aspx#151463

    Or does the problem still exist?

    Regards,

    Anshuman

  • Hi,

    The problem still exists.

    The addr_port and data_port addresses have no problem. Now I don't have a clear path for solving the problem.

     

  • Hi,

    Can you please confirm if the base address is set to 0x4000000 for the EMIF region. In DM355 IPNC we connect CS pin to AEMIF_CE1.

    So if  the EMIF settingand  base address (DAVINCI_ASYNC_EMIF_DATA_CE1_BASE  0x04000000)   are correct , I think it will can read device ID.

    Regards,

    Anshuman

  • Hi,

    Could you get your problem resolved? Based on your response we would mark it verified or keep it still open.

     

    Regards,

    Anshuman

  • Hi,

    The problem still remains unsettled.

    The base address of CE1 is  0x04000000, which has no problem.

    Using the uImage provided by dm355 ipnc v1.2 (no kernel source code is provided in this version), DM9000 works fine. But using the uImage compiled from kernel source code provided by dm355 ipnc v2.1.0, it failed to work.

    It seems to be a software problem, but don't find any problem in DM9000 driver and DM9000 resource definition. Anywhere else could go wrong?

  • Hi,

    Did you try the pre-built uImage that came with ver 2.1.0? I want to identify if it is a build problem or the source code itself has some issue.

    Regards,

    Anshuman

  • Hi,

     

    Also, Latest version 2.5 of IPNC DM355 has been uploaded. Can you please verify with it?

     

    Regards,

     

    Raghu

     

  •  

    Hi,

    Thanks for your suggestion. We tried the pre-built uImage in version 2.1.0, DM9000 works. It is probably a built problem, but remains unsettled.

     Following is the kernel build procedure in ipnc dm355 user guide:

    #make distclean

    #make davinci_dm355_evm_defconfig

    #make uImage

     We doubt about the second command. Checked the default config, TI DM355 EVM (MACH_DAVINCI_DM355_EVM) is selected as the DaVinci Board Type, and board-dm355-evm.c is compiled. CONFIG_MACH_DAVINCI_DM355_IPNCVCA1 is not defined in this c file, but our hardware seems fit IPNCVCA1. For example, the interrupt pin of DM9000 connects to GIO75, not GIO9 in ipnc.

    We modified the default config by selecting "TI DM355 IPNC" and “TI DM355 IPNC VCA1” instead of  "TI DM355 EVM". It seems “TI DM355 IPNC VCA1” cannot be selected alone. But the problem remains.

    Now I'm confused with IPNC and IPNCVCA1. Are they two different designs? The documents of the solution are all titled with IPNetCam, but the shematics and kernel source fits IPNCVCA1.

    Where can I download the latest version of ipnc dm355? Thank you!

     


  • Hi,

    DM355 IPNCVCA1 and DM355 IPNC are two different hardware designs. There are changes in IPNCVCA1 (developed by ZOT) w.r.t. the DM9000 connections to DM355. There would be separate release package for IPNCVCA1 that can be obtained from ZOT website. The IPNCVCA1 software comes along with its own kernel configuration files. As it is based on DM355 IPNC, you would need to use both the config "TI DM355 IPNC" and "TI DM355 IPNC VCA1".

    Let me get some things clarified. Are you trying to bring up your own hardware or TI's DM355 IPNC hardware or DM355 IPNCVCA1 hardware? If you are using TI's hardware boards, you should be using the software provided for these hardwares. If it is your hardware, the changes have to be done in the board file for the specific GIO settings connecting DM9000 to DM355.

    Actually, the DM355 IPNCVCA1 is no more supported from TI. You might need to contact ZOT for the support on that hardware. The camera side software is almost same as TI's DM355 IPNC but it being a different hardware has changes in the kernel configuration and board files.

    All DM355 IPNC (not IPNCVCA1) software is available at www.appropho.com

    Regards,

    Anshuman

  • Hi,

    Thanks for your explanation.

    I'm trying to bring up DM355 IPNCVCA1 hardware. We built the kernel provided by ZOT and loaded the new uImage into ZOT's product, and DM9000 failed to work. The documents going with the product are confusing. The getting started guide are titled with IPNCVCA1, the user guide are titled with IPNC.

    As what you said, we should contact with ZOT for support.

    Anyway, thanks.

  • Hi,

    The problem has been found. We should use davinci_dm355_ipncvca1_defconfig. Thanks for all your suggestions.

  • hi lili !

             would you solve the problem ? I meet the same problem that "dm9000 read the wrong id 28292a2b".I can't find the where is wrong! can you help me?

    you can get me by email: 271746207@qq.com. I vish you reply!

          thank you very much!

      

  • Hi

           I have the same problem,the problem is that "dm9000 read the wrong id 0x00000000",I don't know how to solve it.Look forward to your help, if convenient, then please add me to the QQ friends, QQ or send to my mail, thank you!