16#ifndef ZEPHYR_INCLUDE_DRIVERS_USB_C_USBC_VBUS_H_
17#define ZEPHYR_INCLUDE_DRIVERS_USB_C_USBC_VBUS_H_
#define DEVICE_API_GET(_class, _dev)
Expands to the pointer of a device's API for a given class.
Definition device.h:1449
tc_vbus_level
VBUS level voltages.
Definition usbc_tc.h:343
static int usbc_vbus_measure(const struct device *dev, int *meas)
Reads and returns VBUS measured in mV.
Definition usbc_vbus.h:81
static bool usbc_vbus_check_level(const struct device *dev, enum tc_vbus_level level)
Checks if VBUS is at a particular level.
Definition usbc_vbus.h:67
static int usbc_vbus_enable(const struct device *dev, bool enable)
Controls a pin that enables VBUS measurements.
Definition usbc_vbus.h:111
static int usbc_vbus_discharge(const struct device *dev, bool enable)
Controls a pin that discharges VBUS.
Definition usbc_vbus.h:96
#define bool
Definition stdbool.h:13
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
@def_driverbackendgroup{USB-C VBUS,usbc_vbus_api}
Definition usbc_vbus.h:45
int(* discharge)(const struct device *dev, bool enable)
@driver_ops_mandatory Controls a pin that discharges VBUS.
Definition usbc_vbus.h:51
int(* measure)(const struct device *dev, int *vbus_meas)
@driver_ops_mandatory Reads and returns VBUS measured in mV.
Definition usbc_vbus.h:49
int(* enable)(const struct device *dev, bool enable)
@driver_ops_mandatory Controls a pin that enables VBUS measurements.
Definition usbc_vbus.h:53
bool(* check_level)(const struct device *dev, enum tc_vbus_level level)
@driver_ops_mandatory Checks if VBUS is at a particular level.
Definition usbc_vbus.h:47
USB Type-C Cable and Connector API used for USB-C drivers.