[PATCH] RFC: tegra: xhci: Allocate from non-cached memory

2020-09-11 Thread twarren
From: Tom Warren This fixes the XHCI driver on T210 boards (TX1, Nano). I was seeing that Set_Address wasn't completing, returning with a Context Parameter error. Examining the slot context, etc. showed that the correct info was there in RAM. Once I set 'dcache off' globally, it started working.

[PATCH] ARM: tegra: Add NVIDIA Jetson Nano Developer Kit support

2020-03-24 Thread twarren
From: Tom Warren 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,

[PATCH] qspi: t210: Use dev_read calls for FDT data like base, freq

2020-03-20 Thread twarren
From: Tom Warren This Tegra QSPI driver hadn't been brought up to date with how DM drivers are fetching data from the FDT now, and was pulling in bogus data for base, max freq, etc. Fixed ofdata_to_platdata to work the same way it does in the tegra114 SPI driver, using dev_read_ functions.

[PATCH] mtd: spi: Add Macronix MX25U3235F device

2020-03-20 Thread twarren
From: Tom Warren Add Macronix MX25U3235F flash device description. This is the 4MB part used on Jetson Nano. Signed-off-by: Tom Warren --- drivers/mtd/spi/spi-nor-ids.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c index

[PATCH] ARM: tegra: p2371-2180: add I2C nodes to DT

2020-03-18 Thread twarren
From: Tom Warren This adds to the DT the I2C controllers that connect to the board ID EEPROM, camera board EEPROM, etc. With this change, you can now probe all I2C devices on a TX1 board. Signed-off-by: Tom Warren --- arch/arm/dts/tegra210-p2371-2180.dts | 18 ++ 1 file

[PATCH 1/2 v2] mmc: t210: Add autocal and tap/trim updates for SDMMC1/3

2020-03-18 Thread twarren
From: Tom Warren As per the T210 TRM, when running at 3.3v, the SDMMC1 tap/trim and autocal values need to be set to condition the signals correctly before talking to the SD-card. This is the same as what's being done in CBoot, but it gets reset when the SDMMC1 HW is soft-reset during SD driver

[PATCH] t210: pinmux: Remove pinmux/GPIO init from T210 boards

2020-03-17 Thread twarren
From: Tom Warren T210 CBoot is now doing the full pinmux and GPIO init, based on the DTB tables. Remove pinmux/GPIO init tables & code from all T210-based builds below: p2371-2180 aka TX1 p2371- e2220-1170 p2571 Signed-off-by: Tom Warren --- board/nvidia/e2220-1170/e2220-1170.c

[PATCH 1/2] net: rt8169: WAR for DHCP not getting IP after kernel boot/reboot

2020-03-17 Thread twarren
From: Tom Warren This is a WAR for DHCP failure after rebooting from the L4T kernel. The r8169.c kernel driver is setting bit 19 of the rt816x HW register 0xF0, which goes by FuncEvent and MISC in various driver source/datasheets. That bit is called RxDv_Gated_En in the r8169.c kernel driver.

[PATCH 2/2] tegra: Enable CONFIG_BOOTP_PREFER_SERVERIP for all boards

2020-03-17 Thread twarren
From: Tom Warren This allows the user to set $serverip in the environment before executing a DHCP request. If they do, U-Boot will use that IP rather than using the IP in the DHCP response. Signed-off-by: Tom Warren --- configs/e2220-1170_defconfig | 1 + configs/p2371-_defconfig

[PATCH 0/2] net: tegra: Misc network fixes

2020-03-17 Thread twarren
From: Tom Warren These two patches are from downstream Tegra L4T U-Boot. Tom Warren (2): net: rt8169: WAR for DHCP not getting IP after kernel boot/reboot tegra: Enable CONFIG_BOOTP_PREFER_SERVERIP for all Jetson boards configs/e2220-1170_defconfig | 1 + configs/p2371-_defconfig

[PATCH 1/2] qspi: t210: Fix claim_bus's use of the wrong bus/device

2020-03-17 Thread twarren
From: Tom Warren claim_bus() is passed a udevice *dev, which is the bus device's parent. In this driver, claim_bus assumed it was the bus, which caused the 'priv' info pointer to be wrong, and periph_id was incorrect. This in turn caused the periph clock call to assign the wrong clock (PLLM

[PATCH 2/2] qspi: t210: Fix QSPI clock and tap delays

2020-03-17 Thread twarren
From: Tom Warren When claim_bus was setting the clock, it reset the QSPI controller, which wipes out any tap delays set by previous bootloaders (nvtboot, CBoot for example on Nano). Instead of doing that in claim_bus, which gets called a lot, moved clock setting to probe(), and set tap delays

[PATCH 0/2] qspi: t210: fix claim_bus and clock/tap delays

2020-03-17 Thread twarren
From: Tom Warren These two patches fix a couple of problems encountered in the T210 QSPI driver discovered during Jetson Nano bringup. Tom Warren (2): qspi: t210: Fix claim_bus's use of the wrong bus/device qspi: t210: Fix QSPI clock and tap delays drivers/spi/tegra210_qspi.c | 25

[PATCH 0/2] mmc: t210: fix autocal and 400KHz clock

2020-03-16 Thread twarren
From: Tom Warren These two patches contain fixes for two issues found on T210 MMC during Nano bringup. Autocal wasn't being done correctly as per the TRM, and the 375/400KHz MMC card detect clock wasn't using the correct parameters as per the TRM. Tom Warren (2): mmc: t210: Add autocal and

[PATCH 1/2] mmc: t210: Add autocal and tap/trim updates for SDMMC1/3

2020-03-16 Thread twarren
From: Tom Warren As per the T210 TRM, when running at 3.3v, the SDMMC1 tap/trim and autocal values need to be set to condition the signals correctly before talking to the SD-card. This is the same as what's being done in CBoot, but it gets reset when the SDMMC1 HW is soft-reset during SD driver

[PATCH 2/2] mmc: t210: Fix 'bad' SD-card clock when doing 400KHz card detect

2020-03-16 Thread twarren
From: Tom Warren According to the HW team, for some reason the normal clock select code picks what appears to be a perfectly valid 375KHz SD card clock, based on the CAR clock source and SDMMC1 controller register settings (CAR = 408MHz PLLP0 divided by 68 for 6MHz, then a SD Clock Control

[PATCH 2/5] t210: do not enable PLLE and UPHY PLL HW PWRSEQ

2020-03-16 Thread twarren
From: JC Kuo This commit removes the programming sequence that enables PLLE and UPHY PLL hardware power sequencers. Per TRM, boot software should enable PLLE and UPHY PLLs in software controlled power-on state and should power down PLL before jumping into kernel or the next stage boot software.

[PATCH 0/5] Misc fixes for Tegra

2020-03-16 Thread twarren
From: Tom Warren These fixes originated on our downstream L4T U-Boot, and include fdt, pinmux, pll and code relocation changes. JC Kuo (1): t210: do not enable PLLE and UPHY PLL HW PWRSEQ Stephen Warren (1): ARM: tegra: rework fdt_serial_tag_setup_one Tom Warren (2): fdt: Fix 'system'

[PATCH 3/5] ARM: tegra: p2771-0000: enable PIE relocation

2020-03-16 Thread twarren
From: Vishruth U-Boot is configured to build as position independent executable. Enable relocation of RELA section required to work with different load addresses. Signed-off-by: Vishruth Signed-off-by: Tom Warren --- configs/p2771--000_defconfig | 1 + configs/p2771--500_defconfig |

[PATCH 1/5] ARM: tegra: rework fdt_serial_tag_setup_one

2020-03-16 Thread twarren
From: Stephen Warren Reword fdt_serial_tag_setup_one() so that the types it uses aren't tied to CONFIG_SERIAL_TAG, and rename the function to better indicate its purpose. This will allow it to be re-used by future board info related code. Signed-off-by: Stephen Warren Signed-off-by: Tom Warren

[PATCH 5/5] ARM: Tegra: Use calc env var feature on all boards

2020-03-16 Thread twarren
From: Tom Warren Large kernels (>32MB) can fail to boot because they overwrite the FDT address, corrupting the DTB. Stephen Warren had created a fix to dynamically adjust the fdt/ramdisk/pxefile/kernel addr vars at boot time for T186, which allows a large kernel to load and boot. This is based

[PATCH 4/5] fdt: Fix 'system' command

2020-03-16 Thread twarren
From: Tom Warren 'fdt systemsetup' wasn't working, due to the fact that the 'set' command was being parsed in do_fdt() by only testing for the leading 's' instead of "se", which kept the "sys" test further down from executing. Changed to test for "se" instead, now 'fdt systemsetup' works (to