diff mbox

[v2] Add support for the digsy MTC board.

Message ID 12335905121539-git-send-email-gjb@semihalf.com (mailing list archive)
State Accepted, archived
Delegated to: Grant Likely
Headers show

Commit Message

Grzegorz Bernacki Feb. 2, 2009, 4:01 p.m. UTC
This is the InterControl custom device based on the MPC5200B chip.

Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
---
Version 2:
 - change name in DTS and remove unnecessary fields
 - use mpc5200_simple.c file instead of dedicated file for digsy_mtc
 - update mpc5200_defconfig:
  - add support for RTC (ds1339)
  - add support for LXT PHY
  - add support for eeprom AT24
  - add support for MTD partitioning based on OF description
  - some updates automatically generated by 'make menuconfig'

 arch/powerpc/boot/dts/digsy_mtc.dts          |  278 ++++++++++++++++++++++++++
 arch/powerpc/configs/mpc5200_defconfig       |  176 +++++++++++++---
 arch/powerpc/platforms/52xx/mpc5200_simple.c |    1 +
 3 files changed, 423 insertions(+), 32 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/digsy_mtc.dts

Comments

Grant Likely Feb. 2, 2009, 7:26 p.m. UTC | #1
Hey Grzegorz,

I've pulled your patch into my -next tree, but I made a few changes first:
- I dropped the defconfig changes because they conflict with the
defconfig update that Ben just pulled from me
- I updated the .dts file to reflect changes I was already making to
all the other .dts files
- I added the digsy-mtc board to the Kconfig documentation.

I've pushed my whole queue of changes out to my -next tree.  Please
pull it down and try it out.  (Note, this tree will get rebased at
least once before I ask Ben to pull it, so be aware).  Make sure that
I haven't broken your .dts file.  To get the defconfig change in, you
can either send me another patch with just the defconfig change, or
you can pop my version of your patch off the top of my -next tree and
rebase your entire patch on top it.  Whatever you prefer.

One more note; the new digsy-mtc.dts file from my tree will probably
not work with older kernels.  Kernels need to be backward compatible
with older .dts files, but the same is not true for the other way
around.

Here's my -next tree:

git://git.secretlab.ca/git/linux-2.6-mpc52xx next

On Mon, Feb 2, 2009 at 9:01 AM, Grzegorz Bernacki <gjb@semihalf.com> wrote:
> This is the InterControl custom device based on the MPC5200B chip.
>
> Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
> ---
> Version 2:
>  - change name in DTS and remove unnecessary fields
>  - use mpc5200_simple.c file instead of dedicated file for digsy_mtc
>  - update mpc5200_defconfig:
>  - add support for RTC (ds1339)
>  - add support for LXT PHY
>  - add support for eeprom AT24
>  - add support for MTD partitioning based on OF description
>  - some updates automatically generated by 'make menuconfig'
>
>  arch/powerpc/boot/dts/digsy_mtc.dts          |  278 ++++++++++++++++++++++++++
>  arch/powerpc/configs/mpc5200_defconfig       |  176 +++++++++++++---
>  arch/powerpc/platforms/52xx/mpc5200_simple.c |    1 +
>  3 files changed, 423 insertions(+), 32 deletions(-)
>  create mode 100644 arch/powerpc/boot/dts/digsy_mtc.dts
>
> diff --git a/arch/powerpc/boot/dts/digsy_mtc.dts b/arch/powerpc/boot/dts/digsy_mtc.dts
> new file mode 100644
> index 0000000..9c76c38
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/digsy_mtc.dts
> @@ -0,0 +1,278 @@
> +/*
> + * Digsy MTC board Device Tree Source
> + *
> + * Copyright (C) 2009 Semihalf
> + *
> + * Based on the CM5200 by M. Balakowicz
> + *
> + * 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.
> + */
> +
> +/dts-v1/;
> +
> +/ {
> +       model = "intercontrol,digsy-mtc";
> +       compatible = "intercontrol,digsy-mtc";
> +       #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 = <32>;
> +                       i-cache-line-size = <32>;
> +                       d-cache-size = <0x4000>;                // L1, 16K
> +                       i-cache-size = <0x4000>;                // L1, 16K
> +                       timebase-frequency = <0>;       // from bootloader
> +                       bus-frequency = <0>;            // from bootloader
> +                       clock-frequency = <0>;          // from bootloader
> +               };
> +       };
> +
> +       memory {
> +               device_type = "memory";
> +               reg = <0x00000000 0x02000000>;  // 32MB
> +       };
> +
> +       soc5200@f0000000 {
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               compatible = "fsl,mpc5200b-immr";
> +               ranges = <0 0xf0000000 0x0000c000>;
> +               reg = <0xf0000000 0x00000100>;
> +               bus-frequency = <0>;            // from bootloader
> +               system-frequency = <0>;         // from bootloader
> +
> +               cdm@200 {
> +                       compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
> +                       reg = <0x200 0x38>;
> +               };
> +
> +               mpc5200_pic: interrupt-controller@500 {
> +                       // 5200 interrupts are encoded into two levels;
> +                       interrupt-controller;
> +                       #interrupt-cells = <3>;
> +                       compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
> +                       reg = <0x500 0x80>;
> +               };
> +
> +               timer@600 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x600 0x10>;
> +                       interrupts = <1 9 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +                       fsl,has-wdt;
> +               };
> +
> +               timer@610 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x610 0x10>;
> +                       interrupts = <1 10 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@620 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x620 0x10>;
> +                       interrupts = <1 11 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@630 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x630 0x10>;
> +                       interrupts = <1 12 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@640 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x640 0x10>;
> +                       interrupts = <1 13 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@650 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x650 0x10>;
> +                       interrupts = <1 14 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@660 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x660 0x10>;
> +                       interrupts = <1 15 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               timer@670 {     // General Purpose Timer
> +                       compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> +                       reg = <0x670 0x10>;
> +                       interrupts = <1 16 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               gpio@b00 {
> +                       compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
> +                       reg = <0xb00 0x40>;
> +                       interrupts = <1 7 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               gpio@c00 {
> +                       compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
> +                       reg = <0xc00 0x40>;
> +                       interrupts = <1 8 0 0 3 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               spi@f00 {
> +                       compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
> +                       reg = <0xf00 0x20>;
> +                       interrupts = <2 13 0 2 14 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               usb@1000 {
> +                       compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
> +                       reg = <0x1000 0xff>;
> +                       interrupts = <2 6 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               dma-controller@1200 {
> +                       device_type = "dma-controller";
> +                       compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
> +                       reg = <0x1200 0x80>;
> +                       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 10 0  3 11 0
> +                                     3 12 0  3 13 0  3 14 0  3 15 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               xlb@1f00 {
> +                       compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
> +                       reg = <0x1f00 0x100>;
> +               };
> +
> +               serial@2400 {           // PSC3
> +                       device_type = "serial";
> +                       compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> +                       cell-index = <2>;
> +                       reg = <0x2400 0x100>;
> +                       interrupts = <2 3 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               serial@2600 {           // PSC4
> +                       device_type = "serial";
> +                       compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> +                       cell-index = <3>;
> +                       reg = <0x2600 0x100>;
> +                       interrupts = <2 11 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               ethernet@3000 {
> +                       device_type = "network";
> +                       compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
> +                       reg = <0x3000 0x400>;
> +                       local-mac-address = [ 00 00 00 00 00 00 ];
> +                       interrupts = <2 5 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +                       phy-handle = <&phy0>;
> +               };
> +
> +               mdio@3000 {
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
> +                       reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
> +                       interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
> +                       interrupt-parent = <&mpc5200_pic>;
> +
> +                       phy0: ethernet-phy@0 {
> +                               device_type = "ethernet-phy";
> +                               reg = <0>;
> +                       };
> +               };
> +
> +               ata@3a00 {
> +                       device_type = "ata";
> +                       compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
> +                       reg = <0x3a00 0x100>;
> +                       interrupts = <2 7 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +               };
> +
> +               i2c@3d00 {
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
> +                       cell-index = <0>;
> +                       reg = <0x3d00 0x40>;
> +                       interrupts = <2 15 0>;
> +                       interrupt-parent = <&mpc5200_pic>;
> +                       fsl5200-clocking;
> +
> +                       rtc@50 {
> +                               compatible = "at,24c08";
> +                               reg = <0x50>;
> +                       };
> +
> +                       rtc@68 {
> +                               compatible = "dallas,ds1339";
> +                               reg = <0x68>;
> +                       };
> +               };
> +
> +               sram@8000 {
> +                       compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram","sram";
> +                       reg = <0x8000 0x4000>;
> +               };
> +       };
> +
> +       lpb {
> +               model = "fsl,lpb";
> +               compatible = "fsl,lpb";
> +               #address-cells = <2>;
> +               #size-cells = <1>;
> +               ranges = <0 0 0xff000000 0x1000000>;
> +
> +               // 16-bit flash device at LocalPlus Bus CS0
> +               flash@0,0 {
> +                       compatible = "cfi-flash";
> +                       reg = <0 0 0x1000000>;
> +                       bank-width = <2>;
> +                       device-width = <2>;
> +                       #size-cells = <1>;
> +                       #address-cells = <1>;
> +
> +                       partition@0 {
> +                               label = "kernel";
> +                               reg = <0x0 0x00200000>;
> +                       };
> +                       partition@200000 {
> +                               label = "root";
> +                               reg = <0x00200000 0x00300000>;
> +                       };
> +                       partition@500000 {
> +                               label = "user";
> +                               reg = <0x00500000 0x00a00000>;
> +                       };
> +                       partition@f00000 {
> +                               label = "u-boot";
> +                               reg = <0x00f00000 0x100000>;
> +                       };
> +               };
> +       };
> +};
> diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig
> index 5ff3de2..6e4e710 100644
> --- a/arch/powerpc/configs/mpc5200_defconfig
> +++ b/arch/powerpc/configs/mpc5200_defconfig
> @@ -1,7 +1,7 @@
>  #
>  # Automatically generated make config: don't edit
> -# Linux kernel version: 2.6.28-rc4
> -# Thu Nov 13 02:09:07 2008
> +# Linux kernel version: 2.6.29-rc3
> +# Mon Feb  2 16:22:08 2009
>  #
>  # CONFIG_PPC64 is not set
>
> @@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
>  CONFIG_PPC=y
>  CONFIG_EARLY_PRINTK=y
>  CONFIG_GENERIC_NVRAM=y
> -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
> +CONFIG_SCHED_OMIT_FRAME_POINTER=y
>  CONFIG_ARCH_MAY_HAVE_PC_FDC=y
>  CONFIG_PPC_OF=y
>  CONFIG_OF=y
> @@ -72,10 +72,19 @@ CONFIG_SYSVIPC_SYSCTL=y
>  # CONFIG_BSD_PROCESS_ACCT is not set
>  # CONFIG_TASKSTATS is not set
>  # CONFIG_AUDIT is not set
> +
> +#
> +# RCU Subsystem
> +#
> +CONFIG_CLASSIC_RCU=y
> +# CONFIG_TREE_RCU is not set
> +# CONFIG_PREEMPT_RCU is not set
> +# CONFIG_TREE_RCU_TRACE is not set
> +# CONFIG_PREEMPT_RCU_TRACE is not set
>  # CONFIG_IKCONFIG is not set
>  CONFIG_LOG_BUF_SHIFT=14
> -# CONFIG_CGROUPS is not set
>  # CONFIG_GROUP_SCHED is not set
> +# CONFIG_CGROUPS is not set
>  CONFIG_SYSFS_DEPRECATED=y
>  CONFIG_SYSFS_DEPRECATED_V2=y
>  # CONFIG_RELAY is not set
> @@ -89,6 +98,7 @@ CONFIG_EMBEDDED=y
>  # CONFIG_KALLSYMS is not set
>  CONFIG_HOTPLUG=y
>  CONFIG_PRINTK=y
> +# CONFIG_LOGBUFFER is not set
>  CONFIG_BUG=y
>  CONFIG_ELF_CORE=y
>  CONFIG_COMPAT_BRK=y
> @@ -108,7 +118,6 @@ CONFIG_SLUB_DEBUG=y
>  CONFIG_SLUB=y
>  # CONFIG_SLOB is not set
>  # CONFIG_PROFILING is not set
> -# CONFIG_MARKERS is not set
>  CONFIG_HAVE_OPROFILE=y
>  CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
>  CONFIG_HAVE_IOREMAP_PROT=y
> @@ -119,7 +128,6 @@ CONFIG_HAVE_CLK=y
>  # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
>  CONFIG_SLABINFO=y
>  CONFIG_RT_MUTEXES=y
> -# CONFIG_TINY_SHMEM is not set
>  CONFIG_BASE_SMALL=0
>  CONFIG_MODULES=y
>  # CONFIG_MODULE_FORCE_LOAD is not set
> @@ -127,11 +135,9 @@ 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=y
>  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
>  # CONFIG_BLK_DEV_INTEGRITY is not set
>
> @@ -147,7 +153,6 @@ CONFIG_DEFAULT_AS=y
>  # CONFIG_DEFAULT_CFQ is not set
>  # CONFIG_DEFAULT_NOOP is not set
>  CONFIG_DEFAULT_IOSCHED="anticipatory"
> -CONFIG_CLASSIC_RCU=y
>  CONFIG_FREEZER=y
>
>  #
> @@ -192,7 +197,7 @@ CONFIG_RTAS_PROC=y
>  CONFIG_PPC_BESTCOMM=y
>  CONFIG_PPC_BESTCOMM_ATA=y
>  CONFIG_PPC_BESTCOMM_FEC=y
> -CONFIG_PPC_BESTCOMM_GEN_BD=y
> +# CONFIG_SIMPLE_GPIO is not set
>
>  #
>  # Kernel options
> @@ -220,6 +225,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
>  CONFIG_ARCH_HAS_WALK_MEMORY=y
>  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
>  # CONFIG_KEXEC is not set
> +# CONFIG_CRASH_DUMP is not set
>  CONFIG_ARCH_FLATMEM_ENABLE=y
>  CONFIG_ARCH_POPULATES_NODE_MAP=y
>  CONFIG_SELECT_MEMORY_MODEL=y
> @@ -231,12 +237,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
>  CONFIG_PAGEFLAGS_EXTENDED=y
>  CONFIG_SPLIT_PTLOCK_CPUS=4
>  CONFIG_MIGRATION=y
> -# CONFIG_RESOURCES_64BIT is not set
>  # CONFIG_PHYS_ADDR_T_64BIT is not set
>  CONFIG_ZONE_DMA_FLAG=1
>  CONFIG_BOUNCE=y
>  CONFIG_VIRT_TO_BUS=y
>  CONFIG_UNEVICTABLE_LRU=y
> +CONFIG_PPC_4K_PAGES=y
> +# CONFIG_PPC_16K_PAGES is not set
> +# CONFIG_PPC_64K_PAGES is not set
>  CONFIG_FORCE_MAX_ZONEORDER=11
>  CONFIG_PROC_DEVICETREE=y
>  # CONFIG_CMDLINE_BOOL is not set
> @@ -264,6 +272,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
>  # CONFIG_PCI_MSI is not set
>  CONFIG_PCI_LEGACY=y
>  # CONFIG_PCI_DEBUG is not set
> +# CONFIG_PCI_STUB is not set
>  # CONFIG_PCCARD is not set
>  # CONFIG_HOTPLUG_PCI is not set
>  # CONFIG_HAS_RAPIDIO is not set
> @@ -286,6 +295,7 @@ CONFIG_NET=y
>  #
>  # Networking options
>  #
> +CONFIG_COMPAT_NET_DEV_OPS=y
>  CONFIG_PACKET=y
>  # CONFIG_PACKET_MMAP is not set
>  CONFIG_UNIX=y
> @@ -342,6 +352,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
>  # CONFIG_ECONET is not set
>  # CONFIG_WAN_ROUTER is not set
>  # CONFIG_NET_SCHED is not set
> +# CONFIG_DCB is not set
>
>  #
>  # Network testing
> @@ -354,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
>  # CONFIG_AF_RXRPC is not set
>  # CONFIG_PHONET is not set
>  # CONFIG_WIRELESS is not set
> +# CONFIG_WIMAX is not set
>  # CONFIG_RFKILL is not set
>  # CONFIG_NET_9P is not set
>
> @@ -376,9 +388,10 @@ CONFIG_MTD=y
>  # CONFIG_MTD_DEBUG is not set
>  CONFIG_MTD_CONCAT=y
>  CONFIG_MTD_PARTITIONS=y
> +# CONFIG_MTD_TESTS is not set
>  # CONFIG_MTD_REDBOOT_PARTS is not set
>  CONFIG_MTD_CMDLINE_PARTS=y
> -# CONFIG_MTD_OF_PARTS is not set
> +CONFIG_MTD_OF_PARTS=y
>  # CONFIG_MTD_AR7_PARTS is not set
>
>  #
> @@ -447,6 +460,12 @@ CONFIG_MTD_PHYSMAP_OF=y
>  # CONFIG_MTD_ONENAND is not set
>
>  #
> +# LPDDR flash memory drivers
> +#
> +# CONFIG_MTD_LPDDR is not set
> +# CONFIG_MTD_QINFO_PROBE is not set
> +
> +#
>  # UBI - Unsorted block images
>  #
>  # CONFIG_MTD_UBI is not set
> @@ -474,13 +493,19 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
>  # CONFIG_BLK_DEV_HD 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_ICS932S401 is not set
>  # CONFIG_ENCLOSURE_SERVICES is not set
>  # CONFIG_HP_ILO is not set
>  # CONFIG_C2PORT is not set
> +
> +#
> +# EEPROM support
> +#
> +CONFIG_EEPROM_AT24=y
> +# CONFIG_EEPROM_LEGACY is not set
> +# CONFIG_EEPROM_93CX6 is not set
>  CONFIG_HAVE_IDE=y
>  # CONFIG_IDE is not set
>
> @@ -539,6 +564,8 @@ CONFIG_SCSI_LOWLEVEL=y
>  # CONFIG_MEGARAID_SAS is not set
>  # CONFIG_SCSI_HPTIOP is not set
>  # CONFIG_SCSI_BUSLOGIC is not set
> +# CONFIG_LIBFC is not set
> +# CONFIG_FCOE is not set
>  # CONFIG_SCSI_DMX3191D is not set
>  # CONFIG_SCSI_EATA is not set
>  # CONFIG_SCSI_FUTURE_DOMAIN is not set
> @@ -652,13 +679,16 @@ CONFIG_PHYLIB=y
>  # CONFIG_MARVELL_PHY is not set
>  # CONFIG_DAVICOM_PHY is not set
>  # CONFIG_QSEMI_PHY is not set
> -# CONFIG_LXT_PHY is not set
> +CONFIG_LXT_PHY=y
>  # CONFIG_CICADA_PHY is not set
>  # CONFIG_VITESSE_PHY is not set
>  # CONFIG_SMSC_PHY is not set
>  # CONFIG_BROADCOM_PHY is not set
>  # CONFIG_ICPLUS_PHY is not set
>  # CONFIG_REALTEK_PHY is not set
> +# CONFIG_NATIONAL_PHY is not set
> +# CONFIG_STE10XP is not set
> +# CONFIG_LSI_ET1011C_PHY is not set
>  # CONFIG_FIXED_PHY is not set
>  # CONFIG_MDIO_BITBANG is not set
>  CONFIG_NET_ETHERNET=y
> @@ -693,6 +723,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
>  # CONFIG_IWLWIFI_LEDS is not set
>
>  #
> +# Enable WiMAX (Networking options) to see the WiMAX drivers
> +#
> +
> +#
>  # USB Network Adapters
>  #
>  # CONFIG_USB_CATC is not set
> @@ -774,17 +808,18 @@ CONFIG_SERIAL_MPC52xx_CONSOLE=y
>  CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
>  # CONFIG_SERIAL_JSM is not set
>  CONFIG_UNIX98_PTYS=y
> +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
>  CONFIG_LEGACY_PTYS=y
>  CONFIG_LEGACY_PTY_COUNT=256
>  # CONFIG_HVC_RTAS is not set
> +# CONFIG_HVC_UDBG is not set
>  # CONFIG_IPMI_HANDLER 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_RAW_DRIVER is not set
> +# CONFIG_BOOTCOUNT is not set
>  # CONFIG_TCG_TPM is not set
>  CONFIG_DEVPORT=y
>  CONFIG_I2C=y
> @@ -843,9 +878,9 @@ CONFIG_I2C_MPC=y
>  #
>  # Miscellaneous I2C Chip support
>  #
> +# CONFIG_SENSORS_24C01A is not set
> +# CONFIG_SENSORS_AD7416 is not set
>  # CONFIG_DS1682 is not set
> -# CONFIG_EEPROM_AT24 is not set
> -# CONFIG_EEPROM_LEGACY is not set
>  # CONFIG_SENSORS_PCF8574 is not set
>  # CONFIG_PCF8575 is not set
>  # CONFIG_SENSORS_PCA9539 is not set
> @@ -874,10 +909,12 @@ CONFIG_HWMON=y
>  # CONFIG_SENSORS_ADT7462 is not set
>  # CONFIG_SENSORS_ADT7470 is not set
>  # CONFIG_SENSORS_ADT7473 is not set
> +# CONFIG_SENSORS_ADT7475 is not set
>  # CONFIG_SENSORS_ATXP1 is not set
>  # CONFIG_SENSORS_DS1621 is not set
>  # CONFIG_SENSORS_I5K_AMB is not set
>  # CONFIG_SENSORS_F71805F is not set
> +# CONFIG_SENSORS_FM75 is not set
>  # CONFIG_SENSORS_F71882FG is not set
>  # CONFIG_SENSORS_F75375S is not set
>  # CONFIG_SENSORS_GL518SM is not set
> @@ -894,6 +931,7 @@ CONFIG_HWMON=y
>  # CONFIG_SENSORS_LM90 is not set
>  # CONFIG_SENSORS_LM92 is not set
>  # CONFIG_SENSORS_LM93 is not set
> +# CONFIG_SENSORS_LTC4245 is not set
>  # CONFIG_SENSORS_MAX1619 is not set
>  # CONFIG_SENSORS_MAX6650 is not set
>  # CONFIG_SENSORS_PC87360 is not set
> @@ -906,6 +944,7 @@ CONFIG_HWMON=y
>  # CONFIG_SENSORS_ADS7828 is not set
>  # CONFIG_SENSORS_THMC50 is not set
>  # CONFIG_SENSORS_VIA686A is not set
> +# CONFIG_SENSORS_VT1115 is not set
>  # CONFIG_SENSORS_VT1211 is not set
>  # CONFIG_SENSORS_VT8231 is not set
>  # CONFIG_SENSORS_W83781D is not set
> @@ -925,9 +964,11 @@ CONFIG_WATCHDOG=y
>  #
>  # Watchdog Device Drivers
>  #
> +# CONFIG_WD is not set
>  # CONFIG_SOFT_WATCHDOG is not set
>  # CONFIG_ALIM7101_WDT is not set
>  # CONFIG_MPC5200_WDT is not set
> +# CONFIG_WDT_CHAIN is not set
>  # CONFIG_WATCHDOG_RTAS is not set
>
>  #
> @@ -953,10 +994,12 @@ CONFIG_SSB_POSSIBLE=y
>  # CONFIG_MFD_CORE is not set
>  # CONFIG_MFD_SM501 is not set
>  # CONFIG_HTC_PASIC3 is not set
> +# CONFIG_TWL4030_CORE is not set
>  # CONFIG_MFD_TMIO is not set
>  # CONFIG_PMIC_DA903X is not set
>  # CONFIG_MFD_WM8400 is not set
>  # CONFIG_MFD_WM8350_I2C is not set
> +# CONFIG_MFD_PCF50633 is not set
>  # CONFIG_REGULATOR is not set
>
>  #
> @@ -1011,6 +1054,7 @@ CONFIG_FB_MODE_HELPERS=y
>  #
>  # Frame buffer hardware drivers
>  #
> +# CONFIG_FB_MB86290 is not set
>  # CONFIG_FB_CIRRUS is not set
>  # CONFIG_FB_PM2 is not set
>  # CONFIG_FB_CYBER2000 is not set
> @@ -1051,7 +1095,7 @@ CONFIG_LCD_CLASS_DEVICE=m
>  # CONFIG_LCD_ILI9320 is not set
>  # CONFIG_LCD_PLATFORM is not set
>  CONFIG_BACKLIGHT_CLASS_DEVICE=y
> -# CONFIG_BACKLIGHT_CORGI is not set
> +CONFIG_BACKLIGHT_GENERIC=y
>
>  #
>  # Display device support
> @@ -1093,21 +1137,22 @@ CONFIG_HID_COMPAT=y
>  CONFIG_HID_A4TECH=y
>  # CONFIG_HID_APPLE is not set
>  CONFIG_HID_BELKIN=y
> -CONFIG_HID_BRIGHT=y
>  CONFIG_HID_CHERRY=y
>  # CONFIG_HID_CHICONY is not set
>  CONFIG_HID_CYPRESS=y
> -CONFIG_HID_DELL=y
>  CONFIG_HID_EZKEY=y
>  # CONFIG_HID_GYRATION is not set
>  # CONFIG_HID_LOGITECH is not set
>  # CONFIG_HID_MICROSOFT is not set
>  # CONFIG_HID_MONTEREY is not set
> +# CONFIG_HID_NTRIG is not set
>  # CONFIG_HID_PANTHERLORD is not set
>  # CONFIG_HID_PETALYNX is not set
>  # CONFIG_HID_SAMSUNG is not set
>  # CONFIG_HID_SONY is not set
>  # CONFIG_HID_SUNPLUS is not set
> +# CONFIG_GREENASIA_FF is not set
> +# CONFIG_HID_TOPSEED is not set
>  # CONFIG_THRUSTMASTER_FF is not set
>  # CONFIG_ZEROPLUS_FF is not set
>  CONFIG_USB_SUPPORT=y
> @@ -1137,6 +1182,7 @@ CONFIG_USB_MON=y
>  #
>  # CONFIG_USB_C67X00_HCD is not set
>  # CONFIG_USB_EHCI_HCD is not set
> +# CONFIG_USB_OXU210HP_HCD is not set
>  # CONFIG_USB_ISP116X_HCD is not set
>  # CONFIG_USB_ISP1760_HCD is not set
>  CONFIG_USB_OHCI_HCD=y
> @@ -1164,18 +1210,17 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
>  # CONFIG_USB_TMC is not set
>
>  #
> -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
> +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
>  #
>
>  #
> -# may also be needed; see USB_STORAGE Help for more information
> +# 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_ISD200 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
> @@ -1222,6 +1267,10 @@ CONFIG_USB_STORAGE=y
>  # CONFIG_USB_ISIGHTFW is not set
>  # CONFIG_USB_VST is not set
>  # CONFIG_USB_GADGET is not set
> +
> +#
> +# OTG and related infrastructure
> +#
>  # CONFIG_UWB is not set
>  # CONFIG_MMC is not set
>  # CONFIG_MEMSTICK is not set
> @@ -1239,11 +1288,64 @@ CONFIG_NEW_LEDS=y
>  # CONFIG_ACCESSIBILITY is not set
>  # CONFIG_INFINIBAND is not set
>  # CONFIG_EDAC is not set
> -# CONFIG_RTC_CLASS 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_DS1374 is not set
> +# 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
> +# CONFIG_RTC_DRV_S35390A is not set
> +# CONFIG_RTC_DRV_FM3130 is not set
> +# CONFIG_RTC_DRV_RX8581 is not set
> +
> +#
> +# SPI RTC drivers
> +#
> +
> +#
> +# Platform RTC drivers
> +#
> +# CONFIG_RTC_DRV_CMOS is not set
> +# CONFIG_RTC_DRV_DS1286 is not set
> +# CONFIG_RTC_DRV_DS1511 is not set
> +# CONFIG_RTC_DRV_DS1553 is not set
> +# CONFIG_RTC_DRV_DS1742 is not set
> +# CONFIG_RTC_DRV_STK17TA8 is not set
> +# CONFIG_RTC_DRV_M48T86 is not set
> +# CONFIG_RTC_DRV_M48T35 is not set
> +# CONFIG_RTC_DRV_M48T59 is not set
> +# CONFIG_RTC_DRV_BQ4802 is not set
> +# CONFIG_RTC_DRV_V3020 is not set
> +
> +#
> +# on-CPU RTC drivers
> +#
> +# CONFIG_RTC_DRV_PPC is not set
>  # CONFIG_DMADEVICES is not set
>  # CONFIG_UIO is not set
>  # CONFIG_STAGING is not set
> -CONFIG_STAGING_EXCLUDE_BUILD=y
>
>  #
>  # File systems
> @@ -1264,6 +1366,7 @@ CONFIG_FS_MBCACHE=y
>  CONFIG_FILE_LOCKING=y
>  # CONFIG_XFS_FS is not set
>  # CONFIG_OCFS2_FS is not set
> +# CONFIG_BTRFS_FS is not set
>  CONFIG_DNOTIFY=y
>  CONFIG_INOTIFY=y
>  CONFIG_INOTIFY_USER=y
> @@ -1300,10 +1403,7 @@ CONFIG_TMPFS=y
>  # CONFIG_TMPFS_POSIX_ACL is not set
>  # CONFIG_HUGETLB_PAGE is not set
>  # CONFIG_CONFIGFS_FS is not set
> -
> -#
> -# Miscellaneous filesystems
> -#
> +CONFIG_MISC_FILESYSTEMS=y
>  # CONFIG_ADFS_FS is not set
>  # CONFIG_AFFS_FS is not set
>  # CONFIG_HFS_FS is not set
> @@ -1322,7 +1422,9 @@ CONFIG_JFFS2_ZLIB=y
>  # CONFIG_JFFS2_LZO is not set
>  CONFIG_JFFS2_RTIME=y
>  # CONFIG_JFFS2_RUBIN is not set
> +# CONFIG_YAFFS_FS is not set
>  CONFIG_CRAMFS=y
> +# CONFIG_SQUASHFS is not set
>  # CONFIG_VXFS_FS is not set
>  # CONFIG_MINIX_FS is not set
>  # CONFIG_OMFS_FS is not set
> @@ -1403,6 +1505,7 @@ CONFIG_NLS_ISO8859_1=y
>  # Library routines
>  #
>  CONFIG_BITREVERSE=y
> +CONFIG_GENERIC_FIND_LAST_BIT=y
>  # CONFIG_CRC_CCITT is not set
>  # CONFIG_CRC16 is not set
>  # CONFIG_CRC_T10DIF is not set
> @@ -1454,6 +1557,7 @@ CONFIG_DEBUG_INFO=y
>  # CONFIG_DEBUG_MEMORY_INIT is not set
>  # CONFIG_DEBUG_LIST is not set
>  # CONFIG_DEBUG_SG is not set
> +# CONFIG_DEBUG_NOTIFIERS is not set
>  # CONFIG_BOOT_PRINTK_DELAY is not set
>  # CONFIG_RCU_TORTURE_TEST is not set
>  # CONFIG_RCU_CPU_STALL_DETECTOR is not set
> @@ -1462,6 +1566,8 @@ CONFIG_DEBUG_INFO=y
>  # CONFIG_FAULT_INJECTION is not set
>  # CONFIG_LATENCYTOP is not set
>  CONFIG_HAVE_FUNCTION_TRACER=y
> +CONFIG_HAVE_DYNAMIC_FTRACE=y
> +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
>
>  #
>  # Tracers
> @@ -1470,11 +1576,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
>  # CONFIG_SCHED_TRACER is not set
>  # CONFIG_CONTEXT_SWITCH_TRACER is not set
>  # CONFIG_BOOT_TRACER is not set
> +# CONFIG_TRACE_BRANCH_PROFILING is not set
>  # CONFIG_STACK_TRACER is not set
>  # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
>  # CONFIG_SAMPLES is not set
>  CONFIG_HAVE_ARCH_KGDB=y
>  # CONFIG_KGDB is not set
> +CONFIG_PRINT_STACK_DEPTH=64
>  # CONFIG_DEBUG_STACKOVERFLOW is not set
>  # CONFIG_DEBUG_STACK_USAGE is not set
>  # CONFIG_DEBUG_PAGEALLOC is not set
> @@ -1501,11 +1609,15 @@ CONFIG_CRYPTO=y
>  #
>  # CONFIG_CRYPTO_FIPS is not set
>  CONFIG_CRYPTO_ALGAPI=y
> -CONFIG_CRYPTO_AEAD=y
> +CONFIG_CRYPTO_ALGAPI2=y
> +CONFIG_CRYPTO_AEAD2=y
>  CONFIG_CRYPTO_BLKCIPHER=y
> +CONFIG_CRYPTO_BLKCIPHER2=y
>  CONFIG_CRYPTO_HASH=y
> -CONFIG_CRYPTO_RNG=y
> +CONFIG_CRYPTO_HASH2=y
> +CONFIG_CRYPTO_RNG2=y
>  CONFIG_CRYPTO_MANAGER=y
> +CONFIG_CRYPTO_MANAGER2=y
>  # CONFIG_CRYPTO_GF128MUL is not set
>  # CONFIG_CRYPTO_NULL is not set
>  # CONFIG_CRYPTO_CRYPTD is not set
> diff --git a/arch/powerpc/platforms/52xx/mpc5200_simple.c b/arch/powerpc/platforms/52xx/mpc5200_simple.c
> index a3bda0b..d5e1471 100644
> --- a/arch/powerpc/platforms/52xx/mpc5200_simple.c
> +++ b/arch/powerpc/platforms/52xx/mpc5200_simple.c
> @@ -50,6 +50,7 @@ static void __init mpc5200_simple_setup_arch(void)
>
>  /* list of the supported boards */
>  static char *board[] __initdata = {
> +       "intercontrol,digsy-mtc",
>        "promess,motionpro",
>        "phytec,pcm030",
>        "schindler,cm5200",
> --
> 1.6.0.6
>
>
Grzegorz Bernacki Feb. 3, 2009, 8:56 a.m. UTC | #2
Grant Likely wrote:
> Hey Grzegorz,
> 
> I've pulled your patch into my -next tree, but I made a few changes first:
> - I dropped the defconfig changes because they conflict with the
> defconfig update that Ben just pulled from me
> - I updated the .dts file to reflect changes I was already making to
> all the other .dts files
> - I added the digsy-mtc board to the Kconfig documentation.
> 
> I've pushed my whole queue of changes out to my -next tree.  Please
> pull it down and try it out.  (Note, this tree will get rebased at
> least once before I ask Ben to pull it, so be aware).  Make sure that
> I haven't broken your .dts file.  To get the defconfig change in, you
> can either send me another patch with just the defconfig change, or
> you can pop my version of your patch off the top of my -next tree and
> rebase your entire patch on top it.  Whatever you prefer.
> 
> One more note; the new digsy-mtc.dts file from my tree will probably
> not work with older kernels.  Kernels need to be backward compatible
> with older .dts files, but the same is not true for the other way
> around.
> 
> Here's my -next tree:
> 
> git://git.secretlab.ca/git/linux-2.6-mpc52xx next
> 

Hi Grant,

Thanks for pulling and updating my patch.
I got your tree and now I try to build kernel image for digsy, but I get
following errors:
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:77: error: field 'of_gc' has incomplete type
arch/powerpc/platforms/52xx/mpc52xx_gpt.c: In function 'mpc52xx_gpt_gpio_setup':arch/powerpc/platforms/52xx/mpc52xx_gpt.c:350: error: parameter name omitted
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:350: error: parameter name omitted

They disappear when I add support for OF gpio, but I think that parts of 
mpc52xx_gpt.c file should be inside '#ifdef CONFIG_OF_GPIO' clause.

regards,
Grzesiek
Grant Likely Feb. 3, 2009, 9:02 p.m. UTC | #3
On Tue, Feb 3, 2009 at 1:56 AM, Grzegorz Bernacki <gjb@semihalf.com> wrote:
> Grant Likely wrote:
>> Hey Grzegorz,
>>
>> I've pulled your patch into my -next tree, but I made a few changes first:
>> - I dropped the defconfig changes because they conflict with the
>> defconfig update that Ben just pulled from me
>> - I updated the .dts file to reflect changes I was already making to
>> all the other .dts files
>> - I added the digsy-mtc board to the Kconfig documentation.
>>
>> I've pushed my whole queue of changes out to my -next tree.  Please
>> pull it down and try it out.  (Note, this tree will get rebased at
>> least once before I ask Ben to pull it, so be aware).  Make sure that
>> I haven't broken your .dts file.  To get the defconfig change in, you
>> can either send me another patch with just the defconfig change, or
>> you can pop my version of your patch off the top of my -next tree and
>> rebase your entire patch on top it.  Whatever you prefer.
>>
>> One more note; the new digsy-mtc.dts file from my tree will probably
>> not work with older kernels.  Kernels need to be backward compatible
>> with older .dts files, but the same is not true for the other way
>> around.
>>
>> Here's my -next tree:
>>
>> git://git.secretlab.ca/git/linux-2.6-mpc52xx next
>>
>
> Hi Grant,
>
> Thanks for pulling and updating my patch.
> I got your tree and now I try to build kernel image for digsy, but I get
> following errors:
> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:77: error: field 'of_gc' has incomplete type
> arch/powerpc/platforms/52xx/mpc52xx_gpt.c: In function 'mpc52xx_gpt_gpio_setup':arch/powerpc/platforms/52xx/mpc52xx_gpt.c:350: error: parameter name omitted
> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:350: error: parameter name omitted
>
> They disappear when I add support for OF gpio, but I think that parts of
> mpc52xx_gpt.c file should be inside '#ifdef CONFIG_OF_GPIO' clause.

Good catch.  Thanks.

I've fixed the patch and I'll repost and refresh my tree shortly.

g.
diff mbox

Patch

diff --git a/arch/powerpc/boot/dts/digsy_mtc.dts b/arch/powerpc/boot/dts/digsy_mtc.dts
new file mode 100644
index 0000000..9c76c38
--- /dev/null
+++ b/arch/powerpc/boot/dts/digsy_mtc.dts
@@ -0,0 +1,278 @@ 
+/*
+ * Digsy MTC board Device Tree Source
+ *
+ * Copyright (C) 2009 Semihalf
+ *
+ * Based on the CM5200 by M. Balakowicz
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+	model = "intercontrol,digsy-mtc";
+	compatible = "intercontrol,digsy-mtc";
+	#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 = <32>;
+			i-cache-line-size = <32>;
+			d-cache-size = <0x4000>;		// L1, 16K
+			i-cache-size = <0x4000>;		// L1, 16K
+			timebase-frequency = <0>;	// from bootloader
+			bus-frequency = <0>;		// from bootloader
+			clock-frequency = <0>;		// from bootloader
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x02000000>;	// 32MB
+	};
+
+	soc5200@f0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "fsl,mpc5200b-immr";
+		ranges = <0 0xf0000000 0x0000c000>;
+		reg = <0xf0000000 0x00000100>;
+		bus-frequency = <0>;		// from bootloader
+		system-frequency = <0>;		// from bootloader
+
+		cdm@200 {
+			compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
+			reg = <0x200 0x38>;
+		};
+
+		mpc5200_pic: interrupt-controller@500 {
+			// 5200 interrupts are encoded into two levels;
+			interrupt-controller;
+			#interrupt-cells = <3>;
+			compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
+			reg = <0x500 0x80>;
+		};
+
+		timer@600 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x600 0x10>;
+			interrupts = <1 9 0>;
+			interrupt-parent = <&mpc5200_pic>;
+			fsl,has-wdt;
+		};
+
+		timer@610 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x610 0x10>;
+			interrupts = <1 10 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@620 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x620 0x10>;
+			interrupts = <1 11 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@630 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x630 0x10>;
+			interrupts = <1 12 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@640 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x640 0x10>;
+			interrupts = <1 13 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@650 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x650 0x10>;
+			interrupts = <1 14 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@660 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x660 0x10>;
+			interrupts = <1 15 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		timer@670 {	// General Purpose Timer
+			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
+			reg = <0x670 0x10>;
+			interrupts = <1 16 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		gpio@b00 {
+			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
+			reg = <0xb00 0x40>;
+			interrupts = <1 7 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		gpio@c00 {
+			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
+			reg = <0xc00 0x40>;
+			interrupts = <1 8 0 0 3 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		spi@f00 {
+			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
+			reg = <0xf00 0x20>;
+			interrupts = <2 13 0 2 14 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		usb@1000 {
+			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
+			reg = <0x1000 0xff>;
+			interrupts = <2 6 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		dma-controller@1200 {
+			device_type = "dma-controller";
+			compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
+			reg = <0x1200 0x80>;
+			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 10 0  3 11 0
+			              3 12 0  3 13 0  3 14 0  3 15 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		xlb@1f00 {
+			compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
+			reg = <0x1f00 0x100>;
+		};
+
+		serial@2400 {		// PSC3
+			device_type = "serial";
+			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
+			cell-index = <2>;
+			reg = <0x2400 0x100>;
+			interrupts = <2 3 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		serial@2600 {		// PSC4
+			device_type = "serial";
+			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
+			cell-index = <3>;
+			reg = <0x2600 0x100>;
+			interrupts = <2 11 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		ethernet@3000 {
+			device_type = "network";
+			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
+			reg = <0x3000 0x400>;
+			local-mac-address = [ 00 00 00 00 00 00 ];
+			interrupts = <2 5 0>;
+			interrupt-parent = <&mpc5200_pic>;
+			phy-handle = <&phy0>;
+		};
+
+		mdio@3000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
+			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
+			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
+			interrupt-parent = <&mpc5200_pic>;
+
+			phy0: ethernet-phy@0 {
+				device_type = "ethernet-phy";
+				reg = <0>;
+			};
+		};
+
+		ata@3a00 {
+			device_type = "ata";
+			compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
+			reg = <0x3a00 0x100>;
+			interrupts = <2 7 0>;
+			interrupt-parent = <&mpc5200_pic>;
+		};
+
+		i2c@3d00 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
+			cell-index = <0>;
+			reg = <0x3d00 0x40>;
+			interrupts = <2 15 0>;
+			interrupt-parent = <&mpc5200_pic>;
+			fsl5200-clocking;
+
+			rtc@50 {
+				compatible = "at,24c08";
+				reg = <0x50>;
+			};
+
+			rtc@68 {
+				compatible = "dallas,ds1339";
+				reg = <0x68>;
+			};
+		};
+
+		sram@8000 {
+			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram","sram";
+			reg = <0x8000 0x4000>;
+		};
+	};
+
+	lpb {
+		model = "fsl,lpb";
+		compatible = "fsl,lpb";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges = <0 0 0xff000000 0x1000000>;
+
+		// 16-bit flash device at LocalPlus Bus CS0
+		flash@0,0 {
+			compatible = "cfi-flash";
+			reg = <0 0 0x1000000>;
+			bank-width = <2>;
+			device-width = <2>;
+			#size-cells = <1>;
+			#address-cells = <1>;
+
+			partition@0 {
+				label = "kernel";
+				reg = <0x0 0x00200000>;
+			};
+			partition@200000 {
+				label = "root";
+				reg = <0x00200000 0x00300000>;
+			};
+			partition@500000 {
+				label = "user";
+				reg = <0x00500000 0x00a00000>;
+			};
+			partition@f00000 {
+				label = "u-boot";
+				reg = <0x00f00000 0x100000>;
+			};
+		};
+	};
+};
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig
index 5ff3de2..6e4e710 100644
--- a/arch/powerpc/configs/mpc5200_defconfig
+++ b/arch/powerpc/configs/mpc5200_defconfig
@@ -1,7 +1,7 @@ 
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28-rc4
-# Thu Nov 13 02:09:07 2008
+# Linux kernel version: 2.6.29-rc3
+# Mon Feb  2 16:22:08 2009
 #
 # CONFIG_PPC64 is not set
 
@@ -43,7 +43,7 @@  CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_PPC=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_GENERIC_NVRAM=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_PPC_OF=y
 CONFIG_OF=y
@@ -72,10 +72,19 @@  CONFIG_SYSVIPC_SYSCTL=y
 # CONFIG_BSD_PROCESS_ACCT is not set
 # CONFIG_TASKSTATS is not set
 # CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
 # CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
 CONFIG_SYSFS_DEPRECATED=y
 CONFIG_SYSFS_DEPRECATED_V2=y
 # CONFIG_RELAY is not set
@@ -89,6 +98,7 @@  CONFIG_EMBEDDED=y
 # CONFIG_KALLSYMS is not set
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
+# CONFIG_LOGBUFFER is not set
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_COMPAT_BRK=y
@@ -108,7 +118,6 @@  CONFIG_SLUB_DEBUG=y
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
 # CONFIG_PROFILING is not set
-# CONFIG_MARKERS is not set
 CONFIG_HAVE_OPROFILE=y
 CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
 CONFIG_HAVE_IOREMAP_PROT=y
@@ -119,7 +128,6 @@  CONFIG_HAVE_CLK=y
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
 CONFIG_MODULES=y
 # CONFIG_MODULE_FORCE_LOAD is not set
@@ -127,11 +135,9 @@  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=y
 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
 # CONFIG_BLK_DEV_INTEGRITY is not set
 
@@ -147,7 +153,6 @@  CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
 CONFIG_FREEZER=y
 
 #
@@ -192,7 +197,7 @@  CONFIG_RTAS_PROC=y
 CONFIG_PPC_BESTCOMM=y
 CONFIG_PPC_BESTCOMM_ATA=y
 CONFIG_PPC_BESTCOMM_FEC=y
-CONFIG_PPC_BESTCOMM_GEN_BD=y
+# CONFIG_SIMPLE_GPIO is not set
 
 #
 # Kernel options
@@ -220,6 +225,7 @@  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_HAS_WALK_MEMORY=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 # CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
 CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_ARCH_POPULATES_NODE_MAP=y
 CONFIG_SELECT_MEMORY_MODEL=y
@@ -231,12 +237,14 @@  CONFIG_FLAT_NODE_MEM_MAP=y
 CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_MIGRATION=y
-# CONFIG_RESOURCES_64BIT is not set
 # CONFIG_PHYS_ADDR_T_64BIT is not set
 CONFIG_ZONE_DMA_FLAG=1
 CONFIG_BOUNCE=y
 CONFIG_VIRT_TO_BUS=y
 CONFIG_UNEVICTABLE_LRU=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
 CONFIG_FORCE_MAX_ZONEORDER=11
 CONFIG_PROC_DEVICETREE=y
 # CONFIG_CMDLINE_BOOL is not set
@@ -264,6 +272,7 @@  CONFIG_ARCH_SUPPORTS_MSI=y
 # CONFIG_PCI_MSI is not set
 CONFIG_PCI_LEGACY=y
 # CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
 # CONFIG_PCCARD is not set
 # CONFIG_HOTPLUG_PCI is not set
 # CONFIG_HAS_RAPIDIO is not set
@@ -286,6 +295,7 @@  CONFIG_NET=y
 #
 # Networking options
 #
+CONFIG_COMPAT_NET_DEV_OPS=y
 CONFIG_PACKET=y
 # CONFIG_PACKET_MMAP is not set
 CONFIG_UNIX=y
@@ -342,6 +352,7 @@  CONFIG_DEFAULT_TCP_CONG="cubic"
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
 # CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
 
 #
 # Network testing
@@ -354,6 +365,7 @@  CONFIG_DEFAULT_TCP_CONG="cubic"
 # CONFIG_AF_RXRPC is not set
 # CONFIG_PHONET is not set
 # CONFIG_WIRELESS is not set
+# CONFIG_WIMAX is not set
 # CONFIG_RFKILL is not set
 # CONFIG_NET_9P is not set
 
@@ -376,9 +388,10 @@  CONFIG_MTD=y
 # CONFIG_MTD_DEBUG is not set
 CONFIG_MTD_CONCAT=y
 CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
 # CONFIG_MTD_REDBOOT_PARTS is not set
 CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_OF_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
 # CONFIG_MTD_AR7_PARTS is not set
 
 #
@@ -447,6 +460,12 @@  CONFIG_MTD_PHYSMAP_OF=y
 # CONFIG_MTD_ONENAND is not set
 
 #
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_QINFO_PROBE is not set
+
+#
 # UBI - Unsorted block images
 #
 # CONFIG_MTD_UBI is not set
@@ -474,13 +493,19 @@  CONFIG_BLK_DEV_RAM_SIZE=32768
 # CONFIG_BLK_DEV_HD 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_ICS932S401 is not set
 # CONFIG_ENCLOSURE_SERVICES is not set
 # CONFIG_HP_ILO is not set
 # CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=y
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_93CX6 is not set
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -539,6 +564,8 @@  CONFIG_SCSI_LOWLEVEL=y
 # CONFIG_MEGARAID_SAS is not set
 # CONFIG_SCSI_HPTIOP is not set
 # CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_LIBFC is not set
+# CONFIG_FCOE is not set
 # CONFIG_SCSI_DMX3191D is not set
 # CONFIG_SCSI_EATA is not set
 # CONFIG_SCSI_FUTURE_DOMAIN is not set
@@ -652,13 +679,16 @@  CONFIG_PHYLIB=y
 # CONFIG_MARVELL_PHY is not set
 # CONFIG_DAVICOM_PHY is not set
 # CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
+CONFIG_LXT_PHY=y
 # CONFIG_CICADA_PHY is not set
 # CONFIG_VITESSE_PHY is not set
 # CONFIG_SMSC_PHY is not set
 # CONFIG_BROADCOM_PHY is not set
 # CONFIG_ICPLUS_PHY is not set
 # CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
 # CONFIG_FIXED_PHY is not set
 # CONFIG_MDIO_BITBANG is not set
 CONFIG_NET_ETHERNET=y
@@ -693,6 +723,10 @@  CONFIG_FEC_MPC52xx_MDIO=y
 # CONFIG_IWLWIFI_LEDS is not set
 
 #
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
 # USB Network Adapters
 #
 # CONFIG_USB_CATC is not set
@@ -774,17 +808,18 @@  CONFIG_SERIAL_MPC52xx_CONSOLE=y
 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
 # CONFIG_SERIAL_JSM is not set
 CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_HVC_RTAS is not set
+# CONFIG_HVC_UDBG is not set
 # CONFIG_IPMI_HANDLER 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_RAW_DRIVER is not set
+# CONFIG_BOOTCOUNT is not set
 # CONFIG_TCG_TPM is not set
 CONFIG_DEVPORT=y
 CONFIG_I2C=y
@@ -843,9 +878,9 @@  CONFIG_I2C_MPC=y
 #
 # Miscellaneous I2C Chip support
 #
+# CONFIG_SENSORS_24C01A is not set
+# CONFIG_SENSORS_AD7416 is not set
 # CONFIG_DS1682 is not set
-# CONFIG_EEPROM_AT24 is not set
-# CONFIG_EEPROM_LEGACY is not set
 # CONFIG_SENSORS_PCF8574 is not set
 # CONFIG_PCF8575 is not set
 # CONFIG_SENSORS_PCA9539 is not set
@@ -874,10 +909,12 @@  CONFIG_HWMON=y
 # CONFIG_SENSORS_ADT7462 is not set
 # CONFIG_SENSORS_ADT7470 is not set
 # CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
 # CONFIG_SENSORS_ATXP1 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_I5K_AMB is not set
 # CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FM75 is not set
 # CONFIG_SENSORS_F71882FG is not set
 # CONFIG_SENSORS_F75375S is not set
 # CONFIG_SENSORS_GL518SM is not set
@@ -894,6 +931,7 @@  CONFIG_HWMON=y
 # CONFIG_SENSORS_LM90 is not set
 # CONFIG_SENSORS_LM92 is not set
 # CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4245 is not set
 # CONFIG_SENSORS_MAX1619 is not set
 # CONFIG_SENSORS_MAX6650 is not set
 # CONFIG_SENSORS_PC87360 is not set
@@ -906,6 +944,7 @@  CONFIG_HWMON=y
 # CONFIG_SENSORS_ADS7828 is not set
 # CONFIG_SENSORS_THMC50 is not set
 # CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1115 is not set
 # CONFIG_SENSORS_VT1211 is not set
 # CONFIG_SENSORS_VT8231 is not set
 # CONFIG_SENSORS_W83781D is not set
@@ -925,9 +964,11 @@  CONFIG_WATCHDOG=y
 #
 # Watchdog Device Drivers
 #
+# CONFIG_WD is not set
 # CONFIG_SOFT_WATCHDOG is not set
 # CONFIG_ALIM7101_WDT is not set
 # CONFIG_MPC5200_WDT is not set
+# CONFIG_WDT_CHAIN is not set
 # CONFIG_WATCHDOG_RTAS is not set
 
 #
@@ -953,10 +994,12 @@  CONFIG_SSB_POSSIBLE=y
 # CONFIG_MFD_CORE is not set
 # CONFIG_MFD_SM501 is not set
 # CONFIG_HTC_PASIC3 is not set
+# CONFIG_TWL4030_CORE is not set
 # CONFIG_MFD_TMIO is not set
 # CONFIG_PMIC_DA903X is not set
 # CONFIG_MFD_WM8400 is not set
 # CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
 # CONFIG_REGULATOR is not set
 
 #
@@ -1011,6 +1054,7 @@  CONFIG_FB_MODE_HELPERS=y
 #
 # Frame buffer hardware drivers
 #
+# CONFIG_FB_MB86290 is not set
 # CONFIG_FB_CIRRUS is not set
 # CONFIG_FB_PM2 is not set
 # CONFIG_FB_CYBER2000 is not set
@@ -1051,7 +1095,7 @@  CONFIG_LCD_CLASS_DEVICE=m
 # CONFIG_LCD_ILI9320 is not set
 # CONFIG_LCD_PLATFORM is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_CORGI is not set
+CONFIG_BACKLIGHT_GENERIC=y
 
 #
 # Display device support
@@ -1093,21 +1137,22 @@  CONFIG_HID_COMPAT=y
 CONFIG_HID_A4TECH=y
 # CONFIG_HID_APPLE is not set
 CONFIG_HID_BELKIN=y
-CONFIG_HID_BRIGHT=y
 CONFIG_HID_CHERRY=y
 # CONFIG_HID_CHICONY is not set
 CONFIG_HID_CYPRESS=y
-CONFIG_HID_DELL=y
 CONFIG_HID_EZKEY=y
 # CONFIG_HID_GYRATION is not set
 # CONFIG_HID_LOGITECH is not set
 # CONFIG_HID_MICROSOFT is not set
 # CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_NTRIG is not set
 # CONFIG_HID_PANTHERLORD is not set
 # CONFIG_HID_PETALYNX is not set
 # CONFIG_HID_SAMSUNG is not set
 # CONFIG_HID_SONY is not set
 # CONFIG_HID_SUNPLUS is not set
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
 # CONFIG_THRUSTMASTER_FF is not set
 # CONFIG_ZEROPLUS_FF is not set
 CONFIG_USB_SUPPORT=y
@@ -1137,6 +1182,7 @@  CONFIG_USB_MON=y
 #
 # CONFIG_USB_C67X00_HCD is not set
 # CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
 # CONFIG_USB_ISP116X_HCD is not set
 # CONFIG_USB_ISP1760_HCD is not set
 CONFIG_USB_OHCI_HCD=y
@@ -1164,18 +1210,17 @@  CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 # CONFIG_USB_TMC is not set
 
 #
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
 #
 
 #
-# may also be needed; see USB_STORAGE Help for more information
+# 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_ISD200 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
@@ -1222,6 +1267,10 @@  CONFIG_USB_STORAGE=y
 # CONFIG_USB_ISIGHTFW is not set
 # CONFIG_USB_VST is not set
 # CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
 # CONFIG_UWB is not set
 # CONFIG_MMC is not set
 # CONFIG_MEMSTICK is not set
@@ -1239,11 +1288,64 @@  CONFIG_NEW_LEDS=y
 # CONFIG_ACCESSIBILITY is not set
 # CONFIG_INFINIBAND is not set
 # CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS 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_DS1374 is not set
+# 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
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PPC is not set
 # CONFIG_DMADEVICES is not set
 # CONFIG_UIO is not set
 # CONFIG_STAGING is not set
-CONFIG_STAGING_EXCLUDE_BUILD=y
 
 #
 # File systems
@@ -1264,6 +1366,7 @@  CONFIG_FS_MBCACHE=y
 CONFIG_FILE_LOCKING=y
 # CONFIG_XFS_FS is not set
 # CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -1300,10 +1403,7 @@  CONFIG_TMPFS=y
 # CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
 # CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_ADFS_FS is not set
 # CONFIG_AFFS_FS is not set
 # CONFIG_HFS_FS is not set
@@ -1322,7 +1422,9 @@  CONFIG_JFFS2_ZLIB=y
 # CONFIG_JFFS2_LZO is not set
 CONFIG_JFFS2_RTIME=y
 # CONFIG_JFFS2_RUBIN is not set
+# CONFIG_YAFFS_FS is not set
 CONFIG_CRAMFS=y
+# CONFIG_SQUASHFS is not set
 # CONFIG_VXFS_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_OMFS_FS is not set
@@ -1403,6 +1505,7 @@  CONFIG_NLS_ISO8859_1=y
 # Library routines
 #
 CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
 # CONFIG_CRC_CCITT is not set
 # CONFIG_CRC16 is not set
 # CONFIG_CRC_T10DIF is not set
@@ -1454,6 +1557,7 @@  CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_MEMORY_INIT is not set
 # CONFIG_DEBUG_LIST is not set
 # CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
 # CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@@ -1462,6 +1566,8 @@  CONFIG_DEBUG_INFO=y
 # CONFIG_FAULT_INJECTION is not set
 # CONFIG_LATENCYTOP is not set
 CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 
 #
 # Tracers
@@ -1470,11 +1576,13 @@  CONFIG_HAVE_FUNCTION_TRACER=y
 # CONFIG_SCHED_TRACER is not set
 # CONFIG_CONTEXT_SWITCH_TRACER is not set
 # CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
 # CONFIG_STACK_TRACER is not set
 # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
+CONFIG_PRINT_STACK_DEPTH=64
 # CONFIG_DEBUG_STACKOVERFLOW is not set
 # CONFIG_DEBUG_STACK_USAGE is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
@@ -1501,11 +1609,15 @@  CONFIG_CRYPTO=y
 #
 # CONFIG_CRYPTO_FIPS is not set
 CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
 CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
 CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
 # CONFIG_CRYPTO_GF128MUL is not set
 # CONFIG_CRYPTO_NULL is not set
 # CONFIG_CRYPTO_CRYPTD is not set
diff --git a/arch/powerpc/platforms/52xx/mpc5200_simple.c b/arch/powerpc/platforms/52xx/mpc5200_simple.c
index a3bda0b..d5e1471 100644
--- a/arch/powerpc/platforms/52xx/mpc5200_simple.c
+++ b/arch/powerpc/platforms/52xx/mpc5200_simple.c
@@ -50,6 +50,7 @@  static void __init mpc5200_simple_setup_arch(void)
 
 /* list of the supported boards */
 static char *board[] __initdata = {
+	"intercontrol,digsy-mtc",
 	"promess,motionpro",
 	"phytec,pcm030",
 	"schindler,cm5200",