summaryrefslogtreecommitdiff
path: root/meta-ampere
AgeCommit message (Collapse)AuthorFilesLines
2021-08-28meta-ampere: mtjade: add DCMI sensor configurationThang Q. Nguyen2-0/+33
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
2021-08-26meta-ampere: mtjade: configure SOL parametersThang Q. Nguyen2-0/+33
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
2021-08-26meta-ampere: mtjade: hwmon: fix missing Yocto syntax changeThang Q. Nguyen1-1/+1
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
2021-08-24treewide: remove gategarth from layer-supportPatrick Williams2-2/+2
We've typically kept these LAYERSERIES_COMPAT to 2 releases: the current and the upcoming. Remove 'gatesgarth' is it is now 2 releases back. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I5e812a94fed1738898af75c0fdee81996a5bbf20
2021-08-13meta-ampere: fix compilation error with latest YoctoThang Q. Nguyen16-28/+30
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. Nguyen36-109/+109
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-06meta-ampere: mtjade: fix Mt.Jade recipes not enabledThang Q. Nguyen1-4/+1
Using IMAGE_INSTALL in mtjade.conf makes other Ampere recipes not included in the build. This commit fixes the issue by enabling the mtd-utils in OBMC_IMAGE_EXTRA_INSTALL_append instead. Tested: 1. Check if all Ampere services and scripts available. 2. Check power control operations Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I17293ba520c05a7b5a438767c790f00220156d3f
2021-08-04meta-ampere: mtjade: add mtjade-gpio-config packageThuBaNguyen7-1/+118
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: overide phosphor-reset-host-checkThuBaNguyen2-0/+26
When BMC boots, phosphor-host-check uses the software interfaces(IPMI inband Hearbeat command or PLDM interface) to verify the host state and creates the host on indicator file. Ampere Altra SoCs do not support those software interfaces. They use the GPIO interface. GPIO pin S0_FW_BOOT_OK go high when the host is on. This commit appends ampere-reset-host-check@.service to phosphor-state-manager This service will replaces the role of phosphor-reset-host-check@.service. Tested: 1. Boot up BMC with the host is off/on. 2. Verify the CurrentHostState. Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com> Change-Id: Ie4f73538266fff7d8c5fd40b437ffebc82cb12c5
2021-08-04meta-ampere: host-check: verify the host stateThuBaNguyen5-0/+100
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 codeThuBaNguyen10-27/+88
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
2021-08-04meta-ampere: power control: refactor host power controlThuBaNguyen12-131/+69
Refactor the Mt.Jade Host power control operations to support Altra CPU following the Altra SoC BMC Interface specification which still satisfying the OpenBMC power control framework. Tested: check the below cases and ensure Host state report correctly: 1. Run "reboot" from Host Linux. Check the Host is graceful shutdown, then SYS_RESET is asserted and the Host is booted. 2. Run "shutdown" from Host Linux. Check the Host is graceful shutdown then the chassis power is turned OFF. 3. Run "ipmitool chassis power soft". Check the Host is graceful shutdown 4. Execute Redfish GracefulShutdown. Check the Host is graceful shutdown then the chassis power is turned OFF. 5. Execute Redfish GracefulRestart. Check the Host is graceful shutdown then turned ON. 6. Check other IPMI chassis power and Redfish Reset actions work. Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com> Change-Id: I3a9716f37d7e80bdc1a1d0422e561c8fc51ad040
2021-08-04meta-ampere: mtjade: flash UEFI firmware at 4MB offsetThang Q. Nguyen4-13/+157
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
2021-08-04meta-ampere: power control: refactor power soft/off functionsThuBaNguyen8-59/+79
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
2021-08-04meta-ampere: mtjade: disable the poweron watchdogThuBaNguyen1-0/+9
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
2021-07-30meta-ampere: phosphor-sel-logger: Use packageconfigWilliam A. Kennington III1-2/+1
This makes it possible for us to change out build specific settings. Change-Id: I862366d8efa97c4c3181b842662bf28dd5bec270 Signed-off-by: William A. Kennington III <wak@google.com>
2021-07-28meta-ampere: network: enable nic-ethtoolHieu Huynh1-0/+1
The SpeedMbds of ethernet interface is implemented in getInterfaceInfo() from the phosphor-networkd repo. It is disabled by NIC_SUPPORTS_ETHTOOL conditional compilation. The default compile mode is to omit the getInterfaceInfo() which causes the SpeedMbps not set. This commit supports enable the NIC_SUPPORTS_ETHTOOL to report correct speed. Tested: 1.Get SpeedMbps via rest: $ curl -XGET --user root:0penBmc -H "Content-Type: application/json" \ -H "If-match: *" --insecure \ https://10.38.14.2/redfish/v1/Managers/bmc/EthernetInterfaces/eth1 \ grep | "SpeedMbps" 2.Get speed of eth1 interface on BMC console $ cat /sys/class/net/eth1/speed The value getting from openbmc#1 and openbmc#2 match together. Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Change-Id: I57047151fc4eea08c857b95c0770d89ba95f9bc7
2021-07-27meta-ampere: mtjade: enable IPMI on eth1Thang Q. Nguyen1-0/+7
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
2021-07-20treewide: inventory: switch ChassisType to future enum valuePatrick Williams1-1/+1
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
2021-07-06meta-ampere: mtjade: add total_power sensorThang Q. Nguyen3-1/+47
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
2021-06-25meta-ampere: mtjade: support IPMI sensor reportThang Q. Nguyen3-0/+404
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
2021-06-23meta-ampere: mtjade: update Redfish PSU sensorsThang Q. Nguyen1-15/+84
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
2021-06-23meta-ampere: mtjade: remove dummy sensor thresholdThang Q. Nguyen12-114/+22
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
2021-06-13meta-ampere: mtjade: support PSU present detection via GPIOChanh Nguyen5-0/+27
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
2021-06-13meta-ampere: Support software workaround for PSU redundancy issueChanh Nguyen7-1/+128
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
2021-06-08meta-ampere: mtjade: change to use 64MB layoutThang Q. Nguyen1-0/+7
As more features added to Mt.Jade OpenBMC, 32MB is not enough anymore. In addition, the Mt.Jade has 64MB SPI-NOR for BMC firmware. This commit changes to use 64MB BMC layout to have more room for incoming features. Tested: 1. Compile the firmware, flash to Mt.Jade BMC from u-boot and check if it can boot to Linux successfully. 2. Compile another image and check if firmware update works fine. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ifa3e91a630909ffde39da5bb0ce55d2ad123100d
2021-06-07treewide: Remove obsolete image-mklibs classWilliam A. Kennington III1-2/+1
This is apparently not actually working anymore and is removed in the next poky update. Change-Id: Ia1c6a258d124a4a30a14fc42e8e0bba95e64faeb Signed-off-by: William A. Kennington III <wak@google.com>
2021-04-22build phosphor-hwmon with mesonMatt Spinler1-1/+1
The repository supports it, so switch it over in bitbake. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I8d96c79b395ee2614ddd869091569f245426c5c7
2021-04-19meta-ampere: webui: switch to use webui-vueThang Q. Nguyen1-1/+1
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
2021-04-06hardknott: yocto releaseAndrew Geissler2-2/+2
Latest upstream yocto has moved on to the 3.3 hardknott release Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ieae36798d66d21c2c642931f06407d3bb2acf163
2021-03-22openbmc: add meta-security layerAnton D. Kachalov1-0/+2
This layer provides libseccomp. Signed-off-by: Anton D. Kachalov <gmouse@google.com> Change-Id: I84513d56f2ed75fab49043196b98ef8b858e394f
2021-03-18meta-ampere:u-boot: Add GPIO configuration for DVT boardsChanh Nguyen2-0/+176
Mt.Jade DVT hardware requires some GPIO setting so that the board can work well. This commit updates platform init function in u-boot to set required GPIO pins. Tested: 1. Verify below GPIOs set as input in Linux: - S0_I2C9_ALERT_L (GPIOM4) - S1_I2C9_ALERT_L (GPIOM5) - GPIO_BMC_VGA_FRONT_PRES_L (GPIOQ7) - GPIO_BMC_EXT_HIGHTEMP_L - GPIO_S0_VRHOT_L - GPIO_S1_VRHOT_L - GPIO_BMC_PCA9554_INT_L 2. verify below GPIOs set as output high in Linux - GPIO_BMC_I2C6_RESET_L - GPIO_BMC_JTAG_SRST_L - GPIO_BMC_VR_PMBUS_SEL_L - BMC_GPIOR2_EXT_HIGHTEMP_L - BMC_VGA_SEL Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Change-Id: I8b76387ec05c546c34c89f6f5881da3b7955a805
2021-03-10meta-ampere:u-boot: Enable SPI master mode by defaultChanh Nguyen2-0/+34
The Mt.Jade board designs pin strap, which is shared with an OCP pin. This causes the pin strap to have the wrong value if the OCP adapter is plugged and the system is off which consequently disables the SPI master mode. This makes OpenBMC fail to probe the Host SPI Flash. Change to set SPI master mode enabled by default, not base on the pin strap value, so Host SPI NOR can always be probed. Tested: 1. Plug Mellanox OCP card into the OCP1 header. 2. Do AC power board and check if SPI Flash driver can probe without error like "aspeed-smc 1e630000.spi: Error applying setting, reverse things back" Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Change-Id: Ie36557d8e1580f8a6b59b24ac47557d59af653c5
2021-03-09meta-ampere:mtjade:u-boot: Add GPIO supportChanh Nguyen2-0/+519
This is an initial support for the parallel GPIO pins directly connected to the AHB on the Aspeed 2400/2500. This brings the functions and a shell command to manipulate the GPIO state. The GPIO value reading and writing work in non interrupt mode only. This is back ported from the patch file from meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch to support GPIO configuration Signed-off-by: Alexander Filippov <a.filippov@yadro.com> Signed-off-by: Thang Q. Nguyen <thangqn@amperecomputing.com> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Change-Id: I2d97c0fbb9f80bd6c262f03302775936f732b1f1
2021-02-26meta-ampere: Support UID button and LEDChanh Nguyen6-1/+102
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
2021-02-25meta-ampere: Support Fault LEDChanh Nguyen7-0/+96
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
2021-02-25meta-ampere: Add initial LED manager configurationChanh Nguyen3-0/+33
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
2021-02-09meta-ampere: Set BMC MAC Address from FRU inventoryThang Q. Nguyen4-0/+82
Support to get BMC MAC address from FRU over the FRU inventory information (/xyz/openbmc_project/inventory/system/chassis/motherboard) and update to the eth0 Ethernet interface and set the eth1addr u-boot variable. Tested: 1. Boot to u-boot, clear the eth1addr variable, save and reboot. 2. Boot to Linux: - Check if the eth0 interface uses the MAC address in FRU. root@mtjade:~# ip addr show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 70:e2:84:86:76:ba brd ff:ff:ff:ff:ff:ff - Check if the eth1addr u-boot variable uses the MAC address in FRU root@mtjade:~# fw_printenv eth1addr eth1addr=70:E2:84:86:76:BA Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ifb7eefbb17257545d026005f859d37ef562289b7
2021-02-09meta-ampere: mtjade: support FRU inventoryThang Q. Nguyen6-0/+177
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
2021-02-01Change Owners Plugin in meta-ampereEd Tanous1-2/+2
Please see https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/39379 for details about why this is necessary. Some commits pointed out that we should identify by email instead of name. This commit changes the existing owners to use email instead of name. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I9b22333bd878df7d94999366bb3887e4637698f2
2021-02-01meta-ampere: support Redfish event logThang Q. Nguyen9-0/+132
Enable system event log for Redfish. It includes the setting to: - Enable sel-logger module which logs the sensor event into the systemd log. - Enable the rsyslog (intel module) to sync the sensor events from systemd to /var/log/redfish. The file will be used by Redfish. - Configure the backend and redfish to get the system log from the /var/log/redfish instead of system d-bus - Enable Redfish journal log Tested: Verify event logs appear in: 1. Redfish: /redfish/v1/Systems/system/LogServices/EventLog/Entries 2. Redfish: /redfish/v1/Managers/bmc/LogServices/Journal/Entries 3. WebUI: /server-health/sys-log at Event type. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I3753e2932ec1dc83cdbe0708173531930df65254
2021-02-01meta-ampere: mtjade: Add Host firmware update supportThang Q. Nguyen6-0/+161
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
2021-02-01meta-ampere: Support solsshTung Nguyen16-0/+300
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
2021-02-01meta-ampere:mtjade:u-boot: Pass system reset status to kernel via bootargsThang Q. Nguyen2-0/+181
Backport a patch file from meta-yadro/meta-nicole/recipes-bsp/u-boot/ to add the Aspeed reset reason to bootargs so kernel so kernel application can query it. Tested: /proc/cmdline must contain: - resetreason=power after A/C power - resetreason=watchdog after bmc reboot Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I7e75cccfa0fecfa9a66572e02de0f1c8c1d519a1
2021-02-01Add Owners Plugin to meta-ampereEd Tanous1-0/+3
Please see https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/39379 for details about why this is necessary. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: Ib92e7c8c335b443728754e531c5d13ca869636f8
2021-02-01meta-ampere: mtjade: Enable Redfish support for on-board sensorsThang Q. Nguyen4-0/+115
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
2021-02-01meta-ampere: mtjade: Add on-board sensorsThang Q. Nguyen13-0/+373
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
2021-02-01meta-ampere: remove Mt.Jade dts patchThang Q. Nguyen2-600/+0
As the Mt.Jade device tree file was picked up to openbmc/linux repository, need to remove the dts patch file to avoid conflict Tested: compile Mt.Jade OpenBMC successfully Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I518888feb64bc2b806cbae113cded4d69135611b
2021-02-01meta-ampere: ipmi: Add device ID configThang Q. Nguyen2-0/+3
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