コード例 #1
0
ファイル: fprint.c プロジェクト: carlos-wong/uboot_jz4755
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 */
}
コード例 #2
0
ファイル: llock_drv.c プロジェクト: HackLinux/jz4725
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);
}
コード例 #3
0
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();
		}

}
コード例 #4
0
ファイル: llock_drv.c プロジェクト: HackLinux/jz4725
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);
}
コード例 #5
0
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);
}
コード例 #6
0
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);
}
コード例 #7
0
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;
}
コード例 #8
0
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);
}
コード例 #9
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
//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);
}
コード例 #10
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
//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 */
}
コード例 #11
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
//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 */
}
コード例 #12
0
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);
}
コード例 #13
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
void GPIOSetLevel(BYTE IOPIN, int High)
{
        if (High)
                __gpio_clear_pin(GPIOCvtTbl[IOPIN]);
        else
                __gpio_set_pin(GPIOCvtTbl[IOPIN]);
}
コード例 #14
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
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));
}
コード例 #15
0
ファイル: fprint.c プロジェクト: carlos-wong/uboot_jz4755
void board_led(unsigned char ch)
{
	if (ch)
		__gpio_clear_pin(96); /* led on */
	else
		__gpio_set_pin(96);   /* led off */
}
コード例 #16
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
void GPIO_WIEGAND_LED(BYTE GPIOPIN, BOOL Light)
{
	if (Light)
		__gpio_set_pin(GPIOPIN);
	else
		__gpio_clear_pin(GPIOPIN);
}
コード例 #17
0
ファイル: zem600.c プロジェクト: beealone/fp-firmware
//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 */
}
コード例 #18
0
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");
}
コード例 #19
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
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);
}
コード例 #20
0
/* 
   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;
}
コード例 #21
0
ファイル: 4760mmc.c プロジェクト: MonkeyJacky/ingenic-boot
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();
} 
コード例 #22
0
ファイル: llock_drv.c プロジェクト: HackLinux/jz4725
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);
}
コード例 #23
0
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
}
コード例 #24
0
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
}
コード例 #25
0
ファイル: zem560.c プロジェクト: beealone/fp-firmware
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 */
	}
}
コード例 #26
0
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); */
}
コード例 #27
0
ファイル: board-virgo.c プロジェクト: YJBeetle/virtualnoah
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);
}
コード例 #28
0
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
}
コード例 #29
0
ファイル: qi_lb60.c プロジェクト: AeroGirl/u-boot-kern3.2
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);
}
コード例 #30
0
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);
}