From 089124ef8a1897c03eb3f66aec7054c6ffe0417a Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 9 Nov 2014 09:43:43 -0600 Subject: [PATCH] EFM32: Reduce writes to the CTRL register --- arch/arm/src/efm32/efm32_spi.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/arch/arm/src/efm32/efm32_spi.c b/arch/arm/src/efm32/efm32_spi.c index d28d8ea202b..82c43ee58c5 100644 --- a/arch/arm/src/efm32/efm32_spi.c +++ b/arch/arm/src/efm32/efm32_spi.c @@ -1574,11 +1574,11 @@ static int spi_portinitialize(struct efm32_spidev_s *priv) regval = _USART_CTRL_RESETVALUE | USART_CTRL_SYNC | USART_CTRL_CLKPOL_IDLELOW | USART_CTRL_CLKPHA_SAMPLELEADING; - spi_putreg(config, EFM32_USART_CTRL_OFFSET, regval); - /* MSB First */ + /* MSB First, 8 bits */ - regval |= USART_CTRL_MSBF; + regval &= ~_USART_FRAME_DATABITS_MASK; + regval |= USART_FRAME_DATABITS_EIGHT | USART_CTRL_MSBF; spi_putreg(config, EFM32_USART_CTRL_OFFSET, regval); #ifndef CONFIG_SPI_OWNBUS @@ -1588,12 +1588,6 @@ static int spi_portinitialize(struct efm32_spidev_s *priv) priv->nbits = 8; priv->lsbfirst = false; - /* 8 bits */ - - regval = USART_FRAME_DATABITS_EIGHT | USART_FRAME_STOPBITS_DEFAULT | - USART_FRAME_PARITY_DEFAULT; - spi_putreg(config, EFM32_USART_CTRL_OFFSET, regval); - /* Select a default frequency of approx. 400KHz */ spi_setfrequency((struct spi_dev_s *)priv, 400000);