target-arm queue:
* add aarch64_be linux-user target * Virt: ACPI: fix qemu assert due to re-assigned table data address * imx_fec: various bug fixes and cleanups * hw/timer/pxa2xx_timer: replace hw_error() -> qemu_log_mask() * hw/sd/pxa2xx_mmci: add read/write() trace events * linux-user/arm/nwfpe: Check coprocessor number for FPA emulation * target/arm: Make disas_thumb2_insn() generate its own UNDEF exceptions * hw/intc/arm_gicv3: Make reserved register addresses RAZ/WI * hw/intc/arm_gic: reserved register addresses are RAZ/WI -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJaV2iVAAoJEDwlJe0UNgzeLmEQAJ3A9m42/ZI6z3zSjnu27q13 8UvLlXimJuABK9cav5EvqXz6j+LwqBs7psJ6tvNXV3L2A+lBPYPHsTqnS7T0BSts 36r1IepRA1Gw8nIdKDpK4ZwNQ2EkkipairtWq7OV4Q3Ouh5TRuVX2Sm8iKdz0tm5 cd6LAQjynPfe4oeZXgJU6TlulSaWxSrUhhc0VGsv6Q9L5tZR4C1lFYP8Ijv3xPfh 5pKWccTJktywahrFrdr0mWOWnRgkZ3Fm63r0JeyoHeT7olLLp91zk/d+C7+QYoEn vkJwvPrhYru349Inq8T7X7jg3aWdh28Ivajm11EQ9l+uFjwdbR/jbVUHCQn3QXzE +SN1Kmk3U8IiAPoc9hjTjHnYG6OSKEBgJautgmxQZjWaMm7RvwVPvJTULyZTQi27 0NxHl9Uh2dlc8Msj6DfGfd0XOdf1crqtAGERKfJBsyrN0whiugH9Hn+AEnjf17zt M6lJbkwF8P8oG0DmnbZcxvh9QIHv0eaAW5ksR5wwnPIHsvSLQv/wgiwRdTjNh/JM KNH/F4+H2O7bbK2Dh/Y20RGiip0XhpelRFfoN507Uh4YgE+NEmV1CnN1gbk/P+y6 f1PJ5Dt+H3m3dSyzyUsie4foO5BVTxhPE6dQKz2nsTWjNJRbIRLJx82A5GSF2Cip ZDCn6DGcMXtbAoseeu9l =imOw -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180111' into staging target-arm queue: * add aarch64_be linux-user target * Virt: ACPI: fix qemu assert due to re-assigned table data address * imx_fec: various bug fixes and cleanups * hw/timer/pxa2xx_timer: replace hw_error() -> qemu_log_mask() * hw/sd/pxa2xx_mmci: add read/write() trace events * linux-user/arm/nwfpe: Check coprocessor number for FPA emulation * target/arm: Make disas_thumb2_insn() generate its own UNDEF exceptions * hw/intc/arm_gicv3: Make reserved register addresses RAZ/WI * hw/intc/arm_gic: reserved register addresses are RAZ/WI # gpg: Signature made Thu 11 Jan 2018 13:37:25 GMT # gpg: using RSA key 0x3C2525ED14360CDE # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" # gpg: aka "Peter Maydell <pmaydell@gmail.com>" # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20180111: (26 commits) hw/intc/arm_gic: reserved register addresses are RAZ/WI hw/intc/arm_gicv3: Make reserved register addresses RAZ/WI target/arm: Make disas_thumb2_insn() generate its own UNDEF exceptions linux-user/arm/nwfpe: Check coprocessor number for FPA emulation hw/sd/pxa2xx_mmci: add read/write() trace events hw/timer/pxa2xx_timer: replace hw_error() -> qemu_log_mask() imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file imx_fec: Fix a typo in imx_enet_receive() imx_fec: Use correct length for packet size imx_fec: Add support for multiple Tx DMA rings imx_fec: Emulate SHIFT16 in ENETx_RACC imx_fec: Use MIN instead of explicit ternary operator imx_fec: Use ENET_FTRL to determine truncation length imx_fec: Move Tx frame buffer away from the stack imx_fec: Change queue flushing heuristics imx_fec: Refactor imx_eth_enable_rx() imx_fec: Do not link to netdev Virt: ACPI: fix qemu assert due to re-assigned table data address target/arm: Fix stlxp for aarch64_be linux-user: Activate armeb handler registration ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
997eba28a3
21 changed files with 356 additions and 119 deletions
|
|
@ -192,7 +192,6 @@ typedef struct FslIMX25State {
|
|||
#define FSL_IMX25_UART5_ADDR 0x5002C000
|
||||
#define FSL_IMX25_UART5_SIZE 0x4000
|
||||
#define FSL_IMX25_FEC_ADDR 0x50038000
|
||||
#define FSL_IMX25_FEC_SIZE 0x4000
|
||||
#define FSL_IMX25_CCM_ADDR 0x53F80000
|
||||
#define FSL_IMX25_CCM_SIZE 0x4000
|
||||
#define FSL_IMX25_GPT4_ADDR 0x53F84000
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@
|
|||
#define ENET_TFWR 81
|
||||
#define ENET_FRBR 83
|
||||
#define ENET_FRSR 84
|
||||
#define ENET_TDSR1 89
|
||||
#define ENET_TDSR2 92
|
||||
#define ENET_RDSR 96
|
||||
#define ENET_TDSR 97
|
||||
#define ENET_MRBR 98
|
||||
|
|
@ -66,6 +68,8 @@
|
|||
#define ENET_FTRL 108
|
||||
#define ENET_TACC 112
|
||||
#define ENET_RACC 113
|
||||
#define ENET_TDAR1 121
|
||||
#define ENET_TDAR2 123
|
||||
#define ENET_MIIGSK_CFGR 192
|
||||
#define ENET_MIIGSK_ENR 194
|
||||
#define ENET_ATCR 256
|
||||
|
|
@ -86,7 +90,6 @@
|
|||
#define ENET_TCCR3 393
|
||||
#define ENET_MAX 400
|
||||
|
||||
#define ENET_MAX_FRAME_SIZE 2032
|
||||
|
||||
/* EIR and EIMR */
|
||||
#define ENET_INT_HB (1 << 31)
|
||||
|
|
@ -106,13 +109,18 @@
|
|||
#define ENET_INT_WAKEUP (1 << 17)
|
||||
#define ENET_INT_TS_AVAIL (1 << 16)
|
||||
#define ENET_INT_TS_TIMER (1 << 15)
|
||||
#define ENET_INT_TXF2 (1 << 7)
|
||||
#define ENET_INT_TXB2 (1 << 6)
|
||||
#define ENET_INT_TXF1 (1 << 3)
|
||||
#define ENET_INT_TXB1 (1 << 2)
|
||||
|
||||
#define ENET_INT_MAC (ENET_INT_HB | ENET_INT_BABR | ENET_INT_BABT | \
|
||||
ENET_INT_GRA | ENET_INT_TXF | ENET_INT_TXB | \
|
||||
ENET_INT_RXF | ENET_INT_RXB | ENET_INT_MII | \
|
||||
ENET_INT_EBERR | ENET_INT_LC | ENET_INT_RL | \
|
||||
ENET_INT_UN | ENET_INT_PLR | ENET_INT_WAKEUP | \
|
||||
ENET_INT_TS_AVAIL)
|
||||
ENET_INT_TS_AVAIL | ENET_INT_TXF1 | \
|
||||
ENET_INT_TXB1 | ENET_INT_TXF2 | ENET_INT_TXB2)
|
||||
|
||||
/* RDAR */
|
||||
#define ENET_RDAR_RDAR (1 << 24)
|
||||
|
|
@ -155,6 +163,8 @@
|
|||
#define ENET_RCR_NLC (1 << 30)
|
||||
#define ENET_RCR_GRS (1 << 31)
|
||||
|
||||
#define ENET_MAX_FRAME_SIZE (1 << ENET_RCR_MAX_FL_LENGTH)
|
||||
|
||||
/* TCR */
|
||||
#define ENET_TCR_GTS (1 << 0)
|
||||
#define ENET_TCR_FDEN (1 << 2)
|
||||
|
|
@ -169,6 +179,8 @@
|
|||
#define ENET_TWFR_TFWR_LENGTH (6)
|
||||
#define ENET_TWFR_STRFWD (1 << 8)
|
||||
|
||||
#define ENET_RACC_SHIFT16 BIT(7)
|
||||
|
||||
/* Buffer Descriptor. */
|
||||
typedef struct {
|
||||
uint16_t length;
|
||||
|
|
@ -231,6 +243,10 @@ typedef struct {
|
|||
|
||||
#define ENET_BD_BDU (1 << 31)
|
||||
|
||||
#define ENET_TX_RING_NUM 3
|
||||
|
||||
#define FSL_IMX25_FEC_SIZE 0x4000
|
||||
|
||||
typedef struct IMXFECState {
|
||||
/*< private >*/
|
||||
SysBusDevice parent_obj;
|
||||
|
|
@ -243,7 +259,9 @@ typedef struct IMXFECState {
|
|||
|
||||
uint32_t regs[ENET_MAX];
|
||||
uint32_t rx_descriptor;
|
||||
uint32_t tx_descriptor;
|
||||
|
||||
uint32_t tx_descriptor[ENET_TX_RING_NUM];
|
||||
uint32_t tx_ring_num;
|
||||
|
||||
uint32_t phy_status;
|
||||
uint32_t phy_control;
|
||||
|
|
@ -252,6 +270,9 @@ typedef struct IMXFECState {
|
|||
uint32_t phy_int_mask;
|
||||
|
||||
bool is_fec;
|
||||
|
||||
/* Buffer used to assemble a Tx frame */
|
||||
uint8_t frame[ENET_MAX_FRAME_SIZE];
|
||||
} IMXFECState;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue