blob: 721ab5b12adc6519a1f3e9d3df5ea0989c621e83 [file] [log] [blame]
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @brief Header containing SPI device interface specific declarations for the
* Zephyr OS layer of the Wi-Fi driver.
*/
#include <zephyr/drivers/spi.h>
/* SPIM driver config */
int spim_init(struct qspi_config *config);
int spim_deinit(void);
int spim_write(unsigned int addr, const void *data, int len);
int spim_read(unsigned int addr, void *data, int len);
int spim_hl_read(unsigned int addr, void *data, int len);
int spim_cmd_rpu_wakeup_fn(uint32_t data);
int spim_wait_while_rpu_awake(void);
int spi_validate_rpu_wake_writecmd(void);
int spim_cmd_sleep_rpu_fn(void);
int spim_RDSR1(const struct device *dev, uint8_t *rdsr1);
int spim_RDSR2(const struct device *dev, uint8_t *rdsr2);
int spim_WRSR2(const struct device *dev, const uint8_t wrsr2);
/**
* @brief Read a register via SPI
*
* @param reg_addr Register address (opcode)
* @param reg_value Pointer to store the read value
* @return int 0 on success, negative error code on failure
*/
int spim_read_reg(uint32_t reg_addr, uint8_t *reg_value);
/**
* @brief Write a register via SPI
*
* @param spi_spec SPI device specification
* @param reg_addr Register address (opcode)
* @param reg_value Value to write
* @return int 0 on success, negative error code on failure
*/
int spim_write_reg(const struct spi_dt_spec *spi_spec, uint32_t reg_addr, const uint8_t reg_value);
/**
* @brief Read a register via SPI (wrapper for compatibility)
*
* @param dev SPI device (unused, kept for compatibility)
* @param reg_addr Register address (opcode)
* @param reg_value Pointer to store the read value
* @return int 0 on success, negative error code on failure
*/
int spim_read_reg_wrapper(const struct device *dev, uint8_t reg_addr, uint8_t *reg_value);
/**
* @brief Write a register via SPI (wrapper for compatibility)
*
* @param dev SPI device (unused, kept for compatibility)
* @param reg_addr Register address (opcode)
* @param reg_value Value to write
* @return int 0 on success, negative error code on failure
*/
int spim_write_reg_wrapper(const struct device *dev, uint8_t reg_addr, uint8_t reg_value);