1 // SPDX-License-Identifier: GPL-2.0+
3 Copyright (c) 2016 Broadcom Corporation
10 * Created on: Aug 2017
11 * Author: dima.mamut@broadcom.com
15 #include "mdio_drv_impl5.h"
17 /* Internal MDIO bus */
18 static int bus_mdio_v1_int_c22_read(uint32_t addr
, uint16_t reg
, uint16_t *val
)
20 return mdio_read_c22_register(MDIO_INT
, addr
, reg
, val
);
23 static int bus_mdio_v1_int_c22_write(uint32_t addr
, uint16_t reg
, uint16_t val
)
25 return mdio_write_c22_register(MDIO_INT
, addr
, reg
, val
);
28 static int bus_mdio_v1_int_c45_read(uint32_t addr
, uint16_t dev
, uint16_t reg
, uint16_t *val
)
30 return mdio_read_c45_register(MDIO_INT
, addr
, dev
, reg
, val
);
33 static int bus_mdio_v1_int_c45_write(uint32_t addr
, uint16_t dev
, uint16_t reg
, uint16_t val
)
35 return mdio_write_c45_register(MDIO_INT
, addr
, dev
, reg
, val
);
38 bus_drv_t bus_mdio_v1_int_drv
=
40 .c22_read
= bus_mdio_v1_int_c22_read
,
41 .c22_write
= bus_mdio_v1_int_c22_write
,
42 .c45_read
= bus_mdio_v1_int_c45_read
,
43 .c45_write
= bus_mdio_v1_int_c45_write
,
47 /* External MDIO bus */
48 static int bus_mdio_v1_ext_c22_read(uint32_t addr
, uint16_t reg
, uint16_t *val
)
50 return mdio_read_c22_register(MDIO_EXT
, addr
, reg
, val
);
53 static int bus_mdio_v1_ext_c22_write(uint32_t addr
, uint16_t reg
, uint16_t val
)
55 return mdio_write_c22_register(MDIO_EXT
, addr
, reg
, val
);
58 static int bus_mdio_v1_ext_c45_read(uint32_t addr
, uint16_t dev
, uint16_t reg
, uint16_t *val
)
60 return mdio_read_c45_register(MDIO_EXT
, addr
, dev
, reg
, val
);
63 static int bus_mdio_v1_ext_c45_write(uint32_t addr
, uint16_t dev
, uint16_t reg
, uint16_t val
)
65 return mdio_write_c45_register(MDIO_EXT
, addr
, dev
, reg
, val
);
68 bus_drv_t bus_mdio_v1_ext_drv
=
70 .c22_read
= bus_mdio_v1_ext_c22_read
,
71 .c22_write
= bus_mdio_v1_ext_c22_write
,
72 .c45_read
= bus_mdio_v1_ext_c45_read
,
73 .c45_write
= bus_mdio_v1_ext_c45_write
,