Lines Matching +full:i2c +full:- +full:topology
1 .. SPDX-License-Identifier: GPL-2.0
13 that are accessed through memory-mapped registers.
15 In order to support this and re-use the existing drivers as much as
18 - Devices that have no bus connector resource are represented as
21 - Devices behind real busses where there is a connector resource
31 I2C, and in some cases UART), creates the physical devices and binds them
34 This means that when ACPI_HANDLE(dev) returns non-NULL the device was
36 device-specific configuration. There is an example of this below.
43 for the device and add supported ACPI IDs. If this same IP-block is used on
44 some other non-ACPI platform, the driver might work out of the box or needs
194 The interrupt name can be listed in _DSD as 'interrupt-names'. The names
211 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
213 Package () { "interrupt-names", Package () { "default", "alert" } },
223 The driver can call the function - fwnode_irq_get_byname() with the fwnode
276 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
281 Package () { "address-width", 16 },
287 APIs during ->probe() phase like::
297 err = device_property_read_u32(dev, "address-width", &addr_width);
301 I2C serial bus support
304 The slaves behind I2C bus controller only need to add the ACPI IDs like
305 with the platform and SPI drivers. The I2C core automatically enumerates
342 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
344 Package () { "compatible", Package () { "pwm-leds" } },
345 Package () { "label", "alarm-led" },
359 In the above example the PWM-based LED driver references to the PWM channel 0
394 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
397 Package () { "power-gpios", Package () { ^DEV, 0, 0, 0 } },
398 Package () { "irq-gpios", Package () { ^DEV, 1, 0, 0 } },
409 Documentation/admin-guide/gpio/.
432 See Documentation/firmware-guide/acpi/gpio-properties.rst for more information
435 RS-485 support
438 ACPI _DSD (Device Specific Data) can be used to describe RS-485 capability
447 // ACPI 5.1 _DSD used for RS-485 capabilities
450 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
453 Package () {"rs485-rts-active-low", Zero},
454 Package () {"rs485-rx-active-high", Zero},
455 Package () {"rs485-rx-during-tx", Zero},
468 - The children share the parent ACPI handle.
469 - The MFD cell can specify the ACPI id of the device.
512 6.0). For non-enumerable bus types that object must be _HID and its value must
516 existing DT-compatible device identification in ACPI and to satisfy the above
524 (except when an I2C or SPI link from the device to its parent is present, in
539 For example, the following ACPI sample might be used to enumerate an lm75-type
540 I2C temperature sensor and match it to the driver using the Device Tree
547 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
578 Refer to Documentation/firmware-guide/acpi/DSD-properties-rules.rst for more
588 in a fixed position (ethernet, Wi-Fi, serial ports, etc.). In this conditions it
590 topology.
598 16 GPIOs and we want to add the property ``gpio-line-names`` [1] to these pins.
617 07:00.0 Serial controller: Exar Corp. XR17V3521 Dual PCIe UART (rev 03) <-- Exar
620 The bus topology is::
622 -[0000:00]-+-00.0
624 +-13.0-[01]----00.0
625 +-13.1-[02]----00.0
626 +-13.2-[03]--
627 +-14.0-[04]----00.0
628 +-14.1-[05-09]----00.0-[06-09]--+-01.0-[07]----00.0 <-- Exar
629 | +-02.0-[08]----00.0
630 | \-03.0-[09]--
632 \-1f.1
637 Bus: 0 - Device: 14 - Function: 1
645 acpixtract -a acpidump
646 iasl -e ssdt?.* -d dsdt.dat
692 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
697 "gpio-line-names",
722 created analyzing the position of the Exar UART in the PCI bus topology.
727 [1] Documentation/firmware-guide/acpi/gpio-properties.rst
729 [2] Documentation/admin-guide/acpi/initrd_table_override.rst
731 [3] ACPI Specifications, Version 6.3 - Paragraph 6.1.1 _ADR Address)
733 referenced 2020-11-18