diff mbox series

[2/9] ram: stm32mp1: display result for software read DQS gating

Message ID 20200306111355.2.I7aa349c91deffa4a6f096fbadfa22b01844a7c4d@changeid
State Accepted
Commit c8eb4e038cf4dab68d7f79ec740198e30b6005a2
Headers show
Series ram: stm32mp1: fixes | expand

Commit Message

Patrick Delaunay March 6, 2020, 10:14 a.m. UTC
Display result information for software read DQS gating, the tuning 0
which be used by CubeMX DDR tuning tools.

Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---

 drivers/ram/stm32mp1/stm32mp1_tuning.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Patrice CHOTARD March 18, 2020, 9:39 a.m. UTC | #1
On 3/6/20 11:14 AM, Patrick Delaunay wrote:
> Display result information for software read DQS gating, the tuning 0
> which be used by CubeMX DDR tuning tools.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
>  drivers/ram/stm32mp1/stm32mp1_tuning.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/ram/stm32mp1/stm32mp1_tuning.c b/drivers/ram/stm32mp1/stm32mp1_tuning.c
> index 4e1c1fab54..e3e6f0f79c 100644
> --- a/drivers/ram/stm32mp1/stm32mp1_tuning.c
> +++ b/drivers/ram/stm32mp1/stm32mp1_tuning.c
> @@ -1182,15 +1182,17 @@ static u8 set_midpoint_read_dqs_gating(struct stm32mp1_ddrphy *phy, u8 byte,
>  				 dqs_gate_values[byte][0],
>  				 dqs_gate_values[byte][1]);
>  			pr_debug("*******the nominal values were system latency: 0  phase: 2*******\n");
> -			set_r0dgsl_delay(phy, byte, dqs_gate_values[byte][0]);
> -			set_r0dgps_delay(phy, byte, dqs_gate_values[byte][1]);
>  		}
>  	} else {
>  		/* if intermitant, restore defaut values */
>  		pr_debug("dqs gating:no regular fail/pass/fail found. defaults values restored.\n");
> -		set_r0dgsl_delay(phy, byte, 0);
> -		set_r0dgps_delay(phy, byte, 2);
> +		dqs_gate_values[byte][0] = 0;
> +		dqs_gate_values[byte][1] = 2;
>  	}
> +	set_r0dgsl_delay(phy, byte, dqs_gate_values[byte][0]);
> +	set_r0dgps_delay(phy, byte, dqs_gate_values[byte][1]);
> +	printf("Byte %d, R0DGSL = %d, R0DGPS = %d\n",
> +	       byte, dqs_gate_values[byte][0], dqs_gate_values[byte][1]);
>  
>  	/* return 0 if intermittent or if both left_bound
>  	 * and right_bound are not found

Acked-by: Patrice Chotard <patrice.chotard at st.com>

Thanks

Patrice
Patrick Delaunay March 24, 2020, 8:48 a.m. UTC | #2
Hi,

> From: Patrick DELAUNAY <patrick.delaunay at st.com>
> Sent: vendredi 6 mars 2020 11:14
> 
> Display result information for software read DQS gating, the tuning 0 which be
> used by CubeMX DDR tuning tools.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---


Applied to u-boot-stm/next, thanks!

Regards

Patrick
diff mbox series

Patch

diff --git a/drivers/ram/stm32mp1/stm32mp1_tuning.c b/drivers/ram/stm32mp1/stm32mp1_tuning.c
index 4e1c1fab54..e3e6f0f79c 100644
--- a/drivers/ram/stm32mp1/stm32mp1_tuning.c
+++ b/drivers/ram/stm32mp1/stm32mp1_tuning.c
@@ -1182,15 +1182,17 @@  static u8 set_midpoint_read_dqs_gating(struct stm32mp1_ddrphy *phy, u8 byte,
 				 dqs_gate_values[byte][0],
 				 dqs_gate_values[byte][1]);
 			pr_debug("*******the nominal values were system latency: 0  phase: 2*******\n");
-			set_r0dgsl_delay(phy, byte, dqs_gate_values[byte][0]);
-			set_r0dgps_delay(phy, byte, dqs_gate_values[byte][1]);
 		}
 	} else {
 		/* if intermitant, restore defaut values */
 		pr_debug("dqs gating:no regular fail/pass/fail found. defaults values restored.\n");
-		set_r0dgsl_delay(phy, byte, 0);
-		set_r0dgps_delay(phy, byte, 2);
+		dqs_gate_values[byte][0] = 0;
+		dqs_gate_values[byte][1] = 2;
 	}
+	set_r0dgsl_delay(phy, byte, dqs_gate_values[byte][0]);
+	set_r0dgps_delay(phy, byte, dqs_gate_values[byte][1]);
+	printf("Byte %d, R0DGSL = %d, R0DGPS = %d\n",
+	       byte, dqs_gate_values[byte][0], dqs_gate_values[byte][1]);
 
 	/* return 0 if intermittent or if both left_bound
 	 * and right_bound are not found