1e443b333SAlexander Shishkin /* 2e443b333SAlexander Shishkin * Platform data for the chipidea USB dual role controller 3e443b333SAlexander Shishkin */ 4e443b333SAlexander Shishkin 5e443b333SAlexander Shishkin #ifndef __LINUX_USB_CHIPIDEA_H 6e443b333SAlexander Shishkin #define __LINUX_USB_CHIPIDEA_H 7e443b333SAlexander Shishkin 8e443b333SAlexander Shishkin struct ci13xxx; 9e443b333SAlexander Shishkin struct ci13xxx_udc_driver { 10e443b333SAlexander Shishkin const char *name; 11e443b333SAlexander Shishkin /* offset of the capability registers */ 12e443b333SAlexander Shishkin uintptr_t capoffset; 13*bd841986SAlexander Shishkin unsigned power_budget; 14e443b333SAlexander Shishkin unsigned long flags; 15e443b333SAlexander Shishkin #define CI13XXX_REGS_SHARED BIT(0) 16e443b333SAlexander Shishkin #define CI13XXX_REQUIRE_TRANSCEIVER BIT(1) 17e443b333SAlexander Shishkin #define CI13XXX_PULLUP_ON_VBUS BIT(2) 18e443b333SAlexander Shishkin #define CI13XXX_DISABLE_STREAMING BIT(3) 19e443b333SAlexander Shishkin 20e443b333SAlexander Shishkin #define CI13XXX_CONTROLLER_RESET_EVENT 0 21e443b333SAlexander Shishkin #define CI13XXX_CONTROLLER_STOPPED_EVENT 1 22e443b333SAlexander Shishkin void (*notify_event) (struct ci13xxx *udc, unsigned event); 23e443b333SAlexander Shishkin }; 24e443b333SAlexander Shishkin 25e443b333SAlexander Shishkin /* Default offset of capability registers */ 26e443b333SAlexander Shishkin #define DEF_CAPOFFSET 0x100 27e443b333SAlexander Shishkin 28e443b333SAlexander Shishkin #endif 29