/freebsd/sys/contrib/device-tree/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. 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 D | nvidia,nvec.txt | 4 - 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 D | samsung,s3c2410-i2c.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/samsun [all...] |
H A D | i2c-s3c2410.txt | 1 * 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 D | twl.c | 1 /*- 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 D | 88pm860x.txt | 4 - 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 D | i2c.c | 1 /*- 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 D | ltc430x.4 | 1 .\"- 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 D | iicoc.c | 1 /*- 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 D | iicoc.h | 1 /*- 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 D | iicbb.c | 1 /*- 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 D | iiconf.h | 1 /*- 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 D | iicbus_if.m | 1 #- 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 D | icee.c | 1 /*- 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 D | iic.c | 1 /*- 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 D | iiconf.c | 1 /*- 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 D | hid-over-i2c.txt | 1 * 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 D | i2c.c | 1 /*- 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 D | linux_i2c.c | 1 /*- 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 D | tas2552.txt | 1 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 = <®_vbat>; [all …]
|
/freebsd/sys/dev/iicbus/sensor/ |
H A D | htu21.c | 1 /*- 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 D | rk_i2c.c | 1 /*- 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 D | smbmsg.c | 1 /*- 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 D | vf_i2c.c | 1 /*- 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 D | pcf.c | 1 /*- 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 …]
|