Home
last modified time | relevance | path

Searched +full:i2c +full:- +full:slave +full:- +full:addr (Results 1 – 25 of 85) sorted by relevance

1234

/freebsd/sys/contrib/device-tree/Bindings/fsi/
H A Dfsi.txt4 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.
16 represent the FSI slaves and their slave engines. As a basic outline:
18 fsi-master {
19 /* top-level of FSI bus topology, bound to an FSI master driver and
22 fsi-slave@<link,id> {
23 /* this node defines the FSI slave device, and is handled
26 fsi-slave-engine@<addr> {
[all …]
/freebsd/sys/contrib/device-tree/Bindings/arm/tegra/
H A Dnvidia,nvec.txt4 - compatible : should be "nvidia,nvec".
5 - reg : the iomem of the i2c slave controller
6 - interrupts : the interrupt line of the i2c slave controller
7 - clock-frequency : the frequency of the i2c bus
8 - gpios : the gpio used for ec request
9 - slave-addr: the i2c address of the slave controller
10 - clocks : Must contain an entry for each entry in clock-names.
11 See ../clocks/clock-bindings.txt for details.
12 - clock-names : Must include the following entries:
14 - div-clk
[all …]
/freebsd/sys/contrib/device-tree/Bindings/i2c/
H A Dsamsung,s3c2410-i2c.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/i2c/samsun
[all...]
H A Di2c-s3c2410.txt1 * Samsung's I2C controller
3 The Samsung's I2C controller is used to interface with I2C devices.
6 - compatible: value should be either of the following.
7 (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
8 (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
9 (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
11 (d) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
13 - reg: physical base address of the controller and length of memory mapped
15 - interrupts: interrupt number to the cpu.
16 - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
[all …]
/freebsd/sys/arm/ti/twl/
H A Dtwl.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
36 * copyright (C) 2005-2006 Texas Instruments, Inc.
78 /* Each TWL device typically has more than one I2C address */
84 /* The TWL devices typically use 4 I2C address for the different internal
85 * register sets, plus one SmartReflex I2C address.
112 #define TWL_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
113 #define TWL_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
115 mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->sc_dev), \
117 #define TWL_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx);
[all …]
/freebsd/sys/contrib/device-tree/Bindings/mfd/
H A D88pm860x.txt4 - compatible : "marvell,88pm860x"
5 - reg : the I2C slave address for the 88pm860x chip
6 - interrupts : IRQ line for the 88pm860x chip
7 - interrupt-controller: describes the 88pm860x as an interrupt controller (has its own domain)
8 - #interrupt-cells : should be 1.
9 - The cell is the 88pm860x local IRQ number
12 - marvell,88pm860x-irq-read-clr: inicates whether interrupt status is cleared by read
13 - marvell,88pm860x-slave-addr: 88pm860x are two chips solution. <reg> stores the I2C address
14 of one chip, and this property stores the I2C address of
17 88pm860x consists of a large and varied group of sub-devices:
[all …]
/freebsd/sys/powerpc/mpc85xx/
H A Di2c.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (C) 2008-2009 Semihalf, Michal Hajduk
50 #define I2C_ADDR_REG 0x00 /* I2C slave address register */
51 #define I2C_FDR_REG 0x04 /* I2C frequency divider register */
52 #define I2C_CONTROL_REG 0x08 /* I2C contro
246 i2c_repeated_start(device_t dev,u_char slave,int timeout) i2c_repeated_start() argument
270 i2c_start(device_t dev,u_char slave,int timeout) i2c_start() argument
319 i2c_reset(device_t dev,u_char speed,u_char addr,u_char * oldadr) i2c_reset() argument
[all...]
/freebsd/share/man/man4/
H A Dltc430x.41 .\"-
2 .\" SPDX-License-Identifier: BSD-2-Clause
32 .Nd driver for LTC4305 and LTC4306 I2C mux chips
37 .Bd -ragged -offset indent
44 .Bd -literal -offset indent
50 driver supports the LTC4305 and LTC4306 I2C bus multiplexer (mux) chips.
51 It automatically connects an upstream I2C bus to one of several downstream
52 buses as needed when slave devices on the downstream buses initiate I/O.
60 device node is defined as a child node of its upstream i2c bus.
63 node are additional i2c buses, which will have their own i2c slave
[all …]
/freebsd/sys/dev/iicbus/controller/opencores/
H A Diicoc.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2003-2012 Broadcom Corporation
56 bus_write_1(sc->mem_res, reg<<sc->reg_shift, value); in iicoc_dev_write()
66 val = bus_read_1(sc->mem_res, reg<<sc->reg_shift); in iicoc_dev_read()
78 } while ((status & bit) != 0 && --tries > 0); in iicoc_wait_on_status()
80 return (tries == 0 ? -1: 0); in iicoc_wait_on_status()
91 return (-1); in iicoc_rd_cmd()
105 return (-1); in iicoc_wr_cmd()
115 return (-1); in iicoc_wr_ack_cmd()
[all …]
H A Diicoc.h1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2003-2012 Broadcom Corporation
34 /* I2C specific registers */
38 #define OC_I2C_TRANSMIT_REG 0x03 /* tx and rx - same reg */
39 #define OC_I2C_RECV_REG 0x03 /* tx and rx - same reg */
40 #define OC_I2C_DATA_REG 0x03 /* tx and rx - same reg */
41 #define OC_I2C_CMD_REG 0x04 /* cmd and status - same reg */
42 #define OC_I2C_STATUS_REG 0x04 /* cmd and status - same reg */
50 * I2C Master Host Controller used in XLP
[all …]
/freebsd/sys/dev/iicbus/
H A Diicbb.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
31 * Generic I2C bit-banging code
41 * From Linux I2C generic interface
42 * (c) 1998 Gerd Knorr <kraxel@cs.tu-berlin.de>
137 device_set_desc(dev, "I2C bi in iicbb_probe()
428 iicbb_reset(device_t dev,u_char speed,u_char addr,u_char * oldaddr) iicbb_reset() argument
435 iicbb_start_impl(device_t dev,u_char slave,bool repstart) iicbb_start_impl() argument
489 iicbb_start(device_t dev,u_char slave,int timeout) iicbb_start() argument
496 iicbb_repstart(device_t dev,u_char slave,int timeout) iicbb_repstart() argument
[all...]
H A Diiconf.h1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
51 * The original iicbus->bridge callback api took a pointer to an int containing
57 * Note that the requesting device may not be a i2c slave device which is a
58 * child of the requested bus -- it may be a mux device which is electrically
69 * i2c modes
76 * i2c speed
95 #define INTR_START 0x2 /* the I2C interface is addressed */
111 #define IIC_EUNDERFLOW 0x6 /* slave ready for more data */
116 #define IIC_ERRNO __INT_MIN /* marker bit: errno is in low-order bits */
[all …]
H A Diicbus_if.m1 #-
75 u_char slave;
84 u_char slave;
96 # Read from I2C bus
108 # Write to the I2C bus
119 # Reset I2C bus
124 u_char addr;
H A Dicee.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
57 * AT24 parts have a "write page size" that differs per-device, and a "read page
68 int addr; /* Slave address on the bus */ member
112 #define CDEV2SOFTC(dev) ((dev)->si_drv1)
135 ofw_bus_search_compatible(dev, compat_data)->ocd_data; in icee_probe()
137 device_set_desc(dev, d->name); in icee_probe()
141 device_set_desc(dev, "I2C EEPROM"); in icee_probe()
154 ofw_bus_search_compatible(sc->dev, compat_data)->ocd_data; in icee_init()
156 sc->size = d->size; in icee_init()
[all …]
H A Diic.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
59 uint8_t addr; member
64 uint16_t slave; member
71 u_char slave; member
87 #define IIC_LOCK(cdp) sx_xlock(&(cdp)->lock)
88 #define IIC_UNLOCK(cdp) sx_xunlock(&(cdp)->loc
272 uint8_t addr; iicuio() local
[all...]
H A Diiconf.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
44 * system errno value later. This lets controller- and bus-layer code get
54 * Translate IIC_Exxxxx status values to vaguely-equivelent errno values.
75 * IIC_ERRNO marker bit. If lots of high-order bits are set, in iic2errno()
76 * then it's one of the negative pseudo-errors such as ERESTART in iic2errno()
77 * and we return it as-is. Otherwise it's a plain "small in iic2errno()
99 if (sc->owner) in iicbus_intr()
100 IICBUS_INTR(sc->owner, event, buf); in iicbus_intr()
113 error = mtx_sleep(sc, &sc->lock, IICPRI|PCATCH, "iicreq", 0); in iicbus_poll()
[all …]
/freebsd/sys/contrib/device-tree/Bindings/input/
H A Dhid-over-i2c.txt1 * HID over I2C Device-Tree bindings
3 HID over I2C provides support for various Human Interface Devices over the
4 I2C bus. These devices can be for example touchpads, keyboards, touch screens
8 http://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
10 If this binding is used, the kernel module i2c-hid will handle the communication
14 - compatible: must be "hid-over-i2c"
15 - reg: i2c slave address
16 - hid-descr-addr: HID descriptor address
17 - interrupts: interrupt line
23 device-specific compatible properties, which should be used in addition to the
[all …]
/freebsd/usr.sbin/i2c/
H A Di2c.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (C) 2008-2009 Semihalf, Michal Hajduk and Bartlomiej Sieka
60 uint32_t addr; member
75 fprintf(stderr, "usage: %s -a addr [-f device] [-d [r|w]] [-o offset] " in usage()
76 "[-w [0|8|16|16LE|16BE]] [-c count] [-m [tr|ss|rs|no]] [-b] [-v]\n", in usage()
78 fprintf(stderr, " %s -s [-f device] [-n skip_addr] -v\n", in usage()
80 fprintf(stderr, " %s -r [-f device] -v\n", getprogname()); in usage()
168 usage("Bad -n argument, expected (first) hex-digit"); in parse_skip()
171 usage("Bad -n argument, expected (second) hex-digit"); in parse_skip()
[all …]
/freebsd/sys/compat/linuxkpi/common/src/
H A Dlinux_i2c.c1 /*-
36 #include <linux/i2c.h>
37 #include <linux/i2c-algo-bit.h>
46 static int lkpi_i2c_reset(device_t dev, u_char speed, u_char addr, u_char *oldaddr);
59 sx_init(&lkpi_sx_i2c, "lkpi-i2c"); in lkpi_sysinit_i2c()
78 device_set_desc(dev, "LinuxKPI I2C"); in lkpi_iic_probe()
88 sc->iicbus = device_add_child(dev, "iicbus", -1); in lkpi_iic_attach()
89 if (sc->iicbus == NULL) { in lkpi_iic_attach()
103 if (sc->iicbus) in lkpi_iic_detach()
104 device_delete_child(dev, sc->iicbus); in lkpi_iic_detach()
[all …]
/freebsd/sys/contrib/device-tree/Bindings/sound/
H A Dtas2552.txt1 Texas Instruments - tas2552 Codec module
3 The tas2552 serial control bus communicates through I2C protocols
6 - compatible - One of:
7 "ti,tas2552" - TAS2552
8 - reg - I2C slave address: it can be 0x40 if ADDR pin is 0
9 or 0x41 if ADDR pin is 1.
10 - supply-*: Required supply regulators are:
16 - enable-gpio - gpio pin to enable/disable the device
21 For system integration the dt-bindings/sound/tas2552.h header file provides
29 vbat-supply = <&reg_vbat>;
[all …]
/freebsd/sys/dev/iicbus/sensor/
H A Dhtu21.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
52 * - Measurement Specialties HTU21D datasheet,
53 * - Sensirion SHT21 datasheet,
54 * - Silicon Labs Si7021 datasheet,
55 * - HTU2X Serial Number Reading application note,
56 * - Sensirion Electronic Identification Code (How to read-out the serial number
132 msgs[0].slave = sc->sc_addr; in htu21_get_measurement()
137 msgs[1].slave = sc->sc_addr; in htu21_get_measurement()
157 msgs[0].slave = sc->sc_addr; in htu21_get_measurement_nohold()
[all …]
/freebsd/sys/dev/iicbus/controller/rockchip/
H A Drk_i2c.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
143 {"rockchip,rk3288-i2c", 1},
144 {"rockchip,rk3328-i2c", 1},
145 {"rockchip,rk3399-i2
185 rk_i2c_reset(device_t dev,u_char speed,u_char addr,u_char * oldaddr) rk_i2c_reset() argument
[all...]
/freebsd/usr.sbin/smbmsg/
H A Dsmbmsg.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
55 static int cflag = -1; /* SMBus cmd */
56 static int iflag = -1; /* input data */
57 static int oflag = -1; /* output data */
59 static int slave = -1; /* slave address */ variable
67 * The I2C specs say that all addresses below 16 and above or equal
83 "usage: smbmsg [-f dev] -p\n" in usage()
84 " smbmsg [-f dev] -s slave [-F fmt] [-c cmd] [-w] " in usage()
85 "[-i incnt] [-o outcnt] [outdata ...]\n"); in usage()
[all …]
/freebsd/sys/dev/iicbus/controller/vybrid/
H A Dvf_i2c.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
5 * Copyright (c) 2024 Pierre-Luc Drouin <pldrouin@pldrouin.net>
30 * Vybrid Family Inter-Integrated Circuit (I2C)
62 #define I2C_IBAD 0x0 /* I2C Bus Address Register */
63 #define I2C_IBFD 0x1 /* I2C Bus Frequency Divider Register */
64 #define I2C_IBCR 0x2 /* I2C Bus Control Register */
66 #define IBCR_IBIE (1 << 6) /* I-Bus Interrupt Enable. */
67 #define IBCR_MSSL (1 << 5) /* Master/Slave mode select. */
72 #define I2C_IBSR 0x3 /* I2C Bus Status Register */
[all …]
/freebsd/sys/dev/pcf/
H A Dpcf.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
65 while (counter--) { in pcf_wait_byte()
91 if (sc->pcf_started) { in pcf_stop_locked()
95 sc->pcf_started = 0; in pcf_stop_locked()
111 } while (k--); in pcf_noack()
117 pcf_repeated_start(device_t dev, u_char slave, int timeout) in pcf_repeated_start() argument
124 device_printf(dev, " >> repeated start for slave %#x\n", in pcf_repeated_start()
125 (unsigned)slave); in pcf_repeated_start()
130 /* set slave address to PCF. Last bit (LSB) must be set correctly in pcf_repeated_start()
[all …]

1234