Simon Glass | fa04cef | 2020-04-26 09:19:45 -0600 | [diff] [blame] | 1 | Devices |
| 2 | ======= |
| 3 | |
| 4 | Device bindings are described by their own individual binding files. |
| 5 | |
| 6 | U-Boot provides for some optional properties which are documented here. See |
| 7 | also hid-over-i2c.txt which describes HID devices. See also |
| 8 | Documentation/firmware-guide/acpi/enumeration.rst in the Linux kernel for |
| 9 | the 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 Glass | f185895 | 2020-07-07 21:32:07 -0600 | [diff] [blame] | 20 | - acpi,path : Specifies the full ACPI path for a device. This overrides the |
| 21 | normal path built from the driver-model hierarchy |
Simon Glass | fefac0b | 2020-07-07 13:12:11 -0600 | [diff] [blame] | 22 | - acpi,name : Provides the ACPI name for a device, which is a string consisting |
| 23 | of four alphanumeric character (upper case) |
Simon Glass | fa04cef | 2020-04-26 09:19:45 -0600 | [diff] [blame] | 24 | - acpi,uid : _UID value for device |
| 25 | - linux,probed : Tells U-Boot to add 'linux,probed' to the ACPI tables so that |
| 26 | Linux will only load the driver if the device can be detected (e.g. on I2C |
| 27 | bus). Note that this is an out-of-tree Linux feature. |
| 28 | |
| 29 | |
| 30 | Example |
| 31 | ------- |
| 32 | |
| 33 | elan_touchscreen: elan-touchscreen@10 { |
| 34 | compatible = "i2c-chip"; |
| 35 | reg = <0x10>; |
| 36 | acpi,hid = "ELAN0001"; |
| 37 | acpi,ddn = "ELAN Touchscreen"; |
| 38 | interrupts-extended = <&acpi_gpe GPIO_21_IRQ IRQ_TYPE_EDGE_FALLING>; |
| 39 | linux,probed; |
| 40 | }; |
Simon Glass | fefac0b | 2020-07-07 13:12:11 -0600 | [diff] [blame] | 41 | |
| 42 | pcie-a0@14,0 { |
| 43 | reg = <0x0000a000 0 0 0 0>; |
| 44 | acpi,name = "RP01"; |
| 45 | wifi: wifi { |
| 46 | compatible = "intel,generic-wifi"; |
| 47 | acpi,ddn = "Intel WiFi"; |
| 48 | acpi,name = "WF00"; |
| 49 | interrupts-extended = <&acpi_gpe 0x3c 0>; |
| 50 | }; |
| 51 | }; |
Simon Glass | f185895 | 2020-07-07 21:32:07 -0600 | [diff] [blame] | 52 | |
| 53 | p2sb: p2sb@d,0 { |
| 54 | u-boot,dm-pre-reloc; |
| 55 | reg = <0x02006810 0 0 0 0>; |
| 56 | compatible = "intel,apl-p2sb"; |
| 57 | early-regs = <IOMAP_P2SB_BAR 0x100000>; |
| 58 | pci,no-autoconfig; |
| 59 | |
| 60 | n { |
| 61 | compatible = "intel,apl-pinctrl"; |
| 62 | u-boot,dm-pre-reloc; |
| 63 | intel,p2sb-port-id = <PID_GPIO_N>; |
| 64 | acpi,path = "\\_SB.GPO0"; |
| 65 | gpio_n: gpio-n { |
| 66 | compatible = "intel,gpio"; |
| 67 | u-boot,dm-pre-reloc; |
| 68 | gpio-controller; |
| 69 | #gpio-cells = <2>; |
| 70 | linux-name = "INT3452:00"; |
| 71 | }; |
| 72 | }; |