• Mike Leach's avatar
    ARM: 8838/1: drivers: amba: Updates to component identification for driver matching. · e85fa28e
    Mike Leach authored
    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: default avatarMike Leach <mike.leach@linaro.org>
    Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Tested-by: default avatarSai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    e85fa28e
coresight-etm3x.c 23.4 KB