Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P11 JSON:Refactored Rainier 1S4U system JSON #465

Open
wants to merge 1 commit into
base: P11_Dev
Choose a base branch
from

Conversation

souvik1914581
Copy link

@souvik1914581 souvik1914581 commented Nov 8, 2024

This commit has rainier 1S4U system JSON refactored with the following changes:

  1. Add devTree tag.

  2. Add backupRestoreConfigPath tag.

  3. Add serviceName in every parent FRU and sub FRU section.

  4. Updated inventoryPath tag with complete path.

  5. Removed unused tag "gpioI2CAddress"

  6. Removed busType, driverType as we have systemCmd tag which has command to bind.

  7. Added Slot interface to all NVMe drives

  8. Modified preAction and PostFailAction sections as per P11 code and added postAction if required for following FRUs:

    1. Control panel display
    2. PCIe4 x16 or PCIe5 x8 adapter
    3. OpenCAPI adapter
    4. PCIe5 x8 adapter (pcie_card7)
    5. PCIe5 x8 adapter (pcie_card9)
    6. PCIe5 x8 adapter (pcie_card11)
    7. PCIe4 x8 adapter
  9. Added systemCmd bind preAction section for DIMMs 0-7

TODO:

  1. Add postAction section wherever required.
  2. GPIO presence preAction section for DIMMs has not been added as presence-cpx GPIO lines are not defined in Rainier .dts file (https://github.com/openbmc/linux/blob/dev-6.6/arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-rainier.dts)

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712

souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 8, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter

TODO:

8. Added postAction section wherever required.
9. Added preAction section for dimm

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter

TODO:

8. Added postAction section wherever required.
9. Added preAction section for dimm

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter

TODO:

8. Added postAction section wherever required.
9. Added preAction section for dimm

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter

TODO:

8. Added postAction section wherever required.
9. Added preAction section for dimm

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
@souvik1914581 souvik1914581 force-pushed the sr_rainier1S4UJson branch 2 times, most recently from a58604e to ce945d5 Compare November 9, 2024 14:44
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

8. Added postAction section wherever required.
9. Add GPIO presence preAction section for dimms.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

8. Added postAction section wherever required.
9. Add GPIO presence preAction section for dimms.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

8. Added postAction section wherever required.
9. Add GPIO presence preAction section for dimms.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 9, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

10. GPIO presence preAction for DIMMs has not been added as
    "presence-cpx" GPIO lines are not defined in Rainier .dts file.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 11, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

10. GPIO presence preAction for DIMMs has not been added as
    "presence-cpx" GPIO lines are not defined in Rainier .dts file.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
Copy link

@PriyangaRamasamy PriyangaRamasamy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing presence gpio info for frus like cpu, vrm, tpm, etc.. please check

@@ -0,0 +1,3232 @@
{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name of the JSON should be 50001002.json. Please rename.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,3232 @@
{
"devTree": "conf-aspeed-bmc-ibm-rainier-1s4u.dtb",
"backupRestoreConfigPath": "/usr/share/vpd/backup_restore_5001002.json",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rename to : /usr/share/vpd/backup_restore_50001002.json"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

}
}
},
"postAction": {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Post action is required to bind led driver of Bear river/Bear lake cable card. This slot at location C11 , supports JBOF card only. which doesn't have LED driver to bind. so post action is not required here.

Copy link
Author

@souvik1914581 souvik1914581 Nov 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0-C11 slot supports "NVMe JBOF" and "Cable Card" ?

Also, master branch JSON

"pcaChipAddress": "30-0061",
has pcaChipAddress defined?

}
}
},
"postAction": {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This slot @ C8 also supports JBOF card only. so postAction not required.

Copy link
Author

@souvik1914581 souvik1914581 Nov 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0-C8 slot supports "NVMe JBOF" and "OpenCAPI"?
Also, master branch JSON

"pcaChipAddress": "28-0061",
has pcaChipAddress defined?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't go with pcaChipAddress from older JSON. As per workbook, C8 supports either NVMe JBOF card or open capi and not cable card.

"serviceName": "xyz.openbmc_project.Inventory.Manager",
"inherit": false,
"embedded": false,
"devAddress": "13-0050",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can remove devAddress wherever present.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

"/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
{
"inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
"serviceName": "xyz.openbmc_project.Inventory.Manager",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

powerOffOnly = true is missing for DDIMMs. please add

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 11, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

10. GPIO presence preAction for DIMMs has not been added as
    "presence-cpx" GPIO lines are not defined in Rainier .dts file.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
souvik1914581 pushed a commit to souvik1914581/openpower-vpd-parser that referenced this pull request Nov 11, 2024
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

10. GPIO presence preAction for DIMMs has not been added as
    "presence-cpx" GPIO lines are not defined in Rainier .dts file.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
This commit has rainier 1S4U system JSON refactored with the following
changes:

1. Add devTree tag.
2. Add backupRestoreConfigPath tag.
3. Add serviceName in every parent FRU and sub FRU section.
4. Updated inventoryPath tag with complete path.
5. Removed unused tag "gpioI2CAddress"
6. Removed busType, driverType as we have systemCmd tag
   which has command to bind.
7. Added Slot interface to all NVMe drives
8. Modified preAction and PostFailAction sections as per P11 code
   and added postAction if required for following FRUs:
	1. Control panel display
	2. PCIe4 x16 or PCIe5 x8 adapter
	3. OpenCAPI adapter
	4. PCIe5 x8 adapter (pcie_card7)
	5. PCIe5 x8 adapter (pcie_card9)
	6. PCIe5 x8 adapter (pcie_card11)
	7. PCIe4 x8 adapter
9. Added systemCmd bind preAction section for dimms 0-7

TODO:

10. GPIO presence preAction for DIMMs has not been added as
    "presence-cpx" GPIO lines are not defined in Rainier .dts file.

Test:

This JSON file has not been tested yet due to unavailability of Rainier
1S4U system.

Change-Id: Id25da9126e97a33a902eecfb1291f2cf17cec712
Signed-off-by: Souvik Roy <[email protected]>
@souvik1914581
Copy link
Author

souvik1914581 commented Nov 11, 2024

Missing presence gpio info for frus like cpu, vrm, tpm, etc.. please check

The workbook specifies presence GPIO lines for CPU and VRM, but the same are not there in the .dts file : https://github.com/openbmc/linux/blob/dev-6.6/arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-rainier.dts

"value": 1
},
"systemCmd": {
"cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/bind"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where did you get this value from ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

50001002.json in the master branch had a devAddress tag which was used to bind the driver.
We no longer use devAddress tag in the P11_Dev JSONs and instead hard code the address in the cmd

"devAddress": "25-0053",

Copy link
Author

@souvik1914581 souvik1914581 Nov 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workbook says "No card currently exists" for PCIe C6, also there is no "green box" for VPD line for C6. Should we ignore Slot C6 then?

As for the address calculation, I will take the example of PCIe C7,
as per Workbook, C6, C7, C9 and C8 are on I2C7 of AST2600.

Looking at the .dts file, we need to look at &i2c6 on the .dts , since BMC FW starts at I2C0
https://github.com/openbmc/linux/blob/5f8b7d4b2e9604d03ae06f1a2dd5a1f34c33e533/arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-rainier.dts#L510

.dts tells us i2c6 has 3 TI TMP275 temperature sensors and a NXP PCA9546 (4-channel I2C-bus switch with reset)

  1. From workbook, "VPD Green box", C7 VPD EEPROM is on A4 A4 >> 1 = 0x52 (Right shift because BMC FW uses 7 bit addressing)

  2. If we look for 0x52 under i2c6 in the .dts, C7 is on i2c6mux0chn1 whose register address is 0x4D
    0x4D >> 1 = 0x26

So for accessing C7's EEPROM via Linux user space, we need to bind the device at 26-0052 to the at24 driver, so we are doing echo 26-0052 > /sys/bus/i2c/drivers/at24/bind

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants