diff options
Diffstat (limited to 'drivers/spi/designware_spi.c')
| -rw-r--r-- | drivers/spi/designware_spi.c | 40 | 
1 files changed, 15 insertions, 25 deletions
| diff --git a/drivers/spi/designware_spi.c b/drivers/spi/designware_spi.c index 06f777461ec..0e93b62eee1 100644 --- a/drivers/spi/designware_spi.c +++ b/drivers/spi/designware_spi.c @@ -114,26 +114,16 @@ struct dw_spi_priv {  	void *rx_end;  }; -static inline u32 dw_readl(struct dw_spi_priv *priv, u32 offset) +static inline u32 dw_read(struct dw_spi_priv *priv, u32 offset)  {  	return __raw_readl(priv->regs + offset);  } -static inline void dw_writel(struct dw_spi_priv *priv, u32 offset, u32 val) +static inline void dw_write(struct dw_spi_priv *priv, u32 offset, u32 val)  {  	__raw_writel(val, priv->regs + offset);  } -static inline u16 dw_readw(struct dw_spi_priv *priv, u32 offset) -{ -	return __raw_readw(priv->regs + offset); -} - -static inline void dw_writew(struct dw_spi_priv *priv, u32 offset, u16 val) -{ -	__raw_writew(val, priv->regs + offset); -} -  static int request_gpio_cs(struct udevice *bus)  {  #if defined(CONFIG_DM_GPIO) && !defined(CONFIG_SPL_BUILD) @@ -179,14 +169,14 @@ static int dw_spi_ofdata_to_platdata(struct udevice *bus)  static inline void spi_enable_chip(struct dw_spi_priv *priv, int enable)  { -	dw_writel(priv, DW_SPI_SSIENR, (enable ? 1 : 0)); +	dw_write(priv, DW_SPI_SSIENR, (enable ? 1 : 0));  }  /* Restart the controller, disable all interrupts, clean rx fifo */  static void spi_hw_init(struct dw_spi_priv *priv)  {  	spi_enable_chip(priv, 0); -	dw_writel(priv, DW_SPI_IMR, 0xff); +	dw_write(priv, DW_SPI_IMR, 0xff);  	spi_enable_chip(priv, 1);  	/* @@ -197,13 +187,13 @@ static void spi_hw_init(struct dw_spi_priv *priv)  		u32 fifo;  		for (fifo = 1; fifo < 256; fifo++) { -			dw_writew(priv, DW_SPI_TXFLTR, fifo); -			if (fifo != dw_readw(priv, DW_SPI_TXFLTR)) +			dw_write(priv, DW_SPI_TXFLTR, fifo); +			if (fifo != dw_read(priv, DW_SPI_TXFLTR))  				break;  		}  		priv->fifo_len = (fifo == 1) ? 0 : fifo; -		dw_writew(priv, DW_SPI_TXFLTR, 0); +		dw_write(priv, DW_SPI_TXFLTR, 0);  	}  	debug("%s: fifo_len=%d\n", __func__, priv->fifo_len);  } @@ -272,7 +262,7 @@ static inline u32 tx_max(struct dw_spi_priv *priv)  	u32 tx_left, tx_room, rxtx_gap;  	tx_left = (priv->tx_end - priv->tx) / (priv->bits_per_word >> 3); -	tx_room = priv->fifo_len - dw_readw(priv, DW_SPI_TXFLR); +	tx_room = priv->fifo_len - dw_read(priv, DW_SPI_TXFLR);  	/*  	 * Another concern is about the tx/rx mismatch, we @@ -293,7 +283,7 @@ static inline u32 rx_max(struct dw_spi_priv *priv)  {  	u32 rx_left = (priv->rx_end - priv->rx) / (priv->bits_per_word >> 3); -	return min_t(u32, rx_left, dw_readw(priv, DW_SPI_RXFLR)); +	return min_t(u32, rx_left, dw_read(priv, DW_SPI_RXFLR));  }  static void dw_writer(struct dw_spi_priv *priv) @@ -309,7 +299,7 @@ static void dw_writer(struct dw_spi_priv *priv)  			else  				txw = *(u16 *)(priv->tx);  		} -		dw_writew(priv, DW_SPI_DR, txw); +		dw_write(priv, DW_SPI_DR, txw);  		debug("%s: tx=0x%02x\n", __func__, txw);  		priv->tx += priv->bits_per_word >> 3;  	} @@ -321,7 +311,7 @@ static void dw_reader(struct dw_spi_priv *priv)  	u16 rxw;  	while (max--) { -		rxw = dw_readw(priv, DW_SPI_DR); +		rxw = dw_read(priv, DW_SPI_DR);  		debug("%s: rx=0x%02x\n", __func__, rxw);  		/* Care about rx if the transfer's original "rx" is not null */ @@ -410,8 +400,8 @@ static int dw_spi_xfer(struct udevice *dev, unsigned int bitlen,  	debug("%s: cr0=%08x\n", __func__, cr0);  	/* Reprogram cr0 only if changed */ -	if (dw_readw(priv, DW_SPI_CTRL0) != cr0) -		dw_writew(priv, DW_SPI_CTRL0, cr0); +	if (dw_read(priv, DW_SPI_CTRL0) != cr0) +		dw_write(priv, DW_SPI_CTRL0, cr0);  	/*  	 * Configure the desired SS (slave select 0...3) in the controller @@ -419,7 +409,7 @@ static int dw_spi_xfer(struct udevice *dev, unsigned int bitlen,  	 * automatically. So no cs_activate() etc is needed in this driver.  	 */  	cs = spi_chip_select(dev); -	dw_writel(priv, DW_SPI_SER, 1 << cs); +	dw_write(priv, DW_SPI_SER, 1 << cs);  	/* Enable controller after writing control registers */  	spi_enable_chip(priv, 1); @@ -462,7 +452,7 @@ static int dw_spi_set_speed(struct udevice *bus, uint speed)  	/* clk_div doesn't support odd number */  	clk_div = priv->bus_clk_rate / speed;  	clk_div = (clk_div + 1) & 0xfffe; -	dw_writel(priv, DW_SPI_BAUDR, clk_div); +	dw_write(priv, DW_SPI_BAUDR, clk_div);  	/* Enable controller after writing control registers */  	spi_enable_chip(priv, 1); | 
