Hi Bin, On Tue, 2018-11-13 at 00:21 -0800, Bin Meng wrote: > To enumerate devices on the /soc/ node, create a "simple-bus" > driver to match "riscv-virtio-soc". > > Signed-off-by: Bin Meng <bmeng...@gmail.com> > --- > > arch/riscv/cpu/qemu/cpu.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) >
Reviewed-by: Lukas Auer <lukas.a...@aisec.fraunhofer.de> Would it makes sense to move this to cpu/ to make this driver available to all RISC-V CPUs? I think most CPUs will need this driver to make devices under the soc/ node available before relocation. > diff --git a/arch/riscv/cpu/qemu/cpu.c b/arch/riscv/cpu/qemu/cpu.c > index 6c7a327..221f3a8 100644 > --- a/arch/riscv/cpu/qemu/cpu.c > +++ b/arch/riscv/cpu/qemu/cpu.c > @@ -4,6 +4,7 @@ > */ > > #include <common.h> > +#include <dm.h> > > /* > * cleanup_before_linux() is called just before we call linux > @@ -19,3 +20,15 @@ int cleanup_before_linux(void) > > return 0; > } > + > +/* To enumerate devices on the /soc/ node, create a "simple-bus" > driver */ > +static const struct udevice_id riscv_virtio_soc_ids[] = { > + { .compatible = "riscv-virtio-soc" }, > + { } > +}; > + > +U_BOOT_DRIVER(riscv_virtio_soc) = { > + .name = "riscv_virtio_soc", > + .id = UCLASS_SIMPLE_BUS, > + .of_match = riscv_virtio_soc_ids, > +}; I think the DM_FLAG_PRE_RELOC flag should be set, since it is set for the syscon driver for the clint0. Thanks, Lukas _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot