Home
last modified time | relevance | path

Searched +full:surface +full:- +full:sam (Results 1 – 7 of 7) sorted by relevance

/Documentation/driver-api/surface_aggregator/
Doverview.rst1 .. SPDX-License-Identifier: GPL-2.0+
7 The Surface/System Aggregator Module (SAM, SSAM) is an (arguably *the*)
8 embedded controller (EC) on Microsoft Surface devices. It has been originally
9 introduced on 4th generation devices (Surface Pro 4, Surface Book 1), but
10 its responsibilities and feature-set have since been expanded significantly
17 Not much is currently known about SAM on 4th generation devices (Surface Pro
18 4, Surface Book 1), due to the use of a different communication interface
19 between host and EC (as detailed below). On 5th (Surface Pro 2017, Surface
20 Book 2, Surface Laptop 1) and later generation devices, SAM is responsible
23 sensors (e.g. skin temperature) and cooling/performance-mode setting to the
[all …]
Dssh.rst1 .. SPDX-License-Identifier: GPL-2.0+
22 Surface Serial Hub Protocol
25 The Surface Serial Hub (SSH) is the central communication interface for the
26 embedded Surface Aggregator Module controller (SAM or EC), found on newer
27 Surface generations. We will refer to this protocol and interface as
28 SAM-over-SSH, as opposed to SAM-over-HID for the older generations.
30 On Surface devices with SAM-over-SSH, SAM is connected to the host via UART
32 significant functionality is provided via SAM, including access to battery
33 and power information and events, thermal read-outs and events, and many
34 more. For Surface Laptops, keyboard input is handled via HID directed
[all …]
Dclient.rst1 .. SPDX-License-Identifier: GPL-2.0+
35 client-api
45 are non-discoverable and instead need to be explicitly provided by some
49 Non-SSAM Client Drivers
52 All communication with the SAM EC is handled via the |ssam_controller|
53 representing that EC to the kernel. Drivers targeting a non-SSAM device (and
67 .. code-block:: c
73 ctrl = ssam_client_bind(&pdev->dev);
75 return PTR_ERR(ctrl) == -ENODEV ? -EPROBE_DEFER : PTR_ERR(ctrl);
103 setup provided through the parent-child relation, are preserved. If
[all …]
Dinternal.rst1 .. SPDX-License-Identifier: GPL-2.0+
48 Architectural overview of the Surface System Aggregator Module (SSAM) core
49 and Surface Serial Hub (SSH) driver. For the API documentation, refer to:
54 internal-api
63 Lower-level packet transport is implemented in the *packet transport layer
68 packet payloads to higher-level layers.
71 around command-type packet payloads, i.e. requests (sent from host to EC),
81 ``RQID``). This layer basically provides a fundamental interface to the SAM
90 Refer to Documentation/driver-api/surface_aggregator/client.rst for
93 that chapter and the Documentation/driver-api/surface_aggregator/ssh.rst
[all …]
/Documentation/devicetree/bindings/platform/
Dmicrosoft,surface-sam.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/platform/microsoft,surface-sam.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Surface System Aggregator Module (SAM, SSAM)
10 - Konrad Dybcio <konradybcio@kernel.org>
13 Surface devices use a standardized embedded controller to let the
20 const: microsoft,surface-sam
25 current-speed: true
28 - compatible
[all …]
/Documentation/driver-api/surface_aggregator/clients/
Dsan.rst1 .. SPDX-License-Identifier: GPL-2.0+
8 Surface ACPI Notify
11 The Surface ACPI Notify (SAN) device provides the bridge between ACPI and
12 SAM controller. Specifically, ACPI code can execute requests and handle
14 relating to the discrete GPU (dGPU) of the Surface Book 2 can be sent from
15 ACPI code (note: the Surface Book 3 uses a different method for this). The
16 only currently known event sent via this interface is a dGPU power-on
22 registration and notifier-block registration.
30 Notifier-blocks can be registered by any device for as long as the module is
41 .. kernel-doc:: include/linux/surface_acpi_notify.h
[all …]
Dcdev.rst1 .. SPDX-License-Identifier: GPL-2.0+
8 User-Space EC Interface (cdev)
11 The ``surface_aggregator_cdev`` module provides a misc-device for the SSAM
12 controller to allow for a (more or less) direct connection from user-space to
13 the SAM EC. It is intended to be used for development and debugging, and
17 The provided interface is accessible through the ``/dev/surface/aggregator``
18 device-file. All functionality of this interface is provided via IOCTLs.
23 at https://github.com/linux-surface/surface-aggregator-module/tree/master/scripts/ssam.
31 Events can be received by reading from the device-file. The are represented by
37 interface, associated with a specific target category and device-file-instance.
[all …]