* [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
@ 2007-10-06 10:12 Marian Balakowicz
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
` (17 more replies)
0 siblings, 18 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-06 10:12 UTC (permalink / raw)
To: linuxppc-dev
Hello,
The following series of patches adds arch/powerpc support for three MPC5200 based boards:
TQM5200, CM5200 and Motion-PRO.
Included are also patches with modifications to common 52xx code. New helper
routine mpc52xx_find_and_map_path() is added, and is being used in LED driver
for Motion-PRO. Another patch adds mpc52xx_restart(), mpc52xx_halt()
and mpc52xx_power_off(). This modification has been around for some time now
and relies on Sascha Hauer's patch.
01/15 [POWERPC] TQM5200 DTS
02/15 [POWERPC] TQM5200 defconfig
03/15 [POWERPC] TQM5200 board support
04/15 [POWERPC] cm5200 DTS
05/15 [POWERPC] cm5200 defconfig
06/15 [POWERPC] cm5200 board support
07/15 [POWERPC] Promess motionpro DTS
08/15 [POWERPC] Promess motionpro defconfig
09/15 [POWERPC] Promess motionpro board support
10/15 [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions.
11/15 [POWERPC] Motion-PRO: Add LED support.
12/15 [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
13/15 [POWERPC] Init restart/halt/power_off machine hooks for tqm5200.
14/15 [POWERPC] Init restart/halt/power_off machine hooks for cm5200.
15/15 [POWERPC] Init restart/halt/power_off machine hooks for motionpro.
Comments and review notes are welcome.
Cheers,
Marian Balakowicz
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
@ 2007-10-07 11:15 ` Marian Balakowicz
2007-10-07 17:36 ` Grant Likely
2007-10-08 6:27 ` Grant Likely
2007-10-07 11:18 ` [PATCH 02/15] [POWERPC] TQM5200 defconfig Marian Balakowicz
` (16 subsequent siblings)
17 siblings, 2 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:15 UTC (permalink / raw)
Cc: linuxppc-dev
Add device tree source file for TQM5200 board.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
Signed-off-by: Martin Krause <martin.krause@tqs.de>
---
tqm5200.dts | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 217 insertions(+)
diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
new file mode 100644
index 0000000..e3e0ebf
--- /dev/null
+++ b/arch/powerpc/boot/dts/tqm5200.dts
@@ -0,0 +1,217 @@
+/*
+ * TQM5200 board Device Tree Source
+ *
+ * Copyright (C) 2007 Semihalf
+ * Modified for TQM5200 by Marian Balakowicz <m8@semihalf.com>
+ *
+ * Copyright 2006-2007 Secret Lab Technologies Ltd.
+ * Grant Likely <grant.likely@secretlab.ca>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+/*
+ * WARNING: Do not depend on this tree layout remaining static just yet.
+ * The MPC5200 device tree conventions are still in flux
+ * Keep an eye on the linuxppc-dev mailing list for more details
+ */
+
+/ {
+ model = "fsl,tqm5200";
+ compatible = "fsl,tqm5200\0generic-mpc5200";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ PowerPC,5200@0 {
+ device_type = "cpu";
+ reg = <0>;
+ d-cache-line-size = <20>;
+ i-cache-line-size = <20>;
+ d-cache-size = <4000>; // L1, 16K
+ i-cache-size = <4000>; // L1, 16K
+ timebase-frequency = <0>; // from bootloader
+ bus-frequency = <0>; // from bootloader
+ clock-frequency = <0>; // from bootloader
+ 32-bit;
+ };
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <00000000 04000000>; // 64MB
+ };
+
+ soc5200@f0000000 {
+ model = "fsl,mpc5200";
+ compatible = "mpc5200";
+ revision = ""; // from bootloader
+ #interrupt-cells = <3>;
+ device_type = "soc";
+ ranges = <0 f0000000 f0010000>;
+ reg = <f0000000 00010000>;
+ bus-frequency = <0>; // from bootloader
+ system-frequency = <0>; // from bootloader
+
+ cdm@200 {
+ compatible = "mpc5200b-cdm\0mpc5200-cdm";
+ reg = <200 38>;
+ };
+
+ mpc5200_pic: pic@500 {
+ // 5200 interrupts are encoded into two levels;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ device_type = "interrupt-controller";
+ compatible = "mpc5200-pic";
+ reg = <500 80>;
+ built-in;
+ };
+
+ gpt@600 { // General Purpose Timer
+ compatible = "mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <0>;
+ reg = <600 10>;
+ interrupts = <1 9 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ has-wdt;
+ };
+
+ gpio@b00 {
+ compatible = "mpc5200-gpio";
+ reg = <b00 40>;
+ interrupts = <1 7 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ usb@1000 {
+ device_type = "usb-ohci-be";
+ compatible = "mpc5200-ohci\0ohci-be";
+ reg = <1000 ff>;
+ interrupts = <2 6 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ pci@0d00 {
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+ compatible = "mpc5200-pci";
+ reg = <d00 100>;
+ interrupt-map-mask = <f800 0 0 7>;
+ interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3
+ c000 0 0 2 &mpc5200_pic 0 0 3
+ c000 0 0 3 &mpc5200_pic 0 0 3
+ c000 0 0 4 &mpc5200_pic 0 0 3>;
+ clock-frequency = <0>; // From boot loader
+ interrupts = <2 8 0 2 9 0 2 a 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ bus-range = <0 0>;
+ ranges = <42000000 0 80000000 80000000 0 10000000
+ 02000000 0 90000000 90000000 0 10000000
+ 01000000 0 00000000 a0000000 0 01000000>;
+ };
+
+ bestcomm@1200 {
+ device_type = "dma-controller";
+ compatible = "mpc5200-bestcomm";
+ reg = <1200 80>;
+ interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
+ 3 4 0 3 5 0 3 6 0 3 7 0
+ 3 8 0 3 9 0 3 a 0 3 b 0
+ 3 c 0 3 d 0 3 e 0 3 f 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ xlb@1f00 {
+ compatible = "mpc5200-xlb";
+ reg = <1f00 100>;
+ };
+
+ serial@2000 { // PSC1
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <0>; // Logical port assignment
+ cell-index = <0>;
+ reg = <2000 100>;
+ interrupts = <2 1 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ serial@2200 { // PSC2
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <1>; // Logical port assignment
+ cell-index = <1>;
+ reg = <2200 100>;
+ interrupts = <2 2 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ serial@2400 { // PSC3
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <2>; // Logical port assignment
+ cell-index = <2>;
+ reg = <2400 100>;
+ interrupts = <2 3 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ ethernet@3000 {
+ device_type = "network";
+ compatible = "mpc5200-fec";
+ reg = <3000 800>;
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ ata@3a00 {
+ device_type = "ata";
+ compatible = "mpc5200b-ata\0mpc5200-ata";
+ reg = <3a00 100>;
+ interrupts = <2 7 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ i2c@3d40 {
+ device_type = "i2c";
+ compatible = "mpc5200-i2c\0fsl-i2c";
+ cell-index = <1>;
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ fsl5200-clocking;
+ };
+
+ sram@8000 {
+ device_type = "sram";
+ compatible = "mpc5200-sram\0sram";
+ reg = <8000 4000>;
+ };
+
+ flash@c000000 {
+ device_type = "rom";
+ compatible = "direct-mapped";
+ reg = <0c000000 02000000>;
+ probe-type = "CFI";
+ bank-width = <4>;
+ partitions = <00000000 000a0000
+ 000a0000 00020000
+ 000c0000 00240000
+ 00300000 00200000
+ 00500000 00400000
+ 00900000 00800000
+ 01100000 00f00000>;
+ partition-names = "firmware\0dtb\0kernel\0initrd\0small-fs\0misc\0big-fs";
+ };
+ };
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 02/15] [POWERPC] TQM5200 defconfig
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
@ 2007-10-07 11:18 ` Marian Balakowicz
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
` (15 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:18 UTC (permalink / raw)
To: linuxppc-dev
Add TQM5200 board defconfig file.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
---
tqm5200_defconfig | 1303 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1303 insertions(+)
diff --git a/arch/powerpc/configs/tqm5200_defconfig b/arch/powerpc/configs/tqm5200_defconfig
new file mode 100644
index 0000000..382d12f
--- /dev/null
+++ b/arch/powerpc/configs/tqm5200_defconfig
@@ -0,0 +1,1303 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.23-rc9
+# Wed Oct 3 21:14:55 2007
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+CONFIG_6xx=y
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+# CONFIG_ALTIVEC is not set
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+CONFIG_PPC32=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+# CONFIG_PPC_UDBG_16550 is not set
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+# CONFIG_PPC_DCR_NATIVE is not set
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+# CONFIG_EPOLL is not set
+CONFIG_SIGNALFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+# CONFIG_EMBEDDED6xx is not set
+# CONFIG_PPC_82xx is not set
+# CONFIG_PPC_83xx is not set
+# CONFIG_PPC_86xx is not set
+CONFIG_CLASSIC32=y
+# CONFIG_PPC_CHRP is not set
+CONFIG_PPC_MPC52xx=y
+CONFIG_PPC_MPC5200=y
+# CONFIG_PPC_MPC5200_BUGFIX is not set
+# CONFIG_PPC_EFIKA is not set
+# CONFIG_PPC_LITE5200 is not set
+CONFIG_PPC_TQM5200=y
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_TAU is not set
+# CONFIG_CPM2 is not set
+# CONFIG_FSL_ULI1575 is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_KEXEC is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION_UP_POSSIBLE=y
+# CONFIG_HIBERNATION is not set
+CONFIG_SECCOMP=y
+# CONFIG_WANT_DEVICE_TREE is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+# CONFIG_PPC_INDIRECT_PCI is not set
+CONFIG_FSL_SOC=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# CONFIG_PCI_MSI is not set
+# CONFIG_PCI_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_BOOT_LOAD=0x00800000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_PHANTOM is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+CONFIG_PATA_MPC52xx=y
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+CONFIG_PATA_PLATFORM=y
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET_MII is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MPC52xx=y
+CONFIG_SERIAL_MPC52xx_CONSOLE=y
+CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_MPC5200_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+CONFIG_GEN_RTC=y
+# CONFIG_GEN_RTC_X is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+CONFIG_I2C_MPC=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_M41T00 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ABITUGURU3 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_PERSIST is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_SOC=y
+CONFIG_USB_OHCI_HCD_PPC_OF=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
+CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_BIND34 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+# CONFIG_UCC_SLOW is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+
+#
+# Instrumentation Support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUGGER is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_BOOTX_TEXT is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_HW=y
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
2007-10-07 11:18 ` [PATCH 02/15] [POWERPC] TQM5200 defconfig Marian Balakowicz
@ 2007-10-07 11:19 ` Marian Balakowicz
2007-10-07 12:21 ` Stephen Rothwell
` (2 more replies)
2007-10-07 11:20 ` [PATCH 04/15] [POWERPC] CM5200 DTS Marian Balakowicz
` (14 subsequent siblings)
17 siblings, 3 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:19 UTC (permalink / raw)
To: linuxppc-dev
Add arch/powerpc board support for TQM5200.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
---
Kconfig | 5 +
Makefile | 1
tqm5200.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 180 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
index 3ffaa06..7c828eb 100644
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
@@ -33,4 +33,9 @@ config PPC_LITE5200
select PPC_MPC5200
default n
+config PPC_TQM5200
+ bool "TQM5200 Board"
+ depends on PPC_MULTIPLATFORM && PPC32
+ select PPC_MPC5200
+ default n
diff --git a/arch/powerpc/platforms/52xx/Makefile b/arch/powerpc/platforms/52xx/Makefile
index b91e39c..4997ebf 100644
--- a/arch/powerpc/platforms/52xx/Makefile
+++ b/arch/powerpc/platforms/52xx/Makefile
@@ -8,5 +8,6 @@ endif
obj-$(CONFIG_PPC_EFIKA) += efika.o
obj-$(CONFIG_PPC_LITE5200) += lite5200.o
+obj-$(CONFIG_PPC_TQM5200) += tqm5200.o
obj-$(CONFIG_PM) += mpc52xx_sleep.o mpc52xx_pm.o
diff --git a/arch/powerpc/platforms/52xx/tqm5200.c b/arch/powerpc/platforms/52xx/tqm5200.c
new file mode 100644
index 0000000..780b79f
--- /dev/null
+++ b/arch/powerpc/platforms/52xx/tqm5200.c
@@ -0,0 +1,174 @@
+/*
+ * TQM5200 board support
+ *
+ * Written by: Grant Likely <grant.likely@secretlab.ca> for lite5200
+ * Adapted for tqm5200 by: Jan Wrobel <wrr@semihalf.com>
+ *
+ * Copyright (C) Secret Lab Technologies Ltd. 2006. All rights reserved.
+ * Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved.
+ *
+ * Description:
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#undef DEBUG
+
+#include <linux/stddef.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/reboot.h>
+#include <linux/pci.h>
+#include <linux/kdev_t.h>
+#include <linux/major.h>
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/seq_file.h>
+#include <linux/root_dev.h>
+#include <linux/initrd.h>
+
+#include <asm/system.h>
+#include <asm/atomic.h>
+#include <asm/time.h>
+#include <asm/io.h>
+#include <asm/machdep.h>
+#include <asm/ipic.h>
+#include <asm/bootinfo.h>
+#include <asm/irq.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <sysdev/fsl_soc.h>
+#include <asm/of_platform.h>
+
+#include <asm/mpc52xx.h>
+
+/* ************************************************************************
+ *
+ * Setup the architecture
+ *
+ */
+static void __init
+tqm5200_setup_cpu(void)
+{
+ struct mpc52xx_gpio __iomem *gpio;
+ u32 port_config;
+
+ /* Map zones */
+ gpio = mpc52xx_find_and_map("mpc5200-gpio");
+ if (!gpio) {
+ printk(KERN_ERR __FILE__ ": "
+ "Error while mapping GPIO register for port config. "
+ "Expect some abnormal behavior\n");
+ goto error;
+ }
+
+ /* Set port config */
+ port_config = in_be32(&gpio->port_config);
+
+ port_config &= ~0x00800000; /* 48Mhz internal, pin is GPIO */
+
+ port_config &= ~0x00007000; /* USB port : Differential mode */
+ port_config |= 0x00001000; /* USB 1 only */
+
+ port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
+ port_config |= 0x01000000;
+
+ pr_debug("port_config: old:%x new:%x\n",
+ in_be32(&gpio->port_config), port_config);
+ out_be32(&gpio->port_config, port_config);
+
+ /* Unmap zone */
+error:
+ iounmap(gpio);
+}
+
+static void __init tqm5200_setup_arch(void)
+{
+ struct device_node *np;
+
+ if (ppc_md.progress)
+ ppc_md.progress("tqm5200_setup_arch()", 0);
+
+ np = of_find_node_by_type(NULL, "cpu");
+ if (np) {
+ unsigned int *fp =
+ (int *)of_get_property(np, "clock-frequency", NULL);
+ if (fp != 0)
+ loops_per_jiffy = *fp / HZ;
+ else
+ loops_per_jiffy = 50000000 / HZ;
+ of_node_put(np);
+ }
+
+ /* CPU & Port mux setup */
+ mpc52xx_setup_cpu();
+ tqm5200_setup_cpu();
+
+#ifdef CONFIG_PCI
+ np = of_find_node_by_type(NULL, "pci");
+ if (np) {
+ mpc52xx_add_bridge(np);
+ of_node_put(np);
+ }
+#endif
+
+#ifdef CONFIG_BLK_DEV_INITRD
+ if (initrd_start)
+ /*
+ * We want the proper initrd behavior, i.e., launching of
+ * /linuxrc from the initial root file system, and not only
+ * mounting it as the normal root file system.
+ */
+ ROOT_DEV = 0x0;
+ else
+#endif
+#ifdef CONFIG_ROOT_NFS
+ ROOT_DEV = Root_NFS;
+#else
+ ROOT_DEV = Root_HDA1;
+#endif
+
+}
+
+void tqm5200_show_cpuinfo(struct seq_file *m)
+{
+ struct device_node* np = of_find_all_nodes(NULL);
+ const char *model = NULL;
+
+ if (np)
+ model = of_get_property(np, "model", NULL);
+
+ seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
+ seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
+
+ of_node_put(np);
+}
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init tqm5200_probe(void)
+{
+ unsigned long node = of_get_flat_dt_root();
+ const char *model = of_get_flat_dt_prop(node, "model", NULL);
+
+ if (!of_flat_dt_is_compatible(node, "fsl,tqm5200"))
+ return 0;
+ pr_debug("%s board found\n", model ? model : "unknown");
+
+ return 1;
+}
+
+define_machine(tqm5200) {
+ .name = "tqm5200",
+ .probe = tqm5200_probe,
+ .setup_arch = tqm5200_setup_arch,
+ .init = mpc52xx_declare_of_platform_devices,
+ .init_IRQ = mpc52xx_init_irq,
+ .get_irq = mpc52xx_get_irq,
+ .show_cpuinfo = tqm5200_show_cpuinfo,
+ .calibrate_decr = generic_calibrate_decr,
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (2 preceding siblings ...)
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
@ 2007-10-07 11:20 ` Marian Balakowicz
2007-10-08 1:50 ` David Gibson
2007-10-07 11:22 ` [PATCH 05/15] [POWERPC] CM5200 defconfig Marian Balakowicz
` (13 subsequent siblings)
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:20 UTC (permalink / raw)
To: linuxppc-dev
Add device tree source file for CM5200 board.
Signed-off-by Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
---
cm5200.dts | 284 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 284 insertions(+)
diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
new file mode 100644
index 0000000..96d2ee4
--- /dev/null
+++ b/arch/powerpc/boot/dts/cm5200.dts
@@ -0,0 +1,284 @@
+/*
+ * CM5200 board Device Tree Source
+ *
+ * Copyright (C) 2007 Semihalf
+ * Modified for CM5200 by Jan Wrobel <wrr@semihalf.com>
+ *
+ * Copyright 2006-2007 Secret Lab Technologies Ltd.
+ * Grant Likely <grant.likely@secretlab.ca>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+/*
+ * WARNING: Do not depend on this tree layout remaining static just yet.
+ * The MPC5200 device tree conventions are still in flux
+ * Keep an eye on the linuxppc-dev mailing list for more details
+ */
+
+/ {
+ model = "cm5200";
+ compatible = "fsl,cm5200\0generic-mpc5200";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ PowerPC,5200@0 {
+ device_type = "cpu";
+ reg = <0>;
+ d-cache-line-size = <20>;
+ i-cache-line-size = <20>;
+ d-cache-size = <4000>; // L1, 16K
+ i-cache-size = <4000>; // L1, 16K
+ timebase-frequency = <0>; // from bootloader
+ bus-frequency = <0>; // from bootloader
+ clock-frequency = <0>; // from bootloader
+ 32-bit;
+ };
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <00000000 04000000>; // 64MB
+ };
+
+ soc5200@f0000000 {
+ model = "fsl,mpc5200b";
+ compatible = "mpc5200";
+ revision = ""; // from bootloader
+ #interrupt-cells = <3>;
+ device_type = "soc";
+ ranges = <0 f0000000 f0010000>;
+ reg = <f0000000 00010000>;
+ bus-frequency = <0>; // from bootloader
+ system-frequency = <0>; // from bootloader
+
+ cdm@200 {
+ compatible = "mpc5200b-cdm\0mpc5200-cdm";
+ reg = <200 38>;
+ };
+
+ mpc5200_pic: pic@500 {
+ // 5200 interrupts are encoded into two levels;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ device_type = "interrupt-controller";
+ compatible = "mpc5200b-pic\0mpc5200-pic";
+ reg = <500 80>;
+ built-in;
+ };
+
+ gpt@600 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <0>;
+ reg = <600 10>;
+ interrupts = <1 9 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ has-wdt;
+ };
+
+ gpt@610 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <1>;
+ reg = <610 10>;
+ interrupts = <1 a 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@620 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <2>;
+ reg = <620 10>;
+ interrupts = <1 b 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@630 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <3>;
+ reg = <630 10>;
+ interrupts = <1 c 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@640 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <4>;
+ reg = <640 10>;
+ interrupts = <1 d 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@650 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <5>;
+ reg = <650 10>;
+ interrupts = <1 e 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@660 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <6>;
+ reg = <660 10>;
+ interrupts = <1 f 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@670 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <7>;
+ reg = <670 10>;
+ interrupts = <1 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ rtc@800 { // Real time clock
+ compatible = "mpc5200b-rtc\0mpc5200-rtc";
+ device_type = "rtc";
+ reg = <800 100>;
+ interrupts = <1 5 0 1 6 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpio@b00 {
+ compatible = "mpc5200b-gpio\0mpc5200-gpio";
+ reg = <b00 40>;
+ interrupts = <1 7 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpio-wkup@c00 {
+ compatible = "mpc5200b-gpio-wkup\0mpc5200-gpio-wkup";
+ reg = <c00 40>;
+ interrupts = <1 8 0 0 3 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ spi@f00 {
+ device_type = "spi";
+ compatible = "mpc5200b-spi\0mpc5200-spi";
+ reg = <f00 20>;
+ interrupts = <2 d 0 2 e 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ usb@1000 {
+ device_type = "usb-ohci-be";
+ compatible = "mpc5200b-ohci\0mpc5200-ohci\0ohci-be";
+ reg = <1000 ff>;
+ interrupts = <2 6 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ bestcomm@1200 {
+ device_type = "dma-controller";
+ compatible = "mpc5200b-bestcomm\0mpc5200-bestcomm";
+ reg = <1200 80>;
+ interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
+ 3 4 0 3 5 0 3 6 0 3 7 0
+ 3 8 0 3 9 0 3 a 0 3 b 0
+ 3 c 0 3 d 0 3 e 0 3 f 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ xlb@1f00 {
+ compatible = "mpc5200b-xlb\0mpc5200-xlb";
+ reg = <1f00 100>;
+ };
+
+ serial@2000 { // PSC1
+ device_type = "serial";
+ compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
+ port-number = <0>; // Logical port assignment
+ cell-index = <0>;
+ reg = <2000 100>;
+ interrupts = <2 1 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ serial@2200 { // PSC2
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <1>; // Logical port assignment
+ cell-index = <1>;
+ reg = <2200 100>;
+ interrupts = <2 2 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ serial@2400 { // PSC3
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <2>; // Logical port assignment
+ cell-index = <2>;
+ reg = <2400 100>;
+ interrupts = <2 3 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ serial@2c00 { // PSC6
+ device_type = "serial";
+ compatible = "mpc5200-psc-uart";
+ port-number = <5>; // Logical port assignment
+ cell-index = <5>;
+ reg = <2c00 100>;
+ interrupts = <2 4 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ ethernet@3000 {
+ device_type = "network";
+ compatible = "mpc5200b-fec\0mpc5200-fec";
+ reg = <3000 800>;
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ i2c@3d40 {
+ device_type = "i2c";
+ compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
+ cell-index = <1>;
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ fsl5200-clocking;
+ };
+
+ sram@8000 {
+ device_type = "sram";
+ compatible = "mpc5200b-sram\0mpc5200-sram\0sram";
+ reg = <8000 4000>;
+ };
+
+ flash@c000000 {
+ device_type = "rom";
+ compatible = "direct-mapped";
+ reg = <0c000000 02000000>;
+ probe-type = "CFI";
+ bank-width = <2>;
+ partitions = <00000000 00060000
+ 00060000 00020000
+ 00080000 00020000
+ 000a0000 00020000
+ 000c0000 00200000
+ 002c0000 01b40000
+ 01e00000 00200000>;
+ partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
+ };
+ };
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 05/15] [POWERPC] CM5200 defconfig
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (3 preceding siblings ...)
2007-10-07 11:20 ` [PATCH 04/15] [POWERPC] CM5200 DTS Marian Balakowicz
@ 2007-10-07 11:22 ` Marian Balakowicz
2007-10-07 11:24 ` [PATCH 06/15] [POWERPC] CM5200 board support Marian Balakowicz
` (12 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:22 UTC (permalink / raw)
To: linuxppc-dev
Add CM5200 board defconfig file.
Signed-off-by Marian Balakowicz <m8@semihalf.com>
---
cm5200_defconfig | 1032 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1032 insertions(+)
diff --git a/arch/powerpc/configs/cm5200_defconfig b/arch/powerpc/configs/cm5200_defconfig
new file mode 100644
index 0000000..6a31518
--- /dev/null
+++ b/arch/powerpc/configs/cm5200_defconfig
@@ -0,0 +1,1032 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.23-rc9
+# Fri Oct 5 12:23:56 2007
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+CONFIG_6xx=y
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+# CONFIG_ALTIVEC is not set
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+CONFIG_PPC32=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+# CONFIG_PPC_UDBG_16550 is not set
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+# CONFIG_PPC_DCR_NATIVE is not set
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+# CONFIG_EPOLL is not set
+CONFIG_SIGNALFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+# CONFIG_EMBEDDED6xx is not set
+# CONFIG_PPC_82xx is not set
+# CONFIG_PPC_83xx is not set
+# CONFIG_PPC_86xx is not set
+CONFIG_CLASSIC32=y
+# CONFIG_PPC_CHRP is not set
+CONFIG_PPC_MPC52xx=y
+CONFIG_PPC_MPC5200=y
+# CONFIG_PPC_MPC5200_BUGFIX is not set
+# CONFIG_PPC_EFIKA is not set
+# CONFIG_PPC_LITE5200 is not set
+# CONFIG_PPC_TQM5200 is not set
+CONFIG_PPC_CM5200=y
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_TAU is not set
+# CONFIG_CPM2 is not set
+# CONFIG_FSL_ULI1575 is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_KEXEC is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION_UP_POSSIBLE=y
+# CONFIG_HIBERNATION is not set
+CONFIG_SECCOMP=y
+# CONFIG_WANT_DEVICE_TREE is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_FSL_SOC=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_BOOT_LOAD=0x00800000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_NET_ETHERNET is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET_MII is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MPC52xx=y
+CONFIG_SERIAL_MPC52xx_CONSOLE=y
+CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_WATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_MPC=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_M41T00 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_PERSIST is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_SOC=y
+CONFIG_USB_OHCI_HCD_PPC_OF=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
+CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
+CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
+# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_BIND34 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+# CONFIG_UCC_SLOW is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+
+#
+# Instrumentation Support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUGGER is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_BOOTX_TEXT is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_HW=y
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 06/15] [POWERPC] CM5200 board support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (4 preceding siblings ...)
2007-10-07 11:22 ` [PATCH 05/15] [POWERPC] CM5200 defconfig Marian Balakowicz
@ 2007-10-07 11:24 ` Marian Balakowicz
2007-10-07 12:29 ` Stephen Rothwell
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
` (11 subsequent siblings)
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:24 UTC (permalink / raw)
To: linuxppc-dev
Add arch/powerpc board support for CM5200.
Signed-off-by Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
---
Kconfig | 5 +
Makefile | 1
cm5200.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 167 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
index 7c828eb..ec952e4 100644
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
@@ -39,3 +39,8 @@ config PPC_TQM5200
select PPC_MPC5200
default n
+config PPC_CM5200
+ bool "Schindler CM5200 Boards"
+ depends on PPC_MULTIPLATFORM && PPC32
+ select PPC_MPC5200
+ default n
diff --git a/arch/powerpc/platforms/52xx/Makefile b/arch/powerpc/platforms/52xx/Makefile
index 4997ebf..5b4adfb 100644
--- a/arch/powerpc/platforms/52xx/Makefile
+++ b/arch/powerpc/platforms/52xx/Makefile
@@ -9,5 +9,6 @@ endif
obj-$(CONFIG_PPC_EFIKA) += efika.o
obj-$(CONFIG_PPC_LITE5200) += lite5200.o
obj-$(CONFIG_PPC_TQM5200) += tqm5200.o
+obj-$(CONFIG_PPC_CM5200) += cm5200.o
obj-$(CONFIG_PM) += mpc52xx_sleep.o mpc52xx_pm.o
diff --git a/arch/powerpc/platforms/52xx/cm5200.c b/arch/powerpc/platforms/52xx/cm5200.c
new file mode 100644
index 0000000..9d3b1f2
--- /dev/null
+++ b/arch/powerpc/platforms/52xx/cm5200.c
@@ -0,0 +1,161 @@
+/*
+ * Schindler CM5200 board support
+ *
+ * Written by: Grant Likely <grant.likely@secretlab.ca>
+ * Adapted for CM5200 by: Jan Wrobel <wrr@semihalf.com>
+ *
+ * Copyright (C) Secret Lab Technologies Ltd. 2006. All rights reserved.
+ * Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved.
+ *
+ * Description:
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#undef DEBUG
+
+#include <linux/stddef.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/reboot.h>
+#include <linux/pci.h>
+#include <linux/kdev_t.h>
+#include <linux/major.h>
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/seq_file.h>
+#include <linux/root_dev.h>
+#include <linux/initrd.h>
+
+#include <asm/system.h>
+#include <asm/atomic.h>
+#include <asm/time.h>
+#include <asm/io.h>
+#include <asm/machdep.h>
+#include <asm/ipic.h>
+#include <asm/bootinfo.h>
+#include <asm/irq.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <sysdev/fsl_soc.h>
+#include <asm/of_platform.h>
+
+#include <asm/mpc52xx.h>
+
+/* ************************************************************************
+ *
+ * Setup the architecture
+ *
+ */
+static void __init cm5200_setup_cpu(void)
+{
+ struct mpc52xx_gpio __iomem *gpio;
+ u32 port_config;
+
+ /* Map zones */
+ gpio = mpc52xx_find_and_map("mpc5200-gpio");
+ if (!gpio) {
+ printk(KERN_ERR __FILE__ ": "
+ "Error while mapping GPIO register for port config. "
+ "Expect some abnormal behavior\n");
+ goto error;
+ }
+
+ /* Set port config */
+ port_config = in_be32(&gpio->port_config);
+
+ port_config &= ~0x00800000; /* 48Mhz internal, pin is GPIO */
+
+ port_config &= ~0x00007000; /* USB port : Differential mode */
+ port_config |= 0x00001000; /* USB 1 only */
+
+ pr_debug("port_config: old:%x new:%x\n",
+ in_be32(&gpio->port_config), port_config);
+
+ out_be32(&gpio->port_config, port_config);
+
+ /* Unmap zone */
+error:
+ iounmap(gpio);
+}
+
+static void __init cm5200_setup_arch(void)
+{
+ struct device_node *np;
+
+ np = of_find_node_by_type(NULL, "cpu");
+ if (np) {
+ unsigned int *fp =
+ (int *)get_property(np, "clock-frequency", NULL);
+ if (fp != 0)
+ loops_per_jiffy = *fp / HZ;
+ else
+ loops_per_jiffy = 50000000 / HZ;
+ of_node_put(np);
+ }
+
+ /* CPU & Port mux setup */
+ mpc52xx_setup_cpu(); /* Generic */
+ cm5200_setup_cpu(); /* Platorm specific */
+
+#ifdef CONFIG_BLK_DEV_INITRD
+ if (initrd_start)
+ /*
+ * We want the proper initrd behavior, i.e., launching of
+ * /linuxrc from the initial root file system, and not only
+ * mounting it as the normal root file system.
+ */
+ ROOT_DEV = 0x0;
+ else
+#endif
+
+#ifdef CONFIG_ROOT_NFS
+ ROOT_DEV = Root_NFS;
+#else
+ ROOT_DEV = Root_HDA1;
+#endif
+
+}
+
+void cm5200_show_cpuinfo(struct seq_file *m)
+{
+ struct device_node* np = of_find_all_nodes(NULL);
+ const char *model = NULL;
+
+ if (np)
+ model = get_property(np, "model", NULL);
+
+ seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
+ seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
+
+ of_node_put(np);
+}
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init cm5200_probe(void)
+{
+ unsigned long node = of_get_flat_dt_root();
+ const char *model = of_get_flat_dt_prop(node, "model", NULL);
+
+ if (!of_flat_dt_is_compatible(node, "fsl,cm5200"))
+ return 0;
+ pr_debug("%s board found\n", model ? model : "unknown");
+
+ return 1;
+}
+
+define_machine(cm5200) {
+ .name = "cm5200",
+ .probe = cm5200_probe,
+ .setup_arch = cm5200_setup_arch,
+ .init = mpc52xx_declare_of_platform_devices,
+ .init_IRQ = mpc52xx_init_irq,
+ .get_irq = mpc52xx_get_irq,
+ .show_cpuinfo = cm5200_show_cpuinfo,
+ .calibrate_decr = generic_calibrate_decr,
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (5 preceding siblings ...)
2007-10-07 11:24 ` [PATCH 06/15] [POWERPC] CM5200 board support Marian Balakowicz
@ 2007-10-07 11:25 ` Marian Balakowicz
2007-10-08 1:53 ` David Gibson
` (3 more replies)
2007-10-07 11:26 ` [PATCH 08/15] [POWERPC] Promess Motion-PRO defconfig Marian Balakowicz
` (10 subsequent siblings)
17 siblings, 4 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:25 UTC (permalink / raw)
To: linuxppc-dev
Add device tree source file for Motion-PRO board.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 334 insertions(+)
diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
new file mode 100644
index 0000000..4b197c8
--- /dev/null
+++ b/arch/powerpc/boot/dts/motionpro.dts
@@ -0,0 +1,334 @@
+/*
+ * Motion-PRO board Device Tree Source, based on Lite5200B DTS.
+ *
+ * Copyright (C) 2007 Semihalf
+ * Modified for CM5200 by Marian Balakowicz <m8@semihalf.com>
+ *
+ * Copyright 2006-2007 Secret Lab Technologies Ltd.
+ * Grant Likely <grant.likely@secretlab.ca>
+ *
+ * Copyright (C) 2007 DENX Software Engineering
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+/*
+ * WARNING: Do not depend on this tree layout remaining static just yet.
+ * The MPC5200 device tree conventions are still in flux
+ * Keep an eye on the linuxppc-dev mailing list for more details
+ */
+
+/ {
+ model = "fsl,motionpro";
+ // revision = "1.0";
+ compatible = "fsl,motionpro\0generic-mpc5200";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ PowerPC,5200@0 {
+ device_type = "cpu";
+ reg = <0>;
+ d-cache-line-size = <20>;
+ i-cache-line-size = <20>;
+ d-cache-size = <4000>; // L1, 16K
+ i-cache-size = <4000>; // L1, 16K
+ timebase-frequency = <0>; // from bootloader
+ bus-frequency = <0>; // from bootloader
+ clock-frequency = <0>; // from bootloader
+ 32-bit;
+ };
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <00000000 04000000>; // 64MB
+ };
+
+ soc5200@f0000000 {
+ model = "fsl,mpc5200b";
+ compatible = "mpc5200";
+ revision = ""; // from bootloader
+ #interrupt-cells = <3>;
+ device_type = "soc";
+ ranges = <0 f0000000 f0010000>;
+ reg = <f0000000 00010000>;
+ bus-frequency = <0>; // from bootloader
+ system-frequency = <0>; // from bootloader
+
+ cdm@200 {
+ compatible = "mpc5200b-cdm\0mpc5200-cdm";
+ reg = <200 38>;
+ };
+
+ mpc5200_pic: pic@500 {
+ // 5200 interrupts are encoded into two levels;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ device_type = "interrupt-controller";
+ compatible = "mpc5200b-pic\0mpc5200-pic";
+ reg = <500 80>;
+ built-in;
+ };
+
+ gpt@600 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <0>;
+ reg = <600 10>;
+ interrupts = <1 9 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ has-wdt;
+ };
+
+ gpt@610 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <1>;
+ reg = <610 10>;
+ interrupts = <1 a 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@620 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <2>;
+ reg = <620 10>;
+ interrupts = <1 b 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@630 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <3>;
+ reg = <630 10>;
+ interrupts = <1 c 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@640 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <4>;
+ reg = <640 10>;
+ interrupts = <1 d 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@650 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <5>;
+ reg = <650 10>;
+ interrupts = <1 e 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@660 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <6>;
+ reg = <660 10>;
+ interrupts = <1 f 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpt@670 { // General Purpose Timer
+ compatible = "mpc5200b-gpt\0mpc5200-gpt";
+ device_type = "gpt";
+ cell-index = <7>;
+ reg = <670 10>;
+ interrupts = <1 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ rtc@800 { // Real time clock
+ compatible = "mpc5200b-rtc\0mpc5200-rtc";
+ device_type = "rtc";
+ reg = <800 100>;
+ interrupts = <1 5 0 1 6 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ mscan@980 {
+ device_type = "mscan";
+ compatible = "mpc5200b-mscan\0mpc5200-mscan";
+ cell-index = <1>;
+ interrupts = <2 12 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ reg = <980 80>;
+ };
+
+ gpio@b00 {
+ compatible = "mpc5200b-gpio\0mpc5200-gpio";
+ reg = <b00 40>;
+ interrupts = <1 7 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ gpio-wkup@c00 {
+ compatible = "mpc5200b-gpio-wkup\0mpc5200-gpio-wkup";
+ reg = <c00 40>;
+ interrupts = <1 8 0 0 3 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ pci@0d00 {
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+ compatible = "mpc5200b-pci\0mpc5200-pci";
+ reg = <d00 100>;
+ interrupt-map-mask = <f800 0 0 7>;
+ interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
+ c000 0 0 2 &mpc5200_pic 1 1 3
+ c000 0 0 3 &mpc5200_pic 1 2 3
+ c000 0 0 4 &mpc5200_pic 1 3 3
+
+ c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
+ c800 0 0 2 &mpc5200_pic 1 2 3
+ c800 0 0 3 &mpc5200_pic 1 3 3
+ c800 0 0 4 &mpc5200_pic 0 0 3>;
+ clock-frequency = <0>; // From boot loader
+ interrupts = <2 8 0 2 9 0 2 a 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ bus-range = <0 0>;
+ ranges = <42000000 0 80000000 80000000 0 20000000
+ 02000000 0 a0000000 a0000000 0 10000000
+ 01000000 0 00000000 b0000000 0 01000000>;
+ };
+
+ spi@f00 {
+ device_type = "spi";
+ compatible = "mpc5200b-spi\0mpc5200-spi";
+ reg = <f00 20>;
+ interrupts = <2 d 0 2 e 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ usb@1000 {
+ device_type = "usb-ohci-be";
+ compatible = "mpc5200b-ohci\0mpc5200-ohci\0ohci-be";
+ reg = <1000 ff>;
+ interrupts = <2 6 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ bestcomm@1200 {
+ device_type = "dma-controller";
+ compatible = "mpc5200b-bestcomm\0mpc5200-bestcomm";
+ reg = <1200 80>;
+ interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
+ 3 4 0 3 5 0 3 6 0 3 7 0
+ 3 8 0 3 9 0 3 a 0 3 b 0
+ 3 c 0 3 d 0 3 e 0 3 f 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ xlb@1f00 {
+ compatible = "mpc5200b-xlb\0mpc5200-xlb";
+ reg = <1f00 100>;
+ };
+
+ serial@2000 { // PSC1
+ device_type = "serial";
+ compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
+ port-number = <0>; // Logical port assignment
+ cell-index = <0>;
+ reg = <2000 100>;
+ interrupts = <2 1 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ // PSC2 in spi master mode
+ spi@2200 { // PSC2
+ device_type = "spi";
+ compatible = "mpc5200b-psc-spi\0mpc5200-psc-spi";
+ cell-index = <1>;
+ reg = <2200 100>;
+ interrupts = <2 2 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ // PSC5 in uart mode example
+ serial@2800 { // PSC5
+ device_type = "serial";
+ compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
+ port-number = <4>; // Logical port assignment
+ cell-index = <4>;
+ reg = <2800 100>;
+ interrupts = <2 c 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ ethernet@3000 {
+ device_type = "network";
+ compatible = "mpc5200b-fec\0mpc5200-fec";
+ reg = <3000 800>;
+ mac-address = [ 02 03 04 05 06 07 ]; // Bad!
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ ata@3a00 {
+ device_type = "ata";
+ compatible = "mpc5200b-ata\0mpc5200-ata";
+ reg = <3a00 100>;
+ interrupts = <2 7 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+ i2c@3d40 {
+ device_type = "i2c";
+ compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
+ cell-index = <1>;
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ fsl5200-clocking;
+ };
+ sram@8000 {
+ device_type = "sram";
+ compatible = "mpc5200b-sram\0mpc5200-sram\0sram";
+ reg = <8000 4000>;
+ };
+
+ };
+ kollmorgen {
+ device_type = "kollmorgen";
+ compatible = "kollmorgen";
+ reg = <50000000 ffff>;
+ interrupts = <1 1 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ };
+ cpld {
+ device_type = "cpld";
+ compatible = "cpld";
+ reg = <50010000 ffff>;
+ };
+ anybus {
+ device_type = "anybus";
+ compatible = "anybus";
+ reg = <50020000 ffff>;
+ };
+ pro_module_general {
+ device_type = "pro_module_general";
+ compatible = "pro_module_general";
+ reg = <50020000 3>;
+ };
+ pro_module_dio {
+ device_type = "pro_module_dio";
+ compatible = "pro_module_dio";
+ reg = <50020800 2>;
+ };
+
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 08/15] [POWERPC] Promess Motion-PRO defconfig
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (6 preceding siblings ...)
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
@ 2007-10-07 11:26 ` Marian Balakowicz
2007-10-07 11:28 ` [PATCH 09/15] [POWERPC] Promess Motion-PRO board support Marian Balakowicz
` (9 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:26 UTC (permalink / raw)
To: linuxppc-dev
Add Motion-PRO board defconfig file.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
motionpro_defconfig | 914 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 914 insertions(+)
diff --git a/arch/powerpc/configs/motionpro_defconfig b/arch/powerpc/configs/motionpro_defconfig
new file mode 100644
index 0000000..fcce47e
--- /dev/null
+++ b/arch/powerpc/configs/motionpro_defconfig
@@ -0,0 +1,914 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.23-rc9
+# Fri Oct 5 12:54:17 2007
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+CONFIG_6xx=y
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+# CONFIG_ALTIVEC is not set
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+CONFIG_PPC32=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+# CONFIG_PPC_UDBG_16550 is not set
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+# CONFIG_PPC_DCR_NATIVE is not set
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+# CONFIG_EPOLL is not set
+CONFIG_SIGNALFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+# CONFIG_EMBEDDED6xx is not set
+# CONFIG_PPC_82xx is not set
+# CONFIG_PPC_83xx is not set
+# CONFIG_PPC_86xx is not set
+CONFIG_CLASSIC32=y
+# CONFIG_PPC_CHRP is not set
+CONFIG_PPC_MPC52xx=y
+CONFIG_PPC_MPC5200=y
+# CONFIG_PPC_MPC5200_BUGFIX is not set
+# CONFIG_PPC_EFIKA is not set
+# CONFIG_PPC_LITE5200 is not set
+CONFIG_PPC_MOTIONPRO=y
+# CONFIG_PPC_TQM5200 is not set
+# CONFIG_PPC_CM5200 is not set
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_TAU is not set
+# CONFIG_CPM2 is not set
+# CONFIG_FSL_ULI1575 is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_KEXEC is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION_UP_POSSIBLE=y
+# CONFIG_HIBERNATION is not set
+CONFIG_SECCOMP=y
+# CONFIG_WANT_DEVICE_TREE is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_FSL_SOC=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_BOOT_LOAD=0x00800000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+# CONFIG_MTD is not set
+CONFIG_OF_DEVICE=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_PATA_MPC52xx=y
+CONFIG_PATA_PLATFORM=y
+# CONFIG_MD is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_NETDEV_1000=y
+# CONFIG_MV643XX_ETH is not set
+CONFIG_NETDEV_10000=y
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MPC52xx=y
+CONFIG_SERIAL_MPC52xx_CONSOLE=y
+CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_WATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_MPC=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_DS1682 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_M41T00 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ABITUGURU3 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+CONFIG_DAB=y
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_BIND34 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+# CONFIG_UCC_SLOW is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+
+#
+# Instrumentation Support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUGGER is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_BOOTX_TEXT is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_HW=y
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 09/15] [POWERPC] Promess Motion-PRO board support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (7 preceding siblings ...)
2007-10-07 11:26 ` [PATCH 08/15] [POWERPC] Promess Motion-PRO defconfig Marian Balakowicz
@ 2007-10-07 11:28 ` Marian Balakowicz
2007-10-07 12:32 ` Stephen Rothwell
2007-10-07 11:30 ` [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
` (8 subsequent siblings)
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:28 UTC (permalink / raw)
To: linuxppc-dev
Add arch/powerpc board support for Promess Motion-PRO.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
---
Kconfig | 6 ++
Makefile | 1
motionpro.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 182 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
index ec952e4..9cf2402 100644
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
@@ -33,6 +33,12 @@ config PPC_LITE5200
select PPC_MPC5200
default n
+config PPC_MOTIONPRO
+ bool "Promess Motion-PRO Board"
+ depends on PPC_MULTIPLATFORM && PPC32
+ select PPC_MPC5200
+ default n
+
config PPC_TQM5200
bool "TQM5200 Board"
depends on PPC_MULTIPLATFORM && PPC32
diff --git a/arch/powerpc/platforms/52xx/Makefile b/arch/powerpc/platforms/52xx/Makefile
index 5b4adfb..bde1b0a 100644
--- a/arch/powerpc/platforms/52xx/Makefile
+++ b/arch/powerpc/platforms/52xx/Makefile
@@ -8,6 +8,7 @@ endif
obj-$(CONFIG_PPC_EFIKA) += efika.o
obj-$(CONFIG_PPC_LITE5200) += lite5200.o
+obj-$(CONFIG_PPC_MOTIONPRO) += motionpro.o
obj-$(CONFIG_PPC_TQM5200) += tqm5200.o
obj-$(CONFIG_PPC_CM5200) += cm5200.o
diff --git a/arch/powerpc/platforms/52xx/motionpro.c b/arch/powerpc/platforms/52xx/motionpro.c
new file mode 100644
index 0000000..2cf8a47
--- /dev/null
+++ b/arch/powerpc/platforms/52xx/motionpro.c
@@ -0,0 +1,175 @@
+/*
+ * Promess Motion-PRO board support
+ *
+ * Written by: Grant Likely <grant.likely@secretlab.ca>
+ * Adapted for Motion-PRO by: Marian Balakowicz <m8@semihalf.com>
+ *
+ * Copyright (C) Secret Lab Technologies Ltd. 2006. All rights reserved.
+ * Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved.
+ *
+ * Description:
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#undef DEBUG
+
+#include <linux/stddef.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/reboot.h>
+#include <linux/pci.h>
+#include <linux/kdev_t.h>
+#include <linux/major.h>
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/seq_file.h>
+#include <linux/root_dev.h>
+#include <linux/initrd.h>
+
+#include <asm/system.h>
+#include <asm/atomic.h>
+#include <asm/time.h>
+#include <asm/io.h>
+#include <asm/machdep.h>
+#include <asm/ipic.h>
+#include <asm/bootinfo.h>
+#include <asm/irq.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <sysdev/fsl_soc.h>
+#include <asm/of_platform.h>
+
+#include <asm/mpc52xx.h>
+
+/* ************************************************************************
+ *
+ * Setup the architecture
+ *
+ */
+
+static void __init
+motionpro_setup_cpu(void)
+{
+ struct mpc52xx_gpio __iomem *gpio;
+ u32 port_config;
+
+ /* Map zones */
+ gpio = mpc52xx_find_and_map("mpc5200-gpio");
+ if (!gpio) {
+ printk(KERN_ERR __FILE__ ": "
+ "Error while mapping GPIO register for port config. "
+ "Expect some abnormal behavior\n");
+ goto error;
+ }
+
+ /* Set port config */
+ port_config = in_be32(&gpio->port_config);
+
+ port_config &= ~0x00800000; /* 48Mhz internal, pin is GPIO */
+
+ port_config &= ~0x00007000; /* USB port : Differential mode */
+ port_config |= 0x00001000; /* USB 1 only */
+
+ port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
+ port_config |= 0x01000000;
+
+ pr_debug("port_config: old:%x new:%x\n",
+ in_be32(&gpio->port_config), port_config);
+ out_be32(&gpio->port_config, port_config);
+
+ /* Unmap zone */
+error:
+ iounmap(gpio);
+}
+
+static void __init motionpro_setup_arch(void)
+{
+ struct device_node *np;
+
+ if (ppc_md.progress)
+ ppc_md.progress("motionpro_setup_arch()", 0);
+
+ np = of_find_node_by_type(NULL, "cpu");
+ if (np) {
+ unsigned int *fp =
+ (int *)get_property(np, "clock-frequency", NULL);
+ if (fp != 0)
+ loops_per_jiffy = *fp / HZ;
+ else
+ loops_per_jiffy = 50000000 / HZ;
+ of_node_put(np);
+ }
+
+ /* CPU & Port mux setup */
+ mpc52xx_setup_cpu(); /* Generic */
+ motionpro_setup_cpu(); /* Platorm specific */
+
+#ifdef CONFIG_PCI
+ np = of_find_node_by_type(NULL, "pci");
+ if (np) {
+ mpc52xx_add_bridge(np);
+ of_node_put(np);
+ }
+#endif
+
+#ifdef CONFIG_BLK_DEV_INITRD
+ if (initrd_start)
+ /*
+ * We want the proper initrd behavior, i.e., launching of
+ * /linuxrc from the initial root file system, and not only
+ * mounting it as the normal root file system.
+ */
+ ROOT_DEV = 0x0;
+ else
+#endif
+#ifdef CONFIG_ROOT_NFS
+ ROOT_DEV = Root_NFS;
+#else
+ ROOT_DEV = Root_HDA1;
+#endif
+
+}
+
+void motionpro_show_cpuinfo(struct seq_file *m)
+{
+ struct device_node* np = of_find_all_nodes(NULL);
+ const char *model = NULL;
+
+ if (np)
+ model = get_property(np, "model", NULL);
+
+ seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
+ seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
+
+ of_node_put(np);
+}
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init motionpro_probe(void)
+{
+ unsigned long node = of_get_flat_dt_root();
+ const char *model = of_get_flat_dt_prop(node, "model", NULL);
+
+ if (!of_flat_dt_is_compatible(node, "fsl,motionpro"))
+ return 0;
+ pr_debug("%s board found\n", model ? model : "unknown");
+
+ return 1;
+}
+
+define_machine(motionpro) {
+ .name = "motionpro",
+ .probe = motionpro_probe,
+ .setup_arch = motionpro_setup_arch,
+ .init = mpc52xx_declare_of_platform_devices,
+ .init_IRQ = mpc52xx_init_irq,
+ .get_irq = mpc52xx_get_irq,
+ .show_cpuinfo = motionpro_show_cpuinfo,
+ .calibrate_decr = generic_calibrate_decr,
+};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions.
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (8 preceding siblings ...)
2007-10-07 11:28 ` [PATCH 09/15] [POWERPC] Promess Motion-PRO board support Marian Balakowicz
@ 2007-10-07 11:30 ` Marian Balakowicz
2007-10-08 6:47 ` Grant Likely
2007-10-07 11:31 ` [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support Marian Balakowicz
` (7 subsequent siblings)
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:30 UTC (permalink / raw)
To: linuxppc-dev
Add helper routine mpc52xx_find_and_map_path(). Extract common code to
mpc52xx_map_node() and refactor mpc52xx_find_and_map().
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 21 +++++++++++++++++----
include/asm-powerpc/mpc52xx.h | 1 +
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index 2dd415f..b1cd7b0 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -20,14 +20,12 @@
#include <asm/mpc52xx.h>
-void __iomem *
-mpc52xx_find_and_map(const char *compatible)
+static void __iomem *
+mpc52xx_map_node(struct device_node *ofn)
{
- struct device_node *ofn;
const u32 *regaddr_p;
u64 regaddr64, size64;
- ofn = of_find_compatible_node(NULL, NULL, compatible);
if (!ofn)
return NULL;
@@ -43,8 +41,23 @@ mpc52xx_find_and_map(const char *compatible)
return ioremap((u32)regaddr64, (u32)size64);
}
+
+void __iomem *
+mpc52xx_find_and_map(const char *compatible)
+{
+ return mpc52xx_map_node(
+ of_find_compatible_node(NULL, NULL, compatible));
+}
+
EXPORT_SYMBOL(mpc52xx_find_and_map);
+void __iomem *
+mpc52xx_find_and_map_path(const char *path)
+{
+ return mpc52xx_map_node(of_find_node_by_path(path));
+}
+
+EXPORT_SYMBOL(mpc52xx_find_and_map_path);
/**
* mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index c4631f6..4707de6 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -242,6 +242,7 @@ struct mpc52xx_cdm {
#ifndef __ASSEMBLY__
extern void __iomem * mpc52xx_find_and_map(const char *);
+extern void __iomem * mpc52xx_find_and_map_path(const char *path);
extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node);
extern void mpc52xx_setup_cpu(void);
extern void mpc52xx_declare_of_platform_devices(void);
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support.
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (9 preceding siblings ...)
2007-10-07 11:30 ` [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
@ 2007-10-07 11:31 ` Marian Balakowicz
2007-10-08 7:10 ` Grant Likely
2007-10-07 11:32 ` [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off() Marian Balakowicz
` (6 subsequent siblings)
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:31 UTC (permalink / raw)
To: linuxppc-dev
Add LED driver for Promess Motion-PRO board.
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
---
arch/powerpc/configs/motionpro_defconfig | 3
arch/powerpc/platforms/52xx/motionpro.c | 38 +++++
drivers/leds/Kconfig | 7
drivers/leds/Makefile | 1
drivers/leds/leds-motionpro.c | 221 +++++++++++++++++++++++++++++++
include/asm-powerpc/mpc52xx.h | 5
6 files changed, 274 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/configs/motionpro_defconfig b/arch/powerpc/configs/motionpro_defconfig
index fcce47e..ce62123 100644
--- a/arch/powerpc/configs/motionpro_defconfig
+++ b/arch/powerpc/configs/motionpro_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23-rc9
-# Fri Oct 5 12:54:17 2007
+# Fri Oct 5 15:18:42 2007
#
# CONFIG_PPC64 is not set
@@ -610,6 +610,7 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
+CONFIG_LEDS_MOTIONPRO=y
#
# LED Triggers
diff --git a/arch/powerpc/platforms/52xx/motionpro.c b/arch/powerpc/platforms/52xx/motionpro.c
index 2cf8a47..c1bcfd2 100644
--- a/arch/powerpc/platforms/52xx/motionpro.c
+++ b/arch/powerpc/platforms/52xx/motionpro.c
@@ -86,10 +86,48 @@ error:
iounmap(gpio);
}
+
+#ifdef CONFIG_LEDS_MOTIONPRO
+
+/* Initialize GPT register connected to LED. Turn off LED. */
+static void motionpro_setup_led(const char *reg_path)
+{
+ void __iomem *reg_addr;
+ u32 reg;
+
+ reg_addr = mpc52xx_find_and_map_path(reg_path);
+ if (!reg_addr){
+ printk(KERN_ERR __FILE__ ": "
+ "LED setup error: can't map GPIO register %s\n",
+ reg_path);
+ return;
+ }
+
+ reg = in_be32(reg_addr);
+ reg |= MPC52xx_GPT_ENABLE_OUTPUT;
+ reg &= ~MPC52xx_GPT_OUTPUT_1;
+ out_be32(reg_addr, reg);
+
+ iounmap(reg_addr);
+}
+
+/* Initialize Motionpro status and ready LEDs */
+static void motionpro_setup_leds(void)
+{
+ motionpro_setup_led("/soc5200@f0000000/gpt@660");
+ motionpro_setup_led("/soc5200@f0000000/gpt@670");
+}
+
+#endif
+
static void __init motionpro_setup_arch(void)
{
struct device_node *np;
+#ifdef CONFIG_LEDS_MOTIONPRO
+ motionpro_setup_leds();
+#endif
+
if (ppc_md.progress)
ppc_md.progress("motionpro_setup_arch()", 0);
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 4468cb3..f027009 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -55,6 +55,13 @@ config LEDS_TOSA
This option enables support for the LEDs on Sharp Zaurus
SL-6000 series.
+config LEDS_MOTIONPRO
+ tristate "Motionpro LEDs Support"
+ depends on LEDS_CLASS
+ help
+ This option enables support for status and ready LEDs connected
+ to GPIO lines on Motionpro board.
+
config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
depends on LEDS_CLASS && ARCH_S3C2410
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
index f8995c9..6b45be1 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
+obj-$(CONFIG_LEDS_MOTIONPRO) += leds-motionpro.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
# LED Triggers
diff --git a/drivers/leds/leds-motionpro.c b/drivers/leds/leds-motionpro.c
new file mode 100644
index 0000000..273e375
--- /dev/null
+++ b/drivers/leds/leds-motionpro.c
@@ -0,0 +1,221 @@
+/*
+ * LEDs driver for the Motionpro board.
+ *
+ * Copyright (C) 2007 Semihalf
+ *
+ * Author: Jan Wrobel <wrr@semihalf.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ *
+ * This driver enables control over Motionpro's status and ready LEDs through
+ * sysfs. LEDs can be controlled by writing to sysfs files:
+ * class/leds/motionpro-(ready|status)led/(brightness|delay_off|delay_on).
+ * See Documentation/leds-class.txt for more details
+ *
+ * Before user issues first control command via sysfs, LED blinking is
+ * controlled by the kernel. By default status LED is blinking fast and ready
+ * LED is turned off.
+ */
+
+#include <linux/module.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/device.h>
+#include <linux/leds.h>
+
+#include <asm/mpc52xx.h>
+#include <asm/io.h>
+
+/* Led status */
+#define LED_NOT_REGISTERED 0
+#define LED_KERNEL_CONTROLLED 1
+#define LED_USER_CONTROLLED 2
+
+
+/* Led control bits */
+#define LED_ON MPC52xx_GPT_OUTPUT_1
+
+static void mpled_set(struct led_classdev *led_cdev,
+ enum led_brightness brightness);
+
+static struct motionpro_led{
+ /* Protects the led data */
+ spinlock_t led_lock;
+
+ /* Path to led's control register DTS node */
+ char *reg_path;
+
+ /* Address to access led's register */
+ void __iomem *reg_addr;
+
+ int status;
+
+ /* Blinking timer used when led is controlled by the kernel */
+ struct timer_list kernel_mode_timer;
+
+ /*
+ * Delay between blinks when led is controlled by the kernel.
+ * If set to 0 led blinking is off.
+ */
+ int kernel_mode_delay;
+
+ struct led_classdev classdev;
+}led[] = {
+ {
+ .reg_path = "/soc5200@f0000000/gpt@660",
+ .reg_addr = 0,
+ .led_lock = SPIN_LOCK_UNLOCKED,
+ .status = LED_NOT_REGISTERED,
+ .kernel_mode_delay = HZ / 10,
+ .classdev = {
+ .name = "motionpro-statusled",
+ .brightness_set = mpled_set,
+ .default_trigger = "timer",
+ },
+ },
+ {
+ .reg_path = "/soc5200@f0000000/gpt@670",
+ .reg_addr = 0,
+ .led_lock = SPIN_LOCK_UNLOCKED,
+ .status = LED_NOT_REGISTERED,
+ .kernel_mode_delay = 0,
+ .classdev = {
+ .name = "motionpro-readyled",
+ .brightness_set = mpled_set,
+ .default_trigger = "timer",
+ }
+ }
+};
+
+/* Timer event - blinks led before user takes control over it */
+static void mpled_timer_toggle(unsigned long ptr)
+{
+ struct motionpro_led *mled = (struct motionpro_led *) ptr;
+
+ spin_lock_bh(&mled->led_lock);
+ if (mled->status == LED_KERNEL_CONTROLLED){
+ u32 reg = in_be32(mled->reg_addr);
+ reg ^= LED_ON;
+ out_be32(mled->reg_addr, reg);
+ led->kernel_mode_timer.expires = jiffies +
+ led->kernel_mode_delay;
+ add_timer(&led->kernel_mode_timer);
+ }
+ spin_unlock_bh(&mled->led_lock);
+}
+
+
+/*
+ * Turn on/off led according to user settings in sysfs.
+ * First call to this function disables kernel blinking.
+ */
+static void mpled_set(struct led_classdev *led_cdev,
+ enum led_brightness brightness)
+{
+ struct motionpro_led *mled;
+ u32 reg;
+
+ mled = container_of(led_cdev, struct motionpro_led, classdev);
+
+ spin_lock_bh(&mled->led_lock);
+ mled->status = LED_USER_CONTROLLED;
+
+ reg = in_be32(mled->reg_addr);
+ if (brightness)
+ reg |= LED_ON;
+ else
+ reg &= ~LED_ON;
+ out_be32(mled->reg_addr, reg);
+
+ spin_unlock_bh(&mled->led_lock);
+}
+
+static void mpled_init_led(void __iomem *reg_addr)
+{
+ u32 reg = in_be32(reg_addr);
+ reg |= MPC52xx_GPT_ENABLE_OUTPUT;
+ reg &= ~LED_ON;
+ out_be32(reg_addr, reg);
+}
+
+static void mpled_clean(void)
+{
+ int i;
+ for (i = 0; i < sizeof(led) / sizeof(struct motionpro_led); i++){
+ if (led[i].status != LED_NOT_REGISTERED){
+ spin_lock_bh(&led[i].led_lock);
+ led[i].status = LED_NOT_REGISTERED;
+ spin_unlock_bh(&led[i].led_lock);
+ led_classdev_unregister(&led[i].classdev);
+ }
+ if (led[i].reg_addr){
+ iounmap(led[i].reg_addr);
+ led[i].reg_addr = 0;
+ }
+ }
+}
+
+static int __init mpled_init(void)
+{
+ int i, error;
+
+ for (i = 0; i < sizeof(led) / sizeof(struct motionpro_led); i++){
+ led[i].reg_addr = mpc52xx_find_and_map_path(led[i].reg_path);
+ if (!led[i].reg_addr){
+ printk(KERN_ERR __FILE__ ": "
+ "Error while mapping GPIO register for LED %s\n",
+ led[i].classdev.name);
+ error = -EIO;
+ goto err;
+ }
+
+ mpled_init_led(led[i].reg_addr);
+ led[i].status = LED_KERNEL_CONTROLLED;
+ if (led[i].kernel_mode_delay){
+ init_timer(&led[i].kernel_mode_timer);
+ led[i].kernel_mode_timer.function = mpled_timer_toggle;
+ led[i].kernel_mode_timer.data = (unsigned long)&led[i];
+ led[i].kernel_mode_timer.expires =
+ jiffies + led[i].kernel_mode_delay;
+ add_timer(&led[i].kernel_mode_timer);
+ }
+
+ if ((error = led_classdev_register(NULL, &led[i].classdev)) < 0){
+ printk(KERN_ERR __FILE__ ": "
+ "Error while registering class device for LED "
+ "%s\n",
+ led[i].classdev.name);
+ goto err;
+ }
+ }
+
+ printk("Motionpro LEDs driver initialized\n");
+ return 0;
+err:
+ mpled_clean();
+ return error;
+}
+
+static void __exit mpled_exit(void)
+{
+ mpled_clean();
+}
+
+module_init(mpled_init);
+module_exit(mpled_exit);
+
+MODULE_LICENSE("GPL")
+MODULE_DESCRIPTION("LEDs support for Motionpro");
+MODULE_AUTHOR("Jan Wrobel <wrr@semihalf.com>");
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index 4707de6..a431798 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -140,6 +140,11 @@ struct mpc52xx_gpio {
#define MPC52xx_GPIO_PSC_CONFIG_UART_WITH_CD 5
#define MPC52xx_GPIO_PCI_DIS (1<<15)
+/* Enables GPT register to operate as simple GPIO output register */
+#define MPC52xx_GPT_ENABLE_OUTPUT 0x00000024
+/* Puts 1 on GPT output pin */
+#define MPC52xx_GPT_OUTPUT_1 0x00000010
+
/* GPIO with WakeUp*/
struct mpc52xx_gpio_wkup {
u8 wkup_gpioe; /* GPIO_WKUP + 0x00 */
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (10 preceding siblings ...)
2007-10-07 11:31 ` [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support Marian Balakowicz
@ 2007-10-07 11:32 ` Marian Balakowicz
2007-10-08 7:15 ` Grant Likely
2007-10-08 13:56 ` Kumar Gala
2007-10-07 11:32 ` [PATCH 13/15] [POWERPC] Init restart/halt/power_off machine hooks for TQM5200 Marian Balakowicz
` (5 subsequent siblings)
17 siblings, 2 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:32 UTC (permalink / raw)
To: linuxppc-dev
Add common MPC5200 helper routines: mpc52xx_restart(), mpc52xx_halt(),
mpc52xx_power_off().
This patch relies on Sascha Hauer's patch published in:
http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++++++++++++++
include/asm-powerpc/mpc52xx.h | 7 ++++
2 files changed, 52 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index b1cd7b0..e7087d7 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -88,6 +88,14 @@ mpc52xx_find_ipb_freq(struct device_node *node)
}
EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
+/*
+ * This variable is mapped in mpc52xx_setup_cpu() by a call to
+ * mpc52xx_find_and_map(), and used in mpc52xx_restart(). This is because
+ * mpc52xx_restart() can be called from interrupt context (e.g., watchdog
+ * interrupt handler), and mpc52xx_find_and_map() (ioremap() to be exact)
+ * can't be called from interrupt context.
+ */
+volatile struct mpc52xx_gpt *mpc52xx_gpt0 = NULL;
void __init
mpc52xx_setup_cpu(void)
@@ -95,6 +103,9 @@ mpc52xx_setup_cpu(void)
struct mpc52xx_cdm __iomem *cdm;
struct mpc52xx_xlb __iomem *xlb;
+ /* mpc52xx_gpt0 is mapped here and used in mpc52xx_restart */
+ mpc52xx_gpt0 = mpc52xx_find_and_map("mpc5200-gpt");
+
/* Map zones */
cdm = mpc52xx_find_and_map("mpc5200-cdm");
xlb = mpc52xx_find_and_map("mpc5200-xlb");
@@ -138,3 +149,37 @@ mpc52xx_declare_of_platform_devices(void)
"Error while probing of_platform bus\n");
}
+void
+mpc52xx_restart(char *cmd)
+{
+ local_irq_disable();
+
+ /* Turn on the watchdog and wait for it to expire. It effectively
+ does a reset */
+ if (mpc52xx_gpt0) {
+ out_be32(&mpc52xx_gpt0->mode, 0x00000000);
+ out_be32(&mpc52xx_gpt0->count, 0x000000ff);
+ out_be32(&mpc52xx_gpt0->mode, 0x00009004);
+ } else
+ printk("mpc52xx_restart: Can't access gpt. "
+ "Restart impossible, system halted\n");
+
+ while (1);
+}
+
+void
+mpc52xx_halt(void)
+{
+ local_irq_disable();
+
+ while (1);
+}
+
+void
+mpc52xx_power_off(void)
+{
+ /* By default we don't have any way of shut down.
+ If a specific board wants to, it can set the power down
+ code to any hardware implementation dependent code */
+ mpc52xx_halt();
+}
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index a431798..8dfb4de 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -104,6 +104,9 @@ struct mpc52xx_gpt {
u32 status; /* GPTx + 0X0c */
};
+/* Static instance of GPT0 */
+extern volatile struct mpc52xx_gpt *mpc52xx_gpt0;
+
/* GPIO */
struct mpc52xx_gpio {
u32 port_config; /* GPIO + 0x00 */
@@ -257,6 +260,10 @@ extern unsigned int mpc52xx_get_irq(void);
extern int __init mpc52xx_add_bridge(struct device_node *node);
+extern void mpc52xx_restart(char *cmd);
+extern void mpc52xx_halt(void);
+extern void mpc52xx_power_off(void);
+
#endif /* __ASSEMBLY__ */
#ifdef CONFIG_PM
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 13/15] [POWERPC] Init restart/halt/power_off machine hooks for TQM5200.
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (11 preceding siblings ...)
2007-10-07 11:32 ` [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off() Marian Balakowicz
@ 2007-10-07 11:32 ` Marian Balakowicz
2007-10-07 11:35 ` [PATCH 14/15] [POWERPC] Init restart/halt/power_off machine hooks for CM5200 Marian Balakowicz
` (4 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:32 UTC (permalink / raw)
To: linuxppc-dev
Initialize restart/halt/power_off machine hooks in TQM5200 board
platform code.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
tqm5200.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/tqm5200.c b/arch/powerpc/platforms/52xx/tqm5200.c
index 780b79f..09151d6 100644
--- a/arch/powerpc/platforms/52xx/tqm5200.c
+++ b/arch/powerpc/platforms/52xx/tqm5200.c
@@ -171,4 +171,7 @@ define_machine(tqm5200) {
.get_irq = mpc52xx_get_irq,
.show_cpuinfo = tqm5200_show_cpuinfo,
.calibrate_decr = generic_calibrate_decr,
+ .restart = mpc52xx_restart,
+ .halt = mpc52xx_halt,
+ .power_off = mpc52xx_power_off,
};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 14/15] [POWERPC] Init restart/halt/power_off machine hooks for CM5200.
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (12 preceding siblings ...)
2007-10-07 11:32 ` [PATCH 13/15] [POWERPC] Init restart/halt/power_off machine hooks for TQM5200 Marian Balakowicz
@ 2007-10-07 11:35 ` Marian Balakowicz
2007-10-07 11:36 ` [PATCH 15/15] [POWERPC] Init restart/halt/power_off machine hooks for Motion-PRO Marian Balakowicz
` (3 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:35 UTC (permalink / raw)
To: linuxppc-dev
Initialize restart/halt/power_off machine hooks in CM5200 board
platform code.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
cm5200.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/cm5200.c b/arch/powerpc/platforms/52xx/cm5200.c
index 9d3b1f2..9e18bfe 100644
--- a/arch/powerpc/platforms/52xx/cm5200.c
+++ b/arch/powerpc/platforms/52xx/cm5200.c
@@ -158,4 +158,7 @@ define_machine(cm5200) {
.get_irq = mpc52xx_get_irq,
.show_cpuinfo = cm5200_show_cpuinfo,
.calibrate_decr = generic_calibrate_decr,
+ .restart = mpc52xx_restart,
+ .halt = mpc52xx_halt,
+ .power_off = mpc52xx_power_off,
};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* [PATCH 15/15] [POWERPC] Init restart/halt/power_off machine hooks for Motion-PRO.
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (13 preceding siblings ...)
2007-10-07 11:35 ` [PATCH 14/15] [POWERPC] Init restart/halt/power_off machine hooks for CM5200 Marian Balakowicz
@ 2007-10-07 11:36 ` Marian Balakowicz
2007-10-08 7:16 ` [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Grant Likely
` (2 subsequent siblings)
17 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-07 11:36 UTC (permalink / raw)
To: linuxppc-dev
Initialize restart/halt/power_off machine hooks in Promess
Motion-PRO board platform code.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
motionpro.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/motionpro.c b/arch/powerpc/platforms/52xx/motionpro.c
index c1bcfd2..c6954c2 100644
--- a/arch/powerpc/platforms/52xx/motionpro.c
+++ b/arch/powerpc/platforms/52xx/motionpro.c
@@ -210,4 +210,7 @@ define_machine(motionpro) {
.get_irq = mpc52xx_get_irq,
.show_cpuinfo = motionpro_show_cpuinfo,
.calibrate_decr = generic_calibrate_decr,
+ .restart = mpc52xx_restart,
+ .halt = mpc52xx_halt,
+ .power_off = mpc52xx_power_off,
};
^ permalink raw reply related [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
@ 2007-10-07 12:21 ` Stephen Rothwell
2007-10-08 6:21 ` Grant Likely
2007-10-08 15:04 ` Scott Wood
2 siblings, 0 replies; 58+ messages in thread
From: Stephen Rothwell @ 2007-10-07 12:21 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 754 bytes --]
On Sun, 07 Oct 2007 13:19:54 +0200 Marian Balakowicz <m8@semihalf.com> wrote:
>
> +++ b/arch/powerpc/platforms/52xx/tqm5200.c
>
> +#include <asm/prom.h>
You need this for the flattened device tree stuff, so good. However ...
> +#include <asm/of_platform.h>
You should not include this file. And you actually don't use any of the
of_platform routines, but you do need linux/of.h for the of_find_ ...
routines.
> +void tqm5200_show_cpuinfo(struct seq_file *m)
> +{
> + struct device_node* np = of_find_all_nodes(NULL);
Not sure about this - if you want to find the root node, then you should
probably do that explicitly.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 06/15] [POWERPC] CM5200 board support
2007-10-07 11:24 ` [PATCH 06/15] [POWERPC] CM5200 board support Marian Balakowicz
@ 2007-10-07 12:29 ` Stephen Rothwell
2007-10-08 6:28 ` Grant Likely
0 siblings, 1 reply; 58+ messages in thread
From: Stephen Rothwell @ 2007-10-07 12:29 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 334 bytes --]
On Sun, 07 Oct 2007 13:24:18 +0200 Marian Balakowicz <m8@semihalf.com> wrote:
>
> +++ b/arch/powerpc/platforms/52xx/cm5200.c
>
> +#include <asm/prom.h>
> +#include <asm/of_platform.h>
Same comments as for tqm5200.c.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 09/15] [POWERPC] Promess Motion-PRO board support
2007-10-07 11:28 ` [PATCH 09/15] [POWERPC] Promess Motion-PRO board support Marian Balakowicz
@ 2007-10-07 12:32 ` Stephen Rothwell
2007-10-08 6:45 ` Grant Likely
0 siblings, 1 reply; 58+ messages in thread
From: Stephen Rothwell @ 2007-10-07 12:32 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 264 bytes --]
On Sun, 07 Oct 2007 13:28:48 +0200 Marian Balakowicz <m8@semihalf.com> wrote:
>
> +++ b/arch/powerpc/platforms/52xx/motionpro.c
Same comments again.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
@ 2007-10-07 17:36 ` Grant Likely
2007-10-07 20:30 ` Wolfgang Denk
2007-10-17 11:10 ` Marian Balakowicz
2007-10-08 6:27 ` Grant Likely
1 sibling, 2 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-07 17:36 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add device tree source file for TQM5200 board.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
> Signed-off-by: Martin Krause <martin.krause@tqs.de>
> ---
>
> tqm5200.dts | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 217 insertions(+)
>
> diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
> new file mode 100644
> index 0000000..e3e0ebf
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/tqm5200.dts
> @@ -0,0 +1,217 @@
> +/*
> + * TQM5200 board Device Tree Source
> + *
> + * Copyright (C) 2007 Semihalf
> + * Modified for TQM5200 by Marian Balakowicz <m8@semihalf.com>
> + *
> + * Copyright 2006-2007 Secret Lab Technologies Ltd.
> + * Grant Likely <grant.likely@secretlab.ca>
You don't really need to preserve my copyright here. It will not
bother me if you remove it.
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +/*
> + * WARNING: Do not depend on this tree layout remaining static just yet.
> + * The MPC5200 device tree conventions are still in flux
> + * Keep an eye on the linuxppc-dev mailing list for more details
> + */
> +
> +/ {
> + model = "fsl,tqm5200";
"fsl," is not appropriate as the TQM5200 is not a freescale product.
We need a new abbreviation for tq-components.
> + compatible = "fsl,tqm5200\0generic-mpc5200";
Ditto
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + PowerPC,5200@0 {
> + device_type = "cpu";
> + reg = <0>;
> + d-cache-line-size = <20>;
> + i-cache-line-size = <20>;
> + d-cache-size = <4000>; // L1, 16K
> + i-cache-size = <4000>; // L1, 16K
> + timebase-frequency = <0>; // from bootloader
> + bus-frequency = <0>; // from bootloader
> + clock-frequency = <0>; // from bootloader
> + 32-bit;
> + };
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <00000000 04000000>; // 64MB
> + };
> +
> + soc5200@f0000000 {
I think we're moving to the convetion of naming these nodes
"soc@<addr>" now. (You can drop the 5200 for the node name)
> + model = "fsl,mpc5200";
> + compatible = "mpc5200";
> + revision = ""; // from bootloader
> + #interrupt-cells = <3>;
> + device_type = "soc";
> + ranges = <0 f0000000 f0010000>;
> + reg = <f0000000 00010000>;
> + bus-frequency = <0>; // from bootloader
> + system-frequency = <0>; // from bootloader
> +
> + cdm@200 {
> + compatible = "mpc5200b-cdm\0mpc5200-cdm";
> + reg = <200 38>;
> + };
> +
> + mpc5200_pic: pic@500 {
> + // 5200 interrupts are encoded into two levels;
> + interrupt-controller;
> + #interrupt-cells = <3>;
> + device_type = "interrupt-controller";
> + compatible = "mpc5200-pic";
> + reg = <500 80>;
> + built-in;
> + };
> +
> + gpt@600 { // General Purpose Timer
> + compatible = "mpc5200-gpt";
> + device_type = "gpt";
> + cell-index = <0>;
> + reg = <600 10>;
> + interrupts = <1 9 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + has-wdt;
> + };
> +
> + gpio@b00 {
> + compatible = "mpc5200-gpio";
> + reg = <b00 40>;
> + interrupts = <1 7 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + usb@1000 {
> + device_type = "usb-ohci-be";
> + compatible = "mpc5200-ohci\0ohci-be";
> + reg = <1000 ff>;
> + interrupts = <2 6 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + pci@0d00 {
> + #interrupt-cells = <1>;
> + #size-cells = <2>;
> + #address-cells = <3>;
> + device_type = "pci";
> + compatible = "mpc5200-pci";
> + reg = <d00 100>;
> + interrupt-map-mask = <f800 0 0 7>;
> + interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3
> + c000 0 0 2 &mpc5200_pic 0 0 3
> + c000 0 0 3 &mpc5200_pic 0 0 3
> + c000 0 0 4 &mpc5200_pic 0 0 3>;
> + clock-frequency = <0>; // From boot loader
> + interrupts = <2 8 0 2 9 0 2 a 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + bus-range = <0 0>;
> + ranges = <42000000 0 80000000 80000000 0 10000000
> + 02000000 0 90000000 90000000 0 10000000
> + 01000000 0 00000000 a0000000 0 01000000>;
> + };
> +
> + bestcomm@1200 {
> + device_type = "dma-controller";
> + compatible = "mpc5200-bestcomm";
> + reg = <1200 80>;
> + interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
> + 3 4 0 3 5 0 3 6 0 3 7 0
> + 3 8 0 3 9 0 3 a 0 3 b 0
> + 3 c 0 3 d 0 3 e 0 3 f 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + xlb@1f00 {
> + compatible = "mpc5200-xlb";
> + reg = <1f00 100>;
> + };
> +
> + serial@2000 { // PSC1
> + device_type = "serial";
> + compatible = "mpc5200-psc-uart";
> + port-number = <0>; // Logical port assignment
> + cell-index = <0>;
> + reg = <2000 100>;
> + interrupts = <2 1 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + serial@2200 { // PSC2
> + device_type = "serial";
> + compatible = "mpc5200-psc-uart";
> + port-number = <1>; // Logical port assignment
> + cell-index = <1>;
> + reg = <2200 100>;
> + interrupts = <2 2 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + serial@2400 { // PSC3
> + device_type = "serial";
> + compatible = "mpc5200-psc-uart";
> + port-number = <2>; // Logical port assignment
> + cell-index = <2>;
> + reg = <2400 100>;
> + interrupts = <2 3 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + ethernet@3000 {
> + device_type = "network";
> + compatible = "mpc5200-fec";
> + reg = <3000 800>;
> + interrupts = <2 5 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + ata@3a00 {
> + device_type = "ata";
> + compatible = "mpc5200b-ata\0mpc5200-ata";
> + reg = <3a00 100>;
> + interrupts = <2 7 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + i2c@3d40 {
> + device_type = "i2c";
> + compatible = "mpc5200-i2c\0fsl-i2c";
> + cell-index = <1>;
> + reg = <3d40 40>;
> + interrupts = <2 10 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + fsl5200-clocking;
> + };
> +
> + sram@8000 {
> + device_type = "sram";
> + compatible = "mpc5200-sram\0sram";
> + reg = <8000 4000>;
> + };
> +
> + flash@c000000 {
> + device_type = "rom";
> + compatible = "direct-mapped";
> + reg = <0c000000 02000000>;
> + probe-type = "CFI";
> + bank-width = <4>;
> + partitions = <00000000 000a0000
> + 000a0000 00020000
> + 000c0000 00240000
> + 00300000 00200000
> + 00500000 00400000
> + 00900000 00800000
> + 01100000 00f00000>;
> + partition-names = "firmware\0dtb\0kernel\0initrd\0small-fs\0misc\0big-fs";
> + };
> + };
> +};
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-07 17:36 ` Grant Likely
@ 2007-10-07 20:30 ` Wolfgang Denk
2007-10-17 11:10 ` Marian Balakowicz
1 sibling, 0 replies; 58+ messages in thread
From: Wolfgang Denk @ 2007-10-07 20:30 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
In message <fa686aa40710071036u164f2cbaob8cfa4ebc0b1ed1c@mail.gmail.com> you wrote:
>
> > +/ {
> > + model = "fsl,tqm5200";
>
> "fsl," is not appropriate as the TQM5200 is not a freescale product.
> We need a new abbreviation for tq-components.
How about
model = "tqc,tqm5200";
?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Behind every great man, there is a woman -- urging him on.
-- Harry Mudd, "I, Mudd", stardate 4513.3
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-07 11:20 ` [PATCH 04/15] [POWERPC] CM5200 DTS Marian Balakowicz
@ 2007-10-08 1:50 ` David Gibson
2007-10-17 12:22 ` Marian Balakowicz
0 siblings, 1 reply; 58+ messages in thread
From: David Gibson @ 2007-10-08 1:50 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Sun, Oct 07, 2007 at 01:20:50PM +0200, Marian Balakowicz wrote:
>
> Add device tree source file for CM5200 board.
>
> Signed-off-by Marian Balakowicz <m8@semihalf.com>
> Signed-off-by: Jan Wrobel <wrr@semihalf.com>
> ---
>
> cm5200.dts | 284 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 284 insertions(+)
>
> diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
> new file mode 100644
> index 0000000..96d2ee4
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/cm5200.dts
> @@ -0,0 +1,284 @@
> +/*
> + * CM5200 board Device Tree Source
> + *
> + * Copyright (C) 2007 Semihalf
> + * Modified for CM5200 by Jan Wrobel <wrr@semihalf.com>
> + *
> + * Copyright 2006-2007 Secret Lab Technologies Ltd.
> + * Grant Likely <grant.likely@secretlab.ca>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +/*
> + * WARNING: Do not depend on this tree layout remaining static just yet.
> + * The MPC5200 device tree conventions are still in flux
> + * Keep an eye on the linuxppc-dev mailing list for more details
> + */
> +
> +/ {
> + model = "cm5200";
> + compatible = "fsl,cm5200\0generic-mpc5200";
dtc now supports the syntax "fsl,cm5200", "generic-mpc5200" so you
don't need the ugly inline \0.
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + PowerPC,5200@0 {
> + device_type = "cpu";
> + reg = <0>;
> + d-cache-line-size = <20>;
> + i-cache-line-size = <20>;
> + d-cache-size = <4000>; // L1, 16K
> + i-cache-size = <4000>; // L1, 16K
> + timebase-frequency = <0>; // from bootloader
> + bus-frequency = <0>; // from bootloader
> + clock-frequency = <0>; // from bootloader
> + 32-bit;
> + };
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <00000000 04000000>; // 64MB
> + };
> +
> + soc5200@f0000000 {
> + model = "fsl,mpc5200b";
> + compatible = "mpc5200";
> + revision = ""; // from bootloader
> + #interrupt-cells = <3>;
> + device_type = "soc";
> + ranges = <0 f0000000 f0010000>;
> + reg = <f0000000 00010000>;
> + bus-frequency = <0>; // from bootloader
> + system-frequency = <0>; // from bootloader
[snip]
> + flash@c000000 {
> + device_type = "rom";
> + compatible = "direct-mapped";
> + reg = <0c000000 02000000>;
> + probe-type = "CFI";
> + bank-width = <2>;
> + partitions = <00000000 00060000
> + 00060000 00020000
> + 00080000 00020000
> + 000a0000 00020000
> + 000c0000 00200000
> + 002c0000 01b40000
> + 01e00000 00200000>;
> + partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
> + };
First, this is the old flash binding, please use the new one.
Second, is the flash really part of the SoC?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
@ 2007-10-08 1:53 ` David Gibson
2007-10-08 6:44 ` Grant Likely
` (2 subsequent siblings)
3 siblings, 0 replies; 58+ messages in thread
From: David Gibson @ 2007-10-08 1:53 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Sun, Oct 07, 2007 at 01:25:33PM +0200, Marian Balakowicz wrote:
>
> Add device tree source file for Motion-PRO board.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> ---
>
> motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 334 insertions(+)
>
> diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
> new file mode 100644
> index 0000000..4b197c8
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/motionpro.dts
> @@ -0,0 +1,334 @@
> +/*
> + * Motion-PRO board Device Tree Source, based on Lite5200B DTS.
> + *
> + * Copyright (C) 2007 Semihalf
> + * Modified for CM5200 by Marian Balakowicz <m8@semihalf.com>
> + *
> + * Copyright 2006-2007 Secret Lab Technologies Ltd.
> + * Grant Likely <grant.likely@secretlab.ca>
> + *
> + * Copyright (C) 2007 DENX Software Engineering
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +/*
> + * WARNING: Do not depend on this tree layout remaining static just yet.
> + * The MPC5200 device tree conventions are still in flux
> + * Keep an eye on the linuxppc-dev mailing list for more details
> + */
> +
> +/ {
[snip]
> + kollmorgen {
> + device_type = "kollmorgen";
> + compatible = "kollmorgen";
> + reg = <50000000 ffff>;
> + interrupts = <1 1 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> + cpld {
> + device_type = "cpld";
> + compatible = "cpld";
> + reg = <50010000 ffff>;
> + };
> + anybus {
> + device_type = "anybus";
> + compatible = "anybus";
> + reg = <50020000 ffff>;
> + };
> + pro_module_general {
> + device_type = "pro_module_general";
> + compatible = "pro_module_general";
> + reg = <50020000 3>;
> + };
> + pro_module_dio {
> + device_type = "pro_module_dio";
> + compatible = "pro_module_dio";
> + reg = <50020800 2>;
> + };
Surely there must be some sort of bus controller above these devices..?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
2007-10-07 12:21 ` Stephen Rothwell
@ 2007-10-08 6:21 ` Grant Likely
2007-10-08 7:44 ` Wolfgang Denk
2007-10-17 11:24 ` Marian Balakowicz
2007-10-08 15:04 ` Scott Wood
2 siblings, 2 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:21 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add arch/powerpc board support for TQM5200.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> Signed-off-by: Jan Wrobel <wrr@semihalf.com>
Hmmm....
Both this patch and the CM5200 support patch (#6 in your series) are
pretty much clones of lite5200.c. I don't think this is the right
approach. Don't duplicate code in this way. Determine the common
bits and put them in a common place to be usable by any 5200 board
port.
It might even be better just to add a platform that matches on
compatible='mpc5200-generic' which is usable for mpc5200 boards that
don't need any custom setup by the kernel at platform setup time.
(which will probably be most 5200 boards).
More comments below. (And, yes, I realize that all these comments
also apply to lite5200.c).
> ---
>
> Kconfig | 5 +
> Makefile | 1
> tqm5200.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 180 insertions(+)
>
> diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
> index 3ffaa06..7c828eb 100644
> --- a/arch/powerpc/platforms/52xx/Kconfig
> +++ b/arch/powerpc/platforms/52xx/Kconfig
> @@ -33,4 +33,9 @@ config PPC_LITE5200
> select PPC_MPC5200
> default n
>
> +config PPC_TQM5200
> + bool "TQM5200 Board"
> + depends on PPC_MULTIPLATFORM && PPC32
Hmmm; it's looking like every 52xx board is adding this boilerplate
"depends" line... That's probably sub-optimal. (More a general
thought than a comment on your patch)
> + select PPC_MPC5200
> + default n
>
> diff --git a/arch/powerpc/platforms/52xx/Makefile b/arch/powerpc/platforms/52xx/Makefile
> index b91e39c..4997ebf 100644
> --- a/arch/powerpc/platforms/52xx/Makefile
> +++ b/arch/powerpc/platforms/52xx/Makefile
> @@ -8,5 +8,6 @@ endif
>
> obj-$(CONFIG_PPC_EFIKA) += efika.o
> obj-$(CONFIG_PPC_LITE5200) += lite5200.o
> +obj-$(CONFIG_PPC_TQM5200) += tqm5200.o
>
> obj-$(CONFIG_PM) += mpc52xx_sleep.o mpc52xx_pm.o
> diff --git a/arch/powerpc/platforms/52xx/tqm5200.c b/arch/powerpc/platforms/52xx/tqm5200.c
> new file mode 100644
> index 0000000..780b79f
> --- /dev/null
> +++ b/arch/powerpc/platforms/52xx/tqm5200.c
> @@ -0,0 +1,174 @@
> +/*
> + * TQM5200 board support
> + *
> + * Written by: Grant Likely <grant.likely@secretlab.ca> for lite5200
> + * Adapted for tqm5200 by: Jan Wrobel <wrr@semihalf.com>
> + *
> + * Copyright (C) Secret Lab Technologies Ltd. 2006. All rights reserved.
> + * Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved.
> + *
> + * Description:
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +#undef DEBUG
> +
> +#include <linux/stddef.h>
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +#include <linux/errno.h>
> +#include <linux/reboot.h>
> +#include <linux/pci.h>
> +#include <linux/kdev_t.h>
> +#include <linux/major.h>
> +#include <linux/console.h>
> +#include <linux/delay.h>
> +#include <linux/seq_file.h>
> +#include <linux/root_dev.h>
> +#include <linux/initrd.h>
> +
> +#include <asm/system.h>
> +#include <asm/atomic.h>
> +#include <asm/time.h>
> +#include <asm/io.h>
> +#include <asm/machdep.h>
> +#include <asm/ipic.h>
> +#include <asm/bootinfo.h>
> +#include <asm/irq.h>
> +#include <asm/prom.h>
> +#include <asm/udbg.h>
> +#include <sysdev/fsl_soc.h>
> +#include <asm/of_platform.h>
> +
> +#include <asm/mpc52xx.h>
> +
> +/* ************************************************************************
> + *
> + * Setup the architecture
> + *
> + */
> +static void __init
> +tqm5200_setup_cpu(void)
> +{
> + struct mpc52xx_gpio __iomem *gpio;
> + u32 port_config;
> +
> + /* Map zones */
> + gpio = mpc52xx_find_and_map("mpc5200-gpio");
> + if (!gpio) {
> + printk(KERN_ERR __FILE__ ": "
> + "Error while mapping GPIO register for port config. "
> + "Expect some abnormal behavior\n");
> + goto error;
> + }
> +
> + /* Set port config */
> + port_config = in_be32(&gpio->port_config);
> +
> + port_config &= ~0x00800000; /* 48Mhz internal, pin is GPIO */
> +
> + port_config &= ~0x00007000; /* USB port : Differential mode */
> + port_config |= 0x00001000; /* USB 1 only */
> +
> + port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
> + port_config |= 0x01000000;
Are you *sure* you want this? You should only be touching port_config
if firmware fails to set it up correctly. Don't blindly copy what was
done for the lite5200.
Lite5200 touches it because firmware does *not* do the right thing at
the moment.
> +
> + pr_debug("port_config: old:%x new:%x\n",
> + in_be32(&gpio->port_config), port_config);
> + out_be32(&gpio->port_config, port_config);
> +
> + /* Unmap zone */
> +error:
> + iounmap(gpio);
> +}
> +
> +static void __init tqm5200_setup_arch(void)
> +{
> + struct device_node *np;
> +
> + if (ppc_md.progress)
> + ppc_md.progress("tqm5200_setup_arch()", 0);
> +
> + np = of_find_node_by_type(NULL, "cpu");
> + if (np) {
> + unsigned int *fp =
> + (int *)of_get_property(np, "clock-frequency", NULL);
Unnecessary cast, and add 'const' to 'fp' declaration.
> + if (fp != 0)
Use NULL instead of 0 for pointer tests. 'if (fp)' is also good style here.
> + loops_per_jiffy = *fp / HZ;
> + else
> + loops_per_jiffy = 50000000 / HZ;
> + of_node_put(np);
> + }
> +
> + /* CPU & Port mux setup */
> + mpc52xx_setup_cpu();
> + tqm5200_setup_cpu();
> +
> +#ifdef CONFIG_PCI
> + np = of_find_node_by_type(NULL, "pci");
> + if (np) {
> + mpc52xx_add_bridge(np);
> + of_node_put(np);
> + }
> +#endif
> +
> +#ifdef CONFIG_BLK_DEV_INITRD
> + if (initrd_start)
> + /*
> + * We want the proper initrd behavior, i.e., launching of
> + * /linuxrc from the initial root file system, and not only
> + * mounting it as the normal root file system.
> + */
> + ROOT_DEV = 0x0;
> + else
> +#endif
> +#ifdef CONFIG_ROOT_NFS
> + ROOT_DEV = Root_NFS;
> +#else
> + ROOT_DEV = Root_HDA1;
> +#endif
Drop all this ROOT_DEV code. It's brain damaged.
> +
> +}
> +
> +void tqm5200_show_cpuinfo(struct seq_file *m)
> +{
> + struct device_node* np = of_find_all_nodes(NULL);
> + const char *model = NULL;
> +
> + if (np)
> + model = of_get_property(np, "model", NULL);
> +
> + seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
Freescale? Really?
> + seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
> +
> + of_node_put(np);
> +}
> +
> +/*
> + * Called very early, MMU is off, device-tree isn't unflattened
> + */
> +static int __init tqm5200_probe(void)
> +{
> + unsigned long node = of_get_flat_dt_root();
> + const char *model = of_get_flat_dt_prop(node, "model", NULL);
> +
> + if (!of_flat_dt_is_compatible(node, "fsl,tqm5200"))
> + return 0;
> + pr_debug("%s board found\n", model ? model : "unknown");
Drop the pr_debug line and the setting of 'model' above. The platform
setup call prints out the name of the platform regardless.
> +
> + return 1;
> +}
> +
> +define_machine(tqm5200) {
> + .name = "tqm5200",
> + .probe = tqm5200_probe,
> + .setup_arch = tqm5200_setup_arch,
> + .init = mpc52xx_declare_of_platform_devices,
> + .init_IRQ = mpc52xx_init_irq,
> + .get_irq = mpc52xx_get_irq,
> + .show_cpuinfo = tqm5200_show_cpuinfo,
> + .calibrate_decr = generic_calibrate_decr,
> +};
>
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
2007-10-07 17:36 ` Grant Likely
@ 2007-10-08 6:27 ` Grant Likely
2007-10-08 13:52 ` Kumar Gala
1 sibling, 1 reply; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:27 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
> +
> + pci@0d00 {
> + #interrupt-cells = <1>;
> + #size-cells = <2>;
> + #address-cells = <3>;
> + device_type = "pci";
> + compatible = "mpc5200-pci";
> + reg = <d00 100>;
> + interrupt-map-mask = <f800 0 0 7>;
> + interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3
> + c000 0 0 2 &mpc5200_pic 0 0 3
> + c000 0 0 3 &mpc5200_pic 0 0 3
> + c000 0 0 4 &mpc5200_pic 0 0 3>;
> + clock-frequency = <0>; // From boot loader
> + interrupts = <2 8 0 2 9 0 2 a 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + bus-range = <0 0>;
> + ranges = <42000000 0 80000000 80000000 0 10000000
> + 02000000 0 90000000 90000000 0 10000000
> + 01000000 0 00000000 a0000000 0 01000000>;
> + };
Also, the PCI node should no longer be a child of the 'soc' node. See
the latest lite5200.dts file in Paul Mackerras' powerpc tree for an
example.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 06/15] [POWERPC] CM5200 board support
2007-10-07 12:29 ` Stephen Rothwell
@ 2007-10-08 6:28 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:28 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev, Marian Balakowicz
On 10/7/07, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> On Sun, 07 Oct 2007 13:24:18 +0200 Marian Balakowicz <m8@semihalf.com> wrote:
> >
> > +++ b/arch/powerpc/platforms/52xx/cm5200.c
> >
> > +#include <asm/prom.h>
> > +#include <asm/of_platform.h>
>
> Same comments as for tqm5200.c.
Ditto
g.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
2007-10-08 1:53 ` David Gibson
@ 2007-10-08 6:44 ` Grant Likely
2007-10-08 14:58 ` Scott Wood
2007-10-18 12:50 ` Wolfgang Grandegger
3 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:44 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add device tree source file for Motion-PRO board.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> ---
>
> motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 334 insertions(+)
>
> diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
> new file mode 100644
> index 0000000..4b197c8
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/motionpro.dts
> @@ -0,0 +1,334 @@
> +/*
> + * Motion-PRO board Device Tree Source, based on Lite5200B DTS.
> + *
> + * Copyright (C) 2007 Semihalf
> + * Modified for CM5200 by Marian Balakowicz <m8@semihalf.com>
> + *
> + * Copyright 2006-2007 Secret Lab Technologies Ltd.
> + * Grant Likely <grant.likely@secretlab.ca>
> + *
> + * Copyright (C) 2007 DENX Software Engineering
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +/*
> + * WARNING: Do not depend on this tree layout remaining static just yet.
> + * The MPC5200 device tree conventions are still in flux
> + * Keep an eye on the linuxppc-dev mailing list for more details
> + */
> +
> +/ {
> + model = "fsl,motionpro";
> + // revision = "1.0";
> + compatible = "fsl,motionpro\0generic-mpc5200";
Not 'fsl,'
> + pci@0d00 {
> + #interrupt-cells = <1>;
> + #size-cells = <2>;
> + #address-cells = <3>;
> + device_type = "pci";
> + compatible = "mpc5200b-pci\0mpc5200-pci";
> + reg = <d00 100>;
> + interrupt-map-mask = <f800 0 0 7>;
> + interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
> + c000 0 0 2 &mpc5200_pic 1 1 3
> + c000 0 0 3 &mpc5200_pic 1 2 3
> + c000 0 0 4 &mpc5200_pic 1 3 3
> +
> + c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
> + c800 0 0 2 &mpc5200_pic 1 2 3
> + c800 0 0 3 &mpc5200_pic 1 3 3
> + c800 0 0 4 &mpc5200_pic 0 0 3>;
> + clock-frequency = <0>; // From boot loader
> + interrupts = <2 8 0 2 9 0 2 a 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + bus-range = <0 0>;
> + ranges = <42000000 0 80000000 80000000 0 20000000
> + 02000000 0 a0000000 a0000000 0 10000000
> + 01000000 0 00000000 b0000000 0 01000000>;
> + };
PCI should no longer be a child of the soc node.
> +
> + spi@f00 {
> + device_type = "spi";
> + compatible = "mpc5200b-spi\0mpc5200-spi";
> + reg = <f00 20>;
> + interrupts = <2 d 0 2 e 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + usb@1000 {
> + device_type = "usb-ohci-be";
> + compatible = "mpc5200b-ohci\0mpc5200-ohci\0ohci-be";
> + reg = <1000 ff>;
> + interrupts = <2 6 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + bestcomm@1200 {
> + device_type = "dma-controller";
> + compatible = "mpc5200b-bestcomm\0mpc5200-bestcomm";
> + reg = <1200 80>;
> + interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
> + 3 4 0 3 5 0 3 6 0 3 7 0
> + 3 8 0 3 9 0 3 a 0 3 b 0
> + 3 c 0 3 d 0 3 e 0 3 f 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + xlb@1f00 {
> + compatible = "mpc5200b-xlb\0mpc5200-xlb";
> + reg = <1f00 100>;
> + };
> +
> + serial@2000 { // PSC1
> + device_type = "serial";
> + compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
> + port-number = <0>; // Logical port assignment
> + cell-index = <0>;
> + reg = <2000 100>;
> + interrupts = <2 1 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + // PSC2 in spi master mode
> + spi@2200 { // PSC2
> + device_type = "spi";
> + compatible = "mpc5200b-psc-spi\0mpc5200-psc-spi";
> + cell-index = <1>;
> + reg = <2200 100>;
> + interrupts = <2 2 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + // PSC5 in uart mode example
Not an example if it is uncommented, change your comment.
> + serial@2800 { // PSC5
> + device_type = "serial";
> + compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
> + port-number = <4>; // Logical port assignment
> + cell-index = <4>;
> + reg = <2800 100>;
> + interrupts = <2 c 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + ethernet@3000 {
> + device_type = "network";
> + compatible = "mpc5200b-fec\0mpc5200-fec";
> + reg = <3000 800>;
> + mac-address = [ 02 03 04 05 06 07 ]; // Bad!
I really should fix this in the lite5200 device tree.
> + interrupts = <2 5 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + ata@3a00 {
> + device_type = "ata";
> + compatible = "mpc5200b-ata\0mpc5200-ata";
> + reg = <3a00 100>;
> + interrupts = <2 7 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> +
> + i2c@3d40 {
> + device_type = "i2c";
> + compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
> + cell-index = <1>;
> + reg = <3d40 40>;
> + interrupts = <2 10 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + fsl5200-clocking;
> + };
> + sram@8000 {
> + device_type = "sram";
> + compatible = "mpc5200b-sram\0mpc5200-sram\0sram";
> + reg = <8000 4000>;
> + };
> +
> + };
> + kollmorgen {
> + device_type = "kollmorgen";
> + compatible = "kollmorgen";
> + reg = <50000000 ffff>;
> + interrupts = <1 1 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
> + cpld {
> + device_type = "cpld";
> + compatible = "cpld";
> + reg = <50010000 ffff>;
> + };
> + anybus {
> + device_type = "anybus";
> + compatible = "anybus";
> + reg = <50020000 ffff>;
> + };
> + pro_module_general {
> + device_type = "pro_module_general";
> + compatible = "pro_module_general";
compatible properties should use '<manufacturer>,' prefixes.
> + reg = <50020000 3>;
> + };
> + pro_module_dio {
> + device_type = "pro_module_dio";
> + compatible = "pro_module_dio";
> + reg = <50020800 2>;
> + };
So; what are 'kollmogens', 'anybusses' and 'pro_modules'? This stuff
have some documentation attached to it. If these are devices which
are only on this board; then I think you can just add comments about
each node to describe them. If they are devices which will appear on
other boards, you should describe them in
Documentation/powerpc/booting-without-of.txt.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 09/15] [POWERPC] Promess Motion-PRO board support
2007-10-07 12:32 ` Stephen Rothwell
@ 2007-10-08 6:45 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:45 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev, Marian Balakowicz
On 10/7/07, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> On Sun, 07 Oct 2007 13:28:48 +0200 Marian Balakowicz <m8@semihalf.com> wrote:
> >
> > +++ b/arch/powerpc/platforms/52xx/motionpro.c
>
> Same comments again.
Ditto.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions.
2007-10-07 11:30 ` [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
@ 2007-10-08 6:47 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 6:47 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add helper routine mpc52xx_find_and_map_path(). Extract common code to
> mpc52xx_map_node() and refactor mpc52xx_find_and_map().
>
> Signed-off-by: Jan Wrobel <wrr@semihalf.com>
Looks good to me.
Reviewed-by: Grant Likely <grant.likely@secretlab.ca>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support.
2007-10-07 11:31 ` [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support Marian Balakowicz
@ 2007-10-08 7:10 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 7:10 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add LED driver for Promess Motion-PRO board.
>
> Signed-off-by: Jan Wrobel <wrr@semihalf.com>
> ---
>
> arch/powerpc/configs/motionpro_defconfig | 3
> arch/powerpc/platforms/52xx/motionpro.c | 38 +++++
> drivers/leds/Kconfig | 7
> drivers/leds/Makefile | 1
> drivers/leds/leds-motionpro.c | 221 +++++++++++++++++++++++++++++++
> include/asm-powerpc/mpc52xx.h | 5
> 6 files changed, 274 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/configs/motionpro_defconfig b/arch/powerpc/configs/motionpro_defconfig
> index fcce47e..ce62123 100644
> --- a/arch/powerpc/configs/motionpro_defconfig
> +++ b/arch/powerpc/configs/motionpro_defconfig
> @@ -1,7 +1,7 @@
> #
> # Automatically generated make config: don't edit
> # Linux kernel version: 2.6.23-rc9
> -# Fri Oct 5 12:54:17 2007
> +# Fri Oct 5 15:18:42 2007
> #
> # CONFIG_PPC64 is not set
>
> @@ -610,6 +610,7 @@ CONFIG_LEDS_CLASS=y
> #
> # LED drivers
> #
> +CONFIG_LEDS_MOTIONPRO=y
>
> #
> # LED Triggers
> diff --git a/arch/powerpc/platforms/52xx/motionpro.c b/arch/powerpc/platforms/52xx/motionpro.c
> index 2cf8a47..c1bcfd2 100644
> --- a/arch/powerpc/platforms/52xx/motionpro.c
> +++ b/arch/powerpc/platforms/52xx/motionpro.c
> @@ -86,10 +86,48 @@ error:
> iounmap(gpio);
> }
>
> +
> +#ifdef CONFIG_LEDS_MOTIONPRO
> +
> +/* Initialize GPT register connected to LED. Turn off LED. */
> +static void motionpro_setup_led(const char *reg_path)
> +{
> + void __iomem *reg_addr;
> + u32 reg;
> +
> + reg_addr = mpc52xx_find_and_map_path(reg_path);
> + if (!reg_addr){
> + printk(KERN_ERR __FILE__ ": "
> + "LED setup error: can't map GPIO register %s\n",
> + reg_path);
> + return;
> + }
> +
> + reg = in_be32(reg_addr);
> + reg |= MPC52xx_GPT_ENABLE_OUTPUT;
> + reg &= ~MPC52xx_GPT_OUTPUT_1;
> + out_be32(reg_addr, reg);
Ideally, firmware should be doing this setup. Only do it here if
firmware cannot be updated to set these pins correctly.
> +
> + iounmap(reg_addr);
> +}
> +
> +/* Initialize Motionpro status and ready LEDs */
> +static void motionpro_setup_leds(void)
> +{
> + motionpro_setup_led("/soc5200@f0000000/gpt@660");
> + motionpro_setup_led("/soc5200@f0000000/gpt@670");
> +}
> +
> +#endif
> +
> static void __init motionpro_setup_arch(void)
> {
> struct device_node *np;
>
> +#ifdef CONFIG_LEDS_MOTIONPRO
> + motionpro_setup_leds();
> +#endif
Don't bother making this conditional (Unless the LED GPIO pins can
also have another function). This is a fixed property of the board,
so just set it up unconditionally.
> +
> if (ppc_md.progress)
> ppc_md.progress("motionpro_setup_arch()", 0);
>
> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
> index 4468cb3..f027009 100644
> --- a/drivers/leds/Kconfig
> +++ b/drivers/leds/Kconfig
> @@ -55,6 +55,13 @@ config LEDS_TOSA
> This option enables support for the LEDs on Sharp Zaurus
> SL-6000 series.
>
> +config LEDS_MOTIONPRO
> + tristate "Motionpro LEDs Support"
> + depends on LEDS_CLASS
> + help
> + This option enables support for status and ready LEDs connected
> + to GPIO lines on Motionpro board.
> +
> config LEDS_S3C24XX
> tristate "LED Support for Samsung S3C24XX GPIO LEDs"
> depends on LEDS_CLASS && ARCH_S3C2410
> diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
> index f8995c9..6b45be1 100644
> --- a/drivers/leds/Makefile
> +++ b/drivers/leds/Makefile
> @@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
> obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
> obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
> obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
> +obj-$(CONFIG_LEDS_MOTIONPRO) += leds-motionpro.o
> obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
>
> # LED Triggers
> diff --git a/drivers/leds/leds-motionpro.c b/drivers/leds/leds-motionpro.c
> new file mode 100644
> index 0000000..273e375
> --- /dev/null
> +++ b/drivers/leds/leds-motionpro.c
> @@ -0,0 +1,221 @@
> +/*
> + * LEDs driver for the Motionpro board.
> + *
> + * Copyright (C) 2007 Semihalf
> + *
> + * Author: Jan Wrobel <wrr@semihalf.com>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2 as published by
> + * the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public License along
> + * with this program; if not, write to the Free Software Foundation, Inc., 51
> + * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> + *
> + *
> + * This driver enables control over Motionpro's status and ready LEDs through
> + * sysfs. LEDs can be controlled by writing to sysfs files:
> + * class/leds/motionpro-(ready|status)led/(brightness|delay_off|delay_on).
> + * See Documentation/leds-class.txt for more details
> + *
> + * Before user issues first control command via sysfs, LED blinking is
> + * controlled by the kernel. By default status LED is blinking fast and ready
> + * LED is turned off.
> + */
> +
> +#include <linux/module.h>
> +#include <linux/types.h>
> +#include <linux/kernel.h>
> +#include <linux/device.h>
> +#include <linux/leds.h>
> +
> +#include <asm/mpc52xx.h>
> +#include <asm/io.h>
> +
> +/* Led status */
> +#define LED_NOT_REGISTERED 0
> +#define LED_KERNEL_CONTROLLED 1
> +#define LED_USER_CONTROLLED 2
> +
> +
> +/* Led control bits */
> +#define LED_ON MPC52xx_GPT_OUTPUT_1
> +
> +static void mpled_set(struct led_classdev *led_cdev,
> + enum led_brightness brightness);
> +
> +static struct motionpro_led{
> + /* Protects the led data */
> + spinlock_t led_lock;
> +
> + /* Path to led's control register DTS node */
> + char *reg_path;
> +
> + /* Address to access led's register */
> + void __iomem *reg_addr;
> +
> + int status;
> +
> + /* Blinking timer used when led is controlled by the kernel */
> + struct timer_list kernel_mode_timer;
> +
> + /*
> + * Delay between blinks when led is controlled by the kernel.
> + * If set to 0 led blinking is off.
> + */
> + int kernel_mode_delay;
> +
> + struct led_classdev classdev;
> +}led[] = {
Split the structure definition and the table declaration. Easier to
follow if it is split.
> + {
> + .reg_path = "/soc5200@f0000000/gpt@660",
> + .reg_addr = 0,
> + .led_lock = SPIN_LOCK_UNLOCKED,
> + .status = LED_NOT_REGISTERED,
> + .kernel_mode_delay = HZ / 10,
> + .classdev = {
> + .name = "motionpro-statusled",
> + .brightness_set = mpled_set,
> + .default_trigger = "timer",
> + },
> + },
> + {
> + .reg_path = "/soc5200@f0000000/gpt@670",
> + .reg_addr = 0,
> + .led_lock = SPIN_LOCK_UNLOCKED,
> + .status = LED_NOT_REGISTERED,
> + .kernel_mode_delay = 0,
> + .classdev = {
> + .name = "motionpro-readyled",
> + .brightness_set = mpled_set,
> + .default_trigger = "timer",
> + }
> + }
> +};
> +
> +/* Timer event - blinks led before user takes control over it */
> +static void mpled_timer_toggle(unsigned long ptr)
> +{
> + struct motionpro_led *mled = (struct motionpro_led *) ptr;
> +
> + spin_lock_bh(&mled->led_lock);
> + if (mled->status == LED_KERNEL_CONTROLLED){
> + u32 reg = in_be32(mled->reg_addr);
> + reg ^= LED_ON;
> + out_be32(mled->reg_addr, reg);
> + led->kernel_mode_timer.expires = jiffies +
> + led->kernel_mode_delay;
> + add_timer(&led->kernel_mode_timer);
> + }
> + spin_unlock_bh(&mled->led_lock);
> +}
> +
> +
> +/*
> + * Turn on/off led according to user settings in sysfs.
> + * First call to this function disables kernel blinking.
> + */
> +static void mpled_set(struct led_classdev *led_cdev,
> + enum led_brightness brightness)
> +{
> + struct motionpro_led *mled;
> + u32 reg;
> +
> + mled = container_of(led_cdev, struct motionpro_led, classdev);
> +
> + spin_lock_bh(&mled->led_lock);
> + mled->status = LED_USER_CONTROLLED;
> +
> + reg = in_be32(mled->reg_addr);
> + if (brightness)
> + reg |= LED_ON;
> + else
> + reg &= ~LED_ON;
> + out_be32(mled->reg_addr, reg);
> +
> + spin_unlock_bh(&mled->led_lock);
> +}
> +
> +static void mpled_init_led(void __iomem *reg_addr)
> +{
> + u32 reg = in_be32(reg_addr);
> + reg |= MPC52xx_GPT_ENABLE_OUTPUT;
> + reg &= ~LED_ON;
> + out_be32(reg_addr, reg);
> +}
> +
> +static void mpled_clean(void)
> +{
> + int i;
> + for (i = 0; i < sizeof(led) / sizeof(struct motionpro_led); i++){
> + if (led[i].status != LED_NOT_REGISTERED){
> + spin_lock_bh(&led[i].led_lock);
> + led[i].status = LED_NOT_REGISTERED;
> + spin_unlock_bh(&led[i].led_lock);
> + led_classdev_unregister(&led[i].classdev);
> + }
> + if (led[i].reg_addr){
> + iounmap(led[i].reg_addr);
> + led[i].reg_addr = 0;
> + }
> + }
> +}
> +
> +static int __init mpled_init(void)
> +{
> + int i, error;
> +
> + for (i = 0; i < sizeof(led) / sizeof(struct motionpro_led); i++){
> + led[i].reg_addr = mpc52xx_find_and_map_path(led[i].reg_path);
> + if (!led[i].reg_addr){
> + printk(KERN_ERR __FILE__ ": "
> + "Error while mapping GPIO register for LED %s\n",
> + led[i].classdev.name);
> + error = -EIO;
> + goto err;
> + }
> +
> + mpled_init_led(led[i].reg_addr);
> + led[i].status = LED_KERNEL_CONTROLLED;
> + if (led[i].kernel_mode_delay){
> + init_timer(&led[i].kernel_mode_timer);
> + led[i].kernel_mode_timer.function = mpled_timer_toggle;
> + led[i].kernel_mode_timer.data = (unsigned long)&led[i];
> + led[i].kernel_mode_timer.expires =
> + jiffies + led[i].kernel_mode_delay;
> + add_timer(&led[i].kernel_mode_timer);
> + }
> +
> + if ((error = led_classdev_register(NULL, &led[i].classdev)) < 0){
> + printk(KERN_ERR __FILE__ ": "
> + "Error while registering class device for LED "
> + "%s\n",
> + led[i].classdev.name);
> + goto err;
> + }
> + }
> +
> + printk("Motionpro LEDs driver initialized\n");
> + return 0;
> +err:
> + mpled_clean();
> + return error;
> +}
What happens when a kernel is built with support for this board and
another platform? It looks like this init code tries to setup the
LEDs unconditionally.
You might be better off renaming the gpt nodes as 'led' nodes and
writing a driver which matches something like 'promess,mp-gpt-led' in
the compatible property. That way your driver setup code only gets
called with there is a match in the device tree.
It also makes your setup code simpler. You don't need to hardcode the
path to the gpt node. You just need to search for matching
'compatible' nodes. In this case, setting the gpt device into output
mode is probably simpler as part of the led driver initialization
(again, assuming that firware hasn't set it up correctly first).
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
2007-10-07 11:32 ` [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off() Marian Balakowicz
@ 2007-10-08 7:15 ` Grant Likely
2007-10-08 13:56 ` Kumar Gala
1 sibling, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 7:15 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> Add common MPC5200 helper routines: mpc52xx_restart(), mpc52xx_halt(),
> mpc52xx_power_off().
>
> This patch relies on Sascha Hauer's patch published in:
> http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>
> arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++++++++++++++
> include/asm-powerpc/mpc52xx.h | 7 ++++
> 2 files changed, 52 insertions(+)
>
> diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
> index b1cd7b0..e7087d7 100644
> --- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
> +++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
> @@ -88,6 +88,14 @@ mpc52xx_find_ipb_freq(struct device_node *node)
> }
> EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
>
> +/*
> + * This variable is mapped in mpc52xx_setup_cpu() by a call to
> + * mpc52xx_find_and_map(), and used in mpc52xx_restart(). This is because
> + * mpc52xx_restart() can be called from interrupt context (e.g., watchdog
> + * interrupt handler), and mpc52xx_find_and_map() (ioremap() to be exact)
> + * can't be called from interrupt context.
> + */
> +volatile struct mpc52xx_gpt *mpc52xx_gpt0 = NULL;
>
> void __init
> mpc52xx_setup_cpu(void)
> @@ -95,6 +103,9 @@ mpc52xx_setup_cpu(void)
> struct mpc52xx_cdm __iomem *cdm;
> struct mpc52xx_xlb __iomem *xlb;
>
> + /* mpc52xx_gpt0 is mapped here and used in mpc52xx_restart */
> + mpc52xx_gpt0 = mpc52xx_find_and_map("mpc5200-gpt");
> +
> /* Map zones */
> cdm = mpc52xx_find_and_map("mpc5200-cdm");
> xlb = mpc52xx_find_and_map("mpc5200-xlb");
> @@ -138,3 +149,37 @@ mpc52xx_declare_of_platform_devices(void)
> "Error while probing of_platform bus\n");
> }
>
> +void
> +mpc52xx_restart(char *cmd)
> +{
> + local_irq_disable();
> +
> + /* Turn on the watchdog and wait for it to expire. It effectively
> + does a reset */
> + if (mpc52xx_gpt0) {
> + out_be32(&mpc52xx_gpt0->mode, 0x00000000);
> + out_be32(&mpc52xx_gpt0->count, 0x000000ff);
> + out_be32(&mpc52xx_gpt0->mode, 0x00009004);
> + } else
> + printk("mpc52xx_restart: Can't access gpt. "
> + "Restart impossible, system halted\n");
> +
> + while (1);
> +}
> +
> +void
> +mpc52xx_halt(void)
> +{
> + local_irq_disable();
> +
> + while (1);
> +}
> +
> +void
> +mpc52xx_power_off(void)
> +{
> + /* By default we don't have any way of shut down.
> + If a specific board wants to, it can set the power down
> + code to any hardware implementation dependent code */
> + mpc52xx_halt();
> +}
> diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
> index a431798..8dfb4de 100644
> --- a/include/asm-powerpc/mpc52xx.h
> +++ b/include/asm-powerpc/mpc52xx.h
> @@ -104,6 +104,9 @@ struct mpc52xx_gpt {
> u32 status; /* GPTx + 0X0c */
> };
>
> +/* Static instance of GPT0 */
> +extern volatile struct mpc52xx_gpt *mpc52xx_gpt0;
> +
No; don't make this a global symbol. Restrict it to the
mpc52xx_common file. Use a helper function if you need to too set the
value.
> /* GPIO */
> struct mpc52xx_gpio {
> u32 port_config; /* GPIO + 0x00 */
> @@ -257,6 +260,10 @@ extern unsigned int mpc52xx_get_irq(void);
>
> extern int __init mpc52xx_add_bridge(struct device_node *node);
>
> +extern void mpc52xx_restart(char *cmd);
> +extern void mpc52xx_halt(void);
> +extern void mpc52xx_power_off(void);
> +
> #endif /* __ASSEMBLY__ */
>
> #ifdef CONFIG_PM
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (14 preceding siblings ...)
2007-10-07 11:36 ` [PATCH 15/15] [POWERPC] Init restart/halt/power_off machine hooks for Motion-PRO Marian Balakowicz
@ 2007-10-08 7:16 ` Grant Likely
2007-10-08 13:57 ` Kumar Gala
2007-10-09 9:08 ` Marian Balakowicz
17 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 7:16 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/6/07, Marian Balakowicz <m8@semihalf.com> wrote:
> Hello,
>
> The following series of patches adds arch/powerpc support for three MPC5200 based boards:
> TQM5200, CM5200 and Motion-PRO.
Thanks for the patch series.
g.
>
> Included are also patches with modifications to common 52xx code. New helper
> routine mpc52xx_find_and_map_path() is added, and is being used in LED driver
> for Motion-PRO. Another patch adds mpc52xx_restart(), mpc52xx_halt()
> and mpc52xx_power_off(). This modification has been around for some time now
> and relies on Sascha Hauer's patch.
>
> 01/15 [POWERPC] TQM5200 DTS
> 02/15 [POWERPC] TQM5200 defconfig
> 03/15 [POWERPC] TQM5200 board support
> 04/15 [POWERPC] cm5200 DTS
> 05/15 [POWERPC] cm5200 defconfig
> 06/15 [POWERPC] cm5200 board support
> 07/15 [POWERPC] Promess motionpro DTS
> 08/15 [POWERPC] Promess motionpro defconfig
> 09/15 [POWERPC] Promess motionpro board support
> 10/15 [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions.
> 11/15 [POWERPC] Motion-PRO: Add LED support.
> 12/15 [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
> 13/15 [POWERPC] Init restart/halt/power_off machine hooks for tqm5200.
> 14/15 [POWERPC] Init restart/halt/power_off machine hooks for cm5200.
> 15/15 [POWERPC] Init restart/halt/power_off machine hooks for motionpro.
>
> Comments and review notes are welcome.
>
> Cheers,
> Marian Balakowicz
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 6:21 ` Grant Likely
@ 2007-10-08 7:44 ` Wolfgang Denk
2007-10-08 7:54 ` Grant Likely
2007-10-17 11:24 ` Marian Balakowicz
1 sibling, 1 reply; 58+ messages in thread
From: Wolfgang Denk @ 2007-10-08 7:44 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
In message <fa686aa40710072321g3494b243w341e2b09117c3695@mail.gmail.com> you wrote:
>
> > + port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
> > + port_config |= 0x01000000;
>
> Are you *sure* you want this? You should only be touching port_config
> if firmware fails to set it up correctly. Don't blindly copy what was
> done for the lite5200.
>
> Lite5200 touches it because firmware does *not* do the right thing at
> the moment.
Why don't we fix it in U-Boot, then, and get rid of this in Linux?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
The average woman would rather have beauty than brains, because the
average man can see better than he can think.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 7:44 ` Wolfgang Denk
@ 2007-10-08 7:54 ` Grant Likely
2007-10-08 20:48 ` Grant Likely
0 siblings, 1 reply; 58+ messages in thread
From: Grant Likely @ 2007-10-08 7:54 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
On 10/8/07, Wolfgang Denk <wd@denx.de> wrote:
> In message <fa686aa40710072321g3494b243w341e2b09117c3695@mail.gmail.com> you wrote:
> >
> > > + port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
> > > + port_config |= 0x01000000;
> >
> > Are you *sure* you want this? You should only be touching port_config
> > if firmware fails to set it up correctly. Don't blindly copy what was
> > done for the lite5200.
> >
> > Lite5200 touches it because firmware does *not* do the right thing at
> > the moment.
>
> Why don't we fix it in U-Boot, then, and get rid of this in Linux?
Mostly because I haven't gotten to it yet. :-/
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-08 6:27 ` Grant Likely
@ 2007-10-08 13:52 ` Kumar Gala
0 siblings, 0 replies; 58+ messages in thread
From: Kumar Gala @ 2007-10-08 13:52 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, Marian Balakowicz
On Oct 8, 2007, at 1:27 AM, Grant Likely wrote:
> On 10/7/07, Marian Balakowicz <m8@semihalf.com> wrote:
>> +
>> + pci@0d00 {
>> + #interrupt-cells = <1>;
>> + #size-cells = <2>;
>> + #address-cells = <3>;
>> + device_type = "pci";
>> + compatible = "mpc5200-pci";
>> + reg = <d00 100>;
>> + interrupt-map-mask = <f800 0 0 7>;
>> + interrupt-map = <c000 0 0 1 &mpc5200_pic 0
>> 0 3
>> + c000 0 0 2 &mpc5200_pic 0
>> 0 3
>> + c000 0 0 3 &mpc5200_pic 0
>> 0 3
>> + c000 0 0 4 &mpc5200_pic 0
>> 0 3>;
>> + clock-frequency = <0>; // From boot loader
>> + interrupts = <2 8 0 2 9 0 2 a 0>;
>> + interrupt-parent = <&mpc5200_pic>;
>> + bus-range = <0 0>;
>> + ranges = <42000000 0 80000000 80000000 0
>> 10000000
>> + 02000000 0 90000000 90000000 0
>> 10000000
>> + 01000000 0 00000000 a0000000 0
>> 01000000>;
>> + };
>
> Also, the PCI node should no longer be a child of the 'soc' node. See
> the latest lite5200.dts file in Paul Mackerras' powerpc tree for an
> example.
Also, note how the PCI node is a sibling of the soc node not a child
of it.
- k
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
2007-10-07 11:32 ` [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off() Marian Balakowicz
2007-10-08 7:15 ` Grant Likely
@ 2007-10-08 13:56 ` Kumar Gala
1 sibling, 0 replies; 58+ messages in thread
From: Kumar Gala @ 2007-10-08 13:56 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Oct 7, 2007, at 6:32 AM, Marian Balakowicz wrote:
>
> Add common MPC5200 helper routines: mpc52xx_restart(), mpc52xx_halt(),
> mpc52xx_power_off().
>
> This patch relies on Sascha Hauer's patch published in:
> http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>
> arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++
> ++++++++++++
> include/asm-powerpc/mpc52xx.h | 7 ++++
> 2 files changed, 52 insertions(+)
>
> diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/
> powerpc/platforms/52xx/mpc52xx_common.c
> index b1cd7b0..e7087d7 100644
> --- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
> +++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
> @@ -88,6 +88,14 @@ mpc52xx_find_ipb_freq(struct device_node *node)
> }
> EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
>
> +/*
> + * This variable is mapped in mpc52xx_setup_cpu() by a call to
> + * mpc52xx_find_and_map(), and used in mpc52xx_restart(). This is
> because
> + * mpc52xx_restart() can be called from interrupt context (e.g.,
> watchdog
> + * interrupt handler), and mpc52xx_find_and_map() (ioremap() to be
> exact)
> + * can't be called from interrupt context.
> + */
> +volatile struct mpc52xx_gpt *mpc52xx_gpt0 = NULL;
>
> void __init
> mpc52xx_setup_cpu(void)
> @@ -95,6 +103,9 @@ mpc52xx_setup_cpu(void)
> struct mpc52xx_cdm __iomem *cdm;
> struct mpc52xx_xlb __iomem *xlb;
>
> + /* mpc52xx_gpt0 is mapped here and used in mpc52xx_restart */
> + mpc52xx_gpt0 = mpc52xx_find_and_map("mpc5200-gpt");
> +
> /* Map zones */
> cdm = mpc52xx_find_and_map("mpc5200-cdm");
> xlb = mpc52xx_find_and_map("mpc5200-xlb");
> @@ -138,3 +149,37 @@ mpc52xx_declare_of_platform_devices(void)
> "Error while probing of_platform bus\n");
> }
>
> +void
> +mpc52xx_restart(char *cmd)
> +{
> + local_irq_disable();
> +
> + /* Turn on the watchdog and wait for it to expire. It effectively
> + does a reset */
> + if (mpc52xx_gpt0) {
> + out_be32(&mpc52xx_gpt0->mode, 0x00000000);
> + out_be32(&mpc52xx_gpt0->count, 0x000000ff);
> + out_be32(&mpc52xx_gpt0->mode, 0x00009004);
> + } else
> + printk("mpc52xx_restart: Can't access gpt. "
> + "Restart impossible, system halted\n");
> +
> + while (1);
> +}
> +
> +void
> +mpc52xx_halt(void)
> +{
> + local_irq_disable();
> +
> + while (1);
> +}
> +
> +void
> +mpc52xx_power_off(void)
> +{
> + /* By default we don't have any way of shut down.
> + If a specific board wants to, it can set the power down
> + code to any hardware implementation dependent code */
> + mpc52xx_halt();
> +}
If you are just going to spin don't bother implementing these. The
generic routines will do the same.
- k
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (15 preceding siblings ...)
2007-10-08 7:16 ` [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Grant Likely
@ 2007-10-08 13:57 ` Kumar Gala
2007-10-09 9:08 ` Marian Balakowicz
17 siblings, 0 replies; 58+ messages in thread
From: Kumar Gala @ 2007-10-08 13:57 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Oct 6, 2007, at 5:12 AM, Marian Balakowicz wrote:
> Hello,
>
> The following series of patches adds arch/powerpc support for three
> MPC5200 based boards:
> TQM5200, CM5200 and Motion-PRO.
>
> Included are also patches with modifications to common 52xx code.
> New helper
> routine mpc52xx_find_and_map_path() is added, and is being used in
> LED driver
> for Motion-PRO. Another patch adds mpc52xx_restart(), mpc52xx_halt()
> and mpc52xx_power_off(). This modification has been around for some
> time now
> and relies on Sascha Hauer's patch.
>
> 01/15 [POWERPC] TQM5200 DTS
> 02/15 [POWERPC] TQM5200 defconfig
> 03/15 [POWERPC] TQM5200 board support
> 04/15 [POWERPC] cm5200 DTS
> 05/15 [POWERPC] cm5200 defconfig
> 06/15 [POWERPC] cm5200 board support
> 07/15 [POWERPC] Promess motionpro DTS
> 08/15 [POWERPC] Promess motionpro defconfig
> 09/15 [POWERPC] Promess motionpro board support
> 10/15 [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility
> functions.
> 11/15 [POWERPC] Motion-PRO: Add LED support.
> 12/15 [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(),
> mpc52xx_power_off().
> 13/15 [POWERPC] Init restart/halt/power_off machine hooks for tqm5200.
> 14/15 [POWERPC] Init restart/halt/power_off machine hooks for cm5200.
> 15/15 [POWERPC] Init restart/halt/power_off machine hooks for
> motionpro.
Why don't you submit patch 12/15 first so you can just fold 13/14/15
into their respect board support patches. In general any generic
clean patches first is usually a good idea followed by the patches
that depend on them.
- k
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
2007-10-08 1:53 ` David Gibson
2007-10-08 6:44 ` Grant Likely
@ 2007-10-08 14:58 ` Scott Wood
2007-10-08 15:16 ` Grant Likely
2007-10-18 12:50 ` Wolfgang Grandegger
3 siblings, 1 reply; 58+ messages in thread
From: Scott Wood @ 2007-10-08 14:58 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Sun, Oct 07, 2007 at 01:25:33PM +0200, Marian Balakowicz wrote:
> + gpt@600 { // General Purpose Timer
> + compatible = "mpc5200b-gpt\0mpc5200-gpt";
> + device_type = "gpt";
"timer" would be a better node name than "gpt", and the device type should be
left out entirely. As others pointed out, compatible should be
"fsl,mpc5200b-gpt", "fsl,mpc5200-gpt".
> + has-wdt;
fsl,has-wdt
> + rtc@800 { // Real time clock
> + compatible = "mpc5200b-rtc\0mpc5200-rtc";
> + device_type = "rtc";
This doesn't actually implement the OF rtc interface...
> + mscan@980 {
What is mscan?
> + device_type = "mscan";
This is not a standard device type.
> + bestcomm@1200 {
> + device_type = "dma-controller";
dma-controller should be the node name, and device_type should be omitted.
> + ethernet@3000 {
> + device_type = "network";
> + compatible = "mpc5200b-fec\0mpc5200-fec";
> + reg = <3000 800>;
> + mac-address = [ 02 03 04 05 06 07 ]; // Bad!
Should be local-mac-address.
And yes, hardcoding a mac address is bad. Don't do it. :-)
> + i2c@3d40 {
> + device_type = "i2c";
> + compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
> + cell-index = <1>;
What is cell-index? The fsl-i2c driver doesn't use it AFAICT.
> + sram@8000 {
> + device_type = "sram";
No device type.
> + cpld {
> + device_type = "cpld";
> + compatible = "cpld";
> + reg = <50010000 ffff>;
> + };
This device is compatible with every CPLD that has ever existed? Wow! :-)
-Scott
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
2007-10-07 12:21 ` Stephen Rothwell
2007-10-08 6:21 ` Grant Likely
@ 2007-10-08 15:04 ` Scott Wood
2007-10-17 11:42 ` Marian Balakowicz
2 siblings, 1 reply; 58+ messages in thread
From: Scott Wood @ 2007-10-08 15:04 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Sun, Oct 07, 2007 at 01:19:54PM +0200, Marian Balakowicz wrote:
> + np = of_find_node_by_type(NULL, "cpu");
> + if (np) {
> + unsigned int *fp =
> + (int *)of_get_property(np, "clock-frequency", NULL);
> + if (fp != 0)
> + loops_per_jiffy = *fp / HZ;
> + else
> + loops_per_jiffy = 50000000 / HZ;
> + of_node_put(np);
> + }
This is unnecessary legacy cruft.
> +#ifdef CONFIG_PCI
> + np = of_find_node_by_type(NULL, "pci");
> + if (np) {
> + mpc52xx_add_bridge(np);
> + of_node_put(np);
> + }
> +#endif
You should check for a specific compatible, so that you don't match
PCI-to-PCI bridges.
> +#ifdef CONFIG_BLK_DEV_INITRD
> + if (initrd_start)
> + /*
> + * We want the proper initrd behavior, i.e., launching of
> + * /linuxrc from the initial root file system, and not only
> + * mounting it as the normal root file system.
> + */
> + ROOT_DEV = 0x0;
> + else
> +#endif
> +#ifdef CONFIG_ROOT_NFS
> + ROOT_DEV = Root_NFS;
> +#else
> + ROOT_DEV = Root_HDA1;
> +#endif
More legacy cruft.
> +void tqm5200_show_cpuinfo(struct seq_file *m)
> +{
> + struct device_node* np = of_find_all_nodes(NULL);
> + const char *model = NULL;
> +
> + if (np)
> + model = of_get_property(np, "model", NULL);
> +
> + seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
> + seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
> +
> + of_node_put(np);
> +}
Get rid of this.
-Scott
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-08 14:58 ` Scott Wood
@ 2007-10-08 15:16 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 15:16 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev, Marian Balakowicz
Hey Scott.
Pretty much all your comments below directly apply to the existing
Lite5200 device tree and the Efika firmware. These are issues that
were created a while ago and I've never gone back to clean up the
mpc5200 device tree bindings. (Plus we need to have code to maintian
compatibility with the Efika firmware.
g.
On 10/8/07, Scott Wood <scottwood@freescale.com> wrote:
> On Sun, Oct 07, 2007 at 01:25:33PM +0200, Marian Balakowicz wrote:
> > + gpt@600 { // General Purpose Timer
> > + compatible = "mpc5200b-gpt\0mpc5200-gpt";
> > + device_type = "gpt";
>
> "timer" would be a better node name than "gpt", and the device type should be
> left out entirely. As others pointed out, compatible should be
> "fsl,mpc5200b-gpt", "fsl,mpc5200-gpt".
>
> > + has-wdt;
>
> fsl,has-wdt
>
> > + rtc@800 { // Real time clock
> > + compatible = "mpc5200b-rtc\0mpc5200-rtc";
> > + device_type = "rtc";
>
> This doesn't actually implement the OF rtc interface...
>
> > + mscan@980 {
>
> What is mscan?
>
> > + device_type = "mscan";
>
> This is not a standard device type.
>
> > + bestcomm@1200 {
> > + device_type = "dma-controller";
>
> dma-controller should be the node name, and device_type should be omitted.
>
> > + ethernet@3000 {
> > + device_type = "network";
> > + compatible = "mpc5200b-fec\0mpc5200-fec";
> > + reg = <3000 800>;
> > + mac-address = [ 02 03 04 05 06 07 ]; // Bad!
>
> Should be local-mac-address.
> And yes, hardcoding a mac address is bad. Don't do it. :-)
>
> > + i2c@3d40 {
> > + device_type = "i2c";
> > + compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
> > + cell-index = <1>;
>
> What is cell-index? The fsl-i2c driver doesn't use it AFAICT.
>
> > + sram@8000 {
> > + device_type = "sram";
>
> No device type.
>
> > + cpld {
> > + device_type = "cpld";
> > + compatible = "cpld";
> > + reg = <50010000 ffff>;
> > + };
>
> This device is compatible with every CPLD that has ever existed? Wow! :-)
>
> -Scott
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 7:54 ` Grant Likely
@ 2007-10-08 20:48 ` Grant Likely
2007-10-08 22:32 ` Wolfgang Denk
0 siblings, 1 reply; 58+ messages in thread
From: Grant Likely @ 2007-10-08 20:48 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
On 10/8/07, Grant Likely <grant.likely@secretlab.ca> wrote:
> On 10/8/07, Wolfgang Denk <wd@denx.de> wrote:
> > In message <fa686aa40710072321g3494b243w341e2b09117c3695@mail.gmail.com> you wrote:
> > > Lite5200 touches it because firmware does *not* do the right thing at
> > > the moment.
> >
> > Why don't we fix it in U-Boot, then, and get rid of this in Linux?
>
> Mostly because I haven't gotten to it yet. :-/
Actually, it's more than that. I don't want to force users to upgrade
their firmware on the lite5200. Linux boots on it fine now with old
firmware (using cuimage), it should continue to boot. Doing board
specific fixups at Linux setup_arch time to work around
old/buggy/not-quite-what-we-want firmware is reasonable. We must do
this on the Efika too.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 20:48 ` Grant Likely
@ 2007-10-08 22:32 ` Wolfgang Denk
2007-10-08 22:37 ` Grant Likely
0 siblings, 1 reply; 58+ messages in thread
From: Wolfgang Denk @ 2007-10-08 22:32 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
In message <fa686aa40710081348p53c58bacw32b331a1eec56cdc@mail.gmail.com> you wrote:
>
> > > Why don't we fix it in U-Boot, then, and get rid of this in Linux?
> >
> > Mostly because I haven't gotten to it yet. :-/
>
> Actually, it's more than that. I don't want to force users to upgrade
> their firmware on the lite5200. Linux boots on it fine now with old
> firmware (using cuimage), it should continue to boot. Doing board
> specific fixups at Linux setup_arch time to work around
> old/buggy/not-quite-what-we-want firmware is reasonable. We must do
> this on the Efika too.
Maybe there's a way to allow booting with old firmware, but
nevertheless providing a technically clean, up to date version of
U-Boot for current kernels?
My point is that the Lite5200B is a reference design - many people
copy the hardware design and use the code as starting point for their
own board adaptions. So this port has to be as clean as possible, or
we will see the same remarks in nearly every new 5200 patch to come.
Please, let's clean this up.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
I'm a programmer: I don't buy software, I write it.
-- Tom Christiansen
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 22:32 ` Wolfgang Denk
@ 2007-10-08 22:37 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-08 22:37 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-dev, tech-denx, Detlev Zundel, Marian Balakowicz
On 10/8/07, Wolfgang Denk <wd@denx.de> wrote:
> In message <fa686aa40710081348p53c58bacw32b331a1eec56cdc@mail.gmail.com> you wrote:
> >
> > > > Why don't we fix it in U-Boot, then, and get rid of this in Linux?
> > >
> > > Mostly because I haven't gotten to it yet. :-/
> >
> > Actually, it's more than that. I don't want to force users to upgrade
> > their firmware on the lite5200. Linux boots on it fine now with old
> > firmware (using cuimage), it should continue to boot. Doing board
> > specific fixups at Linux setup_arch time to work around
> > old/buggy/not-quite-what-we-want firmware is reasonable. We must do
> > this on the Efika too.
>
> Maybe there's a way to allow booting with old firmware, but
> nevertheless providing a technically clean, up to date version of
> U-Boot for current kernels?
>
> My point is that the Lite5200B is a reference design - many people
> copy the hardware design and use the code as starting point for their
> own board adaptions. So this port has to be as clean as possible, or
> we will see the same remarks in nearly every new 5200 patch to come.
>
> Please, let's clean this up.
Yes, I agree. I need to think about this a bit. In the mean time,
I've submitted a lite5200 patch that makes it clear the CPU setup
fixups are *not* common code and should *not* be duplicated. :-)
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
` (16 preceding siblings ...)
2007-10-08 13:57 ` Kumar Gala
@ 2007-10-09 9:08 ` Marian Balakowicz
2007-10-09 14:38 ` Grant Likely
17 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-09 9:08 UTC (permalink / raw)
To: linuxppc-dev
All,
Thanks for the review, will process all the comments and resend
updated patches soon.
Marian
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
2007-10-09 9:08 ` Marian Balakowicz
@ 2007-10-09 14:38 ` Grant Likely
2007-10-09 15:57 ` Kumar Gala
0 siblings, 1 reply; 58+ messages in thread
From: Grant Likely @ 2007-10-09 14:38 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/9/07, Marian Balakowicz <m8@semihalf.com> wrote:
>
> All,
>
> Thanks for the review, will process all the comments and resend
> updated patches soon.
Make sure you take a look at the 6 patches I posted yesterday. They
will probably go in before your changes and will cause conflicts.
Kumar, once I respin the ROOT_DEV patch, how does it look for merging
my patch set?
Cheers,
g.
>
> Marian
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support
2007-10-09 14:38 ` Grant Likely
@ 2007-10-09 15:57 ` Kumar Gala
0 siblings, 0 replies; 58+ messages in thread
From: Kumar Gala @ 2007-10-09 15:57 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, Marian Balakowicz
On Oct 9, 2007, at 9:38 AM, Grant Likely wrote:
> On 10/9/07, Marian Balakowicz <m8@semihalf.com> wrote:
>>
>> All,
>>
>> Thanks for the review, will process all the comments and resend
>> updated patches soon.
>
> Make sure you take a look at the 6 patches I posted yesterday. They
> will probably go in before your changes and will cause conflicts.
>
> Kumar, once I respin the ROOT_DEV patch, how does it look for merging
> my patch set?
most likely, however I think the patchset should go via paul since
you're touching things all over arch/powerpc (52xx, 4xx, cell,
pseries, generic code, etc)
- k
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-07 17:36 ` Grant Likely
2007-10-07 20:30 ` Wolfgang Denk
@ 2007-10-17 11:10 ` Marian Balakowicz
2007-10-17 14:57 ` Grant Likely
1 sibling, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-17 11:10 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev
Grant Likely wrote:
>> + memory {
>> + device_type = "memory";
>> + reg = <00000000 04000000>; // 64MB
>> + };
>> +
>> + soc5200@f0000000 {
>
> I think we're moving to the convetion of naming these nodes
> "soc@<addr>" now. (You can drop the 5200 for the node name)
Seems that this will not be painless, U-boot uses hardcoded
paths with 'soc5200', so the appropriate patch will be needed.
That may be ok for new boards but what do we do with lite5200,
where U-boot upgrade is not always an option?
m.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 6:21 ` Grant Likely
2007-10-08 7:44 ` Wolfgang Denk
@ 2007-10-17 11:24 ` Marian Balakowicz
1 sibling, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-17 11:24 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev
Grant Likely wrote:
> Both this patch and the CM5200 support patch (#6 in your series) are
> pretty much clones of lite5200.c. I don't think this is the right
> approach. Don't duplicate code in this way. Determine the common
> bits and put them in a common place to be usable by any 5200 board
> port.
>
> It might even be better just to add a platform that matches on
> compatible='mpc5200-generic' which is usable for mpc5200 boards that
> don't need any custom setup by the kernel at platform setup time.
> (which will probably be most 5200 boards).
Agree, will try more generic approach.
>> +static void __init
>> +tqm5200_setup_cpu(void)
>> +{
>> + struct mpc52xx_gpio __iomem *gpio;
>> + u32 port_config;
>> +
>> + /* Map zones */
>> + gpio = mpc52xx_find_and_map("mpc5200-gpio");
>> + if (!gpio) {
>> + printk(KERN_ERR __FILE__ ": "
>> + "Error while mapping GPIO register for port config. "
>> + "Expect some abnormal behavior\n");
>> + goto error;
>> + }
>> +
>> + /* Set port config */
>> + port_config = in_be32(&gpio->port_config);
>> +
>> + port_config &= ~0x00800000; /* 48Mhz internal, pin is GPIO */
>> +
>> + port_config &= ~0x00007000; /* USB port : Differential mode */
>> + port_config |= 0x00001000; /* USB 1 only */
>> +
>> + port_config &= ~0x03000000; /* ATA CS is on csb_4/5 */
>> + port_config |= 0x01000000;
>
> Are you *sure* you want this? You should only be touching port_config
> if firmware fails to set it up correctly. Don't blindly copy what was
> done for the lite5200.
>
> Lite5200 touches it because firmware does *not* do the right thing at
> the moment.
Yes, that's needed, but will be moved to U-boot.
>> +void tqm5200_show_cpuinfo(struct seq_file *m)
>> +{
>> + struct device_node* np = of_find_all_nodes(NULL);
>> + const char *model = NULL;
>> +
>> + if (np)
>> + model = of_get_property(np, "model", NULL);
>> +
>> + seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
>
> Freescale? Really?
Well, not really...
Something like
seq_printf(m, "Vendor\t\t: TQ Components\n");
seq_printf(m, "Machine\t\t: %s\n", model);
and model set to 'tqc,tqm5200' would be more accurate but going for
compatible='mpc5200-generic' platform we may need to drop Vendor line
anyway.
m.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-08 15:04 ` Scott Wood
@ 2007-10-17 11:42 ` Marian Balakowicz
2007-10-17 15:33 ` Scott Wood
0 siblings, 1 reply; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-17 11:42 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev
Scott Wood wrote:
>
>> +void tqm5200_show_cpuinfo(struct seq_file *m)
>> +{
>> + struct device_node* np = of_find_all_nodes(NULL);
>> + const char *model = NULL;
>> +
>> + if (np)
>> + model = of_get_property(np, "model", NULL);
>> +
>> + seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
>> + seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
>> +
>> + of_node_put(np);
>> +}
>
> Get rid of this.
Agree, that may be overhead in some cases. But there would be also
cases where printing out a machine name would be informative. CM5200
is one such example, there are several variants of the hw and platform
name is too generic.
Other situation would be adding compatible='mpc5200-generic' platform
where platform name would not provide any details.
m.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-08 1:50 ` David Gibson
@ 2007-10-17 12:22 ` Marian Balakowicz
2007-10-17 14:59 ` Grant Likely
2007-10-18 0:22 ` David Gibson
0 siblings, 2 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-17 12:22 UTC (permalink / raw)
To: David Gibson, linuxppc-dev
David Gibson wrote:
> [snip]
>> + flash@c000000 {
>> + device_type = "rom";
>> + compatible = "direct-mapped";
>> + reg = <0c000000 02000000>;
>> + probe-type = "CFI";
>> + bank-width = <2>;
>> + partitions = <00000000 00060000
>> + 00060000 00020000
>> + 00080000 00020000
>> + 000a0000 00020000
>> + 000c0000 00200000
>> + 002c0000 01b40000
>> + 01e00000 00200000>;
>> + partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
>> + };
>
> First, this is the old flash binding, please use the new one.
Ok.
> Second, is the flash really part of the SoC?
Not directly, it is attached to LocalPlus Bus Controller, which is
part of the SoC. And the soc@ is currently the only recognized of bus
for mpc5200, so if we want to move it to some other place new bindings
will need to be defined for lpc (LocalPlus Controller) bus. But I am
not quite sure where this should be attached. Bus is under LPC which
is a part of the SoC, but on the other hand Soc address range covers
only device control registers not the address space LPC may handle
(that may be varied). Any ideas?
m.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
2007-10-17 11:10 ` Marian Balakowicz
@ 2007-10-17 14:57 ` Grant Likely
0 siblings, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-17 14:57 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/17/07, Marian Balakowicz <m8@semihalf.com> wrote:
> Grant Likely wrote:
> >> + memory {
> >> + device_type = "memory";
> >> + reg = <00000000 04000000>; // 64MB
> >> + };
> >> +
> >> + soc5200@f0000000 {
> >
> > I think we're moving to the convetion of naming these nodes
> > "soc@<addr>" now. (You can drop the 5200 for the node name)
>
> Seems that this will not be painless, U-boot uses hardcoded
> paths with 'soc5200', so the appropriate patch will be needed.
> That may be ok for new boards but what do we do with lite5200,
> where U-boot upgrade is not always an option?
Hmm; yeah I guess there are probably already deployed tqm5200 boards
with hard coded soc5200. Alright; leave it as is.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-17 12:22 ` Marian Balakowicz
@ 2007-10-17 14:59 ` Grant Likely
2007-10-18 0:22 ` David Gibson
1 sibling, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-17 14:59 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev, David Gibson
On 10/17/07, Marian Balakowicz <m8@semihalf.com> wrote:
> David Gibson wrote:
> > [snip]
> >> + flash@c000000 {
> >> + device_type = "rom";
> >> + compatible = "direct-mapped";
> >> + reg = <0c000000 02000000>;
> >> + probe-type = "CFI";
> >> + bank-width = <2>;
> >> + partitions = <00000000 00060000
> >> + 00060000 00020000
> >> + 00080000 00020000
> >> + 000a0000 00020000
> >> + 000c0000 00200000
> >> + 002c0000 01b40000
> >> + 01e00000 00200000>;
> >> + partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
> >> + };
> >
> > First, this is the old flash binding, please use the new one.
>
> Ok.
>
> > Second, is the flash really part of the SoC?
>
> Not directly, it is attached to LocalPlus Bus Controller, which is
> part of the SoC. And the soc@ is currently the only recognized of bus
> for mpc5200, so if we want to move it to some other place new bindings
> will need to be defined for lpc (LocalPlus Controller) bus. But I am
> not quite sure where this should be attached. Bus is under LPC which
> is a part of the SoC, but on the other hand Soc address range covers
> only device control registers not the address space LPC may handle
> (that may be varied). Any ideas?
My vote is for an lpc node off the root of the tree for devices like
this to hang off.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
2007-10-17 11:42 ` Marian Balakowicz
@ 2007-10-17 15:33 ` Scott Wood
0 siblings, 0 replies; 58+ messages in thread
From: Scott Wood @ 2007-10-17 15:33 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
Marian Balakowicz wrote:
> Scott Wood wrote:
>>> +void tqm5200_show_cpuinfo(struct seq_file *m)
>>> +{
>>> + struct device_node* np = of_find_all_nodes(NULL);
>>> + const char *model = NULL;
>>> +
>>> + if (np)
>>> + model = of_get_property(np, "model", NULL);
>>> +
>>> + seq_printf(m, "vendor\t\t: Freescale Semiconductor\n");
>>> + seq_printf(m, "machine\t\t: %s\n", model ? model : "unknown");
>>> +
>>> + of_node_put(np);
>>> +}
>> Get rid of this.
>
> Agree, that may be overhead in some cases. But there would be also
> cases where printing out a machine name would be informative. CM5200
> is one such example, there are several variants of the hw and platform
> name is too generic.
Maybe, though if we're going to do that it'd be better to just print
/model in the generic cpuinfo (or somewhere else generic). And there's
always /proc/device-tree/model...
-Scott
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-17 12:22 ` Marian Balakowicz
2007-10-17 14:59 ` Grant Likely
@ 2007-10-18 0:22 ` David Gibson
2007-10-19 11:06 ` Marian Balakowicz
1 sibling, 1 reply; 58+ messages in thread
From: David Gibson @ 2007-10-18 0:22 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On Wed, Oct 17, 2007 at 02:22:04PM +0200, Marian Balakowicz wrote:
> David Gibson wrote:
> > [snip]
> >> + flash@c000000 {
> >> + device_type = "rom";
> >> + compatible = "direct-mapped";
> >> + reg = <0c000000 02000000>;
> >> + probe-type = "CFI";
> >> + bank-width = <2>;
> >> + partitions = <00000000 00060000
> >> + 00060000 00020000
> >> + 00080000 00020000
> >> + 000a0000 00020000
> >> + 000c0000 00200000
> >> + 002c0000 01b40000
> >> + 01e00000 00200000>;
> >> + partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
> >> + };
> >
> > First, this is the old flash binding, please use the new one.
>
> Ok.
>
> > Second, is the flash really part of the SoC?
>
> Not directly, it is attached to LocalPlus Bus Controller, which is
> part of the SoC. And the soc@ is currently the only recognized of bus
> for mpc5200, so if we want to move it to some other place new bindings
> will need to be defined for lpc (LocalPlus Controller) bus. But I am
> not quite sure where this should be attached. Bus is under LPC which
> is a part of the SoC, but on the other hand Soc address range covers
> only device control registers not the address space LPC may handle
> (that may be varied). Any ideas?
The bus bridge has to be there. Is this something similar to the
"localbus" / "chipselect" bus controllers that a whole bunch of the
Freescale SoCs have? Because the bridged addresses don't lie in the
IMMR, althoug the control registers do, the current convention is to
make the localbus node a sibling of /soc, even though it is really
part of the SoC (/soc would perhaps be better called /immr, but /soc
is established now). This approach is imperfect, but so are most of
the other compromises we could make.
Incidentally LPC is a pretty bad abbreviation, since LPC more
frequently refers to the Low Pin Count connections that frequently
appear on south bridges or superIO chips.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
` (2 preceding siblings ...)
2007-10-08 14:58 ` Scott Wood
@ 2007-10-18 12:50 ` Wolfgang Grandegger
2007-10-18 12:54 ` David Gibson
2007-10-18 13:16 ` Grant Likely
3 siblings, 2 replies; 58+ messages in thread
From: Wolfgang Grandegger @ 2007-10-18 12:50 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
Hello,
I see one more issue.
Marian Balakowicz wrote:
> Add device tree source file for Motion-PRO board.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> ---
[deletions]
> + gpio@b00 {
> + compatible = "mpc5200b-gpio\0mpc5200-gpio";
> + reg = <b00 40>;
> + interrupts = <1 7 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
Do we not need the field "device_type = "gpio" here?
> + gpio-wkup@c00 {
> + compatible = "mpc5200b-gpio-wkup\0mpc5200-gpio-wkup";
> + reg = <c00 40>;
> + interrupts = <1 8 0 0 3 0>;
> + interrupt-parent = <&mpc5200_pic>;
> + };
And the same here.
Wolfgang.
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-18 12:50 ` Wolfgang Grandegger
@ 2007-10-18 12:54 ` David Gibson
2007-10-18 13:16 ` Grant Likely
1 sibling, 0 replies; 58+ messages in thread
From: David Gibson @ 2007-10-18 12:54 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: linuxppc-dev, Marian Balakowicz
On Thu, Oct 18, 2007 at 02:50:11PM +0200, Wolfgang Grandegger wrote:
> Hello,
>
> I see one more issue.
>
> Marian Balakowicz wrote:
> > Add device tree source file for Motion-PRO board.
> >
> > Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> > ---
> [deletions]
> > + gpio@b00 {
> > + compatible = "mpc5200b-gpio\0mpc5200-gpio";
> > + reg = <b00 40>;
> > + interrupts = <1 7 0>;
> > + interrupt-parent = <&mpc5200_pic>;
> > + };
>
> Do we not need the field "device_type = "gpio" here?
No, we really don't. If there's any "class" of devices that *don't*
deserve a device_type it would be gpios.
Oh, also dtc can now do the compatible properties as:
compatible = "mpc5200b-gpio", "mpc5200-gpio";
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
2007-10-18 12:50 ` Wolfgang Grandegger
2007-10-18 12:54 ` David Gibson
@ 2007-10-18 13:16 ` Grant Likely
1 sibling, 0 replies; 58+ messages in thread
From: Grant Likely @ 2007-10-18 13:16 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: linuxppc-dev, Marian Balakowicz
On 10/18/07, Wolfgang Grandegger <wg@grandegger.com> wrote:
> Hello,
>
> I see one more issue.
>
> Marian Balakowicz wrote:
> > Add device tree source file for Motion-PRO board.
> >
> > Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> > ---
> [deletions]
> > + gpio@b00 {
> > + compatible = "mpc5200b-gpio\0mpc5200-gpio";
> > + reg = <b00 40>;
> > + interrupts = <1 7 0>;
> > + interrupt-parent = <&mpc5200_pic>;
> > + };
>
> Do we not need the field "device_type = "gpio" here?
>
> > + gpio-wkup@c00 {
> > + compatible = "mpc5200b-gpio-wkup\0mpc5200-gpio-wkup";
> > + reg = <c00 40>;
> > + interrupts = <1 8 0 0 3 0>;
> > + interrupt-parent = <&mpc5200_pic>;
> > + };
>
> And the same here.
'GPIO' is not a standard device type (at least there are no standard
set of GPIO bindings defined) so the device_type field should be
omitted. Compatible is sufficient.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/15] [POWERPC] CM5200 DTS
2007-10-18 0:22 ` David Gibson
@ 2007-10-19 11:06 ` Marian Balakowicz
0 siblings, 0 replies; 58+ messages in thread
From: Marian Balakowicz @ 2007-10-19 11:06 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc-dev
David Gibson wrote:
> On Wed, Oct 17, 2007 at 02:22:04PM +0200, Marian Balakowicz wrote:
>> David Gibson wrote:
>>> [snip]
>>>> + flash@c000000 {
>>>> + device_type = "rom";
>>>> + compatible = "direct-mapped";
>>>> + reg = <0c000000 02000000>;
>>>> + probe-type = "CFI";
>>>> + bank-width = <2>;
>>>> + partitions = <00000000 00060000
>>>> + 00060000 00020000
>>>> + 00080000 00020000
>>>> + 000a0000 00020000
>>>> + 000c0000 00200000
>>>> + 002c0000 01b40000
>>>> + 01e00000 00200000>;
>>>> + partition-names = "uboot\0env\0redund_env\0dtb\0kernel\0rootfs\0config";
>>>> + };
>>> First, this is the old flash binding, please use the new one.
>> Ok.
>>
>>> Second, is the flash really part of the SoC?
>> Not directly, it is attached to LocalPlus Bus Controller, which is
>> part of the SoC. And the soc@ is currently the only recognized of bus
>> for mpc5200, so if we want to move it to some other place new bindings
>> will need to be defined for lpc (LocalPlus Controller) bus. But I am
>> not quite sure where this should be attached. Bus is under LPC which
>> is a part of the SoC, but on the other hand Soc address range covers
>> only device control registers not the address space LPC may handle
>> (that may be varied). Any ideas?
>
> The bus bridge has to be there. Is this something similar to the
> "localbus" / "chipselect" bus controllers that a whole bunch of the
> Freescale SoCs have?
Yes, that's kind of a local bus.
> Because the bridged addresses don't lie in the
> IMMR, althoug the control registers do, the current convention is to
> make the localbus node a sibling of /soc, even though it is really
> part of the SoC (/soc would perhaps be better called /immr, but /soc
> is established now). This approach is imperfect, but so are most of
> the other compromises we could make.
>
> Incidentally LPC is a pretty bad abbreviation, since LPC more
> frequently refers to the Low Pin Count connections that frequently
> appear on south bridges or superIO chips.
How about 'LocalPlus Bus' and 'lpb' node then?
m.
^ permalink raw reply [flat|nested] 58+ messages in thread
end of thread, other threads:[~2007-10-19 11:06 UTC | newest]
Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-06 10:12 [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Marian Balakowicz
2007-10-07 11:15 ` [PATCH 01/15] [POWERPC] TQM5200 DTS Marian Balakowicz
2007-10-07 17:36 ` Grant Likely
2007-10-07 20:30 ` Wolfgang Denk
2007-10-17 11:10 ` Marian Balakowicz
2007-10-17 14:57 ` Grant Likely
2007-10-08 6:27 ` Grant Likely
2007-10-08 13:52 ` Kumar Gala
2007-10-07 11:18 ` [PATCH 02/15] [POWERPC] TQM5200 defconfig Marian Balakowicz
2007-10-07 11:19 ` [POWERPC 03/15] [POWERPC] TQM5200 board support Marian Balakowicz
2007-10-07 12:21 ` Stephen Rothwell
2007-10-08 6:21 ` Grant Likely
2007-10-08 7:44 ` Wolfgang Denk
2007-10-08 7:54 ` Grant Likely
2007-10-08 20:48 ` Grant Likely
2007-10-08 22:32 ` Wolfgang Denk
2007-10-08 22:37 ` Grant Likely
2007-10-17 11:24 ` Marian Balakowicz
2007-10-08 15:04 ` Scott Wood
2007-10-17 11:42 ` Marian Balakowicz
2007-10-17 15:33 ` Scott Wood
2007-10-07 11:20 ` [PATCH 04/15] [POWERPC] CM5200 DTS Marian Balakowicz
2007-10-08 1:50 ` David Gibson
2007-10-17 12:22 ` Marian Balakowicz
2007-10-17 14:59 ` Grant Likely
2007-10-18 0:22 ` David Gibson
2007-10-19 11:06 ` Marian Balakowicz
2007-10-07 11:22 ` [PATCH 05/15] [POWERPC] CM5200 defconfig Marian Balakowicz
2007-10-07 11:24 ` [PATCH 06/15] [POWERPC] CM5200 board support Marian Balakowicz
2007-10-07 12:29 ` Stephen Rothwell
2007-10-08 6:28 ` Grant Likely
2007-10-07 11:25 ` [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS Marian Balakowicz
2007-10-08 1:53 ` David Gibson
2007-10-08 6:44 ` Grant Likely
2007-10-08 14:58 ` Scott Wood
2007-10-08 15:16 ` Grant Likely
2007-10-18 12:50 ` Wolfgang Grandegger
2007-10-18 12:54 ` David Gibson
2007-10-18 13:16 ` Grant Likely
2007-10-07 11:26 ` [PATCH 08/15] [POWERPC] Promess Motion-PRO defconfig Marian Balakowicz
2007-10-07 11:28 ` [PATCH 09/15] [POWERPC] Promess Motion-PRO board support Marian Balakowicz
2007-10-07 12:32 ` Stephen Rothwell
2007-10-08 6:45 ` Grant Likely
2007-10-07 11:30 ` [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
2007-10-08 6:47 ` Grant Likely
2007-10-07 11:31 ` [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support Marian Balakowicz
2007-10-08 7:10 ` Grant Likely
2007-10-07 11:32 ` [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off() Marian Balakowicz
2007-10-08 7:15 ` Grant Likely
2007-10-08 13:56 ` Kumar Gala
2007-10-07 11:32 ` [PATCH 13/15] [POWERPC] Init restart/halt/power_off machine hooks for TQM5200 Marian Balakowicz
2007-10-07 11:35 ` [PATCH 14/15] [POWERPC] Init restart/halt/power_off machine hooks for CM5200 Marian Balakowicz
2007-10-07 11:36 ` [PATCH 15/15] [POWERPC] Init restart/halt/power_off machine hooks for Motion-PRO Marian Balakowicz
2007-10-08 7:16 ` [PATCH 00/15] [POWERPC] TQM5200, CM5200 and Motion-PRO support Grant Likely
2007-10-08 13:57 ` Kumar Gala
2007-10-09 9:08 ` Marian Balakowicz
2007-10-09 14:38 ` Grant Likely
2007-10-09 15:57 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).