hw/net: Add npcm7xx emc model

This is a 10/100 ethernet device that has several features.
Only the ones needed by the Linux driver have been implemented.
See npcm7xx_emc.c for a list of unimplemented features.

Reviewed-by: Hao Wu <wuhaotsh@google.com>
Reviewed-by: Avi Fishman <avi.fishman@nuvoton.com>
Signed-off-by: Doug Evans <dje@google.com>
Message-id: 20210218212453.831406-2-dje@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Doug Evans 2021-02-18 13:24:51 -08:00 committed by Peter Maydell
parent ed84a60ca8
commit 01c966b54f
4 changed files with 1161 additions and 0 deletions

View file

@ -429,3 +429,20 @@ imx_fec_receive_last(int last) "rx frame flags 0x%04x"
imx_enet_receive(size_t size) "len %zu"
imx_enet_receive_len(uint64_t addr, int len) "rx_bd 0x%"PRIx64" length %d"
imx_enet_receive_last(int last) "rx frame flags 0x%04x"
# npcm7xx_emc.c
npcm7xx_emc_reset(int emc_num) "Resetting emc%d"
npcm7xx_emc_update_tx_irq(int level) "Setting tx irq to %d"
npcm7xx_emc_update_rx_irq(int level) "Setting rx irq to %d"
npcm7xx_emc_set_mista(uint32_t flags) "ORing 0x%x into MISTA"
npcm7xx_emc_cpu_owned_desc(uint32_t addr) "Can't process cpu-owned descriptor @0x%x"
npcm7xx_emc_sent_packet(uint32_t len) "Sent %u byte packet"
npcm7xx_emc_tx_done(uint32_t ctxdsa) "TX done, CTXDSA=0x%x"
npcm7xx_emc_can_receive(int can_receive) "Can receive: %d"
npcm7xx_emc_packet_filtered_out(const char* fail_reason) "Packet filtered out: %s"
npcm7xx_emc_packet_dropped(uint32_t len) "%u byte packet dropped"
npcm7xx_emc_receiving_packet(uint32_t len) "Receiving %u byte packet"
npcm7xx_emc_received_packet(uint32_t len) "Received %u byte packet"
npcm7xx_emc_rx_done(uint32_t crxdsa) "RX done, CRXDSA=0x%x"
npcm7xx_emc_reg_read(int emc_num, uint32_t result, const char *name, int regno) "emc%d: 0x%x = reg[%s/%d]"
npcm7xx_emc_reg_write(int emc_num, const char *name, int regno, uint32_t value) "emc%d: reg[%s/%d] = 0x%x"