fsl_espi_read_reg16 / fsl_espi_write_reg16 are supposed to read / write
big endian values. Therefore ioread16be / iowrite16be have to be used.
Fixes: 058234328445 ("eliminate need for linearization when writing to hardware")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
static inline u16 fsl_espi_read_reg16(struct fsl_espi *espi, int offset)
{
- return ioread16(espi->reg_base + offset);
+ return ioread16be(espi->reg_base + offset);
}
static inline u8 fsl_espi_read_reg8(struct fsl_espi *espi, int offset)
static inline void fsl_espi_write_reg16(struct fsl_espi *espi, int offset,
u16 val)
{
- iowrite16(val, espi->reg_base + offset);
+ iowrite16be(val, espi->reg_base + offset);
}
static inline void fsl_espi_write_reg8(struct fsl_espi *espi, int offset,