LCOV - code coverage report
Current view: top level - zephyr/arch/riscv - sys_io.h Hit Total Coverage
Test: new.info Lines: 0 1 0.0 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2023 Meta
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : /* Memory mapped registers I/O functions in riscv arch C code */
       8             : 
       9             : #ifndef ZEPHYR_INCLUDE_ARCH_RISCV_SYS_IO_H_
      10             : #define ZEPHYR_INCLUDE_ARCH_RISCV_SYS_IO_H_
      11             : 
      12             : #ifndef _ASMLANGUAGE
      13             : 
      14             : #include <zephyr/toolchain.h>
      15             : #include <zephyr/types.h>
      16             : #include <zephyr/sys/sys_io.h>
      17             : 
      18             : #ifndef CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO
      19             : #include <zephyr/arch/common/sys_io.h>
      20             : #endif
      21             : 
      22             : #ifdef __cplusplus
      23             : extern "C" {
      24             : #endif
      25             : 
      26             : #ifdef CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO
      27             : 
      28             : extern uint8_t z_soc_sys_read8(mem_addr_t addr);
      29             : extern void z_soc_sys_write8(uint8_t data, mem_addr_t addr);
      30             : extern uint16_t z_soc_sys_read16(mem_addr_t addr);
      31             : extern void z_soc_sys_write16(uint16_t data, mem_addr_t addr);
      32             : extern uint32_t z_soc_sys_read32(mem_addr_t addr);
      33             : extern void z_soc_sys_write32(uint32_t data, mem_addr_t addr);
      34             : extern uint64_t z_soc_sys_read64(mem_addr_t addr);
      35             : extern void z_soc_sys_write64(uint64_t data, mem_addr_t addr);
      36             : 
      37             : static ALWAYS_INLINE uint8_t sys_read8(mem_addr_t addr)
      38             : {
      39             :         return z_soc_sys_read8(addr);
      40             : }
      41             : 
      42             : static ALWAYS_INLINE void sys_write8(uint8_t data, mem_addr_t addr)
      43             : {
      44             :         z_soc_sys_write8(data, addr);
      45             : }
      46             : 
      47             : static ALWAYS_INLINE uint16_t sys_read16(mem_addr_t addr)
      48             : {
      49             :         return z_soc_sys_read16(addr);
      50             : }
      51             : 
      52             : static ALWAYS_INLINE void sys_write16(uint16_t data, mem_addr_t addr)
      53             : {
      54             :         z_soc_sys_write16(data, addr);
      55             : }
      56             : 
      57             : static ALWAYS_INLINE uint32_t sys_read32(mem_addr_t addr)
      58             : {
      59             :         return z_soc_sys_read32(addr);
      60             : }
      61             : 
      62             : static ALWAYS_INLINE void sys_write32(uint32_t data, mem_addr_t addr)
      63             : {
      64             :         z_soc_sys_write32(data, addr);
      65             : }
      66             : 
      67             : static ALWAYS_INLINE uint64_t sys_read64(mem_addr_t addr)
      68             : {
      69             :         return z_soc_sys_read64(addr);
      70             : }
      71             : 
      72             : static ALWAYS_INLINE void sys_write64(uint64_t data, mem_addr_t addr)
      73             : {
      74             :         z_soc_sys_write64(data, addr);
      75             : }
      76             : 
      77             : #endif /* CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO */
      78             : 
      79             : #ifdef __cplusplus
      80             : }
      81             : #endif
      82             : 
      83             : #endif /* _ASMLANGUAGE */
      84             : 
      85             : #endif /* ZEPHYR_INCLUDE_ARCH_RISCV_SYS_IO_H_ */

Generated by: LCOV version 1.14