From: Anup Patel <anup@brainfault.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 10/11] cpu: Bind timer driver for boot hart
Date: Thu, 17 Jan 2019 16:33:55 +0530 [thread overview]
Message-ID: <20190117110356.36753-11-anup@brainfault.org> (raw)
In-Reply-To: <20190117110356.36753-1-anup@brainfault.org>
From: Atish Patra <atish.patra@wdc.com>
Currently, timer driver is bound only for hart0.
There is no mandatory requirement that hart0 should always
come up. In fact, HiFive Unleashed SoC hart0 doesn't boot
in S-mode because it only has M-mode.
The timer driver should be bound for boot hart.
Signed-off-by: Atish Patra <atish.patra@wdc.com>
---
drivers/cpu/riscv_cpu.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/cpu/riscv_cpu.c b/drivers/cpu/riscv_cpu.c
index 5e15df590e..f77c126499 100644
--- a/drivers/cpu/riscv_cpu.c
+++ b/drivers/cpu/riscv_cpu.c
@@ -10,6 +10,8 @@
#include <dm/device-internal.h>
#include <dm/lists.h>
+DECLARE_GLOBAL_DATA_PTR;
+
static int riscv_cpu_get_desc(struct udevice *dev, char *buf, int size)
{
const char *isa;
@@ -62,7 +64,6 @@ static int riscv_cpu_bind(struct udevice *dev)
/* save the hart id */
plat->cpu_id = dev_read_addr(dev);
-
/* first examine the property in current cpu node */
ret = dev_read_u32(dev, "timebase-frequency", &plat->timebase_freq);
/* if not found, then look at the parent /cpus node */
@@ -71,7 +72,7 @@ static int riscv_cpu_bind(struct udevice *dev)
&plat->timebase_freq);
/*
- * Bind riscv-timer driver on hart 0
+ * Bind riscv-timer driver on boot hart.
*
* We only instantiate one timer device which is enough for U-Boot.
* Pass the "timebase-frequency" value as the driver data for the
@@ -80,7 +81,7 @@ static int riscv_cpu_bind(struct udevice *dev)
* Return value is not checked since it's possible that the timer
* driver is not included.
*/
- if (!plat->cpu_id && plat->timebase_freq) {
+ if (plat->cpu_id == gd->arch.boot_hart && plat->timebase_freq) {
drv = lists_driver_lookup_name("riscv_timer");
if (!drv) {
debug("Cannot find the timer driver, not included?\n");
--
2.17.1
next prev parent reply other threads:[~2019-01-17 11:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-17 11:03 [U-Boot] [PATCH 00/11] SiFive FU540 Support Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 01/11] riscv: Rename cpu/qemu to cpu/generic Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 02/11] riscv: Add asm/dma-mapping.h for DMA mappings Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 03/11] riscv: generic: Ensure that U-Boot runs within 4GB for 64bit systems Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 04/11] net: macb: Fix clk API usage for RISC-V systems Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 05/11] net: macb: Fix GEM hardware detection Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 06/11] clk: Add SiFive FU540 PRCI clock driver Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 07/11] clk: Add fixed-factor " Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 08/11] drivers: serial_sifive: Fix baud rate calculation Anup Patel
2019-01-17 11:03 ` [U-Boot] [PATCH 09/11] drivers: serial: serial_sifive: Skip baudrate config if no input clock Anup Patel
2019-01-17 11:03 ` Anup Patel [this message]
2019-01-17 11:03 ` [U-Boot] [PATCH 11/11] riscv: Add SiFive FU540 board support Anup Patel
2019-01-17 11:06 ` [U-Boot] [PATCH 00/11] SiFive FU540 Support Anup Patel
-- strict thread matches above, loose matches on Subject: below --
2019-01-17 10:38 Anup Patel
2019-01-17 10:39 ` [U-Boot] [PATCH 10/11] cpu: Bind timer driver for boot hart Anup Patel
2019-01-17 18:26 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190117110356.36753-11-anup@brainfault.org \
--to=anup@brainfault.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox