diff options
Diffstat (limited to 'drivers/staging/renesas/rcar/pfc/pfc_init.c')
-rw-r--r-- | drivers/staging/renesas/rcar/pfc/pfc_init.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/staging/renesas/rcar/pfc/pfc_init.c b/drivers/staging/renesas/rcar/pfc/pfc_init.c index f20e8b0b55..cec5624095 100644 --- a/drivers/staging/renesas/rcar/pfc/pfc_init.c +++ b/drivers/staging/renesas/rcar/pfc/pfc_init.c @@ -29,6 +29,9 @@ #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) @@ -38,6 +41,7 @@ #define PRR_PRODUCT_M3 (0x00005200U) /* R-Car M3 */ #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) @@ -124,6 +128,13 @@ void rcar_pfc_init(void) 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; @@ -167,6 +178,11 @@ void rcar_pfc_init(void) 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 |