static void __pl011_uart1_prepare(void) { NX_UART_CH_INIT(1); NX_GPIO_SetPadFunction (PAD_GET_GROUP(PAD_GPIO_D), 15, NX_GPIO_PADFUNC_1); // RX NX_GPIO_SetPadFunction (PAD_GET_GROUP(PAD_GPIO_D), 19, NX_GPIO_PADFUNC_1); // TX NX_GPIO_SetOutputEnable(PAD_GET_GROUP(PAD_GPIO_D), 15, CFALSE); NX_GPIO_SetOutputEnable(PAD_GET_GROUP(PAD_GPIO_D), 19, CTRUE); }
static void __pl011_uart5_prepare(void) { NX_UART_CH_INIT(5); NX_GPIO_SetPadFunction (PAD_GET_GROUP(PAD_GPIO_B), 30, NX_GPIO_PADFUNC_3); // RX NX_GPIO_SetPadFunction (PAD_GET_GROUP(PAD_GPIO_B), 31, NX_GPIO_PADFUNC_3); // TX NX_GPIO_SetOutputEnable(PAD_GET_GROUP(PAD_GPIO_B), 30, CFALSE); NX_GPIO_SetOutputEnable(PAD_GET_GROUP(PAD_GPIO_B), 31, CTRUE); }
static void auto_update(int io, int wait) { unsigned int grp = PAD_GET_GROUP(io); unsigned int bit = PAD_GET_BITNO(io); int level = 1, i = 0; char *cmd = "fastboot"; for (i = 0; wait > i; i++) { switch (io & ~(32-1)) { case PAD_GPIO_A: case PAD_GPIO_B: case PAD_GPIO_C: case PAD_GPIO_D: case PAD_GPIO_E: level = NX_GPIO_GetInputValue(grp, bit); break; case PAD_GPIO_ALV: level = NX_ALIVE_GetInputValue(bit); break; }; if (level) break; mdelay(1); } if (i == wait) run_command (cmd, 0); }
static void uart_device_init(int hwport) { switch(hwport) { case 0: UART_CHARNNEL_INIT(0);break; case 1: UART_CHARNNEL_INIT(1);break; case 2: UART_CHARNNEL_INIT(2);break; case 3: UART_CHARNNEL_INIT(3);break; case 4: UART_CHARNNEL_INIT(4);break; case 5: UART_CHARNNEL_INIT(5);break; } NX_GPIO_SetPadFunction (PAD_GET_GROUP(uart_port[hwport][0]), uart_port[hwport][1], uart_port[hwport][4] ); // RX NX_GPIO_SetPadFunction (PAD_GET_GROUP(uart_port[hwport][2]), uart_port[hwport][3], uart_port[hwport][4] ); // TX NX_GPIO_SetOutputEnable(PAD_GET_GROUP(uart_port[hwport][0]), uart_port[hwport][1], CFALSE); NX_GPIO_SetOutputEnable(PAD_GET_GROUP(uart_port[hwport][2]), uart_port[hwport][3], CTRUE); }
void disp_lcd_device(int io) { int grp = PAD_GET_GROUP(io); int bit = PAD_GET_BITNO(io); int wait; CBOOL Level = CTRUE; #ifdef CFG_IO_LCD_PWR_ENB_LEVEL Level = CFG_IO_LCD_PWR_ENB_LEVEL #endif NX_GPIO_SetOutputValue(grp, bit, Level); for (wait=0; 100 > wait; wait++) { ; } }