| /kernel/linux/linux-5.10/drivers/staging/pi433/ |
| D | pi433_if.c | 1 // SPDX-License-Identifier: GPL-2.0+ 13 * HopeRf with a similar interace - e. g. RFM69HCW, RFM12, RFM95, ... 15 * Copyright (C) 2016 Wolf-Entwicklungen 16 * Marcus Wolf <linux@wolf-entwicklungen.de> 27 #include <linux/device.h> 40 #include <linux/spi/spi.h> 64 * rx config is device specific 65 * so we have just one rx config, ebedded in device struct 68 /* device handling related values */ 71 struct device *dev; [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/pi433/ |
| D | pi433_if.c | 1 // SPDX-License-Identifier: GPL-2.0+ 13 * HopeRf with a similar interace - e. g. RFM69HCW, RFM12, RFM95, ... 15 * Copyright (C) 2016 Wolf-Entwicklungen 16 * Marcus Wolf <linux@wolf-entwicklungen.de> 27 #include <linux/device.h> 39 #include <linux/spi/spi.h> 66 * rx config is device specific 67 * so we have just one rx config, ebedded in device struct 70 /* device handling related values */ 73 struct device *dev; [all …]
|
| /kernel/linux/linux-6.6/Documentation/spi/ |
| D | spidev.rst | 2 SPI userspace API 5 SPI devices have a limited userspace API, supporting basic half-duplex 6 read() and write() access to SPI slave devices. Using ioctl() requests, 7 full duplex transfers and device I/O configuration are also available. 15 #include <linux/spi/spidev.h> 19 * Prototyping in an environment that's not crash-prone; stray pointers 23 as SPI slaves, which you may need to change quite often. 30 DEVICE CREATION, DRIVER BINDING 33 The spidev driver contains lists of SPI devices that are supported for 36 The following are the SPI device tables supported by the spidev driver: [all …]
|
| D | spi-summary.rst | 2 Overview of Linux kernel SPI support 5 02-Feb-2012 7 What is SPI? 8 ------------ 9 The "Serial Peripheral Interface" (SPI) is a synchronous four wire serial 12 standardization body. SPI uses a master/slave configuration. 17 clocking modes through which data is exchanged; mode-0 and mode-3 are most 22 SPI masters use a fourth "chip select" line to activate a given SPI slave 23 device, so those three signal wires may be connected to several chips 24 in parallel. All SPI slaves support chipselects; they are usually active [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/spi/ |
| D | spi-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/spi/spi-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: SPI Controller Generic Binding 10 - Mark Brown <broonie@kernel.org> 13 SPI busses can be described with a node for the SPI controller device 14 and a set of child nodes for each SPI slave on the bus. The system SPI 15 controller may be described for use in SPI master mode or in SPI slave mode, 20 pattern: "^spi(@.*|-[0-9a-f])*$" [all …]
|
| D | qcom,spi-qup.txt | 1 Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI) 4 and an input FIFO) for serial peripheral interface (SPI) mini-core. 6 SPI in master mode supports up to 50MHz, up to four chip selects, programmable 10 - compatible: Should contain: 11 "qcom,spi-qup-v1.1.1" for 8660, 8960 and 8064. 12 "qcom,spi-qup-v2.1.1" for 8974 and later 13 "qcom,spi-qup-v2.2.1" for 8974 v2 and later. 15 - reg: Should contain base register location and length 16 - interrupts: Interrupt number used by this controller 18 - clocks: Should contain the core clock and the AHB clock. [all …]
|
| /kernel/linux/linux-6.6/drivers/spi/ |
| D | spi-sifive.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // SiFive SPI controller driver (master mode only) 15 #include <linux/spi/spi.h> 38 #define SIFIVE_SPI_REG_FCTRL 0x60 /* SPI flash interface control */ 39 #define SIFIVE_SPI_REG_FFMT 0x64 /* SPI flash instruction format */ 96 struct completion done; /* wake-up from interrupt */ 99 static void sifive_spi_write(struct sifive_spi *spi, int offset, u32 value) in sifive_spi_write() argument 101 iowrite32(value, spi->regs + offset); in sifive_spi_write() 104 static u32 sifive_spi_read(struct sifive_spi *spi, int offset) in sifive_spi_read() argument 106 return ioread32(spi->regs + offset); in sifive_spi_read() [all …]
|
| D | spi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 // SPI init/core code 9 #include <linux/clk/clk-conf.h> 11 #include <linux/device.h> 13 #include <linux/dma-mapping.h> 34 #include <linux/spi/spi.h> 35 #include <linux/spi/spi-mem.h> 39 #include <trace/events/spi.h> 47 static void spidev_release(struct device *dev) in spidev_release() 49 struct spi_device *spi = to_spi_device(dev); in spidev_release() local [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # SPI driver configuration 5 menuconfig SPI config 6 bool "SPI support" 10 protocol. Chips that support SPI can have data transfer rates 12 controller and a chipselect. Most SPI slaves don't support 13 dynamic device discovery; some are even write-only or read-only. 15 SPI is widely used by microcontrollers to talk with sensors, 17 chips, analog to digital (and d-to-a) converters, and more. 18 MMC and SD cards can be accessed using SPI protocol; and for [all …]
|
| /kernel/linux/linux-5.10/drivers/spi/ |
| D | spi-sifive.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // SiFive SPI controller driver (master mode only) 15 #include <linux/spi/spi.h> 38 #define SIFIVE_SPI_REG_FCTRL 0x60 /* SPI flash interface control */ 39 #define SIFIVE_SPI_REG_FFMT 0x64 /* SPI flash instruction format */ 96 struct completion done; /* wake-up from interrupt */ 99 static void sifive_spi_write(struct sifive_spi *spi, int offset, u32 value) in sifive_spi_write() argument 101 iowrite32(value, spi->regs + offset); in sifive_spi_write() 104 static u32 sifive_spi_read(struct sifive_spi *spi, int offset) in sifive_spi_read() argument 106 return ioread32(spi->regs + offset); in sifive_spi_read() [all …]
|
| D | spi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 // SPI init/core code 8 #include <linux/device.h> 11 #include <linux/dma-mapping.h> 16 #include <linux/clk/clk-conf.h> 19 #include <linux/spi/spi.h> 20 #include <linux/spi/spi-mem.h> 38 #include <trace/events/spi.h> 46 static void spidev_release(struct device *dev) in spidev_release() 48 struct spi_device *spi = to_spi_device(dev); in spidev_release() local [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # SPI driver configuration 5 menuconfig SPI config 6 bool "SPI support" 10 protocol. Chips that support SPI can have data transfer rates 12 controller and a chipselect. Most SPI slaves don't support 13 dynamic device discovery; some are even write-only or read-only. 15 SPI is widely used by microcontrollers to talk with sensors, 17 chips, analog to digital (and d-to-a) converters, and more. 18 MMC and SD cards can be accessed using SPI protocol; and for [all …]
|
| /kernel/linux/linux-6.6/include/linux/spi/ |
| D | spi.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later 12 #include <linux/device.h> 21 #include <uapi/linux/spi/spi.h> 33 * INTERFACES between SPI master-side drivers and SPI slave protocol handlers, 34 * and SPI infrastructure. 39 * struct spi_statistics - statistics for spi transfers 40 * @syncp: seqcount to protect members in this struct for per-cpu update 41 * on 32-bit systems 43 * @messages: number of spi-messages handled 54 * @bytes: number of bytes transferred to/from device [all …]
|
| /kernel/linux/linux-5.10/include/linux/spi/ |
| D | spi.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/device.h> 25 * INTERFACES between SPI master-side drivers and SPI slave protocol handlers, 26 * and SPI infrastructure. 31 * struct spi_statistics - statistics for spi transfers 34 * @messages: number of spi-messages handled 45 * @bytes: number of bytes transferred to/from device 46 * @bytes_tx: number of bytes sent to device 47 * @bytes_rx: number of bytes received from device 85 spin_lock_irqsave(&(stats)->lock, flags); \ [all …]
|
| /kernel/linux/linux-5.10/Documentation/spi/ |
| D | spi-summary.rst | 2 Overview of Linux kernel SPI support 5 02-Feb-2012 7 What is SPI? 8 ------------ 9 The "Serial Peripheral Interface" (SPI) is a synchronous four wire serial 12 standardization body. SPI uses a master/slave configuration. 17 clocking modes through which data is exchanged; mode-0 and mode-3 are most 22 SPI masters use a fourth "chip select" line to activate a given SPI slave 23 device, so those three signal wires may be connected to several chips 24 in parallel. All SPI slaves support chipselects; they are usually active [all …]
|
| D | spidev.rst | 2 SPI userspace API 5 SPI devices have a limited userspace API, supporting basic half-duplex 6 read() and write() access to SPI slave devices. Using ioctl() requests, 7 full duplex transfers and device I/O configuration are also available. 15 #include <linux/spi/spidev.h> 19 * Prototyping in an environment that's not crash-prone; stray pointers 23 as SPI slaves, which you may need to change quite often. 30 DEVICE CREATION, DRIVER BINDING 33 spi_board_info for a device as the driver it should use: the "modalias" 35 Set up the other device characteristics (bits per word, SPI clocking, [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/spi/ |
| D | spi-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/spi/spi-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: SPI Controller Common Properties 10 - Mark Brown <broonie@kernel.org> 13 SPI busses can be described with a node for the SPI controller device 14 and a set of child nodes for each SPI slave on the bus. The system SPI 15 controller may be described for use in SPI master mode or in SPI slave mode, 20 pattern: "^spi(@.*|-([0-9]|[1-9][0-9]+))?$" [all …]
|
| /kernel/linux/linux-6.6/drivers/mtd/devices/ |
| D | mtd_dataflash.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Atmel AT45xxx DataFlash MTD driver for lightweight SPI framework 6 * Copyright (C) 2003-2005 SAN People (Pty) Ltd 11 #include <linux/device.h> 17 #include <linux/spi/spi.h> 18 #include <linux/spi/flash.h> 24 * DataFlash is a kind of SPI flash. Most AT45 chips have two buffers in 28 * Sometimes DataFlash is packaged in MMC-format cards, although the 57 #define OP_MWRITE_BUFFER1 0x88 /* sector must be pre-erased */ 58 #define OP_MWRITE_BUFFER2 0x89 /* sector must be pre-erased */ [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/common/st_sensors/ |
| D | st_sensors_spi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * STMicroelectronics sensors spi library driver 5 * Copyright 2012-2013 STMicroelectronics Inc. 15 #include <linux/spi/spi.h> 33 * st_sensors_is_spi_3_wire() - check if SPI 3-wire mode has been selected 34 * @spi: spi device reference. 36 * Return: true if SPI 3-wire mode is selected, false otherwise. 38 static bool st_sensors_is_spi_3_wire(struct spi_device *spi) in st_sensors_is_spi_3_wire() argument 41 struct device *dev = &spi->dev; in st_sensors_is_spi_3_wire() 43 if (device_property_read_bool(dev, "spi-3wire")) in st_sensors_is_spi_3_wire() [all …]
|
| /kernel/linux/linux-5.10/drivers/mtd/devices/ |
| D | mtd_dataflash.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Atmel AT45xxx DataFlash MTD driver for lightweight SPI framework 6 * Copyright (C) 2003-2005 SAN People (Pty) Ltd 11 #include <linux/device.h> 18 #include <linux/spi/spi.h> 19 #include <linux/spi/flash.h> 25 * DataFlash is a kind of SPI flash. Most AT45 chips have two buffers in 29 * Sometimes DataFlash is packaged in MMC-format cards, although the 58 #define OP_MWRITE_BUFFER1 0x88 /* sector must be pre-erased */ 59 #define OP_MWRITE_BUFFER2 0x89 /* sector must be pre-erased */ [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/common/st_sensors/ |
| D | st_sensors_spi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * STMicroelectronics sensors spi library driver 5 * Copyright 2012-2013 STMicroelectronics Inc. 34 * st_sensors_is_spi_3_wire() - check if SPI 3-wire mode has been selected 35 * @spi: spi device reference. 37 * Return: true if SPI 3-wire mode is selected, false otherwise. 39 static bool st_sensors_is_spi_3_wire(struct spi_device *spi) in st_sensors_is_spi_3_wire() argument 42 struct device *dev = &spi->dev; in st_sensors_is_spi_3_wire() 44 if (device_property_read_bool(dev, "spi-3wire")) in st_sensors_is_spi_3_wire() 48 if (pdata && pdata->spi_3wire) in st_sensors_is_spi_3_wire() [all …]
|
| /kernel/linux/linux-5.10/include/linux/mtd/ |
| D | spinand.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2017 Micron Technology, Inc. 13 #include <linux/device.h> 16 #include <linux/spi/spi.h> 17 #include <linux/spi/spi-mem.h> 20 * Standard SPI NAND flash operations 144 * Standard SPI NAND flash commands 175 * struct spinand_id - SPI NAND id structure 192 * struct spinand_devid - SPI NAND device id structure 193 * @id: device id of current chip [all …]
|
| /kernel/linux/linux-6.6/drivers/video/backlight/ |
| D | ili922x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * This driver implements a lcd device for the ILITEK 922x display 7 * controller. The interface to the display is SPI and the display's 20 #include <linux/spi/spi.h> 73 * Device ID as found in the datasheet (supports 9221 and 9222) 89 * ---------------------------------- 91 * ---------------------------------- 94 * - START_RS_INDEX set the index register 95 * - START_RS_REG write/read registers/GRAM 97 * - START_RW_WRITE write [all …]
|
| /kernel/linux/linux-5.10/drivers/video/backlight/ |
| D | ili922x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * This driver implements a lcd device for the ILITEK 922x display 7 * controller. The interface to the display is SPI and the display's 20 #include <linux/spi/spi.h> 73 * Device ID as found in the datasheet (supports 9221 and 9222) 89 * ---------------------------------- 91 * ---------------------------------- 94 * - START_RS_INDEX set the index register 95 * - START_RS_REG write/read registers/GRAM 97 * - START_RW_WRITE write [all …]
|
| /kernel/linux/linux-6.6/include/linux/mtd/ |
| D | spinand.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2017 Micron Technology, Inc. 13 #include <linux/device.h> 16 #include <linux/spi/spi.h> 17 #include <linux/spi/spi-mem.h> 20 * Standard SPI NAND flash operations 144 * Standard SPI NAND flash commands 180 * For reset, 5us/10us/500us if the device is respectively 182 * issue a RESET when the device is IDLE, 5us is selected for both initial 197 * struct spinand_id - SPI NAND id structure [all …]
|