On Mon, Feb 10, 2020 at 7:51 AM Bin Meng <bmeng...@gmail.com> wrote: > > Hi Nikita, > > On Sun, Feb 9, 2020 at 10:56 PM Nikita Ermakov <a...@altlinux.org> wrote: > > > > Hello! > > > > I am trying to make an SD card working on the sifive_u > > (hw/riscv/sifive_u.c) SoC machine. > > As far as I understand there is no way to connect an SD card to the SoC > > with cmdline for now. So, I started to dig in to the QEMU internals and > > especially sifive_u SoC implementation to try to understand how I could > > connect SD card to this SoC. > > > > From what I understood I need to: > > 1) Implement SiFive U SPI controller. > > This one is definitely needed. > > > 2) Implement spi-sd adapter in a way like the hw/sd/ssi-sd.c > > I believe we can just use hw/sd/ssi-sd.c.
I had a crack at this awhile ago and you can see the patches here (I just rebased them): https://github.com/alistair23/qemu/tree/mainline/alistair/sifive_spi.next Debugging failures was really hard in Linux, but now that U-Boot and Oreboot (https://github.com/oreboot/oreboot/pull/234) have SPI support it is probably easier to debug. If you wanted to help you could try to debug that branch and figure out why it isn't working. Alistair > > > > > Probably I should merge 1) and 2) into one hw/riscv/sifive_u_spi.c source > > file. > > > > Could somebody correct me please if I am wrong at some point? > > I am newbie in the QEMU internals :) > > > > The purpose is why I want to implement this is to boot up the Linux kernel > > on '-machine sifive_u' and load rootfs from SD. > > Regards, > Bin >