Lines Matching +full:0 +full:x020e0000

28 #define MDIO_SHIFT_CLK		0x10000
29 #define MDIO_DATA_WRITE0 0x00000
30 #define MDIO_DATA_WRITE1 0x20000
31 #define MDIO_ENB 0x00000 /* Ignore the 0x02000 databook setting. */
32 #define MDIO_ENB_IN 0x40000
33 #define MDIO_DATA_READ 0x80000
36 0xB4, 0xB8, 0xBC, 0xC0, 0xC4, 0xC8, 0xCC, 0, 0,0,0,0, 0,0,0,0,
37 0,0xD0,0,0, 0,0,0,0, 0,0,0,0, 0, 0xD4, 0xD8, 0xDC, };
51 int read_cmd = (0xf6 << 10) | ((phy_id & 0x1f) << 5) | location; in tulip_mdio_read()
52 int retval = 0; in tulip_mdio_read()
57 if (location & ~0x1f) in tulip_mdio_read()
58 return 0xffff; in tulip_mdio_read()
63 return 0xffff; in tulip_mdio_read()
68 iowrite32(0x60020000 + (phy_id<<23) + (location<<18), ioaddr + 0xA0); in tulip_mdio_read()
69 ioread32(ioaddr + 0xA0); in tulip_mdio_read()
70 ioread32(ioaddr + 0xA0); in tulip_mdio_read()
71 for (i = 1000; i >= 0; --i) { in tulip_mdio_read()
73 if ( ! ((retval = ioread32(ioaddr + 0xA0)) & 0x80000000)) in tulip_mdio_read()
77 return retval & 0xffff; in tulip_mdio_read()
81 for (i = 32; i >= 0; i--) { in tulip_mdio_read()
88 for (i = 15; i >= 0; i--) { in tulip_mdio_read()
89 int dataval = (read_cmd & (1 << i)) ? MDIO_DATA_WRITE1 : 0; in tulip_mdio_read()
97 for (i = 19; i > 0; i--) { in tulip_mdio_read()
100 retval = (retval << 1) | ((ioread32(mdio_addr) & MDIO_DATA_READ) ? 1 : 0); in tulip_mdio_read()
106 return (retval>>1) & 0xffff; in tulip_mdio_read()
113 int cmd = (0x5002 << 16) | ((phy_id & 0x1f) << 23) | (location<<18) | (val & 0xffff); in tulip_mdio_write()
118 if (location & ~0x1f) in tulip_mdio_write()
129 iowrite32(cmd, ioaddr + 0xA0); in tulip_mdio_write()
130 for (i = 1000; i >= 0; --i) { in tulip_mdio_write()
132 if ( ! (ioread32(ioaddr + 0xA0) & 0x80000000)) in tulip_mdio_write()
140 for (i = 32; i >= 0; i--) { in tulip_mdio_write()
147 for (i = 31; i >= 0; i--) { in tulip_mdio_write()
148 int dataval = (cmd & (1 << i)) ? MDIO_DATA_WRITE1 : 0; in tulip_mdio_write()
155 for (i = 2; i > 0; i--) { in tulip_mdio_write()
179 case 0: /* 21140 non-MII xcvr. */ in tulip_select_media()
183 dev->if_port = p[0]; in tulip_select_media()
185 iowrite32(mtable->csr12dir | 0x100, ioaddr + CSR12); in tulip_select_media()
187 new_csr6 = 0x02000000 | ((p[2] & 0x71) << 18); in tulip_select_media()
192 for (i = 0; i < 5; i++) in tulip_select_media()
195 dev->if_port = p[0] & MEDIA_MASK; in tulip_select_media()
204 for (i = 0; i < rst[0]; i++) in tulip_select_media()
210 setup[0], setup[1]); in tulip_select_media()
211 if (p[0] & 0x40) { /* SIA (CSR13-15) setup values are provided. */ in tulip_select_media()
212 csr13val = setup[0]; in tulip_select_media()
216 iowrite32(0, ioaddr + CSR13); in tulip_select_media()
223 csr14val = 0; in tulip_select_media()
224 csr15dir = (setup[0]<<16) | 0x0008; in tulip_select_media()
225 csr15val = (setup[1]<<16) | 0x0008; in tulip_select_media()
229 iowrite32(0, ioaddr + CSR13); in tulip_select_media()
240 new_csr6 = 0x82020000 | ((setup[2] & 0x71) << 18); in tulip_select_media()
242 new_csr6 = 0x82420000; in tulip_select_media()
246 int phy_num = p[0]; in tulip_select_media()
251 new_csr6 = 0x020E0000; in tulip_select_media()
259 for (i = 0; i < reset_length; i++) in tulip_select_media()
274 for (i = 0; i < init_length; i++) in tulip_select_media()
285 iowrite32(mtable->csr12dir | 0x100, ioaddr + CSR12); in tulip_select_media()
286 for (i = 0; i < reset_length; i++) in tulip_select_media()
301 for (i = 0; i < init_length; i++) in tulip_select_media()
311 if (tp->mii_advertise == 0) in tulip_select_media()
322 new_csr6 = 0; /* FIXME */ in tulip_select_media()
329 for (i = 0; i < rst[0]; i++) in tulip_select_media()
338 new_csr6 = 0x020E0000; in tulip_select_media()
343 ioread32(ioaddr + CSR12) & 0xff); in tulip_select_media()
346 dev->if_port = tp->mii_cnt ? 11 : 0; in tulip_select_media()
349 ioread32(ioaddr + 0xB8), in tulip_select_media()
352 new_csr6 = 0x810C0000; in tulip_select_media()
353 iowrite32(0x0001, ioaddr + CSR15); in tulip_select_media()
354 iowrite32(0x0201B07A, ioaddr + 0xB8); in tulip_select_media()
357 iowrite32(0x32, ioaddr + CSR12); in tulip_select_media()
358 new_csr6 = 0x00420000; in tulip_select_media()
359 iowrite32(0x0001B078, ioaddr + 0xB8); in tulip_select_media()
360 iowrite32(0x0201B078, ioaddr + 0xB8); in tulip_select_media()
362 iowrite32(0x33, ioaddr + CSR12); in tulip_select_media()
363 new_csr6 = 0x01860000; in tulip_select_media()
365 iowrite32(startup ? 0x0201F868 : 0x0001F868, ioaddr + 0xB8); in tulip_select_media()
367 iowrite32(0x32, ioaddr + CSR12); in tulip_select_media()
368 new_csr6 = 0x00420000; in tulip_select_media()
369 iowrite32(0x1F078, ioaddr + 0xB8); in tulip_select_media()
372 if (tp->default_port == 0) in tulip_select_media()
375 new_csr6 = 0x020E0000; in tulip_select_media()
377 new_csr6 = 0x02860000; in tulip_select_media()
379 new_csr6 = 0x03860000; in tulip_select_media()
386 tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0); in tulip_select_media()
394 Return 0 if everything is OK.
395 Return < 0 if the transceiver is missing or has no link beat.
402 bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR); in tulip_check_duplex()
403 lpa = tulip_mdio_read(dev, tp->phys[0], MII_LPA); in tulip_check_duplex()
407 if (bmsr == 0xffff) in tulip_check_duplex()
409 if ((bmsr & BMSR_LSTATUS) == 0) { in tulip_check_duplex()
410 int new_bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR); in tulip_check_duplex()
411 if ((new_bmsr & BMSR_LSTATUS) == 0) { in tulip_check_duplex()
419 negotiated = lpa & tp->advertising[0]; in tulip_check_duplex()
433 if (tulip_debug > 0) in tulip_check_duplex()
437 tp->phys[0], lpa); in tulip_check_duplex()
441 return 0; in tulip_check_duplex()
447 int phyn, phy_idx = 0; in tulip_find_mii()
456 int phy = phyn & 0x1f; in tulip_find_mii()
458 if ((mii_status & 0x8301) == 0x8001 || in tulip_find_mii()
459 ((mii_status & BMSR_100BASE4) == 0 && in tulip_find_mii()
460 (mii_status & 0x7800) != 0)) { in tulip_find_mii()
468 ane_switch = 0; in tulip_find_mii()
474 if ((mii_advert & ADVERTISE_ALL) == 0) { in tulip_find_mii()
476 mii_advert = ((tmpadv >> 6) & 0x3e0) | 1; in tulip_find_mii()
503 if (tp->default_port == 0) { in tulip_find_mii()
542 if (tp->mtable && tp->mtable->has_mii && phy_idx == 0) { in tulip_find_mii()
545 tp->phys[0] = 1; in tulip_find_mii()