> Date: Tue, 23 May 2023 22:54:13 -0700 > From: Phil Nelson <p...@netbsd.org> > > I'm presuming that we'll need something in the dev/spi/files.spi, > but haven't figured out what to say to get it to work. And I'm > assuming there is a .c file that needs to implement the interface > between the sdmmc and the spi, but I'm not sure. Do we need > something in another place?
Guessing someone will need to write a driver for sdmmc at spi following Chapter 7: SPI Mode of the SD specification: https://www.sdcard.org/downloads/pls/pdf/?p=Part1_Physical_Layer_Simplified_Specification_Ver9.00.jpg&f=Part1_Physical_Layer_Simplified_Specification_Ver9.00.pdf&e=EN_SS1_9 You'll probably want to create a driver, say `sdspi', at sys/dev/spi/sd_spi.c that implements struct sdmmc_chip_functions and does config_found with sdmmcbus_attach_args and .iattr = "sdmmcbus", and with device sdspi: sdmmcbus attach sdspi at spi file dev/spi/sd_spi.c sdspi in sys/dev/spi/files.spi, and sdspi* at spi? in riscv/conf/GENERIC.common. Of course, you'll also need a spi controller driver! Not sure if there is one yet for this SoC. Possible complication -- not sure if the spibus interface provides the hardware access needed by sd@spi, judging by this FreeBSD wiki page: https://wiki.freebsd.org/riscv/HiFiveUnmatched (But this is outside my area of expertise, so don't let my assessment get in your way!)