diff options
author | Scott Wood <scottwood@freescale.com> | 2008-01-17 17:32:05 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-01-23 20:34:43 -0500 |
commit | 0dde1a1df9ab0615ed08558fb7144e7739e9f565 (patch) | |
tree | aa7de7a3acedc0407649b53811962b62ebed47cc /arch/powerpc | |
parent | b09c16440eb39c12cc91aea5b572c753a5567d57 (diff) |
[POWERPC] 82xx: Embedded Planet EP8248E support
This board is also resold by Freescale under the names
"QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE".
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/Makefile | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/ep8248e.dts | 207 | ||||
-rw-r--r-- | arch/powerpc/boot/ep8248e.c | 55 | ||||
-rwxr-xr-x | arch/powerpc/boot/wrapper | 2 | ||||
-rw-r--r-- | arch/powerpc/configs/ep8248e_defconfig | 821 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/Kconfig | 13 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/ep8248e.c | 324 |
8 files changed, 1424 insertions, 2 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 08bf7aa85c5..fcca455a8c0 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -62,7 +62,7 @@ src-plat := of.c cuboot-52xx.c cuboot-83xx.c cuboot-85xx.c holly.c \ | |||
62 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ | 62 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ |
63 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ | 63 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ |
64 | fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \ | 64 | fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \ |
65 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c | 65 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c |
66 | src-boot := $(src-wlib) $(src-plat) empty.c | 66 | src-boot := $(src-wlib) $(src-plat) empty.c |
67 | 67 | ||
68 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 68 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -195,6 +195,7 @@ image-$(CONFIG_PPC_8xx) += cuImage.8xx | |||
195 | image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc | 195 | image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc |
196 | image-$(CONFIG_EP405) += zImage.ep405 | 196 | image-$(CONFIG_EP405) += zImage.ep405 |
197 | image-$(CONFIG_8260) += cuImage.pq2 | 197 | image-$(CONFIG_8260) += cuImage.pq2 |
198 | image-$(CONFIG_EP8248E) += zImage.ep8248e | ||
198 | image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx | 199 | image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx |
199 | image-$(CONFIG_PPC_83xx) += cuImage.83xx | 200 | image-$(CONFIG_PPC_83xx) += cuImage.83xx |
200 | image-$(CONFIG_PPC_85xx) += cuImage.85xx | 201 | image-$(CONFIG_PPC_85xx) += cuImage.85xx |
diff --git a/arch/powerpc/boot/dts/ep8248e.dts b/arch/powerpc/boot/dts/ep8248e.dts new file mode 100644 index 00000000000..5d2fb76a72c --- /dev/null +++ b/arch/powerpc/boot/dts/ep8248e.dts | |||
@@ -0,0 +1,207 @@ | |||
1 | /* | ||
2 | * Device Tree for the Embedded Planet EP8248E board running PlanetCore. | ||
3 | * | ||
4 | * Copyright 2007 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | / { | ||
14 | model = "EP8248E"; | ||
15 | compatible = "fsl,ep8248e"; | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <1>; | ||
18 | |||
19 | aliases { | ||
20 | planetcore-SMC1 = &smc1; | ||
21 | planetcore-SCC1 = &scc1; | ||
22 | ethernet0 = ð0; | ||
23 | ethernet1 = ð1; | ||
24 | serial0 = &smc1; | ||
25 | serial1 = &scc1; | ||
26 | }; | ||
27 | |||
28 | cpus { | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | |||
32 | PowerPC,8248@0 { | ||
33 | device_type = "cpu"; | ||
34 | reg = <0>; | ||
35 | d-cache-line-size = <32>; | ||
36 | i-cache-line-size = <32>; | ||
37 | d-cache-size = <16384>; | ||
38 | i-cache-size = <16384>; | ||
39 | timebase-frequency = <0>; | ||
40 | clock-frequency = <0>; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | localbus@f0010100 { | ||
45 | compatible = "fsl,mpc8248-localbus", | ||
46 | "fsl,pq2-localbus", | ||
47 | "simple-bus"; | ||
48 | #address-cells = <2>; | ||
49 | #size-cells = <1>; | ||
50 | reg = <0xf0010100 0x40>; | ||
51 | |||
52 | ranges = <0 0 0xfc000000 0x04000000 | ||
53 | 1 0 0xfa000000 0x00008000>; | ||
54 | |||
55 | flash@0,3800000 { | ||
56 | compatible = "cfi-flash"; | ||
57 | reg = <0 0x3800000 0x800000>; | ||
58 | bank-width = <4>; | ||
59 | device-width = <2>; | ||
60 | }; | ||
61 | |||
62 | bcsr@1,0 { | ||
63 | #address-cells = <2>; | ||
64 | #size-cells = <1>; | ||
65 | reg = <1 0 0x10>; | ||
66 | compatible = "fsl,ep8248e-bcsr"; | ||
67 | ranges; | ||
68 | |||
69 | mdio { | ||
70 | device_type = "mdio"; | ||
71 | compatible = "fsl,ep8248e-mdio-bitbang"; | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <0>; | ||
74 | reg = <1 8 1>; | ||
75 | |||
76 | PHY0: ethernet-phy@0 { | ||
77 | interrupt-parent = <&PIC>; | ||
78 | reg = <0>; | ||
79 | device_type = "ethernet-phy"; | ||
80 | }; | ||
81 | |||
82 | PHY1: ethernet-phy@1 { | ||
83 | interrupt-parent = <&PIC>; | ||
84 | reg = <1>; | ||
85 | device_type = "ethernet-phy"; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | memory { | ||
92 | device_type = "memory"; | ||
93 | reg = <0 0>; | ||
94 | }; | ||
95 | |||
96 | soc@f0000000 { | ||
97 | #address-cells = <1>; | ||
98 | #size-cells = <1>; | ||
99 | compatible = "fsl,mpc8248-immr", "fsl,pq2-soc", "simple-bus"; | ||
100 | ranges = <0x00000000 0xf0000000 0x00053000>; | ||
101 | |||
102 | // Temporary until code stops depending on it. | ||
103 | device_type = "soc"; | ||
104 | |||
105 | // Temporary -- will go away once kernel uses ranges for get_immrbase(). | ||
106 | reg = <0xf0000000 0x00053000>; | ||
107 | |||
108 | cpm@119c0 { | ||
109 | #address-cells = <1>; | ||
110 | #size-cells = <1>; | ||
111 | #interrupt-cells = <2>; | ||
112 | compatible = "fsl,mpc8248-cpm", "fsl,cpm2", | ||
113 | "simple-bus"; | ||
114 | reg = <0x119c0 0x30>; | ||
115 | ranges; | ||
116 | |||
117 | muram { | ||
118 | #address-cells = <1>; | ||
119 | #size-cells = <1>; | ||
120 | ranges = <0 0 0x10000>; | ||
121 | |||
122 | data@0 { | ||
123 | compatible = "fsl,cpm-muram-data"; | ||
124 | reg = <0 0x1100 0x1140 | ||
125 | 0xec0 0x9800 0x800>; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | brg@119f0 { | ||
130 | compatible = "fsl,mpc8248-brg", | ||
131 | "fsl,cpm2-brg", | ||
132 | "fsl,cpm-brg"; | ||
133 | reg = <0x119f0 0x10 0x115f0 0x10>; | ||
134 | }; | ||
135 | |||
136 | /* Monitor port/SMC1 */ | ||
137 | smc1: serial@11a80 { | ||
138 | device_type = "serial"; | ||
139 | compatible = "fsl,mpc8248-smc-uart", | ||
140 | "fsl,cpm2-smc-uart"; | ||
141 | reg = <0x11a80 0x20 0x1100 0x40>; | ||
142 | interrupts = <4 8>; | ||
143 | interrupt-parent = <&PIC>; | ||
144 | fsl,cpm-brg = <7>; | ||
145 | fsl,cpm-command = <0x1d000000>; | ||
146 | linux,planetcore-label = "SMC1"; | ||
147 | }; | ||
148 | |||
149 | /* "Serial" port/SCC1 */ | ||
150 | scc1: serial@11a00 { | ||
151 | device_type = "serial"; | ||
152 | compatible = "fsl,mpc8248-scc-uart", | ||
153 | "fsl,cpm2-scc-uart"; | ||
154 | reg = <0x11a00 0x20 0x8000 0x100>; | ||
155 | interrupts = <40 8>; | ||
156 | interrupt-parent = <&PIC>; | ||
157 | fsl,cpm-brg = <1>; | ||
158 | fsl,cpm-command = <0x00800000>; | ||
159 | linux,planetcore-label = "SCC1"; | ||
160 | }; | ||
161 | |||
162 | eth0: ethernet@11300 { | ||
163 | device_type = "network"; | ||
164 | compatible = "fsl,mpc8248-fcc-enet", | ||
165 | "fsl,cpm2-fcc-enet"; | ||
166 | reg = <0x11300 0x20 0x8400 0x100 0x11390 1>; | ||
167 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
168 | interrupts = <32 8>; | ||
169 | interrupt-parent = <&PIC>; | ||
170 | phy-handle = <&PHY0>; | ||
171 | linux,network-index = <0>; | ||
172 | fsl,cpm-command = <0x12000300>; | ||
173 | }; | ||
174 | |||
175 | eth1: ethernet@11320 { | ||
176 | device_type = "network"; | ||
177 | compatible = "fsl,mpc8248-fcc-enet", | ||
178 | "fsl,cpm2-fcc-enet"; | ||
179 | reg = <0x11320 0x20 0x8500 0x100 0x113b0 1>; | ||
180 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
181 | interrupts = <33 8>; | ||
182 | interrupt-parent = <&PIC>; | ||
183 | phy-handle = <&PHY1>; | ||
184 | linux,network-index = <1>; | ||
185 | fsl,cpm-command = <0x16200300>; | ||
186 | }; | ||
187 | |||
188 | usb@11b60 { | ||
189 | #address-cells = <1>; | ||
190 | #size-cells = <0>; | ||
191 | compatible = "fsl,mpc8248-usb", | ||
192 | "fsl,cpm2-usb"; | ||
193 | reg = <0x11b60 0x18 0x8b00 0x100>; | ||
194 | interrupt-parent = <&PIC>; | ||
195 | interrupts = <11 8>; | ||
196 | fsl,cpm-command = <0x2e600000>; | ||
197 | }; | ||
198 | }; | ||
199 | |||
200 | PIC: interrupt-controller@10c00 { | ||
201 | #interrupt-cells = <2>; | ||
202 | interrupt-controller; | ||
203 | reg = <0x10c00 0x80>; | ||
204 | compatible = "fsl,mpc8248-pic", "fsl,pq2-pic"; | ||
205 | }; | ||
206 | }; | ||
207 | }; | ||
diff --git a/arch/powerpc/boot/ep8248e.c b/arch/powerpc/boot/ep8248e.c new file mode 100644 index 00000000000..f57d14d0272 --- /dev/null +++ b/arch/powerpc/boot/ep8248e.c | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * Embedded Planet EP8248E with PlanetCore firmware | ||
3 | * | ||
4 | * Author: Scott Wood <scottwood@freescale.com> | ||
5 | * | ||
6 | * Copyright (c) 2007 Freescale Semiconductor, Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License version 2 as published | ||
10 | * by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include "ops.h" | ||
14 | #include "stdio.h" | ||
15 | #include "planetcore.h" | ||
16 | #include "pq2.h" | ||
17 | |||
18 | static char *table; | ||
19 | static u64 mem_size; | ||
20 | |||
21 | #include <io.h> | ||
22 | |||
23 | static void platform_fixups(void) | ||
24 | { | ||
25 | u64 val; | ||
26 | |||
27 | dt_fixup_memory(0, mem_size); | ||
28 | planetcore_set_mac_addrs(table); | ||
29 | |||
30 | if (!planetcore_get_decimal(table, PLANETCORE_KEY_CRYSTAL_HZ, &val)) { | ||
31 | printf("No PlanetCore crystal frequency key.\r\n"); | ||
32 | return; | ||
33 | } | ||
34 | |||
35 | pq2_fixup_clocks(val); | ||
36 | } | ||
37 | |||
38 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
39 | unsigned long r6, unsigned long r7) | ||
40 | { | ||
41 | table = (char *)r3; | ||
42 | planetcore_prepare_table(table); | ||
43 | |||
44 | if (!planetcore_get_decimal(table, PLANETCORE_KEY_MB_RAM, &mem_size)) | ||
45 | return; | ||
46 | |||
47 | mem_size *= 1024 * 1024; | ||
48 | simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64); | ||
49 | |||
50 | fdt_init(_dtb_start); | ||
51 | |||
52 | planetcore_set_stdout_path(table); | ||
53 | serial_console_init(); | ||
54 | platform_ops.fixups = platform_fixups; | ||
55 | } | ||
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index a7c46715af1..763a0c46f44 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -168,7 +168,7 @@ ps3) | |||
168 | ksection=.kernel:vmlinux.bin | 168 | ksection=.kernel:vmlinux.bin |
169 | isection=.kernel:initrd | 169 | isection=.kernel:initrd |
170 | ;; | 170 | ;; |
171 | ep88xc|ep405|redboot*) | 171 | ep88xc|ep405|redboot*|ep8248e) |
172 | platformo="$object/fixed-head.o $object/$platform.o" | 172 | platformo="$object/fixed-head.o $object/$platform.o" |
173 | binary=y | 173 | binary=y |
174 | ;; | 174 | ;; |
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig new file mode 100644 index 00000000000..01ad5951ade --- /dev/null +++ b/arch/powerpc/configs/ep8248e_defconfig | |||
@@ -0,0 +1,821 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24-rc6 | ||
4 | # Fri Jan 11 14:02:06 2008 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | CONFIG_6xx=y | ||
12 | # CONFIG_PPC_85xx is not set | ||
13 | # CONFIG_PPC_8xx is not set | ||
14 | # CONFIG_40x is not set | ||
15 | # CONFIG_44x is not set | ||
16 | # CONFIG_E200 is not set | ||
17 | CONFIG_PPC_FPU=y | ||
18 | CONFIG_PPC_STD_MMU=y | ||
19 | CONFIG_PPC_STD_MMU_32=y | ||
20 | # CONFIG_PPC_MM_SLICES is not set | ||
21 | # CONFIG_SMP is not set | ||
22 | CONFIG_PPC32=y | ||
23 | CONFIG_WORD_SIZE=32 | ||
24 | CONFIG_PPC_MERGE=y | ||
25 | CONFIG_MMU=y | ||
26 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
27 | CONFIG_GENERIC_TIME=y | ||
28 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
29 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
30 | CONFIG_GENERIC_HARDIRQS=y | ||
31 | CONFIG_IRQ_PER_CPU=y | ||
32 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
33 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
34 | CONFIG_GENERIC_HWEIGHT=y | ||
35 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
36 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
37 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
38 | CONFIG_PPC=y | ||
39 | CONFIG_EARLY_PRINTK=y | ||
40 | CONFIG_GENERIC_NVRAM=y | ||
41 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
42 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
43 | CONFIG_PPC_OF=y | ||
44 | CONFIG_OF=y | ||
45 | # CONFIG_PPC_UDBG_16550 is not set | ||
46 | # CONFIG_GENERIC_TBSYNC is not set | ||
47 | CONFIG_AUDIT_ARCH=y | ||
48 | CONFIG_GENERIC_BUG=y | ||
49 | # CONFIG_DEFAULT_UIMAGE is not set | ||
50 | # CONFIG_PPC_DCR_NATIVE is not set | ||
51 | # CONFIG_PPC_DCR_MMIO is not set | ||
52 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
53 | |||
54 | # | ||
55 | # General setup | ||
56 | # | ||
57 | # CONFIG_EXPERIMENTAL is not set | ||
58 | CONFIG_BROKEN_ON_SMP=y | ||
59 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
60 | CONFIG_LOCALVERSION="" | ||
61 | CONFIG_LOCALVERSION_AUTO=y | ||
62 | CONFIG_SWAP=y | ||
63 | CONFIG_SYSVIPC=y | ||
64 | CONFIG_SYSVIPC_SYSCTL=y | ||
65 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
66 | # CONFIG_TASKSTATS is not set | ||
67 | # CONFIG_AUDIT is not set | ||
68 | CONFIG_IKCONFIG=y | ||
69 | CONFIG_IKCONFIG_PROC=y | ||
70 | CONFIG_LOG_BUF_SHIFT=14 | ||
71 | # CONFIG_CGROUPS is not set | ||
72 | CONFIG_FAIR_GROUP_SCHED=y | ||
73 | CONFIG_FAIR_USER_SCHED=y | ||
74 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
75 | CONFIG_SYSFS_DEPRECATED=y | ||
76 | # CONFIG_RELAY is not set | ||
77 | # CONFIG_BLK_DEV_INITRD 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 is not set | ||
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_ANON_INODES=y | ||
91 | CONFIG_EPOLL=y | ||
92 | CONFIG_SIGNALFD=y | ||
93 | CONFIG_EVENTFD=y | ||
94 | CONFIG_SHMEM=y | ||
95 | CONFIG_VM_EVENT_COUNTERS=y | ||
96 | CONFIG_SLAB=y | ||
97 | # CONFIG_SLUB is not set | ||
98 | # CONFIG_SLOB is not set | ||
99 | CONFIG_RT_MUTEXES=y | ||
100 | # CONFIG_TINY_SHMEM is not set | ||
101 | CONFIG_BASE_SMALL=0 | ||
102 | # CONFIG_MODULES is not set | ||
103 | CONFIG_BLOCK=y | ||
104 | # CONFIG_LBD is not set | ||
105 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
106 | # CONFIG_LSF is not set | ||
107 | |||
108 | # | ||
109 | # IO Schedulers | ||
110 | # | ||
111 | CONFIG_IOSCHED_NOOP=y | ||
112 | # CONFIG_IOSCHED_AS is not set | ||
113 | CONFIG_IOSCHED_DEADLINE=y | ||
114 | # CONFIG_IOSCHED_CFQ is not set | ||
115 | # CONFIG_DEFAULT_AS is not set | ||
116 | CONFIG_DEFAULT_DEADLINE=y | ||
117 | # CONFIG_DEFAULT_CFQ is not set | ||
118 | # CONFIG_DEFAULT_NOOP is not set | ||
119 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
120 | |||
121 | # | ||
122 | # Platform support | ||
123 | # | ||
124 | # CONFIG_PPC_MULTIPLATFORM is not set | ||
125 | CONFIG_PPC_82xx=y | ||
126 | # CONFIG_PPC_83xx is not set | ||
127 | # CONFIG_PPC_86xx is not set | ||
128 | # CONFIG_PPC_MPC52xx is not set | ||
129 | # CONFIG_PPC_MPC5200 is not set | ||
130 | # CONFIG_PPC_CELL is not set | ||
131 | # CONFIG_PPC_CELL_NATIVE is not set | ||
132 | # CONFIG_MPC8272_ADS is not set | ||
133 | # CONFIG_PQ2FADS is not set | ||
134 | CONFIG_EP8248E=y | ||
135 | # CONFIG_PQ2ADS is not set | ||
136 | CONFIG_8260=y | ||
137 | CONFIG_8272=y | ||
138 | # CONFIG_MPIC is not set | ||
139 | # CONFIG_MPIC_WEIRD is not set | ||
140 | # CONFIG_PPC_I8259 is not set | ||
141 | # CONFIG_PPC_RTAS is not set | ||
142 | # CONFIG_MMIO_NVRAM is not set | ||
143 | # CONFIG_PPC_MPC106 is not set | ||
144 | # CONFIG_PPC_970_NAP is not set | ||
145 | # CONFIG_PPC_INDIRECT_IO is not set | ||
146 | # CONFIG_GENERIC_IOMAP is not set | ||
147 | # CONFIG_CPU_FREQ is not set | ||
148 | CONFIG_CPM2=y | ||
149 | CONFIG_PPC_CPM_NEW_BINDING=y | ||
150 | # CONFIG_FSL_ULI1575 is not set | ||
151 | CONFIG_CPM=y | ||
152 | |||
153 | # | ||
154 | # Kernel options | ||
155 | # | ||
156 | # CONFIG_HIGHMEM is not set | ||
157 | # CONFIG_TICK_ONESHOT is not set | ||
158 | # CONFIG_NO_HZ is not set | ||
159 | # CONFIG_HIGH_RES_TIMERS is not set | ||
160 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
161 | # CONFIG_HZ_100 is not set | ||
162 | CONFIG_HZ_250=y | ||
163 | # CONFIG_HZ_300 is not set | ||
164 | # CONFIG_HZ_1000 is not set | ||
165 | CONFIG_HZ=250 | ||
166 | CONFIG_PREEMPT_NONE=y | ||
167 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
168 | # CONFIG_PREEMPT is not set | ||
169 | CONFIG_BINFMT_ELF=y | ||
170 | CONFIG_BINFMT_MISC=y | ||
171 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
172 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
173 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
174 | CONFIG_FLATMEM=y | ||
175 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
176 | # CONFIG_SPARSEMEM_STATIC is not set | ||
177 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
178 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
179 | # CONFIG_RESOURCES_64BIT is not set | ||
180 | CONFIG_ZONE_DMA_FLAG=1 | ||
181 | CONFIG_BOUNCE=y | ||
182 | CONFIG_VIRT_TO_BUS=y | ||
183 | CONFIG_PROC_DEVICETREE=y | ||
184 | # CONFIG_CMDLINE_BOOL is not set | ||
185 | # CONFIG_PM is not set | ||
186 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
187 | CONFIG_HIBERNATION_UP_POSSIBLE=y | ||
188 | # CONFIG_SECCOMP is not set | ||
189 | CONFIG_WANT_DEVICE_TREE=y | ||
190 | CONFIG_DEVICE_TREE="ep8248e.dts" | ||
191 | CONFIG_ISA_DMA_API=y | ||
192 | |||
193 | # | ||
194 | # Bus options | ||
195 | # | ||
196 | CONFIG_ZONE_DMA=y | ||
197 | CONFIG_FSL_SOC=y | ||
198 | # CONFIG_PCI is not set | ||
199 | # CONFIG_PCI_DOMAINS is not set | ||
200 | # CONFIG_PCI_SYSCALL is not set | ||
201 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
202 | # CONFIG_PCCARD is not set | ||
203 | |||
204 | # | ||
205 | # Advanced setup | ||
206 | # | ||
207 | # CONFIG_ADVANCED_OPTIONS is not set | ||
208 | |||
209 | # | ||
210 | # Default settings for advanced configuration options are used | ||
211 | # | ||
212 | CONFIG_HIGHMEM_START=0xfe000000 | ||
213 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
214 | CONFIG_KERNEL_START=0xc0000000 | ||
215 | CONFIG_TASK_SIZE=0xc0000000 | ||
216 | CONFIG_BOOT_LOAD=0x00400000 | ||
217 | |||
218 | # | ||
219 | # Networking | ||
220 | # | ||
221 | CONFIG_NET=y | ||
222 | |||
223 | # | ||
224 | # Networking options | ||
225 | # | ||
226 | CONFIG_PACKET=y | ||
227 | # CONFIG_PACKET_MMAP is not set | ||
228 | CONFIG_UNIX=y | ||
229 | CONFIG_XFRM=y | ||
230 | # CONFIG_XFRM_USER is not set | ||
231 | # CONFIG_NET_KEY is not set | ||
232 | CONFIG_INET=y | ||
233 | CONFIG_IP_MULTICAST=y | ||
234 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
235 | CONFIG_IP_FIB_HASH=y | ||
236 | CONFIG_IP_PNP=y | ||
237 | CONFIG_IP_PNP_DHCP=y | ||
238 | CONFIG_IP_PNP_BOOTP=y | ||
239 | # CONFIG_IP_PNP_RARP is not set | ||
240 | # CONFIG_NET_IPIP is not set | ||
241 | # CONFIG_NET_IPGRE is not set | ||
242 | # CONFIG_IP_MROUTE is not set | ||
243 | CONFIG_SYN_COOKIES=y | ||
244 | # CONFIG_INET_AH is not set | ||
245 | # CONFIG_INET_ESP is not set | ||
246 | # CONFIG_INET_IPCOMP is not set | ||
247 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
248 | CONFIG_INET_TUNNEL=y | ||
249 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
250 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
251 | CONFIG_INET_XFRM_MODE_BEET=y | ||
252 | # CONFIG_INET_LRO is not set | ||
253 | CONFIG_INET_DIAG=y | ||
254 | CONFIG_INET_TCP_DIAG=y | ||
255 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
256 | CONFIG_TCP_CONG_CUBIC=y | ||
257 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
258 | # CONFIG_IP_VS is not set | ||
259 | CONFIG_IPV6=y | ||
260 | # CONFIG_IPV6_PRIVACY is not set | ||
261 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
262 | # CONFIG_INET6_AH is not set | ||
263 | # CONFIG_INET6_ESP is not set | ||
264 | # CONFIG_INET6_IPCOMP is not set | ||
265 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
266 | # CONFIG_INET6_TUNNEL is not set | ||
267 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
268 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
269 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
270 | CONFIG_IPV6_SIT=y | ||
271 | # CONFIG_IPV6_TUNNEL is not set | ||
272 | # CONFIG_NETWORK_SECMARK is not set | ||
273 | CONFIG_NETFILTER=y | ||
274 | # CONFIG_NETFILTER_DEBUG is not set | ||
275 | |||
276 | # | ||
277 | # Core Netfilter Configuration | ||
278 | # | ||
279 | # CONFIG_NETFILTER_NETLINK is not set | ||
280 | # CONFIG_NF_CONNTRACK_ENABLED is not set | ||
281 | # CONFIG_NF_CONNTRACK is not set | ||
282 | # CONFIG_NETFILTER_XTABLES is not set | ||
283 | |||
284 | # | ||
285 | # IP: Netfilter Configuration | ||
286 | # | ||
287 | # CONFIG_IP_NF_QUEUE is not set | ||
288 | # CONFIG_IP_NF_IPTABLES is not set | ||
289 | # CONFIG_IP_NF_ARPTABLES is not set | ||
290 | # CONFIG_BRIDGE is not set | ||
291 | # CONFIG_VLAN_8021Q is not set | ||
292 | # CONFIG_DECNET is not set | ||
293 | # CONFIG_LLC2 is not set | ||
294 | # CONFIG_IPX is not set | ||
295 | # CONFIG_ATALK is not set | ||
296 | # CONFIG_NET_SCHED is not set | ||
297 | |||
298 | # | ||
299 | # Network testing | ||
300 | # | ||
301 | # CONFIG_NET_PKTGEN is not set | ||
302 | # CONFIG_HAMRADIO is not set | ||
303 | # CONFIG_IRDA is not set | ||
304 | # CONFIG_BT is not set | ||
305 | |||
306 | # | ||
307 | # Wireless | ||
308 | # | ||
309 | # CONFIG_CFG80211 is not set | ||
310 | # CONFIG_WIRELESS_EXT is not set | ||
311 | # CONFIG_IEEE80211 is not set | ||
312 | # CONFIG_RFKILL is not set | ||
313 | |||
314 | # | ||
315 | # Device Drivers | ||
316 | # | ||
317 | |||
318 | # | ||
319 | # Generic Driver Options | ||
320 | # | ||
321 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
322 | CONFIG_STANDALONE=y | ||
323 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
324 | # CONFIG_FW_LOADER is not set | ||
325 | # CONFIG_DEBUG_DRIVER is not set | ||
326 | # CONFIG_DEBUG_DEVRES is not set | ||
327 | # CONFIG_SYS_HYPERVISOR is not set | ||
328 | # CONFIG_CONNECTOR is not set | ||
329 | CONFIG_MTD=y | ||
330 | # CONFIG_MTD_DEBUG is not set | ||
331 | # CONFIG_MTD_CONCAT is not set | ||
332 | # CONFIG_MTD_PARTITIONS is not set | ||
333 | |||
334 | # | ||
335 | # User Modules And Translation Layers | ||
336 | # | ||
337 | CONFIG_MTD_CHAR=y | ||
338 | CONFIG_MTD_BLKDEVS=y | ||
339 | CONFIG_MTD_BLOCK=y | ||
340 | # CONFIG_FTL is not set | ||
341 | # CONFIG_NFTL is not set | ||
342 | # CONFIG_INFTL is not set | ||
343 | # CONFIG_RFD_FTL is not set | ||
344 | # CONFIG_SSFDC is not set | ||
345 | # CONFIG_MTD_OOPS is not set | ||
346 | |||
347 | # | ||
348 | # RAM/ROM/Flash chip drivers | ||
349 | # | ||
350 | CONFIG_MTD_CFI=y | ||
351 | # CONFIG_MTD_JEDECPROBE is not set | ||
352 | CONFIG_MTD_GEN_PROBE=y | ||
353 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
354 | CONFIG_MTD_CFI_NOSWAP=y | ||
355 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
356 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
357 | CONFIG_MTD_CFI_GEOMETRY=y | ||
358 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
359 | # CONFIG_MTD_MAP_BANK_WIDTH_2 is not set | ||
360 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
361 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
362 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
363 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
364 | # CONFIG_MTD_CFI_I1 is not set | ||
365 | CONFIG_MTD_CFI_I2=y | ||
366 | # CONFIG_MTD_CFI_I4 is not set | ||
367 | # CONFIG_MTD_CFI_I8 is not set | ||
368 | # CONFIG_MTD_OTP is not set | ||
369 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
370 | CONFIG_MTD_CFI_AMDSTD=y | ||
371 | # CONFIG_MTD_CFI_STAA is not set | ||
372 | CONFIG_MTD_CFI_UTIL=y | ||
373 | # CONFIG_MTD_RAM is not set | ||
374 | # CONFIG_MTD_ROM is not set | ||
375 | # CONFIG_MTD_ABSENT is not set | ||
376 | |||
377 | # | ||
378 | # Mapping drivers for chip access | ||
379 | # | ||
380 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
381 | # CONFIG_MTD_PHYSMAP is not set | ||
382 | CONFIG_MTD_PHYSMAP_OF=y | ||
383 | # CONFIG_MTD_PLATRAM is not set | ||
384 | |||
385 | # | ||
386 | # Self-contained MTD device drivers | ||
387 | # | ||
388 | # CONFIG_MTD_SLRAM is not set | ||
389 | # CONFIG_MTD_PHRAM is not set | ||
390 | # CONFIG_MTD_MTDRAM is not set | ||
391 | # CONFIG_MTD_BLOCK2MTD is not set | ||
392 | |||
393 | # | ||
394 | # Disk-On-Chip Device Drivers | ||
395 | # | ||
396 | # CONFIG_MTD_DOC2000 is not set | ||
397 | # CONFIG_MTD_DOC2001 is not set | ||
398 | # CONFIG_MTD_DOC2001PLUS is not set | ||
399 | # CONFIG_MTD_NAND is not set | ||
400 | # CONFIG_MTD_ONENAND is not set | ||
401 | |||
402 | # | ||
403 | # UBI - Unsorted block images | ||
404 | # | ||
405 | # CONFIG_MTD_UBI is not set | ||
406 | CONFIG_OF_DEVICE=y | ||
407 | # CONFIG_PARPORT is not set | ||
408 | CONFIG_BLK_DEV=y | ||
409 | # CONFIG_BLK_DEV_FD is not set | ||
410 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
411 | CONFIG_BLK_DEV_LOOP=y | ||
412 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
413 | # CONFIG_BLK_DEV_NBD is not set | ||
414 | # CONFIG_BLK_DEV_RAM is not set | ||
415 | # CONFIG_CDROM_PKTCDVD is not set | ||
416 | # CONFIG_ATA_OVER_ETH is not set | ||
417 | # CONFIG_MISC_DEVICES is not set | ||
418 | # CONFIG_IDE is not set | ||
419 | |||
420 | # | ||
421 | # SCSI device support | ||
422 | # | ||
423 | # CONFIG_RAID_ATTRS is not set | ||
424 | # CONFIG_SCSI is not set | ||
425 | # CONFIG_SCSI_DMA is not set | ||
426 | # CONFIG_SCSI_NETLINK is not set | ||
427 | # CONFIG_ATA is not set | ||
428 | # CONFIG_MD is not set | ||
429 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
430 | CONFIG_NETDEVICES=y | ||
431 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
432 | # CONFIG_DUMMY is not set | ||
433 | # CONFIG_BONDING is not set | ||
434 | # CONFIG_EQUALIZER is not set | ||
435 | # CONFIG_TUN is not set | ||
436 | # CONFIG_VETH is not set | ||
437 | CONFIG_PHYLIB=y | ||
438 | |||
439 | # | ||
440 | # MII PHY device drivers | ||
441 | # | ||
442 | # CONFIG_MARVELL_PHY is not set | ||
443 | CONFIG_DAVICOM_PHY=y | ||
444 | # CONFIG_QSEMI_PHY is not set | ||
445 | # CONFIG_LXT_PHY is not set | ||
446 | # CONFIG_CICADA_PHY is not set | ||
447 | # CONFIG_VITESSE_PHY is not set | ||
448 | # CONFIG_SMSC_PHY is not set | ||
449 | # CONFIG_BROADCOM_PHY is not set | ||
450 | # CONFIG_ICPLUS_PHY is not set | ||
451 | # CONFIG_FIXED_PHY is not set | ||
452 | CONFIG_MDIO_BITBANG=y | ||
453 | CONFIG_NET_ETHERNET=y | ||
454 | CONFIG_MII=y | ||
455 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
456 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
457 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
458 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
459 | # CONFIG_B44 is not set | ||
460 | CONFIG_FS_ENET=y | ||
461 | # CONFIG_FS_ENET_HAS_SCC is not set | ||
462 | CONFIG_FS_ENET_HAS_FCC=y | ||
463 | # CONFIG_FS_ENET_MDIO_FCC is not set | ||
464 | CONFIG_NETDEV_1000=y | ||
465 | CONFIG_NETDEV_10000=y | ||
466 | |||
467 | # | ||
468 | # Wireless LAN | ||
469 | # | ||
470 | # CONFIG_WLAN_PRE80211 is not set | ||
471 | # CONFIG_WLAN_80211 is not set | ||
472 | # CONFIG_WAN is not set | ||
473 | # CONFIG_PPP is not set | ||
474 | # CONFIG_SLIP is not set | ||
475 | # CONFIG_NETPOLL is not set | ||
476 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
477 | # CONFIG_ISDN is not set | ||
478 | # CONFIG_PHONE is not set | ||
479 | |||
480 | # | ||
481 | # Input device support | ||
482 | # | ||
483 | # CONFIG_INPUT is not set | ||
484 | |||
485 | # | ||
486 | # Hardware I/O ports | ||
487 | # | ||
488 | # CONFIG_SERIO is not set | ||
489 | # CONFIG_GAMEPORT is not set | ||
490 | |||
491 | # | ||
492 | # Character devices | ||
493 | # | ||
494 | # CONFIG_VT is not set | ||
495 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
496 | |||
497 | # | ||
498 | # Serial drivers | ||
499 | # | ||
500 | # CONFIG_SERIAL_8250 is not set | ||
501 | |||
502 | # | ||
503 | # Non-8250 serial port support | ||
504 | # | ||
505 | # CONFIG_SERIAL_UARTLITE is not set | ||
506 | CONFIG_SERIAL_CORE=y | ||
507 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
508 | CONFIG_SERIAL_CPM=y | ||
509 | CONFIG_SERIAL_CPM_CONSOLE=y | ||
510 | CONFIG_SERIAL_CPM_SCC1=y | ||
511 | # CONFIG_SERIAL_CPM_SCC2 is not set | ||
512 | # CONFIG_SERIAL_CPM_SCC3 is not set | ||
513 | CONFIG_SERIAL_CPM_SCC4=y | ||
514 | # CONFIG_SERIAL_CPM_SMC1 is not set | ||
515 | # CONFIG_SERIAL_CPM_SMC2 is not set | ||
516 | CONFIG_UNIX98_PTYS=y | ||
517 | CONFIG_LEGACY_PTYS=y | ||
518 | CONFIG_LEGACY_PTY_COUNT=256 | ||
519 | # CONFIG_IPMI_HANDLER is not set | ||
520 | CONFIG_HW_RANDOM=y | ||
521 | # CONFIG_NVRAM is not set | ||
522 | # CONFIG_GEN_RTC is not set | ||
523 | # CONFIG_R3964 is not set | ||
524 | # CONFIG_RAW_DRIVER is not set | ||
525 | # CONFIG_I2C is not set | ||
526 | |||
527 | # | ||
528 | # SPI support | ||
529 | # | ||
530 | # CONFIG_SPI is not set | ||
531 | # CONFIG_SPI_MASTER is not set | ||
532 | # CONFIG_W1 is not set | ||
533 | # CONFIG_POWER_SUPPLY is not set | ||
534 | # CONFIG_HWMON is not set | ||
535 | # CONFIG_WATCHDOG is not set | ||
536 | |||
537 | # | ||
538 | # Sonics Silicon Backplane | ||
539 | # | ||
540 | CONFIG_SSB_POSSIBLE=y | ||
541 | # CONFIG_SSB is not set | ||
542 | |||
543 | # | ||
544 | # Multifunction device drivers | ||
545 | # | ||
546 | # CONFIG_MFD_SM501 is not set | ||
547 | |||
548 | # | ||
549 | # Multimedia devices | ||
550 | # | ||
551 | # CONFIG_VIDEO_DEV is not set | ||
552 | # CONFIG_DVB_CORE is not set | ||
553 | CONFIG_DAB=y | ||
554 | |||
555 | # | ||
556 | # Graphics support | ||
557 | # | ||
558 | # CONFIG_VGASTATE is not set | ||
559 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
560 | # CONFIG_FB is not set | ||
561 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
562 | |||
563 | # | ||
564 | # Display device support | ||
565 | # | ||
566 | # CONFIG_DISPLAY_SUPPORT is not set | ||
567 | |||
568 | # | ||
569 | # Sound | ||
570 | # | ||
571 | # CONFIG_SOUND is not set | ||
572 | # CONFIG_USB_SUPPORT is not set | ||
573 | # CONFIG_MMC is not set | ||
574 | # CONFIG_NEW_LEDS is not set | ||
575 | # CONFIG_RTC_CLASS is not set | ||
576 | |||
577 | # | ||
578 | # Userspace I/O | ||
579 | # | ||
580 | # CONFIG_UIO is not set | ||
581 | |||
582 | # | ||
583 | # File systems | ||
584 | # | ||
585 | CONFIG_EXT2_FS=y | ||
586 | # CONFIG_EXT2_FS_XATTR is not set | ||
587 | # CONFIG_EXT2_FS_XIP is not set | ||
588 | CONFIG_EXT3_FS=y | ||
589 | # CONFIG_EXT3_FS_XATTR is not set | ||
590 | CONFIG_JBD=y | ||
591 | # CONFIG_REISERFS_FS is not set | ||
592 | # CONFIG_JFS_FS is not set | ||
593 | # CONFIG_FS_POSIX_ACL is not set | ||
594 | # CONFIG_XFS_FS is not set | ||
595 | # CONFIG_OCFS2_FS is not set | ||
596 | # CONFIG_MINIX_FS is not set | ||
597 | # CONFIG_ROMFS_FS is not set | ||
598 | CONFIG_INOTIFY=y | ||
599 | CONFIG_INOTIFY_USER=y | ||
600 | # CONFIG_QUOTA is not set | ||
601 | CONFIG_DNOTIFY=y | ||
602 | # CONFIG_AUTOFS_FS is not set | ||
603 | CONFIG_AUTOFS4_FS=y | ||
604 | # CONFIG_FUSE_FS is not set | ||
605 | |||
606 | # | ||
607 | # CD-ROM/DVD Filesystems | ||
608 | # | ||
609 | # CONFIG_ISO9660_FS is not set | ||
610 | # CONFIG_UDF_FS is not set | ||
611 | |||
612 | # | ||
613 | # DOS/FAT/NT Filesystems | ||
614 | # | ||
615 | # CONFIG_MSDOS_FS is not set | ||
616 | # CONFIG_VFAT_FS is not set | ||
617 | # CONFIG_NTFS_FS is not set | ||
618 | |||
619 | # | ||
620 | # Pseudo filesystems | ||
621 | # | ||
622 | CONFIG_PROC_FS=y | ||
623 | CONFIG_PROC_KCORE=y | ||
624 | CONFIG_PROC_SYSCTL=y | ||
625 | CONFIG_SYSFS=y | ||
626 | CONFIG_TMPFS=y | ||
627 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
628 | # CONFIG_HUGETLB_PAGE is not set | ||
629 | |||
630 | # | ||
631 | # Miscellaneous filesystems | ||
632 | # | ||
633 | # CONFIG_HFSPLUS_FS is not set | ||
634 | # CONFIG_JFFS2_FS is not set | ||
635 | CONFIG_CRAMFS=y | ||
636 | # CONFIG_VXFS_FS is not set | ||
637 | # CONFIG_HPFS_FS is not set | ||
638 | # CONFIG_QNX4FS_FS is not set | ||
639 | # CONFIG_SYSV_FS is not set | ||
640 | # CONFIG_UFS_FS is not set | ||
641 | CONFIG_NETWORK_FILESYSTEMS=y | ||
642 | CONFIG_NFS_FS=y | ||
643 | CONFIG_NFS_V3=y | ||
644 | # CONFIG_NFS_V3_ACL is not set | ||
645 | # CONFIG_NFS_DIRECTIO is not set | ||
646 | # CONFIG_NFSD is not set | ||
647 | CONFIG_ROOT_NFS=y | ||
648 | CONFIG_LOCKD=y | ||
649 | CONFIG_LOCKD_V4=y | ||
650 | CONFIG_NFS_COMMON=y | ||
651 | CONFIG_SUNRPC=y | ||
652 | # CONFIG_SMB_FS is not set | ||
653 | # CONFIG_CIFS is not set | ||
654 | # CONFIG_NCP_FS is not set | ||
655 | # CONFIG_CODA_FS is not set | ||
656 | |||
657 | # | ||
658 | # Partition Types | ||
659 | # | ||
660 | CONFIG_PARTITION_ADVANCED=y | ||
661 | # CONFIG_ACORN_PARTITION is not set | ||
662 | # CONFIG_OSF_PARTITION is not set | ||
663 | # CONFIG_AMIGA_PARTITION is not set | ||
664 | # CONFIG_ATARI_PARTITION is not set | ||
665 | # CONFIG_MAC_PARTITION is not set | ||
666 | CONFIG_MSDOS_PARTITION=y | ||
667 | # CONFIG_BSD_DISKLABEL is not set | ||
668 | # CONFIG_MINIX_SUBPARTITION is not set | ||
669 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
670 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
671 | # CONFIG_LDM_PARTITION is not set | ||
672 | # CONFIG_SGI_PARTITION is not set | ||
673 | # CONFIG_ULTRIX_PARTITION is not set | ||
674 | # CONFIG_SUN_PARTITION is not set | ||
675 | # CONFIG_KARMA_PARTITION is not set | ||
676 | # CONFIG_EFI_PARTITION is not set | ||
677 | # CONFIG_SYSV68_PARTITION is not set | ||
678 | CONFIG_NLS=y | ||
679 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
680 | CONFIG_NLS_CODEPAGE_437=y | ||
681 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
682 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
683 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
684 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
685 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
686 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
687 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
688 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
689 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
690 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
691 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
692 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
693 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
694 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
695 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
696 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
697 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
698 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
699 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
700 | # CONFIG_NLS_ISO8859_8 is not set | ||
701 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
702 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
703 | CONFIG_NLS_ASCII=y | ||
704 | CONFIG_NLS_ISO8859_1=y | ||
705 | # CONFIG_NLS_ISO8859_2 is not set | ||
706 | # CONFIG_NLS_ISO8859_3 is not set | ||
707 | # CONFIG_NLS_ISO8859_4 is not set | ||
708 | # CONFIG_NLS_ISO8859_5 is not set | ||
709 | # CONFIG_NLS_ISO8859_6 is not set | ||
710 | # CONFIG_NLS_ISO8859_7 is not set | ||
711 | # CONFIG_NLS_ISO8859_9 is not set | ||
712 | # CONFIG_NLS_ISO8859_13 is not set | ||
713 | # CONFIG_NLS_ISO8859_14 is not set | ||
714 | # CONFIG_NLS_ISO8859_15 is not set | ||
715 | # CONFIG_NLS_KOI8_R is not set | ||
716 | # CONFIG_NLS_KOI8_U is not set | ||
717 | CONFIG_NLS_UTF8=y | ||
718 | # CONFIG_UCC_SLOW is not set | ||
719 | |||
720 | # | ||
721 | # Library routines | ||
722 | # | ||
723 | # CONFIG_CRC_CCITT is not set | ||
724 | # CONFIG_CRC16 is not set | ||
725 | # CONFIG_CRC_ITU_T is not set | ||
726 | # CONFIG_CRC32 is not set | ||
727 | # CONFIG_CRC7 is not set | ||
728 | # CONFIG_LIBCRC32C is not set | ||
729 | CONFIG_ZLIB_INFLATE=y | ||
730 | CONFIG_PLIST=y | ||
731 | CONFIG_HAS_IOMEM=y | ||
732 | CONFIG_HAS_IOPORT=y | ||
733 | CONFIG_HAS_DMA=y | ||
734 | CONFIG_INSTRUMENTATION=y | ||
735 | # CONFIG_PROFILING is not set | ||
736 | # CONFIG_MARKERS is not set | ||
737 | |||
738 | # | ||
739 | # Kernel hacking | ||
740 | # | ||
741 | # CONFIG_PRINTK_TIME is not set | ||
742 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
743 | CONFIG_ENABLE_MUST_CHECK=y | ||
744 | CONFIG_MAGIC_SYSRQ=y | ||
745 | # CONFIG_UNUSED_SYMBOLS is not set | ||
746 | # CONFIG_DEBUG_FS is not set | ||
747 | # CONFIG_HEADERS_CHECK is not set | ||
748 | CONFIG_DEBUG_KERNEL=y | ||
749 | # CONFIG_DEBUG_SHIRQ is not set | ||
750 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
751 | # CONFIG_SCHED_DEBUG is not set | ||
752 | # CONFIG_SCHEDSTATS is not set | ||
753 | # CONFIG_TIMER_STATS is not set | ||
754 | # CONFIG_DEBUG_SLAB is not set | ||
755 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
756 | # CONFIG_RT_MUTEX_TESTER is not set | ||
757 | # CONFIG_DEBUG_SPINLOCK is not set | ||
758 | # CONFIG_DEBUG_MUTEXES is not set | ||
759 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
760 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
761 | # CONFIG_DEBUG_KOBJECT is not set | ||
762 | CONFIG_DEBUG_BUGVERBOSE=y | ||
763 | CONFIG_DEBUG_INFO=y | ||
764 | # CONFIG_DEBUG_VM is not set | ||
765 | # CONFIG_DEBUG_LIST is not set | ||
766 | # CONFIG_DEBUG_SG is not set | ||
767 | CONFIG_FORCED_INLINING=y | ||
768 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
769 | # CONFIG_FAULT_INJECTION is not set | ||
770 | # CONFIG_SAMPLES is not set | ||
771 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
772 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
773 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
774 | # CONFIG_DEBUGGER is not set | ||
775 | # CONFIG_KGDB_CONSOLE is not set | ||
776 | CONFIG_BDI_SWITCH=y | ||
777 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
778 | |||
779 | # | ||
780 | # Security options | ||
781 | # | ||
782 | # CONFIG_KEYS is not set | ||
783 | # CONFIG_SECURITY is not set | ||
784 | CONFIG_CRYPTO=y | ||
785 | CONFIG_CRYPTO_ALGAPI=y | ||
786 | CONFIG_CRYPTO_BLKCIPHER=y | ||
787 | CONFIG_CRYPTO_MANAGER=y | ||
788 | # CONFIG_CRYPTO_HMAC is not set | ||
789 | # CONFIG_CRYPTO_NULL is not set | ||
790 | # CONFIG_CRYPTO_MD4 is not set | ||
791 | CONFIG_CRYPTO_MD5=y | ||
792 | # CONFIG_CRYPTO_SHA1 is not set | ||
793 | # CONFIG_CRYPTO_SHA256 is not set | ||
794 | # CONFIG_CRYPTO_SHA512 is not set | ||
795 | # CONFIG_CRYPTO_WP512 is not set | ||
796 | # CONFIG_CRYPTO_TGR192 is not set | ||
797 | CONFIG_CRYPTO_ECB=y | ||
798 | CONFIG_CRYPTO_CBC=y | ||
799 | CONFIG_CRYPTO_PCBC=y | ||
800 | # CONFIG_CRYPTO_CRYPTD is not set | ||
801 | CONFIG_CRYPTO_DES=y | ||
802 | # CONFIG_CRYPTO_FCRYPT is not set | ||
803 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
804 | # CONFIG_CRYPTO_TWOFISH is not set | ||
805 | # CONFIG_CRYPTO_SERPENT is not set | ||
806 | # CONFIG_CRYPTO_AES is not set | ||
807 | # CONFIG_CRYPTO_CAST5 is not set | ||
808 | # CONFIG_CRYPTO_CAST6 is not set | ||
809 | # CONFIG_CRYPTO_TEA is not set | ||
810 | # CONFIG_CRYPTO_ARC4 is not set | ||
811 | # CONFIG_CRYPTO_KHAZAD is not set | ||
812 | # CONFIG_CRYPTO_ANUBIS is not set | ||
813 | # CONFIG_CRYPTO_SEED is not set | ||
814 | # CONFIG_CRYPTO_DEFLATE is not set | ||
815 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
816 | # CONFIG_CRYPTO_CRC32C is not set | ||
817 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
818 | # CONFIG_CRYPTO_AUTHENC is not set | ||
819 | # CONFIG_CRYPTO_HW is not set | ||
820 | # CONFIG_PPC_CLOCK is not set | ||
821 | CONFIG_PPC_LIB_RHEAP=y | ||
diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/platforms/82xx/Kconfig index 541fbb81563..4fad6c7bf9f 100644 --- a/arch/powerpc/platforms/82xx/Kconfig +++ b/arch/powerpc/platforms/82xx/Kconfig | |||
@@ -26,6 +26,19 @@ config PQ2FADS | |||
26 | help | 26 | help |
27 | This option enables support for the PQ2FADS board | 27 | This option enables support for the PQ2FADS board |
28 | 28 | ||
29 | config EP8248E | ||
30 | bool "Embedded Planet EP8248E (a.k.a. CWH-PPC-8248N-VE)" | ||
31 | select 8272 | ||
32 | select 8260 | ||
33 | select FSL_SOC | ||
34 | select PPC_CPM_NEW_BINDING | ||
35 | select MDIO_BITBANG | ||
36 | help | ||
37 | This enables support for the Embedded Planet EP8248E board. | ||
38 | |||
39 | This board is also resold by Freescale as the QUICCStart | ||
40 | MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE. | ||
41 | |||
29 | endchoice | 42 | endchoice |
30 | 43 | ||
31 | config PQ2ADS | 44 | config PQ2ADS |
diff --git a/arch/powerpc/platforms/82xx/Makefile b/arch/powerpc/platforms/82xx/Makefile index 68c8b0c9772..6cd5cd59bf2 100644 --- a/arch/powerpc/platforms/82xx/Makefile +++ b/arch/powerpc/platforms/82xx/Makefile | |||
@@ -5,3 +5,4 @@ obj-$(CONFIG_MPC8272_ADS) += mpc8272_ads.o | |||
5 | obj-$(CONFIG_CPM2) += pq2.o | 5 | obj-$(CONFIG_CPM2) += pq2.o |
6 | obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o | 6 | obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o |
7 | obj-$(CONFIG_PQ2FADS) += pq2fads.o | 7 | obj-$(CONFIG_PQ2FADS) += pq2fads.o |
8 | obj-$(CONFIG_EP8248E) += ep8248e.o | ||
diff --git a/arch/powerpc/platforms/82xx/ep8248e.c b/arch/powerpc/platforms/82xx/ep8248e.c new file mode 100644 index 00000000000..ba93d8ae9b0 --- /dev/null +++ b/arch/powerpc/platforms/82xx/ep8248e.c | |||
@@ -0,0 +1,324 @@ | |||
1 | /* | ||
2 | * Embedded Planet EP8248E support | ||
3 | * | ||
4 | * Copyright 2007 Freescale Semiconductor, Inc. | ||
5 | * Author: Scott Wood <scottwood@freescale.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <linux/init.h> | ||
14 | #include <linux/interrupt.h> | ||
15 | #include <linux/fsl_devices.h> | ||
16 | #include <linux/mdio-bitbang.h> | ||
17 | #include <linux/of_platform.h> | ||
18 | |||
19 | #include <asm/io.h> | ||
20 | #include <asm/cpm2.h> | ||
21 | #include <asm/udbg.h> | ||
22 | #include <asm/machdep.h> | ||
23 | #include <asm/time.h> | ||
24 | #include <asm/mpc8260.h> | ||
25 | #include <asm/prom.h> | ||
26 | |||
27 | #include <sysdev/fsl_soc.h> | ||
28 | #include <sysdev/cpm2_pic.h> | ||
29 | |||
30 | #include "pq2.h" | ||
31 | |||
32 | static u8 __iomem *ep8248e_bcsr; | ||
33 | static struct device_node *ep8248e_bcsr_node; | ||
34 | |||
35 | #define BCSR7_SCC2_ENABLE 0x10 | ||
36 | |||
37 | #define BCSR8_PHY1_ENABLE 0x80 | ||
38 | #define BCSR8_PHY1_POWER 0x40 | ||
39 | #define BCSR8_PHY2_ENABLE 0x20 | ||
40 | #define BCSR8_PHY2_POWER 0x10 | ||
41 | #define BCSR8_MDIO_READ 0x04 | ||
42 | #define BCSR8_MDIO_CLOCK 0x02 | ||
43 | #define BCSR8_MDIO_DATA 0x01 | ||
44 | |||
45 | #define BCSR9_USB_ENABLE 0x80 | ||
46 | #define BCSR9_USB_POWER 0x40 | ||
47 | #define BCSR9_USB_HOST 0x20 | ||
48 | #define BCSR9_USB_FULL_SPEED_TARGET 0x10 | ||
49 | |||
50 | static void __init ep8248e_pic_init(void) | ||
51 | { | ||
52 | struct device_node *np = of_find_compatible_node(NULL, NULL, "fsl,pq2-pic"); | ||
53 | if (!np) { | ||
54 | printk(KERN_ERR "PIC init: can not find cpm-pic node\n"); | ||
55 | return; | ||
56 | } | ||
57 | |||
58 | cpm2_pic_init(np); | ||
59 | of_node_put(np); | ||
60 | } | ||
61 | |||
62 | static void ep8248e_set_mdc(struct mdiobb_ctrl *ctrl, int level) | ||
63 | { | ||
64 | if (level) | ||
65 | setbits8(&ep8248e_bcsr[8], BCSR8_MDIO_CLOCK); | ||
66 | else | ||
67 | clrbits8(&ep8248e_bcsr[8], BCSR8_MDIO_CLOCK); | ||
68 | |||
69 | /* Read back to flush the write. */ | ||
70 | in_8(&ep8248e_bcsr[8]); | ||
71 | } | ||
72 | |||
73 | static void ep8248e_set_mdio_dir(struct mdiobb_ctrl *ctrl, int output) | ||
74 | { | ||
75 | if (output) | ||
76 | clrbits8(&ep8248e_bcsr[8], BCSR8_MDIO_READ); | ||
77 | else | ||
78 | setbits8(&ep8248e_bcsr[8], BCSR8_MDIO_READ); | ||
79 | |||
80 | /* Read back to flush the write. */ | ||
81 | in_8(&ep8248e_bcsr[8]); | ||
82 | } | ||
83 | |||
84 | static void ep8248e_set_mdio_data(struct mdiobb_ctrl *ctrl, int data) | ||
85 | { | ||
86 | if (data) | ||
87 | setbits8(&ep8248e_bcsr[8], BCSR8_MDIO_DATA); | ||
88 | else | ||
89 | clrbits8(&ep8248e_bcsr[8], BCSR8_MDIO_DATA); | ||
90 | |||
91 | /* Read back to flush the write. */ | ||
92 | in_8(&ep8248e_bcsr[8]); | ||
93 | } | ||
94 | |||
95 | static int ep8248e_get_mdio_data(struct mdiobb_ctrl *ctrl) | ||
96 | { | ||
97 | return in_8(&ep8248e_bcsr[8]) & BCSR8_MDIO_DATA; | ||
98 | } | ||
99 | |||
100 | static const struct mdiobb_ops ep8248e_mdio_ops = { | ||
101 | .set_mdc = ep8248e_set_mdc, | ||
102 | .set_mdio_dir = ep8248e_set_mdio_dir, | ||
103 | .set_mdio_data = ep8248e_set_mdio_data, | ||
104 | .get_mdio_data = ep8248e_get_mdio_data, | ||
105 | .owner = THIS_MODULE, | ||
106 | }; | ||
107 | |||
108 | static struct mdiobb_ctrl ep8248e_mdio_ctrl = { | ||
109 | .ops = &ep8248e_mdio_ops, | ||
110 | }; | ||
111 | |||
112 | static int __devinit ep8248e_mdio_probe(struct of_device *ofdev, | ||
113 | const struct of_device_id *match) | ||
114 | { | ||
115 | struct mii_bus *bus; | ||
116 | struct resource res; | ||
117 | struct device_node *node; | ||
118 | int ret, i; | ||
119 | |||
120 | node = of_get_parent(ofdev->node); | ||
121 | of_node_put(node); | ||
122 | if (node != ep8248e_bcsr_node) | ||
123 | return -ENODEV; | ||
124 | |||
125 | ret = of_address_to_resource(ofdev->node, 0, &res); | ||
126 | if (ret) | ||
127 | return ret; | ||
128 | |||
129 | bus = alloc_mdio_bitbang(&ep8248e_mdio_ctrl); | ||
130 | if (!bus) | ||
131 | return -ENOMEM; | ||
132 | |||
133 | bus->phy_mask = 0; | ||
134 | bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); | ||
135 | |||
136 | for (i = 0; i < PHY_MAX_ADDR; i++) | ||
137 | bus->irq[i] = -1; | ||
138 | |||
139 | bus->name = "ep8248e-mdio-bitbang"; | ||
140 | bus->dev = &ofdev->dev; | ||
141 | bus->id = res.start; | ||
142 | |||
143 | return mdiobus_register(bus); | ||
144 | } | ||
145 | |||
146 | static int ep8248e_mdio_remove(struct of_device *ofdev) | ||
147 | { | ||
148 | BUG(); | ||
149 | return 0; | ||
150 | } | ||
151 | |||
152 | static const struct of_device_id ep8248e_mdio_match[] = { | ||
153 | { | ||
154 | .compatible = "fsl,ep8248e-mdio-bitbang", | ||
155 | }, | ||
156 | {}, | ||
157 | }; | ||
158 | |||
159 | static struct of_platform_driver ep8248e_mdio_driver = { | ||
160 | .driver = { | ||
161 | .name = "ep8248e-mdio-bitbang", | ||
162 | }, | ||
163 | .match_table = ep8248e_mdio_match, | ||
164 | .probe = ep8248e_mdio_probe, | ||
165 | .remove = ep8248e_mdio_remove, | ||
166 | }; | ||
167 | |||
168 | struct cpm_pin { | ||
169 | int port, pin, flags; | ||
170 | }; | ||
171 | |||
172 | static __initdata struct cpm_pin ep8248e_pins[] = { | ||
173 | /* SMC1 */ | ||
174 | {2, 4, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
175 | {2, 5, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
176 | |||
177 | /* SCC1 */ | ||
178 | {2, 14, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
179 | {2, 15, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
180 | {3, 29, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
181 | {3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, | ||
182 | {3, 31, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
183 | |||
184 | /* FCC1 */ | ||
185 | {0, 14, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
186 | {0, 15, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
187 | {0, 16, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
188 | {0, 17, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
189 | {0, 18, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
190 | {0, 19, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
191 | {0, 20, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
192 | {0, 21, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
193 | {0, 26, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
194 | {0, 27, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
195 | {0, 28, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, | ||
196 | {0, 29, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, | ||
197 | {0, 30, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
198 | {0, 31, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
199 | {2, 21, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
200 | {2, 22, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
201 | |||
202 | /* FCC2 */ | ||
203 | {1, 18, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
204 | {1, 19, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
205 | {1, 20, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
206 | {1, 21, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
207 | {1, 22, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
208 | {1, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
209 | {1, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
210 | {1, 25, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
211 | {1, 26, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
212 | {1, 27, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
213 | {1, 28, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
214 | {1, 29, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, | ||
215 | {1, 30, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
216 | {1, 31, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
217 | {2, 18, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
218 | {2, 19, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
219 | |||
220 | /* I2C */ | ||
221 | {4, 14, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
222 | {4, 15, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, | ||
223 | |||
224 | /* USB */ | ||
225 | {2, 10, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
226 | {2, 11, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
227 | {2, 20, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
228 | {2, 24, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
229 | {3, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
230 | {3, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, | ||
231 | {3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, | ||
232 | }; | ||
233 | |||
234 | static void __init init_ioports(void) | ||
235 | { | ||
236 | int i; | ||
237 | |||
238 | for (i = 0; i < ARRAY_SIZE(ep8248e_pins); i++) { | ||
239 | const struct cpm_pin *pin = &ep8248e_pins[i]; | ||
240 | cpm2_set_pin(pin->port, pin->pin, pin->flags); | ||
241 | } | ||
242 | |||
243 | cpm2_smc_clk_setup(CPM_CLK_SMC1, CPM_BRG7); | ||
244 | cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_RX); | ||
245 | cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_TX); | ||
246 | cpm2_clk_setup(CPM_CLK_SCC3, CPM_CLK8, CPM_CLK_TX); /* USB */ | ||
247 | cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK11, CPM_CLK_RX); | ||
248 | cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK10, CPM_CLK_TX); | ||
249 | cpm2_clk_setup(CPM_CLK_FCC2, CPM_CLK13, CPM_CLK_RX); | ||
250 | cpm2_clk_setup(CPM_CLK_FCC2, CPM_CLK14, CPM_CLK_TX); | ||
251 | } | ||
252 | |||
253 | static void __init ep8248e_setup_arch(void) | ||
254 | { | ||
255 | if (ppc_md.progress) | ||
256 | ppc_md.progress("ep8248e_setup_arch()", 0); | ||
257 | |||
258 | cpm2_reset(); | ||
259 | |||
260 | /* When this is set, snooping CPM DMA from RAM causes | ||
261 | * machine checks. See erratum SIU18. | ||
262 | */ | ||
263 | clrbits32(&cpm2_immr->im_siu_conf.siu_82xx.sc_bcr, MPC82XX_BCR_PLDP); | ||
264 | |||
265 | ep8248e_bcsr_node = | ||
266 | of_find_compatible_node(NULL, NULL, "fsl,ep8248e-bcsr"); | ||
267 | if (!ep8248e_bcsr_node) { | ||
268 | printk(KERN_ERR "No bcsr in device tree\n"); | ||
269 | return; | ||
270 | } | ||
271 | |||
272 | ep8248e_bcsr = of_iomap(ep8248e_bcsr_node, 0); | ||
273 | if (!ep8248e_bcsr) { | ||
274 | printk(KERN_ERR "Cannot map BCSR registers\n"); | ||
275 | of_node_put(ep8248e_bcsr_node); | ||
276 | ep8248e_bcsr_node = NULL; | ||
277 | return; | ||
278 | } | ||
279 | |||
280 | setbits8(&ep8248e_bcsr[7], BCSR7_SCC2_ENABLE); | ||
281 | setbits8(&ep8248e_bcsr[8], BCSR8_PHY1_ENABLE | BCSR8_PHY1_POWER | | ||
282 | BCSR8_PHY2_ENABLE | BCSR8_PHY2_POWER); | ||
283 | |||
284 | init_ioports(); | ||
285 | |||
286 | if (ppc_md.progress) | ||
287 | ppc_md.progress("ep8248e_setup_arch(), finish", 0); | ||
288 | } | ||
289 | |||
290 | static __initdata struct of_device_id of_bus_ids[] = { | ||
291 | { .compatible = "simple-bus", }, | ||
292 | { .compatible = "fsl,ep8248e-bcsr", }, | ||
293 | {}, | ||
294 | }; | ||
295 | |||
296 | static int __init declare_of_platform_devices(void) | ||
297 | { | ||
298 | of_platform_bus_probe(NULL, of_bus_ids, NULL); | ||
299 | of_register_platform_driver(&ep8248e_mdio_driver); | ||
300 | |||
301 | return 0; | ||
302 | } | ||
303 | machine_device_initcall(ep8248e, declare_of_platform_devices); | ||
304 | |||
305 | /* | ||
306 | * Called very early, device-tree isn't unflattened | ||
307 | */ | ||
308 | static int __init ep8248e_probe(void) | ||
309 | { | ||
310 | unsigned long root = of_get_flat_dt_root(); | ||
311 | return of_flat_dt_is_compatible(root, "fsl,ep8248e"); | ||
312 | } | ||
313 | |||
314 | define_machine(ep8248e) | ||
315 | { | ||
316 | .name = "Embedded Planet EP8248E", | ||
317 | .probe = ep8248e_probe, | ||
318 | .setup_arch = ep8248e_setup_arch, | ||
319 | .init_IRQ = ep8248e_pic_init, | ||
320 | .get_irq = cpm2_get_irq, | ||
321 | .calibrate_decr = generic_calibrate_decr, | ||
322 | .restart = pq2_restart, | ||
323 | .progress = udbg_progress, | ||
324 | }; | ||