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); 31cbec6bd5SPeter Chen void ci_hdrc_otg_destroy(struct ci_hdrc *ci); 32cbec6bd5SPeter Chen enum ci_role ci_otg_role(struct ci_hdrc *ci); 33c10b4f03SPeter Chen 34c10b4f03SPeter Chen #endif /* __DRIVERS_USB_CHIPIDEA_OTG_H */ 35