Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aebb2afd authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MIPS updates from Ralf Baechle:

 o Add basic support for the Mediatek/Ralink Wireless SoC family.

 o The Qualcomm Atheros platform is extended by support for the new
   QCA955X SoC series as well as a bunch of patches that get the code
   ready for OF support.

 o Lantiq and BCM47XX platform have a few improvements and bug fixes.

 o MIPS has sent a few patches that get the kernel ready for the
   upcoming microMIPS support.

 o The rest of the series is made up of small bug fixes and cleanups
   that relate to various parts of the MIPS code.  The biggy in there is
   a whitespace cleanup.  After I was sent another set of whitespace
   cleanup patches I decided it was the time to clean the whitespace
   "issues" for once and and that touches many files below arch/mips/.

Fix up silly conflicts, mostly due to whitespace cleanups.

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (105 commits)
  MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h
  MIPS: remove broken conditional inside vpe loader code
  MIPS: SMTC: fix implicit declaration of set_vi_handler
  MIPS: early_printk: drop __init annotations
  MIPS: Probe for and report hardware virtualization support.
  MIPS: ath79: add support for the Qualcomm Atheros AP136-010 board
  MIPS: ath79: add USB controller registration code for the QCA955X SoCs
  MIPS: ath79: add PCI controller registration code for the QCA955X SoCs
  MIPS: ath79: add WMAC registration code for the QCA955X SoCs
  MIPS: ath79: register UART for the QCA955X SoCs
  MIPS: ath79: add QCA955X specific glue to ath79_device_reset_{set, clear}
  MIPS: ath79: add GPIO setup code for the QCA955X SoCs
  MIPS: ath79: add IRQ handling code for the QCA955X SoCs
  MIPS: ath79: add clock setup code for the QCA955X SoCs
  MIPS: ath79: add SoC detection code for the QCA955X SoCs
  MIPS: ath79: add early printk support for the QCA955X SoCs
  MIPS: ath79: fix WMAC IRQ resource assignment
  mips: reserve elfcorehdr
  mips: Make sure kernel memory is in iomem
  MIPS: ath79: use dynamically allocated USB platform devices
  ...
parents 8eae508b edb15d83
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
MIPS CPU interrupt controller

On MIPS the mips_cpu_intc_init() helper can be used to initialize the 8 CPU
IRQs from a devicetree file and create a irq_domain for IRQ controller.

With the irq_domain in place we can describe how the 8 IRQs are wired to the
platforms internal interrupt controller cascade.

Below is an example of a platform describing the cascade inside the devicetree
and the code used to load it inside arch_init_irq().

Required properties:
- compatible : Should be "mti,cpu-interrupt-controller"

Example devicetree:
	cpu-irq: cpu-irq@0 {
		#address-cells = <0>;

		interrupt-controller;
		#interrupt-cells = <1>;

		compatible = "mti,cpu-interrupt-controller";
	};

	intc: intc@200 {
		compatible = "ralink,rt2880-intc";
		reg = <0x200 0x100>;

		interrupt-controller;
		#interrupt-cells = <1>;

		interrupt-parent = <&cpu-irq>;
		interrupts = <2>;
	};


Example platform irq.c:
static struct of_device_id __initdata of_irq_ids[] = {
	{ .compatible = "mti,cpu-interrupt-controller", .data = mips_cpu_intc_init },
	{ .compatible = "ralink,rt2880-intc", .data = intc_of_init },
	{},
};

void __init arch_init_irq(void)
{
	of_irq_init(of_irq_ids);
}
+16 −0
Original line number Diff line number Diff line
Lantiq SoC ASC serial controller

Required properties:
- compatible : Should be "lantiq,asc"
- reg : Address and length of the register set for the device
- interrupts: the 3 (tx rx err) interrupt numbers. The interrupt specifier
  depends on the interrupt-parent interrupt controller.

Example:

asc1: serial@E100C00 {
	compatible = "lantiq,asc";
	reg = <0xE100C00 0x400>;
	interrupt-parent = <&icu0>;
	interrupts = <112 113 114>;
};
+2 −2
Original line number Diff line number Diff line
@@ -18,10 +18,10 @@ platforms += loongson1
platforms += mti-malta
platforms += mti-sead3
platforms += netlogic
platforms += pmc-sierra
platforms += pmcs-msp71xx
platforms += pnx833x
platforms += pnx8550
platforms += powertv
platforms += ralink
platforms += rb532
platforms += sgi-ip22
platforms += sgi-ip27
+25 −24
Original line number Diff line number Diff line
@@ -108,12 +108,14 @@ config ATH79
config BCM47XX
	bool "Broadcom BCM47XX based boards"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select BOOT_RAW
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select FW_CFE
	select HW_HAS_PCI
	select IRQ_CPU
	select NO_EXCEPT_FILL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK
@@ -295,6 +297,7 @@ config MIPS_MALTA
	select BOOT_RAW
	select CEVT_R4K
	select CSRC_R4K
	select CSRC_GIC
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA
	select HAVE_PCSPKR_PLATFORM
@@ -354,6 +357,7 @@ config MIPS_SEAD3
	select USB_ARCH_HAS_EHCI
	select USB_EHCI_BIG_ENDIAN_DESC
	select USB_EHCI_BIG_ENDIAN_MMIO
	select USE_OF
	help
	  This enables support for the MIPS Technologies SEAD3 evaluation
	  board.
@@ -385,16 +389,6 @@ config NXP_STB225
	help
	 Support for NXP Semiconductors STB225 Development Board.

config PNX8550_JBS
	bool "NXP PNX8550 based JBS board"
	select PNX8550
	select SYS_SUPPORTS_LITTLE_ENDIAN

config PNX8550_STB810
	bool "NXP PNX8550 based STB810 board"
	select PNX8550
	select SYS_SUPPORTS_LITTLE_ENDIAN

config PMC_MSP
	bool "PMC-Sierra MSP chipsets"
	select CEVT_R4K
@@ -434,6 +428,22 @@ config POWERTV
	help
	  This enables support for the Cisco PowerTV Platform.

config RALINK
	bool "Ralink based machines"
	select CEVT_R4K
	select CSRC_R4K
	select BOOT_RAW
	select DMA_NONCOHERENT
	select IRQ_CPU
	select USE_OF
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK
	select HAVE_MACH_CLKDEV
	select CLKDEV_LOOKUP

config SGI_IP22
	bool "SGI IP22 (Indy/Indigo2)"
	select FW_ARC
@@ -835,8 +845,9 @@ source "arch/mips/jazz/Kconfig"
source "arch/mips/jz4740/Kconfig"
source "arch/mips/lantiq/Kconfig"
source "arch/mips/lasat/Kconfig"
source "arch/mips/pmc-sierra/Kconfig"
source "arch/mips/pmcs-msp71xx/Kconfig"
source "arch/mips/powertv/Kconfig"
source "arch/mips/ralink/Kconfig"
source "arch/mips/sgi-ip27/Kconfig"
source "arch/mips/sibyte/Kconfig"
source "arch/mips/txx9/Kconfig"
@@ -917,6 +928,9 @@ config CSRC_POWERTV
config CSRC_R4K
	bool

config CSRC_GIC
	bool

config CSRC_SB1250
	bool

@@ -1103,19 +1117,6 @@ config SOC_PNX8335
	bool
	select SOC_PNX833X

config PNX8550
	bool
	select SOC_PNX8550

config SOC_PNX8550
	bool
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_EARLY_PRINTK
	select SYS_SUPPORTS_32BIT_KERNEL
	select GENERIC_GPIO

config SWAP_IO_SPACE
	bool

+19 −1
Original line number Diff line number Diff line
@@ -14,6 +14,18 @@ config ATH79_MACH_AP121
	  Say 'Y' here if you want your kernel to support the
	  Atheros AP121 reference board.

config ATH79_MACH_AP136
	bool "Atheros AP136 reference board"
	select SOC_QCA955X
	select ATH79_DEV_GPIO_BUTTONS
	select ATH79_DEV_LEDS_GPIO
	select ATH79_DEV_SPI
	select ATH79_DEV_USB
	select ATH79_DEV_WMAC
	help
	  Say 'Y' here if you want your kernel to support the
	  Atheros AP136 reference board.

config ATH79_MACH_AP81
	bool "Atheros AP81 reference board"
	select SOC_AR913X
@@ -88,6 +100,12 @@ config SOC_AR934X
	select PCI_AR724X if PCI
	def_bool n

config SOC_QCA955X
	select USB_ARCH_HAS_EHCI
	select HW_HAS_PCI
	select PCI_AR724X if PCI
	def_bool n

config PCI_AR724X
	def_bool n

@@ -104,7 +122,7 @@ config ATH79_DEV_USB
	def_bool n

config ATH79_DEV_WMAC
	depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X)
	depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X)
	def_bool n

endif
Loading