| /kernel/linux/linux-6.6/drivers/i2c/busses/ |
| D | i2c-mt65xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/dma-mapping.h> 14 #include <linux/i2c.h> 28 #define I2C_RS_TRANSFER (1 << 4) 29 #define I2C_ARB_LOST (1 << 3) 30 #define I2C_HS_NACKERR (1 << 2) 31 #define I2C_ACKERR (1 << 1) 32 #define I2C_TRANSAC_COMP (1 << 0) 33 #define I2C_TRANSAC_START (1 << 0) 34 #define I2C_RS_MUL_CNFG (1 << 15) [all …]
|
| D | i2c-exynos5.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * i2c-exynos5.c - Samsung Exynos5 I2C Controller Driver 11 #include <linux/i2c.h> 26 * 1. Auto mode: Where in master automatically controls the whole transaction 63 #define HSI2C_FUNC_MODE_I2C (1u << 0) 64 #define HSI2C_MASTER (1u << 3) 65 #define HSI2C_RXCHON (1u << 6) 66 #define HSI2C_TXCHON (1u << 7) 67 #define HSI2C_SW_RST (1u << 31) 70 #define HSI2C_RXFIFO_EN (1u << 0) [all …]
|
| D | i2c-pxa.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * I2C adapter for the PXA I2C bus access. 8 * Copyright (C) 2004-2005 Deep Blue Solutions Ltd. 13 * Jan 2003: Fixed several bugs concerning interrupt handling [Kai-Uwe Bloem] 14 * Jan 2003: added limited signal handling [Kai-Uwe Bloem] 24 #include <linux/i2c.h> 34 #include <linux/platform_data/i2c-pxa.h> 37 /* I2C register field definitions */ 38 #define IBMR_SDAS (1 << 0) 39 #define IBMR_SCLS (1 << 1) [all …]
|
| D | i2c-xiic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * i2c-xiic.c 4 * Copyright (c) 2002-2007 Xilinx Inc. 5 * Copyright (c) 2009-2010 Intel Corporation 24 #include <linux/i2c.h> 27 #include <linux/platform_data/i2c-xiic.h> 34 #define DRIVER_NAME "xiic-i2c" 51 REG_VALUES_400KHZ = 1, 56 * struct xiic_i2c - Internal representation of the XIIC I2C bus 67 * @endianness: big/little-endian byte order [all …]
|
| D | i2c-octeon-core.c | 2 * (C) Copyright 2009-2010 5 * Portions Copyright (C) 2010 - 2016 Cavium, Inc. 7 * This file contains the shared part of the driver for the i2c adapter in 16 #include <linux/i2c.h> 21 #include "i2c-octeon-core.h" 26 struct octeon_i2c *i2c = dev_id; in octeon_i2c_isr() local 28 i2c->int_disable(i2c); in octeon_i2c_isr() 29 wake_up(&i2c->queue); in octeon_i2c_isr() 34 static bool octeon_i2c_test_iflg(struct octeon_i2c *i2c) in octeon_i2c_test_iflg() argument 36 return (octeon_i2c_ctl_read(i2c) & TWSI_CTL_IFLG); in octeon_i2c_test_iflg() [all …]
|
| D | i2c-jz4780.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Ingenic JZ4780 I2C bus driver 5 * Copyright (C) 2006 - 2009 Ingenic Semiconductor Inc. 15 #include <linux/i2c.h> 68 #define JZ4780_I2C_CTRL_SPDS BIT(1) 76 #define JZ4780_I2C_STA_TFNF BIT(1) 91 #define JZ4780_I2C_INTST_RXOF BIT(1) 104 #define JZ4780_I2C_INTM_MRXOF BIT(1) 113 #define JZ4780_I2CSHCNT_ADJUST(n) (((n) - 8) < 6 ? 6 : ((n) - 8)) 114 #define JZ4780_I2CSLCNT_ADJUST(n) (((n) - 1) < 8 ? 8 : ((n) - 1)) [all …]
|
| D | i2c-s3c2410.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* linux/drivers/i2c/busses/i2c-s3c2410.c 7 * S3C2410 I2C Controller 13 #include <linux/i2c.h> 34 #include <linux/platform_data/i2c-s3c2410.h> 36 /* see s3c2410x user guide, v1.1, section 9 (p447) for more info */ 44 #define S3C2410_IICCON_ACKEN (1 << 7) 46 #define S3C2410_IICCON_TXDIV_512 (1 << 6) 47 #define S3C2410_IICCON_IRQEN (1 << 5) 48 #define S3C2410_IICCON_IRQPEND (1 << 4) [all …]
|
| D | i2c-digicolor.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * I2C bus driver for Conexant Digicolor SoCs 13 #include <linux/i2c.h> 29 #define II_CMD_START 1 38 #define II_CMD_STATUS_ACK_GOOD 1 71 static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd) in dc_i2c_cmd() argument 73 writeb_relaxed(cmd | II_COMMAND_GO, i2c->regs + II_COMMAND); in dc_i2c_cmd() 78 u8 addr = (msg->addr & 0x7f) << 1; in dc_i2c_addr_cmd() 80 if (msg->flags & I2C_M_RD) in dc_i2c_addr_cmd() 81 addr |= 1; in dc_i2c_addr_cmd() [all …]
|
| D | i2c-mxs.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Freescale MXS I2C bus driver 5 * Copyright (C) 2012-2013 Marek Vasut <marex@denx.de> 6 * Copyright (C) 2011-2012 Wolfram Sang, Pengutronix e.K. 8 * based on a (non-working) driver which was: 10 * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. 16 #include <linux/i2c.h> 25 #include <linux/dma-mapping.h> 27 #include <linux/dma/mxs-dma.h> 29 #define DRIVER_NAME "mxs-i2c" [all …]
|
| D | i2c-rk3x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for I2C adapter in Rockchip RK3xxx SoC 11 #include <linux/i2c.h> 52 #define REG_CON_MOD(mod) ((mod) << 1) 53 #define REG_CON_MOD_MASK (BIT(1) | BIT(2)) 56 #define REG_CON_LASTACK BIT(5) /* 1: send NACK after last received byte */ 57 #define REG_CON_ACTACK BIT(6) /* 1: stop if NACK is received */ 70 #define REG_INT_BRF BIT(1) /* a byte was received */ 83 * struct i2c_spec_values - I2C specification values for various modes 87 * @min_setup_start_ns: min set-up time for a repeated START conditio [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/busses/ |
| D | i2c-pxa.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * I2C adapter for the PXA I2C bus access. 8 * Copyright (C) 2004-2005 Deep Blue Solutions Ltd. 13 * Jan 2003: Fixed several bugs concerning interrupt handling [Kai-Uwe Bloem] 14 * Jan 2003: added limited signal handling [Kai-Uwe Bloem] 24 #include <linux/i2c.h> 34 #include <linux/platform_data/i2c-pxa.h> 37 /* I2C register field definitions */ 38 #define IBMR_SDAS (1 << 0) 39 #define IBMR_SCLS (1 << 1) [all …]
|
| D | i2c-exynos5.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * i2c-exynos5.c - Samsung Exynos5 I2C Controller Driver 11 #include <linux/i2c.h> 28 * 1. Auto mode: Where in master automatically controls the whole transaction 65 #define HSI2C_FUNC_MODE_I2C (1u << 0) 66 #define HSI2C_MASTER (1u << 3) 67 #define HSI2C_RXCHON (1u << 6) 68 #define HSI2C_TXCHON (1u << 7) 69 #define HSI2C_SW_RST (1u << 31) 72 #define HSI2C_RXFIFO_EN (1u << 0) [all …]
|
| D | i2c-mt65xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/dma-mapping.h> 14 #include <linux/i2c.h> 29 #define I2C_RS_TRANSFER (1 << 4) 30 #define I2C_ARB_LOST (1 << 3) 31 #define I2C_HS_NACKERR (1 << 2) 32 #define I2C_ACKERR (1 << 1) 33 #define I2C_TRANSAC_COMP (1 << 0) 34 #define I2C_TRANSAC_START (1 << 0) 35 #define I2C_RS_MUL_CNFG (1 << 15) [all …]
|
| D | i2c-xiic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * i2c-xiic.c 4 * Copyright (c) 2002-2007 Xilinx Inc. 5 * Copyright (c) 2009-2010 Intel Corporation 24 #include <linux/i2c.h> 27 #include <linux/platform_data/i2c-xiic.h> 34 #define DRIVER_NAME "xiic-i2c" 48 * struct xiic_i2c - Internal representation of the XIIC I2C bus 59 * @endianness: big/little-endian byte order 60 * @clk: Pointer to AXI4-lite input clock [all …]
|
| D | i2c-octeon-core.c | 2 * (C) Copyright 2009-2010 5 * Portions Copyright (C) 2010 - 2016 Cavium, Inc. 7 * This file contains the shared part of the driver for the i2c adapter in 16 #include <linux/i2c.h> 21 #include "i2c-octeon-core.h" 26 struct octeon_i2c *i2c = dev_id; in octeon_i2c_isr() local 28 i2c->int_disable(i2c); in octeon_i2c_isr() 29 wake_up(&i2c->queue); in octeon_i2c_isr() 34 static bool octeon_i2c_test_iflg(struct octeon_i2c *i2c) in octeon_i2c_test_iflg() argument 36 return (octeon_i2c_ctl_read(i2c) & TWSI_CTL_IFLG); in octeon_i2c_test_iflg() [all …]
|
| D | i2c-jz4780.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Ingenic JZ4780 I2C bus driver 5 * Copyright (C) 2006 - 2009 Ingenic Semiconductor Inc. 15 #include <linux/i2c.h> 68 #define JZ4780_I2C_CTRL_SPDS BIT(1) 76 #define JZ4780_I2C_STA_TFNF BIT(1) 91 #define JZ4780_I2C_INTST_RXOF BIT(1) 104 #define JZ4780_I2C_INTM_MRXOF BIT(1) 113 #define JZ4780_I2CSHCNT_ADJUST(n) (((n) - 8) < 6 ? 6 : ((n) - 8)) 114 #define JZ4780_I2CSLCNT_ADJUST(n) (((n) - 1) < 8 ? 8 : ((n) - 1)) [all …]
|
| D | i2c-s3c2410.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* linux/drivers/i2c/busses/i2c-s3c2410.c 7 * S3C2410 I2C Controller 13 #include <linux/i2c.h> 34 #include <linux/platform_data/i2c-s3c2410.h> 36 /* see s3c2410x user guide, v1.1, section 9 (p447) for more info */ 44 #define S3C2410_IICCON_ACKEN (1 << 7) 46 #define S3C2410_IICCON_TXDIV_512 (1 << 6) 47 #define S3C2410_IICCON_IRQEN (1 << 5) 48 #define S3C2410_IICCON_IRQPEND (1 << 4) [all …]
|
| D | i2c-digicolor.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * I2C bus driver for Conexant Digicolor SoCs 13 #include <linux/i2c.h> 29 #define II_CMD_START 1 38 #define II_CMD_STATUS_ACK_GOOD 1 71 static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd) in dc_i2c_cmd() argument 73 writeb_relaxed(cmd | II_COMMAND_GO, i2c->regs + II_COMMAND); in dc_i2c_cmd() 78 u8 addr = (msg->addr & 0x7f) << 1; in dc_i2c_addr_cmd() 80 if (msg->flags & I2C_M_RD) in dc_i2c_addr_cmd() 81 addr |= 1; in dc_i2c_addr_cmd() [all …]
|
| D | i2c-mxs.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Freescale MXS I2C bus driver 5 * Copyright (C) 2012-2013 Marek Vasut <marex@denx.de> 6 * Copyright (C) 2011-2012 Wolfram Sang, Pengutronix e.K. 8 * based on a (non-working) driver which was: 10 * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. 16 #include <linux/i2c.h> 26 #include <linux/dma-mapping.h> 28 #include <linux/dma/mxs-dma.h> 30 #define DRIVER_NAME "mxs-i2c" [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | aspeed-bmc-facebook-cmm.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "ast2500-facebook-netbmc-common.dtsi" 9 compatible = "facebook,cmm-bmc", "aspeed,ast2500"; 22 * PCA9548 (1-0077) provides 8 channels for connecting to 35 * PCA9548 (2-0071) provides 8 channels for connecting to 48 * PCA9548 (8-0077) provides 8 channels and the first 4 61 * 2 PCA9548 (18-0070 & 18-0073), 16 channels connecting 62 * to Line Card #1. 82 * 2 PCA9548 (19-0070 & 19-0073), 16 channels connecting [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/aspeed/ |
| D | aspeed-bmc-facebook-cmm.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "ast2500-facebook-netbmc-common.dtsi" 9 compatible = "facebook,cmm-bmc", "aspeed,ast2500"; 22 * PCA9548 (1-0077) provides 8 channels for connecting to 35 * PCA9548 (2-0071) provides 8 channels for connecting to 48 * PCA9548 (8-0077) provides 8 channels and the first 4 61 * 2 PCA9548 (18-0070 & 18-0073), 16 channels connecting 62 * to Line Card #1. 82 * 2 PCA9548 (19-0070 & 19-0073), 16 channels connecting [all …]
|
| D | aspeed-bmc-facebook-minipack.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "ast2500-facebook-netbmc-common.dtsi" 9 compatible = "facebook,minipack-bmc", "aspeed,ast2500"; 23 * i2c switch 2-0070, pca9548, 8 child channels assigned 24 * with bus number 16-23. 36 * i2c switch 8-0070, pca9548, 8 child channels assigned 37 * with bus number 24-31. 49 * i2c switch 9-0070, pca9548, 8 child channels assigned 50 * with bus number 32-39. [all …]
|
| D | aspeed-bmc-facebook-fuji.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 4 /dts-v1/; 6 #include <dt-bindings/leds/common.h> 7 #include "ast2600-facebook-netbmc-common.dtsi" 11 compatible = "facebook,fuji-bmc", "aspeed,ast2600"; 15 * PCA9548 (2-0070) provides 8 channels connecting to 28 * PCA9548 (8-0070) provides 8 channels connecting to 41 * PCA9548 (11-0077) provides 8 channels connecting to 54 * PCA9548 (24-0071) provides 8 channels connecting to 55 * PDB-Left. [all …]
|
| /kernel/linux/linux-6.6/Documentation/i2c/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/i2c/ |
| D | i2c-imx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-imx.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX 10 - Oleksij Rempel <o.rempel@pengutronix.de> 13 - $ref: /schemas/i2c/i2c-controller.yaml# 18 - const: fsl,imx1-i2c 19 - const: fsl,imx21-i2c 20 - const: fsl,vf610-i2c [all …]
|