Esempio n. 1
0
int gpio_out_status(char *name,int bit,uint32_t ghigh)
{
	bool high;
		uint32_t pin;
		char cmd[10];
		sprintf(cmd,"GPIO%s_%d",name,bit);
		pin = get_pin_num(cmd);
		printk(KERN_DEBUG "cmd=%s pin = %d ghigh = %d\n",cmd,pin,ghigh);
		if(pin != -1){
			if(ghigh == 1){
				high = true;
					return gpio_out(pin,high);
			}
			else if(ghigh == 0){
				high = false;
					return gpio_out(pin,high);
			}
			else if(ghigh == -1)
			{
				return gpio_get_val(pin);
			}
			else{
				printk(KERN_ERR "enter error!\n");
			}
		}
		else{
			printk(KERN_ERR "you input error!\n");
			return -1;
		}
	return 0;
}
Esempio n. 2
0
uint16_t GpioController_Read(uint16_t gpio_num)
{
	uint16_t gpio_bank = get_bank_num(gpio_num);
	uint16_t gpio_pin = get_pin_num(gpio_num);
	return GpioDriver_Read(gpioDrivers[gpio_bank], gpio_pin);
}
Esempio n. 3
0
void GpioController_SetDir(uint16_t gpio_num, uint16_t gpio_dir)
{
	uint16_t gpio_bank = get_bank_num(gpio_num);
	uint16_t gpio_pin = get_pin_num(gpio_num);
	GpioDriver_SetDir(gpioDrivers[gpio_bank], gpio_pin, gpio_dir);
}
Esempio n. 4
0
void GpioController_SetVal(uint16_t gpio_num, uint16_t gpio_val)
{
	uint16_t gpio_bank = get_bank_num(gpio_num);
	uint16_t gpio_pin = get_pin_num(gpio_num);
	GpioDriver_SetVal(gpioDrivers[gpio_bank], gpio_pin, gpio_val);
}
Esempio n. 5
0
void GpioController_SetOutputEn(uint16_t gpio_num, uint16_t gpio_en)
{
	uint16_t gpio_bank = get_bank_num(gpio_num);
	uint16_t gpio_pin = get_pin_num(gpio_num);
	GpioDriver_SetOutputEn(gpioDrivers[gpio_bank], gpio_pin, gpio_en);
}