All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aswath Govindraju <a-govindraju@ti.com>
To: u-boot@lists.denx.de
Subject: [PATCH 1/3] board: ti: am65x: Set SERDES0 mux to PCIe to use USB 2.0 interface
Date: Fri, 20 Nov 2020 21:18:53 +0530	[thread overview]
Message-ID: <20201120154855.9065-2-a-govindraju@ti.com> (raw)
In-Reply-To: <20201120154855.9065-1-a-govindraju@ti.com>

It has been observed that setting SERDES0 lane mux to USB prevents USB 2.0
operation on USB0. Setting SERDES0 lane mux to non-USB when USB0 is used in
USB 2.0 only mode solves this issue. However, for USB3.0+2.0 operation this
issue is not present.

Implement this workaround by writing 1 to LANE_FUNC_SEL field in
CTRLMMR_SERDES0_CTRL register.

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
 board/ti/am65x/evm.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index 36063b11383d..4438f14e4ff1 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -38,6 +38,10 @@ enum {
 /* Max number of MAC addresses that are parsed/processed per daughter card */
 #define DAUGHTER_CARD_NO_OF_MAC_ADDR	8
 
+/* Regiter that controls the SERDES0 lane and clock assignment */
+#define CTRLMMR_SERDES0_CTRL    0x00104080
+#define PCIE_LANE0              0x1
+
 DECLARE_GLOBAL_DATA_PTR;
 
 int board_init(void)
@@ -312,6 +316,18 @@ static int probe_daughtercards(void)
 						      (uchar *)mac_addr[j]);
 		}
 
+		/*
+		 * It has been observed that setting SERDES0 lane mux to USB prevents USB
+		 * 2.0 operation on USB0. Setting SERDES0 lane mux to non-USB when USB0 is
+		 * used in USB 2.0 only mode solves this issue. For USB3.0+2.0 operation
+		 * this issue is not present.
+		 *
+		 * Implement this workaround by writing 1 to LANE_FUNC_SEL field in
+		 * CTRLMMR_SERDES0_CTRL register.
+		 */
+		if (!strncmp(ep.name, "SER-PCIE2LEVM", sizeof(ep.name)))
+			writel(PCIE_LANE0, CTRLMMR_SERDES0_CTRL);
+
 		/* Skip if no overlays are to be added */
 		if (!strlen(cards[i].dtbo_name))
 			continue;
-- 
2.17.1

  reply	other threads:[~2020-11-20 15:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20 15:48 [PATCH 0/3] usb: am654: Add support for host mode to the USB port on overlay board Aswath Govindraju
2020-11-20 15:48 ` Aswath Govindraju [this message]
2020-11-20 15:48 ` [PATCH 2/3] dts: am654-base-board-uboot: Set USB0 dr_mode to host Aswath Govindraju
2020-12-21 15:12   ` Lokesh Vutla
2020-12-21 15:48     ` Aswath Govindraju
2020-11-20 15:48 ` [PATCH 3/3] dts: am654-base-board-uboot: Add aliases for USB subsystems Aswath Govindraju
2020-11-23  8:26 ` [PATCH 0/3] usb: am654: Add support for host mode to the USB port on overlay board Roger Quadros
2020-12-23  8:13 ` Lokesh Vutla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201120154855.9065-2-a-govindraju@ti.com \
    --to=a-govindraju@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.