Lines Matching +full:reg +full:- +full:data

22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
98 #define LOWEST_SET_BIT(mask) ((((mask) - 1) & (mask)) ^ (mask))
143 if (sc->mii_mpd_model == MCOMMPHY_YT8531_MODEL && in mcommphy_service()
144 (sc->mii_media_active != mii->mii_media_active || in mcommphy_service()
145 sc->mii_media_status != mii->mii_media_status)) { in mcommphy_service()
170 if (MII_OUI(ma->mii_id1, ma->mii_id2) == MCOMMPHY_YT8511_OUI && in mcommphy_probe()
171 MII_MODEL(ma->mii_id2) == MCOMMPHY_YT8511_MODEL && in mcommphy_probe()
172 MII_REV(ma->mii_id2) == MCOMMPHY_YT8511_REV) { in mcommphy_probe()
184 uint16_t oldaddr, data; in mcommphy_yt8511_setup() local
189 data = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8511_setup()
190 data &= ~CLK_25M_SEL; in mcommphy_yt8511_setup()
191 data |= SHIFTIN(CLK_25M_SEL_125M, CLK_25M_SEL); in mcommphy_yt8511_setup()
192 if (sc->mii_flags & MIIF_RX_DELAY) { in mcommphy_yt8511_setup()
193 data |= RX_CLK_DELAY_EN; in mcommphy_yt8511_setup()
195 data &= ~RX_CLK_DELAY_EN; in mcommphy_yt8511_setup()
197 data &= ~TX_CLK_DELAY_SEL; in mcommphy_yt8511_setup()
198 if (sc->mii_flags & MIIF_TX_DELAY) { in mcommphy_yt8511_setup()
199 data |= SHIFTIN(0xf, TX_CLK_DELAY_SEL); in mcommphy_yt8511_setup()
201 data |= SHIFTIN(0x2, TX_CLK_DELAY_SEL); in mcommphy_yt8511_setup()
203 PHY_WRITE(sc, EXT_REG_DATA, data); in mcommphy_yt8511_setup()
206 data = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8511_setup()
207 data |= PLLON_IN_SLP; in mcommphy_yt8511_setup()
208 PHY_WRITE(sc, EXT_REG_DATA, data); in mcommphy_yt8511_setup()
217 struct mii_data *mii = sc->mii_pdata; in mcommphy_yt8531_speed_adjustment()
219 uint16_t reg, oldaddr; in mcommphy_yt8531_speed_adjustment() local
221 switch (IFM_SUBTYPE(mii->mii_media_active)) { in mcommphy_yt8531_speed_adjustment()
223 tx_clk_inv = mcomm_sc->tx_1000_inv; in mcommphy_yt8531_speed_adjustment()
226 tx_clk_inv = mcomm_sc->tx_100_inv; in mcommphy_yt8531_speed_adjustment()
229 tx_clk_inv = mcomm_sc->tx_10_inv; in mcommphy_yt8531_speed_adjustment()
236 reg = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8531_speed_adjustment()
238 reg |= TX_CLK_SEL; in mcommphy_yt8531_speed_adjustment()
240 reg &= ~TX_CLK_SEL; in mcommphy_yt8531_speed_adjustment()
241 PHY_WRITE(sc, EXT_REG_DATA, reg); in mcommphy_yt8531_speed_adjustment()
251 uint16_t reg, oldaddr; in mcommphy_yt8531_setup_delay() local
255 if (mcomm_sc->rx_delay_ps > RXC_DLY_THRESH) { in mcommphy_yt8531_setup_delay()
256 rx_delay = (mcomm_sc->rx_delay_ps - RXC_DLY_ADDON) / in mcommphy_yt8531_setup_delay()
258 } else if (mcomm_sc->rx_delay_ps > 0) { in mcommphy_yt8531_setup_delay()
259 rx_delay = mcomm_sc->rx_delay_ps / INTERNAL_DLY_DIV; in mcommphy_yt8531_setup_delay()
263 if (mcomm_sc->tx_delay_ps > 0) { in mcommphy_yt8531_setup_delay()
264 tx_delay = mcomm_sc->tx_delay_ps / INTERNAL_DLY_DIV; in mcommphy_yt8531_setup_delay()
271 reg = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8531_setup_delay()
273 reg &= ~(RXC_DLY_EN); in mcommphy_yt8531_setup_delay()
274 PHY_WRITE(sc, EXT_REG_DATA, reg); in mcommphy_yt8531_setup_delay()
278 reg = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8531_setup_delay()
279 reg &= ~(RX_DELAY_SEL_MASK << RX_DELAY_SEL_SHIFT); in mcommphy_yt8531_setup_delay()
280 reg |= rx_delay << RX_DELAY_SEL_SHIFT; in mcommphy_yt8531_setup_delay()
281 reg &= ~(TX_DELAY_SEL_MASK << TX_DELAY_SEL_SHIFT); in mcommphy_yt8531_setup_delay()
282 reg |= tx_delay << TX_DELAY_SEL_SHIFT; in mcommphy_yt8531_setup_delay()
283 PHY_WRITE(sc, EXT_REG_DATA, reg); in mcommphy_yt8531_setup_delay()
294 uint16_t reg, oldaddr; in mcommphy_yt8531_setup() local
300 reg = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8531_setup()
301 reg &= ~(PAD_RXC_MASK << PAD_RXC_SHIFT); in mcommphy_yt8531_setup()
302 reg |= (JH7110_RGMII_RXC_STRENGTH << PAD_RXC_SHIFT); in mcommphy_yt8531_setup()
303 PHY_WRITE(sc, EXT_REG_DATA, reg); in mcommphy_yt8531_setup()
307 reg = PHY_READ(sc, EXT_REG_DATA); in mcommphy_yt8531_setup()
308 reg &= ~(EN_SYNC_E); in mcommphy_yt8531_setup()
309 PHY_WRITE(sc, EXT_REG_DATA, reg); in mcommphy_yt8531_setup()
328 cfg = mii_fdt_get_config(sc->dev); in mcommphy_fdt_get_config()
330 if (OF_hasprop(cfg->phynode, "motorcomm,tx-clk-10-inverted")) in mcommphy_fdt_get_config()
331 sc->tx_10_inv = true; in mcommphy_fdt_get_config()
332 if (OF_hasprop(cfg->phynode, "motorcomm,tx-clk-100-inverted")) in mcommphy_fdt_get_config()
333 sc->tx_100_inv = true; in mcommphy_fdt_get_config()
334 if (OF_hasprop(cfg->phynode, "motorcomm,tx-clk-1000-inverted")) in mcommphy_fdt_get_config()
335 sc->tx_1000_inv = true; in mcommphy_fdt_get_config()
338 if (OF_getencprop(cfg->phynode, "rx-internal-delay-ps", &val, in mcommphy_fdt_get_config()
340 sc->rx_delay_ps = val; in mcommphy_fdt_get_config()
342 if (OF_getencprop(cfg->phynode, "tx-internal-delay-ps", &val, in mcommphy_fdt_get_config()
344 sc->tx_delay_ps = val; in mcommphy_fdt_get_config()
355 mii_softc_t *mii_sc = &mcomm_sc->mii_sc; in mcommphy_attach()
358 mcomm_sc->dev = dev; in mcommphy_attach()
368 if (mii_sc->mii_mpd_model == MCOMMPHY_YT8511_MODEL) in mcommphy_attach()
370 else if (mii_sc->mii_mpd_model == MCOMMPHY_YT8531_MODEL) in mcommphy_attach()
381 mii_sc->mii_capabilities = PHY_READ(mii_sc, MII_BMSR) & in mcommphy_attach()
382 mii_sc->mii_capmask; in mcommphy_attach()
383 if (mii_sc->mii_capabilities & BMSR_EXTSTAT) in mcommphy_attach()
384 mii_sc->mii_extcapabilities = PHY_READ(mii_sc, MII_EXTSR); in mcommphy_attach()
389 MIIBUS_MEDIAINIT(mii_sc->mii_dev); in mcommphy_attach()