📄 csphy.h
字号:
//**********************************************************************
//
// Filename:
//
// Description:
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved
//
//**********************************************************************
#ifndef _CSPHY_H_
#define _CSPHY_H_
/* PHY Registers */
/* All PHY's have the following seven registers */
#define PHYReg_BMCR 0x00 /* Basic Mode Control Register */
#define PHYReg_BMSR 0x01 /* Basic Mode Status Register */
#define PHYReg_PHYIDR1 0x02 /* PHY Identifier Register 1 */
#define PHYReg_PHYIDR2 0x03 /* PHY Identifier Register 2 */
#define PHYReg_ANAR 0x04 /* Auto-Negotiation Advertisement Register */
#define PHYReg_ANLPAR 0x05 /* Auto-Negotiation Link Partner Ability Reg */
#define PHYReg_ANER 0x06 /* Auto-Negotiation Expansion Register */
/*
* PHYReg_BMCR 0x00 Basic Mode Control Register
*/
#define BMCR_Coll_Test 0x0080
#define BMCR_Full_Duplex 0x0100
#define BMCR_Restart_Auto_Neg 0x0200
#define BMCR_Isolate 0x0400
#define BMCR_Power_Down 0x0800
#define BMCR_Auto_Neg_Enable 0x1000
#define BMCR_100_MBPS 0x2000
#define BMCR_Loopback 0x4000
#define BMCR_Reset 0x8000
/*
* PHYReg_BMSR 0x01 Basic Mode Status Register
*/
#define BMSR_Extended_Reg 0x0001
#define BMSR_Jabber 0x0002
#define BMSR_Valid_Link 0x0004
#define BMSR_Auto_Neg_Able 0x0008
#define BMSR_Remote_Fault 0x0010
#define BMSR_Auto_Neg_Complete 0x0020
#define BMSR_10BaseT_HDX_Able 0x0800
#define BMSR_10BaseT_FDX_Able 0x1000
#define BMSR_100BaseTX_HDX_Able 0x2000
#define BMSR_100BaseTX_FDX_Able 0x4000
#define BMSR_100BaseT4_Able 0x8000
/*
* PHYReg_PHYIDR1 0x02 PHY Identifier Register 1
* PHYReg_PHYIDR2 0x03 PHY Identifier Register 2
*/
#define PHYID_OUI_Mask 0x3FFFFC00
#define PHYID_Model_Mask 0x000003F0
#define PHYID_Revision_Mask 0x0000000F
#define PHYID_OUI_National 0x20005C00
#define PHYID_OUI_Crystal 0x001A2000
#define PHYID_OUI_ICS 0x0015F400
#define PHYID_OUI_BROADCOM 0x00406000
#define PHYID_OUI_LEVELI 0x78100000 /* Level 1 was bought by Intel */
#define PHYID_Model_DP83840 0x00000000
#define PHYID_Model_CS8952 0x00000200
#define PHYID_Model_ICS1889 0x00000010
#define PHYID_Model_ICS1890 0x00000020
#define PHYID_Model_BCM5201 0x00000212 /* Broadcom 5202 also */
#define PHYID_Model_LTX970A 0x00000000
#define PHYID_Revision_A 0x00000001
/*
* PHYReg_ANAR 0x04 Auto-Negotiation Advertisement Register
*/
#define ANAR_Tech_Ability_Mask 0x1FE0
#define ANAR_SeltField_IEEE8023 0x0001
#define ANAR_10BaseT_HDX_Able 0x0020
#define ANAR_10BaseT_FDX_Able 0x0040
#define ANAR_100BaseTX_HDX_Able 0x0080
#define ANAR_100BaseTX_FDX_Able 0x0100
#define ANAR_100BaseT4_Able 0x0200
#define ANAR_Pause_Able 0x0400
#define ANAR_Remote_Fault 0x2000
#define ANAR_Acknowledge 0x4000
#define ANAR_Next_Page 0x8000
/*
* PHYReg_ANLPAR 0x05 Auto-Negotiation Link Partner Ability Reg
*/
#define ANLPAR_10BaseT_HDX_Able 0x0020
#define ANLPAR_10BaseT_FDX_Able 0x0040
#define ANLPAR_100BaseTX_HDX_Able 0x0080
#define ANLPAR_100BaseTX_FDX_Able 0x0100
#define ANLPAR_100BaseT4_Able 0x0200
#define ANLPAR_Pause_Able 0x0400
#define ANLPAR_Remote_Fault 0x2000
#define ANLPAR_Acknowledge 0x4000
#define ANLPAR_Next_Page 0x8000
/*
* PHYReg_ANER 0x06 Auto-Negotiation Expansion Register
*/
#define ANER_LP_Auto_Neg_Able 0x0001
#define ANER_Page_Received 0x0002
#define ANER_Next_Page_Able 0x0004
#define ANER_LP_Next_Page_Able 0x0008
#define ANER_Parallel_Fault 0x0010
/*
* PHYReg_PAR 0x19 PHY Address Register (National Only)
*/
#define PHYReg_PAR 0x0019
#define PAR_PHY_Addr_Mask 0x001F
#define PAR_Unstable_Link 0x0020
#define PAR_10_Mbps 0x0040
#define PAR_Full_Duplex 0x0080 /* Rev A only */
#define PAR_FEFI_Enable 0x0100 /* Rev A only */
#define PAR_Tx_Delay 0x0200 /* Rev A only */
#define PAR_Auto_Neg_Enabled 0x0400 /* Rev A only */
/*
* PHYReg_PCR 0x17 PCS Configuration Register (National Only)
*/
#define PHYReg_PCR 0x0017
#define PCR_NRZI_EN 0x8000
#define PCR_Descr_To_Sel 0x4000
#define PCR_Descr_To_En 0x2000
#define PCR_Repeater 0x1000
#define PCR_Encsel 0x0800
#define PCR_Clk25MDis 0x0080
#define PCR_F_Link_100 0x0040
#define PCR_CIM_Dis 0x0020
#define PCR_Tx_Off 0x0010
/*
* PHYReg_ACS 0x18 Auxilliary Control Status Register (Broadcom Only)
*/
#define PHYReg_ACS 0x0018
#define ACS_Jabber_Dis 0x8000
#define ACS_Force_Link 0x4000
#define ACS_HSQ_LSQ 0x00C0
#define ACS_Edge_Rate 0x0003
#define ACS_Auto_Neg_Ind 0x0008
#define ACS_Force_10_100_Ind 0x0004
#define ACS_Speed_Ind 0x0002
#define ACS_Full_Duplex_Ind 0x0001
/*
* PHYReg_SSR 0x19 PHY Self Status Register (Crystal Only)
*/
#define PHYReg_SSR 0x0019
#define SSR_PHY_Addr_Mask 0x001F
#define SSR_Unstable_Link 0x0020
#define SSR_10_Mbps 0x0040
#define SSR_Full_Duplex 0x0080
#define SSR_FEFI_Enable 0x0100
#define SSR_Pause_Enabled 0x0200
#define SSR_Auto_Neg_Enabled 0x0400
#define SSR_CRS_Disable 0x0800
#define SSR_Descrambler_Locked 0x1000
#define SSR_Receiving_Data 0x2000
#define SSR_Powered_Down 0x4000
#define SSR_Link_OK 0x8000
/*
* PHYReg_QPR 0x11 PHY Quick Poll Register (ICS Only)
*/
#define PHYReg_QPR 0x0011
#define QPR_Link_OK 0x0001
#define QPR_Remote_Fault 0x0002
#define QPR_Jabber 0x0004
#define QPR_Auto_Neg_Complete 0x0010
#define QPR_Premature_End 0x0020
#define QPR_Halt 0x0040
#define QPR_Invalid_Symbol 0x0080
#define QPR_False_Carrier 0x0100
#define QPR_PLL_Lock_Error 0x0200
#define QPR_Rx_Signal_Error 0x0400
#define QPR_Auto_Neg_Mask 0x3800
#define QPR_Full_Duplex 0x4000
#define QPR_100_Mbps 0x8000
/*
* PHYReg_LPSR 0x20 PHY Status Register (Level I Only)
*/
#define PHYReg_LPSR 0x0020
#define LPSR_PHY_Addr_Mask 0x001F
#define LPSR_Unstable_Link 0x2000
#define LPSR_10_Mbps 0x0800
#define LPSR_Full_Duplex 0x1000
#define LPSR_Page_Received 0x0100
#define LPSR_Auto_Neg_Complete 0x0200
/*
* PHYReg_LPCR 0x19 PHY Configuration Register (Level I Only)
*/
#define PHYReg_LPCR 0x0019
#define LPCR_Txmit_Test 0x4000
#define LPCR_Repeater_Mode 0x2000
#define LPCR_MDIO_Int 0x1000
#define LPCR_TP_Loopback 0x0800
#define LPCR_SQE_En 0x0400
#define LPCR_Jabber_En 0x0200
#define LPCR_Link_Test_En 0x0100
#define LPCR_LEDC 0x00C0
#define LPCR_Adv_Tx_Clk 0x0020
#define LPCR_5bit_Symbol 0x0010
#endif /* _CSPHY_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -