_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); } }
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; }
_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); }