On 3/24/20 1:03 PM, twar...@nvidia.com wrote: > From: Tom Warren <twar...@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 4GB > of LPDDR4, a 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. NVMe support > has also been added. Env save is at the end of QSPI (4MB-8K). > > A 40-pin header on the board can be used to extend the capabilities and > exposed interfaces of the Jetson Nano.
> arch/arm/dts/tegra210-p3450-0000.dts | 147 +++++++++++++++++++++++++++++ This filename is consistent with other DT filenames in U-Boot, but there's been a movement downstream to name DT after baseboard plus module rather than combination, so tegra210-p3449-0000+p3448-0000.dts. Either is probably fine for now since this board was released before the push towards the more descriptive naming. > diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c > +#if defined(CONFIG_DISABLE_SDMMC1_EARLY) > + /* > + * Turn off (reset/disable) SDMMC1 on Nano here, before GPIO INIT. > + * We do this because earlier bootloaders have enabled power to > + * SDMMC1 on Nano, and toggling power-gpio (PZ3) in pinmux_init() > + * results in power being back-driven into the SD-card and SDMMC1 > + * HW, which is 'bad' as per the HW team. > + * > + * From the HW team: "LDO2 from the PMIC has already been set to 3.3v in > + * nvtboot/CBoot on Nano (for SD-card boot). So when U-Boot's GPIO_INIT > + * table sets PZ3 to OUT0 as per the pinmux spreadsheet, it turns off > + * the loadswitch. When PZ3 is 0 and not driving, essentially the SDCard > + * voltage turns off. Since the SDCard voltage is no longer there, the > + * SDMMC CLK/DAT lines are backdriving into what essentially is a > + * powered-off SDCard, that's why the voltage drops from 3.3V to ~1.6V" > + * > + * Note that this can probably be removed when we change over to storing > + * all BL components on QSPI on Nano, and U-Boot then becomes the first > + * one to turn on SDMMC1 power. Another fix would be to have CBoot > + * disable power/gate SDMMC1 off before handing off to U-Boot/kernel. > + */ > + reset_set_enable(PERIPH_ID_SDMMC1, 1); > + clock_set_enable(PERIPH_ID_SDMMC1, 0); > +#endif /* CONFIG_DISABLE_SDMMC1_EARLY */ I imagine we can remove this completely now that cboot does 100% of the pinmux init, so the referenced pinmux_init() function in U-Boot no longer causes a problem? > diff --git a/board/nvidia/p3450-0000/p3450-0000.c > b/board/nvidia/p3450-0000/p3450-0000.c > +static void ft_carveout_setup(void *fdt) If/when we upstream the DT node/property copying feature, can this code be replaced by simply adding extra nodes/properties to the copy list? > diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig > +CONFIG_DISABLE_SDMMC1_EARLY=y We can drop this assuming the code chunk I commented on above gets dropped. > +CONFIG_NVME=y Does this work already? I thought it was still under development for Tegra.