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.

DaVinci Module Configuration Registers

Other Parts Discussed in Thread: TMS320DM6446

The datasheet for the DaVinci TMS320DM6446 lists a number of registers titled MDCFGn where n goes from 0 to 40.  Each register is described as a configuration but I cannot find any documentation on what these registers do or how they are used.  The TMS320DM644x ARM Subsystem Reference Guide (SPRUE14A) talks about MDSTAT and MDCTL registers but the MDCFG registers are conspicuously absent.

Where can I find information on these?

  • I know the engineer who made the datasheet.  Let me go ask her. 

  • I believe these are actually meant to be marked as reserved (someone can correct me if I am wrong here), so I think you may have found a bug in the DM644x datasheet, you should not need to use these MDCFG registers to use the device.

  • Bernie is correct; these registers provide information on how the silicon is configured (cannot be changed); this information was meant for internal use only and these resgiters should be marked as reserved (will be in future revs of the data-sheet).

  • Thanks for the information.  As a follow up, the only reason I was even looking at these registers is because I want to toggle a GPIO line in my bootloader but just altering GPIO registers doesn't seem to produce the desired effect.  I turned to these MD registers since some other MCUs I've worked with require that you turn on a clock to the GPIO peripheral before anything happened.  As of right now my code reads:

    SYSTEM->PINMUX[1] &= ~((1<<4) | (1<<9));

    GPIO23->DIR &= ~(1<<13);
    GPIO23->SET_DATA |= (1<<13);

     My output (GPIO45) sits at about 0.4 volts at all times.  Am I missing something here?

  • It sounds like you are on the right track, normally this sort of thing is already handled for you by a GEL file or a boot loader, but if you are working on a boot loader it may not have been done yet. The GPIO peripheral by default comes up in a disabled state (shown in table 7-1 of SPRUE14a), which as you were thinking means it has no clock, as such you have to enable this before GPIO is usable. All of the registers you need as well as the procedure are described in SPRUE14a, in particular you will want to look at section 7.4.2 which goes through the module state transition procedure.

    http://focus.ti.com/lit/ug/sprue14a/sprue14a.pdf