Home
last modified time | relevance | path

Searched +full:eeprom +full:- +full:data (Results 1 – 25 of 937) sorted by relevance

12345678910>>...38

/linux-6.14.4/drivers/misc/eeprom/
Deeprom_93cx6.c1 // 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 …]
Didt_89hpesx.c1 // 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 <[email protected]>, <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 …]
Dmax6875.c1 // 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-6.14.4/drivers/nvmem/
Drave-sp-eeprom.c1 // 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-6.14.4/include/linux/
Deeprom_93cx6.h1 /* 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-6.14.4/drivers/net/wireless/mediatek/mt76/mt7996/
Deeprom.c1 // SPDX-License-Identifier: ISC
8 #include "eeprom.h"
12 u8 *eeprom = dev->mt76.eeprom.data; in mt7996_check_eeprom() local
13 u16 val = get_unaligned_le16(eeprom); in mt7996_check_eeprom()
17 return is_mt7996(&dev->mt76) ? 0 : -EINVAL; in mt7996_check_eeprom()
19 return is_mt7992(&dev->mt76) ? 0 : -EINVAL; in mt7996_check_eeprom()
21 return -EINVAL; in mt7996_check_eeprom()
27 switch (mt76_chip(&dev->mt76)) { in mt7996_eeprom_name()
29 switch (dev->var.type) { in mt7996_eeprom_name()
31 if (dev->var.fem == MT7996_FEM_INT) in mt7996_eeprom_name()
[all …]
/linux-6.14.4/drivers/net/ethernet/intel/e1000e/
Dnvm.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2018 Intel Corporation. */
7 * e1000_raise_eec_clk - Raise EEPROM clock
9 * @eecd: pointer to the EEPROM
11 * Enable/Raise the EEPROM clock bit.
18 udelay(hw->nvm.delay_usec); in e1000_raise_eec_clk()
22 * e1000_lower_eec_clk - Lower EEPROM clock
24 * @eecd: pointer to the EEPROM
26 * Clear/Lower the EEPROM clock bit.
33 udelay(hw->nvm.delay_usec); in e1000_lower_eec_clk()
[all …]
/linux-6.14.4/drivers/net/wireless/intel/iwlwifi/dvm/
Deeprom.c1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
3 * Copyright (C) 2005-2014, 2018-2019, 2021, 2024 Intel Corporation
9 #include "iwl-drv.h"
10 #include "iwl-debug.h"
11 #include "iwl-io.h"
12 #include "iwl-prph.h"
13 #include "iwl-csr.h"
16 /* EEPROM offset definitions */
31 /* corresponding link offsets in EEPROM */
67 /* SKU Capabilities (actual values from EEPROM definition) */
[all …]
/linux-6.14.4/drivers/net/wireless/mediatek/mt76/mt7915/
Deeprom.c1 // SPDX-License-Identifier: ISC
7 #include "eeprom.h"
15 struct mt76_dev *mdev = &dev->mt76; in mt7915_eeprom_load_precal()
16 u8 *eeprom = mdev->eeprom.data; in mt7915_eeprom_load_precal() local
17 u32 offs = is_mt7915(&dev->mt76) ? MT_EE_DO_PRE_CAL : MT_EE_DO_PRE_CAL_V2; in mt7915_eeprom_load_precal()
18 u32 size, val = eeprom[offs]; in mt7915_eeprom_load_precal()
21 if (!dev->flash_mode || !val) in mt7915_eeprom_load_precal()
26 dev->cal = devm_kzalloc(mdev->dev, size, GFP_KERNEL); in mt7915_eeprom_load_precal()
27 if (!dev->cal) in mt7915_eeprom_load_precal()
28 return -ENOMEM; in mt7915_eeprom_load_precal()
[all …]
/linux-6.14.4/drivers/net/ethernet/intel/igb/
De1000_nvm.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2007 - 2018 Intel Corporation. */
11 * igb_raise_eec_clk - Raise EEPROM clock
13 * @eecd: pointer to the EEPROM
15 * Enable/Raise the EEPROM clock bit.
22 udelay(hw->nvm.delay_usec); in igb_raise_eec_clk()
26 * igb_lower_eec_clk - Lower EEPROM clock
28 * @eecd: pointer to the EEPROM
30 * Clear/Lower the EEPROM clock bit.
37 udelay(hw->nvm.delay_usec); in igb_lower_eec_clk()
[all …]
De1000_i210.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2007 - 2018 Intel Corporation. */
17 * igb_get_hw_semaphore_i210 - Acquire hardware semaphore
25 s32 timeout = hw->nvm.word_size + 1; in igb_get_hw_semaphore_i210()
42 if (hw->dev_spec._82575.clear_semaphore_once) { in igb_get_hw_semaphore_i210()
43 hw->dev_spec._82575.clear_semaphore_once = false; in igb_get_hw_semaphore_i210()
56 hw_dbg("Driver can't access device - SMBI bit is set.\n"); in igb_get_hw_semaphore_i210()
57 return -E1000_ERR_NVM; in igb_get_hw_semaphore_i210()
77 return -E1000_ERR_NVM; in igb_get_hw_semaphore_i210()
84 * igb_acquire_nvm_i210 - Request for access to EEPROM
[all …]
/linux-6.14.4/drivers/net/wireless/mediatek/mt7601u/
Deeprom.c1 // 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-6.14.4/drivers/net/wireless/mediatek/mt76/mt7603/
Deeprom.c1 // SPDX-License-Identifier: ISC
5 #include "eeprom.h"
8 mt7603_efuse_read(struct mt7603_dev *dev, u32 base, u16 addr, u8 *data) in mt7603_efuse_read() argument
21 return -ETIMEDOUT; in mt7603_efuse_read()
28 memset(data, 0xff, 16); in mt7603_efuse_read()
34 put_unaligned_le32(val, data + 4 * i); in mt7603_efuse_read()
51 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7603_efuse_init()
52 dev->mt76.otp.size = len; in mt7603_efuse_init()
53 if (!dev->mt76.otp.data) in mt7603_efuse_init()
54 return -ENOMEM; in mt7603_efuse_init()
[all …]
/linux-6.14.4/drivers/net/wireless/mediatek/mt76/mt7615/
Deeprom.c1 // SPDX-License-Identifier: ISC
10 #include "eeprom.h"
13 u16 addr, u8 *data) in mt7615_efuse_read() argument
25 return -ETIMEDOUT; in mt7615_efuse_read()
32 memset(data, 0x0, 16); in mt7615_efuse_read()
38 put_unaligned_le32(val, data + 4 * i); in mt7615_efuse_read()
50 if (is_mt7663(&dev->mt76)) in mt7615_efuse_init()
57 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7615_efuse_init()
58 dev->mt76.otp.size = len; in mt7615_efuse_init()
59 if (!dev->mt76.otp.data) in mt7615_efuse_init()
[all …]
/linux-6.14.4/drivers/net/ethernet/intel/ixgbe/
Dixgbe_common.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2024 Intel Corporation. */
18 static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw, u16 data,
28 u16 words, u16 *data);
30 u16 words, u16 *data);
41 * ixgbe_device_supports_autoneg_fc - Check if phy supports autoneg flow
55 switch (hw->phy.media_type) { in ixgbe_device_supports_autoneg_fc()
58 switch (hw->device_id) { in ixgbe_device_supports_autoneg_fc()
65 hw->mac.ops.check_link(hw, &speed, &link_up, false); in ixgbe_device_supports_autoneg_fc()
75 if (hw->device_id == IXGBE_DEV_ID_X550EM_X_XFI) in ixgbe_device_supports_autoneg_fc()
[all …]
Dixgbe_x540.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2024 Intel Corporation. */
32 struct ixgbe_mac_info *mac = &hw->mac; in ixgbe_get_invariants_X540()
33 struct ixgbe_phy_info *phy = &hw->phy; in ixgbe_get_invariants_X540()
36 phy->ops.set_phy_power = ixgbe_set_copper_phy_power; in ixgbe_get_invariants_X540()
38 mac->mcft_size = IXGBE_X540_MC_TBL_SIZE; in ixgbe_get_invariants_X540()
39 mac->vft_size = IXGBE_X540_VFT_TBL_SIZE; in ixgbe_get_invariants_X540()
40 mac->num_rar_entries = IXGBE_X540_RAR_ENTRIES; in ixgbe_get_invariants_X540()
41 mac->rx_pb_size = IXGBE_X540_RX_PB_SIZE; in ixgbe_get_invariants_X540()
42 mac->max_rx_queues = IXGBE_X540_MAX_RX_QUEUES; in ixgbe_get_invariants_X540()
[all …]
/linux-6.14.4/drivers/net/usb/
Dasix_common.c1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Copyright (C) 2003-2006 David Hollis <[email protected]>
7 * Copyright (c) 2002-2003 TiVo Inc.
15 u16 size, void *data, int in_pm) in asix_read_cmd() argument
28 value, index, data, size); in asix_read_cmd()
31 ret = ret < 0 ? ret : -ENODATA; in asix_read_cmd()
33 netdev_warn(dev->net, "Failed to read reg index 0x%04x: %d\n", in asix_read_cmd()
41 u16 size, void *data, int in_pm) in asix_write_cmd() argument
54 value, index, data, size); in asix_write_cmd()
57 netdev_warn(dev->net, "Failed to write reg index 0x%04x: %d\n", in asix_write_cmd()
[all …]
/linux-6.14.4/drivers/net/wireless/mediatek/mt76/mt76x2/
Deeprom.c1 // SPDX-License-Identifier: ISC
10 #include "eeprom.h"
17 void *src = dev->mt76.eeprom.data + MT_EE_MAC_ADDR; in mt76x2_eeprom_get_macaddr()
19 memcpy(dev->mphy.macaddr, src, ETH_ALEN); in mt76x2_eeprom_get_macaddr()
80 struct device_node *np = dev->mt76.dev->of_node; in mt76x2_apply_cal_free_data()
81 u8 *eeprom = dev->mt76.eeprom.data; in mt76x2_apply_cal_free_data() local
83 eeprom[MT_EE_TX_POWER_0_START_5G], in mt76x2_apply_cal_free_data()
84 eeprom[MT_EE_TX_POWER_0_START_5G + 1], in mt76x2_apply_cal_free_data()
85 eeprom[MT_EE_TX_POWER_1_START_5G], in mt76x2_apply_cal_free_data()
86 eeprom[MT_EE_TX_POWER_1_START_5G + 1] in mt76x2_apply_cal_free_data()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/eeprom/
Dmicrochip,93lc46b.yaml1 # 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 <[email protected]>
15 - atmel,at93c46
16 - atmel,at93c46d
17 - atmel,at93c56
18 - atmel,at93c66
[all …]
/linux-6.14.4/Documentation/misc-devices/
Dmax6875.rst13 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-6.14.4/drivers/net/ethernet/intel/igc/
Digc_nvm.c1 // SPDX-License-Identifier: GPL-2.0
8 * igc_poll_eerd_eewr_done - Poll for EEPROM read/write completion
10 * @ee_reg: EEPROM flag for polling
12 * Polls the EEPROM status bit for either read or write completion based
17 s32 ret_val = -IGC_ERR_NVM; in igc_poll_eerd_eewr_done()
39 * igc_read_nvm_eerd - Reads EEPROM using EERD register
41 * @offset: offset of word in the EEPROM to read
43 * @data: word read from the EEPROM
45 * Reads a 16 bit word from the EEPROM using the EERD register.
47 s32 igc_read_nvm_eerd(struct igc_hw *hw, u16 offset, u16 words, u16 *data) in igc_read_nvm_eerd() argument
[all …]
/linux-6.14.4/net/ethtool/
Deeprom.c1 // 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-6.14.4/drivers/media/usb/pvrusb2/
Dpvrusb2-eeprom.c1 // 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-6.14.4/drivers/net/dsa/mv88e6xxx/
Dglobal2.c1 // 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-6.14.4/drivers/atm/
Dnicstarmac.c1 // 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 …]

12345678910>>...38