| /linux/drivers/i2c/busses/ |
| H A D | i2c-fsi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * FSI-attached I2C controller algorithm 18 #include <linux/fsi.h> 19 #include <linux/i2c.h> 32 /* i2c registers */ 149 struct fsi_device *fsi; member 163 static int fsi_i2c_read_reg(struct fsi_device *fsi, unsigned int reg, in fsi_i2c_read_reg() argument 169 rc = fsi_device_read(fsi, reg, &data_be, sizeof(data_be)); in fsi_i2c_read_reg() 178 static int fsi_i2c_write_reg(struct fsi_device *fsi, unsigned int reg, in fsi_i2c_write_reg() argument 183 return fsi_device_write(fsi, reg, &data_be, sizeof(data_be)); in fsi_i2c_write_reg() [all …]
|
| /linux/Documentation/devicetree/bindings/fsi/ |
| H A D | fsi.txt | 1 FSI bus & engine generic device tree bindings 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 7 busses, which are then exposed by the device tree. For example, an FSI engine 8 that is an I2C master - the I2C bus can be described by the device tree under 11 FSI masters may require their own DT nodes (to describe the master HW itself); 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 [all …]
|
| H A D | ibm,i2cr-fsi-master.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/fsi/ibm,i2cr-fsi-master.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: IBM I2C Responder virtual FSI master 10 - Eddie James <eajames@linux.ibm.com> 13 The I2C Responder (I2CR) is a an I2C device that's connected to an FSI CFAM 14 (see fsi.txt). The I2CR translates I2C bus operations to FSI CFAM reads and 15 writes or SCOM operations, thereby acting as an FSI master. 20 - ibm,i2cr-fsi-master [all …]
|
| H A D | fsi-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/fsi/fsi-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: FSI Controller Common Properties 10 - Eddie James <eajames@linux.ibm.com> 13 FSI (FRU (Field Replaceable Unit) Service Interface) is a two wire bus. The 14 FSI bus is connected to a CFAM (Common FRU Access Macro) which contains 15 various engines such as I2C controllers, SPI controllers, etc. 18 "#address-cells": [all …]
|
| /linux/drivers/fsi/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # FSI subsystem 6 menuconfig FSI config 7 tristate "FSI support" 11 FSI - the FRU Support Interface - is a simple bus for low-level 12 access to POWER-based hardware. 14 if FSI 17 bool "Create '/dev/fsi' directory for char devices" 20 This option causes char devices created for FSI devices to be 21 located under a common /dev/fsi/ directory. Set to N unless your [all …]
|
| H A D | fsi-master-i2cr.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/fsi.h> 6 #include <linux/i2c.h> 11 #include "fsi-master-i2cr.h" 79 msgs[0].addr = client->addr; in i2cr_transfer() 83 msgs[1].addr = client->addr; in i2cr_transfer() 88 ret = i2c_transfer(client->adapter, msgs, 2); in i2cr_transfer() 97 return -EIO; in i2cr_transfer() 128 dev_err(&client->dev, "status:%016llx error:%016llx log:%016llx\n", status, error, in i2cr_check_status() 130 return -EREMOTEIO; in i2cr_check_status() [all …]
|
| H A D | i2cr-scom.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/fsi.h> 11 #include "fsi-master-i2cr.h" 12 #include "fsi-slave.h" 26 file->f_pos = offset; in i2cr_scom_llseek() 29 return -EINVAL; in i2cr_scom_llseek() 37 struct i2cr_scom *scom = filep->private_data; in i2cr_scom_read() 42 return -EINVAL; in i2cr_scom_read() 44 ret = fsi_master_i2cr_read(scom->i2cr, (u32)*offset, &data); in i2cr_scom_read() 58 struct i2cr_scom *scom = filep->private_data; in i2cr_scom_write() [all …]
|
| H A D | fsi-master-i2cr.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 7 #include <linux/i2c.h> 10 #include "fsi-master.h" 27 if (master->dev.parent && master->dev.parent->type == &i2c_client_type) in is_fsi_master_i2cr()
|
| /linux/arch/arm/boot/dts/aspeed/ |
| H A D | ibm-power11-quad.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 125 #address-cells = <2>; 126 #size-cells = <0>; 128 bus-frequency = <100000000>; 129 cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_HIGH>; 133 #address-cells = <1>; 134 #size-cells = <1>; 135 chip-id = <0>; 138 compatible = "ibm,p9-scom"; 142 i2c@1800 { [all …]
|
| H A D | ibm-power9-dual.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 4 &fsi { 7 #address-cells = <1>; 8 #size-cells = <1>; 9 chip-id = <0>; 16 i2c@1800 { 17 compatible = "ibm,fsi-i2c-master"; 19 #address-cells = <1>; 20 #size-cells = <0>; 22 cfam0_i2c0: i2c-bus@0 { [all …]
|
| H A D | aspeed-bmc-opp-tacoma.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 12 compatible = "ibm,tacoma-bmc", "aspeed,ast2600"; 15 stdout-path = &uart5; 24 reserved-memory { 25 #address-cells = <1>; [all …]
|
| /linux/Documentation/devicetree/bindings/i2c/ |
| H A D | ibm,i2c-fsi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/ibm,i2c-fsi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: IBM FSI-attached I2C controller 10 - Eddie James <eajames@linux.ibm.com> 13 This I2C controller is an FSI CFAM engine, providing access to a number of 14 I2C busses. Therefore this node will always be a child of an FSI CFAM node. 19 - ibm,i2c-fsi 23 - description: FSI slave address [all …]
|
| /linux/include/sound/ |
| H A D | cs8427.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 10 #include <sound/i2c.h> 12 #define CS8427_BASE_ADDR 0x10 /* base I2C address */ 14 #define CS8427_REG_AUTOINC 0x80 /* flag - autoincrement */ 34 #define CS8427_REG_QSUBCODE 0x14 /* 0x14-0x1d (10 bytes) */ 55 #define CS8427_RMCKF (1<<4) /* 0 = 256*Fsi, 1 = 128*Fsi */ 63 #define CS8427_AESBP (1<<5) /* AES3 hardware bypass mode, 0 = normal, 1 = bypass (RX->TX) */ 65 #define CS8427_TXDSERIAL (1<<3) /* TXD - serial audio input port */ 66 #define CS8427_TXAES3DRECEIVER (2<<3) /* TXD - AES3 receiver */ 68 #define CS8427_SPDSERIAL (1<<1) /* SPD - serial audio input port */ [all …]
|
| /linux/sound/soc/renesas/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 25 tristate "SH4 FSI support" 29 This option enables FSI sound support 40 tristate "R-Car series SRU/SCU/SSIU/SSI support" 47 This option enables R-Car SRU/SCU/SSIU/SSI sound support 50 tristate "R-Car series MSIOF support" 54 This option enables R-Car MSIOF sound support 57 tristate "RZ/G2L series SSIF-2 support" 60 This option enables RZ/G2L SSIF-2 sound support. 76 tristate "SIU sound support on Migo-R" [all …]
|
| /linux/drivers/hwmon/occ/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # On-Chip Controller configuration 7 tristate "POWER8 OCC through I2C" 8 depends on I2C 12 On-Chip Controller (OCC) on a POWER8 processor. However, this driver 15 established through I2C bus. 18 called occ-p8-hwmon. 26 On-Chip Controller (OCC) on a POWER9 processor. However, this driver 29 established through SBE fifo on an FSI bus. 32 called occ-p9-hwmon.
|
| H A D | p8_i2c.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 #include <linux/fsi-occ.h> 7 #include <linux/i2c.h> 18 /* OCB (on-chip control bridge - interface to OCC) registers */ 42 /* p8 i2c slave requires shift */ in p8_i2c_occ_getscom() 45 msgs[0].addr = client->addr; in p8_i2c_occ_getscom() 46 msgs[0].flags = client->flags & I2C_M_TEN; in p8_i2c_occ_getscom() 48 /* address is a scom address; bus-endian */ in p8_i2c_occ_getscom() 51 /* data from OCC is big-endian */ in p8_i2c_occ_getscom() 52 msgs[1].addr = client->addr; in p8_i2c_occ_getscom() [all …]
|
| /linux/Documentation/hwmon/ |
| H A D | occ.rst | 1 Kernel driver occ-hwmon 12 ----------- 14 This driver supports hardware monitoring for the On-Chip Controller (OCC) 19 The P8 version of this driver is a client driver of I2C. It may be probed 20 manually if an "ibm,p8-occ-hwmon" compatible device is found under the 21 appropriate I2C bus node in the device-tree. 23 The P9 version of this driver is a client driver of the FSI-based OCC driver. 24 It will be probed automatically by the FSI-based OCC driver. 27 ------------- 29 The following attributes are supported. All attributes are read-only unless [all …]
|
| /linux/drivers/base/regmap/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 39 depends on I2C 81 depends on I2C 93 depends on FSI
|
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 CFLAGS_regmap.o := -I$(src) 5 obj-$(CONFIG_REGMAP) += regmap.o regcache.o 6 obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-flat.o regcache-maple.o 7 obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o 8 obj-$(CONFIG_REGMAP_KUNIT) += regmap-kunit.o 9 obj-$(CONFIG_REGMAP_AC97) += regmap-ac97.o 10 obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o 11 obj-$(CONFIG_REGMAP_RAM) += regmap-ram.o regmap-raw-ram.o 12 obj-$(CONFIG_REGMAP_SLIMBUS) += regmap-slimbus.o [all …]
|
| /linux/arch/sh/boards/mach-se/7724/ |
| H A D | setup.c | 1 // SPDX-License-Identifier: GPL-2.0 35 #include <linux/dma-map-ops.h> 37 #include <mach-se/mach/se7724.h> 38 #include <media/drv-intf/renesas-ceu.h> 51 * ------------------------------------ 55 * SW41 : abxx xxxx -> a = 0 : Analog monitor 72 * This setup.c supports FSI slave mode. 73 * Please change J20, J21, J22 pin to 1-2 connection. 85 .id = -1, 123 .mask_flags = MTD_WRITEABLE, /* Read-only */ [all …]
|
| /linux/arch/sh/boards/mach-ecovec24/ |
| H A D | setup.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/i2c.h> 39 #include <linux/dma-map-ops.h> 41 #include <media/drv-intf/renesas-ceu.h> 42 #include <media/i2c/mt9t112.h> 43 #include <media/i2c/tw9910.h> 52 *----------------------------------------- 62 *------------------------------ 71 * DS2[6-7] = MMC / SD ON-OFF : SD 72 * OFF-ON : MMC [all …]
|
| /linux/drivers/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 # Rewritten to use lists instead of if-statements. 9 obj-y += cache/ 10 obj-y += irqchip/ 11 obj-y += bus/ 13 obj-$(CONFIG_GENERIC_PHY) += phy/ 16 obj-$(CONFIG_PINCTRL) += pinctrl/ 17 obj-$(CONFIG_GPIOLIB) += gpio/ 18 obj-y += pwm/ 21 obj-y += leds/ [all …]
|
| /linux/arch/sh/kernel/cpu/sh4a/ |
| H A D | setup-sh7724.c | 1 // SPDX-License-Identifier: GPL-2.0 30 #include <cpu/dma-register.h> 223 /* IRQ for channels 0-3 */ 229 /* IRQ for channels 4-5 */ 257 /* IRQ for channels 0-3 */ 263 /* IRQ for channels 4-5 */ 271 .name = "sh-dma-engine", 281 .name = "sh-dma-engine", 303 .name = "sh-sci", 324 .name = "sh-sci", [all …]
|
| /linux/sound/i2c/ |
| H A D | cs8427.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Routines for control of the CS8427 via i2c bus 55 dev_err(device->bus->card->dev, in snd_cs8427_reg_write() 58 return err < 0 ? err : -EIO; in snd_cs8427_reg_write() 72 dev_err(device->bus->card->dev, in snd_cs8427_reg_read() 74 return err < 0 ? err : -EIO; in snd_cs8427_reg_read() 78 dev_err(device->bus->card->dev, in snd_cs8427_reg_read() 80 return err < 0 ? err : -EIO; in snd_cs8427_reg_read() 87 struct cs8427 *chip = device->private_data; in snd_cs8427_select_corudata() 91 if (udata != (chip->regmap[CS8427_REG_CSDATABUF] & udata)) { in snd_cs8427_select_corudata() [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | rt5514.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5514.c -- RT5514 ALSA SoC audio codec driver 17 #include <linux/i2c.h> 24 #include <sound/soc-dapm.h> 31 #include "rt5514-spi.h" 120 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare() 122 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare() 123 /* I2C bypass enable */ in rt5514_enable_dsp_prepare() 124 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare() 125 /* mini-core reset */ in rt5514_enable_dsp_prepare() [all …]
|