fix: fdt, usb: a38x: fixed wrong usb3 node disabling for: DB-GP,DB-AP,DB-AMC
- Issue
(when fdt update enabled, for Marvell boards :DB-GP,DB-AP,DB-AMC)
* In mvBoardIsUsb3PortDevice, the return value from mvBoardSatRRead
wasn't handled correctly, so the function returned MV_TRUE when
mvBoardSatRRead returned MV_ERROR
* The call to mvBoardSatRRead on boards that doesn't support
'usb3port0/1' fields,
printed error message.
- Fix:
Added check on the boardId before calling
mvBoardSatRRead, and handle the return value correctly.
- Fixed JIRA:1965
Change-Id: Ifdd1cee974016efd64ea2aa92cf84b30dc3479a8
Signed-off-by: Bassel Saba <basselsa@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/23168
Reviewed-by: Omri Itach <omrii@marvell.com>
Tested-by: Omri Itach <omrii@marvell.com>
(cherry picked from commit e389e1dc0d1f0962174d8788237b02f6424f0788)
Reviewed-on: http://vgitil04.il.marvell.com:8080/23174
Tested-by: Star_Automation <star@marvell.com>
diff --git a/board/mv_ebu/a38x/armada_38x_family/boardEnv/mvBoardEnvLib38x.c b/board/mv_ebu/a38x/armada_38x_family/boardEnv/mvBoardEnvLib38x.c
index 089333c..4c2ed94 100644
--- a/board/mv_ebu/a38x/armada_38x_family/boardEnv/mvBoardEnvLib38x.c
+++ b/board/mv_ebu/a38x/armada_38x_family/boardEnv/mvBoardEnvLib38x.c
@@ -131,10 +131,19 @@
*******************************************************************************/
MV_BOOL mvBoardIsUsb3PortDevice(MV_U32 port)
{
+ MV_U32 boardId, satrReadResult;
+
if (port < 0 || port >= MV_USB3_MAX_HOST_PORTS)
return MV_FALSE;
- if (mvBoardSatRRead((MV_U32)MV_SATR_DB_USB3_PORT0 + port))
+ boardId = mvBoardIdGet();
+ /* since 'usb3port0' and 'usb3port1' are only supported on
+ * DB-BP and DB-6821-BP, return MV_FALSE if we are not on these boards */
+ if (!(boardId == DB_68XX_ID || boardId == DB_BP_6821_ID))
+ return MV_FALSE;
+
+ satrReadResult = mvBoardSatRRead((MV_U32)MV_SATR_DB_USB3_PORT0 + port);
+ if (satrReadResult != MV_ERROR && satrReadResult)
return MV_TRUE;
return MV_FALSE;