A Gpio_module groups multiple GPIO pins together.
More...
|
int | setup (Pin_slice const &mask, unsigned mode, unsigned value) const |
| Configure function of multiple GPIO pins at once. More...
|
|
int | config_pad (Pin_slice const &mask, unsigned func, unsigned value) const |
| Hardware specific configuration function for multiple GPIO pins. More...
|
|
int | get (unsigned offset, unsigned *data) const |
| Read values of multiple GPIO pins at once. More...
|
|
int | set (Pin_slice const &mask, unsigned data) |
| Set multiple GPIO output pins at once. More...
|
|
Gpio_pin | pin (unsigned pin) const |
| Get Gpio_pin for a specific pin of this Gpio_module. More...
|
|
L4::Cap< Vbus > | bus_cap () const |
| Access the Vbus capability of the underlying virtual bus. More...
|
|
l4vbus_device_handle_t | dev_handle () const |
| Access the device handle of this device. More...
|
|
int | device_by_hid (Device *child, char const *hid, int depth=L4VBUS_MAX_DEPTH, l4vbus_device_t *devinfo=0) const |
| Find a device by the human interface identifier (HID). More...
|
|
int | next_device (Device *child, int depth=L4VBUS_MAX_DEPTH, l4vbus_device_t *devinfo=0) const |
| Find next child following child . More...
|
|
int | device (l4vbus_device_t *devinfo) const |
| Obtain detailed information about a Vbus device. More...
|
|
int | get_resource (int res_idx, l4vbus_resource_t *res) const |
| Obtain the resource description of an individual device resource. More...
|
|
int | is_compatible (char const *cid) const |
| Check if the given device has a compatibility ID (CID) or HID that matches cid. More...
|
|
bool | operator== (Device const &o) const |
| Test if two devices are the same Vbus device. More...
|
|
bool | operator!= (Device const &o) const |
| Test if two devices are not the same. More...
|
|
int | pm_suspend () const |
| Suspend the module.
|
|
int | pm_resume () const |
| Resume the module.
|
|
A Gpio_module groups multiple GPIO pins together.
Definition at line 129 of file vbus_gpio.
◆ config_pad()
int L4vbus::Gpio_module::config_pad |
( |
Pin_slice const & |
mask, |
|
|
unsigned |
func, |
|
|
unsigned |
value |
|
) |
| const |
|
inline |
Hardware specific configuration function for multiple GPIO pins.
- Parameters
-
mask | Mask of GPIO pins to configure. A bit set to 1 configures this pin. A maximum of 32 pins can be configured at once. The real number depends on the hardware and the driver implementation. |
func | Hardware specific configuration register, usually offset to the GPIO chip's base address. |
value | Value which is written into the hardware specific configuration register for the specified pins |
- Returns
- 0 if OK, error code otherwise
Definition at line 181 of file vbus_gpio.
References L4vbus::Device::_bus, L4vbus::Device::_dev, and l4vbus_gpio_multi_config_pad().
◆ get()
int L4vbus::Gpio_module::get |
( |
unsigned |
offset, |
|
|
unsigned * |
data |
|
) |
| const |
|
inline |
Read values of multiple GPIO pins at once.
- Parameters
-
| offset | Pin corresponding to the LSB in data. Note: allowed may be hardware specific. |
[out] | data | Each bit returns the value (0 or 1) for the corresponding GPIO pin. The value of pins that are not accessible is undefined. |
- Returns
- 0 if OK, error code otherwise
Definition at line 197 of file vbus_gpio.
References L4vbus::Device::_bus, L4vbus::Device::_dev, and l4vbus_gpio_multi_get().
◆ pin()
Gpio_pin L4vbus::Gpio_module::pin |
( |
unsigned |
pin | ) |
const |
|
inline |
◆ set()
int L4vbus::Gpio_module::set |
( |
Pin_slice const & |
mask, |
|
|
unsigned |
data |
|
) |
| |
|
inline |
Set multiple GPIO output pins at once.
- Parameters
-
mask | Mask of GPIO pins to set. A bit set to 1 selects this pin. A maximum of 32 pins can be set at once. The real number depends on the hardware and the driver implementation. |
data | Each bit corresponds to the GPIO pin in mask. The value of each bit is written to the GPIO pin if its bit in mask is set. |
- Returns
- 0 if OK, error code otherwise
Definition at line 213 of file vbus_gpio.
References L4vbus::Device::_bus, L4vbus::Device::_dev, and l4vbus_gpio_multi_set().
◆ setup()
int L4vbus::Gpio_module::setup |
( |
Pin_slice const & |
mask, |
|
|
unsigned |
mode, |
|
|
unsigned |
value |
|
) |
| const |
|
inline |
Configure function of multiple GPIO pins at once.
- Parameters
-
mask | Mask of GPIO pins to configure. A bit set to 1 configures this pin. A maximum of 32 pins can be configured at once. The real number depends on the hardware and the driver implementation. |
mode | GPIO function, see L4vbus_gpio_generic_func for generic functions. Hardware specific functions must be provided in the lower 8 bits. |
value | Optional value to set the GPIO pins to if they are configured as output pins |
- Returns
- 0 if OK, error code otherwise
Definition at line 162 of file vbus_gpio.
References L4vbus::Device::_bus, L4vbus::Device::_dev, and l4vbus_gpio_multi_setup().
The documentation for this class was generated from the following file: