drivers/memory/spiflash: Change to use low-level SPI object not uPy one.

This patch alters the SPI-flash memory driver so that it uses the new
low-level C SPI protocol (from drivers/bus/spi.h) instead of the uPy SPI
protocol (from extmod/machine_spi.h).  This allows the SPI-flash driver to
be used independently from the uPy runtime.
This commit is contained in:
Damien George
2018-03-09 17:32:28 +11:00
parent 58ebeca6a9
commit a739b35a96
3 changed files with 6 additions and 9 deletions

View File

@@ -40,23 +40,20 @@ static uint32_t flash_tick_counter_last_write;
// External SPI flash uses standard SPI interface
STATIC const mp_machine_soft_spi_obj_t spiflash_spi_bus = {
.base = {&mp_machine_soft_spi_type},
.spi = {
STATIC const mp_soft_spi_obj_t soft_spi_bus = {
.delay_half = MICROPY_HW_SOFTSPI_MIN_DELAY,
.polarity = 0,
.phase = 0,
.sck = &MICROPY_HW_SPIFLASH_SCK,
.mosi = &MICROPY_HW_SPIFLASH_MOSI,
.miso = &MICROPY_HW_SPIFLASH_MISO,
}
};
STATIC const mp_spiflash_config_t spiflash_config = {
.bus_kind = MP_SPIFLASH_BUS_SPI,
.bus.u_spi.cs = &MICROPY_HW_SPIFLASH_CS,
.bus.u_spi.data = (void*)&spiflash_spi_bus,
.bus.u_spi.proto = &mp_machine_soft_spi_p,
.bus.u_spi.data = (void*)&soft_spi_bus,
.bus.u_spi.proto = &mp_soft_spi_proto,
};
#elif defined(MICROPY_HW_SPIFLASH_IO0)