[U-Boot] [PATCH v2 15/15] ARM: tegra: Add NVIDIA Jetson Nano Developer Kit support

Stephen Warren swarren at wwwdotorg.org
Tue Mar 19 17:18:39 UTC 2019


On 3/18/19 5:24 PM, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
> 
> The Jetson Nano Developer Kit is a Tegra X1 based development board. It
> is similar to Jetson TX1 but it is not pin compatible. It features 4 GB
> of LPDDR4, an SPI NOR flash for early boot firmware and an SD card slot
> used for storage.
> 
> HDMI 2.0 or DP 1.2 are available for display, four USB ports (3 USB 2.0
> and 1 USB 3.0) can be used to attach a variety of peripherals and a PCI
> Ethernet controller provides onboard network connectivity.
> 
> A 40-pin header on the board can be used to extend the capabilities and
> exposed interfaces of the Jetson Nano.

> diff --git a/arch/arm/dts/tegra210-p3450-0000.dts b/arch/arm/dts/tegra210-p3450-0000.dts

> +/ {
> +	model = "NVIDIA Jetson Nano Development Kit";

Technically, it's marketed as a "Developer Kit", not a "Development Kit".

> +	aliases {
> +		i2c0 = "/i2c at 7000d000";
> +		i2c2 = "/i2c at 7000c400";
> +		i2c3 = "/i2c at 7000c500";
> +		i2c4 = "/i2c at 7000c700";
> +		sdhci0 = "/sdhci at 700b0600";
> +		sdhci1 = "/sdhci at 700b0000";

SKU 0 (the -0000 in the board name) only has 1 SD card slot and no eMMC.

I personally would prefer a different build of U-Boot for each SKU (or 
at least a separate DT), so that each U-Boot exposes exactly what's 
present, not the union of all SKUs. That said, I know there's resistance 
to that in our downstream builds of U-Boot for L4T.

> diff --git a/arch/arm/mach-tegra/tegra210/Kconfig b/arch/arm/mach-tegra/tegra210/Kconfig
> +config TARGET_P3450_0000
> +	bool "NVIDIA Jetson Nano Development Kit"

Developer.

> diff --git a/board/nvidia/p3450-0000/pinmux-config-p3450-0000.h b/board/nvidia/p3450-0000/pinmux-config-p3450-0000.h
> +/*
> + * THIS FILE IS AUTO-GENERATED - DO NOT EDIT!
> + *
> + * To generate this file, use the tegra-pinmux-scripts tool available from
> + * https://github.com/NVIDIA/tegra-pinmux-scripts
> + * Run "board-to-uboot.py p3450-0000".
> + */

I'd like to see the pinmux-scripts patches. And some questions there:
- Confirm this is for the A02 board revision.
- Confirm which pinmux spreadsheet version the data came from.
- Does this copy of the file delete the GPIO setup entries that are 
different between HW A01 and A02, so it will run on both boards, or does 
it contain everything so that it's only valid for A02 HW?

We are only shipping A02 publicly, so I think it makes sense to include 
the complete pinmux table here, and let internal NVIDIA users of A01 
just use only the downstream code.

> diff --git a/include/configs/p3450-0000.h b/include/configs/p3450-0000.h

> +#define CONFIG_PREBOOT
> +
> +#define BOARD_EXTRA_ENV_SETTINGS \
> +	"preboot=if test -e mmc 1:1 /u-boot-preboot.scr; then " \
> +		"load mmc 1:1 ${scriptaddr} /u-boot-preboot.scr; " \
> +		"source ${scriptaddr}; " \
> +	"fi\0"

We might want to hold off on that until we've discussed what we want to 
do for preboot scripts and environment in L4T, so that we don't 
introduce some downstream/upstream incompatibility split here?


More information about the U-Boot mailing list