I am supposed to get a review of the PWRM interface from TI later this week so I'm trying not to necessarily get into the details of this interface yet.
Basically I have been trying to modify the gel file to reduce the processor and memory speed and to turn off all the non-relevant peripherals. However I'm not seeing it make any difference in my power measurements. I have pasted my gel file changes below and I imagine I am fundamentally doing something wrong if I'm not seeing a difference. Does anyone else know any tricks to turning off the peripherals right through the gel and to slow down the processor? Any other considerations when using the 6748 SOM?
I'm using the 6748 SOM and have modified the gel file for the C6748.gel in the following way:
OnTargetConnect( )
{
Clear_Memory_Map();
Setup_Memory_Map();
//PSC_All_On_Experimenter(); //original
//Core_300MHz_mDDR_132MHz(); //original
PSC_Power_Special(); //Power Test TP
Core_100MHz_mDDR_102MHz(); //Power Test TP
PINMUX0 = 0x44440000; //Uart1 + Uart2
PINMUX1 = 0x00000000;
PINMUX2 = 0x00000000;
PINMUX3 = 0x00000000;
PINMUX4 = 0x22220000; //Uart1 + Uart2
PINMUX5 = 0x11000000; //EMIFA + EMIFB
PINMUX6 = 0x11111111; //EMIFA + EMIFB
PINMUX7 = 0x11111111; //EMIFA + EMIFB
PINMUX8 = 0x11111111; //EMIFA + EMIFB
PINMUX9 = 0x11111111; //EMIFA + EMIFB
PINMUX10 = 0x11111111; //EMIFA + EMIFB
PINMUX11 = 0x11111111; //EMIFA + EMIFB
PINMUX12 = 0x11111111; //EMIFA + EMIFB
PINMUX13 = 0x00000000;
PINMUX14 = 0x00000000;
PINMUX15 = 0x00000000;
PINMUX16 = 0x00000000;
PINMUX17 = 0x00000000;
PINMUX18 = 0x00000000;
PINMUX19 = 0x00000000;
//PINMUX0 = 0x44000000; //Spi0 + Uart2
//PINMUX4 = 0x00220011; //Spi0 + Uart2
//PINMUX3 = 0x11111111; //Spi0 + Uart2
}
hotmenu PSC_Power_Special() {
GEL_TextOut("\tEnabling Only Relevant PSCs...\n","Output",1,1,1);
// PSC0
PSC0_LPSC_enable(0, LPSC_EDMA_CC0);
PSC0_LPSC_enable(0, LPSC_EDMA_TC0);
PSC0_LPSC_enable(0, LPSC_EDMA_TC1);
//PSC0_LPSC_disable(0, LPSC_SPI0);
//PSC0_LPSC_disable(0, LPSC_MMCSD0);
//PSC0_LPSC_disable(0, LPSC_UART0);
//PSC0_LPSC_enable(0, LPSC_SCR0);
//PSC0_LPSC_enable(0, LPSC_SCR1);
//PSC0_LPSC_enable(0, LPSC_SCR2);
// PSC1
PSC1_LPSC_enable(0, LPSC_EDMA_CC1);
//PSC1_LPSC_disable(0, LPSC_USB20);
//PSC1_LPSC_disable(0, LPSC_USB11);
//CFGCHIP2 = 0x09F2; //Enable USB clock, PHY_PLLON, glue logic mux(USB2 ref clk input)
//PSC1_LPSC_disable(0, LPSC_GPIO);
//PSC1_LPSC_enable(0, LPSC_UHPI);
//PSC1_LPSC_enable(0, LPSC_EMAC);
PSC1_LPSC_enable(0, LPSC_DDR);
//PSC1_LPSC_disable(0, LPSC_MCASP0);
//PSC1_LPSC_force(LPSC_SATA);
//PSC1_LPSC_disable(0, LPSC_SATA);
//PSC1_LPSC_disable(0, LPSC_SPI1);
//PSC1_LPSC_disable(0, LPSC_I2C1);
PSC1_LPSC_enable(0, LPSC_UART1);
PSC1_LPSC_enable(0, LPSC_UART2);
//PSC1_LPSC_disable(0, LPSC_MCBSP0);
//PSC1_LPSC_disable(0, LPSC_MCBSP1);
PSC1_LPSC_enable(0, LPSC_EPWM);
PSC1_LPSC_enable(0, LPSC_MMCSD1);
PSC1_LPSC_enable(0, LPSC_ECAP);
PSC1_LPSC_enable(0, LPSC_EDMA_TC2);
//PSC1_LPSC_enable(0, LPSC_SCR_F0);
//PSC1_LPSC_enable(0, LPSC_SCR_F1);
//PSC1_LPSC_enable(0, LPSC_SCR_F2);
//PSC1_LPSC_enable(0, LPSC_SCR_F6);
//PSC1_LPSC_enable(0, LPSC_SCR_F7);
//PSC1_LPSC_enable(0, LPSC_SCR_F8);
PSC1_LPSC_enable(0, LPSC_BR_F7);
PSC1_LPSC_enable(0, LPSC_SHARED_RAM);
GEL_TextOut("\tPSC Enable Complete.\n","Output",1,1,1);
GEL_TextOut("\t---------------------------------------------\n","Output",1,1,1);
}