Index: sys/dev/flash/mx25l.c =================================================================== --- sys/dev/flash/mx25l.c +++ sys/dev/flash/mx25l.c @@ -152,6 +152,9 @@ /* GigaDevice */ { "gd25q64", 0xc8, 0x4017, 64 * 1024, 128, FL_ERASE_4K }, { "gd25q128", 0xc8, 0x4018, 64 * 1024, 256, FL_ERASE_4K }, + + /* Integrated Silicon Solution */ + { "is25wp256", 0x9d, 0x7019, 64 * 1024, 512, FL_ERASE_4K | FL_ENABLE_4B_ADDR}, }; static int Index: sys/riscv/sifive/sifive_spi.c =================================================================== --- sys/riscv/sifive/sifive_spi.c +++ sys/riscv/sifive/sifive_spi.c @@ -219,6 +219,9 @@ SFSPI_WRITE(sc, SFSPI_REG_SCKDIV, sckdiv); switch (mode) { + case SPIBUS_MODE_NONE: + sckmode = 0; + break; case SPIBUS_MODE_CPHA: sckmode = SFSPI_SCKMODE_PHA; break; @@ -228,6 +231,8 @@ case SPIBUS_MODE_CPOL_CPHA: sckmode = SFSPI_SCKMODE_PHA | SFSPI_SCKMODE_POL; break; + default: + return (EINVAL); } SFSPI_WRITE(sc, SFSPI_REG_SCKMODE, sckmode);