summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-jade/recipes-ampere/platform
AgeCommit message (Collapse)AuthorFilesLines
2021-12-09meta-ampere: mtjade: don't configure OCP GPIO when BMC rebootedThang Q. Nguyen2-5/+7
Configure OCP_AUX_PWREN and/or OCP_MAIN_PWREN GPIOs, even without changing their values, make the OCP power glitched which consequently makes the Host OS generates many calltrace message. When BMC is rebooted, the ampere-gpio-poweron@service service is triggered that reconfigure these GPIOs. This comit prevents this case by checking if the Host is currently ON to skip the reconfiguration. Tested: 1. Boot the BMC and Host CPU. 2. Reboot BMC. Ensure no call trace for OCP Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I621e025adf72baf84bffd011ea0e04229f739755
2021-11-04meta-ampere: fix shellcheck issuesThang Q. Nguyen7-186/+177
Fix all issues from the shellcheck checked on bash shells under meta-ampere. Tested: Verify the following features: 1. Power control (on,off, cycle, graceful shutdown, hard reset). 2. UART switching. 3. UEFI firmware update. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Idabf839b7521ecadb642230cc8bb3472c787002e
2021-09-27meta-ampere: mtjade: update dependency for mac-updateThang Q. Nguyen1-2/+3
The ampere_update_mac service gets BMC MAC Address from FruDevice but currently uses Inventory.Manager as its dependency. This makes the service sometime not work correctly. This commit updates the dependency to EntityManager to fix the issue Tested: 1. Clear eth1addr variable. Do A/C power the BMC and ensure the BMC MAC is set to eth1addr 2. Clear eth1addr variable. Reboot BMC and ensure the BMC MAC is set to eth1addr Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I00c78222d487c72db5e6e06f8cc8b45cfde2f253
2021-09-25meta-ampere: mtjade: clean up unused codesThang Q. Nguyen1-4/+4
There are some redundant codes inside meta-mtjade: - ampere-reset-host-check@.service: no longer be used. - redundant :mtjade in phosphor-software-manager_%.bbappend - Incorrect GPIO function call in ampere_platform_init.sh This commit fixes the above issues. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Iadde88ba6472815556a2c0839c1e3e127c2a04d4
2021-09-23meta-ampere: mtjade: initialize GPIOsThang Q. Nguyen3-0/+94
Several GPIOs should be configured properly when booting BMC. Currently, these GPIOs are configured in u-boot. However, some must be configured in Linux. For example, the BMC_READY GPIO should be set only after BMC is ready to work. This commit introduce platform-init service which starts after BMC boots to configure GPIOs pins required by hardware design. Tested: 1. Do A/C power, check GPIO227 is set to 0. 2. Reboot BMC, check GPIO227 is set to 0. 3. Run gpioinfo and check GPIO directions Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ie0cfe171659ad740c6a25297f2fcce259870d43d
2021-09-20meta-ampere: mtjade: set MAC Address from FruDeviceThang Q. Nguyen3-0/+86
FruDevice service is always running no matter if entity-manager is used or not. It scans for all FRU EEPROMs, parse and store information into dbus. This commit changes to get BMC MAC Address from FruDevice data instead of ipmi-fru-parser. Tested: 1. Clear environment in u-boot, boot BMC to Linux and check if the eth1addr variable is set with value from FRU. 2. Change BMC MAC address from FRU's Board Extra. Reboot BMC and check if the eth1addr variable is set with new BMC MAC Address Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I99b5d46c8a22b98402f749cdebd1c0aad3d6daf0
2021-09-02meta-phosphor: change systemd.bbclass to match upstream override syntaxPatrick Williams1-2/+2
Upstream bbclasses changed to typically use the `:${PN}` override syntax, including the SYSTEMD_ variables. Change our systemd.bbclass to do the same for consistency and perform a tree-wide variable replacement. Spot checked by building bletchley and witherspoon and checking some of the SYSTEMD_LINK directives on installed packages under qemu. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I20a9dd809bff8af8759488734f80486c7228c6eb
2021-08-13meta-ampere: fix compilation error with latest YoctoThang Q. Nguyen1-2/+2
Make the following changes to fix compilation errors: 1. Add honister to LAYERSERIES_COMPAT 2. Increase CONF_VERSION to 2. 3. Fix mistake on previous change on Yocto syntax update. Tested: 1. Compile OpenBMC for Mt.Jade without error. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I5ac3f568d776109955759fab78844b1d38a51af1
2021-08-07meta-ampere: Cleanup for Yocto override syntax changeThang Q. Nguyen2-5/+5
Run convert-overrides.py meta-ampere and update missing changes as below: - Change all _mtjade to :mtjade - Change all _${PN} to :${PN} Tested: 1. Check compilation without problem. 2. Check basic functions like switch UART mux, power control. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I42038b2a98ed1951d6c770bdf49f5fc440f8163e
2021-08-04meta-ampere: mtjade: add mtjade-gpio-config packageThuBaNguyen6-1/+117
The OCP module in Mt.Jade platform supports the GPIO pins to set the power state. The SPI0 module also supports the GPIO pins to config SPI mode. These gpio pins have to be set to the right states before power off/on. The mtjade-gpio-config package will support that. Tested: 1. Power off/on the host. 2. The OCP and SPI0 gpio pins should be in the corrected states. Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com> Change-Id: I46bca50222b0428f73aa9c05003f650f6ec0cc0b
2021-08-04meta-ampere: power control: correct the scriptThuBaNguyen1-17/+1
The power functions are failed to work. There is one mistake in merging ampere_power_utils.sh script. This commit fixes the mistake. Tested: 1. Power off the host when it is on. 2. The host state should be changed to off. Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com> Change-Id: Iaa253e4b8d0f645a2b7097501e8c602d693cb37a
2021-08-04meta-ampere: host-check: verify the host stateThuBaNguyen3-0/+79
When phosphor-state-manager handles the power action to turn on the host, phosphor-state-manager does not use the software interfaces to verify the host state. It set the host state to running after all of required services of the power action target are done. The power on watchdog is used to verify the host state and handle the failure in the host state changing. But Mt.Jade platforms do not handle power on watchdog. This causes the CurrentHostState dbus property is Running before the host is ready. In Mt.Jade platform, the SCP drives S0_FW_BOOT_OK to high when the host is already on. This GPIO can be used to identify the host state. One service should be added to the required list. This service checks the host state in power on and triggers obmc-host-quiesce@%i.target when the host is failed to boot. ampere-host-check package adds ampere-host-on-host-check@.service for that purpose. Tested: 1. Boot up BMC with the host is off/on. Check CurrentHostState. 2. Call Ipmitool power off/on. Check the CurrentHostState. 3. Call Ipmitool chassis power off/on. Check the CurrentHostState. 4. Call Ipmitool power cycle. Check the CurrentHostState. 5. Call Ipmitool chassis power cycle. Check the CurrentHostState. 6. Power off the host. Set power policty to Always-on. AC power. The host should be on. And CurrentHostState should be Running. 7. Power on the host. Set power policty to Always-off. AC power. The host should be off. And CurrentHostState should be Off. Change-Id: I9b0b346883a5f0203bf078453065c18ae4603311 Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
2021-08-04meta-ampere: power control: restructure source codeThuBaNguyen3-0/+197
ampere-hostctrl package includes the generic codes and the platform specific codes. The generic sources are applied for all of the Ampere platforms, they are the service files and the scripts to setting the GPIO pins. The platform specific sources are the GPIO pin config file and the gpio monitor config files. This commit moves the platform specific files to the platform code. Tested: 1. Do the power control actions use ipmitool, BMC web and Redfish. 2. Make sure the server states are changed as expected. Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com> Change-Id: Ic0e261109f7a5dfaf38c883bff0afedab763a0b6