Zephyr API 3.6.99
Loading...
Searching...
No Matches
rpu_hw_if.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12#ifndef __RPU_HW_IF_H_
13#define __RPU_HW_IF_H_
14
15#include <stdio.h>
16#include <stdlib.h>
17#include <zephyr/drivers/gpio.h>
18
19enum {
20 SYSBUS = 0,
32};
33
34/* Keeping it high to avoid changing it often, but modify this value
35 * if rpu_7002_memmap is changed.
36 */
37#define NRF_WIFI_QSPI_SLAVE_MAX_LATENCY 4
38
39extern char blk_name[][15];
40extern uint32_t rpu_7002_memmap[][3];
41
42int rpu_read(unsigned int addr, void *data, int len);
43int rpu_write(unsigned int addr, const void *data, int len);
44
45int rpu_sleep(void);
46int rpu_wakeup(void);
48void rpu_get_sleep_stats(uint32_t addr, uint32_t *buff, uint32_t wrd_len);
49int rpu_irq_config(struct gpio_callback *irq_callback_data, void (*irq_handler)());
50int rpu_irq_remove(struct gpio_callback *irq_callback_data);
51
53int rpu_rdsr2(void);
54int rpu_rdsr1(void);
55int rpu_clks_on(void);
56
64int rpu_read_reg(uint8_t reg_addr, uint8_t *reg_value);
65
73int rpu_write_reg(uint8_t reg_addr, uint8_t reg_value);
74
76int rpu_init(void);
77int rpu_enable(void);
78int rpu_disable(void);
79
80#ifdef CONFIG_NRF70_SR_COEX_RF_SWITCH
81int sr_gpio_config_early(void);
82int sr_ant_switch(unsigned int ant_switch);
83int sr_gpio_remove(void);
84int sr_gpio_config(void);
85#endif /* CONFIG_NRF70_SR_COEX_RF_SWITCH */
86#endif /* __RPU_HW_IF_H_ */
Main header file for GPIO driver API.
int rpu_irq_remove(struct gpio_callback *irq_callback_data)
int rpu_clks_on(void)
int rpu_wrsr2(uint8_t data)
void rpu_get_sleep_stats(uint32_t addr, uint32_t *buff, uint32_t wrd_len)
int rpu_irq_config(struct gpio_callback *irq_callback_data, void(*irq_handler)())
int rpu_rdsr2(void)
int rpu_write_reg(uint8_t reg_addr, uint8_t reg_value)
Write a register via RPU hardware interface.
int rpu_rdsr1(void)
int rpu_sleep(void)
int rpu_write(unsigned int addr, const void *data, int len)
int rpu_read(unsigned int addr, void *data, int len)
int rpu_read_reg(uint8_t reg_addr, uint8_t *reg_value)
Read a register via RPU hardware interface.
int rpu_wakeup(void)
int nrf_wifi_gpio_config_early(void)
int rpu_sleep_status(void)
@ UMAC_RET_RAM
Definition rpu_hw_if.h:29
@ UMAC_ROM
Definition rpu_hw_if.h:28
@ SYSBUS
Definition rpu_hw_if.h:20
@ LMAC_RET_RAM
Definition rpu_hw_if.h:26
@ GRAM
Definition rpu_hw_if.h:24
@ PBUS
Definition rpu_hw_if.h:22
@ NUM_MEM_BLOCKS
Definition rpu_hw_if.h:31
@ PKTRAM
Definition rpu_hw_if.h:23
@ LMAC_SRC_RAM
Definition rpu_hw_if.h:27
@ UMAC_SRC_RAM
Definition rpu_hw_if.h:30
@ LMAC_ROM
Definition rpu_hw_if.h:25
@ EXT_SYS_BUS
Definition rpu_hw_if.h:21
char blk_name[][15]
int rpu_enable(void)
int rpu_disable(void)
int rpu_init(void)
uint32_t rpu_7002_memmap[][3]
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
GPIO callback structure.
Definition gpio.h:748