当前位置: 首页>>代码示例>>C++>>正文


C++ GPIO_bit函数代码示例

本文整理汇总了C++中GPIO_bit函数的典型用法代码示例。如果您正苦于以下问题:C++ GPIO_bit函数的具体用法?C++ GPIO_bit怎么用?C++ GPIO_bit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了GPIO_bit函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: corgi_irda_transceiver_mode

/*
 * Irda
 */
static void corgi_irda_transceiver_mode(struct device *dev, int mode)
{
	if (mode & IR_OFF)
		GPSR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON);
	else
		GPCR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON);
}
开发者ID:3sOx,项目名称:asuswrt-merlin,代码行数:10,代码来源:corgi.c

示例2: pxa_gpio_mode

int pxa_gpio_mode(int gpio_mode)
{
	unsigned long flags;
	int gpio = gpio_mode & GPIO_MD_MASK_NR;
	int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
	int gafr;

	if (gpio > pxa_last_gpio)
		return -EINVAL;

	local_irq_save(flags);
	if (gpio_mode & GPIO_DFLT_LOW)
		GPCR(gpio) = GPIO_bit(gpio);
	else if (gpio_mode & GPIO_DFLT_HIGH)
		GPSR(gpio) = GPIO_bit(gpio);
	if (gpio_mode & GPIO_MD_MASK_DIR)
		GPDR(gpio) |= GPIO_bit(gpio);
	else
		GPDR(gpio) &= ~GPIO_bit(gpio);
	gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2));
	GAFR(gpio) = gafr |  (fn  << (((gpio) & 0xf)*2));
	local_irq_restore(flags);

	return 0;
}
开发者ID:bqwd36,项目名称:android-athena,代码行数:25,代码来源:generic.c

示例3: spitz_should_wakeup

static int spitz_should_wakeup(unsigned int resume_on_alarm)
{
    int is_resume = 0;
    int acin = sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_ACIN);

    if (spitz_last_ac_status != acin) {
        if (acin) {
            /* charge on */
            sharpsl_pm.flags |= SHARPSL_DO_OFFLINE_CHRG;
            dev_dbg(sharpsl_pm.dev, "AC Inserted\n");
        } else {
            /* charge off */
            dev_dbg(sharpsl_pm.dev, "AC Removed\n");
            sharpsl_pm_led(SHARPSL_LED_OFF);
            sharpsl_pm.machinfo->charge(0);
            sharpsl_pm.charge_mode = CHRG_OFF;
        }
        spitz_last_ac_status = acin;
        /* Return to suspend as this must be what we were woken for */
        return 0;
    }

    if (PEDR & GPIO_bit(SPITZ_GPIO_KEY_INT))
        is_resume |= GPIO_bit(SPITZ_GPIO_KEY_INT);

    if (PKSR & GPIO_bit(SPITZ_GPIO_SYNC))
        is_resume |= GPIO_bit(SPITZ_GPIO_SYNC);

    if (resume_on_alarm && (PEDR & PWER_RTC))
        is_resume |= PWER_RTC;

    dev_dbg(sharpsl_pm.dev, "is_resume: %x\n",is_resume);
    return is_resume;
}
开发者ID:FatSunHYS,项目名称:OSCourseDesign,代码行数:34,代码来源:spitz_pm.c

示例4: pxa2xx_mfp_suspend

static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state)
{
	int i;

	/* set corresponding PGSR bit of those marked MFP_LPM_KEEP_OUTPUT */
	for (i = 0; i < pxa_last_gpio; i++) {
		if ((gpio_desc[i].config & MFP_LPM_KEEP_OUTPUT) &&
		    (GPDR(i) & GPIO_bit(i))) {
			if (GPLR(i) & GPIO_bit(i))
				PGSR(i) |= GPIO_bit(i);
			else
				PGSR(i) &= ~GPIO_bit(i);
		}
	}

	for (i = 0; i <= gpio_to_bank(pxa_last_gpio); i++) {

		saved_gafr[0][i] = GAFR_L(i);
		saved_gafr[1][i] = GAFR_U(i);
		saved_gpdr[i] = GPDR(i * 32);
		saved_pgsr[i] = PGSR(i);

		GPDR(i * 32) = gpdr_lpm[i];
	}
	return 0;
}
开发者ID:12019,项目名称:android_kernel_samsung_xcover,代码行数:26,代码来源:mfp-pxa2xx.c

示例5: palmtx_pcmcia_hw_init

static int palmtx_pcmcia_hw_init (struct soc_pcmcia_socket *skt)
{
        GPSR(GPIO48_nPOE_MD) =	GPIO_bit(GPIO48_nPOE_MD) |
				GPIO_bit(GPIO49_nPWE_MD) |
				GPIO_bit(GPIO50_nPIOR_MD) |
				GPIO_bit(GPIO51_nPIOW_MD) |
				GPIO_bit(GPIO85_nPCE_1_MD) |
				GPIO_bit(GPIO53_nPCE_2_MD) |
				GPIO_bit(GPIO54_pSKTSEL_MD) |
				GPIO_bit(GPIO55_nPREG_MD) |
				GPIO_bit(GPIO56_nPWAIT_MD) |
				GPIO_bit(GPIO57_nIOIS16_MD);

        pxa_gpio_mode(GPIO48_nPOE_MD);
        pxa_gpio_mode(GPIO49_nPWE_MD);
        pxa_gpio_mode(GPIO50_nPIOR_MD);
        pxa_gpio_mode(GPIO51_nPIOW_MD);
        pxa_gpio_mode(GPIO85_nPCE_1_MD);
        pxa_gpio_mode(GPIO53_nPCE_2_MD);
        pxa_gpio_mode(GPIO54_pSKTSEL_MD);
        pxa_gpio_mode(GPIO55_nPREG_MD);
        pxa_gpio_mode(GPIO56_nPWAIT_MD);
        pxa_gpio_mode(GPIO57_nIOIS16_MD);

	skt->irq = IRQ_GPIO(GPIO_NR_PALMTX_PCMCIA_READY);

	palmtx_pcmcia_dbg("%s:%i, Socket:%d\n", __FUNCTION__, __LINE__, skt->nr);
        return soc_pcmcia_request_irqs(skt, palmtx_socket_state_irqs,
				       ARRAY_SIZE(palmtx_socket_state_irqs));
}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:30,代码来源:palmtx_pcmcia.c

示例6: corgi_measure_temp

static void corgi_measure_temp(int on)
{
	if (on)
		GPSR(CORGI_GPIO_ADC_TEMP_ON) = GPIO_bit(CORGI_GPIO_ADC_TEMP_ON);
	else
		GPCR(CORGI_GPIO_ADC_TEMP_ON) = GPIO_bit(CORGI_GPIO_ADC_TEMP_ON);
}
开发者ID:Indigenous,项目名称:linux-2.6,代码行数:7,代码来源:corgi_pm.c

示例7: pm_do_poweroff

void pm_do_poweroff(void)
{
	unsigned long start, flags;

	PWER &= ~0x8000ffff;
	local_irq_save(flags);
	printk("Poweroff, Begin to wait BP_RDY signal.\n");
	pm_send_all(PM_SUSPEND, (void *)3);

	start = OSCR;
	*(unsigned long *)(phys_to_virt(BPSIG_ADDR)) = NO_FLAG;
	do {
		if( !(GPLR(GPIO_BP_RDY) & GPIO_bit(GPIO_BP_RDY))){
			printk(KERN_DEBUG"got BP_RDY signal.\n");
			
			GPDR(GPIO_WDI_AP) |= GPIO_bit(GPIO_WDI_AP);
			GPCR(GPIO_WDI_AP) = GPIO_bit(GPIO_WDI_AP);
			while(1);
		}

		if ((OSCR - start) >= POWER_OFF_TIMEOUT) {
			printk(KERN_DEBUG "timeout when power down\n");
			mdelay(1);
			GPDR(GPIO_WDI_AP) |= GPIO_bit(GPIO_WDI_AP);
			GPCR(GPIO_WDI_AP) = GPIO_bit(GPIO_WDI_AP);
			while(1);
		}
		
	} while(1);
					
	pm_do_useroff();
	printk(KERN_DEBUG "resume from useroff\n");
	pm_send_all(PM_SUSPEND, (void *)0);
	local_irq_restore(flags);	
}
开发者ID:muromec,项目名称:linux-ezxdev,代码行数:35,代码来源:apm.c

示例8: dsp_reset

int dsp_reset(struct inode *inode, struct file *file, unsigned cmd,unsigned long arg)
{
	/* ignore any argument, just do reset here */
	/* raise reset */
	GPSR(73) |= GPIO_bit(73);
	
/*	udelay(1); DAVEDE */ /* wait 1/7.3728MHz = 135.6ns (par 11.13.4) */

	/* sleep 1/10 second */
  set_current_state(TASK_INTERRUPTIBLE);
	schedule_timeout(HZ/10);

/* Same PIOs of sa1110 */
	GPSR(19) |= GPIO_bit(19);
	GPCR(17) |= GPIO_bit(17);

	/* sleep 2/10 second */
  set_current_state(TASK_INTERRUPTIBLE);
	schedule_timeout(2*HZ/10);
	/* lower reset */
	GPCR(73) |= GPIO_bit(73);
	
  set_current_state(TASK_INTERRUPTIBLE);
	schedule_timeout(2*HZ/10);

  writew(DSP_BOB, (unsigned short *)dsp_iopage); // little endian

	return 0;
}
开发者ID:bticino,项目名称:linux-2.4.19-rmk7-pxa2-btweb,代码行数:29,代码来源:btweb_dsp.c

示例9: init_module

static int init_module(void)
{
/*	u32 reg; */
	int result=1;

	result = misc_register(&dsp_misc);

	printk("btpxa_dsp 2.0: dsp_init\n"); 

	if (result)
		printk("btweb: can't register /dev/dsp (error %i)\n",
		       result);
/*	reg = GPDR; */
/*	printk("btweb: dsp_init reg=%x letto\n",reg); DAVEDE */
/*	reg &= ~GPIO_GPIO(1); */ /* GPIO1 is input */
	GPDR(1) &= ~GPIO_bit(1);  /* TODO: Da mettere nel boot loader */
  
/*	reg |= GPIO_GPIO(17) | GPIO_GPIO(19); */ /* 17 and 19 are output DAVEDE */   

/* TODO: Da mettere nel boot loader */
	GPDR(19) |= GPIO_bit(19); 
	GPDR(17) |= GPIO_bit(17); 
	GPDR(73) |= GPIO_bit(73); 

/*	GPDR = reg; */
/*	printk("btweb: dsp_init reg=%x scritto\n",reg); DAVEDE */

/* TODO: Da mettere nel boot loader */
        MCIO0 = 0x00018103;
	MCIO1 = 0x00018103;
	MECR =  0x00000001;

	return result;
}
开发者ID:bticino,项目名称:linux-2.4.19-rmk7-pxa2-btweb,代码行数:34,代码来源:btweb_dsp.c

示例10: corgi_discharge

static void corgi_discharge(int on)
{
	if (on)
		GPSR(CORGI_GPIO_DISCHARGE_ON) = GPIO_bit(CORGI_GPIO_DISCHARGE_ON);
	else
		GPCR(CORGI_GPIO_DISCHARGE_ON) = GPIO_bit(CORGI_GPIO_DISCHARGE_ON);
}
开发者ID:Indigenous,项目名称:linux-2.6,代码行数:7,代码来源:corgi_pm.c

示例11: poodle_irda_transceiver_mode

/*
 * Irda
 */
static void poodle_irda_transceiver_mode(struct device *dev, int mode)
{
	if (mode & IR_OFF) {
		GPSR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON);
	} else {
		GPCR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON);
	}
}
开发者ID:ena30,项目名称:snake-os,代码行数:11,代码来源:poodle.c

示例12: corgiled_amber_set

static void corgiled_amber_set(struct led_classdev *led_cdev,
			       enum led_brightness value)
{
	if (value)
		GPSR0 = GPIO_bit(CORGI_GPIO_LED_ORANGE);
	else
		GPCR0 = GPIO_bit(CORGI_GPIO_LED_ORANGE);
}
开发者ID:maraz,项目名称:linux-2.6,代码行数:8,代码来源:leds-corgi.c

示例13: cmx270_green_set

static void cmx270_green_set(struct led_classdev *led_cdev,
			     enum led_brightness value)
{
	if (value)
		GPCR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED);
	else
		GPSR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED);
}
开发者ID:PennPanda,项目名称:linux-repo,代码行数:8,代码来源:leds-cm-x270.c

示例14: gpio_set

static void gpio_set(int id, int on)
{
	do {
		if (on)
			GPSR(id) = GPIO_bit(id);
		else
			GPCR(id) = GPIO_bit(id);
	} while (0);
}
开发者ID:fourks,项目名称:tools,代码行数:9,代码来源:gpioed.c

示例15: turn_off_gpio

void turn_off_gpio(int gpio) {
	set_GPIO_mode(gpio | GPIO_OUT);
	GPCR(gpio) = GPIO_bit(gpio);
	if (GPLR(gpio) & GPIO_bit(gpio)) {
		PDEBUG("LED gpio %d on\n", gpio);
	} else {
		PDEBUG("LED gpio %d off\n", gpio);
	}
}
开发者ID:pallotron,项目名称:colibri-gpo,代码行数:9,代码来源:gpio-pulse.c


注:本文中的GPIO_bit函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。