diff mbox series

[v7,1/9] acpi: Add a binding for ACPI settings in the device tree

Message ID 20200419143624.v7.1.I7842b2dd0d6b475301fc044c6640d8089873053f@changeid
State Superseded
Headers show
Series dm: Add programmatic generation of ACPI tables (part A) | expand

Commit Message

Simon Glass April 19, 2020, 8:36 p.m. UTC
Devices need to report various identifiers in the ACPI tables. Rather than
hard-coding these in drivers it is typically better to put them in the
device tree.

Add a binding file to describe this.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v7: None
Changes in v5: None
Changes in v4:
- Put 'interrupts-extended' property on one line
- Rename acpi-probed to linux,probed
- Note that linux,probed is an out-of-tree feature

Changes in v3:
- Drop mention of PRIC
- Rename acpi,desc to acpi,ddn
- Correct description of acpi,probed
- Drop hid-descr-addr
- Just add the device.txt binding file in this patch
- Change the example to ELAN
- Add a pointer to information about acpi,compatible

Changes in v2:
- Fix definition of HID
- Infer hid-over-i2c CID value
- Add the hid-over-i2c binding document

 doc/device-tree-bindings/device.txt | 36 +++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 doc/device-tree-bindings/device.txt

Comments

Bin Meng April 21, 2020, 12:25 p.m. UTC | #1
Hi Wolfgang, Andy,

On Mon, Apr 20, 2020 at 4:37 AM Simon Glass <sjg at chromium.org> wrote:
>
> Devices need to report various identifiers in the ACPI tables. Rather than
> hard-coding these in drivers it is typically better to put them in the
> device tree.
>
> Add a binding file to describe this.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>

Do you have any comments against this patch?

Regards,
Bin
Andy Shevchenko April 21, 2020, 12:29 p.m. UTC | #2
On Tue, Apr 21, 2020 at 3:28 PM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Hi Wolfgang, Andy,
>
> On Mon, Apr 20, 2020 at 4:37 AM Simon Glass <sjg at chromium.org> wrote:
> >
> > Devices need to report various identifiers in the ACPI tables. Rather than
> > hard-coding these in drivers it is typically better to put them in the
> > device tree.
> >
> > Add a binding file to describe this.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
>
> Do you have any comments against this patch?

As long as it doesn't mention PRP0001, I'm fine with it.
Wolfgang Wallner April 21, 2020, 1:07 p.m. UTC | #3
Hi Bin,

-----"Bin Meng" <bmeng.cn at gmail.com> schrieb: -----

>Betreff: Re: [PATCH v7 1/9] acpi: Add a binding for ACPI settings in
>the device tree
>
>Hi Wolfgang, Andy,
>
>On Mon, Apr 20, 2020 at 4:37 AM Simon Glass <sjg at chromium.org> wrote:
>>
>> Devices need to report various identifiers in the ACPI tables.
>Rather than
>> hard-coding these in drivers it is typically better to put them in
>the
>> device tree.
>>
>> Add a binding file to describe this.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>
>Do you have any comments against this patch?

I'm fine with the patch as it is.

However, two remarks:

 1) I proposed some rewording in [1].
    I'm fine with dropping it, I just point it out to make sure
    that it is deliberately dropped and no just overseen.

 2) In [2] Andy stated that "acpi,compatible" can't work.
    @Andy: did I get this wrong? Is it still fine to add it in
    the binding?

regards, Wolfgang

[1] https://lists.denx.de/pipermail/u-boot/2020-April/406818.html
[2] https://lists.denx.de/pipermail/u-boot/2020-April/406943.html
Andy Shevchenko April 21, 2020, 2:40 p.m. UTC | #4
On Tue, Apr 21, 2020 at 4:07 PM Wolfgang Wallner
<wolfgang.wallner at br-automation.com> wrote:
> >Betreff: Re: [PATCH v7 1/9] acpi: Add a binding for ACPI settings in
> >the device tree
> >
> >Hi Wolfgang, Andy,
> >
> >On Mon, Apr 20, 2020 at 4:37 AM Simon Glass <sjg at chromium.org> wrote:
> >>
> >> Devices need to report various identifiers in the ACPI tables.
> >Rather than
> >> hard-coding these in drivers it is typically better to put them in
> >the
> >> device tree.
> >>
> >> Add a binding file to describe this.
> >>
> >> Signed-off-by: Simon Glass <sjg at chromium.org>
> >> ---
> >>
> >
> >Do you have any comments against this patch?
>
> I'm fine with the patch as it is.
>
> However, two remarks:
>
>  1) I proposed some rewording in [1].
>     I'm fine with dropping it, I just point it out to make sure
>     that it is deliberately dropped and no just overseen.
>
>  2) In [2] Andy stated that "acpi,compatible" can't work.
>     @Andy: did I get this wrong? Is it still fine to add it in
>     the binding?

We can support it in the code, but user should themselves choose how to use it.
This will be half-baked solution, though.

So, I suggest for now to drop it completely.

> [1] https://lists.denx.de/pipermail/u-boot/2020-April/406818.html
> [2] https://lists.denx.de/pipermail/u-boot/2020-April/406943.html
Wolfgang Wallner April 21, 2020, 2:56 p.m. UTC | #5
Hi,

-----"Andy Shevchenko" <andy.shevchenko at gmail.com> schrieb: -----

>An: "Wolfgang Wallner" <wolfgang.wallner at br-automation.com>
>Von: "Andy Shevchenko" <andy.shevchenko at gmail.com>
>Datum: 21.04.2020 16:41
>Kopie: "Bin Meng" <bmeng.cn at gmail.com>, "Simon Glass"
><sjg at chromium.org>, "Andy Shevchenko"
><andriy.shevchenko at linux.intel.com>, "U-Boot Mailing List"
><u-boot at lists.denx.de>, "Leif Lindholm" <leif at nuviainc.com>
>Betreff: Re: Re: [PATCH v7 1/9] acpi: Add a binding for ACPI settings
>in the device tree
>
>On Tue, Apr 21, 2020 at 4:07 PM Wolfgang Wallner
><wolfgang.wallner at br-automation.com> wrote:
>> >Betreff: Re: [PATCH v7 1/9] acpi: Add a binding for ACPI settings
>in
>> >the device tree
>> >
>> >Hi Wolfgang, Andy,
>> >
>> >On Mon, Apr 20, 2020 at 4:37 AM Simon Glass <sjg at chromium.org>
>wrote:
>> >>
>> >> Devices need to report various identifiers in the ACPI tables.
>> >Rather than
>> >> hard-coding these in drivers it is typically better to put them
>in
>> >the
>> >> device tree.
>> >>
>> >> Add a binding file to describe this.
>> >>
>> >> Signed-off-by: Simon Glass <sjg at chromium.org>
>> >> ---
>> >>
>> >
>> >Do you have any comments against this patch?
>>
>> I'm fine with the patch as it is.
>>
>> However, two remarks:
>>
>>  1) I proposed some rewording in [1].
>>     I'm fine with dropping it, I just point it out to make sure
>>     that it is deliberately dropped and no just overseen.
>>
>>  2) In [2] Andy stated that "acpi,compatible" can't work.
>>     @Andy: did I get this wrong? Is it still fine to add it in
>>     the binding?
>
>We can support it in the code, but user should themselves choose how
>to use it.
>This will be half-baked solution, though.
>
>So, I suggest for now to drop it completely.

Ok, thanks for clarifying.
That was the only aspect of the the patch I still felt I don't understand enough.
So whether "acpi,compatible" is dropped or not:

Reviewed-by: Wolfgang Wallner <wolfgang.wallner at br-automation.com>


>> [1] https://lists.denx.de/pipermail/u-boot/2020-April/406818.html
>> [2] https://lists.denx.de/pipermail/u-boot/2020-April/406943.html
>

regards, Wolfgang
diff mbox series

Patch

diff --git a/doc/device-tree-bindings/device.txt b/doc/device-tree-bindings/device.txt
new file mode 100644
index 0000000000..27bd3978d9
--- /dev/null
+++ b/doc/device-tree-bindings/device.txt
@@ -0,0 +1,36 @@ 
+Devices
+=======
+
+Device bindings are described by their own individual binding files.
+
+U-Boot provides for some optional properties which are documented here. See
+also hid-over-i2c.txt which describes HID devices. See also
+Documentation/firmware-guide/acpi/enumeration.rst in the Linux kernel for
+the acpi,compatible property.
+
+ - acpi,has-power-resource : (boolean) true if this device has a power resource.
+    This causes an ACPI PowerResource to be written containing the properties
+    provided by this binding, to describe how to handle powering the device up
+    and down using GPIOs
+ - acpi,compatible : compatible string to report
+ - acpi,ddn : Contains the string to use as the _DDN (DOS (Disk Operating
+    System) Device Name)
+ - acpi,hid : Contains the string to use as the HID (Hardware ID)
+    identifier _HID
+ - acpi,uid : _UID value for device
+ - linux,probed : Tells U-Boot to add 'linux,probed' to the ACPI tables so that
+    Linux will only load the driver if the device can be detected (e.g. on I2C
+    bus). Note that this is an out-of-tree Linux feature.
+
+
+Example
+-------
+
+elan_touchscreen: elan-touchscreen at 10 {
+	compatible = "i2c-chip";
+	reg = <0x10>;
+	acpi,hid = "ELAN0001";
+	acpi,ddn = "ELAN Touchscreen";
+	interrupts-extended = <&acpi_gpe GPIO_21_IRQ IRQ_TYPE_EDGE_FALLING>;
+	linux,probed;
+};