/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2006 by Barry Wardelll * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ #ifndef USB_TARGET_H #define USB_TARGET_H /* The PortalPlayer USB controller is compatible with Freescale i.MX31 */ /* Register addresses */ /* OTG */ #define UOG_ID (*(volatile unsigned long *)(0xc5000000)) #define UOG_HWGENERAL (*(volatile unsigned long *)(0xc5000004)) #define UOG_HWHOST (*(volatile unsigned long *)(0xc5000008)) #define UOG_HWTXBUF (*(volatile unsigned long *)(0xc5000010)) #define UOG_HWRXBUF (*(volatile unsigned long *)(0xc5000014)) #define UOG_CAPLENGTH (*(volatile unsigned char *)(0xc5000100)) #define UOG_HCIVERSION (*(volatile unsigned short *)(0xc5000102)) #define UOG_HCSPARAMS (*(volatile unsigned long *)(0xc5000104)) #define UOG_HCCPARAMS (*(volatile unsigned long *)(0xc5000108)) #define UOG_DCIVERSION (*(volatile unsigned short *)(0xc5000120)) #define UOG_DCCPARAMS (*(volatile unsigned long *)(0xc5000124)) #define UOG_USBCMD (*(volatile unsigned long *)(0xc5000140)) #define UOG_USBSTS (*(volatile unsigned long *)(0xc5000144)) #define UOG_USBINTR (*(volatile unsigned long *)(0xc5000148)) #define UOG_FRINDEX (*(volatile unsigned long *)(0xc500014c)) #define UOG_PERIODICLISTBASE (*(volatile unsigned long *)(0xc5000154)) #define UOG_ASYNCLISTADDR (*(volatile unsigned long *)(0xc5000158)) #define UOG_BURSTSIZE (*(volatile unsigned long *)(0xc5000160)) #define UOG_TXFILLTUNING (*(volatile unsigned long *)(0xc5000164)) #define UOG_ULPIVIEW (*(volatile unsigned long *)(0xc5000170)) #define UOG_CFGFLAG (*(volatile unsigned long *)(0xc5000180)) #define UOG_PORTSC1 (*(volatile unsigned long *)(0xc5000184)) /*#define UOG_PORTSC2 (*(volatile unsigned long *)(0xc5000188)) #define UOG_PORTSC3 (*(volatile unsigned long *)(0xc500018c)) #define UOG_PORTSC4 (*(volatile unsigned long *)(0xc5000190)) #define UOG_PORTSC5 (*(volatile unsigned long *)(0xc5000194)) #define UOG_PORTSC6 (*(volatile unsigned long *)(0xc5000198)) #define UOG_PORTSC7 (*(volatile unsigned long *)(0xc500019c)) #define UOG_PORTSC8 (*(volatile unsigned long *)(0xc50001a0))*/ #define UOG_OTGSC (*(volatile unsigned long *)(0xc50001a4)) #define UOG_USBMODE (*(volatile unsigned long *)(0xc50001a8)) #define UOG_ENDPTSETUPSTAT (*(volatile unsigned long *)(0xc50001ac)) #define UOG_ENDPTPRIME (*(volatile unsigned long *)(0xc50001b0)) #define UOG_ENDPTFLUSH (*(volatile unsigned long *)(0xc50001b4)) #define UOG_ENDPTSTAT (*(volatile unsigned long *)(0xc50001b8)) #define UOG_ENDPTCOMPLETE (*(volatile unsigned long *)(0xc50001bc)) #define ENDPTCRTL0 (*(volatile unsigned long *)(0xc50001c0)) #define ENDPTCRTL1 (*(volatile unsigned long *)(0xc50001c4)) #define ENDPTCRTL2 (*(volatile unsigned long *)(0xc50001c8)) #define ENDPTCRTL3 (*(volatile unsigned long *)(0xc50001cc)) #define ENDPTCRTL4 (*(volatile unsigned long *)(0xc50001d0)) #define ENDPTCRTL5 (*(volatile unsigned long *)(0xc50001d4)) #define ENDPTCRTL6 (*(volatile unsigned long *)(0xc50001d8)) #define ENDPTCRTL7 (*(volatile unsigned long *)(0xc50001dc)) /*#define ENDPTCRTL8 (*(volatile unsigned long *)(0xc50001e0)) #define ENDPTCRTL9 (*(volatile unsigned long *)(0xc50001e4)) #define ENDPTCRTL10 (*(volatile unsigned long *)(0xc50001e8)) #define ENDPTCRTL11 (*(volatile unsigned long *)(0xc50001ec)) #define ENDPTCRTL12 (*(volatile unsigned long *)(0xc50001f0)) #define ENDPTCRTL13 (*(volatile unsigned long *)(0xc50001f4)) #define ENDPTCRTL14 (*(volatile unsigned long *)(0xc50001f8)) #define ENDPTCRTL15 (*(volatile unsigned long *)(0xc50001fc))*/ /* Host 1 */ #define UH1_ID (*(volatile unsigned long *)(0xc5000200)) #define UH1_HWGENERAL (*(volatile unsigned long *)(0xc5000204)) #define UH1_HWHOST (*(volatile unsigned long *)(0xc5000208)) #define UH1_HWTXBUF (*(volatile unsigned long *)(0xc5000210)) #define UH1_HWRXBUF (*(volatile unsigned long *)(0xc5000214)) #define UH1_CAPLENGTH (*(volatile unsigned long *)(0xc5000300)) #define UH1_HCIVERSION (*(volatile unsigned long *)(0xc5000302)) #define UH1_HCSPARAMS (*(volatile unsigned long *)(0xc5000304)) #define UH1_HCCPARAMS (*(volatile unsigned long *)(0xc5000308)) #define UH1_USBCMD (*(volatile unsigned long *)(0xc5000340)) #define UH1_USBSTS (*(volatile unsigned long *)(0xc5000344)) #define UH1_USBINTR (*(volatile unsigned long *)(0xc5000348)) #define UH1_FRINDEX (*(volatile unsigned long *)(0xc500034c)) #define UH1_PERIODICLISTBASE (*(volatile unsigned long *)(0xc5000354)) #define UH1_ASYNCLISTADDR (*(volatile unsigned long *)(0xc5000358)) #define UH1_BURSTSIZE (*(volatile unsigned long *)(0xc5000360)) #define UH1_TXFILLTUNING (*(volatile unsigned long *)(0xc5000364)) #define UH1_PORTSC1 (*(volatile unsigned long *)(0xc5000384)) #define UH1_USBMODE (*(volatile unsigned long *)(0xc50003a8)) /* Host 2 */ #define UH2_ID (*(volatile unsigned long *)(0xc5000400)) #define UH2_HWGENERAL (*(volatile unsigned long *)(0xc5000404)) #define UH2_HWHOST (*(volatile unsigned long *)(0xc5000408)) #define UH2_HWTXBUF (*(volatile unsigned long *)(0xc5000410)) #define UH2_HWRXBUF (*(volatile unsigned long *)(0xc5000414)) #define UH2_CAPLENGTH (*(volatile unsigned long *)(0xc5000500)) #define UH2_HCIVERSION (*(volatile unsigned long *)(0xc5000502)) #define UH2_HCSPARAMS (*(volatile unsigned long *)(0xc5000504)) #define UH2_HCCPARAMS (*(volatile unsigned long *)(0xc5000508)) #define UH2_USBCMD (*(volatile unsigned long *)(0xc5000540)) #define UH2_USBSTS (*(volatile unsigned long *)(0xc5000544)) #define UH2_USBINTR (*(volatile unsigned long *)(0xc5000548)) #define UH2_FRINDEX (*(volatile unsigned long *)(0xc500054c)) #define UH2_PERIODICLISTBASE (*(volatile unsigned long *)(0xc5000554)) #define UH2_ASYNCLISTADDR (*(volatile unsigned long *)(0xc5000558)) #define UH2_BURSTSIZE (*(volatile unsigned long *)(0xc5000560)) #define UH2_TXFILLTUNING (*(volatile unsigned long *)(0xc5000564)) #define UH2_ULPIVIEW (*(volatile unsigned long *)(0xc5000570)) #define UH2_PORTSC1 (*(volatile unsigned long *)(0xc5000584)) #define UH2_USBMODE (*(volatile unsigned long *)(0xc50005a8)) /* General */ #define USB_CTRL (*(volatile unsigned long *)(0xc5000600)) #define USB_OTG_MIRROR (*(volatile unsigned long *)(0xc5000604)) void usb_init_device(void); #endif