[RFC][PATCH] bcmai: introduce AI driver
Arend van Spriel
arend at broadcom.com
Fri Apr 8 13:24:33 EDT 2011
On Fri, 08 Apr 2011 18:56:13 +0200, Rafał Miłecki <zajec5 at gmail.com> wrote:
> 2011/4/6 Arend van Spriel <arend at broadcom.com>:
>> 3. Device identification
>> The cores are identified by manufacturer, core id and revision in your
>> patch. I would not use the revision because 4 out of 5 times a revision
>> change does indicate a hardware change but no change in programming
>> interface. The enumeration data does contain a more selective field
>> indicating the core class (4 bits following the core identifier). I
>> to replace the revision field by this class field.
> Could you say something more about *class*, please? For my BCM43224 it
> seems to be 0x0. WIll check BCM4313 in a moment.
In principal the manufacturer id is unique (defined/assigned by JEDEC
www.jedec.org) and the chip id and chip class are defined by the
manufacturer. So I can only indicate what classes Broadcom uses in
combination with the manufacturer id BRCM, ARM and MIPS.
/* Component Classes */
#define CC_SIM 0
#define CC_EROM 1
#define CC_CORESIGHT 9
#define CC_VERIF 0xb
#define CC_OPTIMO 0xd
#define CC_GEN 0xe
#define CC_PRIMECELL 0xf
Looking at this it seems strange that you see a class value of 0x0. It may
be rarely used or for non-production chips only (for simulation, chip
bringup) which may require additional (debug) functions. So question is
whether you will need it, but it is specified by ARM and it is up to
manufacturers to use it. So I it is better to be safe than sorry and have
this in the device id.
"The most merciful thing in the world, I think, is the inability of the
mind to correlate all its contents." - "The Call of Cthulhu"
More information about the linux-arm-kernel