163a913c1SScott Branden/*
263a913c1SScott Branden *  BSD LICENSE
363a913c1SScott Branden *
463a913c1SScott Branden *  Copyright(c) 2016 Broadcom.  All rights reserved.
563a913c1SScott Branden *
663a913c1SScott Branden *  Redistribution and use in source and binary forms, with or without
763a913c1SScott Branden *  modification, are permitted provided that the following conditions
863a913c1SScott Branden *  are met:
963a913c1SScott Branden *
1063a913c1SScott Branden *    * Redistributions of source code must retain the above copyright
1163a913c1SScott Branden *      notice, this list of conditions and the following disclaimer.
1263a913c1SScott Branden *    * Redistributions in binary form must reproduce the above copyright
1363a913c1SScott Branden *      notice, this list of conditions and the following disclaimer in
1463a913c1SScott Branden *      the documentation and/or other materials provided with the
1563a913c1SScott Branden *      distribution.
1663a913c1SScott Branden *    * Neither the name of Broadcom Corporation nor the names of its
1763a913c1SScott Branden *      contributors may be used to endorse or promote products derived
1863a913c1SScott Branden *      from this software without specific prior written permission.
1963a913c1SScott Branden *
2063a913c1SScott Branden *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2163a913c1SScott Branden *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2263a913c1SScott Branden *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2363a913c1SScott Branden *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2463a913c1SScott Branden *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2563a913c1SScott Branden *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2663a913c1SScott Branden *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2763a913c1SScott Branden *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2863a913c1SScott Branden *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2963a913c1SScott Branden *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3063a913c1SScott Branden * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3163a913c1SScott Branden */
3263a913c1SScott Branden
3363a913c1SScott Branden/dts-v1/;
3463a913c1SScott Branden
3563a913c1SScott Branden#include "ns2.dtsi"
3663a913c1SScott Branden
3763a913c1SScott Branden/ {
3863a913c1SScott Branden	model = "Broadcom NS2 XMC";
3963a913c1SScott Branden	compatible = "brcm,ns2-xmc", "brcm,ns2";
4063a913c1SScott Branden
4163a913c1SScott Branden	aliases {
4263a913c1SScott Branden		serial0 = &uart3;
4363a913c1SScott Branden	};
4463a913c1SScott Branden
4563a913c1SScott Branden	chosen {
4663a913c1SScott Branden		stdout-path = "serial0:115200n8";
4763a913c1SScott Branden		bootargs = "earlycon=uart8250,mmio32,0x66130000";
4863a913c1SScott Branden	};
4963a913c1SScott Branden
5063a913c1SScott Branden	memory {
5163a913c1SScott Branden		device_type = "memory";
52*b5a17c35SKrzysztof Kozlowski		reg = <0x00000000 0x80000000 0x00000001 0x00000000>;
5363a913c1SScott Branden	};
5463a913c1SScott Branden};
5563a913c1SScott Branden
5663a913c1SScott Branden&enet {
5763a913c1SScott Branden	status = "okay";
5863a913c1SScott Branden};
5963a913c1SScott Branden
6063a913c1SScott Branden&i2c0 {
6163a913c1SScott Branden	status = "okay";
6263a913c1SScott Branden};
6363a913c1SScott Branden
6463a913c1SScott Branden&i2c1 {
6563a913c1SScott Branden	status = "okay";
6663a913c1SScott Branden};
6763a913c1SScott Branden
6863a913c1SScott Branden&mdio_mux_iproc {
6963a913c1SScott Branden	mdio@10 {
7063a913c1SScott Branden		gphy0: eth-phy@10 {
7163a913c1SScott Branden			reg = <0x10>;
7263a913c1SScott Branden		};
7363a913c1SScott Branden	};
7463a913c1SScott Branden};
7563a913c1SScott Branden
7663a913c1SScott Branden&nand {
7763a913c1SScott Branden	nandcs@0 {
7863a913c1SScott Branden		compatible = "brcm,nandcs";
7963a913c1SScott Branden		reg = <0>;
8063a913c1SScott Branden		nand-ecc-mode = "hw";
8163a913c1SScott Branden		nand-ecc-strength = <8>;
8263a913c1SScott Branden		nand-ecc-step-size = <512>;
8363a913c1SScott Branden		nand-bus-width = <16>;
8463a913c1SScott Branden		brcm,nand-oob-sector-size = <16>;
8563a913c1SScott Branden		#address-cells = <1>;
8663a913c1SScott Branden		#size-cells = <1>;
8763a913c1SScott Branden
8863a913c1SScott Branden		partition@0 {
8963a913c1SScott Branden			label = "nboot";
9063a913c1SScott Branden			reg = <0x00000000 0x00280000>; /*  2.5MB */
9163a913c1SScott Branden			read-only;
9263a913c1SScott Branden		};
9363a913c1SScott Branden
9463a913c1SScott Branden		partition@280000 {
9563a913c1SScott Branden			label = "nenv";
9663a913c1SScott Branden			reg = <0x00280000 0x00040000>; /* 0.25MB */
9763a913c1SScott Branden			read-only;
9863a913c1SScott Branden		};
9963a913c1SScott Branden
10063a913c1SScott Branden		partition@2c0000 {
10163a913c1SScott Branden			label = "ndtb";
10263a913c1SScott Branden			reg = <0x002c0000 0x00040000>; /* 0.25MB */
10363a913c1SScott Branden			read-only;
10463a913c1SScott Branden		};
10563a913c1SScott Branden
10663a913c1SScott Branden		partition@300000 {
10763a913c1SScott Branden			label = "nsystem";
10863a913c1SScott Branden			reg = <0x00300000 0x03d00000>; /*   61MB */
10963a913c1SScott Branden			read-only;
11063a913c1SScott Branden		};
11163a913c1SScott Branden
11263a913c1SScott Branden		partition@4000000 {
11363a913c1SScott Branden			label = "nrootfs";
11463a913c1SScott Branden			reg = <0x04000000 0x06400000>; /*  100MB */
11563a913c1SScott Branden		};
11663a913c1SScott Branden
117d8bcaabeSRob Herring		partition@a400000 {
11863a913c1SScott Branden			label = "ncustfs";
11963a913c1SScott Branden			reg = <0x0a400000 0x35c00000>; /*  860MB */
12063a913c1SScott Branden		};
12163a913c1SScott Branden	};
12263a913c1SScott Branden};
12363a913c1SScott Branden
12463a913c1SScott Branden&pci_phy0 {
12563a913c1SScott Branden	status = "okay";
12663a913c1SScott Branden};
12763a913c1SScott Branden
12863a913c1SScott Branden&pcie0 {
12963a913c1SScott Branden	status = "okay";
13063a913c1SScott Branden};
13163a913c1SScott Branden
13263a913c1SScott Branden&pcie8 {
13363a913c1SScott Branden	status = "okay";
13463a913c1SScott Branden};
13563a913c1SScott Branden
13663a913c1SScott Branden&sata_phy0 {
13763a913c1SScott Branden	status = "okay";
13863a913c1SScott Branden};
13963a913c1SScott Branden
14063a913c1SScott Branden&sata_phy1 {
14163a913c1SScott Branden	status = "okay";
14263a913c1SScott Branden};
14363a913c1SScott Branden
14463a913c1SScott Branden&sata {
14563a913c1SScott Branden	status = "okay";
14663a913c1SScott Branden};
14763a913c1SScott Branden
14863a913c1SScott Branden&qspi {
149ad2c6e3cSKrzysztof Kozlowski	flash: flash@0 {
15063a913c1SScott Branden		#address-cells = <1>;
15163a913c1SScott Branden		#size-cells = <1>;
15263a913c1SScott Branden		compatible = "m25p80";
15363a913c1SScott Branden		spi-max-frequency = <62500000>;
15463a913c1SScott Branden		m25p,default-addr-width = <3>;
15563a913c1SScott Branden		reg = <0x0 0x0>;
15663a913c1SScott Branden
15763a913c1SScott Branden		partition@0 {
15863a913c1SScott Branden			label = "bl0";
15963a913c1SScott Branden			reg = <0x00000000 0x00080000>; /*  512KB */
16063a913c1SScott Branden		};
16163a913c1SScott Branden
16263a913c1SScott Branden		partition@80000 {
16363a913c1SScott Branden			label = "fip";
16463a913c1SScott Branden			reg = <0x00080000 0x00150000>; /* 1344KB */
16563a913c1SScott Branden		};
16663a913c1SScott Branden
16763a913c1SScott Branden		partition@1e0000 {
16863a913c1SScott Branden			label = "env";
16963a913c1SScott Branden			reg = <0x001e0000 0x00010000>;/*    64KB */
17063a913c1SScott Branden		};
17163a913c1SScott Branden
17263a913c1SScott Branden		partition@1f0000 {
17363a913c1SScott Branden			label = "dtb";
17463a913c1SScott Branden			reg = <0x001f0000 0x00010000>; /*   64KB */
17563a913c1SScott Branden		};
17663a913c1SScott Branden
17763a913c1SScott Branden		partition@200000 {
17863a913c1SScott Branden			label = "kernel";
17963a913c1SScott Branden			reg = <0x00200000 0x00e00000>; /*   14MB */
18063a913c1SScott Branden		};
18163a913c1SScott Branden
18263a913c1SScott Branden		partition@1000000 {
18363a913c1SScott Branden			label = "rootfs";
18463a913c1SScott Branden			reg = <0x01000000 0x01000000>; /*   16MB */
18563a913c1SScott Branden		};
18663a913c1SScott Branden	};
18763a913c1SScott Branden};
18863a913c1SScott Branden
18963a913c1SScott Branden&uart3 {
19063a913c1SScott Branden	status = "okay";
19163a913c1SScott Branden};
192