Index: sys/dev/gpio/gpiospi.c =================================================================== --- sys/dev/gpio/gpiospi.c +++ sys/dev/gpio/gpiospi.c @@ -156,26 +156,26 @@ /* Set directions */ GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_sclk, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLDOWN); + GPIO_PIN_OUTPUT); GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_mosi, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLDOWN); + GPIO_PIN_OUTPUT); if (sc->sc_miso != 0xff) { GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_miso, - GPIO_PIN_INPUT|GPIO_PIN_PULLDOWN); + GPIO_PIN_INPUT); } GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_cs0, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLUP); + GPIO_PIN_OUTPUT); if (sc->sc_cs1 != 0xff) GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_cs1, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLUP); + GPIO_PIN_OUTPUT); if (sc->sc_cs2 != 0xff) GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_cs2, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLUP); + GPIO_PIN_OUTPUT); if (sc->sc_cs3 != 0xff) GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->sc_cs3, - GPIO_PIN_OUTPUT|GPIO_PIN_PULLUP); + GPIO_PIN_OUTPUT); gpio_spi_chip_deactivate(sc, -1); @@ -293,6 +293,7 @@ gpio_delay(sc); GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->sc_sclk, 1); + gpio_delay(sc); } else { /* If mode 0 or 3 */ @@ -312,6 +313,7 @@ gpio_delay(sc); GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->sc_sclk, 0); + gpio_delay(sc); } } Index: sys/dev/spibus/spibus.c =================================================================== --- sys/dev/spibus/spibus.c +++ sys/dev/spibus/spibus.c @@ -117,8 +117,8 @@ struct spibus_ivar *devi = SPIBUS_IVAR(child); device_printf(bus, ""); - printf(" at cs %d\n", devi->cs); - printf(" mode %d", devi->mode); + printf(" at cs %d", devi->cs); + printf(" mode %d\n", devi->mode); return; } Index: sys/mips/atheros/ar531x/ar5315_spi.c =================================================================== --- sys/mips/atheros/ar531x/ar5315_spi.c +++ sys/mips/atheros/ar531x/ar5315_spi.c @@ -122,7 +122,7 @@ return (ENXIO); } - device_add_child(dev, "spibus", 0); + device_add_child(dev, "spibus", -1); ar5315_spi_attach_sysctl(dev); return (bus_generic_attach(dev));