Identify Netlogic XLP 8xx B1 chip revisions
Add functions to check for 8xx B0 and 3xx Ax revisions which will be used in network block initialization.
This commit is contained in:
parent
21221d1f6b
commit
fe60722c96
@ -362,6 +362,8 @@ nlm_print_processor_info(void)
|
||||
revstr = "A2"; break;
|
||||
case 3:
|
||||
revstr = "B0"; break;
|
||||
case 4:
|
||||
revstr = "B1"; break;
|
||||
default:
|
||||
revstr = "??"; break;
|
||||
}
|
||||
|
@ -57,6 +57,7 @@
|
||||
#define XLP_REVISION_A1 0x01
|
||||
#define XLP_REVISION_A2 0x02
|
||||
#define XLP_REVISION_B0 0x03
|
||||
#define XLP_REVISION_B1 0x04
|
||||
|
||||
#ifndef LOCORE
|
||||
/*
|
||||
@ -87,6 +88,16 @@ static __inline int nlm_is_xlp3xx(void)
|
||||
return (nlm_processor_id() == CHIP_PROCESSOR_ID_XLP_3XX);
|
||||
}
|
||||
|
||||
static __inline int nlm_is_xlp3xx_ax(void)
|
||||
{
|
||||
uint32_t procid = mips_rd_prid();
|
||||
int prid = (procid >> 8) & 0xff;
|
||||
int rev = procid & 0xff;
|
||||
|
||||
return (prid == CHIP_PROCESSOR_ID_XLP_3XX &&
|
||||
rev < XLP_REVISION_B0);
|
||||
}
|
||||
|
||||
static __inline int nlm_is_xlp4xx(void)
|
||||
{
|
||||
int prid = nlm_processor_id();
|
||||
@ -116,5 +127,17 @@ static __inline int nlm_is_xlp8xx_ax(void)
|
||||
(rev < XLP_REVISION_B0));
|
||||
}
|
||||
|
||||
static __inline int nlm_is_xlp8xx_b0(void)
|
||||
{
|
||||
uint32_t procid = mips_rd_prid();
|
||||
int prid = (procid >> 8) & 0xff;
|
||||
int rev = procid & 0xff;
|
||||
|
||||
return ((prid == CHIP_PROCESSOR_ID_XLP_8XX ||
|
||||
prid == CHIP_PROCESSOR_ID_XLP_432 ||
|
||||
prid == CHIP_PROCESSOR_ID_XLP_416) &&
|
||||
rev == XLP_REVISION_B0);
|
||||
}
|
||||
|
||||
#endif /* LOCORE */
|
||||
#endif /* __NLM_XLP_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user