
Thanks! I will shrink mailing list in the next iteration.
Thierry, may you check if these patches do not break anything on your boards. I have tested them on my devices (T20 and T30) without any issues. I am especially interested in T124 pre-dm i2c changes, iirc you have a board I have changed.
Best Regards. Svyatoslav R.
пт, 3 лют. 2023 р. о 19:30 Tom Warren TWarren@nvidia.com пише:
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@gmail.com Sent: Friday, February 3, 2023 2:26 AM To: Tom Warren twarren@nvidia.com; Stephen Warren swarren@nvidia.com; Marcel Ziswiler marcel.ziswiler@toradex.com; Allen Martin amartin@nvidia.com; Jagan Teki jagan@amarulasolutions.com; Lukasz Majewski lukma@denx.de; Marek Vasut marex@denx.de; Svyatoslav Ryhel clamor95@gmail.com; Ramin Khonsari raminterex@yahoo.com; Thierry Reding thierry.reding@gmail.com; Maxim Schwalm maxim.schwalm@gmail.com; Dmitry Osipenko digetx@gmail.com Cc: u-boot@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