Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754446Ab1BJCZK (ORCPT ); Wed, 9 Feb 2011 21:25:10 -0500 Received: from mail-iw0-f174.google.com ([209.85.214.174]:42824 "EHLO mail-iw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754021Ab1BJCZI convert rfc822-to-8bit (ORCPT ); Wed, 9 Feb 2011 21:25:08 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=TLHMzeBeCveyGIMGs54FSF1VlcdN+MXxnuO097rdfBJas32NLkMtekHEWUNqpvp5Yd SeT0tgWUceI3wplR+klcW/Q9io+PpWjBL2MGFcfccC6ymT5DGM2xx4bZm39kmELsmSsw Njp3bNYHGwqXk6ujhDHLhcoaayN/EA5ot0d8M= MIME-Version: 1.0 In-Reply-To: <46685.88.65.119.194.1297295587.squirrel@88.65.119.194> References: <46685.88.65.119.194.1297295587.squirrel@88.65.119.194> From: Eric Miao Date: Thu, 10 Feb 2011 10:24:47 +0800 Message-ID: Subject: Re: [PATCH]ARM: mmp: add Trizeps6 board support To: yupeng.schneider@ipms.fraunhofer.de Cc: Russell King - ARM Linux , inux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, yupeng.schneider@googlemail.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 42378 Lines: 1112 On Thu, Feb 10, 2011 at 7:53 AM, Yupeng Schneider wrote: > Hi all, > > the following patch add the BSP for the Trizeps6 board with pxa168 Processor. > > Signed-off-by: Yupeng Schneider Hi Yupeng, This is really a nice patch. I would be better if this can be separated into some smaller patches further: 1. some of the MFP macros in trizeps6.h, they are generic and can be placed into mfp-pxa168.h, or is there any reason that the macros in mfp-pxa168.h do not work on your board? 2. individual patches for adding uart3, audio, and cpld 3. then the patch for the board Sounds OK? Let me know your ideas. Thanks - eric > --- >  arch/arm/mach-mmp/Kconfig                      |   29 ++ >  arch/arm/mach-mmp/Makefile                     |    1 + >  arch/arm/mach-mmp/include/mach/audio.h         |   29 ++ >  arch/arm/mach-mmp/include/mach/pxa168.h        |   21 + >  arch/arm/mach-mmp/include/mach/regs-apmu.h     |    1 + >  arch/arm/mach-mmp/include/mach/trizeps6.h      |  122 ++++++ >  arch/arm/mach-mmp/include/mach/trizeps6_cpld.h |   87 +++++ >  arch/arm/mach-mmp/pxa168.c                     |   10 + >  arch/arm/mach-mmp/trizeps6.c                   |  469 > ++++++++++++++++++++++++ >  arch/arm/mach-mmp/trizeps6_cpld.c              |  145 ++++++++ >  10 files changed, 914 insertions(+), 0 deletions(-) >  create mode 100755 arch/arm/mach-mmp/include/mach/audio.h >  create mode 100755 arch/arm/mach-mmp/include/mach/trizeps6.h >  create mode 100755 arch/arm/mach-mmp/include/mach/trizeps6_cpld.h create > mode 100755 arch/arm/mach-mmp/trizeps6.c >  create mode 100755 arch/arm/mach-mmp/trizeps6_cpld.c > > diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig index > 0711d3b..8c6be81 100644 > --- a/arch/arm/mach-mmp/Kconfig > +++ b/arch/arm/mach-mmp/Kconfig > @@ -64,6 +64,35 @@ config MACH_TETON_BGA >          Say 'Y' here if you want to support the Marvell PXA168-based >          Teton BGA Development Board. > > +comment "Third Party Dev Platforms (sorted by vendor name)" > + > +config MACH_TRIZEPS6 > +       bool "Keith und Koep Trizeps6 DIMM-Module" > +       select TRIZEPS6_PCMCIA > +       select CPU_PXA168 > +       help > +         Say 'Y' here if you want to support TRIZEPS VI board Development Board. > + > +choice > +       prompt "Select base board for Trizeps module" > +       depends on MACH_TRIZEPS6 > + > +config MACH_TRIZEPS6_CONXS > +       bool "ConXS Eval Board" > + > +config MACH_TRIZEPS6_UCONXS > +       bool "uConXS Eval Board" > + > +config MACH_TRIZEPS6_ANY > +       bool "another Board" > + > +endchoice > + > +config TRIZEPS6_PCMCIA > +       bool > +       help > +         Enable PCMCIA support for Trizeps modules > + >  endmenu > >  config CPU_PXA168 > diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile index > 751cdbf..1b8744f 100644 > --- a/arch/arm/mach-mmp/Makefile > +++ b/arch/arm/mach-mmp/Makefile > @@ -18,3 +18,4 @@ obj-$(CONFIG_MACH_TTC_DKB)    += ttc_dkb.o >  obj-$(CONFIG_MACH_FLINT)       += flint.o >  obj-$(CONFIG_MACH_MARVELL_JASPER) += jasper.o >  obj-$(CONFIG_MACH_TETON_BGA)   += teton_bga.o > +obj-$(CONFIG_MACH_TRIZEPS6)    += trizeps6.o trizeps6_cpld.o > diff --git a/arch/arm/mach-mmp/include/mach/audio.h > b/arch/arm/mach-mmp/include/mach/audio.h > index 0000000..6ef474f > --- /dev/null > +++ b/arch/arm/mach-mmp/include/mach/audio.h > @@ -0,0 +1,29 @@ > +#ifndef __ASM_ARCH_AUDIO_H__ > +#define __ASM_ARCH_AUDIO_H__ > + > +#include > +#include > +#include > + > +/* > + * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) > + *              a -1 value means no gpio will be used for reset > + * @codec_pdata: AC97 codec platform_data > + > + * reset_gpio should only be specified for pxa27x CPUs where a silicon + > * bug prevents correct operation of the reset line. If not specified, + * > the default behaviour on these CPUs is to consider gpio 113 as the + * > AC97 reset line, which is the default on most boards. > + */ > +struct pxa2xx_audio_ops_t { > +       int (*startup)(struct snd_pcm_substream *, void *); > +       void (*shutdown)(struct snd_pcm_substream *, void *); > +       void (*suspend)(void *); > +       void (*resume)(void *); > +       void *priv; > +       int reset_gpio; > +       void *codec_pdata[AC97_BUS_MAX_DEVICES]; > +}; > + > + > +#endif > diff --git a/arch/arm/mach-mmp/include/mach/pxa168.h > b/arch/arm/mach-mmp/include/mach/pxa168.h > index 1801e42..c4a9977 100644 > --- a/arch/arm/mach-mmp/include/mach/pxa168.h > +++ b/arch/arm/mach-mmp/include/mach/pxa168.h > @@ -14,9 +14,12 @@ extern void pxa168_clear_keypad_wakeup(void); >  #include