| /OK3568_Linux_fs/u-boot/drivers/video/ |
| H A D | formike.c | 3 * LCD initialization via SPI 11 #include <spi.h> 22 static int spi_write_tag_val(struct spi_slave *spi, unsigned char tag, in spi_write_tag_val() argument 30 ret = spi_xfer(spi, 8, buf, NULL, flags); in spi_write_tag_val() 33 ret = spi_xfer(spi, 8, buf, NULL, flags); in spi_write_tag_val() 45 static void spi_write_dat(struct spi_slave *spi, unsigned int val) in spi_write_dat() argument 47 spi_write_tag_val(spi, TAG_WRITE|TAG_DATA, val); in spi_write_dat() 50 static void spi_write_com(struct spi_slave *spi, unsigned int addr) in spi_write_com() argument 52 spi_write_tag_val(spi, TAG_WRITE|TAG_COMMAND|TAG_ADDR_H, in spi_write_com() 54 spi_write_tag_val(spi, TAG_WRITE|TAG_COMMAND|TAG_ADDR_L, in spi_write_com() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/spi/ |
| H A D | spi-stm32.c | 3 // STMicroelectronics STM32 SPI Controller driver (master mode only) 19 #include <linux/spi/spi.h> 23 /* STM32F4 SPI registers */ 72 /* STM32F4 SPI Baud Rate min/max divisor */ 76 /* STM32H7 SPI registers */ 153 /* STM32H7 SPI Master Baud Rate min/max divisor */ 157 /* STM32H7 SPI Communication mode */ 163 /* SPI Communication type */ 179 * struct stm32_spi_reg - stm32 SPI register & bitfield desc 192 * @en: enable register and SPI enable bit [all …]
|
| H A D | Makefile | 3 # Makefile for kernel SPI drivers. 10 obj-$(CONFIG_SPI_MASTER) += spi.o 11 obj-$(CONFIG_SPI_MEM) += spi-mem.o 12 obj-$(CONFIG_SPI_MUX) += spi-mux.o 14 obj-$(CONFIG_SPI_LOOPBACK_TEST) += spi-loopback-test.o 16 # SPI master controller drivers (bus) 17 obj-$(CONFIG_SPI_ALTERA) += spi-altera.o 18 obj-$(CONFIG_SPI_AR934X) += spi-ar934x.o 19 obj-$(CONFIG_SPI_ARMADA_3700) += spi-armada-3700.o 20 obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o [all …]
|
| H A D | Kconfig | 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 15 SPI is widely used by microcontrollers to talk with sensors, 18 MMC and SD cards can be accessed using SPI protocol; and for 19 DataFlash cards used in MMC sockets, SPI must always be used. 21 SPI is one of a family of similar protocols using a four wire 26 if SPI [all …]
|
| H A D | spi-lantiq-ssc.c | 19 #include <linux/spi/spi.h> 155 int (*cfg_irq)(struct platform_device *pdev, struct lantiq_ssc_spi *spi); 188 static u32 lantiq_ssc_readl(const struct lantiq_ssc_spi *spi, u32 reg) in lantiq_ssc_readl() argument 190 return __raw_readl(spi->regbase + reg); in lantiq_ssc_readl() 193 static void lantiq_ssc_writel(const struct lantiq_ssc_spi *spi, u32 val, in lantiq_ssc_writel() argument 196 __raw_writel(val, spi->regbase + reg); in lantiq_ssc_writel() 199 static void lantiq_ssc_maskl(const struct lantiq_ssc_spi *spi, u32 clr, in lantiq_ssc_maskl() argument 202 u32 val = __raw_readl(spi->regbase + reg); in lantiq_ssc_maskl() 206 __raw_writel(val, spi->regbase + reg); in lantiq_ssc_maskl() 209 static unsigned int tx_fifo_level(const struct lantiq_ssc_spi *spi) in tx_fifo_level() argument [all …]
|
| H A D | spi-sifive.c | 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 */ 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() 109 static void sifive_spi_init(struct sifive_spi *spi) in sifive_spi_init() argument 112 sifive_spi_write(spi, SIFIVE_SPI_REG_IE, 0); in sifive_spi_init() [all …]
|
| H A D | spi-mux.c | 3 // General Purpose SPI multiplexer 10 #include <linux/spi/spi.h> 17 * This driver supports a MUX on an SPI bus. This can be useful when you need 21 * The driver will create an additional SPI controller. Devices added under the 27 * @spi: pointer to the device struct attached to the parent 28 * spi controller 36 * downstream spi devices 39 struct spi_device *spi; member 49 static int spi_mux_select(struct spi_device *spi) in spi_mux_select() argument 51 struct spi_mux_priv *priv = spi_controller_get_devdata(spi->controller); in spi_mux_select() [all …]
|
| H A D | spi-orion.c | 3 * Marvell Orion SPI controller driver 14 #include <linux/spi/spi.h> 74 * have both is for managing the armada-370-spi case with old 130 static int orion_spi_baudrate_set(struct spi_device *spi, unsigned int speed) in orion_spi_baudrate_set() argument 139 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_baudrate_set() 216 /* Convert the rate to SPI clock divisor value. */ in orion_spi_baudrate_set() 228 orion_spi_mode_set(struct spi_device *spi) in orion_spi_mode_set() argument 233 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_mode_set() 237 if (spi->mode & SPI_CPOL) in orion_spi_mode_set() 239 if (spi->mode & SPI_CPHA) in orion_spi_mode_set() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/spi/ |
| H A D | Kconfig | 1 menuconfig SPI config 2 bool "SPI Support" 4 if SPI 7 bool "Enable Driver Model for SPI drivers" 10 Enable driver model for SPI. The SPI slave interface 12 the SPI uclass. Drivers provide methods to access the SPI 14 include/spi.h. The existing spi_slave structure is attached 20 bool "SPI memory extension" 22 Enable this option if you want to enable the SPI memory extension. 23 This extension is meant to simplify interaction with SPI memories [all …]
|
| H A D | spi-uclass.su | |
| /OK3568_Linux_fs/kernel/drivers/staging/pi433/ |
| H A D | rf69.c | 3 * abstraction of the spi interface of HopeRf rf69 radio module 17 #include <linux/spi/spi.h> 27 static u8 rf69_read_reg(struct spi_device *spi, u8 addr) in rf69_read_reg() argument 31 retval = spi_w8r8(spi, addr); in rf69_read_reg() 40 dev_dbg(&spi->dev, "read 0x%x FAILED\n", addr); in rf69_read_reg() 42 dev_dbg(&spi->dev, "read 0x%x from reg 0x%x\n", retval, addr); in rf69_read_reg() 48 static int rf69_write_reg(struct spi_device *spi, u8 addr, u8 value) in rf69_write_reg() argument 56 retval = spi_write(spi, &buffer, 2); in rf69_write_reg() 65 dev_dbg(&spi->dev, "write 0x%x to 0x%x FAILED\n", value, addr); in rf69_write_reg() 67 dev_dbg(&spi->dev, "wrote 0x%x to reg 0x%x\n", value, addr); in rf69_write_reg() [all …]
|
| H A D | rf69.h | 20 int rf69_set_mode(struct spi_device *spi, enum mode mode); 21 int rf69_set_data_mode(struct spi_device *spi, u8 data_mode); 22 int rf69_set_modulation(struct spi_device *spi, enum modulation modulation); 23 int rf69_set_modulation_shaping(struct spi_device *spi, 25 int rf69_set_bit_rate(struct spi_device *spi, u16 bit_rate); 26 int rf69_set_deviation(struct spi_device *spi, u32 deviation); 27 int rf69_set_frequency(struct spi_device *spi, u32 frequency); 28 int rf69_enable_amplifier(struct spi_device *spi, u8 amplifier_mask); 29 int rf69_disable_amplifier(struct spi_device *spi, u8 amplifier_mask); 30 int rf69_set_output_power_level(struct spi_device *spi, u8 power_level); [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/spi/ |
| H A D | Kconfig | 1 menu "SPI Flash Support" 4 bool "Enable Driver Model for SPI flash" 7 Enable driver model for SPI flash. This SPI flash interface 9 implemented by the SPI flash uclass. There is one standard 10 SPI flash driver which knows how to probe most chips 14 during the transition parent. SPI and SPI flash must be 19 bool "Support sandbox SPI flash device" 23 provided instead. Drivers can be connected up to the sandbox SPI 24 bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this 25 device. Typically the contents of the emulated SPI flash device is [all …]
|
| H A D | spi-nor-core.su | |
| /OK3568_Linux_fs/u-boot/spl/drivers/spi/ |
| H A D | spi-uclass.su | |
| /OK3568_Linux_fs/kernel/drivers/video/backlight/ |
| H A D | ili922x.c | 7 * controller. The interface to the display is SPI and the display's 20 #include <linux/spi/spi.h> 105 * for the SPI transfer. According to the datasheet, the controller 110 * @s: pointer to an SPI device 139 struct spi_device *spi; member 146 * @spi: spi device 149 static int ili922x_read_status(struct spi_device *spi, u16 *rs) in ili922x_read_status() argument 162 CHECK_FREQ_REG(spi, &xfer); in ili922x_read_status() 176 ret = spi_sync(spi, &msg); in ili922x_read_status() 178 dev_dbg(&spi->dev, "Error sending SPI message 0x%x", ret); in ili922x_read_status() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/staging/greybus/ |
| H A D | spilib.c | 3 * Greybus SPI library 14 #include <linux/spi/spi.h> 45 static struct spi_master *get_master_from_spi(struct gb_spilib *spi) in get_master_from_spi() argument 47 return gb_connection_get_data(spi->connection); in get_master_from_spi() 95 static void clean_xfer_state(struct gb_spilib *spi) in clean_xfer_state() argument 97 spi->first_xfer = NULL; in clean_xfer_state() 98 spi->last_xfer = NULL; in clean_xfer_state() 99 spi->rx_xfer_offset = 0; in clean_xfer_state() 100 spi->tx_xfer_offset = 0; in clean_xfer_state() 101 spi->last_xfer_size = 0; in clean_xfer_state() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/nand/spi/ |
| H A D | Kconfig | 2 bool "SPI NAND device Support" 8 This is the framework for the SPI NAND device drivers. 13 bool "GIGADEVICE SPI flash support" 16 Add support for various GIGADEVICE SPI Nand flash chips 19 bool "MACRONIX SPI flash support" 22 Add support for various MACRONIX SPI Nand flash chips 25 bool "MICRON SPI flash support" 28 Add support for various MICRON SPI Nand flash chips 31 bool "TOSHIBA SPI flash support" 34 Add support for various TOSHIBA SPI Nand flash chips [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/spi/ |
| H A D | brcm,spi-bcm-qspi.txt | 1 Broadcom SPI controller 3 The Broadcom SPI controller is a SPI master found on various SOCs, including 4 BRCMSTB (BCM7XXX), Cygnus, NSP and NS2. The Broadcom Master SPI hw IP consits 6 MSPI : SPI master controller can read and write to a SPI slave device 7 BSPI : Broadcom SPI in combination with the MSPI hw IP provides acceleration 14 use SPI protocol. 19 Must be <1>, as required by generic SPI binding. 22 Must be <0>, also as required by generic SPI binding. 26 "brcm,spi-brcmstb-qspi", "brcm,spi-bcm-qspi" : MSPI+BSPI on BRCMSTB SoCs 27 "brcm,spi-brcmstb-mspi", "brcm,spi-bcm-qspi" : Second Instance of MSPI [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wan/ |
| H A D | slic_ds26522.c | 16 #include <linux/spi/spi.h> 37 static void slic_write(struct spi_device *spi, u16 addr, in slic_write() argument 48 /* write spi addr and value */ in slic_write() 49 spi_write(spi, &temp[0], SLIC_THREE_LEN); in slic_write() 52 static u8 slic_read(struct spi_device *spi, u16 addr) in slic_read() argument 61 spi_write_then_read(spi, &temp[0], SLIC_TWO_LEN, &data, in slic_read() 68 static bool get_slic_product_code(struct spi_device *spi) in get_slic_product_code() argument 72 device_id = slic_read(spi, DS26522_IDR_ADDR); in get_slic_product_code() 79 static void ds26522_e1_spec_config(struct spi_device *spi) in ds26522_e1_spec_config() argument 82 slic_write(spi, DS26522_RMMR_ADDR, DS26522_RMMR_E1); in ds26522_e1_spec_config() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/can/spi/ |
| H A D | mcp251x.c | 2 /* CAN bus driver for Microchip 251x/25625 CAN Controller with SPI Interface 43 #include <linux/spi/spi.h> 46 /* SPI interface instruction set */ 197 /* Buffer size required for the largest SPI transfer (i.e., reading a 231 struct spi_device *spi; member 234 struct mutex mcp_lock; /* SPI device lock */ 263 static inline int mcp251x_is_##_model(struct spi_device *spi) \ 265 struct mcp251x_priv *priv = spi_get_drvdata(spi); \ 285 * registers via SPI is not really different conceptually than using 296 static int mcp251x_spi_trans(struct spi_device *spi, int len) in mcp251x_spi_trans() argument [all …]
|
| H A D | hi311x.c | 2 /* CAN bus driver for Holt HI3110 CAN Controller with SPI Interface 35 #include <linux/spi/spi.h> 147 struct spi_device *spi; member 150 struct mutex hi3110_lock; /* SPI device lock */ 188 * registers via SPI is not really different conceptually than using 199 static int hi3110_spi_trans(struct spi_device *spi, int len) in hi3110_spi_trans() argument 201 struct hi3110_priv *priv = spi_get_drvdata(spi); in hi3110_spi_trans() 214 ret = spi_sync(spi, &m); in hi3110_spi_trans() 217 dev_err(&spi->dev, "spi transfer failed: ret = %d\n", ret); in hi3110_spi_trans() 221 static int hi3110_cmd(struct spi_device *spi, u8 command) in hi3110_cmd() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/media/pci/netup_unidvb/ |
| H A D | netup_unidvb_spi.c | 5 * Internal SPI driver for NetUP Universal Dual DVB-CI 13 #include <linux/spi/spi.h> 14 #include <linux/spi/flash.h> 69 irqreturn_t netup_spi_interrupt(struct netup_spi *spi) in netup_spi_interrupt() argument 74 if (!spi) in netup_spi_interrupt() 77 spin_lock_irqsave(&spi->lock, flags); in netup_spi_interrupt() 78 reg = readw(&spi->regs->control_stat); in netup_spi_interrupt() 80 spin_unlock_irqrestore(&spi->lock, flags); in netup_spi_interrupt() 81 dev_dbg(&spi->master->dev, in netup_spi_interrupt() 85 writew(reg | NETUP_SPI_CTRL_IRQ, &spi->regs->control_stat); in netup_spi_interrupt() [all …]
|
| /OK3568_Linux_fs/u-boot/spl/drivers/mtd/spi/ |
| H A D | spi-nor-core.su | |
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/spi/ |
| H A D | spi-bus.txt | 1 SPI (Serial Peripheral Interface) busses 3 SPI busses can be described with a node for the SPI master device 4 and a set of child nodes for each SPI slave on the bus. For this 5 discussion, it is assumed that the system's SPI controller is in 6 SPI master mode. This binding does not describe SPI controllers 9 The SPI master node requires the following properties: 11 address on the SPI bus. 13 - compatible - name of SPI bus controller following generic names 16 No other properties are required in the SPI bus node. It is assumed 17 that a driver for an SPI bus device will understand that it is an SPI bus. [all …]
|