linux-stable/include/linux/amba
Mike Leach e85fa28ebc ARM: 8838/1: drivers: amba: Updates to component identification for driver matching.
The CoreSight specification (ARM IHI 0029E), updates the ID register
requirements for components on an AMBA bus, to cover both traditional
ARM Primecell type devices, and newer CoreSight and other components.

The Peripheral ID (PID) / Component ID (CID) pair is extended in certain
cases to uniquely identify components. CoreSight components related to
a single function can share Peripheral ID values, and must be further
identified using a Unique Component Identifier (UCI). e.g. the ETM, CTI,
PMU and Debug hardware of the A35 all share the same PID.

Bits 15:12 of the CID are defined to be the device class.
Class 0xF remains for PrimeCell and legacy components.
Class 0x9 defines the component as CoreSight (CORESIGHT_CID above)
Class 0x0, 0x1, 0xB, 0xE define components that do not have driver support
at present.
Class 0x2-0x8,0xA and 0xD-0xD are presently reserved.

The specification futher defines which classes of device use the standard
CID/PID pair, and when additional ID registers are required.

This patch introduces the amba_cs_uci_id structure which will be used in
all coresight drivers for indentification via the private data pointer in
the amba_id structure.

Existing drivers that currently use the amba_id->data pointer for private
data are updated to use the amba_cs_uci_id->data pointer. Macros and
inline functions are added to simplify this code.

Signed-off-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Tested-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2019-02-26 11:23:48 +00:00
..
bus.h ARM: 8838/1: drivers: amba: Updates to component identification for driver matching. 2019-02-26 11:23:48 +00:00
clcd-regs.h drm/pl111: Register the clock divider and use it. 2017-05-19 11:11:35 -07:00
clcd.h video: ARM CLCD: Move registers to a separate header. 2017-05-08 12:24:06 -07:00
kmi.h
mmci.h mmc: mmci: Drop support for pdata GPIO numbers 2018-10-08 11:40:43 +02:00
pl08x.h ARM/dmaengine: pl08x: pass reasonable memcpy settings 2017-05-24 09:44:32 +05:30
pl022.h spi/pl022: Add chip select handling via GPIO 2012-08-22 20:00:44 +01:00
pl080.h dmaengine: pl08x: use GENMASK() to create bitmasks 2017-05-24 09:44:33 +05:30
pl093.h
serial.h tty: amba-pl011: define flag register bits for ZTE device 2016-08-31 15:24:23 +02:00
sp810.h Update Viresh Kumar's email address 2015-07-17 16:39:53 -07:00