X-Git-Url: https://bbs.cooldavid.org/git/?p=jme.git;a=blobdiff_plain;f=jme.h;h=1f65208758c90a12150f53aabf56f20301324e73;hp=2a466bccade6d582ad18379b72e34b320f09c688;hb=refs%2Fheads%2Fphyextest;hpb=b34adbb08f135af4f8291fb3583fdcb8d7fedcf7 diff --git a/jme.h b/jme.h index 2a466bc..1f65208 100644 --- a/jme.h +++ b/jme.h @@ -605,7 +605,7 @@ enum jme_flags_bits { }; #define TX_TIMEOUT (5 * HZ) -#define JME_REG_LEN 0x500 +#define JME_REG_LEN 0x600 #define MAX_ETHERNET_JUMBO_PACKET_SIZE 9216 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23) @@ -956,6 +956,7 @@ static inline u32 smi_phy_addr(int x) #define JME_PHY_TIMEOUT 100 /* 100 msec */ #define JME_PHY_REG_NR 32 +#define JME_PHY_SPEC_REG_NR 128 /* * Global Host Control @@ -1378,8 +1379,37 @@ enum jme_phy_reg17_vals { PREG17_SPEED_1000M = 0x8000, }; +enum jme_phy_gctrl_masks { + JME_PHY_GCTRL_TESTMASK = 0xA000, +}; + +enum jme_phy_gctrl_vals { + JME_PHY_GCTRL_TESTOFF = 0x0000, + JME_PHY_GCTRL_TESTMODE1 = 0x2000, + JME_PHY_GCTRL_TESTMODE2 = 0x4000, + JME_PHY_GCTRL_TESTMODE3 = 0x6000, + JME_PHY_GCTRL_TESTMODE4 = 0x8000, +}; + #define BMSR_ANCOMP 0x0020 +/* + * For extended PHY register interface + */ +enum jme_phy_spec_regs { + JME_PHY_SPEC_ADDR_REG = 0x1E, + JME_PHY_SPEC_DATA_REG = 0x1F, +}; +enum jme_phy_spec_addr_bits { + JME_PHY_SPEC_REG_READ = 0x4000u, + JME_PHY_SPEC_REG_WRITE = 0x8000u, +}; +enum jme_extphy_regs { + JME_PHYEXT_COMM0 = 0x30, + JME_PHYEXT_COMM1 = 0x31, + JME_PHYEXT_COMM2 = 0x32, +}; + /* * Workaround */