Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754811Ab1BJC1u (ORCPT ); Wed, 9 Feb 2011 21:27:50 -0500 Received: from mail-iy0-f174.google.com ([209.85.210.174]:33703 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754021Ab1BJC1s convert rfc822-to-8bit (ORCPT ); Wed, 9 Feb 2011 21:27:48 -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=JMk2awGnt1o6uSVX0dtqLpfy/oMlILM2f+9ptG4TB6mh2uyrDdp3MzZdRSZu4Z/iaZ 3PO79yAAtNwoFuTsQl8ECVrSwSCmDSV7YFfXMr4pAg3mSfWTVA/y4WA5XCqT/euZf15h UYn6wNq+mQNRWVXkTWNR/O+lyjq7ke0+gN/lI= MIME-Version: 1.0 In-Reply-To: References: <46685.88.65.119.194.1297295587.squirrel@88.65.119.194> From: Eric Miao Date: Thu, 10 Feb 2011 10:27:27 +0800 Message-ID: Subject: Re: [PATCH]ARM: mmp: add Trizeps6 board support To: yupeng.schneider@ipms.fraunhofer.de Cc: Russell King - ARM Linux , linux-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: 43619 Lines: 1116 Corrected the linux-arm-kernel ML address. On Thu, Feb 10, 2011 at 10:24 AM, Eric Miao wrote: > 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