Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARC: [plat-axs103] Add temporary quirk to reset ethernet IP

DW ethernet controller on AXS10x hangs sometimes after SW reset, so
add temporary quirk to reset DW ethernet controller IP core.
This quirk can be removed after axs10x reset driver
(see http://patchwork.ozlabs.org/patch/800273/)
or simple reset driver
(see https://patchwork.kernel.org/patch/9903375/)
will be available in upstream.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

authored by

Eugeniy Paltsev and committed by
Vineet Gupta
043d1e72 9e66317d

+7
+7
arch/arc/plat-axs10x/axs10x.c
··· 111 111 112 112 axs10x_enable_gpio_intc_wire(); 113 113 114 + /* 115 + * Reset ethernet IP core. 116 + * TODO: get rid of this quirk after axs10x reset driver (or simple 117 + * reset driver) will be available in upstream. 118 + */ 119 + iowrite32((1 << 5), (void __iomem *) CREG_MB_SW_RESET); 120 + 114 121 scnprintf(mb, 32, "MainBoard v%d", mb_rev); 115 122 axs10x_print_board_ver(CREG_MB_VER, mb); 116 123 }