mirror of
https://github.com/stnolting/neorv32.git
synced 2025-04-24 14:17:51 -04:00
[sw/lib] doxygen edits
This commit is contained in:
parent
236614dc53
commit
705728ae74
21 changed files with 131 additions and 53 deletions
|
@ -679,27 +679,25 @@ enum NEORV32_CLOCK_PRSC_enum {
|
|||
* @name Peripheral/IO Devices - IO Address Space - base addresses
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
|
||||
#define NEORV32_SYSINFO_BASE (0xFFFFFFE0U) /* System Configuration Information Memory (SYSINFO) */
|
||||
#define NEORV32_NEOLED_BASE (0xFFFFFFD8U) /* Smart LED Hardware Interface (NEOLED) */
|
||||
#define NEORV32_UART1_BASE (0xFFFFFFD0U) /* Secondary Universal Asynchronous Receiver and Transmitter (UART1) */
|
||||
#define NEORV32_GPIO_BASE (0xFFFFFFC0U) /* General Purpose Input/Output Port Unit (GPIO) */
|
||||
#define NEORV32_WDT_BASE (0xFFFFFFBCU) /* Watchdog Timer (WDT) */
|
||||
#define NEORV32_TRNG_BASE (0xFFFFFFB8U) /* True Random Number Generator (TRNG) */
|
||||
#define NEORV32_TWI_BASE (0xFFFFFFB0U) /* Two-Wire Interface Controller (TWI) */
|
||||
#define NEORV32_SPI_BASE (0xFFFFFFA8U) /* Serial Peripheral Interface Controller (SPI) */
|
||||
#define NEORV32_UART0_BASE (0xFFFFFFA0U) /* Primary Universal Asynchronous Receiver and Transmitter (UART0) */
|
||||
#define NEORV32_MTIME_BASE (0xFFFFFF90U) /* Machine System Timer (MTIME) */
|
||||
#define NEORV32_XIRQ_BASE (0xFFFFFF80U) /* External Interrupt Controller (XIRQ) */
|
||||
#define NEORV32_BUSKEEPER_BASE (0xFFFFFF78U) /* Bus Monitor (BUSKEEPER) */
|
||||
#define NEORV32_ONEWIRE_BASE (0xFFFFFF70U) /* 1-Wire Interface Controller (ONEWIRE) */
|
||||
#define NEORV32_GPTMR_BASE (0xFFFFFF60U) /* General Purpose Timer (GPTMR) */
|
||||
#define NEORV32_PWM_BASE (0xFFFFFF50U) /* Pulse Width Modulation Controller (PWM) */
|
||||
#define NEORV32_XIP_BASE (0xFFFFFF40U) /* Execute In Place Module (XIP) */
|
||||
#define NEORV32_SDI_BASE (0xFFFFFF00U) /* Serial Data Interface (SDI) */
|
||||
#define NEORV32_CFS_BASE (0xFFFFFE00U) /* Custom Functions Subsystem (CFS) */
|
||||
#define NEORV32_DM_BASE (0xFFFFF800U) /* On-Chip Debugger */
|
||||
|
||||
#define NEORV32_SYSINFO_BASE (0xFFFFFFE0U) /**< System Configuration Information Memory (SYSINFO) */
|
||||
#define NEORV32_NEOLED_BASE (0xFFFFFFD8U) /**< Smart LED Hardware Interface (NEOLED) */
|
||||
#define NEORV32_UART1_BASE (0xFFFFFFD0U) /**< Secondary Universal Asynchronous Receiver and Transmitter (UART1) */
|
||||
#define NEORV32_GPIO_BASE (0xFFFFFFC0U) /**< General Purpose Input/Output Port Unit (GPIO) */
|
||||
#define NEORV32_WDT_BASE (0xFFFFFFBCU) /**< Watchdog Timer (WDT) */
|
||||
#define NEORV32_TRNG_BASE (0xFFFFFFB8U) /**< True Random Number Generator (TRNG) */
|
||||
#define NEORV32_TWI_BASE (0xFFFFFFB0U) /**< Two-Wire Interface Controller (TWI) */
|
||||
#define NEORV32_SPI_BASE (0xFFFFFFA8U) /**< Serial Peripheral Interface Controller (SPI) */
|
||||
#define NEORV32_UART0_BASE (0xFFFFFFA0U) /**< Primary Universal Asynchronous Receiver and Transmitter (UART0) */
|
||||
#define NEORV32_MTIME_BASE (0xFFFFFF90U) /**< Machine System Timer (MTIME) */
|
||||
#define NEORV32_XIRQ_BASE (0xFFFFFF80U) /**< External Interrupt Controller (XIRQ) */
|
||||
#define NEORV32_BUSKEEPER_BASE (0xFFFFFF78U) /**< Bus Monitor (BUSKEEPER) */
|
||||
#define NEORV32_ONEWIRE_BASE (0xFFFFFF70U) /**< 1-Wire Interface Controller (ONEWIRE) */
|
||||
#define NEORV32_GPTMR_BASE (0xFFFFFF60U) /**< General Purpose Timer (GPTMR) */
|
||||
#define NEORV32_PWM_BASE (0xFFFFFF50U) /**< Pulse Width Modulation Controller (PWM) */
|
||||
#define NEORV32_XIP_BASE (0xFFFFFF40U) /**< Execute In Place Module (XIP) */
|
||||
#define NEORV32_SDI_BASE (0xFFFFFF00U) /**< Serial Data Interface (SDI) */
|
||||
#define NEORV32_CFS_BASE (0xFFFFFE00U) /**< Custom Functions Subsystem (CFS) */
|
||||
#define NEORV32_DM_BASE (0xFFFFF800U) /**< On-Chip Debugger */
|
||||
/**@}*/
|
||||
|
||||
|
||||
|
@ -720,6 +718,7 @@ enum NEORV32_CLOCK_PRSC_enum {
|
|||
// io/peripheral devices
|
||||
#include "neorv32_buskeeper.h"
|
||||
#include "neorv32_cfs.h"
|
||||
#include "neorv32_dm.h"
|
||||
#include "neorv32_gpio.h"
|
||||
#include "neorv32_gptmr.h"
|
||||
#include "neorv32_mtime.h"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -60,7 +60,12 @@ typedef volatile struct __attribute__((packed,aligned(4))) {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_cfs_available(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_cfs_h
|
||||
|
|
|
@ -41,7 +41,11 @@
|
|||
#ifndef neorv32_cpu_h
|
||||
#define neorv32_cpu_h
|
||||
|
||||
// prototypes
|
||||
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
void neorv32_cpu_irq_enable(int irq_sel);
|
||||
void neorv32_cpu_irq_disable(int irq_sel);
|
||||
uint64_t neorv32_cpu_get_cycle(void);
|
||||
|
@ -56,6 +60,7 @@ int neorv32_cpu_pmp_configure_region(uint32_t index, uint32_t base, uint8_t
|
|||
uint32_t neorv32_cpu_hpm_get_num_counters(void);
|
||||
uint32_t neorv32_cpu_hpm_get_size(void);
|
||||
void neorv32_cpu_goto_user_mode(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -41,9 +41,9 @@
|
|||
#ifndef neorv32_dm_h
|
||||
#define neorv32_dm_h
|
||||
|
||||
// #################################################################################################
|
||||
// On-Chip Debugger (should NOT be used by application software at all!)
|
||||
// #################################################################################################
|
||||
/**********************************************************************//**
|
||||
* @name IO Device: On-Chip Debugger (should NOT be used by application software at all!)
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
/** on-chip debugger - debug module prototype */
|
||||
typedef volatile struct __attribute__((packed,aligned(4))) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -60,7 +60,10 @@ typedef volatile struct __attribute__((packed,aligned(4))) {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_gpio_available(void);
|
||||
void neorv32_gpio_pin_set(int pin);
|
||||
void neorv32_gpio_pin_clr(int pin);
|
||||
|
@ -69,5 +72,7 @@ uint32_t neorv32_gpio_pin_get(int pin);
|
|||
|
||||
void neorv32_gpio_port_set(uint64_t d);
|
||||
uint64_t neorv32_gpio_port_get(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_gpio_h
|
||||
|
|
|
@ -69,11 +69,16 @@ enum NEORV32_GPTMR_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_gptmr_available(void);
|
||||
void neorv32_gptmr_setup(int prsc, int mode, uint32_t threshold);
|
||||
void neorv32_gptmr_disable(void);
|
||||
void neorv32_gptmr_enable(void);
|
||||
void neorv32_gptmr_restart(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_gptmr_h
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -60,11 +60,16 @@ typedef volatile struct __attribute__((packed,aligned(4))) {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_mtime_available(void);
|
||||
void neorv32_mtime_set_time(uint64_t time);
|
||||
uint64_t neorv32_mtime_get_time(void);
|
||||
void neorv32_mtime_set_timecmp(uint64_t timecmp);
|
||||
uint64_t neorv32_mtime_get_timecmp(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_mtime_h
|
||||
|
|
|
@ -97,7 +97,10 @@ enum NEORV32_NEOLED_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_neoled_available(void);
|
||||
void neorv32_neoled_setup(uint32_t prsc, uint32_t t_total, uint32_t t_high_zero, uint32_t t_high_one, int irq_mode);
|
||||
void neorv32_neoled_setup_ws2812(int irq_mode);
|
||||
|
@ -108,6 +111,7 @@ void neorv32_neoled_enable(void);
|
|||
void neorv32_neoled_disable(void);
|
||||
void neorv32_neoled_write_blocking(uint32_t data);
|
||||
uint32_t neorv32_neoled_get_buffer_size(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
|
|
|
@ -86,14 +86,16 @@ enum NEORV32_ONEWIRE_DATA_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes - setup/management
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_onewire_available(void);
|
||||
int neorv32_onewire_setup(uint32_t t_base);
|
||||
void neorv32_onewire_enable(void);
|
||||
void neorv32_onewire_disable(void);
|
||||
int neorv32_onewire_sense(void);
|
||||
|
||||
// prototypes - non-blocking access
|
||||
int neorv32_onewire_busy(void);
|
||||
void neorv32_onewire_reset(void);
|
||||
int neorv32_onewire_reset_get_presence(void);
|
||||
|
@ -104,11 +106,12 @@ void neorv32_onewire_read_byte(void);
|
|||
uint8_t neorv32_onewire_read_byte_get(void);
|
||||
void neorv32_onewire_write_byte(uint8_t byte);
|
||||
|
||||
// prototypes - blocking access
|
||||
int neorv32_onewire_reset_blocking(void);
|
||||
uint8_t neorv32_onewire_read_bit_blocking(void);
|
||||
void neorv32_onewire_write_bit_blocking(uint8_t bit);
|
||||
uint8_t neorv32_onewire_read_byte_blocking(void);
|
||||
void neorv32_onewire_write_byte_blocking(uint8_t byte);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_onewire_h
|
||||
|
|
|
@ -66,7 +66,10 @@ enum NEORV32_PWM_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_pwm_available(void);
|
||||
void neorv32_pwm_setup(int prsc);
|
||||
void neorv32_pwm_disable(void);
|
||||
|
@ -74,5 +77,6 @@ void neorv32_pwm_enable(void);
|
|||
int neorv32_pmw_get_num_channels(void);
|
||||
void neorv32_pwm_set(int channel, uint8_t dc);
|
||||
uint8_t neorv32_pwm_get(int channel);
|
||||
/**@}*/
|
||||
|
||||
#endif // neorv32_pwm_h
|
||||
|
|
|
@ -84,7 +84,10 @@ enum NEORV32_RTE_TRAP_enum {
|
|||
};
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
void neorv32_rte_setup(void);
|
||||
int neorv32_rte_handler_install(uint8_t id, void (*handler)(void));
|
||||
int neorv32_rte_handler_uninstall(uint8_t id);
|
||||
|
@ -97,5 +100,7 @@ void neorv32_rte_print_license(void);
|
|||
|
||||
uint32_t neorv32_rte_get_compiler_isa(void);
|
||||
int neorv32_rte_check_isa(int silent);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_rte_h
|
||||
|
|
|
@ -78,7 +78,10 @@ enum NEORV32_SDI_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_sdi_available(void);
|
||||
void neorv32_sdi_setup(uint32_t irq_mask);
|
||||
void neorv32_sdi_rx_clear(void);
|
||||
|
@ -89,5 +92,7 @@ int neorv32_sdi_put(uint8_t data);
|
|||
void neorv32_sdi_put_nonblocking(uint8_t data);
|
||||
int neorv32_sdi_get(uint8_t* data);
|
||||
uint8_t neorv32_sdi_get_nonblocking(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_sdi_h
|
||||
|
|
|
@ -90,7 +90,10 @@ enum NEORV32_SPI_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_spi_available(void);
|
||||
void neorv32_spi_setup(int prsc, int cdiv, int clk_phase, int clk_polarity, uint32_t irq_mask);
|
||||
void neorv32_spi_disable(void);
|
||||
|
@ -102,5 +105,6 @@ uint8_t neorv32_spi_trans(uint8_t tx_data);
|
|||
void neorv32_spi_put_nonblocking(uint8_t tx_data);
|
||||
uint8_t neorv32_spi_get_nonblocking(void);
|
||||
int neorv32_spi_busy(void);
|
||||
/**@}*/
|
||||
|
||||
#endif // neorv32_spi_h
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// #################################################################################################
|
||||
// # << NEORV32: neorv32_sysinfo.h - Sys Configuration Information Memory (SYSINFO) HW Driver >> #
|
||||
// # << NEORV32: neorv32_sysinfo.h - System Information Memory (SYSINFO) HW Driver >> #
|
||||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2022, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -68,12 +68,17 @@ enum NEORV32_TRNG_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_trng_available(void);
|
||||
void neorv32_trng_enable(void);
|
||||
void neorv32_trng_disable(void);
|
||||
void neorv32_trng_fifo_clear(void);
|
||||
int neorv32_trng_get(uint8_t *data);
|
||||
int neorv32_trng_check_sim_mode(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_trng_h
|
||||
|
|
|
@ -84,7 +84,10 @@ enum NEORV32_TWI_DATA_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototypes
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_twi_available(void);
|
||||
void neorv32_twi_setup(int prsc, int cdiv, int csen);
|
||||
void neorv32_twi_disable(void);
|
||||
|
@ -98,5 +101,7 @@ uint8_t neorv32_twi_get_data(void);
|
|||
void neorv32_twi_generate_stop(void);
|
||||
void neorv32_twi_generate_start(void);
|
||||
int neorv32_twi_bus_claimed(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_twi_h
|
||||
|
|
|
@ -98,7 +98,10 @@ enum NEORV32_UART_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes for common used UART functions, applicable to UART0 and UART1
|
||||
/**********************************************************************//**
|
||||
* @name Prototype
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_uart_available(neorv32_uart_t *UARTx);
|
||||
void neorv32_uart_setup(neorv32_uart_t *UARTx, uint32_t baudrate, uint32_t irq_mask);
|
||||
void neorv32_uart_enable(neorv32_uart_t *UARTx);
|
||||
|
@ -113,5 +116,7 @@ char neorv32_uart_char_received_get(neorv32_uart_t *UARTx);
|
|||
void neorv32_uart_puts(neorv32_uart_t *UARTx, const char *s);
|
||||
void neorv32_uart_printf(neorv32_uart_t *UARTx, const char *format, ...);
|
||||
int neorv32_uart_scan(neorv32_uart_t *UARTx, char *buffer, int max_size, int echo);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_uart_h
|
||||
|
|
|
@ -70,11 +70,16 @@ enum NEORV32_WDT_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototype
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_wdt_available(void);
|
||||
void neorv32_wdt_setup(uint32_t timeout, int lock, int debug_en, int sleep_en);
|
||||
int neorv32_wdt_disable(void);
|
||||
void neorv32_wdt_feed(void);
|
||||
int neorv32_wdt_get_cause(void);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_wdt_h
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2022, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -85,7 +85,10 @@ enum NEORV32_XIP_CTRL_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototype
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_xip_available(void);
|
||||
int neorv32_xip_setup(uint8_t prsc, uint8_t cpol, uint8_t cpha, uint8_t rd_cmd);
|
||||
int neorv32_xip_start(uint8_t abytes, uint32_t page_base);
|
||||
|
@ -94,5 +97,7 @@ void neorv32_xip_highspeed_disable(void);
|
|||
void neorv32_xip_burst_mode_enable(void);
|
||||
void neorv32_xip_burst_mode_disable(void);
|
||||
int neorv32_xip_spi_trans(uint8_t nbytes, uint64_t *rtx_data);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_xip_h
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// # ********************************************************************************************* #
|
||||
// # BSD 3-Clause License #
|
||||
// # #
|
||||
// # Copyright (c) 2021, Stephan Nolting. All rights reserved. #
|
||||
// # Copyright (c) 2023, Stephan Nolting. All rights reserved. #
|
||||
// # #
|
||||
// # Redistribution and use in source and binary forms, with or without modification, are #
|
||||
// # permitted provided that the following conditions are met: #
|
||||
|
@ -58,7 +58,10 @@ typedef volatile struct __attribute__((packed,aligned(4))) {
|
|||
/**@}*/
|
||||
|
||||
|
||||
// prototypes
|
||||
/**********************************************************************//**
|
||||
* @name Prototype
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
int neorv32_xirq_available(void);
|
||||
int neorv32_xirq_setup(void);
|
||||
void neorv32_xirq_global_enable(void);
|
||||
|
@ -69,6 +72,7 @@ void neorv32_xirq_channel_enable(uint8_t ch);
|
|||
void neorv32_xirq_channel_disable(uint8_t ch);
|
||||
int neorv32_xirq_install(uint8_t ch, void (*handler)(void));
|
||||
int neorv32_xirq_uninstall(uint8_t ch);
|
||||
/**@}*/
|
||||
|
||||
|
||||
#endif // neorv32_xirq_h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue