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
151 The interrupt name can be listed in _DSD as 'interrupt-names'. The names
168 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
170 Package () { "interrupt-names", Package () { "default", "alert" } },
180 The driver can call the function - fwnode_irq_get_byname() with the fwnode
233 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
238 Package () { "address-width", 16 },
244 APIs during ->probe() phase like::
254 err = device_property_read_u32(dev, "address-width", &addr_width);
258 I2C serial bus support
261 The slaves behind I2C bus controller only need to add the ACPI IDs like
262 with the platform and SPI drivers. The I2C core automatically enumerates
299 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
301 Package () { "compatible", Package () { "pwm-leds" } },
302 Package () { "label", "alarm-led" },
316 In the above example the PWM-based LED driver references to the PWM channel 0
351 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
354 Package () { "power-gpios", Package () { ^DEV, 0, 0, 0 } },
355 Package () { "irq-gpios", Package () { ^DEV, 1, 0, 0 } },
366 Documentation/admin-guide/gpio/.
389 See Documentation/firmware-guide/acpi/gpio-properties.rst for more information
392 RS-485 support
395 ACPI _DSD (Device Specific Data) can be used to describe RS-485 capability
404 // ACPI 5.1 _DSD used for RS-485 capabilities
407 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
410 Package () {"rs485-rts-active-low", Zero},
411 Package () {"rs485-rx-active-high", Zero},
412 Package () {"rs485-rx-during-tx", Zero},
425 - The children share the parent ACPI handle.
426 - The MFD cell can specify the ACPI id of the device.
469 6.0). For non-enumerable bus types that object must be _HID and its value must
473 existing DT-compatible device identification in ACPI and to satisfy the above
481 (except when an I2C or SPI link from the device to its parent is present, in
496 For example, the following ACPI sample might be used to enumerate an lm75-type
497 I2C temperature sensor and match it to the driver using the Device Tree
504 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
535 Refer to Documentation/firmware-guide/acpi/DSD-properties-rules.rst for more
545 in a fixed position (ethernet, Wi-Fi, serial ports, etc.). In this conditions it
547 topology.
555 16 GPIOs and we want to add the property ``gpio-line-names`` [1] to these pins.
574 07:00.0 Serial controller: Exar Corp. XR17V3521 Dual PCIe UART (rev 03) <-- Exar
577 The bus topology is::
579 -[0000:00]-+-00.0
581 +-13.0-[01]----00.0
582 +-13.1-[02]----00.0
583 +-13.2-[03]--
584 +-14.0-[04]----00.0
585 +-14.1-[05-09]----00.0-[06-09]--+-01.0-[07]----00.0 <-- Exar
586 | +-02.0-[08]----00.0
587 | \-03.0-[09]--
589 \-1f.1
594 Bus: 0 - Device: 14 - Function: 1
602 acpixtract -a acpidump
603 iasl -e ssdt?.* -d dsdt.dat
649 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
654 "gpio-line-names",
679 created analyzing the position of the Exar UART in the PCI bus topology.
684 [1] Documentation/firmware-guide/acpi/gpio-properties.rst
686 [2] Documentation/admin-guide/acpi/initrd_table_override.rst
688 [3] ACPI Specifications, Version 6.3 - Paragraph 6.1.1 _ADR Address)
690 referenced 2020-11-18