diff mbox series

[v3,14/29] acpi: Add a binding for ACPI settings in the device tree

Message ID 20200330171226.v3.14.I7842b2dd0d6b475301fc044c6640d8089873053f@changeid
State Superseded
Delegated to: Bin Meng
Headers show
Series dm: Add programmatic generation of ACPI tables (part A) | expand

Commit Message

Simon Glass March 30, 2020, 11:12 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@chromium.org>
---

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

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

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

Comments

Andy Shevchenko April 3, 2020, 12:42 p.m. UTC | #1
On Mon, Mar 30, 2020 at 05:12:50PM -0600, Simon Glass 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.

> +elan_touchscreen: elan-touchscreen@10 {
> +	compatible = "i2c-chip";
> +	reg = <0x10>;
> +	acpi,hid = "ELAN0001";
> +	acpi,ddn = "ELAN Touchscreen";

> +	interrupts-extended = <&acpi_gpe GPIO_21_IRQ
> +		IRQ_TYPE_EDGE_FALLING>;

Can we have this on one line?

> +	acpi,probed;
> +};
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 00000000000..06c2b84b6d5
--- /dev/null
+++ b/doc/device-tree-bindings/device.txt
@@ -0,0 +1,37 @@ 
+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,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)
+ - acpi,uid : _UID value for device
+
+
+Example
+-------
+
+elan_touchscreen: elan-touchscreen@10 {
+	compatible = "i2c-chip";
+	reg = <0x10>;
+	acpi,hid = "ELAN0001";
+	acpi,ddn = "ELAN Touchscreen";
+	interrupts-extended = <&acpi_gpe GPIO_21_IRQ
+		IRQ_TYPE_EDGE_FALLING>;
+	acpi,probed;
+};