[PATCH 6/6] 44x/currituck: Add support for the new IBM currituck platform
Kumar Gala
galak at kernel.crashing.org
Thu Dec 1 00:23:40 EST 2011
On Nov 29, 2011, at 11:24 PM, Tony Breeds wrote:
> Based on original work by David 'Shaggy' Kliekamp.
>
> Signed-off-by: Tony Breeds <tony at bakeyournoodle.com>
> ---
> arch/powerpc/boot/Makefile | 5 +-
> arch/powerpc/boot/dts/currituck.dts | 240 ++++++++++++++++++++++++++
> arch/powerpc/boot/treeboot-currituck.c | 129 ++++++++++++++
> arch/powerpc/boot/wrapper | 3 +
> arch/powerpc/configs/44x/currituck_defconfig | 110 ++++++++++++
> arch/powerpc/include/asm/reg.h | 1 +
> arch/powerpc/kernel/cputable.c | 14 ++
> arch/powerpc/kernel/head_44x.S | 2 +
> arch/powerpc/platforms/44x/Kconfig | 10 +
> arch/powerpc/platforms/44x/Makefile | 1 +
> arch/powerpc/platforms/44x/ppc47x.c | 198 +++++++++++++++++++++
> arch/powerpc/sysdev/ppc4xx_pci.c | 57 ++++++-
> arch/powerpc/sysdev/ppc4xx_pci.h | 7 +
> 13 files changed, 775 insertions(+), 2 deletions(-)
> create mode 100644 arch/powerpc/boot/dts/currituck.dts
> create mode 100644 arch/powerpc/boot/treeboot-currituck.c
> create mode 100644 arch/powerpc/configs/44x/currituck_defconfig
> create mode 100644 arch/powerpc/platforms/44x/ppc47x.c
Split the board support patches from the SoC support.
> diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
> index 559da19..aa38de6 100644
> --- a/arch/powerpc/include/asm/reg.h
> +++ b/arch/powerpc/include/asm/reg.h
> @@ -951,6 +951,7 @@
> #define PVR_403GCX 0x00201400
> #define PVR_405GP 0x40110000
> #define PVR_476 0x11a52000
> +#define PVR_476CURRITUCK 0x7ff50000
This seems like it should be PVR_476FPE
> #define PVR_STB03XXX 0x40310000
> #define PVR_NP405H 0x41410000
> #define PVR_NP405L 0x41610000
> diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
> index edae5bb..02e0749 100644
> --- a/arch/powerpc/kernel/cputable.c
> +++ b/arch/powerpc/kernel/cputable.c
> @@ -1830,6 +1830,20 @@ static struct cpu_spec __initdata cpu_specs[] = {
> .machine_check = machine_check_47x,
> .platform = "ppc470",
> },
> + { /* 476 core Currituck */
comment should probably be:
/* 476FPE */
> + .pvr_mask = 0xffff0000,
> + .pvr_value = 0x7ff50000,
> + .cpu_name = "476",
should probably be "476FPE"
> + .cpu_features = CPU_FTRS_47X | CPU_FTR_476_DD2,
> + .cpu_user_features = COMMON_USER_BOOKE |
> + PPC_FEATURE_HAS_FPU,
> + .mmu_features = MMU_FTR_TYPE_47x |
> + MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
> + .icache_bsize = 32,
> + .dcache_bsize = 128,
> + .machine_check = machine_check_47x,
> + .platform = "ppc470",
> + },
> { /* 476 iss */
> .pvr_mask = 0xffff0000,
> .pvr_value = 0x00050000,
> diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
> index b725dab..3aca1e2 100644
> --- a/arch/powerpc/kernel/head_44x.S
> +++ b/arch/powerpc/kernel/head_44x.S
> @@ -732,6 +732,8 @@ _GLOBAL(init_cpu_state)
> /* We use the PVR to differenciate 44x cores from 476 */
> mfspr r3,SPRN_PVR
> srwi r3,r3,16
> + cmplwi cr0,r3,PVR_476CURRITUCK at h
> + beq head_start_47x
> cmplwi cr0,r3,PVR_476 at h
> beq head_start_47x
> cmplwi cr0,r3,PVR_476_ISS at h
- k
More information about the Linuxppc-dev
mailing list