arm64: dts: NS2: add support for XMC form factor
authorJon Mason <jon.mason@broadcom.com>
Mon, 5 Dec 2016 23:12:22 +0000 (18:12 -0500)
committerFlorian Fainelli <f.fainelli@gmail.com>
Tue, 3 Jan 2017 23:23:22 +0000 (15:23 -0800)
The BCM958712DxXMC board is a smaller form factor typically used as
controller boards for switches.  This smaller board has less devices
pinned out, so only a few need be populated in the device tree.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm64/boot/dts/broadcom/Makefile
arch/arm64/boot/dts/broadcom/ns2-xmc.dts [new file with mode: 0644]

index 05faf2a8a35ca5ba9049b9038dedb9be88eeb7c5..f1caece9d3a7ae7af8f95f9b9675e935a59ace6b 100644 (file)
@@ -1,5 +1,5 @@
 dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
-dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb
+dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb
 dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
 
 always         := $(dtb-y)
diff --git a/arch/arm64/boot/dts/broadcom/ns2-xmc.dts b/arch/arm64/boot/dts/broadcom/ns2-xmc.dts
new file mode 100644 (file)
index 0000000..99a2723
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+ *  BSD LICENSE
+ *
+ *  Copyright(c) 2016 Broadcom.  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in
+ *      the documentation and/or other materials provided with the
+ *      distribution.
+ *    * Neither the name of Broadcom Corporation nor the names of its
+ *      contributors may be used to endorse or promote products derived
+ *      from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/dts-v1/;
+
+#include "ns2.dtsi"
+
+/ {
+       model = "Broadcom NS2 XMC";
+       compatible = "brcm,ns2-xmc", "brcm,ns2";
+
+       aliases {
+               serial0 = &uart3;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+               bootargs = "earlycon=uart8250,mmio32,0x66130000";
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x000000000 0x80000000 0x00000001 0x00000000>;
+       };
+};
+
+&enet {
+       status = "ok";
+};
+
+&i2c0 {
+       status = "ok";
+};
+
+&i2c1 {
+       status = "ok";
+};
+
+&mdio_mux_iproc {
+       mdio@10 {
+               gphy0: eth-phy@10 {
+                       reg = <0x10>;
+               };
+       };
+};
+
+&nand {
+       nandcs@0 {
+               compatible = "brcm,nandcs";
+               reg = <0>;
+               nand-ecc-mode = "hw";
+               nand-ecc-strength = <8>;
+               nand-ecc-step-size = <512>;
+               nand-bus-width = <16>;
+               brcm,nand-oob-sector-size = <16>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "nboot";
+                       reg = <0x00000000 0x00280000>; /*  2.5MB */
+                       read-only;
+               };
+
+               partition@280000 {
+                       label = "nenv";
+                       reg = <0x00280000 0x00040000>; /* 0.25MB */
+                       read-only;
+               };
+
+               partition@2c0000 {
+                       label = "ndtb";
+                       reg = <0x002c0000 0x00040000>; /* 0.25MB */
+                       read-only;
+               };
+
+               partition@300000 {
+                       label = "nsystem";
+                       reg = <0x00300000 0x03d00000>; /*   61MB */
+                       read-only;
+               };
+
+               partition@4000000 {
+                       label = "nrootfs";
+                       reg = <0x04000000 0x06400000>; /*  100MB */
+               };
+
+               partition@0a400000{
+                       label = "ncustfs";
+                       reg = <0x0a400000 0x35c00000>; /*  860MB */
+               };
+       };
+};
+
+&pci_phy0 {
+       status = "ok";
+};
+
+&pcie0 {
+       status = "ok";
+};
+
+&pcie8 {
+       status = "ok";
+};
+
+&sata_phy0 {
+       status = "ok";
+};
+
+&sata_phy1 {
+       status = "ok";
+};
+
+&sata {
+       status = "ok";
+};
+
+&qspi {
+       flash: m25p80@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "m25p80";
+               spi-max-frequency = <62500000>;
+               m25p,default-addr-width = <3>;
+               reg = <0x0 0x0>;
+
+               partition@0 {
+                       label = "bl0";
+                       reg = <0x00000000 0x00080000>; /*  512KB */
+               };
+
+               partition@80000 {
+                       label = "fip";
+                       reg = <0x00080000 0x00150000>; /* 1344KB */
+               };
+
+               partition@1e0000 {
+                       label = "env";
+                       reg = <0x001e0000 0x00010000>;/*    64KB */
+               };
+
+               partition@1f0000 {
+                       label = "dtb";
+                       reg = <0x001f0000 0x00010000>; /*   64KB */
+               };
+
+               partition@200000 {
+                       label = "kernel";
+                       reg = <0x00200000 0x00e00000>; /*   14MB */
+               };
+
+               partition@1000000 {
+                       label = "rootfs";
+                       reg = <0x01000000 0x01000000>; /*   16MB */
+               };
+       };
+};
+
+&uart3 {
+       status = "ok";
+};