mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 14:34:28 +08:00
e2ad626f8f
It has been pointed out that naming a subsystem "genpd" isn't very self-explanatory and the acronym itself that means Generic PM Domain, is known only by a limited group of people. In a way to improve the situation, let's rename the subsystem to pmdomain, which ideally should indicate that this is about so called Power Domains or "PM domains" as we often also use within the Linux Kernel terminology. Suggested-by: Rafael J. Wysocki <rafael@kernel.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Rafael J. Wysocki <rafael@kernel.org> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20230912221127.487327-1-ulf.hansson@linaro.org
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* R-Car Gen4 System Controller
|
|
*
|
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
|
*/
|
|
#ifndef __SOC_RENESAS_RCAR_GEN4_SYSC_H__
|
|
#define __SOC_RENESAS_RCAR_GEN4_SYSC_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
/*
|
|
* Power Domain flags
|
|
*/
|
|
#define PD_CPU BIT(0) /* Area contains main CPU core */
|
|
#define PD_SCU BIT(1) /* Area contains SCU and L2 cache */
|
|
#define PD_NO_CR BIT(2) /* Area lacks PWR{ON,OFF}CR registers */
|
|
|
|
#define PD_CPU_NOCR (PD_CPU | PD_NO_CR) /* CPU area lacks CR */
|
|
#define PD_ALWAYS_ON PD_NO_CR /* Always-on area */
|
|
|
|
/*
|
|
* Description of a Power Area
|
|
*/
|
|
struct rcar_gen4_sysc_area {
|
|
const char *name;
|
|
u8 pdr; /* PDRn */
|
|
s8 parent; /* -1 if none */
|
|
u8 flags; /* See PD_* */
|
|
};
|
|
|
|
/*
|
|
* SoC-specific Power Area Description
|
|
*/
|
|
struct rcar_gen4_sysc_info {
|
|
const struct rcar_gen4_sysc_area *areas;
|
|
unsigned int num_areas;
|
|
};
|
|
|
|
extern const struct rcar_gen4_sysc_info r8a779a0_sysc_info;
|
|
extern const struct rcar_gen4_sysc_info r8a779f0_sysc_info;
|
|
extern const struct rcar_gen4_sysc_info r8a779g0_sysc_info;
|
|
|
|
#endif /* __SOC_RENESAS_RCAR_GEN4_SYSC_H__ */
|