From 7eb5f0a192efbe1fa94490881858ed45c5373233 Mon Sep 17 00:00:00 2001
From: Camelia Groza <camelia.groza@nxp.com>
Date: Mon, 2 Apr 2018 18:19:27 +0300
Subject: [PATCH] sdk_fman: on P-series platforms, the OH ports start at offset
 1

Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
---
 .../ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

--- a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c
+++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c
@@ -307,9 +307,17 @@ static t_LnxWrpFmPortDev *ReadFmPortDevT
 	    of_device_is_compatible(port_node, "fsl,fman-v2-port-oh") ||
 	    of_device_is_compatible(port_node, "fsl,fman-v3-port-oh")) {
 #ifndef CONFIG_FMAN_ARM
-		/* On PPC, OH ports start from cell-index 0x2 */
+#ifdef CONFIG_FMAN_P3040_P4080_P5020
+		/* On PPC FMan v2, OH ports start from cell-index 0x1 */
+		tmp_prop -= 0x1;
+#else
+		/* On PPC FMan v3 (Low and High), OH ports start from
+		 * cell-index 0x2
+		 */
 		tmp_prop -= 0x2;
-#endif
+#endif // CONFIG_FMAN_P3040_P4080_P5020
+#endif // CONFIG_FMAN_ARM
+
 		if (unlikely(tmp_prop >= FM_MAX_NUM_OF_OH_PORTS)) {
 			REPORT_ERROR(MAJOR, E_INVALID_VALUE,
 				     ("of_get_property(%s, cell-index) failed",