From 31e210f2e7f0ec8fcac2ebf01dd422c6d4c77e29 Mon Sep 17 00:00:00 2001 From: Vandhiadevan Karunamoorthy Date: Thu, 15 Jul 2021 17:39:25 +0530 Subject: [PATCH] ipq9574: Add EUD check support This change skip USB init if EUD is enable. Signed-off-by: Vandhiadevan Karunamoorthy Change-Id: I26b4177b1b4fdf08ab3fbff81a71eb09c3b8b4a3 --- board/qca/arm/ipq9574/ipq9574.c | 11 +++++++++++ board/qca/arm/ipq9574/ipq9574.h | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/board/qca/arm/ipq9574/ipq9574.c b/board/qca/arm/ipq9574/ipq9574.c index b051ac4428..f3347ca81f 100644 --- a/board/qca/arm/ipq9574/ipq9574.c +++ b/board/qca/arm/ipq9574/ipq9574.c @@ -284,6 +284,12 @@ void board_usb_deinit(int id) int nodeoff; 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)) @@ -505,6 +511,11 @@ int ipq_board_usb_init(void) int i, nodeoff; char node_name[8]; + if(readl(EUD_EUD_EN2)) { + printf("USB: EUD Enable, skipping initialization\n"); + return 0; + } + for (i = 0; i < CONFIG_USB_MAX_CONTROLLER_COUNT; i++) { snprintf(node_name, sizeof(node_name), "usb%d", i); nodeoff = fdt_path_offset(gd->fdt_blob, node_name); diff --git a/board/qca/arm/ipq9574/ipq9574.h b/board/qca/arm/ipq9574/ipq9574.h index 3ecbcea82a..215bd782d4 100644 --- a/board/qca/arm/ipq9574/ipq9574.h +++ b/board/qca/arm/ipq9574/ipq9574.h @@ -238,6 +238,11 @@ __weak void board_pcie_clock_init(int id) {} unsigned int __invoke_psci_fn_smc(unsigned int, unsigned int, unsigned int, unsigned int); +/* + * Eud register + */ +#define EUD_EUD_EN2 0x7A000 + /** * Number of RAM partition entries which are usable by APPS. */