Add Cadence USB3 IP driver, this is the 1st version for this driver, so wrapper layer and PHY layer are still IP core file (core.c). Below functions are supported: - Basic host function - Limited gadget function, only ACM (old g_seiral) are supported, and mass_storage support is not very well. - Role switch between host and device through extcon design (Eg, Type-C application NXP PTN5150). Below functions are missing: - Multi-queue support at gadget function, without this feature, many gadget function are missing. - Low power mode support, including system PM and runtime PM - Wakeup support Signed-off-by: Peter Chen <peter.chen@nxp.com>
36 lines
784 B
C
36 lines
784 B
C
/**
|
|
* io.h - Cadence USB3 IO Header
|
|
*
|
|
* Copyright (C) 2016 Cadence Design Systems - https://www.cadence.com/
|
|
*
|
|
* Authors: Rafal Ozieblo <rafalo@cadence.com>,
|
|
*
|
|
* The code contained herein is licensed under the GNU General Public
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
* Version 2 or later at the following locations:
|
|
*
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*/
|
|
|
|
#ifndef __DRIVERS_USB_CDNS_IO_H
|
|
#define __DRIVERS_USB_CDNS_IO_H
|
|
|
|
#include <linux/io.h>
|
|
|
|
static inline u32 cdns_readl(uint32_t __iomem *reg)
|
|
{
|
|
u32 value = 0;
|
|
|
|
value = readl(reg);
|
|
return value;
|
|
}
|
|
|
|
static inline void cdns_writel(uint32_t __iomem *reg, u32 value)
|
|
{
|
|
writel(value, reg);
|
|
}
|
|
|
|
|
|
#endif /* __DRIVERS_USB_CDNS_IO_H */
|