realtek: update the tree to the latest refactored version
[openwrt/staging/hauke.git] / target / linux / realtek / files-5.4 / drivers / net / phy / rtl83xx-phy.h
1 // SPDX-License-Identifier: GPL-2.0-only
2
3 // TODO: not really used
4 struct rtl838x_phy_priv {
5 char *name;
6 };
7
8 struct __attribute__ ((__packed__)) part {
9 uint16_t start;
10 uint8_t wordsize;
11 uint8_t words;
12 };
13
14 struct __attribute__ ((__packed__)) fw_header {
15 uint32_t magic;
16 uint32_t phy;
17 uint32_t checksum;
18 uint32_t version;
19 struct part parts[10];
20 };
21
22 // TODO: fixed path?
23 #define FIRMWARE_838X_8380_1 "rtl838x_phy/rtl838x_8380.fw"
24 #define FIRMWARE_838X_8214FC_1 "rtl838x_phy/rtl838x_8214fc.fw"
25 #define FIRMWARE_838X_8218b_1 "rtl838x_phy/rtl838x_8218b.fw"
26
27 /* External RTL8218B and RTL8214FC IDs are identical */
28 #define PHY_ID_RTL8214C 0x001cc942
29 #define PHY_ID_RTL8214FC 0x001cc981
30 #define PHY_ID_RTL8218B_E 0x001cc981
31 #define PHY_ID_RTL8218B_I 0x001cca40
32 #define PHY_ID_RTL8390_GENERIC 0x001ccab0
33 #define PHY_ID_RTL8393_I 0x001c8393
34
35 #define RTL839X_SDS12_13_XSG0 (0xB800)
36
37 #define RTL838X_SDS_MODE_SEL (0x0028)
38 #define RTL838X_SDS_CFG_REG (0x0034)
39 #define RTL838X_INT_MODE_CTRL (0x005c)
40 #define RTL838X_DMY_REG31 (0x3b28)