2022-09-29 10:35:53

by Quan Nguyen

[permalink] [raw]
Subject: [PATCH v9 0/9] Add Ampere's Altra SMPro MFD and its child drivers

The SMpro co-processor on Ampere Altra processor family is to monitor
and report various data included hwmon-related info, RAS errors, and
other miscellaneous information. The SMPro MFD driver initializes the
register map and instantiates all sub-devices. All the specifics will
be handled in the child drivers.

This patch set includes support for Ampere SMpro hwmon, errmon, and
misc as the child drivers. The hwmon driver supports accessing various
CPU sensors provided by the SMpro co-processor including temperature,
power, voltages, and current found on Ampere Altra processor family.
The errmon driver supports monitoring and reporting RAS-related errors.
The misc driver is to support reporting boot progress and other
miscellaneous information.

Discussion for v8:
https://lore.kernel.org/all/[email protected]/

v9:
+ Fix issue when building htmldocs [Bagas]
+ Insert 'break;' to avoid fall-through [kernel test robot]
+ Update SPDX license [Greg]
+ Fix messy goto [Greg]
+ Use ATTRIBUTE_GROUPS() [Greg]
+ Use dev_groups instead of sysfs_create_group() to avoid
user space racing issue [Greg]
+ Fix ugly static struct define [Greg]
+ Rename smpro-mfd.c to smpro-core.c [Lee Jones]
+ Fix include files in alphabetical order [Lee Jones]
+ Add defines to avoid using magic numbers [Lee Jones]
+ Return -EINVAL if device does not match [Lee Jones]
+ Remove unnecessary comment [Lee Jones]
+ Remove unnecessary channel info for VRD and DIMM event [Quan]
+ Separate error_[smpro|pmpro] to error_* and warn_* [Quan]
+ Add minor refactor code [Quan]

v8:
+ Insert 'break;' to avoid fall-through [kernel test robot]
+ Avoid uninitialized variable use [kernel test robot]
+ Remove unused #*_cells [Krzysztof]
+ Switch to use sysfs_emit() [Greg]
+ Sysfs to return single value only [Greg]
+ Fix KernelVerion field in Documentation/ABI/testing doc [Greg]
+ Change errors_* sysfs to error_* [Quan]
+ Add overflow_[core|mem|pcie|other]_[ce|ue] sysfs to report
overflow status of each type of HW errors [Quan]
+ Update wording in Kconfig for smpro-errmon and smpro-misc [Quan]
+ Masks reserved bit when read 10-bit power value [Quan]
+ Add some minor refactor [Quan]

v7:
+ Add docs to Documentation/ABI/testing [Greg]
+ Re-order patches to avoid compile dependency [Lee Jones]
+ Remove regmap_acquire/release_lock() [Quan]
+ Install regmap bus->read/write() to handle multiple types of bus
access [Quan]
+ Replace i2c block read by regmap_noinc_read() [Quan]
+ Fix wrong return type of *show/store() [kernel test robot]
+ Update GPL version [Quan]
+ Add some others minor code refactor [Quan]

v6:
+ Introduced smpro-errmon, smpro-misc as smpro-mfd sub-device [Quan]

v5:
+ Introduced the smpro-mfd driver and drop the use of
simple-mfd-i2c driver to avoid DT node with no resource in child
device DT nodes [Rob]
+ Removed the use of reg DT property in child driver [Quan]
+ Validated ManufactureID when probing smpro-mfd drivers [Quan]
+ As child devices are instantiated by SMPro MFD driver, drop the
ManufacturerID checking in child driver, ie: smpro-hwmon [Quan]
+ Revised commit messages [Quan]

v4:
+ Revised commit message [Quan]
+ Fixed build issue found by kernel test robot [Guenter]
+ Returned regmap_read() error code [Guenter]

v3:
+ Supported list of compatible string [Rob]
+ Introduced reg property in DT to specify reg offset [Rob]
+ Updated description and other minor changes in yaml file [Rob]
+ Handled negative temperature value [Guenter]
+ Returned -ENODEV if Manufacturer ID is wrong [Guenter]
+ Refactored smpro_read_string() and smpro_temp_read() [Guenter]
+ Removed smpro_write() function [Guenter]
+ Added minor refactor changes [Quan]

v2:
+ Used 'struct of_device_id's .data attribute [Lee Jones]
+ Removed "virtual" sensors [Guenter]
+ Fixed typo "mili" to "milli", "nanoWatt" to "microWatt" [Guenter]
+ Reported SOC_TDP as "Socket TDP" using max attributes [Guenter]
+ Clarified "highest" meaning in documentation [Guenter]
+ Corrected return error code when host is turn off [Guenter]
+ Reported MEM HOT Threshold for all DIMMs as temp*_crit [Guenter]
+ Removed license info as SPDX-License-Identifier existed [Guenter]
+ Added is_visible() support [Guenter]
+ Used HWMON_CHANNEL_INFO() macro and LABEL attributes [Guenter]
+ Made is_valid_id() return boolean [Guenter]
+ Returned -EPROBE_DEFER when smpro reg inaccessible [Guenter]
+ Removed unnecessary error message when dev register fail [Guenter]
+ Removed Socket TDP sensor [Quan]
+ Changed "ampere,ac01-smpro" to "ampere,smpro" [Quan]
+ Included sensor type and channel in labels [Quan]
+ Refactorized code to fix checkpatch.pl --strict complaint [Quan]

Quan Nguyen (9):
hwmon: smpro: Add Ampere's Altra smpro-hwmon driver
docs: hwmon: (smpro-hwmon) Add documentation
misc: smpro-errmon: Add Ampere's SMpro error monitor driver
docs: misc-devices: (smpro-errmon) Add documentation
misc: smpro-misc: Add Ampere's Altra SMpro misc driver
docs: misc-devices: (smpro-misc) Add documentation
dt-bindings: mfd: Add bindings for Ampere Altra SMPro MFD driver
mfd: Add Ampere's Altra SMpro MFD driver
docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs
interfaces

.../sysfs-bus-platform-devices-ampere-smpro | 125 +++++
.../devicetree/bindings/mfd/ampere,smpro.yaml | 42 ++
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/smpro-hwmon.rst | 101 ++++
Documentation/misc-devices/index.rst | 2 +
Documentation/misc-devices/smpro-errmon.rst | 193 +++++++
Documentation/misc-devices/smpro-misc.rst | 82 +++
drivers/hwmon/Kconfig | 8 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/smpro-hwmon.c | 463 +++++++++++++++
drivers/mfd/Kconfig | 12 +
drivers/mfd/Makefile | 1 +
drivers/mfd/smpro-core.c | 138 +++++
drivers/misc/Kconfig | 22 +
drivers/misc/Makefile | 2 +
drivers/misc/smpro-errmon.c | 529 ++++++++++++++++++
drivers/misc/smpro-misc.c | 145 +++++
17 files changed, 1867 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
create mode 100644 Documentation/devicetree/bindings/mfd/ampere,smpro.yaml
create mode 100644 Documentation/hwmon/smpro-hwmon.rst
create mode 100644 Documentation/misc-devices/smpro-errmon.rst
create mode 100644 Documentation/misc-devices/smpro-misc.rst
create mode 100644 drivers/hwmon/smpro-hwmon.c
create mode 100644 drivers/mfd/smpro-core.c
create mode 100644 drivers/misc/smpro-errmon.c
create mode 100644 drivers/misc/smpro-misc.c

--
2.35.1


2022-09-29 10:48:14

by Quan Nguyen

[permalink] [raw]
Subject: [PATCH v9 9/9] docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs interfaces

Add documentation for the Ampere(R)'s Altra(R) SMpro sysfs interfaces

Signed-off-by: Quan Nguyen <[email protected]>
---
Changes in v9:
+ Remove unnecessary channel info for VRD and DIMM event [Quan]
+ Update to align with sysfs changes [Quan]

Changes in v8:
+ Sysfs to return single value in hex format [Greg]
+ Fix KernelVersion info [Greg]
+ Change errors_* to error_* [Quan]
+ Added overflow_[core|mem|pcie|other]_[ce|ue] [Quan]

Changes in v7:
+ First introduce in v7 [Greg]

.../sysfs-bus-platform-devices-ampere-smpro | 125 ++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro

diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
new file mode 100644
index 000000000000..d8f82a06570d
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
@@ -0,0 +1,125 @@
+What: /sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed
+ in hex format.
+
+ The detail of each sysfs entries is as below:
+ +-------------+---------------------------------------------------------+
+ | Error | Sysfs entry |
+ +-------------+---------------------------------------------------------+
+ | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
+ | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
+ | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
+ | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
+ | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
+ | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
+ | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce|
+ | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue|
+ +-------------+---------------------------------------------------------+
+ UE: Uncorrect-able Error
+ CE: Correct-able Error
+
+ See section 3.3 Ampere (Vendor-Specific) Error Record Formats,
+ Altra Family RAS Supplement.
+
+
+What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RO) Return the overflow status of each type HW error reported:
+ 0 : No overflow
+ 1 : There is an overflow and the oldest HW errors are dropped
+
+ The detail of each sysfs entries is as below:
+ +-------------+-----------------------------------------------------------+
+ | Overflow | Sysfs entry |
+ +-------------+-----------------------------------------------------------+
+ | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce |
+ | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue |
+ | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce |
+ | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue |
+ | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce |
+ | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue |
+ | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce|
+ | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue|
+ +-------------+-----------------------------------------------------------+
+ UE: Uncorrect-able Error
+ CE: Correct-able Error
+
+What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RO) Contains the internal firmware error/warning printed as hex format.
+
+ The detail of each sysfs entries is as below:
+ +---------------+------------------------------------------------------+
+ | Error | Sysfs entry |
+ +---------------+------------------------------------------------------+
+ | SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro |
+ | SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro |
+ | PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro |
+ | PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro |
+ +---------------+------------------------------------------------------+
+ See more details in section 5.10 RAS Internal Error Register Definitions,
+ Altra Family Soc BMC Interface Specification.
+
+What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RO) Contains the detail information in case of VRD/DIMM warning/hot events
+ in hex format as below:
+
+ AAAA
+ Where:
+ AAAA: The event detail information data
+
+ See more details in section 5.7 GPI Status Registers,
+ Altra Family Soc BMC Interface Specification.
+
+
+What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RO) Contains the boot stages information in hex as format below:
+
+ AABBCCCCCCCC
+ Where:
+ AA : The boot stages
+ 00: SMpro firmware booting
+ 01: PMpro firmware booting
+ 02: ATF BL1 firmware booting
+ 03: DDR initialization
+ 04: DDR training report status
+ 05: ATF BL2 firmware booting
+ 06: ATF BL31 firmware booting
+ 07: ATF BL32 firmware booting
+ 08: UEFI firmware booting
+ 09: OS booting
+ BB : Boot status
+ 00: Not started
+ 01: Started
+ 02: Completed without error
+ 03: Failed.
+ CCCCCCCC: Boot status information defined for each boot stages
+
+ See more details in section 5.11 Boot Stage Register Definitions,
+ and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
+ Interface Specification.
+
+
+What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
+KernelVersion: 5.18
+Contact: [email protected]
+Description:
+ (RW) Contains the desired SoC power limit in Watt.
+ Writes to this sysfs set the desired SoC power limit (W).
+ Reads from this register return the current SoC power limit (W).
+ The value ranges:
+ Minimum: 120 W
+ Maximum: Socket TDP power
--
2.35.1

2022-09-30 09:53:11

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH v9 9/9] docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs interfaces

On Thu, Sep 29, 2022 at 04:43:21PM +0700, Quan Nguyen wrote:
> diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
> new file mode 100644
> index 000000000000..d8f82a06570d
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
> @@ -0,0 +1,125 @@
> +What: /sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed
> + in hex format.
> +
> + The detail of each sysfs entries is as below:
> + +-------------+---------------------------------------------------------+
> + | Error | Sysfs entry |
> + +-------------+---------------------------------------------------------+
> + | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
> + | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
> + | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
> + | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
> + | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
> + | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
> + | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce|
> + | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue|
> + +-------------+---------------------------------------------------------+
> + UE: Uncorrect-able Error
> + CE: Correct-able Error
> +
> + See section 3.3 Ampere (Vendor-Specific) Error Record Formats,
> + Altra Family RAS Supplement.
> +
> +
> +What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RO) Return the overflow status of each type HW error reported:
> + 0 : No overflow
> + 1 : There is an overflow and the oldest HW errors are dropped
> +
> + The detail of each sysfs entries is as below:
> + +-------------+-----------------------------------------------------------+
> + | Overflow | Sysfs entry |
> + +-------------+-----------------------------------------------------------+
> + | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce |
> + | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue |
> + | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce |
> + | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue |
> + | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce |
> + | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue |
> + | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce|
> + | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue|
> + +-------------+-----------------------------------------------------------+
> + UE: Uncorrect-able Error
> + CE: Correct-able Error
> +
> +What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RO) Contains the internal firmware error/warning printed as hex format.
> +
> + The detail of each sysfs entries is as below:
> + +---------------+------------------------------------------------------+
> + | Error | Sysfs entry |
> + +---------------+------------------------------------------------------+
> + | SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro |
> + | SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro |
> + | PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro |
> + | PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro |
> + +---------------+------------------------------------------------------+
> + See more details in section 5.10 RAS Internal Error Register Definitions,
> + Altra Family Soc BMC Interface Specification.
> +
> +What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RO) Contains the detail information in case of VRD/DIMM warning/hot events
> + in hex format as below:
> +
> + AAAA
> + Where:
> + AAAA: The event detail information data
> +
> + See more details in section 5.7 GPI Status Registers,
> + Altra Family Soc BMC Interface Specification.
> +
> +
> +What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RO) Contains the boot stages information in hex as format below:
> +
> + AABBCCCCCCCC
> + Where:
> + AA : The boot stages
> + 00: SMpro firmware booting
> + 01: PMpro firmware booting
> + 02: ATF BL1 firmware booting
> + 03: DDR initialization
> + 04: DDR training report status
> + 05: ATF BL2 firmware booting
> + 06: ATF BL31 firmware booting
> + 07: ATF BL32 firmware booting
> + 08: UEFI firmware booting
> + 09: OS booting
> + BB : Boot status
> + 00: Not started
> + 01: Started
> + 02: Completed without error
> + 03: Failed.
> + CCCCCCCC: Boot status information defined for each boot stages
> +
> + See more details in section 5.11 Boot Stage Register Definitions,
> + and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
> + Interface Specification.
> +
> +
> +What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
> +KernelVersion: 5.18
> +Contact: [email protected]
> +Description:
> + (RW) Contains the desired SoC power limit in Watt.
> + Writes to this sysfs set the desired SoC power limit (W).
> + Reads from this register return the current SoC power limit (W).
> + The value ranges:
> + Minimum: 120 W
> + Maximum: Socket TDP power

The documentation above produces htmldocs warnings:

Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:71: WARNING: Unexpected indentation.
Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:117: WARNING: Unexpected indentation.
Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:86: WARNING: Unexpected indentation.
Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:86: WARNING: Definition list ends without a blank line; unexpected unindent.

I have applied the fixup (with fixes to technical references):

---- >8 ----

diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
index d8f82a06570d88..39cf222fb6510a 100644
--- a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
+++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
@@ -6,23 +6,32 @@ Description:
in hex format.

The detail of each sysfs entries is as below:
+
+-------------+---------------------------------------------------------+
| Error | Sysfs entry |
+-------------+---------------------------------------------------------+
- | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
- | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
- | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
- | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
- | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
- | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
- | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce|
- | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue|
+ | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
+-------------+---------------------------------------------------------+
+ | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
+ +-------------+---------------------------------------------------------+
+ | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
+ +-------------+---------------------------------------------------------+
+ | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
+ +-------------+---------------------------------------------------------+
+ | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
+ +-------------+---------------------------------------------------------+
+ | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
+ +-------------+---------------------------------------------------------+
+ | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce |
+ +-------------+---------------------------------------------------------+
+ | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue |
+ +-------------+---------------------------------------------------------+
+
UE: Uncorrect-able Error
CE: Correct-able Error

- See section 3.3 Ampere (Vendor-Specific) Error Record Formats,
- Altra Family RAS Supplement.
+ For details, see section `3.3 Ampere (Vendor-Specific) Error Record Formats,
+ Altra Family RAS Supplement`.


What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
@@ -30,24 +39,36 @@ KernelVersion: 5.18
Contact: [email protected]
Description:
(RO) Return the overflow status of each type HW error reported:
- 0 : No overflow
- 1 : There is an overflow and the oldest HW errors are dropped
+
+ - 0 : No overflow
+ - 1 : There is an overflow and the oldest HW errors are dropped

The detail of each sysfs entries is as below:
+
+-------------+-----------------------------------------------------------+
| Overflow | Sysfs entry |
+-------------+-----------------------------------------------------------+
| Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce |
+ +-------------+-----------------------------------------------------------+
| Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue |
+ +-------------+-----------------------------------------------------------+
| Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce |
+ +-------------+-----------------------------------------------------------+
| Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue |
+ +-------------+-----------------------------------------------------------+
| PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce |
+ +-------------+-----------------------------------------------------------+
| PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue |
+ +-------------+-----------------------------------------------------------+
| Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce|
+ +-------------+-----------------------------------------------------------+
| Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue|
+-------------+-----------------------------------------------------------+
- UE: Uncorrect-able Error
- CE: Correct-able Error
+
+ where:
+
+ - UE: Uncorrect-able Error
+ - CE: Correct-able Error

What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
KernelVersion: 5.18
@@ -56,61 +77,74 @@ Description:
(RO) Contains the internal firmware error/warning printed as hex format.

The detail of each sysfs entries is as below:
+
+---------------+------------------------------------------------------+
| Error | Sysfs entry |
+---------------+------------------------------------------------------+
| SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro |
+ +---------------+------------------------------------------------------+
| SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro |
+ +---------------+------------------------------------------------------+
| PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro |
+ +---------------+------------------------------------------------------+
| PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro |
+---------------+------------------------------------------------------+
- See more details in section 5.10 RAS Internal Error Register Definitions,
- Altra Family Soc BMC Interface Specification.
+
+ For details, see section `5.10 RAS Internal Error Register Definitions,
+ Altra Family Soc BMC Interface Specification`.

What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
KernelVersion: 5.18
Contact: [email protected]
Description:
(RO) Contains the detail information in case of VRD/DIMM warning/hot events
- in hex format as below:
+ in hex format as below::

- AAAA
- Where:
- AAAA: The event detail information data
+ AAAA

- See more details in section 5.7 GPI Status Registers,
- Altra Family Soc BMC Interface Specification.
+ where:
+
+ - ``AAAA``: The event detail information data
+
+ For more details, see section `5.7 GPI Status Registers,
+ Altra Family Soc BMC Interface Specification`.


What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
KernelVersion: 5.18
Contact: [email protected]
Description:
- (RO) Contains the boot stages information in hex as format below:
+ (RO) Contains the boot stages information in hex as format below::

- AABBCCCCCCCC
- Where:
- AA : The boot stages
- 00: SMpro firmware booting
- 01: PMpro firmware booting
- 02: ATF BL1 firmware booting
- 03: DDR initialization
- 04: DDR training report status
- 05: ATF BL2 firmware booting
- 06: ATF BL31 firmware booting
- 07: ATF BL32 firmware booting
- 08: UEFI firmware booting
- 09: OS booting
- BB : Boot status
- 00: Not started
- 01: Started
- 02: Completed without error
- 03: Failed.
- CCCCCCCC: Boot status information defined for each boot stages
+ AABBCCCCCCCC

- See more details in section 5.11 Boot Stage Register Definitions,
- and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
- Interface Specification.
+ where:
+
+ - ``AA`` : The boot stages
+
+ - 00: SMpro firmware booting
+ - 01: PMpro firmware booting
+ - 02: ATF BL1 firmware booting
+ - 03: DDR initialization
+ - 04: DDR training report status
+ - 05: ATF BL2 firmware booting
+ - 06: ATF BL31 firmware booting
+ - 07: ATF BL32 firmware booting
+ - 08: UEFI firmware booting
+ - 09: OS booting
+
+ - ``BB`` : Boot status
+
+ - 00: Not started
+ - 01: Started
+ - 02: Completed without error
+ - 03: Failed.
+
+ - ``CCCCCCCC``: Boot status information defined for each boot stages
+
+ For details, see section `5.11 Boot Stage Register Definitions`
+ and section `6. Processor Boot Progress Codes, Altra Family Soc BMC
+ Interface Specification`.


What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
@@ -121,5 +155,6 @@ Description:
Writes to this sysfs set the desired SoC power limit (W).
Reads from this register return the current SoC power limit (W).
The value ranges:
- Minimum: 120 W
- Maximum: Socket TDP power
+
+ - Minimum: 120 W
+ - Maximum: Socket TDP power

Thanks.

--
An old man doll... just what I always wanted! - Clara


Attachments:
(No filename) (16.27 kB)
signature.asc (235.00 B)
Download all attachments

2022-09-30 19:57:34

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v9 9/9] docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs interfaces

Hi Quan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on groeck-staging/hwmon-next lee-mfd/for-mfd-next linus/master v6.0-rc7 next-20220929]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Quan-Nguyen/Add-Ampere-s-Altra-SMPro-MFD-and-its-child-drivers/20220929-174756
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 3aa12610b481f99b5e4e3f801ff7f9b7629e4ecf
reproduce:
# https://github.com/intel-lab-lkp/linux/commit/a829e50ba00cfed243970c8a3250a6824c1371e4
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Quan-Nguyen/Add-Ampere-s-Altra-SMPro-MFD-and-its-child-drivers/20220929-174756
git checkout a829e50ba00cfed243970c8a3250a6824c1371e4
make menuconfig
# enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

>> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:71: WARNING: Unexpected indentation.
>> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:86: WARNING: Definition list ends without a blank line; unexpected unindent.

vim +71 Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro

> 71 KernelVersion: 5.18
72 Contact: [email protected]
73 Description:
74 (RO) Contains the detail information in case of VRD/DIMM warning/hot events
75 in hex format as below:
76
77 AAAA
78 Where:
79 AAAA: The event detail information data
80
81 See more details in section 5.7 GPI Status Registers,
82 Altra Family Soc BMC Interface Specification.
83
84
85 What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
> 86 KernelVersion: 5.18
87 Contact: [email protected]
88 Description:
89 (RO) Contains the boot stages information in hex as format below:
90
91 AABBCCCCCCCC
92 Where:
93 AA : The boot stages
94 00: SMpro firmware booting
95 01: PMpro firmware booting
96 02: ATF BL1 firmware booting
97 03: DDR initialization
98 04: DDR training report status
99 05: ATF BL2 firmware booting
100 06: ATF BL31 firmware booting
101 07: ATF BL32 firmware booting
102 08: UEFI firmware booting
103 09: OS booting
104 BB : Boot status
105 00: Not started
106 01: Started
107 02: Completed without error
108 03: Failed.
109 CCCCCCCC: Boot status information defined for each boot stages
110
111 See more details in section 5.11 Boot Stage Register Definitions,
112 and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
113 Interface Specification.
114
115

--
0-DAY CI Kernel Test Service
https://01.org/lkp


Attachments:
(No filename) (3.46 kB)
config (39.23 kB)
Download all attachments

2022-10-06 08:14:16

by Quan Nguyen

[permalink] [raw]
Subject: Re: [PATCH v9 9/9] docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs interfaces



On 30/09/2022 16:38, Bagas Sanjaya wrote:
> On Thu, Sep 29, 2022 at 04:43:21PM +0700, Quan Nguyen wrote:
>> diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
>> new file mode 100644
>> index 000000000000..d8f82a06570d
>> --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
>> @@ -0,0 +1,125 @@
>> +What: /sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed
>> + in hex format.
>> +
>> + The detail of each sysfs entries is as below:
>> + +-------------+---------------------------------------------------------+
>> + | Error | Sysfs entry |
>> + +-------------+---------------------------------------------------------+
>> + | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
>> + | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
>> + | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
>> + | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
>> + | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
>> + | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
>> + | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce|
>> + | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue|
>> + +-------------+---------------------------------------------------------+
>> + UE: Uncorrect-able Error
>> + CE: Correct-able Error
>> +
>> + See section 3.3 Ampere (Vendor-Specific) Error Record Formats,
>> + Altra Family RAS Supplement.
>> +
>> +
>> +What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RO) Return the overflow status of each type HW error reported:
>> + 0 : No overflow
>> + 1 : There is an overflow and the oldest HW errors are dropped
>> +
>> + The detail of each sysfs entries is as below:
>> + +-------------+-----------------------------------------------------------+
>> + | Overflow | Sysfs entry |
>> + +-------------+-----------------------------------------------------------+
>> + | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce |
>> + | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue |
>> + | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce |
>> + | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue |
>> + | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce |
>> + | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue |
>> + | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce|
>> + | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue|
>> + +-------------+-----------------------------------------------------------+
>> + UE: Uncorrect-able Error
>> + CE: Correct-able Error
>> +
>> +What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RO) Contains the internal firmware error/warning printed as hex format.
>> +
>> + The detail of each sysfs entries is as below:
>> + +---------------+------------------------------------------------------+
>> + | Error | Sysfs entry |
>> + +---------------+------------------------------------------------------+
>> + | SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro |
>> + | SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro |
>> + | PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro |
>> + | PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro |
>> + +---------------+------------------------------------------------------+
>> + See more details in section 5.10 RAS Internal Error Register Definitions,
>> + Altra Family Soc BMC Interface Specification.
>> +
>> +What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RO) Contains the detail information in case of VRD/DIMM warning/hot events
>> + in hex format as below:
>> +
>> + AAAA
>> + Where:
>> + AAAA: The event detail information data
>> +
>> + See more details in section 5.7 GPI Status Registers,
>> + Altra Family Soc BMC Interface Specification.
>> +
>> +
>> +What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RO) Contains the boot stages information in hex as format below:
>> +
>> + AABBCCCCCCCC
>> + Where:
>> + AA : The boot stages
>> + 00: SMpro firmware booting
>> + 01: PMpro firmware booting
>> + 02: ATF BL1 firmware booting
>> + 03: DDR initialization
>> + 04: DDR training report status
>> + 05: ATF BL2 firmware booting
>> + 06: ATF BL31 firmware booting
>> + 07: ATF BL32 firmware booting
>> + 08: UEFI firmware booting
>> + 09: OS booting
>> + BB : Boot status
>> + 00: Not started
>> + 01: Started
>> + 02: Completed without error
>> + 03: Failed.
>> + CCCCCCCC: Boot status information defined for each boot stages
>> +
>> + See more details in section 5.11 Boot Stage Register Definitions,
>> + and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
>> + Interface Specification.
>> +
>> +
>> +What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
>> +KernelVersion: 5.18
>> +Contact: [email protected]
>> +Description:
>> + (RW) Contains the desired SoC power limit in Watt.
>> + Writes to this sysfs set the desired SoC power limit (W).
>> + Reads from this register return the current SoC power limit (W).
>> + The value ranges:
>> + Minimum: 120 W
>> + Maximum: Socket TDP power
>
> The documentation above produces htmldocs warnings:
>
> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:71: WARNING: Unexpected indentation.
> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:117: WARNING: Unexpected indentation.
> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:86: WARNING: Unexpected indentation.
> Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro:86: WARNING: Definition list ends without a blank line; unexpected unindent.
>
> I have applied the fixup (with fixes to technical references):
>
> ---- >8 ----
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
> index d8f82a06570d88..39cf222fb6510a 100644
> --- a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
> +++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
> @@ -6,23 +6,32 @@ Description:
> in hex format.
>
> The detail of each sysfs entries is as below:
> +
> +-------------+---------------------------------------------------------+
> | Error | Sysfs entry |
> +-------------+---------------------------------------------------------+
> - | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
> - | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
> - | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
> - | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
> - | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
> - | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
> - | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce|
> - | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue|
> + | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce |
> +-------------+---------------------------------------------------------+
> + | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue |
> + +-------------+---------------------------------------------------------+
> + | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce |
> + +-------------+---------------------------------------------------------+
> + | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue |
> + +-------------+---------------------------------------------------------+
> + | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce |
> + +-------------+---------------------------------------------------------+
> + | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue |
> + +-------------+---------------------------------------------------------+
> + | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce |
> + +-------------+---------------------------------------------------------+
> + | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue |
> + +-------------+---------------------------------------------------------+
> +
> UE: Uncorrect-able Error
> CE: Correct-able Error
>
> - See section 3.3 Ampere (Vendor-Specific) Error Record Formats,
> - Altra Family RAS Supplement.
> + For details, see section `3.3 Ampere (Vendor-Specific) Error Record Formats,
> + Altra Family RAS Supplement`.
>
>
> What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
> @@ -30,24 +39,36 @@ KernelVersion: 5.18
> Contact: [email protected]
> Description:
> (RO) Return the overflow status of each type HW error reported:
> - 0 : No overflow
> - 1 : There is an overflow and the oldest HW errors are dropped
> +
> + - 0 : No overflow
> + - 1 : There is an overflow and the oldest HW errors are dropped
>
> The detail of each sysfs entries is as below:
> +
> +-------------+-----------------------------------------------------------+
> | Overflow | Sysfs entry |
> +-------------+-----------------------------------------------------------+
> | Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce |
> + +-------------+-----------------------------------------------------------+
> | Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue |
> + +-------------+-----------------------------------------------------------+
> | Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce |
> + +-------------+-----------------------------------------------------------+
> | Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue |
> + +-------------+-----------------------------------------------------------+
> | PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce |
> + +-------------+-----------------------------------------------------------+
> | PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue |
> + +-------------+-----------------------------------------------------------+
> | Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce|
> + +-------------+-----------------------------------------------------------+
> | Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue|
> +-------------+-----------------------------------------------------------+
> - UE: Uncorrect-able Error
> - CE: Correct-able Error
> +
> + where:
> +
> + - UE: Uncorrect-able Error
> + - CE: Correct-able Error
>
> What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
> KernelVersion: 5.18
> @@ -56,61 +77,74 @@ Description:
> (RO) Contains the internal firmware error/warning printed as hex format.
>
> The detail of each sysfs entries is as below:
> +
> +---------------+------------------------------------------------------+
> | Error | Sysfs entry |
> +---------------+------------------------------------------------------+
> | SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro |
> + +---------------+------------------------------------------------------+
> | SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro |
> + +---------------+------------------------------------------------------+
> | PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro |
> + +---------------+------------------------------------------------------+
> | PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro |
> +---------------+------------------------------------------------------+
> - See more details in section 5.10 RAS Internal Error Register Definitions,
> - Altra Family Soc BMC Interface Specification.
> +
> + For details, see section `5.10 RAS Internal Error Register Definitions,
> + Altra Family Soc BMC Interface Specification`.
>
> What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
> KernelVersion: 5.18
> Contact: [email protected]
> Description:
> (RO) Contains the detail information in case of VRD/DIMM warning/hot events
> - in hex format as below:
> + in hex format as below::
>
> - AAAA
> - Where:
> - AAAA: The event detail information data
> + AAAA
>
> - See more details in section 5.7 GPI Status Registers,
> - Altra Family Soc BMC Interface Specification.
> + where:
> +
> + - ``AAAA``: The event detail information data
> +
> + For more details, see section `5.7 GPI Status Registers,
> + Altra Family Soc BMC Interface Specification`.
>
>
> What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
> KernelVersion: 5.18
> Contact: [email protected]
> Description:
> - (RO) Contains the boot stages information in hex as format below:
> + (RO) Contains the boot stages information in hex as format below::
>
> - AABBCCCCCCCC
> - Where:
> - AA : The boot stages
> - 00: SMpro firmware booting
> - 01: PMpro firmware booting
> - 02: ATF BL1 firmware booting
> - 03: DDR initialization
> - 04: DDR training report status
> - 05: ATF BL2 firmware booting
> - 06: ATF BL31 firmware booting
> - 07: ATF BL32 firmware booting
> - 08: UEFI firmware booting
> - 09: OS booting
> - BB : Boot status
> - 00: Not started
> - 01: Started
> - 02: Completed without error
> - 03: Failed.
> - CCCCCCCC: Boot status information defined for each boot stages
> + AABBCCCCCCCC
>
> - See more details in section 5.11 Boot Stage Register Definitions,
> - and section 6. Processor Boot Progress Codes, Altra Family Soc BMC
> - Interface Specification.
> + where:
> +
> + - ``AA`` : The boot stages
> +
> + - 00: SMpro firmware booting
> + - 01: PMpro firmware booting
> + - 02: ATF BL1 firmware booting
> + - 03: DDR initialization
> + - 04: DDR training report status
> + - 05: ATF BL2 firmware booting
> + - 06: ATF BL31 firmware booting
> + - 07: ATF BL32 firmware booting
> + - 08: UEFI firmware booting
> + - 09: OS booting
> +
> + - ``BB`` : Boot status
> +
> + - 00: Not started
> + - 01: Started
> + - 02: Completed without error
> + - 03: Failed.
> +
> + - ``CCCCCCCC``: Boot status information defined for each boot stages
> +
> + For details, see section `5.11 Boot Stage Register Definitions`
> + and section `6. Processor Boot Progress Codes, Altra Family Soc BMC
> + Interface Specification`.
>
>
> What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
> @@ -121,5 +155,6 @@ Description:
> Writes to this sysfs set the desired SoC power limit (W).
> Reads from this register return the current SoC power limit (W).
> The value ranges:
> - Minimum: 120 W
> - Maximum: Socket TDP power
> +
> + - Minimum: 120 W
> + - Maximum: Socket TDP power
>

Will apply in next version.
And thank you a lot for the details changes.

Thank you,
- Quan