1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2dbea3242SAjay Kumar Gupta /* 3dbea3242SAjay Kumar Gupta * am35x.h - TI's AM35x platform specific usb wrapper definitions. 4dbea3242SAjay Kumar Gupta * 5dbea3242SAjay Kumar Gupta * Author: Ajay Kumar Gupta <ajay.gupta@ti.com> 6dbea3242SAjay Kumar Gupta * 7dbea3242SAjay Kumar Gupta * Based on drivers/usb/musb/da8xx.h 8dbea3242SAjay Kumar Gupta * 9dbea3242SAjay Kumar Gupta * Copyright (c) 2010 Texas Instruments Incorporated 10dbea3242SAjay Kumar Gupta */ 11dbea3242SAjay Kumar Gupta 12dbea3242SAjay Kumar Gupta #ifndef __AM35X_USB_H__ 13dbea3242SAjay Kumar Gupta #define __AM35X_USB_H__ 14dbea3242SAjay Kumar Gupta 15dbea3242SAjay Kumar Gupta #include <asm/arch/am35x_def.h> 16dbea3242SAjay Kumar Gupta #include "musb_core.h" 17dbea3242SAjay Kumar Gupta 18dbea3242SAjay Kumar Gupta /* Base address of musb wrapper */ 19dbea3242SAjay Kumar Gupta #define AM35X_USB_OTG_BASE 0x5C040000 20dbea3242SAjay Kumar Gupta 21dbea3242SAjay Kumar Gupta /* Base address of musb core */ 22dbea3242SAjay Kumar Gupta #define AM35X_USB_OTG_CORE_BASE (AM35X_USB_OTG_BASE + 0x400) 23dbea3242SAjay Kumar Gupta 24dbea3242SAjay Kumar Gupta /* Timeout for AM35x usb module */ 25dbea3242SAjay Kumar Gupta #define AM35X_USB_OTG_TIMEOUT 0x3FFFFFF 26dbea3242SAjay Kumar Gupta 27dbea3242SAjay Kumar Gupta /* 28dbea3242SAjay Kumar Gupta * AM35x platform USB wrapper register overlay. 29dbea3242SAjay Kumar Gupta */ 30dbea3242SAjay Kumar Gupta struct am35x_usb_regs { 31dbea3242SAjay Kumar Gupta u32 revision; 32dbea3242SAjay Kumar Gupta u32 control; 33dbea3242SAjay Kumar Gupta u32 status; 34dbea3242SAjay Kumar Gupta u32 emulation; 35dbea3242SAjay Kumar Gupta u32 reserved0[1]; 36dbea3242SAjay Kumar Gupta u32 autoreq; 37dbea3242SAjay Kumar Gupta u32 srpfixtime; 38dbea3242SAjay Kumar Gupta u32 ep_intsrc; 39dbea3242SAjay Kumar Gupta u32 ep_intsrcset; 40dbea3242SAjay Kumar Gupta u32 ep_intsrcclr; 41dbea3242SAjay Kumar Gupta u32 ep_intmsk; 42dbea3242SAjay Kumar Gupta u32 ep_intmskset; 43dbea3242SAjay Kumar Gupta u32 ep_intmskclr; 44dbea3242SAjay Kumar Gupta u32 ep_intsrcmsked; 45dbea3242SAjay Kumar Gupta u32 reserved1[1]; 46dbea3242SAjay Kumar Gupta u32 core_intsrc; 47dbea3242SAjay Kumar Gupta u32 core_intsrcset; 48dbea3242SAjay Kumar Gupta u32 core_intsrcclr; 49dbea3242SAjay Kumar Gupta u32 core_intmsk; 50dbea3242SAjay Kumar Gupta u32 core_intmskset; 51dbea3242SAjay Kumar Gupta u32 core_intmskclr; 52dbea3242SAjay Kumar Gupta u32 core_intsrcmsked; 53dbea3242SAjay Kumar Gupta u32 reserved2[1]; 54dbea3242SAjay Kumar Gupta u32 eoi; 55dbea3242SAjay Kumar Gupta u32 mop_sop_en; 56dbea3242SAjay Kumar Gupta u32 reserved3[2]; 57dbea3242SAjay Kumar Gupta u32 txmode; 58dbea3242SAjay Kumar Gupta u32 rxmode; 59dbea3242SAjay Kumar Gupta u32 epcount_mode; 60dbea3242SAjay Kumar Gupta }; 61dbea3242SAjay Kumar Gupta 62dbea3242SAjay Kumar Gupta #define am35x_usb_regs ((struct am35x_usb_regs *)AM35X_USB_OTG_BASE) 63dbea3242SAjay Kumar Gupta 64dbea3242SAjay Kumar Gupta /* USB 2.0 PHY Control */ 65dbea3242SAjay Kumar Gupta #define DEVCONF2_PHY_GPIOMODE (1 << 23) 66dbea3242SAjay Kumar Gupta #define DEVCONF2_OTGMODE (3 << 14) 67dbea3242SAjay Kumar Gupta #define DEVCONF2_SESENDEN (1 << 13) /* Vsess_end comparator */ 68dbea3242SAjay Kumar Gupta #define DEVCONF2_VBDTCTEN (1 << 12) /* Vbus comparator */ 69dbea3242SAjay Kumar Gupta #define DEVCONF2_REFFREQ_24MHZ (2 << 8) 70dbea3242SAjay Kumar Gupta #define DEVCONF2_REFFREQ_26MHZ (7 << 8) 71dbea3242SAjay Kumar Gupta #define DEVCONF2_REFFREQ_13MHZ (6 << 8) 72dbea3242SAjay Kumar Gupta #define DEVCONF2_REFFREQ (0xf << 8) 73dbea3242SAjay Kumar Gupta #define DEVCONF2_PHYCKGD (1 << 7) 74dbea3242SAjay Kumar Gupta #define DEVCONF2_VBUSSENSE (1 << 6) 75dbea3242SAjay Kumar Gupta #define DEVCONF2_PHY_PLLON (1 << 5) /* override PLL suspend */ 76dbea3242SAjay Kumar Gupta #define DEVCONF2_RESET (1 << 4) 77dbea3242SAjay Kumar Gupta #define DEVCONF2_PHYPWRDN (1 << 3) 78dbea3242SAjay Kumar Gupta #define DEVCONF2_OTGPWRDN (1 << 2) 79dbea3242SAjay Kumar Gupta #define DEVCONF2_DATPOL (1 << 1) 80dbea3242SAjay Kumar Gupta 81dbea3242SAjay Kumar Gupta #endif /* __AM35X_USB_H__ */ 82