u-boot/doc/device-tree-bindings/i2c/generic-acpi.txt
Simon Glass fd42f263ce i2c: Add a generic driver to generate ACPI info
Many I2C devices produce roughly the same ACPI data with just things like
the GPIO/interrupt information being different.

This can be handled by a generic driver along with some information in the
device tree.

Add a generic i2c driver for this purpose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
2020-09-25 11:27:15 +08:00

42 lines
1.3 KiB
Text

I2C generic device
==================
This is used only to generate ACPI tables for an I2C device.
Required properties :
- compatible : "i2c-chip";
- reg : I2C chip address
- acpi,hid : HID name for the device
Optional properies in addition to device.txt:
- reset-gpios : GPIO used to assert reset to the device
- irq-gpios : GPIO used for interrupt (if Interrupt is not used)
- stop-gpios : GPIO used to stop the device
- interrupts-extended : Interrupt to use for the device
- reset-delay-ms : Delay after de-asserting reset, in ms
- reset-off-delay-ms : Delay after asserting reset (during power off)
- enable-delay-ms : Delay after asserting enable
- enable-off-delay-ms : Delay after de-asserting enable (during power off)
- stop-delay-ms : Delay after de-aserting stop
- stop-off-delay-ms : Delay after asserting stop (during power off)
- hid-descr-addr : HID register offset (for Human Interface Devices)
Example
-------
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>;
linux,probed;
reset-gpios = <&gpio_n GPIO_36 GPIO_ACTIVE_HIGH>;
reset-delay-ms = <20>;
enable-gpios = <&gpio_n GPIO_152 GPIO_ACTIVE_HIGH>;
enable-delay-ms = <1>;
acpi,has-power-resource;
};