/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); 12 that requirement is defined by the master's implementation, and is described by 13 the fsi-master-* binding specifications. 16 represent the FSI slaves and their slave engines. As a basic outline: 18 fsi-master { [all …]
|
H A D | aspeed,ast2600-fsi-master.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/fsi/aspeed,ast2600-fsi-master.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Aspeed FSI master 10 - Eddie James <eajames@linux.ibm.com> 13 The AST2600 and later contain two identical FSI masters. They share a 19 - aspeed,ast2600-fsi-master 20 - aspeed,ast2700-fsi-master 25 cfam-reset-gpios: [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-master-ast-cf.txt | 1 Device-tree bindings for ColdFire offloaded gpio-based FSI master driver 2 ------------------------------------------------------------------------ 5 - compatible = 6 "aspeed,ast2400-cf-fsi-master" for an AST2400 based system 8 "aspeed,ast2500-cf-fsi-master" for an AST2500 based system 10 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 11 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 12 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 13 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 14 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other [all …]
|
H A D | fsi-master-gpio.txt | 1 Device-tree bindings for gpio-based FSI master driver 2 ----------------------------------------------------- 5 - compatible = "fsi-master-gpio"; 6 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 7 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 10 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 11 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 12 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other 13 functions (eg, external FSI masters) 14 - no-gpio-delays; : Don't add extra delays between GPIO [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 | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 3 obj-$(CONFIG_FSI) += fsi-core.o 4 obj-$(CONFIG_FSI_MASTER_HUB) += fsi-master-hub.o 5 obj-$(CONFIG_FSI_MASTER_ASPEED) += fsi-master-aspeed.o 6 obj-$(CONFIG_FSI_MASTER_GPIO) += fsi-master-gpio.o 7 obj-$(CONFIG_FSI_MASTER_I2CR) += fsi-master-i2cr.o 8 obj-$(CONFIG_FSI_MASTER_AST_CF) += fsi-master-ast-cf.o 9 obj-$(CONFIG_FSI_SCOM) += fsi-scom.o 10 obj-$(CONFIG_FSI_SBEFIFO) += fsi-sbefifo.o 11 obj-$(CONFIG_FSI_OCC) += fsi-occ.o [all …]
|
H A D | fsi-master-hub.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * FSI hub master driver 9 #include <linux/fsi.h> 14 #include "fsi-master.h" 21 * FSI hub master support 23 * A hub master increases the number of potential target devices that the 24 * primary FSI master can access. For each link a primary master supports, 25 * each of those links can in turn be chained to a hub master with multiple 28 * The hub is controlled by a set of control registers exposed as a regular fsi 29 * device (the hub->upstream device), and provides access to the downstream FSI [all …]
|
H A D | fsi-master-i2cr.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/fsi.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() 142 mutex_lock(&i2cr->lock); in fsi_master_i2cr_read() [all …]
|
H A D | fsi-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * FSI core driver 8 * - Rework topology 9 * - s/chip_id/chip_loc 10 * - s/cfam/chip (cfam_id -> chip_id etc...) 15 #include <linux/fsi.h> 27 #include "fsi-master.h" 28 #include "fsi-slave.h" 31 #include <trace/events/fsi.h> 51 * FSI slave engine control register offsets [all …]
|
H A D | fsi-master.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * FSI master definitions. These comprise the core <--> master interface, 4 * to allow the core to interact with the (hardware-specific) masters. 16 * Master registers 19 * the hub master in POWER processors. 31 #define FSI_MVER 0x74 /* R: master version/type */ 34 #define FSI_MESRB0 0x1d0 /* R: Master error status */ 36 #define FSI_MSCSB0 0x1d4 /* R: Master sub command stack */ 37 #define FSI_MATRB0 0x1d8 /* R: Master address trace */ 38 #define FSI_MDTRB0 0x1dc /* R: Master data trace */ [all …]
|
H A D | fsi-master-aspeed.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 // FSI master driver for AST2600 7 #include <linux/fsi.h> 19 #include "fsi-master.h" 22 struct fsi_master master; member 31 container_of(m, struct fsi_master_aspeed, master) 100 void __iomem *base = aspeed->base; in __opb_write() 127 /* Command failed, master will reset */ in __opb_write() 129 return -EIO; in __opb_write() 152 void __iomem *base = aspeed->base; in __opb_read() [all …]
|
H A D | fsi-master-ast-cf.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * A FSI master based on Aspeed ColdFire coprocessor 10 #include <linux/fsi.h> 25 #include "fsi-master.h" 26 #include "cf-fsi-fw.h" 28 #define FW_FILE_NAME "cf-fsi-fw.bin" 88 struct fsi_master master; member 95 struct gpio_desc *gpio_enable; /* FSI enable */ 120 #define to_fsi_master_acf(m) container_of(m, struct fsi_master_acf, master) 132 msg->msg <<= bits; in msg_push_bits() [all …]
|
H A D | fsi-master-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * A FSI master controller, using a simple GPIO bit-banging interface 9 #include <linux/fsi.h> 18 #include "fsi-master.h" 24 struct fsi_master master; member 30 struct gpio_desc *gpio_enable; /* FSI enable */ 42 #define to_fsi_master_gpio(m) container_of(m, struct fsi_master_gpio, master) 49 static void clock_toggle(struct fsi_master_gpio *master, int count) in clock_toggle() argument 54 if (!master->no_delays) in clock_toggle() 56 gpiod_set_value(master->gpio_clk, 0); in clock_toggle() [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-fsi | 1 What: /sys/bus/platform/devices/../fsi-master/fsi0/rescan 4 Contact: linux-fsi@lists.ozlabs.org 6 Initiates a FSI master scan for all connected slave devices 9 What: /sys/bus/platform/devices/../fsi-master/fsi0/break 12 Contact: linux-fsi@lists.ozlabs.org 14 Sends an FSI BREAK command on a master's communication 17 from the master. 19 What: /sys/bus/platform/devices/../fsi-master/fsi0/slave@00:00/term 22 Contact: linux-fsi@lists.ozlabs.org 24 Sends an FSI terminate command from the master to its [all …]
|
H A D | sysfs-driver-fsi-master-gpio | 1 What: /sys/bus/platform/devices/[..]/fsi-master-gpio/external_mode 6 Controls access arbitration for GPIO-based FSI master. A 8 driver performs FSI bus transactions, 1 sets external mode, 9 where the FSI bus is driven externally (for example, by
|
/linux/include/trace/events/ |
H A D | fsi_master_gpio.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 TP_PROTO(const struct fsi_master_gpio *master, int bits, uint64_t msg), 13 TP_ARGS(master, bits, msg), 20 __entry->master_idx = master->master.idx; 21 __entry->bits = bits; 22 __entry->msg = msg & ((1ull<<bits) - 1); 24 TP_printk("fsi-gpio%d => %0*llx[%d]", 25 __entry->master_idx, 26 (__entry->bits + 3) / 4, 27 __entry->msg, [all …]
|
H A D | fsi_master_ast_cf.h | 11 TP_PROTO(const struct fsi_master_acf *master, uint32_t op), 12 TP_ARGS(master, op), 18 __entry->master_idx = master->master.idx; 19 __entry->op = op; 21 TP_printk("fsi-acf%d command %08x", 22 __entry->master_idx, __entry->op 27 TP_PROTO(const struct fsi_master_acf *master, const struct fsi_msg *cmd, u8 rbits), 28 TP_ARGS(master, cmd, rbits), 36 __entry->master_idx = master->master.idx; 37 __entry->msg = cmd->msg; [all …]
|
H A D | fsi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 #define TRACE_SYSTEM fsi 12 TP_PROTO(const struct fsi_master *master, int link, int id, 14 TP_ARGS(master, link, id, addr, size), 23 __entry->master_idx = master->idx; 24 __entry->link = link; 25 __entry->id = id; 26 __entry->addr = addr; 27 __entry->size = size; 29 TP_printk("fsi%d:%02d:%02d %08x[%zu]", [all …]
|
/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"; 143 compatible = "ibm,i2c-fsi"; [all …]
|
H A D | ibm-power10-quad.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 #include "ibm-power10-dual.dtsi" 8 compatible = "ibm,i2cr-fsi-master"; 10 #address-cells = <2>; 11 #size-cells = <0>; 15 #address-cells = <1>; 16 #size-cells = <1>; 17 chip-id = <0>; 20 compatible = "ibm,i2cr-scom"; 25 compatible = "ibm,p9-sbefifo"; [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>; 17 compatible = "ibm,fsi-i2c-master"; 19 #address-cells = <1>; 20 #size-cells = <0>; 22 cfam0_i2c0: i2c-bus@0 { 26 cfam0_i2c1: i2c-bus@1 { [all …]
|
H A D | aspeed-bmc-opp-zaius.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "aspeed-g5.dtsi" 4 #include <dt-bindings/gpio/aspeed-gpio.h> 8 compatible = "ingrasys,zaius-bmc", "aspeed,ast2500"; 19 stdout-path = &uart5; 27 reserved-memory { 28 #address-cells = <1>; 29 #size-cells = <1>; 33 no-map; [all …]
|
/linux/drivers/tty/ |
H A D | pty.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Added support for a Unix98-style ptmx device. 6 * -- C. Scott Ananian <cananian@alumni.princeton.edu>, 14-Jan-1998 49 if (tty->driver->subtype == PTY_TYPE_MASTER) in pty_close() 50 WARN_ON(tty->count > 1); in pty_close() 54 if (tty->count > 2) in pty_close() 57 set_bit(TTY_IO_ERROR, &tty->flags); in pty_close() 58 wake_up_interruptible(&tty->read_wait); in pty_close() 59 wake_up_interruptible(&tty->write_wait); in pty_close() 60 spin_lock_irq(&tty->ctrl.lock); in pty_close() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | renesas,fsi.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/sound/renesas,fsi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas FIFO-buffered Serial Interface (FSI) 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 13 - $ref: dai-common.yaml# 22 - items: 23 - enum: 24 - renesas,fsi2-sh73a0 # SH-Mobile AG5 [all …]
|