1*e2ad626fSUlf Hansson /* SPDX-License-Identifier: GPL-2.0 */ 2*e2ad626fSUlf Hansson /* 3*e2ad626fSUlf Hansson * R-Car Gen4 System Controller 4*e2ad626fSUlf Hansson * 5*e2ad626fSUlf Hansson * Copyright (C) 2021 Renesas Electronics Corp. 6*e2ad626fSUlf Hansson */ 7*e2ad626fSUlf Hansson #ifndef __SOC_RENESAS_RCAR_GEN4_SYSC_H__ 8*e2ad626fSUlf Hansson #define __SOC_RENESAS_RCAR_GEN4_SYSC_H__ 9*e2ad626fSUlf Hansson 10*e2ad626fSUlf Hansson #include <linux/types.h> 11*e2ad626fSUlf Hansson 12*e2ad626fSUlf Hansson /* 13*e2ad626fSUlf Hansson * Power Domain flags 14*e2ad626fSUlf Hansson */ 15*e2ad626fSUlf Hansson #define PD_CPU BIT(0) /* Area contains main CPU core */ 16*e2ad626fSUlf Hansson #define PD_SCU BIT(1) /* Area contains SCU and L2 cache */ 17*e2ad626fSUlf Hansson #define PD_NO_CR BIT(2) /* Area lacks PWR{ON,OFF}CR registers */ 18*e2ad626fSUlf Hansson 19*e2ad626fSUlf Hansson #define PD_CPU_NOCR (PD_CPU | PD_NO_CR) /* CPU area lacks CR */ 20*e2ad626fSUlf Hansson #define PD_ALWAYS_ON PD_NO_CR /* Always-on area */ 21*e2ad626fSUlf Hansson 22*e2ad626fSUlf Hansson /* 23*e2ad626fSUlf Hansson * Description of a Power Area 24*e2ad626fSUlf Hansson */ 25*e2ad626fSUlf Hansson struct rcar_gen4_sysc_area { 26*e2ad626fSUlf Hansson const char *name; 27*e2ad626fSUlf Hansson u8 pdr; /* PDRn */ 28*e2ad626fSUlf Hansson s8 parent; /* -1 if none */ 29*e2ad626fSUlf Hansson u8 flags; /* See PD_* */ 30*e2ad626fSUlf Hansson }; 31*e2ad626fSUlf Hansson 32*e2ad626fSUlf Hansson /* 33*e2ad626fSUlf Hansson * SoC-specific Power Area Description 34*e2ad626fSUlf Hansson */ 35*e2ad626fSUlf Hansson struct rcar_gen4_sysc_info { 36*e2ad626fSUlf Hansson const struct rcar_gen4_sysc_area *areas; 37*e2ad626fSUlf Hansson unsigned int num_areas; 38*e2ad626fSUlf Hansson }; 39*e2ad626fSUlf Hansson 40*e2ad626fSUlf Hansson extern const struct rcar_gen4_sysc_info r8a779a0_sysc_info; 41*e2ad626fSUlf Hansson extern const struct rcar_gen4_sysc_info r8a779f0_sysc_info; 42*e2ad626fSUlf Hansson extern const struct rcar_gen4_sysc_info r8a779g0_sysc_info; 43*e2ad626fSUlf Hansson 44*e2ad626fSUlf Hansson #endif /* __SOC_RENESAS_RCAR_GEN4_SYSC_H__ */ 45