1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. |
4 | * |
5 | * Author: Peter Chen |
6 | */ |
7 | |
8 | #ifndef __DRIVERS_USB_CHIPIDEA_OTG_H |
9 | #define __DRIVERS_USB_CHIPIDEA_OTG_H |
10 | |
11 | u32 hw_read_otgsc(struct ci_hdrc *ci, u32 mask); |
12 | void hw_write_otgsc(struct ci_hdrc *ci, u32 mask, u32 data); |
13 | int ci_hdrc_otg_init(struct ci_hdrc *ci); |
14 | void ci_hdrc_otg_destroy(struct ci_hdrc *ci); |
15 | enum ci_role ci_otg_role(struct ci_hdrc *ci); |
16 | void ci_handle_vbus_change(struct ci_hdrc *ci); |
17 | void ci_handle_id_switch(struct ci_hdrc *ci); |
18 | static inline void ci_otg_queue_work(struct ci_hdrc *ci) |
19 | { |
20 | disable_irq_nosync(irq: ci->irq); |
21 | if (queue_work(wq: ci->wq, work: &ci->work) == false) |
22 | enable_irq(irq: ci->irq); |
23 | } |
24 | |
25 | #endif /* __DRIVERS_USB_CHIPIDEA_OTG_H */ |
26 | |