Re: [PATCH v2 1/5] dt-bindings: platform: microsoft: Document surface xbl

Bjorn Andersson
2021-11-08T18:47:18Z

On Mon 08 Nov 08:44 PST 2021, Jarrett Schultz wrote:

> Introduce yaml for surface xbl driver.
>
> Signed-off-by: Jarrett Schultz <jaschultz@microsoft.com>
>
> ---
>
> Changes in v2:
> - Removed json-schema dependence
> - Elaborated on description of driver
> - Updated example
>
> ---
>
> .../platform/microsoft/surface-xbl.yaml | 57 +++++++++++++++++++
> MAINTAINERS | 7 +++
> 2 files changed, 64 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml
>
> diff --git a/Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml b/Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml
> new file mode 100644
> index 000000000000..09f806f373bd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/platform/microsoft/surface-xbl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Surface Extensible Bootloader for Microsoft Surface Duo
> +
> +maintainers:
> + - Jarrett Schultz <jaschultzMS@gmail.com>
> +
> +description: |
> + Exposes the following device information to user space via sysfs -

The devicetree should describe the hardware, or in this case the imem
region. User space, sysfs etc are concepts of one possible consumer of
this information and should not be part of the binding.

It might make sense to update this description to still document what's
to be found in the memory region though.

> + * board_id
> + * battery_present
> + * hw_init_retries
> + * is_customer_mode
> + * is_act_mode
> + * pmic_reset_reason
> + * touch_fw_version
> + * ocp_error_location
> + See sysfs documentation for more information.
> +
> +properties:
> + compatible:
> + const: microsoft,sm8150-surface-duo-xbl
> +
> + reg:
> + maxItems: 1
> +
> +unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts

I believe interrupts is a leftover...

> +
> +examples:
> + - |
> + xbl@146bfa94 {
> + compatible = "microsoft,sm8150-surface-duo-xbl";
> + reg = <0x00 0x146bfa94 0x00 0x100>;

The example is compiled with #address-cells == #size-cells = <1>, so
you should omit the extra 0 in both address and size, in both examples.

Regards,
Bjorn

> + };
> + - |
> + imem@146bf000 {
> + compatible = "simple-mfd";
> + reg = <0x0 0x146bf000 0x0 0x1000>;
> + ranges = <0x0 0x0 0x146bf000 0x1000>;
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + xbl@a94 {
> + compatible = "microsoft,sm8150-surface-duo-xbl";
> + reg = <0xa94 0x100>;
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index eeb4c70b3d5b..8643546f8fab 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -12423,6 +12423,13 @@ F: Documentation/driver-api/surface_aggregator/clients/dtx.rst
> F: drivers/platform/surface/surface_dtx.c
> F: include/uapi/linux/surface_aggregator/dtx.h
>
> +MICROSOFT SURFACE DUO XBL DRIVER
> +M: Jarrett Schultz <jaschultz@microsoft.com>
> +L: linux-arm-msm@vger.kernel.org
> +L: platform-driver-x86@vger.kernel.org
> +S: Supported
> +F: Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml
> +
> MICROSOFT SURFACE GPE LID SUPPORT DRIVER
> M: Maximilian Luz <luzmaximilian@gmail.com>
> L: platform-driver-x86@vger.kernel.org
> --
> 2.25.1
>