浏览代码

[Improve][Uboot][DDR]

2021.10.04 / Folus Wen

Actions:
1. DDR initial change from 303MHz to 400MHz.
2. EVSE/rootfs/usr/bin/run_ddr_reg_set.sh add DDR ratio register configuration script.

Files:
1. As follow commit history

Image version: 0X.03
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen 3 年之前
父节点
当前提交
ab61b47741

+ 16 - 6
EVSE/Projects/AW-CCS/Apps/CCS/Module_CCS.c

@@ -3737,14 +3737,24 @@ int MmeProcess(unsigned char *Buffer, int DataLength)
 
 	    case MMTYPE_VENDOR_VS_NW_INFO_CNF:
 		{
-            memcpy(QcaMac, MmePacket->OSA, 6);
+			// Only Set key for local QCA7000
+			if((MmePacket->OSA[0] == MmePacket->MMENTRY[12]) &&
+			   (MmePacket->OSA[1] == MmePacket->MMENTRY[13]) &&
+			   (MmePacket->OSA[2] == MmePacket->MMENTRY[14]) &&
+			   (MmePacket->OSA[3] == MmePacket->MMENTRY[15]) &&
+			   (MmePacket->OSA[4] == MmePacket->MMENTRY[16]) &&
+			   (MmePacket->OSA[5] == MmePacket->MMENTRY[17]))
+			{
+				memcpy(QcaMac, MmePacket->OSA, 6);
+
+				DEBUG_PRINTF_EVCOMM_DETAIL("--- MMTYPE_VENDOR_VS_NW_INFO_CNF ---\n");
+				SAVE_SYS_LOG_MSG_EVCOMM("Got QCA7K MacAddr:%02X:%02X:%02X:%02X:%02X:%02X (comm:OK)\n",
+	                    				QcaMac[0],  QcaMac[1],  QcaMac[2],  QcaMac[3],  QcaMac[4],  QcaMac[5]);
 
-	        DEBUG_PRINTF_EVCOMM_DETAIL("--- MMTYPE_VENDOR_VS_NW_INFO_CNF ---\n");
-            SAVE_SYS_LOG_MSG_EVCOMM("Got QCA7K MacAddr:%02X:%02X:%02X:%02X:%02X:%02X (comm:OK)\n",
-                    				QcaMac[0],  QcaMac[1],  QcaMac[2],  QcaMac[3],  QcaMac[4],  QcaMac[5]);
+				Update_V2G_Flow_Status(CM_SET_KEY_REQ);
+				ftime(&SeqStartTime);
+			}
 
-	        Update_V2G_Flow_Status(CM_SET_KEY_REQ);
-            ftime(&SeqStartTime);
             break;
 		}
 

+ 7 - 7
EVSE/Projects/AW-CCS/Apps/Module_ConfigTools.c

@@ -801,18 +801,18 @@ int main(void)
 
 				if((0 < atoi(cmd)) && (atoi(cmd) < 3))
 				{
-					ShmSysConfigAndInfo->SysInfo.AcChargingData[atoi(cmd)-1].schedule.isTriggerStart = ON;
 					DEBUG_INFO("Alarm simulate gun-%d, OVP.\n", atoi(cmd));
+
+					while(1)
+					{
+						ShmCharger->gun_info[atoi(cmd)-1].systemAlarmCode.SystemAlarmCode |= ALARM_L1_OVER_VOLTAGE;
+						ShmCharger->gun_info[atoi(cmd)-1].primaryMcuAlarm.InputAlarmCode |= ALARM_L1_OVER_VOLTAGE;
+					}
 				}
 				else
 				{
 					printf("\n  Invalid input gun_index.");
-				}
-
-				while(1)
-				{
-					ShmCharger->gun_info[atoi(cmd)-1].systemAlarmCode.SystemAlarmCode |= ALARM_L1_OVER_VOLTAGE;
-					ShmCharger->gun_info[atoi(cmd)-1].primaryMcuAlarm.InputAlarmCode |= ALARM_L1_OVER_VOLTAGE;
+					sleep(1);
 				}
 			}
 			else if(strcmp(cmd, "cancel") == 0)

+ 33 - 4
EVSE/Projects/AW-CCS/Apps/main.c

@@ -5300,8 +5300,18 @@ int main(void)
 											DEBUG_INFO("Authorize pass.\n");
 											setSpeaker(ON,SPEAKER_SHORT);
 											setLedMotion(gun_index,LED_ACTION_RFID_PASS);
-											sleep(3);
-											if(ShmCharger->isCcsEnable)system("/root/Module_CCS &");
+											if(ShmCharger->isCcsEnable)
+											{
+												ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_CP_STATE_F;
+												ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+												sleep(4);
+												ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_100;
+												ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+												system("/root/Module_CCS &");
+											}
+											else
+												sleep(4);
+
 											setChargerMode(gun_index, SYS_MODE_PREPARING);
 										}
 										else
@@ -5318,7 +5328,16 @@ int main(void)
 								}
 								else
 								{
-									if(ShmCharger->isCcsEnable)system("/root/Module_CCS &");
+									if(ShmCharger->isCcsEnable)
+									{
+										ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_CP_STATE_F;
+										ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+										sleep(4);
+										ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_100;
+										ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+										system("/root/Module_CCS &");
+									}
+
 									setChargerMode(gun_index, SYS_MODE_PREPARING);
 								}
 								break;
@@ -5326,7 +5345,15 @@ int main(void)
 							case START_METHOD_BLE:
 							case START_METHOD_FREE:
 							default:
-								if(ShmCharger->isCcsEnable)system("/root/Module_CCS &");
+								if(ShmCharger->isCcsEnable)
+								{
+									ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_CP_STATE_F;
+									ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+									sleep(4);
+									ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_100;
+									ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty = ON;
+									system("/root/Module_CCS &");
+								}
 								setChargerMode(gun_index, SYS_MODE_PREPARING);
 								break;
 						}
@@ -5341,7 +5368,9 @@ int main(void)
 						ShmCharger->gun_info[gun_index].resultAuthorization = DEFAULT_RFID;												 
 
 						if(ShmCharger->isCcsEnable)
+						{
 							ShmCharger->gun_info[gun_index].ccsHandshakeState = HANDSHAKE_DUTY_5;
+						}
 						else
 						{
 							ShmCharger->gun_info[gun_index].ccsHandshakeState = HANDSHAKE_CP_STATE_E;

+ 8 - 56
EVSE/Projects/AW-Regular/Apps/Module_ConfigTools.c

@@ -698,7 +698,6 @@ int main(void)
 			printf("\n  start: EVSE start charging request.");
 			printf("\n  stop: EVSE stop charging request.");
 			printf("\n  auth: Authorize request.");
-			printf("\n  ccs: CCS flow status.");
 			printf("\n  alarm: Simulate alarm status.");
 			printf("\n  cancel: return to main menu.");
 			printf("\n **************************************************");
@@ -747,52 +746,6 @@ int main(void)
 				ShmOCPP16Data->SpMsg.bits.AuthorizeReq = ON;
 				DEBUG_INFO("Test authentication by %s.\n", ShmSysConfigAndInfo->SysConfig.UserId);
 			}
-			else if(strcmp(cmd, "ccs") == 0)
-			{
-				memset(cmd, 0x00, ARRAY_SIZE(cmd));
-				printf("\n  Please input gun index(1~2): ");
-				scanf("%s", &cmd[0]);
-
-				if((0 < atoi(cmd)) && (atoi(cmd) < 3))
-				{
-					uint8_t gun_index = atoi(cmd)-1;
-					memset(cmd, 0x00, ARRAY_SIZE(cmd));
-					printf("\n ***** ccs ****************************************");
-					printf("\n  ccs_hs_status: CCS hand shake status.");
-					printf("\n  cancel: return to main menu.");
-					printf("\n **************************************************");
-					printf("\n  Please input operation item: ");
-					scanf("%s", &cmd[0]);
-
-					if(strcmp(cmd, "ccs_hs_status") == 0)
-					{
-						printf("\n ***** ccs_hs_status *******************************");
-						printf("\n  Current ccs_hs_status: %d", ShmCharger->gun_info[gun_index].ccsHandshakeState);
-						printf("\n  1: HANDSHAKE_DUTY_5.");
-						printf("\n  2: HANDSHAKE_DUTY_5_CHECK.");
-						printf("\n  3: HANDSHAKE_CCS.");
-						printf("\n  4: HANDSHAKE_CP_STATE_E.");
-						printf("\n  5: HANDSHAKE_SET_MAX_CURRENT.");
-						printf("\n  6: HANDSHAKE_BS_MODE.");
-						printf("\n  7: HANDSHAKE_HLC_MODE.");
-						printf("\n **************************************************");
-						printf("\n  Please input operation item: ");
-						scanf("%s", &cmd[0]);
-
-						if((0 < atoi(cmd)) && (atoi(cmd) < 9))
-						{
-							ShmCharger->gun_info[gun_index].ccsHandshakeState = atoi(cmd);
-							DEBUG_INFO("Gun-%d CCS hand shake state: %d.\n", gun_index, ShmCharger->gun_info[gun_index].ccsHandshakeState);
-						}
-						else
-							printf("\n  Invalid hand shake state.");
-					}
-				}
-				else
-				{
-					printf("\n  Invalid input gun_index.");
-				}
-			}
 			else if(strcmp(cmd, "alarm") == 0)
 			{
 				memset(cmd, 0x00, ARRAY_SIZE(cmd));
@@ -800,20 +753,19 @@ int main(void)
 				scanf("%s", &cmd[0]);
 
 				if((0 < atoi(cmd)) && (atoi(cmd) < 3))
-				{
-					ShmSysConfigAndInfo->SysInfo.AcChargingData[atoi(cmd)-1].schedule.isTriggerStart = ON;
+				{					
 					DEBUG_INFO("Alarm simulate gun-%d, OVP.\n", atoi(cmd));
+					while(1)
+					{
+						ShmCharger->gun_info[atoi(cmd)-1].systemAlarmCode.SystemAlarmCode |= ALARM_OVER_VOLTAGE;
+						ShmCharger->gun_info[atoi(cmd)-1].primaryMcuAlarm.InputAlarmCode |= ALARM_OVER_VOLTAGE;
+					}
 				}
 				else
 				{
 					printf("\n  Invalid input gun_index.");
-				}
-
-				while(1)
-				{
-					ShmCharger->gun_info[atoi(cmd)-1].systemAlarmCode.SystemAlarmCode |= ALARM_L1_OVER_VOLTAGE;
-					ShmCharger->gun_info[atoi(cmd)-1].primaryMcuAlarm.InputAlarmCode |= ALARM_L1_OVER_VOLTAGE;
-				}
+					sleep(1);
+				}				
 			}
 			else if(strcmp(cmd, "cancel") == 0)
 			{}

+ 24 - 0
EVSE/rootfs/usr/bin/run_ddr_reg_set.sh

@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if [ $# -lt 3 ]; then
+	echo "Usage sample:  run_ddr_reg_set.sh [RD_DQS] [FIFO_WE] [WR_DQS] [WR_DATA]"
+	echo ""
+	echo "   RD_DQS: DDR PHY Data Macro-0 Read DQS Slave Ratio Register"
+	echo "  FIFO_WE: DDR PHY Data Macro-0 DQS Gate Slave Ratio Register"
+	echo "   WR_DQS: DDR PHY Data Macro-0 Write DQS Slave Ratio Register"
+	echo "  WR_DATA: DDR PHY Data Macro-0 Write Data Slave Ratio Register"
+	echo ""
+	echo "  run_ddr_reg_set.sh 0x3c 0x9f 0x54 0x8c"
+	echo ""
+        exit 0;
+else
+	`devmem 0x44e120c8 w $1`
+	`devmem 0x44e12108 w $2`
+	`devmem 0x44e120dc w $3`
+	`devmem 0x44e12120 w $4`
+	echo "RD_DQS configure as $1"
+	echo "FIFO_WE configure as $2"
+	echo "WR_DQS configure as $3"
+	echo "WR_DATA configure as $4"
+fi
+

+ 2 - 2
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/board/ti/am335x/board.c

@@ -319,7 +319,7 @@ const struct dpll_params *get_dpll_ddr_params(void)
 	else
 	{
 		/*+++ vern,20161126, for 512 DDR+++*/
-		return &dpll_ddr3_303MHz[ind];
+		return &dpll_ddr3_400MHz[ind];
 		//return &dpll_ddr2_266MHz[ind];
 		/*--- vern,20161126, for 512 DDR ---*/
 	}
@@ -638,7 +638,7 @@ void sdram_init(void)
 			   &ddr2_cmd_ctrl_data, &ddr2_emif_reg_data, 0);
 	*/
 	else
-		config_ddr(303, &ioregs_evm15, &ddr3_evm_data,
+		config_ddr(400, &ioregs_evm15, &ddr3_evm_data,
 			   &ddr3_evm_cmd_ctrl_data, &ddr3_evm_emif_reg_data, 0);	
 	/*--- vern,20161126, for 512 DDR ---*/
 }

+ 3 - 3
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/common/autoboot.c

@@ -18,11 +18,11 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(MT29F16G08_BCH16)
-	#define uboot_version "02.02"
+	#define uboot_version "02.03"
 #elif defined(MT29F8G08_BCH16)
-	#define uboot_version "03.02"
+	#define uboot_version "03.03"
 #else
-	#define uboot_version "01.02"
+	#define uboot_version "01.03"
 #endif
 
 #define MAX_DELAY_STOP_STR 32