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

Commit 830f5a5a authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'arm-soc/for-4.2/dts' of http://github.com/broadcom/stblinux into next/dt

Merge "Device Tree changes" from Florian Fainelli:

New devices:

- Felix adds support for the Buffalo WXR-1900DHP and adds the USB led on Buffalo
  WZR-1750DHP

- Rafal adds support for the SmartRG SR400ac, Asus RT-AC68U and RT-AC56U

New peripheral support:

- Brian adds Device Tree nodes for the Broadcom NAND controller found on
  BCM7xxx, BCM63138 and Cygnus SoCs

- Brian adds Device Tree nodes for the SATA AHCI and PHY controller found on
  BCM7xxx

- I add the Device Tree nodes and bindings documents for bringing-up secondary
  CPUs and timer/syscon-reboot on BCM63138

* tag 'arm-soc/for-4.2/dts' of http://github.com/broadcom/stblinux:
  ARM: BCM5301X: Add DT for Asus RT-AC56U
  ARM: BCM5301X: Add DT for Asus RT-AC68U
  ARM: dts: BCM63xx: Add timer and syscon-reboot nodes
  dt-bindings: Add documentation for the BCM63138 timer and syscon-reboot
  ARM: dts: brcmstb: add nodes for SATA controller and PHY
  ARM: dts: cygnus: Enable NAND support for Cygnus
  ARM: bcm63138: add NAND DT support
  ARM: bcm7445: add NAND to DTS
  ARM: BCM5301X: Add DT for SmartRG SR400ac
  ARM: BCM5301X: Add DT for Buffalo WXR-1900DHP
  ARM: BCM5301X: Add USB LED for Buffalo WZR-1750DHP
  ARM: dts: BCM63xx: Add SMP nodes and required properties
  Documentation: DT: Document SMP DT nodes and properties for BCM63138
  ARM: dts: BCM63xx: Add PMB busses nodes
  Documentation: DT: Add Broadcom BCM63138 PMB binding
parents a258e3f8 16dc3bac
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
@@ -7,3 +7,79 @@ following properties:
Required root node property:

compatible: should be "brcm,bcm63138"

An optional Boot lookup table Device Tree node is required for secondary CPU
initialization as well as a 'resets' phandle to the correct PMB controller as
defined in reset/brcm,bcm63138-pmb.txt for this secondary CPU, and an
'enable-method' property.

Required properties for the Boot lookup table node:
- compatible: should be "brcm,bcm63138-bootlut"
- reg: register base address and length for the Boot Lookup table

Optional properties for the primary CPU node:
- enable-method: should be "brcm,bcm63138"

Optional properties for the secondary CPU node:
- enable-method: should be "brcm,bcm63138"
- resets: phandle to the relevant PMB controller, one integer indicating the internal
  bus number, and a second integer indicating the address of the CPU in the PMB
  internal bus number.

Example:

	cpus {
		cpu@0 {
			compatible = "arm,cotex-a9";
			reg = <0>;
			...
			enable-method = "brcm,bcm63138";
		};

		cpu@1 {
			compatible = "arm,cortex-a9";
			reg = <1>;
			...
			enable-method = "brcm,bcm63138";
			resets = <&pmb0 4 1>;
		};
	};

	bootlut: bootlut@8000 {
		compatible = "brcm,bcm63138-bootlut";
		reg = <0x8000 0x50>;
	};

=======
reboot
------
Two nodes are required for software reboot: a timer node and a syscon-reboot node.

Timer node:

- compatible: Must be "brcm,bcm6328-timer", "syscon"
- reg: Register base address and length

Syscon reboot node:

See Documentation/devicetree/bindings/power/reset/syscon-reboot.txt for the
detailed list of properties, the two values defined below are specific to the
BCM6328-style timer:

- offset: Should be 0x34 to denote the offset of the TIMER_WD_TIMER_RESET register
  from the beginning of the TIMER block
- mask: Should be 1 for the SoftRst bit.

Example:

	timer: timer@80 {
		compatible = "brcm,bcm6328-timer", "syscon";
		reg = <0x80 0x3c>;
	};

	reboot {
		compatible = "syscon-reboot";
		regmap = <&timer>;
		offset = <0x34>;
		mask = <0x1>;
	};
+19 −0
Original line number Diff line number Diff line
Broadcom BCM63138 Processor Monitor Bus binding
===============================================

Please also refer to reset.txt in this directory for common reset
controller binding usage.

Require properties:

- compatible: must be "brcm,bcm63138-pmb"
- reg: base register address and size for this bus controller
- #reset-cells: must be 2 first cell is the address within the bus instance designated
  by the phandle, and the second is the number of zones for this peripheral

Example:
	pmb0: reset-controller@4800c0 {
		compatible = "brcm,bcm63138-pmb";
		reg = <0x4800c0 0x10>;
		#reset-cells = <2>;
	};
+4 −0
Original line number Diff line number Diff line
@@ -58,13 +58,17 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
	bcm2835-rpi-b.dtb \
	bcm2835-rpi-b-plus.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
	bcm4708-asus-rt-ac56u.dtb \
	bcm4708-asus-rt-ac68u.dtb \
	bcm4708-buffalo-wzr-1750dhp.dtb \
	bcm4708-luxul-xwc-1000.dtb \
	bcm4708-netgear-r6250.dtb \
	bcm4708-netgear-r6300-v2.dtb \
	bcm4708-smartrg-sr400ac.dtb \
	bcm47081-asus-rt-n18u.dtb \
	bcm47081-buffalo-wzr-600dhp2.dtb \
	bcm47081-buffalo-wzr-900dhp.dtb \
	bcm4709-buffalo-wxr-1900dhp.dtb \
	bcm4709-netgear-r8000.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += \
	bcm963138dvt.dtb
+12 −0
Original line number Diff line number Diff line
@@ -212,6 +212,18 @@
		status = "disabled";
	};

	nand: nand@18046000 {
		compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
		reg = <0x18046000 0x600>, <0xf8105408 0x600>, <0x18046f00 0x20>;
		reg-names = "nand", "iproc-idm", "iproc-ext";
		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;

		#address-cells = <1>;
		#size-cells = <0>;

		brcm,nand-has-wp;
	};

	gic: interrupt-controller@19021000 {
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
+96 −0
Original line number Diff line number Diff line
/*
 * Broadcom BCM470X / BCM5301X ARM platform code.
 * DTS for Asus RT-AC56U
 *
 * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
 *
 * Licensed under the GNU/GPL. See COPYING for details.
 */

/dts-v1/;

#include "bcm4708.dtsi"

/ {
	compatible = "asus,rt-ac56u", "brcm,bcm4708";
	model = "Asus RT-AC56U (BCM4708)";

	chosen {
		bootargs = "console=ttyS0,115200";
	};

	memory {
		reg = <0x00000000 0x08000000>;
	};

	leds {
		compatible = "gpio-leds";

		usb3 {
			label = "bcm53xx:blue:usb3";
			gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		wan {
			label = "bcm53xx:blue:wan";
			gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		lan {
			label = "bcm53xx:blue:lan";
			gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		power {
			label = "bcm53xx:blue:power";
			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-on";
		};

		all {
			label = "bcm53xx:blue:all";
			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-on";
		};

		2ghz {
			label = "bcm53xx:blue:2ghz";
			gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};


		usb2 {
			label = "bcm53xx:blue:usb2";
			gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		rfkill {
			label = "WiFi";
			linux,code = <KEY_RFKILL>;
			gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
		};

		restart {
			label = "Reset";
			linux,code = <KEY_RESTART>;
			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
		};

		wps {
			label = "WPS";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
		};
	};
};
Loading