Skip to content

Commit 4869a14

Browse files
Frank Saedavem330
authored andcommitted
net: phy: Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy
Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy. This is a preparatory patch. Add BIT macro for 0xA012 reg, and supplement for 0xA001 and 0xA003 reg. These will be used to support dts. Signed-off-by: Frank Sae <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent cf08dfe commit 4869a14

File tree

1 file changed

+51
-4
lines changed

1 file changed

+51
-4
lines changed

drivers/net/phy/motorcomm.c

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@
161161

162162
#define YT8521_CHIP_CONFIG_REG 0xA001
163163
#define YT8521_CCR_SW_RST BIT(15)
164+
/* 1b0 disable 1.9ns rxc clock delay *default*
165+
* 1b1 enable 1.9ns rxc clock delay
166+
*/
167+
#define YT8521_CCR_RXC_DLY_EN BIT(8)
168+
#define YT8521_CCR_RXC_DLY_1_900_NS 1900
164169

165170
#define YT8521_CCR_MODE_SEL_MASK (BIT(2) | BIT(1) | BIT(0))
166171
#define YT8521_CCR_MODE_UTP_TO_RGMII 0
@@ -178,22 +183,41 @@
178183
#define YT8521_MODE_POLL 0x3
179184

180185
#define YT8521_RGMII_CONFIG1_REG 0xA003
181-
186+
/* 1b0 use original tx_clk_rgmii *default*
187+
* 1b1 use inverted tx_clk_rgmii.
188+
*/
189+
#define YT8521_RC1R_TX_CLK_SEL_INVERTED BIT(14)
182190
/* TX Gig-E Delay is bits 3:0, default 0x1
183191
* TX Fast-E Delay is bits 7:4, default 0xf
184192
* RX Delay is bits 13:10, default 0x0
185193
* Delay = 150ps * N
186194
* On = 2250ps, off = 0ps
187195
*/
188-
#define YT8521_RC1R_RX_DELAY_MASK (0xF << 10)
196+
#define YT8521_RC1R_RX_DELAY_MASK GENMASK(13, 10)
189197
#define YT8521_RC1R_RX_DELAY_EN (0xF << 10)
190198
#define YT8521_RC1R_RX_DELAY_DIS (0x0 << 10)
191-
#define YT8521_RC1R_FE_TX_DELAY_MASK (0xF << 4)
199+
#define YT8521_RC1R_FE_TX_DELAY_MASK GENMASK(7, 4)
192200
#define YT8521_RC1R_FE_TX_DELAY_EN (0xF << 4)
193201
#define YT8521_RC1R_FE_TX_DELAY_DIS (0x0 << 4)
194-
#define YT8521_RC1R_GE_TX_DELAY_MASK (0xF << 0)
202+
#define YT8521_RC1R_GE_TX_DELAY_MASK GENMASK(3, 0)
195203
#define YT8521_RC1R_GE_TX_DELAY_EN (0xF << 0)
196204
#define YT8521_RC1R_GE_TX_DELAY_DIS (0x0 << 0)
205+
#define YT8521_RC1R_RGMII_0_000_NS 0
206+
#define YT8521_RC1R_RGMII_0_150_NS 1
207+
#define YT8521_RC1R_RGMII_0_300_NS 2
208+
#define YT8521_RC1R_RGMII_0_450_NS 3
209+
#define YT8521_RC1R_RGMII_0_600_NS 4
210+
#define YT8521_RC1R_RGMII_0_750_NS 5
211+
#define YT8521_RC1R_RGMII_0_900_NS 6
212+
#define YT8521_RC1R_RGMII_1_050_NS 7
213+
#define YT8521_RC1R_RGMII_1_200_NS 8
214+
#define YT8521_RC1R_RGMII_1_350_NS 9
215+
#define YT8521_RC1R_RGMII_1_500_NS 10
216+
#define YT8521_RC1R_RGMII_1_650_NS 11
217+
#define YT8521_RC1R_RGMII_1_800_NS 12
218+
#define YT8521_RC1R_RGMII_1_950_NS 13
219+
#define YT8521_RC1R_RGMII_2_100_NS 14
220+
#define YT8521_RC1R_RGMII_2_250_NS 15
197221

198222
#define YTPHY_MISC_CONFIG_REG 0xA006
199223
#define YTPHY_MCR_FIBER_SPEED_MASK BIT(0)
@@ -222,6 +246,29 @@
222246
*/
223247
#define YTPHY_WCR_TYPE_PULSE BIT(0)
224248

249+
#define YTPHY_SYNCE_CFG_REG 0xA012
250+
#define YT8521_SCR_SYNCE_ENABLE BIT(5)
251+
/* 1b0 output 25m clock
252+
* 1b1 output 125m clock *default*
253+
*/
254+
#define YT8521_SCR_CLK_FRE_SEL_125M BIT(3)
255+
#define YT8521_SCR_CLK_SRC_MASK GENMASK(2, 1)
256+
#define YT8521_SCR_CLK_SRC_PLL_125M 0
257+
#define YT8521_SCR_CLK_SRC_UTP_RX 1
258+
#define YT8521_SCR_CLK_SRC_SDS_RX 2
259+
#define YT8521_SCR_CLK_SRC_REF_25M 3
260+
#define YT8531_SCR_SYNCE_ENABLE BIT(6)
261+
/* 1b0 output 25m clock *default*
262+
* 1b1 output 125m clock
263+
*/
264+
#define YT8531_SCR_CLK_FRE_SEL_125M BIT(4)
265+
#define YT8531_SCR_CLK_SRC_MASK GENMASK(3, 1)
266+
#define YT8531_SCR_CLK_SRC_PLL_125M 0
267+
#define YT8531_SCR_CLK_SRC_UTP_RX 1
268+
#define YT8531_SCR_CLK_SRC_SDS_RX 2
269+
#define YT8531_SCR_CLK_SRC_CLOCK_FROM_DIGITAL 3
270+
#define YT8531_SCR_CLK_SRC_REF_25M 4
271+
#define YT8531_SCR_CLK_SRC_SSC_25M 5
225272
#define YT8531S_SYNCE_CFG_REG 0xA012
226273
#define YT8531S_SCR_SYNCE_ENABLE BIT(6)
227274

0 commit comments

Comments
 (0)