You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.8 KiB
65 lines
1.8 KiB
/* SPDX-License-Identifier: Apache-2.0 */ |
|
/* |
|
* Copyright (c) 2023 Intel Corporation |
|
* |
|
* Author: Adrian Warecki <adrian.warecki@intel.com> |
|
*/ |
|
|
|
#ifndef ZEPHYR_DRIVERS_WATCHDOG_WDT_DW_COMMON_H_ |
|
#define ZEPHYR_DRIVERS_WATCHDOG_WDT_DW_COMMON_H_ |
|
|
|
#include <stdint.h> |
|
|
|
/** |
|
* @brief Check watchdog configuration options |
|
* |
|
* Check options value passed to a watchdog setup function. Returns error if unsupported option |
|
* is used. |
|
* |
|
* @param options options value passed to a watchdog setup function. |
|
* @return Error code, 0 on success. |
|
*/ |
|
int dw_wdt_check_options(const uint8_t options); |
|
|
|
/** |
|
* @brief Configure watchdog device |
|
* |
|
* @param base Device base address. |
|
* @param config device configuration word |
|
* @return Error code, 0 on success. |
|
*/ |
|
int dw_wdt_configure(const uint32_t base, const uint32_t config); |
|
|
|
/** |
|
* @brief Calculate period |
|
* |
|
* @param [in]base Device base address. |
|
* @param [in]clk_freq frequency of a clock used by watchdog device |
|
* @param [in]config pointer to a watchdog configuration structure |
|
* @param [out]period_out pointer to a variable in which the period configuration word will be |
|
* placed |
|
* @return Error code, 0 on success. |
|
*/ |
|
int dw_wdt_calc_period(const uint32_t base, const uint32_t clk_freq, |
|
const struct wdt_timeout_cfg *config, uint32_t *period_out); |
|
|
|
/** |
|
* @brief Watchdog probe |
|
* |
|
* Checks device id register and configure a reset pulse length. |
|
* |
|
* @param base Device base address. |
|
* @param reset_pulse_length Length of a reset pulse produced by watchdog |
|
* @return Error code, 0 on success. |
|
*/ |
|
int dw_wdt_probe(const uint32_t base, const uint32_t reset_pulse_length); |
|
|
|
/** |
|
* @brief Watchdog disable function |
|
* |
|
* @param dev Device structure. |
|
* @return -ENOTSUP. The hardware does not support disabling. |
|
*/ |
|
int dw_wdt_disable(const struct device *dev); |
|
|
|
#endif /* ZEPHYR_DRIVERS_WATCHDOG_WDT_DW_COMMON_H_ */
|
|
|