> -----Original Message----- > From: Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx] > Sent: Friday, June 18, 2010 10:14 AM > To: Anders, David > Cc: linux-omap@xxxxxxxxxxxxxxx; tony@xxxxxxxxxxx > Subject: Re: [PATCH] Add OMAP4 Panda support > > [please don't top-post: http://elinux.org/Netiquette] > > "Anders, David" <x0132446@xxxxxx> writes: > > > 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. > > In my view, all this helps argue the case for having shared code > instead of the copy-paste duplicating. > > I am not opposed to having a separate board file for Panda. What I am > opposed to is having a separate board file if it's mostly identical to > another board. > > If Panda and Blaze are mostly the same, they should share the same > board code and use their separate board files to express their > differences. See how this was done for Zoom2 and Zoom3 which have a > shared set of peripherals and also a shared debug board. > > When customers go to build their designs based on Panda, they can > still start from the Panda board file and start hacking away. These > custom boards will then also use the shared common code instead of > duplicating. > > Kevin Panda will have different Ethernet, different video outputs, different usb host controller configurations, and a number of different pin muxes. Is there a quantitative way of deciding if there are enough similarities/differences between boards for having combined/individual machine files? I agree that Blaze and SDP are similar enough not to have separate files. > > > > -----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