[PATCH v2 1/3] ARM: pxa168: added support for Teton BGA platform

Eric Miao eric.y.miao at gmail.com
Tue Sep 14 03:08:12 EDT 2010


On Mon, Sep 13, 2010 at 11:51 AM, Mark F. Brown <mark.brown314 at gmail.com> wrote:
> Added board defintion, header, and debug UART support.
>
> Signed-off-by: Mark F. Brown <mark.brown314 at gmail.com>
> ---
>  MAINTAINERS                                |    5 +++
>  arch/arm/mach-mmp/Kconfig                  |    7 ++++
>  arch/arm/mach-mmp/Makefile                 |    1 +
>  arch/arm/mach-mmp/include/mach/teton_bga.h |   27 +++++++++++++++
>  arch/arm/mach-mmp/teton_bga.c              |   50 ++++++++++++++++++++++++++++
>  5 files changed, 90 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/mach-mmp/include/mach/teton_bga.h
>  create mode 100644 arch/arm/mach-mmp/teton_bga.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 433f353..d7a4481 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -967,6 +967,11 @@ M: Lennert Buytenhek <kernel at wantstofly.org>
>  L:     linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
>  S:     Maintained
>
> +ARM/TETON BGA MACHINE SUPPORT
> +M:     Mark F. Brown <mark.brown314 at gmail.com>
> +L:     linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
> +S:     Maintained
> +
>  ARM/THECUS N2100 MACHINE SUPPORT
>  M:     Lennert Buytenhek <kernel at wantstofly.org>
>  L:     linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
> diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig
> index 6ab843e..0711d3b 100644
> --- a/arch/arm/mach-mmp/Kconfig
> +++ b/arch/arm/mach-mmp/Kconfig
> @@ -57,6 +57,13 @@ config MACH_MARVELL_JASPER
>          PXA910-based development board. Since MMP2 is compatible to
>          ARMv6 architecture.
>
> +config MACH_TETON_BGA
> +       bool "Marvell's PXA168 Teton BGA Development Board"
> +       select CPU_PXA168
> +       help
> +         Say 'Y' here if you want to support the Marvell PXA168-based
> +         Teton BGA Development Board.
> +
>  endmenu
>
>  config CPU_PXA168
> diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
> index 8b66d06..751cdbf 100644
> --- a/arch/arm/mach-mmp/Makefile
> +++ b/arch/arm/mach-mmp/Makefile
> @@ -17,3 +17,4 @@ obj-$(CONFIG_MACH_TAVOREVB)   += tavorevb.o
>  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
> diff --git a/arch/arm/mach-mmp/include/mach/teton_bga.h b/arch/arm/mach-mmp/include/mach/teton_bga.h
> new file mode 100644
> index 0000000..61a539b
> --- /dev/null
> +++ b/arch/arm/mach-mmp/include/mach/teton_bga.h
> @@ -0,0 +1,27 @@
> +/*
> + *  linux/arch/arm/mach-mmp/include/mach/teton_bga.h
> + *
> + *  Support for the Marvell PXA168 Teton BGA Development Platform.
> + *
> + *  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
> + *  publishhed by the Free Software Foundation.
> + */
> +#ifndef __ASM_MACH_TETON_BGA_H
> +#define __ASM_MACH_TETON_BGA_H
> +
> +/* GPIOs */
> +#define MMC_PWENA_GPIO         27
> +#define USBHPENB_GPIO          55
> +#define RTC_INT_GPIO           78
> +#define LCD_VBLK_EN_GPIO       79
> +#define LCD_DVDD_EN_GPIO       80
> +#define RST_WIFI_GPIO          81
> +#define CF_PWEN_GPIO           82
> +#define USB_OC_GPIO            83
> +#define PWM_GPIO               84
> +#define USBHPENA_GPIO          85
> +#define TS_INT_GPIO            86
> +#define CIR_GPIO               108
> +
> +#endif /* __ASM_MACH_TETON_BGA_H */
> diff --git a/arch/arm/mach-mmp/teton_bga.c b/arch/arm/mach-mmp/teton_bga.c
> new file mode 100644
> index 0000000..49b746b
> --- /dev/null
> +++ b/arch/arm/mach-mmp/teton_bga.c
> @@ -0,0 +1,50 @@
> +/*
> + *  linux/arch/arm/mach-mmp/teton_bga.c
> + *
> + *  Support for the Marvell PXA168 Teton BGA Development Platform.
> + *
> + *  Author: Mark F. Brown <mark.brown314 at gmail.com>
> + *
> + *  This code is based on aspenite.c
> + *
> + *  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
> + *  publishhed by the Free Software Foundation.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/kernel.h>
> +#include <linux/platform_device.h>
> +#include <linux/gpio.h>
> +
> +#include <asm/mach-types.h>
> +#include <asm/mach/arch.h>
> +#include <mach/addr-map.h>
> +#include <mach/mfp-pxa168.h>
> +#include <mach/pxa168.h>
> +#include <mach/teton_bga.h>
> +
> +#include "common.h"
> +
> +static unsigned long teton_bga_pin_config[] __initdata = {
> +       /* UART1 */
> +       GPIO107_UART1_TXD,
> +       GPIO108_UART1_RXD,
> +};
> +
> +static void __init teton_bga_init(void)
> +{
> +       mfp_config(ARRAY_AND_SIZE(teton_bga_pin_config));
> +
> +       /* on-chip devices */
> +       pxa168_add_uart(1);
> +}
> +
> +MACHINE_START(TETON_BGA, "PXA168-based Teton BGA Development Platform")
> +       .phys_io        = APB_PHYS_BASE,
> +       .io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
> +       .map_io         = mmp_map_io,

Added .nr_irqs = IRQ_BOARD_START here, since I've merged Haojian's
patch for enabling SPARSE_IRQ on MMP.

Otherwise all good to me, applied to 'devel'.

> +       .init_irq       = pxa168_init_irq,
> +       .timer          = &pxa168_timer,
> +       .init_machine   = teton_bga_init,
> +MACHINE_END
> --
> 1.7.0.4
>
>



More information about the linux-arm-kernel mailing list