mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-26 14:55:16 +00:00

Enforce full include path for includes. Deprecate old paths. The following folders inside include/lib have been left unchanged: - include/lib/cpus/${ARCH} - include/lib/el3_runtime/${ARCH} The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them). For example, this patch had to be created because two headers were called the same way:e0ea0928d5
("Fix gpio includes of mt8173 platform to avoid collision."). More recently, this patch has had similar problems:46f9b2c3a2
("drivers: add tzc380 support"). This problem was introduced in commit4ecca33988
("Move include and source files to logical locations"). At that time, there weren't too many headers so it wasn't a real issue. However, time has shown that this creates problems. Platforms that want to preserve the way they include headers may add the removed paths to PLAT_INCLUDES, but this is discouraged. Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
62 lines
1.1 KiB
C
62 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef IMX_WDOG_H
|
|
#define IMX_WDOG_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <arch.h>
|
|
|
|
struct wdog_regs {
|
|
uint16_t wcr;
|
|
uint16_t wsr;
|
|
uint16_t wrsr;
|
|
uint16_t wicr;
|
|
uint16_t wmcr;
|
|
};
|
|
|
|
/* WCR bits */
|
|
#define WCR_WDZST BIT(0)
|
|
#define WCR_WDBG BIT(1)
|
|
#define WCR_WDE BIT(2)
|
|
#define WCR_WDT BIT(3)
|
|
#define WCR_SRS BIT(4)
|
|
#define WCR_WDA BIT(5)
|
|
#define WCR_SRE BIT(6)
|
|
#define WCR_WDW BIT(7)
|
|
#define WCR_WT(x) ((x) << 8)
|
|
|
|
/* WSR bits */
|
|
#define WSR_FIRST 0x5555
|
|
#define WSR_SECOND 0xAAAA
|
|
|
|
/* WRSR bits */
|
|
#define WRSR_SFTW BIT(0)
|
|
#define WRSR_TOUT BIT(1)
|
|
#define WRSR_POR BIT(4)
|
|
|
|
/* WICR bits */
|
|
static inline int wicr_calc_wict(int sec, int half_sec)
|
|
{
|
|
int wict_bits;
|
|
|
|
/* Represents WICR bits 7 - 0 */
|
|
wict_bits = ((sec << 1) | (half_sec ? 1 : 0));
|
|
|
|
return wict_bits;
|
|
}
|
|
|
|
#define WICR_WTIS BIT(14)
|
|
#define WICR_WIE BIT(15)
|
|
|
|
/* WMCR bits */
|
|
#define WMCR_PDE BIT(0)
|
|
|
|
/* External facing API */
|
|
void imx_wdog_init(void);
|
|
|
|
#endif /* IMX_WDOG_H */
|