From 0bf31a7cd296792564a1e9ef14c8cb0e550d5f52 Mon Sep 17 00:00:00 2001 From: Vandhiadevan Karunamoorthy Date: Thu, 25 Jun 2020 12:31:13 +0530 Subject: [PATCH] ipq5018: skip USB init & deinit if EUD enable. Signed-off-by: Vandhiadevan Karunamoorthy Change-Id: I156d64a35048d5170424047e08b34304219357f0 --- board/qca/arm/ipq5018/ipq5018.c | 14 +++++++++++++- board/qca/arm/ipq5018/ipq5018.h | 5 +++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/board/qca/arm/ipq5018/ipq5018.c b/board/qca/arm/ipq5018/ipq5018.c index 5eb92e3625..4bcbf5255f 100644 --- a/board/qca/arm/ipq5018/ipq5018.c +++ b/board/qca/arm/ipq5018/ipq5018.c @@ -1077,6 +1077,13 @@ void board_usb_deinit(int id) { int nodeoff, ssphy; char node_name[8]; + + if(readl(EUD_EUD_EN2)) + /* + * Eud enable skipping deinit part + */ + return; + snprintf(node_name, sizeof(node_name), "usb%d", id); nodeoff = fdt_path_offset(gd->fdt_blob, node_name); if (fdtdec_get_int(gd->fdt_blob, nodeoff, "qcom,emulation", 0)) @@ -1244,12 +1251,17 @@ int ipq_board_usb_init(void) int i, nodeoff, ssphy; char node_name[8]; + if(readl(EUD_EUD_EN2)) { + printf("USB: EUD Enable, skipping initialization\n"); + return 0; + } + for (i=0; ifdt_blob, node_name); if (nodeoff < 0){ printf("USB: Node Not found, skipping initialization\n"); - return -1; + return 0; } ssphy = fdtdec_get_int(gd->fdt_blob, nodeoff, "ssphy", 0); diff --git a/board/qca/arm/ipq5018/ipq5018.h b/board/qca/arm/ipq5018/ipq5018.h index e8512ccde6..b6fcaa9799 100644 --- a/board/qca/arm/ipq5018/ipq5018.h +++ b/board/qca/arm/ipq5018/ipq5018.h @@ -19,6 +19,11 @@ #include #include "phy.h" +/* + * Eud register + */ +#define EUD_EUD_EN2 0x0005A000 + #define MSM_SDC1_BASE 0x7800000 #define MSM_SDC1_SDHCI_BASE 0x7804000