6 #include <l4/vbus/vbus_gpio.h>
15 Input = L4VBUS_GPIO_SETUP_INPUT,
16 Output = L4VBUS_GPIO_SETUP_OUTPUT,
17 Irq = L4VBUS_GPIO_SETUP_IRQ,
20 virtual void request(unsigned pin) = 0;
21 virtual void free(unsigned pin) = 0;
24 virtual void setup(unsigned pin, unsigned mode, int value = 0) = 0;
25 virtual void config_pad(unsigned pin, unsigned pinmask,
26 unsigned func, unsigned value) = 0;
28 virtual int get(unsigned pin) = 0;
29 virtual void set(unsigned pin, int value) = 0;
30 virtual int get_irq(unsigned pin) = 0;
33 virtual void multi_setup(unsigned mask, unsigned mode, unsigned outvalue = 0) = 0;
34 virtual void multi_config_pad(unsigned mask, unsigned func, unsigned value) = 0;
35 virtual void multi_set(unsigned mask, unsigned data) = 0;
36 virtual unsigned multi_get() = 0;
39 void ouput(unsigned pin, int value)
40 { setup(pin, Output, value); }
42 void input(unsigned pin)
43 { setup(pin, Input); }
45 void multi_output(unsigned mask, unsigned data)
46 { multi_setup(mask, mask, data); }
48 void multi_input(unsigned mask)
49 { multi_setup(mask, ~mask); }