[PATCH v7 0/3] Timer support for ARM Tegra
Tom Warren
TWarren at nvidia.com
Tue Jan 31 21:27:25 CET 2023
OK, I'll wait for your v8 with the adjusted timer enabling.
Does this series need to go in first before your recent 16-patch series "General Tegra improvements"? i.e. are there any dependencies?
Tom
-----Original Message-----
From: Svyatoslav Ryhel <clamor95 at gmail.com>
Sent: Tuesday, January 31, 2023 8:26 AM
To: Tom Warren <TWarren at nvidia.com>
Cc: Thierry Reding <thierry.reding at gmail.com>; Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>; Marek Vasut <marex at denx.de>; Maxim Schwalm <maxim.schwalm at gmail.com>; Dmitry Osipenko <digetx at gmail.com>; Jonas Schwöbel <jonasschwoebel at yahoo.de>; Agneli <poczt at protonmail.ch>; Heinrich Schuchardt <xypron.glpk at gmx.de>; Michal Simek <michal.simek at amd.com>; Stefan Roese <sr at denx.de>; Eugen Hristev <eugen.hristev at microchip.com>; Michael Walle <michael at walle.cc>; Simon Glass <sjg at chromium.org>; Jim Liu <jim.t90615 at gmail.com>; William Zhang <william.zhang at broadcom.com>; Rick Chen <rick at andestech.com>; Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>; Andre Przywara <andre.przywara at arm.com>; Jaehoon Chung <jh80.chung at samsung.com>; u-boot at lists.denx.de
Subject: Re: [PATCH v7 0/3] Timer support for ARM Tegra
External email: Use caution opening links or attachments
Yes, it works perfectly fine on the T20/T30/T124/T186 and T210, T114 board no one has on hand. Timer enabling has to be adjusted as Thierry suggested.
вт, 31 січ. 2023 р. о 17:18 Tom Warren <TWarren at nvidia.com> пише:
>
> Has this been tested yet? I want to get it into the next PR, and I need a tested-by for V7 before I can do that.
>
> Thanks,
>
> Tom
>
> -----Original Message-----
> From: Svyatoslav R. <clamor95 at gmail.com>
> Sent: Friday, January 27, 2023 1:28 PM
> To: Thierry Reding <thierry.reding at gmail.com>
> Cc: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>; Tom Warren
> <twarren at nvidia.com>; Marek Vasut <marex at denx.de>; Maxim Schwalm
> <maxim.schwalm at gmail.com>; Dmitry Osipenko <digetx at gmail.com>; Jonas
> Schwöbel <jonasschwoebel at yahoo.de>; Agneli <poczt at protonmail.ch>;
> Heinrich Schuchardt <xypron.glpk at gmx.de>; Michal Simek
> <michal.simek at amd.com>; Stefan Roese <sr at denx.de>; Eugen Hristev
> <eugen.hristev at microchip.com>; Michael Walle <michael at walle.cc>; Simon
> Glass <sjg at chromium.org>; Jim Liu <jim.t90615 at gmail.com>; William
> Zhang <william.zhang at broadcom.com>; Rick Chen <rick at andestech.com>;
> Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>; Andre
> Przywara <andre.przywara at arm.com>; Jaehoon Chung
> <jh80.chung at samsung.com>; u-boot at lists.denx.de
> Subject: Re: [PATCH v7 0/3] Timer support for ARM Tegra
>
> External email: Use caution opening links or attachments
>
>
> On 1/27/23 19:15, Thierry Reding wrote:
> > On Fri, Jan 27, 2023 at 09:13:09AM +0200, Svyatoslav Ryhel wrote:
> >> - ARM: tegra: remap clock_osc_freq for all Tegra family Enum
> >> clock_osc_freq was designed to use only with T20.
> >> This patch remaps it to use additional frequencies, added in
> >> T30+ SoC while maintaining backwards compatibility with T20.
> >>
> >> - drivers: timer: add timer driver for ARMv7 based Tegra devices
> >> Add timer support for T20/T30/T114/T124 and T210 based devices.
> >> Driver is based on DM, has device tree support and can be used on
> >> SPL and early boot stage.
> >>
> >> Arm64 Tegra (apart T210) according to comment in tegra-common.h use
> >> architected timer.
> >>
> >> - ARM: tegra: include timer as default option Enable TIMER as
> >> default option for all Tegra devices and enable TEGRA_TIMER for
> >> TEGRA_ARMV7_COMMON and TEGRA210.
> >> Additionally enable SPL_TIMER if build as SPL part and drop
> >> deprecated configs from common header.
> >>
> >> P. S. I have no arm64 Tegra and according to comment in
> >> tegra-common.h Use the Tegra US timer on ARMv7, but the architected
> >> timer on ARMv8.
> >>
> >> ---
> >> Changeog from V6
> >> - use clk_m as timer calibration clock (this should properly fix T210)
> >> - enable timer for T210
> >>
> >> Changed from v5:
> >> - added paz00 tester
> >>
> >> Changed from v4:
> >> - added comments
> >>
> >> Changed from v3:
> >> - removed BOOTSTAGE ifdefs
> >> - use early timer on boot stage unconditionally
> >> ---
> >> Svyatoslav Ryhel (3):
> >> ARM: tegra: remap clock_osc_freq for all Tegra family
> >> drivers: timer: add driver for ARMv7 based Tegra devices and T210
> >> ARM: tegra: include timer as default option
> >>
> >> arch/arm/Kconfig | 1 +
> >> arch/arm/include/asm/arch-tegra/clock.h | 9 +-
> >> arch/arm/mach-tegra/Kconfig | 3 +
> >> arch/arm/mach-tegra/clock.c | 17 +++-
> >> arch/arm/mach-tegra/cpu.c | 70 ++++++++++---
> >> arch/arm/mach-tegra/tegra114/clock.c | 13 +--
> >> arch/arm/mach-tegra/tegra124/clock.c | 13 +--
> >> arch/arm/mach-tegra/tegra20/clock.c | 4 +-
> >> arch/arm/mach-tegra/tegra210/clock.c | 22 +---
> >> arch/arm/mach-tegra/tegra30/clock.c | 10 +-
> >> drivers/timer/Kconfig | 8 ++
> >> drivers/timer/Makefile | 1 +
> >> drivers/timer/tegra-timer.c | 130 ++++++++++++++++++++++++
> >> drivers/usb/host/ehci-tegra.c | 46 +++++++--
> >> include/configs/tegra-common.h | 6 --
> >> 15 files changed, 274 insertions(+), 79 deletions(-)
> >> create mode 100644 drivers/timer/tegra-timer.c
> > Ugh... turns out I had completely messed up the testing on Tegra186
> > and it wasn't working at all. The problem is that the selection of
> > the TIMER symbol for all of Tegra causes the driver model to be
> > used, but there is no DM driver for the architected timer that's used on Tegra186.
> >
> > The quickest fix would be to do this:
> >
> > --- >8 ---
> > diff --git a/arch/arm/mach-tegra/Kconfig
> > b/arch/arm/mach-tegra/Kconfig index b50eec5b8c9b..05c8ce0e08dd
> > 100644
> > --- a/arch/arm/mach-tegra/Kconfig
> > +++ b/arch/arm/mach-tegra/Kconfig
> > @@ -56,7 +56,6 @@ config TEGRA_COMMON
> > select MISC
> > select OF_CONTROL
> > select SPI
> > - select TIMER
> > imply CMD_DM
> > imply CRC32_VERIFY
> >
> > @@ -83,6 +82,7 @@ config TEGRA_ARMV7_COMMON
> > select TEGRA_PINCTRL
> > select TEGRA_PMC
> > select TEGRA_TIMER
> > + select TIMER
> >
> > config TEGRA_ARMV8_COMMON
> > bool "Tegra 64-bit common options"
> > @@ -137,6 +137,7 @@ config TEGRA210
> > select TEGRA_PMC
> > select TEGRA_PMC_SECURE
> > select TEGRA_TIMER
> > + select TIMER
> >
> > config TEGRA186
> > bool "Tegra186 family"
> > --- >8 ---
> >
> > So basically make TIMER selected on everything except Tegra186, so
> > that on Tegra186 things are basically unmodified.
>
> I can propose to include 'select TIMER' directly into TEGRA_TIMER config option. This will eliminate need of including it into mach-tegra Kconfigs.
>
> BTW, may you check current patch set on T124 and T210 if those work properly. My T30 devices work fine and same as before after switch to clk_m as timer calibration clock.
>
> Best Regards, Svyatoslav R.
>
> > Thierry
More information about the U-Boot
mailing list