Lines Matching full:index

40 static const char *imx_default_reg_name(IMXFECState *s, uint32_t index)  in imx_default_reg_name()  argument
43 snprintf(tmp, sizeof(tmp), "index %d", index); in imx_default_reg_name()
47 static const char *imx_fec_reg_name(IMXFECState *s, uint32_t index) in imx_fec_reg_name() argument
49 switch (index) { in imx_fec_reg_name()
59 return imx_default_reg_name(s, index); in imx_fec_reg_name()
63 static const char *imx_enet_reg_name(IMXFECState *s, uint32_t index) in imx_enet_reg_name() argument
65 switch (index) { in imx_enet_reg_name()
121 return imx_default_reg_name(s, index); in imx_enet_reg_name()
125 static const char *imx_eth_reg_name(IMXFECState *s, uint32_t index) in imx_eth_reg_name() argument
127 switch (index) { in imx_eth_reg_name()
172 return imx_fec_reg_name(s, index); in imx_eth_reg_name()
174 return imx_enet_reg_name(s, index); in imx_eth_reg_name()
404 static void imx_enet_do_tx(IMXFECState *s, uint32_t index) in imx_enet_do_tx() argument
412 switch (index) { in imx_enet_do_tx()
433 "%s: bogus value for index %x\n", in imx_enet_do_tx()
434 __func__, index); in imx_enet_do_tx()
506 static void imx_eth_do_tx(IMXFECState *s, uint32_t index) in imx_eth_do_tx() argument
509 imx_enet_do_tx(s, index); in imx_eth_do_tx()
567 static uint32_t imx_default_read(IMXFECState *s, uint32_t index) in imx_default_read() argument
570 PRIx32 "\n", TYPE_IMX_FEC, __func__, index * 4); in imx_default_read()
574 static uint32_t imx_fec_read(IMXFECState *s, uint32_t index) in imx_fec_read() argument
576 switch (index) { in imx_fec_read()
581 return s->regs[index]; in imx_fec_read()
583 return imx_default_read(s, index); in imx_fec_read()
587 static uint32_t imx_enet_read(IMXFECState *s, uint32_t index) in imx_enet_read() argument
589 switch (index) { in imx_enet_read()
617 return s->regs[index]; in imx_enet_read()
619 return imx_default_read(s, index); in imx_enet_read()
627 uint32_t index = offset >> 2; in imx_eth_read() local
629 switch (index) { in imx_eth_read()
651 value = s->regs[index]; in imx_eth_read()
655 value = imx_fec_read(s, index); in imx_eth_read()
657 value = imx_enet_read(s, index); in imx_eth_read()
662 trace_imx_eth_read(index, imx_eth_reg_name(s, index), value); in imx_eth_read()
667 static void imx_default_write(IMXFECState *s, uint32_t index, uint32_t value) in imx_default_write() argument
670 PRIx32 "\n", TYPE_IMX_FEC, __func__, index * 4); in imx_default_write()
673 static void imx_fec_write(IMXFECState *s, uint32_t index, uint32_t value) in imx_fec_write() argument
675 switch (index) { in imx_fec_write()
682 s->regs[index] = (value & 0x000003fc) | 0x00000400; in imx_fec_write()
685 s->regs[index] = value & 0x00000053; in imx_fec_write()
688 s->regs[index] = (value & 0x00000002) ? 0x00000006 : 0; in imx_fec_write()
691 imx_default_write(s, index, value); in imx_fec_write()
696 static void imx_enet_write(IMXFECState *s, uint32_t index, uint32_t value) in imx_enet_write() argument
698 switch (index) { in imx_enet_write()
706 s->regs[index] = value & 0x000001ff; in imx_enet_write()
709 s->regs[index] = value & 0x0000001f; in imx_enet_write()
712 s->regs[index] = value & 0x00003fff; in imx_enet_write()
715 s->regs[index] = value & 0x00000019; in imx_enet_write()
718 s->regs[index] = value & 0x000000C7; in imx_enet_write()
721 s->regs[index] = value & 0x00002a9d; in imx_enet_write()
726 s->regs[index] = value; in imx_enet_write()
734 s->regs[index] = value & 0x7fffffff; in imx_enet_write()
737 s->regs[index] = value & 0x00007f7f; in imx_enet_write()
741 s->regs[index] &= ~(value & 0x0000000f); /* all bits W1C */ in imx_enet_write()
747 s->regs[index] &= ~(value & 0x00000080); /* W1C bits */ in imx_enet_write()
748 s->regs[index] &= ~0x0000007d; /* writable fields */ in imx_enet_write()
749 s->regs[index] |= (value & 0x0000007d); in imx_enet_write()
755 s->regs[index] = value; in imx_enet_write()
758 imx_default_write(s, index, value); in imx_enet_write()
768 uint32_t index = offset >> 2; in imx_eth_write() local
770 trace_imx_eth_write(index, imx_eth_reg_name(s, index), value); in imx_eth_write()
772 switch (index) { in imx_eth_write()
774 s->regs[index] &= ~value; in imx_eth_write()
777 s->regs[index] = value; in imx_eth_write()
781 if (!s->regs[index]) { in imx_eth_write()
785 s->regs[index] = 0; in imx_eth_write()
799 s->regs[index] = ENET_TDAR_TDAR; in imx_eth_write()
800 imx_eth_do_tx(s, index); in imx_eth_write()
802 s->regs[index] = 0; in imx_eth_write()
808 s->regs[index] = value; in imx_eth_write()
809 if ((s->regs[index] & ENET_ECR_ETHEREN) == 0) { in imx_eth_write()
821 s->regs[index] = value; in imx_eth_write()
836 s->regs[index] = value & 0xfe; in imx_eth_write()
840 s->regs[index] = (value & 0x80000000) ? 0xc0000000 : 0; in imx_eth_write()
843 s->regs[index] = value & 0x07ff003f; in imx_eth_write()
848 s->regs[index] = value; in imx_eth_write()
854 s->regs[index] = value; in imx_eth_write()
861 s->regs[index] = (value | 0x0000ffff) & 0xffff8808; in imx_eth_write()
866 s->regs[index] = (value & 0x0000ffff) | 0x00010000; in imx_eth_write()
876 s->regs[index] = value & 0x3; in imx_eth_write()
878 s->regs[index] = value & 0x13f; in imx_eth_write()
883 s->regs[index] = value & ~3; in imx_eth_write()
885 s->regs[index] = value & ~7; in imx_eth_write()
887 s->rx_descriptor = s->regs[index]; in imx_eth_write()
891 s->regs[index] = value & ~3; in imx_eth_write()
893 s->regs[index] = value & ~7; in imx_eth_write()
895 s->tx_descriptor[0] = s->regs[index]; in imx_eth_write()
905 s->regs[index] = value & ~7; in imx_eth_write()
906 s->tx_descriptor[1] = s->regs[index]; in imx_eth_write()
916 s->regs[index] = value & ~7; in imx_eth_write()
917 s->tx_descriptor[2] = s->regs[index]; in imx_eth_write()
920 s->regs[index] = value & 0x00003ff0; in imx_eth_write()
924 imx_fec_write(s, index, value); in imx_eth_write()
926 imx_enet_write(s, index, value); in imx_eth_write()