1*ba92ee06SRamneek Mehresh /* 2*ba92ee06SRamneek Mehresh * Copyright 2015 Freescale Semiconductor, Inc. 3*ba92ee06SRamneek Mehresh * 4*ba92ee06SRamneek Mehresh * FSL USB HOST xHCI Controller 5*ba92ee06SRamneek Mehresh * 6*ba92ee06SRamneek Mehresh * Author: Ramneek Mehresh<ramneek.mehresh@freescale.com> 7*ba92ee06SRamneek Mehresh * 8*ba92ee06SRamneek Mehresh * SPDX-License-Identifier: GPL-2.0+ 9*ba92ee06SRamneek Mehresh */ 10*ba92ee06SRamneek Mehresh 11*ba92ee06SRamneek Mehresh #ifndef _ASM_ARCH_XHCI_FSL_H_ 12*ba92ee06SRamneek Mehresh #define _ASM_ARCH_XHCI_FSL_H_ 13*ba92ee06SRamneek Mehresh 14*ba92ee06SRamneek Mehresh /* Default to the FSL XHCI defines */ 15*ba92ee06SRamneek Mehresh #define USB3_PWRCTL_CLK_CMD_MASK 0x3FE000 16*ba92ee06SRamneek Mehresh #define USB3_PWRCTL_CLK_FREQ_MASK 0xFFC 17*ba92ee06SRamneek Mehresh #define USB3_PHY_PARTIAL_RX_POWERON BIT(6) 18*ba92ee06SRamneek Mehresh #define USB3_PHY_RX_POWERON BIT(14) 19*ba92ee06SRamneek Mehresh #define USB3_PHY_TX_POWERON BIT(15) 20*ba92ee06SRamneek Mehresh #define USB3_PHY_TX_RX_POWERON (USB3_PHY_RX_POWERON | USB3_PHY_TX_POWERON) 21*ba92ee06SRamneek Mehresh #define USB3_PWRCTL_CLK_CMD_SHIFT 14 22*ba92ee06SRamneek Mehresh #define USB3_PWRCTL_CLK_FREQ_SHIFT 22 23*ba92ee06SRamneek Mehresh 24*ba92ee06SRamneek Mehresh /* USBOTGSS_WRAPPER definitions */ 25*ba92ee06SRamneek Mehresh #define USBOTGSS_WRAPRESET BIT(17) 26*ba92ee06SRamneek Mehresh #define USBOTGSS_DMADISABLE BIT(16) 27*ba92ee06SRamneek Mehresh #define USBOTGSS_STANDBYMODE_NO_STANDBY BIT(4) 28*ba92ee06SRamneek Mehresh #define USBOTGSS_STANDBYMODE_SMRT BIT(5) 29*ba92ee06SRamneek Mehresh #define USBOTGSS_STANDBYMODE_SMRT_WKUP (0x3 << 4) 30*ba92ee06SRamneek Mehresh #define USBOTGSS_IDLEMODE_NOIDLE BIT(2) 31*ba92ee06SRamneek Mehresh #define USBOTGSS_IDLEMODE_SMRT BIT(3) 32*ba92ee06SRamneek Mehresh #define USBOTGSS_IDLEMODE_SMRT_WKUP (0x3 << 2) 33*ba92ee06SRamneek Mehresh 34*ba92ee06SRamneek Mehresh /* USBOTGSS_IRQENABLE_SET_0 bit */ 35*ba92ee06SRamneek Mehresh #define USBOTGSS_COREIRQ_EN BIT(1) 36*ba92ee06SRamneek Mehresh 37*ba92ee06SRamneek Mehresh /* USBOTGSS_IRQENABLE_SET_1 bits */ 38*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_IDPULLUP_FALL_EN BIT(1) 39*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_DISCHRGVBUS_FALL_EN BIT(3) 40*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_CHRGVBUS_FALL_EN BIT(4) 41*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_DRVVBUS_FALL_EN BIT(5) 42*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_IDPULLUP_RISE_EN BIT(8) 43*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_DISCHRGVBUS_RISE_EN BIT(11) 44*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_CHRGVBUS_RISE_EN BIT(12) 45*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_DRVVBUS_RISE_EN BIT(13) 46*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_OEVT_EN BIT(16) 47*ba92ee06SRamneek Mehresh #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN BIT(17) 48*ba92ee06SRamneek Mehresh 49*ba92ee06SRamneek Mehresh struct fsl_xhci { 50*ba92ee06SRamneek Mehresh struct xhci_hccr *hcd; 51*ba92ee06SRamneek Mehresh struct dwc3 *dwc3_reg; 52*ba92ee06SRamneek Mehresh }; 53*ba92ee06SRamneek Mehresh 54*ba92ee06SRamneek Mehresh #endif /* _ASM_ARCH_XHCI_FSL_H_ */ 55