diff options
Diffstat (limited to 'drivers/renesas/rzg/pfc/pfc_init.c')
-rw-r--r-- | drivers/renesas/rzg/pfc/pfc_init.c | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/drivers/renesas/rzg/pfc/pfc_init.c b/drivers/renesas/rzg/pfc/pfc_init.c index f51992d2e..762450cd2 100644 --- a/drivers/renesas/rzg/pfc/pfc_init.c +++ b/drivers/renesas/rzg/pfc/pfc_init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Renesas Electronics Corporation. All rights reserved. + * Copyright (c) 2020-2021, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -9,11 +9,23 @@ #include <lib/mmio.h> #if RCAR_LSI == RCAR_AUTO +#include "G2E/pfc_init_g2e.h" +#include "G2H/pfc_init_g2h.h" #include "G2M/pfc_init_g2m.h" +#include "G2N/pfc_init_g2n.h" #endif /* RCAR_LSI == RCAR_AUTO */ +#if (RCAR_LSI == RZ_G2E) +#include "G2E/pfc_init_g2e.h" +#endif /* RCAR_LSI == RZ_G2N */ +#if (RCAR_LSI == RZ_G2H) +#include "G2H/pfc_init_g2h.h" +#endif /* RCAR_LSI == RZ_G2H */ #if (RCAR_LSI == RZ_G2M) #include "G2M/pfc_init_g2m.h" #endif /* RCAR_LSI == RZ_G2M */ +#if (RCAR_LSI == RZ_G2N) +#include "G2N/pfc_init_g2n.h" +#endif /* RCAR_LSI == RZ_G2N */ #include "rcar_def.h" #define PRR_PRODUCT_ERR(reg) \ @@ -40,6 +52,15 @@ void rzg_pfc_init(void) case PRR_PRODUCT_M3: pfc_init_g2m(); break; + case PRR_PRODUCT_H3: + pfc_init_g2h(); + break; + case PRR_PRODUCT_M3N: + pfc_init_g2n(); + break; + case PRR_PRODUCT_E3: + pfc_init_g2e(); + break; default: PRR_PRODUCT_ERR(reg); break; @@ -54,6 +75,27 @@ void rzg_pfc_init(void) pfc_init_g2m(); #endif /* RCAR_LSI != RZ_G2M */ break; + case PRR_PRODUCT_H3: +#if (RCAR_LSI != RZ_G2H) + PRR_PRODUCT_ERR(reg); +#else /* RCAR_LSI != RZ_G2H */ + pfc_init_g2h(); +#endif /* RCAR_LSI != RZ_G2H */ + break; + case PRR_PRODUCT_M3N: +#if RCAR_LSI != RZ_G2N + PRR_PRODUCT_ERR(reg); +#else + pfc_init_g2n(); +#endif /* RCAR_LSI != RZ_G2N */ + break; + case PRR_PRODUCT_E3: +#if RCAR_LSI != RZ_G2E + PRR_PRODUCT_ERR(reg); +#else + pfc_init_g2e(); +#endif + break; default: PRR_PRODUCT_ERR(reg); break; @@ -65,6 +107,21 @@ void rzg_pfc_init(void) PRR_PRODUCT_ERR(reg); } pfc_init_m3(); +#elif (RCAR_LSI == RZ_G2H) + if ((reg & PRR_PRODUCT_MASK) != PRR_PRODUCT_H3) { + PRR_PRODUCT_ERR(reg); + } + pfc_init_g2h(); +#elif (RCAR_LSI == RZ_G2N) /* G2N */ + if ((reg & PRR_PRODUCT_MASK) != PRR_PRODUCT_M3N) { + PRR_PRODUCT_ERR(reg); + } + pfc_init_g2n(); +#elif (RCAR_LSI == RZ_G2E) + if ((reg & PRR_PRODUCT_MASK) != PRR_PRODUCT_E3) { + PRR_PRODUCT_ERR(reg); + } + pfc_init_g2e(); #else /* RCAR_LSI == RZ_G2M */ #error "Don't have PFC initialize routine(unknown)." #endif /* RCAR_LSI == RZ_G2M */ |