| /linux/Documentation/i2c/ |
| H A 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. 16 from the I2C bus, at least most of the time, and sits behind a gate 19 Several types of hardware components such as I2C muxes, I2C gates and I2C 22 These components are represented as I2C adapter trees by Linux, where 25 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 29 an I2C transfer on one of its child adapters. The mux driver can 39 There are two variants of locking available to I2C muxes, they can be 40 mux-locked or parent-locked muxes. [all …]
|
| H A 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 …]
|
| H A 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 21 i2c-address-translators 29 writing-clients [all …]
|
| H A D | i2c-address-translators.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 I2C Address Translators 11 ----------- 13 An I2C Address Translator (ATR) is a device with an I2C slave parent 14 ("upstream") port and N I2C master child ("downstream") ports, and 21 An ATR looks similar to an i2c-mux except: 22 - the address on the parent and child busses can be different 23 - there is normally no need to select the child port; the alias used on the 27 The kernel i2c-atr provides a helper to implement an ATR within a driver. 29 The ATR creates a new I2C "child" adapter on each child bus. Adding [all …]
|
| /linux/Documentation/devicetree/bindings/fsi/ |
| H A 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/sound/soc/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 select REGMAP_I2C if I2C 22 will be called snd-soc-core. 42 bool "Build topology core" 47 the topology core, KUnit is frequently tested in virtual 48 environments with minimal drivers enabled but the topology 53 tristate "KUnit tests for SoC topology" 58 If you want to perform tests on ALSA SoC topology support say Y here. 61 test cases against soc-topology.c API. This should be primarily used 151 # generic frame-work
|
| H A 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 :- 40 #include <sound/soc-dpcm.h> 41 #include <sound/soc-topology.h> 42 #include <sound/soc-link.h> 76 return sysfs_emit(buf, "%ld\n", rtd->pmdown_time); in pmdown_time_show() 86 ret = kstrtol(buf, 10, &rtd->pmdown_time); in pmdown_time_store() 110 return attr->mode; /* always visible */ in soc_dev_attr_is_visible() 111 return rtd->dai_link->num_codecs ? attr->mode : 0; /* enabled only with codec */ in soc_dev_attr_is_visible() [all …]
|
| /linux/include/sound/ |
| H A D | soc-acpi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2013-15, Intel Corporation 23 /* codec name is used in DAIs is i2c-<HID>:00 with HID being 8 chars */ 62 * @acpi_ipc_irq_index: used for BYT-CR detection 65 * @dmic_num: number of SoC- or chipset-attached PDM digital microphones 96 * snd_soc_acpi_endpoint - endpoint descriptor 99 * @group_position: zero-based order (only when @aggregated is 1) 100 * @group_id: platform-unique group identifier (only when @aggregrated is 1) 110 * snd_soc_acpi_adr_device - descriptor for _ADR-enumerated device 124 * snd_soc_acpi_link_adr - ACPI-based list of _ADR enumerated devices [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | mctp-i2c-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/mctp-i2c-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MCTP I2C transport 10 - Matt Johnston <matt@codeconstruct.com.au> 13 An mctp-i2c-controller defines a local MCTP endpoint on an I2C controller. 14 MCTP I2C is specified by DMTF DSP0237. 16 An mctp-i2c-controller must be attached to an I2C adapter which supports 17 slave functionality. I2C busses (either directly or as subordinate mux [all …]
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A 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 +------+ +------+
|
| H A 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 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 [all …]
|
| /linux/Documentation/devicetree/bindings/i2c/ |
| H A 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/Documentation/sound/codecs/ |
| H A D | cs35l56.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 14 The high-level summary of this document is: 30 --------------------------------- 52 Firmware is distributed in the linux-firmware repository: 53 https://gitlab.com/kernel-firmware/linux-firmware.git 72 --------------------------- 79 firmware files in linux-firmware for these amplifiers. Firmware files are 82 Cirrus Logic submits files for known laptops to the upstream linux-firmware 85 to linux-firmware. You may need to upgrade to a newer release of 86 linux-firmware to obtain the firmware for your laptop. [all …]
|
| /linux/drivers/media/ |
| H A 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 163 depends on (I2C || I2C=n) 175 topology and configure it dynamically. 187 depends on (I2C || I2C=n) [all …]
|
| /linux/include/linux/platform_data/ |
| H A 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 * enum mlxreg_hotplug_kind - kind of hotplug entry 36 * after hardware-firmware synchronization handshake; 57 * enum mlxreg_hotplug_device_action - hotplug device action required for 73 * struct mlxreg_core_hotplug_notifier - hotplug notifier block: 86 * struct mlxreg_hotplug_device - I2C device data: 88 * @adapter: I2C device adapter; 89 * @client: I2C device client; [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 select I2C 16 # gallium uses SYS_kcmp for os_same_file_description() to de-duplicate 21 Kernel-level support for the Direct Rendering Infrastructure (DRI) 57 bool "Display a user-friendly message when a kernel panic occurs" 62 Enable a drm panic handler, which will display a user-friendly message 63 when a kernel panic occurs. It's useful when using a user-space 66 To support Hi-DPI Display, you can enable bigger fonts like 141 Enables debug tracing for topology refs in DRM's DP MST helpers. A 142 history of each topology reference/dereference will be printed to the [all …]
|
| /linux/sound/soc/intel/boards/ |
| H A D | sof_es8336.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <linux/i2c.h> 21 #include <sound/soc-acpi.h> 24 /* jd-inv + terminating entry */ 56 static int quirk_override = -1; 58 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); 79 { "speakers-enabl [all...] |
| H A 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 …]
|
| /linux/drivers/net/mctp/ |
| H A D | mctp-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * "DSP0237 Management Component Transport Protocol (MCTP) SMBus/I2C 9 * A netdev is created for each I2C bus that handles MCTP. In the case of an I2C 10 * mux topology a single I2C client is attached to the root of the mux topology, 11 * shared between all mux I2C busses underneath. For non-mux cases an I2C client 14 * mctp-i2c-controller.yml devicetree binding has further details. 22 #include <linux/i2c.h> 23 #include <linux/i2c-mux.h> 31 #define MCTP_I2C_MAXMTU (MCTP_I2C_MAXBLOCK - 1) 41 #define MCTP_I2C_OF_PROP "mctp-controller" [all …]
|
| /linux/Documentation/ABI/stable/ |
| H A 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/drivers/gpu/drm/amd/display/dc/ |
| H A D | dc.h | 2 * Copyright 2012-2023 Advanced Micro Devices, Inc. 61 * MAX_SURFACES - representative of the upper bound of surfaces that can be piped to a single CRTC 65 * MAX_PLANES - representative of the upper bound of planes that are supported by the HW 118 // for example, 1080p -> 8K is 4.0, or 4000 raw value 126 // for example, 8K -> 1080p is 0.25, or 250 raw value 138 * DOC: color-management-caps 143 * abstracted HW. DCE 5-12 had almost no important changes, but starting with 150 * struct rom_curve_caps - predefined transfer function caps for degamma and regamma 166 * struct dpp_color_caps - color pipeline capabilities for display pipe and 171 * just plain 256-entry lookup [all …]
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A 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/sound/soc/sof/ |
| H A D | ipc.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 10 // Generic IPC layer that can work over MMIO and SPI/I2C. PHY layer provided 17 #include "sof-priv.h" 18 #include "sof-audio.h" 22 * sof_ipc_send_msg - generic function to prepare and send one IPC message 33 * Note: higher level sdev->ipc->tx_mutex must be held to make sure that 39 struct snd_sof_ipc *ipc = sdev->ipc; in sof_ipc_send_msg() 43 if (ipc->disable_ipc_tx || sdev->fw_state != SOF_FW_BOOT_COMPLETE) in sof_ipc_send_msg() 44 return -ENODEV; in sof_ipc_send_msg() 47 * The spin-lock is needed to protect message objects against other in sof_ipc_send_msg() [all …]
|
| /linux/Documentation/devicetree/bindings/mfd/ |
| H A 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/sound/soc/sof/intel/ |
| H A D | hda.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 26 #include <sound/intel-dsp-config.h> 27 #include <sound/intel-nhlt.h> 28 #include <sound/soc-acp [all...] |