|
112 | 112 | #define P3D_RG_CDR_BIR_LTD0 GENMASK(12, 8)
|
113 | 113 | #define P3D_RG_CDR_BIR_LTD0_VAL(x) ((0x1f & (x)) << 8)
|
114 | 114 |
|
| 115 | +#define U3P_U3_PHYD_RXDET1 (SSUSB_SIFSLV_U3PHYD_BASE + 0x128) |
| 116 | +#define P3D_RG_RXDET_STB2_SET GENMASK(17, 9) |
| 117 | +#define P3D_RG_RXDET_STB2_SET_VAL(x) ((0x1ff & (x)) << 9) |
| 118 | + |
| 119 | +#define U3P_U3_PHYD_RXDET2 (SSUSB_SIFSLV_U3PHYD_BASE + 0x12c) |
| 120 | +#define P3D_RG_RXDET_STB2_SET_P3 GENMASK(8, 0) |
| 121 | +#define P3D_RG_RXDET_STB2_SET_P3_VAL(x) (0x1ff & (x)) |
| 122 | + |
115 | 123 | #define U3P_XTALCTL3 (SSUSB_SIFSLV_SPLLC + 0x0018)
|
116 | 124 | #define XC3_RG_U3_XTAL_RX_PWD BIT(9)
|
117 | 125 | #define XC3_RG_U3_FRC_XTAL_RX_PWD BIT(8)
|
@@ -295,6 +303,16 @@ static void phy_instance_init(struct mt65xx_u3phy *u3phy,
|
295 | 303 | tmp |= P3D_RG_CDR_BIR_LTD0_VAL(0xc) | P3D_RG_CDR_BIR_LTD1_VAL(0x3);
|
296 | 304 | writel(tmp, port_base + U3P_PHYD_CDR1);
|
297 | 305 |
|
| 306 | + tmp = readl(port_base + U3P_U3_PHYD_RXDET1); |
| 307 | + tmp &= ~P3D_RG_RXDET_STB2_SET; |
| 308 | + tmp |= P3D_RG_RXDET_STB2_SET_VAL(0x10); |
| 309 | + writel(tmp, port_base + U3P_U3_PHYD_RXDET1); |
| 310 | + |
| 311 | + tmp = readl(port_base + U3P_U3_PHYD_RXDET2); |
| 312 | + tmp &= ~P3D_RG_RXDET_STB2_SET_P3; |
| 313 | + tmp |= P3D_RG_RXDET_STB2_SET_P3_VAL(0x10); |
| 314 | + writel(tmp, port_base + U3P_U3_PHYD_RXDET2); |
| 315 | + |
298 | 316 | dev_dbg(u3phy->dev, "%s(%d)\n", __func__, index);
|
299 | 317 | }
|
300 | 318 |
|
|
0 commit comments