<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/drivers/timer/Kconfig, branch master</title>
<subtitle>Broadcom-s U-Boot</subtitle>
<id>https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/'/>
<updated>2019-05-07T03:41:32Z</updated>
<entry>
<title>timer: renesas: Add RZ/A1 R7S72100 OSTM timer driver</title>
<updated>2019-05-07T03:41:32Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2019-05-04T15:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=4d0732bf3c7b1d66084207a482897fa14619622b'/>
<id>urn:sha1:4d0732bf3c7b1d66084207a482897fa14619622b</id>
<content type='text'>
Add OSTM timer driver for RZ/A1 SoC. The IP is very different
from the R-Car Gen2/Gen3 one already present in the tree, hence
a custom driver.

Signed-off-by: Marek Vasut &lt;marek.vasut+renesas@gmail.com&gt;
Cc: Chris Brandt &lt;chris.brandt@renesas.com&gt;
Cc: Nobuhiro Iwamatsu &lt;iwamatsu@nigauri.org&gt;
</content>
</entry>
<entry>
<title>timer: Add generic driver for RISC-V privileged architecture defined timer</title>
<updated>2018-12-18T01:56:26Z</updated>
<author>
<name>Bin Meng</name>
</author>
<published>2018-12-12T14:12:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=60262cd041529cabd5fbabb6f2077495fa922fca'/>
<id>urn:sha1:60262cd041529cabd5fbabb6f2077495fa922fca</id>
<content type='text'>
RISC-V privileged architecture v1.10 defines a real-time counter,
exposed as a memory-mapped machine-mode register - mtime. mtime must
run at constant frequency, and the platform must provide a mechanism
for determining the timebase of mtime. The mtime register has a
64-bit precision on all RV32, RV64, and RV128 systems.

Different platform may have different implementation of the mtime
block hence an API riscv_get_time() is required by this driver for
platform codes to hide such implementation details. For example,
on some platforms mtime is provided by the CLINT module, while on
some other platforms a simple 'rdtime' can be used to get the timer
counter.

With this timer driver the U-Boot timer functionalities like delay
works correctly now.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>timer: MediaTek: add timer driver for MediaTek SoCs</title>
<updated>2018-11-29T04:04:51Z</updated>
<author>
<name>Ryder Lee</name>
</author>
<published>2018-11-15T02:07:56Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=d3c3606c5cc65f85274320b6fade00ea8dc6c77f'/>
<id>urn:sha1:d3c3606c5cc65f85274320b6fade00ea8dc6c77f</id>
<content type='text'>
This patch adds clock source and clock event for the timer found
on the Mediatek SoCs.

Signed-off-by: Ryder Lee &lt;ryder.lee@mediatek.com&gt;
Tested-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>timer: Sort Kconfig driver entries</title>
<updated>2018-11-14T17:16:27Z</updated>
<author>
<name>Bin Meng</name>
</author>
<published>2018-10-11T05:07:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=73fe41117d2c2838376802a5f15d6435c1dec8da'/>
<id>urn:sha1:73fe41117d2c2838376802a5f15d6435c1dec8da</id>
<content type='text'>
This is currently out of order. Sort it.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>x86: tsc: Introduce config option for early timer frequency</title>
<updated>2018-10-22T09:51:45Z</updated>
<author>
<name>Bin Meng</name>
</author>
<published>2018-10-14T03:52:10Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=6ce383640cf09d0fff9d6bddccf81dd37b2f344f'/>
<id>urn:sha1:6ce383640cf09d0fff9d6bddccf81dd37b2f344f</id>
<content type='text'>
So far the TSC timer driver supports trying hardware calibration first
and using device tree as last resort for its running frequency as the
normal timer.

However when it is used as the early timer, it only supports hardware
calibration and if it fails, the driver just panics. This introduces
a new config option to specify the early timer frequency in MHz and
it should be equal to the value described in the device tree.

Without this patch, the travis-ci testing on QEMU x86_64 target fails
each time after it finishes the 'bootefi selftest' as the test.py see
an error was emitted on the console like this:

  TSC frequency is ZERO
  resetting ...
  ### ERROR ### Please RESET the board ###

It's strange that this error is consistently seen on the travis-ci
machine, but only occasionally seen on my local machine (maybe 1 out
of 10). Since QEMU x86_64 target enables BOOTSTAGE support which uses
early timer, with this fix it should work without any failure.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>Enable CONFIG_TIMER_EARLY with bootstage</title>
<updated>2018-10-22T09:51:45Z</updated>
<author>
<name>Simon Glass</name>
</author>
<published>2018-09-02T23:02:24Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=97d20f69f53e7586394e48805f25f23d9a3ebaa8'/>
<id>urn:sha1:97d20f69f53e7586394e48805f25f23d9a3ebaa8</id>
<content type='text'>
In initr_bootstage() we call bootstage_mark_name() which ends up calling
timer_get_us(). This call happens before initr_dm(), which inits driver
model.

On x86 we set gd-&gt;timer to NULL in the transition from board_init_f()
to board_init_r(). See board_init_f_r() for this assignment. So U-Boot
knows there is no timer available in the period immediately after
relocation.

On x86 the timer_get_us() call is implemented as calls to get_ticks() and
get_tbclk(). Both of these call dm_timer_init() to set up the timer, if
gd-&gt;timer is NULL and the early timer is not available.

However dm_timer_init() cannot succeed before initr_dm() is called.

So it seems that on x86 if we want to use CONFIG_BOOTSTAGE we must enable
CONFIG_TIMER_EARLY. Update the Kconfig to handle this.

Note: On most architectures we can rely on the pre-relocation memory still
being available, so that gd-&gt;timer pointers to a valid timer device and
everything works correctly. Admittedly this is not strictly correct since
the timer device is set up by pre-relocation U-Boot, but normally this is
fine. On x86 the 'CAR' (cache-as-RAM) memory used by pre-relocation U-Boot
disappears in board_init_f_r() and any attempt to access it will hang.
This is the reason why we must mark the timer as invalid when we get to
board_init_f_r().

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>timer: Add MPC83xx timer driver</title>
<updated>2018-09-18T06:01:18Z</updated>
<author>
<name>Mario Six</name>
</author>
<published>2018-08-06T08:23:38Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=2c21749d7118b66b98cbab3f6301576726e06525'/>
<id>urn:sha1:2c21749d7118b66b98cbab3f6301576726e06525</id>
<content type='text'>
Add a timer driver for the MPC83xx architecture.

Signed-off-by: Mario Six &lt;mario.six@gdsys.cc&gt;
</content>
</entry>
<entry>
<title>timer: dw-apb: Add Designware APB timer driver</title>
<updated>2018-08-24T10:05:20Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2018-08-18T13:58:32Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=66011a0883ffc03135cd2d3649478c812e4f1b28'/>
<id>urn:sha1:66011a0883ffc03135cd2d3649478c812e4f1b28</id>
<content type='text'>
Add timer driver for the Designware APB Timer IP. This is present
for example on the Altera SoCFPGA chips.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Chin Liang See &lt;chin.liang.see@intel.com&gt;
Cc: Dinh Nguyen &lt;dinguyen@kernel.org&gt;
Cc: Ley Foon Tan &lt;ley.foon.tan@intel.com&gt;
</content>
</entry>
<entry>
<title>timer: Add Cadence TTC timer counter support</title>
<updated>2018-05-11T07:23:43Z</updated>
<author>
<name>Michal Simek</name>
</author>
<published>2018-04-17T11:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=72c37d12214b9ee3760e5ad41465691c0accd62b'/>
<id>urn:sha1:72c37d12214b9ee3760e5ad41465691c0accd62b</id>
<content type='text'>
This driver was tested on Xilinx ZynqMP SoC.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>timer: stm32: Add timer support for STM32 SoCs family</title>
<updated>2018-03-14T01:45:37Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2018-02-07T09:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=5120a083e797aec3180fbda9ab845486da990909'/>
<id>urn:sha1:5120a083e797aec3180fbda9ab845486da990909</id>
<content type='text'>
This timer driver is using GPT Timer (General Purpose Timer)
available on all STM32 SOCs family.
This driver can be used on STM32F4/F7 and H7 SoCs family

Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
</content>
</entry>
</feed>
