drivers: pinctrl: gecko: Remove cases now handled by DBUS driver

Remove implementation of pin configuration for Series 2 devices.
The silabs,dbus-pinctrl driver should be used instead.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
This commit is contained in:
Aksel Skauge Mellbye 2024-11-25 12:23:10 +01:00 committed by Anas Nashif
commit 6d38b24d32

View file

@ -15,20 +15,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
uint8_t loc;
#ifdef CONFIG_SOC_FAMILY_SILABS_S1
LEUART_TypeDef *lebase = (LEUART_TypeDef *)reg;
#else
#if USART_COUNT > 1
int usart_num = USART_NUM(base);
#else
int usart_num = 0;
(void)base;
#endif /*USART_COUNT > 1*/
#ifdef CONFIG_SPI_GECKO_EUSART
EUSART_TypeDef *ebase = (EUSART_TypeDef *)reg;
int eusart_num = EUSART_NUM(ebase);
#endif
#endif
#ifdef CONFIG_I2C_GECKO
@ -128,15 +114,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
#elif defined(USART_ROUTE_RXPEN) && defined(USART_ROUTE_TXPEN)
/* For olders SOCs with only one pin location */
base->ROUTE = USART_ROUTE_RXPEN | USART_ROUTE_TXPEN | (loc << 8);
#elif defined(GPIO_USART_ROUTEEN_RXPEN) && defined(GPIO_USART_ROUTEEN_TXPEN)
GPIO->USARTROUTE[usart_num].ROUTEEN =
GPIO_USART_ROUTEEN_TXPEN | GPIO_USART_ROUTEEN_RXPEN;
GPIO->USARTROUTE[usart_num].TXROUTE =
(txpin.pin << _GPIO_USART_TXROUTE_PIN_SHIFT) |
(txpin.port << _GPIO_USART_TXROUTE_PORT_SHIFT);
GPIO->USARTROUTE[usart_num].RXROUTE =
(rxpin.pin << _GPIO_USART_RXROUTE_PIN_SHIFT) |
(rxpin.port << _GPIO_USART_RXROUTE_PORT_SHIFT);
#endif /* CONFIG_SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION */
#ifdef UART_GECKO_HW_FLOW_CONTROL
@ -158,17 +135,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
config->base->ROUTELOC1 =
(config->loc_rts << _USART_ROUTELOC1_RTSLOC_SHIFT) |
(config->loc_cts << _USART_ROUTELOC1_CTSLOC_SHIFT);
#elif defined(GPIO_USART_ROUTEEN_RTSPEN) && defined(GPIO_USART_ROUTEEN_CTSPEN)
GPIO->USARTROUTE[usart_num].ROUTEEN =
GPIO_USART_ROUTEEN_TXPEN | GPIO_USART_ROUTEEN_RXPEN |
GPIO_USART_ROUTEPEN_RTSPEN | GPIO_USART_ROUTEPEN_CTSPEN;
GPIO->USARTROUTE[usart_num].RTSROUTE =
(config->pin_rts.pin << _GPIO_USART_RTSROUTE_PIN_SHIFT) |
(config->pin_rts.port << _GPIO_USART_RTSROUTE_PORT_SHIFT);
GPIO->USARTROUTE[usart_num].CTSROUTE =
(config->pin_cts.pin << _GPIO_USART_CTSROUTE_PIN_SHIFT) |
(config->pin_cts.port << _GPIO_USART_CTSROUTE_PORT_SHIFT);
#endif /* CONFIG_SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION */
}
#endif /* UART_GECKO_HW_FLOW_CONTROL */
@ -176,52 +142,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
#endif /* CONFIG_SOC_FAMILY_SILABS_S1 */
#endif /* CONFIG_UART_GECKO */
#ifdef CONFIG_SPI_GECKO_EUSART
case GECKO_FUN_SPI_SCK:
pin_config.mode = gpioModePushPull;
pin_config.out = 1;
GPIO->EUSARTROUTE[eusart_num].SCLKROUTE =
(pin_config.port << _GPIO_EUSART_SCLKROUTE_PORT_SHIFT) |
(pin_config.pin << _GPIO_EUSART_SCLKROUTE_PIN_SHIFT);
GPIO->EUSARTROUTE[eusart_num].ROUTEEN |= GPIO_EUSART_ROUTEEN_SCLKPEN;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
case GECKO_FUN_SPI_CSN:
pin_config.mode = gpioModePushPull;
pin_config.out = 1;
GPIO->EUSARTROUTE[eusart_num].CSROUTE =
(pin_config.port << _GPIO_EUSART_CSROUTE_PORT_SHIFT) |
(pin_config.pin << _GPIO_EUSART_CSROUTE_PIN_SHIFT);
GPIO->EUSARTROUTE[eusart_num].ROUTEEN |= GPIO_EUSART_ROUTEEN_CSPEN;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
case GECKO_FUN_SPI_MOSI:
pin_config.mode = gpioModePushPull;
pin_config.out = 1;
GPIO->EUSARTROUTE[eusart_num].TXROUTE =
(pin_config.port << _GPIO_EUSART_TXROUTE_PORT_SHIFT) |
(pin_config.pin << _GPIO_EUSART_TXROUTE_PIN_SHIFT);
GPIO->EUSARTROUTE[eusart_num].ROUTEEN |= GPIO_EUSART_ROUTEEN_TXPEN;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
case GECKO_FUN_SPI_MISO:
pin_config.mode = gpioModeInput;
pin_config.out = 1;
GPIO->EUSARTROUTE[eusart_num].RXROUTE =
(pin_config.port << _GPIO_EUSART_RXROUTE_PORT_SHIFT) |
(pin_config.pin << _GPIO_EUSART_RXROUTE_PIN_SHIFT);
GPIO->EUSARTROUTE[EUSART_NUM(EUSART1)].ROUTEEN |= GPIO_EUSART_ROUTEEN_RXPEN;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
#endif /*CONFIG_SPI_GECKO_EUSART*/
#ifdef CONFIG_SPI_GECKO_USART
#ifdef CONFIG_SOC_FAMILY_SILABS_S1
case GECKO_FUN_SPIM_SCK:
@ -303,40 +223,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
base->ROUTELOC0 &= ~_USART_ROUTELOC0_CSLOC_MASK;
base->ROUTELOC0 |= (loc << _USART_ROUTELOC0_CSLOC_SHIFT);
break;
#else /* CONFIG_SOC_FAMILY_SILABS_S1 */
case GECKO_FUN_SPI_SCK:
pin_config.mode = gpioModePushPull;
pin_config.out = 1;
GPIO->USARTROUTE[usart_num].ROUTEEN |= GPIO_USART_ROUTEEN_CLKPEN;
GPIO->USARTROUTE[usart_num].CLKROUTE =
(pin_config.pin << _GPIO_USART_CLKROUTE_PIN_SHIFT) |
(pin_config.port << _GPIO_USART_CLKROUTE_PORT_SHIFT);
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
case GECKO_FUN_SPI_MOSI:
pin_config.mode = gpioModePushPull;
pin_config.out = 1;
GPIO->USARTROUTE[usart_num].ROUTEEN |= GPIO_USART_ROUTEEN_TXPEN;
GPIO->USARTROUTE[usart_num].TXROUTE =
(pin_config.pin << _GPIO_USART_TXROUTE_PIN_SHIFT) |
(pin_config.port << _GPIO_USART_TXROUTE_PORT_SHIFT);
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
case GECKO_FUN_SPI_MISO:
pin_config.mode = gpioModeInput;
pin_config.out = 1;
GPIO->USARTROUTE[usart_num].ROUTEEN |= GPIO_USART_ROUTEEN_RXPEN;
GPIO->USARTROUTE[usart_num].RXROUTE =
(pin_config.pin << _GPIO_USART_RXROUTE_PIN_SHIFT) |
(pin_config.port << _GPIO_USART_RXROUTE_PORT_SHIFT);
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
break;
#endif /* CONFIG_SOC_FAMILY_SILABS_S1 */
#endif /* CONFIG_SPI_GECKO_USART */
@ -346,13 +232,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
pin_config.out = 1;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
#if defined(GPIO_I2C_ROUTEEN_SDAPEN)
GPIO->I2CROUTE[I2C_NUM(i2c_base)].SDAROUTE =
(pin_config.pin << _GPIO_I2C_SDAROUTE_PIN_SHIFT) |
(pin_config.port << _GPIO_I2C_SDAROUTE_PORT_SHIFT);
GPIO->I2CROUTE[I2C_NUM(i2c_base)].ROUTEEN |= GPIO_I2C_ROUTEEN_SDAPEN;
#endif
break;
case GECKO_FUN_I2C_SCL:
@ -360,13 +239,6 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
pin_config.out = 1;
GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode,
pin_config.out);
#if defined(GPIO_I2C_ROUTEEN_SCLPEN)
GPIO->I2CROUTE[I2C_NUM(i2c_base)].SCLROUTE =
(pin_config.pin << _GPIO_I2C_SCLROUTE_PIN_SHIFT) |
(pin_config.port << _GPIO_I2C_SCLROUTE_PORT_SHIFT);
GPIO->I2CROUTE[I2C_NUM(i2c_base)].ROUTEEN |= GPIO_I2C_ROUTEEN_SCLPEN;
#endif
break;
case GECKO_FUN_I2C_SDA_LOC: