aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2008-06-18 04:38:32 -0400
committerKumar Gala <galak@kernel.crashing.org>2008-09-16 11:01:32 -0400
commit637166337ca29459581bd2943072a9f1268fb982 (patch)
treedd98fa6a565517eca25d63345f3bb962306f5e01 /arch
parente14d4af0c87af0be7f2d0e204e1922cf4fa3c19e (diff)
powerpc: Add support for mpc8247 based board MGCOGE from keymile.
Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/mgcoge.dts174
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig900
-rw-r--r--arch/powerpc/platforms/82xx/Kconfig8
-rw-r--r--arch/powerpc/platforms/82xx/Makefile1
-rw-r--r--arch/powerpc/platforms/82xx/mgcoge.c129
5 files changed, 1212 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/mgcoge.dts b/arch/powerpc/boot/dts/mgcoge.dts
new file mode 100644
index 000000000000..633255a97557
--- /dev/null
+++ b/arch/powerpc/boot/dts/mgcoge.dts
@@ -0,0 +1,174 @@
1/*
2 * Device Tree for the MGCOGE plattform from keymile
3 *
4 * Copyright 2008 DENX Software Engineering GmbH
5 * Heiko Schocher <hs@denx.de>
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/dts-v1/;
14/ {
15 model = "MGCOGE";
16 compatible = "keymile,mgcoge";
17 #address-cells = <1>;
18 #size-cells = <1>;
19
20 aliases {
21 ethernet0 = &eth0;
22 serial0 = &smc2;
23 };
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 PowerPC,8247@0 {
30 device_type = "cpu";
31 reg = <0>;
32 d-cache-line-size = <32>;
33 i-cache-line-size = <32>;
34 d-cache-size = <16384>;
35 i-cache-size = <16384>;
36 timebase-frequency = <0>; /* Filled in by U-Boot */
37 clock-frequency = <0>; /* Filled in by U-Boot */
38 bus-frequency = <0>; /* Filled in by U-Boot */
39 };
40 };
41
42 localbus@f0010100 {
43 compatible = "fsl,mpc8247-localbus",
44 "fsl,pq2-localbus",
45 "simple-bus";
46 #address-cells = <2>;
47 #size-cells = <1>;
48 reg = <0xf0010100 0x40>;
49
50 ranges = <0 0 0xfe000000 0x00400000
51 5 0 0x50000000 0x20000000
52 >; /* Filled in by U-Boot */
53
54 flash@0,0 {
55 compatible = "cfi-flash";
56 reg = <0 0x0 0x400000>;
57 #address-cells = <1>;
58 #size-cells = <1>;
59 bank-width = <1>;
60 device-width = <1>;
61 partition@0 {
62 label = "u-boot";
63 reg = <0 0x40000>;
64 };
65 partition@40000 {
66 label = "env";
67 reg = <0x40000 0x20000>;
68 };
69 partition@60000 {
70 label = "kernel";
71 reg = <0x60000 0x220000>;
72 };
73 partition@280000 {
74 label = "dtb";
75 reg = <0x280000 0x20000>;
76 };
77 };
78
79 flash@5,0 {
80 compatible = "cfi-flash";
81 reg = <5 0x0 0x2000000>;
82 #address-cells = <1>;
83 #size-cells = <1>;
84 bank-width = <2>;
85 device-width = <2>;
86 partition@0 {
87 label = "ramdisk";
88 reg = <0 0x7a0000>;
89 };
90 partition@7a0000 {
91 label = "user";
92 reg = <0x7a0000 0x1860000>;
93 };
94 };
95 };
96
97 memory {
98 device_type = "memory";
99 reg = <0 0>; /* Filled in by U-Boot */
100 };
101
102 soc@f0000000 {
103 #address-cells = <1>;
104 #size-cells = <1>;
105 compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus";
106 ranges = <0x00000000 0xf0000000 0x00053000>;
107
108 // Temporary until code stops depending on it.
109 device_type = "soc";
110
111 cpm@119c0 {
112 #address-cells = <1>;
113 #size-cells = <1>;
114 #interrupt-cells = <2>;
115 compatible = "fsl,mpc8247-cpm", "fsl,cpm2",
116 "simple-bus";
117 reg = <0x119c0 0x30>;
118 ranges;
119
120 muram {
121 compatible = "fsl,cpm-muram";
122 #address-cells = <1>;
123 #size-cells = <1>;
124 ranges = <0 0 0x10000>;
125
126 data@0 {
127 compatible = "fsl,cpm-muram-data";
128 reg = <0x80 0x1f80 0x9800 0x800>;
129 };
130 };
131
132 brg@119f0 {
133 compatible = "fsl,mpc8247-brg",
134 "fsl,cpm2-brg",
135 "fsl,cpm-brg";
136 reg = <0x119f0 0x10 0x115f0 0x10>;
137 };
138
139 /* Monitor port/SMC2 */
140 smc2: serial@11a90 {
141 device_type = "serial";
142 compatible = "fsl,mpc8247-smc-uart",
143 "fsl,cpm2-smc-uart";
144 reg = <0x11a90 0x20 0x88fc 0x02>;
145 interrupts = <5 8>;
146 interrupt-parent = <&PIC>;
147 fsl,cpm-brg = <2>;
148 fsl,cpm-command = <0x21200000>;
149 current-speed = <0>; /* Filled in by U-Boot */
150 };
151
152 eth0: ethernet@11a60 {
153 device_type = "network";
154 compatible = "fsl,mpc8247-scc-enet",
155 "fsl,cpm2-scc-enet";
156 reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>;
157 local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
158 interrupts = <43 8>;
159 interrupt-parent = <&PIC>;
160 linux,network-index = <0>;
161 fsl,cpm-command = <0xce00000>;
162 fixed-link = <0 0 10 0 0>;
163 };
164
165 };
166
167 PIC: interrupt-controller@10c00 {
168 #interrupt-cells = <2>;
169 interrupt-controller;
170 reg = <0x10c00 0x80>;
171 compatible = "fsl,mpc8247-pic", "fsl,pq2-pic";
172 };
173 };
174};
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
new file mode 100644
index 000000000000..cc9eaba8c9c9
--- /dev/null
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -0,0 +1,900 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc2
4# Thu May 22 08:18:47 2008
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11CONFIG_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
17CONFIG_PPC_FPU=y
18CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set
22CONFIG_PPC32=y
23CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y
25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y
43CONFIG_GENERIC_NVRAM=y
44CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y
47CONFIG_OF=y
48# CONFIG_PPC_UDBG_16550 is not set
49# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y
52# CONFIG_DEFAULT_UIMAGE is not set
53# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56
57#
58# General setup
59#
60# CONFIG_EXPERIMENTAL is not set
61CONFIG_BROKEN_ON_SMP=y
62CONFIG_INIT_ENV_ARG_LIMIT=32
63CONFIG_LOCALVERSION=""
64CONFIG_LOCALVERSION_AUTO=y
65CONFIG_SWAP=y
66CONFIG_SYSVIPC=y
67CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set
70# CONFIG_AUDIT is not set
71CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75CONFIG_SYSFS_DEPRECATED=y
76CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set
78# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE=""
81CONFIG_CC_OPTIMIZE_FOR_SIZE=y
82CONFIG_SYSCTL=y
83CONFIG_EMBEDDED=y
84CONFIG_SYSCTL_SYSCALL=y
85CONFIG_SYSCTL_SYSCALL_CHECK=y
86CONFIG_KALLSYMS=y
87CONFIG_KALLSYMS_ALL=y
88# CONFIG_KALLSYMS_EXTRA_PASS is not set
89CONFIG_HOTPLUG=y
90CONFIG_PRINTK=y
91CONFIG_BUG=y
92CONFIG_ELF_CORE=y
93CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y
96CONFIG_ANON_INODES=y
97CONFIG_EPOLL=y
98CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y
101CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y
103CONFIG_SLAB=y
104# CONFIG_SLUB is not set
105# CONFIG_SLOB is not set
106# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y
109CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y
111# CONFIG_HAVE_DMA_ATTRS is not set
112CONFIG_PROC_PAGE_MONITOR=y
113CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set
116CONFIG_BASE_SMALL=0
117# CONFIG_MODULES is not set
118CONFIG_BLOCK=y
119# CONFIG_LBD is not set
120# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set
122
123#
124# IO Schedulers
125#
126CONFIG_IOSCHED_NOOP=y
127# CONFIG_IOSCHED_AS is not set
128CONFIG_IOSCHED_DEADLINE=y
129# CONFIG_IOSCHED_CFQ is not set
130# CONFIG_DEFAULT_AS is not set
131CONFIG_DEFAULT_DEADLINE=y
132# CONFIG_DEFAULT_CFQ is not set
133# CONFIG_DEFAULT_NOOP is not set
134CONFIG_DEFAULT_IOSCHED="deadline"
135CONFIG_CLASSIC_RCU=y
136
137#
138# Platform support
139#
140# CONFIG_PPC_MULTIPLATFORM is not set
141CONFIG_PPC_82xx=y
142# CONFIG_PPC_83xx is not set
143# CONFIG_PPC_86xx is not set
144# CONFIG_PPC_MPC512x is not set
145# CONFIG_PPC_MPC5121 is not set
146# CONFIG_PPC_CELL is not set
147# CONFIG_PPC_CELL_NATIVE is not set
148# CONFIG_MPC8272_ADS is not set
149# CONFIG_PQ2FADS is not set
150# CONFIG_EP8248E is not set
151CONFIG_MGCOGE=y
152# CONFIG_PQ2ADS is not set
153CONFIG_8260=y
154CONFIG_8272=y
155# CONFIG_IPIC is not set
156# CONFIG_MPIC is not set
157# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set
159# CONFIG_PPC_RTAS is not set
160# CONFIG_MMIO_NVRAM is not set
161# CONFIG_PPC_MPC106 is not set
162# CONFIG_PPC_970_NAP is not set
163# CONFIG_PPC_INDIRECT_IO is not set
164# CONFIG_GENERIC_IOMAP is not set
165# CONFIG_CPU_FREQ is not set
166CONFIG_CPM2=y
167CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y
170
171#
172# Kernel options
173#
174# CONFIG_HIGHMEM is not set
175# CONFIG_TICK_ONESHOT is not set
176# CONFIG_NO_HZ is not set
177# CONFIG_HIGH_RES_TIMERS is not set
178CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
179# CONFIG_HZ_100 is not set
180CONFIG_HZ_250=y
181# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set
183CONFIG_HZ=250
184# CONFIG_SCHED_HRTICK is not set
185CONFIG_PREEMPT_NONE=y
186# CONFIG_PREEMPT_VOLUNTARY is not set
187# CONFIG_PREEMPT is not set
188CONFIG_BINFMT_ELF=y
189CONFIG_BINFMT_MISC=y
190# CONFIG_IOMMU_HELPER is not set
191CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
192CONFIG_ARCH_HAS_WALK_MEMORY=y
193CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
194CONFIG_ARCH_FLATMEM_ENABLE=y
195CONFIG_ARCH_POPULATES_NODE_MAP=y
196CONFIG_FLATMEM=y
197CONFIG_FLAT_NODE_MEM_MAP=y
198# CONFIG_SPARSEMEM_STATIC is not set
199# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
200CONFIG_PAGEFLAGS_EXTENDED=y
201CONFIG_SPLIT_PTLOCK_CPUS=4
202# CONFIG_RESOURCES_64BIT is not set
203CONFIG_ZONE_DMA_FLAG=1
204CONFIG_BOUNCE=y
205CONFIG_VIRT_TO_BUS=y
206CONFIG_FORCE_MAX_ZONEORDER=11
207CONFIG_PROC_DEVICETREE=y
208# CONFIG_CMDLINE_BOOL is not set
209# CONFIG_PM is not set
210# CONFIG_SECCOMP is not set
211CONFIG_ISA_DMA_API=y
212
213#
214# Bus options
215#
216CONFIG_ZONE_DMA=y
217CONFIG_FSL_SOC=y
218# CONFIG_PCI is not set
219# CONFIG_PCI_DOMAINS is not set
220# CONFIG_PCI_SYSCALL is not set
221# CONFIG_ARCH_SUPPORTS_MSI is not set
222# CONFIG_PCCARD is not set
223# CONFIG_HAS_RAPIDIO is not set
224
225#
226# Advanced setup
227#
228# CONFIG_ADVANCED_OPTIONS is not set
229
230#
231# Default settings for advanced configuration options are used
232#
233CONFIG_LOWMEM_SIZE=0x30000000
234CONFIG_PAGE_OFFSET=0xc0000000
235CONFIG_KERNEL_START=0xc0000000
236CONFIG_PHYSICAL_START=0x00000000
237CONFIG_TASK_SIZE=0xc0000000
238
239#
240# Networking
241#
242CONFIG_NET=y
243
244#
245# Networking options
246#
247CONFIG_PACKET=y
248# CONFIG_PACKET_MMAP is not set
249CONFIG_UNIX=y
250CONFIG_XFRM=y
251# CONFIG_XFRM_USER is not set
252# CONFIG_NET_KEY is not set
253CONFIG_INET=y
254CONFIG_IP_MULTICAST=y
255# CONFIG_IP_ADVANCED_ROUTER is not set
256CONFIG_IP_FIB_HASH=y
257CONFIG_IP_PNP=y
258CONFIG_IP_PNP_DHCP=y
259CONFIG_IP_PNP_BOOTP=y
260# CONFIG_IP_PNP_RARP is not set
261# CONFIG_NET_IPIP is not set
262# CONFIG_NET_IPGRE is not set
263# CONFIG_IP_MROUTE is not set
264CONFIG_SYN_COOKIES=y
265# CONFIG_INET_AH is not set
266# CONFIG_INET_ESP is not set
267# CONFIG_INET_IPCOMP is not set
268# CONFIG_INET_XFRM_TUNNEL is not set
269# CONFIG_INET_TUNNEL is not set
270CONFIG_INET_XFRM_MODE_TRANSPORT=y
271CONFIG_INET_XFRM_MODE_TUNNEL=y
272CONFIG_INET_XFRM_MODE_BEET=y
273# CONFIG_INET_LRO is not set
274CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set
277CONFIG_TCP_CONG_CUBIC=y
278CONFIG_DEFAULT_TCP_CONG="cubic"
279# CONFIG_IP_VS is not set
280# CONFIG_IPV6 is not set
281# CONFIG_NETWORK_SECMARK is not set
282CONFIG_NETFILTER=y
283# CONFIG_NETFILTER_DEBUG is not set
284CONFIG_NETFILTER_ADVANCED=y
285
286#
287# Core Netfilter Configuration
288#
289# CONFIG_NETFILTER_NETLINK_QUEUE is not set
290# CONFIG_NETFILTER_NETLINK_LOG is not set
291# CONFIG_NF_CONNTRACK is not set
292# CONFIG_NETFILTER_XTABLES is not set
293
294#
295# IP: Netfilter Configuration
296#
297# CONFIG_IP_NF_QUEUE is not set
298# CONFIG_IP_NF_IPTABLES is not set
299# CONFIG_IP_NF_ARPTABLES is not set
300# CONFIG_ATM is not set
301# CONFIG_BRIDGE is not set
302# CONFIG_VLAN_8021Q is not set
303# CONFIG_DECNET is not set
304# CONFIG_LLC2 is not set
305# CONFIG_IPX is not set
306# CONFIG_ATALK is not set
307# CONFIG_NET_SCHED is not set
308
309#
310# Network testing
311#
312# CONFIG_NET_PKTGEN is not set
313# CONFIG_HAMRADIO is not set
314# CONFIG_CAN is not set
315# CONFIG_IRDA is not set
316# CONFIG_BT is not set
317
318#
319# Wireless
320#
321# CONFIG_CFG80211 is not set
322# CONFIG_WIRELESS_EXT is not set
323# CONFIG_MAC80211 is not set
324# CONFIG_IEEE80211 is not set
325# CONFIG_RFKILL is not set
326
327#
328# Device Drivers
329#
330
331#
332# Generic Driver Options
333#
334CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
335CONFIG_STANDALONE=y
336CONFIG_PREVENT_FIRMWARE_BUILD=y
337# CONFIG_FW_LOADER is not set
338# CONFIG_DEBUG_DRIVER is not set
339# CONFIG_DEBUG_DEVRES is not set
340# CONFIG_SYS_HYPERVISOR is not set
341# CONFIG_CONNECTOR is not set
342CONFIG_MTD=y
343# CONFIG_MTD_DEBUG is not set
344CONFIG_MTD_CONCAT=y
345CONFIG_MTD_PARTITIONS=y
346# CONFIG_MTD_REDBOOT_PARTS is not set
347CONFIG_MTD_CMDLINE_PARTS=y
348CONFIG_MTD_OF_PARTS=y
349# CONFIG_MTD_AR7_PARTS is not set
350
351#
352# User Modules And Translation Layers
353#
354CONFIG_MTD_CHAR=y
355CONFIG_MTD_BLKDEVS=y
356# CONFIG_MTD_BLOCK is not set
357# CONFIG_MTD_BLOCK_RO is not set
358# CONFIG_FTL is not set
359# CONFIG_NFTL is not set
360# CONFIG_INFTL is not set
361# CONFIG_RFD_FTL is not set
362# CONFIG_SSFDC is not set
363# CONFIG_MTD_OOPS is not set
364
365#
366# RAM/ROM/Flash chip drivers
367#
368CONFIG_MTD_CFI=y
369# CONFIG_MTD_JEDECPROBE is not set
370CONFIG_MTD_GEN_PROBE=y
371CONFIG_MTD_CFI_ADV_OPTIONS=y
372CONFIG_MTD_CFI_NOSWAP=y
373# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
374# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
375CONFIG_MTD_CFI_GEOMETRY=y
376CONFIG_MTD_MAP_BANK_WIDTH_1=y
377CONFIG_MTD_MAP_BANK_WIDTH_2=y
378# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
379# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
380# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
381# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
382CONFIG_MTD_CFI_I1=y
383CONFIG_MTD_CFI_I2=y
384# CONFIG_MTD_CFI_I4 is not set
385# CONFIG_MTD_CFI_I8 is not set
386# CONFIG_MTD_OTP is not set
387CONFIG_MTD_CFI_INTELEXT=y
388CONFIG_MTD_CFI_AMDSTD=y
389# CONFIG_MTD_CFI_STAA is not set
390CONFIG_MTD_CFI_UTIL=y
391# CONFIG_MTD_RAM is not set
392# CONFIG_MTD_ROM is not set
393# CONFIG_MTD_ABSENT is not set
394
395#
396# Mapping drivers for chip access
397#
398# CONFIG_MTD_COMPLEX_MAPPINGS is not set
399# CONFIG_MTD_PHYSMAP is not set
400CONFIG_MTD_PHYSMAP_OF=y
401# CONFIG_MTD_PLATRAM is not set
402
403#
404# Self-contained MTD device drivers
405#
406# CONFIG_MTD_SLRAM is not set
407# CONFIG_MTD_PHRAM is not set
408# CONFIG_MTD_MTDRAM is not set
409# CONFIG_MTD_BLOCK2MTD is not set
410
411#
412# Disk-On-Chip Device Drivers
413#
414# CONFIG_MTD_DOC2000 is not set
415# CONFIG_MTD_DOC2001 is not set
416# CONFIG_MTD_DOC2001PLUS is not set
417# CONFIG_MTD_NAND is not set
418# CONFIG_MTD_ONENAND is not set
419
420#
421# UBI - Unsorted block images
422#
423# CONFIG_MTD_UBI is not set
424CONFIG_OF_DEVICE=y
425# CONFIG_PARPORT is not set
426CONFIG_BLK_DEV=y
427# CONFIG_BLK_DEV_FD is not set
428# CONFIG_BLK_DEV_COW_COMMON is not set
429CONFIG_BLK_DEV_LOOP=y
430# CONFIG_BLK_DEV_CRYPTOLOOP is not set
431# CONFIG_BLK_DEV_NBD is not set
432CONFIG_BLK_DEV_RAM=y
433CONFIG_BLK_DEV_RAM_COUNT=16
434CONFIG_BLK_DEV_RAM_SIZE=4096
435# CONFIG_BLK_DEV_XIP is not set
436# CONFIG_CDROM_PKTCDVD is not set
437# CONFIG_ATA_OVER_ETH is not set
438# CONFIG_MISC_DEVICES is not set
439CONFIG_HAVE_IDE=y
440# CONFIG_IDE is not set
441
442#
443# SCSI device support
444#
445# CONFIG_RAID_ATTRS is not set
446# CONFIG_SCSI is not set
447# CONFIG_SCSI_DMA is not set
448# CONFIG_SCSI_NETLINK is not set
449# CONFIG_ATA is not set
450# CONFIG_MD is not set
451# CONFIG_MACINTOSH_DRIVERS is not set
452CONFIG_NETDEVICES=y
453# CONFIG_NETDEVICES_MULTIQUEUE is not set
454# CONFIG_DUMMY is not set
455# CONFIG_BONDING is not set
456# CONFIG_EQUALIZER is not set
457# CONFIG_TUN is not set
458# CONFIG_VETH is not set
459CONFIG_PHYLIB=y
460
461#
462# MII PHY device drivers
463#
464# CONFIG_MARVELL_PHY is not set
465# CONFIG_DAVICOM_PHY is not set
466# CONFIG_QSEMI_PHY is not set
467# CONFIG_LXT_PHY is not set
468# CONFIG_CICADA_PHY is not set
469# CONFIG_VITESSE_PHY is not set
470# CONFIG_SMSC_PHY is not set
471# CONFIG_BROADCOM_PHY is not set
472# CONFIG_ICPLUS_PHY is not set
473# CONFIG_REALTEK_PHY is not set
474CONFIG_FIXED_PHY=y
475# CONFIG_MDIO_BITBANG is not set
476CONFIG_NET_ETHERNET=y
477CONFIG_MII=y
478# CONFIG_IBM_NEW_EMAC_ZMII is not set
479# CONFIG_IBM_NEW_EMAC_RGMII is not set
480# CONFIG_IBM_NEW_EMAC_TAH is not set
481# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
482# CONFIG_B44 is not set
483CONFIG_FS_ENET=y
484CONFIG_FS_ENET_HAS_SCC=y
485# CONFIG_FS_ENET_HAS_FCC is not set
486# CONFIG_FS_ENET_MDIO_FCC is not set
487# CONFIG_NETDEV_1000 is not set
488# CONFIG_NETDEV_10000 is not set
489
490#
491# Wireless LAN
492#
493# CONFIG_WLAN_PRE80211 is not set
494# CONFIG_WLAN_80211 is not set
495# CONFIG_IWLWIFI_LEDS is not set
496# CONFIG_WAN is not set
497# CONFIG_PPP is not set
498# CONFIG_SLIP is not set
499# CONFIG_NETPOLL is not set
500# CONFIG_NET_POLL_CONTROLLER is not set
501# CONFIG_ISDN is not set
502# CONFIG_PHONE is not set
503
504#
505# Input device support
506#
507# CONFIG_INPUT is not set
508
509#
510# Hardware I/O ports
511#
512# CONFIG_SERIO is not set
513# CONFIG_GAMEPORT is not set
514
515#
516# Character devices
517#
518# CONFIG_VT is not set
519CONFIG_DEVKMEM=y
520# CONFIG_SERIAL_NONSTANDARD is not set
521
522#
523# Serial drivers
524#
525# CONFIG_SERIAL_8250 is not set
526
527#
528# Non-8250 serial port support
529#
530# CONFIG_SERIAL_UARTLITE is not set
531CONFIG_SERIAL_CORE=y
532CONFIG_SERIAL_CORE_CONSOLE=y
533CONFIG_SERIAL_CPM=y
534CONFIG_SERIAL_CPM_CONSOLE=y
535# CONFIG_SERIAL_CPM_SCC1 is not set
536# CONFIG_SERIAL_CPM_SCC2 is not set
537# CONFIG_SERIAL_CPM_SCC3 is not set
538# CONFIG_SERIAL_CPM_SCC4 is not set
539CONFIG_SERIAL_CPM_SMC1=y
540CONFIG_SERIAL_CPM_SMC2=y
541CONFIG_UNIX98_PTYS=y
542CONFIG_LEGACY_PTYS=y
543CONFIG_LEGACY_PTY_COUNT=256
544# CONFIG_IPMI_HANDLER is not set
545CONFIG_HW_RANDOM=y
546# CONFIG_NVRAM is not set
547# CONFIG_GEN_RTC is not set
548# CONFIG_R3964 is not set
549# CONFIG_RAW_DRIVER is not set
550# CONFIG_I2C is not set
551# CONFIG_SPI is not set
552# CONFIG_W1 is not set
553# CONFIG_POWER_SUPPLY is not set
554# CONFIG_HWMON is not set
555# CONFIG_THERMAL is not set
556# CONFIG_WATCHDOG is not set
557
558#
559# Sonics Silicon Backplane
560#
561CONFIG_SSB_POSSIBLE=y
562# CONFIG_SSB is not set
563
564#
565# Multifunction device drivers
566#
567# CONFIG_MFD_SM501 is not set
568# CONFIG_HTC_PASIC3 is not set
569
570#
571# Multimedia devices
572#
573
574#
575# Multimedia core support
576#
577# CONFIG_VIDEO_DEV is not set
578# CONFIG_DVB_CORE is not set
579# CONFIG_VIDEO_MEDIA is not set
580
581#
582# Multimedia drivers
583#
584# CONFIG_DAB is not set
585
586#
587# Graphics support
588#
589# CONFIG_VGASTATE is not set
590# CONFIG_VIDEO_OUTPUT_CONTROL is not set
591# CONFIG_FB is not set
592# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
593
594#
595# Display device support
596#
597# CONFIG_DISPLAY_SUPPORT is not set
598
599#
600# Sound
601#
602# CONFIG_SOUND is not set
603# CONFIG_USB_SUPPORT is not set
604# CONFIG_MMC is not set
605# CONFIG_MEMSTICK is not set
606# CONFIG_NEW_LEDS is not set
607# CONFIG_ACCESSIBILITY is not set
608# CONFIG_RTC_CLASS is not set
609# CONFIG_DMADEVICES is not set
610# CONFIG_UIO is not set
611
612#
613# File systems
614#
615CONFIG_EXT2_FS=y
616# CONFIG_EXT2_FS_XATTR is not set
617# CONFIG_EXT2_FS_XIP is not set
618CONFIG_EXT3_FS=y
619# CONFIG_EXT3_FS_XATTR is not set
620CONFIG_JBD=y
621# CONFIG_JBD_DEBUG is not set
622# CONFIG_REISERFS_FS is not set
623# CONFIG_JFS_FS is not set
624# CONFIG_FS_POSIX_ACL is not set
625# CONFIG_XFS_FS is not set
626# CONFIG_OCFS2_FS is not set
627CONFIG_DNOTIFY=y
628CONFIG_INOTIFY=y
629CONFIG_INOTIFY_USER=y
630# CONFIG_QUOTA is not set
631# CONFIG_AUTOFS_FS is not set
632CONFIG_AUTOFS4_FS=y
633# CONFIG_FUSE_FS is not set
634
635#
636# CD-ROM/DVD Filesystems
637#
638# CONFIG_ISO9660_FS is not set
639# CONFIG_UDF_FS is not set
640
641#
642# DOS/FAT/NT Filesystems
643#
644# CONFIG_MSDOS_FS is not set
645# CONFIG_VFAT_FS is not set
646# CONFIG_NTFS_FS is not set
647
648#
649# Pseudo filesystems
650#
651CONFIG_PROC_FS=y
652CONFIG_PROC_KCORE=y
653CONFIG_PROC_SYSCTL=y
654CONFIG_SYSFS=y
655CONFIG_TMPFS=y
656# CONFIG_TMPFS_POSIX_ACL is not set
657# CONFIG_HUGETLB_PAGE is not set
658# CONFIG_CONFIGFS_FS is not set
659
660#
661# Miscellaneous filesystems
662#
663# CONFIG_HFSPLUS_FS is not set
664CONFIG_JFFS2_FS=y
665CONFIG_JFFS2_FS_DEBUG=0
666CONFIG_JFFS2_FS_WRITEBUFFER=y
667# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
668# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
669CONFIG_JFFS2_ZLIB=y
670# CONFIG_JFFS2_LZO is not set
671CONFIG_JFFS2_RTIME=y
672# CONFIG_JFFS2_RUBIN is not set
673CONFIG_CRAMFS=y
674# CONFIG_VXFS_FS is not set
675# CONFIG_MINIX_FS is not set
676# CONFIG_HPFS_FS is not set
677# CONFIG_QNX4FS_FS is not set
678# CONFIG_ROMFS_FS is not set
679# CONFIG_SYSV_FS is not set
680# CONFIG_UFS_FS is not set
681CONFIG_NETWORK_FILESYSTEMS=y
682CONFIG_NFS_FS=y
683CONFIG_NFS_V3=y
684# CONFIG_NFS_V3_ACL is not set
685# CONFIG_NFSD is not set
686CONFIG_ROOT_NFS=y
687CONFIG_LOCKD=y
688CONFIG_LOCKD_V4=y
689CONFIG_NFS_COMMON=y
690CONFIG_SUNRPC=y
691# CONFIG_SMB_FS is not set
692# CONFIG_CIFS is not set
693# CONFIG_NCP_FS is not set
694# CONFIG_CODA_FS is not set
695
696#
697# Partition Types
698#
699CONFIG_PARTITION_ADVANCED=y
700# CONFIG_ACORN_PARTITION is not set
701# CONFIG_OSF_PARTITION is not set
702# CONFIG_AMIGA_PARTITION is not set
703# CONFIG_ATARI_PARTITION is not set
704# CONFIG_MAC_PARTITION is not set
705CONFIG_MSDOS_PARTITION=y
706# CONFIG_BSD_DISKLABEL is not set
707# CONFIG_MINIX_SUBPARTITION is not set
708# CONFIG_SOLARIS_X86_PARTITION is not set
709# CONFIG_UNIXWARE_DISKLABEL is not set
710# CONFIG_LDM_PARTITION is not set
711# CONFIG_SGI_PARTITION is not set
712# CONFIG_ULTRIX_PARTITION is not set
713# CONFIG_SUN_PARTITION is not set
714# CONFIG_KARMA_PARTITION is not set
715# CONFIG_EFI_PARTITION is not set
716# CONFIG_SYSV68_PARTITION is not set
717CONFIG_NLS=y
718CONFIG_NLS_DEFAULT="iso8859-1"
719CONFIG_NLS_CODEPAGE_437=y
720# CONFIG_NLS_CODEPAGE_737 is not set
721# CONFIG_NLS_CODEPAGE_775 is not set
722# CONFIG_NLS_CODEPAGE_850 is not set
723# CONFIG_NLS_CODEPAGE_852 is not set
724# CONFIG_NLS_CODEPAGE_855 is not set
725# CONFIG_NLS_CODEPAGE_857 is not set
726# CONFIG_NLS_CODEPAGE_860 is not set
727# CONFIG_NLS_CODEPAGE_861 is not set
728# CONFIG_NLS_CODEPAGE_862 is not set
729# CONFIG_NLS_CODEPAGE_863 is not set
730# CONFIG_NLS_CODEPAGE_864 is not set
731# CONFIG_NLS_CODEPAGE_865 is not set
732# CONFIG_NLS_CODEPAGE_866 is not set
733# CONFIG_NLS_CODEPAGE_869 is not set
734# CONFIG_NLS_CODEPAGE_936 is not set
735# CONFIG_NLS_CODEPAGE_950 is not set
736# CONFIG_NLS_CODEPAGE_932 is not set
737# CONFIG_NLS_CODEPAGE_949 is not set
738# CONFIG_NLS_CODEPAGE_874 is not set
739# CONFIG_NLS_ISO8859_8 is not set
740# CONFIG_NLS_CODEPAGE_1250 is not set
741# CONFIG_NLS_CODEPAGE_1251 is not set
742CONFIG_NLS_ASCII=y
743CONFIG_NLS_ISO8859_1=y
744# CONFIG_NLS_ISO8859_2 is not set
745# CONFIG_NLS_ISO8859_3 is not set
746# CONFIG_NLS_ISO8859_4 is not set
747# CONFIG_NLS_ISO8859_5 is not set
748# CONFIG_NLS_ISO8859_6 is not set
749# CONFIG_NLS_ISO8859_7 is not set
750# CONFIG_NLS_ISO8859_9 is not set
751# CONFIG_NLS_ISO8859_13 is not set
752# CONFIG_NLS_ISO8859_14 is not set
753# CONFIG_NLS_ISO8859_15 is not set
754# CONFIG_NLS_KOI8_R is not set
755# CONFIG_NLS_KOI8_U is not set
756CONFIG_NLS_UTF8=y
757
758#
759# Library routines
760#
761CONFIG_BITREVERSE=y
762# CONFIG_GENERIC_FIND_FIRST_BIT is not set
763# CONFIG_CRC_CCITT is not set
764# CONFIG_CRC16 is not set
765# CONFIG_CRC_ITU_T is not set
766CONFIG_CRC32=y
767# CONFIG_CRC7 is not set
768# CONFIG_LIBCRC32C is not set
769CONFIG_ZLIB_INFLATE=y
770CONFIG_ZLIB_DEFLATE=y
771CONFIG_PLIST=y
772CONFIG_HAS_IOMEM=y
773CONFIG_HAS_IOPORT=y
774CONFIG_HAS_DMA=y
775CONFIG_HAVE_LMB=y
776
777#
778# Kernel hacking
779#
780# CONFIG_PRINTK_TIME is not set
781CONFIG_ENABLE_WARN_DEPRECATED=y
782CONFIG_ENABLE_MUST_CHECK=y
783CONFIG_FRAME_WARN=1024
784CONFIG_MAGIC_SYSRQ=y
785# CONFIG_UNUSED_SYMBOLS is not set
786CONFIG_DEBUG_FS=y
787# CONFIG_HEADERS_CHECK is not set
788CONFIG_DEBUG_KERNEL=y
789# CONFIG_DEBUG_SHIRQ is not set
790# CONFIG_DETECT_SOFTLOCKUP is not set
791# CONFIG_SCHED_DEBUG is not set
792# CONFIG_SCHEDSTATS is not set
793# CONFIG_TIMER_STATS is not set
794# CONFIG_DEBUG_OBJECTS is not set
795# CONFIG_DEBUG_SLAB is not set
796# CONFIG_DEBUG_RT_MUTEXES is not set
797# CONFIG_RT_MUTEX_TESTER is not set
798# CONFIG_DEBUG_SPINLOCK is not set
799# CONFIG_DEBUG_MUTEXES is not set
800# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
801# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
802# CONFIG_DEBUG_KOBJECT is not set
803CONFIG_DEBUG_BUGVERBOSE=y
804CONFIG_DEBUG_INFO=y
805# CONFIG_DEBUG_VM is not set
806# CONFIG_DEBUG_WRITECOUNT is not set
807# CONFIG_DEBUG_LIST is not set
808# CONFIG_DEBUG_SG is not set
809# CONFIG_BOOT_PRINTK_DELAY is not set
810# CONFIG_BACKTRACE_SELF_TEST is not set
811# CONFIG_FAULT_INJECTION is not set
812# CONFIG_SAMPLES is not set
813# CONFIG_DEBUG_STACKOVERFLOW is not set
814# CONFIG_DEBUG_STACK_USAGE is not set
815# CONFIG_DEBUG_PAGEALLOC is not set
816# CONFIG_DEBUGGER is not set
817# CONFIG_KGDB_CONSOLE is not set
818# CONFIG_IRQSTACKS is not set
819# CONFIG_VIRQ_DEBUG is not set
820CONFIG_BDI_SWITCH=y
821# CONFIG_PPC_EARLY_DEBUG is not set
822
823#
824# Security options
825#
826# CONFIG_KEYS is not set
827# CONFIG_SECURITY is not set
828CONFIG_CRYPTO=y
829
830#
831# Crypto core or helper
832#
833CONFIG_CRYPTO_ALGAPI=y
834CONFIG_CRYPTO_BLKCIPHER=y
835CONFIG_CRYPTO_MANAGER=y
836# CONFIG_CRYPTO_NULL is not set
837# CONFIG_CRYPTO_CRYPTD is not set
838# CONFIG_CRYPTO_AUTHENC is not set
839
840#
841# Authenticated Encryption with Associated Data
842#
843# CONFIG_CRYPTO_CCM is not set
844# CONFIG_CRYPTO_GCM is not set
845# CONFIG_CRYPTO_SEQIV is not set
846
847#
848# Block modes
849#
850CONFIG_CRYPTO_CBC=y
851# CONFIG_CRYPTO_CTR is not set
852# CONFIG_CRYPTO_CTS is not set
853CONFIG_CRYPTO_ECB=y
854CONFIG_CRYPTO_PCBC=y
855
856#
857# Hash modes
858#
859# CONFIG_CRYPTO_HMAC is not set
860
861#
862# Digest
863#
864# CONFIG_CRYPTO_CRC32C is not set
865# CONFIG_CRYPTO_MD4 is not set
866CONFIG_CRYPTO_MD5=y
867# CONFIG_CRYPTO_MICHAEL_MIC is not set
868# CONFIG_CRYPTO_SHA1 is not set
869# CONFIG_CRYPTO_SHA256 is not set
870# CONFIG_CRYPTO_SHA512 is not set
871# CONFIG_CRYPTO_TGR192 is not set
872# CONFIG_CRYPTO_WP512 is not set
873
874#
875# Ciphers
876#
877# CONFIG_CRYPTO_AES is not set
878# CONFIG_CRYPTO_ANUBIS is not set
879# CONFIG_CRYPTO_ARC4 is not set
880# CONFIG_CRYPTO_BLOWFISH is not set
881# CONFIG_CRYPTO_CAMELLIA is not set
882# CONFIG_CRYPTO_CAST5 is not set
883# CONFIG_CRYPTO_CAST6 is not set
884CONFIG_CRYPTO_DES=y
885# CONFIG_CRYPTO_FCRYPT is not set
886# CONFIG_CRYPTO_KHAZAD is not set
887# CONFIG_CRYPTO_SEED is not set
888# CONFIG_CRYPTO_SERPENT is not set
889# CONFIG_CRYPTO_TEA is not set
890# CONFIG_CRYPTO_TWOFISH is not set
891
892#
893# Compression
894#
895# CONFIG_CRYPTO_DEFLATE is not set
896# CONFIG_CRYPTO_LZO is not set
897# CONFIG_CRYPTO_HW is not set
898# CONFIG_PPC_CLOCK is not set
899CONFIG_PPC_LIB_RHEAP=y
900# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/platforms/82xx/Kconfig
index 75eb1ede5497..30f008b2f92e 100644
--- a/arch/powerpc/platforms/82xx/Kconfig
+++ b/arch/powerpc/platforms/82xx/Kconfig
@@ -38,6 +38,14 @@ config EP8248E
38 This board is also resold by Freescale as the QUICCStart 38 This board is also resold by Freescale as the QUICCStart
39 MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE. 39 MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE.
40 40
41config MGCOGE
42 bool "Keymile MGCOGE"
43 select 8272
44 select 8260
45 select FSL_SOC
46 help
47 This enables support for the Keymile MGCOGE board.
48
41endif 49endif
42 50
43config PQ2ADS 51config PQ2ADS
diff --git a/arch/powerpc/platforms/82xx/Makefile b/arch/powerpc/platforms/82xx/Makefile
index 6cd5cd59bf2a..d982793f4dbd 100644
--- a/arch/powerpc/platforms/82xx/Makefile
+++ b/arch/powerpc/platforms/82xx/Makefile
@@ -6,3 +6,4 @@ obj-$(CONFIG_CPM2) += pq2.o
6obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o 6obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o
7obj-$(CONFIG_PQ2FADS) += pq2fads.o 7obj-$(CONFIG_PQ2FADS) += pq2fads.o
8obj-$(CONFIG_EP8248E) += ep8248e.o 8obj-$(CONFIG_EP8248E) += ep8248e.o
9obj-$(CONFIG_MGCOGE) += mgcoge.o
diff --git a/arch/powerpc/platforms/82xx/mgcoge.c b/arch/powerpc/platforms/82xx/mgcoge.c
new file mode 100644
index 000000000000..c2af169c1d1d
--- /dev/null
+++ b/arch/powerpc/platforms/82xx/mgcoge.c
@@ -0,0 +1,129 @@
1/*
2 * Keymile mgcoge support
3 * Copyright 2008 DENX Software Engineering GmbH
4 * Author: Heiko Schocher <hs@denx.de>
5 *
6 * based on code from:
7 * Copyright 2007 Freescale Semiconductor, Inc.
8 * Author: Scott Wood <scottwood@freescale.com>
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 as published by the
12 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
14 */
15
16#include <linux/init.h>
17#include <linux/interrupt.h>
18#include <linux/fsl_devices.h>
19#include <linux/of_platform.h>
20
21#include <asm/io.h>
22#include <asm/cpm2.h>
23#include <asm/udbg.h>
24#include <asm/machdep.h>
25#include <asm/time.h>
26#include <asm/mpc8260.h>
27#include <asm/prom.h>
28
29#include <sysdev/fsl_soc.h>
30#include <sysdev/cpm2_pic.h>
31
32#include "pq2.h"
33
34static void __init mgcoge_pic_init(void)
35{
36 struct device_node *np = of_find_compatible_node(NULL, NULL, "fsl,pq2-pic");
37 if (!np) {
38 printk(KERN_ERR "PIC init: can not find cpm-pic node\n");
39 return;
40 }
41
42 cpm2_pic_init(np);
43 of_node_put(np);
44}
45
46struct cpm_pin {
47 int port, pin, flags;
48};
49
50static __initdata struct cpm_pin mgcoge_pins[] = {
51
52 /* SMC2 */
53 {1, 8, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
54 {1, 9, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
55
56 /* SCC4 */
57 {3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
58 {3, 24, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
59 {3, 9, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
60 {3, 8, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
61 {4, 22, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
62 {4, 21, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
63};
64
65static void __init init_ioports(void)
66{
67 int i;
68
69 for (i = 0; i < ARRAY_SIZE(mgcoge_pins); i++) {
70 const struct cpm_pin *pin = &mgcoge_pins[i];
71 cpm2_set_pin(pin->port - 1, pin->pin, pin->flags);
72 }
73
74 cpm2_smc_clk_setup(CPM_CLK_SMC2, CPM_BRG8);
75 cpm2_clk_setup(CPM_CLK_SCC4, CPM_CLK7, CPM_CLK_RX);
76 cpm2_clk_setup(CPM_CLK_SCC4, CPM_CLK8, CPM_CLK_TX);
77}
78
79static void __init mgcoge_setup_arch(void)
80{
81 if (ppc_md.progress)
82 ppc_md.progress("mgcoge_setup_arch()", 0);
83
84 cpm2_reset();
85
86 /* When this is set, snooping CPM DMA from RAM causes
87 * machine checks. See erratum SIU18.
88 */
89 clrbits32(&cpm2_immr->im_siu_conf.siu_82xx.sc_bcr, MPC82XX_BCR_PLDP);
90
91 init_ioports();
92
93 if (ppc_md.progress)
94 ppc_md.progress("mgcoge_setup_arch(), finish", 0);
95}
96
97static __initdata struct of_device_id of_bus_ids[] = {
98 { .compatible = "simple-bus", },
99 {},
100};
101
102static int __init declare_of_platform_devices(void)
103{
104 of_platform_bus_probe(NULL, of_bus_ids, NULL);
105
106 return 0;
107}
108machine_device_initcall(mgcoge, declare_of_platform_devices);
109
110/*
111 * Called very early, device-tree isn't unflattened
112 */
113static int __init mgcoge_probe(void)
114{
115 unsigned long root = of_get_flat_dt_root();
116 return of_flat_dt_is_compatible(root, "keymile,mgcoge");
117}
118
119define_machine(mgcoge)
120{
121 .name = "Keymile MGCOGE",
122 .probe = mgcoge_probe,
123 .setup_arch = mgcoge_setup_arch,
124 .init_IRQ = mgcoge_pic_init,
125 .get_irq = cpm2_get_irq,
126 .calibrate_decr = generic_calibrate_decr,
127 .restart = pq2_restart,
128 .progress = udbg_progress,
129};