[PATCH v3 00/16] General Tegra improvements

Thierry Reding thierry.reding at gmail.com
Tue Feb 14 15:00:25 CET 2023


On Fri, Feb 03, 2023 at 11:26:24AM +0200, Svyatoslav Ryhel wrote:
> 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

I haven't tested this exhaustively, just merely made sure that it can
PXE boot into Linux. Seems to work fine on Beaver and Jetson TK1, so:

Tested-by: Thierry Reding <treding at nvidia.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230214/3da1dee5/attachment.sig>


More information about the U-Boot mailing list