Age | Commit message (Collapse) | Author | Files | Lines |
|
Add support SCP firmware update with checking if the ampere_fru_upgrade
available to execute the update.
This commit also supports 2nd Host SPI-NOR update ability.
Tested:
1. Manually copy ampere_fru_upgrade to the /usr/sbin folder and run SCP
firmware update via Redfish.
2. Flash UEFI firmware update on the secondary Host SPI-NOR.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ic335ee2d21625239c3df1937ed5333708233845b
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
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
|
|
UEFI firmware for Ampere Altra-based platform starts at offset 0x400000
but currently the firmware image is flashed start at offset 0. This
makes the Host fail to boot.
This commit supports offset option for the mtd-util's flashcp utility
and update the script to flash UEFI firmware starting at offset
0x400000.
Tested:
1. Turn on the Host.
2. Flash UEFI firmware. Wait for the flash complete and check if Host
can boot successfully.
4. Turn off the Host.
5. Flash UEFI firmware. Wait for the flash complete.
6. Turn on the Host and check if Host can boot successfully.
Signed-off-by: Tung Nguyen <tung.nguyen@amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I0d48bfd0a7b7350b46a98bf10fe4de3887f09f02
|
|
Enable flash_bios feature and configure to use backend script to flash
UEFI firmware via Redfish, WebUI and Rest.
Tested:
1. Flash UEFI firmware via WebUI.
2. Flash UEFI firmware via Redfish UpdateService
3. Flash UEFI firmware via Rest interface.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I772e6a409414e374ed01e72e3c69985d0b413cb5
|