CPU specific definitions for internal peripheral handling. More...
CPU specific definitions for internal peripheral handling.
Definition in file periph_cpu.h.
#include <stdbool.h>
#include "periph_cpu_common.h"
Go to the source code of this file.
Data Structures | |
struct | msp430_usci_params_t |
MSP430 F2xx/G2xx USCI configuration. More... | |
struct | msp430_usci_prescaler_t |
MSP430 F2xx/G2xx USCI prescaler configuration. More... | |
struct | msp430_usci_conf_t |
MSP430 F2xx/G2xx USCI configuration registers. More... | |
struct | msp430_usci_uart_params_t |
MSP430 F2xx/G2xx UART configuration, CPU level. More... | |
struct | uart_conf_t |
UART device configuration. More... | |
struct | msp430_usci_spi_params_t |
MSP430 F2xx/G2xx SPI configuration, CPU level. More... | |
struct | spi_conf_t |
SPI device configuration. More... | |
Enumerations | |
enum | msp430_usci_id_t { MSP430_USCI_ID_NUMOF } |
Identifiers for USCI instances. More... | |
enum | msp430_usci_clk_t { USCI_CLK_UCLKI = UCSSEL_UCLKI , USCI_CLK_AUX = UCSSEL_ACLK , USCI_CLK_SUBMAIN = UCSSEL_SMCLK } |
MSP430 F2xx/G2xx USCI clock source. More... | |
Functions | |
void | msp430_usci_acquire (const msp430_usci_params_t *params, const msp430_usci_conf_t *conf) |
Acquire and initialize USCI for use a SPI/UART peripheral. | |
void | msp430_usci_release (const msp430_usci_params_t *params) |
Release an USCI, so that it can be used to provide other peripherals. | |
msp430_usci_prescaler_t | msp430_usci_prescale (uint32_t target_hz) |
Calculate prescaler settings for the given target frequency. | |
Variables | |
msp430_port_p7_p8_t | PORT_7 |
Register map of GPIO PORT 7. | |
msp430_port_p7_p8_t | PORT_8 |
Register map of GPIO PORT 8. | |
const msp430_usci_uart_params_t | usci_a0_as_uart |
MSP430 F2xx/G2xx USCI A0 in UART configuration. | |
const msp430_usci_uart_params_t | usci_a1_as_uart |
MSP430 F2xx/G2xx USCI A1 in UART configuration. | |
const msp430_usci_spi_params_t | usci_a0_as_spi |
MSP430 F2xx/G2xx USCI A0 in SPI configuration. | |
const msp430_usci_spi_params_t | usci_a1_as_spi |
MSP430 F2xx/G2xx USCI A1 in SPI configuration. | |
const msp430_usci_spi_params_t | usci_b0_as_spi |
MSP430 F2xx/G2xx USCI B0 in SPI configuration. | |
const msp430_usci_spi_params_t | usci_b1_as_spi |
MSP430 F2xx/G2xx USCI B1 in SPI configuration. | |
Override SPI mode selection values | |
#define | HAVE_SPI_MODE_T |
MSP430 F2xx/G2xx has a custom spi_mode_t. | |
enum | spi_mode_t { SPI_MODE_0 = (UCCKPH) , SPI_MODE_1 = 0 , SPI_MODE_2 = (UCCKPL | UCCKPH) , SPI_MODE_3 = (UCCKPL) } |
Support SPI modes. More... | |
Override SPI clock speed selection values | |
#define | HAVE_SPI_CLK_T |
MSP430 F2xx/G2xx has a custom spi_clock_t. | |
enum | spi_clk_t { SPI_CLK_100KHZ = 100000 , SPI_CLK_400KHZ = 400000 , SPI_CLK_1MHZ = 1000000 , SPI_CLK_5MHZ = 5000000 , SPI_CLK_10MHZ = SPI_CLK_5MHZ } |
Support SPI clock frequencies. More... | |
declare needed generic SPI functions | |
#define | PERIPH_SPI_NEEDS_INIT_CS |
use shared spi_init_cs() | |
#define | PERIPH_SPI_NEEDS_TRANSFER_BYTE |
use shared spi_transfer_byte() | |
#define | PERIPH_SPI_NEEDS_TRANSFER_REG |
use shared spi_transfer_reg() | |
#define | PERIPH_SPI_NEEDS_TRANSFER_REGS |
use shared spi_transfer_regs() | |
#define HAVE_SPI_CLK_T |
MSP430 F2xx/G2xx has a custom spi_clock_t.
Definition at line 55 of file periph_cpu.h.
#define HAVE_SPI_MODE_T |
MSP430 F2xx/G2xx has a custom spi_mode_t.
Definition at line 34 of file periph_cpu.h.
#define PERIPH_SPI_NEEDS_INIT_CS |
use shared spi_init_cs()
Definition at line 72 of file periph_cpu.h.
#define PERIPH_SPI_NEEDS_TRANSFER_BYTE |
use shared spi_transfer_byte()
Definition at line 73 of file periph_cpu.h.
#define PERIPH_SPI_NEEDS_TRANSFER_REG |
use shared spi_transfer_reg()
Definition at line 74 of file periph_cpu.h.
#define PERIPH_SPI_NEEDS_TRANSFER_REGS |
use shared spi_transfer_regs()
Definition at line 75 of file periph_cpu.h.
enum msp430_usci_clk_t |
MSP430 F2xx/G2xx USCI clock source.
Enumerator | |
---|---|
USCI_CLK_UCLKI | UCLKI clock source (not supported yet) |
USCI_CLK_AUX | auxiliary clock source |
USCI_CLK_SUBMAIN | sub-system master clock source |
Definition at line 113 of file periph_cpu.h.
enum msp430_usci_id_t |
Identifiers for USCI instances.
This assigns the four USCI instances (A0, B0, A1, B1) numbers from 0 to 3.
Enumerator | |
---|---|
MSP430_USCI_ID_NUMOF | Number of USCI IDs (also: number of USCI instances) |
Definition at line 83 of file periph_cpu.h.
enum spi_clk_t |
Support SPI clock frequencies.
Enumerator | |
---|---|
SPI_CLK_100KHZ | 100 kHz |
SPI_CLK_400KHZ | 400 kHz |
SPI_CLK_1MHZ | 1 MHz |
SPI_CLK_5MHZ | 5 MHz |
SPI_CLK_10MHZ | 10 MHz not supported, falling back to 5 MHz |
Definition at line 59 of file periph_cpu.h.
enum spi_mode_t |
Support SPI modes.
Field | Name | Description |
---|---|---|
UCCKPH | Clock phase select | 0 = capture on second edge, 1 = capture on first |
UCCKPL | Clock polarity select | 0 = clock is idle-low, 1 = clock is high idle-high |
Enumerator | |
---|---|
SPI_MODE_0 | CPOL=0, CPHA=0. |
SPI_MODE_1 | CPOL=0, CPHA=1. |
SPI_MODE_2 | CPOL=1, CPHA=0. |
SPI_MODE_3 | CPOL=1, CPHA=1. |
Definition at line 43 of file periph_cpu.h.
void msp430_usci_acquire | ( | const msp430_usci_params_t * | params, |
const msp430_usci_conf_t * | conf | ||
) |
Acquire and initialize USCI for use a SPI/UART peripheral.
params | Parameter identifying the USCI to use |
conf | Configuration to initialize the USCI with |
conf
. However, it will still be held in software reset and all interrupts will be masked and all interrupt flags be cleared. As currently only for UART USCI IRQs are actually needed, the ISR is implemented in the UART driver. If the SPI or I2C driver would start to make use of IRQs (other than polling for the IRQ flag to be set), the ISRs would need to be moved to the USCI driver and call into the UART/SPI/I2C driver, depending on what driver has currently acquired the USCI.
msp430_usci_prescaler_t msp430_usci_prescale | ( | uint32_t | target_hz | ) |
Calculate prescaler settings for the given target frequency.
target_hz | The clock frequency (in Hz) to generated with the prescaler |
void msp430_usci_release | ( | const msp430_usci_params_t * | params | ) |
Release an USCI, so that it can be used to provide other peripherals.
This will also put the USCI in low power mode.