Example #1
0
_DRIVER_SDIO_SDIODEVICE_INIT_
void SdioDevGpioInit(uint32 DevID)
{
    if(DevID == 0)
    {
        GpioMuxSet(GPIO_CH0,SDMMC_POWER_EN,IOMUX_GPIOA0_SDMMC_PWREN);

        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin1,IOMUX_GPIOC1_IO);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin2,IOMUX_GPIOC2_IO);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin3,IOMUX_GPIOC3_IO);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin4,IOMUX_GPIOC4_IO);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin5,IOMUX_GPIOC5_IO);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin6,IOMUX_GPIOC6_IO);

        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin1,GPIO_OUT);
        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin2,GPIO_OUT);
        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin3,GPIO_OUT);
        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin4,GPIO_OUT);
        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin5,GPIO_OUT);
        Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin6,GPIO_OUT);

        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin1,GPIO_LOW);
        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin2,GPIO_LOW);
        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin3,GPIO_LOW);
        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin4,GPIO_LOW);
        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin5,GPIO_LOW);
        Gpio_SetPinLevel(GPIO_CH0,GPIOPortC_Pin6,GPIO_LOW);

        //WIFI Host wakeup: hold low level after powerup
        GpioMuxSet(GPIO_CH0,WIFI_HOST_WAKE,IOMUX_GPIOC7_IO);
        Gpio_SetPinDirection(GPIO_CH0,WIFI_HOST_WAKE,GPIO_OUT);
        Gpio_SetPinLevel(GPIO_CH0,WIFI_HOST_WAKE,GPIO_LOW);

        //WIFI RegOn: hold low level after powerup
        GpioMuxSet(GPIO_CH0,WIFI_REG_ON,IOMUX_GPIOD2_IO);
        Gpio_SetPinDirection(GPIO_CH0,WIFI_REG_ON,GPIO_OUT);
        Gpio_SetPinLevel(GPIO_CH0,WIFI_REG_ON,GPIO_LOW);

        //WIFI Power Down
        Gpio_SetPinDirection(GPIO_CH0,WIFI_POWER, GPIO_OUT);
        Gpio_SetPinLevel(GPIO_CH0,WIFI_POWER, GPIO_LOW);

        DelayMs(250);


        //=========================================================
        //WIFI Power Initial: PowerDown, SDMMC Low Level
        //WIFI Power Down
        Gpio_SetPinDirection(GPIO_CH0,WIFI_POWER, GPIO_OUT);
        Gpio_SetPinLevel(GPIO_CH0,WIFI_POWER, GPIO_HIGH);
        DelayMs(250);

        //WIFI RegOn: hold low level after powerup
        GpioMuxSet(GPIO_CH0,WIFI_REG_ON,IOMUX_GPIOD2_IO);
        Gpio_SetPinDirection(GPIO_CH0,WIFI_REG_ON,GPIO_OUT);
        Gpio_SetPinLevel(GPIO_CH0,WIFI_REG_ON,GPIO_HIGH);
        DelayMs(100);

        //WIFI Host wakeup: hold low level after powerup
        GpioMuxSet(GPIO_CH0,WIFI_HOST_WAKE,IOMUX_GPIOC7_IO);
        Gpio_SetPinDirection(GPIO_CH0,WIFI_HOST_WAKE,GPIO_IN);


        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin1, IOMUX_GPIOC1_SDMMC_CMDP0);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin2, IOMUX_GPIOC2_SDMMC_CLKP0);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin3, IOMUX_GPIOC3_SDMMC_DATA0P0);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin4, IOMUX_GPIOC4_SDMMC_DATA1P0);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin5, IOMUX_GPIOC5_SDMMC_DATA2P0);
        GpioMuxSet(GPIO_CH0,GPIOPortC_Pin6, IOMUX_GPIOC6_SDMMC_DATA3P0);

    }
}
Example #2
0
int start_main(void) {

	GeneralInitialise();

	Gpio_SetMorse(36, true);
	Gpio_WordSpace();
	
	Gpio_SetMorse(1, false);
	
	Gpio_SetPinDirection(RPI_STATUS, OUTPUT);
	SmallDelay(5);
	Gpio_Write(RPI_STATUS, SET);		// Setting turns LED off.
	Gpio_DashDelay();
	
	Gpio_FlashStatusLed(PAT_H, END_OF_WORD);
//	Atags_Init();
	
	int result;
	int mode = MODE1024X768X24;
	do {
		result = InitFb(mode);
	} while(0 != result);

	Fb_ClearScreen();
	struct ColourStructure colour;
	colour.red		= 0xD0;						// Sand 				D0C090
	colour.green	= 0xC0;						// Button gray 	D4D0C8
	colour.blue		= 0x90;
	Fb_SetBackgroundColour(colour);
	colour.red		= 0x30;
	colour.green	= 0x30;
	colour.blue		= 0x30;
	Fb_SetForegroundColour(colour);
	
	char putString[] = "Hello World!\n\r\n\rReady> ";
	Fb_WriteLine(putString);
			
	Gpio_SetMorse(1, false);
	Gpio_FlashStatusLed(PAT_V, END_OF_WORD);
	
/* Start debug
	
	uint32_t* memory1 = AllocateMemory(0x10);
	char hexString[9];
	Fb_WriteString("memory1: ");
	Fb_WriteLine(String_ConvertToHexString((uint32_t) memory1, hexString, 8));
	FreeAllocatedMemory(memory1);
	
	Console_WriteMemoryBlockHex((uint32_t) &__bss_end__, (uint32_t) ((uint32_t*)(&__bss_end__) + 0x20));
	
// End debug
*/

	Gpio_SetPinDirection(RPI_GPIO7_P7, INPUT);
		int morseBit;
		while(1) {
		morseBit = Gpio_Read(RPI_GPIO7_P7);
		if (0 == morseBit) {
			Gpio_Write(RPI_STATUS, N_SET);
		} else {
			Gpio_Write(RPI_STATUS, N_CLEAR);
		}
	}

	return 0;
}
Example #3
0
_BSP_EVK_V10_BSP_INIT_
void GpioInit(void)
{
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin0,IOMUX_GPIOA0_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin1,IOMUX_GPIOA1_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin2,IOMUX_GPIOA2_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin3,IOMUX_GPIOA3_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin4,IOMUX_GPIOA4_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin5,IOMUX_GPIOA5_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin6,IOMUX_GPIOA6_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortA_Pin7,IOMUX_GPIOA7_IO);

    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin0,IOMUX_GPIOB0_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin1,IOMUX_GPIOB1_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin2,IOMUX_GPIOB2_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin3,IOMUX_GPIOB3_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin4,IOMUX_GPIOB4_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin5,IOMUX_GPIOB5_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin6,IOMUX_GPIOB6_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortB_Pin7,IOMUX_GPIOB7_IO);

    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin0,IOMUX_GPIOC0_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin1,IOMUX_GPIOC1_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin2,IOMUX_GPIOC2_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin3,IOMUX_GPIOC3_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin4,IOMUX_GPIOC4_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin5,IOMUX_GPIOC5_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin6,IOMUX_GPIOC6_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortC_Pin7,IOMUX_GPIOC7_IO);

    GpioMuxSet(GPIO_CH0,GPIOPortD_Pin0,IOMUX_GPIOD0_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortD_Pin1,IOMUX_GPIOD1_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortD_Pin2,IOMUX_GPIOD2_IO);
    GpioMuxSet(GPIO_CH0,GPIOPortD_Pin3,IOMUX_GPIOD3_IO);

    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin0,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin1,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin2,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin3,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin4,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin5,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin6,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortA_Pin7,GPIO_IN);

    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin0,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin1,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin2,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin3,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin4,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin5,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin6,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortB_Pin7,GPIO_IN);

    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin0,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin1,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin2,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin3,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin4,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin5,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin6,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortC_Pin7,GPIO_IN);

    Gpio_SetPinDirection(GPIO_CH0,GPIOPortD_Pin0,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortD_Pin1,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortD_Pin2,GPIO_IN);
    Gpio_SetPinDirection(GPIO_CH0,GPIOPortD_Pin3,GPIO_IN);

}