mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	The support of a predefined DDR PHY tuning result is removed for STM32MP1 driver because it is not needed at the supported frequency when built-in calibration is executed. The calibration parameters were provided in the device tree by the optional node "st,phy-cal", activated in ddr helper file by the compilation flag DDR_PHY_CAL_SKIP and filled with values generated by the CubeMX DDR utilities. This patch - updates the binding file to remove "st,phy-cal" support - updates the device trees and remove the associated defines - simplifies the STM32MP1 DDR driver and remove the support of the optional parameter "st,phy-cal" After this patch, the built-in calibration is always executed and the calibration registers are moved in the phy dynamic part; that allows manual tests. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
		
			
				
	
	
		
			212 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
 | 
						|
/*
 | 
						|
 * Copyright : STMicroelectronics 2018
 | 
						|
 */
 | 
						|
#include <linux/stringify.h>
 | 
						|
 | 
						|
&ddr {
 | 
						|
	config-DDR_MEM_COMPATIBLE {
 | 
						|
		u-boot,dm-pre-reloc;
 | 
						|
 | 
						|
		compatible = __stringify(st,DDR_MEM_COMPATIBLE);
 | 
						|
 | 
						|
		st,mem-name = DDR_MEM_NAME;
 | 
						|
		st,mem-speed = <DDR_MEM_SPEED>;
 | 
						|
		st,mem-size = <DDR_MEM_SIZE>;
 | 
						|
 | 
						|
		st,ctl-reg = <
 | 
						|
			DDR_MSTR
 | 
						|
			DDR_MRCTRL0
 | 
						|
			DDR_MRCTRL1
 | 
						|
			DDR_DERATEEN
 | 
						|
			DDR_DERATEINT
 | 
						|
			DDR_PWRCTL
 | 
						|
			DDR_PWRTMG
 | 
						|
			DDR_HWLPCTL
 | 
						|
			DDR_RFSHCTL0
 | 
						|
			DDR_RFSHCTL3
 | 
						|
			DDR_CRCPARCTL0
 | 
						|
			DDR_ZQCTL0
 | 
						|
			DDR_DFITMG0
 | 
						|
			DDR_DFITMG1
 | 
						|
			DDR_DFILPCFG0
 | 
						|
			DDR_DFIUPD0
 | 
						|
			DDR_DFIUPD1
 | 
						|
			DDR_DFIUPD2
 | 
						|
			DDR_DFIPHYMSTR
 | 
						|
			DDR_ODTMAP
 | 
						|
			DDR_DBG0
 | 
						|
			DDR_DBG1
 | 
						|
			DDR_DBGCMD
 | 
						|
			DDR_POISONCFG
 | 
						|
			DDR_PCCFG
 | 
						|
		>;
 | 
						|
 | 
						|
		st,ctl-timing = <
 | 
						|
			DDR_RFSHTMG
 | 
						|
			DDR_DRAMTMG0
 | 
						|
			DDR_DRAMTMG1
 | 
						|
			DDR_DRAMTMG2
 | 
						|
			DDR_DRAMTMG3
 | 
						|
			DDR_DRAMTMG4
 | 
						|
			DDR_DRAMTMG5
 | 
						|
			DDR_DRAMTMG6
 | 
						|
			DDR_DRAMTMG7
 | 
						|
			DDR_DRAMTMG8
 | 
						|
			DDR_DRAMTMG14
 | 
						|
			DDR_ODTCFG
 | 
						|
		>;
 | 
						|
 | 
						|
		st,ctl-map = <
 | 
						|
			DDR_ADDRMAP1
 | 
						|
			DDR_ADDRMAP2
 | 
						|
			DDR_ADDRMAP3
 | 
						|
			DDR_ADDRMAP4
 | 
						|
			DDR_ADDRMAP5
 | 
						|
			DDR_ADDRMAP6
 | 
						|
			DDR_ADDRMAP9
 | 
						|
			DDR_ADDRMAP10
 | 
						|
			DDR_ADDRMAP11
 | 
						|
		>;
 | 
						|
 | 
						|
		st,ctl-perf = <
 | 
						|
			DDR_SCHED
 | 
						|
			DDR_SCHED1
 | 
						|
			DDR_PERFHPR1
 | 
						|
			DDR_PERFLPR1
 | 
						|
			DDR_PERFWR1
 | 
						|
			DDR_PCFGR_0
 | 
						|
			DDR_PCFGW_0
 | 
						|
			DDR_PCFGQOS0_0
 | 
						|
			DDR_PCFGQOS1_0
 | 
						|
			DDR_PCFGWQOS0_0
 | 
						|
			DDR_PCFGWQOS1_0
 | 
						|
			DDR_PCFGR_1
 | 
						|
			DDR_PCFGW_1
 | 
						|
			DDR_PCFGQOS0_1
 | 
						|
			DDR_PCFGQOS1_1
 | 
						|
			DDR_PCFGWQOS0_1
 | 
						|
			DDR_PCFGWQOS1_1
 | 
						|
		>;
 | 
						|
 | 
						|
		st,phy-reg = <
 | 
						|
			DDR_PGCR
 | 
						|
			DDR_ACIOCR
 | 
						|
			DDR_DXCCR
 | 
						|
			DDR_DSGCR
 | 
						|
			DDR_DCR
 | 
						|
			DDR_ODTCR
 | 
						|
			DDR_ZQ0CR1
 | 
						|
			DDR_DX0GCR
 | 
						|
			DDR_DX1GCR
 | 
						|
			DDR_DX2GCR
 | 
						|
			DDR_DX3GCR
 | 
						|
		>;
 | 
						|
 | 
						|
		st,phy-timing = <
 | 
						|
			DDR_PTR0
 | 
						|
			DDR_PTR1
 | 
						|
			DDR_PTR2
 | 
						|
			DDR_DTPR0
 | 
						|
			DDR_DTPR1
 | 
						|
			DDR_DTPR2
 | 
						|
			DDR_MR0
 | 
						|
			DDR_MR1
 | 
						|
			DDR_MR2
 | 
						|
			DDR_MR3
 | 
						|
		>;
 | 
						|
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
#undef DDR_MEM_COMPATIBLE
 | 
						|
#undef DDR_MEM_NAME
 | 
						|
#undef DDR_MEM_SPEED
 | 
						|
#undef DDR_MEM_SIZE
 | 
						|
 | 
						|
#undef DDR_MSTR
 | 
						|
#undef DDR_MRCTRL0
 | 
						|
#undef DDR_MRCTRL1
 | 
						|
#undef DDR_DERATEEN
 | 
						|
#undef DDR_DERATEINT
 | 
						|
#undef DDR_PWRCTL
 | 
						|
#undef DDR_PWRTMG
 | 
						|
#undef DDR_HWLPCTL
 | 
						|
#undef DDR_RFSHCTL0
 | 
						|
#undef DDR_RFSHCTL3
 | 
						|
#undef DDR_RFSHTMG
 | 
						|
#undef DDR_CRCPARCTL0
 | 
						|
#undef DDR_DRAMTMG0
 | 
						|
#undef DDR_DRAMTMG1
 | 
						|
#undef DDR_DRAMTMG2
 | 
						|
#undef DDR_DRAMTMG3
 | 
						|
#undef DDR_DRAMTMG4
 | 
						|
#undef DDR_DRAMTMG5
 | 
						|
#undef DDR_DRAMTMG6
 | 
						|
#undef DDR_DRAMTMG7
 | 
						|
#undef DDR_DRAMTMG8
 | 
						|
#undef DDR_DRAMTMG14
 | 
						|
#undef DDR_ZQCTL0
 | 
						|
#undef DDR_DFITMG0
 | 
						|
#undef DDR_DFITMG1
 | 
						|
#undef DDR_DFILPCFG0
 | 
						|
#undef DDR_DFIUPD0
 | 
						|
#undef DDR_DFIUPD1
 | 
						|
#undef DDR_DFIUPD2
 | 
						|
#undef DDR_DFIPHYMSTR
 | 
						|
#undef DDR_ADDRMAP1
 | 
						|
#undef DDR_ADDRMAP2
 | 
						|
#undef DDR_ADDRMAP3
 | 
						|
#undef DDR_ADDRMAP4
 | 
						|
#undef DDR_ADDRMAP5
 | 
						|
#undef DDR_ADDRMAP6
 | 
						|
#undef DDR_ADDRMAP9
 | 
						|
#undef DDR_ADDRMAP10
 | 
						|
#undef DDR_ADDRMAP11
 | 
						|
#undef DDR_ODTCFG
 | 
						|
#undef DDR_ODTMAP
 | 
						|
#undef DDR_SCHED
 | 
						|
#undef DDR_SCHED1
 | 
						|
#undef DDR_PERFHPR1
 | 
						|
#undef DDR_PERFLPR1
 | 
						|
#undef DDR_PERFWR1
 | 
						|
#undef DDR_DBG0
 | 
						|
#undef DDR_DBG1
 | 
						|
#undef DDR_DBGCMD
 | 
						|
#undef DDR_POISONCFG
 | 
						|
#undef DDR_PCCFG
 | 
						|
#undef DDR_PCFGR_0
 | 
						|
#undef DDR_PCFGW_0
 | 
						|
#undef DDR_PCFGQOS0_0
 | 
						|
#undef DDR_PCFGQOS1_0
 | 
						|
#undef DDR_PCFGWQOS0_0
 | 
						|
#undef DDR_PCFGWQOS1_0
 | 
						|
#undef DDR_PCFGR_1
 | 
						|
#undef DDR_PCFGW_1
 | 
						|
#undef DDR_PCFGQOS0_1
 | 
						|
#undef DDR_PCFGQOS1_1
 | 
						|
#undef DDR_PCFGWQOS0_1
 | 
						|
#undef DDR_PCFGWQOS1_1
 | 
						|
#undef DDR_PGCR
 | 
						|
#undef DDR_PTR0
 | 
						|
#undef DDR_PTR1
 | 
						|
#undef DDR_PTR2
 | 
						|
#undef DDR_ACIOCR
 | 
						|
#undef DDR_DXCCR
 | 
						|
#undef DDR_DSGCR
 | 
						|
#undef DDR_DCR
 | 
						|
#undef DDR_DTPR0
 | 
						|
#undef DDR_DTPR1
 | 
						|
#undef DDR_DTPR2
 | 
						|
#undef DDR_MR0
 | 
						|
#undef DDR_MR1
 | 
						|
#undef DDR_MR2
 | 
						|
#undef DDR_MR3
 | 
						|
#undef DDR_ODTCR
 | 
						|
#undef DDR_ZQ0CR1
 | 
						|
#undef DDR_DX0GCR
 | 
						|
#undef DDR_DX1GCR
 | 
						|
#undef DDR_DX2GCR
 | 
						|
#undef DDR_DX3GCR
 |