diff options
-rw-r--r-- | arch/powerpc/Kconfig | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/44x.c | 40 | ||||
-rw-r--r-- | arch/powerpc/boot/44x.h | 16 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 19 | ||||
-rw-r--r-- | arch/powerpc/boot/cuboot-ebony.c | 42 | ||||
-rw-r--r-- | arch/powerpc/boot/dcr.h | 87 | ||||
-rw-r--r-- | arch/powerpc/boot/ebony.c | 129 | ||||
-rw-r--r-- | arch/powerpc/boot/mktree.c | 10 | ||||
-rw-r--r-- | arch/powerpc/boot/treeboot-ebony.c | 34 | ||||
-rwxr-xr-x | arch/powerpc/boot/wrapper | 8 | ||||
-rw-r--r-- | arch/powerpc/configs/ebony_defconfig | 905 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/Kconfig | 56 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/ebony.c | 73 | ||||
-rw-r--r-- | arch/powerpc/platforms/Kconfig | 1 |
15 files changed, 1418 insertions, 11 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index abb13cfd2ef9..808d2ef80e2f 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -214,6 +214,7 @@ config 40x | |||
214 | config 44x | 214 | config 44x |
215 | bool "AMCC 44x" | 215 | bool "AMCC 44x" |
216 | select PPC_DCR_NATIVE | 216 | select PPC_DCR_NATIVE |
217 | select WANT_DEVICE_TREE | ||
217 | 218 | ||
218 | config E200 | 219 | config E200 |
219 | bool "Freescale e200" | 220 | bool "Freescale e200" |
@@ -278,9 +279,14 @@ config PPC_OF_PLATFORM_PCI | |||
278 | depends on PPC64 # not supported on 32 bits yet | 279 | depends on PPC64 # not supported on 32 bits yet |
279 | default n | 280 | default n |
280 | 281 | ||
282 | config 4xx | ||
283 | bool | ||
284 | depends on 40x || 44x | ||
285 | default y | ||
286 | |||
281 | config BOOKE | 287 | config BOOKE |
282 | bool | 288 | bool |
283 | depends on E200 || E500 | 289 | depends on E200 || E500 || 44x |
284 | default y | 290 | default y |
285 | 291 | ||
286 | config FSL_BOOKE | 292 | config FSL_BOOKE |
diff --git a/arch/powerpc/boot/44x.c b/arch/powerpc/boot/44x.c new file mode 100644 index 000000000000..d51377d9024f --- /dev/null +++ b/arch/powerpc/boot/44x.c | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright 2007 David Gibson, IBM Corporation. | ||
3 | * | ||
4 | * Based on earlier code: | ||
5 | * Matt Porter <mporter@kernel.crashing.org> | ||
6 | * Copyright 2002-2005 MontaVista Software Inc. | ||
7 | * | ||
8 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | ||
9 | * Copyright (c) 2003, 2004 Zultys Technologies | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License | ||
13 | * as published by the Free Software Foundation; either version | ||
14 | * 2 of the License, or (at your option) any later version. | ||
15 | */ | ||
16 | #include <stddef.h> | ||
17 | #include "types.h" | ||
18 | #include "string.h" | ||
19 | #include "stdio.h" | ||
20 | #include "ops.h" | ||
21 | #include "reg.h" | ||
22 | #include "dcr.h" | ||
23 | |||
24 | /* Read the 44x memory controller to get size of system memory. */ | ||
25 | void ibm44x_fixup_memsize(void) | ||
26 | { | ||
27 | int i; | ||
28 | unsigned long memsize, bank_config; | ||
29 | |||
30 | memsize = 0; | ||
31 | for (i = 0; i < ARRAY_SIZE(sdram_bxcr); i++) { | ||
32 | mtdcr(DCRN_SDRAM0_CFGADDR, sdram_bxcr[i]); | ||
33 | bank_config = mfdcr(DCRN_SDRAM0_CFGDATA); | ||
34 | |||
35 | if (bank_config & SDRAM_CONFIG_BANK_ENABLE) | ||
36 | memsize += SDRAM_CONFIG_BANK_SIZE(bank_config); | ||
37 | } | ||
38 | |||
39 | dt_fixup_memory(0, memsize); | ||
40 | } | ||
diff --git a/arch/powerpc/boot/44x.h b/arch/powerpc/boot/44x.h new file mode 100644 index 000000000000..7b129ad043e1 --- /dev/null +++ b/arch/powerpc/boot/44x.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * PowerPC 44x related functions | ||
3 | * | ||
4 | * Copyright 2007 David Gibson, IBM Corporation. | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | #ifndef _PPC_BOOT_44X_H_ | ||
11 | #define _PPC_BOOT_44X_H_ | ||
12 | |||
13 | void ibm44x_fixup_memsize(void); | ||
14 | void ebony_init(void *mac0, void *mac1); | ||
15 | |||
16 | #endif /* _PPC_BOOT_44X_H_ */ | ||
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index ccd757c193e7..5c384aad1184 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -42,8 +42,10 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \ | |||
42 | 42 | ||
43 | src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \ | 43 | src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \ |
44 | ns16550.c serial.c simple_alloc.c div64.S util.S \ | 44 | ns16550.c serial.c simple_alloc.c div64.S util.S \ |
45 | gunzip_util.c elf_util.c $(zlib) devtree.c | 45 | gunzip_util.c elf_util.c $(zlib) devtree.c \ |
46 | src-plat := of.c cuboot-83xx.c cuboot-85xx.c holly.c | 46 | 44x.c ebony.c |
47 | src-plat := of.c cuboot-83xx.c cuboot-85xx.c holly.c \ | ||
48 | cuboot-ebony.c treeboot-ebony.c | ||
47 | src-boot := $(src-wlib) $(src-plat) empty.c | 49 | src-boot := $(src-wlib) $(src-plat) empty.c |
48 | 50 | ||
49 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 51 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -135,6 +137,7 @@ image-$(CONFIG_DEFAULT_UIMAGE) += uImage | |||
135 | ifneq ($(CONFIG_DEVICE_TREE),"") | 137 | ifneq ($(CONFIG_DEVICE_TREE),"") |
136 | image-$(CONFIG_PPC_83xx) += cuImage.83xx | 138 | image-$(CONFIG_PPC_83xx) += cuImage.83xx |
137 | image-$(CONFIG_PPC_85xx) += cuImage.85xx | 139 | image-$(CONFIG_PPC_85xx) += cuImage.85xx |
140 | image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony | ||
138 | endif | 141 | endif |
139 | 142 | ||
140 | # For 32-bit powermacs, build the COFF and miboot images | 143 | # For 32-bit powermacs, build the COFF and miboot images |
@@ -144,7 +147,8 @@ image-$(CONFIG_PPC_PMAC) += zImage.coff zImage.miboot | |||
144 | endif | 147 | endif |
145 | 148 | ||
146 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) | 149 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) |
147 | initrd-y := $(patsubst zImage%, zImage.initrd%, $(image-y)) | 150 | initrd-y := $(patsubst zImage%, zImage.initrd%, \ |
151 | $(patsubst treeImage%, treeImage.initrd%, $(image-y))) | ||
148 | initrd-y := $(filter-out $(image-y), $(initrd-y)) | 152 | initrd-y := $(filter-out $(image-y), $(initrd-y)) |
149 | targets += $(image-y) $(initrd-y) | 153 | targets += $(image-y) $(initrd-y) |
150 | 154 | ||
@@ -181,6 +185,12 @@ dts = $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\ | |||
181 | $(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits) | 185 | $(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits) |
182 | $(call if_changed,wrap,cuboot-$*,$(dts)) | 186 | $(call if_changed,wrap,cuboot-$*,$(dts)) |
183 | 187 | ||
188 | $(obj)/treeImage.%: vmlinux $(dts) $(wrapperbits) | ||
189 | $(call if_changed,wrap,treeboot-$*,$(dts)) | ||
190 | |||
191 | $(obj)/treeImage.initrd.%: vmlinux $(dts) $(wrapperbits) | ||
192 | $(call if_changed,wrap,treeboot-$*,$(dts),,$(obj)/ramdisk.image.gz) | ||
193 | |||
184 | $(obj)/zImage: $(addprefix $(obj)/, $(image-y)) | 194 | $(obj)/zImage: $(addprefix $(obj)/, $(image-y)) |
185 | @rm -f $@; ln $< $@ | 195 | @rm -f $@; ln $< $@ |
186 | $(obj)/zImage.initrd: $(addprefix $(obj)/, $(initrd-y)) | 196 | $(obj)/zImage.initrd: $(addprefix $(obj)/, $(initrd-y)) |
@@ -190,7 +200,8 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
190 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< | 200 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< |
191 | 201 | ||
192 | # anything not in $(targets) | 202 | # anything not in $(targets) |
193 | clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* | 203 | clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* \ |
204 | treeImage.* | ||
194 | 205 | ||
195 | # clean up files cached by wrapper | 206 | # clean up files cached by wrapper |
196 | clean-kernel := vmlinux.strip vmlinux.bin | 207 | clean-kernel := vmlinux.strip vmlinux.bin |
diff --git a/arch/powerpc/boot/cuboot-ebony.c b/arch/powerpc/boot/cuboot-ebony.c new file mode 100644 index 000000000000..4464c5f67acb --- /dev/null +++ b/arch/powerpc/boot/cuboot-ebony.c | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * Old U-boot compatibility for Ebony | ||
3 | * | ||
4 | * Author: David Gibson <david@gibson.dropbear.id.au> | ||
5 | * | ||
6 | * Copyright 2007 David Gibson, IBM Corporatio. | ||
7 | * Based on cuboot-83xx.c, which is: | ||
8 | * Copyright (c) 2007 Freescale Semiconductor, Inc. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License version 2 as published | ||
12 | * by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include "ops.h" | ||
16 | #include "stdio.h" | ||
17 | #include "44x.h" | ||
18 | |||
19 | #define TARGET_44x | ||
20 | #include "ppcboot.h" | ||
21 | |||
22 | static bd_t bd; | ||
23 | extern char _end[]; | ||
24 | |||
25 | BSS_STACK(4096); | ||
26 | |||
27 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
28 | unsigned long r6, unsigned long r7) | ||
29 | { | ||
30 | unsigned long end_of_ram = bd.bi_memstart + bd.bi_memsize; | ||
31 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; | ||
32 | |||
33 | memcpy(&bd, (bd_t *)r3, sizeof(bd)); | ||
34 | loader_info.initrd_addr = r4; | ||
35 | loader_info.initrd_size = r4 ? r5 : 0; | ||
36 | loader_info.cmdline = (char *)r6; | ||
37 | loader_info.cmdline_len = r7 - r6; | ||
38 | |||
39 | simple_alloc_init(_end, avail_ram, 32, 64); | ||
40 | |||
41 | ebony_init(&bd.bi_enetaddr, &bd.bi_enet1addr); | ||
42 | } | ||
diff --git a/arch/powerpc/boot/dcr.h b/arch/powerpc/boot/dcr.h new file mode 100644 index 000000000000..877bc97b1e97 --- /dev/null +++ b/arch/powerpc/boot/dcr.h | |||
@@ -0,0 +1,87 @@ | |||
1 | #ifndef _PPC_BOOT_DCR_H_ | ||
2 | #define _PPC_BOOT_DCR_H_ | ||
3 | |||
4 | #define mfdcr(rn) \ | ||
5 | ({ \ | ||
6 | unsigned long rval; \ | ||
7 | asm volatile("mfdcr %0,%1" : "=r"(rval) : "i"(rn)); \ | ||
8 | rval; \ | ||
9 | }) | ||
10 | #define mtdcr(rn, val) \ | ||
11 | asm volatile("mtdcr %0,%1" : : "i"(rn), "r"(val)) | ||
12 | |||
13 | /* 440GP/440GX SDRAM controller DCRs */ | ||
14 | #define DCRN_SDRAM0_CFGADDR 0x010 | ||
15 | #define DCRN_SDRAM0_CFGDATA 0x011 | ||
16 | |||
17 | #define SDRAM0_B0CR 0x40 | ||
18 | #define SDRAM0_B1CR 0x44 | ||
19 | #define SDRAM0_B2CR 0x48 | ||
20 | #define SDRAM0_B3CR 0x4c | ||
21 | |||
22 | static const unsigned long sdram_bxcr[] = { SDRAM0_B0CR, SDRAM0_B1CR, SDRAM0_B2CR, SDRAM0_B3CR }; | ||
23 | |||
24 | #define SDRAM_CONFIG_BANK_ENABLE 0x00000001 | ||
25 | #define SDRAM_CONFIG_SIZE_MASK 0x000e0000 | ||
26 | #define SDRAM_CONFIG_BANK_SIZE(reg) \ | ||
27 | (0x00400000 << ((reg & SDRAM_CONFIG_SIZE_MASK) >> 17)) | ||
28 | |||
29 | /* 440GP Clock, PM, chip control */ | ||
30 | #define DCRN_CPC0_SR 0x0b0 | ||
31 | #define DCRN_CPC0_ER 0x0b1 | ||
32 | #define DCRN_CPC0_FR 0x0b2 | ||
33 | #define DCRN_CPC0_SYS0 0x0e0 | ||
34 | #define CPC0_SYS0_TUNE 0xffc00000 | ||
35 | #define CPC0_SYS0_FBDV_MASK 0x003c0000 | ||
36 | #define CPC0_SYS0_FWDVA_MASK 0x00038000 | ||
37 | #define CPC0_SYS0_FWDVB_MASK 0x00007000 | ||
38 | #define CPC0_SYS0_OPDV_MASK 0x00000c00 | ||
39 | #define CPC0_SYS0_EPDV_MASK 0x00000300 | ||
40 | /* Helper macros to compute the actual clock divider values from the | ||
41 | * encodings in the CPC0 register */ | ||
42 | #define CPC0_SYS0_FBDV(reg) \ | ||
43 | ((((((reg) & CPC0_SYS0_FBDV_MASK) >> 18) - 1) & 0xf) + 1) | ||
44 | #define CPC0_SYS0_FWDVA(reg) \ | ||
45 | (8 - (((reg) & CPC0_SYS0_FWDVA_MASK) >> 15)) | ||
46 | #define CPC0_SYS0_FWDVB(reg) \ | ||
47 | (8 - (((reg) & CPC0_SYS0_FWDVB_MASK) >> 12)) | ||
48 | #define CPC0_SYS0_OPDV(reg) \ | ||
49 | ((((reg) & CPC0_SYS0_OPDV_MASK) >> 10) + 1) | ||
50 | #define CPC0_SYS0_EPDV(reg) \ | ||
51 | ((((reg) & CPC0_SYS0_EPDV_MASK) >> 8) + 1) | ||
52 | #define CPC0_SYS0_EXTSL 0x00000080 | ||
53 | #define CPC0_SYS0_RW_MASK 0x00000060 | ||
54 | #define CPC0_SYS0_RL 0x00000010 | ||
55 | #define CPC0_SYS0_ZMIISL_MASK 0x0000000c | ||
56 | #define CPC0_SYS0_BYPASS 0x00000002 | ||
57 | #define CPC0_SYS0_NTO1 0x00000001 | ||
58 | #define DCRN_CPC0_SYS1 0x0e1 | ||
59 | #define DCRN_CPC0_CUST0 0x0e2 | ||
60 | #define DCRN_CPC0_CUST1 0x0e3 | ||
61 | #define DCRN_CPC0_STRP0 0x0e4 | ||
62 | #define DCRN_CPC0_STRP1 0x0e5 | ||
63 | #define DCRN_CPC0_STRP2 0x0e6 | ||
64 | #define DCRN_CPC0_STRP3 0x0e7 | ||
65 | #define DCRN_CPC0_GPIO 0x0e8 | ||
66 | #define DCRN_CPC0_PLB 0x0e9 | ||
67 | #define DCRN_CPC0_CR1 0x0ea | ||
68 | #define DCRN_CPC0_CR0 0x0eb | ||
69 | #define CPC0_CR0_SWE 0x80000000 | ||
70 | #define CPC0_CR0_CETE 0x40000000 | ||
71 | #define CPC0_CR0_U1FCS 0x20000000 | ||
72 | #define CPC0_CR0_U0DTE 0x10000000 | ||
73 | #define CPC0_CR0_U0DRE 0x08000000 | ||
74 | #define CPC0_CR0_U0DC 0x04000000 | ||
75 | #define CPC0_CR0_U1DTE 0x02000000 | ||
76 | #define CPC0_CR0_U1DRE 0x01000000 | ||
77 | #define CPC0_CR0_U1DC 0x00800000 | ||
78 | #define CPC0_CR0_U0EC 0x00400000 | ||
79 | #define CPC0_CR0_U1EC 0x00200000 | ||
80 | #define CPC0_CR0_UDIV_MASK 0x001f0000 | ||
81 | #define CPC0_CR0_UDIV(reg) \ | ||
82 | ((((reg) & CPC0_CR0_UDIV_MASK) >> 16) + 1) | ||
83 | #define DCRN_CPC0_MIRQ0 0x0ec | ||
84 | #define DCRN_CPC0_MIRQ1 0x0ed | ||
85 | #define DCRN_CPC0_JTAGID 0x0ef | ||
86 | |||
87 | #endif /* _PPC_BOOT_DCR_H_ */ | ||
diff --git a/arch/powerpc/boot/ebony.c b/arch/powerpc/boot/ebony.c new file mode 100644 index 000000000000..b1251ee7a102 --- /dev/null +++ b/arch/powerpc/boot/ebony.c | |||
@@ -0,0 +1,129 @@ | |||
1 | /* | ||
2 | * Copyright 2007 David Gibson, IBM Corporation. | ||
3 | * | ||
4 | * Based on earlier code: | ||
5 | * Copyright (C) Paul Mackerras 1997. | ||
6 | * | ||
7 | * Matt Porter <mporter@kernel.crashing.org> | ||
8 | * Copyright 2002-2005 MontaVista Software Inc. | ||
9 | * | ||
10 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | ||
11 | * Copyright (c) 2003, 2004 Zultys Technologies | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public License | ||
15 | * as published by the Free Software Foundation; either version | ||
16 | * 2 of the License, or (at your option) any later version. | ||
17 | */ | ||
18 | #include <stdarg.h> | ||
19 | #include <stddef.h> | ||
20 | #include "types.h" | ||
21 | #include "elf.h" | ||
22 | #include "string.h" | ||
23 | #include "stdio.h" | ||
24 | #include "page.h" | ||
25 | #include "ops.h" | ||
26 | #include "reg.h" | ||
27 | #include "dcr.h" | ||
28 | #include "44x.h" | ||
29 | |||
30 | extern char _dtb_start[]; | ||
31 | extern char _dtb_end[]; | ||
32 | |||
33 | static u8 *ebony_mac0, *ebony_mac1; | ||
34 | |||
35 | /* Calculate 440GP clocks */ | ||
36 | void ibm440gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk) | ||
37 | { | ||
38 | u32 sys0 = mfdcr(DCRN_CPC0_SYS0); | ||
39 | u32 cr0 = mfdcr(DCRN_CPC0_CR0); | ||
40 | u32 cpu, plb, opb, ebc, tb, uart0, uart1, m; | ||
41 | u32 opdv = CPC0_SYS0_OPDV(sys0); | ||
42 | u32 epdv = CPC0_SYS0_EPDV(sys0); | ||
43 | |||
44 | if (sys0 & CPC0_SYS0_BYPASS) { | ||
45 | /* Bypass system PLL */ | ||
46 | cpu = plb = sysclk; | ||
47 | } else { | ||
48 | if (sys0 & CPC0_SYS0_EXTSL) | ||
49 | /* PerClk */ | ||
50 | m = CPC0_SYS0_FWDVB(sys0) * opdv * epdv; | ||
51 | else | ||
52 | /* CPU clock */ | ||
53 | m = CPC0_SYS0_FBDV(sys0) * CPC0_SYS0_FWDVA(sys0); | ||
54 | cpu = sysclk * m / CPC0_SYS0_FWDVA(sys0); | ||
55 | plb = sysclk * m / CPC0_SYS0_FWDVB(sys0); | ||
56 | } | ||
57 | |||
58 | opb = plb / opdv; | ||
59 | ebc = opb / epdv; | ||
60 | |||
61 | /* FIXME: Check if this is for all 440GP, or just Ebony */ | ||
62 | if ((mfpvr() & 0xf0000fff) == 0x40000440) | ||
63 | /* Rev. B 440GP, use external system clock */ | ||
64 | tb = sysclk; | ||
65 | else | ||
66 | /* Rev. C 440GP, errata force us to use internal clock */ | ||
67 | tb = cpu; | ||
68 | |||
69 | if (cr0 & CPC0_CR0_U0EC) | ||
70 | /* External UART clock */ | ||
71 | uart0 = ser_clk; | ||
72 | else | ||
73 | /* Internal UART clock */ | ||
74 | uart0 = plb / CPC0_CR0_UDIV(cr0); | ||
75 | |||
76 | if (cr0 & CPC0_CR0_U1EC) | ||
77 | /* External UART clock */ | ||
78 | uart1 = ser_clk; | ||
79 | else | ||
80 | /* Internal UART clock */ | ||
81 | uart1 = plb / CPC0_CR0_UDIV(cr0); | ||
82 | |||
83 | printf("PPC440GP: SysClk = %dMHz (%x)\n\r", | ||
84 | (sysclk + 500000) / 1000000, sysclk); | ||
85 | |||
86 | dt_fixup_cpu_clocks(cpu, tb, 0); | ||
87 | |||
88 | dt_fixup_clock("/plb", plb); | ||
89 | dt_fixup_clock("/plb/opb", opb); | ||
90 | dt_fixup_clock("/plb/opb/ebc", ebc); | ||
91 | dt_fixup_clock("/plb/opb/serial@40000200", uart0); | ||
92 | dt_fixup_clock("/plb/opb/serial@40000300", uart1); | ||
93 | } | ||
94 | |||
95 | static void ebony_fixups(void) | ||
96 | { | ||
97 | // FIXME: sysclk should be derived by reading the FPGA registers | ||
98 | unsigned long sysclk = 33000000; | ||
99 | |||
100 | ibm440gp_fixup_clocks(sysclk, 6 * 1843200); | ||
101 | ibm44x_fixup_memsize(); | ||
102 | dt_fixup_mac_addresses(ebony_mac0, ebony_mac1); | ||
103 | } | ||
104 | |||
105 | #define SPRN_DBCR0 0x134 | ||
106 | #define DBCR0_RST_SYSTEM 0x30000000 | ||
107 | |||
108 | static void ebony_exit(void) | ||
109 | { | ||
110 | unsigned long tmp; | ||
111 | |||
112 | asm volatile ( | ||
113 | "mfspr %0,%1\n" | ||
114 | "oris %0,%0,%2@h\n" | ||
115 | "mtspr %1,%0" | ||
116 | : "=&r"(tmp) : "i"(SPRN_DBCR0), "i"(DBCR0_RST_SYSTEM) | ||
117 | ); | ||
118 | |||
119 | } | ||
120 | |||
121 | void ebony_init(void *mac0, void *mac1) | ||
122 | { | ||
123 | platform_ops.fixups = ebony_fixups; | ||
124 | platform_ops.exit = ebony_exit; | ||
125 | ebony_mac0 = mac0; | ||
126 | ebony_mac1 = mac1; | ||
127 | ft_init(_dtb_start, _dtb_end - _dtb_start, 32); | ||
128 | serial_console_init(); | ||
129 | } | ||
diff --git a/arch/powerpc/boot/mktree.c b/arch/powerpc/boot/mktree.c index 4cb892993651..45d06a8c7cd1 100644 --- a/arch/powerpc/boot/mktree.c +++ b/arch/powerpc/boot/mktree.c | |||
@@ -46,8 +46,8 @@ int main(int argc, char *argv[]) | |||
46 | struct stat st; | 46 | struct stat st; |
47 | boot_block_t bt; | 47 | boot_block_t bt; |
48 | 48 | ||
49 | if (argc < 3) { | 49 | if (argc < 5) { |
50 | fprintf(stderr, "usage: %s <zImage-file> <boot-image> [entry-point]\n",argv[0]); | 50 | fprintf(stderr, "usage: %s <zImage-file> <boot-image> <load address> <entry point>\n",argv[0]); |
51 | exit(1); | 51 | exit(1); |
52 | } | 52 | } |
53 | 53 | ||
@@ -61,10 +61,8 @@ int main(int argc, char *argv[]) | |||
61 | bt.bb_magic = htonl(0x0052504F); | 61 | bt.bb_magic = htonl(0x0052504F); |
62 | 62 | ||
63 | /* If we have the optional entry point parameter, use it */ | 63 | /* If we have the optional entry point parameter, use it */ |
64 | if (argc == 4) | 64 | bt.bb_dest = htonl(strtoul(argv[3], NULL, 0)); |
65 | bt.bb_dest = bt.bb_entry_point = htonl(strtoul(argv[3], NULL, 0)); | 65 | bt.bb_entry_point = htonl(strtoul(argv[4], NULL, 0)); |
66 | else | ||
67 | bt.bb_dest = bt.bb_entry_point = htonl(0x500000); | ||
68 | 66 | ||
69 | /* We know these from the linker command. | 67 | /* We know these from the linker command. |
70 | * ...and then move it up into memory a little more so the | 68 | * ...and then move it up into memory a little more so the |
diff --git a/arch/powerpc/boot/treeboot-ebony.c b/arch/powerpc/boot/treeboot-ebony.c new file mode 100644 index 000000000000..8436a9c55192 --- /dev/null +++ b/arch/powerpc/boot/treeboot-ebony.c | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * Old U-boot compatibility for Ebony | ||
3 | * | ||
4 | * Author: David Gibson <david@gibson.dropbear.id.au> | ||
5 | * | ||
6 | * Copyright 2007 David Gibson, IBM Corporatio. | ||
7 | * Based on cuboot-83xx.c, which is: | ||
8 | * Copyright (c) 2007 Freescale Semiconductor, Inc. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License version 2 as published | ||
12 | * by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include "ops.h" | ||
16 | #include "stdio.h" | ||
17 | #include "44x.h" | ||
18 | |||
19 | extern char _end[]; | ||
20 | |||
21 | BSS_STACK(4096); | ||
22 | |||
23 | #define OPENBIOS_MAC_BASE 0xfffffe0c | ||
24 | #define OPENBIOS_MAC_OFFSET 0xc | ||
25 | |||
26 | void platform_init(void) | ||
27 | { | ||
28 | unsigned long end_of_ram = 0x8000000; | ||
29 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; | ||
30 | |||
31 | simple_alloc_init(_end, avail_ram, 32, 64); | ||
32 | ebony_init((u8 *)OPENBIOS_MAC_BASE, | ||
33 | (u8 *)(OPENBIOS_MAC_BASE + OPENBIOS_MAC_OFFSET)); | ||
34 | } | ||
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 1ea208096b15..2ed8b8b3f0ec 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -231,4 +231,12 @@ cuboot*) | |||
231 | mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ | 231 | mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ |
232 | $uboot_version -d "$ofile".bin.gz "$ofile" | 232 | $uboot_version -d "$ofile".bin.gz "$ofile" |
233 | ;; | 233 | ;; |
234 | treeboot*) | ||
235 | mv "$ofile" "$ofile.elf" | ||
236 | $object/mktree "$ofile.elf" "$ofile" "$base" "$entry" | ||
237 | if [ -z "$cacheit" ]; then | ||
238 | rm -f "$ofile.elf" | ||
239 | fi | ||
240 | exit 0 | ||
241 | ;; | ||
234 | esac | 242 | esac |
diff --git a/arch/powerpc/configs/ebony_defconfig b/arch/powerpc/configs/ebony_defconfig new file mode 100644 index 000000000000..c3b96ef3c2d1 --- /dev/null +++ b/arch/powerpc/configs/ebony_defconfig | |||
@@ -0,0 +1,905 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.21 | ||
4 | # Fri May 4 13:47:08 2007 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | CONFIG_PPC32=y | ||
8 | CONFIG_PPC_MERGE=y | ||
9 | CONFIG_MMU=y | ||
10 | CONFIG_GENERIC_HARDIRQS=y | ||
11 | CONFIG_IRQ_PER_CPU=y | ||
12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
13 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
14 | CONFIG_GENERIC_HWEIGHT=y | ||
15 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
16 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
17 | CONFIG_PPC=y | ||
18 | CONFIG_EARLY_PRINTK=y | ||
19 | CONFIG_GENERIC_NVRAM=y | ||
20 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
21 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
22 | CONFIG_PPC_OF=y | ||
23 | # CONFIG_PPC_UDBG_16550 is not set | ||
24 | # CONFIG_GENERIC_TBSYNC is not set | ||
25 | CONFIG_AUDIT_ARCH=y | ||
26 | CONFIG_GENERIC_BUG=y | ||
27 | # CONFIG_DEFAULT_UIMAGE is not set | ||
28 | |||
29 | # | ||
30 | # Processor support | ||
31 | # | ||
32 | # CONFIG_CLASSIC32 is not set | ||
33 | # CONFIG_PPC_82xx is not set | ||
34 | # CONFIG_PPC_83xx is not set | ||
35 | # CONFIG_PPC_85xx is not set | ||
36 | # CONFIG_PPC_86xx is not set | ||
37 | # CONFIG_PPC_8xx is not set | ||
38 | # CONFIG_40x is not set | ||
39 | CONFIG_44x=y | ||
40 | # CONFIG_E200 is not set | ||
41 | CONFIG_PPC_DCR_NATIVE=y | ||
42 | # CONFIG_PPC_DCR_MMIO is not set | ||
43 | CONFIG_PPC_DCR=y | ||
44 | CONFIG_4xx=y | ||
45 | CONFIG_BOOKE=y | ||
46 | CONFIG_PTE_64BIT=y | ||
47 | CONFIG_PHYS_64BIT=y | ||
48 | CONFIG_NOT_COHERENT_CACHE=y | ||
49 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
50 | |||
51 | # | ||
52 | # Code maturity level options | ||
53 | # | ||
54 | CONFIG_EXPERIMENTAL=y | ||
55 | CONFIG_BROKEN_ON_SMP=y | ||
56 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
57 | |||
58 | # | ||
59 | # General setup | ||
60 | # | ||
61 | CONFIG_LOCALVERSION="" | ||
62 | CONFIG_LOCALVERSION_AUTO=y | ||
63 | CONFIG_SWAP=y | ||
64 | CONFIG_SYSVIPC=y | ||
65 | # CONFIG_IPC_NS is not set | ||
66 | CONFIG_SYSVIPC_SYSCTL=y | ||
67 | CONFIG_POSIX_MQUEUE=y | ||
68 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
69 | # CONFIG_TASKSTATS is not set | ||
70 | # CONFIG_UTS_NS is not set | ||
71 | # CONFIG_AUDIT is not set | ||
72 | # CONFIG_IKCONFIG is not set | ||
73 | CONFIG_SYSFS_DEPRECATED=y | ||
74 | # CONFIG_RELAY is not set | ||
75 | CONFIG_BLK_DEV_INITRD=y | ||
76 | CONFIG_INITRAMFS_SOURCE="" | ||
77 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
78 | CONFIG_SYSCTL=y | ||
79 | CONFIG_EMBEDDED=y | ||
80 | CONFIG_SYSCTL_SYSCALL=y | ||
81 | CONFIG_KALLSYMS=y | ||
82 | CONFIG_KALLSYMS_ALL=y | ||
83 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
84 | CONFIG_HOTPLUG=y | ||
85 | CONFIG_PRINTK=y | ||
86 | CONFIG_BUG=y | ||
87 | CONFIG_ELF_CORE=y | ||
88 | CONFIG_BASE_FULL=y | ||
89 | CONFIG_FUTEX=y | ||
90 | CONFIG_EPOLL=y | ||
91 | CONFIG_SHMEM=y | ||
92 | CONFIG_SLAB=y | ||
93 | CONFIG_VM_EVENT_COUNTERS=y | ||
94 | CONFIG_RT_MUTEXES=y | ||
95 | # CONFIG_TINY_SHMEM is not set | ||
96 | CONFIG_BASE_SMALL=0 | ||
97 | # CONFIG_SLOB is not set | ||
98 | |||
99 | # | ||
100 | # Loadable module support | ||
101 | # | ||
102 | CONFIG_MODULES=y | ||
103 | CONFIG_MODULE_UNLOAD=y | ||
104 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
105 | # CONFIG_MODVERSIONS is not set | ||
106 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
107 | CONFIG_KMOD=y | ||
108 | |||
109 | # | ||
110 | # Block layer | ||
111 | # | ||
112 | CONFIG_BLOCK=y | ||
113 | CONFIG_LBD=y | ||
114 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
115 | # CONFIG_LSF is not set | ||
116 | |||
117 | # | ||
118 | # IO Schedulers | ||
119 | # | ||
120 | CONFIG_IOSCHED_NOOP=y | ||
121 | CONFIG_IOSCHED_AS=y | ||
122 | CONFIG_IOSCHED_DEADLINE=y | ||
123 | CONFIG_IOSCHED_CFQ=y | ||
124 | CONFIG_DEFAULT_AS=y | ||
125 | # CONFIG_DEFAULT_DEADLINE is not set | ||
126 | # CONFIG_DEFAULT_CFQ is not set | ||
127 | # CONFIG_DEFAULT_NOOP is not set | ||
128 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
129 | |||
130 | # | ||
131 | # Platform support | ||
132 | # | ||
133 | # CONFIG_PPC_MPC52xx is not set | ||
134 | # CONFIG_PPC_MPC5200 is not set | ||
135 | # CONFIG_PPC_CELL is not set | ||
136 | # CONFIG_PPC_CELL_NATIVE is not set | ||
137 | # CONFIG_PQ2ADS is not set | ||
138 | CONFIG_EBONY=y | ||
139 | CONFIG_440GP=y | ||
140 | # CONFIG_MPIC is not set | ||
141 | # CONFIG_MPIC_WEIRD is not set | ||
142 | # CONFIG_PPC_I8259 is not set | ||
143 | # CONFIG_PPC_RTAS is not set | ||
144 | # CONFIG_MMIO_NVRAM is not set | ||
145 | # CONFIG_PPC_MPC106 is not set | ||
146 | # CONFIG_PPC_970_NAP is not set | ||
147 | # CONFIG_PPC_INDIRECT_IO is not set | ||
148 | # CONFIG_GENERIC_IOMAP is not set | ||
149 | # CONFIG_CPU_FREQ is not set | ||
150 | # CONFIG_CPM2 is not set | ||
151 | |||
152 | # | ||
153 | # Kernel options | ||
154 | # | ||
155 | # CONFIG_HIGHMEM is not set | ||
156 | # CONFIG_HZ_100 is not set | ||
157 | CONFIG_HZ_250=y | ||
158 | # CONFIG_HZ_300 is not set | ||
159 | # CONFIG_HZ_1000 is not set | ||
160 | CONFIG_HZ=250 | ||
161 | CONFIG_PREEMPT_NONE=y | ||
162 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
163 | # CONFIG_PREEMPT is not set | ||
164 | CONFIG_BINFMT_ELF=y | ||
165 | # CONFIG_BINFMT_MISC is not set | ||
166 | CONFIG_MATH_EMULATION=y | ||
167 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
168 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
169 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
170 | CONFIG_SELECT_MEMORY_MODEL=y | ||
171 | CONFIG_FLATMEM_MANUAL=y | ||
172 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
173 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
174 | CONFIG_FLATMEM=y | ||
175 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
176 | # CONFIG_SPARSEMEM_STATIC is not set | ||
177 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
178 | CONFIG_RESOURCES_64BIT=y | ||
179 | CONFIG_ZONE_DMA_FLAG=1 | ||
180 | CONFIG_PROC_DEVICETREE=y | ||
181 | # CONFIG_CMDLINE_BOOL is not set | ||
182 | CONFIG_SECCOMP=y | ||
183 | CONFIG_WANT_DEVICE_TREE=y | ||
184 | CONFIG_DEVICE_TREE="ebony.dts" | ||
185 | CONFIG_ISA_DMA_API=y | ||
186 | |||
187 | # | ||
188 | # Bus options | ||
189 | # | ||
190 | CONFIG_ZONE_DMA=y | ||
191 | CONFIG_PPC_INDIRECT_PCI=y | ||
192 | # CONFIG_PPC_INDIRECT_PCI_BE is not set | ||
193 | CONFIG_PCI=y | ||
194 | CONFIG_PCI_DOMAINS=y | ||
195 | # CONFIG_PCIEPORTBUS is not set | ||
196 | # CONFIG_PCI_DEBUG is not set | ||
197 | |||
198 | # | ||
199 | # PCCARD (PCMCIA/CardBus) support | ||
200 | # | ||
201 | # CONFIG_PCCARD is not set | ||
202 | |||
203 | # | ||
204 | # PCI Hotplug Support | ||
205 | # | ||
206 | # CONFIG_HOTPLUG_PCI is not set | ||
207 | |||
208 | # | ||
209 | # Advanced setup | ||
210 | # | ||
211 | # CONFIG_ADVANCED_OPTIONS is not set | ||
212 | |||
213 | # | ||
214 | # Default settings for advanced configuration options are used | ||
215 | # | ||
216 | CONFIG_HIGHMEM_START=0xfe000000 | ||
217 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
218 | CONFIG_KERNEL_START=0xc0000000 | ||
219 | CONFIG_TASK_SIZE=0x80000000 | ||
220 | CONFIG_CONSISTENT_START=0xff100000 | ||
221 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
222 | CONFIG_BOOT_LOAD=0x01000000 | ||
223 | |||
224 | # | ||
225 | # Networking | ||
226 | # | ||
227 | CONFIG_NET=y | ||
228 | |||
229 | # | ||
230 | # Networking options | ||
231 | # | ||
232 | CONFIG_PACKET=y | ||
233 | # CONFIG_PACKET_MMAP is not set | ||
234 | CONFIG_UNIX=y | ||
235 | # CONFIG_NET_KEY is not set | ||
236 | CONFIG_INET=y | ||
237 | # CONFIG_IP_MULTICAST is not set | ||
238 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
239 | CONFIG_IP_FIB_HASH=y | ||
240 | CONFIG_IP_PNP=y | ||
241 | CONFIG_IP_PNP_DHCP=y | ||
242 | CONFIG_IP_PNP_BOOTP=y | ||
243 | # CONFIG_IP_PNP_RARP is not set | ||
244 | # CONFIG_NET_IPIP is not set | ||
245 | # CONFIG_NET_IPGRE is not set | ||
246 | # CONFIG_ARPD is not set | ||
247 | # CONFIG_SYN_COOKIES is not set | ||
248 | # CONFIG_INET_AH is not set | ||
249 | # CONFIG_INET_ESP is not set | ||
250 | # CONFIG_INET_IPCOMP is not set | ||
251 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
252 | # CONFIG_INET_TUNNEL is not set | ||
253 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
254 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
255 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
256 | CONFIG_INET_DIAG=y | ||
257 | CONFIG_INET_TCP_DIAG=y | ||
258 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
259 | CONFIG_TCP_CONG_CUBIC=y | ||
260 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
261 | # CONFIG_TCP_MD5SIG is not set | ||
262 | # CONFIG_IPV6 is not set | ||
263 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
264 | # CONFIG_INET6_TUNNEL is not set | ||
265 | # CONFIG_NETWORK_SECMARK is not set | ||
266 | # CONFIG_NETFILTER is not set | ||
267 | |||
268 | # | ||
269 | # DCCP Configuration (EXPERIMENTAL) | ||
270 | # | ||
271 | # CONFIG_IP_DCCP is not set | ||
272 | |||
273 | # | ||
274 | # SCTP Configuration (EXPERIMENTAL) | ||
275 | # | ||
276 | # CONFIG_IP_SCTP is not set | ||
277 | |||
278 | # | ||
279 | # TIPC Configuration (EXPERIMENTAL) | ||
280 | # | ||
281 | # CONFIG_TIPC is not set | ||
282 | # CONFIG_ATM is not set | ||
283 | # CONFIG_BRIDGE is not set | ||
284 | # CONFIG_VLAN_8021Q is not set | ||
285 | # CONFIG_DECNET is not set | ||
286 | # CONFIG_LLC2 is not set | ||
287 | # CONFIG_IPX is not set | ||
288 | # CONFIG_ATALK is not set | ||
289 | # CONFIG_X25 is not set | ||
290 | # CONFIG_LAPB is not set | ||
291 | # CONFIG_ECONET is not set | ||
292 | # CONFIG_WAN_ROUTER is not set | ||
293 | |||
294 | # | ||
295 | # QoS and/or fair queueing | ||
296 | # | ||
297 | # CONFIG_NET_SCHED is not set | ||
298 | |||
299 | # | ||
300 | # Network testing | ||
301 | # | ||
302 | # CONFIG_NET_PKTGEN is not set | ||
303 | # CONFIG_HAMRADIO is not set | ||
304 | # CONFIG_IRDA is not set | ||
305 | # CONFIG_BT is not set | ||
306 | # CONFIG_AF_RXRPC is not set | ||
307 | |||
308 | # | ||
309 | # Wireless | ||
310 | # | ||
311 | # CONFIG_CFG80211 is not set | ||
312 | # CONFIG_WIRELESS_EXT is not set | ||
313 | # CONFIG_IEEE80211 is not set | ||
314 | |||
315 | # | ||
316 | # Device Drivers | ||
317 | # | ||
318 | |||
319 | # | ||
320 | # Generic Driver Options | ||
321 | # | ||
322 | CONFIG_STANDALONE=y | ||
323 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
324 | CONFIG_FW_LOADER=y | ||
325 | # CONFIG_DEBUG_DRIVER is not set | ||
326 | # CONFIG_DEBUG_DEVRES is not set | ||
327 | # CONFIG_SYS_HYPERVISOR is not set | ||
328 | |||
329 | # | ||
330 | # Connector - unified userspace <-> kernelspace linker | ||
331 | # | ||
332 | CONFIG_CONNECTOR=y | ||
333 | CONFIG_PROC_EVENTS=y | ||
334 | # CONFIG_MTD is not set | ||
335 | |||
336 | # | ||
337 | # Parallel port support | ||
338 | # | ||
339 | # CONFIG_PARPORT is not set | ||
340 | |||
341 | # | ||
342 | # Plug and Play support | ||
343 | # | ||
344 | # CONFIG_PNPACPI is not set | ||
345 | |||
346 | # | ||
347 | # Block devices | ||
348 | # | ||
349 | # CONFIG_BLK_DEV_FD is not set | ||
350 | # CONFIG_BLK_CPQ_DA is not set | ||
351 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
352 | # CONFIG_BLK_DEV_DAC960 is not set | ||
353 | # CONFIG_BLK_DEV_UMEM is not set | ||
354 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
355 | # CONFIG_BLK_DEV_LOOP is not set | ||
356 | # CONFIG_BLK_DEV_NBD is not set | ||
357 | # CONFIG_BLK_DEV_SX8 is not set | ||
358 | CONFIG_BLK_DEV_RAM=y | ||
359 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
360 | CONFIG_BLK_DEV_RAM_SIZE=35000 | ||
361 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
362 | # CONFIG_CDROM_PKTCDVD is not set | ||
363 | # CONFIG_ATA_OVER_ETH is not set | ||
364 | |||
365 | # | ||
366 | # Misc devices | ||
367 | # | ||
368 | # CONFIG_SGI_IOC4 is not set | ||
369 | # CONFIG_TIFM_CORE is not set | ||
370 | |||
371 | # | ||
372 | # ATA/ATAPI/MFM/RLL support | ||
373 | # | ||
374 | # CONFIG_IDE is not set | ||
375 | |||
376 | # | ||
377 | # SCSI device support | ||
378 | # | ||
379 | # CONFIG_RAID_ATTRS is not set | ||
380 | # CONFIG_SCSI is not set | ||
381 | # CONFIG_SCSI_NETLINK is not set | ||
382 | |||
383 | # | ||
384 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
385 | # | ||
386 | # CONFIG_ATA is not set | ||
387 | |||
388 | # | ||
389 | # Multi-device support (RAID and LVM) | ||
390 | # | ||
391 | # CONFIG_MD is not set | ||
392 | |||
393 | # | ||
394 | # Fusion MPT device support | ||
395 | # | ||
396 | # CONFIG_FUSION is not set | ||
397 | |||
398 | # | ||
399 | # IEEE 1394 (FireWire) support | ||
400 | # | ||
401 | # CONFIG_IEEE1394 is not set | ||
402 | |||
403 | # | ||
404 | # I2O device support | ||
405 | # | ||
406 | # CONFIG_I2O is not set | ||
407 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
408 | |||
409 | # | ||
410 | # Network device support | ||
411 | # | ||
412 | CONFIG_NETDEVICES=y | ||
413 | # CONFIG_DUMMY is not set | ||
414 | # CONFIG_BONDING is not set | ||
415 | # CONFIG_EQUALIZER is not set | ||
416 | # CONFIG_TUN is not set | ||
417 | |||
418 | # | ||
419 | # ARCnet devices | ||
420 | # | ||
421 | # CONFIG_ARCNET is not set | ||
422 | |||
423 | # | ||
424 | # PHY device support | ||
425 | # | ||
426 | |||
427 | # | ||
428 | # Ethernet (10 or 100Mbit) | ||
429 | # | ||
430 | # CONFIG_NET_ETHERNET is not set | ||
431 | CONFIG_IBM_NEW_EMAC=y | ||
432 | CONFIG_IBM_NEW_EMAC_RXB=128 | ||
433 | CONFIG_IBM_NEW_EMAC_TXB=64 | ||
434 | CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 | ||
435 | CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 | ||
436 | CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | ||
437 | # CONFIG_IBM_NEW_EMAC_DEBUG is not set | ||
438 | CONFIG_IBM_NEW_EMAC_ZMII=y | ||
439 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
440 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
441 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
442 | |||
443 | # | ||
444 | # Ethernet (1000 Mbit) | ||
445 | # | ||
446 | # CONFIG_ACENIC is not set | ||
447 | # CONFIG_DL2K is not set | ||
448 | # CONFIG_E1000 is not set | ||
449 | # CONFIG_NS83820 is not set | ||
450 | # CONFIG_HAMACHI is not set | ||
451 | # CONFIG_YELLOWFIN is not set | ||
452 | # CONFIG_R8169 is not set | ||
453 | # CONFIG_SIS190 is not set | ||
454 | # CONFIG_SKGE is not set | ||
455 | # CONFIG_SKY2 is not set | ||
456 | # CONFIG_SK98LIN is not set | ||
457 | # CONFIG_TIGON3 is not set | ||
458 | # CONFIG_BNX2 is not set | ||
459 | # CONFIG_QLA3XXX is not set | ||
460 | # CONFIG_ATL1 is not set | ||
461 | |||
462 | # | ||
463 | # Ethernet (10000 Mbit) | ||
464 | # | ||
465 | # CONFIG_CHELSIO_T1 is not set | ||
466 | # CONFIG_CHELSIO_T3 is not set | ||
467 | # CONFIG_IXGB is not set | ||
468 | # CONFIG_S2IO is not set | ||
469 | # CONFIG_MYRI10GE is not set | ||
470 | # CONFIG_NETXEN_NIC is not set | ||
471 | |||
472 | # | ||
473 | # Token Ring devices | ||
474 | # | ||
475 | # CONFIG_TR is not set | ||
476 | |||
477 | # | ||
478 | # Wireless LAN | ||
479 | # | ||
480 | # CONFIG_WLAN_PRE80211 is not set | ||
481 | # CONFIG_WLAN_80211 is not set | ||
482 | |||
483 | # | ||
484 | # Wan interfaces | ||
485 | # | ||
486 | # CONFIG_WAN is not set | ||
487 | # CONFIG_FDDI is not set | ||
488 | # CONFIG_HIPPI is not set | ||
489 | # CONFIG_PPP is not set | ||
490 | # CONFIG_SLIP is not set | ||
491 | # CONFIG_SHAPER is not set | ||
492 | # CONFIG_NETCONSOLE is not set | ||
493 | # CONFIG_NETPOLL is not set | ||
494 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
495 | |||
496 | # | ||
497 | # ISDN subsystem | ||
498 | # | ||
499 | # CONFIG_ISDN is not set | ||
500 | |||
501 | # | ||
502 | # Telephony Support | ||
503 | # | ||
504 | # CONFIG_PHONE is not set | ||
505 | |||
506 | # | ||
507 | # Input device support | ||
508 | # | ||
509 | # CONFIG_INPUT is not set | ||
510 | |||
511 | # | ||
512 | # Hardware I/O ports | ||
513 | # | ||
514 | # CONFIG_SERIO is not set | ||
515 | # CONFIG_GAMEPORT is not set | ||
516 | |||
517 | # | ||
518 | # Character devices | ||
519 | # | ||
520 | # CONFIG_VT is not set | ||
521 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
522 | |||
523 | # | ||
524 | # Serial drivers | ||
525 | # | ||
526 | CONFIG_SERIAL_8250=y | ||
527 | CONFIG_SERIAL_8250_CONSOLE=y | ||
528 | # CONFIG_SERIAL_8250_PCI is not set | ||
529 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
530 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
531 | CONFIG_SERIAL_8250_EXTENDED=y | ||
532 | # CONFIG_SERIAL_8250_MANY_PORTS is not set | ||
533 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
534 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||
535 | # CONFIG_SERIAL_8250_RSA is not set | ||
536 | |||
537 | # | ||
538 | # Non-8250 serial port support | ||
539 | # | ||
540 | # CONFIG_SERIAL_UARTLITE is not set | ||
541 | CONFIG_SERIAL_CORE=y | ||
542 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
543 | # CONFIG_SERIAL_JSM is not set | ||
544 | CONFIG_SERIAL_OF_PLATFORM=y | ||
545 | CONFIG_UNIX98_PTYS=y | ||
546 | CONFIG_LEGACY_PTYS=y | ||
547 | CONFIG_LEGACY_PTY_COUNT=256 | ||
548 | |||
549 | # | ||
550 | # IPMI | ||
551 | # | ||
552 | # CONFIG_IPMI_HANDLER is not set | ||
553 | |||
554 | # | ||
555 | # Watchdog Cards | ||
556 | # | ||
557 | # CONFIG_WATCHDOG is not set | ||
558 | # CONFIG_HW_RANDOM is not set | ||
559 | # CONFIG_NVRAM is not set | ||
560 | # CONFIG_GEN_RTC is not set | ||
561 | # CONFIG_DTLK is not set | ||
562 | # CONFIG_R3964 is not set | ||
563 | # CONFIG_APPLICOM is not set | ||
564 | # CONFIG_AGP is not set | ||
565 | # CONFIG_DRM is not set | ||
566 | # CONFIG_RAW_DRIVER is not set | ||
567 | |||
568 | # | ||
569 | # TPM devices | ||
570 | # | ||
571 | # CONFIG_TCG_TPM is not set | ||
572 | |||
573 | # | ||
574 | # I2C support | ||
575 | # | ||
576 | # CONFIG_I2C is not set | ||
577 | |||
578 | # | ||
579 | # SPI support | ||
580 | # | ||
581 | # CONFIG_SPI is not set | ||
582 | # CONFIG_SPI_MASTER is not set | ||
583 | |||
584 | # | ||
585 | # Dallas's 1-wire bus | ||
586 | # | ||
587 | # CONFIG_W1 is not set | ||
588 | |||
589 | # | ||
590 | # Hardware Monitoring support | ||
591 | # | ||
592 | # CONFIG_HWMON is not set | ||
593 | # CONFIG_HWMON_VID is not set | ||
594 | |||
595 | # | ||
596 | # Multifunction device drivers | ||
597 | # | ||
598 | # CONFIG_MFD_SM501 is not set | ||
599 | |||
600 | # | ||
601 | # Multimedia devices | ||
602 | # | ||
603 | # CONFIG_VIDEO_DEV is not set | ||
604 | |||
605 | # | ||
606 | # Digital Video Broadcasting Devices | ||
607 | # | ||
608 | # CONFIG_DVB is not set | ||
609 | |||
610 | # | ||
611 | # Graphics support | ||
612 | # | ||
613 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
614 | # CONFIG_FB is not set | ||
615 | # CONFIG_FB_IBM_GXT4500 is not set | ||
616 | |||
617 | # | ||
618 | # Sound | ||
619 | # | ||
620 | # CONFIG_SOUND is not set | ||
621 | |||
622 | # | ||
623 | # USB support | ||
624 | # | ||
625 | CONFIG_USB_ARCH_HAS_HCD=y | ||
626 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
627 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
628 | # CONFIG_USB is not set | ||
629 | |||
630 | # | ||
631 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
632 | # | ||
633 | |||
634 | # | ||
635 | # USB Gadget Support | ||
636 | # | ||
637 | # CONFIG_USB_GADGET is not set | ||
638 | |||
639 | # | ||
640 | # MMC/SD Card support | ||
641 | # | ||
642 | # CONFIG_MMC is not set | ||
643 | |||
644 | # | ||
645 | # LED devices | ||
646 | # | ||
647 | # CONFIG_NEW_LEDS is not set | ||
648 | |||
649 | # | ||
650 | # LED drivers | ||
651 | # | ||
652 | |||
653 | # | ||
654 | # LED Triggers | ||
655 | # | ||
656 | |||
657 | # | ||
658 | # InfiniBand support | ||
659 | # | ||
660 | # CONFIG_INFINIBAND is not set | ||
661 | |||
662 | # | ||
663 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
664 | # | ||
665 | |||
666 | # | ||
667 | # Real Time Clock | ||
668 | # | ||
669 | # CONFIG_RTC_CLASS is not set | ||
670 | |||
671 | # | ||
672 | # DMA Engine support | ||
673 | # | ||
674 | # CONFIG_DMA_ENGINE is not set | ||
675 | |||
676 | # | ||
677 | # DMA Clients | ||
678 | # | ||
679 | |||
680 | # | ||
681 | # DMA Devices | ||
682 | # | ||
683 | |||
684 | # | ||
685 | # Auxiliary Display support | ||
686 | # | ||
687 | |||
688 | # | ||
689 | # Virtualization | ||
690 | # | ||
691 | |||
692 | # | ||
693 | # File systems | ||
694 | # | ||
695 | CONFIG_EXT2_FS=y | ||
696 | # CONFIG_EXT2_FS_XATTR is not set | ||
697 | # CONFIG_EXT2_FS_XIP is not set | ||
698 | # CONFIG_EXT3_FS is not set | ||
699 | # CONFIG_EXT4DEV_FS is not set | ||
700 | # CONFIG_REISERFS_FS is not set | ||
701 | # CONFIG_JFS_FS is not set | ||
702 | # CONFIG_FS_POSIX_ACL is not set | ||
703 | # CONFIG_XFS_FS is not set | ||
704 | # CONFIG_GFS2_FS is not set | ||
705 | # CONFIG_OCFS2_FS is not set | ||
706 | # CONFIG_MINIX_FS is not set | ||
707 | # CONFIG_ROMFS_FS is not set | ||
708 | CONFIG_INOTIFY=y | ||
709 | CONFIG_INOTIFY_USER=y | ||
710 | # CONFIG_QUOTA is not set | ||
711 | CONFIG_DNOTIFY=y | ||
712 | # CONFIG_AUTOFS_FS is not set | ||
713 | # CONFIG_AUTOFS4_FS is not set | ||
714 | # CONFIG_FUSE_FS is not set | ||
715 | |||
716 | # | ||
717 | # CD-ROM/DVD Filesystems | ||
718 | # | ||
719 | # CONFIG_ISO9660_FS is not set | ||
720 | # CONFIG_UDF_FS is not set | ||
721 | |||
722 | # | ||
723 | # DOS/FAT/NT Filesystems | ||
724 | # | ||
725 | # CONFIG_MSDOS_FS is not set | ||
726 | # CONFIG_VFAT_FS is not set | ||
727 | # CONFIG_NTFS_FS is not set | ||
728 | |||
729 | # | ||
730 | # Pseudo filesystems | ||
731 | # | ||
732 | CONFIG_PROC_FS=y | ||
733 | CONFIG_PROC_KCORE=y | ||
734 | CONFIG_PROC_SYSCTL=y | ||
735 | CONFIG_SYSFS=y | ||
736 | CONFIG_TMPFS=y | ||
737 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
738 | # CONFIG_HUGETLB_PAGE is not set | ||
739 | CONFIG_RAMFS=y | ||
740 | # CONFIG_CONFIGFS_FS is not set | ||
741 | |||
742 | # | ||
743 | # Miscellaneous filesystems | ||
744 | # | ||
745 | # CONFIG_ADFS_FS is not set | ||
746 | # CONFIG_AFFS_FS is not set | ||
747 | # CONFIG_HFS_FS is not set | ||
748 | # CONFIG_HFSPLUS_FS is not set | ||
749 | # CONFIG_BEFS_FS is not set | ||
750 | # CONFIG_BFS_FS is not set | ||
751 | # CONFIG_EFS_FS is not set | ||
752 | CONFIG_CRAMFS=y | ||
753 | # CONFIG_VXFS_FS is not set | ||
754 | # CONFIG_HPFS_FS is not set | ||
755 | # CONFIG_QNX4FS_FS is not set | ||
756 | # CONFIG_SYSV_FS is not set | ||
757 | # CONFIG_UFS_FS is not set | ||
758 | |||
759 | # | ||
760 | # Network File Systems | ||
761 | # | ||
762 | CONFIG_NFS_FS=y | ||
763 | CONFIG_NFS_V3=y | ||
764 | # CONFIG_NFS_V3_ACL is not set | ||
765 | # CONFIG_NFS_V4 is not set | ||
766 | # CONFIG_NFS_DIRECTIO is not set | ||
767 | # CONFIG_NFSD is not set | ||
768 | CONFIG_ROOT_NFS=y | ||
769 | CONFIG_LOCKD=y | ||
770 | CONFIG_LOCKD_V4=y | ||
771 | CONFIG_NFS_COMMON=y | ||
772 | CONFIG_SUNRPC=y | ||
773 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
774 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
775 | # CONFIG_SMB_FS is not set | ||
776 | # CONFIG_CIFS is not set | ||
777 | # CONFIG_NCP_FS is not set | ||
778 | # CONFIG_CODA_FS is not set | ||
779 | # CONFIG_AFS_FS is not set | ||
780 | # CONFIG_9P_FS is not set | ||
781 | |||
782 | # | ||
783 | # Partition Types | ||
784 | # | ||
785 | # CONFIG_PARTITION_ADVANCED is not set | ||
786 | CONFIG_MSDOS_PARTITION=y | ||
787 | |||
788 | # | ||
789 | # Native Language Support | ||
790 | # | ||
791 | # CONFIG_NLS is not set | ||
792 | |||
793 | # | ||
794 | # Distributed Lock Manager | ||
795 | # | ||
796 | # CONFIG_DLM is not set | ||
797 | # CONFIG_UCC_SLOW is not set | ||
798 | # CONFIG_UCC_FAST is not set | ||
799 | |||
800 | # | ||
801 | # Library routines | ||
802 | # | ||
803 | CONFIG_BITREVERSE=y | ||
804 | # CONFIG_CRC_CCITT is not set | ||
805 | # CONFIG_CRC16 is not set | ||
806 | CONFIG_CRC32=y | ||
807 | # CONFIG_LIBCRC32C is not set | ||
808 | CONFIG_ZLIB_INFLATE=y | ||
809 | CONFIG_PLIST=y | ||
810 | CONFIG_HAS_IOMEM=y | ||
811 | CONFIG_HAS_IOPORT=y | ||
812 | |||
813 | # | ||
814 | # Instrumentation Support | ||
815 | # | ||
816 | # CONFIG_PROFILING is not set | ||
817 | |||
818 | # | ||
819 | # Kernel hacking | ||
820 | # | ||
821 | # CONFIG_PRINTK_TIME is not set | ||
822 | CONFIG_ENABLE_MUST_CHECK=y | ||
823 | CONFIG_MAGIC_SYSRQ=y | ||
824 | # CONFIG_UNUSED_SYMBOLS is not set | ||
825 | # CONFIG_DEBUG_FS is not set | ||
826 | # CONFIG_HEADERS_CHECK is not set | ||
827 | CONFIG_DEBUG_KERNEL=y | ||
828 | # CONFIG_DEBUG_SHIRQ is not set | ||
829 | CONFIG_LOG_BUF_SHIFT=14 | ||
830 | CONFIG_DETECT_SOFTLOCKUP=y | ||
831 | # CONFIG_SCHEDSTATS is not set | ||
832 | # CONFIG_TIMER_STATS is not set | ||
833 | # CONFIG_DEBUG_SLAB is not set | ||
834 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
835 | # CONFIG_RT_MUTEX_TESTER is not set | ||
836 | # CONFIG_DEBUG_SPINLOCK is not set | ||
837 | # CONFIG_DEBUG_MUTEXES is not set | ||
838 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
839 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
840 | # CONFIG_DEBUG_KOBJECT is not set | ||
841 | CONFIG_DEBUG_BUGVERBOSE=y | ||
842 | # CONFIG_DEBUG_INFO is not set | ||
843 | # CONFIG_DEBUG_VM is not set | ||
844 | # CONFIG_DEBUG_LIST is not set | ||
845 | CONFIG_FORCED_INLINING=y | ||
846 | # CONFIG_RCU_TORTURE_TEST is not set | ||
847 | # CONFIG_FAULT_INJECTION is not set | ||
848 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
849 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
850 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
851 | # CONFIG_DEBUGGER is not set | ||
852 | # CONFIG_BDI_SWITCH is not set | ||
853 | # CONFIG_BOOTX_TEXT is not set | ||
854 | # CONFIG_SERIAL_TEXT_DEBUG is not set | ||
855 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
856 | |||
857 | # | ||
858 | # Security options | ||
859 | # | ||
860 | # CONFIG_KEYS is not set | ||
861 | # CONFIG_SECURITY is not set | ||
862 | |||
863 | # | ||
864 | # Cryptographic options | ||
865 | # | ||
866 | CONFIG_CRYPTO=y | ||
867 | CONFIG_CRYPTO_ALGAPI=y | ||
868 | CONFIG_CRYPTO_BLKCIPHER=y | ||
869 | CONFIG_CRYPTO_MANAGER=y | ||
870 | # CONFIG_CRYPTO_HMAC is not set | ||
871 | # CONFIG_CRYPTO_XCBC is not set | ||
872 | # CONFIG_CRYPTO_NULL is not set | ||
873 | # CONFIG_CRYPTO_MD4 is not set | ||
874 | CONFIG_CRYPTO_MD5=y | ||
875 | # CONFIG_CRYPTO_SHA1 is not set | ||
876 | # CONFIG_CRYPTO_SHA256 is not set | ||
877 | # CONFIG_CRYPTO_SHA512 is not set | ||
878 | # CONFIG_CRYPTO_WP512 is not set | ||
879 | # CONFIG_CRYPTO_TGR192 is not set | ||
880 | # CONFIG_CRYPTO_GF128MUL is not set | ||
881 | CONFIG_CRYPTO_ECB=y | ||
882 | CONFIG_CRYPTO_CBC=y | ||
883 | CONFIG_CRYPTO_PCBC=y | ||
884 | # CONFIG_CRYPTO_LRW is not set | ||
885 | CONFIG_CRYPTO_DES=y | ||
886 | # CONFIG_CRYPTO_FCRYPT is not set | ||
887 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
888 | # CONFIG_CRYPTO_TWOFISH is not set | ||
889 | # CONFIG_CRYPTO_SERPENT is not set | ||
890 | # CONFIG_CRYPTO_AES is not set | ||
891 | # CONFIG_CRYPTO_CAST5 is not set | ||
892 | # CONFIG_CRYPTO_CAST6 is not set | ||
893 | # CONFIG_CRYPTO_TEA is not set | ||
894 | # CONFIG_CRYPTO_ARC4 is not set | ||
895 | # CONFIG_CRYPTO_KHAZAD is not set | ||
896 | # CONFIG_CRYPTO_ANUBIS is not set | ||
897 | # CONFIG_CRYPTO_DEFLATE is not set | ||
898 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
899 | # CONFIG_CRYPTO_CRC32C is not set | ||
900 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
901 | # CONFIG_CRYPTO_TEST is not set | ||
902 | |||
903 | # | ||
904 | # Hardware crypto devices | ||
905 | # | ||
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig new file mode 100644 index 000000000000..8e66949e7c67 --- /dev/null +++ b/arch/powerpc/platforms/44x/Kconfig | |||
@@ -0,0 +1,56 @@ | |||
1 | #config BAMBOO | ||
2 | # bool "Bamboo" | ||
3 | # depends on 44x | ||
4 | # default n | ||
5 | # select 440EP | ||
6 | # help | ||
7 | # This option enables support for the IBM PPC440EP evaluation board. | ||
8 | |||
9 | config EBONY | ||
10 | bool "Ebony" | ||
11 | depends on 44x | ||
12 | default y | ||
13 | select 440GP | ||
14 | help | ||
15 | This option enables support for the IBM PPC440GP evaluation board. | ||
16 | |||
17 | #config LUAN | ||
18 | # bool "Luan" | ||
19 | # depends on 44x | ||
20 | # default n | ||
21 | # select 440SP | ||
22 | # help | ||
23 | # This option enables support for the IBM PPC440SP evaluation board. | ||
24 | |||
25 | #config OCOTEA | ||
26 | # bool "Ocotea" | ||
27 | # depends on 44x | ||
28 | # default n | ||
29 | # select 440GX | ||
30 | # help | ||
31 | # This option enables support for the IBM PPC440GX evaluation board. | ||
32 | |||
33 | # 44x specific CPU modules, selected based on the board above. | ||
34 | config 440EP | ||
35 | bool | ||
36 | select PPC_FPU | ||
37 | select IBM440EP_ERR42 | ||
38 | |||
39 | config 440GP | ||
40 | bool | ||
41 | select IBM_NEW_EMAC_ZMII | ||
42 | |||
43 | config 440GX | ||
44 | bool | ||
45 | |||
46 | config 440SP | ||
47 | bool | ||
48 | |||
49 | config 440A | ||
50 | bool | ||
51 | depends on 440GX | ||
52 | default y | ||
53 | |||
54 | # 44x errata/workaround config symbols, selected by the CPU models above | ||
55 | config IBM440EP_ERR42 | ||
56 | bool | ||
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile index 575fdde5c905..41d0a18a0e44 100644 --- a/arch/powerpc/platforms/44x/Makefile +++ b/arch/powerpc/platforms/44x/Makefile | |||
@@ -1 +1,2 @@ | |||
1 | obj-$(CONFIG_44x) := misc_44x.o | 1 | obj-$(CONFIG_44x) := misc_44x.o |
2 | obj-$(CONFIG_EBONY) += ebony.o | ||
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c new file mode 100644 index 000000000000..ad526eafc90b --- /dev/null +++ b/arch/powerpc/platforms/44x/ebony.c | |||
@@ -0,0 +1,73 @@ | |||
1 | /* | ||
2 | * Ebony board specific routines | ||
3 | * | ||
4 | * Matt Porter <mporter@kernel.crashing.org> | ||
5 | * Copyright 2002-2005 MontaVista Software Inc. | ||
6 | * | ||
7 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | ||
8 | * Copyright (c) 2003-2005 Zultys Technologies | ||
9 | * | ||
10 | * Rewritten and ported to the merged powerpc tree: | ||
11 | * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation. | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify it | ||
14 | * under the terms of the GNU General Public License as published by the | ||
15 | * Free Software Foundation; either version 2 of the License, or (at your | ||
16 | * option) any later version. | ||
17 | */ | ||
18 | |||
19 | #include <linux/init.h> | ||
20 | #include <asm/machdep.h> | ||
21 | #include <asm/prom.h> | ||
22 | #include <asm/udbg.h> | ||
23 | #include <asm/time.h> | ||
24 | #include <asm/uic.h> | ||
25 | #include <asm/of_platform.h> | ||
26 | |||
27 | #include "44x.h" | ||
28 | |||
29 | static struct of_device_id ebony_of_bus[] = { | ||
30 | { .type = "ibm,plb", }, | ||
31 | { .type = "ibm,opb", }, | ||
32 | { .type = "ibm,ebc", }, | ||
33 | {}, | ||
34 | }; | ||
35 | |||
36 | static int __init ebony_device_probe(void) | ||
37 | { | ||
38 | if (!machine_is(ebony)) | ||
39 | return 0; | ||
40 | |||
41 | of_platform_bus_probe(NULL, ebony_of_bus, NULL); | ||
42 | |||
43 | return 0; | ||
44 | } | ||
45 | device_initcall(ebony_device_probe); | ||
46 | |||
47 | /* | ||
48 | * Called very early, MMU is off, device-tree isn't unflattened | ||
49 | */ | ||
50 | static int __init ebony_probe(void) | ||
51 | { | ||
52 | unsigned long root = of_get_flat_dt_root(); | ||
53 | |||
54 | if (!of_flat_dt_is_compatible(root, "ibm,ebony")) | ||
55 | return 0; | ||
56 | |||
57 | return 1; | ||
58 | } | ||
59 | |||
60 | static void __init ebony_setup_arch(void) | ||
61 | { | ||
62 | } | ||
63 | |||
64 | define_machine(ebony) { | ||
65 | .name = "Ebony", | ||
66 | .probe = ebony_probe, | ||
67 | .setup_arch = ebony_setup_arch, | ||
68 | .progress = udbg_progress, | ||
69 | .init_IRQ = uic_init_tree, | ||
70 | .get_irq = uic_get_irq, | ||
71 | .restart = ppc44x_reset_system, | ||
72 | .calibrate_decr = generic_calibrate_decr, | ||
73 | }; | ||
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index 51e33347c147..361acfa2894c 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig | |||
@@ -42,6 +42,7 @@ source "arch/powerpc/platforms/83xx/Kconfig" | |||
42 | source "arch/powerpc/platforms/85xx/Kconfig" | 42 | source "arch/powerpc/platforms/85xx/Kconfig" |
43 | source "arch/powerpc/platforms/86xx/Kconfig" | 43 | source "arch/powerpc/platforms/86xx/Kconfig" |
44 | source "arch/powerpc/platforms/embedded6xx/Kconfig" | 44 | source "arch/powerpc/platforms/embedded6xx/Kconfig" |
45 | source "arch/powerpc/platforms/44x/Kconfig" | ||
45 | #source "arch/powerpc/platforms/4xx/Kconfig | 46 | #source "arch/powerpc/platforms/4xx/Kconfig |
46 | 47 | ||
47 | config PPC_NATIVE | 48 | config PPC_NATIVE |