ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_sci_spi.h
Go to the documentation of this file.
1
31
32#pragma once
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#include <stdint.h>
39
40#include "ra8_err.h"
41#include "ra8_spi.h"
42
49typedef struct {
50 uint32_t baud_hz;
51 uint32_t pclk_hz;
53 bool lsb_first;
55
73[[nodiscard]] ra8_err_t ra8_sci_spi_init(uint8_t channel, const ra8_sci_spi_cfg_t* cfg);
74
85[[nodiscard]] ra8_err_t ra8_sci_spi_deinit(uint8_t channel);
86
99[[nodiscard]] ra8_err_t ra8_sci_spi_set_clock(uint8_t channel, uint32_t baud_hz, uint32_t pclk_hz);
100
114[[nodiscard]] ra8_err_t ra8_sci_spi_xfer8(uint8_t channel, uint8_t tx, uint8_t* rx);
115
134[[nodiscard]] ra8_err_t
135ra8_sci_spi_xfer(uint8_t channel, const uint8_t* tx, uint8_t* rx, uint32_t len);
136
137#ifdef __cplusplus
138}
139#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_err_t ra8_sci_spi_set_clock(uint8_t channel, uint32_t baud_hz, uint32_t pclk_hz)
Re-program the bit-rate without otherwise reconfiguring.
ra8_err_t ra8_sci_spi_xfer(uint8_t channel, const uint8_t *tx, uint8_t *rx, uint32_t len)
Full-duplex multi-byte transfer.
ra8_err_t ra8_sci_spi_init(uint8_t channel, const ra8_sci_spi_cfg_t *cfg)
Bring an SCI channel up as a Simple-SPI controller.
ra8_err_t ra8_sci_spi_deinit(uint8_t channel)
Disable the channel and release its MSTP gate.
ra8_err_t ra8_sci_spi_xfer8(uint8_t channel, uint8_t tx, uint8_t *rx)
Full-duplex single-frame transfer.
SPI_B controller driver (RA8D2 Type-B SPI peripheral).
ra8_spi_mode_t
CPOL / CPHA combinations.
Definition ra8_spi.h:61
Configuration descriptor for ra8_sci_spi_init.
Definition ra8_sci_spi.h:49
ra8_spi_mode_t mode
Clock polarity/phase (mode 0..3).
Definition ra8_sci_spi.h:52
uint32_t baud_hz
Desired SCK bit-rate (Hz).
Definition ra8_sci_spi.h:50
uint32_t pclk_hz
SCI baud-clock source (PCLKA, Hz).
Definition ra8_sci_spi.h:51
bool lsb_first
true shifts LSB first.
Definition ra8_sci_spi.h:53