| /linux/drivers/misc/eeprom/ |
| H A D | eeprom_93cx6.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2004 - 2006 rt2x00 SourceForge Project 7 * Abstract: EEPROM reader routines for 93cx6 chipsets. 19 MODULE_DESCRIPTION("EEPROM 93cx6 chip driver"); 22 static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_high() argument 24 eeprom->reg_data_clock = 1; in eeprom_93cx6_pulse_high() 25 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_high() 35 static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_low() argument 37 eeprom->reg_data_clock = 0; in eeprom_93cx6_pulse_low() 38 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_low() [all …]
|
| H A D | idt_89hpesx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2016 T-Platforms. All Rights Reserved. 5 * IDT PCIe-switch NTB Linux driver 8 * Serge Semin <fancer.lancer@gmail.com>, <Sergey.Semin@t-platforms.ru> 11 * NOTE of the IDT 89HPESx SMBus-slave interface driver 12 * This driver primarily is developed to have an access to EEPROM device of 13 * IDT PCIe-switches. IDT provides a simple SMBus interface to perform IO- 14 * operations from/to EEPROM, which is located at private (so called Master) 16 * binary sysfs-file in the device directory: 17 * /sys/bus/i2c/devices/<bus>-<devaddr>/eeprom [all …]
|
| H A D | max6875.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max6875.c - driver for MAX6874/MAX6875 7 * Based on eeprom.c 9 * The MAX6875 has a bank of registers and two banks of EEPROM. 11 * * 0x0000 - 0x0046 = configuration registers 12 * * 0x8000 - 0x8046 = configuration EEPROM 13 * * 0x8100 - 0x82FF = user EEPROM 15 * This driver makes the user EEPROM available for read. 17 * The registers & config EEPROM should be accessed via i2c-dev. 20 * two addresses - 0x50/0x51 and 0x52/0x53. [all …]
|
| /linux/drivers/nvmem/ |
| H A D | rave-sp-eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * EEPROM driver for RAVE SP 10 #include <linux/mfd/rave-sp.h> 12 #include <linux/nvmem-provider.h> 18 * enum rave_sp_eeprom_access_type - Supported types of EEPROM access 20 * @RAVE_SP_EEPROM_WRITE: EEPROM write 21 * @RAVE_SP_EEPROM_READ: EEPROM read 29 * enum rave_sp_eeprom_header_size - EEPROM command header sizes 31 * @RAVE_SP_EEPROM_HEADER_SMALL: EEPROM header size for "small" devices (< 8K) 32 * @RAVE_SP_EEPROM_HEADER_BIG: EEPROM header size for "big" devices (> 8K) [all …]
|
| /linux/include/linux/ |
| H A D | eeprom_93cx6.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 Copyright (C) 2004 - 2006 rt2x00 SourceForge Project 10 Abstract: EEPROM reader datastructures for 93cx6 chipsets. 17 * EEPROM operation defines. 31 * struct eeprom_93cx6 - control structure for setting the commands 32 * for reading the eeprom data. 33 * @data: private pointer for the driver. 34 * @register_read(struct eeprom_93cx6 *eeprom): handler to 35 * read the eeprom register, this function should set all reg_* fields. 36 * @register_write(struct eeprom_93cx6 *eeprom): handler to [all …]
|
| /linux/drivers/net/wireless/mediatek/mt7601u/ |
| H A D | eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include "eeprom.h" 32 mt7601u_efuse_read(struct mt7601u_dev *dev, u16 addr, u8 *data, in mt7601u_efuse_read() argument 47 return -ETIMEDOUT; in mt7601u_efuse_read() 51 /* Parts of eeprom not in the usage map (0x80-0xc0,0xf0) in mt7601u_efuse_read() 52 * will not return valid data but it's ok. in mt7601u_efuse_read() 54 memset(data, 0xff, 16); in mt7601u_efuse_read() 60 put_unaligned_le32(val, data + 4 * i); in mt7601u_efuse_read() 70 u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)]; in mt7601u_efuse_physical_size_check() local 76 data + i * 16, MT_EE_PHYSICAL_READ); in mt7601u_efuse_physical_size_check() [all …]
|
| /linux/Documentation/devicetree/bindings/eeprom/ |
| H A D | microchip,93lc46b.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/eeprom/microchip,93lc46b.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Microchip 93xx46 SPI compatible EEPROM family 10 - Cory Tusar <cory.tusar@pid1solutions.com> 15 - atmel,at93c46 16 - atmel,at93c46d 17 - atmel,at93c56 18 - atmel,at93c66 [all …]
|
| /linux/Documentation/misc-devices/ |
| H A D | max6875.rst | 13 Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6874-MAX6875.pdf 19 ----------- 21 The Maxim MAX6875 is an EEPROM-programmable power-supply sequencer/supervisor. 23 It also provides 512 bytes of user EEPROM. 25 At reset, the MAX6875 reads the configuration EEPROM into its configuration 33 - vin gpi vout 43 ------------- 45 eeprom - 512 bytes of user-defined EEPROM space. 49 --------------- 61 $ echo max6875 0x50 > /sys/bus/i2c/devices/i2c-0/new_device [all …]
|
| /linux/net/ethtool/ |
| H A D | eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 u8 *data; member 31 struct ethtool_eeprom *eeprom) in fallback_set_params() argument 33 u32 offset = request->offset; in fallback_set_params() 34 u32 length = request->length; in fallback_set_params() 36 if (request->page) in fallback_set_params() 37 offset = request->page * ETH_MODULE_EEPROM_PAGE_LEN + offset; in fallback_set_params() 39 if (modinfo->type == ETH_MODULE_SFF_8472 && in fallback_set_params() 40 request->i2c_address == 0x51) in fallback_set_params() 43 if (offset >= modinfo->eeprom_len) in fallback_set_params() [all …]
|
| /linux/drivers/media/usb/pvrusb2/ |
| H A D | pvrusb2-eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include "pvrusb2-eeprom.h" 10 #include "pvrusb2-hdw-internal.h" 11 #include "pvrusb2-debug.h" 19 Read and analyze data in the eeprom. Use tveeprom to figure out 21 internally it has a family resemblance to ivtv-type devices 27 /* We seem to only be interested in the last 128 bytes of the EEPROM */ 30 /* Grab EEPROM contents, needed for direct method. */ 34 u8 *eeprom; in pvr2_eeprom_fetch() local 42 eeprom = kzalloc(EEPROM_SIZE, GFP_KERNEL); in pvr2_eeprom_fetch() [all …]
|
| /linux/drivers/net/dsa/mv88e6xxx/ |
| H A D | global2.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Copyright (c) 2016-2017 Savoir-faire Linux Inc. 21 return mv88e6xxx_read(chip, chip->info->global2_addr, reg, val); in mv88e6xxx_g2_read() 26 return mv88e6xxx_write(chip, chip->info->global2_addr, reg, val); in mv88e6xxx_g2_write() 32 return mv88e6xxx_wait_bit(chip, chip->info->global2_addr, reg, in mv88e6xxx_g2_wait_bit() 146 const u16 port_mask = BIT(mv88e6xxx_num_ports(chip)) - 1; in mv88e6xxx_g2_trunk_mapping_write() 155 const u16 port_mask = BIT(mv88e6xxx_num_ports(chip)) - 1; in mv88e6xxx_g2_trunk_clear() 176 * Offset 0x0A: Ingress Rate Data register 212 /* Offset 0x0B: Cross-chip Port VLAN (Addr) Register 213 * Offset 0x0C: Cross-chip Port VLAN Data Register [all …]
|
| /linux/drivers/atm/ |
| H A D | nicstarmac.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Read this ForeRunner's MAC address from eprom/eeprom 21 * the Data Sheet for the Xicor X25020 EEProm. The #defines below 23 * that must be toggled for the corresponding actions on the EEProm 27 /* Write Data To EEProm from SI line on rising edge of CLK */ 28 /* Read Data From EEProm on falling edge of CLK */ 34 #define SI_HIGH 0x0001 /* Serial input data high */ 35 #define SI_LOW 0x0000 /* Serial input data low */ 60 /* Read from EEPROM = 0000 0011b */ 83 /* Clock to read from/write to the eeprom */ [all …]
|
| /linux/drivers/net/ethernet/wangxun/txgbe/ |
| H A D | txgbe_hw.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. */ 17 * txgbe_disable_sec_tx_path - Stops the transmit data path 20 * Stops the transmit data path and waits for the HW to internally empty 33 * txgbe_enable_sec_tx_path - Enables the transmit data path 36 * Enables the transmit data path. 45 * txgbe_init_thermal_sensor_thresh - Inits thermal sensor thresholds 53 struct wx_thermal_sensor_data *data = &wx->mac.sensor; in txgbe_init_thermal_sensor_thresh() local 55 memset(data, 0, sizeof(struct wx_thermal_sensor_data)); in txgbe_init_thermal_sensor_thresh() 58 if (wx->bus.func) in txgbe_init_thermal_sensor_thresh() [all …]
|
| /linux/drivers/net/wireless/ralink/rt2x00/ |
| H A D | rt2800pci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 Copyright (C) 2009 - 2010 Ivo van Doorn <IvDoorn@gmail.com> 79 static void rt2800pci_eepromregister_read(struct eeprom_93cx6 *eeprom) in rt2800pci_eepromregister_read() argument 81 struct rt2x00_dev *rt2x00dev = eeprom->data; in rt2800pci_eepromregister_read() 86 eeprom->reg_data_in = !!rt2x00_get_field32(reg, E2PROM_CSR_DATA_IN); in rt2800pci_eepromregister_read() 87 eeprom->reg_data_out = !!rt2x00_get_field32(reg, E2PROM_CSR_DATA_OUT); in rt2800pci_eepromregister_read() 88 eeprom->reg_data_clock = in rt2800pci_eepromregister_read() 90 eeprom->reg_chip_select = in rt2800pci_eepromregister_read() 94 static void rt2800pci_eepromregister_write(struct eeprom_93cx6 *eeprom) in rt2800pci_eepromregister_write() argument 96 struct rt2x00_dev *rt2x00dev = eeprom->data; in rt2800pci_eepromregister_write() [all …]
|
| /linux/Documentation/devicetree/bindings/net/wireless/ |
| H A D | mediatek,mt76.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Felix Fietkau <nbd@nbd.name> 12 - Lorenzo Bianconi <lorenzo@kernel.org> 13 - Ryder Lee <ryder.lee@mediatek.com> 25 - mediatek,mt76 26 - mediatek,mt7628-wmac 27 - mediatek,mt7622-wmac [all …]
|
| /linux/drivers/w1/slaves/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # 1-wire slaves configuration 6 menu "1-wire Slaves" 11 Say Y here if you want to connect 1-wire thermal sensors to your 17 Say Y here if you want to connect 1-wire 23 Say Y or M here if you want to use a DS2405 1-wire 24 single-channel addressable switch. 25 This device can also work as a single-channel 29 tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)" 31 Say Y here if you want to use a 1-wire [all …]
|
| /linux/drivers/media/common/ |
| H A D | ttpci-eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 Retrieve encoded MAC address from 24C16 serial 2-wire EEPROM, 10 MAC address into the EEPROM. 16 Copyright (C) 2002-2003 Ralph Metzler <rjkm@metzlerbros.de> 29 #include "ttpci-eeprom.h" 57 u8 data[20]; in getmac_tt() local 61 memcpy(data, encodedMAC, 20); in getmac_tt() 64 data[i] ^= xor[i]; in getmac_tt() 66 data[i] = ((data[2 * i + 1] << 8) | data[2 * i]) in getmac_tt() 67 >> ((data[2 * i + 1] >> 6) & 3); in getmac_tt() [all …]
|
| /linux/drivers/comedi/drivers/ |
| H A D | cb_pcidda.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Driver for the ComputerBoards / MeasurementComputing PCI-DDA series. 9 * COMEDI - Linux Control and Measurement Device Interface 10 * Copyright (C) 1997-8 David A. Schleef <ds@schleef.org> 15 * Description: MeasurementComputing PCI-DDA series 16 * Devices: [Measurement Computing] PCI-DDA08/12 (pci-dda08/12), 17 * PCI-DDA04/12 (pci-dda04/12), PCI-DDA02/12 (pci-dda02/12), 18 * PCI-DDA08/16 (pci-dda08/16), PCI-DDA04/16 (pci-dda04/16), 19 * PCI-DDA02/16 (pci-dda02/16) 33 #define EEPROM_SIZE 128 /* number of entries in eeprom */ [all …]
|
| H A D | plx9052.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Definitions for the PLX-9052 PCI interface chip 7 * COMEDI - Linux Control and Measurement Device Interface 15 * INTCSR - Interrupt Control/Status register 33 * CNTRL - User I/O, Direct Slave Response, Serial EEPROM, and 39 #define PLX9052_CNTRL_UIO0_DATA BIT(2) /* UIO0 data */ 42 #define PLX9052_CNTRL_UIO1_DATA BIT(5) /* UIO1 data */ 45 #define PLX9052_CNTRL_UIO2_DATA BIT(8) /* UIO2 data */ 48 #define PLX9052_CNTRL_UIO3_DATA BIT(11) /* UIO3 data */ 60 #define PLX9052_CNTRL_EEPROM_MASK (0x1f << 24) /* EEPROM bits */ [all …]
|
| /linux/sound/pci/ice1712/ |
| H A D | ice1724.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 48 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 86 /* check whether the clock mode is spdif-in */ 97 return (!ice->is_spdif_master(ice)) && PRO_RATE_LOCKED; in is_pro_rate_locked() 116 dev_dbg(ice->card->de in snd_vt1724_ac97_ready() 167 snd_vt1724_set_gpio_dir(struct snd_ice1712 * ice,unsigned int data) snd_vt1724_set_gpio_dir() argument 180 snd_vt1724_set_gpio_mask(struct snd_ice1712 * ice,unsigned int data) snd_vt1724_set_gpio_mask() argument 199 snd_vt1724_set_gpio_data(struct snd_ice1712 * ice,unsigned int data) snd_vt1724_set_gpio_data() argument 209 unsigned int data; snd_vt1724_get_gpio_data() local 2237 snd_vt1724_write_i2c(struct snd_ice1712 * ice,unsigned char dev,unsigned char addr,unsigned char data) snd_vt1724_write_i2c() argument [all...] |
| H A D | ice1712.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 - spdif nonaudio consumer mode does not work (at least with my 11 Sony STR-DB830) 18 * split the code to several files. each low-level routine 25 * I also haven't done anything with the internal S/PDIF transmitter or the MPU-401 40 #include <linux/dma-mappin 117 snd_ice1712_ds_write(struct snd_ice1712 * ice,u8 channel,u8 addr,u32 data) snd_ice1712_ds_write() argument 274 snd_ice1712_set_gpio_dir(struct snd_ice1712 * ice,unsigned int data) snd_ice1712_set_gpio_dir() argument 290 snd_ice1712_set_gpio_mask(struct snd_ice1712 * ice,unsigned int data) snd_ice1712_set_gpio_mask() argument [all...] |
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | via-velocity.txt | 4 - compatible : Should be "via,velocity-vt6110" 5 - reg : Address and length of the io space 6 - interrupts : Should contain the controller interrupt line 9 - no-eeprom : PCI network cards use an external EEPROM to store data. Embedded 10 devices quite often set this data in uboot and do not provide an eeprom. 11 Specify this option if you have no external eeprom. 16 compatible = "via,velocity-vt6110"; 19 no-eeprom;
|
| /linux/drivers/mtd/maps/ |
| H A D | pismo.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PISMO memory driver - http://www.pismoworld.org/ 15 #include <linux/mtd/plat-ram.h> 52 struct i2c_client *client = to_i2c_client(pdev->dev.parent); in pismo_set_vpp() 55 pismo->vpp(pismo->vpp_data, on); in pismo_set_vpp() 72 .addr = client->addr, in pismo_eeprom_read() 76 .addr = client->addr, in pismo_eeprom_read() 83 ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)); in pismo_eeprom_read() 85 return ret == ARRAY_SIZE(msg) ? size : -EIO; in pismo_eeprom_read() 94 phys_addr_t base = region->base; in pismo_add_device() [all …]
|
| /linux/drivers/media/usb/em28xx/ |
| H A D | em28xx-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // em28xx-i2c.c - driver for Empia EM2800/EM2820/2840 USB video capture devices 20 #include <media/v4l2-common.h> 23 /* ----------------------------------------------------------- */ 35 dev_printk(KERN_DEBUG, &dev->intf->dev, \ 54 switch (dev->i2c_speed & 0x03) { in em28xx_i2c_timeout() 80 return -EOPNOTSUPP; in em2800_i2c_send_bytes() 82 b2[5] = 0x80 + len - 1; in em2800_i2c_send_bytes() 93 ret = dev->em28xx_write_regs(dev, 4 - len, &b2[4 - len], 2 + len); in em2800_i2c_send_bytes() 95 dev_warn(&dev->intf->dev, in em2800_i2c_send_bytes() [all …]
|
| /linux/drivers/net/wireless/intersil/p54/ |
| H A D | eeprom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * EEPROM parser code for mac80211 Prism54 drivers 6 * Copyright (c) 2007-2009, Christian Lamparter <chunkeey@web.de> 10 * - the islsm (softmac prism54) driver, which is: 11 * Copyright 2004-2006 Jean-Baptiste Note <jbnote@gmail.com>, et al. 12 * - stlc45xx driver 13 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 22 #include <linux/crc-ccitt.h> 26 #include "eeprom.h" 57 * The defaults are taken from usb-logs of the [all …]
|