From: Ran Wang <ran.wang_1@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 7/8] armv7: Add workaround for USB erratum A-008997
Date: Mon, 28 Aug 2017 17:15:32 +0800 [thread overview]
Message-ID: <20170828091533.15133-7-ran.wang_1@nxp.com> (raw)
In-Reply-To: <20170828091533.15133-1-ran.wang_1@nxp.com>
Low Frequency Periodic Singaling (LFPS) Peak-to-Peak Differential
Output Voltage Test Compliance fails using default transmitter settings
Change config of transmitter signal swings by setting register
PCSTXSWINGFULL to 0x47 to pass compliance tests.
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: Suresh Gupta <suresh.gupta@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
---
Change in v4:
Update commit message about register setting.
Rename USB_PCSTXSWINGFULL to SCFG_USB_PCSTXSWINGFULL.
Change in v3:
- none
Change in v2:
In function erratum_a008997():
1.Put a blank line after variable declaration.
arch/arm/cpu/armv7/ls102xa/Kconfig | 6 ++++++
arch/arm/cpu/armv7/ls102xa/soc.c | 14 ++++++++++++++
arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h | 3 +++
3 files changed, 23 insertions(+)
diff --git a/arch/arm/cpu/armv7/ls102xa/Kconfig b/arch/arm/cpu/armv7/ls102xa/Kconfig
index f09766cf03..ee09dd6fed 100644
--- a/arch/arm/cpu/armv7/ls102xa/Kconfig
+++ b/arch/arm/cpu/armv7/ls102xa/Kconfig
@@ -7,6 +7,7 @@ config ARCH_LS1021A
select SYS_FSL_ERRATUM_A010315
select SYS_FSL_ERRATUM_A009008
select SYS_FSL_ERRATUM_A009798
+ select SYS_FSL_ERRATUM_A008997
select SYS_FSL_SRDS_1
select SYS_HAS_SERDES
select SYS_FSL_DDR_BE if SYS_FSL_DDR
@@ -64,6 +65,11 @@ config SYS_FSL_ERRATUM_A009798
help
Workaround for USB PHY erratum A009798
+config SYS_FSL_ERRATUM_A008997
+ bool
+ help
+ Workaround for USB PHY erratum A008997
+
config SYS_FSL_SRDS_1
bool
diff --git a/arch/arm/cpu/armv7/ls102xa/soc.c b/arch/arm/cpu/armv7/ls102xa/soc.c
index 487b5cf0ec..ee9eb59f59 100644
--- a/arch/arm/cpu/armv7/ls102xa/soc.c
+++ b/arch/arm/cpu/armv7/ls102xa/soc.c
@@ -83,6 +83,19 @@ static void erratum_a009798(void)
#endif /* CONFIG_SYS_FSL_ERRATUM_A009798 */
}
+static void erratum_a008997(void)
+{
+#ifdef CONFIG_SYS_FSL_ERRATUM_A008997
+ u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
+ u32 val = in_be32(scfg + SCFG_USB3PRM2CR / 4);
+
+ val &= ~SCFG_USB_PCSTXSWINGFULL_MASK;
+ val |= SCFG_USB_PCSTXSWINGFULL_VAL;
+ out_be32(scfg + SCFG_USB3PRM2CR / 4, val);
+#endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */
+}
+
+
void s_init(void)
{
}
@@ -172,6 +185,7 @@ int arch_soc_init(void)
/* Erratum */
erratum_a009008();
erratum_a009798();
+ erratum_a008997();
return 0;
}
diff --git a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
index 5762d3308a..e5c06170da 100644
--- a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
+++ b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
@@ -177,6 +177,9 @@ struct ccsr_gur {
#define SCFG_USB3PRM1CR 0x070
#define SCFG_USB_TXVREFTUNE 0x9
#define SCFG_USB_SQRXTUNE_MASK 0x7
+#define SCFG_USB3PRM2CR 0x074
+#define SCFG_USB_PCSTXSWINGFULL_MASK 0x0000FE00
+#define SCFG_USB_PCSTXSWINGFULL_VAL 0x00008E00
/* Supplemental Configuration Unit */
struct ccsr_scfg {
--
2.14.1
next prev parent reply other threads:[~2017-08-28 9:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-28 9:15 [U-Boot] [PATCH v4 1/8] armv8: Add workaround for USB erratum A-009008 Ran Wang
2017-08-28 9:15 ` [U-Boot] [PATCH v4 2/8] armv8: Add workaround for USB erratum A-009798 Ran Wang
2017-08-28 9:15 ` [U-Boot] [PATCH v4 3/8] armv8: Add workaround for USB erratum A-008997 Ran Wang
2017-08-30 18:06 ` York Sun
2017-08-31 2:10 ` Ran Wang
2017-08-28 9:15 ` [U-Boot] [PATCH v4 4/8] armv8: Add workaround for USB erratum A-009007 Ran Wang
2017-08-28 9:15 ` [U-Boot] [PATCH v4 5/8] armv7: Add workaround for USB erratum A-009008 Ran Wang
2017-08-28 9:15 ` [U-Boot] [PATCH v4 6/8] armv7: Add workaround for USB erratum A-009798 Ran Wang
2017-08-28 9:15 ` Ran Wang [this message]
2017-08-28 9:15 ` [U-Boot] [PATCH v4 8/8] armv7: Add workaround for USB erratum A-009007 Ran Wang
2017-08-30 18:06 ` [U-Boot] [PATCH v4 1/8] armv8: Add workaround for USB erratum A-009008 York Sun
2017-08-31 2:25 ` Ran Wang
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=20170828091533.15133-7-ran.wang_1@nxp.com \
--to=ran.wang_1@nxp.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.