33 .
name =
"can.transceiver.xxx10xx",
38#if defined(XWCDCFG_ds_PM) && (1 == XWCDCFG_ds_PM)
90 if (
NULL != gpiorsc) {
93 goto err_gpio_req_stb;
97 if (
NULL != gpiorsc) {
100 goto err_gpio_req_eirq;
107 if (
NULL != gpiorsc) {
122 if (
NULL != gpiorsc) {
126 if (
NULL != gpiorsc) {
132#if defined(XWCDCFG_ds_PM) && (1 == XWCDCFG_ds_PM)
141 if (
NULL != gpiorsc) {
156 if (
NULL != gpiorsc) {
159 goto err_gpio_req_stb;
211 eirq = xxx10xx->
eirq;
234 eirq = xxx10xx->
eirq;
253 if (eiid == xxx10xx->
eirq) {
xwer_t xwds_cantrcv_xxx10xx_drv_stop(struct xwds_device *dev)
XXX10XX基本驱动:停止设备
xwer_t xwds_cantrcv_xxx10xx_drv_disable_wkup(struct xwds_cantrcv *cantrcv)
XXX10XX CAN接收器驱动:关闭CAN接收器的唤醒
xwer_t xwds_cantrcv_xxx10xx_drv_enable_wkup(struct xwds_cantrcv *cantrcv)
XXX10XX CAN接收器驱动:开启CAN接收器的唤醒
xwer_t xwds_cantrcv_xxx10xx_drv_set_opmode(struct xwds_cantrcv *cantrcv, xwsq_t opmode)
XXX10XX CAN接收器驱动:设置CAN接收器的运行模式
xwer_t xwds_cantrcv_xxx10xx_drv_suspend(struct xwds_device *dev)
XXX10XX基本驱动:暂停设备
void xwds_cantrcv_xxx10xx_eirq_wkup(struct xwds_soc *soc, xwid_t eiid, xwds_eirq_arg_t arg)
XXX10XX中断函数
const struct xwds_cantrcv_driver xwds_cantrcv_xxx10xx_drv
XXX10XX的驱动集合
xwer_t xwds_cantrcv_xxx10xx_drv_start(struct xwds_device *dev)
XXX10XX基本驱动:启动设备
static xwer_t xwds_cantrcv_xxx10xx_check_desc(struct xwds_cantrcv_xxx10xx *xxx10xx)
xwer_t xwds_cantrcv_xxx10xx_drv_resume(struct xwds_device *dev)
XXX10XX基本驱动:继续设备
玄武设备栈:CAN收发器:通用型104x/105x系列收发器:驱动
xwer_t xwds_eirq_req(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask, xwid_t eiid, xwsq_t eiflag, xwds_eirq_f isr, xwds_eirq_arg_t arg)
XWDS API:申请外部中断
xwer_t xwds_eirq_rls(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask, xwid_t eiid)
XWDS API:释放外部中断
@ XWDS_SOC_EIF_TM_FALLING
void xwds_cantrcv_drvcb_wakeup_notification(struct xwds_cantrcv *cantrcv)
CAN接收器回调函数:CAN接收器的唤醒通知
@ XWDS_CANTRCV_OPMODE_NORMAL
@ XWDS_CANTRCV_OPMODE_STANDBY
@ XWDS_CANTRCV_OPMODE_NUM
@ XWDS_CANTRCV_OPMODE_SLEEP
@ XWDS_CANTRCV_WKUPRS_BY_PIN
@ XWDS_CANTRCV_WKUPRS_BY_BUS
void * xwds_eirq_arg_t
外部中断函数参数
#define xwds_cast(type, dev)
xwer_t xwds_cantrcv_xxx10xx_drv_probe(struct xwds_device *dev)
XXX10XX基本驱动:探测设备
#define EINVAL
Invalid argument
#define EOPNOTSUPP
Operation not supported on socket
#define ERANGE
Result too large
xwer_t xwds_gpio_reset(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask)
XWDS API:将SOC的GPIO设置为低电平
xwer_t xwds_gpio_rls(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask)
XWDS API:释放SOC的GPIO
xwer_t xwds_gpio_set(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask)
XWDS API:将SOC的GPIO设置为高电平
xwer_t xwds_gpio_req(struct xwds_soc *soc, xwid_t port, xwsq_t pinmask)
XWDS API:申请SOC的GPIO
struct xwds_cantrcv_xxx10xx::@28 gpiorsc
const struct xwds_resource_gpio * stb
struct xwds_cantrcv cantrcv
const struct xwds_resource_gpio * eirq
const struct xwds_cantrcv_cfg * cfg