Lines Matching defs:adapter
55 static void vsc_read(adapter_t *adapter, u32 addr, u32 *val)
60 MAC_LOCK(adapter->mac_lock);
61 (void) t1_tpi_read(adapter, (addr << 2) + 4, &vlo);
64 (void) t1_tpi_read(adapter, (REG_LOCAL_STATUS << 2) + 4, &vlo);
65 (void) t1_tpi_read(adapter, REG_LOCAL_STATUS << 2, &vhi);
72 (void) t1_tpi_read(adapter, (REG_LOCAL_DATA << 2) + 4, &vlo);
73 (void) t1_tpi_read(adapter, REG_LOCAL_DATA << 2, &vhi);
80 MAC_UNLOCK(adapter->mac_lock);
83 static void vsc_write(adapter_t *adapter, u32 addr, u32 data)
85 MAC_LOCK(adapter->mac_lock);
86 (void) t1_tpi_write(adapter, (addr << 2) + 4, data & 0xFFFF);
87 (void) t1_tpi_write(adapter, addr << 2, (data >> 16) & 0xFFFF);
91 MAC_UNLOCK(adapter->mac_lock);
95 static void vsc7326_full_reset(adapter_t* adapter)
100 (void) t1_tpi_read(adapter, A_ELMER0_GPO, &val);
102 (void) t1_tpi_write(adapter, A_ELMER0_GPO, val);
106 (void) t1_tpi_write(adapter, A_ELMER0_GPO, val);
108 vsc_write(adapter, REG_SW_RESET, 0x80000001);
111 vsc_read(adapter, REG_SW_RESET, &result);
240 static void run_table(adapter_t *adapter, struct init_table *ib, int len)
249 vsc_write( adapter, ib[i].addr, ib[i].data );
254 static int bist_rd(adapter_t *adapter, int moduleid, int address)
268 vsc_write(adapter, REG_RAM_BIST_CMD, data);
272 vsc_read(adapter, REG_RAM_BIST_RESULT, &result);
281 static int bist_wr(adapter_t *adapter, int moduleid, int address, int value)
298 vsc_write(adapter, REG_RAM_BIST_CMD, data);
302 vsc_read(adapter, REG_RAM_BIST_CMD, &result);
311 static int run_bist(adapter_t *adapter, int moduleid)
314 (void) bist_wr(adapter,moduleid, 0x00, 0x02);
315 (void) bist_wr(adapter,moduleid, 0x01, 0x01);
320 static int check_bist(adapter_t *adapter, int moduleid)
325 result = bist_rd(adapter,moduleid, 0x02);
326 column = ((bist_rd(adapter,moduleid, 0x0e)<<8) +
327 (bist_rd(adapter,moduleid, 0x0d)));
334 static int enable_mem(adapter_t *adapter, int moduleid)
337 (void) bist_wr(adapter,moduleid, 0x00, 0x00);
341 static int run_bist_all(adapter_t *adapter)
346 vsc_write(adapter, REG_MEM_BIST, 0x5);
347 vsc_read(adapter, REG_MEM_BIST, &val);
350 vsc_write(adapter, REG_DEV_SETUP(port), 0x0);
354 vsc_write(adapter, REG_SPI4_MISC, 0x00040409);
357 (void) run_bist(adapter,13);
358 (void) run_bist(adapter,14);
359 (void) run_bist(adapter,20);
360 (void) run_bist(adapter,21);
362 (void) check_bist(adapter,13);
363 (void) check_bist(adapter,14);
364 (void) check_bist(adapter,20);
365 (void) check_bist(adapter,21);
367 (void) enable_mem(adapter,13);
368 (void) enable_mem(adapter,14);
369 (void) enable_mem(adapter,20);
370 (void) enable_mem(adapter,21);
372 vsc_write(adapter, REG_SPI4_MISC, 0x60040400);
375 vsc_write(adapter, REG_DEV_SETUP(port), 0x1);
378 vsc_write(adapter, REG_MEM_BIST, 0x0);
413 vsc_write(mac->adapter, REG_MAC_LOW_ADDR(port),
415 vsc_write(mac->adapter, REG_MAC_HIGH_ADDR(port),
418 vsc_read(mac->adapter, REG_ING_FFILT_UM_EN, &val);
420 vsc_write(mac->adapter, REG_ING_FFILT_UM_EN, val | (port << 28));
422 vsc_write(mac->adapter, REG_ING_FFILT_MASK0,
424 vsc_write(mac->adapter, REG_ING_FFILT_MASK1,
426 vsc_write(mac->adapter, REG_ING_FFILT_MASK2,
436 vsc_read(mac->adapter, REG_MAC_LOW_ADDR(port), &addr_lo);
437 vsc_read(mac->adapter, REG_MAC_HIGH_ADDR(port), &addr_hi);
453 run_table(mac->adapter, vsc7326_portinit[index],
464 vsc_read(mac->adapter, REG_ING_FFILT_UM_EN, &v);
472 vsc_write(mac->adapter, REG_ING_FFILT_UM_EN, v);
484 vsc_write(mac->adapter, REG_MAX_LEN(port), mtu + 14 + 4);
501 vsc_read(mac->adapter, REG_MODE_CFG(port), &v);
508 vsc_write(mac->adapter, REG_MODE_CFG(port), v);
516 vsc_write(mac->adapter, REG_DEV_SETUP(port), v | 1); /* reset */
517 vsc_write(mac->adapter, REG_DEV_SETUP(port), v);
518 vsc_read(mac->adapter, REG_DBG(port), &v);
526 vsc_write(mac->adapter, REG_DBG(port), v);
528 vsc_write(mac->adapter, REG_TX_IFG(port),
540 vsc_write(mac->adapter, REG_MODE_CFG(port), enable);
544 vsc_read(mac->adapter, REG_PAUSE_CFG(port), &v);
553 vsc_write(mac->adapter, REG_PAUSE_CFG(port), v);
562 vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
567 vsc_write(mac->adapter, REG_MODE_CFG(port), val);
579 vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
584 vsc_write(mac->adapter, REG_MODE_CFG(port), val);
585 vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
589 vsc_write(mac->adapter, CRA(4, port, i), 0);
601 vsc_read(mac->adapter, addr, &v);
724 static struct cmac *vsc7326_mac_create(adapter_t *adapter, int index)
735 mac->adapter = adapter;
745 (void) t1_tpi_read(adapter, (REG_LOCAL_STATUS << 2) + 4, &vlo);
747 (void) t1_tpi_read(adapter, REG_LOCAL_STATUS << 2, &vhi);
755 static int vsc7326_mac_reset(adapter_t *adapter)
757 vsc7326_full_reset(adapter);
758 (void) run_bist_all(adapter);
759 run_table(adapter, vsc7326_reset, DIMOF(vsc7326_reset));