aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/renesas/rcar/pfc/pfc_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/renesas/rcar/pfc/pfc_init.c')
-rw-r--r--drivers/staging/renesas/rcar/pfc/pfc_init.c16
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