
===============================================================================
=                                                                             =
=     Copyright (c) 2020 ADLINK Technology, Inc. All rights reserved.         =
=                                                                             =
===============================================================================

BMC V2.08.00
-------------------------------------------------------------------------------
Project    : COM-HPC-Server-Carrier
File       : rom_v2.08.00.ima
Build Date : 08/08/2024
-------------------------------------------------------------------------------
[Changes]
* [    ][      ][COM-HPC-Server-Carrier] COMHPCSC-324: [IPMI] BMC reset when mounting the NFS image


BMC V2.07.00
-------------------------------------------------------------------------------
Project    : COM-HPC-Server-Carrier
File       : rom_v2.07.00.ima
Build Date : 11/17/2023
-------------------------------------------------------------------------------
[Changes]
* [    ][      ][COM-HPC-Server-Carrier] fix chassis power on one time
* [    ][      ][COM-HPC-Server-Carrier] fix chassis power soft won't shutdown directly
* [    ][      ][COM-HPC-Server-Carrier] edit sensor name for P_2V5_10G_SFI


BMC V2.06.00
-------------------------------------------------------------------------------
Project    : COM-HPC-Server-Carrier
File       : rom_v2.06.00.ima
Build Date : 10/13/2023
-------------------------------------------------------------------------------
[Changes]
* [    ][      ][COM-HPC-Server-Carrier] add feature for ssif interface slave mode read on file descriptor
* [    ][      ][COM-HPC-Server-Carrier] add feature allow the SSIF interface to disable nack while executing sequential combination commands 
* [    ][      ][COM-HPC-Server-Carrier] Release COM-HPC-Server-Carrier v2.06 version

BMC V2.05.00

libipmipdk-2.26.0 (PDKHW.c)
1. Change GPIOE4 to GPIOY1 in function PDK_GetPSGood() to get the correct power state. 

libipmipdk-2.26.0 (PDKHooks.c) 
1. Set SSIF alert pin to GPIOS2.

oempdk_dev-3.23.0 (PDKHW.h)
1. Add GPIO FM_SLPS5_N and CN_SMB_ALERT_S2 to get the correct power state and set SSIF alert pin.

libipmi-3.178.0 (sensor_helpers.c)
1. Restore the sensor reading conversion to the original formula.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Change the fan number to be consistent with the fan number on the PCB board.

-----------------------------------------------------------------------------------------------
BMC V2.04.00

platform-2.3.0 (platform_ast2500evb.c)
1. Disable I2C5 (SCU90[18]) for HW re-driver tuning.

webui_html5-2.560.0 (settings.html)
1. Remove SMTP function because it is limitation.

-----------------------------------------------------------------------------------------------
BMC V2.03.00

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Add FRU device file to build up the default FRU information.

libipmipdk-2.26.0 (PDKFRU.c)
1. Add FRU device ID 0 and device ID 1 information and register these 2 FRU to solve missing FRU when sIDH module is plugged on carrier board.

Kernel_ex-2.19.0 (kernel/linux/net/core/dev.c)
1. Remove "net_crit_ratelimited("protocol %04x is buggy, dev %s\n", ntohs(skb2->protocol), dev->name);" in kernel/linux/net/core/dev.c and create this patch in SPX package Kernel_oem_ast2500evb_ex-1.2.0 because message "protocol 88f8 is buggy, dev eth0" disrupts console operation.

-----------------------------------------------------------------------------------------------
BMC V2.02.00

libipmi-3.178.0 (sensor_helpers.c)
1. Modify the raw value conversion in function sdr_convert_sensor_value_to_raw() to let negative sensor threshold values be correctly displayed in web UI.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Re-order the sensor number from 1 to 19 to correct the real-time sensor readings in web UI.

webui_html5-2.560.0 (sensor_thresholds.js)
1. Modify the regular expression (/^[0-9]*(\.[0-9]+)?$/.test(value)) to (/^-?[0-9]*(\.[0-9]+)?$/.test(value)) for lower threshold value cases because user may type negative numbers like -10 when changing threshold values in web UI.

webui_scaffold-1.262.0 (set-threshold.json)
1. Modify the regular expression (/^[0-9]*(\.[0-9]+)?$/.test(value)) to (/^-?[0-9]*(\.[0-9]+)?$/.test(value)) for lower threshold value cases because user may type negative numbers like -10 when changing threshold values in web UI.

-----------------------------------------------------------------------------------------------
BMC V2.01.00

ipmipdk_dev-3.64.0 (PDKFRU.h)
1. Modify FRU_FILE_SIZE from 256 to 1024 to allocate enough buffer size for FRU data.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Replace the FRU Device Description File to support FRU update.

-----------------------------------------------------------------------------------------------
BMC V2.00.00

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Modify ADC2 sensor voltage calculation since the A2 HW design is different from the A1's.

-----------------------------------------------------------------------------------------------
BMC V1.09.00

amithermalconfig-1.0.0 (fanmap.ini, zonemap.ini)
1. Remove Fan 2 because A2 revision.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Modify ADC2 sensor to VCC_5V_SBY_IN because A2 revision.
2. Remove Fan 2 sensor because A2 revision.

webui_html5-2.560.0 (app/templates/settings.html)
1. Remove SMTP due to there is no requirement for customer.

-----------------------------------------------------------------------------------------------
BMC V1.08.00

ipmitool-2.11.0 (ipmi.h)
1. Add IANA number for Adlink (ipmitool: mc info).

ipmitool-2.11.0 (ipmi_strings.c)
1. Add IANA string information for Adlink (ipmitool: mc info).

libipmimsghndlr-3.432.0 (IPMDevice.c)
1. Modify manufacturer ID to 0x5f13 for Adlink.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Modify SMBus number from 6 to 4 to enable SSIF interface for ALT-EDK2 platform.

libipmipdk-2.26.0 (PDKHW.c)
1. Modify GPIOR3 input/output initial direction to solve the drop in ALT-EDK2 CPU frequency.

libipmipdkcmds-2.10.0 (cmdselect.c)
1. Add IPMI OEM command code 0x04 for getting board ID.

libipmipdkcmds-2.10.0 (PDKCmds.c)
1. Add OEM function PDK_GetBoardID() to get board ID.

oempdk_dev-3.23.0 (OEMCmds.h)
1. Add IPMI OEM command code 0x04 for getting board ID.

Add patch libipmisol_3_28_0_1_EIP433687_Fix_SOL_disconnected_when_BMC_upgrade, libipmisol_3_28_0_2_EIP466147_Fix_SOL_Activates_Payload_Fail_Dueto_Redundant_SOLSessionFile to solve that SOL will disconnect when BMC upgrade and reset payload at same time.

-----------------------------------------------------------------------------------------------
BMC V1.07.00

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Change the sensor number of P_2V5_BMC_AUX from 0 to 20 to solve that webui filters sensor number 0.
2. change the power cycle interval from 2s to 5s to solve that power cycle action sometimes fails in webui. 

libipmipdk-2.26.0 (PDKHW.c)
1. Modify the sleep time from 1s to 5s in function PDK_SoftOffChassis() to solve ACPI shutdown failure.

webui_html5-2.560.0 (sensor_thresholds.js)
1. Solve JIRA COMHPCSC-297 - Sensor thresholds can be saved even if Upper Non-recoverable value is not set.

Kernel_ex-2.19.0 (linux/net/core/dev.c)
1. Disable the kernel message: protocol 88f8 is buggy, dev eth0.

kcs_hw-2.5.0 (ast_kcs.h)
1. Modify KCS addresses from 0xCA0 and 0xCA2 to 0x260 and 0x262 to enable kcs channel in eSPI interface for project COM-HPC-sIDH.

-----------------------------------------------------------------------------------------------
BMC V1.06.00

webui_html5-2.560.0 (EventLogView.js)
1. Fix the issue that WEBUI sticks on processing after clicking Clear Event Logs button.

-----------------------------------------------------------------------------------------------
BMC V1.05.00

ipmi_dev-3.275.0 (ipmi_int.h)
1. Change MAX_IPMI_INT to 0x03 since adding one more interrupt handler to solve GPIOR3 current leakage.

libipmipdk-2.26.0 (PDKHW.c, PDKInt.c)
1. Modify GPIOY0 and GPIOR3 initialization to solve GPIOR3 current leakage.
2. Add one more GPIOY0 interrupt handler to solve GPIOR3 current leakage.

oempdk_dev-3.23.0 (PDKHW.h)
1. Add constant FM_SLPS3_N for GPIOY0 to solve GPIOR3 current leakage.

Bootloader_oem_ast2500evb_ex-1.3.0 (cmd_fmh.c)
1. Remove fwimage1corrupted and fwimage2corrupted setting to avoid booting failure.

-----------------------------------------------------------------------------------------------
BMC V1.04.00

amithermalconfig-1.0.0 (fscprofile.ini, zonemap.ini)
1. Change thermal table from thermal team.

ast2500evb.PRJ
1. Enable eSPI support.

-----------------------------------------------------------------------------------------------
BMC V1.03.00

Bootloader_ex-2.16.0 (ast_wdt.c)
1. Clearing the watchdog 2 timeout event counter to prevent uboot-starting failure.

Bootloader_ex-2.16.0 (main.c)
1. Disable watchdog 2 in software failsafe boot to prevent uboot-starting failure.

Bootloader_ex-2.16.0 (ast2500evb.c)
1. Disable watchdog 2 in function board_init() to prevent uboot-starting failure.

Kernel_ex-2.19.0 (setup.c)
1. Disable watchdog 2 in function ast_arch_reset().

libipmipdk-2.26.0 (PDKHW.c)
1. Set the system UART switch in function PDK_SwitchEMPMux() for loopback test.

platform-2.3.0 (platform_ast2500evb.c)
1. Enable UART1 and UART2 reset source from LPC to prevent loopback test failure. 

-----------------------------------------------------------------------------------------------
BMC V1.02.00

libipmimsghndlr-3.432.0 (Sensor.c & SensorMonitor.c)
1. Modify sensor status judgement since the original source code doesn't consider the 2's complement case.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Modify the conversion of the tmp102 sensor reading.

libipmipdk-2.26.0 (PDKHW.c & PDKHooks.c)
1. Include PDKHW.h file for buzzer use in the future.
2. Uncomment GPIO BMC_GPIO_SPKR_R2 for buzzer use in the future.

platform-2.3.0 (platform_ast2500evb.c)
1. Disable GPIOE0~GPIOE4 bypass function to let system boots normally.

-----------------------------------------------------------------------------------------------
BMC V1.01.00

ast2500evb.PRJ
1. Enable Dual image support to enable 2-flash firmware update in WEBUI to easily update inactive images or both images.
2. Change fail safe booting configuration to Software Failsafe Boot since the WDT is repeatedly activated and firmware repeatedly resets during BMC firmware boots up in hardware based fail safe boot.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Change all sensor monitor state to MonitorOnstandby since if there is no module on carrier board and sensor readings needs monitoring when BMC is powered.
2. Change the calculation of HW monitor TMP102 reading with reference to specification. 
3. Add the FRU device file for recording product and board information.

libipmipdk-2.26.0 (PDKEEPROM.c)
1. Add page size 0x40 definition to support R/W of EEPROM AT24C256C-SSHL-T.

libipmipdk-2.26.0 (PDKHW.c)
1. Add UART1 to COM1 connection and UART2 to COM2 connection in function PDK_SwitchEMPMux() to support COM1 and COM2 functions.
2. Add UART2 to UART4 connection in function PDK_SwitchEMPMux() to support SOL function.

-----------------------------------------------------------------------------------------------
BMC V1.00.00

amithermalconfig-1.0.0 (fanmap.ini)
1. Change fan number to 5 and sensor number to 11~15
 
amithermalconfig-1.0.0 (zonemap.ini)
1. Change fanid to 11~15, zone number to 3, and sensorgrp number to 16~17

ipmi_dev-3.275.0 (ipmi_int.h)
1. Change MAX_IPMI_INT to 2 since there are two sensor interrupt cases which are power-on and power-reset.

libipmipar_ast2500evb_ami-2.25.0 (ast2500evb.pmc)
1. Implement ADC voltage sensors with reference to schematic.
2. Implement PWM fan sensors with reference to schematic.
3. Implement the rear and the front temperature sensors with reference to schematic.
4. Implement FRU device file with reference to schematic.
5. Implement ACPI power status sensor with reference to schematic.
6. Change primary IPMB bus number to 2 in IPMI Cfg setting menu.
7. Enable MD5 auth type in LAN1 Config Params to enable IPMI v1.5 RMCP.

libipmipdk-2.26.0 (PDKHW.c)
1. Initialize GPIO direction and logic in function PDK_PlatformInit().
2. Implement function PDK_PowerOnChassis(), PDK_PowerOffChassis(), PDK_SoftOffChassis(), PDK_ResetChassis(), and PDK_GetPSGood() to enable power management in WEBUI.

libipmipdk-2.26.0 (PDKInt.c)
1. Implement two sensor interrupt cases (Power-on and Power-reset) in the variable m_IntInfo.

oempdk_dev-3.23.0 (PDKHW.h)
1. Define AST2500 GPIO number for controlling the device connecting with AST2500.

platform-2.3.0 (platform_ast2500evb.c)
1. Write control-bit to different registers to control GPIO, UART...