@@ -983,7 +983,7 @@ static int gpmi_setup_interface(struct nand_chip *chip, int chipnr,
983
983
return PTR_ERR (sdr );
984
984
985
985
/* Only MX28/MX6 GPMI controller can reach EDO timings */
986
- if (sdr -> tRC_min <= 25000 && !GPMI_IS_MX28 ( this ) && ! GPMI_IS_MX6 ( this ) )
986
+ if (sdr -> tRC_min <= 25000 && !this -> devdata -> support_edo_timing )
987
987
return - ENOTSUPP ;
988
988
989
989
/* Stop here if this call was just a check */
@@ -1142,6 +1142,7 @@ static const struct gpmi_devdata gpmi_devdata_imx28 = {
1142
1142
.type = IS_MX28 ,
1143
1143
.bch_max_ecc_strength = 20 ,
1144
1144
.max_chain_delay = 16000 ,
1145
+ .support_edo_timing = true,
1145
1146
.clks = gpmi_clks_for_mx2x ,
1146
1147
.clks_count = ARRAY_SIZE (gpmi_clks_for_mx2x ),
1147
1148
};
@@ -1154,6 +1155,7 @@ static const struct gpmi_devdata gpmi_devdata_imx6q = {
1154
1155
.type = IS_MX6Q ,
1155
1156
.bch_max_ecc_strength = 40 ,
1156
1157
.max_chain_delay = 12000 ,
1158
+ .support_edo_timing = true,
1157
1159
.clks = gpmi_clks_for_mx6 ,
1158
1160
.clks_count = ARRAY_SIZE (gpmi_clks_for_mx6 ),
1159
1161
};
@@ -1162,6 +1164,7 @@ static const struct gpmi_devdata gpmi_devdata_imx6sx = {
1162
1164
.type = IS_MX6SX ,
1163
1165
.bch_max_ecc_strength = 62 ,
1164
1166
.max_chain_delay = 12000 ,
1167
+ .support_edo_timing = true,
1165
1168
.clks = gpmi_clks_for_mx6 ,
1166
1169
.clks_count = ARRAY_SIZE (gpmi_clks_for_mx6 ),
1167
1170
};
@@ -1174,6 +1177,7 @@ static const struct gpmi_devdata gpmi_devdata_imx7d = {
1174
1177
.type = IS_MX7D ,
1175
1178
.bch_max_ecc_strength = 62 ,
1176
1179
.max_chain_delay = 12000 ,
1180
+ .support_edo_timing = true,
1177
1181
.clks = gpmi_clks_for_mx7d ,
1178
1182
.clks_count = ARRAY_SIZE (gpmi_clks_for_mx7d ),
1179
1183
};
0 commit comments