1  /* SPDX-License-Identifier:	GPL-2.0+
2   *
3   * Copyright (c) 2015 Free Electrons
4   * Copyright (c) 2015 NextThing Co
5   * Copyright (c) 2018 Microchip Technology, Inc.
6   *
7   */
8  
9  #ifndef __W1_EEPROM_H
10  #define __W1_EEPROM_H
11  
12  struct udevice;
13  
14  struct w1_eeprom_ops {
15  	/*
16  	 * Reads a buff from the given EEPROM memory, starting at
17  	 * given offset and place the results into the given buffer.
18  	 * Should read given count of bytes.
19  	 * Should return 0 on success, and normal error.h on error
20  	 */
21  	int	(*read_buf)(struct udevice *dev, unsigned int offset,
22  			    u8 *buf, unsigned int count);
23  };
24  
25  int w1_eeprom_read_buf(struct udevice *dev, unsigned int offset,
26  		       u8 *buf, unsigned int count);
27  
28  int w1_eeprom_dm_init(void);
29  
30  int w1_eeprom_register_new_device(u64 id);
31  
32  int w1_eeprom_get_id(struct udevice *dev, u64 *id);
33  #endif
34