| /* | 
 |  *  BSD LICENSE | 
 |  * | 
 |  *  Copyright(c) 2015 Broadcom Corporation.  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 "bcm-nsp.dtsi" | 
 |  | 
 | / { | 
 | 	model = "NorthStar Plus SVK (BCM958625K)"; | 
 | 	compatible = "brcm,bcm58625", "brcm,nsp"; | 
 |  | 
 | 	aliases { | 
 | 		serial0 = &uart0; | 
 | 		serial1 = &uart1; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		stdout-path = "serial0:115200n8"; | 
 | 	}; | 
 |  | 
 | 	memory { | 
 | 		device_type = "memory"; | 
 | 		reg = <0x60000000 0x80000000>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &amac0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &amac1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &amac2 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &ehci0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &nand { | 
 | 	nandcs@0 { | 
 | 		compatible = "brcm,nandcs"; | 
 | 		reg = <0>; | 
 | 		nand-on-flash-bbt; | 
 |  | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 |  | 
 | 		nand-ecc-strength = <24>; | 
 | 		nand-ecc-step-size = <1024>; | 
 |  | 
 | 		brcm,nand-oob-sector-size = <27>; | 
 |  | 
 | 		partition@0 { | 
 | 			label = "nboot"; | 
 | 			reg = <0x00000000 0x00200000>; | 
 | 			read-only; | 
 | 		}; | 
 | 		partition@200000 { | 
 | 			label = "nenv"; | 
 | 			reg = <0x00200000 0x00400000>; | 
 | 		}; | 
 | 		partition@600000 { | 
 | 			label = "nsystem"; | 
 | 			reg = <0x00600000 0x00a00000>; | 
 | 		}; | 
 | 		partition@1000000 { | 
 | 			label = "nrootfs"; | 
 | 			reg = <0x01000000 0x03000000>; | 
 | 		}; | 
 | 		partition@4000000 { | 
 | 			label = "ncustfs"; | 
 | 			reg = <0x04000000 0x3c000000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &ohci0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pcie0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pcie1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pcie2 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pinctrl { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>; | 
 |  | 
 | 	nand_sel: nand_sel { | 
 | 		function = "nand"; | 
 | 		groups = "nand_grp"; | 
 | 	}; | 
 |  | 
 | 	gpiobs: gpiobs { | 
 | 		function = "gpio_b"; | 
 | 		groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp", | 
 | 			 "gpio_b_3_grp"; | 
 | 	}; | 
 |  | 
 | 	pwmc: pwmc { | 
 | 		function = "pwm"; | 
 | 		groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp"; | 
 | 	}; | 
 |  | 
 | 	emmc_sel: emmc_sel { | 
 | 		function = "emmc"; | 
 | 		groups = "emmc_grp"; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pwm { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &qspi { | 
 | 	bspi-sel = <0>; | 
 | 	flash: m25p80@0 { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		compatible = "m25p80"; | 
 | 		reg = <0x0>; | 
 | 		spi-max-frequency = <12500000>; | 
 | 		m25p,fast-read; | 
 | 		spi-cpol; | 
 | 		spi-cpha; | 
 |  | 
 | 		partition@0 { | 
 | 			label = "boot"; | 
 | 			reg = <0x00000000 0x000a0000>; | 
 | 		}; | 
 |  | 
 | 		partition@a0000 { | 
 | 			label = "env"; | 
 | 			reg = <0x000a0000 0x00060000>; | 
 | 		}; | 
 |  | 
 | 		partition@100000 { | 
 | 			label = "system"; | 
 | 			reg = <0x00100000 0x00600000>; | 
 | 		}; | 
 |  | 
 | 		partition@700000 { | 
 | 			label = "rootfs"; | 
 | 			reg = <0x00700000 0x01900000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &sata_phy0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &sata_phy1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &sata { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | /* | 
 |  * By default the sd slot is functional. For emmc to work add "<&emmc_sel>" | 
 |  * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the | 
 |  * bus-width property here and disable the nand node with status = "disabled";. | 
 |  * | 
 |  * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>; | 
 |  */ | 
 | &sdio { | 
 | 	bus-width = <4>; | 
 | 	no-1-8-v; | 
 | 	status = "ok"; | 
 | }; | 
 |  | 
 | &srab { | 
 | 	compatible = "brcm,bcm58625-srab", "brcm,nsp-srab"; | 
 | 	status = "okay"; | 
 |  | 
 | 	ports { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <0>; | 
 |  | 
 | 		port@0 { | 
 | 			label = "port0"; | 
 | 			reg = <0>; | 
 | 		}; | 
 |  | 
 | 		port@1 { | 
 | 			label = "port1"; | 
 | 			reg = <1>; | 
 | 		}; | 
 |  | 
 | 		port@2 { | 
 | 			label = "port2"; | 
 | 			reg = <2>; | 
 | 		}; | 
 |  | 
 | 		port@3 { | 
 | 			label = "port3"; | 
 | 			reg = <3>; | 
 | 		}; | 
 |  | 
 | 		port@4 { | 
 | 			label = "port4"; | 
 | 			reg = <4>; | 
 | 		}; | 
 |  | 
 | 		port@8 { | 
 | 			ethernet = <&amac2>; | 
 | 			label = "cpu"; | 
 | 			reg = <8>; | 
 | 			fixed-link { | 
 | 				speed = <1000>; | 
 | 				full-duplex; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &uart0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &usb3_phy { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &xhci { | 
 | 	status = "okay"; | 
 | }; |