diff options
author | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-06-17 19:29:03 +0200 |
---|---|---|
committer | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-06-22 17:33:10 +0200 |
commit | 2a690b6dbd3982104eabfb9639567bdf3bacc7bb (patch) | |
tree | 321c14a5133e45b0bc79dd978bda884d0a281e64 /drivers/staging/renesas/rcar/pfc/pfc_init.c | |
parent | 278998257409ab0708917f53cd53cd9030016887 (diff) | |
download | trusted-firmware-a-2a690b6dbd3982104eabfb9639567bdf3bacc7bb.tar.gz |
rcar_gen3: drivers: pfc: Move PFC drivers out of staging
Now that PFC drivers are cleaned up , move them out of staging.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ie594b53558c2bfb8e5d88e5b0354752c17a2487e
Diffstat (limited to 'drivers/staging/renesas/rcar/pfc/pfc_init.c')
-rw-r--r-- | drivers/staging/renesas/rcar/pfc/pfc_init.c | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/drivers/staging/renesas/rcar/pfc/pfc_init.c b/drivers/staging/renesas/rcar/pfc/pfc_init.c deleted file mode 100644 index e9455af51c..0000000000 --- a/drivers/staging/renesas/rcar/pfc/pfc_init.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (c) 2015-2018, Renesas Electronics Corporation. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include <stdint.h> - -#include <common/debug.h> -#include <lib/mmio.h> - -#include "rcar_def.h" -#if RCAR_LSI == RCAR_AUTO -#include "H3/pfc_init_h3_v1.h" -#include "H3/pfc_init_h3_v2.h" -#include "M3/pfc_init_m3.h" -#include "M3N/pfc_init_m3n.h" -#include "V3M/pfc_init_v3m.h" -#endif -#if (RCAR_LSI == RCAR_H3) || (RCAR_LSI == RCAR_H3N) /* H3 */ -#include "H3/pfc_init_h3_v1.h" -#include "H3/pfc_init_h3_v2.h" -#endif -#if RCAR_LSI == RCAR_M3 /* M3 */ -#include "M3/pfc_init_m3.h" -#endif -#if RCAR_LSI == RCAR_M3N /* M3N */ -#include "M3N/pfc_init_m3n.h" -#endif -#if RCAR_LSI == RCAR_V3M /* V3M */ -#include "V3M/pfc_init_v3m.h" -#endif -#if RCAR_LSI == RCAR_E3 /* E3 */ -#include "E3/pfc_init_e3.h" -#endif -#if RCAR_LSI == RCAR_D3 /* D3 */ -#include "D3/pfc_init_d3.h" -#endif - - /* Product Register */ -#define PRR (0xFFF00044U) -#define PRR_PRODUCT_MASK (0x00007F00U) -#define PRR_CUT_MASK (0x000000FFU) -#define PRR_PRODUCT_H3 (0x00004F00U) /* R-Car H3 */ -#define PRR_PRODUCT_M3 (0x00005200U) /* R-Car M3 */ -#define PRR_PRODUCT_V3M (0x00005400U) /* R-Car V3M */ -#define PRR_PRODUCT_M3N (0x00005500U) /* R-Car M3N */ -#define PRR_PRODUCT_E3 (0x00005700U) /* R-Car E3 */ -#define PRR_PRODUCT_D3 (0x00005800U) /* R-Car D3 */ -#define PRR_PRODUCT_10 (0x00U) -#define PRR_PRODUCT_11 (0x01U) -#define PRR_PRODUCT_20 (0x10U) - -#define PRR_PRODUCT_ERR(reg) \ - do { \ - ERROR("LSI Product ID(PRR=0x%x) PFC initialize not supported.\n", \ - reg); \ - panic(); \ - } while (0) - -#define PRR_CUT_ERR(reg) \ - do { \ - ERROR("LSI Cut ID(PRR=0x%x) PFC initialize not supported.\n", \ - reg); \ - panic();\ - } while (0) - -void rcar_pfc_init(void) -{ - uint32_t reg; - - reg = mmio_read_32(RCAR_PRR); -#if RCAR_LSI == RCAR_AUTO - switch (reg & RCAR_PRODUCT_MASK) { - case RCAR_PRODUCT_H3: - switch (reg & PRR_CUT_MASK) { - case PRR_PRODUCT_10: /* H3 Ver.1.0 */ - pfc_init_h3_v1(); - break; - case PRR_PRODUCT_11: /* H3 Ver.1.1 */ - pfc_init_h3_v1(); - break; - default: /* H3 Ver.2.0 or later */ - pfc_init_h3_v2(); - break; - } - break; - case RCAR_PRODUCT_M3: - pfc_init_m3(); - break; - case RCAR_PRODUCT_M3N: - pfc_init_m3n(); - break; - case RCAR_PRODUCT_V3M: - pfc_init_v3m(); - break; - default: - PRR_PRODUCT_ERR(reg); - break; - } - -#elif RCAR_LSI_CUT_COMPAT - switch (reg & PRR_PRODUCT_MASK) { - case PRR_PRODUCT_H3: -#if (RCAR_LSI != RCAR_H3) && (RCAR_LSI != RCAR_H3N) - PRR_PRODUCT_ERR(reg); -#else - switch (reg & PRR_CUT_MASK) { - case PRR_PRODUCT_10: /* H3 Ver.1.0 */ - pfc_init_h3_v1(); - break; - case PRR_PRODUCT_11: /* H3 Ver.1.1 */ - pfc_init_h3_v1(); - break; - default: /* H3 Ver.2.0 or later */ - pfc_init_h3_v2(); - break; - } -#endif - break; - case PRR_PRODUCT_M3: -#if RCAR_LSI != RCAR_M3 - PRR_PRODUCT_ERR(reg); -#else - pfc_init_m3(); -#endif - break; - case PRR_PRODUCT_M3N: -#if RCAR_LSI != RCAR_M3N - PRR_PRODUCT_ERR(reg); -#else - pfc_init_m3n(); -#endif - break; - case PRR_PRODUCT_V3M: -#if RCAR_LSI != RCAR_V3M - PRR_PRODUCT_ERR(reg); -#else - pfc_init_v3m(); -#endif - break; - case PRR_PRODUCT_E3: -#if RCAR_LSI != RCAR_E3 - PRR_PRODUCT_ERR(reg); -#else - pfc_init_e3(); -#endif - break; - case PRR_PRODUCT_D3: -#if RCAR_LSI != RCAR_D3 - PRR_PRODUCT_ERR(reg); -#else - pfc_init_d3(); -#endif - break; - default: - PRR_PRODUCT_ERR(reg); - break; - } - -#else -#if (RCAR_LSI == RCAR_H3) || (RCAR_LSI == RCAR_H3N) /* H3 */ -#if RCAR_LSI_CUT == RCAR_CUT_10 - /* H3 Ver.1.0 */ - if ((PRR_PRODUCT_H3 | PRR_PRODUCT_10) - != (reg & (PRR_PRODUCT_MASK | PRR_CUT_MASK))) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_h3_v1(); -#elif RCAR_LSI_CUT == RCAR_CUT_11 - /* H3 Ver.1.1 */ - if ((PRR_PRODUCT_H3 | PRR_PRODUCT_11) - != (reg & (PRR_PRODUCT_MASK | PRR_CUT_MASK))) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_h3_v1(); -#else - /* H3 Ver.2.0 or later */ - if (PRR_PRODUCT_H3 != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_h3_v2(); -#endif -#elif RCAR_LSI == RCAR_M3 /* M3 */ - if ((PRR_PRODUCT_M3) != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_m3(); -#elif RCAR_LSI == RCAR_M3N /* M3N */ - if ((PRR_PRODUCT_M3N) != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_m3n(); -#elif RCAR_LSI == RCAR_V3M /* V3M */ - if ((PRR_PRODUCT_V3M) != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_v3m(); -#elif RCAR_LSI == RCAR_E3 /* E3 */ - if ((PRR_PRODUCT_E3) != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_e3(); -#elif RCAR_LSI == RCAR_D3 /* D3 */ - if ((PRR_PRODUCT_D3) != (reg & PRR_PRODUCT_MASK)) { - PRR_PRODUCT_ERR(reg); - } - pfc_init_d3(); -#else -#error "Don't have PFC initialize routine(unknown)." -#endif -#endif -} |