Răsfoiți Sursa

2019-12-30 / Alston Lin

Actions.
1. Move files to Apps folder

Files
1. As follow commit history
Alston 5 ani în urmă
părinte
comite
270600ae65
26 a modificat fișierele cu 859 adăugiri și 193 ștergeri
  1. 3 3
      EVSE/Modularization/Infypwr_PsuCommObj.c
  2. 16 0
      EVSE/Modularization/Infypwr_PsuCommObj.h
  3. 525 0
      EVSE/Modularization/Phihong_PsuCommObj.c
  4. 163 0
      EVSE/Modularization/Phihong_PsuCommObj.h
  5. 0 0
      EVSE/Projects/DS60-120/Apps/Config.h
  6. 0 0
      EVSE/Projects/DS60-120/Apps/Ev_Comm.c
  7. 0 0
      EVSE/Projects/DS60-120/Apps/Makefile
  8. 0 0
      EVSE/Projects/DS60-120/Apps/Module_EvComm.c
  9. 0 0
      EVSE/Projects/DS60-120/Apps/Module_EvComm.h
  10. 0 0
      EVSE/Projects/DS60-120/Apps/Module_EventLogging.c
  11. 0 0
      EVSE/Projects/DS60-120/Apps/Module_InternalComm.c
  12. 0 0
      EVSE/Projects/DS60-120/Apps/Module_LcmContro.h
  13. 0 0
      EVSE/Projects/DS60-120/Apps/Module_LcmControl.c
  14. 0 0
      EVSE/Projects/DS60-120/Apps/Module_PrimaryComm.c
  15. 0 0
      EVSE/Projects/DS60-120/Apps/PrimaryComm.c
  16. 0 0
      EVSE/Projects/DS60-120/Apps/PrimaryComm.h
  17. 0 0
      EVSE/Projects/DS60-120/Apps/internalComm.c
  18. 0 0
      EVSE/Projects/DS60-120/Apps/internalComm.h
  19. 0 0
      EVSE/Projects/DS60-120/Apps/main.c
  20. 0 0
      EVSE/Projects/DS60-120/Apps/timeout.c
  21. 0 0
      EVSE/Projects/DS60-120/Apps/timeout.h
  22. 71 0
      Makefile
  23. 20 38
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/scripts/basic/.fixdep.cmd
  24. 19 45
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.gen_eth_addr.cmd
  25. 19 45
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.img2srec.cmd
  26. 23 62
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.proftool.cmd

+ 3 - 3
EVSE/Modularization/Infypwr_PsuCommObj.c

@@ -99,21 +99,21 @@ int InitCanBus()
    	if (setsockopt(s0, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(struct	timeval)) < 0)
 	{
 		#ifdef SystemLogMessage
-		DEBUG_ERROR("Set SO_RCVTIMEO NG");
+		printf("Set SO_RCVTIMEO NG");
 		#endif
 	}
 	nbytes=40960;
 	if (setsockopt(s0, SOL_SOCKET,  SO_RCVBUF, &nbytes, sizeof(int)) < 0)
 	{
 		#ifdef SystemLogMessage
-		DEBUG_ERROR("Set SO_RCVBUF NG");
+		printf("Set SO_RCVBUF NG");
 		#endif
 	}
 	nbytes=40960;
 	if (setsockopt(s0, SOL_SOCKET, SO_SNDBUF, &nbytes, sizeof(int)) < 0)
 	{
 		#ifdef SystemLogMessage
-		DEBUG_ERROR("Set SO_SNDBUF NG");
+		printf("Set SO_SNDBUF NG");
 		#endif
 	}
 

+ 16 - 0
EVSE/Modularization/Infypwr_PsuCommObj.h

@@ -22,7 +22,23 @@
 #include <sys/ipc.h>
 #include <sys/shm.h>
 #include <sys/time.h>
+
 #include 	<stdbool.h>
+#include 	<unistd.h>
+#include 	<stdarg.h>
+#include    <stdio.h>      /*標準輸入輸出定義*/
+#include    <stdlib.h>     /*標準函數庫定義*/
+#include    <unistd.h>     /*Unix 標準函數定義*/
+#include    <fcntl.h>      /*檔控制定義*/
+#include    <termios.h>    /*PPSIX 終端控制定義*/
+#include    <errno.h>      /*錯誤號定義*/
+#include 	<errno.h>
+#include 	<string.h>
+#include	<time.h>
+#include	<ctype.h>
+#include 	<ifaddrs.h>
+#include 	<math.h>
+
 
 typedef unsigned char 		byte;
 typedef unsigned short 	word;

+ 525 - 0
EVSE/Modularization/Phihong_PsuCommObj.c

@@ -0,0 +1,525 @@
+/*
+ * Phihong_PsuCommObj.c
+ *
+ *  Created on: 2019年7月2日
+ *      Author: 7564
+ */
+
+#include "Phihong_PsuCommObj.h"
+
+struct Current_cmd_Proc Psu_cmd={
+		0,
+		0x02000200,
+		0x01000300,
+		0x01000400,
+		0x01000500,
+		0x01000600,
+		0x01000700,
+		0x01000800,
+		0x01000900,
+		0x02000A00,
+
+		0x02000B00,
+		0x01000C00,
+		0x02000F00,
+		0x02001000,
+		0x02001100,
+		0x02001200,
+
+		0x01001300,
+		0x02001400,
+		0x01001500,
+		0x01001600,
+		0x02001700,
+
+		0x01001800,
+		0x01001900,
+		0x01001A00,
+
+		0x02001B00,
+		0x0E001C00,
+};
+
+//================================================
+// Callback function
+//================================================
+void GetPsuAddressReq(void *func)
+{
+	get_psu_addr_req = func;
+}
+
+void RefreshStatus(void *func)
+{
+	return_status = func;
+}
+
+void RefreshFWVersion(void *func)
+{
+	return_fw_version = func;
+}
+
+void RefreshFanSpeed(void *func)
+{
+	return_fan_speed = func;
+}
+
+void RefreshTemp(void *func)
+{
+	return_temp = func;
+}
+
+void RefreshInputVol(void *func)
+{
+	return_input_vol = func;
+}
+
+void RefreshGetOutput(void *func)
+{
+	return_get_output = func;
+}
+
+void RefreshInputCur(void *func)
+{
+	return_input_cur = func;
+}
+
+void RefreshHWVersion(void *func)
+{
+	//return_hw_version = func;
+}
+
+void RefreshAvailableCap(void *func)
+{
+	return_available_cap = func;
+}
+
+void RefreshAlarmNotify(void *func)
+{
+	return_alarm_code = func;
+}
+
+void RefreshFaultNotify(void *func)
+{
+	return_fault_code = func;
+}
+
+void RefreshStatusNotify(void *func)
+{
+	return_status_code = func;
+}
+
+void RefreshSerialNumber(void *func)
+{
+	return_get_serial_number = func;
+}
+
+void RefreshOutputPowerSwitch(void *func)
+{
+	return_output_pow_switch = func;
+}
+//================================================
+// CANBUS initialization
+//================================================
+int InitCanBus()
+{
+	int 					s0,nbytes;
+	struct timeval			tv;
+	struct ifreq 			ifr0;
+	struct sockaddr_can		addr0;
+
+	system("/sbin/ip link set can1 down");
+	system("/sbin/ip link set can1 type can bitrate 500000 restart-ms 100");
+	system("/sbin/ip link set can1 up");
+
+	s0 = socket(PF_CAN, SOCK_RAW, CAN_RAW);
+
+	tv.tv_sec = 0;
+	tv.tv_usec = 10000;
+   	if (setsockopt(s0, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(struct	timeval)) < 0)
+	{
+		#ifdef SystemLogMessage
+		printf("Set SO_RCVTIMEO NG");
+		#endif
+	}
+	nbytes=40960;
+	if (setsockopt(s0, SOL_SOCKET,  SO_RCVBUF, &nbytes, sizeof(int)) < 0)
+	{
+		#ifdef SystemLogMessage
+		printf("Set SO_RCVBUF NG");
+		#endif
+	}
+	nbytes=40960;
+	if (setsockopt(s0, SOL_SOCKET, SO_SNDBUF, &nbytes, sizeof(int)) < 0)
+	{
+		#ifdef SystemLogMessage
+		printf("Set SO_SNDBUF NG");
+		#endif
+	}
+
+   	strcpy(ifr0.ifr_name, "can1" );
+	ioctl(s0, SIOCGIFINDEX, &ifr0); /* ifr.ifr_ifindex gets filled with that device's index */
+	addr0.can_family = AF_CAN;
+	addr0.can_ifindex = ifr0.ifr_ifindex;
+	bind(s0, (struct sockaddr *)&addr0, sizeof(addr0));
+	return s0;
+}
+
+//================================================
+// Receive Cmd from canbus
+//================================================
+void ReceiveDataFromCanBus()
+{
+	int nbytes;
+	struct can_frame frame;
+	int intCmd;
+	byte target, group, address;
+
+	while(1)
+	{
+		memset(&frame, 0, sizeof(struct can_frame));
+		nbytes = read(CanFd, &frame, sizeof(struct can_frame));
+
+		if (nbytes > 0)
+		{
+			frame.can_id = frame.can_id & CAN_EFF_MASK;
+			intCmd = (int) (frame.can_id & 0xFFFFFF00);
+			target = (byte) (frame.can_id & 0x000000FF);
+			group = (byte) (target >> 6);
+			address = (byte) (target & 0x3F);
+
+			switch (intCmd)
+			{
+				case ADDRESS_REQ:
+				{
+					byte phy_addr;
+					char sn[7];
+
+					phy_addr = frame.data[0];
+					memcpy(sn, (char *)frame.data + 1, 7);
+					get_psu_addr_req(phy_addr, sn);
+				}
+					break;
+				case ACK_ADDRESS_ASSINGMENT:
+				{ }
+					break;
+				case ACK_STATUS:
+				{
+					return_status(group, address,
+							((int) frame.data[3] << 24) + ((int) frame.data[2] << 16) + ((int) frame.data[1] << 8) + (int) frame.data[0],
+							((int) frame.data[7] << 24) + ((int) frame.data[6] << 16) + ((int) frame.data[5] << 8) + (int) frame.data[4]);
+				}
+					break;
+				case ACK_FIRMWARE_VERSION:
+				{
+					return_fw_version(group, address, frame.data[0], frame.data[1], frame.data + 2);
+				}
+					break;
+				case ACK_FAN_SPEED:
+				{
+					return_fan_speed(group, address,
+							((short) frame.data[1] << 8) + (short) frame.data[0],
+							((short) frame.data[3] << 8) + (short) frame.data[2],
+							((short) frame.data[5] << 8) + (short) frame.data[4],
+							((short) frame.data[7] << 8) + (short) frame.data[6]);
+				}
+					break;
+				case ACK_TEMPERATURE:
+				{
+					return_temp(group, address,
+							frame.data[0],
+							frame.data[1],
+							frame.data[2],
+							frame.data[3],
+							frame.data[4],
+							frame.data[5],
+							frame.data[6]);
+				}
+					break;
+				case ACK_PRESENT_INPUT_VOLTAGE:
+				{
+					return_input_vol(group, address,
+							frame.data[0],
+							((short) frame.data[2] << 8) + (short) frame.data[1],
+							((short) frame.data[4] << 8) + (short) frame.data[3],
+							((short) frame.data[6] << 8) + (short) frame.data[5]);
+				}
+					break;
+				case ACK_GET_PRESENT_OUTPUT:
+				{
+					return_get_output(group, address,
+							(((short) frame.data[1] << 8) + (short) frame.data[0]),
+							(((short) frame.data[3] << 8) + (short) frame.data[2]));
+				}
+					break;
+				case ACK_GET_SERIAL_NUMBER:
+				{
+					return_get_serial_number(group, address, frame.data[0], frame.data + 1);
+				}
+					break;
+				case ACK_COOLING_WATER_TEMP:
+				{
+				}
+					break;
+				case ACK_PRESENT_INPUT_CURRENT:
+				{
+					return_input_cur(group, address,
+							(((short) frame.data[1] << 8) + (short) frame.data[0]),
+							(((short) frame.data[3] << 8) + (short) frame.data[2]),
+							(((short) frame.data[5] << 8) + (short) frame.data[4]));
+				}
+					break;
+				case ACK_HARDWARE_VERSION:
+				{
+				}
+					break;
+				case ACK_PFC_OUTPUT_SWITCH:
+				case ACK_LOG_SIZE:
+				case ACK_LOG_BLOCK_CHECKSUM:
+				case ACK_LOG_BLOCK_DATA:
+				case ACK_CUSTOM_INFO_TRANSFER_SWITCH:
+				case ACK_SET_FAN_SPEED:
+					break;
+				case ACK_AVAILABLE_CAP:
+				{
+					return_available_cap(group, address,
+							(((short) frame.data[1] << 8) + (short) frame.data[0]),
+							(((short) frame.data[3] << 8) + (short) frame.data[2]));
+				}
+					break;
+				case ACK_OUTPUT_POWER_SWITCH:
+				{
+					return_output_pow_switch(group, address, frame.data[0]);
+				}
+					break;
+				case ACK_SET_PRESENT_OUTPUT:
+				{
+				}
+					break;
+
+				case ACK_UPGRADE_REQ:
+				{
+				}
+					break;
+				case ACK_START_BLOCK_TRANS:
+				{
+				}
+					break;
+				case ACK_UPGRADE_FINISH:
+				{
+				}
+					break;
+				case CUSTOM_LOG_INFO:
+				{
+				}
+					break;
+				case ALARM_NOTIFICATION:
+				{
+					return_alarm_code(group, address, frame.data);
+				}
+					break;
+				case FAULT_NOTIFICATION:
+				{
+					return_fault_code(group, address,
+							((int) frame.data[3] << 24)	+ ((int) frame.data[2] << 16) + ((int) frame.data[1] << 8) + (int) frame.data[0]);
+				}
+					break;
+				case STATUS_NOTIFICATION:
+				{
+					return_status_code(group, address,
+							frame.data[0],
+							((short) frame.data[2] << 8) + (short) frame.data[1],
+							((short) frame.data[4] << 8) + (short) frame.data[3]);
+				}
+					break;
+			}
+		}
+		else
+		{
+
+		}
+
+		usleep(10000);
+	}
+}
+
+//================================================
+// Private Function
+//================================================
+int PackageIdCmd(int cmd)
+{
+	return cmd | 0x80000000;
+}
+
+void SendCmdToPsu(int cmd, byte *data, byte dataLen)
+{
+    struct can_frame frame;
+
+    frame.can_id = cmd;
+    frame.can_dlc = dataLen;
+    memcpy(frame.data, data, dataLen);
+
+    write(CanFd, &frame, sizeof(struct can_frame));
+}
+
+//================================================
+// API Function
+//================================================
+bool InitialCommunication()
+{
+	CanFd = InitCanBus();
+
+	if(CanFd < 0)
+	{
+		printf("Init can bus fail.\n");
+		return false;
+	}
+
+    recFork = fork();
+    if(recFork > 0)
+    {
+    	ReceiveDataFromCanBus();
+	}
+    else if(recFork > 0)
+    {
+    	printf("fork fail\n");
+    }
+
+    return true;
+}
+
+void PsuAddressAssignment(byte phy_addr, char *serial_number, byte real_addr, byte group)
+{
+	int cmd = PackageIdCmd(Psu_cmd._address_assignment);
+
+	byte data[8];
+
+	data[0] =  (group << 6) + real_addr;
+	memcpy(data + 1, serial_number, 7);
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetStatus(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetStatus. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_status + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetFwVersion(byte group, byte address, byte type)
+{
+	//printf("PSU_C_DLL : GetFwVersion. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_fw_ver + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	data[0] = type;
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetSerialNumber(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetSerialNumber. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_serial_number + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetFanSpeed(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetFanSpeed. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_fan_speed + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetTemperature(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetTemperature. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_temperature + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetPresentInputVol(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetPresentInputVol. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_present_input_vol + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetPresentOutput(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetPresentOutput. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_present_output + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetPresentInputCurrent(byte group, byte address)
+{
+	//printf("PSU_C_DLL : GetPresentInputCurrent. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_presnet_input_cur + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void GetAvailableCap(byte group, byte address, short _outputVol)
+{
+	//printf("PSU_C_DLL : GetAvailableCap. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._get_available_cap + (group << 6) + address);
+	byte data[8];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	data[0] = _outputVol & 0xff;
+	data[1] = (_outputVol >> 8) & 0xff;
+
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void SetPresentOutput(byte group, byte address, short vol, short cur, unsigned short AvailableCur, byte derating)
+{
+	//printf("PSU_C_DLL : SetPresentOutput. group = %x, address = %x \n", group, address);
+	int cmd = PackageIdCmd(Psu_cmd._set_present_output + (group << 6) + address);
+	byte data[8];
+
+	// 電壓
+	data[0] = vol & 0xff;
+	data[1] = (vol >> 8) & 0xff;
+	// 電流 (%) : 先算出總能夠輸出的電流當 100 %, 在與現在的希望輸出的電流比對,比出來的值為希望模塊輸出電流的比率
+	if (cur >= AvailableCur)
+		cur = AvailableCur;
+
+	short percent = ((float) cur / AvailableCur) * 10000;
+	data[2] = percent & 0xff;
+	data[3] = (percent >> 8) & 0xff;
+	data[4] = derating;
+
+	printf("vol = %d, tot_Amp = %d, need_cur = %d, percent = %d \n", vol, AvailableCur, cur, percent);
+	SendCmdToPsu(cmd, data, sizeof(data));
+}
+
+void EnableOutputPower(byte group, byte address, byte value)
+{
+	int cmd = PackageIdCmd(Psu_cmd._switch_output_pow + (group << 6) + address);
+	byte data[8];
+
+	//printf("cmd = %x \n", cmd);
+	data[0] = value;
+	SendCmdToPsu(cmd, data, sizeof(data));
+}

+ 163 - 0
EVSE/Modularization/Phihong_PsuCommObj.h

@@ -0,0 +1,163 @@
+/*
+ * Phihong_PsuCommObj.h
+ *
+ *  Created on: 2019¦~7¤ë2¤é
+ *      Author: 7564
+ */
+
+#ifndef PHIHONG_PSUCOMMOBJ_H_
+#define PHIHONG_PSUCOMMOBJ_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <signal.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <linux/wireless.h>
+#include <linux/can.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <sys/time.h>
+#include 	<stdbool.h>
+
+typedef unsigned char byte;
+
+extern struct Current_cmd_Proc
+{
+	int none;							// 0
+	int _address_assignment;			// 0x02000200
+	int _get_status;					// 0x01000300
+	int _get_fw_ver;					// 0x01000400
+	int _get_fan_speed;					// 0x01000500
+	int _get_temperature;				// 0x01000600
+	int _get_present_input_vol;			// 0x01000700
+	int _get_present_output;			// 0x01000800
+	int _get_available_cap;				// 0x01000900
+	int _switch_output_pow;				// 0x02000A00
+
+	int _set_present_output;			// 0x02000B00
+	int _set_fan_speed;					// 0x01000C00
+	int _upgrade_req;					// 0x02000F00
+	int _start_block_trans;				// 0x02001000
+	int _img_trans;						// 0x02001100
+	int _upgrade_finish;				// 0x02001200
+
+	int _get_serial_number;				// 0x01001300
+	int _set_cooling_water_temp;		// 0x02001400
+	int _get_presnet_input_cur;			// 0x01001500
+	int _get_hw_verstion;				// 0x01001600
+	int _switch_pfc_output;				// 0x02001700
+
+	int _get_log_size;					// 0x01001800
+	int _get_log_block_checksum;		// 0x01001900
+	int _get_log_block_data;			// 0x01001A00
+
+	int _switch_custom_info;			// 0x02001B00
+	int _custom_info_transfer;			// 0x0E001C00
+}Psu_cmd;
+
+enum Receieve_PSU_msg
+{
+    ADDRESS_REQ = 	                    					0x08000100,
+	ACK_ADDRESS_ASSINGMENT = 								0x0B000200,
+    ACK_STATUS =                        					0x0B000300,
+    ACK_FIRMWARE_VERSION =              					0x0B000400,
+    ACK_FAN_SPEED =                     					0x0B000500,
+    ACK_TEMPERATURE =                  						0x0B000600,
+    ACK_PRESENT_INPUT_VOLTAGE =         					0x0B000700,
+    ACK_GET_PRESENT_OUTPUT =            					0x0B000800,
+    ACK_AVAILABLE_CAP = 	            					0x0B000900,
+    ACK_OUTPUT_POWER_SWITCH =           					0x0B000A00,
+    ACK_SET_PRESENT_OUTPUT =            					0x0B000B00,
+	ACK_SET_FAN_SPEED = 									0x0B000C00,
+    ACK_UPGRADE_REQ = 	                					0x0B000F00,
+    ACK_START_BLOCK_TRANS = 	        					0x0B001000,
+    ACK_UPGRADE_FINISH = 	            					0x0B001200,
+    ACK_GET_SERIAL_NUMBER =                 				0x0B001300,
+    ACK_COOLING_WATER_TEMP =            					0x0B001400,
+    ACK_PRESENT_INPUT_CURRENT =         					0x0B001500,
+    ACK_HARDWARE_VERSION =              					0x0B001600,
+    ACK_PFC_OUTPUT_SWITCH =             					0x0B001700,
+    ACK_LOG_SIZE =                      					0x0B001800,
+    ACK_LOG_BLOCK_CHECKSUM =            					0x0B001900,
+    ACK_LOG_BLOCK_DATA =                					0x0B001A00,
+    ACK_CUSTOM_INFO_TRANSFER_SWITCH =   					0x0B001B00,
+    CUSTOM_LOG_INFO =                   					0x0E001C00,
+    ALARM_NOTIFICATION =                					0x0C000D00,
+    FAULT_NOTIFICATION =                					0X0D001D00,
+    STATUS_NOTIFICATION =               					0x0E000E00,
+};
+
+#define 	ARRAY_SIZE(A)		(sizeof(A) / sizeof(A[0]))
+
+int 						CanFd;
+pid_t 						recFork;
+
+/* API Function */
+bool InitialCommunication();
+void PsuAddressAssignment(byte phy_addr, char *serial_number, byte real_addr, byte group);
+void GetStatus(byte group, byte address);
+void GetFwVersion(byte group, byte address, byte type);
+void GetSerialNumber(byte group, byte address);
+void GetFanSpeed(byte group, byte address);
+void GetTemperature(byte group, byte address);
+void GetPresentInputVol(byte group, byte address);
+void GetPresentOutput(byte group, byte address);
+void GetPresentInputCurrent(byte group, byte address);
+void GetAvailableCap(byte group, byte address, short _outputVol);
+
+void SetPresentOutput(byte group, byte address, short vol, short cur, unsigned short AvailableCur, byte derating);
+
+void EnableOutputPower(byte group, byte address, byte value);
+/* API Function end */
+
+/* Callback Function */
+void GetPsuAddressReq(void *func);
+void (*get_psu_addr_req)(byte phy_id, char *serial_number);
+
+void RefreshStatus(void *func);
+void (*return_status)(byte group, byte address, int alarm, int fault);
+
+void RefreshFanSpeed(void *func);
+void (*return_fan_speed)(byte group, byte address, unsigned short fan1, unsigned short fan2, unsigned short fan3, unsigned short fan4);
+
+void RefreshTemp(void *func);
+void (*return_temp)(byte group, byte address, char cri_temp1, char cri_temp2, char cri_temp3, char ex_temp, char in_temp1, char in_temp2, char out_temp);
+
+void RefreshInputVol(void *func);
+void (*return_input_vol)(byte group, byte address, byte vol_type, unsigned short vol1, unsigned short vol2, unsigned short vol3);
+
+void RefreshGetOutput(void *func);
+void (*return_get_output)(byte group, byte address, unsigned short out_vol, unsigned short out_cur);
+
+void RefreshInputCur(void *func);
+void (*return_input_cur)(byte group, byte address, unsigned short in_cur1, unsigned short in_cur2, unsigned short in_cur3);
+
+void RefreshAvailableCap(void *func);
+void (*return_available_cap)(byte group, byte address, unsigned short able_power, unsigned short able_cur);
+
+void RefreshAlarmNotify(void *func);
+void (*return_alarm_code)(byte group, byte address, unsigned char *alarm);
+
+void RefreshFaultNotify(void *func);
+void (*return_fault_code)(byte group, byte address, int fault);
+
+void RefreshStatusNotify(void *func);
+void (*return_status_code)(byte group, byte address, byte st_machine, unsigned short out_vol, unsigned short out_cur);
+
+void RefreshSerialNumber(void *func);
+void (*return_get_serial_number)(byte group, byte address, unsigned char packageIndex, unsigned char *data);
+
+void RefreshOutputPowerSwitch(void *func);
+void (*return_output_pow_switch)(byte group, byte address, int result);
+
+void RefreshFWVersion(void *func);
+void (*return_fw_version)(byte group, byte address, unsigned char packageIndex, unsigned char type, unsigned char *data);
+
+/* Callback Function end */
+
+#endif /* PHIHONG_PSUCOMMOBJ_H_ */

+ 0 - 0
EVSE/Projects/DS60-120/Config.h → EVSE/Projects/DS60-120/Apps/Config.h


+ 0 - 0
EVSE/Projects/DS60-120/Ev_Comm.c → EVSE/Projects/DS60-120/Apps/Ev_Comm.c


+ 0 - 0
EVSE/Projects/DS60-120/Makefile → EVSE/Projects/DS60-120/Apps/Makefile


+ 0 - 0
EVSE/Projects/DS60-120/Module_EvComm.c → EVSE/Projects/DS60-120/Apps/Module_EvComm.c


+ 0 - 0
EVSE/Projects/DS60-120/Module_EvComm.h → EVSE/Projects/DS60-120/Apps/Module_EvComm.h


+ 0 - 0
EVSE/Projects/DS60-120/Module_EventLogging.c → EVSE/Projects/DS60-120/Apps/Module_EventLogging.c


+ 0 - 0
EVSE/Projects/DS60-120/Module_InternalComm.c → EVSE/Projects/DS60-120/Apps/Module_InternalComm.c


+ 0 - 0
EVSE/Projects/DS60-120/Module_LcmContro.h → EVSE/Projects/DS60-120/Apps/Module_LcmContro.h


+ 0 - 0
EVSE/Projects/DS60-120/Module_LcmControl.c → EVSE/Projects/DS60-120/Apps/Module_LcmControl.c


+ 0 - 0
EVSE/Projects/DS60-120/Module_PrimaryComm.c → EVSE/Projects/DS60-120/Apps/Module_PrimaryComm.c


+ 0 - 0
EVSE/Projects/DS60-120/PrimaryComm.c → EVSE/Projects/DS60-120/Apps/PrimaryComm.c


+ 0 - 0
EVSE/Projects/DS60-120/PrimaryComm.h → EVSE/Projects/DS60-120/Apps/PrimaryComm.h


+ 0 - 0
EVSE/Projects/DS60-120/internalComm.c → EVSE/Projects/DS60-120/Apps/internalComm.c


+ 0 - 0
EVSE/Projects/DS60-120/internalComm.h → EVSE/Projects/DS60-120/Apps/internalComm.h


+ 0 - 0
EVSE/Projects/DS60-120/main.c → EVSE/Projects/DS60-120/Apps/main.c


+ 0 - 0
EVSE/Projects/DS60-120/timeout.c → EVSE/Projects/DS60-120/Apps/timeout.c


+ 0 - 0
EVSE/Projects/DS60-120/timeout.h → EVSE/Projects/DS60-120/Apps/timeout.h


+ 71 - 0
Makefile

@@ -363,6 +363,77 @@ DW30-rootfs:
 		
 DW30-all: DW30-uboot DW30-linux DW30-rootfs
 
+DS60-120-uboot-default: u-boot_clean u-boot
+	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/MLO EVSE/Projects/DS60-120/Images/
+	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/u-boot.img EVSE/Projects/DS60-120/Images/
+
+DS60-120-uboot-menuconfig:
+	@echo ===================================
+	@echo    Building U-boot menuconfig
+	@echo ===================================	
+	$(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) menuconfig
+
+DS60-120-uboot: 
+	@echo ===================================
+	@echo    Building U-boot
+	@echo ===================================
+	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/[DS60-120]am335x-evm.dts board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/am335x-evm.dts
+	$(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE)
+	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/MLO EVSE/Projects/DS60-120/Images/
+	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/u-boot.img EVSE/Projects/DS60-120/Images/
+
+DS60-120-linux-default: linux_clean linux
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/zImage EVSE/Projects/DS60-120/Images/
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dtb EVSE/Projects/DS60-120/Images/
+
+DS60-120-linux: 
+	@echo =====================================
+	@echo     Building the Linux Kernel DTBs
+	@echo =====================================
+	@rm -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dtb 
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/[DS60-120]am335x-evm.dts board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dts
+	$(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) am335x-evm.dtb
+	@echo =================================
+	@echo     Building User Linux Kernel
+	@echo =================================
+	@rm -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/zImage 
+	$(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage
+	$(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/zImage EVSE/Projects/DS60-120/Images/
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dtb EVSE/Projects/DS60-120/Images/
+	@cp -f board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/drivers/net/ethernet/qualcomm/qcaspi.ko EVSE/rootfs/lib/
+
+DS60-120-rootfs:
+	@echo =================================
+	@echo     Building User rootfs
+	@echo =================================
+#	@cd EVSE/GPL;make all
+	@cd EVSE/Modularization;make all
+	@cd EVSE/Projects/DS60-120/Apps;make all
+	@rm -f EVSE/Projects/DS60-120/Images/ramdisk.gz
+	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
+	@mke2fs -vm0 /dev/ram0 131072
+	@tune2fs -c 0 /dev/ram0
+	@dd if=/dev/ram0 bs=1k count=131072 | gzip -v9 > EVSE/Projects/DS60-120/Images/ramdisk.gz
+	@mkdir -p EVSE/Projects/DS60-120/Images/mnt
+	@gunzip EVSE/Projects/DS60-120/Images/ramdisk.gz
+	@sync
+	@mount -o loop EVSE/Projects/DS60-120/Images/ramdisk EVSE/Projects/DS60-120/Images/mnt
+	@cp -rfv EVSE/rootfs/* EVSE/Projects/DS60-120/Images/mnt/
+	@cp -rfv EVSE/Projects/DS60-120/Images/root/* EVSE/Projects/DS60-120/Images/mnt/root
+	@chown www-data:www-data EVSE/Projects/DS60-120/Images/mnt/var/www -R
+	@chmod 777 EVSE/Projects/DS60-120/Images/mnt/var/log -R
+	@chmod 777 EVSE/Projects/DS60-120/Images/mnt/var/run -R
+	@sync
+	@sleep 3
+	@umount EVSE/Projects/DS60-120/Images/mnt
+	@sync
+	@gzip -v9 EVSE/Projects/DS60-120/Images/ramdisk
+	@rm -rfv EVSE/Projects/DS60-120/Images/root
+	@rm -rfv EVSE/Projects/DS60-120/Images/mnt
+		
+DS60-120-all: DS60-120-uboot DS60-120-linux DS60-120-rootfs
+
 DS60-210-uboot-default: u-boot_clean u-boot
 	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/MLO EVSE/Projects/DS60-210/Images/
 	@cp -f board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/u-boot.img EVSE/Projects/DS60-210/Images/

+ 20 - 38
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/scripts/basic/.fixdep.cmd

@@ -14,81 +14,61 @@ deps_scripts/basic/fixdep := \
   /usr/include/features.h \
   /usr/include/x86_64-linux-gnu/sys/cdefs.h \
   /usr/include/x86_64-linux-gnu/bits/wordsize.h \
-  /usr/include/x86_64-linux-gnu/bits/long-double.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
   /usr/include/x86_64-linux-gnu/bits/types.h \
   /usr/include/x86_64-linux-gnu/bits/typesizes.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
+  /usr/include/time.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
   /usr/include/endian.h \
   /usr/include/x86_64-linux-gnu/bits/endian.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
-  /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
   /usr/include/x86_64-linux-gnu/sys/select.h \
   /usr/include/x86_64-linux-gnu/bits/select.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
+  /usr/include/x86_64-linux-gnu/bits/sigset.h \
+  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/select2.h \
   /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
-  /usr/include/x86_64-linux-gnu/bits/sysmacros.h \
   /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
-  /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
-  /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
   /usr/include/x86_64-linux-gnu/sys/stat.h \
   /usr/include/x86_64-linux-gnu/bits/stat.h \
   /usr/include/x86_64-linux-gnu/sys/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/mman-shared.h \
   /usr/include/unistd.h \
   /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
   /usr/include/x86_64-linux-gnu/bits/environments.h \
   /usr/include/x86_64-linux-gnu/bits/confname.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
+  /usr/include/getopt.h \
   /usr/include/x86_64-linux-gnu/bits/unistd.h \
   /usr/include/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl2.h \
   /usr/include/string.h \
-  /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
-  /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
-  /usr/include/strings.h \
-  /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
-  /usr/include/x86_64-linux-gnu/bits/string_fortified.h \
+  /usr/include/xlocale.h \
+  /usr/include/x86_64-linux-gnu/bits/string.h \
+  /usr/include/x86_64-linux-gnu/bits/string2.h \
   /usr/include/stdlib.h \
+  /usr/include/x86_64-linux-gnu/bits/string3.h \
   /usr/include/x86_64-linux-gnu/bits/waitflags.h \
   /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
   /usr/include/alloca.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib.h \
   /usr/include/stdio.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/libio.h \
-  /usr/include/x86_64-linux-gnu/bits/_G_config.h \
-    $(wildcard include/config/h.h) \
-  /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \
+  /usr/include/libio.h \
+  /usr/include/_G_config.h \
+  /usr/include/wchar.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
   /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
   /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
   /usr/include/x86_64-linux-gnu/bits/stdio.h \
   /usr/include/x86_64-linux-gnu/bits/stdio2.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/limits.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/syslimits.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
   /usr/include/limits.h \
   /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
   /usr/include/x86_64-linux-gnu/bits/local_lim.h \
@@ -97,9 +77,12 @@ deps_scripts/basic/fixdep := \
   /usr/include/ctype.h \
   /usr/include/arpa/inet.h \
   /usr/include/netinet/in.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \
+  /usr/include/stdint.h \
+  /usr/include/x86_64-linux-gnu/bits/wchar.h \
   /usr/include/x86_64-linux-gnu/sys/socket.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
+  /usr/include/x86_64-linux-gnu/sys/uio.h \
+  /usr/include/x86_64-linux-gnu/bits/uio.h \
   /usr/include/x86_64-linux-gnu/bits/socket.h \
   /usr/include/x86_64-linux-gnu/bits/socket_type.h \
   /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
@@ -107,7 +90,6 @@ deps_scripts/basic/fixdep := \
   /usr/include/asm-generic/socket.h \
   /usr/include/x86_64-linux-gnu/asm/sockios.h \
   /usr/include/asm-generic/sockios.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
   /usr/include/x86_64-linux-gnu/bits/socket2.h \
   /usr/include/x86_64-linux-gnu/bits/in.h \
 

+ 19 - 45
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.gen_eth_addr.cmd

@@ -7,21 +7,15 @@ deps_tools/gen_eth_addr := \
   include/libfdt_env.h \
   include/compiler.h \
     $(wildcard include/config/use/stdint.h) \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \
   /usr/include/stdint.h \
-  /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
   /usr/include/features.h \
   /usr/include/x86_64-linux-gnu/sys/cdefs.h \
   /usr/include/x86_64-linux-gnu/bits/wordsize.h \
-  /usr/include/x86_64-linux-gnu/bits/long-double.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
-  /usr/include/x86_64-linux-gnu/bits/types.h \
-  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/wchar.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
   /usr/include/errno.h \
   /usr/include/x86_64-linux-gnu/bits/errno.h \
   /usr/include/linux/errno.h \
@@ -31,69 +25,50 @@ deps_tools/gen_eth_addr := \
   /usr/include/stdlib.h \
   /usr/include/x86_64-linux-gnu/bits/waitflags.h \
   /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
-  /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
-  /usr/include/x86_64-linux-gnu/sys/types.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
   /usr/include/endian.h \
   /usr/include/x86_64-linux-gnu/bits/endian.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+  /usr/include/x86_64-linux-gnu/bits/types.h \
+  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
-  /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
+  /usr/include/xlocale.h \
+  /usr/include/x86_64-linux-gnu/sys/types.h \
+  /usr/include/time.h \
   /usr/include/x86_64-linux-gnu/sys/select.h \
   /usr/include/x86_64-linux-gnu/bits/select.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
+  /usr/include/x86_64-linux-gnu/bits/sigset.h \
+  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/select2.h \
   /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
-  /usr/include/x86_64-linux-gnu/bits/sysmacros.h \
   /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
-  /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
-  /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
   /usr/include/alloca.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib.h \
   /usr/include/stdio.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/libio.h \
-  /usr/include/x86_64-linux-gnu/bits/_G_config.h \
-    $(wildcard include/config/h.h) \
-  /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \
+  /usr/include/libio.h \
+  /usr/include/_G_config.h \
+  /usr/include/wchar.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
   /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
   /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
   /usr/include/x86_64-linux-gnu/bits/stdio.h \
   /usr/include/x86_64-linux-gnu/bits/stdio2.h \
   /usr/include/string.h \
-  /usr/include/strings.h \
-  /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
-  /usr/include/x86_64-linux-gnu/bits/string_fortified.h \
+  /usr/include/x86_64-linux-gnu/bits/string.h \
+  /usr/include/x86_64-linux-gnu/bits/string2.h \
+  /usr/include/x86_64-linux-gnu/bits/string3.h \
   /usr/include/x86_64-linux-gnu/sys/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/mman-shared.h \
   /usr/include/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
-  /usr/include/linux/falloc.h \
+  /usr/include/x86_64-linux-gnu/bits/uio.h \
   /usr/include/x86_64-linux-gnu/bits/stat.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl2.h \
   /usr/include/byteswap.h \
-  /usr/include/time.h \
-  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/timex.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
   include/linux/types.h \
     $(wildcard include/config/uid16.h) \
   /usr/include/linux/posix_types.h \
@@ -107,13 +82,12 @@ deps_tools/gen_eth_addr := \
   /usr/include/x86_64-linux-gnu/asm/types.h \
   /usr/include/asm-generic/types.h \
   /usr/include/asm-generic/int-ll64.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdbool.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdbool.h \
   /usr/include/unistd.h \
   /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
   /usr/include/x86_64-linux-gnu/bits/environments.h \
   /usr/include/x86_64-linux-gnu/bits/confname.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
+  /usr/include/getopt.h \
   /usr/include/x86_64-linux-gnu/bits/unistd.h \
 
 tools/gen_eth_addr: $(deps_tools/gen_eth_addr)

+ 19 - 45
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.img2srec.cmd

@@ -7,21 +7,15 @@ deps_tools/img2srec := \
   include/libfdt_env.h \
   include/compiler.h \
     $(wildcard include/config/use/stdint.h) \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \
   /usr/include/stdint.h \
-  /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
   /usr/include/features.h \
   /usr/include/x86_64-linux-gnu/sys/cdefs.h \
   /usr/include/x86_64-linux-gnu/bits/wordsize.h \
-  /usr/include/x86_64-linux-gnu/bits/long-double.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
-  /usr/include/x86_64-linux-gnu/bits/types.h \
-  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/wchar.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
   /usr/include/errno.h \
   /usr/include/x86_64-linux-gnu/bits/errno.h \
   /usr/include/linux/errno.h \
@@ -31,69 +25,50 @@ deps_tools/img2srec := \
   /usr/include/stdlib.h \
   /usr/include/x86_64-linux-gnu/bits/waitflags.h \
   /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
-  /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
-  /usr/include/x86_64-linux-gnu/sys/types.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
   /usr/include/endian.h \
   /usr/include/x86_64-linux-gnu/bits/endian.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+  /usr/include/x86_64-linux-gnu/bits/types.h \
+  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
-  /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
+  /usr/include/xlocale.h \
+  /usr/include/x86_64-linux-gnu/sys/types.h \
+  /usr/include/time.h \
   /usr/include/x86_64-linux-gnu/sys/select.h \
   /usr/include/x86_64-linux-gnu/bits/select.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
+  /usr/include/x86_64-linux-gnu/bits/sigset.h \
+  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/select2.h \
   /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
-  /usr/include/x86_64-linux-gnu/bits/sysmacros.h \
   /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
-  /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
-  /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
   /usr/include/alloca.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib.h \
   /usr/include/stdio.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/libio.h \
-  /usr/include/x86_64-linux-gnu/bits/_G_config.h \
-    $(wildcard include/config/h.h) \
-  /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \
+  /usr/include/libio.h \
+  /usr/include/_G_config.h \
+  /usr/include/wchar.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
   /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
   /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
   /usr/include/x86_64-linux-gnu/bits/stdio.h \
   /usr/include/x86_64-linux-gnu/bits/stdio2.h \
   /usr/include/string.h \
-  /usr/include/strings.h \
-  /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
-  /usr/include/x86_64-linux-gnu/bits/string_fortified.h \
+  /usr/include/x86_64-linux-gnu/bits/string.h \
+  /usr/include/x86_64-linux-gnu/bits/string2.h \
+  /usr/include/x86_64-linux-gnu/bits/string3.h \
   /usr/include/x86_64-linux-gnu/sys/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/mman-shared.h \
   /usr/include/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
-  /usr/include/linux/falloc.h \
+  /usr/include/x86_64-linux-gnu/bits/uio.h \
   /usr/include/x86_64-linux-gnu/bits/stat.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl2.h \
   /usr/include/byteswap.h \
-  /usr/include/time.h \
-  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/timex.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
   include/linux/types.h \
     $(wildcard include/config/uid16.h) \
   /usr/include/linux/posix_types.h \
@@ -107,7 +82,7 @@ deps_tools/img2srec := \
   /usr/include/x86_64-linux-gnu/asm/types.h \
   /usr/include/asm-generic/types.h \
   /usr/include/asm-generic/int-ll64.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdbool.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdbool.h \
   tools/os_support.h \
   include/compiler.h \
   /usr/include/ctype.h \
@@ -117,8 +92,7 @@ deps_tools/img2srec := \
   /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
   /usr/include/x86_64-linux-gnu/bits/environments.h \
   /usr/include/x86_64-linux-gnu/bits/confname.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
+  /usr/include/getopt.h \
   /usr/include/x86_64-linux-gnu/bits/unistd.h \
 
 tools/img2srec: $(deps_tools/img2srec)

+ 23 - 62
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/tools/.proftool.cmd

@@ -7,21 +7,15 @@ deps_tools/proftool := \
   include/libfdt_env.h \
   include/compiler.h \
     $(wildcard include/config/use/stdint.h) \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \
   /usr/include/stdint.h \
-  /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
   /usr/include/features.h \
   /usr/include/x86_64-linux-gnu/sys/cdefs.h \
   /usr/include/x86_64-linux-gnu/bits/wordsize.h \
-  /usr/include/x86_64-linux-gnu/bits/long-double.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs.h \
   /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
-  /usr/include/x86_64-linux-gnu/bits/types.h \
-  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/wchar.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
   /usr/include/errno.h \
   /usr/include/x86_64-linux-gnu/bits/errno.h \
   /usr/include/linux/errno.h \
@@ -31,69 +25,50 @@ deps_tools/proftool := \
   /usr/include/stdlib.h \
   /usr/include/x86_64-linux-gnu/bits/waitflags.h \
   /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn.h \
-  /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
-  /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
-  /usr/include/x86_64-linux-gnu/sys/types.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
   /usr/include/endian.h \
   /usr/include/x86_64-linux-gnu/bits/endian.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+  /usr/include/x86_64-linux-gnu/bits/types.h \
+  /usr/include/x86_64-linux-gnu/bits/typesizes.h \
   /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
-  /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
+  /usr/include/xlocale.h \
+  /usr/include/x86_64-linux-gnu/sys/types.h \
+  /usr/include/time.h \
   /usr/include/x86_64-linux-gnu/sys/select.h \
   /usr/include/x86_64-linux-gnu/bits/select.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
+  /usr/include/x86_64-linux-gnu/bits/sigset.h \
+  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/select2.h \
   /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
-  /usr/include/x86_64-linux-gnu/bits/sysmacros.h \
   /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
-  /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
-  /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
   /usr/include/alloca.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
   /usr/include/x86_64-linux-gnu/bits/stdlib.h \
   /usr/include/stdio.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
-  /usr/include/x86_64-linux-gnu/bits/libio.h \
-  /usr/include/x86_64-linux-gnu/bits/_G_config.h \
-    $(wildcard include/config/h.h) \
-  /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \
+  /usr/include/libio.h \
+  /usr/include/_G_config.h \
+  /usr/include/wchar.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
   /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
   /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
   /usr/include/x86_64-linux-gnu/bits/stdio.h \
   /usr/include/x86_64-linux-gnu/bits/stdio2.h \
   /usr/include/string.h \
-  /usr/include/strings.h \
-  /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
-  /usr/include/x86_64-linux-gnu/bits/string_fortified.h \
+  /usr/include/x86_64-linux-gnu/bits/string.h \
+  /usr/include/x86_64-linux-gnu/bits/string2.h \
+  /usr/include/x86_64-linux-gnu/bits/string3.h \
   /usr/include/x86_64-linux-gnu/sys/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman.h \
   /usr/include/x86_64-linux-gnu/bits/mman-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/mman-shared.h \
   /usr/include/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
-  /usr/include/linux/falloc.h \
+  /usr/include/x86_64-linux-gnu/bits/uio.h \
   /usr/include/x86_64-linux-gnu/bits/stat.h \
   /usr/include/x86_64-linux-gnu/bits/fcntl2.h \
   /usr/include/byteswap.h \
-  /usr/include/time.h \
-  /usr/include/x86_64-linux-gnu/bits/time.h \
   /usr/include/x86_64-linux-gnu/bits/timex.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
   include/linux/types.h \
     $(wildcard include/config/uid16.h) \
   /usr/include/linux/posix_types.h \
@@ -107,46 +82,32 @@ deps_tools/proftool := \
   /usr/include/x86_64-linux-gnu/asm/types.h \
   /usr/include/asm-generic/types.h \
   /usr/include/asm-generic/int-ll64.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include/stdbool.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stdbool.h \
   /usr/include/assert.h \
   /usr/include/ctype.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/limits.h \
-  /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/syslimits.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
   /usr/include/limits.h \
   /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
   /usr/include/x86_64-linux-gnu/bits/local_lim.h \
   /usr/include/linux/limits.h \
   /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
   /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
-  /usr/include/x86_64-linux-gnu/bits/uio_lim.h \
   /usr/include/regex.h \
   /usr/include/unistd.h \
   /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
   /usr/include/x86_64-linux-gnu/bits/environments.h \
   /usr/include/x86_64-linux-gnu/bits/confname.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
-  /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
+  /usr/include/getopt.h \
   /usr/include/x86_64-linux-gnu/bits/unistd.h \
   /usr/include/x86_64-linux-gnu/sys/param.h \
   /usr/include/signal.h \
   /usr/include/x86_64-linux-gnu/bits/signum.h \
-  /usr/include/x86_64-linux-gnu/bits/signum-generic.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
-  /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
-  /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
-  /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
-  /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
+  /usr/include/x86_64-linux-gnu/bits/siginfo.h \
   /usr/include/x86_64-linux-gnu/bits/sigaction.h \
   /usr/include/x86_64-linux-gnu/bits/sigcontext.h \
-  /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
-  /usr/include/x86_64-linux-gnu/sys/ucontext.h \
   /usr/include/x86_64-linux-gnu/bits/sigstack.h \
-  /usr/include/x86_64-linux-gnu/bits/ss_flags.h \
-  /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
+  /usr/include/x86_64-linux-gnu/sys/ucontext.h \
   /usr/include/x86_64-linux-gnu/bits/sigthread.h \
   /usr/include/x86_64-linux-gnu/bits/param.h \
   /usr/include/linux/param.h \