Home
last modified time | relevance | path

Searched +full:i2c +full:- +full:atr (Results 1 – 18 of 18) sorted by relevance

/linux/include/linux/
H A Di2c-atr.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * I2C Address Translator
8 * Based on i2c-mux.h
14 #include <linux/i2c.h>
22 * enum i2c_atr_flags - Flags for an I2C ATR driver
24 * @I2C_ATR_F_STATIC: ATR does not support dynamic mapping, use static mapping.
27 * The ATR pool will have to be big enough to accomodate all
37 * struct i2c_atr_ops - Callbacks from ATR to the device driver.
48 int (*attach_addr)(struct i2c_atr *atr, u32 chan_id,
50 void (*detach_addr)(struct i2c_atr *atr, u32 chan_id,
[all …]
/linux/drivers/i2c/
H A Di2c-atr.c1 // SPDX-License-Identifier: GPL-2.0
3 * I2C Address Translator
8 * Originally based on i2c-mux.c
11 #include <linux/i2c-atr.h>
12 #include <linux/i2c.h>
22 #define ATR_MAX_SYMLINK_LEN 11 /* Longest name is 10 chars: "channel-99" */
25 * struct i2c_atr_alias_pair - Holds the alias assigned to a client address.
28 * @alias: I2C alias address assigned by the driver.
29 * This is the address that will be used to issue I2C transactions
32 * This flag is necessary for situations where a single I2C transaction
[all …]
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 # I2C subsystem configuration
6 menu "I2C support"
8 config I2C config
9 tristate "I2C support"
13 I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
15 or System Management Bus is a subset of the I2C protocol. More
16 information is contained in the directory <file:Documentation/i2c/>,
19 Both I2C and SMBus are supported here. You will need this for
22 If you want I2C support, you should say Y here and also to the
[all …]
H A DMakefile1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for the i2c core.
6 obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o
7 obj-$(CONFIG_I2C) += i2c-core.o
8 i2c-core-y := i2c-core-base.o i2c-core-smbus.o
9 i2c-core-$(CONFIG_ACPI) += i2c-core-acpi.o
10 i2c-core-$(CONFIG_I2C_SLAVE) += i2c-core-slave.o
11 i2c-core-$(CONFIG_OF) += i2c-core-of.o
12 i2c-core-$(CONFIG_OF_DYNAMIC) += i2c-core-of-prober.o
14 obj-$(CONFIG_I2C_SMBUS) += i2c-smbus.o
[all …]
/linux/Documentation/i2c/
H A Di2c-address-translators.rst1 .. 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
26 The ATR functionality can be provided by a chip with many other features.
27 The kernel i2c-atr provides a helper to implement an ATR within a driver.
[all …]
/linux/drivers/misc/
H A Dti_fpc202.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * ti_fpc202.c - FPC202 Dual Port Controller driver
11 #include <linux/i2c.h>
12 #include <linux/i2c-atr.h>
54 * So just set an invalid I2C address as the translation target when no client
64 struct i2c_atr *atr; member
84 * There is a predefined list of aliases for each FPC202 I2C in fpc202_fill_alias_table()
85 * self-address. This allows daisy-chained FPC202 units to in fpc202_fill_alias_table()
89 first_alias = 0x10 + 4 * port_id + 8 * ((u16)client->addr - 2); in fpc202_fill_alias_table()
104 val = i2c_smbus_read_byte_data(priv->client, reg); in fpc202_read()
[all …]
/linux/Documentation/devicetree/bindings/i2c/
H A Di2c-atr.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-atr.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Common i2c address translator properties
10 - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
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
22 i2c-alias-pool:
23 $ref: /schemas/types.yaml#/definitions/uint32-array
[all …]
/linux/Documentation/devicetree/bindings/misc/
H A Dti,fpc202.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Romain Gantois <romain.gantois@bootlin.com>
13 - $ref: /schemas/i2c/i2c-atr.yaml#
22 gpio-controller: true
24 "#gpio-cells":
27 enable-gpios:
32 '#address-cells':
35 '#size-cells':
[all …]
/linux/include/media/i2c/
H A Dds90ub9xx.h1 /* SPDX-License-Identifier: GPL-2.0 */
11 * struct ds90ub9xx_platform_data - platform data for FPD-Link Serializers.
13 * @atr: I2C ATR
14 * @bc_rate: back-channel clock rate
18 struct i2c_atr *atr; member
/linux/drivers/rtc/
H A Drtc-isl1208.c1 // SPDX-License-Identifier: GPL-2.0-or-later
11 #include <linux/i2c.h>
44 #define ISL1219_REG_EV_EVIENB (1<<7) /* event in pull-up disable */
120 MODULE_DEVICE_TABLE(i2c, isl1208_id);
183 return -ENODEV; in isl1208_i2c_validate_client()
212 int atr = i2c_smbus_read_byte_data(client, ISL1208_REG_ATR); in isl1208_i2c_get_atr() local
213 if (atr < 0) in isl1208_i2c_get_atr()
214 return atr; in isl1208_i2c_get_atr()
216 /* The 6bit value in the ATR register controls the load in isl1208_i2c_get_atr()
219 * bit (1<<5) of the ATR register is inverted in isl1208_i2c_get_atr()
[all …]
H A Drtc-x1205.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * An i2c driver for the Xicor/Intersil X1205 RTC
17 #include <linux/i2c.h>
85 * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
97 .addr = client->addr, in x1205_get_datetime()
102 .addr = client->addr, in x1205_get_datetime()
110 if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) { in x1205_get_datetime()
111 dev_err(&client->dev, "%s: read error\n", __func__); in x1205_get_datetime()
112 return -EIO; in x1205_get_datetime()
115 dev_dbg(&client->dev, in x1205_get_datetime()
[all …]
/linux/drivers/net/ethernet/wangxun/txgbe/
H A Dtxgbe_type.h1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. */
56 #define TXGBE_MIS_RST_MAC_RST(_i) BIT(20 - (_i) * 3)
58 #define TXGBE_MIS_PRB_CTL_LAN_UP(_i) BIT(1 - (_i))
107 /* I2C registers */
123 #define TXGBE_RDB_FDIR_IP6(_i) (0x1950C + ((_i) * 4)) /* 0-2 */
203 /* Software ATR hash keys */
207 /* Software ATR input stream values and masks */
235 /* Flow Director ATR input struct. */
239 * vm_pool - 1 byte
[all …]
/linux/drivers/nfc/st-nci/
H A Dst-nci.h1 /* SPDX-License-Identifier: GPL-2.0-only */
20 * ref ISO7816-3 chap 8.1. the initial character TS is followed by a
46 u8 atr[ST_NCI_ESE_MAX_LENGTH]; member
63 * enum nfc_vendor_cmds - supported nfc vendor commands
70 * RF trimmings or low level drivers configurations (I2C, SPI, SWP).
83 * technology. When using this command to anti-collision is done.
H A Dse.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2014-2015 STMicroelectronics SAS. All rights reserved.
14 #include "st-nci.h"
45 #define ST_NCI_EVT_HOT_PLUG_IS_INHIBITED(x) (x->data[0] & 0x80)
121 td = ST_NCI_ATR_GET_Y_FROM_TD(info->se_info.atr[i]); in st_nci_se_get_bwi()
126 return info->se_info.atr[i] >> 4; in st_nci_se_get_bwi()
143 if (skb->len <= ST_NCI_ESE_MAX_LENGTH) { in st_nci_se_get_atr()
144 memcpy(info->se_info.atr, skb->data, skb->len); in st_nci_se_get_atr()
146 info->se_info.wt_timeout = in st_nci_se_get_atr()
165 * - It does useless EEPROM cycling in st_nci_hci_load_session()
[all …]
/linux/drivers/nfc/st21nfca/
H A Dst21nfca.h1 /* SPDX-License-Identifier: GPL-2.0-only */
47 * ref ISO7816-3 chap 8.1. the initial character TS is followed by a
72 * enum nfc_vendor_cmds - supported nfc vendor commands
79 * RF trimmings or low level drivers configurations (I2C, SPI, SWP).
92 * technology. When using this command to anti-collision is done.
128 u8 atr[ST21NFCA_ESE_MAX_LENGTH]; member
/linux/drivers/media/i2c/
H A Dds90ub953.c1 // SPDX-License-Identifier: GPL-2.0
11 #include <linux/clk-provider.h>
15 #include <linux/i2c-atr.h>
16 #include <linux/i2c.h>
24 #include <media/i2c/ds90ub9xx.h>
25 #include <media/v4l2-ctrls.h>
26 #include <media/v4l2-fwnode.h>
27 #include <media/v4l2-mediabus.h>
28 #include <media/v4l2-subdev.h>
41 /* FPD-Link III CSI-2 synchronous mode */
[all …]
/linux/drivers/net/phy/
H A Dsfp.c1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/i2c.h>
9 #include <linux/mdio/mdio-i2c.h>
149 "mod-def0",
151 "tx-fault",
152 "tx-disable",
153 "rate-select0",
154 "rate-select1",
166 /* t_start_up (SFF-8431) or t_init (SFF-8472) is the time required for a
167 * non-cooled module to initialise its laser safety circuitry. We wait
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_ethtool.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2024 Intel Corporation. */
31 sizeof(((struct ixgbe_adapter *)0)->m), \
34 sizeof(((struct rtnl_link_stats64 *)0)->m), \
111 #define IXGBE_NUM_RX_QUEUES netdev->num_tx_queues
114 (netdev->num_tx_queues + IXGBE_NUM_RX_QUEUES) * \
118 (sizeof(((struct ixgbe_adapter *)0)->stats.pxonrxc) + \
119 sizeof(((struct ixgbe_adapter *)0)->stats.pxontxc) + \
120 sizeof(((struct ixgbe_adapter *)0)->stats.pxoffrxc) + \
121 sizeof(((struct ixgbe_adapter *)0)->stats.pxofftxc)) \
[all …]