static void gpio_init(void) { /* * Initialize SDRAM pins */ #if CONFIG_NR_DRAM_BANKS == 2 /*Use Two Banks SDRAM*/ __gpio_as_sdram_x2_32bit(); #else __gpio_as_sdram_32bit(); #endif #ifdef CONFIG_MSC_U_BOOT if(CFG_NAND_IS_SHARE) REG_EMC_BCR &= ~EMC_BCR_BSR_UNSHARE; else REG_EMC_BCR |= EMC_BCR_BSR_UNSHARE; __gpio_as_nand_8bit(1); #endif /* * Initialize lcd pins */ __gpio_as_lcd_18bit(); /* * Initialize UART pins */ __gpio_as_uart3(); }
void init_gpio(void) { #if defined(CONFIG_JZ4760_CRATER) //volatile int i=10000000; /* set lcd function pin to low to avoid powering up lcd partially. */ __gpio_clear_lcd_24bit(); __gpio_as_output(GPIO_LCD_DISP_N); __gpio_clear_pin(GPIO_LCD_DISP_N); //while(i--); //__gpio_as_output(GPIO_LCD_VCC_EN_N); //__gpio_set_pin(GPIO_LCD_VCC_EN_N); #endif #if defined(CONFIG_JZ4760_Z800) /* * In z800 board PA30 is used as charge enable, we need to enable * it before start system as a default. */ __gpio_clear_pin(32*0+27); __gpio_as_output(32*0+27); #endif /* Init nand pins */ #if (CFG_NAND_BW8 == 1) __gpio_as_nand_8bit(1); #else __gpio_as_nand_16bit(1); #endif /*Init lcd pins*/ #if defined(CONFIG_JZ4760_ANDROID_LCD_TRULY_TFT_ER61581) __gpio_as_lcd_16bit(); #elif defined(CONFIG_JZ4760_ANDROID_LCD_YUE_TFT_YL10922NT) __gpio_as_lcd_16bit(); #elif defined(CONFIG_JZ4760_PT701_8) || defined(CONFIG_JZ4760_PT701) || defined(CONFIG_JZ4760_TABLET_P2) || defined(CONFIG_JZ4760_LEPUS) || defined(CONFIG_JZ4760_PX7_2R) || defined(CONFIG_JZ4760_TABLET_8II) __gpio_as_lcd_24bit(); #elif defined(CONFIG_JZ4760_ANDROID_LCD_PROBE) __gpio_as_lcd_16bit(); #endif /* * Initialize UART1 pins */ #if CFG_UART_BASE == UART0_BASE __gpio_as_uart0(); #elif CFG_UART_BASE == UART1_BASE __gpio_as_uart1(); #elif CFG_UART_BASE == UART2_BASE __gpio_as_uart2(); #else /* CFG_UART_BASE == UART1_BASE */ __gpio_as_uart3(); #endif #if defined(CONFIG_JZ4760_PT701_8) __gpio_clear_pin(GPIO_SPK_EN); // close speaker #endif }