All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
@ 2017-05-22 11:17 Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY Simon Glass
                   ` (12 more replies)
  0 siblings, 13 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

Every now and then someone wants to chain-load U-Boot on a Chromebook.
The procedure is not very complicated but there are some oddities.

This series updates a few things with allow U-Boot to start on nyan-big
in this way and adds documentation on how to do it. This provides a
central place where the procedure on different devices can be documented.


Simon Glass (12):
  arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
  tegra: Init clocks even when SPL did not run
  tegra: dts: Add cros-ec SPI settings
  arm: Rename HCTR to HTCR
  arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
  arm: Disable LPAE if not enabled
  tegra: spi: Wait a little after setting the clocks
  tegra: nyan-big: Enable the dhrystone benchmark
  tegra: video: Don't power up the SOR twice
  tegra: Enable CP15 init
  tegra: clock: Avoid a divide-by-zero error
  README: Add instructions for chain-loading U-Boot

 arch/arm/cpu/arm720t/start.S                 |   6 +-
 arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
 arch/arm/include/asm/arch-tegra/clock.h      |   3 +
 arch/arm/lib/cache-cp15.c                    |  13 +-
 arch/arm/mach-tegra/board2.c                 |   3 +
 arch/arm/mach-tegra/clock.c                  |  10 +-
 arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
 configs/nyan-big_defconfig                   |   2 +
 doc/README.chromium                          | 222 +++++++++++++++++++++++++++
 doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
 doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
 drivers/spi/tegra114_spi.c                   |   1 +
 drivers/video/tegra124/sor.c                 |   9 ++
 include/configs/tegra-common-post.h          |   2 +-
 14 files changed, 292 insertions(+), 6 deletions(-)
 create mode 100644 doc/README.chromium
 create mode 100644 doc/chromium/devkeys/kernel.keyblock
 create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk

-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-23  1:15   ` Tom Rini
  2017-05-22 11:17 ` [U-Boot] [PATCH 02/12] tegra: Init clocks even when SPL did not run Simon Glass
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

This option allows skipping the call to lowlevel() while still performing
CP15 init. Support this on ARM720T so it can be used with Tegra.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/cpu/arm720t/start.S | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S
index 0bb3441fb8..365d8f08cb 100644
--- a/arch/arm/cpu/arm720t/start.S
+++ b/arch/arm/cpu/arm720t/start.S
@@ -38,7 +38,8 @@ reset:
 	 * we do sys-critical inits only at reboot,
 	 * not when booting from ram!
 	 */
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && \
+		!defined(CONFIG_SKIP_LOWLEVEL_INIT_ONLY)
 	bl	cpu_init_crit
 #endif
 
@@ -62,7 +63,8 @@ c_runtime_cpu_setup:
  *************************************************************************
  */
 
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && \
+		!defined(CONFIG_SKIP_LOWLEVEL_INIT_ONLY)
 cpu_init_crit:
 
 	mov	ip, lr
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 02/12] tegra: Init clocks even when SPL did not run
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 03/12] tegra: dts: Add cros-ec SPI settings Simon Glass
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

At present early clock init happens in SPL. If SPL did not run (because
for example U-Boot is chain-loaded from another boot loader) then the
clocks are not set as U-Boot expects.

Add a function to detect this and call the early clock init in U-Boot
proper.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/include/asm/arch-tegra/clock.h |  3 +++
 arch/arm/mach-tegra/board2.c            |  3 +++
 arch/arm/mach-tegra/clock.c             |  5 +++++
 arch/arm/mach-tegra/tegra124/clock.c    | 18 ++++++++++++++++++
 4 files changed, 29 insertions(+)

diff --git a/arch/arm/include/asm/arch-tegra/clock.h b/arch/arm/include/asm/arch-tegra/clock.h
index 301de4a899..92180db321 100644
--- a/arch/arm/include/asm/arch-tegra/clock.h
+++ b/arch/arm/include/asm/arch-tegra/clock.h
@@ -288,6 +288,9 @@ void clock_init(void);
 /* Initialize the PLLs */
 void clock_early_init(void);
 
+/* @return true if hardware indicates that clock_early_init() was called */
+bool clock_early_init_done(void);
+
 /* Returns a pointer to the clock source register for a peripheral */
 u32 *get_periph_source_reg(enum periph_id periph_id);
 
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index e0a39e1a32..bd137969f0 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -181,6 +181,9 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
 
 int board_early_init_f(void)
 {
+	if (!clock_early_init_done())
+		clock_early_init();
+
 #if defined(CONFIG_TEGRA_DISCONNECT_UDC_ON_BOOT)
 #define USBCMD_FS2 (1 << 15)
 	{
diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index 090dba629c..ce68c7d0cc 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -824,3 +824,8 @@ int clock_external_output(int clk_id)
 
 	return 0;
 }
+
+__weak bool clock_early_init_done(void)
+{
+	return true;
+}
diff --git a/arch/arm/mach-tegra/tegra124/clock.c b/arch/arm/mach-tegra/tegra124/clock.c
index 5e4406102f..5ae718b342 100644
--- a/arch/arm/mach-tegra/tegra124/clock.c
+++ b/arch/arm/mach-tegra/tegra124/clock.c
@@ -891,6 +891,24 @@ void clock_early_init(void)
 	udelay(2);
 }
 
+/*
+ * clock_early_init_done - Check if clock_early_init() has been called
+ *
+ * Check a register that we set up to see if clock_early_init() has already
+ * been called.
+ *
+ * @return true if clock_early_init() was called, false if not
+ */
+bool clock_early_init_done(void)
+{
+	struct clk_rst_ctlr *clkrst = (struct clk_rst_ctlr *)NV_PA_CLK_RST_BASE;
+	u32 val;
+
+	val = readl(&clkrst->crc_sclk_brst_pol);
+
+	return val == 0x20002222;
+}
+
 void arch_timer_init(void)
 {
 	struct sysctr_ctlr *sysctr = (struct sysctr_ctlr *)NV_PA_TSC_BASE;
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 03/12] tegra: dts: Add cros-ec SPI settings
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 02/12] tegra: Init clocks even when SPL did not run Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR Simon Glass
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

At present the interrupt does not work and the SPI bus runs much less
quickly than it should. Add settings to fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/dts/tegra124-nyan-big-u-boot.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi b/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
index fff1d78169..65c3851aff 100644
--- a/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
+++ b/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
@@ -12,4 +12,13 @@
 			u-boot,dm-pre-reloc;
 		};
 	};
+
+	spi at 7000d400 {
+		spi-deactivate-delay = <200>;
+		spi-max-frequency = <3000000>;
+
+		cros_ec: cros-ec at 0 {
+			ec-interrupt = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
+		};
+	};
 };
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (2 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 03/12] tegra: dts: Add cros-ec SPI settings Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-23  1:15   ` Tom Rini
  2017-05-22 11:17 ` [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T Simon Glass
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

This appears to be a typo. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/lib/cache-cp15.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index e9bbcf5122..0f7020a315 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -147,7 +147,7 @@ static inline void mmu_setup(void)
 #endif
 
 	if (is_hyp()) {
-		/* Set HCTR to enable LPAE */
+		/* Set HTCR to enable LPAE */
 		asm volatile("mcr p15, 4, %0, c2, c0, 2"
 			: : "r" (reg) : "memory");
 		/* Set HTTBR0 */
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (3 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-23  1:15   ` Tom Rini
  2017-05-22 11:17 ` [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled Simon Glass
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use
instructions which are invalid on ARMv4T. This happens on Tegra since it
has an ARMv4T boot CPU. Add a check for the architecture version to allow
the code to be built. It will not actually be executed by the boot CPU,
but needs to compile.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/lib/cache-cp15.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index 0f7020a315..f293573601 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -129,7 +129,7 @@ static inline void mmu_setup(void)
 		dram_bank_mmu_setup(i);
 	}
 
-#ifdef CONFIG_ARMV7_LPAE
+#if defined(CONFIG_ARMV7_LPAE) && __LINUX_ARM_ARCH__ != 4
 	/* Set up 4 PTE entries pointing to our 4 1GB page tables */
 	for (i = 0; i < 4; i++) {
 		u64 *page_table = (u64 *)(gd->arch.tlb_addr + (4096 * 4));
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (4 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-23  1:15   ` Tom Rini
  2017-05-22 11:17 ` [U-Boot] [PATCH 07/12] tegra: spi: Wait a little after setting the clocks Simon Glass
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

If CONFIG_ARMV7_LPAE is not defined we should make sure that the feature
is disabled. This can happen if U-Boot is chain-loaded from another boot
loader which does enable LPAE.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/lib/cache-cp15.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index f293573601..cf852c061b 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -172,6 +172,15 @@ static inline void mmu_setup(void)
 			: : "r" (MEMORY_ATTRIBUTES) : "memory");
 	}
 #elif defined(CONFIG_CPU_V7)
+	if (is_hyp()) {
+		/* Set HTCR to disable LPAE */
+		asm volatile("mcr p15, 4, %0, c2, c0, 2"
+			: : "r" (0) : "memory");
+	} else {
+		/* Set TTBCR to disable LPAE */
+		asm volatile("mcr p15, 0, %0, c2, c0, 2"
+			: : "r" (0) : "memory");
+	}
 	/* Set TTBR0 */
 	reg = gd->arch.tlb_addr & TTBR0_BASE_ADDR_MASK;
 #if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 07/12] tegra: spi: Wait a little after setting the clocks
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (5 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 08/12] tegra: nyan-big: Enable the dhrystone benchmark Simon Glass
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

For devices that need a delay between SPI transactions we seem to need an
additional delay before the first one if the CPU is running at full speed.
Add this, under control of the existing setting. At present it will only
be enabled with the Chrome OS EC.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 drivers/spi/tegra114_spi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/spi/tegra114_spi.c b/drivers/spi/tegra114_spi.c
index 013bc82380..04b4fce061 100644
--- a/drivers/spi/tegra114_spi.c
+++ b/drivers/spi/tegra114_spi.c
@@ -149,6 +149,7 @@ static int tegra114_spi_probe(struct udevice *bus)
 			       bus->name, priv->freq, rate);
 		}
 	}
+	udelay(plat->deactivate_delay_us);
 
 	/* Clear stale status here */
 	setbits_le32(&regs->fifo_status,
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 08/12] tegra: nyan-big: Enable the dhrystone benchmark
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (6 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 07/12] tegra: spi: Wait a little after setting the clocks Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice Simon Glass
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

Enable this so we can roughly measure CPU performance. Also enable the
cache command to allow for timing.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 configs/nyan-big_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index e53cf66168..e2b2babd4c 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -28,6 +28,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_BMP=y
+CONFIG_CMD_CACHE=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
@@ -76,5 +77,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_TEGRA124=y
 CONFIG_VIDEO_BRIDGE=y
+CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
 CONFIG_ERRNO_STR=y
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (7 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 08/12] tegra: nyan-big: Enable the dhrystone benchmark Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-06-07 12:52   ` Anatolij Gustschin
  2017-05-22 11:17 ` [U-Boot] [PATCH 10/12] tegra: Enable CP15 init Simon Glass
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

If U-Boot is the secondary boot loader, or has been run from itself, the
SOR may already be powered up. Powering it up again causes a hang, so
detect this situation and skip it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 drivers/video/tegra124/sor.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c
index 1f5e572bda..700ab25d46 100644
--- a/drivers/video/tegra124/sor.c
+++ b/drivers/video/tegra124/sor.c
@@ -466,11 +466,20 @@ void tegra_dc_sor_set_lane_count(struct udevice *dev, u8 lane_count)
 static int tegra_dc_sor_power_up(struct udevice *dev, int is_lvds)
 {
 	struct tegra_dc_sor_data *sor = dev_get_priv(dev);
+	u32 reg;
 	int ret;
 
 	if (sor->power_is_up)
 		return 0;
 
+	/*
+	 * If for some reason it is already powered up, don't do it again.
+	 * This can happen if U-Boot is the secondary boot loader.
+	 */
+	reg = tegra_sor_readl(sor, DP_PADCTL(sor->portnum));
+	if (reg & DP_PADCTL_PD_TXD_0_NO)
+		return 0;
+
 	/* Set link bw */
 	tegra_dc_sor_set_link_bandwidth(dev, is_lvds ?
 					CLK_CNTRL_DP_LINK_SPEED_LVDS :
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 10/12] tegra: Enable CP15 init
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (8 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 11/12] tegra: clock: Avoid a divide-by-zero error Simon Glass
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

At present CP15 init is disabled on tegra. Use the correct option so that
this init is performed on boot. This enables the instruction cache, for
example, which is critical to the machine running at full speed.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 include/configs/tegra-common-post.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
index 1a4a7e2320..846b09aadc 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -105,7 +105,7 @@
 /* overrides for SPL build here */
 #ifdef CONFIG_SPL_BUILD
 
-#define CONFIG_SKIP_LOWLEVEL_INIT
+#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
 
 /* remove I2C support */
 #ifdef CONFIG_SYS_I2C_TEGRA
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 11/12] tegra: clock: Avoid a divide-by-zero error
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (9 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 10/12] tegra: Enable CP15 init Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-22 11:17 ` [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot Simon Glass
  2017-05-31 18:28 ` [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Matthew Gorski
  12 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

The clock fix-up for tegra is still present in the code. It causes a
divide-by-zero bug after relocation when chain-loading U-Boot from
coreboot. Fix this by adding a check.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 7468676 (ARM: tegra: fix clock_get_periph_rate() for UART clocks)
---

 arch/arm/mach-tegra/clock.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index ce68c7d0cc..dc58b3027d 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -339,8 +339,11 @@ unsigned long clock_get_periph_rate(enum periph_id periph_id,
 		 * return value doesn't help. In summary this clock driver is
 		 * quite broken but I'm afraid I have no idea how to fix it
 		 * without completely replacing it.
+		 *
+		 * Be careful to avoid a divide by zero error.
 		 */
-		div -= 2;
+		if (div >= 1)
+			div -= 2;
 		break;
 #endif
 	default:
-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (10 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 11/12] tegra: clock: Avoid a divide-by-zero error Simon Glass
@ 2017-05-22 11:17 ` Simon Glass
  2017-05-29 13:29   ` Peter Robinson
  2017-05-31 18:28 ` [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Matthew Gorski
  12 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-05-22 11:17 UTC (permalink / raw)
  To: u-boot

Most Chromebooks support chain-loading U-Boot but instructions are
somewhat scattered. Add a README to hold this information within the
U-Boot tree. Also add the standard developer keys to simplify the
instructions, since they are small.

For now this only supports nyan-big.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 doc/README.chromium                          | 222 +++++++++++++++++++++++++++
 doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
 doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
 3 files changed, 222 insertions(+)
 create mode 100644 doc/README.chromium
 create mode 100644 doc/chromium/devkeys/kernel.keyblock
 create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk

diff --git a/doc/README.chromium b/doc/README.chromium
new file mode 100644
index 0000000000..1dd111c65d
--- /dev/null
+++ b/doc/README.chromium
@@ -0,0 +1,222 @@
+Running U-Boot from coreboot on Chromebooks
+===========================================
+
+U-Boot can be used as a secondary boot loader in a few situations such as from
+UEFI and coreboot (see README.x86). Recent Chromebooks use coreboot even on
+ARM platforms to start up the machine.
+
+This document aims to provide a guide to booting U-Boot on a Chromebook. It
+is only a starting point, and there are many guides on the interwebs. But
+placing this information in the U-Boot tree should make it easier to find for
+those who use U-Boot habitually.
+
+Most of these platforms are supported by U-Boot natively, but it is risky to
+replace the ROM unless you have a servo board and cable to restore it with.
+
+
+For all of these the standard U-Boot build instructions apply. For example on
+ARM:
+
+   sudo apt install gcc-arm-linux-gnueabi
+   mkdir b
+   make O=b/nyan_big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
+
+You can obtain the vbutil_kernel utility here:
+
+   https://drive.google.com/open?id=0B7WYZbZ9zd-3dHlVVXo4VXE2T0U
+
+
+Snow (Samsung ARM Chromebook)
+-----------------------------
+
+See here:
+
+https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
+
+
+Nyan-big
+--------
+
+Compiled based on information here:
+https://lists.denx.de/pipermail/u-boot/2015-March/209530.html
+https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
+https://lists.denx.de/pipermail/u-boot/2017-May/289491.html
+https://github.com/chromeos-nvidia-androidtv/gnu-linux-on-acer-chromebook-13#copy-data-to-the-sd-card
+
+1. Patch U-Boot
+
+Open include/configs/tegra124-common.h
+
+Change:
+
+#define CONFIG_SYS_TEXT_BASE	0x80110000
+
+to:
+
+#define CONFIG_SYS_TEXT_BASE	0x81000100
+
+
+2. Build U-Boot
+
+   mkdir b
+   make -j8 O=b/nyan-big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
+
+
+3. Create a file called u-boot.its as follows:
+
+/dts-v1/;
+
+/ {
+	description = "U-Boot mainline";
+	#address-cells = <1>;
+
+	images {
+		kernel at 1 {
+			description = "U-Boot mainline";
+			type = "kernel_noload";
+			arch = "arm";
+			os = "linux";
+			data = /incbin/("./b/nyan-big/u-boot.bin");
+			compression = "none";
+			load = <0>;
+			entry = <0>;
+			hash at 2 {
+				algo = "sha1";
+			};
+		};
+
+		fdt at 1{
+			description = "tegra124-nyan-big.dtb";
+			data = /incbin/("./b/nyan-big/u-boot.dtb");
+			type = "flat_dt";
+			arch = "arm";
+			compression = "none";
+			hash at 1{
+				algo = "sha1";
+			};
+		};
+	};
+
+	configurations {
+		default = "config at 1";
+		config at 1 {
+			description = "Boot U-Boot";
+			kernel = "kernel at 1";
+			fdt = "fdt at 1";
+		};
+	};
+};
+
+
+Note that the device tree node is required, even though it is not actually
+used by U-Boot. This is because the Chromebook expects to pass it to the
+kernel, and crashes if it is not present.
+
+
+4. Build and sign an image
+
+   ./b/nyan-big/tools/mkimage -f u-boot.its u-boot-chromium.fit
+   vbutil_kernel --arch arm --keyblock doc/chromium/devkeys/kernel.keyblock \
+	--signprivate doc/chromium/devkeys/kernel_data_key.vbprivk \
+	--version 1 --config dummy.txt --vmlinuz u-boot-chromium.fit \
+	--bootloader dummy.txt --pack u-boot.kpart
+
+
+5. Prepare an SD card
+
+   DISK=/dev/sdc   # Replace with your actual SD card device
+   sudo cgpt create $DISK
+   sudo cgpt add -b 34 -s 32768 -P 1 -S 1 -t kernel $DISK
+   sudo cgpt add -b 32802 -s 2000000 -t rootfs $DISK
+   sudo gdisk $DISK   #
+
+
+6. Write U-Boot to the SD card
+
+   sudo dd if=u-boot.kpart of=/dev/sdc1; sync
+
+
+7. Start it up
+
+Reboot the device in dev mode. Make sure that you have USB booting enabled. To
+do this, login as root (via Ctrl-Alt-forward_arrow) and type
+'enable_dev_usb_boot'. You only need to do this once.
+
+Reboot the device with the SD card inserted. Press Clrl-U at the developer
+mode screen. It should show something like the following on the display:
+
+   U-Boot 2017.07-00637-g242eb42-dirty (May 22 2017 - 06:14:21 -0600)
+
+   Model: Acer Chromebook 13 CB5-311
+   Board: Google/NVIDIA Nyan-big, ID: 1
+
+   Net:   No ethernet found.
+   Hit any key to stop autoboot:  0
+   Tegra124 (Nyan-big) #
+
+
+8. Known problems
+
+On the serial console the word MMC is chopped at the start of the line:
+
+C:   sdhci at 700b0000: 2, sdhci at 700b0400: 1, sdhci at 700b0600: 0
+
+This is likely due to some problem with change-over of the serial driver
+during relocation (or perhaps updating the clock setup in board_init()).
+
+
+9. Notes
+
+To check that you copied the u-boot.its file correctly, use these commands.
+You should see that the data at 0x100 in u-boot-chromium.fit is the first few
+bytes of U-Boot:
+
+   hd u-boot-chromium.fit |head -20
+   ...
+   00000100  b8 00 00 ea 14 f0 9f e5  14 f0 9f e5 14 f0 9f e5  |................|
+
+   hd b/nyan-big/u-boot.bin |head
+   00000000  b8 00 00 ea 14 f0 9f e5  14 f0 9f e5 14 f0 9f e5  |................|
+
+
+The 'data' property of the FIT is set up to start at offset 0x100 bytes into
+the file. The change to CONFIG_SYS_TEXT_BASE is also an offset of 0x100 bytes
+from the load address. If this changes, you either need to modify U-Boot to be
+fully relocatable, or expect it to hang.
+
+
+Other notes
+===========
+
+flashrom
+--------
+
+   Used to make a backup of your firmware, or to replace it.
+
+   See: https://www.chromium.org/chromium-os/packages/cros-flashrom
+
+
+coreboot
+--------
+
+Coreboot itself is not designed to actually boot an OS. Instead, a program
+called Depthcharge is used. This originally came out of U-Boot and was then
+heavily hacked and modified such that is is almost unrecognisable. It does
+include a very small part of the U-Boot command-line interface but is not
+usable as a general-purpose boot loader.
+
+In addition, it has a very unusual design in that it does not do device init
+itself, but instead relies on coreboot. This is similar to (in U-Boot) having
+a SPI driver with an empty probe() method, relying on whatever was set up
+beforehand. It can be quite hard to figure out between these two code bases
+what settings are actually used. When chain-loading into U-Boot we must be
+careful to reinit anything that U-Boot expects. If not, some peripherals (or
+the whole machine) may not work. This makes the process of chainloading more
+complicated than it could be on some platforms.
+
+Finally, it supports only a subset of the U-Boot's FIT format. In particular
+it uses a fixed address to load the FIT and does not support load/exec
+addresses. This means that U-Boot must be able to boot from whatever
+address Depthcharge happens to use (it is the CONFIG_KERNEL_START setting
+in Depthcharge). In practice this means that the data in the kernel at 1 FIT node
+(see above) must start at the same address as U-Boot's CONFIG_SYS_TEXT_BASE.
diff --git a/doc/chromium/devkeys/kernel.keyblock b/doc/chromium/devkeys/kernel.keyblock
new file mode 100644
index 0000000000000000000000000000000000000000..9740be4e60070658d01e96c13acba8e726f68a59
GIT binary patch
literal 1208
zcmZ?v2=e!J^$%uZU|?Vb;vFnN0tgm>1V8{vS3qeGDD422WMF`avqSj`P?`g(4r(0O
zY><=#5T9mpaFo?;<IfE~b7uK$=~H)<jvTToS}LUYuR?YXb1Ki2UAED2GsL>quTPJ1
z>(Ke2mAdzM<e7q(jDEE}&U!MrMWX936wcpb_1vZDVsrQ0oRpdCZ+D%!c&&Nal2<Dm
zW#>yr_58T4rnsp(c+!WgqdkJV>YPu at g)hvz`magDHh1sz4KIGncd$uw9qpf%>5=KE
z6?A>OaYc9j^yRg8E@<CuOh0MAa*G@{N60b8V+zlXamI5UWn#^Cm?o(3bWw+S*5zBb
zZk5SAvDNvP+BRd+3eQ?KR}mJ0#}?jcb7FK}++@3Qn01OwwQ^^htkG`e3ED;1Cj<ux
z2wgbzsHm~PW}~{(oBi4$*G?zC+Hz&Zz0db;FN)u5>- at 4%BktA~cgfj@&UwB{zU3s-
zDziH0`k}uj(pLo+xood$O=RA6CFP-K`=n=gET_!b^*&-ApV^G-mwZGDr&O$Od#?ZT
zr-JXlTi5M74 at R!rn=pI&k~D_h)fYTl^Q#$E4tqR0o;YL9)5+~DoK}-U<hM3xiaxFX
zcW3?Ohe=1a-PV`l_#DD!buO;6@V<3SPj>T49 at c>B7EXz at mWOo-*Y50>Src>Tna{ih
zUXcd>Cr*%4)C`ze_E$eDJ&PgRLH+q&@n`Y#o at 75@omYE$!b_Vul_%YQMC`HOxb%Jc
z2c?At#%3F0-oEm?r@|9`!*}1BEFr^Xaq%qMA{JiMTx>iiWn-W9ul1%=s+N2`Juh9l
z*YuP?X78(tL*J4Q2!8yQR-iZS!=7q6F|~V->koX%vEdGS#D1@!dwt7PX}77Ftdm}u
zEj<-*+w+9WyBbdi6V}gc at -k;ClBDN8^0#A|w(G+2MOLf6A6|DL`_zfZ2@hPWy%YAY
z6IH#iNPlXUp1F!>CZAQVgW|W6m}T=HFek7?78ERS`*NSlTV!=R&#IK!O{Ww$6#eQp
z|C(@pyI)b9uyS!r&c)uMMWWq-785ci-0V&@NW2}`5OMeL2TkKUmXr3YKRe#^?bUh3
zOA9QR!h^ovWuN(&^ZMF(a?d}<6)iY6*RgF{Q;C~A>m^oIP4%>gt7F){ta*On$FsO@
z$<RYH`<Cma@n|J(nBh2?HDto7eWGg7<ux0AaAa)Tapmrf75;a>O at 6wtL%NE!@#qW_
z*^cDU^|Kb9_Fmt%+4a_vElUNe0<xao%I`lQJ9XnkkKn^k<@s1kR~^4$b|E*w<I1zW
z7j&nK>uz>iEy?#}&ELtZd3 at IHkC0xac9!?n`qQsBNXEFy&)%>@C}+9fj^*+~*+2Gq
zuVmTs)9lR6s}tAMy%auBf9m?3eJeLy(-7CccAqcXL-1PQ@!a-r9NTj;zhBb`s4H1J
zEsN(=_QsF*7RM`p)p8N!U;JIgOxpNa-A%rw-3xYfx4ygZB-8oW&v^BvCljsv)+d!a
zZBvhbJFRW=dm}?<z3TPRk4l@0)>_9-Iw-p8w<7z?RYx9OpV^#KWSMWOF!#ZYAGeEC
Tp7v_~RjJ<N@pAW}mg74Ct|TeM

literal 0
HcmV?d00001

diff --git a/doc/chromium/devkeys/kernel_data_key.vbprivk b/doc/chromium/devkeys/kernel_data_key.vbprivk
new file mode 100644
index 0000000000000000000000000000000000000000..8d392fb294c15edb09cbf1bf775a1d87d0d2bc2d
GIT binary patch
literal 1199
zcmV;g1W@|~000000000mf&`-i0RRGm0RaHZ)>JFM>_R88JaB<>;=<4p5K>c+*K#Y6
zBfBykhKVD49Fzsa)CSq;EL at ysOE}{Y1QbOkeMzXIn1*HkEIs5LcG}w7(`q+}qU9hF
zmOyI-0>uhn3C89i#sS7u2n!yxsXxhQf!Qn2+<m8)Z;N;{x7SiCL1{>7mXE~>8wQ9U
z`{=Njy=^@xg8tQRp;sQuLw>pujKym3l2d!KAtu}Sj9MF?9f7Ipq^5(`(aeh5ubE_Q
zor{Cff<)&!w4ZU%uN87_94<qQeNF-CaLif9y=5x!EQm&0XRoh{7MNaJJ-U<(WdocY
zc>W<0rE)sL#3J0v8=I%h%u{U-hAkZe0|5X50)hbmO}OfvNAK|kt9k7>9<xF(4n#EX
z@-c)m0wV3S-8VQvR3`v+_C|SHOF`!fC!-Y%*F}cu8x;7e8C_`^sKNWwXWJF_4=g{r
z?-`Yz6}F+*Y_PJc60_>4Lgd{xUqUtGK4q?vz$)#)+(E{Z$(32Fx}>GBiMA<A*dFz;
z-ujUdRo0#1r=0Tioqv`|daLQ049gH)XYd{KGlZ^g<h!R=n3*f{9jojCqAolTT>t3I
zP(>jx1Zmv at TM*V%HcWF29>M>tU|qZugy^KbX3EO1Rf_nB7n8qcq?hSOfdl$XGWP6x
z1G_Cdo9f(bVSfe4El`Q+5IsBsuw6bSanhmT0)c at 5_B?+TV+0D+Xz1BXf4s`IgaL68
zGfm+N=%<y;BUu@>f~v0MkTaDa8vXB%Ho;fkl--$c6bz0q;OAsBryc#7+*nCYR)Rz7
z+4syE^$9pk_J at zAK$g*gV!KIGX;$A#h5d3gAy%V%+E65j#tQ?K4dMeTJX+mz=LZ3O
z-8g|60)c at 5)9Z3S_L~EYtJy(EzHA47*URp|MH3!VHPYm26Y1FF^eA5I*wTk!+@~Sf
zGtSCjP#cH8afpy{Z{FK89Xzow8$q~Lp<Jl4a~nBnT%lK+F3k;bLf<OWPf^@8Toi^D
zxFU>mH+pQh{s9}P#qs~z)MHqI;cBnKJ-Zh_Ecv*l0)c at 5(H?83R3aF-a42AMm={y%
zcqM5{{82@)C<;4M)hSelEM%OAj921p6Tn$?W7sRP;-{D?7t`71bo$Q3cSk21MqtcP
z^>auL>GEQ#`ZG*dK!3btt1#-=foma1?~75hPP_sGchtt7=C^HcqY<-)M~n=(5AE}4
z{b`%Pvf<0|0)c==#@pe5`$V)hu-KfPe0K!9jo_~U;^DpMyatVD88X)IG>m^ZYZuGG
z<`3tkW$Q6NkMc%-B%T>W!>MuT(cD{KKNHb~lI+B+tm^;8a2--M&qXc{r+OwB*S<6q
z492_9!@4BE;-YNO=#A7+NCK;qLz>IQ{adyJ=lENpDaHW;fq)Jeya1zt+QP{D3cY`~
zf1wzENw_kDOK~+>QG4!=PSQfCY=T$!H1>j7>2-RK3XMh{p?9H7vz~^N7~ekofzZ5V
zqO*YTk8>}z#J~frB>GPU;}$7=|6|n(3cc55I<;QsBm6xG>SDs<O1p+y#go^(v`o*>
Nc%M>kp-Cb4AVU2jMyUV*

literal 0
HcmV?d00001

-- 
2.13.0.303.g4ebf302169-goog

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
  2017-05-22 11:17 ` [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T Simon Glass
@ 2017-05-23  1:15   ` Tom Rini
  2017-06-09  3:00     ` Simon Glass
  0 siblings, 1 reply; 35+ messages in thread
From: Tom Rini @ 2017-05-23  1:15 UTC (permalink / raw)
  To: u-boot

On Mon, May 22, 2017 at 05:17:25AM -0600, Simon Glass wrote:

> At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use
> instructions which are invalid on ARMv4T. This happens on Tegra since it
> has an ARMv4T boot CPU. Add a check for the architecture version to allow
> the code to be built. It will not actually be executed by the boot CPU,
> but needs to compile.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  arch/arm/lib/cache-cp15.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> index 0f7020a315..f293573601 100644
> --- a/arch/arm/lib/cache-cp15.c
> +++ b/arch/arm/lib/cache-cp15.c
> @@ -129,7 +129,7 @@ static inline void mmu_setup(void)
>  		dram_bank_mmu_setup(i);
>  	}
>  
> -#ifdef CONFIG_ARMV7_LPAE
> +#if defined(CONFIG_ARMV7_LPAE) && __LINUX_ARM_ARCH__ != 4
>  	/* Set up 4 PTE entries pointing to our 4 1GB page tables */
>  	for (i = 0; i < 4; i++) {
>  		u64 *page_table = (u64 *)(gd->arch.tlb_addr + (4096 * 4));

Wait, how do we get to this situation again, and how does it end up
being OK?  SPL gets built for ARMv4T and U-Boot proper is built for v7,
and we end up doing LPAE enable in full U-Boot?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170522/a6961951/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
  2017-05-22 11:17 ` [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY Simon Glass
@ 2017-05-23  1:15   ` Tom Rini
  0 siblings, 0 replies; 35+ messages in thread
From: Tom Rini @ 2017-05-23  1:15 UTC (permalink / raw)
  To: u-boot

On Mon, May 22, 2017 at 05:17:21AM -0600, Simon Glass wrote:

> This option allows skipping the call to lowlevel() while still performing
> CP15 init. Support this on ARM720T so it can be used with Tegra.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170522/a9f57f88/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR
  2017-05-22 11:17 ` [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR Simon Glass
@ 2017-05-23  1:15   ` Tom Rini
  0 siblings, 0 replies; 35+ messages in thread
From: Tom Rini @ 2017-05-23  1:15 UTC (permalink / raw)
  To: u-boot

On Mon, May 22, 2017 at 05:17:24AM -0600, Simon Glass wrote:

> This appears to be a typo. Fix it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170522/e682e4c5/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled
  2017-05-22 11:17 ` [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled Simon Glass
@ 2017-05-23  1:15   ` Tom Rini
  0 siblings, 0 replies; 35+ messages in thread
From: Tom Rini @ 2017-05-23  1:15 UTC (permalink / raw)
  To: u-boot

On Mon, May 22, 2017 at 05:17:26AM -0600, Simon Glass wrote:

> If CONFIG_ARMV7_LPAE is not defined we should make sure that the feature
> is disabled. This can happen if U-Boot is chain-loaded from another boot
> loader which does enable LPAE.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170522/55ad33ef/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot
  2017-05-22 11:17 ` [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot Simon Glass
@ 2017-05-29 13:29   ` Peter Robinson
  2017-06-01  3:11     ` Simon Glass
  0 siblings, 1 reply; 35+ messages in thread
From: Peter Robinson @ 2017-05-29 13:29 UTC (permalink / raw)
  To: u-boot

 On Mon, May 22, 2017 at 12:17 PM, Simon Glass <sjg@chromium.org> wrote:
> Most Chromebooks support chain-loading U-Boot but instructions are
> somewhat scattered. Add a README to hold this information within the
> U-Boot tree. Also add the standard developer keys to simplify the
> instructions, since they are small.
>
> For now this only supports nyan-big.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  doc/README.chromium                          | 222 +++++++++++++++++++++++++++
>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>  3 files changed, 222 insertions(+)
>  create mode 100644 doc/README.chromium
>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>
> diff --git a/doc/README.chromium b/doc/README.chromium
> new file mode 100644
> index 0000000000..1dd111c65d
> --- /dev/null
> +++ b/doc/README.chromium
> @@ -0,0 +1,222 @@
> +Running U-Boot from coreboot on Chromebooks
> +===========================================
> +
> +U-Boot can be used as a secondary boot loader in a few situations such as from
> +UEFI and coreboot (see README.x86). Recent Chromebooks use coreboot even on
> +ARM platforms to start up the machine.
> +
> +This document aims to provide a guide to booting U-Boot on a Chromebook. It
> +is only a starting point, and there are many guides on the interwebs. But
> +placing this information in the U-Boot tree should make it easier to find for
> +those who use U-Boot habitually.
> +
> +Most of these platforms are supported by U-Boot natively, but it is risky to
> +replace the ROM unless you have a servo board and cable to restore it with.
> +
> +
> +For all of these the standard U-Boot build instructions apply. For example on
> +ARM:
> +
> +   sudo apt install gcc-arm-linux-gnueabi
> +   mkdir b
> +   make O=b/nyan_big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
> +
> +You can obtain the vbutil_kernel utility here:
> +
> +   https://drive.google.com/open?id=0B7WYZbZ9zd-3dHlVVXo4VXE2T0U
> +
> +
> +Snow (Samsung ARM Chromebook)
> +-----------------------------
> +
> +See here:
> +
> +https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
> +
> +
> +Nyan-big
> +--------
> +
> +Compiled based on information here:
> +https://lists.denx.de/pipermail/u-boot/2015-March/209530.html
> +https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
> +https://lists.denx.de/pipermail/u-boot/2017-May/289491.html
> +https://github.com/chromeos-nvidia-androidtv/gnu-linux-on-acer-chromebook-13#copy-data-to-the-sd-card
> +
> +1. Patch U-Boot
> +
> +Open include/configs/tegra124-common.h
> +
> +Change:
> +
> +#define CONFIG_SYS_TEXT_BASE   0x80110000
> +
> +to:
> +
> +#define CONFIG_SYS_TEXT_BASE   0x81000100

One query on this one, is it possible to define or override that in
configs/nyan-big_defconfig rather than in the include file. This would
be useful from a distro PoV where we build numerous u-boot binaries
from a single source tree.

Peter

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
                   ` (11 preceding siblings ...)
  2017-05-22 11:17 ` [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot Simon Glass
@ 2017-05-31 18:28 ` Matthew Gorski
  2017-05-31 18:40   ` Matthew Gorski
  2017-06-01 13:52   ` Matthew Gorski
  12 siblings, 2 replies; 35+ messages in thread
From: Matthew Gorski @ 2017-05-31 18:28 UTC (permalink / raw)
  To: u-boot

On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org> wrote:

> Every now and then someone wants to chain-load U-Boot on a Chromebook.
> The procedure is not very complicated but there are some oddities.
>
> This series updates a few things with allow U-Boot to start on nyan-big
> in this way and adds documentation on how to do it. This provides a
> central place where the procedure on different devices can be documented.
>
>
> Simon Glass (12):
>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>   tegra: Init clocks even when SPL did not run
>   tegra: dts: Add cros-ec SPI settings
>   arm: Rename HCTR to HTCR
>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
>   arm: Disable LPAE if not enabled
>   tegra: spi: Wait a little after setting the clocks
>   tegra: nyan-big: Enable the dhrystone benchmark
>   tegra: video: Don't power up the SOR twice
>   tegra: Enable CP15 init
>   tegra: clock: Avoid a divide-by-zero error
>   README: Add instructions for chain-loading U-Boot
>
>  arch/arm/cpu/arm720t/start.S                 |   6 +-
>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
>  arch/arm/lib/cache-cp15.c                    |  13 +-
>  arch/arm/mach-tegra/board2.c                 |   3 +
>  arch/arm/mach-tegra/clock.c                  |  10 +-
>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
>  configs/nyan-big_defconfig                   |   2 +
>  doc/README.chromium                          | 222
> +++++++++++++++++++++++++++
>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>  drivers/spi/tegra114_spi.c                   |   1 +
>  drivers/video/tegra124/sor.c                 |   9 ++
>  include/configs/tegra-common-post.h          |   2 +-
>  14 files changed, 292 insertions(+), 6 deletions(-)
>  create mode 100644 doc/README.chromium
>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>
> Thank You for this Simon!  Very much appreciated!  I am going to give this
a try later tonight and report back my personal results...

> --
> 2.13.0.303.g4ebf302169-goog
>
>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-05-31 18:28 ` [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Matthew Gorski
@ 2017-05-31 18:40   ` Matthew Gorski
  2017-05-31 19:19     ` Simon Glass
  2017-06-01 13:52   ` Matthew Gorski
  1 sibling, 1 reply; 35+ messages in thread
From: Matthew Gorski @ 2017-05-31 18:40 UTC (permalink / raw)
  To: u-boot

On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski <matt.gorski@gmail.com>
wrote:

>
>
> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org> wrote:
>
>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>> The procedure is not very complicated but there are some oddities.
>>
>> This series updates a few things with allow U-Boot to start on nyan-big
>> in this way and adds documentation on how to do it. This provides a
>> central place where the procedure on different devices can be documented.
>>
>>
>> Simon Glass (12):
>>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>>   tegra: Init clocks even when SPL did not run
>>   tegra: dts: Add cros-ec SPI settings
>>   arm: Rename HCTR to HTCR
>>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
>>   arm: Disable LPAE if not enabled
>>   tegra: spi: Wait a little after setting the clocks
>>   tegra: nyan-big: Enable the dhrystone benchmark
>>   tegra: video: Don't power up the SOR twice
>>   tegra: Enable CP15 init
>>   tegra: clock: Avoid a divide-by-zero error
>>   README: Add instructions for chain-loading U-Boot
>>
>>  arch/arm/cpu/arm720t/start.S                 |   6 +-
>>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
>>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
>>  arch/arm/lib/cache-cp15.c                    |  13 +-
>>  arch/arm/mach-tegra/board2.c                 |   3 +
>>  arch/arm/mach-tegra/clock.c                  |  10 +-
>>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
>>  configs/nyan-big_defconfig                   |   2 +
>>  doc/README.chromium                          | 222
>> +++++++++++++++++++++++++++
>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>>  drivers/spi/tegra114_spi.c                   |   1 +
>>  drivers/video/tegra124/sor.c                 |   9 ++
>>  include/configs/tegra-common-post.h          |   2 +-
>>  14 files changed, 292 insertions(+), 6 deletions(-)
>>  create mode 100644 doc/README.chromium
>>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>>
>> Thank You for this Simon!  Very much appreciated!  I am going to give
> this a try later tonight and report back my personal results...
>
>> --
>> 2.13.0.303.g4ebf302169-goog
>>
>>
> Simon could you please link the u-boot tree this was committed to?  I
checked master and didn't see the  doc/README.chromium

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-05-31 18:40   ` Matthew Gorski
@ 2017-05-31 19:19     ` Simon Glass
  0 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-05-31 19:19 UTC (permalink / raw)
  To: u-boot

Hi Matthew,

On 31 May 2017 at 12:40, Matthew Gorski <matt.gorski@gmail.com> wrote:
>
>
> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski <matt.gorski@gmail.com>
> wrote:
>>
>>
>>
>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org> wrote:
>>>
>>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>>> The procedure is not very complicated but there are some oddities.
>>>
>>> This series updates a few things with allow U-Boot to start on nyan-big
>>> in this way and adds documentation on how to do it. This provides a
>>> central place where the procedure on different devices can be documented.
>>>
>>>
>>> Simon Glass (12):
>>>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>>>   tegra: Init clocks even when SPL did not run
>>>   tegra: dts: Add cros-ec SPI settings
>>>   arm: Rename HCTR to HTCR
>>>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
>>>   arm: Disable LPAE if not enabled
>>>   tegra: spi: Wait a little after setting the clocks
>>>   tegra: nyan-big: Enable the dhrystone benchmark
>>>   tegra: video: Don't power up the SOR twice
>>>   tegra: Enable CP15 init
>>>   tegra: clock: Avoid a divide-by-zero error
>>>   README: Add instructions for chain-loading U-Boot
>>>
>>>  arch/arm/cpu/arm720t/start.S                 |   6 +-
>>>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
>>>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
>>>  arch/arm/lib/cache-cp15.c                    |  13 +-
>>>  arch/arm/mach-tegra/board2.c                 |   3 +
>>>  arch/arm/mach-tegra/clock.c                  |  10 +-
>>>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
>>>  configs/nyan-big_defconfig                   |   2 +
>>>  doc/README.chromium                          | 222
>>> +++++++++++++++++++++++++++
>>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>>>  drivers/spi/tegra114_spi.c                   |   1 +
>>>  drivers/video/tegra124/sor.c                 |   9 ++
>>>  include/configs/tegra-common-post.h          |   2 +-
>>>  14 files changed, 292 insertions(+), 6 deletions(-)
>>>  create mode 100644 doc/README.chromium
>>>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>>>
>> Thank You for this Simon!  Very much appreciated!  I am going to give this
>> a try later tonight and report back my personal results...
>>>
>>> --
>>> 2.13.0.303.g4ebf302169-goog
>>>
>>
> Simon could you please link the u-boot tree this was committed to?  I
> checked master and didn't see the  doc/README.chromium

Yes you can find it at u-boot-dm/chain-working

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot
  2017-05-29 13:29   ` Peter Robinson
@ 2017-06-01  3:11     ` Simon Glass
  0 siblings, 0 replies; 35+ messages in thread
From: Simon Glass @ 2017-06-01  3:11 UTC (permalink / raw)
  To: u-boot

Hi Peter,

On 29 May 2017 at 07:29, Peter Robinson <pbrobinson@gmail.com> wrote:
>  On Mon, May 22, 2017 at 12:17 PM, Simon Glass <sjg@chromium.org> wrote:
>> Most Chromebooks support chain-loading U-Boot but instructions are
>> somewhat scattered. Add a README to hold this information within the
>> U-Boot tree. Also add the standard developer keys to simplify the
>> instructions, since they are small.
>>
>> For now this only supports nyan-big.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>>  doc/README.chromium                          | 222 +++++++++++++++++++++++++++
>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>>  3 files changed, 222 insertions(+)
>>  create mode 100644 doc/README.chromium
>>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>>
>> diff --git a/doc/README.chromium b/doc/README.chromium
>> new file mode 100644
>> index 0000000000..1dd111c65d
>> --- /dev/null
>> +++ b/doc/README.chromium
>> @@ -0,0 +1,222 @@
>> +Running U-Boot from coreboot on Chromebooks
>> +===========================================
>> +
>> +U-Boot can be used as a secondary boot loader in a few situations such as from
>> +UEFI and coreboot (see README.x86). Recent Chromebooks use coreboot even on
>> +ARM platforms to start up the machine.
>> +
>> +This document aims to provide a guide to booting U-Boot on a Chromebook. It
>> +is only a starting point, and there are many guides on the interwebs. But
>> +placing this information in the U-Boot tree should make it easier to find for
>> +those who use U-Boot habitually.
>> +
>> +Most of these platforms are supported by U-Boot natively, but it is risky to
>> +replace the ROM unless you have a servo board and cable to restore it with.
>> +
>> +
>> +For all of these the standard U-Boot build instructions apply. For example on
>> +ARM:
>> +
>> +   sudo apt install gcc-arm-linux-gnueabi
>> +   mkdir b
>> +   make O=b/nyan_big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
>> +
>> +You can obtain the vbutil_kernel utility here:
>> +
>> +   https://drive.google.com/open?id=0B7WYZbZ9zd-3dHlVVXo4VXE2T0U
>> +
>> +
>> +Snow (Samsung ARM Chromebook)
>> +-----------------------------
>> +
>> +See here:
>> +
>> +https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
>> +
>> +
>> +Nyan-big
>> +--------
>> +
>> +Compiled based on information here:
>> +https://lists.denx.de/pipermail/u-boot/2015-March/209530.html
>> +https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
>> +https://lists.denx.de/pipermail/u-boot/2017-May/289491.html
>> +https://github.com/chromeos-nvidia-androidtv/gnu-linux-on-acer-chromebook-13#copy-data-to-the-sd-card
>> +
>> +1. Patch U-Boot
>> +
>> +Open include/configs/tegra124-common.h
>> +
>> +Change:
>> +
>> +#define CONFIG_SYS_TEXT_BASE   0x80110000
>> +
>> +to:
>> +
>> +#define CONFIG_SYS_TEXT_BASE   0x81000100
>
> One query on this one, is it possible to define or override that in
> configs/nyan-big_defconfig rather than in the include file. This would
> be useful from a distro PoV where we build numerous u-boot binaries
> from a single source tree.

Yes I think so. I will have a think about it.

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-05-31 18:28 ` [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Matthew Gorski
  2017-05-31 18:40   ` Matthew Gorski
@ 2017-06-01 13:52   ` Matthew Gorski
  2017-06-07 11:58     ` Simon Glass
  1 sibling, 1 reply; 35+ messages in thread
From: Matthew Gorski @ 2017-06-01 13:52 UTC (permalink / raw)
  To: u-boot

On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski <matt.gorski@gmail.com>
wrote:

>
>
> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org> wrote:
>
>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>> The procedure is not very complicated but there are some oddities.
>>
>> This series updates a few things with allow U-Boot to start on nyan-big
>> in this way and adds documentation on how to do it. This provides a
>> central place where the procedure on different devices can be documented.
>>
>>
>> Simon Glass (12):
>>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>>   tegra: Init clocks even when SPL did not run
>>   tegra: dts: Add cros-ec SPI settings
>>   arm: Rename HCTR to HTCR
>>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
>>   arm: Disable LPAE if not enabled
>>   tegra: spi: Wait a little after setting the clocks
>>   tegra: nyan-big: Enable the dhrystone benchmark
>>   tegra: video: Don't power up the SOR twice
>>   tegra: Enable CP15 init
>>   tegra: clock: Avoid a divide-by-zero error
>>   README: Add instructions for chain-loading U-Boot
>>
>>  arch/arm/cpu/arm720t/start.S                 |   6 +-
>>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
>>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
>>  arch/arm/lib/cache-cp15.c                    |  13 +-
>>  arch/arm/mach-tegra/board2.c                 |   3 +
>>  arch/arm/mach-tegra/clock.c                  |  10 +-
>>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
>>  configs/nyan-big_defconfig                   |   2 +
>>  doc/README.chromium                          | 222
>> +++++++++++++++++++++++++++
>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>>  drivers/spi/tegra114_spi.c                   |   1 +
>>  drivers/video/tegra124/sor.c                 |   9 ++
>>  include/configs/tegra-common-post.h          |   2 +-
>>  14 files changed, 292 insertions(+), 6 deletions(-)
>>  create mode 100644 doc/README.chromium
>>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>>
>> Thank You for this Simon!  Very much appreciated!  I am going to give
> this a try later tonight and report back my personal results...
>
>> --
>> 2.13.0.303.g4ebf302169-goog
>>
>>
> Confirmed! Chain-loading working on my nyan_big.  I appreciate this very
much Simon and all who contributed.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-01 13:52   ` Matthew Gorski
@ 2017-06-07 11:58     ` Simon Glass
  2017-06-07 15:32       ` Tom Warren
  0 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-06-07 11:58 UTC (permalink / raw)
  To: u-boot

Hi,

On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
>
> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski <matt.gorski@gmail.com>
> wrote:
>>
>>
>>
>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org> wrote:
>>>
>>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>>> The procedure is not very complicated but there are some oddities.
>>>
>>> This series updates a few things with allow U-Boot to start on nyan-big
>>> in this way and adds documentation on how to do it. This provides a
>>> central place where the procedure on different devices can be documented.
>>>
>>>
>>> Simon Glass (12):
>>>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>>>   tegra: Init clocks even when SPL did not run
>>>   tegra: dts: Add cros-ec SPI settings
>>>   arm: Rename HCTR to HTCR
>>>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
>>>   arm: Disable LPAE if not enabled
>>>   tegra: spi: Wait a little after setting the clocks
>>>   tegra: nyan-big: Enable the dhrystone benchmark
>>>   tegra: video: Don't power up the SOR twice
>>>   tegra: Enable CP15 init
>>>   tegra: clock: Avoid a divide-by-zero error
>>>   README: Add instructions for chain-loading U-Boot
>>>
>>>  arch/arm/cpu/arm720t/start.S                 |   6 +-
>>>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
>>>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
>>>  arch/arm/lib/cache-cp15.c                    |  13 +-
>>>  arch/arm/mach-tegra/board2.c                 |   3 +
>>>  arch/arm/mach-tegra/clock.c                  |  10 +-
>>>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
>>>  configs/nyan-big_defconfig                   |   2 +
>>>  doc/README.chromium                          | 222
>>> +++++++++++++++++++++++++++
>>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
>>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
>>>  drivers/spi/tegra114_spi.c                   |   1 +
>>>  drivers/video/tegra124/sor.c                 |   9 ++
>>>  include/configs/tegra-common-post.h          |   2 +-
>>>  14 files changed, 292 insertions(+), 6 deletions(-)
>>>  create mode 100644 doc/README.chromium
>>>  create mode 100644 doc/chromium/devkeys/kernel.keyblock
>>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
>>>
>> Thank You for this Simon!  Very much appreciated!  I am going to give this
>> a try later tonight and report back my personal results...
>>>
>>> --
>>> 2.13.0.303.g4ebf302169-goog
>>>
>>
> Confirmed! Chain-loading working on my nyan_big.  I appreciate this very
> much Simon and all who contributed.

I'd like to pull in this series. Are there any comments / reviews? If
affects both tegra and rockchip.

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice
  2017-05-22 11:17 ` [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice Simon Glass
@ 2017-06-07 12:52   ` Anatolij Gustschin
  0 siblings, 0 replies; 35+ messages in thread
From: Anatolij Gustschin @ 2017-06-07 12:52 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On Mon, 22 May 2017 05:17:29 -0600
Simon Glass sjg at chromium.org wrote:

> If U-Boot is the secondary boot loader, or has been run from itself, the
> SOR may already be powered up. Powering it up again causes a hang, so
> detect this situation and skip it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Acked-by: Anatolij Gustschin <agust@denx.de>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-07 11:58     ` Simon Glass
@ 2017-06-07 15:32       ` Tom Warren
  2017-06-07 15:41         ` Stephen Warren
  0 siblings, 1 reply; 35+ messages in thread
From: Tom Warren @ 2017-06-07 15:32 UTC (permalink / raw)
  To: u-boot

Simon,

> -----Original Message-----
> From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
> Sent: Wednesday, June 07, 2017 4:59 AM
> To: Matthew Gorski <matt.gorski@gmail.com>
> Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Sjoerd Simons
> <sjoerd.simons@collabora.co.uk>; Tomeu Vizoso
> <tomeu.vizoso@collabora.com>; Riley Baird <riley@openmailbox.org>; Heiko
> Schocher <hs@denx.de>; Patrick Delaunay <patrick.delaunay@st.com>;
> Masahiro Yamada <yamada.masahiro@socionext.com>; Tom Warren
> <TWarren@nvidia.com>; Anatolij Gustschin <agust@denx.de>; Jagannadha
> Sutradharudu Teki <jagannadh.teki@gmail.com>; Keerthy <j-keerthy@ti.com>;
> Stephen Warren <swarren@wwwdotorg.org>; Jagan Teki
> <jagan@openedev.com>; Marek Vasut <marex@denx.de>; Albert Aribaud
> <albert.u.boot@aribaud.net>; Stefan Agner <stefan.agner@toradex.com>;
> Allen Martin <AMartin@nvidia.com>; Alexander Graf <agraf@suse.de>;
> Jaehoon Chung <jh80.chung@samsung.com>; Stephen Warren
> <swarren@nvidia.com>
> Subject: Re: [PATCH 00/12] tegra: nyan-big: Support chainloading and add
> documentation
> 
> Hi,
> 
> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
> >
> > On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
> > <matt.gorski@gmail.com>
> > wrote:
> >>
> >>
> >>
> >> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>
> wrote:
> >>>
> >>> Every now and then someone wants to chain-load U-Boot on a
> Chromebook.
> >>> The procedure is not very complicated but there are some oddities.
> >>>
> >>> This series updates a few things with allow U-Boot to start on
> >>> nyan-big in this way and adds documentation on how to do it. This
> >>> provides a central place where the procedure on different devices can be
> documented.
> >>>
> >>>
> >>> Simon Glass (12):
> >>>   arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
> >>>   tegra: Init clocks even when SPL did not run
> >>>   tegra: dts: Add cros-ec SPI settings
> >>>   arm: Rename HCTR to HTCR
> >>>   arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
> >>>   arm: Disable LPAE if not enabled
> >>>   tegra: spi: Wait a little after setting the clocks
> >>>   tegra: nyan-big: Enable the dhrystone benchmark
> >>>   tegra: video: Don't power up the SOR twice
> >>>   tegra: Enable CP15 init
> >>>   tegra: clock: Avoid a divide-by-zero error
> >>>   README: Add instructions for chain-loading U-Boot
> >>>
> >>>  arch/arm/cpu/arm720t/start.S                 |   6 +-
> >>>  arch/arm/dts/tegra124-nyan-big-u-boot.dtsi   |   9 ++
> >>>  arch/arm/include/asm/arch-tegra/clock.h      |   3 +
> >>>  arch/arm/lib/cache-cp15.c                    |  13 +-
> >>>  arch/arm/mach-tegra/board2.c                 |   3 +
> >>>  arch/arm/mach-tegra/clock.c                  |  10 +-
> >>>  arch/arm/mach-tegra/tegra124/clock.c         |  18 +++
> >>>  configs/nyan-big_defconfig                   |   2 +
> >>>  doc/README.chromium                          | 222
> >>> +++++++++++++++++++++++++++
> >>>  doc/chromium/devkeys/kernel.keyblock         | Bin 0 -> 1208 bytes
> >>>  doc/chromium/devkeys/kernel_data_key.vbprivk | Bin 0 -> 1199 bytes
> >>>  drivers/spi/tegra114_spi.c                   |   1 +
> >>>  drivers/video/tegra124/sor.c                 |   9 ++
> >>>  include/configs/tegra-common-post.h          |   2 +-
> >>>  14 files changed, 292 insertions(+), 6 deletions(-)  create mode
> >>> 100644 doc/README.chromium  create mode 100644
> >>> doc/chromium/devkeys/kernel.keyblock
> >>>  create mode 100644 doc/chromium/devkeys/kernel_data_key.vbprivk
> >>>
> >> Thank You for this Simon!  Very much appreciated!  I am going to give
> >> this a try later tonight and report back my personal results...
> >>>
> >>> --
> >>> 2.13.0.303.g4ebf302169-goog
> >>>
> >>
> > Confirmed! Chain-loading working on my nyan_big.  I appreciate this
> > very much Simon and all who contributed.
> 
> I'd like to pull in this series. Are there any comments / reviews? If affects both
> tegra and rockchip.
I'm fine with it - I assume you'll pull it in to one of your repos and post a PR to get it into mainstream U-Boot?
I don't have the HW to test on (my nyan-big has been shelved), but trust in Matthew's testing, and that Stephen's U-Boot test scripts will catch any problems, so LGTM.

Tom
> 
> Regards,
> Simon
--
nvpublic

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-07 15:32       ` Tom Warren
@ 2017-06-07 15:41         ` Stephen Warren
  2017-06-09 12:27           ` Simon Glass
  0 siblings, 1 reply; 35+ messages in thread
From: Stephen Warren @ 2017-06-07 15:41 UTC (permalink / raw)
  To: u-boot

On 06/07/2017 09:32 AM, Tom Warren wrote:
> Simon,
> 
>> From: Simon Glass
...
>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
>>>
>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
>>> <matt.gorski@gmail.com> wrote:
>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>> wrote:
>>>>>
>>>>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>>>>> The procedure is not very complicated but there are some oddities.
>>>>>
>>>>> This series updates a few things with allow U-Boot to start on
>>>>> nyan-big in this way and adds documentation on how to do it. This
>>>>> provides a central place where the procedure on different devices can be documented.
...
>>>> Thank You for this Simon!  Very much appreciated!  I am going to give
>>>> this a try later tonight and report back my personal results...
...

>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate this
>>> very much Simon and all who contributed.
>>
>> I'd like to pull in this series. Are there any comments / reviews? If affects both
>> tegra and rockchip.
> I'm fine with it - I assume you'll pull it in to one of your repos and post a PR to get it into mainstream U-Boot?
> I don't have the HW to test on (my nyan-big has been shelved), but trust in Matthew's testing, and that Stephen's U-Boot test scripts will catch any problems, so LGTM.

Yes, my testing should catch most issues with any patches, although 
there are still some coverage holes:

1) I don't test cold boot; U-boot is always loaded over USB RCM which 
may hide bugs specific to cold booting.

2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, 
p2371-0000, Jetson TX1)

3) Obviously I don't test the new features introduced by this patch; 
chain-loading.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
  2017-05-23  1:15   ` Tom Rini
@ 2017-06-09  3:00     ` Simon Glass
  2017-06-09 11:16       ` Tom Rini
  0 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-06-09  3:00 UTC (permalink / raw)
  To: u-boot

Hi Tom.

On 22 May 2017 at 19:15, Tom Rini <trini@konsulko.com> wrote:
> On Mon, May 22, 2017 at 05:17:25AM -0600, Simon Glass wrote:
>
>> At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use
>> instructions which are invalid on ARMv4T. This happens on Tegra since it
>> has an ARMv4T boot CPU. Add a check for the architecture version to allow
>> the code to be built. It will not actually be executed by the boot CPU,
>> but needs to compile.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>>  arch/arm/lib/cache-cp15.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
>> index 0f7020a315..f293573601 100644
>> --- a/arch/arm/lib/cache-cp15.c
>> +++ b/arch/arm/lib/cache-cp15.c
>> @@ -129,7 +129,7 @@ static inline void mmu_setup(void)
>>               dram_bank_mmu_setup(i);
>>       }
>>
>> -#ifdef CONFIG_ARMV7_LPAE
>> +#if defined(CONFIG_ARMV7_LPAE) && __LINUX_ARM_ARCH__ != 4
>>       /* Set up 4 PTE entries pointing to our 4 1GB page tables */
>>       for (i = 0; i < 4; i++) {
>>               u64 *page_table = (u64 *)(gd->arch.tlb_addr + (4096 * 4));
>
> Wait, how do we get to this situation again, and how does it end up
> being OK?  SPL gets built for ARMv4T and U-Boot proper is built for v7,
> and we end up doing LPAE enable in full U-Boot?

Eek sorry I missed this question. The problem is that with ARMv4T this
code does not currently build. On Tegra, if we enable
CONFIG_ARMV7_LPAE, this code runs on ARMv7, but it still compiled by
the ARMv7 boot CPU. So the change here is to make sure it is not
compiled for ARMv4T.

Another way of thinking about this is that ARMv4T does not support
LPAE but we have no way to enable the option only for ARMv7. Both CPUs
compile the same code. The __LINUX_ARM_ARCH__ option helps with this.

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
  2017-06-09  3:00     ` Simon Glass
@ 2017-06-09 11:16       ` Tom Rini
  0 siblings, 0 replies; 35+ messages in thread
From: Tom Rini @ 2017-06-09 11:16 UTC (permalink / raw)
  To: u-boot

On Thu, Jun 08, 2017 at 09:00:17PM -0600, Simon Glass wrote:
> Hi Tom.
> 
> On 22 May 2017 at 19:15, Tom Rini <trini@konsulko.com> wrote:
> > On Mon, May 22, 2017 at 05:17:25AM -0600, Simon Glass wrote:
> >
> >> At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use
> >> instructions which are invalid on ARMv4T. This happens on Tegra since it
> >> has an ARMv4T boot CPU. Add a check for the architecture version to allow
> >> the code to be built. It will not actually be executed by the boot CPU,
> >> but needs to compile.
> >>
> >> Signed-off-by: Simon Glass <sjg@chromium.org>
> >> ---
> >>
> >>  arch/arm/lib/cache-cp15.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> >> index 0f7020a315..f293573601 100644
> >> --- a/arch/arm/lib/cache-cp15.c
> >> +++ b/arch/arm/lib/cache-cp15.c
> >> @@ -129,7 +129,7 @@ static inline void mmu_setup(void)
> >>               dram_bank_mmu_setup(i);
> >>       }
> >>
> >> -#ifdef CONFIG_ARMV7_LPAE
> >> +#if defined(CONFIG_ARMV7_LPAE) && __LINUX_ARM_ARCH__ != 4
> >>       /* Set up 4 PTE entries pointing to our 4 1GB page tables */
> >>       for (i = 0; i < 4; i++) {
> >>               u64 *page_table = (u64 *)(gd->arch.tlb_addr + (4096 * 4));
> >
> > Wait, how do we get to this situation again, and how does it end up
> > being OK?  SPL gets built for ARMv4T and U-Boot proper is built for v7,
> > and we end up doing LPAE enable in full U-Boot?
> 
> Eek sorry I missed this question. The problem is that with ARMv4T this
> code does not currently build. On Tegra, if we enable
> CONFIG_ARMV7_LPAE, this code runs on ARMv7, but it still compiled by
> the ARMv7 boot CPU. So the change here is to make sure it is not
> compiled for ARMv4T.
> 
> Another way of thinking about this is that ARMv4T does not support
> LPAE but we have no way to enable the option only for ARMv7. Both CPUs
> compile the same code. The __LINUX_ARM_ARCH__ option helps with this.

Ah, right.  Thanks.

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170609/30b85cb5/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-07 15:41         ` Stephen Warren
@ 2017-06-09 12:27           ` Simon Glass
  2017-06-27 20:09             ` Thomas Hoff
  0 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-06-09 12:27 UTC (permalink / raw)
  To: u-boot

Hi Stephen,

On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org> wrote:
> On 06/07/2017 09:32 AM, Tom Warren wrote:
>>
>> Simon,
>>
>>> From: Simon Glass
>
> ...
>>>
>>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
>>>>
>>>>
>>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
>>>> <matt.gorski@gmail.com> wrote:
>>>>>
>>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>> wrote:
>>>>>>
>>>>>>
>>>>>> Every now and then someone wants to chain-load U-Boot on a Chromebook.
>>>>>> The procedure is not very complicated but there are some oddities.
>>>>>>
>>>>>> This series updates a few things with allow U-Boot to start on
>>>>>> nyan-big in this way and adds documentation on how to do it. This
>>>>>> provides a central place where the procedure on different devices can
>>>>>> be documented.
>
> ...
>>>>>
>>>>> Thank You for this Simon!  Very much appreciated!  I am going to give
>>>>> this a try later tonight and report back my personal results...
>
> ...
>
>>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate this
>>>> very much Simon and all who contributed.
>>>
>>>
>>> I'd like to pull in this series. Are there any comments / reviews? If
>>> affects both
>>> tegra and rockchip.
>>
>> I'm fine with it - I assume you'll pull it in to one of your repos and
>> post a PR to get it into mainstream U-Boot?
>> I don't have the HW to test on (my nyan-big has been shelved), but trust
>> in Matthew's testing, and that Stephen's U-Boot test scripts will catch any
>> problems, so LGTM.

Thanks for looking at this.

>
>
> Yes, my testing should catch most issues with any patches, although there
> are still some coverage holes:
>
> 1) I don't test cold boot; U-boot is always loaded over USB RCM which may
> hide bugs specific to cold booting.

I tested cold bold on Nyan, but I use USB RCM also so don't normally
test cold boot.

>
> 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
> p2371-0000, Jetson TX1)

That's plenty :-)

>
> 3) Obviously I don't test the new features introduced by this patch;
> chain-loading.

It's OK I can rely on others for that so long as the changes are
acceptable to the normal boot case.

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-09 12:27           ` Simon Glass
@ 2017-06-27 20:09             ` Thomas Hoff
  2017-07-07  3:58               ` Simon Glass
  0 siblings, 1 reply; 35+ messages in thread
From: Thomas Hoff @ 2017-06-27 20:09 UTC (permalink / raw)
  To: u-boot

Thanks a bunch Simon (and everyone else who contributed)!

I followed the instructions and was able to get uboot to boot successfully.
:D

Now I just got to figure out how to get the kernel to boot in HYP mode.

Cheers,

Thomas





On Fri, Jun 9, 2017 at 5:27 AM, Simon Glass <sjg@chromium.org> wrote:

> Hi Stephen,
>
> On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org> wrote:
> > On 06/07/2017 09:32 AM, Tom Warren wrote:
> >>
> >> Simon,
> >>
> >>> From: Simon Glass
> >
> > ...
> >>>
> >>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
> >>>>
> >>>>
> >>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
> >>>> <matt.gorski@gmail.com> wrote:
> >>>>>
> >>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>>
> wrote:
> >>>>>>
> >>>>>>
> >>>>>> Every now and then someone wants to chain-load U-Boot on a
> Chromebook.
> >>>>>> The procedure is not very complicated but there are some oddities.
> >>>>>>
> >>>>>> This series updates a few things with allow U-Boot to start on
> >>>>>> nyan-big in this way and adds documentation on how to do it. This
> >>>>>> provides a central place where the procedure on different devices
> can
> >>>>>> be documented.
> >
> > ...
> >>>>>
> >>>>> Thank You for this Simon!  Very much appreciated!  I am going to give
> >>>>> this a try later tonight and report back my personal results...
> >
> > ...
> >
> >>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate this
> >>>> very much Simon and all who contributed.
> >>>
> >>>
> >>> I'd like to pull in this series. Are there any comments / reviews? If
> >>> affects both
> >>> tegra and rockchip.
> >>
> >> I'm fine with it - I assume you'll pull it in to one of your repos and
> >> post a PR to get it into mainstream U-Boot?
> >> I don't have the HW to test on (my nyan-big has been shelved), but trust
> >> in Matthew's testing, and that Stephen's U-Boot test scripts will catch
> any
> >> problems, so LGTM.
>
> Thanks for looking at this.
>
> >
> >
> > Yes, my testing should catch most issues with any patches, although there
> > are still some coverage holes:
> >
> > 1) I don't test cold boot; U-boot is always loaded over USB RCM which may
> > hide bugs specific to cold booting.
>
> I tested cold bold on Nyan, but I use USB RCM also so don't normally
> test cold boot.
>
> >
> > 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
> > p2371-0000, Jetson TX1)
>
> That's plenty :-)
>
> >
> > 3) Obviously I don't test the new features introduced by this patch;
> > chain-loading.
>
> It's OK I can rely on others for that so long as the changes are
> acceptable to the normal boot case.
>
> Regards,
> Simon
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-06-27 20:09             ` Thomas Hoff
@ 2017-07-07  3:58               ` Simon Glass
  2017-07-07  7:27                 ` Thomas Hoff
  0 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-07-07  3:58 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On 27 June 2017 at 14:09, Thomas Hoff <thomashoffltd@gmail.com> wrote:
> Thanks a bunch Simon (and everyone else who contributed)!
>
> I followed the instructions and was able to get uboot to boot successfully.
> :D
>
> Now I just got to figure out how to get the kernel to boot in HYP mode.
>
> Cheers,
>
> Thomas
>
>
>
>
>
> On Fri, Jun 9, 2017 at 5:27 AM, Simon Glass <sjg@chromium.org> wrote:
>>
>> Hi Stephen,
>>
>> On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> > On 06/07/2017 09:32 AM, Tom Warren wrote:
>> >>
>> >> Simon,
>> >>
>> >>> From: Simon Glass
>> >
>> > ...
>> >>>
>> >>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com> wrote:
>> >>>>
>> >>>>
>> >>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
>> >>>> <matt.gorski@gmail.com> wrote:
>> >>>>>
>> >>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>>
>> >>>>> wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>> Every now and then someone wants to chain-load U-Boot on a
>> >>>>>> Chromebook.
>> >>>>>> The procedure is not very complicated but there are some oddities.
>> >>>>>>
>> >>>>>> This series updates a few things with allow U-Boot to start on
>> >>>>>> nyan-big in this way and adds documentation on how to do it. This
>> >>>>>> provides a central place where the procedure on different devices
>> >>>>>> can
>> >>>>>> be documented.
>> >
>> > ...
>> >>>>>
>> >>>>> Thank You for this Simon!  Very much appreciated!  I am going to
>> >>>>> give
>> >>>>> this a try later tonight and report back my personal results...
>> >
>> > ...
>> >
>> >>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate this
>> >>>> very much Simon and all who contributed.
>> >>>
>> >>>
>> >>> I'd like to pull in this series. Are there any comments / reviews? If
>> >>> affects both
>> >>> tegra and rockchip.
>> >>
>> >> I'm fine with it - I assume you'll pull it in to one of your repos and
>> >> post a PR to get it into mainstream U-Boot?
>> >> I don't have the HW to test on (my nyan-big has been shelved), but
>> >> trust
>> >> in Matthew's testing, and that Stephen's U-Boot test scripts will catch
>> >> any
>> >> problems, so LGTM.
>>
>> Thanks for looking at this.
>>
>> >
>> >
>> > Yes, my testing should catch most issues with any patches, although
>> > there
>> > are still some coverage holes:
>> >
>> > 1) I don't test cold boot; U-boot is always loaded over USB RCM which
>> > may
>> > hide bugs specific to cold booting.
>>
>> I tested cold bold on Nyan, but I use USB RCM also so don't normally
>> test cold boot.
>>
>> >
>> > 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
>> > p2371-0000, Jetson TX1)
>>
>> That's plenty :-)
>>
>> >
>> > 3) Obviously I don't test the new features introduced by this patch;
>> > chain-loading.
>>
>> It's OK I can rely on others for that so long as the changes are
>> acceptable to the normal boot case.

Is this ready to be applied at some point?

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-07-07  3:58               ` Simon Glass
@ 2017-07-07  7:27                 ` Thomas Hoff
  2017-07-08 16:09                   ` Simon Glass
  0 siblings, 1 reply; 35+ messages in thread
From: Thomas Hoff @ 2017-07-07  7:27 UTC (permalink / raw)
  To: u-boot

Are you asking me or Tom Warren?

On Thu, Jul 6, 2017 at 8:58 PM, Simon Glass <sjg@chromium.org> wrote:

> Hi Tom,
>
> On 27 June 2017 at 14:09, Thomas Hoff <thomashoffltd@gmail.com> wrote:
> > Thanks a bunch Simon (and everyone else who contributed)!
> >
> > I followed the instructions and was able to get uboot to boot
> successfully.
> > :D
> >
> > Now I just got to figure out how to get the kernel to boot in HYP mode.
> >
> > Cheers,
> >
> > Thomas
> >
> >
> >
> >
> >
> > On Fri, Jun 9, 2017 at 5:27 AM, Simon Glass <sjg@chromium.org> wrote:
> >>
> >> Hi Stephen,
> >>
> >> On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org> wrote:
> >> > On 06/07/2017 09:32 AM, Tom Warren wrote:
> >> >>
> >> >> Simon,
> >> >>
> >> >>> From: Simon Glass
> >> >
> >> > ...
> >> >>>
> >> >>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com>
> wrote:
> >> >>>>
> >> >>>>
> >> >>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
> >> >>>> <matt.gorski@gmail.com> wrote:
> >> >>>>>
> >> >>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>>
> >> >>>>> wrote:
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> Every now and then someone wants to chain-load U-Boot on a
> >> >>>>>> Chromebook.
> >> >>>>>> The procedure is not very complicated but there are some
> oddities.
> >> >>>>>>
> >> >>>>>> This series updates a few things with allow U-Boot to start on
> >> >>>>>> nyan-big in this way and adds documentation on how to do it. This
> >> >>>>>> provides a central place where the procedure on different devices
> >> >>>>>> can
> >> >>>>>> be documented.
> >> >
> >> > ...
> >> >>>>>
> >> >>>>> Thank You for this Simon!  Very much appreciated!  I am going to
> >> >>>>> give
> >> >>>>> this a try later tonight and report back my personal results...
> >> >
> >> > ...
> >> >
> >> >>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate this
> >> >>>> very much Simon and all who contributed.
> >> >>>
> >> >>>
> >> >>> I'd like to pull in this series. Are there any comments / reviews?
> If
> >> >>> affects both
> >> >>> tegra and rockchip.
> >> >>
> >> >> I'm fine with it - I assume you'll pull it in to one of your repos
> and
> >> >> post a PR to get it into mainstream U-Boot?
> >> >> I don't have the HW to test on (my nyan-big has been shelved), but
> >> >> trust
> >> >> in Matthew's testing, and that Stephen's U-Boot test scripts will
> catch
> >> >> any
> >> >> problems, so LGTM.
> >>
> >> Thanks for looking at this.
> >>
> >> >
> >> >
> >> > Yes, my testing should catch most issues with any patches, although
> >> > there
> >> > are still some coverage holes:
> >> >
> >> > 1) I don't test cold boot; U-boot is always loaded over USB RCM which
> >> > may
> >> > hide bugs specific to cold booting.
> >>
> >> I tested cold bold on Nyan, but I use USB RCM also so don't normally
> >> test cold boot.
> >>
> >> >
> >> > 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
> >> > p2371-0000, Jetson TX1)
> >>
> >> That's plenty :-)
> >>
> >> >
> >> > 3) Obviously I don't test the new features introduced by this patch;
> >> > chain-loading.
> >>
> >> It's OK I can rely on others for that so long as the changes are
> >> acceptable to the normal boot case.
>
> Is this ready to be applied at some point?
>
> Regards,
> Simon
>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-07-07  7:27                 ` Thomas Hoff
@ 2017-07-08 16:09                   ` Simon Glass
  2017-07-09 13:59                     ` Tom Warren
  0 siblings, 1 reply; 35+ messages in thread
From: Simon Glass @ 2017-07-08 16:09 UTC (permalink / raw)
  To: u-boot

Hi,

On 7 July 2017 at 01:27, Thomas Hoff <thomashoffltd@gmail.com> wrote:
> Are you asking me or Tom Warren?
>
> On Thu, Jul 6, 2017 at 8:58 PM, Simon Glass <sjg@chromium.org> wrote:
>>
>> Hi Tom,
>>
>> On 27 June 2017 at 14:09, Thomas Hoff <thomashoffltd@gmail.com> wrote:
>> > Thanks a bunch Simon (and everyone else who contributed)!
>> >
>> > I followed the instructions and was able to get uboot to boot
>> > successfully.
>> > :D
>> >
>> > Now I just got to figure out how to get the kernel to boot in HYP mode.
>> >
>> > Cheers,
>> >
>> > Thomas
>> >
>> >
>> >
>> >
>> >
>> > On Fri, Jun 9, 2017 at 5:27 AM, Simon Glass <sjg@chromium.org> wrote:
>> >>
>> >> Hi Stephen,
>> >>
>> >> On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> >> > On 06/07/2017 09:32 AM, Tom Warren wrote:
>> >> >>
>> >> >> Simon,
>> >> >>
>> >> >>> From: Simon Glass
>> >> >
>> >> > ...
>> >> >>>
>> >> >>> On 1 June 2017 at 07:52, Matthew Gorski <matt.gorski@gmail.com>
>> >> >>> wrote:
>> >> >>>>
>> >> >>>>
>> >> >>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
>> >> >>>> <matt.gorski@gmail.com> wrote:
>> >> >>>>>
>> >> >>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass <sjg@chromium.org>>
>> >> >>>>> wrote:
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>> Every now and then someone wants to chain-load U-Boot on a
>> >> >>>>>> Chromebook.
>> >> >>>>>> The procedure is not very complicated but there are some
>> >> >>>>>> oddities.
>> >> >>>>>>
>> >> >>>>>> This series updates a few things with allow U-Boot to start on
>> >> >>>>>> nyan-big in this way and adds documentation on how to do it.
>> >> >>>>>> This
>> >> >>>>>> provides a central place where the procedure on different
>> >> >>>>>> devices
>> >> >>>>>> can
>> >> >>>>>> be documented.
>> >> >
>> >> > ...
>> >> >>>>>
>> >> >>>>> Thank You for this Simon!  Very much appreciated!  I am going to
>> >> >>>>> give
>> >> >>>>> this a try later tonight and report back my personal results...
>> >> >
>> >> > ...
>> >> >
>> >> >>>> Confirmed! Chain-loading working on my nyan_big.  I appreciate
>> >> >>>> this
>> >> >>>> very much Simon and all who contributed.
>> >> >>>
>> >> >>>
>> >> >>> I'd like to pull in this series. Are there any comments / reviews?
>> >> >>> If
>> >> >>> affects both
>> >> >>> tegra and rockchip.
>> >> >>
>> >> >> I'm fine with it - I assume you'll pull it in to one of your repos
>> >> >> and
>> >> >> post a PR to get it into mainstream U-Boot?
>> >> >> I don't have the HW to test on (my nyan-big has been shelved), but
>> >> >> trust
>> >> >> in Matthew's testing, and that Stephen's U-Boot test scripts will
>> >> >> catch
>> >> >> any
>> >> >> problems, so LGTM.
>> >>
>> >> Thanks for looking at this.
>> >>
>> >> >
>> >> >
>> >> > Yes, my testing should catch most issues with any patches, although
>> >> > there
>> >> > are still some coverage holes:
>> >> >
>> >> > 1) I don't test cold boot; U-boot is always loaded over USB RCM which
>> >> > may
>> >> > hide bugs specific to cold booting.
>> >>
>> >> I tested cold bold on Nyan, but I use USB RCM also so don't normally
>> >> test cold boot.
>> >>
>> >> >
>> >> > 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
>> >> > p2371-0000, Jetson TX1)
>> >>
>> >> That's plenty :-)
>> >>
>> >> >
>> >> > 3) Obviously I don't test the new features introduced by this patch;
>> >> > chain-loading.
>> >>
>> >> It's OK I can rely on others for that so long as the changes are
>> >> acceptable to the normal boot case.
>>
>> Is this ready to be applied at some point?

Tom Warren - he is the Tegra maintainer.

>>
>> Regards,
>> Simon
>
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation
  2017-07-08 16:09                   ` Simon Glass
@ 2017-07-09 13:59                     ` Tom Warren
  0 siblings, 0 replies; 35+ messages in thread
From: Tom Warren @ 2017-07-09 13:59 UTC (permalink / raw)
  To: u-boot

I'm on vacation until Monday, 17 July. I can look at it then.

--
nvpublic

> -----Original Message-----
> From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
> Sent: Saturday, July 08, 2017 9:09 AM
> To: Thomas Hoff <thomashoffltd@gmail.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>; Marek Vasut
> <marex@denx.de>; Stephen Warren <swarren@nvidia.com>; Stefan Agner
> <stefan.agner@toradex.com>; Jagan Teki <jagan@openedev.com>; U-Boot
> Mailing List <u-boot@lists.denx.de>; Tom Warren <TWarren@nvidia.com>;
> Riley Baird <riley@openmailbox.org>
> Subject: Re: [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and
> add documentation
> 
> Hi,
> 
> On 7 July 2017 at 01:27, Thomas Hoff <thomashoffltd@gmail.com> wrote:
> > Are you asking me or Tom Warren?
> >
> > On Thu, Jul 6, 2017 at 8:58 PM, Simon Glass <sjg@chromium.org> wrote:
> >>
> >> Hi Tom,
> >>
> >> On 27 June 2017 at 14:09, Thomas Hoff <thomashoffltd@gmail.com> wrote:
> >> > Thanks a bunch Simon (and everyone else who contributed)!
> >> >
> >> > I followed the instructions and was able to get uboot to boot
> >> > successfully.
> >> > :D
> >> >
> >> > Now I just got to figure out how to get the kernel to boot in HYP mode.
> >> >
> >> > Cheers,
> >> >
> >> > Thomas
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > On Fri, Jun 9, 2017 at 5:27 AM, Simon Glass <sjg@chromium.org> wrote:
> >> >>
> >> >> Hi Stephen,
> >> >>
> >> >> On 7 June 2017 at 09:41, Stephen Warren <swarren@wwwdotorg.org>
> wrote:
> >> >> > On 06/07/2017 09:32 AM, Tom Warren wrote:
> >> >> >>
> >> >> >> Simon,
> >> >> >>
> >> >> >>> From: Simon Glass
> >> >> >
> >> >> > ...
> >> >> >>>
> >> >> >>> On 1 June 2017 at 07:52, Matthew Gorski
> >> >> >>> <matt.gorski@gmail.com>
> >> >> >>> wrote:
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> On Wed, May 31, 2017 at 2:28 PM, Matthew Gorski
> >> >> >>>> <matt.gorski@gmail.com> wrote:
> >> >> >>>>>
> >> >> >>>>> On Mon, May 22, 2017 at 7:17 AM, Simon Glass
> >> >> >>>>> <sjg@chromium.org>>
> >> >> >>>>> wrote:
> >> >> >>>>>>
> >> >> >>>>>>
> >> >> >>>>>> Every now and then someone wants to chain-load U-Boot on a
> >> >> >>>>>> Chromebook.
> >> >> >>>>>> The procedure is not very complicated but there are some
> >> >> >>>>>> oddities.
> >> >> >>>>>>
> >> >> >>>>>> This series updates a few things with allow U-Boot to start
> >> >> >>>>>> on nyan-big in this way and adds documentation on how to do it.
> >> >> >>>>>> This
> >> >> >>>>>> provides a central place where the procedure on different
> >> >> >>>>>> devices can be documented.
> >> >> >
> >> >> > ...
> >> >> >>>>>
> >> >> >>>>> Thank You for this Simon!  Very much appreciated!  I am
> >> >> >>>>> going to give this a try later tonight and report back my
> >> >> >>>>> personal results...
> >> >> >
> >> >> > ...
> >> >> >
> >> >> >>>> Confirmed! Chain-loading working on my nyan_big.  I
> >> >> >>>> appreciate this very much Simon and all who contributed.
> >> >> >>>
> >> >> >>>
> >> >> >>> I'd like to pull in this series. Are there any comments / reviews?
> >> >> >>> If
> >> >> >>> affects both
> >> >> >>> tegra and rockchip.
> >> >> >>
> >> >> >> I'm fine with it - I assume you'll pull it in to one of your repos
> >> >> >> and
> >> >> >> post a PR to get it into mainstream U-Boot?
> >> >> >> I don't have the HW to test on (my nyan-big has been shelved), but
> >> >> >> trust
> >> >> >> in Matthew's testing, and that Stephen's U-Boot test scripts will
> >> >> >> catch
> >> >> >> any
> >> >> >> problems, so LGTM.
> >> >>
> >> >> Thanks for looking at this.
> >> >>
> >> >> >
> >> >> >
> >> >> > Yes, my testing should catch most issues with any patches, although
> >> >> > there
> >> >> > are still some coverage holes:
> >> >> >
> >> >> > 1) I don't test cold boot; U-boot is always loaded over USB RCM which
> >> >> > may
> >> >> > hide bugs specific to cold booting.
> >> >>
> >> >> I tested cold bold on Nyan, but I use USB RCM also so don't normally
> >> >> test cold boot.
> >> >>
> >> >> >
> >> >> > 2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1,
> >> >> > p2371-0000, Jetson TX1)
> >> >>
> >> >> That's plenty :-)
> >> >>
> >> >> >
> >> >> > 3) Obviously I don't test the new features introduced by this patch;
> >> >> > chain-loading.
> >> >>
> >> >> It's OK I can rely on others for that so long as the changes are
> >> >> acceptable to the normal boot case.
> >>
> >> Is this ready to be applied at some point?
> 
> Tom Warren - he is the Tegra maintainer.
> 
> >>
> >> Regards,
> >> Simon
> >
> >
> 
> Regards,
> Simon

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2017-07-09 13:59 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-22 11:17 [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 01/12] arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY Simon Glass
2017-05-23  1:15   ` Tom Rini
2017-05-22 11:17 ` [U-Boot] [PATCH 02/12] tegra: Init clocks even when SPL did not run Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 03/12] tegra: dts: Add cros-ec SPI settings Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 04/12] arm: Rename HCTR to HTCR Simon Glass
2017-05-23  1:15   ` Tom Rini
2017-05-22 11:17 ` [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T Simon Glass
2017-05-23  1:15   ` Tom Rini
2017-06-09  3:00     ` Simon Glass
2017-06-09 11:16       ` Tom Rini
2017-05-22 11:17 ` [U-Boot] [PATCH 06/12] arm: Disable LPAE if not enabled Simon Glass
2017-05-23  1:15   ` Tom Rini
2017-05-22 11:17 ` [U-Boot] [PATCH 07/12] tegra: spi: Wait a little after setting the clocks Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 08/12] tegra: nyan-big: Enable the dhrystone benchmark Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 09/12] tegra: video: Don't power up the SOR twice Simon Glass
2017-06-07 12:52   ` Anatolij Gustschin
2017-05-22 11:17 ` [U-Boot] [PATCH 10/12] tegra: Enable CP15 init Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 11/12] tegra: clock: Avoid a divide-by-zero error Simon Glass
2017-05-22 11:17 ` [U-Boot] [PATCH 12/12] README: Add instructions for chain-loading U-Boot Simon Glass
2017-05-29 13:29   ` Peter Robinson
2017-06-01  3:11     ` Simon Glass
2017-05-31 18:28 ` [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentation Matthew Gorski
2017-05-31 18:40   ` Matthew Gorski
2017-05-31 19:19     ` Simon Glass
2017-06-01 13:52   ` Matthew Gorski
2017-06-07 11:58     ` Simon Glass
2017-06-07 15:32       ` Tom Warren
2017-06-07 15:41         ` Stephen Warren
2017-06-09 12:27           ` Simon Glass
2017-06-27 20:09             ` Thomas Hoff
2017-07-07  3:58               ` Simon Glass
2017-07-07  7:27                 ` Thomas Hoff
2017-07-08 16:09                   ` Simon Glass
2017-07-09 13:59                     ` Tom Warren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.