@@ -351,4 +351,7 @@
#define NMIN_DSP 0x460
#define RSTOUTN 0x464
+#define MCAN_SEL_ALT_MASK 0x6000
+#define MCAN_SEL 0x2000
+
#endif /* _MUX_DRA7XX_H_ */
@@ -761,6 +761,11 @@ void recalibrate_iodelay(void)
int npads, niodelays, delta_npads = 0;
int ret;
+ /* Setup I/O isolation */
+ ret = __recalibrate_iodelay_start();
+ if (ret)
+ goto err;
+
switch (omap_revision()) {
case DRA722_ES1_0:
case DRA722_ES2_0:
@@ -798,6 +803,9 @@ void recalibrate_iodelay(void)
npads = ARRAY_SIZE(dra76x_core_padconf_array);
iodelay = dra76x_es1_0_iodelay_cfg_array;
niodelays = ARRAY_SIZE(dra76x_es1_0_iodelay_cfg_array);
+ /* Set mux for MCAN instead of DCAN1 */
+ clrsetbits_le32((*ctrl)->control_core_control_spare_rw,
+ MCAN_SEL_ALT_MASK, MCAN_SEL);
break;
default:
case DRA752_ES2_0:
@@ -810,10 +818,6 @@ void recalibrate_iodelay(void)
RGMII1_ID_MODE_N_MASK);
break;
}
- /* Setup I/O isolation */
- ret = __recalibrate_iodelay_start();
- if (ret)
- goto err;
/* Do the muxing here */
do_set_mux32((*ctrl)->control_padconf_core_base, pads, npads);