Home
last modified time | relevance | path

Searched full:eeprom (Results 1 – 25 of 1383) sorted by relevance

12345678910>>...56

/linux/drivers/misc/eeprom/ !
H A Deeprom_93cx6.c7 * 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()
48 static void eeprom_93cx6_startup(struct eeprom_93cx6 *eeprom) in eeprom_93cx6_startup() argument
53 eeprom->register_read(eeprom); in eeprom_93cx6_startup()
[all …]
H A DKconfig2 menu "EEPROM support"
44 after you configure the board init code to know about each eeprom
54 If you say yes here you get read-only support for the user EEPROM of
55 the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
65 tristate "EEPROM 93CX6 support"
67 This is a driver for the EEPROM chipsets 93c46 and 93c66.
73 tristate "Microwire EEPROM 93XX46 support"
79 Driver for the microwire EEPROM chipsets 93xx46x. The driver
81 erase the whole EEPROM.
94 EEPROM 93XX46 driver. sysfs entries will be created for that
[all …]
/linux/drivers/nvmem/ !
H A Dlpc18xx_eeprom.c3 * NXP LPC18xx/LPC43xx EEPROM memory NVMEM driver
38 /* EEPROM device requires a ~1500 kHz clock (min 800 kHz, max 1600 kHz) */
41 /* EEPROM requires 3 ms of erase/program time between each writing */
54 static inline void lpc18xx_eeprom_writel(struct lpc18xx_eeprom_dev *eeprom, in lpc18xx_eeprom_writel() argument
57 writel(val, eeprom->reg_base + reg); in lpc18xx_eeprom_writel()
60 static inline u32 lpc18xx_eeprom_readl(struct lpc18xx_eeprom_dev *eeprom, in lpc18xx_eeprom_readl() argument
63 return readl(eeprom->reg_base + reg); in lpc18xx_eeprom_readl()
66 static int lpc18xx_eeprom_busywait_until_prog(struct lpc18xx_eeprom_dev *eeprom) in lpc18xx_eeprom_busywait_until_prog() argument
71 /* Wait until EEPROM program operation has finished */ in lpc18xx_eeprom_busywait_until_prog()
75 val = lpc18xx_eeprom_readl(eeprom, LPC18XX_EEPROM_INTSTAT); in lpc18xx_eeprom_busywait_until_prog()
[all …]
H A Drave-sp-eeprom.c4 * EEPROM driver for RAVE SP
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)
43 * struct rave_sp_eeprom_page - RAVE SP EEPROM page
59 * struct rave_sp_eeprom - RAVE SP EEPROM device
62 * @mutex: Lock protecting access to EEPROM
[all …]
/linux/drivers/i2c/ !
H A Di2c-slave-eeprom.c3 * I2C slave mode EEPROM simulator
9 * this driver does not support simulating EEPROM types which take more than
48 struct eeprom_data *eeprom = i2c_get_clientdata(client); in i2c_slave_eeprom_slave_cb() local
52 if (eeprom->idx_write_cnt < eeprom->num_address_bytes) { in i2c_slave_eeprom_slave_cb()
53 if (eeprom->idx_write_cnt == 0) in i2c_slave_eeprom_slave_cb()
54 eeprom->buffer_idx = 0; in i2c_slave_eeprom_slave_cb()
55 eeprom->buffer_idx = *val | (eeprom->buffer_idx << 8); in i2c_slave_eeprom_slave_cb()
56 eeprom->idx_write_cnt++; in i2c_slave_eeprom_slave_cb()
58 if (!eeprom->read_only) { in i2c_slave_eeprom_slave_cb()
59 spin_lock(&eeprom->buffer_lock); in i2c_slave_eeprom_slave_cb()
[all …]
/linux/drivers/net/wireless/mediatek/mt7601u/ !
H A Deeprom.c13 #include "eeprom.h"
51 /* Parts of eeprom not in the usage map (0x80-0xc0,0xf0) in mt7601u_efuse_read()
90 …dev_err(dev->dev, "Error: your device needs default EEPROM file and this driver doesn't support it… in mt7601u_efuse_physical_size_check()
98 mt7601u_has_tssi(struct mt7601u_dev *dev, u8 *eeprom) in mt7601u_has_tssi() argument
100 u16 nic_conf1 = get_unaligned_le16(eeprom + MT_EE_NIC_CONF_1); in mt7601u_has_tssi()
106 mt7601u_set_chip_cap(struct mt7601u_dev *dev, u8 *eeprom) in mt7601u_set_chip_cap() argument
108 u16 nic_conf0 = get_unaligned_le16(eeprom + MT_EE_NIC_CONF_0); in mt7601u_set_chip_cap()
109 u16 nic_conf1 = get_unaligned_le16(eeprom + MT_EE_NIC_CONF_1); in mt7601u_set_chip_cap()
114 dev->ee->tssi_enabled = mt7601u_has_tssi(dev, eeprom) && in mt7601u_set_chip_cap()
131 u8 *eeprom, u8 max_pwr) in mt7601u_set_channel_target_power() argument
[all …]
/linux/drivers/media/usb/pvrusb2/ !
H A Dpvrusb2-eeprom.c9 #include "pvrusb2-eeprom.h"
19 Read and analyze data in the eeprom. Use tveeprom to figure out
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()
43 if (!eeprom) { in pvr2_eeprom_fetch()
45 "Failed to allocate memory required to read eeprom"); in pvr2_eeprom_fetch()
49 trace_eeprom("Value for eeprom addr from controller was 0x%x", in pvr2_eeprom_fetch()
52 /* Seems that if the high bit is set, then the *real* eeprom in pvr2_eeprom_fetch()
[all …]
/linux/include/linux/ !
H A Deeprom_93cx6.h10 Abstract: EEPROM reader datastructures for 93cx6 chipsets.
17 * EEPROM operation defines.
32 * for reading the eeprom data.
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
37 * write to the eeprom register by using all reg_* fields.
38 * @width: eeprom width, should be one of the PCI_EEPROM_WIDTH_* defines
39 * @quirks: eeprom or controller quirks
47 * and the eeprom_93cx6 handlers for reading the eeprom.
[all …]
/linux/drivers/net/wireless/mediatek/mt76/mt7996/ !
H A Deeprom.c8 #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()
65 mt7996_eeprom_parse_stream(const u8 *eeprom, u8 band_idx, u8 *path, in mt7996_eeprom_parse_stream() argument
71 eeprom[MT_EE_WIFI_CONF + 2]); in mt7996_eeprom_parse_stream()
73 eeprom[MT_EE_WIFI_CONF + 3]); in mt7996_eeprom_parse_stream()
75 eeprom[MT_EE_WIFI_CONF + 5]); in mt7996_eeprom_parse_stream()
79 eeprom[MT_EE_WIFI_CONF + 2]); in mt7996_eeprom_parse_stream()
81 eeprom[MT_EE_WIFI_CONF + 4]); in mt7996_eeprom_parse_stream()
83 eeprom[MT_EE_WIFI_CONF + 5]); in mt7996_eeprom_parse_stream()
[all …]
/linux/drivers/net/ethernet/intel/e1000e/ !
H A Dnvm.c7 * e1000_raise_eec_clk - Raise EEPROM clock
9 * @eecd: pointer to the EEPROM
11 * Enable/Raise the EEPROM clock bit.
22 * e1000_lower_eec_clk - Lower EEPROM clock
24 * @eecd: pointer to the EEPROM
26 * Clear/Lower the EEPROM clock bit.
37 * e1000_shift_out_eec_bits - Shift data bits our to the EEPROM
39 * @data: data to send to the EEPROM
42 * We need to shift 'count' bits out to the EEPROM. So, the value in the
43 * "data" parameter will be shifted out to the EEPROM one bit at a time.
[all …]
/linux/drivers/net/ethernet/intel/igb/ !
H A De1000_nvm.c11 * igb_raise_eec_clk - Raise EEPROM clock
13 * @eecd: pointer to the EEPROM
15 * Enable/Raise the EEPROM clock bit.
26 * igb_lower_eec_clk - Lower EEPROM clock
28 * @eecd: pointer to the EEPROM
30 * Clear/Lower the EEPROM clock bit.
41 * igb_shift_out_eec_bits - Shift data bits our to the EEPROM
43 * @data: data to send to the EEPROM
46 * We need to shift 'count' bits out to the EEPROM. So, the value in the
47 * "data" parameter will be shifted out to the EEPROM one bit at a time.
[all …]
/linux/drivers/net/wireless/intel/iwlwifi/dvm/ !
H A Deeprom.c16 /* EEPROM offset definitions */
31 /* corresponding link offsets in EEPROM */
67 /* SKU Capabilities (actual values from EEPROM definition) */
76 /* radio config bits (actual values from EEPROM definition) */
85 * EEPROM bands
87 * that they are stored in the EEPROM band information. Note
88 * that EEPROM bands aren't the same as mac80211 bands, and
89 * there are even special "ht40 bands" in the EEPROM.
148 /* EEPROM reading functions */
150 static u16 iwl_eeprom_query16(const u8 *eeprom, size_t eeprom_size, int offset) in iwl_eeprom_query16() argument
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/ !
H A Dixgbe_x540.c188 * ixgbe_init_eeprom_params_X540 - Initialize EEPROM params
191 * Initializes the EEPROM parameters ixgbe_eeprom_info within the
192 * ixgbe_hw struct in order to set up EEPROM access.
196 struct ixgbe_eeprom_info *eeprom = &hw->eeprom; in ixgbe_init_eeprom_params_X540() local
198 if (eeprom->type == ixgbe_eeprom_uninitialized) { in ixgbe_init_eeprom_params_X540()
202 eeprom->semaphore_delay = 10; in ixgbe_init_eeprom_params_X540()
203 eeprom->type = ixgbe_flash; in ixgbe_init_eeprom_params_X540()
207 eeprom->word_size = BIT(eeprom_size + in ixgbe_init_eeprom_params_X540()
210 hw_dbg(hw, "Eeprom params: type = %d, size = %d\n", in ixgbe_init_eeprom_params_X540()
211 eeprom->type, eeprom->word_size); in ixgbe_init_eeprom_params_X540()
[all …]
/linux/Documentation/devicetree/bindings/nvmem/ !
H A Dzii,rave-sp-eeprom.yaml4 $id: http://devicetree.org/schemas/nvmem/zii,rave-sp-eeprom.yaml#
7 title: Zodiac Inflight Innovations RAVE EEPROM
13 RAVE SP EEPROM device is a "MFD cell" device exposing physical EEPROM
21 const: zii,rave-sp-eeprom
26 zii,eeprom-name:
29 Unique EEPROM identifier describing its function in the
43 eeprom@a4 {
44 compatible = "zii,rave-sp-eeprom";
48 zii,eeprom-name = "main-eeprom";
H A Dnxp,lpc1857-eeprom.yaml4 $id: http://devicetree.org/schemas/nvmem/nxp,lpc1857-eeprom.yaml#
7 title: NXP LPC18xx EEPROM memory
14 const: nxp,lpc1857-eeprom
29 - const: eeprom
52 eeprom@4000e000 {
53 compatible = "nxp,lpc1857-eeprom";
58 clock-names = "eeprom";
/linux/drivers/net/ethernet/intel/igc/ !
H A Digc_nvm.c8 * 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
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.
105 * igc_validate_nvm_checksum - Validate EEPROM checksum
108 * Calculates the EEPROM checksum by reading/adding each word of the EEPROM
109 * and then verifies that the sum of the EEPROM is equal to 0xBABA.
[all …]
/linux/drivers/net/wireless/mediatek/mt76/mt7615/ !
H A Deeprom.c10 #include "eeprom.h"
89 u16 val = get_unaligned_le16(dev->eeprom.data); in mt7615_check_eeprom()
104 u8 val, *eeprom = dev->mt76.eeprom.data; in mt7615_eeprom_parse_hw_band_cap() local
126 eeprom[MT_EE_WIFI_CONF]); in mt7615_eeprom_parse_hw_band_cap()
146 u8 *eeprom = dev->mt76.eeprom.data; in mt7615_eeprom_parse_hw_cap() local
154 eeprom[MT7663_EE_HW_CONF1]); in mt7615_eeprom_parse_hw_cap()
158 /* read tx-rx mask from eeprom */ in mt7615_eeprom_parse_hw_cap()
163 eeprom[MT_EE_NIC_CONF_0]); in mt7615_eeprom_parse_hw_cap()
277 u8 *eeprom = dev->mt76.eeprom.data; in mt7615_apply_cal_free_data() local
289 eeprom[ical[i]] = otp[ical[i]]; in mt7615_apply_cal_free_data()
[all …]
/linux/drivers/net/wireless/mediatek/mt76/mt7603/ !
H A Deeprom.c5 #include "eeprom.h"
105 u8 *eeprom = dev->mt76.eeprom.data; in mt7603_apply_cal_free_data() local
109 if (!np || !of_property_read_bool(np, "mediatek,eeprom-merge-otp")) in mt7603_apply_cal_free_data()
121 eeprom[offset] = efuse[offset]; in mt7603_apply_cal_free_data()
139 u16 val = get_unaligned_le16(dev->eeprom.data); in mt7603_check_eeprom()
158 u8 *eeprom; in mt7603_eeprom_init() local
169 memcpy(dev->mt76.eeprom.data, dev->mt76.otp.data, in mt7603_eeprom_init()
173 eeprom = (u8 *)dev->mt76.eeprom.data; in mt7603_eeprom_init()
175 memcpy(dev->mphy.macaddr, eeprom + MT_EE_MAC_ADDR, ETH_ALEN); in mt7603_eeprom_init()
179 if (FIELD_GET(MT_EE_NIC_CONF_0_RX_PATH, eeprom[MT_EE_NIC_CONF_0]) == 1 || in mt7603_eeprom_init()
[all …]
/linux/drivers/net/ethernet/atheros/atl1e/ !
H A Datl1e_ethtool.c205 struct ethtool_eeprom *eeprom, u8 *bytes) in atl1e_get_eeprom() argument
214 if (eeprom->len == 0) in atl1e_get_eeprom()
220 eeprom->magic = hw->vendor_id | (hw->device_id << 16); in atl1e_get_eeprom()
222 first_dword = eeprom->offset >> 2; in atl1e_get_eeprom()
223 last_dword = (eeprom->offset + eeprom->len - 1) >> 2; in atl1e_get_eeprom()
237 memcpy(bytes, (u8 *)eeprom_buff + (eeprom->offset & 3), in atl1e_get_eeprom()
238 eeprom->len); in atl1e_get_eeprom()
245 struct ethtool_eeprom *eeprom, u8 *bytes) in atl1e_set_eeprom() argument
255 if (eeprom->len == 0) in atl1e_set_eeprom()
258 if (eeprom->magic != (hw->vendor_id | (hw->device_id << 16))) in atl1e_set_eeprom()
[all …]
/linux/Documentation/devicetree/bindings/eeprom/ !
H A Dmicrochip,93lc46b.yaml4 $id: http://devicetree.org/schemas/eeprom/microchip,93lc46b.yaml#
7 title: Microchip 93xx46 SPI compatible EEPROM family
19 - eeprom-93xx46
28 description: chip select of EEPROM
33 parameter-less property which disables writes to the EEPROM
39 of EEPROM (e.g. for SPI bus multiplexing)
62 eeprom@0 {
63 compatible = "eeprom-93xx46";
H A Dat25.yaml4 $id: http://devicetree.org/schemas/eeprom/at25.yaml#
15 - pattern: "^eeprom@[0-9a-f]{1,2}$"
18 # There are multiple known vendors who manufacture EEPROM chips compatible
53 Size of the eeprom page. FRAMs don't have pages.
58 Total eeprom size in bytes.
74 Disable writes to the eeprom.
86 Total eeprom size in bytes. Deprecated, use "size" property instead.
92 Addr-mode flags, as defined in include/linux/spi/eeprom.h.
99 Size of the eeprom page. Deprecated, use "pagesize" property instead.
131 eeprom@0 {
/linux/drivers/w1/slaves/ !
H A DKconfig70 tristate "112-byte EEPROM support (DS28E05)"
73 is a 112-byte user-programmable EEPROM is
78 tristate "256b EEPROM family support (DS2430)"
80 Say Y here if you want to use a 1-wire 256bit EEPROM
82 This EEPROM is organized as one page of 32 bytes for random
86 tristate "1kb EEPROM family support (DS2431)"
89 1kb EEPROM family device (DS2431)
92 tristate "4kb EEPROM family support (DS2433)"
95 4kb EEPROM family device (DS2433).
144 tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
[all …]
/linux/drivers/gpu/drm/panel/ !
H A Dpanel-olimex-lcd-olinuxino.c70 struct lcd_olinuxino_eeprom eeprom; member
106 struct lcd_olinuxino_info *lcd_info = &lcd->eeprom.info; in lcd_olinuxino_get_modes()
111 for (i = 0; i < lcd->eeprom.num_modes; i++) { in lcd_olinuxino_get_modes()
113 &lcd->eeprom.reserved[i * sizeof(*lcd_mode)]; in lcd_olinuxino_get_modes()
196 (u8 *)&lcd->eeprom + i); in lcd_olinuxino_probe()
205 checksum = ~crc32(~0, (u8 *)&lcd->eeprom, 252); in lcd_olinuxino_probe()
206 if (checksum != lcd->eeprom.checksum) { in lcd_olinuxino_probe()
212 if (lcd->eeprom.header != LCD_OLINUXINO_HEADER_MAGIC) { in lcd_olinuxino_probe()
218 lcd->eeprom.info.name, in lcd_olinuxino_probe()
219 lcd->eeprom.revision, in lcd_olinuxino_probe()
[all …]
/linux/drivers/net/usb/ !
H A Dasix_common.c613 int asix_get_eeprom(struct net_device *net, struct ethtool_eeprom *eeprom, in asix_get_eeprom() argument
621 if (eeprom->len == 0) in asix_get_eeprom()
624 eeprom->magic = AX_EEPROM_MAGIC; in asix_get_eeprom()
626 first_word = eeprom->offset >> 1; in asix_get_eeprom()
627 last_word = (eeprom->offset + eeprom->len - 1) >> 1; in asix_get_eeprom()
634 /* ax8817x returns 2 bytes from eeprom on read */ in asix_get_eeprom()
643 memcpy(data, (u8 *)eeprom_buff + (eeprom->offset & 1), eeprom->len); in asix_get_eeprom()
648 int asix_set_eeprom(struct net_device *net, struct ethtool_eeprom *eeprom, in asix_set_eeprom() argument
657 netdev_dbg(net, "write EEPROM len %d, offset %d, magic 0x%x\n", in asix_set_eeprom()
658 eeprom->len, eeprom->offset, eeprom->magic); in asix_set_eeprom()
[all …]
/linux/drivers/net/wireless/marvell/libertas/ !
H A Dethtool.c28 * All 8388 parts have 16KiB EEPROM size at the time of writing.
39 struct ethtool_eeprom *eeprom, u8 * bytes) in lbs_ethtool_get_eeprom() argument
45 if (eeprom->offset + eeprom->len > LBS_EEPROM_LEN || in lbs_ethtool_get_eeprom()
46 eeprom->len > LBS_EEPROM_READ_LEN) in lbs_ethtool_get_eeprom()
50 LBS_EEPROM_READ_LEN + eeprom->len); in lbs_ethtool_get_eeprom()
52 cmd.offset = cpu_to_le16(eeprom->offset); in lbs_ethtool_get_eeprom()
53 cmd.len = cpu_to_le16(eeprom->len); in lbs_ethtool_get_eeprom()
56 memcpy(bytes, cmd.value, eeprom->len); in lbs_ethtool_get_eeprom()

12345678910>>...56