| /linux/drivers/pinctrl/ |
| H A D | pinctrl-mcp23s08_spi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* MCP23S08 SPI GPIO driver */ 8 #include <linux/spi/spi.h> 10 #include "pinctrl-mcp23s08.h" 18 * Driver data holds all the per-chip data. 29 struct spi_device *spi = to_spi_device(mcp->dev); in mcp23sxx_spi_write() local 31 struct spi_transfer t[2] = { { .tx_buf = &mcp->addr, .len = 1, }, in mcp23sxx_spi_write() 38 return spi_sync(spi, &m); in mcp23sxx_spi_write() 46 struct spi_device *spi = to_spi_device(mcp->dev); in mcp23sxx_spi_gather_write() local 48 struct spi_transfer t[3] = { { .tx_buf = &mcp->addr, .len = 1, }, in mcp23sxx_spi_gather_write() [all …]
|
| /linux/Documentation/devicetree/bindings/pinctrl/ |
| H A D | microchip,mcp23s08.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Microchip I/O expander with serial interface (I2C/SPI) 10 - Himanshu Bhavani <himanshu.bhavani@siliconsignals.io> 14 chips.These chips provide 8 or 16 GPIO pins with either I2C or SPI interface. 17 - $ref: /schemas/spi/spi-peripheral-props.yaml# 22 - microchip,mcp23s08 23 - microchip,mcp23s17 24 - microchip,mcp23s18 [all …]
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | renesas,idt821034.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 16 The time-slots used by the codec must be set and so, the properties 17 'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and 18 'dai-tdm-slot-rx-mask' must be present in the ALSA sound card node for 19 sub-nodes that involve the codec. The codec uses one 8bit time-slot per 21 'dai-tdm-tdm-slot-with' must be set to 8. 26 - $ref: /schemas/spi/spi-peripheral-props.yaml# [all …]
|
| H A D | infineon,peb2466.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 13 The Infineon PEB2466 codec is a programmable DSP-based four channels codec 16 The time-slots used by the codec must be set and so, the properties 17 'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and 18 'dai-tdm-slot-rx-mask' must be present in the sound card node for sub-nodes 19 that involve the codec. The codec uses one 8bit time-slot per channel. 20 'dai-tdm-tdm-slot-with' must be set to 8. [all …]
|
| /linux/sound/pci/ice1712/ |
| H A D | delta.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 8 * Lowlevel functions for M-Audio Delta 1010, 44, 66, Dio2496, Audiophile 44 * MidiMan M-Audio Delta GPIO definitions 47 /* MidiMan M-Audio Delta shared pins */ 52 /* 0 = valid signal is present */ 57 /* (writing on rising edge - 0->1) */ 64 /* MidiMan M-Audio DeltaDiO */ 73 /* MidiMan M-Audio Delta1010 */ 79 /* 1 - clock are taken from S/PDIF input */ 80 /* 0 - clock are taken from Word Clock input */ [all …]
|
| H A D | quartet.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 57 /* chip address on SPI bus */ 65 /* GPIO0 - O - DATA0, def. 0 */ 67 /* GPIO1 - I/O - DATA 320 qtet_akm_set_regs(struct snd_akm4xxx * ak,unsigned char addr,unsigned char mask,unsigned char value) qtet_akm_set_regs() argument [all...] |
| /linux/drivers/iio/imu/ |
| H A D | smi240.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 11 #include <linux/spi/spi.h> 115 * Ensure natural alignment for timestamp if present. 165 } while (--i >= 0); in smi240_crc3() 189 struct spi_device *spi = context; in smi240_regmap_spi_read() local 190 struct iio_dev *indio_dev = dev_get_drvdata(&spi->dev); in smi240_regmap_spi_read() 194 return -EINVAL; in smi240_regmap_spi_read() 197 request |= FIELD_PREP(SMI240_WRITE_CAP_BIT_MASK, iio_priv_data->capture); in smi240_regmap_spi_read() 201 iio_priv_data->spi_buf = cpu_to_be32(request); in smi240_regmap_spi_read() 205 * SPI protocol, where the slave interface responds to in smi240_regmap_spi_read() [all …]
|
| /linux/drivers/iio/gyro/ |
| H A D | adxrs290.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * ADXRS290 SPI Gyroscope Driver 15 #include <linux/spi/spi.h> 68 struct spi_device *spi; member 75 /* Ensure correct alignment of timestamp when present */ 83 * Available cut-off frequencies of the low pass filter in Hz. 98 * Available cut-off frequencies of the high pass filter in Hz. 121 mutex_lock(&st->lock); in adxrs290_get_rate_data() 122 temp = spi_w8r16(st->spi, cmd); in adxrs290_get_rate_data() 131 mutex_unlock(&st->lock); in adxrs290_get_rate_data() [all …]
|
| /linux/drivers/net/wireless/broadcom/brcm80211/include/ |
| H A D | chipcommon.h | 1 // SPDX-License-Identifier: ISC 49 /* gpio - cleared only by power-on-reset */ 222 #define CID_ID_MASK 0x0000ffff /* Chip Id mask */ 223 #define CID_REV_MASK 0x000f0000 /* Chip Revision mask */ 225 #define CID_PKG_MASK 0x00f00000 /* Package Option mask */ 234 #define CC_CAP_MIPSEB 0x00000004 /* MIPS is in big-endian mode */ 239 #define CC_CAP_EXTBUS_MASK 0x000000c0 /* External bus mask */ 240 #define CC_CAP_EXTBUS_NONE 0x00000000 /* No ExtBus present */ 249 #define CC_CAP_JTAGP 0x00400000 /* JTAG Master Present */ 251 #define CC_CAP_BKPLN64 0x08000000 /* 64-bit backplane */ [all …]
|
| /linux/drivers/rtc/ |
| H A D | rtc-ds1305.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rtc-ds1305.c -- driver for DS1305 and DS1306 SPI RTC chips 14 #include <linux/spi/spi.h> 15 #include <linux/spi/ds1305.h> 20 * Registers ... mask DS1305_WRITE into register address to write, 21 * otherwise you're reading it. All non-bitmask values are BCD. 27 * - Need fancy "hours" encoding in 12hour mode 28 * - Don't rely on the "day-of-week" field (or tm_wday) 29 * - Are a 21st-century clock (2000 <= year < 2100) 50 * NOTE ALSO that while we could generate once-a-second IRQs (UIE), we [all …]
|
| /linux/drivers/iio/adc/ |
| H A D | ad4695.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * SPI ADC driver for Analog Devices Inc. AD4695 and similar chips 22 #include <linux/iio/buffer-dmaengine.h> 33 #include <linux/spi/offload/consumer.h> 34 #include <linux/spi/offload/provider.h> 35 #include <linux/spi/spi.h> 38 #include <dt-bindings/iio/adc/adi,ad4695.h> 133 struct spi_device *spi; member 139 /* currently PWM CNV only supported with SPI offload use */ 208 .name = "ad4695-8", [all …]
|
| H A D | ti-ads7950.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Texas Instruments ADS7950 SPI ADC driver 12 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 26 #include <linux/spi/spi.h> 36 * Device tree users encode that via the vref-supply regulator. 52 /* val = value, dec = left shift, bits = number of bits of the mask */ 54 (((val) >> (dec)) & ((1 << (bits)) - 1)) 61 (TI_ADS7950_MAN_CMD(TI_ADS7950_CR_WRITE | st->cmd_settings_bitmask)) 64 (TI_ADS7950_GPIO_CMD(st->gpio_cmd_settings_bitmask)) 67 struct spi_device *spi; member [all …]
|
| H A D | ad7192.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * AD7192 and similar SPI ADC driver 5 * Copyright 2011-2015 Analog Devices Inc. 12 #include <linux/clk-provider.h> 17 #include <linux/spi/spi.h> 36 #define AD7192_REG_COMM 0 /* Communications Register (WO, 8-bit) */ 37 #define AD7192_REG_STAT 0 /* Status Register (RO, 8-bit) */ 38 #define AD7192_REG_MODE 1 /* Mode Register (RW, 24-bit */ 39 #define AD7192_REG_CONF 2 /* Configuration Register (RW, 24-bit) */ 40 #define AD7192_REG_DATA 3 /* Data Register (RO, 24/32-bit) */ [all …]
|
| H A D | ad4000.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * AD4000 SPI ADC driver 18 #include <linux/spi/offload/consumer.h> 19 #include <linux/spi/spi.h> 25 #include <linux/iio/buffer-dmaengine.h> 57 .shift = (_offl ? 0 : _storage_bits - _real_bits), \ 68 * When SPI offload is configured, transfers are executed without CPU 95 .shift = (_offl ? 0 : _storage_bits - _real_bits), \ 122 /* maps adi,sdi-pin property value to enum */ 167 /* AD7946, AD7686, AD7688, AD7988-5, AD7693 */ [all …]
|
| /linux/Documentation/devicetree/bindings/mfd/ |
| H A D | st,stmpe.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 12 peripherals connected to SPI or I2C. 15 - Linus Walleij <linus.walleij@linaro.org> 18 - $ref: /schemas/spi/spi-peripheral-props.yaml# 23 - st,stmpe601 24 - st,stmpe801 25 - st,stmpe811 26 - st,stmpe1600 [all …]
|
| /linux/net/netfilter/ |
| H A D | xt_HMARK.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * xt_HMARK - Netfilter module to set mark by means of hashing 40 static inline __be32 hmark_addr6_mask(const __be32 *addr32, const __be32 *mask) in hmark_addr6_mask() argument 42 return (addr32[0] & mask[0]) ^ in hmark_addr6_mask() 43 (addr32[1] & mask[1]) ^ in hmark_addr6_mask() 44 (addr32[2] & mask[2]) ^ in hmark_addr6_mask() 45 (addr32[3] & mask[3]); in hmark_addr6_mask() 49 hmark_addr_mask(int l3num, const __be32 *addr32, const __be32 *mask) in hmark_addr_mask() argument 53 return *addr32 & *mask; in hmark_addr_mask() 55 return hmark_addr6_mask(addr32, mask); in hmark_addr_mask() [all …]
|
| /linux/Documentation/devicetree/bindings/soc/tegra/ |
| H A D | nvidia,tegra20-pmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/tegra/nvidia,tegra20-pmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jonathan Hunter <jonathanh@nvidia.com> 16 - nvidia,tegra20-pmc 17 - nvidia,tegra30-pmc 18 - nvidia,tegra114-pmc 19 - nvidia,tegra124-pmc [all …]
|
| /linux/drivers/net/ethernet/marvell/octeontx2/af/ |
| H A D | rvu_npc_fs.c | 1 // SPDX-License-Identifier: GPL-2.0 45 [NPC_IPSEC_SPI] = "SPI ", 62 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_is_feature_supported() 66 mcam_features = is_npc_intf_tx(intf) ? mcam->tx_features : mcam->rx_features; in npc_is_feature_supported() 87 struct npc_key_field *field = &mcam->rx_key_fields[type]; in npc_set_kw_masks() 91 if (mcam->banks_per_entry == 1) in npc_set_kw_masks() 93 else if (mcam->banks_per_entry == 2) in npc_set_kw_masks() 99 field = &mcam->tx_key_fields[type]; in npc_set_kw_masks() 105 field->kw_mask[start_kwi] |= GENMASK_ULL(nr_bits - 1, 0) in npc_set_kw_masks() 107 field->nr_kws = 1; in npc_set_kw_masks() [all …]
|
| /linux/arch/arm/boot/dts/renesas/ |
| H A D | r7s9210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/clock/r7s9210-cpg-mssr.h> 14 interrupt-parent = <&gic>; 15 #address-cells = <1>; 16 #size-cells = <1>; 20 #clock-cells = <0>; 21 compatible = "fixed-clock"; 23 clock-frequency = <0>; 27 #clock-cells = <0>; [all …]
|
| /linux/drivers/spi/ |
| H A D | spi-sh-msiof.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * SuperH MSIOF SPI Controller Interface 7 * Copyright (C) 2014-2017 Glider bvba 14 #include <linux/dma-mapping.h> 28 #include <linux/spi/sh_msiof.h> 29 #include <linux/spi/spi.h> 71 return ioread16(p->mapbase + reg_offs); in sh_msiof_read() 73 return ioread32(p->mapbase + reg_offs); in sh_msiof_read() 83 iowrite16(value, p->mapbase + reg_offs); in sh_msiof_write() 86 iowrite32(value, p->mapbase + reg_offs); in sh_msiof_write() [all …]
|
| /linux/Documentation/networking/dsa/ |
| H A D | sja1105.rst | 8 The NXP SJA1105 is a family of 10 SPI-managed automotive switches: 10 - SJA1105E: First generation, no TTEthernet 11 - SJA1105T: First generation, TTEthernet 12 - SJA1105P: Second generation, no TTEthernet, no SGMII 13 - SJA1105Q: Second generation, TTEthernet, no SGMII 14 - SJA1105R: Second generation, no TTEthernet, SGMII 15 - SJA1105S: Second generation, TTEthernet, SGMII 16 - SJA1110A: Third generation, TTEthernet, SGMII, integrated 100base-T1 and 17 100base-TX PHYs 18 - SJA1110B: Third generation, TTEthernet, SGMII, 100base-T1, 100base-TX [all …]
|
| /linux/drivers/net/ethernet/microchip/ |
| H A D | enc28j60.c | 1 // SPDX-License-Identifier: GPL-2.0+ 26 #include <linux/spi/spi.h> 38 /* Buffer size required for the largest SPI transfer (i.e., reading a 57 struct spi_device *spi; member 77 } debug = { -1 }; 80 * SPI read buffer 81 * Wait for the SPI transfer and copy received data to destination. 86 struct device *dev = &priv->spi->dev; in spi_read_buf() 87 u8 *rx_buf = priv->spi_transfer_buf + 4; in spi_read_buf() 88 u8 *tx_buf = priv->spi_transfer_buf; in spi_read_buf() [all …]
|
| /linux/arch/arm64/boot/dts/marvell/ |
| H A D | armada-3720-turris-mox.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 /dts-v1/; 9 #include <dt-bindings/bus/moxtet.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/input.h> 12 #include "armada-372x.dtsi" 16 compatible = "cznic,turris-mox", "marvell,armada3720", 28 stdout-path = "serial0:115200n8"; 37 compatible = "gpio-leds"; 41 linux,default-trigger = "default-on"; [all …]
|
| /linux/drivers/irqchip/ |
| H A D | irq-brcmstb-l2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2014-2024 Broadcom 48 .cpu_clear = -1, /* Register not present */ 73 status = irq_reg_readl(b->gc, b->status_offset) & in brcmstb_l2_intc_irq_handle() 74 ~(irq_reg_readl(b->gc, b->mask_offset)); in brcmstb_l2_intc_irq_handle() 77 raw_spin_lock(&desc->lock); in brcmstb_l2_intc_irq_handle() 79 raw_spin_unlock(&desc->lock); in brcmstb_l2_intc_irq_handle() 84 irq = ffs(status) - 1; in brcmstb_l2_intc_irq_handle() 86 generic_handle_domain_irq(b->domain, irq); in brcmstb_l2_intc_irq_handle() 99 struct brcmstb_l2_intc_data *b = gc->private; in __brcmstb_l2_intc_suspend() [all …]
|
| /linux/include/linux/spi/ |
| H A D | spi.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later 21 #include <uapi/linux/spi/spi.h> 23 /* Max no. of CS supported per spi device */ 38 * INTERFACES between SPI controller-sid 260 spi_dev_get(struct spi_device * spi) spi_dev_get() argument 265 spi_dev_put(struct spi_device * spi) spi_dev_put() argument 272 spi_get_ctldata(const struct spi_device * spi) spi_get_ctldata() argument 277 spi_set_ctldata(struct spi_device * spi,void * state) spi_set_ctldata() argument 284 spi_set_drvdata(struct spi_device * spi,void * data) spi_set_drvdata() argument 289 spi_get_drvdata(const struct spi_device * spi) spi_get_drvdata() argument 294 spi_get_chipselect(const struct spi_device * spi,u8 idx) spi_get_chipselect() argument 299 spi_set_chipselect(struct spi_device * spi,u8 idx,u8 chipselect) spi_set_chipselect() argument 304 spi_get_csgpiod(const struct spi_device * spi,u8 idx) spi_get_csgpiod() argument 309 spi_set_csgpiod(struct spi_device * spi,u8 idx,struct gpio_desc * csgpiod) spi_set_csgpiod() argument 314 spi_is_csgpiod(struct spi_device * spi) spi_is_csgpiod() argument 1157 struct spi_device *spi; global() member 1297 spi_max_message_size(struct spi_device * spi) spi_max_message_size() argument 1307 spi_max_transfer_size(struct spi_device * spi) spi_max_transfer_size() argument 1330 spi_is_bpw_supported(struct spi_device * spi,u32 bpw) spi_is_bpw_supported() argument 1457 spi_sync_transfer(struct spi_device * spi,struct spi_transfer * xfers,unsigned int num_xfers) spi_sync_transfer() argument 1480 spi_write(struct spi_device * spi,const void * buf,size_t len) spi_write() argument 1503 spi_read(struct spi_device * spi,void * buf,size_t len) spi_read() argument 1529 spi_w8r8(struct spi_device * spi,u8 cmd) spi_w8r8() argument 1554 spi_w8r16(struct spi_device * spi,u8 cmd) spi_w8r16() argument 1579 spi_w8r16be(struct spi_device * spi,u8 cmd) spi_w8r16be() argument [all...] |