static void gpio_init(void) { __gpio_as_output(96); /* board led */ __gpio_as_output(104); /* cim */ __gpio_as_output(105); /* lcd module backlight */ __gpio_as_output(106); /* ac97 */ __gpio_as_output(107); /* uart */ __gpio_clear_pin(104); /* enable cim power */ __gpio_clear_pin(105); /* turn on lcd module backlight */ __gpio_set_pin(106); /* ac97 enable */ __gpio_set_pin(107); /* uart enable */ __gpio_as_uart0(); __gpio_as_uart1(); __gpio_as_uart2(); __gpio_as_uart3(); __gpio_as_emc(); __gpio_as_lcd_master(); __gpio_as_usb(); __gpio_as_ac97(); __gpio_as_cim(); __gpio_as_eth(); __harb_usb0_uhc(); /* USB port 0 as host port */ }
void Write373_2(U8 val, U8 mask) { static U8 old_data = 0; U8 data; U8 tmp = 0; data = old_data; data &= ~mask; tmp = val & mask; data |= tmp; old_data = data; __gpio_as_output(LE_373_2); __gpio_clear_pin(LE_373_2); __gpio_clear_pin(LE_373_2); __gpio_clear_port(2) = 0xff; __gpio_set_port(2) = old_data; __gpio_set_pin(LE_373_2); __gpio_set_pin(LE_373_2); __gpio_set_pin(LE_373_2); __gpio_clear_pin(LE_373_2); }
int board_private_init(void) { unsigned int signature = 0; /*add board privater gpio here ,it while be called by boot_main to nitialization*/ /*init GPIO_KEYPAD_5x5*/ __gpio_clear_pin(GPIO_COL0); __gpio_as_output(GPIO_COL0); __gpio_set_pin(GPIO_ROW0); __gpio_as_output(GPIO_ROW0); __gpio_clear_pin(GPIO_COL2); __gpio_as_output(GPIO_COL2); __gpio_clear_pin(GPIO_COL3); __gpio_as_output(GPIO_COL3); __gpio_clear_pin(GPIO_COL4); __gpio_as_output(GPIO_COL4); /*Add for the hibernate function and the other function*/ /*Do first battery set up detect and then hibernate or power on*/ if ((REG_RTC_HWRSR & 0x10)){ serial_puts_info("Ready to into hibernate mode ... \n"); jz_pm_do_hibernate(); } /*Check the recovery signature,if exist,skip the charge_detect func.*/ signature = cpm_get_scrpad(); if ((signature == RECOVERY_SIGNATURE) || (signature == RECOVERY_SIGNATURE_SEC)) { if (signature == RECOVERY_SIGNATURE_SEC) cpm_set_scrpad(0); goto skip_chgdet; } /*Usb Cable detection ,If connected ,then do charge else skip it*/ if(charge_detect()){ charge_logo_display(); } /* * enable vibrator to tell user power on. */ __gpio_set_pin(32*5+10); __gpio_as_output(32*5+10); mdelay(100); __gpio_clear_pin(32*5+10); skip_chgdet: /*Before Enter the system,check the battery status, If low battery,then Enter the hibernate mode */ while(low_battery_detect() && !charge_detect()){ low_battery_warning(); jz_pm_do_hibernate(); } }
void llock_gpio_init(void) { L3000PortInit(); OLED_PIN_INIT(); __gpio_as_input(PIN_KEY_DEL); __gpio_as_output(LE_373_1); __gpio_clear_pin(LE_373_1); //__gpio_as_output(LE_373_2); //__gpio_clear_pin(LE_373_2); //__gpio_as_output(LE_244); //__gpio_set_pin(LE_244); __gpio_set_pin(OLED_PIN_DATA0); __gpio_set_pin(OLED_PIN_DATA0+1); __gpio_set_pin(OLED_PIN_DATA0+2); __gpio_set_pin(OLED_PIN_DATA0+3); __gpio_set_pin(OLED_PIN_DATA0+4); __gpio_set_pin(OLED_PIN_DATA0+5); __gpio_set_pin(OLED_PIN_DATA0+6); __gpio_set_pin(OLED_PIN_DATA0+7); __gpio_as_output(MTRPWR_EN); __gpio_set_pin(MTRPWR_EN); __gpio_as_input(GP_KEYSCAN); Write373(1, LEDR); Write373(1, LEDG); Write373(1, BEEP); }
static void inline set_lcd_power_on(void) { /*Enable lcd power by act8600 or gpio*/ __gpio_as_output(GPIO_LCD_POWERON); __gpio_set_pin(GPIO_LCD_POWERON); __gpio_as_output(GPIO_LCD_DISP_N); __gpio_clear_pin(GPIO_LCD_DISP_N); mdelay(50); __gpio_set_pin(GPIO_LCD_DISP_N); }
void cm3511_power_up(void) { #if defined(CONFIG_JZ4750_AQUILA) __gpio_as_output(4*32+23); __gpio_set_pin(4*32+23); #elif defined(CONFIG_JZ4760_ALTAIR) __gpio_as_output(0*32+27); /* GPA27 */ __gpio_set_pin(0*32+27); #elif defined(CONFIG_JZ4760_LEPUS) __gpio_as_output(32 * 1 + 27); /* GPB27 */ __gpio_set_pin(32 * 1 + 27); #endif mdelay(5); }
static void _display_pin_init(void) { my__gpio_as_lcd_16bit(); __gpio_as_output(PIN_CS_N); __gpio_as_output(PIN_RESET_N); __gpio_clear_pin(PIN_CS_N); __gpio_set_pin(PIN_RESET_N); DELAY; __gpio_clear_pin(PIN_RESET_N); DELAY; __gpio_set_pin(PIN_RESET_N); DELAY; }
void ov3640_power_down(void) { dprintk("=======%s:%d\n", __FUNCTION__, __LINE__); #if defined(CONFIG_JZ4750_AQUILA) __gpio_as_output(4*32+23); __gpio_set_pin(4*32+23); #elif defined(CONFIG_JZ4760_ALTAIR) __gpio_as_output(0*32+27); /* GPA27 */ __gpio_set_pin(0*32+27); #elif defined(CONFIG_JZ4760_LEPUS) __gpio_as_output(32 * 1 + 27); /* GPB27 */ __gpio_set_pin(32 * 1 + 27); #endif mdelay(5); }
//H/W exist some problems, so don't use it, we will fixed it on the next version void GPIO_AC97_Mute(BOOL Switch) { if (Switch) __gpio_clear_pin(AC97_CTL); else __gpio_set_pin(AC97_CTL); }
//control SENSOR ON or OFF void GPIO_HY7131_Power(BOOL Switch) { if (Switch) __gpio_clear_pin(USB_POWER_PIN); /* output low level */ else __gpio_set_pin(USB_POWER_PIN); /* output high level */ }
//control the USB0 power/LCD backgound light void GPIO_LCD_USB0_Power(BOOL Switch) { if (Switch) __gpio_clear_pin(LCM_BACK_LIGHT); /* output low level */ else __gpio_set_pin(LCM_BACK_LIGHT); /* output high level */ }
void lcd_board_init(void) { u32 val; __gpio_as_output(DISPOFF); __gpio_set_pin(LCD_RESET); __gpio_as_output(LCD_RESET); __gpio_clear_pin(LCD_RESET); udelay(1000); __gpio_set_pin(LCD_RESET); __lcd_set_backlight_level(50); __tcu_start_counter(4); __tcu_enable_pwm_output(4); __gpio_set_pin(DISPOFF); }
void GPIOSetLevel(BYTE IOPIN, int High) { if (High) __gpio_clear_pin(GPIOCvtTbl[IOPIN]); else __gpio_set_pin(GPIOCvtTbl[IOPIN]); }
void GPIOSetLevel(BYTE IOPIN, int High) { if (High) __gpio_clear_pin(IO_DOOR_SENSOR-(IOPIN&0x0f)); else __gpio_set_pin(IO_DOOR_SENSOR-(IOPIN&0x0f)); }
void board_led(unsigned char ch) { if (ch) __gpio_clear_pin(96); /* led on */ else __gpio_set_pin(96); /* led off */ }
void GPIO_WIEGAND_LED(BYTE GPIOPIN, BOOL Light) { if (Light) __gpio_set_pin(GPIOPIN); else __gpio_clear_pin(GPIOPIN); }
//void GPIO_TFT_BACK_LIGHT(BOOL Switch) void GPIO_TFT_BACK_LIGHT(BOOL Switch,int mode) { if (Switch) __gpio_clear_pin(TFT_BACK_LIGHT); /* output low level */ else __gpio_set_pin(TFT_BACK_LIGHT); /* output high level */ }
void kfm701a21_1a_panel_display_pin_init(void) { __gpio_as_output(LCD_RESET_PIN); __gpio_as_output(LCD_CS_PIN); __gpio_clear_pin(LCD_CS_PIN); mdelay(20); __gpio_set_pin(LCD_RESET_PIN); mdelay(10); __gpio_clear_pin(LCD_RESET_PIN); mdelay(10); __gpio_set_pin(LCD_RESET_PIN); mdelay(80); serial_puts_info("kfm701a21_1a panel display pin init\n"); }
void GPIO_RS485_Status(U32 SendMode) { if (SendMode) __gpio_set_pin(RS485_SEND); /* output high level */ else __gpio_clear_pin(RS485_SEND); /* output low level */ DelayUS(1000); }
/* For Display ON / OFF. Enablie / Disable Backlight / PWM Here. */ static int auo_panel_on(struct jz_fb_ot_info *ot) { D("Called."); __gpio_set_pin(GPIO_LCD_PWM); __gpio_as_output(GPIO_LCD_PWM); return 0; }
static void mmc_power_on() { if(power_off_level > 0) __gpio_clear_pin(mmc_power_pin); else __gpio_set_pin(mmc_power_pin); mmc_init_gpio(); }
void Write373(U8 val, U8 mask) { static U8 old_data = 0; U8 tmp = 0; if(val) old_data |= mask; else old_data &= ~mask; __gpio_clear_pin(LE_373_1); __gpio_clear_pin(LE_373_1); __gpio_clear_port(2) = 0xff << 8; __gpio_set_port(2) = old_data << 8; __gpio_set_pin(LE_373_1); __gpio_set_pin(LE_373_1); __gpio_set_pin(LE_373_1); __gpio_clear_pin(LE_373_1); }
void ov3640_reset(void) { #if defined(CONFIG_JZ4750_AQUILA) __gpio_as_output(5*32+23); /* GPIO_IO_SWETCH_EN */ __gpio_clear_pin(5*32+23); __gpio_as_output(2*32+31); /* GPIO_BOOTSEL1 for camera rest*/ __gpio_set_pin(2*32+31); mdelay(5); __gpio_clear_pin(2*32+31); mdelay(5); __gpio_set_pin(2*32+31); #else dprintk("=======%s:%d\n", __FUNCTION__, __LINE__); __gpio_as_output(GPIO_CAMERA_RST); __gpio_clear_pin(GPIO_CAMERA_RST); mdelay(50); __gpio_set_pin(GPIO_CAMERA_RST); mdelay(50); #endif }
void cm3511_reset(void) { #if defined(CONFIG_JZ4750_AQUILA) __gpio_as_output(5*32+23); /* GPIO_IO_SWETCH_EN */ __gpio_clear_pin(5*32+23); __gpio_as_output(2*32+31); /* GPIO_BOOTSEL1 for camera rest*/ __gpio_set_pin(2*32+31); mdelay(5); __gpio_clear_pin(2*32+31); mdelay(5); __gpio_set_pin(2*32+31); #else __gpio_as_output(GPIO_CAMERA_RST); mdelay(50); __gpio_clear_pin(GPIO_CAMERA_RST); mdelay(50); __gpio_set_pin(GPIO_CAMERA_RST); mdelay(50); #endif }
void GPIO__USB_Host(BOOL Switch) { if (Switch) { __gpio_set_pin(USB_HOST_CTL); /* output high level */ } else { __gpio_clear_pin(USB_HOST_CTL); /* output low level */ } }
static void _display_pin_init(void) { int i; my__gpio_as_lcd_16bit(); __gpio_as_output(PIN_UNK_N); __gpio_set_pin(PIN_UNK_N); __gpio_as_output(PIN_CS_N); __gpio_as_output(PIN_RESET_N); DELAY; /* delay_ms(10); */ __gpio_clear_pin(PIN_CS_N); DELAY; /* delay_ms(10); */ __gpio_set_pin(PIN_RESET_N); DELAY; /* delay_ms(10); */ __gpio_clear_pin(PIN_RESET_N); DELAY; /* delay_ms(10); */ __gpio_set_pin(PIN_RESET_N); DELAY; /* delay_ms(10); */ }
static void dancing(void) { static unsigned int count = 0; count ++; count &= 1; if (count) __gpio_set_pin(GPIO_LED_EN); else __gpio_clear_pin(GPIO_LED_EN); }
void lcd_ctrl_init(void *lcdbase) { __lcd_close_backlight(); __lcd_display_pin_init(); #if defined(CONFIG_ANDROID_LCD_PROBE) __gpio_disable_pull(GPIO_LCD_PWR_N); __gpio_clear_pin(GPIO_LCD_PWR_N); __gpio_as_output(GPIO_LCD_PWR_N); msdelay(50); __gpio_set_pin(LCD_RESET_PIN); msdelay(1); __gpio_clear_pin(LCD_RESET_PIN); msdelay(10); __gpio_set_pin(LCD_RESET_PIN); msdelay(100); Jz_LcdProbe(); // __gpio_clear_pin(LCD_RESET_PIN); // mdelay(10); // __gpio_set_pin(LCD_RESET_PIN); // mdelay(100); #endif jz_lcd_init_mem(lcdbase, &panel_info); jz_lcd_desc_init(&panel_info); jz_lcd_hw_init(&panel_info); board_lcd_board_init(); // __lcd_display_on(); // lcd_enable(); #ifdef DEBUG serial_puts_info("***************************LCDC INFO****************************\n"); serial_puts_msg("lcdbase = "); dump_uint(lcdbase); serial_puts_msg(" vl_bpix = "); dump_uint(panel_info.vl_bpix); serial_puts_msg(" \n"); print_lcdc_desc(&panel_info); #endif }
static void gpio_init(void) { unsigned int i; /* Initialize NAND Flash Pins */ __gpio_as_nand(); /* Initialize SDRAM pins */ __gpio_as_sdram_16bit_4720(); /* Initialize LCD pins */ __gpio_as_lcd_18bit(); /* Initialize MSC pins */ __gpio_as_msc(); /* Initialize Other pins */ for (i = 0; i < 7; i++) { __gpio_as_input(GPIO_KEYIN_BASE + i); __gpio_enable_pull(GPIO_KEYIN_BASE + i); } for (i = 0; i < 8; i++) { __gpio_as_output(GPIO_KEYOUT_BASE + i); __gpio_clear_pin(GPIO_KEYOUT_BASE + i); } __gpio_as_input(GPIO_KEYIN_8); __gpio_enable_pull(GPIO_KEYIN_8); /* enable the TP4, TP5 as UART0 */ __gpio_jtag_to_uart0(); __gpio_as_output(GPIO_AUDIO_POP); __gpio_set_pin(GPIO_AUDIO_POP); __gpio_as_output(GPIO_LCD_CS); __gpio_clear_pin(GPIO_LCD_CS); __gpio_as_output(GPIO_AMP_EN); __gpio_clear_pin(GPIO_AMP_EN); __gpio_as_output(GPIO_SDPW_EN); __gpio_disable_pull(GPIO_SDPW_EN); __gpio_clear_pin(GPIO_SDPW_EN); __gpio_as_input(GPIO_SD_DETECT); __gpio_disable_pull(GPIO_SD_DETECT); __gpio_as_input(GPIO_USB_DETECT); __gpio_enable_pull(GPIO_USB_DETECT); }
void lcd_set_target(int x, int y, int width, int height) { SLCD_SEND_COMMAND(0x50, y); SLCD_SEND_COMMAND(0x51, y+height-1); SLCD_SEND_COMMAND(0x52, x); SLCD_SEND_COMMAND(0x53, x+width-1); /* TODO */ __gpio_clear_pin(PIN_UNK_N); SLCD_SET_COMMAND(0x22); WAIT_ON_SLCD; __gpio_set_pin(PIN_UNK_N); }