blob: ef4f219e91de574e5b10d193539180507cfda36d [file] [log] [blame]
Simon Glass94278672020-04-26 09:19:45 -06001Devices
2=======
3
4Device bindings are described by their own individual binding files.
5
6U-Boot provides for some optional properties which are documented here. See
7also hid-over-i2c.txt which describes HID devices. See also
8Documentation/firmware-guide/acpi/enumeration.rst in the Linux kernel for
9the acpi,compatible property.
10
11 - acpi,has-power-resource : (boolean) true if this device has a power resource.
12 This causes an ACPI PowerResource to be written containing the properties
13 provided by this binding, to describe how to handle powering the device up
14 and down using GPIOs
15 - acpi,compatible : compatible string to report
16 - acpi,ddn : Contains the string to use as the _DDN (DOS (Disk Operating
17 System) Device Name)
18 - acpi,hid : Contains the string to use as the HID (Hardware ID)
19 identifier _HID
Simon Glass01232332020-07-07 21:32:07 -060020 - acpi,path : Specifies the full ACPI path for a device. This overrides the
21 normal path built from the driver-model hierarchy
Simon Glass09642392020-07-07 13:12:11 -060022 - acpi,name : Provides the ACPI name for a device, which is a string consisting
23 of four alphanumeric character (upper case)
Simon Glass94278672020-04-26 09:19:45 -060024 - acpi,uid : _UID value for device
Simon Glassd81ade42020-09-22 12:45:02 -060025 - acpi,wake : Provides the GPE used to detect a request from a device to wake
26 from sleep
Simon Glass94278672020-04-26 09:19:45 -060027 - linux,probed : Tells U-Boot to add 'linux,probed' to the ACPI tables so that
28 Linux will only load the driver if the device can be detected (e.g. on I2C
29 bus). Note that this is an out-of-tree Linux feature.
30
31
32Example
33-------
34
35elan_touchscreen: elan-touchscreen@10 {
36 compatible = "i2c-chip";
37 reg = <0x10>;
38 acpi,hid = "ELAN0001";
39 acpi,ddn = "ELAN Touchscreen";
40 interrupts-extended = <&acpi_gpe GPIO_21_IRQ IRQ_TYPE_EDGE_FALLING>;
41 linux,probed;
42};
Simon Glass09642392020-07-07 13:12:11 -060043
44pcie-a0@14,0 {
45 reg = <0x0000a000 0 0 0 0>;
46 acpi,name = "RP01";
47 wifi: wifi {
48 compatible = "intel,generic-wifi";
49 acpi,ddn = "Intel WiFi";
50 acpi,name = "WF00";
Simon Glassd81ade42020-09-22 12:45:02 -060051 acpi,wake = <GPE0_DW3_00>;
Simon Glass09642392020-07-07 13:12:11 -060052 interrupts-extended = <&acpi_gpe 0x3c 0>;
53 };
54};
Simon Glass01232332020-07-07 21:32:07 -060055
56p2sb: p2sb@d,0 {
Simon Glass07a8b622023-02-13 08:56:35 -070057 bootph-all;
Simon Glass01232332020-07-07 21:32:07 -060058 reg = <0x02006810 0 0 0 0>;
59 compatible = "intel,apl-p2sb";
60 early-regs = <IOMAP_P2SB_BAR 0x100000>;
61 pci,no-autoconfig;
62
63 n {
64 compatible = "intel,apl-pinctrl";
Simon Glass07a8b622023-02-13 08:56:35 -070065 bootph-all;
Simon Glass01232332020-07-07 21:32:07 -060066 intel,p2sb-port-id = <PID_GPIO_N>;
67 acpi,path = "\\_SB.GPO0";
68 gpio_n: gpio-n {
69 compatible = "intel,gpio";
Simon Glass07a8b622023-02-13 08:56:35 -070070 bootph-all;
Simon Glass01232332020-07-07 21:32:07 -060071 gpio-controller;
72 #gpio-cells = <2>;
73 linux-name = "INT3452:00";
74 };
75 };