xref: /rk3399_rockchip-uboot/drivers/misc/i2c_eeprom.c (revision ee5ee87642fdf57ee0c116b9bb5d65b838f09897)
120142019SSimon Glass /*
220142019SSimon Glass  * Copyright (c) 2014 Google, Inc
320142019SSimon Glass  *
420142019SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
520142019SSimon Glass  */
620142019SSimon Glass 
720142019SSimon Glass #include <common.h>
8*ee5ee876SMasahiro Yamada #include <linux/err.h>
920142019SSimon Glass #include <dm.h>
1020142019SSimon Glass #include <i2c.h>
1120142019SSimon Glass #include <i2c_eeprom.h>
1220142019SSimon Glass 
1320142019SSimon Glass static int i2c_eeprom_read(struct udevice *dev, int offset, uint8_t *buf,
1420142019SSimon Glass 			   int size)
1520142019SSimon Glass {
1620142019SSimon Glass 	return -ENODEV;
1720142019SSimon Glass }
1820142019SSimon Glass 
1920142019SSimon Glass static int i2c_eeprom_write(struct udevice *dev, int offset,
2020142019SSimon Glass 			    const uint8_t *buf, int size)
2120142019SSimon Glass {
2220142019SSimon Glass 	return -ENODEV;
2320142019SSimon Glass }
2420142019SSimon Glass 
2520142019SSimon Glass struct i2c_eeprom_ops i2c_eeprom_std_ops = {
2620142019SSimon Glass 	.read	= i2c_eeprom_read,
2720142019SSimon Glass 	.write	= i2c_eeprom_write,
2820142019SSimon Glass };
2920142019SSimon Glass 
3020142019SSimon Glass int i2c_eeprom_std_probe(struct udevice *dev)
3120142019SSimon Glass {
3220142019SSimon Glass 	return 0;
3320142019SSimon Glass }
3420142019SSimon Glass 
3520142019SSimon Glass static const struct udevice_id i2c_eeprom_std_ids[] = {
3620142019SSimon Glass 	{ .compatible = "i2c-eeprom" },
3720142019SSimon Glass 	{ }
3820142019SSimon Glass };
3920142019SSimon Glass 
4020142019SSimon Glass U_BOOT_DRIVER(i2c_eeprom_std) = {
4120142019SSimon Glass 	.name		= "i2c_eeprom",
4220142019SSimon Glass 	.id		= UCLASS_I2C_EEPROM,
4320142019SSimon Glass 	.of_match	= i2c_eeprom_std_ids,
4420142019SSimon Glass 	.probe		= i2c_eeprom_std_probe,
4520142019SSimon Glass 	.priv_auto_alloc_size = sizeof(struct i2c_eeprom),
4620142019SSimon Glass 	.ops		= &i2c_eeprom_std_ops,
4720142019SSimon Glass };
4820142019SSimon Glass 
4920142019SSimon Glass UCLASS_DRIVER(i2c_eeprom) = {
5020142019SSimon Glass 	.id		= UCLASS_I2C_EEPROM,
5120142019SSimon Glass 	.name		= "i2c_eeprom",
5220142019SSimon Glass };
53