[PATCH v3 00/16] General Tegra improvements

Tom Warren TWarren at nvidia.com
Fri Feb 3 18:30:45 CET 2023


I've applied these (v3) to TOT u-boot-tegra/master OK, and 'buildman tegra' is OK.

I don't have the HW to test all of these combos (T20, T30, T114, T124) - they're mothballed in favor of my current work on T210/T186/T194/T234 (the last two w/no U-Boot). So I'd appreciate any 'Tested-by's from anyone (Thierry, Marcel, Marek, etc.) that might be using these older boards still. This is a substantive set of changes, and I don't want to break anything.

BTW - you can remove Stephen Warren from your CC list - he's moved out of the group that's concerned w/L4T & upstream bootloaders, and probably doesn't want to see this in his inbox any longer.

Thanks,

Tom

-----Original Message-----
From: Svyatoslav Ryhel <clamor95 at gmail.com> 
Sent: Friday, February 3, 2023 2:26 AM
To: Tom Warren <twarren at nvidia.com>; Stephen Warren <swarren at nvidia.com>; Marcel Ziswiler <marcel.ziswiler at toradex.com>; Allen Martin <amartin at nvidia.com>; Jagan Teki <jagan at amarulasolutions.com>; Lukasz Majewski <lukma at denx.de>; Marek Vasut <marex at denx.de>; Svyatoslav Ryhel <clamor95 at gmail.com>; Ramin Khonsari <raminterex at yahoo.com>; Thierry Reding <thierry.reding at gmail.com>; Maxim Schwalm <maxim.schwalm at gmail.com>; Dmitry Osipenko <digetx at gmail.com>
Cc: u-boot at lists.denx.de
Subject: [PATCH v3 00/16] General Tegra improvements

External email: Use caution opening links or attachments


List of changes in patch set:
 - add missing EXTPERIPH clocks for t30
 - swap host1x and disp1 clock parents (as they should be)
 - add clk_id_to_pll_id and clock_decode_pair helpers to use
   dts deeper (in tegra clocks often go in pair child - parent)
 - include PLLD setup in T30 (DISP1 may use it as parent on
   some device)
 - fix Tegra PWM parent clock inline with linux
 - Tegra SLINK: patch to accept any word length (unlike 8bit
   aligned which was before)
 - provide default USB gadget setup for existing Nvidia boards
 - add late init function to be able to configure pre-boot stage
   (like uncovering serial number or setting mac address)
 - create common pre-dm i2c write for PMIC (used on T30 and T124
   to configure basic PMIC voltages required to boot like cpu and
   core voltages)
 - expose crypto module for all Tegra SoCs and implement BCT patching
   (ability to update bootloader from u-boot on production devices
   without need in host PC)

---
Changelog from v2
 - fixed T114 TEGRA114_CLK_PLL_E_OUT0
 - adjusted pre-dm i2c write commit description
 - added description file for ebtupdate command
 - minor improvements of bct.c comments

Changelog from v1
 - rebased to latest u-boot master
 - PLLD setup for T30 moved specifically into T30 area
---

Maxim Schwalm (1):
  ARM: tegra: provide default USB gadget setup

Ramin Khonsari (1):
  ARM: tegra30: implement BCT patching

Svyatoslav Ryhel (14):
  tegra30: clock: add EXTPERIPH
  ARM: t20/t30: swap host1x and disp1 clock parents
  ARM: tegra: clock: add clk_id_to_pll_id helper
  ARM: tegra: clock: add clock_decode_pair helper
  ARM: tegra30: add PLLD to pll setup
  ARM: tegra: Fix Tegra PWM parent clock
  spi: tegra20_slink: accept any word length
  ARM: tegra: add late init support
  ARM: tegra: create common pre-dm i2c write
  board: tegra124: switch to updated pre-dm i2c write
  board: tegra30: switch to updated pre-dm i2c write
  ARM: tegra: expose crypto module for all Tegra SoCs
  ARM: tegra: crypto: extend crypto functional
  ARM: tegra20: implement BCT patching

 arch/arm/dts/tegra114.dtsi                    |  2 +-
 arch/arm/dts/tegra124.dtsi                    |  2 +-
 arch/arm/include/asm/arch-tegra/clock.h       | 21 +++++
 arch/arm/include/asm/arch-tegra/crypto.h      | 47 ++++++++++
 arch/arm/include/asm/arch-tegra/sys_proto.h   |  6 ++
 arch/arm/include/asm/arch-tegra/tegra_i2c.h   | 17 ++++
 .../include/asm/arch-tegra30/clock-tables.h   |  6 +-
 arch/arm/mach-tegra/Kconfig                   | 14 +++
 arch/arm/mach-tegra/Makefile                  |  1 +
 arch/arm/mach-tegra/board2.c                  |  2 +
 arch/arm/mach-tegra/clock.c                   | 23 +++++
 arch/arm/mach-tegra/cpu.h                     |  1 -
 arch/arm/mach-tegra/{tegra20 => }/crypto.c    | 63 +++++++++----
 arch/arm/mach-tegra/tegra114/clock.c          | 39 +++++++-
 arch/arm/mach-tegra/tegra124/clock.c          | 40 ++++++++-
 arch/arm/mach-tegra/tegra124/cpu.c            |  4 +
 arch/arm/mach-tegra/tegra20/Kconfig           |  1 +
 arch/arm/mach-tegra/tegra20/Makefile          |  7 +-
 arch/arm/mach-tegra/tegra20/bct.c             | 79 ++++++++++++++++
 arch/arm/mach-tegra/tegra20/bct.h             | 42 +++++++++
 arch/arm/mach-tegra/tegra20/clock.c           | 43 ++++++++-
 arch/arm/mach-tegra/tegra20/crypto.h          | 19 ----
 arch/arm/mach-tegra/tegra210/clock.c          | 39 +++++++-
 arch/arm/mach-tegra/tegra30/Kconfig           |  8 --
 arch/arm/mach-tegra/tegra30/Makefile          |  1 +
 arch/arm/mach-tegra/tegra30/bct.c             | 79 ++++++++++++++++
 arch/arm/mach-tegra/tegra30/bct.h             | 42 +++++++++
 arch/arm/mach-tegra/tegra30/clock.c           | 90 +++++++++++++++++--
 arch/arm/mach-tegra/tegra30/cpu.c             | 55 +-----------
 board/avionic-design/tec-ng/Makefile          |  4 +-
 board/avionic-design/tec-ng/tec-ng-spl.c      | 34 +++++++
 board/nvidia/beaver/Makefile                  |  2 +
 board/nvidia/beaver/beaver-spl.c              | 43 +++++++++
 board/nvidia/cardhu/Makefile                  |  4 +-
 board/nvidia/cardhu/cardhu-spl.c              | 43 +++++++++
 board/nvidia/venice2/as3722_init.c            | 65 +++++++++-----
 board/nvidia/venice2/as3722_init.h            | 43 ---------
 board/toradex/apalis-tk1/as3722_init.c        | 85 ++++++++++--------
 board/toradex/apalis-tk1/as3722_init.h        | 40 ---------
 board/toradex/apalis_t30/Makefile             |  2 +
 board/toradex/apalis_t30/apalis_t30-spl.c     | 34 +++++++
 board/toradex/colibri_t30/Makefile            |  2 +
 board/toradex/colibri_t30/colibri_t30-spl.c   | 34 +++++++
 configs/beaver_defconfig                      |  3 -
 configs/cei-tk1-som_defconfig                 |  3 -
 configs/dalmore_defconfig                     |  3 -
 configs/jetson-tk1_defconfig                  |  3 -
 configs/nyan-big_defconfig                    |  3 -
 configs/p2371-0000_defconfig                  |  3 -
 configs/p2371-2180_defconfig                  |  3 -
 configs/p2571_defconfig                       |  3 -
 configs/p3450-0000_defconfig                  |  3 -
 configs/venice2_defconfig                     |  3 -
 doc/usage/cmd/ebtupdate.rst                   | 70 +++++++++++++++
 drivers/pwm/tegra_pwm.c                       | 10 ++-
 drivers/spi/tegra20_slink.c                   | 19 ++--
 drivers/usb/gadget/Kconfig                    |  3 +
 57 files changed, 1051 insertions(+), 309 deletions(-)  create mode 100644 arch/arm/include/asm/arch-tegra/crypto.h
 rename arch/arm/mach-tegra/{tegra20 => }/crypto.c (68%)  create mode 100644 arch/arm/mach-tegra/tegra20/bct.c  create mode 100644 arch/arm/mach-tegra/tegra20/bct.h  delete mode 100644 arch/arm/mach-tegra/tegra20/crypto.h
 create mode 100644 arch/arm/mach-tegra/tegra30/bct.c  create mode 100644 arch/arm/mach-tegra/tegra30/bct.h  create mode 100644 board/avionic-design/tec-ng/tec-ng-spl.c
 create mode 100644 board/nvidia/beaver/beaver-spl.c  create mode 100644 board/nvidia/cardhu/cardhu-spl.c  delete mode 100644 board/nvidia/venice2/as3722_init.h
 delete mode 100644 board/toradex/apalis-tk1/as3722_init.h
 create mode 100644 board/toradex/apalis_t30/apalis_t30-spl.c
 create mode 100644 board/toradex/colibri_t30/colibri_t30-spl.c
 create mode 100644 doc/usage/cmd/ebtupdate.rst

--
2.37.2



More information about the U-Boot mailing list