Skip to content

Implement MCTP and PLDM on common code#245

Closed
DelphineChiu wants to merge 17 commits into
facebook:main_v2from
Wiwynn:Ren/main_v2/Implement-MCTP-and-PLDM-on-common-code
Closed

Implement MCTP and PLDM on common code#245
DelphineChiu wants to merge 17 commits into
facebook:main_v2from
Wiwynn:Ren/main_v2/Implement-MCTP-and-PLDM-on-common-code

Conversation

@DelphineChiu

Copy link
Copy Markdown

Implement MCTP and PLDM on common code
Summary:

  • Support PLDM over MCTP over SMBUS
  • Asynchronous command response function invoke
  • Support initiative send MCTP request command
  • MCTP service
  • PLDM service

Dependency: #244

Test Plan:

  1. Build code: pass
RenChen-wiwynn and others added 17 commits April 18, 2022 16:05
Summary:
- Support MP5990 sensor device

Test Plan:
1. Build code: pass
2. [MPS] Check GPIOA7 and the MP5990 configure register(38h and 46h)
3. [MPS] Get MP5990 sensor reading: pass
4. [ADI] Get ADM1278 sensor reading: pass

Log:
1. Class type: class-1, 1ou present status: false, 2ou present status: true, board revision: EVT3(EFUSE)
root@bmc-oob:/root# bic-util slot1 --get_gpio|grep "HSC_SET_EN_R"
7 HSC_SET_EN_R: 1
root@bmc-oob:/root# bic-util slot1 0x18 0x52 0x5 0x16 0x2 0x38
BF 01
root@bmc-oob:/root# bic-util slot1 0x18 0x52 0x5 0x16 0x2 0x46
46 00
root@bmc-oob:/root# sensor-util slot1|grep HSC
HSC Temp                     (0xE) :   25.00 C     | (ok)
HSC Input Vol                (0x29) :   12.31 Volts | (ok)
HSC Output Cur               (0x30) :    0.25 Amps  | (ok)
HSC Input Pwr                (0x39) :    0.00 Watts | (ok)

2. Class type: class-1, 1ou present status: false, 2ou present status: false, board revision: EVT3(EFUSE)
root@bmc-oob:/root# bic-util slot1 --get_gpio|grep "HSC_SET_EN_R"
7 HSC_SET_EN_R: 0
root@bmc-oob:/root# bic-util slot1 0x18 0x52 0x5 0x16 0x2 0x46
28 00
root@bmc-oob:/root# bic-util slot1 0x18 0x52 0x5 0x16 0x2 0x38
04 01
root@bmc-oob:/root# sensor-util slot1|grep HSC
HSC Temp                     (0xE) :   25.00 C     | (ok)
HSC Input Vol                (0x29) :   12.44 Volts | (ok)
HSC Output Cur               (0x30) :    0.25 Amps  | (ok)
HSC Input Pwr                (0x39) :    0.00 Watts | (ok)

3. Class type: class-1, 1ou present status: false, 2ou present status:false, board revision: POC
root@bmc-oob:/root# sensor-util slot3|grep HSC
HSC Temp                     (0xE) :   27.62 C     | (ok)
HSC Input Vol                (0x29) :   12.00 Volts | (ok)
HSC Output Cur               (0x30) :   10.52 Amps  | (ok)
HSC Input Pwr                (0x39) :  129.35 Watts | (ok)
Summary:
- K_WORK_DELAYABLE_DEFINE needs a callback function with the function parameter type of "struct k_work *".
- util_spi.c had a missing header that needed to be included as well as an improperly formatted print statement.
- Mark card_type_1ou that is currently unused in Yv3.5 CL as unused to silence compiler warnings.
- Initialized status in fall through case.

Test Plan:
- Build code: Pass
Summary:
- Support TMP431 sensor device
  For EVT3 ADI system, the "HSC Temp" and "MB Outlet Temp" should be read from TMP431 chip.
  For EVT3 MPS system, the "HSC Temp" sensor value is read from MP5990 and "MB Outlet Temp" is read from TMP75.

Test Plan:
1. Build code: pass
2. [EVT3 MPS] Check "HSC Temp" and "MB Outlet Temp" sensor reading: pass
3. [EVT3 ADI] Check "HSC Temp" and "MB Outlet Temp" sensor reading: pass
4. [POC] Check "HSC Temp" and "MB Outlet Temp" sensor reading: pass

Log:
1. Class type: class-1, 1ou present status: false, 2ou present status: true, board revision: EVT3(ADI)
root@bmc-oob:~# sensor-util slot1|grep "HSC\|MB Outlet Temp"
MB Outlet Temp               (0x2) :   25.44 C     | (ok)
HSC Temp                     (0xE) :   23.81 C     | (ok)
HSC Input Vol                (0x29) :   12.00 Volts | (ok)
HSC Output Cur               (0x30) :    0.28 Amps  | (ok)
HSC Input Pwr                (0x39) :    3.53 Watts | (ok)

2. Class type: class-1, 1ou present status: false, 2ou present status: false, board revision: EVT3(MPS)
root@bmc-oob:~# sensor-util slot1|grep "HSC\|MB Outlet Temp"
MB Outlet Temp               (0x2) :   24.00 C     | (ok)
HSC Temp                     (0xE) :   25.00 C     | (ok)
HSC Input Vol                (0x29) :   12.22 Volts | (ok)
HSC Output Cur               (0x30) :    0.25 Amps  | (ok)
HSC Input Pwr                (0x39) :    6.00 Watts | (ok)

3. Class type: class-1, 1ou present status: false, 2ou present status:false, board revision: POC
root@bmc-oob:~# sensor-util slot3|grep "HSC\|MB Outlet Temp"
MB Outlet Temp               (0x2) :   33.00 C     | (ok)
HSC Temp                     (0xE) :   29.52 C     | (ok)
HSC Input Vol                (0x29) :   12.00 Volts | (ok)
HSC Output Cur               (0x30) :    8.82 Amps  | (ok)
HSC Input Pwr                (0x39) :  108.70 Watts | (ok)
Summary:
- Add Zephyr Kernel patches
1. drivers: ipmb: Extend the ipmb buffer
2. drivers: i2c: Correct the timeout time as 35ms
3. peci: aspeed: Avoid race condition of accessing peci device.

Test Plan:
1. Build code: pass
Summary:
- In order to avoid lost post code , modify get/send post code stop time from post complete to host power off.
- Modify get/send post code reference signal.

Test Plan:
- Build code: Pass
- Test DC cycle/reset/BIC reboot: Pass

Log:
Before modify get/send post code stop time

root@bmc-oob:~# bic-util slot1 --get_post_code
util_get_postcode: returns 244 bytes
92 92 92 92 92 92 92 92 99 92 98 97 92 92 92 92
92 92 92 92 92 91 99 92 92 92 92 92 92 92 92 EF
96 95 94 94 94 94 94 94 94 94 94 94 94 94 94 94
94 94 92 91 79 70 68 61 4F 47 42 41 41 7F 00 00
15 0D 0C 0B 06 04 00 50 22 02 23 03 EE ED EC EB
E9 E6 AF AF AF BF 7E C6 CE BC BC BC BC BC CC 7E
DC CA CA B7 7E 70 7E D1 7E D1 7E D0 7E D0 7E D0
7E 7E BB BB BB BB BB BB BB BB BB BB CB 7E 70 70
70 B9 BA DB D9 DA C9 D7 B8 B8 B8 B8 B8 B8 B8 B8
B8 B7 B7 B7 B7 B7 B7 B7 B7 B9 70 D6 D2 7E D2 7E
7E BE BE 7E B7 70 70 7E 70 7E B7 B7 B6 B6 B7 B7
7E 7E 7E B6 B6 B7 B0 B6 B6 B6 B3 B3 B3 B3 B3 B3
B3 C6 B2 C5 B8 7E B4 7E B6 B1 B1 B1 7E 7E 70 7E
C2 7E B1 B1 70 C1 7E B0 CD 73 7E CF 7E B5 B0 AF
AF E5 E3 E4 E1 E0 E0 E0 AE AA A8 A9 A9 A7 A7 A7
A2 A2 A9 A9

After modify get/send post code stop time

root@bmc-oob:~# bic-util slot1 --get_post_code
util_get_postcode: returns 244 bytes
9C 9C 00 E3 E3 E3 AA 84 B1 AD D9 AD D9 AD 92 92
92 92 92 99 92 98 97 92 92 92 92 92 92 91 99 92
92 92 92 92 EF 96 95 94 94 94 94 94 94 94 94 94
94 94 94 94 92 91 79 70 68 61 4F 47 42 41 40 7F
00 7F 15 0D 0C 0C 06 04 00 50 22 02 23 03 EE ED
EC EB E9 E7 E6 AF AF AF BF 7E C6 CE BC BC BC BC
BC CC 7E DC CA CA B7 7E 70 7E D1 7E D1 7E D0 7E
D0 7E D0 7E 7E BB BB BB BB BB BB BB BB BB BB CB
7E 70 70 70 B9 BA DB D9 DA C9 D7 B8 B8 B8 B8 B8
B8 B8 B8 B8 B7 B7 B7 B7 B7 B7 B7 B7 B9 70 D6 D2
7E D2 7E 7E BE BE 7E B7 70 70 7E 70 7E B7 B7 B6
B6 B7 B7 7E 7E 7E B6 B6 B7 B0 B6 B6 B6 B3 B3 B3
B3 B3 B3 B3 C6 B2 C5 B8 7E B4 7E B6 B1 B1 B1 7E
7E 70 7E C2 7E B1 B1 70 C1 7E B0 CD 73 7E CF 7E
BF B0 AF AF E5 E3 E4 E1 E0 E0 E0 AE AA A8 A9 A9
A7 A7 A7 A2 A2 A9 A9
Summary:
- Fix BB BIC can't reset problem.
The root cause is that Zephyr SDK04 change the wdt of dts architecture.
If we don't enable wdt0 before, the kernel won't find wdt1.

Test plan:
- Build code: Pass
- Warm reset: Pass
- Cold reset: Pass

Log:
1. Check warm reset can do successfully.
- Before fix
[BIC console]
uart:~$ kernel reboot warm
No device named wdt1.
Failed to reboot: spinning endlessly...

- After fix
[BIC console]
uart:~$ kernel reboot warm0)I00:00:00.000,000] <inf> usb_dc_aspeed: select ep[0x81] as IN endpoint
[00:00:00.000,000] <inf> usb_dc_aspeed: select ep[0x82] as IN endpoint
[00:00:00.000,000] <wrn> usb_dc_aspeed: pre-selected ep[0x1] as IN endpoint
[00:00:00.000,000] <wrn> usb_dc_aspee*** Booting Zephyr OS build v00.01.04-3-g32eed3dd510b  ***
Hello, wellcome to yv35 baseboard 2022.1.1
...

2. Check cold reset can do successfully.
- Before fix
[BIC console]
uart:~$ kernel reboot cold
No device named wdt1.
Failed to reboot: spinning endlessly...

- After fix
[BIC console]
uart:~$ kernel reboot cold0)I00:00:00.000,000] <inf> usb_dc_aspeed: select ep[0x81] as IN endpoint
[00:00:00.000,000] <inf> usb_dc_aspeed: select ep[0x82] as IN endpoint
[00:00:00.000,000] <wrn> usb_dc_aspeed: pre-selected ep[0x1] as IN endpoint
[00:00:00.000,000] <wrn> usb_dc_aspee*** Booting Zephyr OS build v00.01.04-3-g32eed3dd510b  ***
Hello, wellcome to yv35 baseboard 2022.1.1
...
Summary:
- Added event log for memory thermal trip assert event.

Test Plan:
- Build code: Pass

Log:
Memory thermal trip event
[BIC console]
uart:~$ gpio get GPIO0_E_H 26
Reading GPIO0_E_H pin 26
Value 1
uart:~$ gpio conf GPIO0_E_H 26 out
Configuring GPIO0_E_H pin 26
uart:~$ gpio get GPIO0_E_H 26
Reading GPIO0_E_H pin 26
Value 0
uart:~$ gpio get GPIO0_A_D 20
Reading GPIO0_A_D pin 20
Value 1
uart:~$ gpio conf GPIO0_A_D 20 out
Configuring GPIO0_A_D pin 20
uart:~$ gpio get GPIO0_A_D 20
Reading GPIO0_A_D pin 20
Value 0

[BMC console]
root@bmc-oob:~# log-util slot1 --print
SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2022-03-31 00:34:09, Sensor: SYSTEM_STATUS (0x10), Event Data: (11FFFF) CPU/Memory thermal trip Assertion

SOC thermal trip event
[BIC console]
uart:~$ gpio get GPIO0_E_H 26
Reading GPIO0_E_H pin 26
Value 1
uart:~$ gpio get GPIO0_A_D 20
Reading GPIO0_A_D pin 20
Value 1
uart:~$ gpio conf GPIO0_A_D 20 out
Configuring GPIO0_A_D pin 20
uart:~$ gpio get GPIO0_A_D 20
Reading GPIO0_A_D pin 20
Value 0

[BMC console]
root@bmc-oob:~# log-util slot1 --print
SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2022-03-31 00:35:09, Sensor: SYSTEM_STATUS (0x10), Event Data: (00FFFF) SOC thermal trip Assertion
Summary:
- Add OEM command to read and write BIC register

Test Plan:
- Build Code: Pass
- Command Test: Pass

Log:
read register 0x7e7b0300
[BIC console]
uart:~$ md 0x7e7b0300

[7e7b0300] 00000001
[BMC console]
root@bmc-oob:~# bic-util slot1 0xe0 0x68 0x9c 0x9c 0x00 0x00 0x03 0x7b 0x7e 0x4
9C 9C 00 01 00 00 00

write 2 bytes 0x2211 to register 0x7e7b0300
[BMC console]
root@bmc-oob:~# bic-util slot1 0xe0 0x69 0x9c 0x9c 0x00 0x00 0x03 0x7b 0x7e 0x2 0x11 0x22
9C 9C 00

read register 0x7e7b0300
[BIC console]
uart:~$ md 0x7e7b0300

[7e7b0300] 00002211
[BMC console]
root@bmc-oob:~# bic-util slot1 0xe0 0x68 0x9c 0x9c 0x00 0x00 0x03 0x7b 0x7e 0x4
9C 9C 00 11 22 00 00
Summary:
- Fix BB IPMB TX/RX threads can't malloc successfully problem.

Test plan:
1. Check BB IPMB is normal.
- Get BB fw version
root@bmc-oob:~# fw-util slot1 --version bb_bic
BB Bridge-IC Version: oby35-bb-v2022.01.01

- Get BB device ID
root@bmc-oob:~# bic-util slot1 0xe0 0x2 0x9c 0x9c 0x0 0x10 0x18 0x01
9C 9C 00 10 07 01 00 00 80 01 01 02 BF 9C 9C 00
00 00 00 00 00 00

2.  Check CL IPMB is normal.
- Get CL fw version
root@bmc-oob:~# fw-util slot1 --version bic
SB Bridge-IC Version: oby35-cl-v2022.06.51

- Get CL device ID
root@bmc-oob:~# bic-util slot1 0x18 0x01
00 80 11 06 02 BF 9C 9C 00 00 00 00 00 00 00
Summary:
- Enable baseboard USB and let BMC can scan BB USB.

Test plan:
- Build code: Pass
- Scan USB: Pass

Log:
1. Check BB USB can be scan by BMC.
- Before enable
root@bmc-oob:~# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

- After enable
root@bmc-oob:~# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget
Bus 001 Device 003: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Summary:
- Add platform commands for development/debug usage.
- Should send command via BIC console with keyword "platform".

Test plain:
- Build code: Pass
- Test console command: Pass

Log:
[BIC console]
uart:~$ platform
platform - Platform commands
Subcommands:
  note    :Note list.
  gpio    :GPIO relative command.
  sensor  :SENSOR relative command.
uart:~$ platform note
========================{SHELL COMMAND INFO}========================================
* NAME:          Platform command
* DESCRIPTION:   Commands that could be used to debug or validate.
* DATE/VERSION:  none
* CHIP/OS:       AST1030 - Zephyr
* Note:          none
========================{SHELL COMMAND INFO}========================================
uart:~$ platform gpio
gpio - GPIO relative command.
Subcommands:
  list_group  :List all GPIO config from certain group.
  list_all    :List all GPIO config.
  get         :Get GPIO config
  set         :Set GPIO config
  multifnctl  :List all GPIO multi-function control regs.
uart:~$ platform gpio list_group GPIO0_A_D
[0  ][GPIO0_A_D 0  ] FM_BMC_PCH_SCI_LPC_R_N             : OD | output(I) | 1(1)
[1  ][GPIO0_A_D 1  ] FM_BIOS_POST_CMPLT_BMC_N           : OD | input (I) | 0(0)
[2  ][GPIO0_A_D 2  ] FM_SLPS3_PLD_N                     : PP | input (I) | 1(1)
[3  ][GPIO0_A_D 3  ] IRQ_BMC_PCH_SMI_LPC_R_N            : OD | output(I) | 1(1)
[4  ][GPIO0_A_D 4  ] IRQ_UV_DETECT_N                    : OD | input (I) | 1(1)
[5  ][GPIO0_A_D 5  ] FM_UV_ADR_TRIGGER_EN_R             : OD | output(I) | 1(1)
[6  ][GPIO0_A_D 6  ] IRQ_SMI_ACTIVE_BMC_N               : OD | input (I) | 1(1)
[7  ][GPIO0_A_D 7  ] HSC_SET_EN_R                       : PP | output(O) | 0(0)
[8  ][GPIO0_A_D 8  ] FM_BIC_RST_RTCRST_R                : PP | output(O) | 0(0)
[9  ][GPIO0_A_D 9  ] RST_USB_HUB_N_R                    : OD | output(I) | 1(1)
[10 ][GPIO0_A_D 10 ] A_P3V_BAT_SCALED_EN_R              : PP | output(O) | 0(0)
[11 ][GPIO0_A_D 11 ] FM_SPI_PCH_MASTER_SEL_R            : PP | output(O) | 0(0)
[12 ][GPIO0_A_D 12 ] FM_PCHHOT_N                        : OD | input (I) | 1(1)
[13 ][GPIO0_A_D 13 ] FM_SLPS4_PLD_N                     : PP | input (I) | 1(1)
[14 ][GPIO0_A_D 14 ] FM_S3M_CPU0_CD_INIT_ERROR          : OD | input (O) | 0(0)
[15 ][GPIO0_A_D 15 ] PWRGD_SYS_PWROK                    : PP | input (I) | 1(1)
[16 ][GPIO0_A_D 16 ] FM_HSC_TIMER                       : OD | input (I) | 0(0)
[17 ][GPIO0_A_D 17 ] IRQ_SMB_IO_LVC3_STBY_ALRT_N        : OD | input (I) | 1(1)
[18 ][GPIO0_A_D 18 ] IRQ_CPU0_VRHOT_N                   : OD | input (I) | 1(1)
[19 ][GPIO0_A_D 19 ] DBP_CPU_PREQ_BIC_N                 : OD | output(I) | 1(1)
[20 ][GPIO0_A_D 20 ] FM_CPU_THERMTRIP_LATCH_LVT3_N      : OD | input (I) | 1(1)
[21 ][GPIO0_A_D 21 ] FM_CPU_SKTOCC_LVT3_PLD_N           : OD | input (I) | 0(0)
[22 ][GPIO0_A_D 22 ] H_CPU_MEMHOT_OUT_LVC3_N            : PP | input (I) | 1(1)
[23 ][GPIO0_A_D 23 ] RST_PLTRST_PLD_N                   : PP | input (I) | 1(1)
[24 ][GPIO0_A_D 24 ] PWRBTN_N                           : OD | input (I) | 1(1)
[25 ][GPIO0_A_D 25 ] RST_BMC_R_N                        : OD | output(I) | 1(1)
[26 ][GPIO0_A_D 26 ] H_BMC_PRDY_BUF_N                   : OD | input (I) | 1(1)
[27 ][GPIO0_A_D 27 ] BMC_READY                          : PP | output(O) | 1(1)
[28 ][GPIO0_A_D 28 ] BIC_READY                          : PP | output(O) | 1(1)
[29 ][GPIO0_A_D 29 ] FM_SOL_UART_CH_SEL_R               : PP | input (I) | 1(1)
[30 ][GPIO0_A_D 30 ] HSC_MUX_SWITCH_R                   : PP | output(O) | 0(0)
[31 ][GPIO0_A_D 31 ] FM_FORCE_ADR_N_R                   : OD | output(I) | 1(1)
uart:~$ platform gpio get 1
[1  ] FM_BIOS_POST_CMPLT_BMC_N           : OD  | input (I) | 0(0)
uart:~$ platform gpio get 60
gpio[60] get failed!
uart:~$ platform gpio get 59
[59 ] FM_CPU_BIC_PROCHOT_LVT3_N          : PP  | input (I) | 1(1)
uart:~$ platform gpio set
set - Set GPIO config
Subcommands:
  val       :Set pin value.
  int_type  :Set interrupt pin type.
uart:~$ platform gpio set val 99 0
gpio[99] --> 0 ,success!
uart:~$ platform gpio get 99
[99 ] Reserve_GPIOM3                     : OD  | output(O) | 0(0)
uart:~$ platform gpio set val 99 1
gpio[99] --> 1 ,success!
uart:~$ platform gpio get 99
[99 ] Reserve_GPIOM3                     : OD  | output(I) | 1(1)
uart:~$ platform gpio set int_type
Help: platform gpio set int_type <gpio_idx> <type>
     type: [0]disable [1]edge-rise [2]edge-fall [3]edge-both [4]low [5]high
uart:~$ platform gpio set int_type 99 0
gpio[99] --> type[0] success!
uart:~$ platform gpio multifnctl
[   REG    ]  hi                                      lo
[0x7e6e2410]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e2414]  1111 0000  0000 0000  0000 0000  0000 0000
[0x7e6e2418]  0000 0011  0000 0000  0011 1111  1111 1111
[0x7e6e241c]  0011 1111  1111 1111  1111 0000  0000 0000
[0x7e6e2430]  0000 0000  0000 0110  0000 1100  0000 0000
[0x7e6e2434]  0000 0000  1111 1111  0000 0000  0000 0000
[0x7e6e2438]  0000 0000  0000 0000  0011 1000  0000 0000
[0x7e6e2450]  0000 0000  0000 0000  1010 0000  0000 0000
[0x7e6e2454]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e2458]  0000 0000  0000 0000  0000 0101  0000 0000
[0x7e6e24b0]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e24b4]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e24b8]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e24bc]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e24d4]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e24d8]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e2510]  0000 0000  0000 0000  0000 0000  0000 0000
[0x7e6e251c]  0000 0000  0000 0000  0000 0000  0000 0000

uart:~$ platform sensor
sensor - SENSOR relative command.
Subcommands:
  list_all  :List all SENSOR config.
  get       :Get SENSOR config
uart:~$ platform sensor list_all
---------------------------------------------------------------------------------
[0x1 ] Unsupported name                   : tmp75 | access[O] | vr                   | 23
[0x2 ] Unsupported name                   : tmp75 | access[O] | vr                   | 33
[0x3 ] Unsupported name                   : tmp75 | access[O] | vr                   | 23
[0xd ] Unsupported name                   : nvme  | access[O] | vr                   | 26
[0x5 ] Unsupported name                   : peci  | access[O] | vr                   | 28
[0x14] Unsupported name                   : peci  | access[O] | vr                   | 72
[0x15] Unsupported name                   : peci  | access[O] | vr                   | 100
[0x6 ] Unsupported name                   : peci  | access[O] | vr                   | 29
[0x7 ] Unsupported name                   : peci  | access[O] | vr                   | 28
[0x9 ] Unsupported name                   : peci  | access[O] | vr                   | 27
[0xa ] Unsupported name                   : peci  | access[O] | vr                   | 28
[0xb ] Unsupported name                   : peci  | access[O] | vr                   | 27
[0xc ] Unsupported name                   : peci  | access[O] | vr                   | 26
[0x38] Unsupported name                   : peci  | access[O] | vr                   | 45875265
[0x20] Unsupported name                   : adc   | access[O] | vr                   | 46727180
[0x22] Unsupported name                   : adc   | access[O] | vr                   | 23199747
[0x24] Unsupported name                   : adc   | access[O] | vr                   | 3866625
[0x21] Unsupported name                   : adc   | access[O] | vr                   | 7274499
[0x25] Unsupported name                   : adc   | access[O] | vr                   | 65404932
[0x26] Unsupported name                   : adc   | access[O] | vr                   | 38404108
[0x27] Unsupported name                   : adc   | access[O] | vr                   | 12976129
[0x28] Unsupported name                   : adc   | access[O] | vr                   | 20971523
[0x23] Unsupported name                   : adc   | access[O] | vr                   | 52494337
[0x2e] Unsupported name                   : vr    | access[O] | vr                   | 9306113
[0x2f] Unsupported name                   : vr    | access[O] | vr                   | 3276801
[0x2d] Unsupported name                   : vr    | access[O] | vr                   | 52428801
[0x2a] Unsupported name                   : vr    | access[O] | vr                   | 50921473
[0x2c] Unsupported name                   : vr    | access[O] | vr                   | 53608449
[0x34] Unsupported name                   : vr    | access[O] | vr                   | 45875202
[0x35] Unsupported name                   : vr    | access[O] | vr                   | 45875208
[0x33] Unsupported name                   : vr    | access[O] | vr                   | 52428800
[0x31] Unsupported name                   : vr    | access[O] | vr                   | 45875226
[0x32] Unsupported name                   : vr    | access[O] | vr                   | 13107203
[0x12] Unsupported name                   : vr    | access[O] | vr                   | 32
[0x13] Unsupported name                   : vr    | access[O] | vr                   | 36
[0x11] Unsupported name                   : vr    | access[O] | vr                   | 31
[0xf ] Unsupported name                   : vr    | access[O] | vr                   | 41
[0x10] Unsupported name                   : vr    | access[O] | vr                   | 37
[0x3e] Unsupported name                   : vr    | access[O] | vr                   | 2
[0x3f] Unsupported name                   : vr    | access[O] | vr                   | 9
[0x3d] Unsupported name                   : vr    | access[O] | vr                   | 1
[0x3a] Unsupported name                   : vr    | access[O] | vr                   | 47
[0x3c] Unsupported name                   : vr    | access[O] | vr                   | 6
[0x4 ] Unsupported name                   : pch   | access[O] | vr                   | 36
[0x39] Unsupported name                   : hsc   | access[O] | vr                   | 89
[0x30] Unsupported name                   : hsc   | access[O] | vr                   | 7
[0x29] Unsupported name                   : hsc   | access[O] | vr                   | 12
[0xe ] Unsupported name                   : hsc   | access[O] | vr                   | 29
---------------------------------------------------------------------------------
uart:~$ platform sensor get 0x1
[0x1 ] Unsupported name                   : tmp75 | access[O] | vr                   | 23
uart:~$ platform sensor get 0x3
[0x3 ] Unsupported name                   : tmp75 | access[O] | vr                   | 23
Summary:
- Support get/set fan control mode.
- Support get/set fan duty.
- Support get fan RPM.

Test plan:
- Build code: Pass
- Fan control: Pass

Log:
1. Get and set FAN control mode.
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal
root@bmc-oob:~# fan-util --auto-mode disable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Manual
root@bmc-oob:~# fan-util --auto-mode enable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal

2. Use manual command in auto mode.
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal

root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8059 RPM (70%)
Fan 1 Speed: 7324 RPM (70%)
Fan 2 Speed: 8059 RPM (70%)
Fan 3 Speed: 7305 RPM (70%)
Fan 4 Speed: 8070 RPM (70%)
Fan 5 Speed: 7351 RPM (70%)
Fan 6 Speed: 8048 RPM (70%)
Fan 7 Speed: 7324 RPM (70%)
Fan Mode: Normal
FSCD Driver: linear_nic(nic:nic_sensor_temp)
Sensor Fail: None
Fan Fail: None

root@bmc-oob:~# fan-util --set 30
Setting Zone 0 speed to 30%
Setting Zone 1 speed to 30%
Setting Zone 2 speed to 30%
Setting Zone 3 speed to 30%

- Check fan speeds don't change
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8059 RPM (70%)
Fan 1 Speed: 7315 RPM (70%)
Fan 2 Speed: 8059 RPM (70%)
Fan 3 Speed: 7324 RPM (70%)
Fan 4 Speed: 8070 RPM (70%)
Fan 5 Speed: 7324 RPM (70%)
Fan 6 Speed: 8026 RPM (30%)
Fan 7 Speed: 7315 RPM (70%)
Fan Mode: Normal
FSCD Driver: linear_nic(nic:nic_sensor_temp)
Sensor Fail: None
Fan Fail: None

3. Use manual command in manual mode.
root@bmc-oob:~# fan-util --auto-mode disable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Manual

root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8081 RPM (70%)
Fan 1 Speed: 7324 RPM (70%)
Fan 2 Speed: 8093 RPM (70%)
Fan 3 Speed: 7315 RPM (70%)
Fan 4 Speed: 8115 RPM (70%)
Fan 5 Speed: 7333 RPM (70%)
Fan 6 Speed: 8059 RPM (70%)
Fan 7 Speed: 7333 RPM (70%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

- Set fan duty 30
root@bmc-oob:~# fan-util --set 30
Setting Zone 0 speed to 30%
Setting Zone 1 speed to 30%
Setting Zone 2 speed to 30%
Setting Zone 3 speed to 30%
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 2913 RPM (30%)
Fan 1 Speed: 2693 RPM (30%)
Fan 2 Speed: 2834 RPM (30%)
Fan 3 Speed: 2627 RPM (30%)
Fan 4 Speed: 2840 RPM (30%)
Fan 5 Speed: 2677 RPM (30%)
Fan 6 Speed: 2825 RPM (30%)
Fan 7 Speed: 2692 RPM (30%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

- Set fan duty 50
root@bmc-oob:~# fan-util --set 50
Setting Zone 0 speed to 50%
Setting Zone 1 speed to 50%
Setting Zone 2 speed to 50%
Setting Zone 3 speed to 50%
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 5683 RPM (50%)
Fan 1 Speed: 5139 RPM (50%)
Fan 2 Speed: 5666 RPM (50%)
Fan 3 Speed: 5148 RPM (50%)
Fan 4 Speed: 5672 RPM (50%)
Fan 5 Speed: 5135 RPM (50%)
Fan 6 Speed: 5655 RPM (50%)
Fan 7 Speed: 5166 RPM (50%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

- Set fan duty 100
root@bmc-oob:~# fan-util --set 100
Setting Zone 0 speed to 100%
Setting Zone 1 speed to 100%
Setting Zone 2 speed to 100%
Setting Zone 3 speed to 100%
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 11765 RPM (100%)
Fan 1 Speed: 10731 RPM (100%)
Fan 2 Speed: 11742 RPM (100%)
Fan 3 Speed: 10751 RPM (100%)
Fan 4 Speed: 11695 RPM (100%)
Fan 5 Speed: 10711 RPM (100%)
Fan 6 Speed: 11672 RPM (100%)
Fan 7 Speed: 10770 RPM (100%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

4. Use auto command in auto mode.
root@bmc-oob:~# fan-util --auto-mode enable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal
root@bmc-oob:~#
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8138 RPM (70%)
Fan 1 Speed: 7435 RPM (70%)
Fan 2 Speed: 8172 RPM (70%)
Fan 3 Speed: 7416 RPM (70%)
Fan 4 Speed: 8183 RPM (70%)
Fan 5 Speed: 7398 RPM (70%)
Fan 6 Speed: 8115 RPM (70%)
Fan 7 Speed: 7407 RPM (70%)
Fan Mode: Normal
FSCD Driver: linear_nic(nic:nic_sensor_temp)
Sensor Fail: None
Fan Fail: None

5. Error Test.
- Set out of fan index: 0x05
root@bmc-oob:~# bic-util slot1 0xe0 0x02 0x9c 0x9c 0x00 0x10 0xC0 0xF1 0x05 0x00
9C 9C 00 10 31 F1 C9

- Set fan duty more than 100: 0xFF
root@bmc-oob:~# bic-util slot1 0xe0 0x02 0x9c 0x9c 0x00 0x10 0xC0 0xF1 0x02 0xFF
9C 9C 00 10 31 F1 C9
Summary:
- Support getting motherboards index.

Test Plan:
- Build code: Pass
- Get MB index: Pass

Log:
1. Check can get MB index successful.
- Slot 1
root@bmc-oob:~# bic-util slot1 0xE0 0x02 0x9C 0x9C 0x00 0x10 0xC0 0xF0
9C 9C 00 10 31 F0 00 01

- Slot 3
root@bmc-oob:~# bic-util slot1 0xE0 0x02 0x9C 0x9C 0x00 0x10 0xC0 0xF0
9C 9C 00 10 31 F0 00 03
Summary:
- Support add SEL IPMI command.
- Support add SEL to peer BMC.

Test plan:
- Build code: Pass
- Add SEL to peer BMC: Pass

Log:
1. Add SEL from slot1 to slot3.
- Change fan mode on slot1
root@bmc-oob:~# bic-util slot1 0xE0 0x02 0x9C 0x9C 0x00 0x10 0xC0 0xF0
9C 9C 00 10 31 F0 00 01

root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal
root@bmc-oob:~# fan-util --auto-mode disable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Manual
root@bmc-oob:~# fan-util --auto-mode enable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal

- Get SEL on slot3
root@bmc-oob:~# bic-util slot1 0xE0 0x02 0x9C 0x9C 0x00 0x10 0xC0 0xF0
9C 9C 00 10 31 F0 00 03

root@bmc-oob:~# log-util --print all
2018 Mar 09 08:02:51 log-util: User cleared all logs
1    slot1    2018-03-09 08:06:22    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:06:21, Sensor: SYSTEM_STATUS (0x10), Event Data: (140100) Fan mode changed to manual mode by slot1 Assertion
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8026 RPM (70%)
Fan 1 Speed: 7324 RPM (70%)
Fan 2 Speed: 8070 RPM (70%)
Fan 3 Speed: 7315 RPM (70%)
Fan 4 Speed: 8104 RPM (70%)
Fan 5 Speed: 7361 RPM (70%)
Fan 6 Speed: 8037 RPM (70%)
Fan 7 Speed: 7351 RPM (70%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

root@bmc-oob:~# log-util --print all
2018 Mar 09 08:02:51 log-util: User cleared all logs
1    slot1    2018-03-09 08:06:22    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:06:21, Sensor: SYSTEM_STATUS (0x10), Event Data: (140100) Fan mode changed to manual mode by slot1 Assertion
1    slot1    2018-03-09 08:06:50    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:06:50, Sensor: SYSTEM_STATUS (0x10), Event Data: (140101) Fan mode changed to auto mode by slot1 Assertion
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8004 RPM (70%)
Fan 1 Speed: 7342 RPM (70%)
Fan 2 Speed: 8115 RPM (70%)
Fan 3 Speed: 7333 RPM (70%)
Fan 4 Speed: 8059 RPM (70%)
Fan 5 Speed: 7342 RPM (70%)
Fan 6 Speed: 7993 RPM (70%)
Fan 7 Speed: 7361 RPM (70%)
Fan Mode: Normal
FSCD Driver: linear_nic(nic:nic_sensor_temp)
Sensor Fail: None
Fan Fail: None

2. Add SEL from slot3 to slot1.
- Change fan mode on slot3
root@bmc-oob:~# bic-util slot1 0xE0 0x02 0x9C 0x9C 0x00 0x10 0xC0 0xF0
9C 9C 00 10 31 F0 00 03

root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal
root@bmc-oob:~# fan-util --auto-mode disable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Manual
root@bmc-oob:~# fan-util --auto-mode enable
root@bmc-oob:~# fan-util --auto-mode status
Auto Mode: Normal

- Get SEL on slot1
root@bmc-oob:~# log-util --print all
2018 Mar 09 08:03:05 log-util: User cleared all logs
1    slot1    2018-03-09 08:07:35    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:07:34, Sensor: SYSTEM_STATUS (0x10), Event Data: (140300) Fan mode changed to manual mode by slot3 Assertion
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 8048 RPM (70%)
Fan 1 Speed: 7315 RPM (70%)
Fan 2 Speed: 8070 RPM (70%)
Fan 3 Speed: 7333 RPM (70%)
Fan 4 Speed: 8070 RPM (70%)
Fan 5 Speed: 7333 RPM (70%)
Fan 6 Speed: 7993 RPM (70%)
Fan 7 Speed: 7333 RPM (70%)
Fan Mode: Manual(No fscd running)
FSCD Driver: Not support in manual mode(No fscd running)
Sensor Fail: Not support in manual mode(No fscd running)
Fan Fail: Not support in manual mode(No fscd running)

root@bmc-oob:~# log-util --print all
1    slot1    2018-03-09 08:07:35    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:07:34, Sensor: SYSTEM_STATUS (0x10), Event Data: (140300) Fan mode changed to manual mode by slot3 Assertion
1    slot1    2018-03-09 08:07:54    ipmid            SEL Entry: FRU: 1, Record: Standard (0x02), Time: 2018-03-09 08:07:54, Sensor: SYSTEM_STATUS (0x10), Event Data: (140301) Fan mode changed to auto mode by slot3 Assertion
root@bmc-oob:~# fan-util --get
Fan 0 Speed: 7659 RPM (60%)
Fan 1 Speed: 6992 RPM (60%)
Fan 2 Speed: 7649 RPM (60%)
Fan 3 Speed: 6958 RPM (60%)
Fan 4 Speed: 7629 RPM (60%)
Fan 5 Speed: 6950 RPM (60%)
Fan 6 Speed: 7599 RPM (60%)
Fan 7 Speed: 6950 RPM (60%)
Fan Mode: Normal
FSCD Driver: linear_nic(nic:nic_sensor_temp)
Sensor Fail: None
Fan Fail: None
Summary:
- Check VR type when initializing sensor
- Add TI VR(TPS53689) and Infineon VR(XDPE15284) sensor monitor
- OEM get FW version command support reading TI and Infineon VR version
- Get vr monitor status
- Add OEM command to set/get VR sensor monitor status
- Modify access check function of VR sensors
- fby3.5: cl:Update sensor threshold
- Fix machinechecker issue with CPU Temp sensor name

Test plan:
1. Build code: pass
2. Get firmware version for ISL69260: pass

Log:
root@bmc-oob:~# fw-util slot1 --version vr
VCCIN/VCCFA_EHV_FIVRA Version: Renesas C151AC43, Remaining Writes: 25
VCCD Version: Renesas 17D1D774, Remaining Writes: 25
VCCINFAON/VCCFA_EHV Version: Renesas BBF6AE5A, Remaining Writes: 25
Summary:
- Support PLDM over MCTP over SMBUS
- Asynchronous command response function invoke
- Support initiative send MCTP request command
- MCTP service
- PLDM service

Test Plan:
1. Build code: pass
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 19, 2022
@DelphineChiu

Copy link
Copy Markdown
Author

Dependency: #244

@DelphineChiu DelphineChiu changed the title main_v2 - Implement MCTP and PLDM on common code Apr 19, 2022
@facebook-github-bot

Copy link
Copy Markdown
Contributor

@GoldenBug has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

facebook-github-bot pushed a commit that referenced this pull request Apr 22, 2022
Summary:
Implement MCTP and PLDM on common code

- Support PLDM over MCTP over SMBUS
- Asynchronous command response function invoke
- Support initiative send MCTP request command
- MCTP service
- PLDM service

Dependency: #244

Pull Request resolved: #245

Test Plan: 1. Build code: pass

Reviewed By: garnermic

Differential Revision: D35756592

Pulled By: GoldenBug

fbshipit-source-id: b22adaa7c1f4c32d305798a75344f2e7b66968ff
facebook-github-bot pushed a commit that referenced this pull request Apr 22, 2022
Summary:
fby3.5: cl:Fix ACD related function

- Fix BIC getting wrong response buffer address in PECI ping command.
- Modify OEM PECI access command to return actual response from PECI.

Dependency: #245

Test plain:
- Build code: Pass
- Test PECI command: Pass

Log:
Check PECI command through PECI access function

Before fix
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0  // Check PECI ping command twice
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0
BIC no response!
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xE1 0x00 0x48 0x01 0x00  // Check PECI RdPCIConfigLocal command
9C 9C 00 90 FF FF FF FF
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xB1 0x00 0x00 0x18 0x04  // Check PECI RdIAMSR command
9C 9C 00 40 0F 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x07 0x01 0xB5 0x00 0x0F 0x18 0x04 0x00  // Check PECI WrIAMSR command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x06 0x05 0x61 0x00 0x48 0x80 0x30 0x0b  // Check PECI RdPCIConfig command
9C 9C 00 90 FF FF FF FF
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x08 0x01 0x65 0x00 0x48 0x80 0x30 0x0b 0x26  // Check PECI WrPCIConfig command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x0c 0x02 0xc1 0x00 0x03 0x00 0x00 0x00 0x04 0x00 0x48 0x01 0x00 0x00 // Check PECI RdEndPointConfig command
9C 9C 00 40 06
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x08 0xF7  // Check PECI getdib command
9C 9C 00 00 41 00 00 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x02 0x01  // Check PECI gettemp command
9C 9C 00 49 EE

After fix
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0  // Check PECI ping command twice
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xE1 0x00 0x48 0x01 0x00  // Check PECI RdPCIConfigLocal command
9C 9C 00 90 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xB1 0x00 0x00 0x18 0x04  // Check PECI RdIAMSR command
9C 9C 00 40 0F 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x07 0x01 0xB5 0x00 0x0F 0x18 0x04 0x00  // Check PECI WrIAMSR command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x06 0x05 0x61 0x00 0x48 0x80 0x30 0x0b  // Check PECI RdPCIConfig command
9C 9C 00 90 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x08 0x01 0x65 0x00 0x48 0x80 0x30 0x0b 0x26  // Check PECI WrPCIConfig command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x0c 0x02 0xc1 0x00 0x03 0x00 0x00 0x00 0x04 0x00 0x48 0x01 0x00 0x00  // Check PECI RdEndPointConfig command
9C 9C 00 40 06
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x08 0xF7  // Check PECI getdib command
9C 9C 00 00 41 00 00 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x02 0x01  // Check PECI gettemp command
9C 9C 00 12 EF

Pull Request resolved: #246

Reviewed By: garnermic

Differential Revision: D35756593

Pulled By: GoldenBug

fbshipit-source-id: 90cd1840dae1fd3cc217df5c314cb79ab531e6ad
@GoldenBug GoldenBug closed this Apr 22, 2022
facebook-github-bot pushed a commit that referenced this pull request Apr 26, 2022
Summary:
Implement MCTP and PLDM on common code

- Support PLDM over MCTP over SMBUS
- Asynchronous command response function invoke
- Support initiative send MCTP request command
- MCTP service
- PLDM service

Dependency: #244

Pull Request resolved: #245

Test Plan: 1. Build code: pass

Reviewed By: garnermic

Differential Revision: D35941624

Pulled By: GoldenBug

fbshipit-source-id: 10e839296e1194535bce7ed49ce6e85e42e276af
facebook-github-bot pushed a commit that referenced this pull request Apr 26, 2022
Summary:
fby3.5: cl:Fix ACD related function

- Fix BIC getting wrong response buffer address in PECI ping command.
- Modify OEM PECI access command to return actual response from PECI.

Dependency: #245

Test plain:
- Build code: Pass
- Test PECI command: Pass

Log:
Check PECI command through PECI access function

Before fix
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0  // Check PECI ping command twice
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0
BIC no response!
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xE1 0x00 0x48 0x01 0x00  // Check PECI RdPCIConfigLocal command
9C 9C 00 90 FF FF FF FF
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xB1 0x00 0x00 0x18 0x04  // Check PECI RdIAMSR command
9C 9C 00 40 0F 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x07 0x01 0xB5 0x00 0x0F 0x18 0x04 0x00  // Check PECI WrIAMSR command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x06 0x05 0x61 0x00 0x48 0x80 0x30 0x0b  // Check PECI RdPCIConfig command
9C 9C 00 90 FF FF FF FF
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x08 0x01 0x65 0x00 0x48 0x80 0x30 0x0b 0x26  // Check PECI WrPCIConfig command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x0c 0x02 0xc1 0x00 0x03 0x00 0x00 0x00 0x04 0x00 0x48 0x01 0x00 0x00 // Check PECI RdEndPointConfig command
9C 9C 00 40 06
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x08 0xF7  // Check PECI getdib command
9C 9C 00 00 41 00 00 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x02 0x01  // Check PECI gettemp command
9C 9C 00 49 EE

After fix
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0  // Check PECI ping command twice
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0x0 0x30 0 0
9C 9C 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xE1 0x00 0x48 0x01 0x00  // Check PECI RdPCIConfigLocal command
9C 9C 00 90 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x05 0x05 0xB1 0x00 0x00 0x18 0x04  // Check PECI RdIAMSR command
9C 9C 00 40 0F 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x07 0x01 0xB5 0x00 0x0F 0x18 0x04 0x00  // Check PECI WrIAMSR command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x06 0x05 0x61 0x00 0x48 0x80 0x30 0x0b  // Check PECI RdPCIConfig command
9C 9C 00 90 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x08 0x01 0x65 0x00 0x48 0x80 0x30 0x0b 0x26  // Check PECI WrPCIConfig command
9C 9C 00 90
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x0c 0x02 0xc1 0x00 0x03 0x00 0x00 0x00 0x04 0x00 0x48 0x01 0x00 0x00  // Check PECI RdEndPointConfig command
9C 9C 00 40 06
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x08 0xF7  // Check PECI getdib command
9C 9C 00 00 41 00 00 00 00 00 00
root@bmc-oob:~# bic-util slot1 0xe0 0x29 0x9c 0x9c 0 0x30 0x01 0x02 0x01  // Check PECI gettemp command
9C 9C 00 12 EF

Pull Request resolved: #246

Reviewed By: garnermic

Differential Revision: D35941621

Pulled By: GoldenBug

fbshipit-source-id: 5bf685042066825e899b395c4fbb9c2199aba641
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

6 participants