RE: [EXTERNAL] Re: [PATCH RESEND v4 1/4] dt-bindings: platform: microsoft: Document surface xbl

Jarrett Schultz
2021-12-27T14:55:00Z

> -----Original Message-----
> From: Rob Herring <robh@kernel.org>
> Sent: Tuesday, December 21, 2021 5:24 PM
> To: Jarrett Schultz <jaschultzms@gmail.com>
> Cc: Andy Gross <agross@kernel.org>; bjorn.andersson@linaro.org; Hans de
> Goede <hdegoede@redhat.com>; Mark Gross <markgross@kernel.org>;
> Maximilian Luz <luzmaximilian@gmail.com>; Felipe Balbi
> <balbi@kernel.org>; linux-arm-msm@vger.kernel.org; platform-driver-
> x86@vger.kernel.org; linux-kernel@vger.kernel.org;
> devicetree@vger.kernel.org; Jarrett Schultz <jaschultz@microsoft.com>
> Subject: [EXTERNAL] Re: [PATCH RESEND v4 1/4] dt-bindings: platform:
> microsoft: Document surface xbl
>
> On Tue, Dec 21, 2021 at 10:28:23AM -0800, Jarrett Schultz wrote:
> > From: Jarrett Schultz <jaschultz@microsoft.com>
> >
> > Introduce yaml for surface xbl driver.
> >
> > Signed-off-by: Jarrett Schultz <jaschultz@microsoft.com>
> >
> > ---
> >
> > Changes in v4:
> > - Addressed small formatting changes
> > - Removed unnecessary lines
> >
> > ---
> >
> > Changes in v3:
> > - Updated description to only pertain to the hardware
> > - Updated the required field to properly reflect the binding
> > - Removed the first example
> > - Fixed the size of the reg field in the second example
> >
> > ---
> >
> > Changes in v2:
> > - Removed json-schema dependence
> > - Elaborated on description of driver
> > - Updated example
> > ---
> > .../platform/microsoft/surface-xbl.yaml | 64 +++++++++++++++++++
> > MAINTAINERS | 7 ++
> > 2 files changed, 71 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/platform/microsoft/surface-
> xbl.yam
> > l
> > b/Documentation/devicetree/bindings/platform/microsoft/surface-
> xbl.yam
> > l
> > new file mode 100644
> > index 000000000000..df5a87a016f4
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/platform/microsoft/surface-xbl
> > +++ .yaml
> > @@ -0,0 +1,64 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Fplatform%2Fmicrosoft%2Fsurface-
> xbl.yaml%23&amp
> >
> +;data=04%7C01%7Cjaschultz%40microsoft.com%7C77abe729b69a40624472
> 08d9c
> >
> +4d8f44e%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637757258
> 3887312
> >
> +05%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM
> zIiLCJBTi
> >
> +I6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=jG0qubz122GG2s8%2B
> 1ZuMCcPIa
> > +33KWwPoO2VNlDySmvs%3D&amp;reserved=0
> > +$schema:
> >
> +https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=04%7C01%7Cjaschultz
> >
> +%40microsoft.com%7C77abe729b69a4062447208d9c4d8f44e%7C72f988bf8
> 6f141a
> >
> +f91ab2d7cd011db47%7C0%7C0%7C637757258388731205%7CUnknown%7C
> TWFpbGZsb3
> >
> +d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%
> >
> +7C3000&amp;sdata=FxKNLPok9eW%2FBPmuGzU6x7dPwpnev0Ngr8epO4NA
> UzA%3D&amp
> > +;reserved=0
> > +
> > +title: Surface Extensible Bootloader for Microsoft Surface Duo
> > +
> > +maintainers:
> > + - Jarrett Schultz <jaschultz@microsoft.com>
> > +
> > +description: |
> > + Defined to expose information that is used during production when
> > + device is in manufacturing mode. Some of the information included
> > + in this imem section is -
>
> If this is onchip sram, we have a binding for that. That's not an MFD.
>
> > + * board_id
> > + * battery_present
> > + * hw_init_retries
> > + * is_customer_mode
> > + * is_act_mode
> > + * pmic_reset_reason
> > + * touch_fw_version
> > + * ocp_error_location
>
> nvmem binding doesn't work for describing these fields?
>
> > + See sysfs documentation for more information.
>
> sysfs? Not relevant to the binding.
>
> > +
> > +properties:
> > + compatible:
> > + const: simple-mfd
> > +
> > + reg:
> > + maxItems: 1
> > +
> > +additionalProperties: false
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - ranges
> > + - address-cells
> > + - size-cells
> > +
> > +examples:
> > + - |
> > + / {
> > + compatible = "foo";
> > + model = "foo";
>
> No need to make this the root node with a fake compatible.

I included this root node in order to make #address-cells = #size-cells = 2,
since this example raises errors otherwise.

>
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > +
> > + imem@146bf000 {
> > + compatible = "simple-mfd";
> > + reg = <0x0 0x146bf000 0x0 0x1000>;
> > + ranges = <0x0 0x0 0x146bf000 0x1000>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + status = "okay";
>
> Don't show status in examples.
>
> > +
> > + xbl@a94 {
> > + compatible = "microsoft,sm8150-surface-duo-xbl";
> > + reg = <0xa94 0x100>;
> > + status = "okay";
> > + };
> > + };
> > + };
> > diff --git a/MAINTAINERS b/MAINTAINERS index
> > 13f9a84a617e..5d0ca2a98b57 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -12649,6 +12649,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
> >
> >