TQM5200, CM5200 and Motion-PRO support
Subsystems (4)
cover TQM5200, CM5200 and Motion-PRO support
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
PATCH 1/15 TQM5200 DTS
Add device tree source file for TQM5200 board.
---
tqm5200.dts | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+)
arch/powerpc/boot/dts/tqm5200.dts new file +217 -0
@@ -0,0 +1,217 @@ +/* + * TQM5200 board Device Tree Source + * + * Copyright (C) 2007 Semihalf + * Modified for TQM5200 by Marian Balakowicz <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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"; + }; + }; +};
PATCH 2/15 TQM5200 defconfig
In reply to Marian BalakowiczAdd TQM5200 board defconfig file.
---
tqm5200_defconfig | 1303 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1303 insertions(+)
arch/powerpc/configs/tqm5200_defconfig new file +1303 -0
@@ -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
PATCH 3/15 TQM5200 board support
In reply to Marian BalakowiczAdd arch/powerpc board support for TQM5200.
---
Kconfig | 5 + Makefile | 1 tqm5200.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 180 insertions(+)
arch/powerpc/platforms/52xx/Kconfig +5 -0
@@ -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
arch/powerpc/platforms/52xx/Makefile +1 -0
@@ -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
arch/powerpc/platforms/52xx/tqm5200.c new file +174 -0
174 lines not on this page · raw message
PATCH 4/15 CM5200 DTS
In reply to Marian BalakowiczAdd device tree source file for CM5200 board.
Signed-off-by Marian Balakowicz <[email protected]>
---
cm5200.dts | 284 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 284 insertions(+)
arch/powerpc/boot/dts/cm5200.dts new file +284 -0
@@ -0,0 +1,284 @@ +/* + * CM5200 board Device Tree Source + * + * Copyright (C) 2007 Semihalf + * Modified for CM5200 by Jan Wrobel <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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"; + }; + }; +};
PATCH 5/15 CM5200 defconfig
In reply to Marian BalakowiczAdd CM5200 board defconfig file.
Signed-off-by Marian Balakowicz <[email protected]>
---
cm5200_defconfig | 1032 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1032 insertions(+)
arch/powerpc/configs/cm5200_defconfig new file +1032 -0
@@ -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
PATCH 6/15 CM5200 board support
In reply to Marian BalakowiczAdd arch/powerpc board support for CM5200.
Signed-off-by Marian Balakowicz <[email protected]>
---
Kconfig | 5 + Makefile | 1 cm5200.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+)
arch/powerpc/platforms/52xx/Kconfig +5 -0
@@ -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
arch/powerpc/platforms/52xx/Makefile +1 -0
@@ -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
arch/powerpc/platforms/52xx/cm5200.c new file +161 -0
161 lines not on this page · raw message
PATCH 7/15 Promess Motion-PRO DTS
In reply to Marian BalakowiczAdd device tree source file for Motion-PRO board.
---
motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+)
arch/powerpc/boot/dts/motionpro.dts new file +334 -0
@@ -0,0 +1,334 @@ +/* + * Motion-PRO board Device Tree Source, based on Lite5200B DTS. + * + * Copyright (C) 2007 Semihalf + * Modified for CM5200 by Marian Balakowicz <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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>; + }; + +};
PATCH 8/15 Promess Motion-PRO defconfig
In reply to Marian BalakowiczAdd Motion-PRO board defconfig file.
---
motionpro_defconfig | 914 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 914 insertions(+)
arch/powerpc/configs/motionpro_defconfig new file +914 -0
@@ -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
PATCH 9/15 Promess Motion-PRO board support
In reply to Marian BalakowiczAdd arch/powerpc board support for Promess Motion-PRO.
---
Kconfig | 6 ++ Makefile | 1 motionpro.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+)
arch/powerpc/platforms/52xx/Kconfig +6 -0
@@ -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
arch/powerpc/platforms/52xx/Makefile +1 -0
@@ -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
arch/powerpc/platforms/52xx/motionpro.c new file +175 -0
175 lines not on this page · raw message
PATCH 10/15 Add mpc52xx_find_and_map_path(), refactor utility functions.
In reply to Marian BalakowiczAdd helper routine mpc52xx_find_and_map_path(). Extract common code to mpc52xx_map_node() and refactor mpc52xx_find_and_map().
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 21 +++++++++++++++++---- include/asm-powerpc/mpc52xx.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-)
arch/powerpc/platforms/52xx/mpc52xx_common.c +17 -4
@@ -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
include/asm-powerpc/mpc52xx.h +1 -0
@@ -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 );
PATCH 11/15 Motion-PRO: Add LED support.
In reply to Marian BalakowiczAdd LED driver for Promess Motion-PRO board.
---
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(-)
arch/powerpc/configs/motionpro_defconfig +2 -1
@@ -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
arch/powerpc/platforms/52xx/motionpro.c +38 -0
@@ -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 );
drivers/leds/Kconfig +7 -0
@@ -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
drivers/leds/Makefile +1 -0
@@ -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
drivers/leds/leds-motionpro.c new file +221 -0
221 lines not on this page · raw message
include/asm-powerpc/mpc52xx.h +5 -0
@@ -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 */
PATCH 12/15 Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
In reply to Marian BalakowiczAdd 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.
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++++++++++++++ include/asm-powerpc/mpc52xx.h | 7 ++++ 2 files changed, 52 insertions(+)
arch/powerpc/platforms/52xx/mpc52xx_common.c +45 -0
@@ -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 (); +}
include/asm-powerpc/mpc52xx.h +7 -0
@@ -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
PATCH 13/15 Init restart/halt/power_off machine hooks for TQM5200.
In reply to Marian BalakowiczInitialize restart/halt/power_off machine hooks in TQM5200 board platform code.
---
tqm5200.c | 3 +++ 1 file changed, 3 insertions(+)
arch/powerpc/platforms/52xx/tqm5200.c +3 -0
@@ -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, };
PATCH 14/15 Init restart/halt/power_off machine hooks for CM5200.
In reply to Marian BalakowiczInitialize restart/halt/power_off machine hooks in CM5200 board platform code.
---
cm5200.c | 3 +++ 1 file changed, 3 insertions(+)
arch/powerpc/platforms/52xx/cm5200.c +3 -0
@@ -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, };
PATCH 15/15 Init restart/halt/power_off machine hooks for Motion-PRO.
In reply to Marian BalakowiczInitialize restart/halt/power_off machine hooks in Promess Motion-PRO board platform code.
---
motionpro.c | 3 +++ 1 file changed, 3 insertions(+)
arch/powerpc/platforms/52xx/motionpro.c +3 -0
@@ -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, };
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Marian BalakowiczQuoted 4 lines · On Sun, 07 Oct 2007 13:19:54 +0200 Marian Balakowicz <[email protected]> wrote:
+++
b/arch/powerpc/platforms/52xx/tqm5200.c+#include <
asm/prom.h>
You need this for the flattened device tree stuff, so good. However ...
Quoted 1 line
+#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.
arch/powerpc/platforms/52xx/tqm5200.c line 138
Quoted 3 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +3
-0+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.
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
Re: [PATCH 06/15] [POWERPC] CM5200 board support
In reply to Marian Balakowiczarch/powerpc/platforms/52xx/cm5200.c line 44
Quoted 5 lines · On Sun, 07 Oct 2007 13:24:18 +0200 Marian Balakowicz <[email protected]> wrote:
+++
b/arch/powerpc/platforms/52xx/cm5200.carch/powerpc/platforms/52xx/cm5200.c new file +2
-0+#include <asm/prom.h> +#include <asm/of_platform.h>
Same comments as for tqm5200.c.
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
Re: [PATCH 09/15] [POWERPC] Promess Motion-PRO board support
In reply to Marian BalakowiczQuoted 2 lines · On Sun, 07 Oct 2007 13:28:48 +0200 Marian Balakowicz <[email protected]> wrote:
+++
b/arch/powerpc/platforms/52xx/motionpro.c
Same comments again.
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
In reply to Marian BalakowiczQuoted 17 lines · Marian Balakowicz
Add device tree source file for TQM5200 board.
Signed-off-by Marian Balakowicz <[email protected]>Signed-off-by Grzegorz Bernacki <[email protected]>Signed-off-by Martin Krause <[email protected]>---
tqm5200.dts | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+)arch/powerpc/boot/dts/tqm5200.dts new file +0
-0
arch/powerpc/boot/dts/tqm5200.dts line 8
Quoted 8 lines
arch/powerpc/boot/dts/tqm5200.dts new file +8
-0@@ -0,0 +1,217 @@ +/* + * TQM5200 board Device Tree Source + * + * Copyright (C) 2007 Semihalf + * Modified for TQM5200 by Marian Balakowicz <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]>
You don't really need to preserve my copyright here. It will not bother me if you remove it.
Quoted 5 lines
arch/powerpc/boot/dts/tqm5200.dts new file +5
-0+ * + * 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.
arch/powerpc/boot/dts/tqm5200.dts line 23
Quoted 10 lines
arch/powerpc/boot/dts/tqm5200.dts new file +10
-0+ */ + +/* + * 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.
arch/powerpc/boot/dts/tqm5200.dts line 24
Quoted 1 line
arch/powerpc/boot/dts/tqm5200.dts new file +1
-0+ compatible = "fsl,tqm5200\0generic-mpc5200";
Ditto
Quoted 17 lines
arch/powerpc/boot/dts/tqm5200.dts new file +17
-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
arch/powerpc/boot/dts/tqm5200.dts line 51
Quoted 10 lines
arch/powerpc/boot/dts/tqm5200.dts new file +10
-0+ 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)
Quoted 173 lines
arch/powerpc/boot/dts/tqm5200.dts new file +166
-0+ 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
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
Quoted 6 lines · In message <[email protected]> you…
arch/powerpc/boot/dts/tqm5200.dts line 23
Quoted 3 lines
arch/powerpc/boot/dts/tqm5200.dts new file +2
-0+/ { + 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
Signature · 5 lines
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: [email protected] Behind every great man, there is a woman -- urging him on. -- Harry Mudd, "I, Mudd", stardate 4513.3
Re: [PATCH 04/15] [POWERPC] CM5200 DTS
In reply to Marian BalakowiczQuoted 30 lines · Marian Balakowicz
Add device tree source file for CM5200 board.
Signed-off-by Marian Balakowicz <[email protected]>
Signed-off-by Jan Wrobel <[email protected]>---
cm5200.dts | 284 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 284 insertions(+)arch/powerpc/boot/dts/cm5200.dts new file +14
-0@@ -0,0 +1,284 @@ +/* + * CM5200 board Device Tree Source + * + * Copyright (C) 2007 Semihalf + * Modified for CM5200 by Jan Wrobel <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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. + */
arch/powerpc/boot/dts/cm5200.dts line 24
Quoted 10 lines
arch/powerpc/boot/dts/cm5200.dts new file +10
-0+ +/* + * 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.
Quoted 36 lines
arch/powerpc/boot/dts/cm5200.dts new file +36
-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]
Quoted 5 lines
arch/powerpc/boot/dts/cm5200.dts new file +5
-0+ flash@c000000 { + device_type = "rom"; + compatible = "direct-mapped"; + reg = <0c000000 02000000>; + probe-type = "CFI";
arch/powerpc/boot/dts/cm5200.dts line 282
Quoted 10 lines
arch/powerpc/boot/dts/cm5200.dts new file +10
-0+ 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?
Signature · 4 lines
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
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Marian BalakowiczQuoted 39 lines · Marian Balakowicz
Add device tree source file for Motion-PRO board.
Signed-off-by Marian Balakowicz <[email protected]>---
motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+)arch/powerpc/boot/dts/motionpro.dts new file +24
-0@@ -0,0 +1,334 @@ +/* + * Motion-PRO board Device Tree Source, based on Lite5200B DTS. + * + * Copyright (C) 2007 Semihalf + * Modified for CM5200 by Marian Balakowicz <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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]
Quoted 17 lines
arch/powerpc/boot/dts/motionpro.dts new file +17
-0+ 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>; + };
arch/powerpc/boot/dts/motionpro.dts line 332
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+ 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..?
Signature · 4 lines
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
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Marian BalakowiczQuoted 5 lines · Marian Balakowicz
Add
arch/powerpcboard support for TQM5200.Signed-off-by Marian Balakowicz <[email protected]>Signed-off-by Jan Wrobel <[email protected]>
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).
Quoted 12 lines
---
Kconfig | 5 + Makefile | 1 tqm5200.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 180 insertions(+)arch/powerpc/platforms/52xx/Kconfig +0
-0
arch/powerpc/platforms/52xx/Kconfig config PPC_LITE5200 · line 38
Quoted 6 lines
arch/powerpc/platforms/52xx/Kconfig +3
-0@@ -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)
Quoted 87 lines
arch/powerpc/platforms/52xx/Kconfig +2
-0+ select PPC_MPC5200 + default narch/powerpc/platforms/52xx/Makefile +1
-0@@ -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.oarch/powerpc/platforms/52xx/tqm5200.c new file +67
-0@@ -0,0 +1,174 @@ +/* +* TQM5200 board support +* +* Written by: Grant Likely <[email protected]> for lite5200 +* Adapted for tqm5200 by: Jan Wrobel <[email protected]> +* +* 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; + } +
arch/powerpc/platforms/52xx/tqm5200.c line 77
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+/* 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.
Quoted 11 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +11
-0+ +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 )
arch/powerpc/platforms/52xx/tqm5200.c line 98
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+{ +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.
arch/powerpc/platforms/52xx/tqm5200.c line 99
Quoted 1 line
arch/powerpc/platforms/52xx/tqm5200.c new file +1
-0+if (fp !=0 )
Use NULL instead of 0 for pointer tests. 'if (fp)' is also good style here.
Quoted 23 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +23
-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
arch/powerpc/platforms/52xx/tqm5200.c line 132
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+* 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.
arch/powerpc/platforms/52xx/tqm5200.c line 144
Quoted 12 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +12
-0+ +} + +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?
Quoted 6 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +6
-0+seq_printf (m,"machine\t\t: %s\n" , model ? model :"unknown" ); + +of_node_put (np); +} + +/*
arch/powerpc/platforms/52xx/tqm5200.c line 160
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+* 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.
Quoted 5 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +4
-0+ +return 1 ; +} +
arch/powerpc/platforms/52xx/tqm5200.c line 174
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
In reply to Marian BalakowiczQuoted 11 lines · Marian Balakowicz
arch/powerpc/boot/dts/tqm5200.dts new file +11
-0+ + 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
arch/powerpc/boot/dts/tqm5200.dts line 121
Quoted 10 lines
arch/powerpc/boot/dts/tqm5200.dts new file +10
-0+ 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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 06/15] [POWERPC] CM5200 board support
In reply to Stephen RothwellQuoted 8 lines · Stephen Rothwell
arch/powerpc/platforms/52xx/cm5200.c line 44
Quoted 5 lines · On Sun, 07 Oct 2007 13:24:18 +0200 Marian Balakowicz <[email protected]> wrote:
+++
b/arch/powerpc/platforms/52xx/cm5200.carch/powerpc/platforms/52xx/cm5200.c new file +2
-0+#include <asm/prom.h> +#include <asm/of_platform.h> Same comments as for
tqm5200.c.
Ditto
g.
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Marian BalakowiczQuoted 32 lines · Marian Balakowicz
Add device tree source file for Motion-PRO board.
Signed-off-by Marian Balakowicz <[email protected]>---
motionpro.dts | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+)arch/powerpc/boot/dts/motionpro.dts new file +17
-0@@ -0,0 +1,334 @@ +/* + * Motion-PRO board Device Tree Source, based on Lite5200B DTS. + * + * Copyright (C) 2007 Semihalf + * Modified for CM5200 by Marian Balakowicz <[email protected]> + * + * Copyright 2006-2007 Secret Lab Technologies Ltd. + * Grant Likely <[email protected]> + * + * 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. + */ +
arch/powerpc/boot/dts/motionpro.dts line 27
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+/* + * 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,'
Quoted 15 lines
arch/powerpc/boot/dts/motionpro.dts new file +15
-0+ 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
arch/powerpc/boot/dts/motionpro.dts line 208
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+ 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.
Quoted 44 lines
arch/powerpc/boot/dts/motionpro.dts new file +44
-0+ + 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
arch/powerpc/boot/dts/motionpro.dts line 262
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+ 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.
Quoted 5 lines
arch/powerpc/boot/dts/motionpro.dts new file +5
-0+ serial@2800 { // PSC5 + device_type = "serial"; + compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart"; + port-number = <4>; // Logical port assignment + cell-index = <4>;
arch/powerpc/boot/dts/motionpro.dts line 277
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+ 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.
Quoted 38 lines
arch/powerpc/boot/dts/motionpro.dts new file +38
-0+ 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";
arch/powerpc/boot/dts/motionpro.dts line 325
Quoted 10 lines
arch/powerpc/boot/dts/motionpro.dts new file +10
-0+ 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.
arch/powerpc/boot/dts/motionpro.dts line 332
Quoted 7 lines
arch/powerpc/boot/dts/motionpro.dts new file +7
-0+ 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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 09/15] [POWERPC] Promess Motion-PRO board support
In reply to Stephen RothwellQuoted 5 lines · Stephen Rothwell
Quoted 2 lines · On Sun, 07 Oct 2007 13:28:48 +0200 Marian Balakowicz <[email protected]> wrote:
+++
b/arch/powerpc/platforms/52xx/motionpro.cSame comments again.
Ditto.
g.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 10/15] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions.
In reply to Marian BalakowiczQuoted 5 lines · Marian Balakowicz
Add helper routine
mpc52xx_find_and_map_path(). Extract common code tompc52xx_map_node()and refactormpc52xx_find_and_map().Signed-off-by Jan Wrobel <[email protected]>
Looks good to me.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 11/15] [POWERPC] Motion-PRO: Add LED support.
In reply to Marian BalakowiczQuoted 54 lines · Marian Balakowicz
Add LED driver for Promess Motion-PRO board.
Signed-off-by Jan Wrobel <[email protected]>---
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(-)arch/powerpc/configs/motionpro_defconfig +2
-1@@ -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 Triggersarch/powerpc/platforms/52xx/motionpro.c +11
-0@@ -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){
arch/powerpc/platforms/52xx/motionpro.c error: · line 109
Quoted 10 lines
arch/powerpc/platforms/52xx/motionpro.c +10
-0+ 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.
Quoted 10 lines
arch/powerpc/platforms/52xx/motionpro.c +10
-0+ +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" ); +}
arch/powerpc/platforms/52xx/motionpro.c error: · line 129
Quoted 10 lines
arch/powerpc/platforms/52xx/motionpro.c +6
-0+ +#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.
Quoted 105 lines
arch/powerpc/platforms/52xx/motionpro.c +1
-0+if (ppc_md.progress) ppc_md.progress ("motionpro_setup_arch()" ,0 );drivers/leds/Kconfig +7
-0@@ -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_S3C2410drivers/leds/Makefile +1
-0@@ -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 Triggersdrivers/leds/leds-motionpro.c new file +65
-0@@ -0,0 +1,221 @@ +/* +* LEDs driver for the Motionpro board. +* +* Copyright (C) 2007 Semihalf +* +* Author: Jan Wrobel <[email protected]> +* +* 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 */
drivers/leds/leds-motionpro.c line 75
Quoted 10 lines
drivers/leds/leds-motionpro.c new file +10
-0+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.
Quoted 124 lines
drivers/leds/leds-motionpro.c new file +124
-0+ { + .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);
drivers/leds/leds-motionpro.c line 209
Quoted 10 lines
drivers/leds/leds-motionpro.c new file +10
-0+ 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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
In reply to Marian BalakowiczQuoted 87 lines · Marian Balakowicz
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 <[email protected]>Signed-off-by Sascha Hauer <[email protected]>---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++++++++++++++ include/asm-powerpc/mpc52xx.h | 7 ++++ 2 files changed, 52 insertions(+)arch/powerpc/platforms/52xx/mpc52xx_common.c +45
-0@@ -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 (); +}include/asm-powerpc/mpc52xx.h +0
-0
include/asm-powerpc/mpc52xx.h struct mpc52xx_gpt { · line 109
Quoted 6 lines
include/asm-powerpc/mpc52xx.h +3
-0@@ -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.
Quoted 21 lines
include/asm-powerpc/mpc52xx.h +4
-0/* 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
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Quoted 4 lines · Marian Balakowicz
Hello,
The following series of patches adds
arch/powerpcsupport for three MPC5200 based boards:
TQM5200, CM5200 and Motion-PRO.
Thanks for the patch series.
g.
Quoted 32 lines
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 addsmpc52xx_restart(),mpc52xx_halt()andmpc52xx_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] Addmpc52xx_find_and_map_path(), refactor utility functions. 11/15 [POWERPC] Motion-PRO: Add LED support.
12/15 [POWERPC] Addmpc52xx_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
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Grant LikelyQuoted 10 lines · In message <[email protected]> you…
arch/powerpc/platforms/52xx/tqm5200.c line 77
Quoted 3 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +2
-0+ 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_configif 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
Signature · 5 lines
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: [email protected] The average woman would rather have beauty than brains, because the average man can see better than he can think.
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
Quoted 5 lines · Wolfgang Denk
Quoted 4 lines · In message <[email protected]> you…
Quoted 3 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +2
-0+ port_config &= ~0x03000000 ;/* ATA CS is on csb_4/5 */ + port_config |=0x01000000 ;
Quoted 8 lines
Quoted 6 lines
Are you *sure* you want this? You should only be touching
port_configif 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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
In reply to Grant LikelyQuoted 30 lines · Grant Likely
Quoted 22 lines · Marian Balakowicz
arch/powerpc/boot/dts/tqm5200.dts new file +10
-0+ + 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 00 3
+ c000 0 0 2&mpc5200_pic0
0 3
+ c000 0 0 3&mpc5200_pic0
0 3
+ c000 0 0 4&mpc5200_pic0
0 3>;arch/powerpc/boot/dts/tqm5200.dts new file +5
-0+ 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 0Quoted 6 lines
10000000
+ 02000000 0 90000000 90000000 0
10000000
+ 01000000 0 00000000a00000000
01000000>;
+ };
Quoted 3 lines
Also, the PCI node should no longer be a child of the 'soc' node. See the latest
lite5200.dtsfile 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
Re: [PATCH 12/15] [POWERPC] Add mpc52xx_restart(), mpc52xx_halt(), mpc52xx_power_off().
In reply to Marian BalakowiczQuoted 76 lines · Marian Balakowicz
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 <[email protected]>Signed-off-by Sascha Hauer <[email protected]>---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 45 +++++++++++++++ ++++++++++++ include/asm-powerpc/mpc52xx.h | 7 ++++ 2 files changed, 52 insertions(+)arch/powerpc/platforms/52xx/mpc52xx_common.c +3
-0@@ -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), andmpc52xx_find_and_map()(ioremap()to be exact)
+ * can't be called from interrupt context.
+ */arch/powerpc/platforms/52xx/mpc52xx_common.c +28
-0+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 );
arch/powerpc/platforms/52xx/mpc52xx_common.c mpc52xx_declare_of_platform_devices(void) · line 185
Quoted 10 lines
arch/powerpc/platforms/52xx/mpc52xx_common.c +10
-0+} + +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
Quoted 11 lines · Marian Balakowicz
Hello,
The following series of patches adds
arch/powerpcsupport 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 addsmpc52xx_restart(),mpc52xx_halt()andmpc52xx_power_off(). This modification has been around for some time now and relies on Sascha Hauer's patch.
Quoted 15 lines
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] Addmpc52xx_find_and_map_path(), refactor utility functions. 11/15 [POWERPC] Motion-PRO: Add LED support.
12/15 [POWERPC] Addmpc52xx_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
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Marian Balakowiczarch/powerpc/boot/dts/motionpro.dts line 82
Quoted 3 lines · Marian Balakowicz
arch/powerpc/boot/dts/motionpro.dts new file +3
-0+ 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".
arch/powerpc/boot/dts/motionpro.dts line 87
Quoted 1 line
arch/powerpc/boot/dts/motionpro.dts new file +1
-0+ has-wdt;
fsl,has-wdt
arch/powerpc/boot/dts/motionpro.dts line 155
Quoted 3 lines
arch/powerpc/boot/dts/motionpro.dts new file +3
-0+ rtc@800 { // Real time clock + compatible = "mpc5200b-rtc\0mpc5200-rtc"; + device_type = "rtc";
This doesn't actually implement the OF rtc interface...
arch/powerpc/boot/dts/motionpro.dts line 161
Quoted 1 line
arch/powerpc/boot/dts/motionpro.dts new file +1
-0+ mscan@980 {
What is mscan?
arch/powerpc/boot/dts/motionpro.dts line 162
Quoted 1 line
arch/powerpc/boot/dts/motionpro.dts new file +1
-0+ device_type = "mscan";
This is not a standard device type.
arch/powerpc/boot/dts/motionpro.dts line 227
Quoted 2 lines
arch/powerpc/boot/dts/motionpro.dts new file +2
-0+ bestcomm@1200 { + device_type = "dma-controller";
dma-controller should be the node name, and device_type should be omitted.
arch/powerpc/boot/dts/motionpro.dts line 277
Quoted 5 lines
arch/powerpc/boot/dts/motionpro.dts new file +5
-0+ 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. :-)
arch/powerpc/boot/dts/motionpro.dts line 293
Quoted 4 lines
arch/powerpc/boot/dts/motionpro.dts new file +4
-0+ 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.
arch/powerpc/boot/dts/motionpro.dts line 300
Quoted 2 lines
arch/powerpc/boot/dts/motionpro.dts new file +2
-0+ sram@8000 { + device_type = "sram";
No device type.
arch/powerpc/boot/dts/motionpro.dts line 317
Quoted 5 lines
arch/powerpc/boot/dts/motionpro.dts new file +5
-0+ cpld { + device_type = "cpld"; + compatible = "cpld"; + reg = <50010000 ffff>; + };
This device is compatible with every CPLD that has ever existed? Wow! :-)
-Scott
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Marian Balakowiczarch/powerpc/platforms/52xx/tqm5200.c line 104
Quoted 10 lines · Marian Balakowicz
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-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); + }
This is unnecessary legacy cruft.
arch/powerpc/platforms/52xx/tqm5200.c line 116
Quoted 7 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +7
-0+#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.
Quoted 5 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +5
-0+#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
arch/powerpc/platforms/52xx/tqm5200.c line 132
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+* 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.
arch/powerpc/platforms/52xx/tqm5200.c line 148
Quoted 13 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +13
-0+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
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Scott WoodHey 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.
Quoted 67 lines · Scott Wood
arch/powerpc/boot/dts/motionpro.dts line 82
Quoted 3 lines · Marian Balakowicz
arch/powerpc/boot/dts/motionpro.dts new file +3
-0+ 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".
Quoted 1 line
+ has-wdt;
fsl,has-wdt
arch/powerpc/boot/dts/motionpro.dts line 155
Quoted 3 lines
arch/powerpc/boot/dts/motionpro.dts new file +3
-0+ rtc@800 { // Real time clock + compatible = "mpc5200b-rtc\0mpc5200-rtc"; + device_type = "rtc";This doesn't actually implement the OF rtc interface...
Quoted 1 line
+ mscan@980 {
What is mscan?
Quoted 1 line
+
device_type= "mscan";This is not a standard device type.
arch/powerpc/boot/dts/motionpro.dts line 227
Quoted 2 lines
arch/powerpc/boot/dts/motionpro.dts new file +2
-0+ bestcomm@1200 { + device_type = "dma-controller";dma-controller should be the node name, and
device_typeshould be omitted.arch/powerpc/boot/dts/motionpro.dts line 277
Quoted 5 lines
arch/powerpc/boot/dts/motionpro.dts new file +5
-0+ 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. :-)arch/powerpc/boot/dts/motionpro.dts line 293
Quoted 4 lines
arch/powerpc/boot/dts/motionpro.dts new file +4
-0+ 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.
arch/powerpc/boot/dts/motionpro.dts line 300
Quoted 2 lines
arch/powerpc/boot/dts/motionpro.dts new file +2
-0+ sram@8000 { + device_type = "sram";No device type.
arch/powerpc/boot/dts/motionpro.dts line 317
Quoted 5 lines
arch/powerpc/boot/dts/motionpro.dts new file +5
-0+ 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
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Grant LikelyQuoted 8 lines · Grant Likely
Quoted 5 lines · Wolfgang Denk
Quoted 2 lines · In message <[email protected]> you…
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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
Quoted 11 lines · In message <[email protected]> you…
Quoted 4 lines
Quoted 2 lines
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_archtime 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
Signature · 5 lines
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: [email protected] I'm a programmer: I don't buy software, I write it. -- Tom Christiansen
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
Quoted 17 lines · Wolfgang Denk
Quoted 11 lines · In message <[email protected]> you…
Quoted 4 lines
Quoted 2 lines
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_archtime 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?
Quoted 6 lines
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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
All,
Thanks for the review, will process all the comments and resend updated patches soon.
Marian
Quoted 5 lines · Marian Balakowicz
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.
Quoted 8 lines
Marian
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Quoted 4 lines · Grant Likely
Quoted 3 lines · Marian Balakowicz
All,
Quoted 8 lines
Quoted 2 lines
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_DEVpatch, 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
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
In reply to Grant LikelyQuoted 9 lines · Grant Likely
arch/powerpc/boot/dts/tqm5200.dts line 51
Quoted 6 lines
arch/powerpc/boot/dts/tqm5200.dts new file +6
-0+ 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.
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Grant LikelyQuoted 10 lines · Grant Likely
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.
Quoted 30 lines
Quoted 15 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +15
-0+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; + } +arch/powerpc/platforms/52xx/tqm5200.c line 77
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+/* 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_configif firmware fails to set it up correctly. Don't blindly copy what was done for the lite5200.
Quoted 2 lines
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.
Quoted 11 lines
arch/powerpc/platforms/52xx/tqm5200.c line 144
Quoted 9 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +9
-0+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.
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Scott WoodQuoted 16 lines · Scott Wood
Quoted 4 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +3
-0+void tqm5200_show_cpuinfo (struct seq_file *m) +{ +struct device_node * np =of_find_all_nodes (NULL );arch/powerpc/platforms/52xx/tqm5200.c line 148
Quoted 10 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +10
-0+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.
Re: [PATCH 04/15] [POWERPC] CM5200 DTS
In reply to David GibsonQuoted 10 lines · David Gibson
[snip]
Quoted 9 lines
arch/powerpc/boot/dts/cm5200.dts new file +9
-0+ flash@c000000 { + device_type = "rom"; + compatible = "direct-mapped"; + reg = <0c000000 02000000>; + probe-type = "CFI"; + bank-width = <2>; + partitions = <00000000 00060000 + 00060000 00020000 + 00080000 00020000
Quoted 8 lines
arch/powerpc/boot/dts/cm5200.dts line 282
Quoted 6 lines
arch/powerpc/boot/dts/cm5200.dts new file +6
-0+ 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.
Quoted 1 line
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.
Re: [PATCH 01/15] [POWERPC] TQM5200 DTS
In reply to Marian BalakowiczQuoted 8 lines · Marian Balakowicz
Quoted 7 lines · Grant Likely
Quoted 6 lines
arch/powerpc/boot/dts/tqm5200.dts new file +6
-0+ memory { + device_type = "memory"; + reg = <00000000 04000000>; // 64MB + }; + + soc5200@f0000000 {
Quoted 7 lines
Quoted 2 lines
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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 04/15] [POWERPC] CM5200 DTS
In reply to Marian BalakowiczQuoted 24 lines · Marian Balakowicz
Quoted 17 lines · David Gibson
[snip]
Quoted 5 lines
arch/powerpc/boot/dts/cm5200.dts new file +5
-0+ flash@c000000 { + device_type = "rom"; + compatible = "direct-mapped"; + reg = <0c000000 02000000>; + probe-type = "CFI";arch/powerpc/boot/dts/cm5200.dts line 282
Quoted 10 lines
arch/powerpc/boot/dts/cm5200.dts new file +10
-0+ 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"; + };Quoted 1 line
First, this is the old flash binding, please use the new one.
Ok.
Quoted 1 line
Second, is the flash really part of the SoC?
Quoted 8 lines
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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [POWERPC 03/15] [POWERPC] TQM5200 board support
In reply to Marian BalakowiczQuoted 16 lines · Marian Balakowicz
Quoted 6 lines · Scott Wood
Quoted 6 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +6
-0+void tqm5200_show_cpuinfo (struct seq_file *m) +{ +struct device_node * np =of_find_all_nodes (NULL ); +const char *model =NULL ; + +if (np)Quoted 8 lines
arch/powerpc/platforms/52xx/tqm5200.c line 148
Quoted 7 lines
arch/powerpc/platforms/52xx/tqm5200.c new file +7
-0+ 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.
Quoted 4 lines
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
Re: [PATCH 04/15] [POWERPC] CM5200 DTS
In reply to Marian BalakowiczQuoted 24 lines · Marian Balakowicz
Quoted 10 lines · David Gibson
[snip]
Quoted 9 lines
arch/powerpc/boot/dts/cm5200.dts new file +9
-0+ flash@c000000 { + device_type = "rom"; + compatible = "direct-mapped"; + reg = <0c000000 02000000>; + probe-type = "CFI"; + bank-width = <2>; + partitions = <00000000 00060000 + 00060000 00020000 + 00080000 00020000Quoted 8 lines
arch/powerpc/boot/dts/cm5200.dts line 282
Quoted 6 lines
arch/powerpc/boot/dts/cm5200.dts new file +6
-0+ 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.
Quoted 1 line
Second, is the flash really part of the SoC?
Quoted 8 lines
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.
Signature · 4 lines
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
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Marian BalakowiczHello,
I see one more issue.
Quoted 4 lines · Marian Balakowicz
Add device tree source file for Motion-PRO board.
Signed-off-by Marian Balakowicz <[email protected]>---
[deletions]
arch/powerpc/boot/dts/motionpro.dts line 175
Quoted 6 lines
arch/powerpc/boot/dts/motionpro.dts new file +6
-0+ 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?
arch/powerpc/boot/dts/motionpro.dts line 182
Quoted 6 lines
arch/powerpc/boot/dts/motionpro.dts new file +6
-0+ 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.
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
Quoted 10 lines · Wolfgang Grandegger
Hello,
I see one more issue.
Quoted 4 lines · Marian Balakowicz
Add device tree source file for Motion-PRO board.
Signed-off-by Marian Balakowicz <[email protected]>---
[deletions]
Quoted 8 lines
arch/powerpc/boot/dts/motionpro.dts line 175
Quoted 6 lines
arch/powerpc/boot/dts/motionpro.dts new file +6
-0+ 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";
Signature · 4 lines
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
Re: [PATCH 07/15] [POWERPC] Promess Motion-PRO DTS
In reply to Wolfgang GrandeggerQuoted 19 lines · Wolfgang Grandegger
Hello,
I see one more issue.
Quoted 4 lines · Marian Balakowicz
Add device tree source file for Motion-PRO board.
Signed-off-by Marian Balakowicz <[email protected]>---
[deletions]
arch/powerpc/boot/dts/motionpro.dts line 175
Quoted 6 lines
arch/powerpc/boot/dts/motionpro.dts new file +6
-0+ 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?
Quoted 8 lines
arch/powerpc/boot/dts/motionpro.dts line 182
Quoted 6 lines
arch/powerpc/boot/dts/motionpro.dts new file +6
-0+ 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.
Signature · 4 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [email protected] (403) 399-0195
Re: [PATCH 04/15] [POWERPC] CM5200 DTS
In reply to David GibsonQuoted 31 lines · David Gibson
Quoted 21 lines · Marian Balakowicz
Quoted 17 lines · David Gibson
[snip]
Quoted 5 lines
arch/powerpc/boot/dts/cm5200.dts new file +5
-0+ flash@c000000 { + device_type = "rom"; + compatible = "direct-mapped"; + reg = <0c000000 02000000>; + probe-type = "CFI";arch/powerpc/boot/dts/cm5200.dts line 282
Quoted 10 lines
arch/powerpc/boot/dts/cm5200.dts new file +10
-0+ 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.
Quoted 1 line
Second, is the flash really part of the SoC?
Quoted 8 lines
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?
Quoted 3 lines
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.
Quoted 10 lines
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.