Эх сурвалжийг харах

2022-03-30 / Wendell

Actions
1. [add] add 6 parallel relay and compatible with previous version
2. [mod] release and extend psu group logic
3. [fix] psu ambient temperature info

Files
1. As follow commit history

Image version : V2.00.XX.XXXX.XX
Wendell 3 жил өмнө
parent
commit
3deee00c78
25 өөрчлөгдсөн 2136 нэмэгдсэн , 1215 устгасан
  1. 28 7
      EVSE/Projects/DO360/Apps/Config.h
  2. 103 54
      EVSE/Projects/DO360/Apps/Module_InternalComm.c
  3. 658 67
      EVSE/Projects/DO360/Apps/Module_PsuComm.c
  4. 22 0
      EVSE/Projects/DO360/Apps/Module_PsuComm.h
  5. 265 115
      EVSE/Projects/DO360/Apps/ReadCmdline.c
  6. 11 0
      EVSE/Projects/DO360/Apps/internalComm.h
  7. 36 3
      EVSE/Projects/DO360/Apps/main.c
  8. BIN
      EVSE/Projects/DO360/Images/FactoryDefaultConfig.bin
  9. BIN
      EVSE/Projects/DO360/Images/MLO
  10. BIN
      EVSE/Projects/DO360/Images/am335x-evm.dtb
  11. BIN
      EVSE/Projects/DO360/Images/ramdisk.gz
  12. BIN
      EVSE/Projects/DO360/Images/u-boot-spl.bin
  13. BIN
      EVSE/Projects/DO360/Images/u-boot.img
  14. BIN
      EVSE/Projects/DO360/Images/zImage
  15. 296 296
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_System.map
  16. 258 258
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_kallsyms1.S
  17. 258 258
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_kallsyms2.S
  18. 1 1
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.version
  19. 98 49
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/.am335x-evm.dtb.dts.tmp
  20. 84 78
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dts
  21. 6 15
      board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/lib/.gen_crc32table.cmd
  22. 7 8
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/.am335x-evm.dtb.dts.tmp
  23. 3 4
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/am335x-evm.dts
  24. 1 1
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/lib/.asm-offsets.s.cmd
  25. 1 1
      board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/lib/.asm-offsets.s.cmd

+ 28 - 7
EVSE/Projects/DO360/Apps/Config.h

@@ -66,6 +66,8 @@ typedef unsigned char               byte;
 
 #define ENABLE_PCBA_TEST            0
 
+#define PARALLEL_RELAY_COUNT        6
+
 // **********  Audi ********** //
 // Model Name: DOYC182000D2AD
 // Model Name: DDYC182V0UE2AD
@@ -389,7 +391,8 @@ typedef union
         unsigned int DisableBalance:1;              // 0: no effect,                1: disable announce balance
         unsigned int FastStandbyTime:1;             // 0: no effect,                1: enable fast standby time
         unsigned int ChargingSimulation:1;          // 0: no effect,                1: enable charging simulation
-        unsigned int res:29;
+        unsigned int FChargingReleaseExtend:1;      // 0: no effect,                1: enable Release and Extend when Force Charging
+        unsigned int res:28;
     }bits;
 }TestControl;
 
@@ -414,7 +417,8 @@ typedef union
     {
         unsigned int EnableForceCharging:1;         // 0: disable,                  1: enable force charging
         unsigned int StartForceCharging:1;          // 0: disable,                  1: start force charging
-        unsigned int res:30;
+        unsigned int EnableReleaseAndExtend:1;      // 0: disable,                  1: enable Release And Extend when force charging
+        unsigned int res:29;
     }bits;
 }ForceChargingControl;
 
@@ -681,7 +685,8 @@ typedef union
         unsigned int OutputCurrentStable:1;                     // 0: no effect,                1: output current is stable
         unsigned int ReachMaxCurrentDemand:1;                   // 0: no effect,                1: reach ev max current demand
         unsigned int ReachMaxStageCurrent:1;                    // 0: no effect,                1: reach ev max stage current
-        unsigned int MasterCtrlRes:24;
+        unsigned int SmoothDerating:1;                          // 0: no effect,                1: start smooth derating
+        unsigned int MasterCtrlRes:23;
 
         // StopChargingCtrlValue
         unsigned int StopChargingRequest:1;                     // 0: no effect,                1: master need to stop
@@ -728,8 +733,16 @@ typedef struct
     unsigned char           Quantity;
     unsigned char           RealQuantity;
     unsigned char           Member[MAX_GROUP_QUANTITY];         // record slave group index
+    unsigned short          ParallelFlag[MAX_GROUP_QUANTITY];
 }PsuGroupPartner;
 
+typedef struct
+{
+    unsigned short          Voltage;                            // output voltage limit, unit: 0.1V
+    unsigned short          Current;                            // output current limit, unit: 0.1A
+    unsigned short          Power;                              // output power limit, unit: 0.1kw
+}PsuGroupOutputValue;
+
 typedef struct
 {
     unsigned char           Index;
@@ -740,13 +753,18 @@ typedef struct
     PsuGroupPartner         PossibleMember;                     // record possible slave group information
     unsigned char           TargetGroup;                        // target group index + 1
     unsigned char           ReservedTarget;                     // reserved target group index + 1
+    unsigned char           SmoothDeratingTarget;               // group index + 1
+    unsigned char           res;                                // reserved
     PsuGroupControl         GroupCtrl;
     unsigned short          ReAssignAvailableCurrent;           // group available current when reassign, unit: 0.1A
     unsigned short          ParallelCheck;
     unsigned char           ParallelConfig[MAX_GROUP_QUANTITY]; // group parallel relay setting
     unsigned short          GunLoading;                         // gun output loading, unit: 0.01%
     unsigned char           GunPsuQuantity;                     // record psu quantity at this gun
-    unsigned char           res;
+    unsigned char           ExtendQuantityLimit;                // limit of extend psu group quantity
+    float                   DiffPower_Capability;               // unit: 1kW, different power between output power and Capability power
+    float                   DiffPower_Available;                // unit: 1kW, different power between output power and Available power
+    float                   DiffPower_PhysicalLimit;            // unit: 1kW, different power between output power and PhysicalLimit power
 }PsuGroupCollectionData;
 
 typedef struct
@@ -775,8 +793,10 @@ typedef union
         unsigned short Location_1_2:1;                          // 0: set parallel off,         1: set parallel on
         unsigned short Location_2_3:1;                          // 0: set parallel off,         1: set parallel on
         unsigned short Location_3_4:1;                          // 0: set parallel off,         1: set parallel on
-        unsigned short Location_4_5:1;                          // 0: set parallel off,         1: set parallel on
-        unsigned short res:12;
+        unsigned short Location_4_1:1;                          // 0: set parallel off,         1: set parallel on
+        unsigned short Location_4_2:1;                          // 0: set parallel off,         1: set parallel on
+        unsigned short Location_3_1:1;                          // 0: set parallel off,         1: set parallel on
+        unsigned short res:10;
     }bits;
 }PsuGroupParallelRelay;
 
@@ -785,7 +805,8 @@ typedef struct
     byte                    Location[MAX_GROUP_QUANTITY];
     byte                    Layout[MAX_GROUP_QUANTITY];
     PsuGroupCollectionData  GroupCollection[MAX_GROUP_QUANTITY];
-    GroupOutputConfigInfo   GroupOutput[MAX_GROUP_QUANTITY];
+    GroupOutputConfigInfo   GroupOutput[MAX_GROUP_QUANTITY];                // for individual group command
+    GroupOutputConfigInfo   TotalGroupOutput[MAX_GROUP_QUANTITY];           // for total group command
     PsuGroupOutputRelay     OutputRelayConfig[MAX_GROUP_QUANTITY];
     PsuGroupOutputRelay     OutputRelayConfirmed[MAX_GROUP_QUANTITY];
     PsuGroupParallelRelay   ParallelRelayConfig;

+ 103 - 54
EVSE/Projects/DO360/Apps/Module_InternalComm.c

@@ -60,8 +60,10 @@ PsuGroupOutputRelay             *ShmOutputRelayConfig[MAX_GROUP_QUANTITY];
 PsuGroupOutputRelay             *ShmOutputRelayConfirmed[MAX_GROUP_QUANTITY];
 PsuGroupParallelRelay           *ShmParallelRelayConfig;
 PsuGroupParallelRelay           *ShmParallelRelayConfirmed;
-RBRelayControl                  *LocationRelayCtrl[MAX_GROUP_QUANTITY];
-RBRelayControl                  *LocationRelayResponse[MAX_GROUP_QUANTITY];
+OutputRelayControl              *LocationOutputRelayCtrl[MAX_GROUP_QUANTITY];
+OutputRelayControl              *LocationOutputRelayResponse[MAX_GROUP_QUANTITY];
+unsigned char                   LocationParallelRelayCtrl[PARALLEL_RELAY_COUNT];
+unsigned char                   LocationParallelRelayResponse[PARALLEL_RELAY_COUNT];
 Connector_GFD                   *LocaltionGfd[MAX_GROUP_QUANTITY];
 
 #define VIN_MAX_VOLTAGE_IEC         285	// 大於該值 : OVP
@@ -122,6 +124,8 @@ Connector_GFD                   *LocaltionGfd[MAX_GROUP_QUANTITY];
 #define RELAY_OPEN_AT_PRECHARGE             0
 #endif
 
+#define RELAY_DEBUG_MSG                     0
+
 byte gunCount;
 byte acgunCount;
 // 槍資訊
@@ -808,7 +812,7 @@ void GetFanSpeed()
 }
 
 // 讀取 Relay 狀態
-void GetRelayOutputStatus()
+void GetRelayOutputStatus(void)
 {
     unsigned char location = 0;
 
@@ -829,41 +833,65 @@ void GetRelayOutputStatus()
     {
         location = ShmPsuGrouping->GroupCollection[i].Location;
 
-        if(ShmOutputRelayConfirmed[i]->bits.Output_N != LocationRelayResponse[location]->bits.Gun_N)
+        if(ShmOutputRelayConfirmed[i]->bits.Output_N != LocationOutputRelayResponse[location]->bits.Gun_N)
         {
             LOG_INFO("Gun %d Get K1K2 N %s at Location %d",
-                i + 1, LocationRelayResponse[location]->bits.Gun_N ? "On" : "Off", location + 1);
+                i + 1, LocationOutputRelayResponse[location]->bits.Gun_N ? "On" : "Off", location + 1);
         }
-        ShmOutputRelayConfirmed[i]->bits.Output_N = LocationRelayResponse[location]->bits.Gun_N;
+        ShmOutputRelayConfirmed[i]->bits.Output_N = LocationOutputRelayResponse[location]->bits.Gun_N;
 
-        if(ShmOutputRelayConfirmed[i]->bits.Output_P != LocationRelayResponse[location]->bits.Gun_P)
+        if(ShmOutputRelayConfirmed[i]->bits.Output_P != LocationOutputRelayResponse[location]->bits.Gun_P)
         {
             LOG_INFO("Gun %d Get K1K2 P %s at Location %d",
-                i + 1, LocationRelayResponse[location]->bits.Gun_P ? "On" : "Off", location + 1);
+                i + 1, LocationOutputRelayResponse[location]->bits.Gun_P ? "On" : "Off", location + 1);
         }
-        ShmOutputRelayConfirmed[i]->bits.Output_P = LocationRelayResponse[location]->bits.Gun_P;
+        ShmOutputRelayConfirmed[i]->bits.Output_P = LocationOutputRelayResponse[location]->bits.Gun_P;
     }
 
     // update parallel relay feedback status
-    for(int i = 0; i < ShmChargerInfo->Control.MaxConnector - 1; i++)
+
+    int parallelCnt = ShmChargerInfo->Control.MaxConnector == GENERAL_GUN_QUANTITY ? PARALLEL_RELAY_COUNT : 1;
+
+    for(int i = 0; i < parallelCnt; i++)
     {
         bool relayOnOff = 0;
 
         if(ShmChargerInfo->Control.SysCtrl.bits.SecondRelayBoardEnable)
         {
-            relayOnOff = LocationRelayResponse[i]->bits.Gun_Parallel_N_P;
+            switch(i)
+            {
+                case 0:
+                    LocationParallelRelayResponse[i] = regRelay[0].relay_event.bits.Gun1_Parallel_N;
+                    break;
+                case 1:
+                    LocationParallelRelayResponse[i] = regRelay[0].relay_event.bits.Gun2_Parallel_N;
+                    break;
+                case 2:
+                    LocationParallelRelayResponse[i] = regRelay[1].relay_event.bits.Gun1_Parallel_N;
+                    break;
+                case 3:
+                    LocationParallelRelayResponse[i] = regRelay[1].relay_event.bits.Gun2_Parallel_N;
+                    break;
+                case 4:
+                    LocationParallelRelayResponse[i] = regRelay[0].relay_event.bits.CCS_Precharge;
+                    break;
+                case 5:
+                    LocationParallelRelayResponse[i] = regRelay[1].relay_event.bits.CCS_Precharge;
+                    break;
+            }
+            relayOnOff = LocationParallelRelayResponse[i];
         }
         else
         {
             bool original = ShmParallelRelayConfig->CtrlValue & (1 << i) ? false : true;
 
-            relayOnOff = LocationRelayResponse[i]->bits.Gun_Parallel_N_P == LocationRelayResponse[i + 1]->bits.Gun_Parallel_N_P ?
-                LocationRelayResponse[i]->bits.Gun_Parallel_N_P : original;
-#if 0
-            if(LocationRelayResponse[i]->bits.Gun_Parallel_N_P != LocationRelayResponse[i + 1]->bits.Gun_Parallel_N_P)
+            relayOnOff = regRelay[0].relay_event.bits.Gun1_Parallel_N == regRelay[0].relay_event.bits.Gun2_Parallel_N ?
+                regRelay[0].relay_event.bits.Gun1_Parallel_N : original;
+#if RELAY_DEBUG_MSG
+            if(regRelay[0].relay_event.bits.Gun1_Parallel_N != regRelay[0].relay_event.bits.Gun2_Parallel_N)
             {
                 LOG_INFO("Parallel Relay N & P at Location %d is Not Match: %d, %d",
-                    i + 1, LocationRelayResponse[i]->bits.Gun_Parallel_N_P, LocationRelayResponse[i + 1]->bits.Gun_Parallel_N_P);
+                    i + 1, regRelay[0].relay_event.bits.Gun1_Parallel_N, regRelay[0].relay_event.bits.Gun2_Parallel_N);
             }
 #endif
         }
@@ -892,9 +920,13 @@ void CheckK1K2RelayOutput(byte index)
     {
         location = ShmPsuGrouping->GroupCollection[index].Location;
 
-        if(LocationRelayCtrl[location]->bits.Gun_N == LocationRelayCtrl[location]->bits.Gun_P)
+        if(LocationOutputRelayCtrl[location]->bits.Gun_N == LocationOutputRelayCtrl[location]->bits.Gun_P)
         {
-            _chargingData[index]->RelayK1K2Status = LocationRelayCtrl[location]->bits.Gun_N ? YES : NO;
+            _chargingData[index]->RelayK1K2Status = LocationOutputRelayCtrl[location]->bits.Gun_N ? YES : NO;
+        }
+        else
+        {
+            _chargingData[index]->RelayK1K2Status = NO;
         }
     }
 }
@@ -1153,49 +1185,64 @@ void SetK1K2RelayStatus(byte index)
 
         location = ShmPsuGrouping->GroupCollection[index].Location;
 
-        if(ShmOutputRelayConfig[index]->bits.Output_N != LocationRelayCtrl[location]->bits.Gun_N)
+        if(ShmOutputRelayConfig[index]->bits.Output_N != LocationOutputRelayCtrl[location]->bits.Gun_N)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("Connector %d Set K1K2 N %s at Location %d",
                 index + 1, ShmOutputRelayConfig[index]->bits.Output_N ? "On" : "Off", location + 1);
 #endif
         }
-        LocationRelayCtrl[location]->bits.Gun_N = ShmOutputRelayConfig[index]->bits.Output_N;
+        LocationOutputRelayCtrl[location]->bits.Gun_N = ShmOutputRelayConfig[index]->bits.Output_N;
 
-        if(ShmOutputRelayConfig[index]->bits.Output_P != LocationRelayCtrl[location]->bits.Gun_P)
+        if(ShmOutputRelayConfig[index]->bits.Output_P != LocationOutputRelayCtrl[location]->bits.Gun_P)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("Connector %d Set K1K2 P %s at Location %d",
                 index + 1, ShmOutputRelayConfig[index]->bits.Output_P ? "On" : "Off", location + 1);
 #endif
         }
-        LocationRelayCtrl[location]->bits.Gun_P = ShmOutputRelayConfig[index]->bits.Output_P;
+        LocationOutputRelayCtrl[location]->bits.Gun_P = ShmOutputRelayConfig[index]->bits.Output_P;
     }
 }
 
 void SetParalleRelayStatus()
 {
-    for(int i = 0; i < ShmChargerInfo->Control.MaxConnector - 1; i++)
+    int parallelCnt = ShmChargerInfo->Control.MaxConnector == GENERAL_GUN_QUANTITY ? PARALLEL_RELAY_COUNT : 1;
+    for(int i = 0; i < parallelCnt; i++)
     {
-        if((ShmParallelRelayConfig->CtrlValue & (1 << i)) != (LocationRelayCtrl[i]->bits.Gun_Parallel_N_P << i))
+        if((ShmParallelRelayConfig->CtrlValue & (1 << i)) != (LocationParallelRelayCtrl[i] << i))
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("Set Parallel Relay N & P %s at Location %d",
                 (ShmParallelRelayConfig->CtrlValue & (1 << i)) ? "On" : "Off", i + 1);
 #endif
         }
-        LocationRelayCtrl[i]->bits.Gun_Parallel_N_P = (ShmParallelRelayConfig->CtrlValue & (1 << i)) ? YES : NO;
+        LocationParallelRelayCtrl[i] = (ShmParallelRelayConfig->CtrlValue & (1 << i)) ? YES : NO;
 
-        if(!ShmChargerInfo->Control.SysCtrl.bits.SecondRelayBoardEnable)
+        switch(i)
         {
-            if((ShmParallelRelayConfig->CtrlValue & (1 << i)) != (LocationRelayCtrl[i]->bits.Gun_Parallel_P << i))
-            {
-#if 0
-                LOG_INFO("Set Parallel Relay P %s at Location %d",
-                    (ShmParallelRelayConfig->CtrlValue & (1 << i)) ? "On" : "Off", i + 1);
-#endif
-            }
-            LocationRelayCtrl[i + 1]->bits.Gun_Parallel_N_P = (ShmParallelRelayConfig->CtrlValue & (1 << i)) ? YES : NO;
+            case 0:
+                outputRelay[0].relay_event.bits.Gun1_Parallel_N = LocationParallelRelayCtrl[i];
+                if(!ShmChargerInfo->Control.SysCtrl.bits.SecondRelayBoardEnable)
+                {
+                    outputRelay[0].relay_event.bits.Gun2_Parallel_N = LocationParallelRelayCtrl[i];
+                }
+                break;
+            case 1:
+                outputRelay[0].relay_event.bits.Gun2_Parallel_N = LocationParallelRelayCtrl[i];
+                break;
+            case 2:
+                outputRelay[1].relay_event.bits.Gun1_Parallel_N = LocationParallelRelayCtrl[i];
+                break;
+            case 3:
+                outputRelay[1].relay_event.bits.Gun2_Parallel_N = LocationParallelRelayCtrl[i];
+                break;
+            case 4:
+                outputRelay[0].relay_event.bits.CCS_Precharge = LocationParallelRelayCtrl[i];
+                break;
+            case 5:
+                outputRelay[1].relay_event.bits.CCS_Precharge = LocationParallelRelayCtrl[i];
+                break;
         }
     }
 }
@@ -1494,19 +1541,21 @@ int InitShareMemory()
 
         if(ShmChargerInfo->Control.SysCtrl.bits.RelayBoardDisable == false)
         {
-            LocationRelayCtrl[0] = (RBRelayControl *)&outputRelay[0].relay_event.relay_status[1];
-            LocationRelayCtrl[1] = (RBRelayControl *)&outputRelay[0].relay_event.relay_status[2];
-            LocationRelayResponse[0] = (RBRelayControl *)&regRelay[0].relay_event.relay_status[1];
-            LocationRelayResponse[1] = (RBRelayControl *)&regRelay[0].relay_event.relay_status[2];
+            LocationOutputRelayCtrl[0] = (OutputRelayControl *)&outputRelay[0].relay_event.relay_status[1];
+            LocationOutputRelayCtrl[1] = (OutputRelayControl *)&outputRelay[0].relay_event.relay_status[2];
+            LocationOutputRelayResponse[0] = (OutputRelayControl *)&regRelay[0].relay_event.relay_status[1];
+            LocationOutputRelayResponse[1] = (OutputRelayControl *)&regRelay[0].relay_event.relay_status[2];
+            memset(LocationParallelRelayCtrl, 0x00, sizeof(LocationParallelRelayCtrl));
+            memset(LocationParallelRelayResponse, 0x00, sizeof(LocationParallelRelayResponse));
             LocaltionGfd[0] = (Connector_GFD *)&gfd_adc[0].Resister_conn1;
             LocaltionGfd[1] = (Connector_GFD *)&gfd_adc[0].Resister_conn2;
 
             if(ShmChargerInfo->Control.SysCtrl.bits.SecondRelayBoardEnable)
             {
-                LocationRelayCtrl[2] = (RBRelayControl *)&outputRelay[1].relay_event.relay_status[1];
-                LocationRelayCtrl[3] = (RBRelayControl *)&outputRelay[1].relay_event.relay_status[2];
-                LocationRelayResponse[2] = (RBRelayControl *)&regRelay[1].relay_event.relay_status[1];
-                LocationRelayResponse[3] = (RBRelayControl *)&regRelay[1].relay_event.relay_status[2];
+                LocationOutputRelayCtrl[2] = (OutputRelayControl *)&outputRelay[1].relay_event.relay_status[1];
+                LocationOutputRelayCtrl[3] = (OutputRelayControl *)&outputRelay[1].relay_event.relay_status[2];
+                LocationOutputRelayResponse[2] = (OutputRelayControl *)&regRelay[1].relay_event.relay_status[1];
+                LocationOutputRelayResponse[3] = (OutputRelayControl *)&regRelay[1].relay_event.relay_status[2];
                 LocaltionGfd[2] = (Connector_GFD *)&gfd_adc[1].Resister_conn1;
                 LocaltionGfd[3] = (Connector_GFD *)&gfd_adc[1].Resister_conn2;
             }
@@ -1665,63 +1714,63 @@ bool IsNoneMatchRelayStatus(byte index)
         }
         if(TempRegRelay[index].relay_event.bits.CCS_Precharge != outputRelay[index].relay_event.bits.CCS_Precharge)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]CCS Precharge Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.CCS_Precharge == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun1_P != outputRelay[index].relay_event.bits.Gun1_P)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]SMR1:D+ Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun1_P == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun1_N != outputRelay[index].relay_event.bits.Gun1_N)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]SMR1:D- Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun1_N == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun2_P != outputRelay[index].relay_event.bits.Gun2_P)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]SMR2:D+ Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun2_P == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun2_N != outputRelay[index].relay_event.bits.Gun2_N)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]SMR2:D- Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun2_N == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun1_Parallel_P != outputRelay[index].relay_event.bits.Gun1_Parallel_P)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]Parallel:D+ Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun1_Parallel_P == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun1_Parallel_N != outputRelay[index].relay_event.bits.Gun1_Parallel_N)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]Parallel:D- Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun1_Parallel_N == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun2_Parallel_P != outputRelay[index].relay_event.bits.Gun2_Parallel_P)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]Parallel2:D+ Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun2_Parallel_P == YES ? "On" : "Off");
 #endif
         }
         if(TempRegRelay[index].relay_event.bits.Gun2_Parallel_N != outputRelay[index].relay_event.bits.Gun2_Parallel_N)
         {
-#if 0
+#if RELAY_DEBUG_MSG
             LOG_INFO("[%d]Parallel2:D- Relay none match, need to %s", index,
                 outputRelay[index].relay_event.bits.Gun2_Parallel_N == YES ? "On" : "Off");
 #endif

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 658 - 67
EVSE/Projects/DO360/Apps/Module_PsuComm.c


+ 22 - 0
EVSE/Projects/DO360/Apps/Module_PsuComm.h

@@ -85,3 +85,25 @@ enum _CURRENT_CONFIG_MODE
     _CURRENT_MODE_DECREASE  = 3,
     _CURRENT_MODE_DERATING  = 4,
 };
+
+enum _EXTEND_TYPE
+{
+    _EXTEND_TYPE_NONE       = 0,
+    _EXTEND_TYPE_QUANTITY   = 1,
+    _EXTEND_TYPE_POWER      = 2,
+};
+
+#define STR_EXTEND_CONFLICT_NONE        "No Conflict"
+#define STR_EXTEND_CONFLICT_AVAILABLE   "Available Conflict"
+#define STR_EXTEND_CONFLICT_AVERAGE     "Average Conflict"
+#define STR_EXTEND_CONFLICT_PRIORITY    "Priority Conflict"
+#define STR_EXTEND_CONFLICT_UNKNOWN     "Unknown Conflict"
+
+enum _EXTEND_CONFLICT
+{
+    _CONFLICT_NONE          = 0,
+    _CONFLICT_AVAILABLE     = 1,
+    _CONFLICT_AVERAGE       = 2,
+    _CONFLICT_PRIORITY      = 3,
+    _CONFLICT_UNKNOWN       = 4,
+};

+ 265 - 115
EVSE/Projects/DO360/Apps/ReadCmdline.c

@@ -386,9 +386,10 @@ int InputStringNormalize(char *inputCmdString, char *outputCmdString, unsigned i
 
     if(len > 0)
     {
-        while(start < len - 1)
+        while(start < len)
         {
-            if(inputCmdString[start] != ' ' && inputCmdString[start] != '\0')
+            if(inputCmdString[start] != ' ' && inputCmdString[start] != '\0' &&
+                inputCmdString[start] != '\r' && inputCmdString[start] != '\n')
             {
                 cmdLen = ParsingCmd(&inputCmdString[start], &outputCmdString[totalLen]);
 
@@ -1733,13 +1734,15 @@ void CleanWiringInfo(void)
 
 void SetSystemSoftRest(void)
 {
-    printf("********* Set Soft Reset ********\r\n");
+    printf("\r\n");
+    printf("********* Set Soft Reset ********\r\n\r\n");
     ShmChargerInfo->Control.SysCtrl.bits.NeedSoftReset = true;
 }
 
 void SetSystemHardReboot(void)
 {
-    printf("******** Set Hard Reboot ********\r\n");
+    printf("\r\n");
+    printf("******** Set Hard Reboot ********\r\n\r\n");
     ShmChargerInfo->Control.SysCtrl.bits.NeedHardReset = true;
 }
 
@@ -2350,10 +2353,10 @@ void ShowCabinetInfo(void)
 void SetTestControl(char *v1, char *v2)
 {
     int testItem = 0;
-    int testItemLen = 3;
+    int testItemLen = 4;
     int enable = 0;
-    char strTest[32][32] = {"tbl", "tfsb", "chgsm"};
-    char strItem[32][32] = {"Balance", "Fast Standby Time", "Charging Simulation"};
+    char strTest[32][32] = {"tbl", "tfsb", "chgsm", "fcre"};
+    char strItem[32][32] = {"Balance", "Fast Standby Time", "Charging Simulation", "FCharging Release Extend"};
 
     enable = atoi(v2);
 
@@ -2396,14 +2399,14 @@ void SetTestControl(char *v1, char *v2)
     printf("\r\n");
 }
 
-// Gun  Role  Master  K1K2  GTVoltage  GTCurrent  StableCurrent  OutputLoading  GunLoading
-//  1    00     00      0     0000 V    000.0 A       0000 A         XXX.XX       XXX.XX
+// Gun  Role  Master  K1K2  GTVoltage  GTCurrent  StableCurrent  OutputLoading  GunLoading  DiffP_Ava  DiffP_Cap  DiffP_Lim
+//  1    00     00      0     0000 V    000.0 A       0000 A         XXX.XX       XXX.XX      XXX kw     XXX kW    XXX kW
 void ShowGroupingDemand(void)
 {
     byte target = 0;
     unsigned char k1k2 = 0;
 
-    printf("\r\n Gun  Role  Master  K1K2  GTVoltage  GTCurrent  StableCurrent  OutputLoading  GunLoading");
+    printf("\r\n Gun  Role  Master  K1K2  GTVoltage  GTCurrent  StableCurrent  OutputLoading  GunLoading  DiffP_Ava  DiffP_Cap  DiffP_Lim");
 
     for(int i = 0; i < 4; i++)
     {
@@ -2428,6 +2431,11 @@ void ShowGroupingDemand(void)
         if(ShmChargerInfo->PsuGrouping.GroupCollection[target].TargetGroup == target + 1)
         {
             printf("       %3d.%02d", (ShmChargerInfo->PsuGrouping.GroupCollection[target].GunLoading / 100), (ShmChargerInfo->PsuGrouping.GroupCollection[target].GunLoading % 100));
+
+            printf("      %3d kW     %3d kW    %3d kW",
+                (int)ShmPsuGrouping->GroupCollection[target].DiffPower_Available,
+                (int)ShmPsuGrouping->GroupCollection[target].DiffPower_Capability,
+                (int)ShmPsuGrouping->GroupCollection[target].DiffPower_PhysicalLimit);
         }
     }
 
@@ -2448,8 +2456,9 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
 
     if(gun <= 0 || gun > GENERAL_GUN_QUANTITY || _voltage < 0 || _voltage > 1000 || _current < 0 || _current > 1200)
     {
-        printf("\r\nGun Start Charging Input parameter %s, %s, %s over range", v1, v2, v3);
-        printf("\r\n\r\n");
+        printf("\r\n");
+        printf("Gun Start Charging Input parameter %s, %s, %s over range\r\n", v1, v2, v3);
+        printf("\r\n");
         return;
     }
 /*
@@ -2487,7 +2496,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
     struct timespec _Wait_time;
     unsigned char PreviousSystemStatus = 0xFF;
     unsigned short _targetVoltage = 0, _targetCurrent = 0;
-
+    printf("\r\n");
     while(wait)
     {
         switch(_chargingData[gun - 1]->SystemStatus)
@@ -2495,8 +2504,8 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_IDLE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_IDLE", gun);
-                    printf("\r\nSet Gun %d Start Charging > Voltage: %4d, Current: %d", gun, (int)_voltage, (int)_current);
+                    printf("Gun %d S_IDLE\r\n", gun);
+                    printf("Set Gun %d Start Charging > Voltage: %4d, Current: %d\r\n", gun, (int)_voltage, (int)_current);
 
                     ShmChargerInfo->Control.FCharging[gun - 1].FCtrl.bits.EnableForceCharging = true;
                     ShmChargerInfo->Control.FCharging[gun - 1].FCtrl.bits.StartForceCharging = true;
@@ -2509,7 +2518,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_REASSIGN_CHECK:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_REASSIGN_CHECK, Wait For Request Charging", gun);
+                    printf("Gun %d S_REASSIGN_CHECK, Wait For Request Charging\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2517,7 +2526,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_REASSIGN:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_REASSIGN, Wait For Grouping", gun);
+                    printf("Gun %d S_REASSIGN, Wait For Grouping\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2525,7 +2534,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_PREPARNING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARNING", gun);
+                    printf("Gun %d S_PREPARNING\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2533,7 +2542,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_PREPARING_FOR_EV:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARING_FOR_EV", gun);
+                    printf("Gun %d S_PREPARING_FOR_EV\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2541,7 +2550,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_PREPARING_FOR_EVSE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARING_FOR_EVSE, Wait For EVSE", gun);
+                    printf("Gun %d S_PREPARING_FOR_EVSE, Wait For EVSE\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
 
@@ -2550,23 +2559,23 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
                 {
                     _targetVoltage = (int)_chargingData[gun - 1]->EvBatterytargetVoltage;
                     _targetCurrent = (int)_chargingData[gun - 1]->EvBatterytargetCurrent;
-                    printf("\r\nGun %d Set Voltage: %4d, Current: %d", gun, _targetVoltage, _targetCurrent);
+                    printf("Gun %d Set Voltage: %4d, Current: %d\r\n", gun, _targetVoltage, _targetCurrent);
                 }
                 break;
 
             case S_CHARGING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_CHARGING", gun);
+                    printf("Gun %d S_CHARGING\r\n", gun);
                     if(PreviousSystemStatus == 0xFF)
                     {
                         _targetVoltage = (int)_chargingData[gun - 1]->EvBatterytargetVoltage;
                         _targetCurrent = (int)_chargingData[gun - 1]->EvBatterytargetCurrent;
-                        printf("\r\nGun %d Voltage: %4d, Current: %d", gun, _targetVoltage, _targetCurrent);
+                        printf("Gun %d Voltage: %4d, Current: %d\r\n", gun, _targetVoltage, _targetCurrent);
 
                         if(ShmChargerInfo->Control.FCharging[gun - 1].FCtrl.bits.EnableForceCharging)
                         {
-                            printf("\r\nSet Gun %d Force Charging > Voltage: %4d, Current: %d", gun, (int)_voltage, (int)_current);
+                            printf("Set Gun %d Force Charging > Voltage: %4d, Current: %d\r\n", gun, (int)_voltage, (int)_current);
                             ShmChargerInfo->Control.FCharging[gun - 1].FTargetVoltage = _voltage * 10;
                             ShmChargerInfo->Control.FCharging[gun - 1].FTargetCurrent = _current * 10;
                         }
@@ -2580,21 +2589,21 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
                 {
                     _targetVoltage = (int)_chargingData[gun - 1]->EvBatterytargetVoltage;
                     _targetCurrent = (int)_chargingData[gun - 1]->EvBatterytargetCurrent;
-                    printf("\r\nGun %d Set Voltage: %4d, Current: %d", gun, _targetVoltage, _targetCurrent);
+                    printf("Gun %d Set Voltage: %4d, Current: %d\r\n", gun, _targetVoltage, _targetCurrent);
                 }
 
                 time = GetTimeoutValue(_Wait_time) / uSEC_VAL;
-                if(time >= 3)
+                if(time >= 1)
                 {
                     wait = false;
-                    printf("\r\nDone");
+                    printf("Done\r\n");
                 }
                 break;
 
             case S_TERMINATING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_TERMINATING", gun);
+                    printf("Gun %d S_TERMINATING\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 wait = false;
@@ -2603,7 +2612,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_COMPLETE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_COMPLETE", gun);
+                    printf("Gun %d S_COMPLETE\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 wait = false;
@@ -2612,7 +2621,7 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             case S_ALARM:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_ALARM", gun);
+                    printf("Gun %d S_ALARM\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 wait = false;
@@ -2621,10 +2630,10 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
             default:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun SystemStatus %d Unknown(%d)", gun, _chargingData[gun - 1]->SystemStatus);
+                    printf("Gun SystemStatus %d Unknown(%d)\r\n", gun, _chargingData[gun - 1]->SystemStatus);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
-                printf("\r\nGun %d SystemStatus(%d) Is Not Available", gun, _chargingData[gun - 1]->SystemStatus);
+                printf("Gun %d SystemStatus(%d) Is Not Available\r\n", gun, _chargingData[gun - 1]->SystemStatus);
                 wait = false;
                 break;
         }
@@ -2661,14 +2670,14 @@ void SetGunStartCharging(char *v1, char *v2, char *v3)
 
         if(strcmp(newString[0], "c") == 0)
         {
-            printf("\r\nStop");
+            printf("Stop\r\n");
             wait = false;
         }
 
         usleep(100000);
     }
 
-    printf("\r\n\r\n");
+    printf("\r\n");
 }
 
 // v1: gun
@@ -2680,8 +2689,9 @@ void SetGunStopCharging(char *v1)
 
     if(gun <= 0 || gun > GENERAL_GUN_QUANTITY)
     {
-        printf("\r\nGun Stop Charging Input parameter %s over range", v1);
-        printf("\r\n\r\n");
+        printf("\r\n");
+        printf("Gun Stop Charging Input parameter %s over range\r\n", v1);
+        printf("\r\n");
         return;
     }
 /*
@@ -2707,7 +2717,7 @@ void SetGunStopCharging(char *v1)
     int time = 0;
     struct timespec _Wait_time;
     unsigned char PreviousSystemStatus = 0xFF;
-
+    printf("\r\n");
     while(wait)
     {
         switch(_chargingData[gun - 1]->SystemStatus)
@@ -2715,13 +2725,13 @@ void SetGunStopCharging(char *v1)
             case S_IDLE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_IDLE", gun);
+                    printf("Gun %d S_IDLE\r\n", gun);
 
                     if(PreviousSystemStatus == 0xFF)
                     {
                         if(ShmChargerInfo->PsuGrouping.GroupCollection[gun - 1].Role == _GROLE_SLAVE)
                         {
-                            printf("\r\nSet Group [%02X] Stop", gun - 1);
+                            printf("Set Group [%02X] Stop\r\n", gun - 1);
                             ShmChargerInfo->PsuGrouping.GroupCollection[gun - 1].GroupCtrl.bits.SlavePowerOffRequest = true;
                         }
                     }
@@ -2731,23 +2741,23 @@ void SetGunStopCharging(char *v1)
                 }
 
                 time = GetTimeoutValue(_Wait_time) / uSEC_VAL;
-                if(time >= 3)
+                if(time >= 1)
                 {
                     wait = false;
-                    printf("\r\nDone");
+                    printf("Done\r\n");
                 }
                 break;
 
             case S_REASSIGN_CHECK:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_REASSIGN_CHECK, Wait For Request Charging", gun);
+                    printf("Gun %d S_REASSIGN_CHECK, Wait For Request Charging\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2755,13 +2765,13 @@ void SetGunStopCharging(char *v1)
             case S_REASSIGN:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_REASSIGN, Wait For Grouping", gun);
+                    printf("Gun %d S_REASSIGN, Wait For Grouping\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2769,13 +2779,13 @@ void SetGunStopCharging(char *v1)
             case S_PREPARNING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARNING", gun);
+                    printf("Gun %d S_PREPARNING\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2783,13 +2793,13 @@ void SetGunStopCharging(char *v1)
             case S_PREPARING_FOR_EV:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARING_FOR_EV", gun);
+                    printf("Gun %d S_PREPARING_FOR_EV\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2797,13 +2807,13 @@ void SetGunStopCharging(char *v1)
             case S_PREPARING_FOR_EVSE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_PREPARING_FOR_EVSE, Wait For EVSE", gun);
+                    printf("Gun %d S_PREPARING_FOR_EVSE, Wait For EVSE\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2811,13 +2821,13 @@ void SetGunStopCharging(char *v1)
             case S_CHARGING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_CHARGING", gun);
+                    printf("Gun %d S_CHARGING\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
 
                     if(!_chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop)
                     {
                         _chargingData[gun - 1]->ChargingStopFlag.bits.ManualStop = true;
-                        printf("\r\nSet Gun %d Stop Charging(ManualStop)", gun);
+                        printf("Set Gun %d Stop Charging(ManualStop)\r\n", gun);
                     }
                 }
                 break;
@@ -2825,7 +2835,7 @@ void SetGunStopCharging(char *v1)
             case S_TERMINATING:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_TERMINATING", gun);
+                    printf("Gun %d S_TERMINATING\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2833,7 +2843,7 @@ void SetGunStopCharging(char *v1)
             case S_COMPLETE:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_COMPLETE", gun);
+                    printf("Gun %d S_COMPLETE\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2841,7 +2851,7 @@ void SetGunStopCharging(char *v1)
             case S_ALARM:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun %d S_ALARM", gun);
+                    printf("Gun %d S_ALARM\r\n", gun);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
                 break;
@@ -2849,10 +2859,10 @@ void SetGunStopCharging(char *v1)
             default:
                 if(PreviousSystemStatus != _chargingData[gun - 1]->SystemStatus)
                 {
-                    printf("\r\nGun SystemStatus %d Unknown(%d)", gun, _chargingData[gun - 1]->SystemStatus);
+                    printf("Gun SystemStatus %d Unknown(%d)\r\n", gun, _chargingData[gun - 1]->SystemStatus);
                     PreviousSystemStatus = _chargingData[gun - 1]->SystemStatus;
                 }
-                printf("\r\nGun %d SystemStatus(%d) Is Not Available", gun, _chargingData[gun - 1]->SystemStatus);
+                printf("Gun %d SystemStatus(%d) Is Not Available\r\n", gun, _chargingData[gun - 1]->SystemStatus);
                 wait = false;
                 break;
         }
@@ -2889,14 +2899,14 @@ void SetGunStopCharging(char *v1)
 
         if(strcmp(newString[0], "c") == 0)
         {
-            printf("\r\nStop");
+            printf("Stop\r\n");
             wait = false;
         }
 
         usleep(100000);
     }
 
-    printf("\r\n\r\n");
+    printf("\r\n");
 }
 
 void SetGunExtend(char *v1)
@@ -3494,6 +3504,197 @@ void ShowInfo(char *inputCmd, unsigned int opt)
     printf("\r\n");
 }
 
+void RtcSyncCmd(char *inputCmd, unsigned int opt)
+{
+    unsigned int paraOpt = 0;
+    int totalCnt = 0, parseCnt = 0, maxPara = 0;
+    char normalString[128];
+    char paraList[2][128];
+    char hostAdd[32];
+    int dispenser = 0, offset = 0;
+
+    memset(hostAdd, 0x00, sizeof(hostAdd));
+    maxPara = 2;
+    totalCnt = InputStringNormalize(inputCmd, normalString, &paraOpt);
+
+    if(totalCnt != 2)
+    {
+        printf("Input cmd fail ------  rtc [dispenser 1-4] [offset minute]\r\n\r\n");
+        return;
+    }
+
+    printf("\r\n");
+    if(totalCnt > 0)
+    {
+        totalCnt = totalCnt > maxPara ? maxPara : totalCnt;
+
+        int loopLimit = totalCnt > 1 ? totalCnt - 1 : 1;
+
+        for(int i = 0; i < loopLimit; i++)
+        {
+            memset(&paraList[parseCnt][0], 0x00, 128);
+            memset(&paraList[parseCnt + 1][0], 0x00, 128);
+
+            MainAndSubCommandParsing(normalString, &paraList[parseCnt][0], &paraList[parseCnt + 1][0]);
+            strcpy(normalString, &paraList[parseCnt + 1][0]);
+            parseCnt++;
+        }
+    }
+
+    dispenser = atoi(&paraList[0][0]);
+    offset = atoi(&paraList[1][0]);
+
+    if(dispenser <= 0 || dispenser > CONNECTOR_QUANTITY)
+    {
+        printf("dispenser %d over range\r\n\r\n", dispenser);
+        return;
+    }
+
+    if(ShmSysConfigAndInfo->SysInfo.DispenserInfo.Dispenser[dispenser - 1].LocalStatus == _DS_None ||
+        ShmSysConfigAndInfo->SysInfo.DispenserInfo.Dispenser[dispenser - 1].LocalStatus == _DS_Timeout)
+    {
+        printf("dispenser %d is not available\r\n\r\n", dispenser);
+        return;
+    }
+
+    // find dispenser ip address
+    for(int i = 0; i < CONNECTOR_QUANTITY; i++)
+    {
+        if(ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].Status == _CNS_DispenserMatched)
+        {
+            if(ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].DispenserIndex == (dispenser - 1))
+            {
+                sprintf(hostAdd, "%d.%d.%d.%d",
+                    ((ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].IpAddress >> 0) &0xFF),
+                    ((ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].IpAddress >> 8) &0xFF),
+                    ((ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].IpAddress >> 16) &0xFF),
+                    ((ShmSysConfigAndInfo->SysInfo.DispenserInfo.ConnectionInfo[i].IpAddress >> 24) &0xFF));
+            }
+        }
+    }
+
+    if(strlen(hostAdd) == 0)
+    {
+        printf("dispenser %d ip is not available\r\n\r\n", dispenser);
+        return;
+    }
+    printf("try sycn dispenser %d [%s] rtc, offset: %d minutes\r\n", dispenser, hostAdd, offset);
+
+    // get current time and create offset time
+    time_t timep;
+    struct tm *tm;
+    time(&timep);
+    tm = localtime(&timep);
+
+    printf("   NowTime: %d/%02d/%02d %02d:%02d:%02d\r\n",
+        tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
+    if(offset != 0)
+    {
+        timep += (offset * 60);
+        tm = localtime(&timep);
+        printf("OffsetTime: %d/%02d/%02d %02d:%02d:%02d\r\n\r\n",
+            tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
+    }
+
+    // create send socket
+    int rtcfd = 0;
+    struct sockaddr_in serverInfo;
+    struct timeval tv;
+
+    char rtcTxBuffer[64];
+    char rtcRxBuffer[64];
+    int txLen = 0, rxLen = 0;
+    unsigned char chksum = 0x00;
+
+    rtcfd = socket(AF_INET, SOCK_STREAM, 0);
+    if (rtcfd < 0)
+    {
+        printf("create rtc socket fail\r\n\r\n");
+        return;
+    }
+
+    memset(rtcTxBuffer, 0x00, sizeof(rtcTxBuffer));
+    memset(rtcRxBuffer, 0x00, sizeof(rtcRxBuffer));
+
+    tv.tv_sec = 3;
+    tv.tv_usec = 0;
+    setsockopt(rtcfd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(struct timeval));    //設定等待3s
+    setsockopt(rtcfd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(struct timeval));    //設定傳送3s
+
+    bzero(&serverInfo,sizeof(serverInfo));
+    serverInfo.sin_family = AF_INET;
+    serverInfo.sin_addr.s_addr = inet_addr(hostAdd);
+    serverInfo.sin_port = htons(8234);
+
+    if(connect(rtcfd, (struct sockaddr *)&serverInfo, sizeof(serverInfo)) < 0)
+    {
+        printf("connect to host: %s fail\r\n\r\n", hostAdd);
+
+        close(rtcfd);
+        return;
+    }
+
+    // set tx header & data
+    rtcTxBuffer[0] = 0xAA;          // Frame ID
+    rtcTxBuffer[1] = 0x00;          // Master address
+    rtcTxBuffer[2] = 0xFF;          // Slave address
+    rtcTxBuffer[3] = 0x87;          // 0x87
+    rtcTxBuffer[4] = 0x0E;          // Length_Low
+    rtcTxBuffer[5] = 0x00;          // Length_High
+    sprintf(&rtcTxBuffer[6], "%04d%02d%02d%02d%02d%02d",
+        tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
+
+    txLen = rtcTxBuffer[4] + (rtcTxBuffer[5] << 8);
+
+    chksum = 0;
+    for(int i = 0; i < txLen; i++)
+    {
+        chksum ^= rtcTxBuffer[6 + i];
+    }
+    rtcTxBuffer[6 + txLen] = chksum;
+
+    send(rtcfd, rtcTxBuffer, txLen + 7, MSG_NOSIGNAL);
+
+    // receive
+    if(recv(rtcfd, &rtcRxBuffer[0], 6, MSG_WAITALL) < 0)
+    {
+        printf("read head fail\r\n\r\n");
+        close(rtcfd);
+        return;
+    }
+
+    rxLen = rtcRxBuffer[4] + (rtcRxBuffer[5] << 8);
+
+    if(recv(rtcfd, &rtcRxBuffer[6], rxLen + 1, MSG_WAITALL) < 0)
+    {
+        printf("read data fail\r\n\r\n");
+        close(rtcfd);
+        return;
+    }
+
+    chksum = 0;
+    for(int i = 0; i < rxLen; i++)
+    {
+        chksum ^= rtcRxBuffer[6 + i];
+    }
+
+    if(chksum == rtcRxBuffer[6 + rxLen])
+    {
+        printf("set %s rtc: ", hostAdd);
+        for(int i = 0; i < txLen; i++)
+        {
+            printf("%c", rtcTxBuffer[6 + i]);
+        }
+        printf(" %s\r\n\r\n", rtcRxBuffer[6] == 0x01 ? "success" : "fail");
+    }
+    else
+    {
+        printf("receive rtc checksum fail\r\n\r\n");
+    }
+
+    close(rtcfd);
+}
+
 int main(void)
 {
     char newString[32][32];
@@ -3882,61 +4083,6 @@ int main(void)
         {
 
         }
-		/*
-        else if(strcmp(newString[0], "dbop") == 0)
-        {
-            if(DeductDB_Open())
-            {
-                printf ("Deduct DB Open OK\n\n");
-            }
-            else
-            {
-                printf ("Deduct DB Open OK\n\n");
-            }
-        }
-        else if(strcmp(newString[0], "dbup") == 0)
-        {
-            int gun = 0;
-            RecordTransactionInfo deduct;
-
-            if(DB_GetReUploadDeduct(&gun, &deduct) == PASS)
-            {
-                printf("Get Gun %d, TxId: %d, Result: %d, Donate: %d, ApprovalNo: %s, CardNo: %s, VemData: %s, Amount: %f, IsUpload: %d\r\n",
-                    gun, deduct.TransactionId, deduct.DeductResult, deduct.IsDonateInvoice, deduct.ApprovalNo, deduct.CardNo, deduct.VemData, deduct.Amount, deduct.IsUpload);
-
-                deduct.IsUpload = YES;
-                printf("Set this deduct upload OK, and restore into database\r\n");
-                UpdateDeductInfoStatus(gun, &deduct);
-            }
-            else
-            {
-                printf("There is no deduct info need to upload\r\n");
-            }
-        }
-        else if(strcmp(newString[0], "dbde") == 0)
-        {
-            int gun = 0;
-            RecordTransactionInfo deduct;
-
-            if(DB_GetReDeductInfo(&gun, &deduct) == PASS)
-            {
-                printf("Get Gun %d, TxId: %d, Result: %d, Donate: %d, ApprovalNo: %s, CardNo: %s, VemData: %s, Amount: %f, IsUpload: %d\r\n",
-                    gun, deduct.TransactionId, deduct.DeductResult, deduct.IsDonateInvoice, deduct.ApprovalNo, deduct.CardNo, deduct.VemData, deduct.Amount, deduct.IsUpload);
-
-                deduct.DeductResult = YES;
-                printf("Set this deduct result OK, and restore into database\r\n");
-                UpdateDeductInfoStatus(gun, &deduct);
-            }
-            else
-            {
-                printf("There is no deduct info need to re-deduct\r\n");
-            }
-        }
-        else if(strcmp(newString[0], "db") == 0)
-        {
-            DB_GetAllDeductInfo();
-        }
-        */
         else if(strcmp(newString[0], "gcmd") == 0)
         {
             if(strcmp(newString[1], "-1") == 0 || strcmp(newString[1], "") == 0 ||
@@ -3955,6 +4101,10 @@ int main(void)
         else if(strcmp(mainCmd, "info") == 0)
         {
             ShowInfo(subCmd, option);
+        }
+        else if(strcmp(mainCmd, "rtcsync") == 0)
+        {
+            RtcSyncCmd(subCmd, option);
         }
 		else
 		{

+ 11 - 0
EVSE/Projects/DO360/Apps/internalComm.h

@@ -197,6 +197,17 @@ typedef union
     }bits;
 }RBRelayControl;
 
+typedef union
+{
+    unsigned char relay_status;
+    struct
+    {
+        unsigned char Gun_N:1;                      // 0: gun_n off,                1: gun_n on
+        unsigned char Gun_P:1;                      // 0: gun_p off,                1: gun_p on
+        unsigned char res:6;
+    }bits;
+}OutputRelayControl;
+
 typedef struct RELAY
 {
 	union

+ 36 - 3
EVSE/Projects/DO360/Apps/main.c

@@ -150,6 +150,13 @@ const byte GroupParallelRelay_4_Gun[GENERAL_GUN_QUANTITY][GENERAL_GUN_QUANTITY]
     {1, 3, 2, 0}        // group 3
 };
 
+const byte GroupParallelRelay_4_Gun_6Parallel[GENERAL_GUN_QUANTITY][GENERAL_GUN_QUANTITY] =
+{
+    {0, 4, 6, 1},       // group 0
+    {4, 0, 3, 5},       // group 1
+    {6, 3, 0, 2},       // group 2
+    {1, 5, 2, 0}        // group 3
+};
 
 long long DiffTimebWithNow(struct timeb ST);
 unsigned char DetectBitValue(unsigned char _byte, unsigned char _bit);
@@ -387,8 +394,8 @@ bool isModelNameMatch = true;
 //int rfidFd = -1;
 //char* rfidPortName = "/dev/ttyS2";
 #if ENABLE_PCBA_TEST == 0
-char* fwVersion = "V1.10.00.0000.00";
-char* subVersion = "06";
+char* fwVersion = "V2.00.00.0000.00";
+char* subVersion = "00";
 #else
 char* fwVersion = "PCBA.00.04";
 char* subVersion = "00";
@@ -2066,7 +2073,14 @@ void InitialPsuGroupingAndLocation(void)
         ShmPsuGrouping->GroupCollection[i].Location = ShmPsuGrouping->Location[i];
         if(ShmChargerInfo->Control.SysCtrl.bits.SecondRelayBoardEnable)
         {
-            memcpy(&ShmPsuGrouping->GroupCollection[i].ParallelConfig[0], &GroupParallelRelay_4_Gun[i][0], GENERAL_GUN_QUANTITY);
+            if(ShmChargerInfo->Control.SysCtrl.bits.Enable6ParallelRelay == 0)
+            {
+                memcpy(&ShmPsuGrouping->GroupCollection[i].ParallelConfig[0], &GroupParallelRelay_4_Gun[i][0], GENERAL_GUN_QUANTITY);
+            }
+            else
+            {
+                memcpy(&ShmPsuGrouping->GroupCollection[i].ParallelConfig[0], &GroupParallelRelay_4_Gun_6Parallel[i][0], GENERAL_GUN_QUANTITY);
+            }
         }
         else
         {
@@ -2156,6 +2170,14 @@ void InitialPowerCabinetSetting(void)
     ShmChargerInfo->CabinetMiscValue.EVCCIDConfig = ShmSysConfigAndInfo->SysConfig.isAuthrizeByEVCCID;
 }
 
+void Initial6ParallelSetting(void)
+{
+    if(ShmSysConfigAndInfo->SysConfig.ModelName[11] == '3')
+    {
+        ShmChargerInfo->Control.SysCtrl.bits.Enable6ParallelRelay = 1;
+    }
+}
+
 bool InitialChargerSetting(void)
 {
     bool result = true;
@@ -2198,6 +2220,7 @@ bool InitialChargerSetting(void)
     InitialMaxDispenserConnectorQuantity();
     InitialAuthMode();
     InitialQRCodeMode();
+    Initial6ParallelSetting();
     InitialPsuGroupingAndLocation();
     InitialPowerCabinetSetting();
 
@@ -5704,6 +5727,11 @@ char CheckUpdateProcess()
 			        }
 			    }
 			}
+			else
+			{
+			    retFail++;
+			    LOG_INFO("Model Name Is Not Match: %s", model);
+			}
 
 		    sprintf(cmdBuf, "rm -f %s", new_str);
 		    system(cmdBuf);
@@ -9077,6 +9105,11 @@ int main(void)
                                 ShmChargerInfo->Control.FCharging[gun_index].FCtrl.bits.StartForceCharging = false;
                                 strcpy((char *)chargingInfo[gun_index]->StartUserId, "ChargingTest");
                                 LOG_INFO("Gun %d Start Force Charging", gun_index + 1);
+                                if(ShmChargerInfo->Control.TestCtrl.bits.FChargingReleaseExtend)
+                                {
+                                    ShmChargerInfo->Control.FCharging[gun_index].FCtrl.bits.EnableReleaseAndExtend = true;
+                                    LOG_INFO("Gun %d Enable ReleaseAndExtend At Force Charging", gun_index + 1);
+                                }
                                 setChargerMode(gun_index, MODE_REASSIGN_CHECK);
                                 continue;
                             }

BIN
EVSE/Projects/DO360/Images/FactoryDefaultConfig.bin


BIN
EVSE/Projects/DO360/Images/MLO


BIN
EVSE/Projects/DO360/Images/am335x-evm.dtb


BIN
EVSE/Projects/DO360/Images/ramdisk.gz


BIN
EVSE/Projects/DO360/Images/u-boot-spl.bin


BIN
EVSE/Projects/DO360/Images/u-boot.img


BIN
EVSE/Projects/DO360/Images/zImage


+ 296 - 296
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_System.map

@@ -35314,302 +35314,302 @@ c0a00000 R __start_rodata
 c0a00000 A __start_rodata_section_aligned
 c0a00000 R _etext
 c0a00010 R linux_proc_banner
-c0a00068 R linux_banner
-c0a000f8 r __func__.5825
-c0a00108 r sqrt_oddadjust
-c0a00128 r sqrt_evenadjust
-c0a00148 r __func__.5807
-c0a00158 r cc_map
-c0a00178 r isa_modes
-c0a00188 r processor_modes
-c0a00208 r sigpage_mapping
-c0a00218 r regoffset_table
-c0a002b0 r user_arm_view
-c0a002c4 r arm_regsets
-c0a00330 r hwcap_str
-c0a0038c r hwcap2_str
-c0a003a4 r proc_arch
-c0a003e8 R cpuinfo_op
-c0a003f8 R sigreturn_codes
-c0a00414 r handler
-c0a00428 r atags_fops
-c0a004a0 r pmresrn_table.31150
-c0a004b0 r pmresrn_table.31002
-c0a004bc r scorpion_perf_cache_map
-c0a00564 r scorpion_perf_map
-c0a0058c r krait_perf_cache_map
-c0a00634 r krait_perf_map
-c0a0065c r krait_perf_map_no_branch
-c0a00684 r armv7_a5_perf_cache_map
-c0a0072c r armv7_a5_perf_map
-c0a00754 r armv7_a7_perf_cache_map
-c0a007fc r armv7_a7_perf_map
-c0a00824 r armv7_a8_perf_cache_map
-c0a008cc r armv7_a8_perf_map
-c0a008f4 r armv7_a9_perf_cache_map
-c0a0099c r armv7_a9_perf_map
-c0a009c4 r armv7_a12_perf_cache_map
-c0a00a6c r armv7_a12_perf_map
-c0a00a94 r armv7_a15_perf_cache_map
-c0a00b3c r armv7_a15_perf_map
-c0a00b64 r armv7_pmu_probe_table
-c0a00b88 r armv7_pmu_of_device_ids
-c0a013f4 r usermode_action
-c0a0140c r alignment_proc_fops
-c0a01484 r subset.21772
-c0a014a4 r subset.21782
-c0a014b4 r __param_str_alignment
-c0a014c0 r cpu_arch_name
-c0a014c6 r cpu_elf_name
-c0a014cc r l2c220_data
-c0a01514 r omap_types
-c0a01528 r __func__.28508
-c0a01540 r __func__.29284
-c0a01560 r __func__.29289
-c0a01580 r am33xx_control_reg_offsets
-c0a01640 r am43xx_control_reg_offsets
-c0a0171c r omap_scrm_dt_match_table
-c0a01ec4 r omap2_ctrl_data
-c0a01ecc r omap_mux_dbg_signal_fops
-c0a01f44 r omap_mux_dbg_board_fops
-c0a01fbc r __func__.28699
-c0a01fd0 r __func__.28741
-c0a01fe8 r __func__.28758
-c0a02000 r __func__.28788
-c0a02014 r __func__.29075
-c0a02028 r __func__.29089
-c0a0203c r __func__.29126
-c0a0204c r __func__.29002
-c0a02064 r __func__.29015
-c0a02080 r __func__.29102
-c0a02094 r __func__.30036
-c0a020b4 r __func__.30084
-c0a020c8 r __func__.30078
-c0a020d8 r __func__.36712
-c0a020ec r omap_pm_ops
-c0a02114 r reg_map
-c0a021e8 r __func__.31257
-c0a02204 r __func__.27253
-c0a0221c r __func__.27271
-c0a02234 r __func__.28011
-c0a02244 r name
-c0a02250 r __func__.27252
-c0a02264 r __func__.36709
-c0a02274 r modck.36708
-c0a0227c r __func__.37246
-c0a02298 r __func__.28074
-c0a022b0 r __func__.28070
-c0a022cc r __func__.28103
-c0a022e0 r __func__.28109
-c0a022f4 r __func__.28161
-c0a0230c r __func__.28135
-c0a0232c r __func__.25577
-c0a02340 r __func__.23975
-c0a02360 r __func__.23985
-c0a0237c r __func__.30938
-c0a0238c r debug_fops
-c0a02404 r pm_dbg_option_fops
-c0a0247c r pwrdm_suspend_fops
-c0a024f4 r pwrdm_state_names
-c0a02504 r __func__.30154
-c0a0251c r __func__.30166
-c0a0253c r __func__.30177
-c0a02560 r __func__.30189
-c0a0257c r __func__.30203
-c0a02598 r __func__.30215
-c0a025b8 r __func__.30227
-c0a025d0 r __func__.30239
-c0a025e8 r __func__.30248
-c0a02604 r __func__.30257
-c0a02620 r __func__.19941
-c0a02634 r __func__.19953
-c0a02650 r __func__.19965
-c0a0266c r __func__.19977
-c0a02684 r __func__.19988
-c0a0269c r __func__.28041
-c0a026b0 r __func__.28049
-c0a026c0 r __func__.28057
-c0a026d0 r __func__.28062
-c0a026ec r __func__.28068
-c0a02708 r __func__.28076
-c0a02724 r __func__.28081
-c0a0273c r __func__.14518
-c0a02750 r __func__.14345
-c0a02764 r __func__.14379
-c0a0277c r __func__.14532
-c0a02794 r __func__.14512
-c0a027a8 r __func__.27364
-c0a027b8 r __func__.27389
-c0a027d4 r __func__.27402
-c0a027e4 r __func__.27409
-c0a027f4 r __func__.34357
-c0a0280c r __func__.34364
-c0a0282c r __func__.27872
-c0a02840 r __func__.29301
-c0a02850 r __func__.36945
-c0a02864 r __func__.36957
-c0a02874 r __func__.36813
-c0a02888 r __func__.26969
-c0a028a0 r __func__.26938
-c0a028b8 r __func__.26928
-c0a028cc r omap_timer_match
-c0a02eec r __func__.27014
-c0a02f00 r __func__.26797
-c0a02f18 r __func__.26943
-c0a02f34 r __func__.26966
-c0a02f50 r __func__.26977
-c0a02f6c r CSWTCH.92
-c0a02f78 r __func__.26836
-c0a02f94 r __func__.26648
-c0a02fb0 r __func__.26712
-c0a02fd0 r omap3plus_pdata
-c0a02fe0 r execdomains_proc_fops
-c0a03058 r tnts
-c0a03088 r __param_str_crash_kexec_post_notifiers
-c0a030a4 r __param_str_panic_on_warn
-c0a030b4 r __param_str_pause_on_oops
-c0a030c4 r __param_str_panic
-c0a030cc R cpu_all_bits
-c0a030d0 R cpu_bit_bitmap
-c0a03154 R softirq_to_name
-c0a0317c r resource_op
-c0a0318c r proc_ioports_operations
-c0a03204 r proc_iomem_operations
-c0a0327c r proc_wspace_sep
-c0a03288 r cap_last_cap
-c0a0328c r __func__.47243
-c0a032a8 R __cap_empty_set
-c0a032b0 r __func__.40763
-c0a032c8 r offsets.39360
-c0a032d4 r wq_sysfs_group
-c0a032e8 r __param_str_debug_force_rr_cpu
-c0a03308 r __param_str_power_efficient
-c0a03324 r __param_str_disable_numa
-c0a0333c r module_uevent_ops
-c0a03348 r module_sysfs_ops
-c0a03350 R param_ops_string
-c0a03360 R param_array_ops
-c0a03370 R param_ops_bint
-c0a03380 R param_ops_invbool
-c0a03390 R param_ops_bool_enable_only
-c0a033a0 R param_ops_bool
-c0a033b0 R param_ops_charp
-c0a033c0 R param_ops_ullong
-c0a033d0 R param_ops_ulong
-c0a033e0 R param_ops_long
-c0a033f0 R param_ops_uint
-c0a03400 R param_ops_int
-c0a03410 R param_ops_ushort
-c0a03420 R param_ops_short
-c0a03430 R param_ops_byte
-c0a03440 r param.26429
-c0a03444 r reboot_cmd
-c0a03454 r __func__.5705
-c0a03468 R sched_prio_to_weight
-c0a03508 R sched_prio_to_wmult
-c0a035a8 r stat_nam
-c0a035b8 R min_cfs_quota_period
-c0a035c0 R max_cfs_quota_period
-c0a035c8 R idle_sched_class
-c0a03610 R fair_sched_class
-c0a03658 R rt_sched_class
-c0a036a0 R dl_sched_class
-c0a036e8 R stop_sched_class
-c0a03730 r schedstat_sops
-c0a03740 r proc_schedstat_operations
-c0a037b8 r sched_feat_fops
-c0a03830 r sched_feat_names
-c0a03870 r sched_debug_sops
-c0a03880 r sched_debug_fops
-c0a038f8 r sched_tunable_scaling_names
-c0a03904 r pm_qos_array
-c0a03918 r pm_qos_power_fops
-c0a03990 r pm_qos_debug_fops
-c0a03a08 r CSWTCH.162
-c0a03a14 r __func__.31252
-c0a03a30 r __func__.31395
-c0a03a50 r suspend_stats_operations
-c0a03ac8 r CSWTCH.48
-c0a03ae8 r pm_tests
-c0a03b00 r __param_str_pm_test_delay
-c0a03b18 r trunc_msg
-c0a03b24 r recursion_msg.36570
-c0a03b44 r __param_str_always_kmsg_dump
-c0a03b5c r __param_str_console_suspend
-c0a03b74 r __param_str_time
-c0a03b80 r __param_str_ignore_loglevel
-c0a03b98 R kmsg_fops
-c0a03c10 r __param_str_irqfixup
-c0a03c24 r __param_str_noirqdebug
-c0a03c38 r __func__.26206
-c0a03c4c R irq_domain_simple_ops
-c0a03c74 r irq_spurious_proc_fops
-c0a03cec r msi_domain_ops
-c0a03d14 r __param_str_rcu_cpu_stall_timeout
-c0a03d34 r __param_str_rcu_cpu_stall_suppress
-c0a03d54 r __param_str_rcu_normal_after_boot
-c0a03d74 r __param_str_rcu_normal
-c0a03d88 r __param_str_rcu_expedited
-c0a03da0 r gp_ops
-c0a03dc4 r CSWTCH.367
-c0a03dd0 r gp_state_names
-c0a03dec r __param_str_jiffies_till_sched_qs
-c0a03e0c r __param_str_rcu_kick_kthreads
-c0a03e28 r __param_str_jiffies_till_next_fqs
-c0a03e48 r __param_str_jiffies_till_first_fqs
-c0a03e68 r __param_str_qlowmark
-c0a03e7c r __param_str_qhimark
-c0a03e8c r __param_str_blimit
-c0a03e9c r __param_str_kthread_prio
-c0a03eb4 r __param_str_rcu_fanout_leaf
-c0a03ecc r __param_str_rcu_fanout_exact
-c0a03ee8 r __param_str_dump_tree
-c0a03efc r hrtimer_clock_to_base_table
-c0a03f64 r offsets
-c0a03f70 r timer_list_sops
-c0a03f80 r timer_list_fops
-c0a03ff8 r __mon_yday
-c0a0402c r posix_clock_file_operations
-c0a040a4 r alarmtimer_pm_ops
-c0a04100 r __param_str_irqtime
-c0a04108 r tk_debug_sleep_time_fops
-c0a04180 r modules_op
-c0a04190 r proc_modules_operations
-c0a04208 r arr.33985
-c0a04244 r __func__.35164
-c0a04254 r vermagic
-c0a04294 r masks.34837
-c0a042bc r modinfo_attrs
-c0a042e0 r __param_str_module_blacklist
-c0a042f4 r __param_str_nomodule
-c0a04300 r __param_str_sig_enforce
-c0a04314 r kallsyms_op
-c0a04324 r kallsyms_operations
-c0a0439c r __func__.53739
-c0a043b0 r cgroup_subsys
-c0a043d0 r cgroup_subsys_enabled_key
-c0a043f0 r cgroup_subsys_on_dfl_key
-c0a04410 r cgroup_subsys_name
-c0a04430 r proc_cgroupstats_operations
-c0a044a8 R cgroupns_operations
-c0a044c4 R utsns_operations
-c0a044e0 R pidns_operations
-c0a044fc r kernel_config_data
-c0a0bcd4 r ikconfig_file_ops
-c0a0bd4c r mode1_syscalls
-c0a0bd60 r jumptable.45708
-c0a0c160 r __func__.45888
-c0a0c170 R bpf_tail_call_proto
-c0a0c190 r __func__.50908
-c0a0c1a4 r perf_mmap_vmops
-c0a0c1d0 r perf_fops
-c0a0c248 r if_tokens
-c0a0c288 r pmu_dev_group
-c0a0c29c r __func__.24217
-c0a0c2b8 r __func__.24230
-c0a0c2d0 r __func__.24138
-c0a0c2e4 r __func__.24193
-c0a0c2f8 r __func__.24205
+c0a00074 R linux_banner
+c0a00110 r __func__.5825
+c0a00120 r sqrt_oddadjust
+c0a00140 r sqrt_evenadjust
+c0a00160 r __func__.5807
+c0a00170 r cc_map
+c0a00190 r isa_modes
+c0a001a0 r processor_modes
+c0a00220 r sigpage_mapping
+c0a00230 r regoffset_table
+c0a002c8 r user_arm_view
+c0a002dc r arm_regsets
+c0a00348 r hwcap_str
+c0a003a4 r hwcap2_str
+c0a003bc r proc_arch
+c0a00400 R cpuinfo_op
+c0a00410 R sigreturn_codes
+c0a0042c r handler
+c0a00440 r atags_fops
+c0a004b8 r pmresrn_table.31150
+c0a004c8 r pmresrn_table.31002
+c0a004d4 r scorpion_perf_cache_map
+c0a0057c r scorpion_perf_map
+c0a005a4 r krait_perf_cache_map
+c0a0064c r krait_perf_map
+c0a00674 r krait_perf_map_no_branch
+c0a0069c r armv7_a5_perf_cache_map
+c0a00744 r armv7_a5_perf_map
+c0a0076c r armv7_a7_perf_cache_map
+c0a00814 r armv7_a7_perf_map
+c0a0083c r armv7_a8_perf_cache_map
+c0a008e4 r armv7_a8_perf_map
+c0a0090c r armv7_a9_perf_cache_map
+c0a009b4 r armv7_a9_perf_map
+c0a009dc r armv7_a12_perf_cache_map
+c0a00a84 r armv7_a12_perf_map
+c0a00aac r armv7_a15_perf_cache_map
+c0a00b54 r armv7_a15_perf_map
+c0a00b7c r armv7_pmu_probe_table
+c0a00ba0 r armv7_pmu_of_device_ids
+c0a0140c r usermode_action
+c0a01424 r alignment_proc_fops
+c0a0149c r subset.21772
+c0a014bc r subset.21782
+c0a014cc r __param_str_alignment
+c0a014d8 r cpu_arch_name
+c0a014de r cpu_elf_name
+c0a014e4 r l2c220_data
+c0a0152c r omap_types
+c0a01540 r __func__.28508
+c0a01558 r __func__.29284
+c0a01578 r __func__.29289
+c0a01598 r am33xx_control_reg_offsets
+c0a01658 r am43xx_control_reg_offsets
+c0a01734 r omap_scrm_dt_match_table
+c0a01edc r omap2_ctrl_data
+c0a01ee4 r omap_mux_dbg_signal_fops
+c0a01f5c r omap_mux_dbg_board_fops
+c0a01fd4 r __func__.28699
+c0a01fe8 r __func__.28741
+c0a02000 r __func__.28758
+c0a02018 r __func__.28788
+c0a0202c r __func__.29075
+c0a02040 r __func__.29089
+c0a02054 r __func__.29126
+c0a02064 r __func__.29002
+c0a0207c r __func__.29015
+c0a02098 r __func__.29102
+c0a020ac r __func__.30036
+c0a020cc r __func__.30084
+c0a020e0 r __func__.30078
+c0a020f0 r __func__.36712
+c0a02104 r omap_pm_ops
+c0a0212c r reg_map
+c0a02200 r __func__.31257
+c0a0221c r __func__.27253
+c0a02234 r __func__.27271
+c0a0224c r __func__.28011
+c0a0225c r name
+c0a02268 r __func__.27252
+c0a0227c r __func__.36709
+c0a0228c r modck.36708
+c0a02294 r __func__.37246
+c0a022b0 r __func__.28074
+c0a022c8 r __func__.28070
+c0a022e4 r __func__.28103
+c0a022f8 r __func__.28109
+c0a0230c r __func__.28161
+c0a02324 r __func__.28135
+c0a02344 r __func__.25577
+c0a02358 r __func__.23975
+c0a02378 r __func__.23985
+c0a02394 r __func__.30938
+c0a023a4 r debug_fops
+c0a0241c r pm_dbg_option_fops
+c0a02494 r pwrdm_suspend_fops
+c0a0250c r pwrdm_state_names
+c0a0251c r __func__.30154
+c0a02534 r __func__.30166
+c0a02554 r __func__.30177
+c0a02578 r __func__.30189
+c0a02594 r __func__.30203
+c0a025b0 r __func__.30215
+c0a025d0 r __func__.30227
+c0a025e8 r __func__.30239
+c0a02600 r __func__.30248
+c0a0261c r __func__.30257
+c0a02638 r __func__.19941
+c0a0264c r __func__.19953
+c0a02668 r __func__.19965
+c0a02684 r __func__.19977
+c0a0269c r __func__.19988
+c0a026b4 r __func__.28041
+c0a026c8 r __func__.28049
+c0a026d8 r __func__.28057
+c0a026e8 r __func__.28062
+c0a02704 r __func__.28068
+c0a02720 r __func__.28076
+c0a0273c r __func__.28081
+c0a02754 r __func__.14518
+c0a02768 r __func__.14345
+c0a0277c r __func__.14379
+c0a02794 r __func__.14532
+c0a027ac r __func__.14512
+c0a027c0 r __func__.27364
+c0a027d0 r __func__.27389
+c0a027ec r __func__.27402
+c0a027fc r __func__.27409
+c0a0280c r __func__.34357
+c0a02824 r __func__.34364
+c0a02844 r __func__.27872
+c0a02858 r __func__.29301
+c0a02868 r __func__.36945
+c0a0287c r __func__.36957
+c0a0288c r __func__.36813
+c0a028a0 r __func__.26969
+c0a028b8 r __func__.26938
+c0a028d0 r __func__.26928
+c0a028e4 r omap_timer_match
+c0a02f04 r __func__.27014
+c0a02f18 r __func__.26797
+c0a02f30 r __func__.26943
+c0a02f4c r __func__.26966
+c0a02f68 r __func__.26977
+c0a02f84 r CSWTCH.92
+c0a02f90 r __func__.26836
+c0a02fac r __func__.26648
+c0a02fc8 r __func__.26712
+c0a02fe8 r omap3plus_pdata
+c0a02ff8 r execdomains_proc_fops
+c0a03070 r tnts
+c0a030a0 r __param_str_crash_kexec_post_notifiers
+c0a030bc r __param_str_panic_on_warn
+c0a030cc r __param_str_pause_on_oops
+c0a030dc r __param_str_panic
+c0a030e4 R cpu_all_bits
+c0a030e8 R cpu_bit_bitmap
+c0a0316c R softirq_to_name
+c0a03194 r resource_op
+c0a031a4 r proc_ioports_operations
+c0a0321c r proc_iomem_operations
+c0a03294 r proc_wspace_sep
+c0a032a0 r cap_last_cap
+c0a032a4 r __func__.47243
+c0a032c0 R __cap_empty_set
+c0a032c8 r __func__.40763
+c0a032e0 r offsets.39360
+c0a032ec r wq_sysfs_group
+c0a03300 r __param_str_debug_force_rr_cpu
+c0a03320 r __param_str_power_efficient
+c0a0333c r __param_str_disable_numa
+c0a03354 r module_uevent_ops
+c0a03360 r module_sysfs_ops
+c0a03368 R param_ops_string
+c0a03378 R param_array_ops
+c0a03388 R param_ops_bint
+c0a03398 R param_ops_invbool
+c0a033a8 R param_ops_bool_enable_only
+c0a033b8 R param_ops_bool
+c0a033c8 R param_ops_charp
+c0a033d8 R param_ops_ullong
+c0a033e8 R param_ops_ulong
+c0a033f8 R param_ops_long
+c0a03408 R param_ops_uint
+c0a03418 R param_ops_int
+c0a03428 R param_ops_ushort
+c0a03438 R param_ops_short
+c0a03448 R param_ops_byte
+c0a03458 r param.26429
+c0a0345c r reboot_cmd
+c0a0346c r __func__.5705
+c0a03480 R sched_prio_to_weight
+c0a03520 R sched_prio_to_wmult
+c0a035c0 r stat_nam
+c0a035d0 R min_cfs_quota_period
+c0a035d8 R max_cfs_quota_period
+c0a035e0 R idle_sched_class
+c0a03628 R fair_sched_class
+c0a03670 R rt_sched_class
+c0a036b8 R dl_sched_class
+c0a03700 R stop_sched_class
+c0a03748 r schedstat_sops
+c0a03758 r proc_schedstat_operations
+c0a037d0 r sched_feat_fops
+c0a03848 r sched_feat_names
+c0a03888 r sched_debug_sops
+c0a03898 r sched_debug_fops
+c0a03910 r sched_tunable_scaling_names
+c0a0391c r pm_qos_array
+c0a03930 r pm_qos_power_fops
+c0a039a8 r pm_qos_debug_fops
+c0a03a20 r CSWTCH.162
+c0a03a2c r __func__.31252
+c0a03a48 r __func__.31395
+c0a03a68 r suspend_stats_operations
+c0a03ae0 r CSWTCH.48
+c0a03b00 r pm_tests
+c0a03b18 r __param_str_pm_test_delay
+c0a03b30 r trunc_msg
+c0a03b3c r recursion_msg.36570
+c0a03b5c r __param_str_always_kmsg_dump
+c0a03b74 r __param_str_console_suspend
+c0a03b8c r __param_str_time
+c0a03b98 r __param_str_ignore_loglevel
+c0a03bb0 R kmsg_fops
+c0a03c28 r __param_str_irqfixup
+c0a03c3c r __param_str_noirqdebug
+c0a03c50 r __func__.26206
+c0a03c64 R irq_domain_simple_ops
+c0a03c8c r irq_spurious_proc_fops
+c0a03d04 r msi_domain_ops
+c0a03d2c r __param_str_rcu_cpu_stall_timeout
+c0a03d4c r __param_str_rcu_cpu_stall_suppress
+c0a03d6c r __param_str_rcu_normal_after_boot
+c0a03d8c r __param_str_rcu_normal
+c0a03da0 r __param_str_rcu_expedited
+c0a03db8 r gp_ops
+c0a03ddc r CSWTCH.367
+c0a03de8 r gp_state_names
+c0a03e04 r __param_str_jiffies_till_sched_qs
+c0a03e24 r __param_str_rcu_kick_kthreads
+c0a03e40 r __param_str_jiffies_till_next_fqs
+c0a03e60 r __param_str_jiffies_till_first_fqs
+c0a03e80 r __param_str_qlowmark
+c0a03e94 r __param_str_qhimark
+c0a03ea4 r __param_str_blimit
+c0a03eb4 r __param_str_kthread_prio
+c0a03ecc r __param_str_rcu_fanout_leaf
+c0a03ee4 r __param_str_rcu_fanout_exact
+c0a03f00 r __param_str_dump_tree
+c0a03f14 r hrtimer_clock_to_base_table
+c0a03f7c r offsets
+c0a03f88 r timer_list_sops
+c0a03f98 r timer_list_fops
+c0a04010 r __mon_yday
+c0a04044 r posix_clock_file_operations
+c0a040bc r alarmtimer_pm_ops
+c0a04118 r __param_str_irqtime
+c0a04120 r tk_debug_sleep_time_fops
+c0a04198 r modules_op
+c0a041a8 r proc_modules_operations
+c0a04220 r arr.33985
+c0a0425c r __func__.35164
+c0a0426c r vermagic
+c0a042ac r masks.34837
+c0a042d4 r modinfo_attrs
+c0a042f8 r __param_str_module_blacklist
+c0a0430c r __param_str_nomodule
+c0a04318 r __param_str_sig_enforce
+c0a0432c r kallsyms_op
+c0a0433c r kallsyms_operations
+c0a043b4 r __func__.53739
+c0a043c8 r cgroup_subsys
+c0a043e8 r cgroup_subsys_enabled_key
+c0a04408 r cgroup_subsys_on_dfl_key
+c0a04428 r cgroup_subsys_name
+c0a04448 r proc_cgroupstats_operations
+c0a044c0 R cgroupns_operations
+c0a044dc R utsns_operations
+c0a044f8 R pidns_operations
+c0a04514 r kernel_config_data
+c0a0bcec r ikconfig_file_ops
+c0a0bd64 r mode1_syscalls
+c0a0bd78 r jumptable.45708
+c0a0c178 r __func__.45888
+c0a0c188 R bpf_tail_call_proto
+c0a0c1a8 r __func__.50908
+c0a0c1bc r perf_mmap_vmops
+c0a0c1e8 r perf_fops
+c0a0c260 r if_tokens
+c0a0c2a0 r pmu_dev_group
+c0a0c2b4 r __func__.24217
+c0a0c2d0 r __func__.24230
+c0a0c2e8 r __func__.24138
+c0a0c2fc r __func__.24193
+c0a0c310 r __func__.24205
 c0a0c340 R generic_file_vm_ops
 c0a0c36c r __func__.32733
 c0a0c380 r fallbacks

+ 258 - 258
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_kallsyms1.S

@@ -35322,302 +35322,302 @@ kallsyms_offsets:
 	.long	0x9f8000
 	.long	0x9f8000
 	.long	0x9f8010
-	.long	0x9f8068
-	.long	0x9f80f8
-	.long	0x9f8108
-	.long	0x9f8128
-	.long	0x9f8148
-	.long	0x9f8158
-	.long	0x9f8178
-	.long	0x9f8188
-	.long	0x9f8208
-	.long	0x9f8218
-	.long	0x9f82b0
-	.long	0x9f82c4
-	.long	0x9f8330
-	.long	0x9f838c
+	.long	0x9f8074
+	.long	0x9f8110
+	.long	0x9f8120
+	.long	0x9f8140
+	.long	0x9f8160
+	.long	0x9f8170
+	.long	0x9f8190
+	.long	0x9f81a0
+	.long	0x9f8220
+	.long	0x9f8230
+	.long	0x9f82c8
+	.long	0x9f82dc
+	.long	0x9f8348
 	.long	0x9f83a4
-	.long	0x9f83e8
-	.long	0x9f83f8
-	.long	0x9f8414
-	.long	0x9f8428
-	.long	0x9f84a0
-	.long	0x9f84b0
-	.long	0x9f84bc
-	.long	0x9f8564
-	.long	0x9f858c
-	.long	0x9f8634
-	.long	0x9f865c
-	.long	0x9f8684
-	.long	0x9f872c
-	.long	0x9f8754
-	.long	0x9f87fc
-	.long	0x9f8824
-	.long	0x9f88cc
-	.long	0x9f88f4
-	.long	0x9f899c
-	.long	0x9f89c4
-	.long	0x9f8a6c
-	.long	0x9f8a94
-	.long	0x9f8b3c
-	.long	0x9f8b64
-	.long	0x9f8b88
-	.long	0x9f93f4
+	.long	0x9f83bc
+	.long	0x9f8400
+	.long	0x9f8410
+	.long	0x9f842c
+	.long	0x9f8440
+	.long	0x9f84b8
+	.long	0x9f84c8
+	.long	0x9f84d4
+	.long	0x9f857c
+	.long	0x9f85a4
+	.long	0x9f864c
+	.long	0x9f8674
+	.long	0x9f869c
+	.long	0x9f8744
+	.long	0x9f876c
+	.long	0x9f8814
+	.long	0x9f883c
+	.long	0x9f88e4
+	.long	0x9f890c
+	.long	0x9f89b4
+	.long	0x9f89dc
+	.long	0x9f8a84
+	.long	0x9f8aac
+	.long	0x9f8b54
+	.long	0x9f8b7c
+	.long	0x9f8ba0
 	.long	0x9f940c
-	.long	0x9f9484
-	.long	0x9f94a4
-	.long	0x9f94b4
-	.long	0x9f94c0
-	.long	0x9f94c6
+	.long	0x9f9424
+	.long	0x9f949c
+	.long	0x9f94bc
 	.long	0x9f94cc
-	.long	0x9f9514
-	.long	0x9f9528
+	.long	0x9f94d8
+	.long	0x9f94de
+	.long	0x9f94e4
+	.long	0x9f952c
 	.long	0x9f9540
-	.long	0x9f9560
-	.long	0x9f9580
-	.long	0x9f9640
-	.long	0x9f971c
-	.long	0x9f9ec4
-	.long	0x9f9ecc
-	.long	0x9f9f44
-	.long	0x9f9fbc
-	.long	0x9f9fd0
+	.long	0x9f9558
+	.long	0x9f9578
+	.long	0x9f9598
+	.long	0x9f9658
+	.long	0x9f9734
+	.long	0x9f9edc
+	.long	0x9f9ee4
+	.long	0x9f9f5c
+	.long	0x9f9fd4
 	.long	0x9f9fe8
 	.long	0x9fa000
-	.long	0x9fa014
-	.long	0x9fa028
-	.long	0x9fa03c
-	.long	0x9fa04c
+	.long	0x9fa018
+	.long	0x9fa02c
+	.long	0x9fa040
+	.long	0x9fa054
 	.long	0x9fa064
-	.long	0x9fa080
-	.long	0x9fa094
-	.long	0x9fa0b4
-	.long	0x9fa0c8
-	.long	0x9fa0d8
-	.long	0x9fa0ec
-	.long	0x9fa114
-	.long	0x9fa1e8
-	.long	0x9fa204
+	.long	0x9fa07c
+	.long	0x9fa098
+	.long	0x9fa0ac
+	.long	0x9fa0cc
+	.long	0x9fa0e0
+	.long	0x9fa0f0
+	.long	0x9fa104
+	.long	0x9fa12c
+	.long	0x9fa200
 	.long	0x9fa21c
 	.long	0x9fa234
-	.long	0x9fa244
-	.long	0x9fa250
-	.long	0x9fa264
-	.long	0x9fa274
+	.long	0x9fa24c
+	.long	0x9fa25c
+	.long	0x9fa268
 	.long	0x9fa27c
-	.long	0x9fa298
+	.long	0x9fa28c
+	.long	0x9fa294
 	.long	0x9fa2b0
-	.long	0x9fa2cc
-	.long	0x9fa2e0
-	.long	0x9fa2f4
+	.long	0x9fa2c8
+	.long	0x9fa2e4
+	.long	0x9fa2f8
 	.long	0x9fa30c
-	.long	0x9fa32c
-	.long	0x9fa340
-	.long	0x9fa360
-	.long	0x9fa37c
-	.long	0x9fa38c
-	.long	0x9fa404
-	.long	0x9fa47c
-	.long	0x9fa4f4
-	.long	0x9fa504
+	.long	0x9fa324
+	.long	0x9fa344
+	.long	0x9fa358
+	.long	0x9fa378
+	.long	0x9fa394
+	.long	0x9fa3a4
+	.long	0x9fa41c
+	.long	0x9fa494
+	.long	0x9fa50c
 	.long	0x9fa51c
-	.long	0x9fa53c
-	.long	0x9fa560
-	.long	0x9fa57c
-	.long	0x9fa598
-	.long	0x9fa5b8
+	.long	0x9fa534
+	.long	0x9fa554
+	.long	0x9fa578
+	.long	0x9fa594
+	.long	0x9fa5b0
 	.long	0x9fa5d0
 	.long	0x9fa5e8
-	.long	0x9fa604
-	.long	0x9fa620
-	.long	0x9fa634
-	.long	0x9fa650
-	.long	0x9fa66c
+	.long	0x9fa600
+	.long	0x9fa61c
+	.long	0x9fa638
+	.long	0x9fa64c
+	.long	0x9fa668
 	.long	0x9fa684
 	.long	0x9fa69c
-	.long	0x9fa6b0
-	.long	0x9fa6c0
-	.long	0x9fa6d0
-	.long	0x9fa6ec
-	.long	0x9fa708
-	.long	0x9fa724
+	.long	0x9fa6b4
+	.long	0x9fa6c8
+	.long	0x9fa6d8
+	.long	0x9fa6e8
+	.long	0x9fa704
+	.long	0x9fa720
 	.long	0x9fa73c
-	.long	0x9fa750
-	.long	0x9fa764
+	.long	0x9fa754
+	.long	0x9fa768
 	.long	0x9fa77c
 	.long	0x9fa794
-	.long	0x9fa7a8
-	.long	0x9fa7b8
-	.long	0x9fa7d4
-	.long	0x9fa7e4
-	.long	0x9fa7f4
+	.long	0x9fa7ac
+	.long	0x9fa7c0
+	.long	0x9fa7d0
+	.long	0x9fa7ec
+	.long	0x9fa7fc
 	.long	0x9fa80c
-	.long	0x9fa82c
-	.long	0x9fa840
-	.long	0x9fa850
-	.long	0x9fa864
-	.long	0x9fa874
-	.long	0x9fa888
+	.long	0x9fa824
+	.long	0x9fa844
+	.long	0x9fa858
+	.long	0x9fa868
+	.long	0x9fa87c
+	.long	0x9fa88c
 	.long	0x9fa8a0
 	.long	0x9fa8b8
-	.long	0x9fa8cc
-	.long	0x9faeec
-	.long	0x9faf00
+	.long	0x9fa8d0
+	.long	0x9fa8e4
+	.long	0x9faf04
 	.long	0x9faf18
-	.long	0x9faf34
-	.long	0x9faf50
-	.long	0x9faf6c
-	.long	0x9faf78
-	.long	0x9faf94
-	.long	0x9fafb0
-	.long	0x9fafd0
-	.long	0x9fafe0
-	.long	0x9fb058
-	.long	0x9fb088
-	.long	0x9fb0a4
-	.long	0x9fb0b4
-	.long	0x9fb0c4
+	.long	0x9faf30
+	.long	0x9faf4c
+	.long	0x9faf68
+	.long	0x9faf84
+	.long	0x9faf90
+	.long	0x9fafac
+	.long	0x9fafc8
+	.long	0x9fafe8
+	.long	0x9faff8
+	.long	0x9fb070
+	.long	0x9fb0a0
+	.long	0x9fb0bc
 	.long	0x9fb0cc
-	.long	0x9fb0d0
-	.long	0x9fb154
-	.long	0x9fb17c
-	.long	0x9fb18c
-	.long	0x9fb204
-	.long	0x9fb27c
-	.long	0x9fb288
-	.long	0x9fb28c
-	.long	0x9fb2a8
-	.long	0x9fb2b0
+	.long	0x9fb0dc
+	.long	0x9fb0e4
+	.long	0x9fb0e8
+	.long	0x9fb16c
+	.long	0x9fb194
+	.long	0x9fb1a4
+	.long	0x9fb21c
+	.long	0x9fb294
+	.long	0x9fb2a0
+	.long	0x9fb2a4
+	.long	0x9fb2c0
 	.long	0x9fb2c8
-	.long	0x9fb2d4
-	.long	0x9fb2e8
-	.long	0x9fb308
-	.long	0x9fb324
+	.long	0x9fb2e0
+	.long	0x9fb2ec
+	.long	0x9fb300
+	.long	0x9fb320
 	.long	0x9fb33c
-	.long	0x9fb348
-	.long	0x9fb350
+	.long	0x9fb354
 	.long	0x9fb360
-	.long	0x9fb370
-	.long	0x9fb380
-	.long	0x9fb390
-	.long	0x9fb3a0
-	.long	0x9fb3b0
-	.long	0x9fb3c0
-	.long	0x9fb3d0
-	.long	0x9fb3e0
-	.long	0x9fb3f0
-	.long	0x9fb400
-	.long	0x9fb410
-	.long	0x9fb420
-	.long	0x9fb430
-	.long	0x9fb440
-	.long	0x9fb444
-	.long	0x9fb454
-	.long	0x9fb468
-	.long	0x9fb508
-	.long	0x9fb5a8
-	.long	0x9fb5b8
+	.long	0x9fb368
+	.long	0x9fb378
+	.long	0x9fb388
+	.long	0x9fb398
+	.long	0x9fb3a8
+	.long	0x9fb3b8
+	.long	0x9fb3c8
+	.long	0x9fb3d8
+	.long	0x9fb3e8
+	.long	0x9fb3f8
+	.long	0x9fb408
+	.long	0x9fb418
+	.long	0x9fb428
+	.long	0x9fb438
+	.long	0x9fb448
+	.long	0x9fb458
+	.long	0x9fb45c
+	.long	0x9fb46c
+	.long	0x9fb480
+	.long	0x9fb520
 	.long	0x9fb5c0
-	.long	0x9fb5c8
-	.long	0x9fb610
-	.long	0x9fb658
-	.long	0x9fb6a0
-	.long	0x9fb6e8
-	.long	0x9fb730
-	.long	0x9fb740
-	.long	0x9fb7b8
-	.long	0x9fb830
-	.long	0x9fb870
-	.long	0x9fb880
-	.long	0x9fb8f8
-	.long	0x9fb904
-	.long	0x9fb918
-	.long	0x9fb990
-	.long	0x9fba08
-	.long	0x9fba14
-	.long	0x9fba30
-	.long	0x9fba50
-	.long	0x9fbac8
-	.long	0x9fbae8
+	.long	0x9fb5d0
+	.long	0x9fb5d8
+	.long	0x9fb5e0
+	.long	0x9fb628
+	.long	0x9fb670
+	.long	0x9fb6b8
+	.long	0x9fb700
+	.long	0x9fb748
+	.long	0x9fb758
+	.long	0x9fb7d0
+	.long	0x9fb848
+	.long	0x9fb888
+	.long	0x9fb898
+	.long	0x9fb910
+	.long	0x9fb91c
+	.long	0x9fb930
+	.long	0x9fb9a8
+	.long	0x9fba20
+	.long	0x9fba2c
+	.long	0x9fba48
+	.long	0x9fba68
+	.long	0x9fbae0
 	.long	0x9fbb00
 	.long	0x9fbb18
-	.long	0x9fbb24
-	.long	0x9fbb44
+	.long	0x9fbb30
+	.long	0x9fbb3c
 	.long	0x9fbb5c
 	.long	0x9fbb74
-	.long	0x9fbb80
+	.long	0x9fbb8c
 	.long	0x9fbb98
-	.long	0x9fbc10
-	.long	0x9fbc24
-	.long	0x9fbc38
-	.long	0x9fbc4c
-	.long	0x9fbc74
-	.long	0x9fbcec
-	.long	0x9fbd14
-	.long	0x9fbd34
-	.long	0x9fbd54
-	.long	0x9fbd74
-	.long	0x9fbd88
+	.long	0x9fbbb0
+	.long	0x9fbc28
+	.long	0x9fbc3c
+	.long	0x9fbc50
+	.long	0x9fbc64
+	.long	0x9fbc8c
+	.long	0x9fbd04
+	.long	0x9fbd2c
+	.long	0x9fbd4c
+	.long	0x9fbd6c
+	.long	0x9fbd8c
 	.long	0x9fbda0
-	.long	0x9fbdc4
-	.long	0x9fbdd0
-	.long	0x9fbdec
-	.long	0x9fbe0c
-	.long	0x9fbe28
-	.long	0x9fbe48
-	.long	0x9fbe68
-	.long	0x9fbe7c
-	.long	0x9fbe8c
-	.long	0x9fbe9c
+	.long	0x9fbdb8
+	.long	0x9fbddc
+	.long	0x9fbde8
+	.long	0x9fbe04
+	.long	0x9fbe24
+	.long	0x9fbe40
+	.long	0x9fbe60
+	.long	0x9fbe80
+	.long	0x9fbe94
+	.long	0x9fbea4
 	.long	0x9fbeb4
 	.long	0x9fbecc
-	.long	0x9fbee8
-	.long	0x9fbefc
-	.long	0x9fbf64
-	.long	0x9fbf70
-	.long	0x9fbf80
-	.long	0x9fbff8
-	.long	0x9fc02c
-	.long	0x9fc0a4
-	.long	0x9fc100
-	.long	0x9fc108
-	.long	0x9fc180
-	.long	0x9fc190
-	.long	0x9fc208
-	.long	0x9fc244
-	.long	0x9fc254
-	.long	0x9fc294
-	.long	0x9fc2bc
-	.long	0x9fc2e0
-	.long	0x9fc2f4
-	.long	0x9fc300
-	.long	0x9fc314
-	.long	0x9fc324
-	.long	0x9fc39c
-	.long	0x9fc3b0
-	.long	0x9fc3d0
-	.long	0x9fc3f0
-	.long	0x9fc410
-	.long	0x9fc430
-	.long	0x9fc4a8
-	.long	0x9fc4c4
-	.long	0x9fc4e0
-	.long	0x9fc4fc
-	.long	0xa03cd4
-	.long	0xa03d4c
-	.long	0xa03d60
-	.long	0xa04160
-	.long	0xa04170
-	.long	0xa04190
-	.long	0xa041a4
-	.long	0xa041d0
-	.long	0xa04248
-	.long	0xa04288
-	.long	0xa0429c
-	.long	0xa042b8
+	.long	0x9fbee4
+	.long	0x9fbf00
+	.long	0x9fbf14
+	.long	0x9fbf7c
+	.long	0x9fbf88
+	.long	0x9fbf98
+	.long	0x9fc010
+	.long	0x9fc044
+	.long	0x9fc0bc
+	.long	0x9fc118
+	.long	0x9fc120
+	.long	0x9fc198
+	.long	0x9fc1a8
+	.long	0x9fc220
+	.long	0x9fc25c
+	.long	0x9fc26c
+	.long	0x9fc2ac
+	.long	0x9fc2d4
+	.long	0x9fc2f8
+	.long	0x9fc30c
+	.long	0x9fc318
+	.long	0x9fc32c
+	.long	0x9fc33c
+	.long	0x9fc3b4
+	.long	0x9fc3c8
+	.long	0x9fc3e8
+	.long	0x9fc408
+	.long	0x9fc428
+	.long	0x9fc448
+	.long	0x9fc4c0
+	.long	0x9fc4dc
+	.long	0x9fc4f8
+	.long	0x9fc514
+	.long	0xa03cec
+	.long	0xa03d64
+	.long	0xa03d78
+	.long	0xa04178
+	.long	0xa04188
+	.long	0xa041a8
+	.long	0xa041bc
+	.long	0xa041e8
+	.long	0xa04260
+	.long	0xa042a0
+	.long	0xa042b4
 	.long	0xa042d0
-	.long	0xa042e4
-	.long	0xa042f8
+	.long	0xa042e8
+	.long	0xa042fc
+	.long	0xa04310
 	.long	0xa04340
 	.long	0xa0436c
 	.long	0xa04380

+ 258 - 258
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.tmp_kallsyms2.S

@@ -35322,302 +35322,302 @@ kallsyms_offsets:
 	.long	0x9f8000
 	.long	0x9f8000
 	.long	0x9f8010
-	.long	0x9f8068
-	.long	0x9f80f8
-	.long	0x9f8108
-	.long	0x9f8128
-	.long	0x9f8148
-	.long	0x9f8158
-	.long	0x9f8178
-	.long	0x9f8188
-	.long	0x9f8208
-	.long	0x9f8218
-	.long	0x9f82b0
-	.long	0x9f82c4
-	.long	0x9f8330
-	.long	0x9f838c
+	.long	0x9f8074
+	.long	0x9f8110
+	.long	0x9f8120
+	.long	0x9f8140
+	.long	0x9f8160
+	.long	0x9f8170
+	.long	0x9f8190
+	.long	0x9f81a0
+	.long	0x9f8220
+	.long	0x9f8230
+	.long	0x9f82c8
+	.long	0x9f82dc
+	.long	0x9f8348
 	.long	0x9f83a4
-	.long	0x9f83e8
-	.long	0x9f83f8
-	.long	0x9f8414
-	.long	0x9f8428
-	.long	0x9f84a0
-	.long	0x9f84b0
-	.long	0x9f84bc
-	.long	0x9f8564
-	.long	0x9f858c
-	.long	0x9f8634
-	.long	0x9f865c
-	.long	0x9f8684
-	.long	0x9f872c
-	.long	0x9f8754
-	.long	0x9f87fc
-	.long	0x9f8824
-	.long	0x9f88cc
-	.long	0x9f88f4
-	.long	0x9f899c
-	.long	0x9f89c4
-	.long	0x9f8a6c
-	.long	0x9f8a94
-	.long	0x9f8b3c
-	.long	0x9f8b64
-	.long	0x9f8b88
-	.long	0x9f93f4
+	.long	0x9f83bc
+	.long	0x9f8400
+	.long	0x9f8410
+	.long	0x9f842c
+	.long	0x9f8440
+	.long	0x9f84b8
+	.long	0x9f84c8
+	.long	0x9f84d4
+	.long	0x9f857c
+	.long	0x9f85a4
+	.long	0x9f864c
+	.long	0x9f8674
+	.long	0x9f869c
+	.long	0x9f8744
+	.long	0x9f876c
+	.long	0x9f8814
+	.long	0x9f883c
+	.long	0x9f88e4
+	.long	0x9f890c
+	.long	0x9f89b4
+	.long	0x9f89dc
+	.long	0x9f8a84
+	.long	0x9f8aac
+	.long	0x9f8b54
+	.long	0x9f8b7c
+	.long	0x9f8ba0
 	.long	0x9f940c
-	.long	0x9f9484
-	.long	0x9f94a4
-	.long	0x9f94b4
-	.long	0x9f94c0
-	.long	0x9f94c6
+	.long	0x9f9424
+	.long	0x9f949c
+	.long	0x9f94bc
 	.long	0x9f94cc
-	.long	0x9f9514
-	.long	0x9f9528
+	.long	0x9f94d8
+	.long	0x9f94de
+	.long	0x9f94e4
+	.long	0x9f952c
 	.long	0x9f9540
-	.long	0x9f9560
-	.long	0x9f9580
-	.long	0x9f9640
-	.long	0x9f971c
-	.long	0x9f9ec4
-	.long	0x9f9ecc
-	.long	0x9f9f44
-	.long	0x9f9fbc
-	.long	0x9f9fd0
+	.long	0x9f9558
+	.long	0x9f9578
+	.long	0x9f9598
+	.long	0x9f9658
+	.long	0x9f9734
+	.long	0x9f9edc
+	.long	0x9f9ee4
+	.long	0x9f9f5c
+	.long	0x9f9fd4
 	.long	0x9f9fe8
 	.long	0x9fa000
-	.long	0x9fa014
-	.long	0x9fa028
-	.long	0x9fa03c
-	.long	0x9fa04c
+	.long	0x9fa018
+	.long	0x9fa02c
+	.long	0x9fa040
+	.long	0x9fa054
 	.long	0x9fa064
-	.long	0x9fa080
-	.long	0x9fa094
-	.long	0x9fa0b4
-	.long	0x9fa0c8
-	.long	0x9fa0d8
-	.long	0x9fa0ec
-	.long	0x9fa114
-	.long	0x9fa1e8
-	.long	0x9fa204
+	.long	0x9fa07c
+	.long	0x9fa098
+	.long	0x9fa0ac
+	.long	0x9fa0cc
+	.long	0x9fa0e0
+	.long	0x9fa0f0
+	.long	0x9fa104
+	.long	0x9fa12c
+	.long	0x9fa200
 	.long	0x9fa21c
 	.long	0x9fa234
-	.long	0x9fa244
-	.long	0x9fa250
-	.long	0x9fa264
-	.long	0x9fa274
+	.long	0x9fa24c
+	.long	0x9fa25c
+	.long	0x9fa268
 	.long	0x9fa27c
-	.long	0x9fa298
+	.long	0x9fa28c
+	.long	0x9fa294
 	.long	0x9fa2b0
-	.long	0x9fa2cc
-	.long	0x9fa2e0
-	.long	0x9fa2f4
+	.long	0x9fa2c8
+	.long	0x9fa2e4
+	.long	0x9fa2f8
 	.long	0x9fa30c
-	.long	0x9fa32c
-	.long	0x9fa340
-	.long	0x9fa360
-	.long	0x9fa37c
-	.long	0x9fa38c
-	.long	0x9fa404
-	.long	0x9fa47c
-	.long	0x9fa4f4
-	.long	0x9fa504
+	.long	0x9fa324
+	.long	0x9fa344
+	.long	0x9fa358
+	.long	0x9fa378
+	.long	0x9fa394
+	.long	0x9fa3a4
+	.long	0x9fa41c
+	.long	0x9fa494
+	.long	0x9fa50c
 	.long	0x9fa51c
-	.long	0x9fa53c
-	.long	0x9fa560
-	.long	0x9fa57c
-	.long	0x9fa598
-	.long	0x9fa5b8
+	.long	0x9fa534
+	.long	0x9fa554
+	.long	0x9fa578
+	.long	0x9fa594
+	.long	0x9fa5b0
 	.long	0x9fa5d0
 	.long	0x9fa5e8
-	.long	0x9fa604
-	.long	0x9fa620
-	.long	0x9fa634
-	.long	0x9fa650
-	.long	0x9fa66c
+	.long	0x9fa600
+	.long	0x9fa61c
+	.long	0x9fa638
+	.long	0x9fa64c
+	.long	0x9fa668
 	.long	0x9fa684
 	.long	0x9fa69c
-	.long	0x9fa6b0
-	.long	0x9fa6c0
-	.long	0x9fa6d0
-	.long	0x9fa6ec
-	.long	0x9fa708
-	.long	0x9fa724
+	.long	0x9fa6b4
+	.long	0x9fa6c8
+	.long	0x9fa6d8
+	.long	0x9fa6e8
+	.long	0x9fa704
+	.long	0x9fa720
 	.long	0x9fa73c
-	.long	0x9fa750
-	.long	0x9fa764
+	.long	0x9fa754
+	.long	0x9fa768
 	.long	0x9fa77c
 	.long	0x9fa794
-	.long	0x9fa7a8
-	.long	0x9fa7b8
-	.long	0x9fa7d4
-	.long	0x9fa7e4
-	.long	0x9fa7f4
+	.long	0x9fa7ac
+	.long	0x9fa7c0
+	.long	0x9fa7d0
+	.long	0x9fa7ec
+	.long	0x9fa7fc
 	.long	0x9fa80c
-	.long	0x9fa82c
-	.long	0x9fa840
-	.long	0x9fa850
-	.long	0x9fa864
-	.long	0x9fa874
-	.long	0x9fa888
+	.long	0x9fa824
+	.long	0x9fa844
+	.long	0x9fa858
+	.long	0x9fa868
+	.long	0x9fa87c
+	.long	0x9fa88c
 	.long	0x9fa8a0
 	.long	0x9fa8b8
-	.long	0x9fa8cc
-	.long	0x9faeec
-	.long	0x9faf00
+	.long	0x9fa8d0
+	.long	0x9fa8e4
+	.long	0x9faf04
 	.long	0x9faf18
-	.long	0x9faf34
-	.long	0x9faf50
-	.long	0x9faf6c
-	.long	0x9faf78
-	.long	0x9faf94
-	.long	0x9fafb0
-	.long	0x9fafd0
-	.long	0x9fafe0
-	.long	0x9fb058
-	.long	0x9fb088
-	.long	0x9fb0a4
-	.long	0x9fb0b4
-	.long	0x9fb0c4
+	.long	0x9faf30
+	.long	0x9faf4c
+	.long	0x9faf68
+	.long	0x9faf84
+	.long	0x9faf90
+	.long	0x9fafac
+	.long	0x9fafc8
+	.long	0x9fafe8
+	.long	0x9faff8
+	.long	0x9fb070
+	.long	0x9fb0a0
+	.long	0x9fb0bc
 	.long	0x9fb0cc
-	.long	0x9fb0d0
-	.long	0x9fb154
-	.long	0x9fb17c
-	.long	0x9fb18c
-	.long	0x9fb204
-	.long	0x9fb27c
-	.long	0x9fb288
-	.long	0x9fb28c
-	.long	0x9fb2a8
-	.long	0x9fb2b0
+	.long	0x9fb0dc
+	.long	0x9fb0e4
+	.long	0x9fb0e8
+	.long	0x9fb16c
+	.long	0x9fb194
+	.long	0x9fb1a4
+	.long	0x9fb21c
+	.long	0x9fb294
+	.long	0x9fb2a0
+	.long	0x9fb2a4
+	.long	0x9fb2c0
 	.long	0x9fb2c8
-	.long	0x9fb2d4
-	.long	0x9fb2e8
-	.long	0x9fb308
-	.long	0x9fb324
+	.long	0x9fb2e0
+	.long	0x9fb2ec
+	.long	0x9fb300
+	.long	0x9fb320
 	.long	0x9fb33c
-	.long	0x9fb348
-	.long	0x9fb350
+	.long	0x9fb354
 	.long	0x9fb360
-	.long	0x9fb370
-	.long	0x9fb380
-	.long	0x9fb390
-	.long	0x9fb3a0
-	.long	0x9fb3b0
-	.long	0x9fb3c0
-	.long	0x9fb3d0
-	.long	0x9fb3e0
-	.long	0x9fb3f0
-	.long	0x9fb400
-	.long	0x9fb410
-	.long	0x9fb420
-	.long	0x9fb430
-	.long	0x9fb440
-	.long	0x9fb444
-	.long	0x9fb454
-	.long	0x9fb468
-	.long	0x9fb508
-	.long	0x9fb5a8
-	.long	0x9fb5b8
+	.long	0x9fb368
+	.long	0x9fb378
+	.long	0x9fb388
+	.long	0x9fb398
+	.long	0x9fb3a8
+	.long	0x9fb3b8
+	.long	0x9fb3c8
+	.long	0x9fb3d8
+	.long	0x9fb3e8
+	.long	0x9fb3f8
+	.long	0x9fb408
+	.long	0x9fb418
+	.long	0x9fb428
+	.long	0x9fb438
+	.long	0x9fb448
+	.long	0x9fb458
+	.long	0x9fb45c
+	.long	0x9fb46c
+	.long	0x9fb480
+	.long	0x9fb520
 	.long	0x9fb5c0
-	.long	0x9fb5c8
-	.long	0x9fb610
-	.long	0x9fb658
-	.long	0x9fb6a0
-	.long	0x9fb6e8
-	.long	0x9fb730
-	.long	0x9fb740
-	.long	0x9fb7b8
-	.long	0x9fb830
-	.long	0x9fb870
-	.long	0x9fb880
-	.long	0x9fb8f8
-	.long	0x9fb904
-	.long	0x9fb918
-	.long	0x9fb990
-	.long	0x9fba08
-	.long	0x9fba14
-	.long	0x9fba30
-	.long	0x9fba50
-	.long	0x9fbac8
-	.long	0x9fbae8
+	.long	0x9fb5d0
+	.long	0x9fb5d8
+	.long	0x9fb5e0
+	.long	0x9fb628
+	.long	0x9fb670
+	.long	0x9fb6b8
+	.long	0x9fb700
+	.long	0x9fb748
+	.long	0x9fb758
+	.long	0x9fb7d0
+	.long	0x9fb848
+	.long	0x9fb888
+	.long	0x9fb898
+	.long	0x9fb910
+	.long	0x9fb91c
+	.long	0x9fb930
+	.long	0x9fb9a8
+	.long	0x9fba20
+	.long	0x9fba2c
+	.long	0x9fba48
+	.long	0x9fba68
+	.long	0x9fbae0
 	.long	0x9fbb00
 	.long	0x9fbb18
-	.long	0x9fbb24
-	.long	0x9fbb44
+	.long	0x9fbb30
+	.long	0x9fbb3c
 	.long	0x9fbb5c
 	.long	0x9fbb74
-	.long	0x9fbb80
+	.long	0x9fbb8c
 	.long	0x9fbb98
-	.long	0x9fbc10
-	.long	0x9fbc24
-	.long	0x9fbc38
-	.long	0x9fbc4c
-	.long	0x9fbc74
-	.long	0x9fbcec
-	.long	0x9fbd14
-	.long	0x9fbd34
-	.long	0x9fbd54
-	.long	0x9fbd74
-	.long	0x9fbd88
+	.long	0x9fbbb0
+	.long	0x9fbc28
+	.long	0x9fbc3c
+	.long	0x9fbc50
+	.long	0x9fbc64
+	.long	0x9fbc8c
+	.long	0x9fbd04
+	.long	0x9fbd2c
+	.long	0x9fbd4c
+	.long	0x9fbd6c
+	.long	0x9fbd8c
 	.long	0x9fbda0
-	.long	0x9fbdc4
-	.long	0x9fbdd0
-	.long	0x9fbdec
-	.long	0x9fbe0c
-	.long	0x9fbe28
-	.long	0x9fbe48
-	.long	0x9fbe68
-	.long	0x9fbe7c
-	.long	0x9fbe8c
-	.long	0x9fbe9c
+	.long	0x9fbdb8
+	.long	0x9fbddc
+	.long	0x9fbde8
+	.long	0x9fbe04
+	.long	0x9fbe24
+	.long	0x9fbe40
+	.long	0x9fbe60
+	.long	0x9fbe80
+	.long	0x9fbe94
+	.long	0x9fbea4
 	.long	0x9fbeb4
 	.long	0x9fbecc
-	.long	0x9fbee8
-	.long	0x9fbefc
-	.long	0x9fbf64
-	.long	0x9fbf70
-	.long	0x9fbf80
-	.long	0x9fbff8
-	.long	0x9fc02c
-	.long	0x9fc0a4
-	.long	0x9fc100
-	.long	0x9fc108
-	.long	0x9fc180
-	.long	0x9fc190
-	.long	0x9fc208
-	.long	0x9fc244
-	.long	0x9fc254
-	.long	0x9fc294
-	.long	0x9fc2bc
-	.long	0x9fc2e0
-	.long	0x9fc2f4
-	.long	0x9fc300
-	.long	0x9fc314
-	.long	0x9fc324
-	.long	0x9fc39c
-	.long	0x9fc3b0
-	.long	0x9fc3d0
-	.long	0x9fc3f0
-	.long	0x9fc410
-	.long	0x9fc430
-	.long	0x9fc4a8
-	.long	0x9fc4c4
-	.long	0x9fc4e0
-	.long	0x9fc4fc
-	.long	0xa03cd4
-	.long	0xa03d4c
-	.long	0xa03d60
-	.long	0xa04160
-	.long	0xa04170
-	.long	0xa04190
-	.long	0xa041a4
-	.long	0xa041d0
-	.long	0xa04248
-	.long	0xa04288
-	.long	0xa0429c
-	.long	0xa042b8
+	.long	0x9fbee4
+	.long	0x9fbf00
+	.long	0x9fbf14
+	.long	0x9fbf7c
+	.long	0x9fbf88
+	.long	0x9fbf98
+	.long	0x9fc010
+	.long	0x9fc044
+	.long	0x9fc0bc
+	.long	0x9fc118
+	.long	0x9fc120
+	.long	0x9fc198
+	.long	0x9fc1a8
+	.long	0x9fc220
+	.long	0x9fc25c
+	.long	0x9fc26c
+	.long	0x9fc2ac
+	.long	0x9fc2d4
+	.long	0x9fc2f8
+	.long	0x9fc30c
+	.long	0x9fc318
+	.long	0x9fc32c
+	.long	0x9fc33c
+	.long	0x9fc3b4
+	.long	0x9fc3c8
+	.long	0x9fc3e8
+	.long	0x9fc408
+	.long	0x9fc428
+	.long	0x9fc448
+	.long	0x9fc4c0
+	.long	0x9fc4dc
+	.long	0x9fc4f8
+	.long	0x9fc514
+	.long	0xa03cec
+	.long	0xa03d64
+	.long	0xa03d78
+	.long	0xa04178
+	.long	0xa04188
+	.long	0xa041a8
+	.long	0xa041bc
+	.long	0xa041e8
+	.long	0xa04260
+	.long	0xa042a0
+	.long	0xa042b4
 	.long	0xa042d0
-	.long	0xa042e4
-	.long	0xa042f8
+	.long	0xa042e8
+	.long	0xa042fc
+	.long	0xa04310
 	.long	0xa04340
 	.long	0xa0436c
 	.long	0xa04380

+ 1 - 1
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/.version

@@ -1 +1 @@
-40
+41

+ 98 - 49
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/.am335x-evm.dtb.dts.tmp

@@ -1199,30 +1199,37 @@
 
 
 
+   0x020 (((1 << 5) | (1 << 3)) | 7)
+   0x024 (((1 << 5) | (1 << 3)) | 7)
+   0x028 (((1 << 5) | (1 << 3)) | 7)
+   0x02C (((1 << 5) | (1 << 3)) | 7)
    0x144 (((1 << 5) | (1 << 3)) | 7)
    0x1B0 (((1 << 3)) | 7)
    0x1B4 (((1 << 5) | (1 << 3)) | 7)
 
-   0x060 (((1 << 3)) | 7)
-   0x06C (((1 << 3)) | 7)
+
+   0x030 (((1 << 5) | (1 << 3)) | 7)
+   0x034 (((1 << 5) | (1 << 3)) | 7)
+   0x038 (((1 << 5) | (1 << 3)) | 7)
+   0x03C (((1 << 5) | (1 << 3)) | 7)
 
 
-   0x088 (((1 << 5) | (1 << 3)) | 7)
-   0x08C (((1 << 3)) | 7)
-   0x0A0 (((1 << 3)) | 7)
-   0x0A4 (((1 << 3)) | 7)
-   0x0A8 (((1 << 3)) | 7)
-   0x0AC (((1 << 3)) | 7)
-   0x0B0 (((1 << 3)) | 7)
-   0x0B4 (((1 << 3)) | 7)
-   0x0E8 (((1 << 5) | (1 << 3)) | 7)
-   0x0E0 (((1 << 3)) | 7)
    0x0EC (((1 << 3)) | 7)
+   0x0E4 (((1 << 3)) | 7)
+   0x0E8 (((1 << 5) | (1 << 3)) | 7)
+   0x0E0 (((1 << 5) | (1 << 3)) | 7)
 
 
-   0x1A0 (((1 << 3)) | 7)
+   ((((0x9e4)) & 0xffff) - (0x0800)) (0 | 7)
+   ((((0x9e8)) & 0xffff) - (0x0800)) (((1 << 4)) | 7)
+   0x194 (((1 << 5) | (1 << 3)) | 7)
+   0x1A0 (((1 << 5) | (1 << 3)) | 7)
+   0x19C (((1 << 5) | (1 << 3)) | 7)
+   0x190 (((1 << 3)) | 7)
    0x1A4 (((1 << 3)) | 7)
+   0x198 (((1 << 3)) | 7)
    0x1A8 (((1 << 3)) | 7)
+
   >;
  };
 
@@ -1267,7 +1274,14 @@
    0x164 (0 | 1)
   >;
  };
-# 144 "arch/arm/boot/dts/am335x-evm.dts"
+
+ uart5_pins: pinmux_uart5_pins {
+  pinctrl-single,pins = <
+   0x0C0 (0 | 4)
+   0x0C4 (((1 << 5) | (1 << 4)) | 4)
+  >;
+ };
+
  clkout2_pin: pinmux_clkout2_pin {
   pinctrl-single,pins = <
    0x1b4 (0 | 3)
@@ -1318,12 +1332,12 @@
   pinctrl-single,pins = <
 
 
-
-
+   0x108 (((1 << 5) | (1 << 4)) | 0)
+   0x10C(((1 << 5) | (1 << 4)) | 0)
    0x110 (((1 << 5) | (1 << 4)) | 0)
-   0x118 (((1 << 5) | (1 << 4)) | 0)
    0x12c (((1 << 5) | (1 << 4)) | 0)
    0x130 (((1 << 5) | (1 << 4)) | 0)
+   0x118 (((1 << 5) | (1 << 4)) | 0)
    0x134 (((1 << 5) | (1 << 4)) | 0)
    0x138 (((1 << 5) | (1 << 4)) | 0)
    0x13c (((1 << 5) | (1 << 4)) | 0)
@@ -1334,6 +1348,23 @@
    0x124 (0 | 0)
    0x128 (0 | 0)
 
+
+   ((((0x878)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x888)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 2)
+
+   ((((0x858)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x85c)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x844)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x860)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x864)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x868)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x86c)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 1)
+   ((((0x840)) & 0xffff) - (0x0800)) (0 | 1)
+   ((((0x848)) & 0xffff) - (0x0800)) (0 | 1)
+   ((((0x84c)) & 0xffff) - (0x0800)) (0 | 1)
+   ((((0x850)) & 0xffff) - (0x0800)) (0 | 1)
+   ((((0x854)) & 0xffff) - (0x0800)) (0 | 1)
+
   >;
  };
 
@@ -1353,6 +1384,23 @@
    0x13c (((1 << 5)) | 7)
    0x140 (((1 << 5)) | 7)
 
+
+   ((((0x888)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x840)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x844)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x848)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x84c)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x850)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x854)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x858)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x85c)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x860)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x864)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x868)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+   ((((0x86c)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+
+   ((((0x878)) & 0xffff) - (0x0800)) (((1 << 5)) | 7)
+
   >;
  };
 
@@ -1391,15 +1439,14 @@
    0x17C (((1 << 5)) | 2)
   >;
  };
-# 287 "arch/arm/boot/dts/am335x-evm.dts"
- spi1_pins: spi1_pins {
-                pinctrl-single,pins = <
-                        ((((0x990)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 3)
-                        ((((0x994)) & 0xffff) - (0x0800)) (((1 << 5) | (1 << 4)) | 3)
-                        ((((0x998)) & 0xffff) - (0x0800)) (((1 << 4)) | 3)
-                        ((((0x99C)) & 0xffff) - (0x0800)) (((1 << 4)) | 3)
-                >;
-        };
+
+ dcan1_pins_default: dcan1_pins_default {
+  pinctrl-single,pins = <
+   0x168 (((1 << 4)) | 2)
+   0x16C (((1 << 5)) | 2)
+  >;
+ };
+# 329 "arch/arm/boot/dts/am335x-evm.dts"
 };
 
 
@@ -1431,7 +1478,14 @@
 
  status = "okay";
 };
-# 334 "arch/arm/boot/dts/am335x-evm.dts"
+
+&uart5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart5_pins>;
+
+ status = "okay";
+};
+
 &i2c0 {
  pinctrl-names = "default";
  pinctrl-0 = <&i2c0_pins>;
@@ -1460,7 +1514,6 @@
                 compatible = "nxp,pcf85063";
                 reg = <0x51>;
         };
-
 };
 
 &usb {
@@ -1495,14 +1548,14 @@
 &elm {
  status = "okay";
 };
-# 418 "arch/arm/boot/dts/am335x-evm.dts"
+# 451 "arch/arm/boot/dts/am335x-evm.dts"
 &gpmc {
  status = "okay";
  pinctrl-names = "default", "sleep";
  pinctrl-0 = <&nandflash_pins_default>;
  pinctrl-1 = <&nandflash_pins_sleep>;
 
- ranges = <0 0 0x08000000 0x40000000>;
+ ranges = <0 0 0x08000000 0x80000000>;
  nand@0,0 {
   compatible = "ti,omap2-nand";
   reg = <0 0 4>;
@@ -1596,7 +1649,7 @@
   };
   partition@13 {
    label = "Storage";
-   reg = <0x0A200000 0x35E00000>;
+   reg = <0x0A200000 0x75E00000>;
   };
  };
 };
@@ -1681,7 +1734,7 @@
   };
  };
 };
-# 524 "arch/arm/boot/dts/am335x-evm.dts" 2
+# 557 "arch/arm/boot/dts/am335x-evm.dts" 2
 
 &tps {
  vcc1-supply = <&vbat>;
@@ -1764,6 +1817,7 @@
  pinctrl-names = "default", "sleep";
  pinctrl-0 = <&cpsw_default>;
  pinctrl-1 = <&cpsw_sleep>;
+ dual_emac = <1>;
  status = "okay";
 };
 
@@ -1772,15 +1826,20 @@
  pinctrl-0 = <&davinci_mdio_default>;
  pinctrl-1 = <&davinci_mdio_sleep>;
  status = "okay";
-
 };
 
 &cpsw_emac0 {
  phy_id = <&davinci_mdio>, <1>;
   phy-mode = "mii";
+  dual_emac_res_vlan = <1>;
+};
 
+&cpsw_emac1 {
+ phy_id = <&davinci_mdio>, <2>;
+  phy-mode = "mii";
+  dual_emac_res_vlan = <2>;
 };
-# 631 "arch/arm/boot/dts/am335x-evm.dts"
+
 &tscadc {
  status = "okay";
 
@@ -1827,19 +1886,9 @@
  pinctrl-names = "default";
  pinctrl-0 = <&dcan0_pins_default>;
 };
-# 692 "arch/arm/boot/dts/am335x-evm.dts"
-&spi1 {
-        status = "okay";
-        pinctrl-names = "default";
-        pinctrl-0 = <&spi1_pins>;
-        qca7000@0 {
-                compatible = "qca,qca7000";
-                reg = <0>;
-                interrupt-parent = <&gpio2>;
-                interrupts = <0 1>;
-                spi-cpha;
-                spi-cpol;
-                spi-max-frequency = <10000000>;
-                qca,legacy-mode = <0>;
-        };
+
+&dcan1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&dcan1_pins_default>;
 };

+ 84 - 78
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/arch/arm/boot/dts/am335x-evm.dts

@@ -64,31 +64,38 @@
 		pinctrl-single,pins = <
 		
 			/** Offset: 0x800 */
-			/** GPIO 0 */ 
+			/** GPIO 0 */   
+			0x020 (PIN_INPUT | MUX_MODE7)			/* GPMC_AD8			=> 	GPIO0_22 */	/*ID BD1_1*/
+			0x024 (PIN_INPUT | MUX_MODE7)    			/* GPMC_AD9			=>	GPIO0_23 */	/*ID BD1_2*/
+			0x028 (PIN_INPUT | MUX_MODE7)    			/* GPMC_AD10		=>	GPIO0_26 */	/*IO BD1_1*/
+			0x02C (PIN_INPUT | MUX_MODE7)    		/* GPMC_AD11		=>	GPIO0_27 */	/*IO BD1_2*/
 			0x144 (PIN_INPUT | MUX_MODE7)    			/* RMII1_REF_CLK		=>	GPIO0_29 */	/*USB 0 OCP detection*/
 			0x1B0 (PIN_OUTPUT | MUX_MODE7)			/*XDMA_EVENT_INTR0	=>	GPIO0_19 */	/*AM_RFID_RST*/
 			0x1B4 (PIN_INPUT | MUX_MODE7)			/*XDMA_EVENT_INTR1	=>	GPIO0_20 */	/*AM_RFID_ICC*/
-			/** GPIO 1 */			
-			0x060 (PIN_OUTPUT | MUX_MODE7)                  /*GPIO1_24*/
-			0x06C (PIN_OUTPUT | MUX_MODE7)                  /* (V17) gpmc_a11.gpio1[27] */
-
+			
+			/** GPIO 1 */
+			0x030 (PIN_INPUT | MUX_MODE7)			/* GPMC_AD12	=> 	GPIO1_12 */	/*ID BD2_1*/
+			0x034 (PIN_INPUT | MUX_MODE7)    			/* GPMC_AD13	=>	GPIO1_13 */	/*ID BD2_2*/
+			0x038 (PIN_INPUT | MUX_MODE7)    			/* GPMC_AD14	=>	GPIO1_14 */	/*IO BD2_1*/
+			0x03C (PIN_INPUT | MUX_MODE7)    		/* GPMC_AD15	=>	GPIO1_15 */	/*IO BD2_2*/
+			
 			/** GPIO 2 */
-			0x088 (PIN_INPUT | MUX_MODE7)   		/* CCS=>GPMC_CSn3.GPIO2_0*/
-			0x08C (PIN_OUTPUT | MUX_MODE7)			/*GPMC_CLK	=>	GPIO2_1*/	/*Speaker*/
-			0x0A0 (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA0	=>	GPIO2_6*/	/*Panel LED control-BB_LEDR1*/
-			0x0A4 (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA1	=>	GPIO2_7*/	/*Panel LED control-BB_LEDG1*/
-			0x0A8 (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA2	=>	GPIO2_8*/	/*Panel LED control-BB_LEDB1*/
-			0x0AC (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA3	=>	GPIO2_9*/	/*Panel LED control-BB_LEDR2*/
-			0x0B0 (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA4	=>	GPIO2_10*/	/*Panel LED control-BB_LEDG2*/
-			0x0B4 (PIN_OUTPUT | MUX_MODE7)			/*LCD_DATA5	=>	GPIO2_11*/	/*Panel LED control-BB_LEDB2*/
-			0x0E8 (PIN_INPUT | MUX_MODE7)			/*LCD_PCLK	=>	GPIO2_24*/	/*communication board proximity*/
-			0x0E0 (PIN_OUTPUT | MUX_MODE7)			/*LCD_VSYNC	=>	GPIO2_22*/	/*Breath LED*/
-			0x0EC (PIN_OUTPUT | MUX_MODE7)			/* CCSEthernet-Reset=>LCD_AC_BIAS_EN.GPIO2_25*/
+			0x0EC (PIN_OUTPUT | MUX_MODE7)			/*LCD_AC_BIAS_EN	=>	GPIO2_25*/	/*RS-485 for module DE control*/
+			0x0E4 (PIN_OUTPUT | MUX_MODE7)			/*LCD_HSYNC		=>	GPIO2_23*/	/*RS-485 for module RE control*/
+			0x0E8 (PIN_INPUT | MUX_MODE7)			/*LCD_PCLK		=>	GPIO2_24*/	/*CCS communication board 1 proximity*/
+			0x0E0 (PIN_INPUT | MUX_MODE7)			/*LCD_VSYNC		=>	GPIO2_22*/	/*CCS communication board 2 proximity*/
 			
 			/** GPIO 3 */
-			0x1A0 (PIN_OUTPUT | MUX_MODE7)                  /* MCASP0_AXR1  =>      GPIO3_18 */     /*control 4G reset pin*/
-			0x1A4 (PIN_OUTPUT | MUX_MODE7)			/* MCASP0_FSR.GPIO3_19 */
-			0x1A8 (PIN_OUTPUT | MUX_MODE7)			/* MCASP0_AXR1	=>	GPIO3_20 */	/*control MCU to output CP PWM*/
+			AM33XX_IOPAD(0x9e4, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* (C14) EMU0.gpio3[7] */  /*CP open/short feature enable/disable, pull low for default enable*/
+			AM33XX_IOPAD(0x9e8, PIN_OUTPUT_PULLUP | MUX_MODE7)   /* (B14) EMU1.gpio3[8] */  /*4G module reset, pull high to reset when entry kernel, after Application start, it should be pull low.*/
+			0x194 (PIN_INPUT | MUX_MODE7)			/*MCASP0_FSX		=>	GPIO3_15*/	/*Emergency Stop button detect*/
+			0x1A0 (PIN_INPUT | MUX_MODE7)			/*MCASP0_ACLKR	=>	GPIO3_18*/	/*USB1 OCP detect*/
+			0x19C (PIN_INPUT | MUX_MODE7)			/*MCASP0_AHCLKR	=>	GPIO3_17*/	/*Emergency IO for AM3352 and STM32F407*/
+			0x190 (PIN_OUTPUT | MUX_MODE7)			/*MCASP0_ACLKX	=>	GPIO3_14*/	/*Ethernet PHY reset*/
+			0x1A4 (PIN_OUTPUT | MUX_MODE7)			/* MCASP0_FSR		=>	GPIO3_19 */	/*SMR Enable control_1*/
+			0x198 (PIN_OUTPUT | MUX_MODE7)			/* MCASP0_AXR0	=>	GPIO3_16 */	/*CSU board function OK indicator.*/
+			0x1A8 (PIN_OUTPUT | MUX_MODE7)			/* MCASP0_AXR1	=>	GPIO3_20 */	/*SMR Enable control_2*/
+			
 		>;
 	};
 	
@@ -133,14 +140,14 @@
 			0x164 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* ECAP0_IN_PWM0_OUT		=>	uart3_txd */
 		>;
 	};
-#if 0
+
 	uart5_pins: pinmux_uart5_pins {
 		pinctrl-single,pins = <
-			0x0C0 (PIN_INPUT_PULLUP | MUX_MODE4)		/* LCD_DATA8	=>	UART5_RXD*/
-			0x0C4 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* LCD_DATA9	=>	UART5_TXD*/
+			0x0C0 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)		/* LCD_DATA8	=>	DUART5_TX*/
+			0x0C4 (PIN_INPUT_PULLUP | MUX_MODE4)			/* LCD_DATA9	=>	UART5_RX*/
 		>;
 	};
-#endif	
+	
 	clkout2_pin: pinmux_clkout2_pin {
 		pinctrl-single,pins = <
 			0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* xdma_event_intr1.clkout2 */
@@ -191,12 +198,12 @@
 		pinctrl-single,pins = <					
 		
 			/* Slave 1 */
-			//0x108 (PIN_INPUT_PULLDOWN | MUX_MODE0)		/* MII1_COL.gmii1_col */
-			//0x10C(PIN_INPUT_PULLDOWN | MUX_MODE0)		/* MII1_CRS.MII1_CRS */
+			0x108 (PIN_INPUT_PULLUP | MUX_MODE0)		/* MII1_COL.gmii1_col */
+			0x10C(PIN_INPUT_PULLUP | MUX_MODE0)		/* MII1_CRS.MII1_CRS */
 			0x110 (PIN_INPUT_PULLUP | MUX_MODE0)		/* MII1_RX_ER.gmii1_rxerr */
-			0x118 (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxdv.mii1_rxdv */
 			0x12c (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_txclk.mii1_txclk */
 			0x130 (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxclk.mii1_rxclk */
+			0x118 (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxdv.mii1_rxdv */
 			0x134 (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxd3.rgmii1_rd3 */
 			0x138 (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxd2.rgmii1_rd2 */
 			0x13c (PIN_INPUT_PULLUP | MUX_MODE0)		/* mii1_rxd1.rgmii1_rd1 */
@@ -205,7 +212,24 @@
 			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0)		/* mii1_txd3.rgmii1_td3 */
 			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)		/* mii1_txd2.rgmii1_td2 */
 			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)		/* mii1_txd1.rgmii1_td1 */
-			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)		/* mii1_txd0.rgmii1_td0 */      
+			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)		/* mii1_txd0.rgmii1_td0 */      	
+			
+			/* Slave 2 */
+			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_ben1.mii2_col */
+			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE2)					/* GPMC_CSn3.rmii2_crs_dv*/								
+			/*AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE1)*/					/* gpmc_wpn.mii2_rxerr */
+			AM33XX_IOPAD(0x858, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a6.mii2_txclk */
+			AM33XX_IOPAD(0x85c, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a7.mii2_rxclk */
+			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a1.mii2_rxdv */
+			AM33XX_IOPAD(0x860, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a8.mii2_rxd3 */
+			AM33XX_IOPAD(0x864, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a9.mii2_rxd2 */
+			AM33XX_IOPAD(0x868, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a10.mii2_rxd1 */
+			AM33XX_IOPAD(0x86c, PIN_INPUT_PULLUP | MUX_MODE1)					/* gpmc_a11.mii2_rxd0 */
+			AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE1)				/* gpmc_a0.mii2_txen */
+			AM33XX_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE1)				/* gpmc_a2.mii2_txd3 */
+			AM33XX_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE1)				/* gpmc_a3.mii2_txd2 */
+			AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE1)				/* gpmc_a4.mii2_txd1 */
+			AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE1)				/* gpmc_a5.mii2_txd0 */
 
 		>;
 	};
@@ -226,6 +250,23 @@
 			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
 			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)		
 			
+			/* Slave 2 */
+			AM33XX_IOPAD(0x888, PIN_INPUT_PULLDOWN | MUX_MODE7)					/* GPMC_CSn3.rmii2_crs_dv*/	
+			AM33XX_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7)				/* gpmc_a0.mii2_txen */
+			AM33XX_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a1.mii2_rxdv */
+			AM33XX_IOPAD(0x848, PIN_INPUT_PULLDOWN | MUX_MODE7)				/* gpmc_a2.mii2_txd3 */
+			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLDOWN | MUX_MODE7)			/* gpmc_a3.mii2_txd2 */
+			AM33XX_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7)				/* gpmc_a4.mii2_txd1 */
+			AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7)				/* gpmc_a5.mii2_txd0 */
+			AM33XX_IOPAD(0x858, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a6.mii2_txclk */
+			AM33XX_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a7.mii2_rxclk */
+			AM33XX_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a8.mii2_rxd3 */
+			AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a9.mii2_rxd2 */
+			AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a10.mii2_rxd1 */
+			AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a11.mii2_rxd0 */
+			/*AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7)*/	/* gpmc_wpn.mii2_rxerr */
+			AM33XX_IOPAD(0x878, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ben1.mii2_col */
+			
 		>;
 	};
 
@@ -264,14 +305,14 @@
 			0x17C (PIN_INPUT_PULLDOWN | MUX_MODE2)		/* uart1_rtsn	=>	d_can0_rx */
 		>;
 	};
-#if 0	
+	
 	dcan1_pins_default: dcan1_pins_default {
 		pinctrl-single,pins = <
 			0x168 (PIN_OUTPUT_PULLUP | MUX_MODE2)		/* UART0_CTSn		=>	d_can1_tx */
 			0x16C (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* UART0_RTSn		=>	d_can1_rx */
 		>;
 	};
-
+#if 0
 	ehrpwm1_pins: ehrpwm1_pins {
 		pinctrl-single,pins = <			
 			0x0C8 (PIN_OUTPUT | MUX_MODE2) /* LCD_DATA10.eHRPWM1A */
@@ -282,16 +323,9 @@
 		pinctrl-single,pins =< 
 			0x0A4 (PIN_OUTPUT | MUX_MODE3)	/* LCD_DATA1.eHRPWM2B */
 		>;                
-    	};	 
+    };	
+	 
 #endif  
-	spi1_pins: spi1_pins {
-                pinctrl-single,pins = <
-                        AM33XX_IOPAD(0x990, PIN_INPUT_PULLUP | MUX_MODE3) /* MCASP0_ACLKX.AM_SPI1_SCLK */
-                        AM33XX_IOPAD(0x994, PIN_INPUT_PULLUP | MUX_MODE3) /* MCASP0_FSX.AM_SPI1_D0 */
-                        AM33XX_IOPAD(0x998, PIN_OUTPUT_PULLUP | MUX_MODE3) /* MCASP0_AXR0.AM_SPI1_D1 */
-                        AM33XX_IOPAD(0x99C, PIN_OUTPUT_PULLUP | MUX_MODE3) /* MCASP0_AHCLKR.AM_SPI1_CS0 */
-                >;
-        };
 };
 
 
@@ -323,14 +357,14 @@
 
 	status = "okay";
 };
-#if 0
+
 &uart5 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart5_pins>;
 
 	status = "okay";
 };
-#endif
+
 &i2c0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&i2c0_pins>;
@@ -341,11 +375,11 @@
 	tps: tps@2d {
 		reg = <0x2d>;
 	};
-
+	
 /*	rtc0: rtc@51 {
-		compatible = "nxp,pcf85063";
-		reg = <0x51>;
-	};*/
+                compatible = "nxp,pcf85063";
+                reg = <0x51>;
+        };*/	
 };
 #if 1
 &i2c1 {
@@ -359,7 +393,6 @@
                 compatible = "nxp,pcf85063";
                 reg = <0x51>;
         };
-
 };
 #endif
 &usb {
@@ -421,7 +454,7 @@
 	pinctrl-0 = <&nandflash_pins_default>;
 	pinctrl-1 = <&nandflash_pins_sleep>;
 	/*ranges = <0 0 0x08000000 0x10000000>;*/	/* CS0: NAND */
-	ranges = <0 0 0x08000000 0x40000000>;	/*+++ vern,NAND,20181030 ---*/
+	ranges = <0 0 0x08000000 0x80000000>;	/*+++ vern,NAND,20181030 ---*/
 	nand@0,0 {
 		compatible = "ti,omap2-nand";
 		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
@@ -515,7 +548,7 @@
 		};
 		partition@13 {
 			label = "Storage";
-			reg = <0x0A200000 0x35E00000>;
+			reg = <0x0A200000 0x75E00000>;
 		};
 	};
 };
@@ -603,6 +636,7 @@
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&cpsw_default>;
 	pinctrl-1 = <&cpsw_sleep>;
+	dual_emac = <1>;
 	status = "okay";
 };
 
@@ -611,22 +645,19 @@
 	pinctrl-0 = <&davinci_mdio_default>;
 	pinctrl-1 = <&davinci_mdio_sleep>;
 	status = "okay";
-	//reset-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
 };
 
 &cpsw_emac0 {
 	phy_id = <&davinci_mdio>, <1>;
  	phy-mode = "mii";
-
+ 	dual_emac_res_vlan = <1>;
 };
 
-#if 0
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <2>;
  	phy-mode = "mii";
-
+ 	dual_emac_res_vlan = <2>;
 };
-#endif
 
 &tscadc {
 	status = "okay";
@@ -674,34 +705,9 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&dcan0_pins_default>;
 };
-#if 0
+
 &dcan1 {
 	status = "okay";	
 	pinctrl-names = "default";
 	pinctrl-0 = <&dcan1_pins_default>;
 };
-#endif
-
-/*
-The QCA7000 acts as a SPI slave and uses Mode 3: CPOL=1, CPHA=1.
-SPI data width is 8 bit. The SPI CLK period should not be less than 83.3 ns
-The SPI should be used in burst mode, meaning that the chip select is held low during a complete SPI message.
- Note: The SPI lines between Host CPU and QCA7000 should be kept as short as possible.
-
-*/
-&spi1 {
-        status = "okay";
-        pinctrl-names = "default";
-        pinctrl-0 = <&spi1_pins>;
-        qca7000@0 {
-                compatible = "qca,qca7000";
-                reg = <0>;
-                interrupt-parent = <&gpio2>; /* GPIO2_0 */
-                interrupts = <0 1>;                     /* GPIO2_0 */
-                spi-cpha;                                        /* SPI mode: CPHA=1 */
-                spi-cpol;                                        /* SPI mode: CPOL=1 */
-                spi-max-frequency = <10000000>;  /* freq: 10MHz */
-                qca,legacy-mode = <0>;            /* Burst mode */
-        };
-};
-

+ 6 - 15
board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/lib/.gen_crc32table.cmd

@@ -5,25 +5,18 @@ source_lib/gen_crc32table := lib/gen_crc32table.c
 deps_lib/gen_crc32table := \
   /usr/include/stdc-predef.h \
   /usr/include/stdio.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/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \
-  /usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h \
+  /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
   /usr/include/x86_64-linux-gnu/bits/types.h \
-  /usr/include/x86_64-linux-gnu/bits/timesize.h \
   /usr/include/x86_64-linux-gnu/bits/typesizes.h \
-  /usr/include/x86_64-linux-gnu/bits/time64.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
-  /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.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/types/struct_FILE.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 \
@@ -35,11 +28,9 @@ deps_lib/gen_crc32table := \
     $(wildcard include/config/crc32/bit.h) \
     $(wildcard include/config/64bit.h) \
   /usr/include/inttypes.h \
-  /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.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/bits/stdint-intn.h \
-  /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 
 lib/gen_crc32table: $(deps_lib/gen_crc32table)
 

+ 7 - 8
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/.am335x-evm.dtb.dts.tmp

@@ -1067,10 +1067,9 @@
   pinctrl-single,pins = <
    0x54 (0 | 7)
    0x58 (0 | 7)
-   0x60 (0 | 7)
    0x64 (((1 << 5)) | 7)
    0x68 (((1 << 5)) | 7)
-   0x6c (0 | 7)
+   0x6c (((1 << 5)) | 7)
   >;
  };
 
@@ -1198,7 +1197,7 @@
    0x14c (((1 << 5)) | 7)
   >;
  };
-# 305 "<stdin>"
+# 304 "<stdin>"
  mmc1_pins_default: pinmux_mmc1_pins {
   pinctrl-single,pins = <
    0x0F0 (((1 << 5) | (1 << 4)) | 0)
@@ -1262,7 +1261,7 @@
    0xec (((1 << 3)) | 0)
   >;
  };
-# 378 "<stdin>"
+# 377 "<stdin>"
  dcan1_pins_default: dcan1_pins_default {
   pinctrl-single,pins = <
    0x168 (((1 << 3)) | 2)
@@ -1407,7 +1406,7 @@
  pinctrl-names = "default";
  pinctrl-0 = <&nandflash_pins_s0>;
 
- ranges = <0 0 0x08000000 0x40000000>;
+ ranges = <0 0 0x08000000 0x80000000>;
  nand@0,0 {
   reg = <0 0 4>;
   ti,nand-ecc-opt = "bch16";
@@ -1496,7 +1495,7 @@
   };
   partition@13 {
    label = "Storage";
-   reg = <0x0A200000 0x35E00000>;
+   reg = <0x0A200000 0x75E00000>;
   };
  };
 };
@@ -1581,8 +1580,8 @@
   };
  };
 };
-# 617 "<stdin>" 2
-# 634 "<stdin>"
+# 616 "<stdin>" 2
+# 633 "<stdin>"
 &tps {
  vcc1-supply = <&vbat>;
  vcc2-supply = <&vbat>;

+ 3 - 4
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/dts/am335x-evm.dts

@@ -163,10 +163,9 @@
 		pinctrl-single,pins = <
 			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a5.gpio1_21 */
 			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a6.gpio1_22 */
-			0x60 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a8.gpio1_24 */
 			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a9.gpio1_25 */
 			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a10.gpio1_26 */
-			0x6c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a11.gpio1_27 */
+			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a11.gpio1_27 */
 		>;
 	};
 
@@ -519,7 +518,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&nandflash_pins_s0>;
 	/*ranges = <0 0 0x08000000 0x1000000>;*/	/* CS0: 16MB for NAND */
-	ranges = <0 0 0x08000000 0x40000000>;	/*+++ vern,NAND,20181030 ---*/
+	ranges = <0 0 0x08000000 0x80000000>;	/*+++ vern,NAND,20181030 ---*/
 	nand@0,0 {
 		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
 		ti,nand-ecc-opt = "bch16";
@@ -608,7 +607,7 @@
 		};
 		partition@13 {
 			label = "Storage";
-			reg = <0x0A200000 0x35E00000>;
+			reg = <0x0A200000 0x75E00000>;
 		};
 	};
 };

+ 1 - 1
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/arch/arm/lib/.asm-offsets.s.cmd

@@ -1,4 +1,4 @@
-cmd_arch/arm/lib/asm-offsets.s := /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -Wp,-MD,arch/arm/lib/.asm-offsets.s.d  -nostdinc -isystem /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/include -Iinclude    -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -D MT29F8G08_BCH16 -D MT41K256M16HA125E_303 -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time -D__ARM__ -Wa,-mimplicit-it=always -mthumb -mthumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -I./arch/arm/mach-omap2/include -DDO_DEPS_ONLY    -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)"  -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)"  -fverbose-asm -S -o arch/arm/lib/asm-offsets.s arch/arm/lib/asm-offsets.c
+cmd_arch/arm/lib/asm-offsets.s := /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -Wp,-MD,arch/arm/lib/.asm-offsets.s.d  -nostdinc -isystem /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/include -Iinclude    -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -D MT29F16G08_BCH16 -D MT41K256M16HA125E_303 -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time -D__ARM__ -Wa,-mimplicit-it=always -mthumb -mthumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -I./arch/arm/mach-omap2/include -DDO_DEPS_ONLY    -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)"  -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)"  -fverbose-asm -S -o arch/arm/lib/asm-offsets.s arch/arm/lib/asm-offsets.c
 
 source_arch/arm/lib/asm-offsets.s := arch/arm/lib/asm-offsets.c
 

+ 1 - 1
board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04/lib/.asm-offsets.s.cmd

@@ -1,4 +1,4 @@
-cmd_lib/asm-offsets.s := /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -Wp,-MD,lib/.asm-offsets.s.d  -nostdinc -isystem /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/include -Iinclude    -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -D MT29F8G08_BCH16 -D MT41K256M16HA125E_303 -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time -D__ARM__ -Wa,-mimplicit-it=always -mthumb -mthumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -I./arch/arm/mach-omap2/include -DDO_DEPS_ONLY    -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)"  -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)"  -fverbose-asm -S -o lib/asm-offsets.s lib/asm-offsets.c
+cmd_lib/asm-offsets.s := /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -Wp,-MD,lib/.asm-offsets.s.d  -nostdinc -isystem /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/include -Iinclude    -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -D MT29F16G08_BCH16 -D MT41K256M16HA125E_303 -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time -D__ARM__ -Wa,-mimplicit-it=always -mthumb -mthumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -I./arch/arm/mach-omap2/include -DDO_DEPS_ONLY    -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)"  -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)"  -fverbose-asm -S -o lib/asm-offsets.s lib/asm-offsets.c
 
 source_lib/asm-offsets.s := lib/asm-offsets.c
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно