ppc4xx: Add 405EX(r) revision C PVR definitions and detection code
PATCH 1/1 ppc4xx: Add 405EX(r) revision C PVR definitions and detection code
Signed-off-by Stefan Roese <[email protected]>
--- board/amcc/kilauea/kilauea.c | 19 ++++++++++++------- cpu/ppc4xx/cpu.c | 20 ++++++++++++++++++++ include/asm-ppc/processor.h | 12 ++++++++---- 3 files changed, 40 insertions(+), 11 deletions(-)
board/amcc/kilauea/kilauea.c +12 -7
@@ -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" );
cpu/ppc4xx/cpu.c +20 -0
@@ -346,6 +346,26 @@ int checkcpu (void)strcpy (addstr,"No Security support" );break ; +case PVR_405EX1_RC : +puts ("EX Rev. C" ); +strcpy (addstr,"Security support" ); +break ; + +case PVR_405EX2_RC : +puts ("EX Rev. C" ); +strcpy (addstr,"No Security support" ); +break ; + +case PVR_405EXR1_RC : +puts ("EXr Rev. C" ); +strcpy (addstr,"Security support" ); +break ; + +case PVR_405EXR2_RC : +puts ("EXr Rev. C" ); +strcpy (addstr,"No Security support" ); +break ; +#if defined(CONFIG_440 )case PVR_440GP_RB :puts ("GP Rev. B" );
include/asm-ppc/processor.h +8 -4
@@ -772,10 +772,14 @@#define PVR_405EP_RA 0x51210950#define PVR_405GPR_RB 0x50910951#define PVR_405EZ_RA 0x41511460 -#define PVR_405EXR1_RA 0x12911473/* 405EXr rev A with Security */ -#define PVR_405EXR2_RA 0x12911471/* 405EXr rev A without Security */ -#define PVR_405EX1_RA 0x12911477/* 405EX rev A with Security */ -#define PVR_405EX2_RA 0x12911475/* 405EX rev A without Security */ +#define PVR_405EXR1_RA 0x12911473/* 405EXr rev A/B with Security */ +#define PVR_405EXR2_RA 0x12911471/* 405EXr rev A/B without Security */ +#define PVR_405EX1_RA 0x12911477/* 405EX rev A/B with Security */ +#define PVR_405EX2_RA 0x12911475/* 405EX rev A/B without Security */ +#define PVR_405EXR1_RC 0x1291147B/* 405EXr rev C with Security */ +#define PVR_405EXR2_RC 0x12911479/* 405EXr rev C without Security */ +#define PVR_405EX1_RC 0x1291147F/* 405EX rev C with Security */ +#define PVR_405EX2_RC 0x1291147D/* 405EX rev C without Security */ #define PVR_440GP_RB 0x40120440#define PVR_440GP_RC 0x40120481#define PVR_440EP_RA 0x42221850
Signature · 1 line
1.5.5.1