本文整理汇总了C++中GPIO_BIT函数的典型用法代码示例。如果您正苦于以下问题:C++ GPIO_BIT函数的具体用法?C++ GPIO_BIT怎么用?C++ GPIO_BIT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GPIO_BIT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gpio_get_cfg
static int gpio_get_cfg(int gpio)
{
struct s5p_gpio_bank *bank = gpio_get_bank(gpio);
int shift = GPIO_BIT(gpio) << 2;
return (readl(&bank->con) & CON_MASK(GPIO_BIT(gpio))) >> shift;
}
示例2: stm32_gpio_digital_write
void stm32_gpio_digital_write(int pin, int value)
{
if (value)
GPIO_SetBits(GPIO_PORT(pin), GPIO_BIT(pin));
else
GPIO_ResetBits(GPIO_PORT(pin), GPIO_BIT(pin));
}
示例3: pxa_gpio_set
void
pxa_gpio_set(int gpio, int on)
{
if (on)
GPSR(gpio) = GPIO_BIT(gpio);
else
GPCR(gpio) = GPIO_BIT(gpio);
}
示例4: gpio_cfg_pin
void gpio_cfg_pin(int gpio, int cfg)
{
unsigned int value;
struct s5p_gpio_bank *bank = gpio_get_bank(gpio);
value = readl(&bank->con);
value &= ~CON_MASK(GPIO_BIT(gpio));
value |= CON_SFR(GPIO_BIT(gpio), cfg);
writel(value, &bank->con);
}
示例5: gpio_set_value
void gpio_set_value(int gp, int value)
{
struct davinci_gpio *bank;
bank = GPIO_BANK(gp);
if (value)
bank->set_data = 1U << GPIO_BIT(gp);
else
bank->clr_data = 1U << GPIO_BIT(gp);
}
示例6: gpio_set_value
int gpio_set_value(unsigned gpio, int value)
{
struct davinci_gpio *bank;
bank = GPIO_BANK(gpio);
if (value)
bank->set_data = 1U << GPIO_BIT(gpio);
else
bank->clr_data = 1U << GPIO_BIT(gpio);
return 0;
}
示例7: GetPin
LEVEL CGpio::GetPin(GPIO_GROUP group, int num)
{
volatile ULONG *pDAT = (volatile ULONG *)GetDat(group);
if(pDAT == NULL) return ERROR;
// SetDir(group, num, GPIO_IN);
if((*pDAT & GPIO_BIT(num)) == GPIO_BIT(num))
return HIGH;
else
return LOW;
}
示例8: gpio_set_value
int gpio_set_value(unsigned gpio, int value)
{
unsigned int val;
struct s5p_gpio_bank *bank = gpio_get_bank(gpio);
val = readl(&bank->dat);
val &= ~DAT_MASK(GPIO_BIT(gpio));
if (value)
val |= DAT_SET(GPIO_BIT(gpio));
writel(val, &bank->dat);
return 0;
}
示例9: gpio_amlogic_direction_output
int gpio_amlogic_direction_output(struct gpio_chip *chip,unsigned offset, int value)
{
unsigned int reg,bit;
if(offset==GPIO_BSD_EN){
aml_clr_reg32_mask(P_PREG_PAD_GPIO0_O,1<<29);
#ifndef CONFIG_MESON_TRUSTZONE
aml_set_reg32_mask(P_AO_SECURE_REG0,1<<0);
#else
meson_secure_reg_write(P_AO_SECURE_REG0, meson_secure_reg_read(P_AO_SECURE_REG0) | (1<<0));
#endif
if(value)
aml_set_reg32_mask(P_PREG_PAD_GPIO0_O,1<<31);//out put high
else
aml_clr_reg32_mask(P_PREG_PAD_GPIO0_O,1<<31);//out put low
aml_clr_reg32_mask(P_PREG_PAD_GPIO0_O,1<<30);//out put enable
return 0;
}
if(offset==GPIO_TEST_N){
if(value)
aml_set_reg32_mask(P_AO_GPIO_O_EN_N,1<<31);//out put high
else
aml_clr_reg32_mask(P_AO_GPIO_O_EN_N,1<<31);//out put low
#ifndef CONFIG_MESON_TRUSTZONE
aml_set_reg32_mask(P_AO_SECURE_REG0,1);// out put enable
#else
meson_secure_reg_write(P_AO_SECURE_REG0, meson_secure_reg_read(P_AO_SECURE_REG0) | (1<<0));
#endif
return 0;
}
if(value){
reg=GPIO_REG(amlogic_pins[offset].out_value_reg_bit);
bit=GPIO_BIT(amlogic_pins[offset].out_value_reg_bit);
aml_set_reg32_mask(p_gpio_output_addr[reg],1<<bit);
gpio_print("out reg=%x,value=%x\n",p_gpio_output_addr[reg],aml_read_reg32(p_gpio_output_addr[reg]));
}
else{
reg=GPIO_REG(amlogic_pins[offset].out_value_reg_bit);
bit=GPIO_BIT(amlogic_pins[offset].out_value_reg_bit);
aml_clr_reg32_mask(p_gpio_output_addr[reg],1<<bit);
gpio_print("out reg=%x,value=%x\n",p_gpio_output_addr[reg],aml_read_reg32(p_gpio_output_addr[reg]));
}
reg=GPIO_REG(amlogic_pins[offset].out_en_reg_bit);
bit=GPIO_BIT(amlogic_pins[offset].out_en_reg_bit);
aml_clr_reg32_mask(p_gpio_oen_addr[reg],1<<bit);
gpio_print("==%s==%d\n",__FUNCTION__,__LINE__);
gpio_print("oen reg=%x,value=%x\n",p_gpio_oen_addr[reg],aml_read_reg32(p_gpio_oen_addr[reg]));
gpio_print("value=%d\n",value);
return 0;
}
示例10: gpio_direction_output
int gpio_direction_output(unsigned gpio, int value)
{
unsigned int val;
struct s5p_gpio_bank *bank = gpio_get_bank(gpio);
gpio_cfg_pin(gpio, EXYNOS_GPIO_OUTPUT);
val = readl(&bank->dat);
val &= ~DAT_MASK(GPIO_BIT(gpio));
if (value)
val |= DAT_SET(GPIO_BIT(gpio));
writel(val, &bank->dat);
return 0;
}
示例11: stm32_gpio_set_pin_mode
int stm32_gpio_set_pin_mode(int pin, gpio_pin_mode_t mode)
{
GPIO_InitTypeDef GPIO_InitStructure;
STM32_GPIO_PERIPH_ENABLE(GPIO_PERIPH(pin));
GPIO_InitStructure.GPIO_Pin = GPIO_BIT(pin);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/* XXX: not all pins are actually available */
switch (mode)
{
case GPIO_PM_INPUT:
STM32_GPIO_PIN_TYPE_IN(GPIO_InitStructure);
GPIO_Init(GPIO_PORT(pin), &GPIO_InitStructure);
break;
case GPIO_PM_OUTPUT:
STM32_GPIO_PIN_TYPE_OUT(GPIO_InitStructure);
GPIO_Init(GPIO_PORT(pin), &GPIO_InitStructure);
break;
case GPIO_PM_INPUT_PULLUP:
STM32_GPIO_PIN_TYPE_IN_PU(GPIO_InitStructure);
GPIO_Init(GPIO_PORT(pin), &GPIO_InitStructure);
break;
case GPIO_PM_INPUT_PULLDOWN:
STM32_GPIO_PIN_TYPE_IN_PD(GPIO_InitStructure);
GPIO_Init(GPIO_PORT(pin), &GPIO_InitStructure);
break;
default:
tp_err("Pinmode %d is not supported yet\n", mode);
return -1;
}
return 0;
}
示例12: __gpio_set
void __gpio_set(int gpio, u32 value)
{
int port = GPIO_PORT(gpio);
int bit = GPIO_BIT(gpio);
writel(value, __GPIO_BASE(port) + (0x4 << bit));
}
示例13: pnx4008_gpio_unregister_pin
int pnx4008_gpio_unregister_pin(unsigned short pin)
{
unsigned long bit = GPIO_BIT(pin);
int ret = -EFAULT; /* Not registered */
gpio_lock();
if (GPIO_ISBID(pin)) {
if (~access_map[GPIO_INDEX] & bit)
goto out;
access_map[GPIO_INDEX] &= ~bit;
} else if (GPIO_ISRAM(pin)) {
if (~access_map[GPIO_INDEX] & bit)
goto out;
access_map[GPIO_INDEX] &= ~bit;
} else if (GPIO_ISMUX(pin)) {
if (~access_map[MUX_INDEX] & bit)
goto out;
access_map[MUX_INDEX] &= ~bit;
} else if (GPIO_ISOUT(pin)) {
if (~access_map[OUTP_INDEX] & bit)
goto out;
access_map[OUTP_INDEX] &= ~bit;
} else if (GPIO_ISIN(pin)) {
if (~access_map[INP_INDEX] & bit)
goto out;
access_map[INP_INDEX] &= ~bit;
} else
goto out;
ret = 0;
out:
gpio_unlock();
return ret;
}
示例14: __gpio_get
/* The following functions don't check the gpio value, for speed */
u32 __gpio_get(int gpio)
{
int port = GPIO_PORT(gpio);
int bit = GPIO_BIT(gpio);
return readl(__GPIO_DAT(port)) & (1 << bit);
}
示例15: gumstix_init
static int __init gumstix_init(void)
{
printk("gumstix_init: Initialising board...\n");
pxa_map_io();
pxa_generic_init();
/* Set up nPWE */
pxa_gpio_mode(GPIO49_nPWE_MD);
/* Set up the chip selects */
pxa_gpio_mode(GPIO15_nCS_1_MD);
(void) platform_add_devices(devices, ARRAY_SIZE(devices));
pxa_gpio_func(36, GPIO_MODE, GPIO_IN);
/* Set rising edge detect for GPIO 36 */
GFER(36) &= ~GPIO_BIT(36);
GRER(36) |= (GPIO_BIT(36));
/* We assume that the bootloader has set up the rest for us */
// set_irq_type(IBOX_ETH_IRQ, IRQT_RISING);
return 0;
}