Age | Commit message (Collapse) | Author | Files | Lines |
|
Change to use dynamic sensors for FRU support to take advantage of IPMI
fru read/write commands.
Tested:
1. Check FRU reading
$ ipmitool fru print
2. Write fru.bin into FRU EEPROM
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
Change-Id: I0d0b52ae7b0fd301a14d0d2894268637d867a5b8
|
|
Change to implement virtual USB Ethernet using phosphor-misc's usb-ctrl.
Tested:
1. Boot BMC to Linux. Login and check if usb0 ethernet interface exists.
2. Power ON the Host. Check if usb0 automatically sets its IP to
192.168.0.10
3. Restart the ampere-usbnet.service service. Check if no error happens.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I4de722a691a112db851b6dda0a7821b9f78b4d72
|
|
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
|
|
Ampere BMC specification requires the chassis power policy to always-on
by default. However, it is set by default to always-off in OpenBMC.
This commit updates the setting to always-on by default.
Tested:
1. Do factory reset the BMC.
2. Check the power status
$ root@mtjade:~# ipmitool chassis status
Power Restore Policy : always-on
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I7ec478dc60faa5fe51a091599265ec807bab22e9
|
|
The BMC_READY pin is used to notify CPLD that BMC is running and it is
ready to control the Host power. This pin should be always high after
the BMC boots successful.
This commit removes BMC_READY setting in the skeleton config so that is
is not set low when powering off the Host.
Tested:
1. Power off the host. Check if BMC_READY is still HIGH.
Signed-off-by: Thu B Nguyen <tbnguyen@amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Idc3a2b7ef92e6f8881d346f29920e184585911c3
|
|
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
|
|
Add DCMI sensor configuration for the Mt.Jade platform.
Tested:
1. root@mtjade:~# ipmitool dcmi sensors
Inlet: 2 temperature sensors found:
Record ID 0x00f3: PSU0_TEMP | 26 degrees C | ok
Record ID 0x00f4: PSU1_TEMP | 31 degrees C | ok
Baseboard: 6 temperature sensors found:
Record ID 0x0001: TS1_Temp | 31 degrees C | ok
Record ID 0x0002: TS2_Temp | 32 degrees C | ok
Record ID 0x0003: TS3_Temp | 31 degrees C | ok
Record ID 0x0004: TS4_Temp | 30 degrees C | ok
Record ID 0x0005: TS5_Temp | 35 degrees C | ok
Record ID 0x0006: TS6_Temp | 32 degrees C | ok
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Iff8a94e523346347b7e449522ab5a12b841aee9e
|
|
Since 29086950, phosphor-net-ipmid has updated the SOL parameters
by obtaining the attribute values of the
xyz.openbmc_project.Ipmi.SOL interface.
It is necessary to enable SOL by default on Mt.Jade with correct
parameters.
Tested:
1. ipmitool -I lanplus -H x -U x -P x -C 17 raw sol info
2. ipmitool -I lanplus -H x -U x -P x -C 17 sol activate
ipmitool -I lanplus -H x -U x -P x -C 17 sol deactivate
Use the above commands to successfully activate and deactivate SOL
3. Activate IPMI SOL and boot Host to Linux 5 times without
disconnected.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I8e4d0e06eaa9c8995cde27f17f0d0d274b553f0d
|
|
Fix missing Yocto syntax change in phosphor-hwmon append file which make
sensor configured not work correctly.
Tested:
1. Run "ipmitool sdr list" and check all sensors reported correctly
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ia4653180ac1a66dac13ee6d7edf5c34a106967e9
|
|
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
|
|
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
|
|
The current ampere-hostctl package removes the power off/on services
of phosphor-state-manager and uses Ampere services. This solution is
not correct. Ampere platform should use power control functions of
phosphor-state-manager. And only appends or overides the default
services by Ampere's services if need.
By default, to handle power soft action, phosphor-state-manager will
trigger obmc-host-shutdown@0.target. This target then call
xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service to request OS
shutdown. When the host OS shutdown is already done, the target will
trigger obmc-chassis-poweroff@0.target to turn off the chassis. The
default xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service uses
Ipmi inband to communicate with the host. It is different with Ampere
Mt.Jade platform. We use the GPIO pin SHD_REQ to request shutdown the
host OS. The host will trigger SHD_ACK when shutdown is done. So
*.Ipmi.Internal.SoftPowerOff.service will be overide by Ampere service
named ampere.*.Ipmi.Internal.SoftPowerOff.service. This service will
trigger SHD_REQ pin and wait for SHD_ACK before start
obmc-chassis-poweroff@0.target.
This commit removes ampere-chassis-poweroff, ampere-host-shutdown
serives which handle power off/soft actions and restore
phosphor-state-manager's services. It also supports
ampere.xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service which
will overide xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service.
Tested:
1. Create "power soft" actions use ipmitool, redfish and BMC web.
2. Make sure the power order will be shutdown the host then power
of the chassis.
3. Create "power off" actions use ipmitool, redfish and BMC web.
4. Make sure the power action will be power off the chassis.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: Ibc0dc8c62408e8282520c9b70e41ab75c10137f6
|
|
Ampere Mt.Jade power control involves different action during the
course of action which does not involve rebooting the Host. Thus
disable the use of Host Power-On watchdog.
Tested:
1. Power on host.
2. In bmc console call "journalctl -f".
3. "ipmitool power reset" make sure there are no
phosphor-watchdog messages.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: Iaedd120f203b4222bf57e5fbdc7be84cd22d2e2e
|
|
NCSI was enabled in Mt.Jade device tree. This makes the RGMII port is
now eth1. However, just eth0 is enabled for IPMI OOB so running IPMI
OOB command is fail with RGMII's IP address.
This commit sets eth1 as default Ethernet port for IPMI OOB command and
set eth0 as alternative IPMI OOB port.
Tested:
1. Run IPMI commands from client with RGMII's IP address
$ ipmitool -U root -P 0penBmc -C 17 -I lanplus -H 10.38.64.72 power status
Chassis Power is on
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Iba65221b8cab99486d1f35026e0cf593cce4a8c9
|
|
Change Ie1a7c389edb6b7a048836a49283ceb62de51bba5 will be transitioning
the 'Type' property in Inventory.Item.Chassis to an enumeration.
In order to avoid crashing in PIM we need these default values in the
starting YAML to be fully-qualified enumeration names that will match
the values which will start in Ie1a7c.
This code is safe to merge as is without any PDI or PIM changes. Prior
to the PDI change, we must make a change to PIM that allows conversion
automatic from string->enum, leveraging library interfaces available in
sdbusplus. These will be submitted independently.
I checked the codebase for usage of this string. It appears that the
value is currently, effectively, write-only. There is code in bmcweb
that fills in the equivalent Redfish value but currently just hard-codes
the string 'RackMount'.
Tested: Booted Witherspoon in a QEMU model with this change and proposed
changes to sdbusplus + PIM. PIM no longer coredumps with the PDI change
and yields an expected persistence file:
```
$ pwd
/var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/chassis
$ cat xyz.openbmc_project.Inventory.Item.Chassis
{
"value0": {
"cereal_class_version": 2,
"Type": 3
}
}
```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Icaf9447f31ccdd945cdf74b3e017682e4aed686f
|
|
Add total_power sensor calculated by sum of PSU0_POUTPUT and
PSU1_POUTPUT.
Tested:
1. Check if total_power is present in WebUI and Redfish and its value is
sum of PSU0_POUTPUT and PSU1_POUTPUT.
2. Check total_power from IPMI
root@mtjade:~# ipmitool sdr list | grep total_power
total_power | 648 Watts | ok
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I304e7c9328f1f91f6f358f0e8472a107bf5479a0
|
|
Add ipmi-sensor Yaml file to configure IPMI sensor report following
Mt.Jade SDR Definition document.
Tested:
1. Check sensor report using IPMI sdr and sensor commands:
$ ipmitool sdr list
$ ipmitool sensor list
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ib61d459087d3cf2711b2dd19a64c69d91e39861f
|
|
Add more PSU sensors to report in Redfish.
Tested:
1. Check all PSU sensors displayed in WebUI and Redfish
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ie4236ed8222313eaf99937487c67fc37401217ae
|
|
It is no longer to require all LC, UC, LNC and UNC threshold to make
sensor threshold applied.
This commit removes all dummy threshold added before.
Tested:
1. Enter WebUI -> Health -> Sensors and check threshold for all sensors.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ib0b5c87d21eb40ac56bffe222f997ce5605be108
|
|
It checks GPIO key for powersupply presence, and creates
the inventory object.
Tested:
1. Plug the PSU, check busctl command for Present attribute
2. Plug out the PSU, check busctl command for Present attribute
$ busctl --no-pager introspect xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I4520d537d425249debe5c0d8c6bf8b0f6e3c5b34
|
|
When system only uses single PSU ( ex : PSU1 ) to power ON normal 12V,
HSC2 will be trigged Fault event (FET health).
At this time, plugging in PSU2 in system, the PSU2 won't deliver power to
+12V_MB because HSC2 is protected by Fault event.
Due to HSC2 protected, the PSU redundancy mechanism can't be created.
Once PSU1 is plugged out at this moment, system will crash ( reset )
because +12V_MB dropped.
Support detecting PSU plug event and reset the Hot-Swap feature by
disabling and then enabling again it through PMBUS command to clear the
event.
Tested:
1. Plug only PSU1 to power ON system (12V)
2. Wait until host is booted, check POUT:
$ ipmitool sdr | grep "POUT"
PSU1_POUT | 112 Watts | ok
PSU2_POUT | 0 Watts | ok
3. Plug in PSU2 in system, check POUT:
$ ipmitool sdr | grep "POUT"
PSU1_POUT | 64 Watts | ok
PSU2_POUT | 48 Watts | ok
4. Unplug AC power PSU1, check POUT:
$ ipmitool sdr | grep "POUT"
PSU1_POUT | 0 Watts | ok
PSU2_POUT | 128 Watts | ok
5. Plug in AC power PSU1, check POUT:
$ ipmitool sdr | grep "POUT"
PSU1_POUT | 80 Watts | ok
PSU2_POUT | 64 Watts | ok
6. Repeat 1. to 5. with PSU2.
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: Ia6e00cd7b08de48059f2450e7eaf108418d0a026
|
|
The repository supports it, so switch it over in bitbake.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I8d96c79b395ee2614ddd869091569f245426c5c7
|
|
Since the webui-vue repo has become a web standard, enabled webui-vue
repo and removed phosphor-webui repo.
Tested: build mtjade and login to WebUI successfully
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ib4a3902ca8170275570b2f6b79b3ecebb8ffccde
|
|
The UID button is used to provide visual identification of the system
when pushed. Pressing the UID button toggles the UID LED. The same
action can be done via Redfish (by patching IndicatorLED from
redfish/v1/Systems/system) or the IPMI chassis identify command.
Tested:
1. Press the UID button to toggles the UID on/off
2. Turn on the UID LED via ipmi command
$ ipmitool chassis identify
3. Turn Lit/Blinking/Off UID LED via Redfish then check the IndicatorLED
values
$ curl -X PATCH --user root:0penBmc -H "Content-Type: application/json" \
-H "If-Match: *" --insecure https://BMC_IP/redfish/v1/Systems/system \
-d '{"IndicatorLED": "Lit/Blinking/Off"}'
$curl -X GET --user root:0penBmc -H "Content-Type: application/json" \
--insecure https://BMC_IP/redfish/v1/Systems/system
The IndicatorLED is "Lit/Blinking/Off"
Signed-off-by: Hieu Huynh <hieu.huynh@amperecomputing.com>
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I58eeae7ac22a9d4ddd4acdfbd167095bdc74072c
|
|
Monitor the Socket 0 and Socket 1's CPU_FAULT GPIO and turn on the Fault
LED when any GPIO turns ON.
Tested:
1. Flash special SCP image to stimulate CPU Fault LED
2. Check if the Fault LED is ON.
Signed-off-by: Tung Nguyen <tung.nguyen@amperecomputing.com>
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I73bf34b4361528c9c8825942ddc7f24d51589189
|
|
Add initial LED YAML and related files for Mt. Jade LED support.
Tested: Check power LED ON during BMC boot.
Signed-off-by: Hieu Cong Huynh <hieu.huynh@amperecomputing.com>
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I8c39a2b9c61366d588afd4847833ceb19f24a390
|
|
Support to parse the Mt.Jade FRU device, map FRU data with inventory
information and report FRU content via IPMI.
Tested:
1. Run IPMI fru print command:
root@mtjade:~# ipmitool fru print
FRU Device Description : Builtin FRU Device (ID 0)
Chassis Type : Rack Mount Chassis
Chassis Serial : A1A1-A000-0000000000123
Board Mfg Date : Fri Feb 5 00:00:00 2021 UTC
Board Mfg : WIWYNN
Board Product : Mt.Jade Motherboard
Board Serial : B8103010002500900019J0LB
Board Part Number : B81.03010.0026
Product Manufacturer : WIWYNN
Product Name : Mt.Jade Server System
Product Part Number : B81.03001.0009
Product Version : EVT2
Product Serial : B810300100050130002DN0SD
2. Check FRU inventory reoirt from REST
/xyz/openbmc_project/inventory/system/chassis/motherboard
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I231d5766b2f89a535d850eb437d63a9db84fb846
|
|
Support solssh for Mt.Jade system.
It opens these ssh ports:
2200 - CPU console
2201 - SCP 0 concole
2202 - ATF console
2203 - SCP 1 console
Tested:
- connect to ssh ports
- make sure the console are displayed correctly
Signed-off-by: Tung Nguyen <tungnguyen@os.amperecomputing.com>
Change-Id: Ic0be980f201c0176ca00fd07804c101f404e707a
|
|
Map FAN, temperature and voltage sensors with Redfish chassis instance
and enables association feature in phosphor-inventory-manager.
The bmcweb looks for the sensors associated with a chassis instance
in the association list. The list, which is associations.json file in
phosphor-inventory-manager, maps the dbus sensor objects to a chassis
inventory.
Tested:
1. Check power/voltage sensors reported in redfish/v1/Chassis/chassis/Power.
2. Check FANs/thermal sensors reported in redfish/v1/Chassis/chassis/Thermal.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ie62a1c1a4edeaf165f834f7456c26711b4b42701
|
|
Support for Mt. Jade on-board sensors including fans, battery, PSUs,
voltage and temperature sensors.
Tested: check sensor reading from WebUI. All on-board sensors are
displayed with reasonable values.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I60abc8ae946ef95c09903ebc5d95d15db6161c1a
|
|
Add device ID configuration for IPMI mc info command.
Tested: ran command `ipmitool mc info` and got responses
Device ID : 32
Device Revision : 1
Firmware Revision : 0.00
IPMI Version : 2.0
Manufacturer ID : 52538
Manufacturer Name : Unknown (0xCD3A)
Product ID : 130 (0x0082)
Product Name : Unknown (0x82)
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I32a1e8443b0f202cbe2133cb048d66f08e866744
|
|
Add the Mt.Jade skeleton configuration to support the
basic power control
Tested:
1. Compile OpenBMC image and boot successfully on Mt.Jade
2. Check basic gpio get/set and the power control action
successfully
Signed-off-by: Tung Nguyen <tungnguyen@os.amperecomputing.com>
Change-Id: Ifc4f5746c3fb7e8d5e30a12cf29dd3f02e5de953
|
|
Add initial Mt.Jade platform support with minimal configuration so that
the code can be compiled and booted on the Mt.Jade platform system.
Tested:
1. Compile OpenBMC image for Mt.Jade successfully and can boot on
Mt.Jade.
2. Login to console and WebUI successfully.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ib4c2c30be7fc0a13cc66f7eb1c8b9604e9a5292f
|