Add tachometer driver for Realtek rts5912. Signed-off-by: Jhan BoChao <jhan_bo_chao@realtek.com>
42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2025 Realtek, SIBG-SD7
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_SOC_REALTEK_RTS5912_REG_TACHO_H
|
|
#define ZEPHYR_SOC_REALTEK_RTS5912_REG_TACHO_H
|
|
|
|
struct tacho_regs {
|
|
uint32_t ctrl;
|
|
uint32_t status;
|
|
uint32_t limit_high;
|
|
uint32_t limit_low;
|
|
uint32_t int_en;
|
|
};
|
|
|
|
/* CTRL */
|
|
#define TACHO_CTRL_EN BIT(0UL)
|
|
#define TACHO_CTRL_FILTEREN BIT(1UL)
|
|
#define TACHO_CTRL_SELEDGE_Pos (2UL)
|
|
#define TACHO_CTRL_SELEDGE_Msk GENMASK(3, TACHO_CTRL_SELEDGE_Pos)
|
|
#define TACHO_CTRL_READMODE BIT(4UL)
|
|
#define TACHO_CTRL_CNT_Pos (16UL)
|
|
#define TACHO_CTRL_CNT_Msk GENMASK(31, TACHO_CTRL_CNT_Pos)
|
|
/* STS */
|
|
#define TACHO_STS_LIMIT BIT(0UL)
|
|
#define TACHO_STS_PIN BIT(1UL)
|
|
#define TACHO_STS_CHG BIT(2UL)
|
|
#define TACHO_STS_CNTRDY BIT(3UL)
|
|
/* LIMITH */
|
|
#define TACHO_LIMITH_VAL_Pos (0UL)
|
|
#define TACHO_LIMITH_VAL_Msk GENMASK(15, TACHO_LIMITH_VAL_Pos)
|
|
/* LIMITL */
|
|
#define TACHO_LIMITL_VAL_Pos (0UL)
|
|
#define TACHO_LIMITL_VAL_Msk GENMASK(15, TACHO_LIMITL_VAL_Pos)
|
|
/* INTEN */
|
|
#define TACHO_INTEN_LIMITEN BIT(0UL)
|
|
#define TACHO_INTEN_CNTRDYEN BIT(1UL)
|
|
#define TACHO_INTEN_CHGEN BIT(2UL)
|
|
|
|
#endif /* ZEPHYR_SOC_REALTEK_RTS5912_REG_TACHO_H */
|