Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions Documentation/devicetree/bindings/misc/amd,apml-alertl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message Please align with upstream style : dt-bindings: misc: apml-alert

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/amd,apml-alertl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: >
Sideband Remote Management Interface (SB-RMI) compliant
AMD APML Alert_L GPIO.

maintainers:
- Akshay Gupta <Akshay.Gupta@amd.com>

description: |
Processors from AMD provide APML ALERT_L for BMC users to
monitor events.
APML Alert_L is asserted in multiple events,
- Machine Check Exception occurs within the system
- The processor alerts the SBI on system fatal error event
- Set by hardware as a result of a 0x71/0x72/0x73 command completion
- Set by firmware to indicate the completion of a mailbox operation
- High/Low Temperature Alert

APML Alert_L module define uevents to notify userspace of the
alert event.

properties:
compatible:
const: apml-alertl

gpio:
maxItems: 1
description: |
GPIO specifier for APML Alert_L line. Specify GPIO controller, GPIO pin
and polarity.

sbrmi:
$ref: /schemas/types.yaml#/definitions/phandle
description: ref amd,sbrmi.yaml

sbtsi:
$ref: /schemas/types.yaml#/definitions/phandle
description: ref amd,sbtsi.yaml

required:
- compatible
- gpio
- sbrmi
- sbtsi

additionalProperties: false

examples:
- |
/* Alert_L associated with Socket 0 */
alertl_sock0 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 20 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p0_iod0>;
sbtsi = <&sbtsi_p0_iod0>;
};
...
11 changes: 11 additions & 0 deletions arch/arm64/boot/dts/aspeed/aspeed-bmc-amd-congo.dts
Original file line number Diff line number Diff line change
Expand Up @@ -907,6 +907,17 @@
#endif
};

/ {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message : start with ARM64:dts:aspeed:

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

/* Alert_L associated with socket 0 */
alertl_sock0 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 20 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p0_iod0>;
sbtsi = <&sbtsi_p0_iod0>;
};
};

#ifdef I3C_HUB

#define JESD300_SPD_I3C_MODE(bus, index, addr) \
Expand Down
11 changes: 11 additions & 0 deletions arch/arm64/boot/dts/aspeed/aspeed-bmc-amd-kenya.dts
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,17 @@
#endif
};

/ {
/* Alert_L associated with socket 0 */
alertl_sock0 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 20 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p0_iod0>;
sbtsi = <&sbtsi_p0_iod0>;
};
};

#ifdef I3C_HUB

#define JESD300_SPD_I3C_MODE(bus, index, addr) \
Expand Down
20 changes: 20 additions & 0 deletions arch/arm64/boot/dts/aspeed/aspeed-bmc-amd-morocco.dts
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,26 @@
#endif
};

/ {
/* Alert_L associated with socket 0 */
alertl_sock0 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 20 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p0_iod0>;
sbtsi = <&sbtsi_p0_iod0>;
};

/* Alert_L associated with socket 1 */
alertl_sock1 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 104 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p1_iod0>;
sbtsi = <&sbtsi_p1_iod0>;
};
};

#ifdef I3C_HUB

#define JESD300_SPD_I3C_MODE(bus, index, addr) \
Expand Down
20 changes: 20 additions & 0 deletions arch/arm64/boot/dts/aspeed/aspeed-bmc-amd-nigeria.dts
Original file line number Diff line number Diff line change
Expand Up @@ -782,6 +782,26 @@
#endif
};

/ {
/* Alert_L associated with socket 0 */
alertl_sock0 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 20 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p0_iod0>;
sbtsi = <&sbtsi_p0_iod0>;
};

/* Alert_L associated with socket 1 */
alertl_sock1 {
compatible = "apml-alertl";
status = "okay";
gpios = <&ltpi0_gpio 104 GPIO_ACTIVE_LOW>;
sbrmi = <&sbrmi_p1_iod0>;
sbtsi = <&sbtsi_p1_iod0>;
};
};

#ifdef I3C_HUB

#define JESD300_SPD_I3C_MODE(bus, index, addr) \
Expand Down
16 changes: 16 additions & 0 deletions drivers/misc/amd-apml/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,19 @@ config APML_SBTSI

This driver can also be built as a module. If so, the module will
be called apml_sbtsi.

config APML_ALERTL
tristate "Emulated apml alertl interface driver over i3c bus"
depends on APML_SBRMI && APML_SBTSI
default n
help
This driver provides support for AMD APML Alert_L interface,
enabling alert notification from AMD SoCs to a BMC (Baseboard
Management Controller) over I2C/I3C bus.

The driver monitors RAS and thermal events by handling alerts
from SBRMI and SBTSI devices, and reports these events to userspace
via uevents. Device configuration is managed via device tree bindings.

This driver can also be built as a module. If so, the module will
be called apml_alertl.ko.
1 change: 1 addition & 0 deletions drivers/misc/amd-apml/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@

obj-$(CONFIG_APML_SBRMI) += sbrmi.o sbrmi-common.o
obj-$(CONFIG_APML_SBTSI) += apml_sbtsi.o
obj-$(CONFIG_APML_ALERTL) += apml_alertl.o
Loading