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.

DM643: CSL: McBSP0 not enabled in CHIP_PERCFG_RMK

Other Parts Discussed in Thread: TMS320DM642, TMS320DM643

Hi,

 

My customer is using TMS320DM642 and TMS320DM643.

 

Problem they are reporting to us is that they are receiving the wrong value while reading  back the chip Config percfg-register  with the command CHIP_getConfig(..)

 

here is the code snippet:

 

void preinitSystem(void)

{

CHIP_Config chipConfig;

CHIP_Config chipConfigTest;

 

chipConfig.percfg = CHIP_PERCFG_RMK (

CHIP_PERCFG_VP2EN_ENABLE,

CHIP_PERCFG_VP1EN_ENABLE,

CHIP_PERCFG_VP0EN_DISABLE,

CHIP_PERCFG_I2C0EN_ENABLE,

CHIP_PERCFG_MCBSP1EN_DISABLE,

CHIP_PERCFG_MCBSP0EN_ENABLE,

CHIP_PERCFG_MCASP0EN_ENABLE );

 

// Enable and disable multiplexed DSP peripherals

CHIP_config ( &chipConfig );

 

// Wait at least 128 CPU cycles

PF_STD_OS::sleepBlockedTicks(200); // Delay function with (6 x X) CPU cycles

 

CHIP_getConfig( &chipConfigTest );

if( chipConfigTest.percfg != chipConfig.percfg )

                        SYS_abort("Error in config PERCFG register");

 

/* Open the GPIO handle */

hGpio = GPIO_open(GPIO_DEV0, GPIO_OPEN_RESET);

}

 

For  CHIP_getConfig they are  receiving 0x69 instead of 0x6b and the program will be  aborted. This problem occurs only sporadically.

 

- CSL 2.31.00.16.  does not support DM643. But I think that using the DM642 chip definition in the CSL for DM643 should be ok. DM643 should 
be able to function using the CHIP_DM642 designation but customer has to make sure not to use and to enable peripherals that are not made 
available on DM643.
(The DM643 does not have any PCI port and has only two video ports and only one McBSP. The core, memory and rest of peripherals 
should be the same as the DM642). The DM642 and DM643 are not considered pin for pin compatible. 
 

- There is a following statement in the data sheet of DM643:

 

For proper DM643 device operation, the McBSP1EN bit must be set to zero. At the device reset this bit is one.

 

Looking at the customer code above McBSP1EN bit is disabled.

 

However, enabling for the McBSP0 didn't work sometimes - why? The problem is when they ignore that the McBSP didn't work, afterwards in the program the initialization of the SPI also didn't work!!! Therefore my question what can be the reason for it? Could it be related to CSL or did we overseen something?  

 

Thanks and Best regards,

Majda

 

  • Majda,

    You mentioned that customer is using DM642 and DM643.

    1> Are they using both parts on their board? Do they see the similar issue with both the parts?

    2> Is customer taking care of the correct pulldowns requirements mentioned in Section 3.1 (Configuraiton at Reset) in the DM642/DM643 data sheet?

    3> Before setting PERCFG register, can you ask customer to read it and see if they are getting the default value?

    I don't have any clue, why McBSP0EN is not getting set in PERCFG. The code looks OK.

    Regards, Srirami.

  •  

    Srirami,

    please see my answers:

     

     

    1.Are they using both parts on their board? Do they see the similar issue with both the parts?

    They want use both DSP DM642 + DM643. But in the moment they use only DM643 for their application

    2.Is customer taking care of the correct pulldowns requirements mentioned in Section 3.1 (Configuraiton at Reset) in the DM642/DM643 data sheet?

    GP0 has a pull down resistor from 1k, HP15 has a pull down resistor from 10k. Also they have 1k pull down to A19 and 10k pull up to HP14 and 1k pull ups to A20 and A21

    3. Before setting PERCFG register, can you ask customer to read it and see if they are getting the default value?

     With the command: "CHIP_getConfig(&chipConfigTest)" they didn't get a useful answer (0x06). Show the reg.:0x01B3F000 they see the register has the value 0x06.

    After Chip_config the reg has the value 0x6B or 0x69.  

    Thanks and Regards,Majda

     

  • Majda,

    1> What about 10-kΩ pulldown on RSV09 (pin E2) at device reset?

    2> Is this behavior consistent across multiple boards?

    3> Is this bahavior reproducible all the time?

    At this point, no clue why McBSP0 can't be enabled.

    Regards, Srirami.

  • Hi Srirami,

    please see customer answers below:

    1. What about 10-kΩ pulldown on RSV09 (pinE2) at device reset?

     

    - There is 10-kΩpulldown resistor on HP15 (pin E2)

     

    2. Is this behavior consistent acrossmultiple boards?

     

    - NO !!!

     

    3. Is this bahavior reproducible all thetime?

     

    - No !!! It is more sporadically.

    Any further advices or things to check? Thanks and Regards,

    Majda 

  • Majda,

    Since the behavior is not consistent across boards, we don't know if it's a board problem or DM643 part problem. Is it possible to switch the DM643 parts? Is it possible to take one good board (that never fails) & one bad board and switch DM643 parts across them. That way, we can narrow down the problem to either board or to DM643 part.

    Regards, Srirami.