12#ifndef ZEPHYR_INCLUDE_DRIVERS_USB_USB_BC12_H_ 
   13#define ZEPHYR_INCLUDE_DRIVERS_USB_USB_BC12_H_ 
   36#define BC12_CHARGER_VOLTAGE_UV  5000 * 1000 
   48#define BC12_CHARGER_MIN_CURR_UA 2500 
   50#define BC12_CHARGER_MAX_CURR_UA 1500 * 1000 
   61#define BC12_CURR_UA(val) CLAMP(val, BC12_CHARGER_MIN_CURR_UA, BC12_CHARGER_MAX_CURR_UA) 
  133__subsystem 
struct bc12_driver_api {
 
  152static inline int z_impl_bc12_set_role(
const struct device *dev, 
enum bc12_role role)
 
  154        const struct bc12_driver_api *api = (
const struct bc12_driver_api *)dev->
api;
 
  156        return api->set_role(dev, role);
 
  174        const struct bc12_driver_api *api = (
const struct bc12_driver_api *)dev->
api;
 
  176        return api->set_result_cb(dev, cb, 
user_data);
 
  187#include <syscalls/usb_bc12.h> 
bc12_role
BC1.2 device role.
Definition: usb_bc12.h:65
 
int bc12_set_result_cb(const struct device *dev, bc12_callback_t cb, void *user_data)
Register a callback for BC1.2 results.
 
int bc12_set_role(const struct device *dev, enum bc12_role role)
Set the BC1.2 role.
 
bc12_type
BC1.2 charging partner type.
Definition: usb_bc12.h:72
 
void(* bc12_callback_t)(const struct device *dev, struct bc12_partner_state *state, void *user_data)
BC1.2 callback for charger configuration.
Definition: usb_bc12.h:125
 
@ BC12_CHARGING_PORT
Definition: usb_bc12.h:68
 
@ BC12_DISCONNECTED
Definition: usb_bc12.h:66
 
@ BC12_PORTABLE_DEVICE
Definition: usb_bc12.h:67
 
@ BC12_TYPE_PROPRIETARY
Definition: usb_bc12.h:82
 
@ BC12_TYPE_UNKNOWN
Definition: usb_bc12.h:84
 
@ BC12_TYPE_CDP
Definition: usb_bc12.h:80
 
@ BC12_TYPE_SDP
Definition: usb_bc12.h:76
 
@ BC12_TYPE_NONE
Definition: usb_bc12.h:74
 
@ BC12_TYPE_COUNT
Definition: usb_bc12.h:86
 
@ BC12_TYPE_DCP
Definition: usb_bc12.h:78
 
state
Definition: parser_state.h:29
 
BC1.2 detected partner state.
Definition: usb_bc12.h:101
 
int voltage_uv
Definition: usb_bc12.h:107
 
int current_ua
Definition: usb_bc12.h:106
 
bool pd_partner_connected
Definition: usb_bc12.h:110
 
enum bc12_role bc12_role
Definition: usb_bc12.h:102
 
enum bc12_type type
Definition: usb_bc12.h:105
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:380
 
const void * api
Definition: device.h:386
 
static const intptr_t user_data[5]
Definition: main.c:588