xref: /openbmc/linux/drivers/usb/chipidea/otg.h (revision c10b4f03)
1c10b4f03SPeter Chen /*
2c10b4f03SPeter Chen  * Copyright (C) 2013 Freescale Semiconductor, Inc.
3c10b4f03SPeter Chen  *
4c10b4f03SPeter Chen  * Author: Peter Chen
5c10b4f03SPeter Chen  *
6c10b4f03SPeter Chen  * This program is free software; you can redistribute it and/or modify
7c10b4f03SPeter Chen  * it under the terms of the GNU General Public License version 2 as
8c10b4f03SPeter Chen  * published by the Free Software Foundation.
9c10b4f03SPeter Chen  */
10c10b4f03SPeter Chen 
11c10b4f03SPeter Chen #ifndef __DRIVERS_USB_CHIPIDEA_OTG_H
12c10b4f03SPeter Chen #define __DRIVERS_USB_CHIPIDEA_OTG_H
13c10b4f03SPeter Chen 
14c10b4f03SPeter Chen static inline void ci_clear_otg_interrupt(struct ci_hdrc *ci, u32 bits)
15c10b4f03SPeter Chen {
16c10b4f03SPeter Chen 	/* Only clear request bits */
17c10b4f03SPeter Chen 	hw_write(ci, OP_OTGSC, OTGSC_INT_STATUS_BITS, bits);
18c10b4f03SPeter Chen }
19c10b4f03SPeter Chen 
20c10b4f03SPeter Chen static inline void ci_enable_otg_interrupt(struct ci_hdrc *ci, u32 bits)
21c10b4f03SPeter Chen {
22c10b4f03SPeter Chen 	hw_write(ci, OP_OTGSC, bits, bits);
23c10b4f03SPeter Chen }
24c10b4f03SPeter Chen 
25c10b4f03SPeter Chen static inline void ci_disable_otg_interrupt(struct ci_hdrc *ci, u32 bits)
26c10b4f03SPeter Chen {
27c10b4f03SPeter Chen 	hw_write(ci, OP_OTGSC, bits, 0);
28c10b4f03SPeter Chen }
29c10b4f03SPeter Chen 
30c10b4f03SPeter Chen int ci_hdrc_otg_init(struct ci_hdrc *ci);
31c10b4f03SPeter Chen 
32c10b4f03SPeter Chen #endif /* __DRIVERS_USB_CHIPIDEA_OTG_H */
33