tegra: nyan-big: Support chainloading and add documentation
Subsystems (5)
cover tegra: nyan-big: Support chainloading and add documentation
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
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 1/12 arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
This option allows skipping the call to lowlevel() while still performing CP15 init. Support this on ARM720T so it can be used with Tegra.
---
arch/arm/cpu/arm720t/start.S | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
arch/arm/cpu/arm720t/start.S +4 -2
@@ -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
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 1/12 arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLY
Quoted 4 lines · Simon Glass
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 <[email protected]>
Signature · 8 lines
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>
PATCH 2/12 tegra: Init clocks even when SPL did not run
In reply to Simon GlassAt 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.
---
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(+)
arch/arm/include/asm/arch-tegra/clock.h +3 -0
@@ -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);
arch/arm/mach-tegra/board2.c +3 -0
@@ -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) {
arch/arm/mach-tegra/clock.c +5 -0
@@ -824,3 +824,8 @@ int clock_external_output(int clk_id)return 0 ; } + +__weak bool clock_early_init_done (void ) +{ +return true; +}
arch/arm/mach-tegra/tegra124/clock.c +18 -0
@@ -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 ;
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 3/12 tegra: dts: Add cros-ec SPI settings
In reply to Simon GlassAt present the interrupt does not work and the SPI bus runs much less quickly than it should. Add settings to fix this.
---
arch/arm/dts/tegra124-nyan-big-u-boot.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+)
arch/arm/dts/tegra124-nyan-big-u-boot.dtsi +9 -0
@@ -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>; + }; + }; };
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 4/12 arm: Rename HCTR to HTCR
In reply to Simon GlassThis appears to be a typo. Fix it.
---
arch/arm/lib/cache-cp15.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/lib/cache-cp15.c +1 -1
@@ -147,7 +147,7 @@ static inline void mmu_setup(void)#endif if (is_hyp ()) { -/* Set HCTR to enable LPAE */ +/* Set HTCR to enable LPAE */ asmvolatile ("mcr p15, 4, %0, c2, c0, 2" : :"r" (reg) :"memory" );/* Set HTTBR0 */
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 4/12 arm: Rename HCTR to HTCR
Quoted 3 lines · Simon Glass
This appears to be a typo. Fix it.
Signed-off-by Simon Glass <[email protected]>
Signature · 8 lines
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>
PATCH 5/12 arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
In reply to Simon GlassAt 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.
---
arch/arm/lib/cache-cp15.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/lib/cache-cp15.c +1 -1
@@ -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 ));
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 5/12 arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
Quoted 17 lines · Simon Glass
At present if
CONFIG_ARMV7_LPAEis defined thenmmu_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 <[email protected]>---
arch/arm/lib/cache-cp15.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/arm/lib/cache-cp15.c +0
-0
arch/arm/lib/cache-cp15.c static inline void mmu_setup(void) · line 135
Quoted 8 lines
arch/arm/lib/cache-cp15.c +1
-1@@ -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?
Signature · 8 lines
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>
PATCH 5/12 arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
Hi Tom.
Quoted 22 lines · Tom Rini
Quoted 20 lines · Simon Glass
At present if
CONFIG_ARMV7_LPAEis defined thenmmu_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 <[email protected]>---
arch/arm/lib/cache-cp15.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/arm/lib/cache-cp15.c +0
-0@@ -129,7 +129,7 @@ static inline void mmu_setup(void)dram_bank_mmu_setup (i); }
Quoted 9 lines
arch/arm/lib/cache-cp15.c static inline void mmu_setup(void) · line 135
Quoted 5 lines
arch/arm/lib/cache-cp15.c +1
-1-#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
PATCH 5/12 arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T
Quoted 41 lines · Simon Glass
Hi Tom.
Quoted 22 lines · Tom Rini
Quoted 20 lines · Simon Glass
At present if
CONFIG_ARMV7_LPAEis defined thenmmu_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 <[email protected]>---
arch/arm/lib/cache-cp15.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/arm/lib/cache-cp15.c +0
-0@@ -129,7 +129,7 @@ static inline void mmu_setup(void)dram_bank_mmu_setup (i); }Quoted 9 lines
arch/arm/lib/cache-cp15.c static inline void mmu_setup(void) · line 135
Quoted 5 lines
arch/arm/lib/cache-cp15.c +1
-1-#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.
Quoted 3 lines
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.
Signature · 8 lines
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>
PATCH 6/12 arm: Disable LPAE if not enabled
In reply to Simon GlassIf 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.
---
arch/arm/lib/cache-cp15.c | 9 +++++++++ 1 file changed, 9 insertions(+)
arch/arm/lib/cache-cp15.c +9 -0
@@ -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 */ + asmvolatile ("mcr p15, 4, %0, c2, c0, 2" + : :"r" (0 ) :"memory" ); + }else { +/* Set TTBCR to disable LPAE */ + asmvolatile ("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 )
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 6/12 arm: Disable LPAE if not enabled
Quoted 5 lines · Simon Glass
If
CONFIG_ARMV7_LPAEis 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 <[email protected]>
Signature · 8 lines
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>
PATCH 7/12 tegra: spi: Wait a little after setting the clocks
In reply to Simon GlassFor 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.
---
drivers/spi/tegra114_spi.c | 1 + 1 file changed, 1 insertion(+)
drivers/spi/tegra114_spi.c +1 -0
@@ -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(®s->fifo_status,
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 8/12 tegra: nyan-big: Enable the dhrystone benchmark
In reply to Simon GlassEnable this so we can roughly measure CPU performance. Also enable the cache command to allow for timing.
---
configs/nyan-big_defconfig | 2 ++ 1 file changed, 2 insertions(+)
configs/nyan-big_defconfig +2 -0
@@ -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
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 9/12 tegra: video: Don't power up the SOR twice
In reply to Simon GlassIf 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.
---
drivers/video/tegra124/sor.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/video/tegra124/sor.c +9 -0
@@ -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 :
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 9/12 tegra: video: Don't power up the SOR twice
Hi Simon,
Quoted 5 lines · 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 <[email protected]>
PATCH 10/12 tegra: Enable CP15 init
In reply to Simon GlassAt 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.
---
include/configs/tegra-common-post.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/configs/tegra-common-post.h +1 -1
@@ -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
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 11/12 tegra: clock: Avoid a divide-by-zero error
In reply to Simon GlassThe 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.
---
arch/arm/mach-tegra/clock.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
arch/arm/mach-tegra/clock.c +4 -1
@@ -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 :
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 12/12 README: Add instructions for chain-loading U-Boot
In reply to Simon GlassMost 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.
---
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
doc/README.chromium new file +222 -0
@@ -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.
doc/chromium/devkeys/kernel.keyblock new file binary +0 -0
zW#>yr_58T4rnsp(c+!WgqdkJV>YPu at g)hvzmagDHh1sz4KIGncd$uw9qpf%>5=KE z6?A>OaYc9j^yRg8E@<CuOh0MAa*G@{N60b8V+zlXamI5UWn#^Cm?o(3bWw+S*5zBb zZk5SAvDNvP+BRd+3eQ?KR}mJ0#}?jcb7FK}++@3Qn01OwwQ^^htkGe3ED;1Cj<ux z2wgbzsHm~PW}~{(oBi4$*G?zC+Hz&Zz0db;FN)u5>- at 4%BktA~cgfj@&UwB{zU3s- zDziH0k}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-PVl_#DD!buO;6@V<3SPj>T49 at c>B7EXz at mWOo-*Y50>Src>Tna{ih zUXcd>Cr*%4)Cze_E$eDJ&PgRLH+q&@nY#o at 75@omYE$!b_Vul_%YQMCHOxb%Jc z2c?At#%3F0-oEm?r@|9!*}1BEFr^Xaq%qMA{JiMTx>iiWn-W9ul1%=s+N2Juh9l 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%IlQJ9XnkkKn^k<@s1kR~^4$b|E*w<I1zW z7j&nK>uz>iEy?#}&ELtZd3 at IHkC0xac9!?nqQsBNXEFy&)%>@C}+9fj^*+~*+2Gq zuVmTs)9lR6s}tAMy%auBf9m?3eJeLy(-7CccAqcXL-1PQ@!a-r9NTj;zhBbs4H1J zEsN(=_QsF*7RMp)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
doc/chromium/devkeys/kernel_data_key.vbprivk new file binary +0 -0
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-8VQvR3v+_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(bVSfe4ElQ+5IsBsuw6bSanhmT0)c at 5_B?+TV+0D+Xz1BXf4sIgaL68 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?7t71bo$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
Signature · 1 line
2.13.0.303.g4ebf302169-goog
PATCH 12/12 README: Add instructions for chain-loading U-Boot
Quoted 70 lines · Simon Glass
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 <[email protected]>---
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.vbprivkdoc/README.chromium new file +46
-0@@ -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
doc/README.chromium line 56
Quoted 10 lines
doc/README.chromium new file +10
-0+ +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
PATCH 12/12 README: Add instructions for chain-loading U-Boot
Hi Peter,
Quoted 78 lines · Peter Robinson
Quoted 77 lines · Simon Glass
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 <[email protected]>---
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.vbprivkdoc/README.chromium new file +53
-0@@ -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 +
Quoted 8 lines
doc/README.chromium line 56
Quoted 3 lines
doc/README.chromium new file +3
-0+to: + +#define CONFIG_SYS_TEXT_BASE 0x81000100One 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
cover tegra: nyan-big: Support chainloading and add documentation
In reply to Simon GlassQuoted 42 lines · Simon Glass
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: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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
Quoted 1 line
Thank You for this Simon! Very much appreciated! I am going to give this
a try later tonight and report back my personal results...
Quoted 4 lines
--
2.13.0.303.g4ebf302169-goog
cover tegra: nyan-big: Support chainloading and add documentation
Quoted 46 lines · Matthew Gorski
Quoted 42 lines · Simon Glass
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: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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
Quoted 8 lines
Quoted 1 line
Thank You for this Simon! Very much appreciated! I am going to give
this a try later tonight and report back my personal results...
Quoted 4 lines
--
2.13.0.303.g4ebf302169-googSimon could you please link the u-boot tree this was committed to? I
checked master and didn't see the doc/README.chromium
cover tegra: nyan-big: Support chainloading and add documentation
Hi Matthew,
Quoted 54 lines · Matthew Gorski
Quoted 50 lines · Matthew Gorski
Quoted 34 lines · Simon Glass
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: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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 bytesQuoted 9 lines
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.vbprivkThank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
Quoted 1 line
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
--
2.13.0.303.g4ebf302169-googSimon 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
cover tegra: nyan-big: Support chainloading and add documentation
In reply to Matthew GorskiQuoted 46 lines · Matthew Gorski
Quoted 42 lines · Simon Glass
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: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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
Quoted 8 lines
Quoted 1 line
Thank You for this Simon! Very much appreciated! I am going to give
this a try later tonight and report back my personal results...
Quoted 4 lines
--
2.13.0.303.g4ebf302169-googConfirmed! Chain-loading working on my
nyan_big. I appreciate this very
much Simon and all who contributed.
cover tegra: nyan-big: Support chainloading and add documentation
Hi,
Quoted 53 lines · Matthew Gorski
Quoted 50 lines · Matthew Gorski
Quoted 34 lines · Simon Glass
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: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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 bytesQuoted 9 lines
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.vbprivkThank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
Quoted 1 line
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
--
2.13.0.303.g4ebf302169-googConfirmed! 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
cover tegra: nyan-big: Support chainloading and add documentation
Simon,
Quoted 84 lines
-----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 <[email protected]>
Cc: U-Boot Mailing List <[email protected]>; Sjoerd Simons <[email protected]>; Tomeu Vizoso <[email protected]>; Riley Baird <[email protected]>; Heiko Schocher <[email protected]>; Patrick Delaunay <[email protected]>; Masahiro Yamada <[email protected]>; Tom Warren <[email protected]>; Anatolij Gustschin <[email protected]>; Jagannadha Sutradharudu Teki <[email protected]>; Keerthy <[email protected]>; Stephen Warren <[email protected]>; Jagan Teki <[email protected]>; Marek Vasut <[email protected]>; Albert Aribaud <[email protected]>; Stefan Agner <[email protected]>; Allen Martin <[email protected]>; Alexander Graf <[email protected]>; Jaehoon Chung <[email protected]>; Stephen Warren <[email protected]>
Subject: Re: [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentationHi,
Quoted 8 lines · Matthew Gorski
Quoted 4 lines · Matthew Gorski
On Mon, May 22, 2017 at 7:17 AM, Simon Glass <[email protected]>
Quoted 2 lines · wrote:
Quoted 2 lines
Quoted 2 lines
Every now and then someone wants to chain-load U-Boot on a
Chromebook.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
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.
Quoted 43 lines
Quoted 43 lines
Quoted 27 lines
Simon Glass (12):
arm: arm720t: SupportCONFIG_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 supportCONFIG_ARMV7_LPAEon 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-Bootarch/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 bytesQuoted 9 lines
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.vbprivkThank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
Quoted 4 lines
--
2.13.0.303.g4ebf302169-goog
Quoted 5 lines
Quoted 2 lines
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
Quoted 3 lines
Regards,
Simon
--
nvpublic
cover tegra: nyan-big: Support chainloading and add documentation
Quoted 3 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 12 lines
Quoted 12 lines · Matthew Gorski
Quoted 11 lines
Quoted 8 lines · Matthew Gorski
Quoted 7 lines · Simon Glass
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.
...
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Thank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
...
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
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.
cover tegra: nyan-big: Support chainloading and add documentation
Hi Stephen,
Quoted 40 lines · Stephen Warren
Quoted 4 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 17 lines
Quoted 17 lines · Matthew Gorski
Quoted 15 lines
Quoted 11 lines · Matthew Gorski
Quoted 9 lines · Simon Glass
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.
...
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Thank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
...
Quoted 8 lines
Quoted 7 lines
Quoted 2 lines
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.
Quoted 5 lines
Quoted 5 lines
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.
Quoted 7 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
That's plenty :-)
Quoted 3 lines
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
cover tegra: nyan-big: Support chainloading and add documentation
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
Quoted 86 lines · Simon Glass
Hi Stephen,
Quoted 15 lines · Stephen Warren
Quoted 4 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 8 lines
Quoted 8 lines · Matthew Gorski
Quoted 6 lines
Quoted 2 lines · Matthew Gorski
On Mon, May 22, 2017 at 7:17 AM, Simon Glass <[email protected]>>
Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Every now and then someone wants to chain-load U-Boot on a
Chromebook.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
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
Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
be documented.
...
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Thank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
...
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines
Confirmed! Chain-loading working on my
nyan_big. I appreciate this very much Simon and all who contributed.Quoted 8 lines
Quoted 8 lines
Quoted 3 lines
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 catchany
Quoted 1 line
Quoted 1 line
problems, so LGTM.
Thanks for looking at this.
Quoted 7 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
That's plenty :-)
Quoted 3 lines
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
cover tegra: nyan-big: Support chainloading and add documentation
Hi Tom,
Quoted 9 lines · Thomas Hoff
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,
Quoted 90 lines
Thomas
Quoted 83 lines · Simon Glass
Hi Stephen,
Quoted 44 lines · Stephen Warren
Quoted 4 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 20 lines
Quoted 20 lines · Matthew Gorski
Quoted 18 lines
Quoted 14 lines · Matthew Gorski
Quoted 11 lines · Simon Glass
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....
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Thank You for this Simon! Very much appreciated! I am going to give
this a try later tonight and report back my personal results......
Quoted 8 lines
Quoted 7 lines
Quoted 2 lines
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.Quoted 7 lines
Quoted 7 lines
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.
Quoted 9 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
That's plenty :-)
Quoted 3 lines
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
cover tegra: nyan-big: Support chainloading and add documentation
Are you asking me or Tom Warren?
Quoted 114 lines · Simon Glass
Hi Tom,
Quoted 3 lines · Thomas Hoff
Thanks a bunch Simon (and everyone else who contributed)!
I followed the instructions and was able to get uboot to boot
successfully.
Quoted 26 lines
:D
Now I just got to figure out how to get the kernel to boot in HYP mode.
Cheers,
Thomas
Quoted 13 lines · Simon Glass
Hi Stephen,
Quoted 9 lines · Stephen Warren
Quoted 4 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 2 lines
Quoted 2 lines
On 1 June 2017 at 07:52, Matthew Gorski <[email protected]>
Quoted 5 lines · wrote:
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 1 line · Matthew Gorski
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines · Simon Glass
Every now and then someone wants to chain-load U-Boot on a Chromebook.
The procedure is not very complicated but there are someoddities.
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
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....
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Thank You for this Simon! Very much appreciated! I am going to give
this a try later tonight and report back my personal results...Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
...
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
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
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines
affects both
tegra and rockchip.I'm fine with it - I assume you'll pull it in to one of your repos
and
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
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 willcatch
Quoted 22 lines
Quoted 22 lines
Quoted 2 lines
Quoted 2 lines
any
problems, so LGTM.Thanks for looking at this.
Quoted 9 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
Quoted 8 lines
Quoted 8 lines
That's plenty :-)
Quoted 3 lines
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
cover tegra: nyan-big: Support chainloading and add documentation
Hi,
Quoted 117 lines · Thomas Hoff
Are you asking me or Tom Warren?
Quoted 114 lines · Simon Glass
Hi Tom,
Quoted 10 lines · Thomas Hoff
Thanks a bunch Simon (and everyone else who contributed)!
I followed the instructions and was able to get uboot to boot successfully.
:DNow I just got to figure out how to get the kernel to boot in HYP mode.
Cheers,
Quoted 98 lines
Thomas
Quoted 91 lines · Simon Glass
Hi Stephen,
Quoted 50 lines · Stephen Warren
Quoted 4 lines · Tom Warren
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 24 lines
Quoted 24 lines
Quoted 21 lines · Matthew Gorski
Quoted 17 lines · Matthew Gorski
Quoted 14 lines · Simon Glass
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....
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Thank You for this Simon! Very much appreciated! I am going to give
this a try later tonight and report back my personal results......
Quoted 10 lines
Quoted 9 lines
Quoted 3 lines
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.Quoted 9 lines
Quoted 9 lines
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.
Quoted 9 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
That's plenty :-)
Quoted 3 lines
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.
Quoted 5 lines
Quoted 3 lines
Regards,
Simon
Regards,
Simon
cover tegra: nyan-big: Support chainloading and add documentation
I'm on vacation until Monday, 17 July. I can look at it then.
--
nvpublic
Quoted 143 lines
-----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 <[email protected]>
Cc: Stephen Warren <[email protected]>; Marek Vasut <[email protected]>; Stephen Warren <[email protected]>; Stefan Agner <[email protected]>; Jagan Teki <[email protected]>; U-Boot Mailing List <[email protected]>; Tom Warren <[email protected]>; Riley Baird <[email protected]>
Subject: Re: [U-Boot] [PATCH 00/12] tegra: nyan-big: Support chainloading and add documentationHi,
Quoted 28 lines · Thomas Hoff
Are you asking me or Tom Warren?
Quoted 25 lines · Simon Glass
Hi Tom,
Quoted 21 lines · Thomas Hoff
Thanks a bunch Simon (and everyone else who contributed)!
I followed the instructions and was able to get uboot to boot successfully.
:DNow I just got to figure out how to get the kernel to boot in HYP mode.
Cheers,
Thomas
Quoted 4 lines · Simon Glass
Hi Stephen,
On 7 June 2017 at 09:41, Stephen Warren <[email protected]>
Quoted 81 lines · wrote:
Quoted 81 lines
Quoted 81 lines
Quoted 81 lines
Quoted 49 lines · Tom Warren
Quoted 4 lines
Simon,
Quoted 1 line
From: Simon Glass
...
Quoted 24 lines
Quoted 24 lines
Quoted 20 lines · Matthew Gorski
Quoted 16 lines · Matthew Gorski
Quoted 12 lines · Simon Glass
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....
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Thank You for this Simon! Very much appreciated! I am going to give this a try later tonight and report back my personal results...
...
Quoted 9 lines
Quoted 8 lines
Quoted 2 lines
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.Quoted 9 lines
Quoted 9 lines
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.
Quoted 9 lines
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.
Quoted 3 lines
2) I only test on a few HW platforms (beaver, dalmore, Jetson TK1, p2371-0000, Jetson TX1)
That's plenty :-)
Quoted 1 line
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
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.
Quoted 5 lines
Quoted 3 lines
Regards,
SimonRegards,
Simon