Skip to content

fby3.5: bb: Enable USB#239

Closed
DelphineChiu wants to merge 11 commits into
facebook:main_v2from
Wiwynn:Sara/main2_fby3.5-bb-Enable_usb
Closed

fby3.5: bb: Enable USB#239
DelphineChiu wants to merge 11 commits into
facebook:main_v2from
Wiwynn:Sara/main2_fby3.5-bb-Enable_usb

Conversation

@DelphineChiu

Copy link
Copy Markdown

fby3.5: bb: Enable USB
Summary:

  • Enable baseboard USB and let BMC can scan BB USB.

Dependency: #238

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

@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 18, 2022
@DelphineChiu

Copy link
Copy Markdown
Author

Dependency: #238

RenChen-wiwynn and others added 8 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
@ghan-gaha

Copy link
Copy Markdown

Hi

@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.

LoraLin1 and others added 3 commits April 18, 2022 21:10
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
@SaraSYLin SaraSYLin force-pushed the Sara/main2_fby3.5-bb-Enable_usb branch from af1699c to b7dddb9 Compare April 19, 2022 01:20
@facebook-github-bot

Copy link
Copy Markdown
Contributor

@DelphineChiu has updated the pull request. You must reimport the pull request before landing.

@DelphineChiu DelphineChiu changed the title main_v2 - fby3.5: bb: Enable USB Apr 19, 2022
@GoldenBug GoldenBug closed this Apr 19, 2022
facebook-github-bot pushed a commit that referenced this pull request Apr 19, 2022
Summary:
fby3.5: bb: Enable USB

- Enable baseboard USB and let BMC can scan BB USB.

Dependency: #238

Pull Request resolved: #239

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

Reviewed By: garnermic

Differential Revision: D35731224

Pulled By: GoldenBug

fbshipit-source-id: 3a5c385f5d1133f85cd991904123c541fd24e824
facebook-github-bot pushed a commit that referenced this pull request Apr 19, 2022
Summary:
fby3.5: cl:Add platform command

- Add platform commands for development/debug usage.
- Should send command via BIC console with keyword "platform".

Dependency: #239

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

Pull Request resolved: #240

Reviewed By: garnermic

Differential Revision: D35731227

Pulled By: GoldenBug

fbshipit-source-id: b1e7b10af96c488479fe015c323946986bba8291
@SaraSYLin SaraSYLin deleted the Sara/main2_fby3.5-bb-Enable_usb branch April 26, 2022 05:38
@SaraSYLin SaraSYLin restored the Sara/main2_fby3.5-bb-Enable_usb branch April 26, 2022 05:38
facebook-github-bot pushed a commit that referenced this pull request Apr 26, 2022
Summary:
fby3.5: bb: Enable USB

- Enable baseboard USB and let BMC can scan BB USB.

Dependency: #238

Pull Request resolved: #239

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

Reviewed By: garnermic

Differential Revision: D35941593

Pulled By: GoldenBug

fbshipit-source-id: bc36b13f894a6b4e63ac5aa09ca0f456dab6dd41
facebook-github-bot pushed a commit that referenced this pull request Apr 26, 2022
Summary:
fby3.5: cl:Add platform command

- Add platform commands for development/debug usage.
- Should send command via BIC console with keyword "platform".

Dependency: #239

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

Pull Request resolved: #240

Reviewed By: garnermic

Differential Revision: D35941617

Pulled By: GoldenBug

fbshipit-source-id: 156a04b8e682cc4999a917146be8294dd0296216
@SaraSYLin SaraSYLin deleted the Sara/main2_fby3.5-bb-Enable_usb branch May 5, 2022 05:35
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.

7 participants