Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756230Ab1BJAAM (ORCPT ); Wed, 9 Feb 2011 19:00:12 -0500 Received: from relay03-haj2.antispameurope.com ([83.246.65.53]:37940 "EHLO relay03-haj2.antispameurope.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756153Ab1BJAAJ (ORCPT ); Wed, 9 Feb 2011 19:00:09 -0500 X-Greylist: delayed 417 seconds by postgrey-1.27 at vger.kernel.org; Wed, 09 Feb 2011 19:00:08 EST Message-ID: <46685.88.65.119.194.1297295587.squirrel@88.65.119.194> Date: Thu, 10 Feb 2011 00:53:07 +0100 (CET) Subject: [PATCH]ARM: mmp: add Trizeps6 board support From: "Yupeng Schneider" To: "Eric Miao" , "Russell King - ARM Linux" Cc: inux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, yupeng.schneider@googlemail.com Reply-To: yupeng.schneider@ipms.fraunhofer.de User-Agent: SquirrelMail/1.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT X-Priority: 3 Importance: Normal References: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 31051 Lines: 1090 Hi all, the following patch add the BSP for the Trizeps6 board with pxa168 Processor. Signed-off-by: Yupeng Schneider --- 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