[U-Boot] [PATCH 1/9] riscv: ax25: Create a simple-bus driver for the soc node

Auer, Lukas lukas.auer at aisec.fraunhofer.de
Wed Apr 10 09:21:26 UTC 2019


Hi Rick,

On Wed, 2019-04-10 at 17:05 +0800, Rick Chen wrote:
> Hi Bin and Lukas
> 
> Bin Meng <bmeng.cn at gmail.com> 於 2019年3月21日 週四 下午5:17寫道:
> > Hi Rick,
> > 
> > On Thu, Mar 21, 2019 at 5:00 PM Rick Chen <rickchen36 at gmail.com> wrote:
> > > Bin Meng <bmeng.cn at gmail.com> 於 2019年3月21日 週四 下午4:49寫道:
> > > > Hi Rick,
> > > > 
> > > > On Thu, Mar 21, 2019 at 4:27 PM Rick Chen <rickchen36 at gmail.com> wrote:
> > > > > Hi Bin
> > > > > 
> > > > > Bin Meng <bmeng.cn at gmail.com> 於 2019年3月21日 週四 下午3:01寫道:
> > > > > > Hi Rick,
> > > > > > 
> > > > > > On Thu, Mar 21, 2019 at 2:49 PM Rick Chen <rickchen36 at gmail.com> wrote:
> > > > > > > Hi Bin
> > > > > > > 
> > > > > > > Bin Meng <bmeng.cn at gmail.com> 於 2019年3月20日 週三 下午3:22寫道:
> > > > > > > > Hi Rick,
> > > > > > > > 
> > > > > > > > On Tue, Mar 19, 2019 at 5:11 PM Andes <uboot at andestech.com> wrote:
> > > > > > > > > From: Rick Chen <rick at andestech.com>
> > > > > > > > > 
> > > > > > > > > To enumerate devices on the /soc/ node, create a "simple-bus"
> > > > > > > > > driver to match "andestech,riscv-ae350-soc".
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > Could we change the /soc/ node compatible string to "simple-bus"
> > > > > > > > instead? The QEMU 'virt' created a bad example and we should stop the
> > > > > > > > contamination.
> > > > > > > > 
> > > > > > > 
> > > > > > > Do you mean change the
> > > > > > > .compatible = "andestech,riscv-ae350-soc",
> > > > > > > as "simple-bus" ???
> > > > > > 
> > > > > > Yes, I mean changing the /soc/ node compatible string in
> > > > > > arch/riscv/dts/ae350_{32,64}.dts to "simpble-bus".
> > > > > > 
> > > > > 
> > > > > So you mean we shall have only riscv simple bus driver.
> > > > > We shall remove
> > > > > U_BOOT_DRIVER(riscv_virtio_soc) in /arch/riscv/cpu/generic/cpu.c
> > > > > U_BOOT_DRIVER(riscv_ae350_soc_ids) in /arch/riscv/cpu/ax25/cpu.c
> > > > > and add
> > > > > static const struct udevice_id riscv_simple_bus_ids[] = {
> > > > > {
> > > > > .compatible = "simple-bus",
> > > > > },
> > > > > { }
> > > > > };
> > > > > 
> > > > > U_BOOT_DRIVER(riscv_simple_bus_ids) = {
> > > > > .name = "simple-bus",
> > > > > .id = UCLASS_SIMPLE_BUS,
> > > > > .of_match = riscv_simple_bus_ids,
> > > > > .flags = DM_FLAG_PRE_RELOC,
> > > > > };
> > > > > 
> > > > > Does it right ?
> > > > 
> > > > No, you don't need add anything to the RISC-V codes. U-Boot provides a
> > > > simple-bus driver and all you need do is to use "simple-bus" in your
> > > > DTS files.
> > > > 
> > > 
> > > But if I only use "simple-bus" in DTS file.
> > > It will fail in syscon_get_first_range that can not get correct
> > > information from reg.
> > 
> > Yes, we should fix "simple-bus" driver. See discussion in
> > https://patchwork.ozlabs.org/patch/1039493/
> 
> The series has been pull into master by Tom.
> 
> Can you fix the "simple-bus" driver ASAP.
> AE350 will encounter the problem as below with the latest u-boot-riscv
> 
> U-Boot 2019.04-rc4-07392-g48b90d9 (Apr 10 2019 - 16:27:39 +0800)
> 
> DRAM:  1 GiB
> Cannot send IPI to hart 1
> Relocation of secondary harts has failed, error -19
> ### ERROR ### Please RESET the board ###
> 

Yes, I will send the patch later today.

Thanks,
Lukas


More information about the U-Boot mailing list