Skip to contentSkip to conversation

Various patches in common/

PATCH Superseded Simon Glass 6 participants 43 messages Nov 3, 2012 – Nov 22, 2012 1 message not in the archive

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover Various patches in common/

This collection of patches to common/ adds the following:

- EDID support for LCD displays
- TPM stress test
- gettime command to find out the time since boot
- Adds coreboot information to the 'version' command
- Fixes LMB on x86
- Allows the console overwrite to be selected by board files
- SHA256 hashing
- Merging of saved environment variables with the default environment
- Reading raw data from a partition of a block device

Also fixes a few minor bugs and tidy-ups.

ARUN MANKUZHI (1):
Add sha256 command for hashing

Anton Staaf (2):
Add gettime command
console: Call overwrite_console before searching for console devices

Doug Anderson (1):
env: Add the ability to merge the saved env with the default.

Kenneth Waters (1):
Add a command to read raw blocks from a partition

Luigi Semenzato (1):
tpm: Add TPM stress test

Simon Glass (4):
arm: Add new bootstage step for the main loop Fix use of conditional LMB
Update time command to avoid using get_timer_masked()
console: Enable function to display console info

Stefan Reinauer (1):
Add coreboot version to u-boot's version command

Taylor Hutt (1):
mmc: Fix incorrect handling of 'read' & 'write' commands

Tom Wai-Hong Tam (3):
edid: Library of EDID decode and print
edid: Add I2C command for printing the EDID
fdt: edid: Enable fdt_add_edid() function when CONFIG_LCD defined

Vadim Bendebury (1):
Add console command to access io space registers

Vincent Palatin (1):
stdio: remove useless strncpy

 README                   |   17 +++
 common/Makefile          |    5 +
 common/cmd_bootm.c       |    2 +-
 common/cmd_gettime.c     |   56 +++++++++
 common/cmd_i2c.c         |   39 ++++++
 common/cmd_io.c          |   93 ++++++++++++++
 common/cmd_mmc.c         |    9 +-
 common/cmd_read.c        |   81 ++++++++++++
 common/cmd_sha256.c      |   57 +++++++++
 common/cmd_time.c        |    5 +-
 common/cmd_tpm.c         |   93 +++++++++++++-
 common/cmd_version.c     |    7 +-
 common/console.c         |   21 +++-
 common/edid.c            |  307 ++++++++++++++++++++++++++++++++++++++++++++++
 common/env_common.c      |   25 ++++
 common/fdt_support.c     |    2 +-
 common/main.c            |    2 +
 common/stdio.c           |    1 -
 include/command.h        |    8 +-
 include/config_cmd_all.h |    5 +
 include/edid.h           |  275 +++++++++++++++++++++++++++++++++++++++++
 21 files changed, 1084 insertions(+), 26 deletions(-)
 create mode 100644 common/cmd_gettime.c
 create mode 100644 common/cmd_io.c
 create mode 100644 common/cmd_read.c
 create mode 100644 common/cmd_sha256.c
 create mode 100644 common/edid.c
 create mode 100644 include/edid.h
Signature · 1 line
1.7.7.3
#1 lore raw

PATCH 1/17 arm: Add new bootstage step for the main loop

Mark when we get to the main loop.

---
 common/main.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
common/main.c +2 -0
index 9507cec..ed1da24 100644
@@ -299,6 +299,8 @@ void main_loop (void)
 	char bcs_set[16];
 #endif /* CONFIG_BOOTCOUNT_LIMIT */
 
+	bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
 #ifdef CONFIG_BOOTCOUNT_LIMIT
 	bootcount = bootcount_load();
 	bootcount++;
Signature · 1 line
1.7.7.3
#2 lore raw

PATCH 1/17 arm: Add new bootstage step for the main loop

Dear Simon Glass,

Quoted 12 lines · In message <[email protected]> you wrote:

Mark when we get to the main loop.

---
 common/main.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
common/main.c +0 -0
index 9507cec..ed1da24 100644

common/main.c void main_loop (void) · line 306

Quoted 8 lines
common/main.c +2 -0
@@ -299,6 +299,8 @@ void main_loop (void)
 	char bcs_set[16];
 #endif /* CONFIG_BOOTCOUNT_LIMIT */
 
+	bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
 #ifdef CONFIG_BOOTCOUNT_LIMIT
 	bootcount = bootcount_load();
 	bootcount++;

In which way is this patch ARM specific?

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Do not underestimate the value of print statements for debugging.
#3 lore raw

PATCH 1/17 arm: Add new bootstage step for the main loop

Hi Wolfgang,

Quoted 18 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 15 lines · In message <[email protected]> you wrote:

Mark when we get to the main loop.

---
 common/main.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
common/main.c +0 -0
index 9507cec..ed1da24 100644
@@ -299,6 +299,8 @@ void main_loop (void)
      char bcs_set[16];
 #endif /* CONFIG_BOOTCOUNT_LIMIT */
 
Quoted 7 lines

common/main.c void main_loop (void) · line 306

Quoted 5 lines
common/main.c +2 -0
+     bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
 #ifdef CONFIG_BOOTCOUNT_LIMIT
      bootcount = bootcount_load();
      bootcount++;

In which way is this patch ARM specific?

It is not - I fixed it up and forgot to remove the tag. I will resubmit once I sort out the rest of the series.

Regards,
Simon

Quoted 11 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Do not underestimate the value of print statements for debugging.

#4 lore raw

PATCH 2/17 Add gettime command

In reply to Simon Glass

From: Anton Staaf <[email protected]>

Gettime returns the current timer value. If CONFIG_SYS_HZ is defined then the timer value is also converted to seconds.

Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000

---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_gettime.c     |   56 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_gettime.c
README +1 -0
index 22fd6b7..a080225 100644
@@ -815,6 +815,7 @@ The following options need to be configured:
 		CONFIG_CMD_FDOS		* Dos diskette Support
 		CONFIG_CMD_FLASH	  flinfo, erase, protect
 		CONFIG_CMD_FPGA		  FPGA device initialization support
+		CONFIG_CMD_GETTIME     * Get time since boot
 		CONFIG_CMD_GO		* the 'go' command (exec code)
 		CONFIG_CMD_GREPENV	* search environment
 		CONFIG_CMD_HWFLOW	* RTS/CTS hw flow control
common/Makefile +1 -0
index 9e43322..0fb79ed 100644
@@ -100,6 +100,7 @@ ifdef CONFIG_FPGA
 COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
 endif
 COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
+COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
 COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
 COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
 COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
common/cmd_gettime.c new file +56 -0

56 lines not on this page · raw message

include/config_cmd_all.h +1 -0
index f434cd0..b87967e 100644
@@ -40,6 +40,7 @@
 #define CONFIG_CMD_FDOS		/* Floppy DOS support		*/
 #define CONFIG_CMD_FLASH	/* flinfo, erase, protect	*/
 #define CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
+#define CONFIG_CMD_GETTIME	/* Get time since boot         */
 #define CONFIG_CMD_HWFLOW	/* RTS/CTS hw flow control	*/
 #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
 #define CONFIG_CMD_IDE		/* IDE harddisk support		*/
Signature · 1 line
1.7.7.3
#5 lore raw

PATCH 2/17 Add gettime command

Hi Simon,

Quoted 26 lines · Simon Glass

From: Anton Staaf <[email protected]>

Gettime returns the current timer value. If CONFIG_SYS_HZ is defined then the timer value is also converted to seconds.

Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000

---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_gettime.c     |   56 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_gettime.c
README +0 -0
index 22fd6b7..a080225 100644

README The following options need to be configured: · line 818

Quoted 4 lines
README +1 -0
@@ -815,6 +815,7 @@ The following options need to be configured:
 		CONFIG_CMD_FDOS		* Dos diskette Support
 		CONFIG_CMD_FLASH	  flinfo, erase, protect
 		CONFIG_CMD_FPGA		  FPGA device initialization support
+		CONFIG_CMD_GETTIME     * Get time since boot

Here should be TABs instead of spaces.

Quoted 64 lines
README +0 -0
 		CONFIG_CMD_GO		* the 'go' command (exec code)
 		CONFIG_CMD_GREPENV	* search environment
 		CONFIG_CMD_HWFLOW	* RTS/CTS hw flow control
common/Makefile +1 -0
index 9e43322..0fb79ed 100644
@@ -100,6 +100,7 @@ ifdef CONFIG_FPGA
 COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
 endif
 COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
+COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
 COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
 COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
 COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
common/cmd_gettime.c new file +43 -0
new file mode 100644
index 0000000..d7d36a9
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ *
+ * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ *
+ * (C) Copyright 2001
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.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
+ */
+
+/*
+ * Get Timer overflows after 2^32 / CONFIG_SYS_HZ (32Khz) = 131072 sec
+ */
+#include <common.h>
+#include <command.h>
+
+static int do_gettime(cmd_tbl_t *cmdtp, int flag, int argc,
+		      char * const argv[])
+{
+	unsigned long int val = get_timer(0);
+
+#ifdef CONFIG_SYS_HZ
+	printf("Timer val: %lu\n", val);
+	printf("Seconds : %lu\n", val / CONFIG_SYS_HZ);
+	printf("Remainder : %lu\n", val % CONFIG_SYS_HZ);
+	printf("sys_hz = %lu\n", (unsigned long int)CONFIG_SYS_HZ);

common/cmd_gettime.c line 53

Quoted 10 lines
common/cmd_gettime.c new file +10 -0
+#else
+	printf("CONFIG_SYS_HZ not defined");
+	printf("Timer Val %lu", val);
+#endif
+
+	return 0;
+}
+
+U_BOOT_CMD(
+	gettime,	1,	1,	do_gettime,

I would put here spaces instead of TABs.

Quoted 17 lines
common/cmd_gettime.c new file +3 -0
+	"get timer val elapsed,\n",
+	"get time elapsed from uboot start\n"
+);
include/config_cmd_all.h +1 -0
index f434cd0..b87967e 100644
@@ -40,6 +40,7 @@
 #define CONFIG_CMD_FDOS		/* Floppy DOS support		*/
 #define CONFIG_CMD_FLASH	/* flinfo, erase, protect	*/
 #define CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
+#define CONFIG_CMD_GETTIME	/* Get time since boot         */
 #define CONFIG_CMD_HWFLOW	/* RTS/CTS hw flow control	*/
 #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
 #define CONFIG_CMD_IDE		/* IDE harddisk support		*/
Signature · 1 line
1.7.7.3

Luka

#6 lore raw

PATCH 2/17 Add gettime command

Hi Luka,

Quoted 24 lines · Luka Perkov

Hi Simon,

Quoted 21 lines · Simon Glass

From: Anton Staaf <[email protected]>

Gettime returns the current timer value. If CONFIG_SYS_HZ is defined then the timer value is also converted to seconds.

Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000

---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_gettime.c     |   56 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_gettime.c
Quoted 11 lines

README The following options need to be configured: · line 818

Quoted 9 lines
README +1 -0
index 22fd6b7..a080225 100644
@@ -815,6 +815,7 @@ The following options need to be configured:
              CONFIG_CMD_FDOS         * Dos diskette Support
              CONFIG_CMD_FLASH          flinfo, erase, protect
              CONFIG_CMD_FPGA           FPGA device initialization support
+             CONFIG_CMD_GETTIME     * Get time since boot

Here should be TABs instead of spaces.

Done

Quoted 69 lines
Quoted 69 lines
README +0 -0
              CONFIG_CMD_GO           * the 'go' command (exec code)
              CONFIG_CMD_GREPENV      * search environment
              CONFIG_CMD_HWFLOW       * RTS/CTS hw flow control
common/Makefile +1 -0
index 9e43322..0fb79ed 100644
@@ -100,6 +100,7 @@ ifdef CONFIG_FPGA
 COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
 endif
 COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
+COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
 COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
 COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
 COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
common/cmd_gettime.c new file +47 -0
new file mode 100644
index 0000000..d7d36a9
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ *
+ * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ *
+ * (C) Copyright 2001
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.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
+ */
+
+/*
+ * Get Timer overflows after 2^32 / CONFIG_SYS_HZ (32Khz) = 131072 sec
+ */
+#include <common.h>
+#include <command.h>
+
+static int do_gettime(cmd_tbl_t *cmdtp, int flag, int argc,
+                   char * const argv[])
+{
+     unsigned long int val = get_timer(0);
+
+#ifdef CONFIG_SYS_HZ
+     printf("Timer val: %lu\n", val);
+     printf("Seconds : %lu\n", val / CONFIG_SYS_HZ);
+     printf("Remainder : %lu\n", val % CONFIG_SYS_HZ);
+     printf("sys_hz = %lu\n", (unsigned long int)CONFIG_SYS_HZ);
+#else
+     printf("CONFIG_SYS_HZ not defined");
+     printf("Timer Val %lu", val);
+#endif
Quoted 8 lines

common/cmd_gettime.c line 53

Quoted 6 lines
common/cmd_gettime.c new file +6 -0
+
+     return 0;
+}
+
+U_BOOT_CMD(
+     gettime,        1,      1,      do_gettime,

I would put here spaces instead of TABs.

I don't actually see any spaces on that line.

Quoted 12 lines
Quoted 12 lines
common/cmd_gettime.c new file +3 -0
+     "get timer val elapsed,\n",
+     "get time elapsed from uboot start\n"
+);
include/config_cmd_all.h +0 -0
index f434cd0..b87967e 100644
@@ -40,6 +40,7 @@
 #define CONFIG_CMD_FDOS              /* Floppy DOS support           */
 #define CONFIG_CMD_FLASH     /* flinfo, erase, protect       */
 #define CONFIG_CMD_FPGA              /* FPGA configuration Support   */
Quoted 8 lines
Quoted 6 lines
include/config_cmd_all.h +1 -1
+#define CONFIG_CMD_GETTIME   /* Get time since boot         */
 #define CONFIG_CMD_HWFLOW    /* RTS/CTS hw flow control      */
 #define CONFIG_CMD_I2C               /* I2C serial bus support       */
 #define CONFIG_CMD_IDE               /* IDE harddisk support         */
--

1.7.7.3

Luka

Regards,
Simon

#7 lore raw

PATCH 2/17 Add gettime command

In reply to Simon Glass

Dear Simon Glass,

Quoted 10 lines · In message <[email protected]> you wrote:

From: Anton Staaf <[email protected]>

Gettime returns the current timer value. If CONFIG_SYS_HZ is defined then the timer value is also converted to seconds.

Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000

What exactly is this good for?

Also, are there any boards where CONFIG_SYS_HZ is NOT set? [Which are these?]

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Earth -- mother of the most beautiful women in the universe.
	-- Apollo, "Who Mourns for Adonais?" stardate 3468.1
#8 lore raw

PATCH 2/17 Add gettime command

Hi Wolfgang,

Quoted 8 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 5 lines · In message <[email protected]> you wrote:

From: Anton Staaf <[email protected]>

Gettime returns the current timer value. If CONFIG_SYS_HZ is defined then the timer value is also converted to seconds.

Quoted 7 lines
Quoted 5 lines

Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000

What exactly is this good for?

Just for displaying the current time value and sys_hz. If you don't think it is useful, please say so and we will drop it.

Quoted 3 lines

Also, are there any boards where CONFIG_SYS_HZ is NOT set? [Which are these?]

There are a few:

(for f in 01_of_04_g59852d03_Merge-branch-\'master/*/autoconf.mk; do if ! grep -q CONFIG_SYS_HZ $f; then echo $f; fi; done) | awk -F/ '{print $2}'
M52277EVB
M52277EVB_stmicro
M53017EVB
M54418TWR
M54418TWR_nand_mii
M54418TWR_nand_rmii
M54418TWR_nand_rmii_lowfreq
M54418TWR_serial_mii
M54418TWR_serial_rmii

Regards,
Simon

Quoted 11 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Earth -- mother of the most beautiful women in the universe.
-- Apollo, "Who Mourns for Adonais?" stardate 3468.1

#9 lore raw

PATCH 3/17 Add a command to read raw blocks from a partition

In reply to Simon Glass

From: Kenneth Waters <[email protected]>

Sometimes data is on a block device and within a partition, but not in a particular filesystem.

This commands permits reading raw data from a partition.

---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_read.c        |   81 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 84 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_read.c
README +1 -0
index a080225..05c5688 100644
@@ -852,6 +852,7 @@ The following options need to be configured:
 		CONFIG_CMD_PING		* send ICMP ECHO_REQUEST to network
 					  host
 		CONFIG_CMD_PORTIO	* Port I/O
+		CONFIG_CMD_READ		* Read raw data from partition
 		CONFIG_CMD_REGINFO	* Register dump
 		CONFIG_CMD_RUN		  run command in env variable
 		CONFIG_CMD_SAVES	* save S record dump
common/Makefile +1 -0
index 0fb79ed..84968f8 100644
@@ -142,6 +142,7 @@ endif
 COBJS-y += cmd_pcmcia.o
 COBJS-$(CONFIG_CMD_PORTIO) += cmd_portio.o
 COBJS-$(CONFIG_CMD_PXE) += cmd_pxe.o
+COBJS-$(CONFIG_CMD_READ) += cmd_read.o
 COBJS-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
 COBJS-$(CONFIG_CMD_REISER) += cmd_reiser.o
 COBJS-$(CONFIG_CMD_SATA) += cmd_sata.o
common/cmd_read.c new file +81 -0

81 lines not on this page · raw message

include/config_cmd_all.h +1 -0
index b87967e..148d676 100644
@@ -71,6 +71,7 @@
 #define CONFIG_CMD_REGINFO	/* Register dump		*/
 #define CONFIG_CMD_REISER	/* Reiserfs support		*/
 #define CONFIG_CMD_RARP		/* rarpboot support		*/
+#define CONFIG_CMD_READ		/* Read data from partition	*/
 #define CONFIG_CMD_RUN		/* run command in env variable	*/
 #define CONFIG_CMD_SAVEENV	/* saveenv			*/
 #define CONFIG_CMD_SAVES	/* save S record dump		*/
Signature · 1 line
1.7.7.3
#10 lore raw

PATCH 4/17 Fix use of conditional LMB

In reply to Simon Glass

This code was not guarded with CONFIG_LMB so failed to build on x86.

---
 common/cmd_bootm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
common/cmd_bootm.c +1 -1
index 83fa5d7..2f52cd0 100644
@@ -537,7 +537,7 @@ int do_bootm_subcommand(cmd_tbl_t *cmdtp, int flag, int argc,
 		}
 			break;
 #endif
-#if defined(CONFIG_OF_LIBFDT)
+#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_LMB)
 		case BOOTM_STATE_FDT:
 		{
 			boot_fdt_add_mem_rsv_regions(&images.lmb,
Signature · 1 line
1.7.7.3
#11 lore raw

PATCH 5/17 stdio: remove useless strncpy

In reply to Simon Glass

From: Vincent Palatin <[email protected]>

The name is already copied when we memopy the whole structure.

Commit-Ready: Vincent Palatin <[email protected]>

---
 common/stdio.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
common/stdio.c +0 -1
index 605ff3f..c7a323f 100644
@@ -135,7 +135,6 @@ struct stdio_dev* stdio_clone(struct stdio_dev *dev)
 		return NULL;
 
 	memcpy(_dev, dev, sizeof(struct stdio_dev));
-	strncpy(_dev->name, dev->name, 16);
 
 	return _dev;
 }
Signature · 1 line
1.7.7.3
#12 lore raw

PATCH 5/17 stdio: remove useless strncpy

Dear Simon Glass,

Quoted 3 lines · In message <[email protected]> you wrote:

From: Vincent Palatin <[email protected]>

The name is already copied when we memopy the whole structure.

memopy?

common/stdio.c struct stdio_dev* stdio_clone(struct stdio_dev *dev) · line 138

Quoted 7 lines
common/stdio.c +0 -1
@@ -135,7 +135,6 @@ struct stdio_dev* stdio_clone(struct stdio_dev *dev)
 		return NULL;
 
 	memcpy(_dev, dev, sizeof(struct stdio_dev));
-	strncpy(_dev->name, dev->name, 16);

_dev contains just the pointer, not the data, so why can we omit copying the data?

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"It is better for civilization to be going down the drain than to  be
coming up it."                                          - Henry Allen
#13 lore raw

PATCH 5/17 stdio: remove useless strncpy

Hi Wolfgang,

Quoted 9 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 3 lines · In message <[email protected]> you wrote:

From: Vincent Palatin <[email protected]>

The name is already copied when we memopy the whole structure.

memopy?

Done

Quoted 10 lines

common/stdio.c struct stdio_dev* stdio_clone(struct stdio_dev *dev) · line 138

Quoted 7 lines
common/stdio.c +0 -1
@@ -135,7 +135,6 @@ struct stdio_dev* stdio_clone(struct stdio_dev *dev)
              return NULL;
 
      memcpy(_dev, dev, sizeof(struct stdio_dev));
-     strncpy(_dev->name, dev->name, 16);

_dev contains just the pointer, not the data, so why can we omit copying the data?

I will add more detail to the commit message:

This is because struct stdio_dev has this field:

char name[16]; /* Device name
*/

So the data is inline, rather than being a pointer.

Quoted 11 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "It is better for civilization to be going down the drain than to be
coming up it." - Henry Allen

Regards,
Simon

#14 lore raw

PATCH 6/17 env: Add the ability to merge the saved env with the default.

In reply to Simon Glass

From: Doug Anderson <[email protected]>

This is a useful mechanism any time you have a way to update the saved environment outside of u-boot. This can be a tool like fw_setenv.

---
 README              |    7 +++++++
 common/env_common.c |   25 +++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)
README +7 -0
index 05c5688..785953f 100644
@@ -4098,6 +4098,13 @@ Please note that changes to some configuration parameters may take
 only effect after the next boot (yes, that's just like Windoze :-).
 
 
+If merge_with_default is in the loaded environment, and is not "0", then
+the loaded environment will be merged on top of the default environment
+instead of just replacing it. This means that your saved environment can
+contain only the variables you need to change from the default. This is
+useful with fw_setenv.
+
+
 Command Line Parsing:
 =====================
 
common/env_common.c +25 -0
index 3d3cb70..f7fe7a2 100644
@@ -34,6 +34,19 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+/*
+ * Create a saved enviroment with this env variable set to "1" to merge the
+ * saved environment on top of the default environment.  The idea is that your
+ * saved environment would just contain variables that you'd like to override
+ * from the default so that as you update u-boot (w/ potential changes to the
+ * default) you get all the updates.
+ *
+ * This is really most useful when you have a tool like fw_setenv to manage
+ * your saved environment.  Using 'saveenv' to save your environment will saved
+ * the _merged_ environment (AKA it won't unmerge things).
+ */
+#define MERGE_WITH_DEFAULT "merge_with_default"
+
 /************************************************************************
  * Default settings to be used when no valid environment is found
  */
@@ -156,7 +169,19 @@ int env_import(const char *buf, int check)
 
 	if (himport_r(&env_htab, (char *)ep->data, ENV_SIZE, '\0', 0,
 			0, NULL, 0 /* do_apply */)) {
+		char *merge_val;
+
 		gd->flags |= GD_FLG_ENV_READY;
+		merge_val = getenv(MERGE_WITH_DEFAULT);
+
+		if (merge_val != NULL && merge_val[0] != '0') {
+			set_default_env("");
+			himport_r(&env_htab, (char *)ep->data, ENV_SIZE, '\0',
+				  H_NOCLEAR, 0, NULL, 0 /* do_apply */);
+			hdelete_r(MERGE_WITH_DEFAULT, &env_htab,
+				  0 /* do_apply */);
+			puts("Merged saved with default environment\n\n");
+		}
 		return 1;
 	}
 
Signature · 1 line
1.7.7.3
#15 lore raw

PATCH 6/17 env: Add the ability to merge the saved env with the default.

Dear Simon Glass,

Quoted 5 lines · In message <[email protected]> you wrote:

From: Doug Anderson <[email protected]>

This is a useful mechanism any time you have a way to update the saved environment outside of u-boot. This can be a tool like fw_setenv.

I don't see the need for this.

What exactly does it that "env reset" followed by "env import" does not do?

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Don't put off for tomorrow what you can  do  today,  because  if  you
enjoy it today you can do it again tomorrow.
#16 lore raw

PATCH 6/17 env: Add the ability to merge the saved env with the default.

Hi Wolfgang,

Quoted 5 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 2 lines · In message <[email protected]> you wrote:

From: Doug Anderson <[email protected]>

Quoted 8 lines
Quoted 3 lines

This is a useful mechanism any time you have a way to update the saved environment outside of u-boot. This can be a tool like fw_setenv.

I don't see the need for this.

What exactly does it that "env reset" followed by "env import" does not do?

It allows the environment to either overwrite or merge, under the control of the imported environment itself. I suppose the same could be achieved by a script anyway. Let's drop it.

Regards,
Simon

Quoted 11 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Don't put off for tomorrow what you can do today, because if you enjoy it today you can do it again tomorrow.

#17 lore raw

PATCH 7/17 Add coreboot version to u-boot's version command

In reply to Simon Glass

From: Stefan Reinauer <[email protected]>

Since U-Boot runs from coreboot on x86, the Coreboot version is an important part of the boot state. This version information is available in the coreboot tables, so print it when the 'version' command is used.

---
 common/cmd_version.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
common/cmd_version.c +6 -1
index e4b2ac1..860c7ea 100644
@@ -25,6 +25,9 @@
 #include <command.h>
 #include <version.h>
 #include <linux/compiler.h>
+#ifdef CONFIG_SYS_COREBOOT
+#include <asm/arch/sysinfo.h>
+#endif
 
 const char __weak version_string[] = U_BOOT_VERSION_STRING;
 
@@ -37,7 +40,9 @@ int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #ifdef LD_VERSION_STRING
 	puts(LD_VERSION_STRING "\n");
 #endif
-
+#ifdef CONFIG_SYS_COREBOOT
+	printf("coreboot-%s (%s)\n", lib_sysinfo.version, lib_sysinfo.build);
+#endif
 	return 0;
 }
 
Signature · 1 line
1.7.7.3
#18 lore raw

PATCH 8/17 Update time command to avoid using get_timer_masked()

In reply to Simon Glass

It is better to use get_timer() by itself now, according to the new timer API.

---
 common/cmd_time.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
common/cmd_time.c +3 -2
index 6dbdbbf..f1891f9 100644
@@ -32,6 +32,7 @@ static int run_command_and_time_it(int flag, int argc, char * const argv[],
 {
 	cmd_tbl_t *cmdtp = find_cmd(argv[0]);
 	int retval = 0;
+	ulong start;
 
 	if (!cmdtp) {
 		printf("%s: command not found\n", argv[0]);
@@ -45,9 +46,9 @@ static int run_command_and_time_it(int flag, int argc, char * const argv[],
 	 * boards.  We could use the new timer API that Graeme is proposing
 	 * so that this piece of code would be arch-independent.
 	 */
-	*cycles = get_timer_masked();
+	start = get_timer(0);
 	retval = cmdtp->cmd(cmdtp, flag, argc, argv);
-	*cycles = get_timer_masked() - *cycles;
+	*cycles = get_timer(start);
 
 	return retval;
 }
Signature · 1 line
1.7.7.3
#19 lore raw

PATCH 9/17 Add sha256 command for hashing

In reply to Simon Glass

From: ARUN MANKUZHI <[email protected]>

sha256 command is added which can be used to test SHA 256 hash algorithm.

---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_sha256.c      |   57 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 60 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_sha256.c
README +1 -0
index 785953f..31e25fe 100644
@@ -861,6 +861,7 @@ The following options need to be configured:
 					  (requires CONFIG_CMD_I2C)
 		CONFIG_CMD_SETGETDCR	  Support for DCR Register access
 					  (4xx only)
+		CONFIG_CMD_SHA256	* Calculate SHA256 for block
 		CONFIG_CMD_SF		* Read/write/erase SPI NOR flash
 		CONFIG_CMD_SHA1SUM	  print sha1 memory digest
 					  (requires CONFIG_CMD_MEMORY)
common/Makefile +1 -0
index 84968f8..6f6f0fa 100644
@@ -150,6 +150,7 @@ COBJS-$(CONFIG_CMD_SF) += cmd_sf.o
 COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
 COBJS-$(CONFIG_CMD_SHA1SUM) += cmd_sha1sum.o
 COBJS-$(CONFIG_CMD_SETEXPR) += cmd_setexpr.o
+COBJS-$(CONFIG_CMD_SHA256) += cmd_sha256.o
 COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
 COBJS-$(CONFIG_CMD_SPIBOOTLDR) += cmd_spibootldr.o
 COBJS-$(CONFIG_CMD_STRINGS) += cmd_strings.o
common/cmd_sha256.c new file +57 -0

57 lines not on this page · raw message

include/config_cmd_all.h +1 -0
index 148d676..efd17e6 100644
@@ -79,6 +79,7 @@
 #define CONFIG_CMD_SDRAM	/* SDRAM DIMM SPD info printout */
 #define CONFIG_CMD_SETEXPR	/* setexpr support		*/
 #define CONFIG_CMD_SETGETDCR	/* DCR support on 4xx		*/
+#define CONFIG_CMD_SHA256	/* Calculate SHA256 for block	*/
 #define CONFIG_CMD_SNTP		/* SNTP support			*/
 #define CONFIG_CMD_SOURCE	/* "source" command support	*/
 #define CONFIG_CMD_SPI		/* SPI utility			*/
Signature · 1 line
1.7.7.3
#20 lore raw

PATCH 9/17 Add sha256 command for hashing

Dear Simon Glass,

Quoted 7 lines · In message <[email protected]> you wrote:

From: ARUN MANKUZHI <[email protected]>

sha256 command is added which can be used to test SHA 256 hash algorithm.

Quoted 7 lines
---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_sha256.c      |   57 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 60 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_sha256.c

Please make sure interface and functionality is similar to what we do elsewhere, i. e. with the crc32 command.

common/cmd_sha256.c line 57

Quoted 5 lines
common/cmd_sha256.c new file +5 -0
+U_BOOT_CMD(
+	sha256,	4, 1, do_sha256,
+	"print hash result",
+	"<input> <inputlength> <output>"
+);

What is "<input>" or "<output>" supposed to mean? I don;t understand this.

"<output>" should not be mandatory. I would appreciate if we could use similar help text as with the crc32 command:

crc32 - checksum calculation

Usage:
crc32 address count [addr]
- compute CRC32 checksum [save at addr]

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Love is an ideal thing, marriage a real thing; a  confusion  of  the
real with the ideal never goes unpunished."                  - Goethe
#21 lore raw

PATCH 9/17 Add sha256 command for hashing

Hi Wolfgang,

Quoted 18 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 7 lines · In message <[email protected]> you wrote:

From: ARUN MANKUZHI <[email protected]>

sha256 command is added which can be used to test SHA 256 hash algorithm.

Quoted 7 lines
---
 README                   |    1 +
 common/Makefile          |    1 +
 common/cmd_sha256.c      |   57 ++++++++++++++++++++++++++++++++++++++++++++++
 include/config_cmd_all.h |    1 +
 4 files changed, 60 insertions(+), 0 deletions(-)
 create mode 100644 common/cmd_sha256.c
Quoted 2 lines

Please make sure interface and functionality is similar to what we do elsewhere, i. e. with the crc32 command.

OK I didn't notice some new patches in SHA1 also, which provide an enhanced command similar to crc32. It's isn't really sensible to duplicate that code. Thanks for pointing that out.

I think we should come up with some sort of generic hashing command which can deal with multiple algorithms. Then SHA1 and SHA256 at least can share the same basic parsing / verification code. I will take a look at this, and put it in a new version of this series.

Quoted 22 lines

common/cmd_sha256.c line 57

Quoted 6 lines
common/cmd_sha256.c new file +5 -0
+U_BOOT_CMD(
+     sha256, 4, 1, do_sha256,
+     "print hash result",
+     "<input> <inputlength> <output>"
+);

What is "<input>" or "<output>" supposed to mean? I don;t understand this.

"<output>" should not be mandatory. I would appreciate if we could use similar help text as with the crc32 command:

crc32 - checksum calculation

Usage:
crc32 address count [addr]
- compute CRC32 checksum [save at addr]

Best regards,

Quoted 8 lines

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Love is an ideal thing, marriage a real thing; a confusion of the
real with the ideal never goes unpunished." - Goethe

Regards,
Simon

#22 lore raw

PATCH 10/17 edid: Library of EDID decode and print

In reply to Simon Glass

From: Tom Wai-Hong Tam <[email protected]>

This implements a library for accessing EDID data from an LCD panel. This is used to obtain information about the panel such as its resolution and type.

This is a tidied-up version of the original code pulled from
https://github.com/ynezz/u-boot-edid.

The changes we made are:
- removed bit fields in the struct;
- removed endianness cases in the struct;
- fixed some wrong definitions;
- fixed to fit 80 columns;
- fixed some code styles.

---
 common/Makefile |    1 +
 common/edid.c   |  307 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/edid.h  |  275 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 583 insertions(+), 0 deletions(-)
 create mode 100644 common/edid.c
 create mode 100644 include/edid.h
common/Makefile +1 -0
index 6f6f0fa..eac38fc 100644
@@ -103,6 +103,7 @@ COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
 COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
 COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
 COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
+COBJS-$(CONFIG_I2C_EDID) += edid.o
 COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
 COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o
 COBJS-$(CONFIG_CMD_INI) += cmd_ini.o
common/edid.c new file +307 -0

307 lines not on this page · raw message

include/edid.h new file +275 -0

275 lines not on this page · raw message

Signature · 1 line
1.7.7.3
#23 lore raw

PATCH 11/17 edid: Add I2C command for printing the EDID

In reply to Simon Glass

From: Tom Wai-Hong Tam <[email protected]>

Add a single command to read the EDID information over I2C.

For example:

SMDK5250 # i2c dev 7
Setting bus to 7
SMDK5250 # i2c edid 50
EDID version: 1.4
Product ID code: 305c
Manufacturer: AUO
Serial number: 00000000
Manufactured in week: 0 year: 2011
Video input definition: digital signal, voltage level 0, blank to black Monitor is non-RGB
Maximum visible display size: 26 cm x 14 cm
Power management features: no active off, no suspend, no standby Estabilished timings:
Standard timings:

        1366x768        60 Hz (detailed)
        1366x768        60 Hz (detailed)

Monitor ID: 2VD2K.B116XW

---
 README           |    7 +++++++
 common/cmd_i2c.c |   39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 0 deletions(-)
README +7 -0
index 31e25fe..daa95cb 100644
@@ -1465,6 +1465,13 @@ CBFS (Coreboot Filesystem) support
 		Normally display is black on white background; define
 		CONFIG_SYS_WHITE_ON_BLACK to get it inverted.
 
+
+		CONFIG_I2C_EDI
+
+		Enables an 'i2c edid' command which can read EDID
+		information over I2C from an attached LCD display.
+
+
 - Splash Screen Support: CONFIG_SPLASH_SCREEN
 
 		If this option is set, the environment is checked for
common/cmd_i2c.c +39 -0
index 82e63e1..e7f7b55 100644
@@ -78,6 +78,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <edid.h>
 #include <environment.h>
 #include <i2c.h>
 #include <malloc.h>
@@ -1246,6 +1247,38 @@ static int do_sdram (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 }
 #endif
 
+/*
+ * Syntax:
+ *	i2c edid {i2c_chip}
+ */
+#if defined(CONFIG_I2C_EDID)
+int do_edid(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+{
+	u_char chip;
+	struct edid1_info edid;
+
+	if (argc < 2) {
+		cmd_usage(cmdtp);
+		return 1;
+	}
+
+	chip = simple_strtoul(argv[1], NULL, 16);
+	if (i2c_read(chip, 0, 1, (uchar *)&edid, sizeof(edid)) != 0) {
+		puts("Error reading EDID content.\n");
+		return 1;
+	}
+
+	if (edid_check_info(&edid)) {
+		puts("Content isn't valid EDID.\n");
+		return 1;
+	}
+
+	edid_print_info(&edid);
+	return 0;
+
+}
+#endif /* CONFIG_I2C_EDID */
+
 #if defined(CONFIG_I2C_MUX)
 static int do_i2c_add_bus(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
@@ -1335,6 +1368,9 @@ static cmd_tbl_t cmd_i2c_sub[] = {
 #if defined(CONFIG_I2C_MULTI_BUS)
 	U_BOOT_CMD_MKENT(dev, 1, 1, do_i2c_bus_num, "", ""),
 #endif  /* CONFIG_I2C_MULTI_BUS */
+#if defined(CONFIG_I2C_EDID)
+	U_BOOT_CMD_MKENT(edid, 1, 1, do_edid, "", ""),
+#endif  /* CONFIG_I2C_EDID */
 	U_BOOT_CMD_MKENT(loop, 3, 1, do_i2c_loop, "", ""),
 	U_BOOT_CMD_MKENT(md, 3, 1, do_i2c_md, "", ""),
 	U_BOOT_CMD_MKENT(mm, 2, 1, do_i2c_mm, "", ""),
@@ -1387,6 +1423,9 @@ U_BOOT_CMD(
 #if defined(CONFIG_I2C_MULTI_BUS)
 	"i2c dev [dev] - show or set current I2C bus\n"
 #endif  /* CONFIG_I2C_MULTI_BUS */
+#if defined(CONFIG_I2C_EDID)
+	"i2c edid chip - print EDID configuration information\n"
+#endif  /* CONFIG_I2C_EDID */
 	"i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device\n"
 	"i2c md chip address[.0, .1, .2] [# of objects] - read from I2C device\n"
 	"i2c mm chip address[.0, .1, .2] - write to I2C device (auto-incrementing)\n"
Signature · 1 line
1.7.7.3

A message that is not in the archive (sent off-list or not yet received): 1351902453-27956-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org

#25 lore raw

PATCH 12/17 fdt: edid: Enable fdt_add_edid() function when CONFIG_LCD defined

From: Tom Wai-Hong Tam <[email protected]>

This function can be used for LCDs as well as monitors.

---
 common/fdt_support.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
common/fdt_support.c +1 -1
index 963ea90..6b9fa05 100644
@@ -1315,7 +1315,7 @@ int fdt_set_status_by_alias(void *fdt, const char* alias,
 	return fdt_set_node_status(fdt, offset, status, error_code);
 }
 
-#if defined(CONFIG_VIDEO)
+#if defined(CONFIG_VIDEO) || defined(CONFIG_LCD)
 int fdt_add_edid(void *blob, const char *compat, unsigned char *edid_buf)
 {
 	int noff;
Signature · 1 line
1.7.7.3
#26 lore raw

PATCH 13/17 mmc: Fix incorrect handling of 'read' & 'write' commands

In reply to Simon Glass

From: Taylor Hutt <[email protected]>

If a malformed 'read' or 'write' command is issued, the Sandbox U-Boot can crash because the command-handling code does no error checking on the number of provided arguments.

This change makes the mmc 'erase', 'read' and 'write' commands only function if the proper number of arguments are supplied.

Also puts the else assignment at the beginning fo the if() statement to shortens the generated code. This removes an unnecessary jump from the generated code.

BRANCH=none

---
 common/cmd_mmc.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
common/cmd_mmc.c +4 -5
index 79a1088..735947b 100644
@@ -250,14 +250,13 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		return 0;
 	}
 
-	if (strcmp(argv[1], "read") == 0)
+	state = MMC_INVALID;
+	if (argc == 5 && strcmp(argv[1], "read") == 0)
 		state = MMC_READ;
-	else if (strcmp(argv[1], "write") == 0)
+	else if (argc == 5 && strcmp(argv[1], "write") == 0)
 		state = MMC_WRITE;
-	else if (strcmp(argv[1], "erase") == 0)
+	else if (argc == 4 && strcmp(argv[1], "erase") == 0)
 		state = MMC_ERASE;
-	else
-		state = MMC_INVALID;
 
 	if (state != MMC_INVALID) {
 		struct mmc *mmc = find_mmc_device(curr_device);
Signature · 1 line
1.7.7.3
#27 lore raw

PATCH 14/17 console: Call overwrite_console before searching for console devices

In reply to Simon Glass

From: Anton Staaf <[email protected]>

Move the overwrite_console function call to before the search for the console devices. This lets the board specific function replace the environment variables and have that picked up by the console code.

---
 common/console.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)
common/console.c +12 -3
index 1177f7d..831897b 100644
@@ -1,4 +1,6 @@
 /*
+ * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ *
  * (C) Copyright 2000
  * Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio at tin.it
  *
@@ -622,6 +624,7 @@ int console_init_r(void)
 {
 	char *stdinname, *stdoutname, *stderrname;
 	struct stdio_dev *inputdev = NULL, *outputdev = NULL, *errdev = NULL;
+	int overwrite_console_retval;
 #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE
 	int i;
 #endif /* CONFIG_SYS_CONSOLE_ENV_OVERWRITE */
@@ -636,13 +639,19 @@ int console_init_r(void)
 	gd->jt[XF_puts] = serial_puts;
 	gd->jt[XF_printf] = serial_printf;
 
-	/* stdin stdout and stderr are in environment */
-	/* scan for it */
+	/*
+	 * stdin stdout and stderr are in environment.
+	 * Call OVERWRITE_CONSOLE function before scanning for stdio, stdout,
+	 * stderr to get latest pointer after update.
+	 * (getenv() returns NULL if var not present)
+	 */
+	overwrite_console_retval = OVERWRITE_CONSOLE;
 	stdinname  = getenv("stdin");
 	stdoutname = getenv("stdout");
 	stderrname = getenv("stderr");
 
-	if (OVERWRITE_CONSOLE == 0) {	/* if not overwritten by config switch */
+	/* if not overwritten by config switch */
+	if (overwrite_console_retval == 0) {
 		inputdev  = search_device(DEV_FLAGS_INPUT,  stdinname);
 		outputdev = search_device(DEV_FLAGS_OUTPUT, stdoutname);
 		errdev    = search_device(DEV_FLAGS_OUTPUT, stderrname);
Signature · 1 line
1.7.7.3
#28 lore raw

PATCH 14/17 console: Call overwrite_console before searching for console devices

Dear Simon Glass,

Quoted 6 lines · In message <[email protected]> you wrote:

From: Anton Staaf <[email protected]>

Move the overwrite_console function call to before the search for the console devices. This lets the board specific function replace the environment variables and have that picked up by the console code.

Can you please explain what "replace the environment variables" means, and how this is related to the console code?

Or what exactly this patch is needed for?

Best regards,

Wolfgang Denk

Signature · 8 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Mike's Law: For a lumber company employing two men and a cut-off saw,
the marginal product of labor for any number  of  additional  workers
equals  zero  until the acquisition of another cut-off saw. Let's not
even consider a chainsaw.
- Mike Dennison [You could always  schedule the saw, though - ed.]
#29 lore raw

PATCH 14/17 console: Call overwrite_console before searching for console devices

Hi Wolfgang,

Quoted 5 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 2 lines · In message <[email protected]> you wrote:

From: Anton Staaf <[email protected]>

Quoted 7 lines
Quoted 4 lines

Move the overwrite_console function call to before the search for the console devices. This lets the board specific function replace the environment variables and have that picked up by the console code.

Can you please explain what "replace the environment variables" means, and how this is related to the console code?

It allows the environment variables (e.g. stdin) to be changed by the overwrite_console function call.

I have had another look at this, and I believe that Allen Warren's patch last week for Tegra does a similar thing:

http://patchwork.ozlabs.org/patch/196412/

So I think we can drop this patch.

Regards,
Simon

Quoted 16 lines

Or what exactly this patch is needed for?

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Mike's Law: For a lumber company employing two men and a cut-off saw, the marginal product of labor for any number of additional workers equals zero until the acquisition of another cut-off saw. Let's not even consider a chainsaw.
- Mike Dennison [You could always schedule the saw, though - ed.]

#30 lore raw

PATCH 14/17 console: Call overwrite_console before searching for console devices

Dear Simon,

Quoted 11 lines · In message <CAPnjgZ1mmjh7xD3ZAqznjfGE2UVG_KM1j0pwF4xsL3pRY23f6Q@mail.gmail.com>…
Quoted 8 lines
Quoted 5 lines

Move the overwrite_console function call to before the search for the console devices. This lets the board specific function replace the environment variables and have that picked up by the console code.

Can you please explain what "replace the environment variables" means, and how this is related to the console code?

It allows the environment variables (e.g. stdin) to be changed by the overwrite_console function call.

Ah! I feared that would be some other way to reset / change / overwrite the _whole_ environment - "the environment variables" is not really specific.

Quoted 1 line

So I think we can drop this patch.

Fine.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Imitation is the sincerest form of plagarism.
#31 lore raw

PATCH 15/17 Add console command to access io space registers

In reply to Simon Glass

From: Vadim Bendebury <[email protected]>

Provide u-boot console functions to access IO space registers. A no thrills implementation, accessing one register at a time.

For example:

    boot > iod 80
    0080: 00000094
    boot > iod.w 80
    0080: 0094
    boot > iod.b 80
    0080: 94
    boot > iow.b 0x80 12
    boot > iod 0x80
    0080: 00000012
---
 common/Makefile          |    1 +
 common/cmd_io.c          |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 include/command.h        |    8 ++--
 include/config_cmd_all.h |    2 +
 4 files changed, 100 insertions(+), 4 deletions(-)
 create mode 100644 common/cmd_io.c
common/Makefile +1 -0
index eac38fc..d8cdca1 100644
@@ -119,6 +119,7 @@ COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
 COBJS-$(CONFIG_ID_EEPROM) += cmd_mac.o
 COBJS-$(CONFIG_CMD_MD5SUM) += cmd_md5sum.o
 COBJS-$(CONFIG_CMD_MEMORY) += cmd_mem.o
+COBJS-$(CONFIG_CMD_IO) += cmd_io.o
 COBJS-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
 COBJS-$(CONFIG_MII) += miiphyutil.o
 COBJS-$(CONFIG_CMD_MII) += miiphyutil.o
common/cmd_io.c new file +93 -0

93 lines not on this page · raw message

include/command.h +4 -4
index 10bc260..476e7cf 100644
@@ -89,10 +89,10 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *
  */
 
 #if defined(CONFIG_CMD_MEMORY)		\
-    || defined(CONFIG_CMD_I2C)		\
-    || defined(CONFIG_CMD_ITEST)	\
-    || defined(CONFIG_CMD_PCI)		\
-    || defined(CONFIG_CMD_PORTIO)
+	|| defined(CONFIG_CMD_I2C)	\
+	|| defined(CONFIG_CMD_ITEST)	\
+	|| defined(CONFIG_CMD_PCI)	\
+	|| defined(CONFIG_CMD_PORTIO)
 #define CMD_DATA_SIZE
 extern int cmd_get_data_size(char* arg, int default_size);
 #endif
include/config_cmd_all.h +2 -0
index efd17e6..500b5cd 100644
@@ -42,11 +42,13 @@
 #define CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
 #define CONFIG_CMD_GETTIME	/* Get time since boot         */
 #define CONFIG_CMD_HWFLOW	/* RTS/CTS hw flow control	*/
+#define CONFIG_CMD_IO		/* Command to access IO ports	*/
 #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
 #define CONFIG_CMD_IDE		/* IDE harddisk support		*/
 #define CONFIG_CMD_IMI		/* iminfo			*/
 #define CONFIG_CMD_IMLS		/* List all found images	*/
 #define CONFIG_CMD_IMMAP	/* IMMR dump support		*/
+#define CONFIG_CMD_IO		/* Access to X86 IO space	*/
 #define CONFIG_CMD_IRQ		/* irqinfo			*/
 #define CONFIG_CMD_ITEST	/* Integer (and string) test	*/
 #define CONFIG_CMD_JFFS2	/* JFFS2 Support		*/
Signature · 1 line
1.7.7.3
#32 lore raw

PATCH 15/17 Add console command to access io space registers

Dear Simon Glass,

Quoted 6 lines · In message <[email protected]> you wrote:

From: Vadim Bendebury <[email protected]>

Provide u-boot console functions to access IO space registers. A no thrills implementation, accessing one register at a time.

For example:

Quoted 9 lines
    boot > iod 80
    0080: 00000094
    boot > iod.w 80
    0080: 0094
    boot > iod.b 80
    0080: 94
    boot > iow.b 0x80 12
    boot > iod 0x80
    0080: 00000012

What are the exact use cases where this is necessary, i. e. where plain md / mw does not work?

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Quantum particles: The dreams that stuff is made of.
#33 lore raw

PATCH 15/17 Add console command to access io space registers

Quoted 20 lines · Wolfgang Denk

Dear Simon Glass,

In message <[email protected]> you

Quoted 6 lines · wrote:

From: Vadim Bendebury <[email protected]>

Provide u-boot console functions to access IO space registers. A no thrills implementation, accessing one register at a time.

For example:

Quoted 9 lines
    boot > iod 80
    0080: 00000094
    boot > iod.w 80
    0080: 0094
    boot > iod.b 80
    0080: 94
    boot > iow.b 0x80 12
    boot > iod 0x80
    0080: 00000012
Quoted 4 lines

What are the exact use cases where this is necessary, i. e. where plain md / mw does not work?

Wolfgang,

the x86 architecture defines this different kind of address space, device IO, in addition to memory address space. This is a remnant of the days when address lines were sparse.

On typical x86 systems devices are accessed through this device IO space, and this patch adds a command which allows the operator to read and write device registers on such systems.

Cheers,
/vb

Best regards,

Quoted 13 lines

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Quantum particles: The dreams that stuff is made of.
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#34 lore raw

PATCH 16/17 console: Enable function to display console info

In reply to Simon Glass

The CONFIG_SYS_CONSOLE_INFO_QUIET option should suppress the console information, but allow boards to display it later if required. Adjust the code to support this.

This is used to avoid printing the information while the LCD display is not ready, since it only becomes ready when stdio init is complete.

BRANCH=snow

---
 common/console.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
common/console.c +4 -2
index 831897b..d3bbc26 100644
@@ -593,7 +593,6 @@ int console_init_f(void)
 
 void stdio_print_current_devices(void)
 {
-#ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
 	/* Print information */
 	puts("In:    ");
 	if (stdio_devices[stdin] == NULL) {
@@ -615,7 +614,6 @@ void stdio_print_current_devices(void)
 	} else {
 		printf ("%s\n", stdio_devices[stderr]->name);
 	}
-#endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */
 }
 
 #ifdef CONFIG_SYS_CONSOLE_IS_IN_ENV
@@ -694,7 +692,9 @@ done:
 
 	gd->flags |= GD_FLG_DEVINIT;	/* device initialization completed */
 
+#ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
 	stdio_print_current_devices();
+#endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */
 
 #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE
 	/* set the environment variables (will overwrite previous env settings) */
@@ -769,7 +769,9 @@ int console_init_r(void)
 
 	gd->flags |= GD_FLG_DEVINIT;	/* device initialization completed */
 
+#ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
 	stdio_print_current_devices();
+#endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */
 
 	/* Setting environment variables */
 	for (i = 0; i < 3; i++) {
Signature · 1 line
1.7.7.3
#35 lore raw

PATCH 16/17 console: Enable function to display console info

Dear Simon Glass,

Quoted 8 lines · In message <[email protected]> you wrote:

The CONFIG_SYS_CONSOLE_INFO_QUIET option should suppress the console information, but allow boards to display it later if required. Adjust the code to support this.

This is used to avoid printing the information while the LCD display is not ready, since it only becomes ready when stdio init is complete.

BRANCH=snow

Please get such comments out of the commit messages.

Quoted 4 lines
---
 common/console.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

This is broken. You miss the fact that stdio_print_current_devices() gets called in a number of other places as well (you should have asked yourself why it isn't a static function). See at least board/mpl/mip405/mip405.c

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"In matrimony, to hesitate is sometimes to be saved."        - Butler
#36 lore raw

PATCH 16/17 console: Enable function to display console info

HI Wolfgang,

Quoted 7 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 4 lines · In message <[email protected]> you wrote:

The CONFIG_SYS_CONSOLE_INFO_QUIET option should suppress the console information, but allow boards to display it later if required. Adjust the code to support this.

Quoted 6 lines
Quoted 4 lines

This is used to avoid printing the information while the LCD display is not ready, since it only becomes ready when stdio init is complete.

BRANCH=snow

Please get such comments out of the commit messages.

Yes done, Tom has merged the patman patch for this.

Quoted 10 lines
Quoted 5 lines
---
 common/console.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

This is broken. You miss the fact that stdio_print_current_devices() gets called in a number of other places as well (you should have asked yourself why it isn't a static function). See at least board/mpl/mip405/mip405.c

Yes I realise that, but why would a board specifically call stdio_print_current_devices() if the board's config has defined CONFIG_SYS_CONSOLE_INFO_QUIET?

It seems to me that if we want to print it, we should be able to call the function to do so, and that the option is only there to stop the generic code from printing it when we don't want it.

The README says only:

- CONFIG_SYS_CONSOLE_INFO_QUIET
Suppress display of console information at boot.

Or do I misunderstand this?

Regards,
Simon

Quoted 10 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"In matrimony, to hesitate is sometimes to be saved." - Butler

#37 lore raw

PATCH 17/17 tpm: Add TPM stress test

In reply to Simon Glass

From: Luigi Semenzato <[email protected]>

Add a simple command to stress-test a TPM (Trusted Platform Module).

Commit-Ready: Stefan Reinauer <[email protected]>

---
 common/cmd_tpm.c |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)
common/cmd_tpm.c +87 -6
index 6f5cd48..0970a6f 100644
@@ -63,19 +63,68 @@ static int tpm_process(int argc, char * const argv[], cmd_tbl_t *cmdtp)
 	return rv;
 }
 
-static int do_tpm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+#define CHECK(exp) do {							\
+		int _rv = exp;						\
+		if (_rv) {						\
+			printf("CHECK: %s %d %x\n", #exp, __LINE__, _rv);\
+		}							\
+	} while (0)
+
+static int tpm_process_stress(int repeat_count)
 {
+	int i;
 	int rv = 0;
+	u8 request[] = {0x0, 0xc1,
+			0x0, 0x0, 0x0, 0x16,
+			0x0, 0x0, 0x0, 0x65,
+			0x0, 0x0, 0x0, 0x4,
+			0x0, 0x0, 0x0, 0x4,
+			0x0, 0x0, 0x1, 0x9};
+	u8 response[MAX_TRANSACTION_SIZE];
+	u32 rlength = MAX_TRANSACTION_SIZE;
+
+	CHECK(tis_init());
+
+	for (i = 0; i < repeat_count; i++) {
+		CHECK(tis_open());
+		rv = tis_sendrecv(request, sizeof(request), response, &rlength);
+		if (rv) {
+			printf("tpm test failed at step %d with 0x%x\n", i, rv);
+			CHECK(tis_close());
+			break;
+		}
+		CHECK(tis_close());
+		if ((response[6] || response[7] || response[8] || response[9])
+		    && response[9] != 0x26) {
+			/* Ignore postinit errors */
+			printf("tpm command failed at step %d\n"
+			       "tpm error code: %02x%02x%02x%02x\n", i,
+			       response[6], response[7],
+			       response[8], response[9]);
+			rv = -1;
+			break;
+		}
+	}
+	return rv;
+}
 
-	/*
-	 * Verify that in case it is present, the first argument, it is
-	 * exactly one character in size.
-	 */
-	if (argc < 7) {
+
+static int do_tpm_many(cmd_tbl_t *cmdtp, int flag,
+		       int argc, char * const argv[], int repeat_count)
+
+{
+	int rv = 0;
+
+	if (argc < 7 && repeat_count == 0) {
 		puts("command should be@least six bytes in size\n");
 		return -1;
 	}
 
+	if (repeat_count > 0) {
+		rv = tpm_process_stress(repeat_count);
+		return rv;
+	}
+
 	if (tis_init()) {
 		puts("tis_init() failed!\n");
 		return -1;
@@ -96,8 +145,40 @@ static int do_tpm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	return rv;
 }
 
+
+static int do_tpm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	return do_tpm_many(cmdtp, flag, argc, argv, 0);
+}
+
+
 U_BOOT_CMD(tpm, MAX_TRANSACTION_SIZE, 1, do_tpm,
 	   "<byte> [<byte> ...]   - write data and read response",
 	   "send arbitrary data (at least 6 bytes) to the TPM "
 	   "device and read the response"
 );
+
+static int do_tpm_stress(cmd_tbl_t *cmdtp, int flag,
+			 int argc, char * const argv[])
+{
+	long unsigned int n;
+	int rv;
+
+	if (argc != 2) {
+		puts("usage: tpm_stress <count>\n");
+		return -1;
+	}
+
+	rv = strict_strtoul(argv[1], 10, &n);
+	if (rv) {
+		puts("tpm_stress: bad count");
+		return -1;
+	}
+
+	return do_tpm_many(cmdtp, flag, argc, argv, n);
+}
+
+U_BOOT_CMD(tpm_stress, 2, 1, do_tpm_stress,
+	   "<n>   - stress-test communication with TPM",
+	   "Repeat a TPM transaction (request-response) N times"
+);
Signature · 1 line
1.7.7.3
#38 lore raw

PATCH 17/17 tpm: Add TPM stress test

Dear Simon Glass,

Quoted 11 lines · In message <[email protected]> you wrote:

From: Luigi Semenzato <[email protected]>

Add a simple command to stress-test a TPM (Trusted Platform Module).

Commit-Ready: Stefan Reinauer <[email protected]>

---
 common/cmd_tpm.c |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)

See previous comments about TPM code. Please let's dump all this unused stuff.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"You'll pay to know what you really think."        - J.R. "Bob" Dobbs
#39 lore raw

PATCH 17/17 tpm: Add TPM stress test

Hi Wolfgang,

Quoted 9 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 6 lines · In message <[email protected]> you wrote:

From: Luigi Semenzato <[email protected]>

Add a simple command to stress-test a TPM (Trusted Platform Module).

Quoted 9 lines
Quoted 5 lines

Commit-Ready: Stefan Reinauer <[email protected]>

---
 common/cmd_tpm.c |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)

See previous comments about TPM code. Please let's dump all this unused stuff.

As mentioned, patches are pending to enable this for two boards (ARM and x86).

Regards,
Simon

Quoted 9 lines

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"You'll pay to know what you really think." - J.R. "Bob" Dobbs

#40 lore raw

PATCH 17/17 tpm: Add TPM stress test

Dear Simon Glass,

Quoted 20 lines

Hi Wolfgang,

Quoted 17 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 13 lines · In message <[email protected]> you wrote:

From: Luigi Semenzato <[email protected]>

Add a simple command to stress-test a TPM (Trusted Platform Module).

Commit-Ready: Stefan Reinauer <[email protected]>

---

 common/cmd_tpm.c |   93

++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 87 insertions(+), 6 deletions(-)

Quoted 5 lines
Quoted 2 lines

See previous comments about TPM code. Please let's dump all this unused stuff.

As mentioned, patches are pending to enable this for two boards (ARM and x86).

Hm, does this TPM argument still go on?

Actually, my position is I'd be all for dumping it right away (I even posted a patch some time ago), if it wasn't for SJG posting patches adding another TPM chip. Moreover, now I see there are patches for cmd_tpm.c . So I see a lot of effort invested into doing the TPM right.

What is the actual problem with keeping this code in our codebase and patching it then? It's all used now, problem solved, or am I missing something?

Best regards,
Marek Vasut

#41 lore raw

PATCH 17/17 tpm: Add TPM stress test

Hi,

Quoted 30 lines · Marek Vasut

Dear Simon Glass,

Quoted 20 lines

Hi Wolfgang,

Quoted 17 lines · Wolfgang Denk

Dear Simon Glass,

Quoted 13 lines · In message <[email protected]> you wrote:

From: Luigi Semenzato <[email protected]>

Add a simple command to stress-test a TPM (Trusted Platform Module).

Commit-Ready: Stefan Reinauer <[email protected]>

---

 common/cmd_tpm.c |   93

++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 87 insertions(+), 6 deletions(-)

Quoted 5 lines
Quoted 2 lines

See previous comments about TPM code. Please let's dump all this unused stuff.

As mentioned, patches are pending to enable this for two boards (ARM and x86).

Hm, does this TPM argument still go on?

Quoted 8 lines

Actually, my position is I'd be all for dumping it right away (I even posted a patch some time ago), if it wasn't for SJG posting patches adding another TPM chip. Moreover, now I see there are patches for cmd_tpm.c . So I see a lot of effort invested into doing the TPM right.

What is the actual problem with keeping this code in our codebase and patching it then? It's all used now, problem solved, or am I missing something?

Yes there has been quite a bit of effort on this. I hope we can keep this code, and perhaps even others way wish to help. I am looking at how to create a very simple kernel verification method based around a FIT image.

Quoted 2 lines

Best regards,
Marek Vasut

Regards,
Simon

#42 lore raw

PATCH 17/17 tpm: Add TPM stress test

Dear Simon Glass,

[...]

Quoted 6 lines
Quoted 3 lines

What is the actual problem with keeping this code in our codebase and patching it then? It's all used now, problem solved, or am I missing something?

Yes there has been quite a bit of effort on this. I hope we can keep this code, and perhaps even others way wish to help.

I'm not sure how many others have any interest in the TPM, it's chromebook-only thing so far ;-)

Quoted 3 lines

I am looking at
how to create a very simple kernel verification method based around a FIT image.

I'd say all in due time. I'd say start a new thread about this and properly discuss it before implementing.

Best regards,
Marek Vasut

#43 lore raw

PATCH 17/17 tpm: Add TPM stress test

In reply to Simon Glass

Dear Simon,

Quoted 5 lines · In message <CAPnjgZ1aa+ro+H1Ci1M5GUqJoK-VTrS_oKSMbGs4sWiNZZmBzA@mail.gmail.com>…

Yes there has been quite a bit of effort on this. I hope we can keep this code, and perhaps even others way wish to help. I am looking at how to create a very simple kernel verification method based around a FIT image.

So far, and even after all our discussions, these are but announcements and half-baked promises. But there isno real progress visible in mainline code. Yes, there are bits and pieces thrown at us, but they are not really useful in mainline - you argument "not yet", but my statement is as long as such code is not ready, we should not bother adding it here. And especially I do not want to see this dead body grow even more.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Backed up the system lately?