/* * Copyright (c) 2022 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #include #include static inline int z_vrfy_tgpio_port_get_time(const struct device *port, uint64_t *current_time) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, get_time)); K_OOPS(Z_SYSCALL_MEMORY_WRITE(current_time, sizeof(uint64_t))); return z_impl_tgpio_port_get_time((const struct device *)port, (uint64_t *)current_time); } #include static inline int z_vrfy_tgpio_port_get_cycles_per_second(const struct device *port, uint32_t *cycles) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, cyc_per_sec)); K_OOPS(Z_SYSCALL_MEMORY_WRITE(cycles, sizeof(uint32_t))); return z_impl_tgpio_port_get_cycles_per_second((const struct device *)port, (uint32_t *)cycles); } #include static inline int z_vrfy_tgpio_pin_periodic_output(const struct device *port, uint32_t pin, uint64_t start_time, uint64_t repeat_interval, bool periodic_enable) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, set_perout)); return z_impl_tgpio_pin_periodic_output((const struct device *)port, pin, start_time, repeat_interval, periodic_enable); } #include static inline int z_vrfy_tgpio_pin_disable(const struct device *port, uint32_t pin) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, pin_disable)); return z_impl_tgpio_pin_disable((const struct device *)port, pin); } #include static inline int z_vrfy_tgpio_pin_config_ext_timestamp(const struct device *port, uint32_t pin, uint32_t event_polarity) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, config_ext_ts)); return z_impl_tgpio_pin_config_ext_timestamp((const struct device *)port, pin, event_polarity); } #include static inline int z_vrfy_tgpio_pin_read_ts_ec(const struct device *port, uint32_t pin, uint64_t *timestamp, uint64_t *event_count) { K_OOPS(Z_SYSCALL_DRIVER_TGPIO(port, read_ts_ec)); return z_impl_tgpio_pin_read_ts_ec((const struct device *)port, pin, (uint64_t *)timestamp, (uint64_t *)event_count); } #include