/* ** Configurations for DS0 */ static void PowerDownConfig(void) { unsigned int index = 0; for(index = 0; index < 16; index++) { /* Configure LCD DATA IO Pads for low power mode */ IOPadConfigure(CONTROL_CONF_LCD_DATA(index), IOPAD_GPIO); /* Skip LCD DATA Clock from configuration */ IOPadSel(&ctrlContext, CONTROL_CONF_LCD_DATA(index), true); } /* Configure Ethernet Clocks for low power mode */ IOPadConfigure(CONTROL_CONF_RMII1_REFCLK, IOPAD_GPIO); IOPadConfigure(CONTROL_CONF_MDIO_CLK, IOPAD_GPIO); /* Skip Ethernet Clock from configuration */ IOPadSel(&ctrlContext, CONTROL_CONF_RMII1_REFCLK, true); IOPadSel(&ctrlContext, CONTROL_CONF_MDIO_CLK, true); /* Skip system I2C Bus from configuration */ IOPadSel(&ctrlContext, CONTROL_CONF_I2C0_SDA, true); IOPadSel(&ctrlContext, CONTROL_CONF_I2C0_SCL, true); /* Skip IO pads from CONTROL_CONF_NRESETIN_OUT to DDR for configuration */ for(index = 0u; index < (CONTROL_CONF_AIN0 - CONTROL_CONF_NRESETIN_OUT)/4u; index++) { IOPadSel(&ctrlContext, CONTROL_CONF_NRESETIN_OUT + (4u * index), true); } /* Skip configuration of touchscreen IO Pads here */ /* Skip other IO pads from CONTROL_CONF_VREFP for configuration */ for(index = 0u; index <= (CONTROL_CONF_TESTOUT - CONTROL_CONF_VREFP)/4u; index++) { IOPadSel(&ctrlContext, CONTROL_CONF_VREFP + (4u * index), true); } /* Add Emulation IO Pads for low power mode configuration */ IOPadSel(&ctrlContext, CONTROL_CONF_EMU(0u), false); IOPadSel(&ctrlContext, CONTROL_CONF_EMU(1u), false); /* Add USB VBUS IO Pads for low power mode configuration */ IOPadSel(&ctrlContext, CONTROL_CONF_USB_DRVVBUS(0u), false); IOPadSel(&ctrlContext, CONTROL_CONF_USB_DRVVBUS(1u), false); /* Configure other IO Pads */ IOPadSelConfigure(&ctrlContext, IOPAD_GPIO_PULLDN_RXACTIVE); }
void modulo2(int nGpio){ int num; switch(nGpio){ case GPIO_0 ... GPIO_5: selectGPMC(nGpio); break; case GPIO_6 ... GPIO_17: num = nGpio - 6; GPIOPinMuxSetup(CONTROL_CONF_LCD_DATA(num), CONTROL_CONF_MUXMODE(7)); break; case GPIO_18 ... GPIO_21: num = nGpio - 18; selectMII1RXD(nGpio); break; case GPIO_22 ... GPIO_25: selectLCD(nGpio); break; case GPIO_26 ... GPIO_31: selectMMC0(nGpio); break; } }
//****************************************************************************** // PRU Cape Pinmux // This function configures the pinmux for the PRU Cape. //****************************************************************************** void PRUCapePinmux(void) { //****************************************************************************** // LEDS - PRU0 //****************************************************************************** //********************************************* // Blue LED = PR1_PRU0_GPO0 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_ACLKX ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Green LED = PR1_PRU0_GPO1 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_FSX ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Orange LED = PR1_PRU0_GPO2 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AXR0 ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Red LED = PR1_PRU0_GPO3 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AHCLKR) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //****************************************************************************** // LEDS - PRU1 //****************************************************************************** //********************************************* // Blue LED = PR1_PRU1_GPO3 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(3)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Green LED = PR1_PRU1_GPO4 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(4)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Red LED = PR1_PRU1_GPO5 //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(5)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //****************************************************************************** // Switches //****************************************************************************** //********************************************* // Switch1 = PR1_PRU0_GPI5 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_FSR) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6); //********************************************* // Switch2 = PR1_PRU0_GPI7 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AHCLKX) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6); //****************************************************************************** // Audio //****************************************************************************** //********************************************* // Audio DIN = PR1_PRU1_GPO0 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(0)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Audio SCLK = PR1_PRU1_GPO1 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(1)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // Audio SYNCn = PR1_PRU1_GPO2 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(2)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //****************************************************************************** // PRU HW UART //****************************************************************************** //********************************************* // UART TXD = PR1_UART0_TXD //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_TXD(1)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // UART RXD = PR1_UART0_RXD //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RXD(1)) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(5); //********************************************* // UART RTS = PR1_UART0_RTS //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_D0) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4); //********************************************* // UART CTS = PR1_UART0_CTS //********************************************* HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_SCLK) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(4); //****************************************************************************** // LCD //****************************************************************************** //********************************************* // LCD_RS = PR1_PRU_EDIO_DATA_OUT6 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(6)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4); //********************************************* // LCD_E = PR1_PRU_EDIO_DATA_OUT4 //********************************************* //*((unsigned int*) SOC_CONTROL_REGS + CONTROL_CONF_LCD_PCLK) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4); //********************************************* // LCD_DATA4 = PR1_PRU_EDIO_DATA_OUT0 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_D1) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(6); //********************************************* // LCD_DATA5 = PR1_PRU_EDIO_DATA_OUT1 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_CS0) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(6); //********************************************* // LCD_DATA6 = PR1_PRU_EDIO_DATA_OUT2 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_VSYNC) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4); //********************************************* // LCD_DATA7 = PR1_PRU_EDIO_DATA_OUT3 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_HSYNC) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4); //****************************************************************************** // TEMP SENSOR //****************************************************************************** //********************************************* // TEMP1 HDQ/1W output = PR1_PRU_EDIO_DATA_OUT5 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_AC_BIAS_EN) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(4); //********************************************* // TEMP1 HDQ/1W input = PR1_PRU0_GPI14 //********************************************* //HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(14)) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6); }
void modulo0(int nGpio){ int num; switch(nGpio){ case GPIO_0 ... GPIO_1: selectMDIO(nGpio); break; case GPIO_2 ... GPIO_6: selectSPI0(nGpio); break; case GPIO_7: GPIOPinMuxSetup(CONTROL_CONF_ECAP0_IN_PWM0_OUT, CONTROL_CONF_MUXMODE(7)); break; case GPIO_8 ... GPIO_11: num = nGpio + 4; GPIOPinMuxSetup(CONTROL_CONF_LCD_DATA(num), CONTROL_CONF_MUXMODE(7)); break; case GPIO_12 ... GPIO_15: selectUART(nGpio); break; case GPIO_16 ... GPIO_17: selectMII(nGpio); break; case GPIO_18: GPIOPinMuxSetup(CONTROL_CONF_USB_DRVVBUS(0), CONTROL_CONF_MUXMODE(7)); break; case GPIO_19 ... GPIO_20: selectXDMA(nGpio); break; case GPIO_21: selectMII(nGpio); break; case GPIO_22 ... GPIO_23: num = nGpio - 14; GPIOPinMuxSetup(CONTROL_CONF_GPMC_AD(num), CONTROL_CONF_MUXMODE(7)); break; case GPIO_26 ... GPIO_27: num = nGpio - 16; GPIOPinMuxSetup(CONTROL_CONF_GPMC_AD(num), CONTROL_CONF_MUXMODE(7)); break; case GPIO_28: selectMII(nGpio); break; case GPIO_29: GPIOPinMuxSetup(CONTROL_CONF_RMII1_REFCLK, CONTROL_CONF_MUXMODE(7)); break; case GPIO_30: GPIOPinMuxSetup(CONTROL_CONF_GPMC_WAIT0, CONTROL_CONF_MUXMODE(7)); break; case GPIO_31: GPIOPinMuxSetup(CONTROL_CONF_GPMC_WPN, CONTROL_CONF_MUXMODE(7)); break; } }