diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 7e190d15c60e98be1b2a68f191e33f19b5ed42d8..584cbce358c5aedeff87fb780bf5f9c4b99e95ed 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h @@ -25,7 +25,7 @@ #define readw(addr) \ ({ unsigned short __v = (*(volatile unsigned short *) (addr)); __v; }) #define readl(addr) \ - ({ unsigned long __v = (*(volatile unsigned long *) (addr)); __v; }) + ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; }) #define writeb(b, addr) \ (void)((*(volatile unsigned char *) (addr)) = (b)) diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 9b2952f04eeeac01e4ef96cfe77e52f7d754f59c..c4c13a668277611e6d70712c18a92bda104eeacf 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -72,6 +72,12 @@ int fsl_init2 (void) { int board_eth_init(bd_t *bis) { int ret = 0; + +#ifdef CONFIG_XILINX_AXIEMAC + ret |= xilinx_axiemac_initialize(bis, XILINX_AXIEMAC_BASEADDR, + XILINX_AXIDMA_BASEADDR); +#endif + #ifdef CONFIG_XILINX_EMACLITE u32 txpp = 0; u32 rxpp = 0; diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h index 09ff7c4fb936cae7beffb3a8d89c872082f1c4c9..6b3fd7600371cdbc66f428b3d53c7f3f915a5bcf 100644 --- a/include/configs/microblaze-generic.h +++ b/include/configs/microblaze-generic.h @@ -68,6 +68,10 @@ # define CONFIG_XILINX_LL_TEMAC 1 # define CONFIG_SYS_ENET #endif +#if defined(XILINX_AXIEMAC_BASEADDR) +# define CONFIG_XILINX_AXIEMAC 1 +# define CONFIG_SYS_ENET +#endif #undef ET_DEBUG