| /linux/include/linux/ | 
| H A D | i2c-atr.h | 1 /* 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 D | i2c-atr.c | 1 // SPDX-License-Identifier: GPL-2.03  * 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 D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only3 # 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 D | Makefile | 1 # SPDX-License-Identifier: GPL-2.03 # 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 D | i2c-address-translators.rst | 1 .. SPDX-License-Identifier: GPL-2.04 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 D | ti_fpc202.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | i2c-atr.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 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 D | ti,fpc202.yaml | 1 # 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 D | ds90ub9xx.h | 1 /* 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 D | rtc-isl1208.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later11 #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 D | rtc-x1205.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | txgbe_type.h | 1 /* 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 D | st-nci.h | 1 /* 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 D | se.c | 1 // SPDX-License-Identifier: GPL-2.0-only5  * 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 D | st21nfca.h | 1 /* 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 D | ds90ub953.c | 1 // SPDX-License-Identifier: GPL-2.011 #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 D | sfp.c | 1 // SPDX-License-Identifier: GPL-2.06 #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 D | ixgbe_ethtool.c | 1 // SPDX-License-Identifier: GPL-2.02 /* 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 …]
 
 |