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

Jarrett Schultz
2021-12-27T16:17:03Z

> -----Original Message-----
> From: Rob Herring <robh@kernel.org>
> Sent: Monday, December 27, 2021 9:46 AM
> To: Jarrett Schultz <jaschultz@microsoft.com>
> Cc: Jarrett Schultz <jaschultzms@gmail.com>; 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
> Subject: Re: [EXTERNAL] Re: [PATCH RESEND v4 1/4] dt-bindings: platform:
> microsoft: Document surface xbl
>
> On Mon, Dec 27, 2021 at 10:54 AM Jarrett Schultz
> <jaschultz@microsoft.com> wrote:
> >
> >
> >
> > > -----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.y
> > > > aml
> > > >
> > > > 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%2Fde
> > > +vi
> > > > +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%2Fde
> > > +vi
> > > > +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.
>
> Why does your example require 2 cells? You only have 4KB of address space.

The soc node that imem sits under in sm8150.dtsi defines it that way so for
continuity I figured that it would make sense for the example to mirror that.

Also, should imem and xbl be documented in separate files?

>
> Though you can do:
>
> bus {
> #address-cells = <2>;
> #size-cells = <2>;
> ...
> };
>
> Rob