[U-Boot] [PATCH] armv8: Add workaround for USB erratum A-009008

york sun york.sun at nxp.com
Mon Nov 7 19:59:38 CET 2016


On 10/25/2016 12:03 AM, Suresh Gupta wrote:
> USB High Speed (HS) EYE Height Adjustment
> USB HS speed eye diagram fails with the default value at
> many corners, particularly at a high temperature
>
> Optimal eye at TXVREFTUNE value to 1001 is observed, change
> set the same vale.
>
> Signed-off-by: Sriram Dash <sriram.dash at nxp.com>
> Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
> ---
>  arch/arm/cpu/armv8/fsl-layerscape/Kconfig          |  6 ++++++
>  arch/arm/cpu/armv8/fsl-layerscape/soc.c            | 25 ++++++++++++++++++++++
>  .../include/asm/arch-fsl-layerscape/immap_lsch2.h  |  6 ++++++
>  .../include/asm/arch-fsl-layerscape/immap_lsch3.h  |  1 +
>  4 files changed, 38 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> index 94ec8d5..ec3e50d 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> @@ -12,6 +12,7 @@ config ARCH_LS1043A
>  	select SYS_FSL_DDR_VER_50
>  	select SYS_FSL_ERRATUM_A010315
>  	select SYS_FSL_ERRATUM_A010539
> +	select SYS_FSL_ERRATUM_A009008
>
>  config ARCH_LS1046A
>  	bool
> @@ -21,6 +22,7 @@ config ARCH_LS1046A
>  	select SYS_FSL_DDR_VER_50
>  	select SYS_FSL_ERRATUM_A010539
>  	select SYS_FSL_SRDS_2
> +	select SYS_FSL_ERRATUM_A009008
>
>  config ARCH_LS2080A
>  	bool
> @@ -30,6 +32,7 @@ config ARCH_LS2080A
>  	select SYS_FSL_DDR_VER_50
>  	select SYS_FSL_HAS_DP_DDR
>  	select SYS_FSL_SRDS_2
> +	select SYS_FSL_ERRATUM_A009008
>
>  config FSL_LSCH2
>  	bool
> @@ -53,6 +56,9 @@ config SYS_FSL_ERRATUM_A010315
>  config SYS_FSL_ERRATUM_A010539
>  	bool "Workaround for PIN MUX erratum A010539"
>
> +config SYS_FSL_ERRATUM_A009008
> +	bool "Workaround for USB PHY erratum A009008"
> +
>  config MAX_CPUS
>  	int "Maximum number of CPUs permitted for Layerscape"
>  	default 4 if ARCH_LS1043A
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> index d68eeba..88cced1 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> @@ -26,6 +26,29 @@
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> +static void erratum_a009008(void)
> +{
> +#ifdef CONFIG_SYS_FSL_ERRATUM_A009008
> +#if defined(CONFIG_LS1043A) || defined(CONFIG_LS1046A)

I think it is better use CONFIG_ARCH_LS1046A which is defined by 
Kconfig. The old macros are defined in header file. We will convert them 
to use Kconfig eventually. Agree?

York


More information about the U-Boot mailing list