History log of /openbmc/openpower-vpd-parser/const.hpp (Results 1 – 25 of 48)
Revision Date Author Comments
# c023f9bf 25-Aug-2024 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

IBM: P12 kernel device tree addition

Added Huygens DTB file
Added Huygens json file

Change-Id: I030964db6398b506877eef84bb94374c90947708
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.c

IBM: P12 kernel device tree addition

Added Huygens DTB file
Added Huygens json file

Change-Id: I030964db6398b506877eef84bb94374c90947708
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

show more ...


# 3b61ff52 18-Jul-2024 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

IBM:P11:support

Added IBM P11 device tree support

Change-Id: Ib2bf48a387f54984901594c9e491dd004ad121ca
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>


# 4788e1ba 19-Mar-2024 Sunny Srivastava <sunnsr25@in.ibm.com>

Retry for file visibility in user space

In some corner cases, there is a delay between the parser code coming
up against udev generated due to binding the driver, and the file
appearing in user spac

Retry for file visibility in user space

In some corner cases, there is a delay between the parser code coming
up against udev generated due to binding the driver, and the file
appearing in user space.
As a result the check for file existence fails for those situations and
post fail action gets executed. This removes the GPIO line to the file.
Whereas, parser code will be in process of reading that file at the
same time. Hence closing the GPIO line causes file read error on
parser side.

The timer is to buy some time for file to appear in user space before
cutting off the GPIO line to it.

Test:
This was a script driven testing where system was brought down and
again restarted after random time interval.
Code has been tested against that script and it is working fine.

Change-Id: I8383372b27e48bf1cbc569562e396a0bceb908e5
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>

show more ...


# d7a6dec0 19-Feb-2024 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

DDIMM DDR5 calculation fix

Changed the way the number of channels and the package ranks were
calculated

Change-Id: I8341ac21a0659e484dd1960df4a3e96f7adeebb4
Signed-off-by: Jinu Joy Thomas <jinu.joy

DDIMM DDR5 calculation fix

Changed the way the number of channels and the package ranks were
calculated

Change-Id: I8341ac21a0659e484dd1960df4a3e96f7adeebb4
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

show more ...


# 60c68e0f 05-Feb-2024 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

DDIMM DDR5 size to be in KB

The DDIMM size calculated value is in GB and redfish patrameter needs
it in KB, so need to convert the value to KB

Change-Id: I0ccdb05f8586db346c100260bf31b57a49def9ec
S

DDIMM DDR5 size to be in KB

The DDIMM size calculated value is in GB and redfish patrameter needs
it in KB, so need to convert the value to KB

Change-Id: I0ccdb05f8586db346c100260bf31b57a49def9ec
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

show more ...


# c6e7ea92 03-Nov-2023 Sunny Srivastava <55740008+SunnySrivastava1984@users.noreply.github.com>

Clear inventory data on removal

In case any FRU is removed from the system, the data w.r.t the
FRU, as it is persisted continues to stay on DBus. This sometimes
can be mis-leading as data is display

Clear inventory data on removal

In case any FRU is removed from the system, the data w.r.t the
FRU, as it is persisted continues to stay on DBus. This sometimes
can be mis-leading as data is displayed for FRU which is actually
not present in the system.

The commit, in case the FRU is removed via delete FRU procedure,
clears all the VPD related data for the FRU and update its
present and functional status.

Test:
Delete any FRU using "deleteFRUVPD" exposed via VPD-Manager,
check the DBus, data related to VPD should be cleared.

Change-Id: Ic61e9a9934333ef9558ac4294a1935575042cb11
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...


# db43bcd0 16-Aug-2023 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

Added DDR5 DDIMM capacity calculation

Added the calculation for the capacity of a ddr5 ddimm

Change-Id: Ia20c2828db8ee695747ca90f62b2a2458ccd5394
Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.c

Added DDR5 DDIMM capacity calculation

Added the calculation for the capacity of a ddr5 ddimm

Change-Id: Ia20c2828db8ee695747ca90f62b2a2458ccd5394
Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>

show more ...


# 4170bdad 19-Jul-2023 Priyanga Ramasamy <priyanga24@in.ibm.com>

Unable to set minimum ship level

The software-manager-tool internally calls WriteKeyword d-bus api to
set firmware version in hardware (in VSYS FV).
The software-manager-tool is unable to set curren

Unable to set minimum ship level

The software-manager-tool internally calls WriteKeyword d-bus api to
set firmware version in hardware (in VSYS FV).
The software-manager-tool is unable to set current firmware level
as minimum ship level due to a bug in vpd-manager "WriteKeyword"
d-bus api.

In WriteKeyword, when we try to read from filestream and write into
vector, the maximum possible vpd size(65504) is given as the total
bytes to be read (n). But the actual hardware data is lesser than
65504 in size.

If the filestream read operation runs out of characters to extract
before n characters have been successfully read, it reads the
available characters and stores it in vector and internally it sets
both bad bit and fail bit.

And with recent changes since we catch all filestream exceptions, this bug
has been caught and code flow is broken.

Fix:
Query the size of the VPD and perform filestream read based on the
given VPD size. If the given VPD size exceeds the maximum possible size
(65504), then read till 65504 only.

The same issue has been addressed in vpd-tool read keyword from hardware.

Test:
vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K FV
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"FV": "fw1020.00-00 "
}
}

vpd-tool -r -O /system/chassis/motherboard -R VSYS -K FV
{
"/system/chassis/motherboard": {
"FV": "fw1020.00-00 "
}
}

software-manager-tool --setminlevel
<6> Current version: fw1050.00-4.16-dirty. Setting Minimum Ship Level to: fw1050.00-4

vpd-tool -r -O /system/chassis/motherboard -R VSYS -K FV
{
"/system/chassis/motherboard": {
"FV": "fw1050.00-4 "
}
}

vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K FV
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"FV": "fw1050.00-4 "
}
}

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I6e24d744542f0a67a872605c7793d73ee27c541c

show more ...


# 38ee9c8d 07-Apr-2023 Kantesh Nagaradder <kantesh.nagaradder@ibm.com>

Backup & restore changes for bonnell's system VPD

This commit implements the changes of system backplane VPD backup on
the base banel VPD and restoring it from the base panel VPD

The bonnell BMC is

Backup & restore changes for bonnell's system VPD

This commit implements the changes of system backplane VPD backup on
the base banel VPD and restoring it from the base panel VPD

The bonnell BMC is embedded in the system backplane, so if either fails,
the backplane should be replaced as a whole. So the changes have been
made to backup the system backplane critical keywords on the operator
panel base EEPROM under the VSBK record.

Test:
Case 1: A PEL with error severity is created when the base
panel EEPROM file doesn't exist.

Case 2: A PEL with error severity is created when the base
panel VPD has ecc exceptions.

Case 3: A PEL with error severity is created when the base
panel EEPROM doesn't contain VSBK record.

Case 4: System VPD's critical keywords are backing up in the base panel
VPD

Case 5: System VPD's critical keywords are restoring from the base panel
VPD

Case 6: The VSBK record creation and population of properties on dbus

Case 7: A PEL with warning serverity is created when there is a
mismatch between system VPD & base panel keyword values.

Case 8: A PEL with error serverity is created when both the system VPD
& base panel keyword values are default.

Tests above works as expected.

Change-Id: Ieea6ff4e267518f010c924e2d51a2b080b47e91c
Signed-off-by: Kantesh Nagaradder <kantesh.nagaradder@ibm.com>

show more ...


# 9cf56eed 26-May-2023 Patrick Williams <patrick@stwcx.xyz>

fix GCC 13 issues

GCC 13 removes `uint*_t` family of types from one of the common
includes so we need to explicitly include cstdint.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I

fix GCC 13 issues

GCC 13 removes `uint*_t` family of types from one of the common
includes so we need to explicitly include cstdint.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I010b4a0e7c1fa1c9d2a79b83918a92fa33493e93

show more ...


# 680960e2 17-May-2023 jinuthomas <jinu.joy.thomas@in.ibm.com>

Added CCIN for ISDIMM

CCIN values added based on Bonnell_IS_DIMM Service Plan_v2

Change-Id: Ic836802bec723f6ca8001e9b2c09f6fb696e4587
Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>


# 5629fbc0 01-Mar-2023 Priyanga Ramasamy <priyanga24@in.ibm.com>

vpd-tool #kw support

This commit is to enable vpd-tool read and write support for pound
keywords starting with # and for numeric keywords.

This commit enables a way to read and write keyword values

vpd-tool #kw support

This commit is to enable vpd-tool read and write support for pound
keywords starting with # and for numeric keywords.

This commit enables a way to read and write keyword values using --file
option, where --file takes a file with absolute path.

when --file option used with --readKeyword flag - vpd-tool saves the
output in the given file.
and when the file option used with --writeKeyword flag - the vpd-tool
takes the value from file and performs write operation.

Test:
-----------------------------------------------
Case 1: Read from hardware and save in text file
-----------------------------------------------
vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D" --file /tmp/output.txt
Value read is saved in the file /tmp/output.txt

-----------------------------------------------
Case 2: Write to hardware by taking input from a text file
-----------------------------------------------
:~# cat /tmp/write.txt
00102030405060607020304050601020304050606040302010

:~# vpd-tool -w -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D" --file /tmp/write.txt -H
Data updated successfully

:~# vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D"
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"#D": "0x0010203040506060702030405060102030405060604030201000000000 ...0000"
}
}

-----------------------------------------------
Case 3: Read from cache and pipe to text file
-----------------------------------------------
:~# vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D" --file /tmp/read-motherboard-#D.txt
Value read is saved in the file /tmp/read-motherboard-#D.txt

-----------------------------------------------
Case 4: Write to cache by taking input from text file
-----------------------------------------------
:~# cat /tmp/write.txt
00102030405060607020304050601020304050606040302010

:~# vpd-tool -w -O /system/chassis/motherboard -R PSPD -K "#D" --file /tmp/write.txt
Data updated successfully

:~# vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D"
{
"/system/chassis/motherboard": {
"#D": "0x0010203040506060702030405060102030405060604030201000000000000000000....."
}
}

-----------------------------------------------
Case 5: Write to cache by taking hex input from console
-----------------------------------------------
:~# vpd-tool -w -O /system/chassis/motherboard -R PSPD -K "#D" -V 0x65
Data updated successfully

:~# vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D"
{
"/system/chassis/motherboard": {
"#D": "0x65100c0c000000000000000 ...
}
}

Case 5.1: Write to cache by providing ascii values as input from console

vpd-tool -w -O /system/chassis/motherboard -R PSPD -K "#D" -V abcd
Data updated successfully

vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D"
{
"/system/chassis/motherboard": {
"#D": "0x6162636440506060702030405060102030405060604030201000000 .."
}
}

-----------------------------------------------
Case 6: Read from cache and display on console
-----------------------------------------------
:~# vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D"
{
"/system/chassis/motherboard": {
"#D": "0x00100c0c00000000000000000000000000000000000000 .....
}
}

-----------------------------------------------
Case 7: Read from hardware and display on console
-----------------------------------------------
vpd-tool -r -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D" -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"#D": "0x651020304050606070203040506010203040506060403020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ......... 000000000000000000000000000000000000000"
}
}

-----------------------------------------------
Case 8: Write to hardware via console
-----------------------------------------------
vpd-tool -w -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D" -V 0x00100c0c000000000000000000000000000000000000
Data updated successfully

vpd-tool -r -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R PSPD -K "#D" -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"#D": "0x00100c0c00000000000000000000000000000000000030201000000000000000000000000 ...
}
}

-----------------------------------------------
Case 9: Write 10240 bytes on dbus
-----------------------------------------------
time vpd-tool -w -O /system/chassis/motherboard -R PSPD -K "#D" --file /tmp/output.txt

Data updated successfully

real 0m49.564s
user 0m0.047s
sys 0m0.009s

time vpd-tool -r -O /system/chassis/motherboard -R PSPD -K "#D"
{
"/system/chassis/motherboard": {
"#D": "0x01100c0c0000.....0000123456782746002"
}
}

real 0m0.072s
user 0m0.057s
sys 0m0.001s
------------------------------------------------

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I3977a7778b28ebcada7788f619b18bbca6ed0c8c

show more ...


# f457a3ef 13-Apr-2023 jinuthomas <jinu.joy.thomas@in.ibm.com>

Additional change to support ee1004 driver

changed the code to remove hardcoding of driver
changed read parser executable to take driver as input

Change-Id: I6909e2d56d4572e3ff78610248683a75337bb

Additional change to support ee1004 driver

changed the code to remove hardcoding of driver
changed read parser executable to take driver as input

Change-Id: I6909e2d56d4572e3ff78610248683a75337bbd72
Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>

show more ...


# 24942235 05-Jan-2023 Priyanga Ramasamy <priyanga24@in.ibm.com>

Rewordings required in logging PEL

This commit rewords some of the comments and variables
in restore VPD PEL code and in vpd-tool restore function.

Eg:
>>Cache value -> Backup value
[As backup

Rewordings required in logging PEL

This commit rewords some of the comments and variables
in restore VPD PEL code and in vpd-tool restore function.

Eg:
>>Cache value -> Backup value
[As backup need not be in cache only]
>>Blank data -> Default data
[As default data need not be blank only]
>>Hardware data -> Primary data
The VPD backup values and backup memory are machine specific.

Thus providing generic terms makes the code statements/comments
more reliable w.r.t any machine.

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I34fcd44e94b928db0fc30cda94eb8f03e6e87987

show more ...


# 6555e7ef 14-Feb-2023 jinuthomas <jinu.joy.thomas@in.ibm.com>

Adding ISDIMM support

Added ISDIMM support for Bonnell machine

Change-Id: Ifdb2fc9e2d38267c8eb6cd5848d30102ab48efd1
Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>


# f612368f 02-Dec-2022 Priyanga Ramasamy <priyanga24@in.ibm.com>

Defect fix in logging system VPD mismatch PEL

This commit has the below fixes in ibm-read-vpd app.

1. Fixed the incorrect dbus path passed in CALLOUT_INVENTORY_PATH
when there is a system VPD misma

Defect fix in logging system VPD mismatch PEL

This commit has the below fixes in ibm-read-vpd app.

1. Fixed the incorrect dbus path passed in CALLOUT_INVENTORY_PATH
when there is a system VPD mismatch between cache and hardware.

2. Fixed the incorrect PEL interface logged when there is a
system VPD mismatch between cache and hardware.

Test:
Ensured that "com.ibm.VPD.Error.SystemVPDMismatch" PEL interface
is logged and "/xyz/openbmc_project/inventory/system/chassis"
"/motherboard" inventory path is called out when there is a
system VPD mismatch.

peltool -i 0x500024AB
{
"Private Header": {
"Section Version": "1",
"Sub-section type": "0",
"Created by": "0x4000",
"Created at": "12/05/2022 05:58:47",
"Committed at": "12/05/2022 05:58:47",
"Creator Subsystem": "BMC",
"CSSVER": "",
"Platform Log Id": "0x500024AB",
"Entry Id": "0x500024AB",
"BMC Event Log Id": "314"
},
"User Header": {
"Section Version": "1",
"Sub-section type": "0",
"Log Committed by": "0x2000",
"Subsystem": "CEC Hardware - VPD Interface",
"Event Scope": "Entire Platform",
"Event Severity": "Predictive Error",
"Event Type": "Not Applicable",
"Action Flags": [
"Service Action Required",
"Report Externally",
"HMC Call Home"
],
"Host Transmission": "Not Sent",
"HMC Transmission": "Not Sent"
},
"Primary SRC": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x4000",
"SRC Version": "0x02",
"SRC Format": "0x55",
"Virtual Progress SRC": "False",
"I5/OS Service Event Bit": "False",
"Hypervisor Dump Initiated":"False",
"Backplane CCIN": "2E2D",
"Terminate FW Error": "False",
"Deconfigured": "False",
"Guarded": "False",
"Error Details": {
"Message": "A system VPD restoration error"
"occurred."
},
"Valid Word Count": "0x09",
"Reference Code": "BD554008",
"Hex Word 2": "00080055",
"Hex Word 3": "2E2D0010",
"Hex Word 4": "00000000",
"Hex Word 5": "00000000",
"Hex Word 6": "00000000",
"Hex Word 7": "00000000",
"Hex Word 8": "00000000",
"Hex Word 9": "00000000",
"Callout Section": {
"Callout Count": "2",
"Callouts": [{
"FRU Type": "Normal Hardware FRU",
"Priority": "Mandatory, replace all with this"
"type as a unit",
"Location Code": "U78DA.ND0.WZS007H-P0",
"Part Number": "02WG676",
"CCIN": "2E2D",
"Serial Number": "YF33UF19Y007"
}, {
"FRU Type": "Maintenance Procedure Required",
"Priority": "Mandatory, replace all with this"
"type as a unit",
"Procedure": "BMC0007"
}]
}
},
"Extended User Header": {
"Section Version": "1",
"Sub-section type": "0",
"Created by": "0x2000",
"Reporting Machine Type": "9105-22B",
"Reporting Serial Number": "1392BE0",
"FW Released Ver": "",
"FW SubSys Version": "fw1040.00-1.2",
"Common Ref Time": "00/00/0000 00:00:00",
"Symptom Id Len": "20",
"Symptom Id": "BD554008_2E2D0010"
},
"Failing MTMS": {
"Section Version": "1",
"Sub-section type": "0",
"Created by": "0x2000",
"Machine Type Model": "9105-22B",
"Serial Number": "1392BE0"
},
"User Data 0": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x2000",
"BMCLoad": "0.22 0.41 0.33",
"BMCState": "Ready",
"BMCUptime": "0y 0d 0h 13m 6s",
"BootState": "Unspecified",
"ChassisState": "Off",
"FW Version ID": "fw1040.00-1.2-2-g1859836242-dirty",
"HostState": "Off",
"System IM": "50001001"
},
"User Data 1": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x2000",
"CALLOUT_INVENTORY_PATH": "/xyz/openbmc_project/inventory/system"
"/chassis/motherboard",
"DESCRIPTION": "VPD data mismatch on cache and hardware for"
"record: LXR0 and keyword: LX",
"Value on Cache: ": "0x31 0x0 0x4 0x1 0x0 0x30 0x0 0x71 ",
"Value read from EEPROM: ": "0x64 0x65 0x4 0x1 0x0 0x30 0x0 0x71 "
}
}

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I0b94b60d03f4223e5c14162e859dd45e76a4c2fb

show more ...


# dedb5a63 19-Dec-2022 Santosh Puranik <santosh.puranik@in.ibm.com>

Add Bonnell Support

-- Add initial support for Bonnell
-- Miscellaneous fixes in the VPD app:
Set Enabled property as true by default.
Capture the mismatched data for system VPD in the PEL.

Add Bonnell Support

-- Add initial support for Bonnell
-- Miscellaneous fixes in the VPD app:
Set Enabled property as true by default.
Capture the mismatched data for system VPD in the PEL.
Clear CCIN for FRUs where the VPD cannot be collected.

Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>
Change-Id: I8c6c82c1d3d6aa09eaafff67832462dd3c31ebb4

show more ...


# fdf9ff2a 15-Jun-2022 Sunny Srivastava <sunnsr25@in.ibm.com>

Check for essential FRUs

Some FRUs are marked as essential in the inventory JSON, which
implies that those FRUs should be present in the system at
power on.

The commit checks for presence of those

Check for essential FRUs

Some FRUs are marked as essential in the inventory JSON, which
implies that those FRUs should be present in the system at
power on.

The commit checks for presence of those FRUs when the system is
powered on.
In case any FRU in the list is found missing, appropriate
PEL is logged.

Also, as it is not possible to say if the reason for GPIO failures
are hardware or firmware related. GPIO PELs has been modified
to just have description and no call outs and to be logged in place.

Commit link for PEL interface:
https://gerrit.openbmc.org/c/openbmc/phosphor-logging/+/54715

'''
Test steps(rainier):
Check for present property for fru path
/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth

if it is false then proceed else set the property to false using
busctl set-property command.

execute obmcutil poweron
PEL should be logged for missing essential fru.
'''

Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: Id8b912503a0086beffa2831910d6852b5e473c15

show more ...


# e008432a 27-Sep-2022 Priyanga Ramasamy <priyanga24@in.ibm.com>

Use namespace std in place

This commit uses std in place in header files rather than
using namespace.

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: If8e77ad0d23c7e6d8f16ea93e6

Use namespace std in place

This commit uses std in place in header files rather than
using namespace.

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: If8e77ad0d23c7e6d8f16ea93e65f34aefb6b157f

show more ...


# 1b026119 02-Mar-2022 Alpana Kumari <alpankum@in.ibm.com>

Modify get system json

We have some change in system json to support Everest Pass2 jsons.
To fetch that json we got some changes in vpd-parser also.

Test- Tested on Ever10 PASS2 system-
./ibm-read-

Modify get system json

We have some change in system json to support Everest Pass2 jsons.
To fetch that json we got some changes in vpd-parser also.

Test- Tested on Ever10 PASS2 system-
./ibm-read-vpd -f /sys/bus/i2c/drivers/at24/8-0050/eeprom

DBG:processing for IM - 50003000
DBG:HW from vpd - 0015
DBG:hw versions are-
DBG:"000A"
DBG:"000B"
DBG:"000C"
DBG:"0014"
DBG: hwKw not found in hw version set
DBG: json name- 50003000_v2.json

DBG:processing for IM - 50003000
DBG:HW from vpd - 0015
….
DBG: json name- 50003000_v2.json
DBG: systemType- 50003000_v2.json DeviceTree - conf-aspeed-bmc-ibm-everest.dtb

root@ever10bmc:/tmp# ls -ltr /var/lib/vpd/vpd_inventory.json
lrwxrwxrwx 1 root root 31 May 6 11:30 /var/lib/vpd/vpd_inventory.json -> /usr/share/vpd/50003000_v2.json

==========================================================

Changed HW value using vpd-tool, to pickup PASS1 json-

./ibm-read-vpd -f /sys/bus/i2c/drivers/at24/8-0050/eeprom

DBG:processing for IM - 50003000
DBG:HW from vpd - 000A
DBG:hw versions are-
DBG:"000A"
DBG: hwKw matched in hw version set
DBG: json name- 50003000.json

DBG:processing for IM - 50003000
DBG:HW from vpd - 000A
. . . .
DBG: json name- 50003000.json
DBG: systemType- 50003000.json DeviceTree - conf-aspeed-bmc-ibm-everest.dtb

root@ever10bmc:/tmp# ls -ltr /var/lib/vpd/vpd_inventory.json
lrwxrwxrwx 1 root root 28 May 6 12:07 /var/lib/vpd/vpd_inventory.json -> /usr/share/vpd/50003000.json

Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
Change-Id: I5301a47bff12d25f844e176be34bcb0edf722665

show more ...


# 6bd095f9 23-Feb-2022 Alpana Kumari <alpankum@in.ibm.com>

PEL support for GPIO failure

This commit logs PEL in case of GPIO line name is not valid or this line
is busy for some other purpose or I2C line itself is bad.

Test:
Tried to access some dummy GPIO

PEL support for GPIO failure

This commit logs PEL in case of GPIO line name is not valid or this line
is busy for some other purpose or I2C line itself is bad.

Test:
Tried to access some dummy GPIO line name, which doesn't exist.

root@rain111bmc:/tmp# peltool -l
{
"0x50002D5E": {
"SRC": "BD554007",
"Message": "GPIO line couldn't find or read.",
"PLID": "0x50002D5E",
"CreatorID": "BMC",
"Subsystem": "CEC Hardware - VPD Interface",
"Commit Time": "03/07/2022 18:32:43",
"Sev": "Predictive Error",
"CompID": "0x4000"
},

root@rain111bmc:/tmp# peltool -i "0x50002D5E"
….

"Error Details": {
"Message": "GPIO line couldn't be found or read."
},
"Valid Word Count": "0x09",
"Reference Code": "BD554007",
"Hex Word 2": "00000055",
"Hex Word 3": "2E2D0010",
"Hex Word 4": "00000000",
"Hex Word 5": "00000000",
"Hex Word 6": "00000000",
"Hex Word 7": "00000000",
"Hex Word 8": "00000000",
"Hex Word 9": "00000000",
"Callout Section": {
"Callout Count": "2",
"Callouts": [{
"FRU Type": "Normal Hardware FRU",
"Priority": "Mandatory, replace all with this type as a unit",
"Location Code": "U78DA.ND0.WZS0042-P0-C5",
"Part Number": "02WF327",
"CCIN": "6B58",
"Serial Number": "Y131UF18H003"
}, {
"FRU Type": "Normal Hardware FRU",
"Priority": "Lowest priority replacement",
"Location Code": "U78DA.ND0.WZS0042-P0",
"Part Number": "02WG676",
"CCIN": "2E2D",
"Serial Number": "Y131UF07302T"
}]
}
…….
……..
},
"User Data 0": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x2000",
"BMCState": "Ready",
"BootState": "Unspecified",
"ChassisState": "Off",
"FW Version ID": "fw1020.00-41.2-275-g429803741-dirty",
"HostState": "Off",
"System IM": "50001001"
},
"User Data 1": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x2000",
"CALLOUT_IIC_ADDR": "0x0061",
"CALLOUT_IIC_BUS": "8",
"DESCRIPTION": "Couldn't find output line for the GPIO. Skipping this GPIO action. GPIO : SLOT10_PRSNT_EN_RSVD"
},
"User Data 2": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "0x2000",
"PEL Internal Debug Data": {
"SRC": [
"MRU: /sys-0/node-0/nisqually-0/ebmc-card-connector-0/ingraham-0/BMC-0",
"I2C: bus: 8 address: 97 dest: /sys-0/node-0/nisqually-0/PCA9552-5"
]
}
}
}

Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
Change-Id: I6f5582ea614e663133bac2e580ee5c0b36c3a038

show more ...


# aa8a893e 27-Jan-2022 Priyanga Ramasamy <priyanga24@in.ibm.com>

Populate unique PrettyName as an extra interface

In vpd json, PrettyName has been moved from common interfaces
to extra interfaces, as a part of hardcoding unique names to
the frus.
Due to which the

Populate unique PrettyName as an extra interface

In vpd json, PrettyName has been moved from common interfaces
to extra interfaces, as a part of hardcoding unique names to
the frus.
Due to which the vpd-parser is populating xyz.openbmc_project.
Inventory.Item interface properties in two places.
Present property in common interface && PrettyName property in
extra interface.

std::emplace doesn't allows duplicate key emplacement. This commit
has a helper function which emplaces values into an already existing
key.

This commit also emplaces Present property to true whenever the parser
parses the eeprom, irrespective of "inherit" property in json.

Test:
Tested on simics.

root@p10bmc:/tmp# rm -rf /var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/
root@p10bmc:/tmp#
root@p10bmc:/tmp# systemctl restart xyz.openbmc_project.Inventory.Manager.service
root@p10bmc:/tmp# ./ibm-read-vpd --file /sys/bus/i2c/drivers/at24/8-0051/eeprom

1. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1
.....
....
xyz.openbmc_project.Inventory.Item interface - - -
.Present property b true emits-change writable
.PrettyName property s "HMC Ethernet Connector" emits-change writable

2. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0
xyz.openbmc_project.Inventory.Item interface - - -
.Present property b true emits-change writable
.PrettyName property s "HMC Ethernet Connector" emits-change writable
xyz.openbmc_project.Inventory.Item.Connector interface - - -

3. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0
xyz.openbmc_project.Inventory.Item interface - - -
.Present property b true emits-change writable
.PrettyName property s "Display Port Connector" emits-change writable
xyz.openbmc_project.Inventory.Item.Connector interface - -

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I36c1e0bd3568c7fe26fa8592fb0268e091c41427

show more ...


# ab1e22c3 24-Nov-2021 Alpana Kumari <alpankum@in.ibm.com>

Log PEL if System type DTB not supported

System boots up with respective dtb for that system type,
which is based on HW and IM keyword of system VPD.
If any new value comes for these keywords, that

Log PEL if System type DTB not supported

System boots up with respective dtb for that system type,
which is based on HW and IM keyword of system VPD.
If any new value comes for these keywords, that needs to be supported
in vpd-parser, otherwise it will log PEL and exit.
This commit is dependent on PDI change-
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/49025

Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
Change-Id: I66e43a8aab38511bfaa59641556ea9e58b3f87e2

show more ...


# e5f177a5 24-Jan-2022 Santosh Puranik <santosh.puranik@in.ibm.com>

Fix HW Keyword Handling

This commit fixes how we handle multiple planar passes.
For HW keywords above 2, we do not have an entry in the
system type map.

We cannot keep adding a new entry to the sys

Fix HW Keyword Handling

This commit fixes how we handle multiple planar passes.
For HW keywords above 2, we do not have an entry in the
system type map.

We cannot keep adding a new entry to the system type to dev.
tree map every time we get a new planar pass (when the new pass
does not need a new device tree).

This commit makes use of existing code that handles
constraints in the systems JSON and enables us to default
to a system type (which is basically our JSON name) when the
constraint is not met.

Tested:
Tested on a pass 4 planar and ensured we load the right device
tree.

Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>
Change-Id: Ibaf9785314ca3920072663d52fffecfca28c9445

show more ...


# 3ab26a74 05-Apr-2021 Alpana Kumari <alpankum@in.ibm.com>

Dimm memory size support

This commit will calculate the memory size for Dimm and
populate the value with property MemorySizeinKB on dbus.

Test- Tested on simics 2s2u

Set the property with dummy va

Dimm memory size support

This commit will calculate the memory size for Dimm and
populate the value with property MemorySizeinKB on dbus.

Test- Tested on simics 2s2u

Set the property with dummy value-

root@rain71bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0| grep -e MemorySizeInKB -e Present -e PrettyName -e Model -e PartNumber -e SerialNumber
.Model property s "327A" emits-change writable
.PartNumber property s "78P6574" emits-change writable
.SerialNumber property s "YH301T01P00G" emits-change writable
.SparePartNumber property s "" emits-change writable
.SubModel property s "" emits-change writable
.Present property b true emits-change writable
.PrettyName property s "Memory DIMM" emits-change writable
.MemorySizeInKB property u 33554432 emits-change writable
root@rain71bmc:/tmp#

Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
Change-Id: I70e5bc3f538379f9891ae0ede6cdf09a585520a4

show more ...


12