diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c index ee3f26ff4633..ab4d789ed026 100644 --- a/drivers/spi/spi-meson-spicc.c +++ b/drivers/spi/spi-meson-spicc.c @@ -42,6 +42,12 @@ * to have a CS go down over the full transfer */ +#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) +static unsigned int force64b; +module_param(force64b, uint, 0000); +MODULE_PARM_DESC(force64b, "force 64bits fb data"); +#endif + /* Register Map */ #define SPICC_RXDATA 0x00 @@ -588,7 +594,10 @@ static int meson_spicc_transfer_one(struct spi_master *master, spicc->xfer_remain = xfer->len; #if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) - if ((xfer->len >= 64) && (xfer->bits_per_word == 8) && ((xfer->len % 8) == 0)) { + if (force64b && + (xfer->len >= 64) && + (xfer->bits_per_word == 8) && + ((xfer->len % 8) == 0)) { int cnt = xfer->len / 8; int i; @@ -1106,6 +1115,8 @@ static int meson_spicc_probe(struct platform_device *pdev) spicc->pinctrl = NULL; dev_err(&pdev->dev, "spi pinmux : can't get spicc_pins\n"); } + if (force64b) + dev_info(&pdev->dev, "force64b flag is true\n"); #endif device_reset_optional(&pdev->dev);