Re: [RFC 5/5] MIPS: Add Realtek RTL8186 SoC support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/10/18 09:48, Yasha Cherikovsky wrote:
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?

It is absolutely fine to have something depending on a non-selectable config option, which would allow you to split things up as finely as you want. Just have the patch enabling the config option last.

Thanks,

	M.
--
Jazz is not dead. It just smells funny...



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux