842a6ba02d
To follow the IWDG configuration sequence, the timeout install is just preparing the reload and prescaler parameters. Then during the iwdg setup the watchdog is enabled and configured at the same time. Signed-off-by: Francois Ramu <francois.ramu@st.com>
38 lines
865 B
C
38 lines
865 B
C
/*
|
|
* Copyright (c) 2016 Open-RnD Sp. z o.o.
|
|
* Copyright (c) 2017 RnDity Sp. z o.o.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_
|
|
#define ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_
|
|
|
|
#include <zephyr/types.h>
|
|
|
|
/**
|
|
* @brief Driver for Independent Watchdog (IWDG) for STM32 MCUs
|
|
*
|
|
* The driver targets all STM32 SoCs. For details please refer to
|
|
* an appropriate reference manual and look for chapter called:
|
|
*
|
|
* Independent watchdog (IWDG)
|
|
*
|
|
*/
|
|
|
|
/* driver data */
|
|
struct iwdg_stm32_data {
|
|
/* IWDG peripheral instance. */
|
|
IWDG_TypeDef *Instance;
|
|
uint32_t prescaler;
|
|
uint32_t reload;
|
|
};
|
|
|
|
#define IWDG_STM32_DATA(dev) \
|
|
((struct iwdg_stm32_data * const)(dev)->data)
|
|
|
|
#define IWDG_STM32_STRUCT(dev) \
|
|
((IWDG_TypeDef *)(IWDG_STM32_DATA(dev))->Instance)
|
|
|
|
#endif /* ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_ */
|