xref: /rk3399_rockchip-uboot/drivers/misc/i2c_eeprom.c (revision 20142019a96a72bf1516be93a86fc10d028fd136)
1*20142019SSimon Glass /*
2*20142019SSimon Glass  * Copyright (c) 2014 Google, Inc
3*20142019SSimon Glass  *
4*20142019SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
5*20142019SSimon Glass  */
6*20142019SSimon Glass 
7*20142019SSimon Glass #include <common.h>
8*20142019SSimon Glass #include <dm.h>
9*20142019SSimon Glass #include <i2c.h>
10*20142019SSimon Glass #include <i2c_eeprom.h>
11*20142019SSimon Glass 
12*20142019SSimon Glass static int i2c_eeprom_read(struct udevice *dev, int offset, uint8_t *buf,
13*20142019SSimon Glass 			   int size)
14*20142019SSimon Glass {
15*20142019SSimon Glass 	return -ENODEV;
16*20142019SSimon Glass }
17*20142019SSimon Glass 
18*20142019SSimon Glass static int i2c_eeprom_write(struct udevice *dev, int offset,
19*20142019SSimon Glass 			    const uint8_t *buf, int size)
20*20142019SSimon Glass {
21*20142019SSimon Glass 	return -ENODEV;
22*20142019SSimon Glass }
23*20142019SSimon Glass 
24*20142019SSimon Glass struct i2c_eeprom_ops i2c_eeprom_std_ops = {
25*20142019SSimon Glass 	.read	= i2c_eeprom_read,
26*20142019SSimon Glass 	.write	= i2c_eeprom_write,
27*20142019SSimon Glass };
28*20142019SSimon Glass 
29*20142019SSimon Glass int i2c_eeprom_std_probe(struct udevice *dev)
30*20142019SSimon Glass {
31*20142019SSimon Glass 	return 0;
32*20142019SSimon Glass }
33*20142019SSimon Glass 
34*20142019SSimon Glass static const struct udevice_id i2c_eeprom_std_ids[] = {
35*20142019SSimon Glass 	{ .compatible = "i2c-eeprom" },
36*20142019SSimon Glass 	{ }
37*20142019SSimon Glass };
38*20142019SSimon Glass 
39*20142019SSimon Glass U_BOOT_DRIVER(i2c_eeprom_std) = {
40*20142019SSimon Glass 	.name		= "i2c_eeprom",
41*20142019SSimon Glass 	.id		= UCLASS_I2C_EEPROM,
42*20142019SSimon Glass 	.of_match	= i2c_eeprom_std_ids,
43*20142019SSimon Glass 	.probe		= i2c_eeprom_std_probe,
44*20142019SSimon Glass 	.priv_auto_alloc_size = sizeof(struct i2c_eeprom),
45*20142019SSimon Glass 	.ops		= &i2c_eeprom_std_ops,
46*20142019SSimon Glass };
47*20142019SSimon Glass 
48*20142019SSimon Glass UCLASS_DRIVER(i2c_eeprom) = {
49*20142019SSimon Glass 	.id		= UCLASS_I2C_EEPROM,
50*20142019SSimon Glass 	.name		= "i2c_eeprom",
51*20142019SSimon Glass };
52