Commit ceccd196 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Hans de Goede
Browse files

dt-bindings: platform: Add Surface System Aggregator Module



Add bindings for the Surface System Aggregator Module (SAM/SSAM), the
Microsoft Surface-standard Embedded Controller, used on both x86- and
Qualcomm-based devices.

It provides a plethora of functions, depending on what's wired up to
it. That includes but is not limited to: fan control, keyboard/touchpad
support, thermal sensors, power control, special buttons, tablet mode.

Signed-off-by: default avatarKonrad Dybcio <quic_kdybcio@quicinc.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240814-topic-sam-v3-2-a84588aad233@quicinc.com


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent ac5ebdad
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/platform/microsoft,surface-sam.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Surface System Aggregator Module (SAM, SSAM)

maintainers:
  - Konrad Dybcio <konradybcio@kernel.org>

description: |
  Surface devices use a standardized embedded controller to let the
  operating system interface with various hardware functions. The
  specific functionalities are modeled as subdevices and matched on
  five levels: domain, category, target, instance and function.

properties:
  compatible:
    const: microsoft,surface-sam

  interrupts:
    maxItems: 1

  current-speed: true

required:
  - compatible
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    uart {
        embedded-controller {
            compatible = "microsoft,surface-sam";

            interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>;

            pinctrl-0 = <&ssam_state>;
            pinctrl-names = "default";

            current-speed = <4000000>;
        };
    };