Skip to contentSkip to conversation

OMAP3: Add Corscience Tricorder board

PATCH New Thomas Weber 3 participants 3 messages Dec 15, 2011 – Dec 18, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 OMAP3: Add Corscience Tricorder board

Tricorder is a board which is very similar to the Devkit8000. It is designed as a base platform for further medical devices.

www.corscience.de/en/medical-engineering/products/multiparameter/mp10-board.html

---
 MAINTAINERS                            |    1 +
 board/corscience/tricorder/Makefile    |   46 ++++
 board/corscience/tricorder/tricorder.c |  114 ++++++++++
 board/corscience/tricorder/tricorder.h |  375 ++++++++++++++++++++++++++++++++
 boards.cfg                             |    1 +
 include/configs/tricorder.h            |  325 +++++++++++++++++++++++++++
 6 files changed, 862 insertions(+), 0 deletions(-)
 create mode 100644 board/corscience/tricorder/Makefile
 create mode 100644 board/corscience/tricorder/tricorder.c
 create mode 100644 board/corscience/tricorder/tricorder.h
 create mode 100644 include/configs/tricorder.h
MAINTAINERS +1 -0
index a56ca10..fd5ea72 100644
@@ -889,6 +889,7 @@ Stephen Warren <[email protected]>
 Thomas Weber <[email protected]>
 
 	devkit8000	ARM ARMV7 (OMAP3530 SoC)
+	tricorder	ARM ARMV7 (OMAP3503 SoC)
 
 Lei Wen <[email protected]>
 
board/corscience/tricorder/Makefile new file +46 -0

46 lines not on this page · raw message

board/corscience/tricorder/tricorder.c new file +114 -0

114 lines not on this page · raw message

board/corscience/tricorder/tricorder.h new file +375 -0

375 lines not on this page · raw message

boards.cfg +1 -0
index 1e5b3e0..5b53db5 100644
@@ -210,6 +210,7 @@ omap3_evm_quick_mmc          arm         armv7       evm                 ti
 omap3_evm_quick_nand         arm         armv7       evm                 ti             omap3
 omap3_sdp3430                arm         armv7       sdp3430             ti             omap3
 devkit8000                   arm         armv7       devkit8000          timll          omap3
+tricorder                    arm         armv7       tricorder           corscience     omap3
 omap4_panda                  arm         armv7       panda               ti             omap4
 omap4_sdp4430                arm         armv7       sdp4430             ti             omap4
 omap5_evm                    arm         armv7       omap5_evm           ti		omap5
include/configs/tricorder.h new file +325 -0

325 lines not on this page · raw message

Signature · 1 line
1.7.8
#1 lore raw

PATCH 1/1 OMAP3: Add Corscience Tricorder board

Quoted 4 lines · Thomas Weber

Tricorder is a board which is very similar to the Devkit8000. It is designed as a base platform for further medical devices.

www.corscience.de/en/medical-engineering/products/multiparameter/mp10-board.html

[snip]

board/corscience/tricorder/tricorder.c line 94

Quoted 7 lines
board/corscience/tricorder/tricorder.c new file +7 -0
+#if defined(CONFIG_GENERIC_MMC) && !(defined(CONFIG_SPL_BUILD))
+int board_mmc_init(bd_t *bis)
+{
+ ? ? ? omap_mmc_init(0);
+ ? ? ? return 0;
+}
+#endif

Just return omap_mmc_init(0) :)

[snip]

Quoted 1 line

+++ b/include/configs/tricorder.h

[snip]

include/configs/tricorder.h line 79

Quoted 2 lines
include/configs/tricorder.h new file +2 -0
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR

Unused

[snip]

Review

Quoted 3 lines
(quoted diff) +3 -0
+/* TWL4030 */
+#define CONFIG_TWL4030_POWER ? ? ? ? ? 1
+#define CONFIG_TWL4030_LED ? ? ? ? ? ? 1

Do these need the '1' ?

Review

Quoted 10 lines
(quoted diff) +10 -0
+/* Board NAND Info */
+#define CONFIG_SYS_NO_FLASH ? ? ? ? ? ?/* no NOR flash */
+#define CONFIG_MTD_DEVICE ? ? ? ? ? ? ?/* needed for mtdparts commands */
+#define MTDIDS_DEFAULT ? ? ? ? ? ? ? ? "nand0=nand"
+#define MTDPARTS_DEFAULT ? ? ? ? ? ? ? "mtdparts=nand:" \
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "512k(u-boot-spl)," \
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "1920k(u-boot)," \
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "128k(u-boot-env)," \
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "4m(kernel)," \
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "-(fs)"

Curious, medical device but not using redundant env? Or something special hidden in those extra-large sizes?

[snip]

Quoted 8 lines

+ ? ? ? "nandargs=" \
+ ? ? ? ? ? ? ? "run commonargs; " \
+ ? ? ? ? ? ? ? "setenv bootargs ${bootargs} " \
+ ? ? ? ? ? ? ? "omapfb.mode=lcd:${lcdmode} " \
+ ? ? ? ? ? ? ? "omapdss.def_disp=${defaultdisplay} " \
+ ? ? ? ? ? ? ? "root=/dev/mtdblock4 " \
+ ? ? ? ? ? ? ? "rootfstype=ubifs " \
+ ? ? ? ? ? ? ? "${kernelopts}\0" \

Curious, this works too? I'm used to the 'root=ubi0:rootfs rootwait' or so syntax

[snip]

Quoted 1 line

+#define CONFIG_SYS_MAXARGS ? ? ? ? ? ? 128 ? ? /* max number of command args */

What? I swear this is just for args passed to u-boot commands and unrelated to args passed to the kernel via bootargs= so 16 or so is a nice sane default.

[snip]

Quoted 1 line

+#define CONFIG_SYS_NAND_BAD_BLOCK_POS ?0

NAND_LARGE_BADBLOCK_POS please.

Signature · 1 line
Tom
#2 lore raw

PATCH 1/1 OMAP3: Add Corscience Tricorder board

In reply to Thomas Weber

Hi Thomas,

Several comments in addition to Tom's comments:

Quoted 18 lines · Thomas Weber

Tricorder is a board which is very similar to the Devkit8000. It is designed as a base platform for further medical devices.

www.corscience.de/en/medical-engineering/products/multiparameter/mp10-board.html

---
 MAINTAINERS                            |    1 +
 board/corscience/tricorder/Makefile    |   46 ++++
 board/corscience/tricorder/tricorder.c |  114 ++++++++++
 board/corscience/tricorder/tricorder.h |  375 ++++++++++++++++++++++++++++++++
 boards.cfg                             |    1 +
 include/configs/tricorder.h            |  325 +++++++++++++++++++++++++++
 6 files changed, 862 insertions(+), 0 deletions(-)
 create mode 100644 board/corscience/tricorder/Makefile
 create mode 100644 board/corscience/tricorder/tricorder.c
 create mode 100644 board/corscience/tricorder/tricorder.h
 create mode 100644 include/configs/tricorder.h

[...]

Quoted 7 lines
board/corscience/tricorder/tricorder.c new file +1 -0
new file mode 100644
index 0000000..3426f2e
@@ -0,0 +1,114 @@
+/*

board/corscience/tricorder/tricorder.c line 11

Quoted 10 lines
board/corscience/tricorder/tricorder.c new file +10 -0
+ * (C) Copyright 2004-2008
+ * Texas Instruments, <www.ti.com>
+ *
+ * Author :
+ *	Sunil Kumar <[email protected]>
+ *	Shashi Ranjan <[email protected]>
+ *
+ * (C) Copyright 2011
+ * Corscience GmbH & Co. KG, <www.corscience.de>
+ * Thomas Weber <[email protected]>

Something is wrong here with authorship...
IMO, you should be the author,
and people above listed in derived from ... or something.

Quoted 11 lines
board/corscience/tricorder/tricorder.c new file +11 -0
+ *
+ * Derived from Devkit8000 code by
+ * Frederik Kriewitz <[email protected]>
+ *
+ * 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.

board/corscience/tricorder/tricorder.c line 32

Quoted 10 lines
board/corscience/tricorder/tricorder.c new file +10 -0
+ *
+ * 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

I would also, remove the postal address, as it may change (and did in the past), but it is your call.

Quoted 12 lines
board/corscience/tricorder/tricorder.c new file +12 -0
+ */
+#include <common.h>
+#include <twl4030.h>
+#include <asm/io.h>
+#include <asm/arch/mmc_host_def.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/mem.h>
+#include <asm/mach-types.h>
+#include "tricorder.h"
+
+DECLARE_GLOBAL_DATA_PTR;

board/corscience/tricorder/tricorder.c line 54

Quoted 10 lines
board/corscience/tricorder/tricorder.c new file +10 -0
+
+/*
+ * Routine: board_init
+ * Description: Early hardware init.
+ */
+int board_init(void)
+{
+	gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
+	/* board id for Linux */
+	gd->bd->bi_arch_number = MACH_TYPE_TRICORDER;

This should be done in board config file (see the README). Also, after moving this to config file, I think, the include for mach-types.h can be removed.

Quoted 5 lines
board/corscience/tricorder/tricorder.c new file +5 -0
+	/* boot param addr */
+	gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+
+	return 0;
+}

[...]

Quoted 5 lines
board/corscience/tricorder/tricorder.h new file +0 -0
new file mode 100644
index 0000000..c875dfa

[...]

Quoted 2 lines

+#define MUX_TRICORDER() \
+ /* SDRC */\

Please, use tabs for indentation and please fix globally.

[...]

board/corscience/tricorder/tricorder.h line 308

Quoted 1 line
board/corscience/tricorder/tricorder.h new file +1 -0
+	/* */\

This is really a nice comment, but...
That is one of the reasons I like the whole thing done in a function or an array rather than in a multi-line macro...

[...]

Quoted 5 lines
include/configs/tricorder.h new file +0 -0
new file mode 100644
index 0000000..6a66bee

[...]

include/configs/tricorder.h line 107

Quoted 7 lines
include/configs/tricorder.h new file +7 -0
+/* I2C */
+#define CONFIG_HARD_I2C
+#define CONFIG_SYS_I2C_SPEED		100000
+#define CONFIG_SYS_I2C_SLAVE		1
+#define CONFIG_SYS_I2C_BUS		0
+#define CONFIG_SYS_I2C_BUS_SELECT	1
+#define CONFIG_DRIVER_OMAP34XX_I2C	1

Some of these should not have a value, right?

include/configs/tricorder.h line 261

Quoted 4 lines
include/configs/tricorder.h new file +4 -0
+#define CONFIG_ENV_IS_IN_NAND		1
+#define SMNAND_ENV_OFFSET		0x260000 /* environment starts here */
+
+#define CONFIG_ENV_OFFSET		SMNAND_ENV_OFFSET

Can't the above be inlined?

[...]

Signature · 2 lines
Regards,
Igor.