| /kernel/linux/linux-6.6/drivers/misc/eeprom/ |
| 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. 18 MODULE_DESCRIPTION("EEPROM 93cx6 chip driver"); 21 static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_high() argument 23 eeprom->reg_data_clock = 1; in eeprom_93cx6_pulse_high() 24 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_high() 34 static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_low() argument 36 eeprom->reg_data_clock = 0; in eeprom_93cx6_pulse_low() 37 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_low() [all …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/misc/eeprom/ |
| 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. 18 MODULE_DESCRIPTION("EEPROM 93cx6 chip driver"); 21 static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_high() argument 23 eeprom->reg_data_clock = 1; in eeprom_93cx6_pulse_high() 24 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_high() 34 static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_pulse_low() argument 36 eeprom->reg_data_clock = 0; in eeprom_93cx6_pulse_low() 37 eeprom->register_write(eeprom); in eeprom_93cx6_pulse_low() [all …]
|
| /kernel/linux/linux-5.10/drivers/nvmem/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/nvmem/ |
| 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 …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| 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 …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| 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. 15 * EEPROM operation defines. 29 * struct eeprom_93cx6 - control structure for setting the commands 30 * for reading the eeprom data. 31 * @data: private pointer for the driver. 32 * @register_read(struct eeprom_93cx6 *eeprom): handler to 33 * read the eeprom register, this function should set all reg_* fields. 34 * @register_write(struct eeprom_93cx6 *eeprom): handler to [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/mediatek/mt76/mt7996/ |
| D | eeprom.c | 1 // 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() 19 return -EINVAL; in mt7996_check_eeprom() 32 u8 *eeprom = dev->mt76.eeprom.data; in mt7996_eeprom_load_default() local 36 ret = request_firmware(&fw, mt7996_eeprom_name(dev), dev->mt76.dev); in mt7996_eeprom_load_default() 40 if (!fw || !fw->data) { in mt7996_eeprom_load_default() 41 dev_err(dev->mt76.dev, "Invalid default bin\n"); in mt7996_eeprom_load_default() 42 ret = -EINVAL; in mt7996_eeprom_load_default() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/e1000e/ |
| D | nvm.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/e1000e/ |
| D | nvm.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/intel/iwlwifi/ |
| D | iwl-eeprom-parse.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * Copyright (C) 2005-2014, 2018-2020 Intel Corporation 9 #include "iwl-drv.h" 10 #include "iwl-modparams.h" 11 #include "iwl-eeprom-parse.h" 14 /* EEPROM offset definitions */ 29 /* corresponding link offsets in EEPROM */ 65 /* SKU Capabilities (actual values from EEPROM definition) */ 74 /* radio config bits (actual values from EEPROM definition) */ 75 #define EEPROM_RF_CFG_TYPE_MSK(x) (x & 0x3) /* bits 0-1 */ [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/mediatek/mt76/mt7915/ |
| D | eeprom.c | 1 // 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 val = eeprom[MT_EE_DO_PRE_CAL]; in mt7915_eeprom_load_precal() 20 if (!dev->flash_mode) in mt7915_eeprom_load_precal() 27 dev->cal = devm_kzalloc(mdev->dev, val, GFP_KERNEL); in mt7915_eeprom_load_precal() 28 if (!dev->cal) in mt7915_eeprom_load_precal() 29 return -ENOMEM; in mt7915_eeprom_load_precal() 31 offs = is_mt7915(&dev->mt76) ? MT_EE_PRECAL : MT_EE_PRECAL_V2; in mt7915_eeprom_load_precal() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/igb/ |
| D | e1000_nvm.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/igb/ |
| D | e1000_nvm.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/intel/iwlwifi/ |
| D | iwl-eeprom-parse.c | 8 * Copyright(c) 2008 - 2014 Intel Corporation. All rights reserved. 10 * Copyright(c) 2018 - 2019 Intel Corporation 26 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 30 * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved. 32 * Copyright(c) 2018 - 2019 Intel Corporation 56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 64 #include "iwl-drv.h" 65 #include "iwl-modparams.h" 66 #include "iwl-eeprom-parse.h" 68 /* EEPROM offset definitions */ [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgb/ |
| D | ixgb_ee.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2008 Intel Corporation. */ 12 u16 data, 21 * Raises the EEPROM's clock input. 23 * hw - Struct containing variables accessed by shared code 24 * eecd_reg - EECD's current value 30 /* Raise the clock input to the EEPROM (by setting the SK bit), and then in ixgb_raise_clock() 40 * Lowers the EEPROM's clock input. 42 * hw - Struct containing variables accessed by shared code 43 * eecd_reg - EECD's current value [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/mediatek/mt7601u/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/mediatek/mt7601u/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/mediatek/mt76/mt7603/ |
| D | eeprom.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/mediatek/mt76/mt7603/ |
| D | eeprom.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/mediatek/mt76/mt7615/ |
| D | eeprom.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/mediatek/mt76/mt7615/ |
| D | eeprom.c | 1 // 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() 54 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7615_efuse_init() 55 dev->mt76.otp.size = len; in mt7615_efuse_init() 56 if (!dev->mt76.otp.data) in mt7615_efuse_init() 57 return -ENOMEM; in mt7615_efuse_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_common.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 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() 64 hw->mac.ops.check_link(hw, &speed, &link_up, false); in ixgbe_device_supports_autoneg_fc() 74 if (hw->device_id == IXGBE_DEV_ID_X550EM_X_XFI) in ixgbe_device_supports_autoneg_fc() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_common.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 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() 64 hw->mac.ops.check_link(hw, &speed, &link_up, false); in ixgbe_device_supports_autoneg_fc() 74 if (hw->device_id == IXGBE_DEV_ID_X550EM_X_XFI) in ixgbe_device_supports_autoneg_fc() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/usb/ |
| D | asix_common.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (C) 2003-2006 David Hollis <dhollis@davehollis.com> 7 * Copyright (c) 2002-2003 TiVo Inc. 13 u16 size, void *data, int in_pm) in asix_read_cmd() argument 26 value, index, data, size); in asix_read_cmd() 29 netdev_warn(dev->net, "Failed to read reg index 0x%04x: %d\n", in asix_read_cmd() 36 u16 size, void *data, int in_pm) in asix_write_cmd() argument 49 value, index, data, size); in asix_write_cmd() 52 netdev_warn(dev->net, "Failed to write reg index 0x%04x: %d\n", in asix_write_cmd() 59 u16 size, void *data) in asix_write_cmd_async() argument [all …]
|