Age | Commit message (Collapse) | Author | Files | Lines |
|
By replacing phosphor-hwmon by dbus-sensor, PSU presence detection via
GPIO does not work anymore and it causes confiction with dbus-sensor's
PSUSensor.
Revert the commit to avoid the confliction
Change-Id: Idfd54325c122921a3c5df062bce1b6909b643999
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
|
|
Enable phosphor-nvme with configuration for nvme_max sensor for FAN
control support later.
Tested:
1. Check NVME Temp:
$ busctl get-property xyz.openbmc_project.nvme.manager \
/xyz/openbmc_project/sensors/temperature/nvme20 \
xyz.openbmc_project.Sensor.Value Value
d 22
2. Check nvme_max has valid value
$ busctl introspect xyz.openbmc_project.VirtualSensor \
/xyz/openbmc_project/sensors/temperature/nvme_max
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ied609ba5b5d39877c09ed04faff5063c7882a689
|
|
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
|
|
`BBLAYERS_NON_REMOVABLE` is obsolete and no longer required.
As it said by Yocto documentation it can be used by `Hob`
https://www.yoctoproject.org/docs/1.5.2/ref-manual/ref-manual.html#var-BBLAYERS_NON_REMOVABLE
that already removed since Yocto-2.1
https://www.yoctoproject.org/tools-resources/projects/hob
Change-Id: Ibc2d8268a9d837a81e9cf6b0131dba8d0a030a3f
Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
|
|
The obmc-system-mgmt feature is currently used in the image to trigger
inclusion of a virtual-provider which provides a number of packages many
systems need. Partially revert the removal of this feature so that
the outcome is:
1. The empty obmc-phosphor-sysd package is still removed.
2. By default the 'obmc-system-mgmt' feature is included, unless
specifically exempted.
3. All EVB platforms remove the 'obmc-system-mgmt' feature since
they have no system they are managing.
This partially reverts commit 060ad3ff7fcc30aff78a9e504efee9d8fa0d4526.
Tested:
* Built `bletchley` and confirmed `packagegroup-fb-apps-system` and
`entity-manager` are present.
```
entity-manager armv7ahf-vfpv4d16 0.1+git0+6bf41588ab-r0
packagegroup-fb-apps-system all 1.0-r1
```
* Built `witherspoon` and confirmed `packagegroup-op-apps-system` and
`pdbg` are present.
```
packagegroup-op-apps-system noarch 1.0
pdbg arm1176jzs 3.3
```
* Ran `bitbake -p` on `evb-ast2600` to confirm the undefined
`virtual-obmc-system-mgmt` is not being included in the image.
Change-Id: I8b7804d5101cc84a2c57473b3f85672bf7767c67
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
Every machine layer treats 'system-management' as either part of a
package-group or removes the feature. The sample implementation in
meta-phosphor is a do-nothing shell script (and up until recently was a
Python script). There appears to be no useful purpose to this feature
as a stand-alone concept, so remove it.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I20ca1fa8ff3cb01cac2d07d4ded84e0769e4514b
|
|
Modify the machine meta-layer configs to remove the use of the
OBMC_MACHINE_FEATURES indirection and favor the Yocto MACHINE_FEATURES
variable instead.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ifafb79e4e4c010e9476b9547cd4982f5b645060e
|
|
Enable phosphor-aspeed-spi-master-mode.inc and remove the u-boot
patch that used for this feature.
Also remove GPIO setting patches which the setting already implemented
in the platform init package.
Tested: on Mt.Jade platform with OCP plugged
1. Bind/unbind Host SPI-NOR and ensure no problem
2. Turn off Host, reboot BMC and check if Host SPI-NOR is probe
successfully.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ie85166edca93b882868e1373696fbf664bee2ee4
|
|
Adds the ampere-ipmi-oem.bb file to support ampere-ipmi-oem features.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I869a3e73573dd43103b52640ef3ac2d1912280dc
|
|
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
|
|
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia05891430c6c97a89b7bc8ba4558ae496866bf7d
|
|
bitbake offers a choice of DEB, RPM or IPK packaging. To a degree the
choice is functionally arbitrary for image generation but control over
the package format becomes important if we want to:
1. Include runtime package management functionality in the firmware image
2. Mess about with the packages on the build system
With respect to 1 the IPK format and opkg (an ipk package manager) are
designed for embedded systems[1] - by contrast to RPMs have heavier
dependencies and a greater impact on the size and complexity of the
firmware image.
Regarding 2, the embedded nature and the need for opkg to work without
much fuss leads to a lower configuration barrier by comparison to RPMs.
With ipk it becomes possible to reuse the packages built during image
preparation for core analysis without needing to generate an SDK:
```
$ export LD_LIBRARY_PATH=./tmp/work/x86_64-linux/opkg-native/*/recipe-sysroot-native/usr/lib
$ MY_DEBUG_ROOT=tmp/rootfs-debug
$ ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \
-f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/*/opkg.conf \
-o $MY_DEBUG_ROOT \
update
$ fakeroot ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \
-f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/opkg.conf \
-o $MY_DEBUG_ROOT \
install dbus-sensors dbus-sensors-dbg
$ gdb-multiarch
(gdb) set solib-absolute-prefix .../tmp/rootfs-debug
(gdb) add-auto-load-safe-path .../tmp/rootfs-debug
(gdb) file tmp/rootfs-debug/usr/bin/nvmesensor
(gdb) core-file obmcdump_17_9597/core.nvmesensor.0.aae91b519d0e4e0e8bbe746e3f6cd25f.2779.9594000000
Core was generated by `/usr/bin/nvmesensor'.
Program terminated with signal SIGABRT, Aborted.
pthread_kill.c:45
45 pthread_kill.c: No such file or directory.
(gdb) bt
pthread_kill.c:45
../sysdeps/posix/raise.c:26
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
"xyz.openbmc_project.NVMeSensor", this=0x488f04) at
/usr/include/sdbusplus/bus.hpp:234
../../../../../../workspace/sources/dbus-sensors/src/NVMeSensorMain.cpp:159
(gdb)
```
This approach documented in the Poky Reference Manual:
https://www.yoctoproject.org/docs/1.0/poky-ref-manual/poky-ref-manual.html#platdev-gdb-remotedebug-launch-gdb-inferiorbins
Switch all machines to IPK to align the debugging experience with
upstream's documentation and to facilitate efficient use of packaged
software at runtime.
[1] https://openwrt.org/docs/guide-user/additional-software/opkg
Change-Id: I8ef526add2d7a6790de1b3eb3fb85cd39b864f23
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
Latest upstream yocto has moved on to the 3.3 hardknott release
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ieae36798d66d21c2c642931f06407d3bb2acf163
|
|
This layer provides libseccomp.
Signed-off-by: Anton D. Kachalov <gmouse@google.com>
Change-Id: I84513d56f2ed75fab49043196b98ef8b858e394f
|
|
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 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
|
|
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
|
|
Implement systemd service to create an Ethernet over USB interface
for communication between CPU and BMC.
Tested:
1. Check usb0 ethernet interface in BMC console
root@mtjade:~# ifconfig usb0
usb0 Link encap:Ethernet HWaddr DA:F7:E9:A3:5A:0C
inet addr:192.168.0.10 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:412 (412.0 B)
2. Check USB Ethernet device on Host Linux
$ lsusb | grep Ethernet
Bus 001 Device 004: ID 1d6b:0103 Linux Foundation NCM (Ethernet) Gadget
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Icb7c096df426233e8f2ee7318f2a1805f07ab3a7
|
|
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
|