mirror of https://github.com/ARMmbed/mbed-os.git
78 lines
3.0 KiB
C
78 lines
3.0 KiB
C
/****************************************************************************
|
|
*
|
|
* Copyright 2020 Samsung Electronics All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
* either express or implied. See the License for the specific
|
|
* language governing permissions and limitations under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __S5JS100_WATCHDOG_H
|
|
#define __S5JS100_WATCHDOG_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
/****************************************************************************
|
|
* Pre-processor Definitions
|
|
****************************************************************************/
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#undef EXTERN
|
|
#if defined(__cplusplus)
|
|
#define EXTERN extern "C"
|
|
extern "C" {
|
|
#else
|
|
#define EXTERN extern
|
|
#endif
|
|
|
|
/****************************************************************************
|
|
* Public Functions
|
|
****************************************************************************/
|
|
#ifndef CONFIG_S5JS100_WATCHDOG
|
|
void s5js100_watchdog_disable(void);
|
|
|
|
#else /* CONFIG_S5JS100_WATCHDOG */
|
|
struct s5js100_watchdog_priv_s;
|
|
|
|
void s5js100_watchdog_disable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_enable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_reset_disable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_reset_enable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_irq_disable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_irq_enable(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_clk_set(unsigned int prescaler, unsigned int divider);
|
|
void s5js100_watchdog_set_reload_val(FAR struct s5js100_watchdog_priv_s *priv, unsigned int time_ms);
|
|
void s5js100_watchdog_set_load_val_diff(FAR struct s5js100_watchdog_priv_s *priv, unsigned int time_ms);
|
|
unsigned int s5js100_watchdog_get_curr(FAR struct s5js100_watchdog_priv_s *priv);
|
|
void s5js100_watchdog_set_curr(FAR struct s5js100_watchdog_priv_s *priv, unsigned int curr_val);
|
|
void s5js100_watchdog_clear_int(FAR struct s5js100_watchdog_priv_s *priv);
|
|
FAR struct s5js100_watchdog_priv_s *s5js100_watchdog_init(void);
|
|
|
|
#endif
|
|
|
|
#ifdef CONFIG_WATCHDOG
|
|
int s5js100_watchdog_initialize(FAR const char *devpath);
|
|
void s5js100_watchdog_autoping(void *arg);
|
|
FAR struct watchdog_lowerhalf_s *s5js100_watchdog_lowerhalf(void);
|
|
#endif
|
|
|
|
#undef EXTERN
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
#endif /* __S5JS100_WATCHDOG_H */
|