periph_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Freie Universität Berlin
3  * Copyright (C) 2017 HAW Hamburg
4  * 2020 Oppila Microsystems - http://www.oppila.in
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser General
7  * Public License v2.1. See the file LICENSE in the top level directory for more
8  * details.
9  */
10 
20 #ifndef PERIPH_CONF_H
21 #define PERIPH_CONF_H
22 
23 #include "cc2538_gpio.h"
24 #include "periph_cpu.h"
25 
26 #include "cfg_clk_default.h"
27 #include "cfg_timer_default.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
37 #define SOC_ADC_ADCCON3_EREF SOC_ADC_ADCCON3_EREF_AVDD5
38 
39 static const adc_conf_t adc_config[] = {
40  GPIO_PIN(PORT_A, 5),
41  GPIO_PIN(PORT_A, 4),
42  GPIO_PIN(PORT_A, 2),
43  GPIO_PIN(PORT_A, 6),
44  GPIO_PIN(PORT_A, 7),
45 };
46 
47 #define ADC_NUMOF ARRAY_SIZE(adc_config)
48 
53 #define I2C_IRQ_PRIO 1
54 
55 static const i2c_conf_t i2c_config[] = {
56  {
58  .scl_pin = GPIO_PIN(PORT_C, 3),
59  .sda_pin = GPIO_PIN(PORT_C, 2)
60  },
61 };
62 
63 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
64 
69 static const spi_conf_t spi_config[] = {
70  {
71  .num = 0,
72  .mosi_pin = GPIO_PIN(PORT_C, 5),
73  .miso_pin = GPIO_PIN(PORT_C, 6),
74  .sck_pin = GPIO_PIN(PORT_C, 4),
75  .cs_pin = GPIO_PIN(PORT_A, 7)
76  }
77 };
78 
79 #define SPI_NUMOF ARRAY_SIZE(spi_config)
80 
85 static const uart_conf_t uart_config[] = {
86  /* UART0 is mapped to debug usb */
87  {
89  .rx_pin = GPIO_PIN(PORT_A, 0),
90  .tx_pin = GPIO_PIN(PORT_A, 1),
91 #ifdef MODULE_PERIPH_UART_HW_FC
92  .cts_pin = GPIO_UNDEF,
93  .rts_pin = GPIO_UNDEF
94 #endif
95  },
96  {
97  .dev = UART1_BASEADDR,
98  .rx_pin = GPIO_PIN(PORT_C, 1),
99  .tx_pin = GPIO_PIN(PORT_C, 0),
100 #ifdef MODULE_PERIPH_UART_HW_FC
101  .cts_pin = GPIO_UNDEF,
102  .rts_pin = GPIO_UNDEF
103 #endif
104  }
105 };
106 /* interrupt function name mapping */
107 #define UART_0_ISR isr_uart0
108 #define UART_1_ISR isr_uart1
109 
110 /* macros common across all UARTs */
111 #define UART_NUMOF ARRAY_SIZE(uart_config)
112 
114 #ifdef __cplusplus
115 } /* end extern "C" */
116 #endif
117 
118 #endif /* PERIPH_CONF_H */
119 
PORT_C
@ PORT_C
port C
Definition: periph_cpu.h:38
cc2538_gpio.h
Driver for the cc2538 GPIO controller.
PORT_A
@ PORT_A
port A
Definition: periph_cpu.h:36
UART0_BASEADDR
#define UART0_BASEADDR
UART0 Instance.
Definition: cc2538_uart.h:183
GPIO_UNDEF
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
Definition: periph_cpu_common.h:52
uart_conf_t
UART device configuration.
Definition: periph_cpu.h:166
spi_conf_t::num
uint8_t num
number of SSI device, i.e.
Definition: periph_cpu.h:274
uart_conf_t::dev
cc2538_uart_t * dev
pointer to the used UART device
Definition: periph_cpu.h:167
UART1_BASEADDR
#define UART1_BASEADDR
UART1 Instance.
Definition: cc2538_uart.h:184
adc_conf_t
ADC device configuration.
Definition: periph_cpu.h:74
GPIO_PIN
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition: periph_cpu.h:35
i2c_conf_t::speed
i2c_speed_t speed
baudrate used for the bus
Definition: periph_cpu.h:129
cfg_clk_default.h
Default clock configuration for cc2538 based boards.
i2c_conf_t
I2C configuration options.
Definition: periph_cpu.h:128
I2C_SPEED_FAST
@ I2C_SPEED_FAST
fast mode: ~400 kbit/s
Definition: i2c.h:178
spi_conf_t
SPI configuration structure type.
Definition: periph_cpu.h:273