[PATCH 3/3] pcm051: Add inital support
Sascha Hauer
s.hauer at pengutronix.de
Fri Sep 21 02:37:58 EDT 2012
On Thu, Sep 20, 2012 at 08:34:28PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 16:02 Thu 20 Sep , Teresa Gámez wrote:
> > Added initial support for Phytec phyCORE-AM335x.
> >
> > Signed-off-by: Teresa Gámez <t.gamez at phytec.de>
> > ---
> > arch/arm/Makefile | 1 +
> > arch/arm/boards/pcm051/Makefile | 1 +
> > arch/arm/boards/pcm051/board.c | 72 ++++++++++++
> > arch/arm/boards/pcm051/config.h | 21 ++++
> > arch/arm/boards/pcm051/env/boot/disk | 10 ++
> > arch/arm/boards/pcm051/env/init/automount | 32 +++++
> > arch/arm/boards/pcm051/env/init/bootargs-base | 9 ++
> > arch/arm/boards/pcm051/env/init/general | 15 +++
> > arch/arm/boards/pcm051/env/init/hostname | 8 ++
> > arch/arm/boards/pcm051/env/network/eth0 | 15 +++
> > arch/arm/configs/pcm051_defconfig | 151 +++++++++++++++++++++++++
> > arch/arm/mach-omap/Kconfig | 10 ++
> > 12 files changed, 345 insertions(+), 0 deletions(-)
> > create mode 100644 arch/arm/boards/pcm051/Makefile
> > create mode 100644 arch/arm/boards/pcm051/board.c
> > create mode 100644 arch/arm/boards/pcm051/config.h
> > create mode 100644 arch/arm/boards/pcm051/env/boot/disk
> > create mode 100644 arch/arm/boards/pcm051/env/init/automount
> > create mode 100644 arch/arm/boards/pcm051/env/init/bootargs-base
> > create mode 100644 arch/arm/boards/pcm051/env/init/general
> > create mode 100644 arch/arm/boards/pcm051/env/init/hostname
> > create mode 100644 arch/arm/boards/pcm051/env/network/eth0
> > create mode 100644 arch/arm/configs/pcm051_defconfig
> >
> > diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> > index 8e660be..ccb4805 100644
> > --- a/arch/arm/Makefile
> > +++ b/arch/arm/Makefile
> > @@ -108,6 +108,7 @@ board-$(CONFIG_MACH_PCM027) := pcm027
> > board-$(CONFIG_MACH_PCM037) := pcm037
> > board-$(CONFIG_MACH_PCM038) := pcm038
> > board-$(CONFIG_MACH_PCM043) := pcm043
> > +board-$(CONFIG_MACH_PCM051) := pcm051
> > board-$(CONFIG_MACH_PM9261) := pm9261
> > board-$(CONFIG_MACH_PM9263) := pm9263
> > board-$(CONFIG_MACH_PM9G45) := pm9g45
> > diff --git a/arch/arm/boards/pcm051/Makefile b/arch/arm/boards/pcm051/Makefile
> > new file mode 100644
> > index 0000000..dcfc293
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/Makefile
> > @@ -0,0 +1 @@
> > +obj-y += board.o
> > diff --git a/arch/arm/boards/pcm051/board.c b/arch/arm/boards/pcm051/board.c
> > new file mode 100644
> > index 0000000..7cb85f1
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/board.c
> > @@ -0,0 +1,72 @@
> > +/*
> > + * pcm051 - phyCORE-AM335x Board Initalization Code
> > + *
> > + * Copyright (C) 2012 Teresa Gámez, Phytec Messtechnik GmbH
> > + *
> > + * Based on arch/arm/boards/omap/board-beagle.c
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU General Public License as
> > + * published by the Free Software Foundation; either version 2 of
> > + * the License, or (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > + * MA 02111-1307 USA
> > + */
> > +
> > +#include <common.h>
> > +#include <init.h>
> > +#include <sizes.h>
> > +#include <ns16550.h>
> > +#include <asm/armlinux.h>
> > +#include <generated/mach-types.h>
> > +#include <mach/silicon.h>
> > +
> > +static struct NS16550_plat serial_plat = {
> > + .clock = 48000000, /* 48MHz (APLL96/2) */
> > + .shift = 2,
> > +};
> > +
> > +/**
> > + * @brief UART serial port initialization
> > + * arch
> > + *
> > + * @return result of device registration
> > + */
> > +static int pcm051_console_init(void)
> > +{
> > + /* Register the serial port */
> > + add_ns16550_device(DEVICE_ID_DYNAMIC, AM33XX_UART0_BASE, 1024,
> > + IORESOURCE_MEM_8BIT, &serial_plat);
> > +
> > + return 0;
> > +}
> > +console_initcall(pcm051_console_init);
> > +
> > +static int pcm051_mem_init(void)
> > +{
> > + arm_add_mem_device("ram0", AM33XX_DRAM_ADDR_SPACE_START, SZ_512M);
> > +
> > + return 0;
> > +}
> > +mem_initcall(pcm051_mem_init);
> > +
> > +static int pcm051_devices_init(void)
> > +{
> > + add_generic_device("omap-hsmmc", DEVICE_ID_DYNAMIC, NULL,
> > + (AM33XX_MMCHS0_BASE + 0x100), SZ_4K,
> > + IORESOURCE_MEM, NULL);
> > +
> > + armlinux_set_bootparams((void *)(AM33XX_DRAM_ADDR_SPACE_START + 0x100));
> > + armlinux_set_architecture(MACH_TYPE_PCM051);
> > +
> > + return 0;
> > +}
> > +device_initcall(pcm051_devices_init);
> > diff --git a/arch/arm/boards/pcm051/config.h b/arch/arm/boards/pcm051/config.h
> > new file mode 100644
> > index 0000000..8b2b876
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/config.h
> > @@ -0,0 +1,21 @@
> > +/**
> > + * This program is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU General Public License as
> > + * published by the Free Software Foundation; either version 2 of
> > + * the License, or (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > + * MA 02111-1307 USA
> > + */
> > +
> > +#ifndef __CONFIG_H
> > +#define __CONFIG_H
> > +
> > +#endif /* __CONFIG_H */
> > diff --git a/arch/arm/boards/pcm051/env/boot/disk b/arch/arm/boards/pcm051/env/boot/disk
> > new file mode 100644
> > index 0000000..c627991
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/boot/disk
> > @@ -0,0 +1,10 @@
> > +#!/bin/sh
> > +
> > +if [ "$1" = menu ]; then
> > + boot-menu-add-entry "$0" "SD Card"
> > + exit
> > +fi
> > +
> > +global.bootm.image="/mnt/fat/linuximage"
> > +#global.bootm.oftree="/env/oftree"
> > +bootargs-root-disk -p mmcblk0p2 -t ext3
> > diff --git a/arch/arm/boards/pcm051/env/init/automount b/arch/arm/boards/pcm051/env/init/automount
> > new file mode 100644
> > index 0000000..644a793
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/init/automount
> > @@ -0,0 +1,32 @@
> > +#!/bin/sh
> > +
> > +if [ "$1" = menu ]; then
> > + init-menu-add-entry "$0" "Automountpoints"
> > + exit
> > +fi
> > +
> > +# automount server returned from dhcp server
> > +
> > +#mkdir -p /mnt/tftp-dhcp
> > +#automount /mnt/tftp-dhcp 'ifup eth0 && mount $eth0.serverip tftp /mnt/tftp-dhcp'
> > +
> > +# automount nfs server example
> > +
> > +#nfshost=somehost
> > +#mkdir -p /mnt/${nfshost}
> > +#automount /mnt/$nfshost "ifup eth0 && mount ${nfshost}:/tftpboot nfs /mnt/${nfshost}"
> > +
> > +# static tftp server example
> > +
> > +#mkdir -p /mnt/tftp
> > +#automount -d /mnt/tftp 'ifup eth0 && mount $serverip tftp /mnt/tftp'
> > +
> > +# FAT on usb disk example
> > +
> > +#mkdir -p /mnt/fat
> > +#automount -d /mnt/fat 'usb && [ -e /dev/disk0.0 ] && mount /dev/disk0.0 /mnt/fat'
> > +
> > +# FAT on mmc card
> > +
> > +mkdir -p /mnt/fat
> > +automount -d /mnt/fat '[ -e /dev/disk0.0 ] && mount /dev/disk0.0 /mnt/fat'
> > diff --git a/arch/arm/boards/pcm051/env/init/bootargs-base b/arch/arm/boards/pcm051/env/init/bootargs-base
> > new file mode 100644
> > index 0000000..b3139b9
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/init/bootargs-base
> > @@ -0,0 +1,9 @@
> > +#!/bin/sh
> > +
> > +if [ "$1" = menu ]; then
> > + init-menu-add-entry "$0" "Base bootargs"
> > + exit
> > +fi
> > +
> > +global.linux.bootargs.base="console=ttyO0,115200"
> > +bootargs-ip
> > diff --git a/arch/arm/boards/pcm051/env/init/general b/arch/arm/boards/pcm051/env/init/general
> > new file mode 100644
> > index 0000000..743c864
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/init/general
> > @@ -0,0 +1,15 @@
> > +#!/bin/sh
> > +
> > +if [ "$1" = menu ]; then
> > + init-menu-add-entry "$0" "general config settings"
> > + exit
> > +fi
> > +
> > +# user (used for network filenames)
> > +global.user=
> > +
> > +# timeout in seconds before the default boot entry is started
> > +global.autoboot_timeout=3
> > +
> > +# default boot entry (one of /env/boot/*)
> > +global.boot.default=disk
> > diff --git a/arch/arm/boards/pcm051/env/init/hostname b/arch/arm/boards/pcm051/env/init/hostname
> > new file mode 100644
> > index 0000000..3ea1e0a
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/init/hostname
> > @@ -0,0 +1,8 @@
> > +#!/bin/sh
> > +
> > +if [ "$1" = menu ]; then
> > + init-menu-add-entry "$0" "hostname"
> > + exit
> > +fi
> > +
> > +global.hostname=pcm051
> > diff --git a/arch/arm/boards/pcm051/env/network/eth0 b/arch/arm/boards/pcm051/env/network/eth0
> > new file mode 100644
> > index 0000000..818b9f1
> > --- /dev/null
> > +++ b/arch/arm/boards/pcm051/env/network/eth0
> > @@ -0,0 +1,15 @@
> > +#!/bin/sh
> > +
> > +# ip setting (static/dhcp)
> > +ip=dhcp
> > +
> > +# static setup used if ip=static
> > +#ipaddr=
> > +#netmask=
> > +#gateway=
> > +#serverip=
> > +
> > +# MAC address if needed
> > +#ethaddr=xx:xx:xx:xx:xx:xx
> > +
> > +# put code to discover eth0 (i.e. 'usb') to /env/network/eth0-discover
> > diff --git a/arch/arm/configs/pcm051_defconfig b/arch/arm/configs/pcm051_defconfig
> > new file mode 100644
> > index 0000000..6788e61
> > --- /dev/null
> > +++ b/arch/arm/configs/pcm051_defconfig
> use savedefconfig to generate it
I think this is generated using savedefconfig, otherwise there would be
comment in the file.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list