1/*
2 * @TAG(OTHER_GPL)
3 */
4
5#pragma once
6
7#include <stdint.h>
8
9#define MII_KSZ9021_EXT_COMMON_CTRL		0x100
10#define MII_KSZ9021_EXT_STRAP_STATUS		0x101
11#define MII_KSZ9021_EXT_OP_STRAP_OVERRIDE	0x102
12#define MII_KSZ9021_EXT_OP_STRAP_STATUS		0x103
13#define MII_KSZ9021_EXT_RGMII_CLOCK_SKEW	0x104
14#define MII_KSZ9021_EXT_RGMII_RX_DATA_SKEW	0x105
15#define MII_KSZ9021_EXT_RGMII_TX_DATA_SKEW	0x106
16#define MII_KSZ9021_EXT_ANALOG_TEST		0x107
17
18struct phy_device;
19int ksz9021_phy_extended_write(struct phy_device *phydev, int regnum, uint16_t val);
20int ksz9021_phy_extended_read(struct phy_device *phydev, int regnum);
21
22int ksz9021_startup(struct phy_device *phydev);
23int ksz9021_config(struct phy_device *phydev);
24
25void print_phyregs(struct phy_device *phydev);
26