/* * Copyright (c) 2023 - 2024 MINRES Technologies GmbH * * SPDX-License-Identifier: Apache-2.0 * * Generated at 2024-02-19 14:24:37 UTC * by peakrdl_mnrs version 1.2.2 */ #ifndef _BSP_APB3SPIXDRMASTERCTRL_H #define _BSP_APB3SPIXDRMASTERCTRL_H #include typedef struct __attribute((__packed__)) { volatile uint32_t DATA; volatile uint32_t STATUS; volatile uint32_t CONFIG; volatile uint32_t INTR; uint32_t fill0[4]; 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; uint32_t fill1[3]; volatile uint32_t XIP_ENABLE; volatile uint32_t XIP_CONFIG; volatile uint32_t XIP_MODE; uint32_t fill2[1]; volatile uint32_t XIP_WRITE; volatile uint32_t XIP_READ_WRITE; volatile uint32_t XIP_READ; }apb3spixdrmasterctrl_t; #define SPI_XIP_CONFIG_INSTRUCTION_OFFS 0 #define SPI_XIP_CONFIG_INSTRUCTION_MASK 0xff #define SPI_XIP_CONFIG_INSTRUCTION(V) ((V & SPI_XIP_CONFIG_INSTRUCTION_MASK) << SPI_XIP_CONFIG_INSTRUCTION_OFFS) #define SPI_XIP_CONFIG_ENABLE_OFFS 8 #define SPI_XIP_CONFIG_ENABLE_MASK 1 #define SPI_XIP_CONFIG_ENABLE(V) ((V & SPI_XIP_CONFIG_ENABLE_MASK) << SPI_XIP_CONFIG_ENABLE_OFFS) #define SPI_XIP_CONFIG_DUMMY_VALUE_OFFS 16 #define SPI_XIP_CONFIG_DUMMY_VALUE_MASK 0xff #define SPI_XIP_CONFIG_DUMMY_VALUE(V) ((V & SPI_XIP_CONFIG_DUMMY_VALUE_MASK) << SPI_XIP_CONFIG_DUMMY_VALUE_OFFS) #define SPI_XIP_CONFIG_DUMMY_COUNT_OFFS 24 #define SPI_XIP_CONFIG_DUMMY_COUNT_MASK 0xf #define SPI_XIP_CONFIG_DUMMY_COUNT(V) ((V & SPI_XIP_CONFIG_DUMMY_COUNT_MASK) << SPI_XIP_CONFIG_DUMMY_COUNT_OFFS) inline void set_spi_data_data(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->DATA = (reg->DATA & ~(0xffU << 0)) | (value << 0); } inline uint32_t get_spi_data_write(volatile apb3spixdrmasterctrl_t *reg){ return (reg->DATA >> 8) & 0x1; } inline void set_spi_data_write(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->DATA = (reg->DATA & ~(0x1U << 8)) | (value << 8); } inline uint32_t get_spi_data_read(volatile apb3spixdrmasterctrl_t *reg){ return (reg->DATA >> 9) & 0x1; } inline void set_spi_data_read(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->DATA = (reg->DATA & ~(0x1U << 9)) | (value << 9); } inline uint32_t get_spi_data_kind(volatile apb3spixdrmasterctrl_t *reg){ return (reg->DATA >> 11) & 0x1; } inline void set_spi_data_kind(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->DATA = (reg->DATA & ~(0x1U << 11)) | (value << 11); } inline uint32_t get_spi_data_rx_data_invalid(volatile apb3spixdrmasterctrl_t *reg){ return (reg->DATA >> 31) & 0x1; } inline uint32_t get_spi_status_tx_free(volatile apb3spixdrmasterctrl_t *reg){ return (reg->STATUS >> 0) & 0x3f; } inline uint32_t get_spi_status_rx_avail(volatile apb3spixdrmasterctrl_t *reg){ return (reg->STATUS >> 16) & 0x3f; } inline uint32_t get_spi_config_kind(volatile apb3spixdrmasterctrl_t *reg){ return (reg->CONFIG >> 0) & 0x3; } inline void set_spi_config_kind(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->CONFIG = (reg->CONFIG & ~(0x3U << 0)) | (value << 0); } inline uint32_t get_spi_config_mode(volatile apb3spixdrmasterctrl_t *reg){ return (reg->CONFIG >> 4) & 0x7; } inline void set_spi_config_mode(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->CONFIG = (reg->CONFIG & ~(0x7U << 4)) | (value << 4); } inline uint32_t get_spi_intr_tx_ie(volatile apb3spixdrmasterctrl_t *reg){ return (reg->INTR >> 0) & 0x1; } inline void set_spi_intr_tx_ie(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->INTR = (reg->INTR & ~(0x1U << 0)) | (value << 0); } inline uint32_t get_spi_intr_rx_ie(volatile apb3spixdrmasterctrl_t *reg){ return (reg->INTR >> 1) & 0x1; } inline void set_spi_intr_rx_ie(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->INTR = (reg->INTR & ~(0x1U << 1)) | (value << 1); } inline uint32_t get_spi_intr_tx_ip(volatile apb3spixdrmasterctrl_t *reg){ return (reg->INTR >> 8) & 0x1; } inline uint32_t get_spi_intr_rx_ip(volatile apb3spixdrmasterctrl_t *reg){ return (reg->INTR >> 9) & 0x1; } inline uint32_t get_spi_intr_tx_active(volatile apb3spixdrmasterctrl_t *reg){ return (reg->INTR >> 16) & 0x1; } inline uint32_t get_spi_sclk_config(volatile apb3spixdrmasterctrl_t *reg){ return (reg->SCLK_CONFIG >> 0) & 0xfff; } inline void set_spi_sclk_config(volatile apb3spixdrmasterctrl_t *reg, uint16_t value){ reg->SCLK_CONFIG = (reg->SCLK_CONFIG & ~(0xfffU << 0)) | (value << 0); } inline uint32_t get_spi_ssgen_setup(volatile apb3spixdrmasterctrl_t *reg){ return (reg->SSGEN_SETUP >> 0) & 0xfff; } inline void set_spi_ssgen_setup(volatile apb3spixdrmasterctrl_t *reg, uint16_t value){ reg->SSGEN_SETUP = (reg->SSGEN_SETUP & ~(0xfffU << 0)) | (value << 0); } inline uint32_t get_spi_ssgen_hold(volatile apb3spixdrmasterctrl_t *reg){ return (reg->SSGEN_HOLD >> 0) & 0xfff; } inline void set_spi_ssgen_hold(volatile apb3spixdrmasterctrl_t *reg, uint16_t value){ reg->SSGEN_HOLD = (reg->SSGEN_HOLD & ~(0xfffU << 0)) | (value << 0); } inline uint32_t get_spi_ssgen_disable(volatile apb3spixdrmasterctrl_t *reg){ return (reg->SSGEN_DISABLE >> 0) & 0xfff; } inline void set_spi_ssgen_disable(volatile apb3spixdrmasterctrl_t *reg, uint16_t value){ reg->SSGEN_DISABLE = (reg->SSGEN_DISABLE & ~(0xfffU << 0)) | (value << 0); } inline uint32_t get_spi_ssgen_active_high(volatile apb3spixdrmasterctrl_t *reg){ return (reg->SSGEN_ACTIVE_HIGH >> 0) & 0x1; } inline void set_spi_ssgen_active_high(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->SSGEN_ACTIVE_HIGH = (reg->SSGEN_ACTIVE_HIGH & ~(0x1U << 0)) | (value << 0); } inline uint32_t get_spi_xip_enable(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_ENABLE >> 0) & 0x1; } inline void set_spi_xip_enable(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_ENABLE = (reg->XIP_ENABLE & ~(0x1U << 0)) | (value << 0); } inline uint32_t get_spi_xip_config(volatile apb3spixdrmasterctrl_t *reg){ return reg->XIP_CONFIG; } inline void set_spi_xip_config(volatile apb3spixdrmasterctrl_t *reg, uint32_t value){ reg->XIP_CONFIG = value; } inline uint32_t get_spi_xip_config_instruction(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_CONFIG >> 0) & 0xff; } inline void set_spi_xip_config_instruction(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xffU << 0)) | (value << 0); } inline uint32_t get_spi_xip_config_enable(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_CONFIG >> 8) & 0x1; } inline void set_spi_xip_config_enable(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0x1U << 8)) | (value << 8); } inline uint32_t get_spi_xip_config_dummy_value(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_CONFIG >> 16) & 0xff; } inline void set_spi_xip_config_dummy_value(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xffU << 16)) | (value << 16); } inline uint32_t get_spi_xip_config_dummy_count(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_CONFIG >> 24) & 0xf; } inline void set_spi_xip_config_dummy_count(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_CONFIG = (reg->XIP_CONFIG & ~(0xfU << 24)) | (value << 24); } inline uint32_t get_spi_xip_mode_instruction(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_MODE >> 0) & 0x7; } inline void set_spi_xip_mode_instruction(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_MODE = (reg->XIP_MODE & ~(0x7U << 0)) | (value << 0); } inline uint32_t get_spi_xip_mode_address(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_MODE >> 8) & 0x7; } inline void set_spi_xip_mode_address(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_MODE = (reg->XIP_MODE & ~(0x7U << 8)) | (value << 8); } inline uint32_t get_spi_xip_mode_dummy(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_MODE >> 16) & 0x7; } inline void set_spi_xip_mode_dummy(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_MODE = (reg->XIP_MODE & ~(0x7U << 16)) | (value << 16); } inline uint32_t get_spi_xip_mode_payload(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_MODE >> 24) & 0x7; } inline void set_spi_xip_mode_payload(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_MODE = (reg->XIP_MODE & ~(0x7U << 24)) | (value << 24); } inline void set_spi_xip_write(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_WRITE = (reg->XIP_WRITE & ~(0xffU << 0)) | (value << 0); } inline void set_spi_xip_read_write(volatile apb3spixdrmasterctrl_t *reg, uint8_t value){ reg->XIP_READ_WRITE = (reg->XIP_READ_WRITE & ~(0xffU << 0)) | (value << 0); } inline uint32_t get_spi_xip_read(volatile apb3spixdrmasterctrl_t *reg){ return (reg->XIP_READ >> 0) & 0xff; } #endif /* _BSP_APB3SPIXDRMASTERCTRL_H */