static void gpio_init(void) { /* * Initialize NAND Flash Pins */ __gpio_as_nand(); /* * Initialize SDRAM pins */ __gpio_as_sdram_16bit_4725(); /* * Initialize UART0 pins */ __gpio_as_uart0(); /* * Initialize LCD pins */ __gpio_as_lcd_18bit(); /* * Initialize MSC pins */ __gpio_as_msc(); /* * Initialize SSI pins */ __gpio_as_ssi(); /* * Initialize I2C pins */ __gpio_as_i2c(); /* * Initialize MSC pins */ __gpio_as_msc(); /* * Initialize Other pins */ __gpio_as_input(GPIO_SD_DETECT); __gpio_disable_pull(GPIO_SD_DETECT); }
static void __init board_gpio_setup(void) { /* * Most of the GPIO pins should have been initialized by the boot-loader */ /* * Initialize MSC pins */ __gpio_as_msc(); /* * Initialize LCD pins */ // __gpio_as_lcd_18bit(); /* * Initialize SSI pins */ __gpio_as_ssi(); /* * Initialize I2C pins */ __gpio_as_i2c(); /* * Initialize Other pins */ __gpio_as_output(GPIO_SD_VCC_EN_N); __gpio_clear_pin(GPIO_SD_VCC_EN_N); __gpio_as_input(GPIO_SD_CD_N); __gpio_disable_pull(GPIO_SD_CD_N); // __gpio_as_input(GPIO_SD_WP); // __gpio_disable_pull(GPIO_SD_WP); __gpio_as_input(GPIO_DC_DETE_N); // __gpio_as_input(GPIO_CHARG_STAT_N); __gpio_as_input(GPIO_USB_DETE); __gpio_as_output(GPIO_DISP_OFF_N); // __gpio_as_output(GPIO_LED_EN); }
void i2c_open() { __gpio_as_i2c(); }
void i2c_init(void) { __gpio_as_i2c(); }
void TPanelInit() { int i; unsigned char data1; int retval; /* Disable INT that connected to ATA2508's TINT.*/ __gpio_as_i2c(); __gpio_as_output(TP_KEY_RST); __gpio_set_pin(TP_KEY_RST); mdelay(100); __gpio_clear_pin(TP_KEY_RST); mdelay(800); __gpio_set_pin(TP_KEY_RST); __gpio_mask_irq(TP_KEY_TINT); /* usage : I2C_WRITE( register_address, data);*/ for(i=0; i<13; i++) { data1 = init_data_alpha[i]; write_reg(i, data1); } for(i=13; i<63; i++) { data1 = init_data_burst[i-13]; write_reg(i, data1); } #if 0 for (i = 0; i < 63; i++) { data1 = read_reg(i); printf("REG0x%02x = 0x%02x\n", i, data1); } #endif /*wait for 1 ms*/ mdelay(1); #if 0 while(1) { data1 = read_reg(0x68); printf("REG0x68 = %d\n", data1); data1 = read_reg(0x75); printf("REG0x75 = 0x%02x\n", data1); data1 = read_reg(0x76); printf("REG0x76 = 0x%02x\n", data1); mdelay(2000); } #endif /*to activate all the new settings, give a WARM RESET.*/ write_reg(ADDR_WARM_RESET, 0x00); //ADDR_WARM_RESET=0xFF // printf("the return value of write reg 0xff is %d\n", ret); #if 0 data1 = read_reg(0x68); printf("REG0x68 = %d\n", data1); #endif /*wait for 1 ~ 10 ms.*/ mdelay(10); /*Enable INT that connected to ATA2508's TINT.*/ __gpio_as_irq_rise_edge(TP_KEY_TINT); request_irq(TP_TINT_IRQ, tp_tint_irq, 0); printf("Lyra touch panel register!\n"); // return; // return 0; }
static void gpio_init(void) { REG_GPIO_PXPES(0) = 0xffffffff; REG_GPIO_PXPES(1) = 0xffffffff; REG_GPIO_PXPES(2) = 0xffffffff; REG_GPIO_PXPES(3) = 0xffffffff; /* * Initialize NAND Flash Pins */ __gpio_as_nand(); /* * Initialize SDRAM pins */ __gpio_as_sdram_32bit(); /* * Initialize UART0 pins */ __gpio_as_uart0(); /* * Initialize MSC pins */ __gpio_as_msc(); /* * Initialize LCD pins */ __gpio_as_lcd_16bit(); /* * Initialize I2C pins */ __gpio_as_i2c(); /* * Initialize Other pins */ __gpio_as_output(GPIO_SD_VCC_EN_N); __gpio_clear_pin(GPIO_SD_VCC_EN_N); __gpio_as_input(GPIO_SD_CD_N); __gpio_disable_pull(GPIO_SD_CD_N); __gpio_as_input(GPIO_CHARG_STAT_N); __gpio_as_input(GPIO_USB_DETE); __gpio_as_output(GPIO_LED_EN); __gpio_set_pin(GPIO_LED_EN); __gpio_as_input(GPIO_HP_DETECT); __gpio_disable_pull(GPIO_HP_DETECT); __gpio_as_output(GPIO_DISP_OFF_N); __gpio_as_output(GPIO_LED_EN); __gpio_set_pin(GPIO_LED_EN); __gpio_as_input(127); /* Make sure the external cs8900a won't touch the bus */ __gpio_enable_pull(GPIO_ETH_CS); }