diff --git a/arch/arm/boot/dts/overlays/mz61581-overlay.dts b/arch/arm/boot/dts/overlays/mz61581-overlay.dts index c06fe128825d86..f674a669b60059 100644 --- a/arch/arm/boot/dts/overlays/mz61581-overlay.dts +++ b/arch/arm/boot/dts/overlays/mz61581-overlay.dts @@ -12,6 +12,8 @@ fragment@0 { target = <&spi0>; __overlay__ { + /* does not work with spi-bcm2835 using software chip selects */ + compatible = "brcm,bcm2708-spi"; status = "okay"; spidev@0{ diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c index 37dcf7eb191a22..70fdd4d6d687e9 100644 --- a/drivers/staging/fbtft/fbtft-core.c +++ b/drivers/staging/fbtft/fbtft-core.c @@ -1086,6 +1086,11 @@ static int fbtft_init_display_dt(struct fbtft_par *par) p = of_prop_next_u32(prop, NULL, &val); if (!p) return -EINVAL; + + par->fbtftops.reset(par); + if (par->gpio.cs != -1) + gpio_set_value(par->gpio.cs, 0); /* Activate chip */ + while (p) { if (val & FBTFT_OF_INIT_CMD) { val &= 0xFFFF;