dts: silabs: use 'aliases' to remove dts_fixup defines

By adding 'aliases' node in SoC .dtsi file it is possible to generate
DT_ defines which specify a logical name rather than relay on module
location on APB bus. E.g. DT_SILABS_GECKO_USART_40010000_LABEL becomes
DT_SILABS_GECKO_USART_USART_0_LABEL. Thus it is possible to remove
dts_fixup.h defines.

Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
This commit is contained in:
Piotr Mienkowski 2018-11-28 13:07:44 +01:00 committed by Kumar Gala
commit 973af2c8d7
23 changed files with 188 additions and 379 deletions

View file

@ -24,7 +24,6 @@
led1 = &led1;
sw0 = &button0;
sw1 = &button1;
usart-1 = &usart1;
};
leds {

View file

@ -20,9 +20,6 @@
/* These aliases are provided for compatibility with samples */
aliases {
i2c-0 = &i2c0;
usart-0 = &usart0;
leuart-0 = &leuart0;
led0 = &led0;
led1 = &led1;
sw0 = &button0;

View file

@ -11,10 +11,6 @@
model = "Silicon Labs EFM32WG STK3800 board";
compatible = "silabs,efm32wg_stk3800", "silabs,efm32wg";
aliases {
uart-0 = &uart0;
};
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;

View file

@ -11,10 +11,6 @@
model = "Silicon Labs EFR32 SLWSTK6061A board";
compatible = "silabs,efr32_slwstk6061a", "silabs,efr32fg1p";
aliases {
usart-0 = &usart0;
};
chosen {
zephyr,console = &usart0;
zephyr,shell-uart = &usart0;

View file

@ -12,10 +12,6 @@
compatible = "silabs,efr32mg_sltb004a", "silabs,efr32mg";
aliases {
i2c-0 = &i2c0;
i2c-1 = &i2c1;
usart-0 = &usart0;
leuart-0 = &leuart0;
led0 = &led0;
led1 = &led1;
sw0 = &button0;

View file

@ -180,38 +180,38 @@ static const struct i2c_driver_api i2c_gecko_driver_api = {
#ifdef CONFIG_I2C_0
static struct i2c_gecko_config i2c_gecko_config_0 = {
.base = (I2C_TypeDef *)DT_I2C_GECKO_0_BASE_ADDRESS,
.base = (I2C_TypeDef *)DT_SILABS_GECKO_I2C_I2C_0_BASE_ADDRESS,
.clock = cmuClock_I2C0,
.i2cInit = I2C_INIT_DEFAULT,
.pin_sda = PIN_I2C0_SDA,
.pin_scl = PIN_I2C0_SCL,
.loc = DT_I2C_GECKO_0_LOCATION,
.bitrate = DT_I2C_GECKO_0_CLOCK_FREQUENCY,
.loc = DT_SILABS_GECKO_I2C_I2C_0_LOCATION,
.bitrate = DT_SILABS_GECKO_I2C_I2C_0_CLOCK_FREQUENCY,
};
static struct i2c_gecko_data i2c_gecko_data_0;
DEVICE_AND_API_INIT(i2c_gecko_0, DT_I2C_GECKO_0_LABEL, &i2c_gecko_init,
&i2c_gecko_data_0, &i2c_gecko_config_0,
POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&i2c_gecko_driver_api);
DEVICE_AND_API_INIT(i2c_gecko_0, DT_SILABS_GECKO_I2C_I2C_0_LABEL,
&i2c_gecko_init, &i2c_gecko_data_0, &i2c_gecko_config_0,
POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&i2c_gecko_driver_api);
#endif /* CONFIG_I2C_0 */
#ifdef CONFIG_I2C_1
static struct i2c_gecko_config i2c_gecko_config_1 = {
.base = (I2C_TypeDef *)DT_I2C_GECKO_1_BASE_ADDRESS,
.base = (I2C_TypeDef *)DT_SILABS_GECKO_I2C_I2C_1_BASE_ADDRESS,
.clock = cmuClock_I2C1,
.i2cInit = I2C_INIT_DEFAULT,
.pin_sda = PIN_I2C1_SDA,
.pin_scl = PIN_I2C1_SCL,
.loc = DT_I2C_GECKO_1_LOCATION,
.bitrate = DT_I2C_GECKO_1_CLOCK_FREQUENCY,
.loc = DT_SILABS_GECKO_I2C_I2C_1_LOCATION,
.bitrate = DT_SILABS_GECKO_I2C_I2C_1_CLOCK_FREQUENCY,
};
static struct i2c_gecko_data i2c_gecko_data_1;
DEVICE_AND_API_INIT(i2c_gecko_1, DT_I2C_GECKO_1_LABEL, &i2c_gecko_init,
&i2c_gecko_data_1, &i2c_gecko_config_1,
POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&i2c_gecko_driver_api);
DEVICE_AND_API_INIT(i2c_gecko_1, DT_SILABS_GECKO_I2C_I2C_1_LABEL,
&i2c_gecko_init, &i2c_gecko_data_1, &i2c_gecko_config_1,
POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&i2c_gecko_driver_api);
#endif /* CONFIG_I2C_1 */

View file

@ -316,12 +316,12 @@ static void leuart_gecko_config_func_0(struct device *dev);
#endif
static const struct leuart_gecko_config leuart_gecko_0_config = {
.base = (LEUART_TypeDef *)DT_LEUART_GECKO_0_BASE_ADDRESS,
.base = (LEUART_TypeDef *)DT_SILABS_GECKO_LEUART_LEUART_0_BASE_ADDRESS,
.clock = cmuClock_LEUART0,
.baud_rate = DT_LEUART_GECKO_0_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_LEUART_LEUART_0_CURRENT_SPEED,
.pin_rx = PIN_LEUART0_RXD,
.pin_tx = PIN_LEUART0_TXD,
.loc = DT_LEUART_GECKO_0_LOCATION,
.loc = DT_SILABS_GECKO_LEUART_LEUART_0_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = leuart_gecko_config_func_0,
#endif
@ -329,19 +329,20 @@ static const struct leuart_gecko_config leuart_gecko_0_config = {
static struct leuart_gecko_data leuart_gecko_0_data;
DEVICE_AND_API_INIT(leuart_0, DT_LEUART_GECKO_0_LABEL, &leuart_gecko_init,
&leuart_gecko_0_data, &leuart_gecko_0_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(leuart_0, DT_SILABS_GECKO_LEUART_LEUART_0_LABEL,
&leuart_gecko_init, &leuart_gecko_0_data,
&leuart_gecko_0_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&leuart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void leuart_gecko_config_func_0(struct device *dev)
{
IRQ_CONNECT(DT_LEUART_GECKO_0_IRQ,
DT_LEUART_GECKO_0_IRQ_PRIORITY, leuart_gecko_isr,
DEVICE_GET(leuart_0), 0);
IRQ_CONNECT(DT_SILABS_GECKO_LEUART_LEUART_0_IRQ,
DT_SILABS_GECKO_LEUART_LEUART_0_IRQ_PRIORITY,
leuart_gecko_isr, DEVICE_GET(leuart_0), 0);
irq_enable(DT_LEUART_GECKO_0_IRQ);
irq_enable(DT_SILABS_GECKO_LEUART_LEUART_0_IRQ);
}
#endif
@ -354,12 +355,12 @@ static void leuart_gecko_config_func_1(struct device *dev);
#endif
static const struct leuart_gecko_config leuart_gecko_1_config = {
.base = (LEUART_TypeDef *)CONFIG_LEUART_GECKO_1_BASE_ADDRESS,
.base = (LEUART_TypeDef *)DT_SILABS_GECKO_LEUART_LEUART_1_BASE_ADDRESS,
.clock = cmuClock_LEUART0,
.baud_rate = CONFIG_LEUART_GECKO_1_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_LEUART_LEUART_1_CURRENT_SPEED,
.pin_rx = PIN_LEUART1_RXD,
.pin_tx = PIN_LEUART1_TXD,
.loc = CONFIG_LEUART_GECKO_1_LOCATION,
.loc = DT_SILABS_GECKO_LEUART_LEUART_1_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = leuart_gecko_config_func_1,
#endif
@ -367,19 +368,20 @@ static const struct leuart_gecko_config leuart_gecko_1_config = {
static struct leuart_gecko_data leuart_gecko_1_data;
DEVICE_AND_API_INIT(leuart_1, CONFIG_LEUART_GECKO_1_LABEL, &leuart_gecko_init,
&leuart_gecko_1_data, &leuart_gecko_1_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(leuart_1, DT_SILABS_GECKO_LEUART_LEUART_1_LABEL,
&leuart_gecko_init, &leuart_gecko_1_data,
&leuart_gecko_1_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&leuart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void leuart_gecko_config_func_1(struct device *dev)
{
IRQ_CONNECT(CONFIG_LEUART_GECKO_1_IRQ,
CONFIG_LEUART_GECKO_1_IRQ_PRIORITY, leuart_gecko_isr,
DEVICE_GET(leuart_1), 0);
IRQ_CONNECT(DT_SILABS_GECKO_LEUART_LEUART_1_IRQ,
DT_SILABS_GECKO_LEUART_LEUART_1_IRQ_PRIORITY,
leuart_gecko_isr, DEVICE_GET(leuart_1), 0);
irq_enable(CONFIG_LEUART_GECKO_1_IRQ);
irq_enable(DT_SILABS_GECKO_LEUART_LEUART_1_IRQ);
}
#endif

View file

@ -296,12 +296,12 @@ static void uart_gecko_config_func_0(struct device *dev);
#endif
static const struct uart_gecko_config uart_gecko_0_config = {
.base = (USART_TypeDef *)DT_UART_GECKO_0_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_UART_UART_0_BASE_ADDRESS,
.clock = cmuClock_UART0,
.baud_rate = DT_UART_GECKO_0_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_UART_UART_0_CURRENT_SPEED,
.pin_rx = PIN_UART0_RXD,
.pin_tx = PIN_UART0_TXD,
.loc = DT_UART_GECKO_0_LOCATION,
.loc = DT_SILABS_GECKO_UART_UART_0_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = uart_gecko_config_func_0,
#endif
@ -309,22 +309,22 @@ static const struct uart_gecko_config uart_gecko_0_config = {
static struct uart_gecko_data uart_gecko_0_data;
DEVICE_AND_API_INIT(uart_0, DT_UART_GECKO_0_LABEL, &uart_gecko_init, &uart_gecko_0_data,
&uart_gecko_0_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(uart_0, DT_SILABS_GECKO_UART_UART_0_LABEL, &uart_gecko_init,
&uart_gecko_0_data, &uart_gecko_0_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void uart_gecko_config_func_0(struct device *dev)
{
IRQ_CONNECT(DT_UART_GECKO_0_IRQ_RX,
DT_UART_GECKO_0_IRQ_RX_PRIORITY, uart_gecko_isr,
IRQ_CONNECT(DT_SILABS_GECKO_UART_UART_0_IRQ_RX,
DT_SILABS_GECKO_UART_UART_0_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(uart_0), 0);
IRQ_CONNECT(DT_UART_GECKO_0_IRQ_TX,
DT_UART_GECKO_0_IRQ_TX_PRIORITY, uart_gecko_isr,
IRQ_CONNECT(DT_SILABS_GECKO_UART_UART_0_IRQ_TX,
DT_SILABS_GECKO_UART_UART_0_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(uart_0), 0);
irq_enable(DT_UART_GECKO_0_IRQ_RX);
irq_enable(DT_UART_GECKO_0_IRQ_TX);
irq_enable(DT_SILABS_GECKO_UART_UART_0_IRQ_RX);
irq_enable(DT_SILABS_GECKO_UART_UART_0_IRQ_TX);
}
#endif
@ -337,12 +337,12 @@ static void uart_gecko_config_func_1(struct device *dev);
#endif
static const struct uart_gecko_config uart_gecko_1_config = {
.base = (USART_TypeDef *)DT_UART_GECKO_1_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_UART_UART_1_BASE_ADDRESS,
.clock = cmuClock_UART1,
.baud_rate = DT_UART_GECKO_1_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_UART_UART_1_CURRENT_SPEED,
.pin_rx = PIN_UART1_RXD,
.pin_tx = PIN_UART1_TXD,
.loc = DT_UART_GECKO_1_LOCATION,
.loc = DT_SILABS_GECKO_UART_UART_1_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = uart_gecko_config_func_1,
#endif
@ -350,22 +350,22 @@ static const struct uart_gecko_config uart_gecko_1_config = {
static struct uart_gecko_data uart_gecko_1_data;
DEVICE_AND_API_INIT(uart_1, DT_UART_GECKO_1_LABEL, &uart_gecko_init, &uart_gecko_1_data,
&uart_gecko_1_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(uart_1, DT_SILABS_GECKO_UART_UART_1_LABEL, &uart_gecko_init,
&uart_gecko_1_data, &uart_gecko_1_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void uart_gecko_config_func_1(struct device *dev)
{
IRQ_CONNECT(DT_UART_GECKO_1_IRQ_RX,
DT_UART_GECKO_1_IRQ_RX_PRIORITY, uart_gecko_isr,
IRQ_CONNECT(DT_SILABS_GECKO_UART_UART_1_IRQ_RX,
DT_SILABS_GECKO_UART_UART_1_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(uart_1), 0);
IRQ_CONNECT(DT_UART_GECKO_1_IRQ_TX,
DT_UART_GECKO_1_IRQ_TX_PRIORITY, uart_gecko_isr,
IRQ_CONNECT(DT_SILABS_GECKO_UART_UART_1_IRQ_TX,
DT_SILABS_GECKO_UART_UART_1_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(uart_1), 0);
irq_enable(DT_UART_GECKO_1_IRQ_RX);
irq_enable(DT_UART_GECKO_1_IRQ_TX);
irq_enable(DT_SILABS_GECKO_UART_UART_1_IRQ_RX);
irq_enable(DT_SILABS_GECKO_UART_UART_1_IRQ_TX);
}
#endif
@ -378,12 +378,12 @@ static void usart_gecko_config_func_0(struct device *dev);
#endif
static const struct uart_gecko_config usart_gecko_0_config = {
.base = (USART_TypeDef *)DT_USART_GECKO_0_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_USART_USART_0_BASE_ADDRESS,
.clock = cmuClock_USART0,
.baud_rate = DT_USART_GECKO_0_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_USART_USART_0_CURRENT_SPEED,
.pin_rx = PIN_USART0_RXD,
.pin_tx = PIN_USART0_TXD,
.loc = DT_USART_GECKO_0_LOCATION,
.loc = DT_SILABS_GECKO_USART_USART_0_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = usart_gecko_config_func_0,
#endif
@ -391,22 +391,23 @@ static const struct uart_gecko_config usart_gecko_0_config = {
static struct uart_gecko_data usart_gecko_0_data;
DEVICE_AND_API_INIT(usart_0, DT_USART_GECKO_0_LABEL, &uart_gecko_init,
&usart_gecko_0_data, &usart_gecko_0_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(usart_0, DT_SILABS_GECKO_USART_USART_0_LABEL,
&uart_gecko_init, &usart_gecko_0_data,
&usart_gecko_0_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void usart_gecko_config_func_0(struct device *dev)
{
IRQ_CONNECT(DT_USART_GECKO_0_IRQ_RX,
DT_USART_GECKO_0_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_0), 0);
IRQ_CONNECT(DT_USART_GECKO_0_IRQ_TX,
DT_USART_GECKO_0_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_0), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_0_IRQ_RX,
DT_SILABS_GECKO_USART_USART_0_IRQ_RX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_0), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_0_IRQ_TX,
DT_SILABS_GECKO_USART_USART_0_IRQ_TX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_0), 0);
irq_enable(DT_USART_GECKO_0_IRQ_RX);
irq_enable(DT_USART_GECKO_0_IRQ_TX);
irq_enable(DT_SILABS_GECKO_USART_USART_0_IRQ_RX);
irq_enable(DT_SILABS_GECKO_USART_USART_0_IRQ_TX);
}
#endif
@ -419,12 +420,12 @@ static void usart_gecko_config_func_1(struct device *dev);
#endif
static const struct uart_gecko_config usart_gecko_1_config = {
.base = (USART_TypeDef *)DT_USART_GECKO_1_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_USART_USART_1_BASE_ADDRESS,
.clock = cmuClock_USART1,
.baud_rate = DT_USART_GECKO_1_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_USART_USART_1_CURRENT_SPEED,
.pin_rx = PIN_USART1_RXD,
.pin_tx = PIN_USART1_TXD,
.loc = DT_USART_GECKO_1_LOCATION,
.loc = DT_SILABS_GECKO_USART_USART_1_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = usart_gecko_config_func_1,
#endif
@ -432,22 +433,23 @@ static const struct uart_gecko_config usart_gecko_1_config = {
static struct uart_gecko_data usart_gecko_1_data;
DEVICE_AND_API_INIT(usart_1, DT_USART_GECKO_1_LABEL, &uart_gecko_init,
&usart_gecko_1_data, &usart_gecko_1_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(usart_1, DT_SILABS_GECKO_USART_USART_1_LABEL,
&uart_gecko_init, &usart_gecko_1_data,
&usart_gecko_1_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void usart_gecko_config_func_1(struct device *dev)
{
IRQ_CONNECT(DT_USART_GECKO_1_IRQ_RX,
DT_USART_GECKO_1_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_1), 0);
IRQ_CONNECT(DT_USART_GECKO_1_IRQ_TX,
DT_USART_GECKO_1_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_1), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_1_IRQ_RX,
DT_SILABS_GECKO_USART_USART_1_IRQ_RX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_1), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_1_IRQ_TX,
DT_SILABS_GECKO_USART_USART_1_IRQ_TX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_1), 0);
irq_enable(DT_USART_GECKO_1_IRQ_RX);
irq_enable(DT_USART_GECKO_1_IRQ_TX);
irq_enable(DT_SILABS_GECKO_USART_USART_1_IRQ_RX);
irq_enable(DT_SILABS_GECKO_USART_USART_1_IRQ_TX);
}
#endif
@ -460,12 +462,12 @@ static void usart_gecko_config_func_2(struct device *dev);
#endif
static const struct uart_gecko_config usart_gecko_2_config = {
.base = (USART_TypeDef *)DT_USART_GECKO_2_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_USART_USART_2_BASE_ADDRESS,
.clock = cmuClock_USART2,
.baud_rate = DT_USART_GECKO_2_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_USART_USART_2_CURRENT_SPEED,
.pin_rx = PIN_USART2_RXD,
.pin_tx = PIN_USART2_TXD,
.loc = DT_USART_GECKO_2_LOCATION,
.loc = DT_SILABS_GECKO_USART_USART_2_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = usart_gecko_config_func_2,
#endif
@ -473,22 +475,23 @@ static const struct uart_gecko_config usart_gecko_2_config = {
static struct uart_gecko_data usart_gecko_2_data;
DEVICE_AND_API_INIT(usart_2, DT_USART_GECKO_2_LABEL, &uart_gecko_init,
&usart_gecko_2_data, &usart_gecko_2_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(usart_2, DT_SILABS_GECKO_USART_USART_2_LABEL,
&uart_gecko_init, &usart_gecko_2_data,
&usart_gecko_2_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void usart_gecko_config_func_2(struct device *dev)
{
IRQ_CONNECT(DT_USART_GECKO_2_IRQ_RX,
DT_USART_GECKO_2_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_2), 0);
IRQ_CONNECT(DT_USART_GECKO_2_IRQ_TX,
DT_USART_GECKO_2_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_2), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_2_IRQ_RX,
DT_SILABS_GECKO_USART_USART_2_IRQ_RX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_2), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_2_IRQ_TX,
DT_SILABS_GECKO_USART_USART_2_IRQ_TX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_2), 0);
irq_enable(DT_USART_GECKO_2_IRQ_RX);
irq_enable(DT_USART_GECKO_2_IRQ_TX);
irq_enable(DT_SILABS_GECKO_USART_USART_2_IRQ_RX);
irq_enable(DT_SILABS_GECKO_USART_USART_2_IRQ_TX);
}
#endif
@ -501,12 +504,12 @@ static void usart_gecko_config_func_3(struct device *dev);
#endif
static const struct uart_gecko_config usart_gecko_3_config = {
.base = (USART_TypeDef *)DT_USART_GECKO_3_BASE_ADDRESS,
.base = (USART_TypeDef *)DT_SILABS_GECKO_USART_USART_3_BASE_ADDRESS,
.clock = cmuClock_USART3,
.baud_rate = DT_USART_GECKO_3_CURRENT_SPEED,
.baud_rate = DT_SILABS_GECKO_USART_USART_3_CURRENT_SPEED,
.pin_rx = PIN_USART3_RXD,
.pin_tx = PIN_USART3_TXD,
.loc = DT_USART_GECKO_3_LOCATION,
.loc = DT_SILABS_GECKO_USART_USART_3_LOCATION,
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
.irq_config_func = usart_gecko_config_func_3,
#endif
@ -514,22 +517,23 @@ static const struct uart_gecko_config usart_gecko_3_config = {
static struct uart_gecko_data usart_gecko_3_data;
DEVICE_AND_API_INIT(usart_3, DT_USART_GECKO_3_LABEL, &uart_gecko_init,
&usart_gecko_3_data, &usart_gecko_3_config, PRE_KERNEL_1,
DEVICE_AND_API_INIT(usart_3, DT_SILABS_GECKO_USART_USART_3_LABEL,
&uart_gecko_init, &usart_gecko_3_data,
&usart_gecko_3_config, PRE_KERNEL_1,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &uart_gecko_driver_api);
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
static void usart_gecko_config_func_3(struct device *dev)
{
IRQ_CONNECT(DT_USART_GECKO_3_IRQ_RX,
DT_USART_GECKO_3_IRQ_RX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_3), 0);
IRQ_CONNECT(DT_USART_GECKO_3_IRQ_TX,
DT_USART_GECKO_3_IRQ_TX_PRIORITY, uart_gecko_isr,
DEVICE_GET(usart_3), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_3_IRQ_RX,
DT_SILABS_GECKO_USART_USART_3_IRQ_RX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_3), 0);
IRQ_CONNECT(DT_SILABS_GECKO_USART_USART_3_IRQ_TX,
DT_SILABS_GECKO_USART_USART_3_IRQ_TX_PRIORITY,
uart_gecko_isr, DEVICE_GET(usart_3), 0);
irq_enable(DT_USART_GECKO_3_IRQ_RX);
irq_enable(DT_USART_GECKO_3_IRQ_TX);
irq_enable(DT_SILABS_GECKO_USART_USART_3_IRQ_RX);
irq_enable(DT_SILABS_GECKO_USART_USART_3_IRQ_TX);
}
#endif

View file

@ -17,6 +17,11 @@
compatible = "mmio-sram";
};
aliases {
usart-0 = &usart0;
usart-1 = &usart1;
};
soc {
flash-controller@400c0000 {
compatible = "silabs,gecko-flash-controller";

View file

@ -24,6 +24,16 @@
compatible = "mmio-sram";
};
aliases {
usart-0 = &usart0;
usart-1 = &usart1;
usart-2 = &usart2;
usart-3 = &usart3;
leuart-0 = &leuart0;
i2c-0 = &i2c0;
i2c-1 = &i2c1;
};
soc {
flash-controller@400e0000 {
compatible = "silabs,gecko-flash-controller";

View file

@ -17,6 +17,14 @@
compatible = "mmio-sram";
};
aliases {
usart-0 = &usart0;
usart-1 = &usart1;
usart-2 = &usart2;
uart-0 = &uart0;
uart-1 = &uart1;
};
soc {
flash-controller@400c0000 {
compatible = "silabs,gecko-flash-controller";

View file

@ -17,6 +17,11 @@
compatible = "mmio-sram";
};
aliases {
usart-0 = &usart0;
usart-1 = &usart1;
};
soc {
flash-controller@400e0000 {
compatible = "silabs,gecko-flash-controller";

View file

@ -18,6 +18,16 @@
compatible = "mmio-sram";
};
aliases {
usart-0 = &usart0;
usart-1 = &usart1;
usart-2 = &usart2;
usart-3 = &usart3;
leuart-0 = &leuart0;
i2c-0 = &i2c0;
i2c-1 = &i2c1;
};
soc {
flash-controller@400e0000 {
compatible = "silabs,gecko-flash-controller";

View file

@ -11,26 +11,6 @@
#define DT_FLASH_DEV_BASE_ADDRESS DT_SILABS_GECKO_FLASH_CONTROLLER_400C0000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME DT_SILABS_GECKO_FLASH_CONTROLLER_400C0000_LABEL
#define DT_USART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_USART_4000C000_BASE_ADDRESS
#define DT_USART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_USART_4000C000_CURRENT_SPEED
#define DT_USART_GECKO_0_IRQ_RX DT_SILABS_GECKO_USART_4000C000_IRQ_0
#define DT_USART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_4000C000_IRQ_0_PRIORITY
#define DT_USART_GECKO_0_IRQ_TX DT_SILABS_GECKO_USART_4000C000_IRQ_1
#define DT_USART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_4000C000_IRQ_1_PRIORITY
#define DT_USART_GECKO_0_LABEL DT_SILABS_GECKO_USART_4000C000_LABEL
#define DT_USART_GECKO_0_LOCATION DT_SILABS_GECKO_USART_4000C000_LOCATION
#define DT_USART_GECKO_0_SIZE DT_SILABS_GECKO_USART_4000C000_SIZE
#define DT_USART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_USART_4000C400_BASE_ADDRESS
#define DT_USART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_USART_4000C400_CURRENT_SPEED
#define DT_USART_GECKO_1_IRQ_RX DT_SILABS_GECKO_USART_4000C400_IRQ_0
#define DT_USART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_4000C400_IRQ_0_PRIORITY
#define DT_USART_GECKO_1_IRQ_TX DT_SILABS_GECKO_USART_4000C400_IRQ_1
#define DT_USART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_4000C400_IRQ_1_PRIORITY
#define DT_USART_GECKO_1_LABEL DT_SILABS_GECKO_USART_4000C400_LABEL
#define DT_USART_GECKO_1_LOCATION DT_SILABS_GECKO_USART_4000C400_LOCATION
#define DT_USART_GECKO_1_SIZE DT_SILABS_GECKO_USART_4000C400_SIZE
#define DT_GPIO_GECKO_COMMON_NAME DT_SILABS_EFM32_GPIO_40006100_LABEL
#define DT_GPIO_GECKO_COMMON_EVEN_IRQ DT_SILABS_EFM32_GPIO_40006100_IRQ_GPIO_EVEN
#define DT_GPIO_GECKO_COMMON_EVEN_PRI DT_SILABS_EFM32_GPIO_40006100_IRQ_GPIO_EVEN_PRIORITY

View file

@ -17,17 +17,17 @@
#include <em_gpio.h>
#ifdef CONFIG_USART_GECKO_0
#if (DT_USART_GECKO_0_LOCATION == 0)
#if (DT_SILABS_GECKO_USART_USART_0_LOCATION == 0)
#define PIN_USART0_TXD {gpioPortE, 10, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortE, 11, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_LOCATION == 3)
#elif (DT_SILABS_GECKO_USART_USART_0_LOCATION == 3)
#define PIN_USART0_TXD {gpioPortE, 13, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortE, 12, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_LOCATION == 4)
#elif (DT_SILABS_GECKO_USART_USART_0_LOCATION == 4)
#define PIN_USART0_TXD {gpioPortB, 7, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortB, 8, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_LOCATION == 5) || \
(DT_USART_GECKO_0_LOCATION == 6)
#elif (DT_SILABS_GECKO_USART_USART_0_LOCATION == 5) || \
(DT_SILABS_GECKO_USART_USART_0_LOCATION == 6)
#define PIN_USART0_TXD {gpioPortC, 0, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortC, 1, gpioModeInput, 1}
#else
@ -36,17 +36,17 @@
#endif /* CONFIG_USART_GECKO_0 */
#ifdef CONFIG_USART_GECKO_1
#if (DT_USART_GECKO_1_LOCATION == 0)
#if (DT_SILABS_GECKO_USART_USART_1_LOCATION == 0)
#define PIN_USART1_TXD {gpioPortC, 0, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortC, 1, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_LOCATION == 2) || \
(DT_USART_GECKO_1_LOCATION == 3)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 2) || \
(DT_SILABS_GECKO_USART_USART_1_LOCATION == 3)
#define PIN_USART1_TXD {gpioPortD, 7, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortD, 6, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_LOCATION == 4)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 4)
#define PIN_USART1_TXD {gpioPortF, 2, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortA, 0, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_LOCATION == 5)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 5)
#define PIN_USART1_TXD {gpioPortC, 1, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortC, 2, gpioModeInput, 1}
#else

View file

@ -11,54 +11,6 @@
#define DT_FLASH_DEV_BASE_ADDRESS DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_LABEL
#define DT_USART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_USART_40010000_BASE_ADDRESS
#define DT_USART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_USART_40010000_CURRENT_SPEED
#define DT_USART_GECKO_0_IRQ_RX DT_SILABS_GECKO_USART_40010000_IRQ_0
#define DT_USART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_0_PRIORITY
#define DT_USART_GECKO_0_IRQ_TX DT_SILABS_GECKO_USART_40010000_IRQ_1
#define DT_USART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_1_PRIORITY
#define DT_USART_GECKO_0_LABEL DT_SILABS_GECKO_USART_40010000_LABEL
#define DT_USART_GECKO_0_LOCATION DT_SILABS_GECKO_USART_40010000_LOCATION
#define DT_USART_GECKO_0_SIZE DT_SILABS_GECKO_USART_40010000_SIZE
#define DT_USART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_USART_40010400_BASE_ADDRESS
#define DT_USART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_USART_40010400_CURRENT_SPEED
#define DT_USART_GECKO_1_IRQ_RX DT_SILABS_GECKO_USART_40010400_IRQ_0
#define DT_USART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_0_PRIORITY
#define DT_USART_GECKO_1_IRQ_TX DT_SILABS_GECKO_USART_40010400_IRQ_1
#define DT_USART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_1_PRIORITY
#define DT_USART_GECKO_1_LABEL DT_SILABS_GECKO_USART_40010400_LABEL
#define DT_USART_GECKO_1_LOCATION DT_SILABS_GECKO_USART_40010400_LOCATION
#define DT_USART_GECKO_1_SIZE DT_SILABS_GECKO_USART_40010400_SIZE
#define DT_USART_GECKO_2_BASE_ADDRESS DT_SILABS_GECKO_USART_40010800_BASE_ADDRESS
#define DT_USART_GECKO_2_CURRENT_SPEED DT_SILABS_GECKO_USART_40010800_CURRENT_SPEED
#define DT_USART_GECKO_2_IRQ_RX DT_SILABS_GECKO_USART_40010800_IRQ_0
#define DT_USART_GECKO_2_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010800_IRQ_0_PRIORITY
#define DT_USART_GECKO_2_IRQ_TX DT_SILABS_GECKO_USART_40010800_IRQ_1
#define DT_USART_GECKO_2_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010800_IRQ_1_PRIORITY
#define DT_USART_GECKO_2_LABEL DT_SILABS_GECKO_USART_40010800_LABEL
#define DT_USART_GECKO_2_LOCATION DT_SILABS_GECKO_USART_40010800_LOCATION
#define DT_USART_GECKO_2_SIZE DT_SILABS_GECKO_USART_40010800_SIZE
#define DT_USART_GECKO_3_BASE_ADDRESS DT_SILABS_GECKO_USART_40010C00_BASE_ADDRESS
#define DT_USART_GECKO_3_CURRENT_SPEED DT_SILABS_GECKO_USART_40010C00_CURRENT_SPEED
#define DT_USART_GECKO_3_IRQ_RX DT_SILABS_GECKO_USART_40010C00_IRQ_0
#define DT_USART_GECKO_3_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010C00_IRQ_0_PRIORITY
#define DT_USART_GECKO_3_IRQ_TX DT_SILABS_GECKO_USART_40010C00_IRQ_1
#define DT_USART_GECKO_3_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010C00_IRQ_1_PRIORITY
#define DT_USART_GECKO_3_LABEL DT_SILABS_GECKO_USART_40010C00_LABEL
#define DT_USART_GECKO_3_LOCATION DT_SILABS_GECKO_USART_40010C00_LOCATION
#define DT_USART_GECKO_3_SIZE DT_SILABS_GECKO_USART_40010C00_SIZE
#define DT_LEUART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_LEUART_4004A000_BASE_ADDRESS
#define DT_LEUART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_LEUART_4004A000_CURRENT_SPEED
#define DT_LEUART_GECKO_0_IRQ DT_SILABS_GECKO_LEUART_4004A000_IRQ_0
#define DT_LEUART_GECKO_0_IRQ_PRIORITY DT_SILABS_GECKO_LEUART_4004A000_IRQ_0_PRIORITY
#define DT_LEUART_GECKO_0_LABEL DT_SILABS_GECKO_LEUART_4004A000_LABEL
#define DT_LEUART_GECKO_0_LOCATION DT_SILABS_GECKO_LEUART_4004A000_LOCATION
#define DT_LEUART_GECKO_0_SIZE DT_SILABS_GECKO_LEUART_4004A000_SIZE
#define DT_GPIO_GECKO_COMMON_NAME DT_SILABS_EFM32_GPIO_4000A400_LABEL
#define DT_GPIO_GECKO_COMMON_EVEN_IRQ DT_SILABS_EFM32_GPIO_4000A400_IRQ_GPIO_EVEN
#define DT_GPIO_GECKO_COMMON_EVEN_PRI DT_SILABS_EFM32_GPIO_4000A400_IRQ_GPIO_EVEN_PRIORITY
@ -72,20 +24,4 @@
#define DT_GPIO_GECKO_PORTE_NAME DT_SILABS_EFM32_GPIO_PORT_4000A0C0_LABEL
#define DT_GPIO_GECKO_PORTF_NAME DT_SILABS_EFM32_GPIO_PORT_4000A0F0_LABEL
#define DT_I2C_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_I2C_4000C000_BASE_ADDRESS
#define DT_I2C_GECKO_0_CLOCK_FREQUENCY DT_SILABS_GECKO_I2C_4000C000_CLOCK_FREQUENCY
#define DT_I2C_GECKO_0_IRQ DT_SILABS_GECKO_I2C_4000C000_IRQ_0
#define DT_I2C_GECKO_0_IRQ_PRIORITY DT_SILABS_GECKO_I2C_4000C000_IRQ_0_PRIORITY
#define DT_I2C_GECKO_0_LABEL DT_SILABS_GECKO_I2C_4000C000_LABEL
#define DT_I2C_GECKO_0_LOCATION DT_SILABS_GECKO_I2C_4000C000_LOCATION
#define DT_I2C_GECKO_0_SIZE DT_SILABS_GECKO_I2C_4000C000_SIZE
#define DT_I2C_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_I2C_4000C400_BASE_ADDRESS
#define DT_I2C_GECKO_1_CLOCK_FREQUENCY DT_SILABS_GECKO_I2C_4000C400_CLOCK_FREQUENCY
#define DT_I2C_GECKO_1_IRQ DT_SILABS_GECKO_I2C_4000C400_IRQ_0
#define DT_I2C_GECKO_1_IRQ_PRIORITY DT_SILABS_GECKO_I2C_4000C400_IRQ_0_PRIORITY
#define DT_I2C_GECKO_1_LABEL DT_SILABS_GECKO_I2C_4000C400_LABEL
#define DT_I2C_GECKO_1_LOCATION DT_SILABS_GECKO_I2C_4000C400_LOCATION
#define DT_I2C_GECKO_1_SIZE DT_SILABS_GECKO_I2C_4000C400_SIZE
/* End of SoC Level DTS fixup file */

View file

@ -17,16 +17,16 @@
#include <em_gpio.h>
#ifdef CONFIG_USART_GECKO_0
#if (DT_USART_GECKO_0_GPIO_LOC == 0)
#if (DT_SILABS_GECKO_USART_USART_0_GPIO_LOC == 0)
#define PIN_USART0_TXD {gpioPortA, 0, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 1, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_GPIO_LOC == 1)
#elif (DT_SILABS_GECKO_USART_USART_0_GPIO_LOC == 1)
#define PIN_USART0_TXD {gpioPortA, 1, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 2, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_GPIO_LOC == 2)
#elif (DT_SILABS_GECKO_USART_USART_0_GPIO_LOC == 2)
#define PIN_USART0_TXD {gpioPortA, 2, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 3, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_GPIO_LOC == 18)
#elif (DT_SILABS_GECKO_USART_USART_0_GPIO_LOC == 18)
#define PIN_USART0_TXD {gpioPortD, 10, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortD, 11, gpioModeInput, 1}
#else
@ -37,13 +37,13 @@
#ifdef CONFIG_USART_GECKO_1
#if (CONFIG_USART_GECKO_1_GPIO_LOC == 0)
#error ("Serial Driver for Gecko MCUs not implemented for this location index")
#elif (DT_USART_GECKO_1_GPIO_LOC == 1)
#elif (DT_SILABS_GECKO_USART_USART_1_GPIO_LOC == 1)
#define PIN_USART1_TXD {gpioPortA, 1, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortA, 2, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_GPIO_LOC == 2)
#elif (DT_SILABS_GECKO_USART_USART_1_GPIO_LOC == 2)
#define PIN_USART1_TXD {gpioPortA, 2, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortA, 3, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_GPIO_LOC == 3)
#elif (DT_SILABS_GECKO_USART_USART_1_GPIO_LOC == 3)
#define PIN_USART1_TXD {gpioPortA, 3, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortA, 4, gpioModeInput, 1}
#else
@ -53,7 +53,7 @@
#ifdef CONFIG_LEUART_GECKO
#ifdef CONFIG_LEUART_GECKO_0
#if (DT_LEUART_GECKO_0_LOCATION == 18)
#if (DT_SILABS_GECKO_LEUART_LEUART_0_LOCATION == 18)
#define PIN_LEUART0_TXD {gpioPortD, 10, gpioModePushPull, 1}
#define PIN_LEUART0_RXD {gpioPortD, 11, gpioModeInput, 1}
#else
@ -64,7 +64,7 @@
#ifdef CONFIG_I2C_GECKO
#ifdef CONFIG_I2C_0
#if (DT_I2C_GECKO_0_LOCATION == 15)
#if (DT_SILABS_GECKO_I2C_I2C_0_LOCATION == 15)
#define PIN_I2C0_SDA {gpioPortC, 10, gpioModeWiredAnd, 1}
#define PIN_I2C0_SCL {gpioPortC, 11, gpioModeWiredAnd, 1}
#else
@ -73,7 +73,7 @@
#endif /* CONFIG_I2C_0 */
#ifdef CONFIG_I2C_1
#if (DT_I2C_GECKO_1_LOCATION == 6)
#if (DT_SILABS_GECKO_I2C_I2C_1_LOCATION == 6)
#define PIN_I2C1_SDA {gpioPortB, 6, gpioModeWiredAnd, 1}
#define PIN_I2C1_SCL {gpioPortB, 7, gpioModeWiredAnd, 1}
#else

View file

@ -11,57 +11,6 @@
#define DT_FLASH_DEV_BASE_ADDRESS DT_SILABS_GECKO_FLASH_CONTROLLER_400C0000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME DT_SILABS_GECKO_FLASH_CONTROLLER_400C0000_LABEL
#define DT_USART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_USART_4000C000_BASE_ADDRESS
#define DT_USART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_USART_4000C000_CURRENT_SPEED
#define DT_USART_GECKO_0_IRQ_RX DT_SILABS_GECKO_USART_4000C000_IRQ_0
#define DT_USART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_4000C000_IRQ_0_PRIORITY
#define DT_USART_GECKO_0_IRQ_TX DT_SILABS_GECKO_USART_4000C000_IRQ_1
#define DT_USART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_4000C000_IRQ_1_PRIORITY
#define DT_USART_GECKO_0_LABEL DT_SILABS_GECKO_USART_4000C000_LABEL
#define DT_USART_GECKO_0_LOCATION DT_SILABS_GECKO_USART_4000C000_LOCATION
#define DT_USART_GECKO_0_SIZE DT_SILABS_GECKO_USART_4000C000_SIZE
#define DT_USART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_USART_4000C400_BASE_ADDRESS
#define DT_USART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_USART_4000C400_CURRENT_SPEED
#define DT_USART_GECKO_1_IRQ_RX DT_SILABS_GECKO_USART_4000C400_IRQ_0
#define DT_USART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_4000C400_IRQ_0_PRIORITY
#define DT_USART_GECKO_1_IRQ_TX DT_SILABS_GECKO_USART_4000C400_IRQ_1
#define DT_USART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_4000C400_IRQ_1_PRIORITY
#define DT_USART_GECKO_1_LABEL DT_SILABS_GECKO_USART_4000C400_LABEL
#define DT_USART_GECKO_1_LOCATION DT_SILABS_GECKO_USART_4000C400_LOCATION
#define DT_USART_GECKO_1_SIZE DT_SILABS_GECKO_USART_4000C400_SIZE
#define DT_USART_GECKO_2_BASE_ADDRESS DT_SILABS_GECKO_USART_4000C800_BASE_ADDRESS
#define DT_USART_GECKO_2_CURRENT_SPEED DT_SILABS_GECKO_USART_4000C800_CURRENT_SPEED
#define DT_USART_GECKO_2_IRQ_RX DT_SILABS_GECKO_USART_4000C800_IRQ_0
#define DT_USART_GECKO_2_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_4000C800_IRQ_0_PRIORITY
#define DT_USART_GECKO_2_IRQ_TX DT_SILABS_GECKO_USART_4000C800_IRQ_1
#define DT_USART_GECKO_2_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_4000C800_IRQ_1_PRIORITY
#define DT_USART_GECKO_2_LABEL DT_SILABS_GECKO_USART_4000C800_LABEL
#define DT_USART_GECKO_2_LOCATION DT_SILABS_GECKO_USART_4000C800_LOCATION
#define DT_USART_GECKO_2_SIZE DT_SILABS_GECKO_USART_4000C800_SIZE
#define DT_UART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_UART_4000E000_BASE_ADDRESS
#define DT_UART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_UART_4000E000_CURRENT_SPEED
#define DT_UART_GECKO_0_IRQ_RX DT_SILABS_GECKO_UART_4000E000_IRQ_0
#define DT_UART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_UART_4000E000_IRQ_0_PRIORITY
#define DT_UART_GECKO_0_IRQ_TX DT_SILABS_GECKO_UART_4000E000_IRQ_1
#define DT_UART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_UART_4000E000_IRQ_1_PRIORITY
#define DT_UART_GECKO_0_LABEL DT_SILABS_GECKO_UART_4000E000_LABEL
#define DT_UART_GECKO_0_LOCATION DT_SILABS_GECKO_UART_4000E000_LOCATION
#define DT_UART_GECKO_0_SIZE DT_SILABS_GECKO_UART_4000E000_SIZE
#define DT_UART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_UART_4000E400_BASE_ADDRESS
#define DT_UART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_UART_4000E400_CURRENT_SPEED
#define DT_UART_GECKO_1_IRQ_RX DT_SILABS_GECKO_UART_4000E400_IRQ_0
#define DT_UART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_UART_4000E400_IRQ_0_PRIORITY
#define DT_UART_GECKO_1_IRQ_TX DT_SILABS_GECKO_UART_4000E400_IRQ_1
#define DT_UART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_UART_4000E400_IRQ_1_PRIORITY
#define DT_UART_GECKO_1_LABEL DT_SILABS_GECKO_UART_4000E400_LABEL
#define DT_UART_GECKO_1_LOCATION DT_SILABS_GECKO_UART_4000E400_LOCATION
#define DT_UART_GECKO_1_SIZE DT_SILABS_GECKO_UART_4000E400_SIZE
#define DT_GPIO_GECKO_COMMON_NAME DT_SILABS_EFM32_GPIO_40006100_LABEL
#define DT_GPIO_GECKO_COMMON_EVEN_IRQ DT_SILABS_EFM32_GPIO_40006100_IRQ_GPIO_EVEN
#define DT_GPIO_GECKO_COMMON_EVEN_PRI DT_SILABS_EFM32_GPIO_40006100_IRQ_GPIO_EVEN_PRIORITY

View file

@ -17,13 +17,13 @@
#include <em_gpio.h>
#ifdef CONFIG_UART_GECKO_0
#if (DT_UART_GECKO_0_LOCATION == 0)
#if (DT_SILABS_GECKO_UART_UART_0_LOCATION == 0)
#define PIN_UART0_TXD {gpioPortF, 6, gpioModePushPull, 1}
#define PIN_UART0_RXD {gpioPortF, 7, gpioModeInput, 1}
#elif (DT_UART_GECKO_0_LOCATION == 1)
#elif (DT_SILABS_GECKO_UART_UART_0_LOCATION == 1)
#define PIN_UART0_TXD {gpioPortE, 0, gpioModePushPull, 1}
#define PIN_UART0_RXD {gpioPortE, 1, gpioModeInput, 1}
#elif (DT_UART_GECKO_0_LOCATION == 2)
#elif (DT_SILABS_GECKO_UART_UART_0_LOCATION == 2)
#define PIN_UART0_TXD {gpioPortA, 3, gpioModePushPull, 1}
#define PIN_UART0_RXD {gpioPortA, 4, gpioModeInput, 1}
#else
@ -32,15 +32,15 @@
#endif /* CONFIG_UART_GECKO_0 */
#ifdef CONFIG_UART_GECKO_1
#if (DT_UART_GECKO_1_LOCATION == 0)
#if (DT_SILABS_GECKO_UART_UART_1_LOCATION == 0)
#error ("Serial Driver for Gecko MCUs not implemented for this location index")
#elif (DT_UART_GECKO_1_LOCATION == 1)
#elif (DT_SILABS_GECKO_UART_UART_1_LOCATION == 1)
#define PIN_UART1_TXD {gpioPortF, 10, gpioModePushPull, 1}
#define PIN_UART1_RXD {gpioPortF, 11, gpioModeInput, 1}
#elif (DT_UART_GECKO_1_LOCATION == 2)
#elif (DT_SILABS_GECKO_UART_UART_1_LOCATION == 2)
#define PIN_UART1_TXD {gpioPortB, 9, gpioModePushPull, 1}
#define PIN_UART1_RXD {gpioPortB, 10, gpioModeInput, 1}
#elif (DT_UART_GECKO_1_LOCATION == 3)
#elif (DT_SILABS_GECKO_UART_UART_1_LOCATION == 3)
#define PIN_UART1_TXD {gpioPortE, 2, gpioModePushPull, 1}
#define PIN_UART1_RXD {gpioPortE, 3, gpioModeInput, 1}
#else

View file

@ -11,26 +11,6 @@
#define DT_FLASH_DEV_BASE_ADDRESS DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_LABEL
#define DT_USART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_USART_40010000_BASE_ADDRESS
#define DT_USART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_USART_40010000_CURRENT_SPEED
#define DT_USART_GECKO_0_IRQ_RX DT_SILABS_GECKO_USART_40010000_IRQ_0
#define DT_USART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_0_PRIORITY
#define DT_USART_GECKO_0_IRQ_TX DT_SILABS_GECKO_USART_40010000_IRQ_1
#define DT_USART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_1_PRIORITY
#define DT_USART_GECKO_0_LABEL DT_SILABS_GECKO_USART_40010000_LABEL
#define DT_USART_GECKO_0_LOCATION DT_SILABS_GECKO_USART_40010000_LOCATION
#define DT_USART_GECKO_0_SIZE DT_SILABS_GECKO_USART_40010000_SIZE
#define DT_USART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_USART_40010400_BASE_ADDRESS
#define DT_USART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_USART_40010400_CURRENT_SPEED
#define DT_USART_GECKO_1_IRQ_RX DT_SILABS_GECKO_USART_40010400_IRQ_0
#define DT_USART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_0_PRIORITY
#define DT_USART_GECKO_1_IRQ_TX DT_SILABS_GECKO_USART_40010400_IRQ_1
#define DT_USART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_1_PRIORITY
#define DT_USART_GECKO_1_LABEL DT_SILABS_GECKO_USART_40010400_LABEL
#define DT_USART_GECKO_1_LOCATION DT_SILABS_GECKO_USART_40010400_LOCATION
#define DT_USART_GECKO_1_SIZE DT_SILABS_GECKO_USART_40010400_SIZE
#define DT_GPIO_GECKO_COMMON_NAME DT_SILABS_EFR32XG1_GPIO_4000A400_LABEL
#define DT_GPIO_GECKO_COMMON_EVEN_IRQ DT_SILABS_EFR32XG1_GPIO_4000A400_IRQ_GPIO_EVEN
#define DT_GPIO_GECKO_COMMON_EVEN_PRI DT_SILABS_EFR32XG1_GPIO_4000A400_IRQ_GPIO_EVEN_PRIORITY

View file

@ -17,13 +17,13 @@
#include <em_gpio.h>
#ifdef CONFIG_USART_GECKO_0
#if (DT_USART_GECKO_0_LOCATION == 0)
#if (DT_SILABS_GECKO_USART_USART_0_LOCATION == 0)
#define PIN_USART0_TXD {gpioPortA, 0, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 1, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_LOCATION == 1)
#elif (DT_SILABS_GECKO_USART_USART_0_LOCATION == 1)
#define PIN_USART0_TXD {gpioPortA, 1, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 2, gpioModeInput, 1}
#elif (DT_USART_GECKO_0_LOCATION == 2)
#elif (DT_SILABS_GECKO_USART_USART_0_LOCATION == 2)
#define PIN_USART0_TXD {gpioPortA, 2, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 3, gpioModeInput, 1}
#else
@ -32,15 +32,15 @@
#endif /* CONFIG_USART_GECKO_0 */
#ifdef CONFIG_USART_GECKO_1
#if (DT_USART_GECKO_1_LOCATION == 0)
#if (DT_SILABS_GECKO_USART_USART_1_LOCATION == 0)
#error ("Serial Driver for Gecko MCUs not implemented for this location index")
#elif (DT_USART_GECKO_1_LOCATION == 1)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 1)
#define PIN_USART1_TXD {gpioPortF, 10, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortF, 11, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_LOCATION == 2)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 2)
#define PIN_USART1_TXD {gpioPortB, 9, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortB, 10, gpioModeInput, 1}
#elif (DT_USART_GECKO_1_LOCATION == 3)
#elif (DT_SILABS_GECKO_USART_USART_1_LOCATION == 3)
#define PIN_USART1_TXD {gpioPortE, 2, gpioModePushPull, 1}
#define PIN_USART1_RXD {gpioPortE, 3, gpioModeInput, 1}
#else

View file

@ -11,54 +11,6 @@
#define DT_FLASH_DEV_BASE_ADDRESS DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME DT_SILABS_GECKO_FLASH_CONTROLLER_400E0000_LABEL
#define DT_USART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_USART_40010000_BASE_ADDRESS
#define DT_USART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_USART_40010000_CURRENT_SPEED
#define DT_USART_GECKO_0_IRQ_RX DT_SILABS_GECKO_USART_40010000_IRQ_0
#define DT_USART_GECKO_0_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_0_PRIORITY
#define DT_USART_GECKO_0_IRQ_TX DT_SILABS_GECKO_USART_40010000_IRQ_1
#define DT_USART_GECKO_0_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010000_IRQ_1_PRIORITY
#define DT_USART_GECKO_0_LABEL DT_SILABS_GECKO_USART_40010000_LABEL
#define DT_USART_GECKO_0_LOCATION DT_SILABS_GECKO_USART_40010000_LOCATION
#define DT_USART_GECKO_0_SIZE DT_SILABS_GECKO_USART_40010000_SIZE
#define DT_USART_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_USART_40010400_BASE_ADDRESS
#define DT_USART_GECKO_1_CURRENT_SPEED DT_SILABS_GECKO_USART_40010400_CURRENT_SPEED
#define DT_USART_GECKO_1_IRQ_RX DT_SILABS_GECKO_USART_40010400_IRQ_0
#define DT_USART_GECKO_1_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_0_PRIORITY
#define DT_USART_GECKO_1_IRQ_TX DT_SILABS_GECKO_USART_40010400_IRQ_1
#define DT_USART_GECKO_1_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010400_IRQ_1_PRIORITY
#define DT_USART_GECKO_1_LABEL DT_SILABS_GECKO_USART_40010400_LABEL
#define DT_USART_GECKO_1_LOCATION DT_SILABS_GECKO_USART_40010400_LOCATION
#define DT_USART_GECKO_1_SIZE DT_SILABS_GECKO_USART_40010400_SIZE
#define DT_USART_GECKO_2_BASE_ADDRESS DT_SILABS_GECKO_USART_40010800_BASE_ADDRESS
#define DT_USART_GECKO_2_CURRENT_SPEED DT_SILABS_GECKO_USART_40010800_CURRENT_SPEED
#define DT_USART_GECKO_2_IRQ_RX DT_SILABS_GECKO_USART_40010800_IRQ_0
#define DT_USART_GECKO_2_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010800_IRQ_0_PRIORITY
#define DT_USART_GECKO_2_IRQ_TX DT_SILABS_GECKO_USART_40010800_IRQ_1
#define DT_USART_GECKO_2_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010800_IRQ_1_PRIORITY
#define DT_USART_GECKO_2_LABEL DT_SILABS_GECKO_USART_40010800_LABEL
#define DT_USART_GECKO_2_LOCATION DT_SILABS_GECKO_USART_40010800_LOCATION
#define DT_USART_GECKO_2_SIZE DT_SILABS_GECKO_USART_40010800_SIZE
#define DT_USART_GECKO_3_BASE_ADDRESS DT_SILABS_GECKO_USART_40010C00_BASE_ADDRESS
#define DT_USART_GECKO_3_CURRENT_SPEED DT_SILABS_GECKO_USART_40010C00_CURRENT_SPEED
#define DT_USART_GECKO_3_IRQ_RX DT_SILABS_GECKO_USART_40010C00_IRQ_0
#define DT_USART_GECKO_3_IRQ_RX_PRIORITY DT_SILABS_GECKO_USART_40010C00_IRQ_0_PRIORITY
#define DT_USART_GECKO_3_IRQ_TX DT_SILABS_GECKO_USART_40010C00_IRQ_1
#define DT_USART_GECKO_3_IRQ_TX_PRIORITY DT_SILABS_GECKO_USART_40010C00_IRQ_1_PRIORITY
#define DT_USART_GECKO_3_LABEL DT_SILABS_GECKO_USART_40010C00_LABEL
#define DT_USART_GECKO_3_LOCATION DT_SILABS_GECKO_USART_40010C00_LOCATION
#define DT_USART_GECKO_3_SIZE DT_SILABS_GECKO_USART_40010C00_SIZE
#define DT_LEUART_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_LEUART_4004A000_BASE_ADDRESS
#define DT_LEUART_GECKO_0_CURRENT_SPEED DT_SILABS_GECKO_LEUART_4004A000_CURRENT_SPEED
#define DT_LEUART_GECKO_0_IRQ DT_SILABS_GECKO_LEUART_4004A000_IRQ_0
#define DT_LEUART_GECKO_0_IRQ_PRIORITY DT_SILABS_GECKO_LEUART_4004A000_IRQ_0_PRIORITY
#define DT_LEUART_GECKO_0_LABEL DT_SILABS_GECKO_LEUART_4004A000_LABEL
#define DT_LEUART_GECKO_0_LOCATION DT_SILABS_GECKO_LEUART_4004A000_LOCATION
#define DT_LEUART_GECKO_0_SIZE DT_SILABS_GECKO_LEUART_4004A000_SIZE
#define DT_GPIO_GECKO_COMMON_NAME DT_SILABS_EFR32MG_GPIO_4000A400_LABEL
#define DT_GPIO_GECKO_COMMON_EVEN_IRQ DT_SILABS_EFR32MG_GPIO_4000A400_IRQ_GPIO_EVEN
#define DT_GPIO_GECKO_COMMON_EVEN_PRI DT_SILABS_EFR32MG_GPIO_4000A400_IRQ_GPIO_EVEN_PRIORITY
@ -72,20 +24,4 @@
#define DT_GPIO_GECKO_PORTE_NAME DT_SILABS_EFR32MG_GPIO_PORT_4000A0C0_LABEL
#define DT_GPIO_GECKO_PORTF_NAME DT_SILABS_EFR32MG_GPIO_PORT_4000A0F0_LABEL
#define DT_I2C_GECKO_0_BASE_ADDRESS DT_SILABS_GECKO_I2C_4000C000_BASE_ADDRESS
#define DT_I2C_GECKO_0_CLOCK_FREQUENCY DT_SILABS_GECKO_I2C_4000C000_CLOCK_FREQUENCY
#define DT_I2C_GECKO_0_IRQ DT_SILABS_GECKO_I2C_4000C000_IRQ_0
#define DT_I2C_GECKO_0_IRQ_PRIORITY DT_SILABS_GECKO_I2C_4000C000_IRQ_0_PRIORITY
#define DT_I2C_GECKO_0_LABEL DT_SILABS_GECKO_I2C_4000C000_LABEL
#define DT_I2C_GECKO_0_LOCATION DT_SILABS_GECKO_I2C_4000C000_LOCATION
#define DT_I2C_GECKO_0_SIZE DT_SILABS_GECKO_I2C_4000C000_SIZE
#define DT_I2C_GECKO_1_BASE_ADDRESS DT_SILABS_GECKO_I2C_4000C400_BASE_ADDRESS
#define DT_I2C_GECKO_1_CLOCK_FREQUENCY DT_SILABS_GECKO_I2C_4000C400_CLOCK_FREQUENCY
#define DT_I2C_GECKO_1_IRQ DT_SILABS_GECKO_I2C_4000C400_IRQ_0
#define DT_I2C_GECKO_1_IRQ_PRIORITY DT_SILABS_GECKO_I2C_4000C400_IRQ_0_PRIORITY
#define DT_I2C_GECKO_1_LABEL DT_SILABS_GECKO_I2C_4000C400_LABEL
#define DT_I2C_GECKO_1_LOCATION DT_SILABS_GECKO_I2C_4000C400_LOCATION
#define DT_I2C_GECKO_1_SIZE DT_SILABS_GECKO_I2C_4000C400_SIZE
/* End of SoC Level DTS fixup file */

View file

@ -17,7 +17,7 @@
#ifdef CONFIG_UART_GECKO
#ifdef CONFIG_USART_GECKO_0
#if (DT_USART_GECKO_0_LOCATION == 0)
#if (DT_SILABS_GECKO_USART_USART_0_LOCATION == 0)
#define PIN_USART0_TXD {gpioPortA, 0, gpioModePushPull, 1}
#define PIN_USART0_RXD {gpioPortA, 1, gpioModeInput, 0}
#else
@ -28,7 +28,7 @@
#ifdef CONFIG_LEUART_GECKO
#ifdef CONFIG_LEUART_GECKO_0
#if (DT_LEUART_GECKO_0_LOCATION == 27)
#if (DT_SILABS_GECKO_LEUART_LEUART_0_LOCATION == 27)
#define PIN_LEUART0_TXD {gpioPortF, 3, gpioModePushPull, 1}
#define PIN_LEUART0_RXD {gpioPortF, 4, gpioModeInput, 1}
#else
@ -39,7 +39,7 @@
#ifdef CONFIG_I2C_GECKO
#ifdef CONFIG_I2C_0
#if (DT_I2C_GECKO_0_LOCATION == 15)
#if (DT_SILABS_GECKO_I2C_I2C_0_LOCATION == 15)
#define PIN_I2C0_SDA {gpioPortC, 10, gpioModeWiredAnd, 1}
#define PIN_I2C0_SCL {gpioPortC, 11, gpioModeWiredAnd, 1}
#else
@ -48,7 +48,7 @@
#endif /* CONFIG_I2C_0 */
#ifdef CONFIG_I2C_1
#if (DT_I2C_GECKO_1_LOCATION == 17)
#if (DT_SILABS_GECKO_I2C_I2C_1_LOCATION == 17)
#define PIN_I2C1_SDA {gpioPortC, 4, gpioModeWiredAnd, 1}
#define PIN_I2C1_SCL {gpioPortC, 5, gpioModeWiredAnd, 1}
#else