Re: [RFC 5/5] MIPS: Add Realtek RTL8186 SoC support
From: Yasha Cherikovsky
Date: Mon Oct 01 2018 - 04:49:02 EST
Hi Marc,
On Mon, 2018-10-01 at 09:19 +0100, Marc Zyngier wrote:
> Hi Yasha,
>
> On 30/09/18 15:15, Yasha Cherikovsky wrote:
> > The Realtek RTL8186 SoC is a MIPS based SoC
> > used in some home routers [1][2].
> >
> > The hardware includes Lexra LX5280 CPU with a TLB,
> > two Ethernet controllers, a WLAN controller and more.
> >
> > With this patch, it is possible to successfully boot
> > the kernel and load userspace on the Edimax BR-6204Wg
> > router.
> > Network drivers support will come in future patches.
> >
> > This patch includes:
> > - New MIPS rtl8186 platform
> > - Core platform setup code (mostly DT based)
> > - New Kconfig option
> > - defconfig file
> > - MIPS zboot UART support
> > - RTL8186 interrupt controller driver
> > - RTL8186 timer driver
> > - Device tree files for the RTL8186 SoC and Edimax BR-6204Wg
> > router
> >
> > [1] https://www.linux-mips.org/wiki/Realtek_SOC#Realtek_RTL8186
> > [2] https://wikidevi.com/wiki/Realtek_RTL8186
> >
> > Signed-off-by: Yasha Cherikovsky <yasha.che3@xxxxxxxxx>
> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> > Cc: Paul Burton <paul.burton@xxxxxxxx>
> > Cc: James Hogan <jhogan@xxxxxxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
> > Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
> > Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> > Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> > Cc: Mark Rutland <mark.rutland@xxxxxxx>
> > Cc: linux-mips@xxxxxxxxxxxxxx
> > Cc: devicetree@xxxxxxxxxxxxxxx
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > ---
> > arch/mips/Kbuild.platforms | 1 +
> > arch/mips/Kconfig | 17 ++
> > arch/mips/boot/compressed/uart-16550.c | 5 +
> > arch/mips/boot/dts/Makefile | 1 +
> > arch/mips/boot/dts/realtek/Makefile | 4 +
> > arch/mips/boot/dts/realtek/rtl8186.dtsi | 86 +++++++
> > .../dts/realtek/rtl8186_edimax_br_6204wg.dts | 45 ++++
> > arch/mips/configs/rtl8186_defconfig | 112 +++++++++
> > arch/mips/include/asm/mach-rtl8186/rtl8186.h | 37 +++
> > arch/mips/rtl8186/Makefile | 2 +
> > arch/mips/rtl8186/Platform | 7 +
> > arch/mips/rtl8186/irq.c | 8 +
> > arch/mips/rtl8186/prom.c | 15 ++
> > arch/mips/rtl8186/setup.c | 80 +++++++
> > arch/mips/rtl8186/time.c | 10 +
> > drivers/clocksource/Kconfig | 9 +
> > drivers/clocksource/Makefile | 1 +
> > drivers/clocksource/timer-rtl8186.c | 220
> > ++++++++++++++++++
> > drivers/irqchip/Kconfig | 5 +
> > drivers/irqchip/Makefile | 1 +
> > drivers/irqchip/irq-rtl8186.c | 107 +++++++++
>
> Could you please split this into at least three patches (arch code,
> clocksource, irqchip) to ease the review?
>
> Thanks,
>
> M.
Currently the RTL8186_IRQ and the RTL8186_TIMER Kconfig entries depend on
MACH_RTL8186 (which is added in the MIPS portion of the same patch).
Also, MACH_RTL8186 in MIPS selects these two options.
What is the best way to split that?
Thanks,
Yasha