aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2014-02-05 20:35:13 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-03-06 23:54:48 -0500
commit3c8464a9b12bf83807b6e2c896d7e7b633e1cae7 (patch)
tree8cc6e03647693da256d4f66c1c06253ceea5a25e
parent74e7cd432c3d1641df4c88666cc427b03495673b (diff)
powerpc: Delete old PrPMC 280/2800 support
This processor/memory module was mostly used on ATCA blades and before that, on cPCI blades. It wasn't really user friendly, with custom non u-boot bootloaders (powerboot/motload) and no real way to recover corrupted boot flash (which was a common problem). As such, it had its day back before the big ppc --> powerpc move to device trees, and that was largely through commercial BSPs that started to dry up around 2007. Systems using one were largely in a "deploy and sustain" mode, so interest in upgrading to new kernels in the field was nil. Also, requiring 50A, 48V power supplies and a 2'x2'x2' ATCA chassis largely rules out any hobbyist/enthusiast interest. The point of all this, is that we might as well delete the in kernel files relating to this platform. No point in continuing to build it via walking the defconfigs or via linux-next testing. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/boot/Makefile5
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig107
-rw-r--r--arch/powerpc/platforms/embedded6xx/Kconfig8
-rw-r--r--arch/powerpc/platforms/embedded6xx/Makefile1
-rw-r--r--arch/powerpc/platforms/embedded6xx/prpmc2800.c156
5 files changed, 2 insertions, 275 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 90e9d9548660..a1f8c7f1ec60 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -54,7 +54,7 @@ zlib := inffast.c inflate.c inftrees.c
54zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h 54zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h
55zliblinuxheader := zlib.h zconf.h zutil.h 55zliblinuxheader := zlib.h zconf.h zutil.h
56 56
57$(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \ 57$(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o): \
58 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) 58 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
59 59
60libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c 60libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
@@ -95,7 +95,7 @@ src-plat-$(CONFIG_FSL_SOC_BOOKE) += cuboot-85xx.c cuboot-85xx-cpm2.c
95src-plat-$(CONFIG_EMBEDDED6xx) += cuboot-pq2.c cuboot-mpc7448hpc2.c \ 95src-plat-$(CONFIG_EMBEDDED6xx) += cuboot-pq2.c cuboot-mpc7448hpc2.c \
96 cuboot-c2k.c gamecube-head.S \ 96 cuboot-c2k.c gamecube-head.S \
97 gamecube.c wii-head.S wii.c holly.c \ 97 gamecube.c wii-head.S wii.c holly.c \
98 prpmc2800.c fixed-head.S mvme5100.c 98 fixed-head.S mvme5100.c
99src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c 99src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c
100src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c 100src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c
101src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c 101src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
@@ -204,7 +204,6 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp
204image-$(CONFIG_PPC_EFIKA) += zImage.chrp 204image-$(CONFIG_PPC_EFIKA) += zImage.chrp
205image-$(CONFIG_PPC_PMAC) += zImage.pmac 205image-$(CONFIG_PPC_PMAC) += zImage.pmac
206image-$(CONFIG_PPC_HOLLY) += dtbImage.holly 206image-$(CONFIG_PPC_HOLLY) += dtbImage.holly
207image-$(CONFIG_PPC_PRPMC2800) += dtbImage.prpmc2800
208image-$(CONFIG_DEFAULT_UIMAGE) += uImage 207image-$(CONFIG_DEFAULT_UIMAGE) += uImage
209image-$(CONFIG_EPAPR_BOOT) += zImage.epapr 208image-$(CONFIG_EPAPR_BOOT) += zImage.epapr
210 209
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
deleted file mode 100644
index f84ea2145bab..000000000000
--- a/arch/powerpc/configs/prpmc2800_defconfig
+++ /dev/null
@@ -1,107 +0,0 @@
1CONFIG_ALTIVEC=y
2CONFIG_EXPERIMENTAL=y
3CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y
5CONFIG_LOG_BUF_SHIFT=14
6CONFIG_BLK_DEV_INITRD=y
7# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
8# CONFIG_BLK_DEV_BSG is not set
9# CONFIG_IOSCHED_DEADLINE is not set
10# CONFIG_IOSCHED_CFQ is not set
11# CONFIG_PPC_CHRP is not set
12# CONFIG_PPC_PMAC is not set
13CONFIG_EMBEDDED6xx=y
14CONFIG_PPC_PRPMC2800=y
15CONFIG_HIGHMEM=y
16CONFIG_NO_HZ=y
17CONFIG_HIGH_RES_TIMERS=y
18CONFIG_BINFMT_MISC=y
19CONFIG_SPARSE_IRQ=y
20# CONFIG_SECCOMP is not set
21CONFIG_NET=y
22CONFIG_PACKET=y
23CONFIG_UNIX=y
24CONFIG_XFRM_USER=y
25CONFIG_INET=y
26CONFIG_IP_MULTICAST=y
27CONFIG_IP_PNP=y
28CONFIG_IP_PNP_DHCP=y
29CONFIG_IP_PNP_BOOTP=y
30CONFIG_SYN_COOKIES=y
31# CONFIG_IPV6 is not set
32CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
33CONFIG_MTD=y
34CONFIG_MTD_CONCAT=y
35CONFIG_MTD_CHAR=y
36CONFIG_MTD_BLOCK=y
37CONFIG_MTD_CFI=y
38CONFIG_MTD_JEDECPROBE=y
39CONFIG_MTD_CFI_INTELEXT=y
40CONFIG_MTD_PHYSMAP_OF=y
41CONFIG_PROC_DEVICETREE=y
42CONFIG_BLK_DEV_LOOP=y
43CONFIG_BLK_DEV_RAM=y
44CONFIG_BLK_DEV_RAM_SIZE=131072
45CONFIG_IDE=y
46CONFIG_BLK_DEV_GENERIC=y
47CONFIG_BLK_DEV_PDC202XX_NEW=y
48CONFIG_BLK_DEV_SD=y
49CONFIG_ATA=y
50CONFIG_SATA_MV=y
51CONFIG_MACINTOSH_DRIVERS=y
52CONFIG_NETDEVICES=y
53CONFIG_NET_ETHERNET=y
54CONFIG_NET_PCI=y
55CONFIG_E100=y
56CONFIG_8139TOO=y
57# CONFIG_8139TOO_PIO is not set
58CONFIG_E1000=y
59CONFIG_MV643XX_ETH=y
60# CONFIG_INPUT_KEYBOARD is not set
61# CONFIG_INPUT_MOUSE is not set
62# CONFIG_SERIO is not set
63CONFIG_SERIAL_MPSC=y
64CONFIG_SERIAL_MPSC_CONSOLE=y
65# CONFIG_HW_RANDOM is not set
66CONFIG_I2C=y
67CONFIG_I2C_CHARDEV=y
68CONFIG_I2C_MV64XXX=y
69CONFIG_VIDEO_OUTPUT_CONTROL=y
70CONFIG_HID_DRAGONRISE=y
71CONFIG_HID_GYRATION=y
72CONFIG_HID_TWINHAN=y
73CONFIG_HID_NTRIG=y
74CONFIG_HID_ORTEK=y
75CONFIG_HID_PANTHERLORD=y
76CONFIG_HID_PETALYNX=y
77CONFIG_HID_SAMSUNG=y
78CONFIG_HID_SONY=y
79CONFIG_HID_SUNPLUS=y
80CONFIG_HID_GREENASIA=y
81CONFIG_HID_SMARTJOYPLUS=y
82CONFIG_HID_TOPSEED=y
83CONFIG_HID_THRUSTMASTER=y
84CONFIG_THRUSTMASTER_FF=y
85CONFIG_HID_ZEROPLUS=y
86CONFIG_ZEROPLUS_FF=y
87CONFIG_USB=y
88CONFIG_USB_DEVICEFS=y
89# CONFIG_USB_DEVICE_CLASS is not set
90CONFIG_USB_MON=y
91CONFIG_USB_EHCI_HCD=y
92CONFIG_USB_OHCI_HCD=y
93CONFIG_RTC_CLASS=y
94CONFIG_RTC_DRV_MAX6900=y
95CONFIG_EXT2_FS=y
96CONFIG_EXT3_FS=y
97# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
98CONFIG_INOTIFY=y
99CONFIG_PROC_KCORE=y
100CONFIG_TMPFS=y
101CONFIG_NFS_FS=y
102CONFIG_ROOT_NFS=y
103CONFIG_PARTITION_ADVANCED=y
104CONFIG_CRC_T10DIF=y
105# CONFIG_RCU_CPU_STALL_DETECTOR is not set
106CONFIG_SYSCTL_SYSCALL_CHECK=y
107# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
index 6d3c7a9fd047..3fdc8bc6258f 100644
--- a/arch/powerpc/platforms/embedded6xx/Kconfig
+++ b/arch/powerpc/platforms/embedded6xx/Kconfig
@@ -49,14 +49,6 @@ config PPC_HOLLY
49 Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval 49 Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval
50 Board with TSI108/9 bridge (Hickory/Holly) 50 Board with TSI108/9 bridge (Hickory/Holly)
51 51
52config PPC_PRPMC2800
53 bool "Motorola-PrPMC2800"
54 depends on EMBEDDED6xx
55 select MV64X60
56 select NOT_COHERENT_CACHE
57 help
58 This option enables support for the Motorola PrPMC2800 board
59
60config PPC_C2K 52config PPC_C2K
61 bool "SBS/GEFanuc C2K board" 53 bool "SBS/GEFanuc C2K board"
62 depends on EMBEDDED6xx 54 depends on EMBEDDED6xx
diff --git a/arch/powerpc/platforms/embedded6xx/Makefile b/arch/powerpc/platforms/embedded6xx/Makefile
index cdd48d402b93..f126a2a09981 100644
--- a/arch/powerpc/platforms/embedded6xx/Makefile
+++ b/arch/powerpc/platforms/embedded6xx/Makefile
@@ -5,7 +5,6 @@ obj-$(CONFIG_MPC7448HPC2) += mpc7448_hpc2.o
5obj-$(CONFIG_LINKSTATION) += linkstation.o ls_uart.o 5obj-$(CONFIG_LINKSTATION) += linkstation.o ls_uart.o
6obj-$(CONFIG_STORCENTER) += storcenter.o 6obj-$(CONFIG_STORCENTER) += storcenter.o
7obj-$(CONFIG_PPC_HOLLY) += holly.o 7obj-$(CONFIG_PPC_HOLLY) += holly.o
8obj-$(CONFIG_PPC_PRPMC2800) += prpmc2800.o
9obj-$(CONFIG_PPC_C2K) += c2k.o 8obj-$(CONFIG_PPC_C2K) += c2k.o
10obj-$(CONFIG_USBGECKO_UDBG) += usbgecko_udbg.o 9obj-$(CONFIG_USBGECKO_UDBG) += usbgecko_udbg.o
11obj-$(CONFIG_GAMECUBE_COMMON) += flipper-pic.o 10obj-$(CONFIG_GAMECUBE_COMMON) += flipper-pic.o
diff --git a/arch/powerpc/platforms/embedded6xx/prpmc2800.c b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
deleted file mode 100644
index d455f08bea53..000000000000
--- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c
+++ /dev/null
@@ -1,156 +0,0 @@
1/*
2 * Board setup routines for the Motorola PrPMC2800
3 *
4 * Author: Dale Farnsworth <dale@farnsworth.org>
5 *
6 * 2007 (c) MontaVista, Software, Inc. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 */
11
12#include <linux/stddef.h>
13#include <linux/kernel.h>
14#include <linux/delay.h>
15#include <linux/interrupt.h>
16#include <linux/seq_file.h>
17
18#include <asm/machdep.h>
19#include <asm/prom.h>
20#include <asm/time.h>
21
22#include <mm/mmu_decl.h>
23
24#include <sysdev/mv64x60.h>
25
26#define MV64x60_MPP_CNTL_0 0x0000
27#define MV64x60_MPP_CNTL_2 0x0008
28
29#define MV64x60_GPP_IO_CNTL 0x0000
30#define MV64x60_GPP_LEVEL_CNTL 0x0010
31#define MV64x60_GPP_VALUE_SET 0x0018
32
33#define PLATFORM_NAME_MAX 32
34
35static char prpmc2800_platform_name[PLATFORM_NAME_MAX];
36
37static void __iomem *mv64x60_mpp_reg_base;
38static void __iomem *mv64x60_gpp_reg_base;
39
40static void __init prpmc2800_setup_arch(void)
41{
42 struct device_node *np;
43 phys_addr_t paddr;
44 const unsigned int *reg;
45
46 /*
47 * ioremap mpp and gpp registers in case they are later
48 * needed by prpmc2800_reset_board().
49 */
50 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-mpp");
51 reg = of_get_property(np, "reg", NULL);
52 paddr = of_translate_address(np, reg);
53 of_node_put(np);
54 mv64x60_mpp_reg_base = ioremap(paddr, reg[1]);
55
56 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-gpp");
57 reg = of_get_property(np, "reg", NULL);
58 paddr = of_translate_address(np, reg);
59 of_node_put(np);
60 mv64x60_gpp_reg_base = ioremap(paddr, reg[1]);
61
62#ifdef CONFIG_PCI
63 mv64x60_pci_init();
64#endif
65
66 printk("Motorola %s\n", prpmc2800_platform_name);
67}
68
69static void prpmc2800_reset_board(void)
70{
71 u32 temp;
72
73 local_irq_disable();
74
75 temp = in_le32(mv64x60_mpp_reg_base + MV64x60_MPP_CNTL_0);
76 temp &= 0xFFFF0FFF;
77 out_le32(mv64x60_mpp_reg_base + MV64x60_MPP_CNTL_0, temp);
78
79 temp = in_le32(mv64x60_gpp_reg_base + MV64x60_GPP_LEVEL_CNTL);
80 temp |= 0x00000004;
81 out_le32(mv64x60_gpp_reg_base + MV64x60_GPP_LEVEL_CNTL, temp);
82
83 temp = in_le32(mv64x60_gpp_reg_base + MV64x60_GPP_IO_CNTL);
84 temp |= 0x00000004;
85 out_le32(mv64x60_gpp_reg_base + MV64x60_GPP_IO_CNTL, temp);
86
87 temp = in_le32(mv64x60_mpp_reg_base + MV64x60_MPP_CNTL_2);
88 temp &= 0xFFFF0FFF;
89 out_le32(mv64x60_mpp_reg_base + MV64x60_MPP_CNTL_2, temp);
90
91 temp = in_le32(mv64x60_gpp_reg_base + MV64x60_GPP_LEVEL_CNTL);
92 temp |= 0x00080000;
93 out_le32(mv64x60_gpp_reg_base + MV64x60_GPP_LEVEL_CNTL, temp);
94
95 temp = in_le32(mv64x60_gpp_reg_base + MV64x60_GPP_IO_CNTL);
96 temp |= 0x00080000;
97 out_le32(mv64x60_gpp_reg_base + MV64x60_GPP_IO_CNTL, temp);
98
99 out_le32(mv64x60_gpp_reg_base + MV64x60_GPP_VALUE_SET, 0x00080004);
100}
101
102static void prpmc2800_restart(char *cmd)
103{
104 volatile ulong i = 10000000;
105
106 prpmc2800_reset_board();
107
108 while (i-- > 0);
109 panic("restart failed\n");
110}
111
112#ifdef CONFIG_NOT_COHERENT_CACHE
113#define PPRPM2800_COHERENCY_SETTING "off"
114#else
115#define PPRPM2800_COHERENCY_SETTING "on"
116#endif
117
118void prpmc2800_show_cpuinfo(struct seq_file *m)
119{
120 seq_printf(m, "Vendor\t\t: Motorola\n");
121 seq_printf(m, "coherency\t: %s\n", PPRPM2800_COHERENCY_SETTING);
122}
123
124/*
125 * Called very early, device-tree isn't unflattened
126 */
127static int __init prpmc2800_probe(void)
128{
129 unsigned long root = of_get_flat_dt_root();
130 unsigned long len = PLATFORM_NAME_MAX;
131 void *m;
132
133 if (!of_flat_dt_is_compatible(root, "motorola,PrPMC2800"))
134 return 0;
135
136 /* Update ppc_md.name with name from dt */
137 m = of_get_flat_dt_prop(root, "model", &len);
138 if (m)
139 strncpy(prpmc2800_platform_name, m,
140 min((int)len, PLATFORM_NAME_MAX - 1));
141
142 _set_L2CR(_get_L2CR() | L2CR_L2E);
143 return 1;
144}
145
146define_machine(prpmc2800){
147 .name = prpmc2800_platform_name,
148 .probe = prpmc2800_probe,
149 .setup_arch = prpmc2800_setup_arch,
150 .init_early = mv64x60_init_early,
151 .show_cpuinfo = prpmc2800_show_cpuinfo,
152 .init_IRQ = mv64x60_init_irq,
153 .get_irq = mv64x60_get_irq,
154 .restart = prpmc2800_restart,
155 .calibrate_decr = generic_calibrate_decr,
156};