
* Simon Glass wrote:
Hi Thierry,
On Mon, Nov 14, 2011 at 11:27 PM, Thierry Reding thierry.reding@avionic-design.de wrote:
The Plutux is a set-top box device based on the Tamonten processor module. It can be connected to a display via an HDMI output.
Changes in v2: * No longer override the default CONFIG_SYS_TEXT_BASE setting.
Signed-off-by: Thierry Reding thierry.reding@avionic-design.de
board/avionic-design/plutux/Makefile | 50 +++++++++++++++++++++++++++ board/avionic-design/plutux/plutux.c | 62 ++++++++++++++++++++++++++++++++++ boards.cfg | 1 + include/configs/plutux.h | 62 ++++++++++++++++++++++++++++++++++ 4 files changed, 175 insertions(+), 0 deletions(-) create mode 100644 board/avionic-design/plutux/Makefile create mode 100644 board/avionic-design/plutux/plutux.c create mode 100644 include/configs/plutux.h
diff --git a/board/avionic-design/plutux/Makefile b/board/avionic-design/plutux/Makefile new file mode 100644 index 0000000..b0c318c --- /dev/null +++ b/board/avionic-design/plutux/Makefile @@ -0,0 +1,50 @@ +# +# (C) Copyright 2010,2011 +# NVIDIA Corporation <www.nvidia.com> +# (C) Copyright 2011 +# Avionic Design GmbH <www.avionic-design.de> +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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 $(TOPDIR)/config.mk
+ifneq ($(OBJTREE),$(SRCTREE)) +$(shell mkdir -p $(obj)../common) +endif
+LIB = $(obj)lib$(BOARD).o
+COBJS := $(BOARD).o +COBJS += ../common/tamonten.o
+SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS))
+$(LIB): $(obj).depend $(OBJS)
- $(call cmd_link_o_target, $(OBJS))
+#########################################################################
+# defines $(obj).depend target +include $(SRCTREE)/rules.mk
+sinclude $(obj).depend
+######################################################################### diff --git a/board/avionic-design/plutux/plutux.c b/board/avionic-design/plutux/plutux.c new file mode 100644 index 0000000..95fd97b --- /dev/null +++ b/board/avionic-design/plutux/plutux.c @@ -0,0 +1,62 @@ +/*
- (C) Copyright 2010,2011
- NVIDIA Corporation <www.nvidia.com>
- (C) Copyright 2011
- Avionic Design GmbH <www.avionic-design.de>
- See file CREDITS for list of people who contributed to this
- project.
- 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 <asm/io.h> +#include <asm/arch/tegra2.h> +#ifdef CONFIG_TEGRA2_MMC +#include <mmc.h>
If you are not implementing MMC, just remove it and all the MMC code below.
I don't understand. What makes you think I don't want MMC? Both the Plutux and the Medcom boot from MMC. If you are referring to the CD being hard-coded, then that is just because I copied from Harmony. You are right though that I should probably fill the implementation. I'm not really sure about the best way to do this, though. The struct mmc passed into board_mmc_getcd() doesn't contain enough information to decide which GPIO to check. I could assume it is always SD4 since that is the only controller that is initialized, but would that be acceptable?
+#endif
+/*
- Routine: gpio_config_uart
- Description: Does nothing on Plutux - no conflict w/SPI.
- */
+void gpio_config_uart(void) +{ +}
+#ifdef CONFIG_TEGRA2_MMC +/*
- Routine: gpio_config_mmc
- Description: Set GPIOs for SD card
- */
+void gpio_config_mmc(void) +{
- /* Not implemented for now */
+}
+/* this is a weak define that we are overriding */ +int board_mmc_getcd(u8 *cd, struct mmc *mmc) +{
- debug("board_mmc_getcd called\n");
- /*
- * Hard-code CD presence for now. Need to add GPIO inputs
- * for Plutux
- */
- *cd = 1;
- return 0;
+} +#endif diff --git a/boards.cfg b/boards.cfg index 8b7a03b..4fed42a 100644 --- a/boards.cfg +++ b/boards.cfg @@ -229,6 +229,7 @@ xaeniax arm pxa xm250 arm pxa zipitz2 arm pxa jornada arm sa1100 +plutux arm armv7 plutux avionic-design tegra2 atngw100 avr32 at32ap - atmel at32ap700x atstk1002 avr32 at32ap atstk1000 atmel at32ap700x atstk1003 avr32 at32ap atstk1000 atmel at32ap700x diff --git a/include/configs/plutux.h b/include/configs/plutux.h new file mode 100644 index 0000000..033eda0 --- /dev/null +++ b/include/configs/plutux.h @@ -0,0 +1,62 @@ +/*
- (C) Copyright 2010,2011
- NVIDIA Corporation <www.nvidia.com>
- (C) Copyright 2011
- Avionic Design GmbH <www.avionic-design.de>
- See file CREDITS for list of people who contributed to this
- project.
- 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
+#include "tegra2-common.h"
+/* High-level configuration options */ +#define TEGRA2_SYSMEM "mem=384M@0M nvmem=128M@384M" +#define V_PROMPT "Tegra2 (Plutux) # " +#define CONFIG_TEGRA2_BOARD_STRING "Avionic Design Plutux" +#define CONFIG_SYS_BOARD_ODMDATA 0x2b2d8011
+/* Board-specific serial config */ +#define CONFIG_SERIAL_MULTI +#define CONFIG_TEGRA2_ENABLE_UARTD /* UARTD: debug UART */ +#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
+#define CONFIG_BOARD_EARLY_INIT_F
+/* SD/MMC */ +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_TEGRA2_MMC +#define CONFIG_CMD_MMC
and this also
+#define CONFIG_DOS_PARTITION +#define CONFIG_EFI_PARTITION +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_FAT
and this if you like, since you can't have an FS without MMC.
+#define CONFIG_FIT
+#define CONFIG_BOOTCOMMAND \
- "mmc rescan;" \
^^^^^^^^
and you probably don't want this
- "ext2load mmc 0 0x17000000 /boot/uImage;" \
- "bootm"
+#endif /* __CONFIG_H */
1.7.7.3
Regards, Simon
Thanks, Thierry