/Linux-v5.15/Documentation/i2c/ |
D | i2c-topology.rst | 2 I2C muxes and complex topologies 5 There are a couple of reasons for building more complex I2C topologies 6 than a straight-forward I2C bus with one adapter and one or more devices. 14 from the I2C bus, at least most of the time, and sits behind a gate 20 These constructs are represented as I2C adapter trees by Linux, where 23 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 27 an I2C transfer on one of its child adapters. The mux driver can 37 There are two variants of locking available to I2C muxes, they can be 38 mux-locked or parent-locked muxes. As is evident from below, it can be 39 useful to know if a mux is mux-locked or if it is parent-locked. The [all …]
|
D | i2c-sysfs.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Linux I2C Sysfs 10 I2C topology can be complex because of the existence of I2C MUX 11 (I2C Multiplexer). The Linux 12 kernel abstracts the MUX channels into logical I2C bus numbers. However, there 13 is a gap of knowledge to map from the I2C bus physical number and MUX topology 14 to logical I2C bus number. This doc is aimed to fill in this gap, so the 16 the concept of logical I2C buses in the kernel, by knowing the physical I2C 17 topology and navigating through the I2C sysfs in Linux shell. This knowledge is 18 useful and essential to use ``i2c-tools`` for the purpose of development and [all …]
|
D | index.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 I2C/SMBus Subsystem 14 i2c-protocol 15 smbus-protocol 16 instantiating-devices 18 i2c-topology 19 muxes/i2c-mux-gpio 20 i2c-sysfs 28 writing-clients 29 dev-interface [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/fsi/ |
D | fsi.txt | 4 The FSI bus is probe-able, so the OS is able to enumerate FSI slaves, and 6 nodes to probed engines. This allows for fsi engines to expose non-probeable 8 that is an I2C master - the I2C bus can be described by the device tree under 13 the fsi-master-* binding specifications. 15 Under the masters' nodes, we can describe the bus topology using nodes to 18 fsi-master { 19 /* top-level of FSI bus topology, bound to an FSI master driver and 22 fsi-slave@<link,id> { 26 fsi-slave-engine@<addr> { 32 fsi-slave-engine@<addr> { [all …]
|
/Linux-v5.15/include/drm/ |
D | drm_dp_mst_helper.h | 52 * struct drm_dp_vcpi - Virtual Channel Payload Identifier 66 * struct drm_dp_mst_port - MST port 70 * @mcs: message capability status - DP 1.2 spec. Protected by 72 * @ddps: DisplayPort Device Plug Status - DP 1.2. Protected by 87 * @aux: i2c aux transport to talk to device connected to this port, protected 93 * @mgr: topology manager this port lives under. 96 * in the MST topology. 100 * @topology_kref: refcount for this port's lifetime in the topology, 114 * @topology_ref_history: A history of each topology 142 struct drm_dp_aux aux; /* i2c bus for this port? */ [all …]
|
/Linux-v5.15/sound/soc/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 select REGMAP_I2C if I2C 22 will be called snd-soc-core. 42 tristate "KUnit tests for SoC topology" 47 If you want to perform tests on ALSA SoC topology support say Y here. 50 test cases against soc-topology.c API. This should be primarily used 99 # generic frame-work
|
D | soc-core.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-core.c -- ALSA SoC Audio Layer 11 // with code, comments and ideas from :- 39 #include <sound/soc-dpcm.h> 40 #include <sound/soc-topology.h> 41 #include <sound/soc-link.h> 75 return sprintf(buf, "%ld\n", rtd->pmdown_time); in pmdown_time_show() 85 ret = kstrtol(buf, 10, &rtd->pmdown_time); in pmdown_time_store() 109 return attr->mode; /* always visible */ in soc_dev_attr_is_visible() 110 return rtd->num_codecs ? attr->mode : 0; /* enabled only with codec */ in soc_dev_attr_is_visible() [all …]
|
/Linux-v5.15/Documentation/firmware-guide/acpi/ |
D | i2c-muxes.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 ACPI I2C Muxes 7 Describing an I2C device hierarchy that includes I2C muxes requires an ACPI 10 Consider this topology:: 12 +------+ +------+ 13 | SMB1 |-->| MUX0 |--CH00--> i2c client A (0x50) 14 | | | 0x70 |--CH01--> i2c client B (0x50) 15 +------+ +------+
|
D | enumeration.rst | 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 30 I2C), creates the physical devices and binds them to their ACPI handle in 33 This means that when ACPI_HANDLE(dev) returns non-NULL the device was 35 device-specific configuration. There is an example of this below. 42 for the device and add supported ACPI IDs. If this same IP-block is used on 43 some other non-ACPI platform, the driver might work out of the box or needs [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/i2c/ |
D | i2c-mux-gpmux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpmux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: General Purpose I2C Bus Mux 10 - Peter Rosin <peda@axentia.se> 13 This binding describes an I2C bus multiplexer that uses a mux controller 14 from the mux subsystem to route the I2C signals. 16 .-----. .-----. 18 .------------. '-----' '-----' [all …]
|
/Linux-v5.15/drivers/gpu/drm/ |
D | drm_dp_mst_topology.c | 26 #include <linux/i2c.h> 55 * protocol. The helpers contain a topology manager and bandwidth manager. 206 number_of_bits--; in drm_dp_msg_header_crc4() 210 bitshift--; in drm_dp_msg_header_crc4() 222 number_of_bits--; in drm_dp_msg_header_crc4() 240 number_of_bits--; in drm_dp_msg_data_crc4() 244 bitshift--; in drm_dp_msg_data_crc4() 256 number_of_bits--; in drm_dp_msg_data_crc4() 268 size += (hdr->lct / 2); in drm_dp_calc_sb_hdr_size() 279 buf[idx++] = ((hdr->lct & 0xf) << 4) | (hdr->lcr & 0xf); in drm_dp_encode_sideband_msg_hdr() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 select I2C 18 # gallium uses SYS_kcmp for os_same_file_description() to de-duplicate 22 Kernel-level support for the Direct Rendering Infrastructure (DRI) 96 Enables debug tracing for topology refs in DRM's DP MST helpers. A 97 history of each topology reference/dereference will be printed to the 98 kernel log once a port or branch device's topology refcount reaches 0. 140 In order to keep user-space compatibility, we want in certain 141 use-cases to keep leaking the fbdev physical address to the 142 user-space program handling the fbdev buffer. [all …]
|
/Linux-v5.15/include/sound/ |
D | soc-acpi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2013-15, Intel Corporation. All rights reserved. 21 /* codec name is used in DAIs is i2c-<HID>:00 with HID being 8 chars */ 60 * @acpi_ipc_irq_index: used for BYT-CR detection 82 * snd_soc_acpi_endpoint - endpoint descriptor 85 * @group_position: zero-based order (only when @aggregated is 1) 86 * @group_id: platform-unique group identifier (only when @aggregrated is 1) 96 * snd_soc_acpi_adr_device - descriptor for _ADR-enumerated device 110 * snd_soc_acpi_link_adr - ACPI-based list of _ADR enumerated devices 116 * multi-drop configurations. [all …]
|
/Linux-v5.15/include/linux/platform_data/ |
D | mlxreg.h | 1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 3 * Copyright (C) 2017-2020 Mellanox Technologies Ltd. 14 * enum mlxreg_wdt_type - type of HW watchdog 28 * struct mlxreg_hotplug_device - I2C device data: 30 * @adapter: I2C device adapter; 31 * @client: I2C device client; 33 * @nr: I2C device adapter number, to which device is to be attached; 35 * Structure represents I2C hotplug device static data (board topology) and 46 * struct mlxreg_core_data - attributes control data: 55 * @np - pointer to node platform associated with attribute; [all …]
|
/Linux-v5.15/drivers/media/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 36 If not selected, all non-optional media core functionality 41 bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" 43 select I2C 47 By default, a media driver auto-selects all possible ancillary 65 # Multimedia support - automatically enable V4L2 and DVB core 127 prompt "Platform-specific devices" if MEDIA_SUPPORT_FILTER 172 topology and configure it dynamically. 184 depends on (I2C || I2C=n) 194 # Extra per-media API core functionality [all …]
|
/Linux-v5.15/Documentation/ABI/stable/ |
D | sysfs-driver-mlxreg-io | 1 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health 6 0 - health failed, 2 - health OK, 3 - ASIC in booting state. 10 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version 11 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version 20 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir 25 forward direction - relevant bit is set 0; 26 reversed direction - relevant bit is set 1. 30 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld3_version 39 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable 48 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio [all …]
|
/Linux-v5.15/Documentation/admin-guide/media/ |
D | imx.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 ------------ 15 - Image DMA Controller (IDMAC) 16 - Camera Serial Interface (CSI) 17 - Image Converter (IC) 18 - Sensor Multi-FIFO Controller (SMFC) 19 - Image Rotator (IRT) 20 - Video De-Interlacing or Combining Block (VDIC) 26 re-ordering (for example UYVY to YUYV) within the same colorspace, and 27 packed <--> planar conversion. The IDMAC can also perform a simple [all …]
|
/Linux-v5.15/sound/soc/intel/boards/ |
D | sof_pcm512x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2018-2020 Intel Corporation. 10 #include <linux/i2c.h> 20 #include <sound/soc-acpi.h> 22 #include "../common/soc-intel-quirks.h" 55 sof_pcm512x_quirk = (unsigned long)id->driver_data; in sof_pcm512x_quirk_cb() 64 DMI_MATCH(DMI_PRODUCT_NAME, "UP-CHT01"), 73 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() 77 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_hdmi_init() 79 return -ENOMEM; in sof_hdmi_init() [all …]
|
D | sof_rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2019-2020 Intel Corporation. 8 #include <linux/i2c.h> 21 #include <sound/soc-acpi.h> 25 #include "../common/soc-intel-quirks.h" 83 sof_rt5682_quirk = (unsigned long)id->driver_data; in sof_rt5682_quirk_cb() 100 DMI_MATCH(DMI_PRODUCT_NAME, "UP-CHT01"), 156 DMI_MATCH(DMI_OEM_STRING, "AUDIO-MAX98373_ALC5682I_I2S_UP4"), 170 DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), 184 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() [all …]
|
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_mode.h | 42 #include <linux/i2c.h> 43 #include <linux/i2c-algo-bit.h> 129 /* amdgpu gpio-based i2c 149 /* can be used with hw i2c engine */ 151 /* uses multi-media i2c engine */ 285 /* display topology setup */ 326 /* DVI-I properties */ 441 int dig_encoder; /* -1 disabled, 0 DIGA, 1 DIGB, etc. */ 502 /* i2c mux */
|
/Linux-v5.15/Documentation/userspace-api/media/v4l/ |
D | vidioc-querycap.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 VIDIOC_QUERYCAP - Query device capabilities 47 .. flat-table:: struct v4l2_capability 48 :header-rows: 0 49 :stub-columns: 0 52 * - __u8 53 - ``driver``\ [16] 54 - Name of the driver, a unique NUL-terminated ASCII string. For 62 sure the strings are properly NUL-terminated. 63 * - __u8 [all …]
|
/Linux-v5.15/Documentation/devicetree/ |
D | usage-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 39 incompatible, bindings for i2c busses that came about because the new 40 binding was created without first investigating how i2c devices were 44 ---------- 48 Device Tree to discover the topology of the hardware at runtime, and 56 In 2005, when PowerPC Linux began a major cleanup and to merge 32-bit 57 and 64-bit support, the decision was made to require DT support on all 61 blob without requiring a real Open Firmware implementation. U-Boot, 66 existing non-DT aware firmware. 74 ------------- [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/mfd/ |
D | cirrus,lochnagar.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - patches@opensource.cirrus.com 15 Logic devices on mini-cards, as well as allowing connection of 17 platform. Audio system topology, clocking and power can all be 25 [2] include/dt-bindings/pinctrl/lochnagar.h 26 [3] include/dt-bindings/clock/lochnagar.h 28 And these documents for the required sub-node binding details: 35 - if: [all …]
|
/Linux-v5.15/drivers/misc/habanalabs/include/common/ |
D | cpucp_if.h | 1 /* SPDX-License-Identifier: GPL-2.0 194 * Non-QMAN packets should be limited to values 1 through (2^8 - 1) 198 * CPUCP_PACKET_DISABLE_PCI_ACCESS - 201 * sending MSI-X interrupts. 204 * CPUCP_PACKET_ENABLE_PCI_ACCESS - 206 * transactions towards the Host CPU, including sending MSI-X interrupts. 209 * CPUCP_PACKET_TEMPERATURE_GET - 214 * CPUCP_PACKET_VOLTAGE_GET - 218 * CPUCP_PACKET_CURRENT_GET - 222 * CPUCP_PACKET_FAN_SPEED_GET - [all …]
|
/Linux-v5.15/drivers/gpu/drm/i915/display/ |
D | intel_hdcp.c | 1 /* SPDX-License-Identifier: MIT */ 4 * Copyright _ 2017-2019, Intel Corporation. 12 #include <linux/i2c.h> 33 return connector->port ? connector->port->vcpi.vcpi : 0; in intel_conn_to_vcpi() 39 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_streams_type1_capable() 45 if (shim->streams_type1_capable) in intel_streams_type1_capable() 46 shim->streams_type1_capable(connector, &capable); in intel_streams_type1_capable() 53 * content_type for all streams in DP MST topology because security f/w doesn't 58 * DP MST topology. Though it is not compulsory, security fw should change its 67 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hdcp_required_content_stream() [all …]
|