mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-04 18:41:03 +00:00
caa4daa2ae
We use 'priv' for private data but often use 'platdata' for platform data. We can't really use 'pdata' since that is ambiguous (it could mean private or platform data). Rename some of the latter variables to end with 'plat' for consistency. Signed-off-by: Simon Glass <sjg@chromium.org>
55 lines
1.1 KiB
C
55 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
*
|
|
* Copyright (c) 2015 Free Electrons
|
|
* Copyright (c) 2015 NextThing Co
|
|
* Copyright (c) 2018 Microchip Technology, Inc.
|
|
*
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <linux/err.h>
|
|
#include <dm.h>
|
|
#include <w1-eeprom.h>
|
|
#include <w1.h>
|
|
|
|
#define W1_F2D_READ_EEPROM 0xf0
|
|
|
|
static int ds24xxx_read_buf(struct udevice *dev, unsigned int offset,
|
|
u8 *buf, unsigned int count)
|
|
{
|
|
w1_reset_select(dev);
|
|
|
|
w1_write_byte(dev, W1_F2D_READ_EEPROM);
|
|
w1_write_byte(dev, offset & 0xff);
|
|
w1_write_byte(dev, offset >> 8);
|
|
|
|
return w1_read_buf(dev, buf, count);
|
|
}
|
|
|
|
static int ds24xxx_probe(struct udevice *dev)
|
|
{
|
|
struct w1_device *w1;
|
|
|
|
w1 = dev_get_parent_plat(dev);
|
|
w1->id = 0;
|
|
return 0;
|
|
}
|
|
|
|
static const struct w1_eeprom_ops ds24xxx_ops = {
|
|
.read_buf = ds24xxx_read_buf,
|
|
};
|
|
|
|
static const struct udevice_id ds24xxx_id[] = {
|
|
{ .compatible = "maxim,ds24b33", .data = W1_FAMILY_DS24B33 },
|
|
{ .compatible = "maxim,ds2431", .data = W1_FAMILY_DS2431 },
|
|
{ },
|
|
};
|
|
|
|
U_BOOT_DRIVER(ds24xxx) = {
|
|
.name = "ds24xxx",
|
|
.id = UCLASS_W1_EEPROM,
|
|
.of_match = ds24xxx_id,
|
|
.ops = &ds24xxx_ops,
|
|
.probe = ds24xxx_probe,
|
|
};
|