1*9dee205dSramneek mehresh /* 2*9dee205dSramneek mehresh * Freescale USB Controller 3*9dee205dSramneek mehresh * 4*9dee205dSramneek mehresh * Copyright 2013 Freescale Semiconductor, Inc. 5*9dee205dSramneek mehresh * 6*9dee205dSramneek mehresh * This software may be used and distributed according to the 7*9dee205dSramneek mehresh * terms of the GNU Public License, Version 2, incorporated 8*9dee205dSramneek mehresh * herein by reference. 9*9dee205dSramneek mehresh * 10*9dee205dSramneek mehresh * This program is free software; you can redistribute it and/or 11*9dee205dSramneek mehresh * modify it under the terms of the GNU General Public License 12*9dee205dSramneek mehresh * Version 2 as published by the Free Software Foundation. 13*9dee205dSramneek mehresh * 14*9dee205dSramneek mehresh * This program is distributed in the hope that it will be useful, 15*9dee205dSramneek mehresh * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*9dee205dSramneek mehresh * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*9dee205dSramneek mehresh * GNU General Public License for more details. 18*9dee205dSramneek mehresh * 19*9dee205dSramneek mehresh * You should have received a copy of the GNU General Public License 20*9dee205dSramneek mehresh * along with this program; if not, write to the Free Software 21*9dee205dSramneek mehresh * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 22*9dee205dSramneek mehresh * MA 02111-1307 USA 23*9dee205dSramneek mehresh */ 24*9dee205dSramneek mehresh 25*9dee205dSramneek mehresh #ifndef _ASM_FSL_USB_H_ 26*9dee205dSramneek mehresh #define _ASM_FSL_USB_H_ 27*9dee205dSramneek mehresh 28*9dee205dSramneek mehresh #ifdef CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE 29*9dee205dSramneek mehresh struct ccsr_usb_port_ctrl { 30*9dee205dSramneek mehresh u32 ctrl; 31*9dee205dSramneek mehresh u32 drvvbuscfg; 32*9dee205dSramneek mehresh u32 pwrfltcfg; 33*9dee205dSramneek mehresh u32 sts; 34*9dee205dSramneek mehresh u8 res_14[0xc]; 35*9dee205dSramneek mehresh u32 bistcfg; 36*9dee205dSramneek mehresh u32 biststs; 37*9dee205dSramneek mehresh u32 abistcfg; 38*9dee205dSramneek mehresh u32 abiststs; 39*9dee205dSramneek mehresh u8 res_30[0x10]; 40*9dee205dSramneek mehresh u32 xcvrprg; 41*9dee205dSramneek mehresh u32 anaprg; 42*9dee205dSramneek mehresh u32 anadrv; 43*9dee205dSramneek mehresh u32 anasts; 44*9dee205dSramneek mehresh }; 45*9dee205dSramneek mehresh 46*9dee205dSramneek mehresh struct ccsr_usb_phy { 47*9dee205dSramneek mehresh u32 id; 48*9dee205dSramneek mehresh struct ccsr_usb_port_ctrl port1; 49*9dee205dSramneek mehresh u8 res_50[0xc]; 50*9dee205dSramneek mehresh u32 tvr; 51*9dee205dSramneek mehresh u32 pllprg[4]; 52*9dee205dSramneek mehresh u8 res_70[0x4]; 53*9dee205dSramneek mehresh u32 anaccfg; 54*9dee205dSramneek mehresh u32 dbg; 55*9dee205dSramneek mehresh u8 res_7c[0x4]; 56*9dee205dSramneek mehresh struct ccsr_usb_port_ctrl port2; 57*9dee205dSramneek mehresh u8 res_dc[0x334]; 58*9dee205dSramneek mehresh }; 59*9dee205dSramneek mehresh 60*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_CTRL_PHY_EN (1 << 0) 61*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_DRVVBUS_CR_EN (1 << 1) 62*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PWRFLT_CR_EN (1 << 1) 63*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG1_PHY_DIV (1 << 0) 64*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_PHY2_CLK_EN (1 << 0) 65*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_PHY1_CLK_EN (1 << 1) 66*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_FRAC_LPF_EN (1 << 13) 67*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_REF_DIV (1 << 4) 68*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_MFI (5 << 16) 69*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_PLLPRG2_PLL_EN (1 << 21) 70*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_SYS_CLK_VALID (1 << 0) 71*9dee205dSramneek mehresh #else 72*9dee205dSramneek mehresh struct ccsr_usb_phy { 73*9dee205dSramneek mehresh u8 res0[0x18]; 74*9dee205dSramneek mehresh u32 usb_enable_override; 75*9dee205dSramneek mehresh u8 res[0xe4]; 76*9dee205dSramneek mehresh }; 77*9dee205dSramneek mehresh #define CONFIG_SYS_FSL_USB_ENABLE_OVERRIDE 1 78*9dee205dSramneek mehresh #endif 79*9dee205dSramneek mehresh 80*9dee205dSramneek mehresh #endif /*_ASM_FSL_USB_H_ */ 81