1*724ba675SRob Herring/* 2*724ba675SRob Herring * BSD LICENSE 3*724ba675SRob Herring * 4*724ba675SRob Herring * Copyright(c) 2015 Broadcom Corporation. All rights reserved. 5*724ba675SRob Herring * 6*724ba675SRob Herring * Redistribution and use in source and binary forms, with or without 7*724ba675SRob Herring * modification, are permitted provided that the following conditions 8*724ba675SRob Herring * are met: 9*724ba675SRob Herring * 10*724ba675SRob Herring * * Redistributions of source code must retain the above copyright 11*724ba675SRob Herring * notice, this list of conditions and the following disclaimer. 12*724ba675SRob Herring * * Redistributions in binary form must reproduce the above copyright 13*724ba675SRob Herring * notice, this list of conditions and the following disclaimer in 14*724ba675SRob Herring * the documentation and/or other materials provided with the 15*724ba675SRob Herring * distribution. 16*724ba675SRob Herring * * Neither the name of Broadcom Corporation nor the names of its 17*724ba675SRob Herring * contributors may be used to endorse or promote products derived 18*724ba675SRob Herring * from this software without specific prior written permission. 19*724ba675SRob Herring * 20*724ba675SRob Herring * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21*724ba675SRob Herring * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22*724ba675SRob Herring * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23*724ba675SRob Herring * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24*724ba675SRob Herring * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25*724ba675SRob Herring * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26*724ba675SRob Herring * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27*724ba675SRob Herring * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28*724ba675SRob Herring * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29*724ba675SRob Herring * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30*724ba675SRob Herring * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*724ba675SRob Herring */ 32*724ba675SRob Herring 33*724ba675SRob Herring/dts-v1/; 34*724ba675SRob Herring 35*724ba675SRob Herring#include "bcm-nsp.dtsi" 36*724ba675SRob Herring 37*724ba675SRob Herring/ { 38*724ba675SRob Herring model = "NorthStar Plus SVK (BCM958625K)"; 39*724ba675SRob Herring compatible = "brcm,bcm958625k", "brcm,bcm58625", "brcm,nsp"; 40*724ba675SRob Herring 41*724ba675SRob Herring chosen { 42*724ba675SRob Herring stdout-path = "serial0:115200n8"; 43*724ba675SRob Herring }; 44*724ba675SRob Herring 45*724ba675SRob Herring memory@60000000 { 46*724ba675SRob Herring device_type = "memory"; 47*724ba675SRob Herring reg = <0x60000000 0x80000000>; 48*724ba675SRob Herring }; 49*724ba675SRob Herring}; 50*724ba675SRob Herring 51*724ba675SRob Herring&dma { 52*724ba675SRob Herring status = "okay"; 53*724ba675SRob Herring}; 54*724ba675SRob Herring 55*724ba675SRob Herring&amac0 { 56*724ba675SRob Herring status = "okay"; 57*724ba675SRob Herring}; 58*724ba675SRob Herring 59*724ba675SRob Herring&amac1 { 60*724ba675SRob Herring status = "okay"; 61*724ba675SRob Herring}; 62*724ba675SRob Herring 63*724ba675SRob Herring&amac2 { 64*724ba675SRob Herring status = "okay"; 65*724ba675SRob Herring}; 66*724ba675SRob Herring 67*724ba675SRob Herring&ehci0 { 68*724ba675SRob Herring status = "okay"; 69*724ba675SRob Herring}; 70*724ba675SRob Herring 71*724ba675SRob Herring&nand_controller { 72*724ba675SRob Herring nand@0 { 73*724ba675SRob Herring compatible = "brcm,nandcs"; 74*724ba675SRob Herring reg = <0>; 75*724ba675SRob Herring nand-on-flash-bbt; 76*724ba675SRob Herring 77*724ba675SRob Herring #address-cells = <1>; 78*724ba675SRob Herring #size-cells = <1>; 79*724ba675SRob Herring 80*724ba675SRob Herring nand-ecc-strength = <24>; 81*724ba675SRob Herring nand-ecc-step-size = <1024>; 82*724ba675SRob Herring 83*724ba675SRob Herring brcm,nand-oob-sector-size = <27>; 84*724ba675SRob Herring 85*724ba675SRob Herring partition@0 { 86*724ba675SRob Herring label = "nboot"; 87*724ba675SRob Herring reg = <0x00000000 0x00200000>; 88*724ba675SRob Herring read-only; 89*724ba675SRob Herring }; 90*724ba675SRob Herring partition@200000 { 91*724ba675SRob Herring label = "nenv"; 92*724ba675SRob Herring reg = <0x00200000 0x00400000>; 93*724ba675SRob Herring }; 94*724ba675SRob Herring partition@600000 { 95*724ba675SRob Herring label = "nsystem"; 96*724ba675SRob Herring reg = <0x00600000 0x00a00000>; 97*724ba675SRob Herring }; 98*724ba675SRob Herring partition@1000000 { 99*724ba675SRob Herring label = "nrootfs"; 100*724ba675SRob Herring reg = <0x01000000 0x03000000>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring partition@4000000 { 103*724ba675SRob Herring label = "ncustfs"; 104*724ba675SRob Herring reg = <0x04000000 0x3c000000>; 105*724ba675SRob Herring }; 106*724ba675SRob Herring }; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herring&ohci0 { 110*724ba675SRob Herring status = "okay"; 111*724ba675SRob Herring}; 112*724ba675SRob Herring 113*724ba675SRob Herring&pcie0 { 114*724ba675SRob Herring status = "okay"; 115*724ba675SRob Herring}; 116*724ba675SRob Herring 117*724ba675SRob Herring&pcie1 { 118*724ba675SRob Herring status = "okay"; 119*724ba675SRob Herring}; 120*724ba675SRob Herring 121*724ba675SRob Herring&pcie2 { 122*724ba675SRob Herring status = "okay"; 123*724ba675SRob Herring}; 124*724ba675SRob Herring 125*724ba675SRob Herring&pinctrl { 126*724ba675SRob Herring pinctrl-names = "default"; 127*724ba675SRob Herring pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>; 128*724ba675SRob Herring 129*724ba675SRob Herring nand_sel: nand_sel { 130*724ba675SRob Herring function = "nand"; 131*724ba675SRob Herring groups = "nand_grp"; 132*724ba675SRob Herring }; 133*724ba675SRob Herring 134*724ba675SRob Herring gpiobs: gpiobs { 135*724ba675SRob Herring function = "gpio_b"; 136*724ba675SRob Herring groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp", 137*724ba675SRob Herring "gpio_b_3_grp"; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring pwmc: pwmc { 141*724ba675SRob Herring function = "pwm"; 142*724ba675SRob Herring groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp"; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring emmc_sel: emmc_sel { 146*724ba675SRob Herring function = "emmc"; 147*724ba675SRob Herring groups = "emmc_grp"; 148*724ba675SRob Herring }; 149*724ba675SRob Herring}; 150*724ba675SRob Herring 151*724ba675SRob Herring&pwm { 152*724ba675SRob Herring status = "okay"; 153*724ba675SRob Herring}; 154*724ba675SRob Herring 155*724ba675SRob Herring&qspi { 156*724ba675SRob Herring status = "okay"; 157*724ba675SRob Herring bspi-sel = <0>; 158*724ba675SRob Herring flash: flash@0 { 159*724ba675SRob Herring #address-cells = <1>; 160*724ba675SRob Herring #size-cells = <1>; 161*724ba675SRob Herring compatible = "m25p80"; 162*724ba675SRob Herring reg = <0x0>; 163*724ba675SRob Herring spi-max-frequency = <12500000>; 164*724ba675SRob Herring m25p,fast-read; 165*724ba675SRob Herring spi-cpol; 166*724ba675SRob Herring spi-cpha; 167*724ba675SRob Herring 168*724ba675SRob Herring partition@0 { 169*724ba675SRob Herring label = "boot"; 170*724ba675SRob Herring reg = <0x00000000 0x000a0000>; 171*724ba675SRob Herring }; 172*724ba675SRob Herring 173*724ba675SRob Herring partition@a0000 { 174*724ba675SRob Herring label = "env"; 175*724ba675SRob Herring reg = <0x000a0000 0x00060000>; 176*724ba675SRob Herring }; 177*724ba675SRob Herring 178*724ba675SRob Herring partition@100000 { 179*724ba675SRob Herring label = "system"; 180*724ba675SRob Herring reg = <0x00100000 0x00600000>; 181*724ba675SRob Herring }; 182*724ba675SRob Herring 183*724ba675SRob Herring partition@700000 { 184*724ba675SRob Herring label = "rootfs"; 185*724ba675SRob Herring reg = <0x00700000 0x01900000>; 186*724ba675SRob Herring }; 187*724ba675SRob Herring }; 188*724ba675SRob Herring}; 189*724ba675SRob Herring 190*724ba675SRob Herring&sata_phy0 { 191*724ba675SRob Herring status = "okay"; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring&sata_phy1 { 195*724ba675SRob Herring status = "okay"; 196*724ba675SRob Herring}; 197*724ba675SRob Herring 198*724ba675SRob Herring&sata { 199*724ba675SRob Herring status = "okay"; 200*724ba675SRob Herring}; 201*724ba675SRob Herring 202*724ba675SRob Herring/* 203*724ba675SRob Herring * By default the sd slot is functional. For emmc to work add "<&emmc_sel>" 204*724ba675SRob Herring * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the 205*724ba675SRob Herring * bus-width property here and disable the nand node with status = "disabled";. 206*724ba675SRob Herring * 207*724ba675SRob Herring * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>; 208*724ba675SRob Herring */ 209*724ba675SRob Herring&sdio { 210*724ba675SRob Herring bus-width = <4>; 211*724ba675SRob Herring no-1-8-v; 212*724ba675SRob Herring status = "okay"; 213*724ba675SRob Herring}; 214*724ba675SRob Herring 215*724ba675SRob Herring&srab { 216*724ba675SRob Herring compatible = "brcm,bcm58625-srab", "brcm,nsp-srab"; 217*724ba675SRob Herring status = "okay"; 218*724ba675SRob Herring 219*724ba675SRob Herring ports { 220*724ba675SRob Herring port@0 { 221*724ba675SRob Herring label = "port0"; 222*724ba675SRob Herring reg = <0>; 223*724ba675SRob Herring }; 224*724ba675SRob Herring 225*724ba675SRob Herring port@1 { 226*724ba675SRob Herring label = "port1"; 227*724ba675SRob Herring reg = <1>; 228*724ba675SRob Herring }; 229*724ba675SRob Herring 230*724ba675SRob Herring port@2 { 231*724ba675SRob Herring label = "port2"; 232*724ba675SRob Herring reg = <2>; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring port@3 { 236*724ba675SRob Herring label = "port3"; 237*724ba675SRob Herring reg = <3>; 238*724ba675SRob Herring }; 239*724ba675SRob Herring 240*724ba675SRob Herring port@4 { 241*724ba675SRob Herring label = "port4"; 242*724ba675SRob Herring reg = <4>; 243*724ba675SRob Herring }; 244*724ba675SRob Herring 245*724ba675SRob Herring port@8 { 246*724ba675SRob Herring ethernet = <&amac2>; 247*724ba675SRob Herring label = "cpu"; 248*724ba675SRob Herring reg = <8>; 249*724ba675SRob Herring fixed-link { 250*724ba675SRob Herring speed = <1000>; 251*724ba675SRob Herring full-duplex; 252*724ba675SRob Herring }; 253*724ba675SRob Herring }; 254*724ba675SRob Herring }; 255*724ba675SRob Herring}; 256*724ba675SRob Herring 257*724ba675SRob Herring&uart0 { 258*724ba675SRob Herring status = "okay"; 259*724ba675SRob Herring}; 260*724ba675SRob Herring 261*724ba675SRob Herring&uart1 { 262*724ba675SRob Herring status = "okay"; 263*724ba675SRob Herring}; 264*724ba675SRob Herring 265*724ba675SRob Herring&usb3_phy { 266*724ba675SRob Herring status = "okay"; 267*724ba675SRob Herring}; 268*724ba675SRob Herring 269*724ba675SRob Herring&xhci { 270*724ba675SRob Herring status = "okay"; 271*724ba675SRob Herring}; 272