• Home
  • Raw
  • Download

Lines Matching +full:0 +full:xc

35 #include <mach/xc.h>
38 /* XC Fifo Offsets */
39 #define EMPTY_PTR_FIFO(xcno) (0 + ((xcno) << 3)) /* Index of the empty pointer FIFO */
41 /* Data packages are indicated by XC */
43 /* Data packages are indicated by XC */
54 #define PFIFO_MASK(xcno) (0x7f << (xcno*8))
56 #define FIFO_PTR_FRAMELEN_SHIFT 0
57 #define FIFO_PTR_FRAMELEN_MASK (0x7ff << 0)
58 #define FIFO_PTR_FRAMELEN(len) (((len) << 0) & FIFO_PTR_FRAMELEN_MASK)
64 #define FIFO_PTR_FRAMENO_MASK (0x3f << 16)
67 #define FIFO_PTR_SEGMENT_MASK (0xf << 22)
68 #define FIFO_PTR_SEGMENT(seg) (((seg) & 0xf) << 22)
70 #define FIFO_PTR_ERROR_MASK (0xf << 28)
76 #define ISR_CON_HI (1<<0)
78 #define ETH_MAC_LOCAL_CONFIG 0x1560
79 #define ETH_MAC_4321 0x1564
80 #define ETH_MAC_65 0x1568
83 #define MAC_TRAFFIC_CLASS_ARRANGEMENT_MASK (0xf<<MAC_TRAFFIC_CLASS_ARRANGEMENT_SHIFT)
94 #define INTERNAL_PHY_ADR 0x1c
101 struct xc *xc; member
120 memset_io(priv->sram_base + 1560 + len, 0, 60 - len); in netx_eth_hard_start_xmit()
187 printk("%s: unexpected status: 0x%08x\n", in netx_eth_interrupt()
215 writel(ndev->dev_addr[0] | in netx_eth_open()
235 return 0; in netx_eth_open()
244 writel(0, in netx_eth_close()
249 return 0; in netx_eth_close()
261 xc_reset(priv->xc); in netx_eth_timeout()
262 xc_start(priv->xc); in netx_eth_timeout()
322 priv->mii.phy_id_mask = 0x1f; in netx_eth_enable()
323 priv->mii.reg_num_mask = 0x1f; in netx_eth_enable()
324 priv->mii.force_media = 0; in netx_eth_enable()
325 priv->mii.full_duplex = 0; in netx_eth_enable()
331 running = xc_running(priv->xc); in netx_eth_enable()
332 xc_stop(priv->xc); in netx_eth_enable()
334 /* if the xc engine is already running, assume the bootloader has in netx_eth_enable()
344 ndev->dev_addr[0] = mac4321 & 0xff; in netx_eth_enable()
345 ndev->dev_addr[1] = (mac4321 >> 8) & 0xff; in netx_eth_enable()
346 ndev->dev_addr[2] = (mac4321 >> 16) & 0xff; in netx_eth_enable()
347 ndev->dev_addr[3] = (mac4321 >> 24) & 0xff; in netx_eth_enable()
348 ndev->dev_addr[4] = mac65 & 0xff; in netx_eth_enable()
349 ndev->dev_addr[5] = (mac65 >> 8) & 0xff; in netx_eth_enable()
351 if (xc_request_firmware(priv->xc)) { in netx_eth_enable()
357 xc_reset(priv->xc); in netx_eth_enable()
358 xc_start(priv->xc); in netx_eth_enable()
394 priv->xc = request_xc(pdata->xcno, &pdev->dev); in netx_eth_drv_probe()
395 if (!priv->xc) { in netx_eth_drv_probe()
396 dev_err(&pdev->dev, "unable to request xc engine\n"); in netx_eth_drv_probe()
401 ndev->irq = priv->xc->irq; in netx_eth_drv_probe()
403 priv->xpec_base = priv->xc->xpec_base; in netx_eth_drv_probe()
404 priv->xmac_base = priv->xc->xmac_base; in netx_eth_drv_probe()
405 priv->sram_base = priv->xc->sram_base; in netx_eth_drv_probe()
419 return 0; in netx_eth_drv_probe()
423 free_xc(priv->xc); in netx_eth_drv_probe()
436 xc_stop(priv->xc); in netx_eth_drv_remove()
437 free_xc(priv->xc); in netx_eth_drv_remove()
441 return 0; in netx_eth_drv_remove()
447 return 0; in netx_eth_drv_suspend()
453 return 0; in netx_eth_drv_resume()