Skip to content

Commit

Permalink
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…
Browse files Browse the repository at this point in the history
…ream-linus

Pull MIPS updates from Ralf Baechle:

 - Improvements to the tlb_dump code
 - KVM fixes
 - Add support for appended DTB
 - Minor improvements to the R12000 support
 - Minor improvements to the R12000 support
 - Various platform improvments for BCM47xx
 - The usual pile of minor cleanups
 - A number of BPF fixes and improvments
 - Some improvments to the support for R3000 and DECstations
 - Some improvments to the ATH79 platform support
 - A major patchset for the JZ4740 SOC adding support for the CI20 platform
 - Add support for the Pistachio SOC
 - Minor BMIPS/BCM63xx platform support improvments.
 - Avoid "SYNC 0" as memory barrier when unlocking spinlocks
 - Add support for the XWR-1750 board.
 - Paul's __cpuinit/__cpuinitdata cleanups.
 - New Malta CPU board support large memory so enable ZONE_DMA32.

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (131 commits)
  MIPS: spinlock: Adjust arch_spin_lock back-off time
  MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA
  MIPS: BCM47xx: Simplify handling SPROM revisions
  MIPS: Cobalt Don't use module_init in non-modular MTD registration.
  MIPS: BCM47xx: Move NVRAM driver to the drivers/firmware/
  MIPS: use for_each_sg()
  MIPS: BCM47xx: Don't select BCMA_HOST_PCI
  MIPS: BCM47xx: Add helper variable for storing NVRAM length
  MIPS: IRQ/IP27: Move IRQ allocation API to platform code.
  MIPS: Replace smp_mb with release barrier function in unlocks.
  MIPS: i8259: DT support
  MIPS: Malta: Basic DT plumbing
  MIPS: include errno.h for ENODEV in mips-cm.h
  MIPS: Define GCR_GIC_STATUS register fields
  MIPS: BPF: Introduce BPF ASM helpers
  MIPS: BPF: Use BPF register names to describe the ABI
  MIPS: BPF: Move register definition to the BPF header
  MIPS: net: BPF: Replace RSIZE with SZREG
  MIPS: BPF: Free up some callee-saved registers
  MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
  ...
  • Loading branch information
torvalds committed Jun 27, 2015
2 parents d2c3ac7 + 9ff897c commit 78c10e5
Show file tree
Hide file tree
Showing 281 changed files with 6,271 additions and 2,321 deletions.
53 changes: 53 additions & 0 deletions Documentation/devicetree/bindings/clock/ingenic,cgu.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Ingenic SoC CGU binding

The CGU in an Ingenic SoC provides all the clocks generated on-chip. It
typically includes a variety of PLLs, multiplexers, dividers & gates in order
to provide many different clock signals derived from only 2 external source
clocks.

Required properties:
- compatible : Should be "ingenic,<soctype>-cgu".
For example "ingenic,jz4740-cgu" or "ingenic,jz4780-cgu".
- reg : The address & length of the CGU registers.
- clocks : List of phandle & clock specifiers for clocks external to the CGU.
Two such external clocks should be specified - first the external crystal
"ext" and second the RTC clock source "rtc".
- clock-names : List of name strings for the external clocks.
- #clock-cells: Should be 1.
Clock consumers specify this argument to identify a clock. The valid values
may be found in <dt-bindings/clock/<soctype>-cgu.h>.

Example SoC include file:

/ {
cgu: jz4740-cgu {
compatible = "ingenic,jz4740-cgu";
reg = <0x10000000 0x100>;
#clock-cells = <1>;
};

uart0: serial@10030000 {
clocks = <&cgu JZ4740_CLK_UART0>;
};
};

Example board file:

/ {
ext: clock@0 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12000000>;
};

rtc: clock@1 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
};

&cgu {
clocks = <&ext> <&rtc>;
clock-names: "ext", "rtc";
};
};
33 changes: 33 additions & 0 deletions Documentation/devicetree/bindings/clock/qca,ath79-pll.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Binding for Qualcomm Atheros AR7xxx/AR9XXX PLL controller

The PPL controller provides the 3 main clocks of the SoC: CPU, DDR and AHB.

Required Properties:
- compatible: has to be "qca,<soctype>-cpu-intc" and one of the following
fallbacks:
- "qca,ar7100-pll"
- "qca,ar7240-pll"
- "qca,ar9130-pll"
- "qca,ar9330-pll"
- "qca,ar9340-pll"
- "qca,qca9550-pll"
- reg: Base address and size of the controllers memory area
- clock-names: Name of the input clock, has to be "ref"
- clocks: phandle of the external reference clock
- #clock-cells: has to be one

Optional properties:
- clock-output-names: should be "cpu", "ddr", "ahb"

Example:

memory-controller@18050000 {
compatible = "qca,ar9132-ppl", "qca,ar9130-pll";
reg = <0x18050000 0x20>;

clock-names = "ref";
clocks = <&extosc>;

#clock-cells = <1>;
clock-output-names = "cpu", "ddr", "ahb";
};
38 changes: 38 additions & 0 deletions Documentation/devicetree/bindings/gpio/gpio-ath79.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Binding for Qualcomm Atheros AR7xxx/AR9xxx GPIO controller

Required properties:
- compatible: has to be "qca,<soctype>-gpio" and one of the following
fallbacks:
- "qca,ar7100-gpio"
- "qca,ar9340-gpio"
- reg: Base address and size of the controllers memory area
- gpio-controller : Marks the device node as a GPIO controller.
- #gpio-cells : Should be two. The first cell is the pin number and the
second cell is used to specify optional parameters.
- ngpios: Should be set to the number of GPIOs available on the SoC.

Optional properties:
- interrupt-parent: phandle of the parent interrupt controller.
- interrupts: Interrupt specifier for the controllers interrupt.
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode interrupt
source, should be 2

Please refer to interrupts.txt in this directory for details of the common
Interrupt Controllers bindings used by client devices.

Example:

gpio@18040000 {
compatible = "qca,ar9132-gpio", "qca,ar7100-gpio";
reg = <0x18040000 0x30>;
interrupts = <2>;

ngpios = <22>;

gpio-controller;
#gpio-cells = <2>;

interrupt-controller;
#interrupt-cells = <2>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Ingenic SoC Interrupt Controller

Required properties:

- compatible : should be "ingenic,<socname>-intc". Valid strings are:
ingenic,jz4740-intc
ingenic,jz4770-intc
ingenic,jz4775-intc
ingenic,jz4780-intc
- reg : Specifies base physical address and size of the registers.
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode an
interrupt source. The value shall be 1.
- interrupt-parent : phandle of the CPU interrupt controller.
- interrupts : Specifies the CPU interrupt the controller is connected to.

Example:

intc: interrupt-controller@10001000 {
compatible = "ingenic,jz4740-intc";
reg = <0x10001000 0x14>;

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

interrupt-parent = <&cpuintc>;
interrupts = <2>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Binding for Qualcomm Atheros AR7xxx/AR9XXX CPU interrupt controller

On most SoC the IRQ controller need to flush the DDR FIFO before running
the interrupt handler of some devices. This is configured using the
qca,ddr-wb-channels and qca,ddr-wb-channel-interrupts properties.

Required Properties:

- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-cpu-intc"
as fallback
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode interrupt
source, should be 1 for intc

Please refer to interrupts.txt in this directory for details of the common
Interrupt Controllers bindings used by client devices.

Optional Properties:

- qca,ddr-wb-channel-interrupts: List of the interrupts needing a write
buffer flush
- qca,ddr-wb-channels: List of phandles to the write buffer channels for
each interrupt. If qca,ddr-wb-channel-interrupts is not present the interrupt
default to the entry's index.

Example:

interrupt-controller {
compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc";

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

qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
<&ddr_ctrl 0>, <&ddr_ctrl 1>;
};

...

ddr_ctrl: memory-controller@18000000 {
...
#qca,ddr-wb-channel-cells = <1>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Binding for Qualcomm Atheros AR7xxx/AR9XXX MISC interrupt controller

The MISC interrupt controller is a secondary controller for lower priority
interrupt.

Required Properties:
- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc"
as fallback
- reg: Base address and size of the controllers memory area
- interrupt-parent: phandle of the parent interrupt controller.
- interrupts: Interrupt specifier for the controllers interrupt.
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode interrupt
source, should be 1

Please refer to interrupts.txt in this directory for details of the common
Interrupt Controllers bindings used by client devices.

Example:

interrupt-controller@18060010 {
compatible = "qca,ar9132-misc-intc", qca,ar7100-misc-intc";
reg = <0x18060010 0x4>;

interrupt-parent = <&cpuintc>;
interrupts = <6>;

interrupt-controller;
#interrupt-cells = <1>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Binding for Qualcomm Atheros AR7xxx/AR9xxx DDR controller

The DDR controller of the ARxxx and AR9xxx families provides an interface
to flush the FIFO between various devices and the DDR. This is mainly used
by the IRQ controller to flush the FIFO before running the interrupt handler
of such devices.

Required properties:

- compatible: has to be "qca,<soc-type>-ddr-controller",
"qca,[ar7100|ar7240]-ddr-controller" as fallback.
On SoC with PCI support "qca,ar7100-ddr-controller" should be used as
fallback, otherwise "qca,ar7240-ddr-controller" should be used.
- reg: Base address and size of the controllers memory area
- #qca,ddr-wb-channel-cells: has to be 1, the index of the write buffer
channel

Example:

ddr_ctrl: memory-controller@18000000 {
compatible = "qca,ar9132-ddr-controller",
"qca,ar7240-ddr-controller";
reg = <0x18000000 0x100>;

#qca,ddr-wb-channel-cells = <1>;
};

...

interrupt-controller {
...
qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
<&ddr_ctrl 0>, <&ddr_ctrl 1>;
};
21 changes: 21 additions & 0 deletions Documentation/devicetree/bindings/mips/ath79-soc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Binding for Qualcomm Atheros AR7xxx/AR9XXX SoC

Each device tree must specify a compatible value for the AR SoC
it uses in the compatible property of the root node. The compatible
value must be one of the following values:

- qca,ar7130
- qca,ar7141
- qca,ar7161
- qca,ar7240
- qca,ar7241
- qca,ar7242
- qca,ar9130
- qca,ar9132
- qca,ar9330
- qca,ar9331
- qca,ar9341
- qca,ar9342
- qca,ar9344
- qca,qca9556
- qca,qca9558
29 changes: 29 additions & 0 deletions Documentation/devicetree/bindings/phy/pistachio-usb-phy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
IMG Pistachio USB PHY
=====================

Required properties:
--------------------
- compatible: Must be "img,pistachio-usb-phy".
- #phy-cells: Must be 0. See ./phy-bindings.txt for details.
- clocks: Must contain an entry for each entry in clock-names.
See ../clock/clock-bindings.txt for details.
- clock-names: Must include "usb_phy".
- img,cr-top: Must constain a phandle to the CR_TOP syscon node.
- img,refclk: Indicates the reference clock source for the USB PHY.
See <dt-bindings/phy/phy-pistachio-usb.h> for a list of valid values.

Optional properties:
--------------------
- phy-supply: USB VBUS supply. Must supply 5.0V.

Example:
--------
usb_phy: usb-phy {
compatible = "img,pistachio-usb-phy";
clocks = <&clk_core CLK_USB_PHY>;
clock-names = "usb_phy";
phy-supply = <&usb_vbus>;
img,refclk = <REFCLK_CLK_CORE>;
img,cr-top = <&cr_top>;
#phy-cells = <0>;
};
22 changes: 22 additions & 0 deletions Documentation/devicetree/bindings/serial/ingenic,uart.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
* Ingenic SoC UART

Required properties:
- compatible : "ingenic,jz4740-uart" or "ingenic,jz4780-uart"
- reg : offset and length of the register set for the device.
- interrupts : should contain uart interrupt.
- clocks : phandles to the module & baud clocks.
- clock-names: tuple listing input clock names.
Required elements: "baud", "module"

Example:

uart0: serial@10030000 {
compatible = "ingenic,jz4740-uart";
reg = <0x10030000 0x100>;

interrupt-parent = <&intc>;
interrupts = <9>;

clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
clock-names = "baud", "module";
};
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/vendor-prefixes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ ibm International Business Machines (IBM)
idt Integrated Device Technologies, Inc.
iom Iomega Corporation
img Imagination Technologies Ltd.
ingenic Ingenic Semiconductor
innolux Innolux Corporation
intel Intel Corporation
intercontrol Inter Control Group
Expand Down Expand Up @@ -161,6 +162,7 @@ powervr PowerVR (deprecated, use img)
qca Qualcomm Atheros, Inc.
qcom Qualcomm Technologies, Inc
qemu QEMU, a generic and open source machine emulator and virtualizer
qi Qi Hardware
qnap QNAP Systems, Inc.
radxa Radxa
raidsonic RaidSonic Technology GmbH
Expand Down Expand Up @@ -206,6 +208,7 @@ tlm Trusted Logic Mobility
toradex Toradex AG
toshiba Toshiba Corporation
toumaz Toumaz
tplink TP-LINK Technologies Co., Ltd.
truly Truly Semiconductors Limited
usi Universal Scientific Industrial Co., Ltd.
v3 V3 Semiconductor
Expand Down
14 changes: 14 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2229,6 +2229,14 @@ F: arch/mips/bcm3384/*
F: arch/mips/include/asm/mach-bcm3384/*
F: arch/mips/kernel/*bmips*

BROADCOM BCM47XX MIPS ARCHITECTURE
M: Hauke Mehrtens <[email protected]>
M: Rafał Miłecki <[email protected]>
L: [email protected]
S: Maintained
F: arch/mips/bcm47xx/*
F: arch/mips/include/asm/mach-bcm47xx/*

BROADCOM BCM5301X ARM ARCHITECTURE
M: Hauke Mehrtens <[email protected]>
L: [email protected]
Expand Down Expand Up @@ -2333,6 +2341,12 @@ S: Supported
F: drivers/gpio/gpio-bcm-kona.c
F: Documentation/devicetree/bindings/gpio/gpio-bcm-kona.txt

BROADCOM NVRAM DRIVER
M: Rafał Miłecki <[email protected]>
L: [email protected]
S: Maintained
F: drivers/firmware/broadcom/*

BROADCOM STB NAND FLASH DRIVER
M: Brian Norris <[email protected]>
L: [email protected]
Expand Down
Loading

0 comments on commit 78c10e5

Please sign in to comment.