-
Notifications
You must be signed in to change notification settings - Fork 39
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
Odyssey scom and cfam support both in kernel and sbefifo backend mode #79
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
deepakala-k
reviewed
Dec 6, 2023
This commit is to cater for odyssey DDR5 device tree changes. Every proc chip will be associated with 8 ddr5 ocmb chips which are accessed through sbefifo. SBEFifo are configured as /dev/sbefifoXYY where X is the proc number and YY as the port number. Based on the fsi path found on the everest with ddr5 configuration "/i2cr101/slave@00:00/raw" configured the same in the device tree for kernel-fsi for each associated DDR5 chip. Ensured that existing DDR4 devices does not have any impact. Configured device path of the DDR5 OCMB odyssey chips in the bmc backend device tree get and put scom on ocmb chips will be using the newly configured ocmb device path for sbefifo access Tested: Ensured that the new ocmb odyssesy SBE targets are added and are probed verified both fsi and sbefifo probe is done sucessfully pdbg target path is /hmfsiocmb@101/sbefifo-ocmb@101 pdbg compatible is ibm,kernel-sbefifo pdbg device-path is /dev/sbefifo101 pdbg_target_probe status is 0 kernel_fsi_probe device_path /i2cr101/slave@00:00/raw kernel_fsi_probe path /sys/class/fsi-master//i2cr101/slave@00:00/raw success probed sbefifo_connect fifo_path /dev/sbefifo101 pdbg_target_probe class name is sbefifo pdbg target path is /proc0/fsi/sbefifo@2400 pdbg compatible is ibm,kernel-sbefifo pdbg device-path is /dev/sbefifo1 pdbg_target_probe status is 0 kernel_fsi_probe device_path /fsi0/slave@00:00/raw kernel_fsi_probe path /sys/class/fsi-master//fsi0/slave@00:00/raw success probed sbefifo_connect fifo_path /dev/sbefifo1 Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: Ibf6c32ec578730ac79d7d732e545ed3be6c9ed0c
1) Uses the device path configured in the bmc backend device tree to perform get and put scom on odyssey ddr5 chip 2) Checks attribute chip-id of the ocmb target to differentiate between ddr4 and ddr5 ocmb chips for get/put scom 3) For ddr4 ocmb targets parent proc sbefifo device path is used for get/put scom 4) For ddr5 ocmb targets its corresponding sbefifo device path is used for get/put scom Tested: root@ever6bmc:/tmp# getscom odyssey c0002040 -pall odyssey k0:n0:s0:p02 0x0040010002000640 odyssey k0:n0:s0:p03 0x0040010002000640 odyssey k0:n0:s0:p34 0x0040010002000640 odyssey k0:n0:s0:p35 0x0040010002000640 /usr/bin/edbg getscom odyssey c0002040 -pall Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I55d438619b87b04e014bb6d8eaaef9aee986ae1b
Introduced new class name for odyssey ocmb sbefifo targets, this helps in reducing the targets to search to find the sbefifo target for the corresponding odyssey ocmb chip. Tested odyssesy chip ocmb_getscom proc=0 ocmb index=2 addr= 0x08012400 value 0x40010002000640 Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I776dbf5b8e0193b55a430f1661df6163ef7f0e7e
Every proc chip will be associated with 8 ddr5 ocmb chips which are accessed through pib. pibs are configured as /dev/scomXYY where X is the proc number and YY as the port number. Ensured that existing DDR4 devices does not have any impact. Configured device path of the DDR5 OCMB odyssey chips in the bmc backend kernel device tree get and put scom on ocmb chips will be using the newly configured ocmb kernel device path hmfsi-ody@112 { #address-cells = <0x02>; #size-cells = <0x01>; compatible = "ibm,kernel-fsi"; device-path = "/i2cr112/slave@00:00/raw"; reg = <0x00 0x04 0x8000>; index = <0x04>; proc = <0x00>; port = <0x0c>; system-path = "/proc0/ocmb4/fsi"; pib_ody@112 { #address-cells = <0x02>; #size-cells = <0x01>; reg = <0x00 0x04 0x8000>; compatible = "ibm,kernel-pib"; index = <0x04>; proc = <0x00>; port = <0x0c>; device-path = "/dev/scom112"; system-path = "/proc0/ocmb4"; }; }; Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I8391301d93d34f8c861082cbe3d36d2759b59ece
1) Uses the device path configured in the kernel backend device tree to perform get and put scom on odyssey ddr5 chip 2) Checks attribute chip-id of the ocmb target to differentiate between ddr4 and ddr5 ocmb chips for get/put scom 4) For ddr5 ocmb targets its corresponding scom device path is used for get/put scom Tested: 1) At present noticing kernel panic at kernel_pib_getscom method need to debug further. Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: Ic99d1e0963876ac60ce5a48c092bfac16d416855
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.