RE: [PATCH] Add OMAP4 Panda support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kevin,

The panda isn't 100% compatible with the blaze/sdp. There are/will be some significant differences. I understand the goal to make the "multi-boot" images and to reduce the amount of duplicated code in the kernel, however we can learn a little about this situation from the BeagleBoard. Due to it being a development board, many people who are new to embedded development will be purchasing the Panda and they generally need a clearly defined place to start. Blaze and SDP are officially support TI products and their machine files can be easily groomed and maintained. Having a clearly defined individual machine file and defconfig will make things a lot easier for starting development on the Panda.

IMHO, I think it is a giant mistake not to have individual machine files and defconfigs for the panda. This doesn't preclude making sure that they files work properly with multi-boot images.

Dave
 



-----Original Message-----
From: Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx] 
Sent: Friday, June 18, 2010 9:32 AM
To: Anders, David
Cc: linux-omap@xxxxxxxxxxxxxxx; tony@xxxxxxxxxxx
Subject: Re: [PATCH] Add OMAP4 Panda support

"Anders, David" <x0132446@xxxxxx> writes:

> Add initial support for the OMAP4430 based Panda board.
>
> Signed-off-by: David Anders <x0132446@xxxxxx>
> ---
>  arch/arm/configs/omap4_panda_defconfig | 1094 ++++++++++++++++++++++++++++++++
>  arch/arm/mach-omap2/Kconfig            |    4 +
>  arch/arm/mach-omap2/Makefile           |    1 +
>  arch/arm/mach-omap2/board-omap4panda.c |   80 +++
>  4 files changed, 1179 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/configs/omap4_panda_defconfig
>  create mode 100644 arch/arm/mach-omap2/board-omap4panda.c

[...]

> diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
> new file mode 100644
> index 0000000..95faec0
> --- /dev/null
> +++ b/arch/arm/mach-omap2/board-omap4panda.c
> @@ -0,0 +1,80 @@
> +/*
> + * Board support file for OMAP4430 based Panda.
> + *
> + * Copyright (C) 2010 Texas Instruments
> + *
> + * Author: David Anders <x0132446@xxxxxx>
> + *
> + * Based on mach-omap2/board-4430sdp.c
> + *
> + * Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> + *
> + * Based on mach-omap2/board-3430sdp.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
> + * published by the Free Software Foundation.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +#include <linux/platform_device.h>
> +#include <linux/io.h>
> +#include <linux/gpio.h>
> +#include <linux/usb/otg.h>
> +
> +#include <mach/hardware.h>
> +#include <mach/omap4-common.h>
> +#include <asm/mach-types.h>
> +#include <asm/mach/arch.h>
> +#include <asm/mach/map.h>
> +
> +#include <plat/board.h>
> +#include <plat/common.h>
> +#include <plat/control.h>
> +#include <plat/timer-gp.h>
> +#include <plat/usb.h>
> +
> +static void __init omap4_panda_init_irq(void)
> +{
> +       omap2_init_common_hw(NULL, NULL);
> +#ifdef CONFIG_OMAP_32K_TIMER
> +       omap2_gp_clockevent_set_gptimer(1);
> +#endif
> +       gic_init_irq();
> +       omap_gpio_init();
> +}
> +
> +static struct omap_musb_board_data musb_board_data = {
> +       .interface_type         = MUSB_INTERFACE_UTMI,
> +       .mode                   = MUSB_PERIPHERAL,
> +       .power                  = 100,
> +};
> +
> +static void __init omap4_panda_init(void)
> +{
> +       omap_serial_init();
> +       /* OMAP4 SDP uses internal transceiver so register nop transceiver */

SDP?

> +       usb_nop_xceiv_register();
> +       /* FIXME: allow multi-omap to boot until musb is updated for omap4 */
> +       if (!cpu_is_omap44xx())
> +               usb_musb_init(&musb_board_data);
> +
> +}
> +
> +static void __init omap4_panda_map_io(void)
> +{
> +       omap2_set_globals_443x();
> +       omap44xx_map_common_io();
> +}
> +
> +MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
> +       /* Maintainer: David Anders - Texas Instruments Inc */
> +       .phys_io        = 0x48000000,
> +       .io_pg_offst    = ((0xfa000000) >> 18) & 0xfffc,
> +       .boot_params    = 0x80000100,
> +       .map_io         = omap4_panda_map_io,
> +       .init_irq       = omap4_panda_init_irq,
> +       .init_machine   = omap4_panda_init,
> +       .timer          = &omap_timer,
> +MACHINE_END


IIUC, Panda was built to be compatible with the SDP/Blaze, right?

If so, is there any reason we can't support both boards from the same
board file?

Just add the above MACHINE_START.._END section to board-4430sdp.c to handle
the both machine IDs, but all the functions could be common.

Kevin


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux