2024-05-30 18:32:23 +02:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2023 - 2024 MINRES Technologies GmbH
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*
|
2024-12-09 12:09:22 +01:00
|
|
|
* Generated at 2024-12-06 09:43:24 UTC
|
2024-09-10 15:46:32 +02:00
|
|
|
* by peakrdl_mnrs version 1.2.9
|
2024-05-30 18:32:23 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _BSP_APB3SPI_H
|
|
|
|
#define _BSP_APB3SPI_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
2024-08-11 17:29:43 +02:00
|
|
|
typedef struct {
|
2024-05-30 18:32:23 +02:00
|
|
|
volatile uint32_t DATA;
|
|
|
|
volatile uint32_t STATUS;
|
|
|
|
volatile uint32_t CONFIG;
|
|
|
|
volatile uint32_t INTR;
|
2024-09-10 15:46:32 +02:00
|
|
|
uint8_t fill0[16];
|
2024-05-30 18:32:23 +02:00
|
|
|
volatile uint32_t SCLK_CONFIG;
|
|
|
|
volatile uint32_t SSGEN_SETUP;
|
|
|
|
volatile uint32_t SSGEN_HOLD;
|
|
|
|
volatile uint32_t SSGEN_DISABLE;
|
|
|
|
volatile uint32_t SSGEN_ACTIVE_HIGH;
|
2024-09-10 15:46:32 +02:00
|
|
|
uint8_t fill1[12];
|
2024-05-30 18:32:23 +02:00
|
|
|
volatile uint32_t XIP_ENABLE;
|
|
|
|
volatile uint32_t XIP_CONFIG;
|
|
|
|
volatile uint32_t XIP_MODE;
|
2024-09-10 15:46:32 +02:00
|
|
|
uint8_t fill2[4];
|
2024-05-30 18:32:23 +02:00
|
|
|
volatile uint32_t XIP_WRITE;
|
|
|
|
volatile uint32_t XIP_READ_WRITE;
|
|
|
|
volatile uint32_t XIP_READ;
|
|
|
|
}apb3spi_t;
|
|
|
|
|
|
|
|
#define APB3SPI_DATA_DATA_OFFS 0
|
|
|
|
#define APB3SPI_DATA_DATA_MASK 0xff
|
|
|
|
#define APB3SPI_DATA_DATA(V) ((V & APB3SPI_DATA_DATA_MASK) << APB3SPI_DATA_DATA_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_DATA_WRITE_OFFS 8
|
|
|
|
#define APB3SPI_DATA_WRITE_MASK 0x1
|
|
|
|
#define APB3SPI_DATA_WRITE(V) ((V & APB3SPI_DATA_WRITE_MASK) << APB3SPI_DATA_WRITE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_DATA_READ_OFFS 9
|
|
|
|
#define APB3SPI_DATA_READ_MASK 0x1
|
|
|
|
#define APB3SPI_DATA_READ(V) ((V & APB3SPI_DATA_READ_MASK) << APB3SPI_DATA_READ_OFFS)
|
|
|
|
|
2024-12-09 12:09:22 +01:00
|
|
|
#define APB3SPI_DATA_SSGEN_OFFS 11
|
|
|
|
#define APB3SPI_DATA_SSGEN_MASK 0x1
|
|
|
|
#define APB3SPI_DATA_SSGEN(V) ((V & APB3SPI_DATA_SSGEN_MASK) << APB3SPI_DATA_SSGEN_OFFS)
|
2024-05-30 18:32:23 +02:00
|
|
|
|
|
|
|
#define APB3SPI_DATA_RX_DATA_INVALID_OFFS 31
|
|
|
|
#define APB3SPI_DATA_RX_DATA_INVALID_MASK 0x1
|
|
|
|
#define APB3SPI_DATA_RX_DATA_INVALID(V) ((V & APB3SPI_DATA_RX_DATA_INVALID_MASK) << APB3SPI_DATA_RX_DATA_INVALID_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_STATUS_TX_FREE_OFFS 0
|
|
|
|
#define APB3SPI_STATUS_TX_FREE_MASK 0x3f
|
|
|
|
#define APB3SPI_STATUS_TX_FREE(V) ((V & APB3SPI_STATUS_TX_FREE_MASK) << APB3SPI_STATUS_TX_FREE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_STATUS_RX_AVAIL_OFFS 16
|
|
|
|
#define APB3SPI_STATUS_RX_AVAIL_MASK 0x3f
|
|
|
|
#define APB3SPI_STATUS_RX_AVAIL(V) ((V & APB3SPI_STATUS_RX_AVAIL_MASK) << APB3SPI_STATUS_RX_AVAIL_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_CONFIG_KIND_OFFS 0
|
|
|
|
#define APB3SPI_CONFIG_KIND_MASK 0x3
|
|
|
|
#define APB3SPI_CONFIG_KIND(V) ((V & APB3SPI_CONFIG_KIND_MASK) << APB3SPI_CONFIG_KIND_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_CONFIG_MODE_OFFS 4
|
|
|
|
#define APB3SPI_CONFIG_MODE_MASK 0x3
|
|
|
|
#define APB3SPI_CONFIG_MODE(V) ((V & APB3SPI_CONFIG_MODE_MASK) << APB3SPI_CONFIG_MODE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_INTR_TX_IE_OFFS 0
|
|
|
|
#define APB3SPI_INTR_TX_IE_MASK 0x1
|
|
|
|
#define APB3SPI_INTR_TX_IE(V) ((V & APB3SPI_INTR_TX_IE_MASK) << APB3SPI_INTR_TX_IE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_INTR_RX_IE_OFFS 1
|
|
|
|
#define APB3SPI_INTR_RX_IE_MASK 0x1
|
|
|
|
#define APB3SPI_INTR_RX_IE(V) ((V & APB3SPI_INTR_RX_IE_MASK) << APB3SPI_INTR_RX_IE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_INTR_TX_IP_OFFS 8
|
|
|
|
#define APB3SPI_INTR_TX_IP_MASK 0x1
|
|
|
|
#define APB3SPI_INTR_TX_IP(V) ((V & APB3SPI_INTR_TX_IP_MASK) << APB3SPI_INTR_TX_IP_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_INTR_RX_IP_OFFS 9
|
|
|
|
#define APB3SPI_INTR_RX_IP_MASK 0x1
|
|
|
|
#define APB3SPI_INTR_RX_IP(V) ((V & APB3SPI_INTR_RX_IP_MASK) << APB3SPI_INTR_RX_IP_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_INTR_TX_ACTIVE_OFFS 16
|
|
|
|
#define APB3SPI_INTR_TX_ACTIVE_MASK 0x1
|
|
|
|
#define APB3SPI_INTR_TX_ACTIVE(V) ((V & APB3SPI_INTR_TX_ACTIVE_MASK) << APB3SPI_INTR_TX_ACTIVE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_SCLK_CONFIG_OFFS 0
|
|
|
|
#define APB3SPI_SCLK_CONFIG_MASK 0xfff
|
|
|
|
#define APB3SPI_SCLK_CONFIG(V) ((V & APB3SPI_SCLK_CONFIG_MASK) << APB3SPI_SCLK_CONFIG_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_SSGEN_SETUP_OFFS 0
|
|
|
|
#define APB3SPI_SSGEN_SETUP_MASK 0xfff
|
|
|
|
#define APB3SPI_SSGEN_SETUP(V) ((V & APB3SPI_SSGEN_SETUP_MASK) << APB3SPI_SSGEN_SETUP_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_SSGEN_HOLD_OFFS 0
|
|
|
|
#define APB3SPI_SSGEN_HOLD_MASK 0xfff
|
|
|
|
#define APB3SPI_SSGEN_HOLD(V) ((V & APB3SPI_SSGEN_HOLD_MASK) << APB3SPI_SSGEN_HOLD_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_SSGEN_DISABLE_OFFS 0
|
|
|
|
#define APB3SPI_SSGEN_DISABLE_MASK 0xfff
|
|
|
|
#define APB3SPI_SSGEN_DISABLE(V) ((V & APB3SPI_SSGEN_DISABLE_MASK) << APB3SPI_SSGEN_DISABLE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_SSGEN_ACTIVE_HIGH_OFFS 0
|
|
|
|
#define APB3SPI_SSGEN_ACTIVE_HIGH_MASK 0x1
|
|
|
|
#define APB3SPI_SSGEN_ACTIVE_HIGH(V) ((V & APB3SPI_SSGEN_ACTIVE_HIGH_MASK) << APB3SPI_SSGEN_ACTIVE_HIGH_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_ENABLE_OFFS 0
|
|
|
|
#define APB3SPI_XIP_ENABLE_MASK 0x1
|
|
|
|
#define APB3SPI_XIP_ENABLE(V) ((V & APB3SPI_XIP_ENABLE_MASK) << APB3SPI_XIP_ENABLE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_CONFIG_INSTRUCTION_OFFS 0
|
|
|
|
#define APB3SPI_XIP_CONFIG_INSTRUCTION_MASK 0xff
|
|
|
|
#define APB3SPI_XIP_CONFIG_INSTRUCTION(V) ((V & APB3SPI_XIP_CONFIG_INSTRUCTION_MASK) << APB3SPI_XIP_CONFIG_INSTRUCTION_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_CONFIG_ENABLE_OFFS 8
|
|
|
|
#define APB3SPI_XIP_CONFIG_ENABLE_MASK 0x1
|
|
|
|
#define APB3SPI_XIP_CONFIG_ENABLE(V) ((V & APB3SPI_XIP_CONFIG_ENABLE_MASK) << APB3SPI_XIP_CONFIG_ENABLE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_VALUE_OFFS 16
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_VALUE_MASK 0xff
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_VALUE(V) ((V & APB3SPI_XIP_CONFIG_DUMMY_VALUE_MASK) << APB3SPI_XIP_CONFIG_DUMMY_VALUE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_COUNT_OFFS 24
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_COUNT_MASK 0xf
|
|
|
|
#define APB3SPI_XIP_CONFIG_DUMMY_COUNT(V) ((V & APB3SPI_XIP_CONFIG_DUMMY_COUNT_MASK) << APB3SPI_XIP_CONFIG_DUMMY_COUNT_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_MODE_INSTRUCTION_OFFS 0
|
|
|
|
#define APB3SPI_XIP_MODE_INSTRUCTION_MASK 0x3
|
|
|
|
#define APB3SPI_XIP_MODE_INSTRUCTION(V) ((V & APB3SPI_XIP_MODE_INSTRUCTION_MASK) << APB3SPI_XIP_MODE_INSTRUCTION_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_MODE_ADDRESS_OFFS 8
|
|
|
|
#define APB3SPI_XIP_MODE_ADDRESS_MASK 0x3
|
|
|
|
#define APB3SPI_XIP_MODE_ADDRESS(V) ((V & APB3SPI_XIP_MODE_ADDRESS_MASK) << APB3SPI_XIP_MODE_ADDRESS_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_MODE_DUMMY_OFFS 16
|
|
|
|
#define APB3SPI_XIP_MODE_DUMMY_MASK 0x3
|
|
|
|
#define APB3SPI_XIP_MODE_DUMMY(V) ((V & APB3SPI_XIP_MODE_DUMMY_MASK) << APB3SPI_XIP_MODE_DUMMY_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_MODE_PAYLOAD_OFFS 24
|
|
|
|
#define APB3SPI_XIP_MODE_PAYLOAD_MASK 0x3
|
|
|
|
#define APB3SPI_XIP_MODE_PAYLOAD(V) ((V & APB3SPI_XIP_MODE_PAYLOAD_MASK) << APB3SPI_XIP_MODE_PAYLOAD_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_WRITE_OFFS 0
|
|
|
|
#define APB3SPI_XIP_WRITE_MASK 0xff
|
|
|
|
#define APB3SPI_XIP_WRITE(V) ((V & APB3SPI_XIP_WRITE_MASK) << APB3SPI_XIP_WRITE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_READ_WRITE_OFFS 0
|
|
|
|
#define APB3SPI_XIP_READ_WRITE_MASK 0xff
|
|
|
|
#define APB3SPI_XIP_READ_WRITE(V) ((V & APB3SPI_XIP_READ_WRITE_MASK) << APB3SPI_XIP_READ_WRITE_OFFS)
|
|
|
|
|
|
|
|
#define APB3SPI_XIP_READ_OFFS 0
|
|
|
|
#define APB3SPI_XIP_READ_MASK 0xff
|
|
|
|
#define APB3SPI_XIP_READ(V) ((V & APB3SPI_XIP_READ_MASK) << APB3SPI_XIP_READ_OFFS)
|
|
|
|
|
|
|
|
//APB3SPI_DATA
|
|
|
|
inline uint32_t get_apb3spi_data(volatile apb3spi_t* reg){
|
|
|
|
return reg->DATA;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_data(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->DATA = value;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_data_data(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->DATA = (reg->DATA & ~(0xffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_data_write(volatile apb3spi_t* reg){
|
|
|
|
return (reg->DATA >> 8) & 0x1;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_data_write(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->DATA = (reg->DATA & ~(0x1U << 8)) | (value << 8);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_data_read(volatile apb3spi_t* reg){
|
|
|
|
return (reg->DATA >> 9) & 0x1;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_data_read(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->DATA = (reg->DATA & ~(0x1U << 9)) | (value << 9);
|
|
|
|
}
|
2024-12-09 12:09:22 +01:00
|
|
|
inline uint32_t get_apb3spi_data_ssgen(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->DATA >> 11) & 0x1;
|
|
|
|
}
|
2024-12-09 12:09:22 +01:00
|
|
|
inline void set_apb3spi_data_ssgen(volatile apb3spi_t* reg, uint8_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->DATA = (reg->DATA & ~(0x1U << 11)) | (value << 11);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_data_rx_data_invalid(volatile apb3spi_t* reg){
|
|
|
|
return (reg->DATA >> 31) & 0x1;
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_STATUS
|
|
|
|
inline uint32_t get_apb3spi_status(volatile apb3spi_t* reg){
|
|
|
|
return reg->STATUS;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_status_tx_free(volatile apb3spi_t* reg){
|
|
|
|
return (reg->STATUS >> 0) & 0x3f;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_status_rx_avail(volatile apb3spi_t* reg){
|
|
|
|
return (reg->STATUS >> 16) & 0x3f;
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_CONFIG
|
|
|
|
inline uint32_t get_apb3spi_config(volatile apb3spi_t* reg){
|
|
|
|
return reg->CONFIG;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_config(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->CONFIG = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_config_kind(volatile apb3spi_t* reg){
|
|
|
|
return (reg->CONFIG >> 0) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_config_kind(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->CONFIG = (reg->CONFIG & ~(0x3U << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_config_mode(volatile apb3spi_t* reg){
|
|
|
|
return (reg->CONFIG >> 4) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_config_mode(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->CONFIG = (reg->CONFIG & ~(0x3U << 4)) | (value << 4);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_INTR
|
|
|
|
inline uint32_t get_apb3spi_intr(volatile apb3spi_t* reg){
|
|
|
|
return reg->INTR;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_intr(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->INTR = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_intr_tx_ie(volatile apb3spi_t* reg){
|
|
|
|
return (reg->INTR >> 0) & 0x1;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_intr_tx_ie(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->INTR = (reg->INTR & ~(0x1U << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_intr_rx_ie(volatile apb3spi_t* reg){
|
|
|
|
return (reg->INTR >> 1) & 0x1;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_intr_rx_ie(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->INTR = (reg->INTR & ~(0x1U << 1)) | (value << 1);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_intr_tx_ip(volatile apb3spi_t* reg){
|
|
|
|
return (reg->INTR >> 8) & 0x1;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_intr_rx_ip(volatile apb3spi_t* reg){
|
|
|
|
return (reg->INTR >> 9) & 0x1;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_intr_tx_active(volatile apb3spi_t* reg){
|
|
|
|
return (reg->INTR >> 16) & 0x1;
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_SCLK_CONFIG
|
|
|
|
inline uint32_t get_apb3spi_sclk_config(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->SCLK_CONFIG;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_sclk_config(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->SCLK_CONFIG = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_sclk_config_clk_divider(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->SCLK_CONFIG >> 0) & 0xfff;
|
|
|
|
}
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_sclk_config_clk_divider(volatile apb3spi_t* reg, uint16_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->SCLK_CONFIG = (reg->SCLK_CONFIG & ~(0xfffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_SSGEN_SETUP
|
|
|
|
inline uint32_t get_apb3spi_ssgen_setup(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->SSGEN_SETUP;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_ssgen_setup(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->SSGEN_SETUP = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_ssgen_setup_setup_cycles(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->SSGEN_SETUP >> 0) & 0xfff;
|
|
|
|
}
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_ssgen_setup_setup_cycles(volatile apb3spi_t* reg, uint16_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->SSGEN_SETUP = (reg->SSGEN_SETUP & ~(0xfffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_SSGEN_HOLD
|
|
|
|
inline uint32_t get_apb3spi_ssgen_hold(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->SSGEN_HOLD;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_ssgen_hold(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->SSGEN_HOLD = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_ssgen_hold_hold_cycles(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->SSGEN_HOLD >> 0) & 0xfff;
|
|
|
|
}
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_ssgen_hold_hold_cycles(volatile apb3spi_t* reg, uint16_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->SSGEN_HOLD = (reg->SSGEN_HOLD & ~(0xfffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_SSGEN_DISABLE
|
|
|
|
inline uint32_t get_apb3spi_ssgen_disable(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->SSGEN_DISABLE;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_ssgen_disable(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->SSGEN_DISABLE = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_ssgen_disable_disable_cycles(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->SSGEN_DISABLE >> 0) & 0xfff;
|
|
|
|
}
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_ssgen_disable_disable_cycles(volatile apb3spi_t* reg, uint16_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->SSGEN_DISABLE = (reg->SSGEN_DISABLE & ~(0xfffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_SSGEN_ACTIVE_HIGH
|
|
|
|
inline uint32_t get_apb3spi_ssgen_active_high(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->SSGEN_ACTIVE_HIGH;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_ssgen_active_high(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->SSGEN_ACTIVE_HIGH = value;
|
|
|
|
}
|
2024-09-10 15:46:32 +02:00
|
|
|
inline uint32_t get_apb3spi_ssgen_active_high_spi_cs_active_high(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->SSGEN_ACTIVE_HIGH >> 0) & 0x1;
|
|
|
|
}
|
2024-09-10 15:46:32 +02:00
|
|
|
inline void set_apb3spi_ssgen_active_high_spi_cs_active_high(volatile apb3spi_t* reg, uint8_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->SSGEN_ACTIVE_HIGH = (reg->SSGEN_ACTIVE_HIGH & ~(0x1U << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_ENABLE
|
|
|
|
inline uint32_t get_apb3spi_xip_enable(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->XIP_ENABLE;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_enable(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->XIP_ENABLE = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_enable_enable(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->XIP_ENABLE >> 0) & 0x1;
|
|
|
|
}
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_xip_enable_enable(volatile apb3spi_t* reg, uint8_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->XIP_ENABLE = (reg->XIP_ENABLE & ~(0x1U << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_CONFIG
|
|
|
|
inline uint32_t get_apb3spi_xip_config(volatile apb3spi_t* reg){
|
|
|
|
return reg->XIP_CONFIG;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_config(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->XIP_CONFIG = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_config_instruction(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_CONFIG >> 0) & 0xff;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_config_instruction(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_config_enable(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_CONFIG >> 8) & 0x1;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_config_enable(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0x1U << 8)) | (value << 8);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_config_dummy_value(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_CONFIG >> 16) & 0xff;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_config_dummy_value(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xffU << 16)) | (value << 16);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_config_dummy_count(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_CONFIG >> 24) & 0xf;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_config_dummy_count(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xfU << 24)) | (value << 24);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_MODE
|
|
|
|
inline uint32_t get_apb3spi_xip_mode(volatile apb3spi_t* reg){
|
|
|
|
return reg->XIP_MODE;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_mode(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->XIP_MODE = value;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_mode_instruction(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_MODE >> 0) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_mode_instruction(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_MODE = (reg->XIP_MODE & ~(0x3U << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_mode_address(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_MODE >> 8) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_mode_address(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_MODE = (reg->XIP_MODE & ~(0x3U << 8)) | (value << 8);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_mode_dummy(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_MODE >> 16) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_mode_dummy(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_MODE = (reg->XIP_MODE & ~(0x3U << 16)) | (value << 16);
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_mode_payload(volatile apb3spi_t* reg){
|
|
|
|
return (reg->XIP_MODE >> 24) & 0x3;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_mode_payload(volatile apb3spi_t* reg, uint8_t value){
|
|
|
|
reg->XIP_MODE = (reg->XIP_MODE & ~(0x3U << 24)) | (value << 24);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_WRITE
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_xip_write(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->XIP_WRITE = value;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_write_data(volatile apb3spi_t* reg, uint8_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->XIP_WRITE = (reg->XIP_WRITE & ~(0xffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_READ_WRITE
|
2024-08-02 09:55:38 +02:00
|
|
|
inline void set_apb3spi_xip_read_write(volatile apb3spi_t* reg, uint32_t value){
|
|
|
|
reg->XIP_READ_WRITE = value;
|
|
|
|
}
|
|
|
|
inline void set_apb3spi_xip_read_write_data(volatile apb3spi_t* reg, uint8_t value){
|
2024-05-30 18:32:23 +02:00
|
|
|
reg->XIP_READ_WRITE = (reg->XIP_READ_WRITE & ~(0xffU << 0)) | (value << 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
//APB3SPI_XIP_READ
|
|
|
|
inline uint32_t get_apb3spi_xip_read(volatile apb3spi_t* reg){
|
2024-08-02 09:55:38 +02:00
|
|
|
return reg->XIP_READ;
|
|
|
|
}
|
|
|
|
inline uint32_t get_apb3spi_xip_read_data(volatile apb3spi_t* reg){
|
2024-05-30 18:32:23 +02:00
|
|
|
return (reg->XIP_READ >> 0) & 0xff;
|
|
|
|
}
|
|
|
|
|
2024-09-10 15:46:32 +02:00
|
|
|
#endif /* _BSP_APB3SPI_H */
|