diff options
author | Stefan Roese <sr@denx.de> | 2008-05-13 20:22:01 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2008-05-13 20:22:01 +0200 |
commit | 70fab1908fc1734a403711eaabbef546bc4b77dc (patch) | |
tree | 46c99eba34e0965106f98ad8d8e806a6d3621220 /board/amcc | |
parent | 65dcfa79204f4750b905a173a5365e0b2eb6c2f6 (diff) |
ppc4xx: Add 405EX(r) revision C PVR definitions and detection code
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/amcc')
-rw-r--r-- | board/amcc/kilauea/kilauea.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/board/amcc/kilauea/kilauea.c b/board/amcc/kilauea/kilauea.c index 37ef06ef2a7..d806a412ebf 100644 --- a/board/amcc/kilauea/kilauea.c +++ b/board/amcc/kilauea/kilauea.c @@ -230,14 +230,22 @@ int misc_init_r(void) return 0; } -int board_emac_count(void) +static int is_405exr(void) { u32 pvr = get_pvr(); + if (pvr & 0x00000004) + return 0; /* bit 2 set -> 405EX */ + + return 1; /* bit 2 cleared -> 405EXr */ +} + +int board_emac_count(void) +{ /* * 405EXr only has one EMAC interface, 405EX has two */ - if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA)) + if (is_405exr()) return 1; else return 2; @@ -245,12 +253,10 @@ int board_emac_count(void) static int board_pcie_count(void) { - u32 pvr = get_pvr(); - /* * 405EXr only has one EMAC interface, 405EX has two */ - if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA)) + if (is_405exr()) return 1; else return 2; @@ -259,9 +265,8 @@ static int board_pcie_count(void) int checkboard (void) { char *s = getenv("serial#"); - u32 pvr = get_pvr(); - if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA)) + if (is_405exr()) printf("Board: Haleakala - AMCC PPC405EXr Evaluation Board"); else printf("Board: Kilauea - AMCC PPC405EX Evaluation Board"); |