From 7eb5f0a192efbe1fa94490881858ed45c5373233 Mon Sep 17 00:00:00 2001 From: Camelia Groza 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 --- .../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",