[PATCH v7 0/3] Timer support for ARM Tegra

Svyatoslav Ryhel clamor95 at gmail.com
Tue Jan 31 22:53:27 CET 2023


I will upload v8 tomorrow once I have some time.

Yes, Timer series should go first since some clock related commits of
"General Tegra improvements" may conflict. Those are not direct
dependencies but rather changed code overlaps.

Thanks

Best Regards.
Svyatoslav R.

вт, 31 січ. 2023 р. о 22:27 Tom Warren <TWarren at nvidia.com> пише:
>
> 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