blob: af8acd9f88bae063616d93c77a477079f2c75ed7 [file] [log] [blame]
Mario Sixa63e54a2018-08-09 14:51:16 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * (C) Copyright 2017
4 * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
5 */
6
7#include <common.h>
8#include <dm.h>
9#include <axi.h>
10
11int axi_read(struct udevice *dev, ulong address, void *data,
12 enum axi_size_t size)
13{
14 struct axi_ops *ops = axi_get_ops(dev);
15
16 if (!ops->read)
17 return -ENOSYS;
18
19 return ops->read(dev, address, data, size);
20}
21
22int axi_write(struct udevice *dev, ulong address, void *data,
23 enum axi_size_t size)
24{
25 struct axi_ops *ops = axi_get_ops(dev);
26
27 if (!ops->write)
28 return -ENOSYS;
29
30 return ops->write(dev, address, data, size);
31}
32
33UCLASS_DRIVER(axi) = {
34 .id = UCLASS_AXI,
35 .name = "axi",
36 .post_bind = dm_scan_fdt_dev,
37 .flags = DM_UC_FLAG_SEQ_ALIAS,
38};
39