/* SPDX-License-Identifier: GPL-2.0 */
/*
* io . h - DesignWare USB3 DRD IO Header
*
* Copyright ( C ) 2010 - 2011 Texas Instruments Incorporated - https : //www.ti.com
*
* Authors : Felipe Balbi < balbi @ ti . com > ,
* Sebastian Andrzej Siewior < bigeasy @ linutronix . de >
*/
#ifndef __DRIVERS_USB_DWC3_IO_H
#define __DRIVERS_USB_DWC3_IO_H
#include <linux/io.h>
#include "trace.h"
#include "debug.h"
#include "core.h"
static inline u32 dwc3_readl(void __iomem *base, u32 offset)
{
u32 value;
/*
* We requested the mem region starting from the Globals address
* space , see dwc3_probe in core . c .
* However , the offsets are given starting from xHCI address space .
*/
value = readl(base + offset - DWC3_GLOBALS_REGS_START);
/*
* When tracing we want to make it easy to find the correct address on
* documentation , so we revert it back to the proper addresses , the
* same way they are described on SNPS documentation
*/
trace_dwc3_readl(base - DWC3_GLOBALS_REGS_START, offset, value);
return value;
}
static inline void dwc3_writel(void __iomem *base, u32 offset, u32 value)
{
/*
* We requested the mem region starting from the Globals address
* space , see dwc3_probe in core . c .
* However , the offsets are given starting from xHCI address space .
*/
writel(value, base + offset - DWC3_GLOBALS_REGS_START);
/*
* When tracing we want to make it easy to find the correct address on
* documentation , so we revert it back to the proper addresses , the
* same way they are described on SNPS documentation
*/
trace_dwc3_writel(base - DWC3_GLOBALS_REGS_START, offset, value);
}
#endif /* __DRIVERS_USB_DWC3_IO_H */
Messung V0.5 in Prozent C=88 H=100 G=94
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-09-27)
¤
*© Formatika GbR, Deutschland