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