1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * OPEN Alliance 10BASE‑T1x MAC‑PHY Serial Interface framework
4  *
5  * Link: https://opensig.org/download/document/OPEN_Alliance_10BASET1x_MAC-PHY_Serial_Interface_V1.1.pdf
6  *
7  * Author: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
8  */
9 
10 #include <linux/etherdevice.h>
11 #include <linux/spi/spi.h>
12 
13 struct oa_tc6;
14 
15 struct oa_tc6 *oa_tc6_init(struct spi_device *spi, struct net_device *netdev);
16 void oa_tc6_exit(struct oa_tc6 *tc6);
17 int oa_tc6_write_register(struct oa_tc6 *tc6, u32 address, u32 value);
18 int oa_tc6_write_registers(struct oa_tc6 *tc6, u32 address, u32 value[],
19 			   u8 length);
20 int oa_tc6_read_register(struct oa_tc6 *tc6, u32 address, u32 *value);
21 int oa_tc6_read_registers(struct oa_tc6 *tc6, u32 address, u32 value[],
22 			  u8 length);
23 netdev_tx_t oa_tc6_start_xmit(struct oa_tc6 *tc6, struct sk_buff *skb);
24 int oa_tc6_zero_align_receive_frame_enable(struct oa_tc6 *tc6);
25