DVEVM manuals says if using J30, J31 imager, user needs to set MSP430 registers to Imager Mode , can anyone tell me how to set that register? Thanks in advance.
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.
DVEVM manuals says if using J30, J31 imager, user needs to set MSP430 registers to Imager Mode , can anyone tell me how to set that register? Thanks in advance.
In this case on the DM355 you would set the register in the MSP430 by using the I2C interface, this is actually done for you by the driver if you use the MT9T001 imager driver that is included with the DVSDK kernel tree.
For details on the register addresses for the ECP, MSP430, please see this document from Spectrum Digital, this lists out the registers you can access including the register for switching to and from the imager mode (offset 0x8).
If you want to see an actual implementation of this register being changed for an example you can take a look at /lsp/ti-davinci/drivers/media/video/davinci/mt9t001.c (this is from a DVSDK 1.30.xx install so yours may differ slightly), in the mt9t001_init function the first I2C address done is to ECP_REGADDR, with ECP_REGVAL, this should be around line 281. The #define statements for these values are given in lsp\ti-davinci\include\media\davinci\mt9t001.h which map to the values taken from the ECP document mentioned above such that the I2C access switches the board to imager mode. To exerpt some of the code:
/*i2c adress for ECP*/
#define ECP_I2C_ADDR (0x25)
#define ECP_I2C_CONFIG (2)
#define ECP_REGADDR (0x08)
#define ECP_REGVAL (0x80)
#define ECP_RSTADDR (0x02)
/* enable path from mt9t001 to */
err |= i2c_write_reg(&mt9t001_i2c_client, ECP_REGADDR, ECP_REGVAL, ECP_I2C_CONFIG);
Thanks for ur answer, Snake :)
The question is still there... I modified mt9t001.c to test MSP430 I2C communication. Leds changed their state correctly, but no matter what value ( 0x80, 0x00, 0xFF for example...) I send to Video Input Mux register ( 0x08 ), DECODER_IMAGER output pin never changes its state.
Glad to help ;). My first guess on this would be that somehow the register in the MSP430 is not being written properly, but I am not sure how this relatively simple operation could fail. I do know that the driver is tested and has been known to work, so the code in the driver should switch the MSP430 correctly, this issue will probably take some more debugging, perhaps probing MSP430 pins directly, or trying some of the other MSP430 registers (perhaps a MSP430 firmware issue?).
From oscillograph , DECODE_IMAGE pin never changes its state with different setting to registers, seems it's dead... I connect a LED output pin to DECODE_IMAGE connection , and everything goes well :)
Thanks for help.