1/* 2 * Device Tree file for Marvell Armada 370 evaluation board 3 * (DB-88F6710-BP-DDR3) 4 * 5 * Copyright (C) 2012 Marvell 6 * 7 * Lior Amsalem <alior@marvell.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 10 * 11 * This file is dual-licensed: you can use it either under the terms 12 * of the GPL or the X11 license, at your option. Note that this dual 13 * licensing only applies to this file, and not this project as a 14 * whole. 15 * 16 * a) This file is free software; you can redistribute it and/or 17 * modify it under the terms of the GNU General Public License as 18 * published by the Free Software Foundation; either version 2 of the 19 * License, or (at your option) any later version. 20 * 21 * This file is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 * GNU General Public License for more details. 25 * 26 * Or, alternatively, 27 * 28 * b) Permission is hereby granted, free of charge, to any person 29 * obtaining a copy of this software and associated documentation 30 * files (the "Software"), to deal in the Software without 31 * restriction, including without limitation the rights to use, 32 * copy, modify, merge, publish, distribute, sublicense, and/or 33 * sell copies of the Software, and to permit persons to whom the 34 * Software is furnished to do so, subject to the following 35 * conditions: 36 * 37 * The above copyright notice and this permission notice shall be 38 * included in all copies or substantial portions of the Software. 39 * 40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 47 * OTHER DEALINGS IN THE SOFTWARE. 48 * 49 * Note: this Device Tree assumes that the bootloader has remapped the 50 * internal registers to 0xf1000000 (instead of the default 51 * 0xd0000000). The 0xf1000000 is the default used by the recent, 52 * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier 53 * boards were delivered with an older version of the bootloader that 54 * left internal registers mapped at 0xd0000000. If you are in this 55 * situation, you should either update your bootloader (preferred 56 * solution) or the below Device Tree should be adjusted. 57 */ 58 59/dts-v1/; 60#include "armada-370.dtsi" 61 62/ { 63 model = "Marvell Armada 370 Evaluation Board"; 64 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp"; 65 66 chosen { 67 stdout-path = "serial0:115200n8"; 68 }; 69 70 memory@0 { 71 device_type = "memory"; 72 reg = <0x00000000 0x40000000>; /* 1 GB */ 73 }; 74 75 soc { 76 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 77 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 78 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 79 80 internal-regs { 81 serial@12000 { 82 status = "okay"; 83 }; 84 sata@a0000 { 85 nr-ports = <2>; 86 status = "okay"; 87 }; 88 89 ethernet@70000 { 90 pinctrl-0 = <&ge0_rgmii_pins>; 91 pinctrl-names = "default"; 92 status = "okay"; 93 phy = <&phy0>; 94 phy-mode = "rgmii-id"; 95 }; 96 ethernet@74000 { 97 pinctrl-0 = <&ge1_rgmii_pins>; 98 pinctrl-names = "default"; 99 status = "okay"; 100 phy = <&phy1>; 101 phy-mode = "rgmii-id"; 102 }; 103 104 i2c@11000 { 105 pinctrl-0 = <&i2c0_pins>; 106 pinctrl-names = "default"; 107 clock-frequency = <100000>; 108 status = "okay"; 109 audio_codec: audio-codec@4a { 110 #sound-dai-cells = <0>; 111 compatible = "cirrus,cs42l51"; 112 reg = <0x4a>; 113 }; 114 }; 115 116 audio-controller@30000 { 117 pinctrl-0 = <&i2s_pins2>; 118 pinctrl-names = "default"; 119 status = "okay"; 120 }; 121 122 mvsdio@d4000 { 123 pinctrl-0 = <&sdio_pins1>; 124 pinctrl-names = "default"; 125 /* 126 * This device is disabled by default, because 127 * using the SD card connector requires 128 * changing the default CON40 connector 129 * "DB-88F6710_MPP_2xRGMII_DEVICE_Jumper" to a 130 * different connector 131 * "DB-88F6710_MPP_RGMII_SD_Jumper". 132 */ 133 status = "disabled"; 134 /* No CD or WP GPIOs */ 135 broken-cd; 136 }; 137 138 usb@50000 { 139 status = "okay"; 140 }; 141 142 usb@51000 { 143 status = "okay"; 144 }; 145 146 nand@d0000 { 147 status = "okay"; 148 num-cs = <1>; 149 marvell,nand-keep-config; 150 marvell,nand-enable-arbiter; 151 nand-on-flash-bbt; 152 153 partitions { 154 compatible = "fixed-partitions"; 155 #address-cells = <1>; 156 #size-cells = <1>; 157 158 partition@0 { 159 label = "U-Boot"; 160 reg = <0 0x800000>; 161 }; 162 partition@800000 { 163 label = "Linux"; 164 reg = <0x800000 0x800000>; 165 }; 166 partition@1000000 { 167 label = "Filesystem"; 168 reg = <0x1000000 0x3f000000>; 169 }; 170 }; 171 }; 172 }; 173 }; 174 175 sound { 176 compatible = "simple-audio-card"; 177 simple-audio-card,name = "Armada 370 DB Audio"; 178 simple-audio-card,mclk-fs = <256>; 179 simple-audio-card,widgets = 180 "Headphone", "Out Jack", 181 "Line", "In Jack"; 182 simple-audio-card,routing = 183 "Out Jack", "HPL", 184 "Out Jack", "HPR", 185 "AIN1L", "In Jack", 186 "AIN1L", "In Jack"; 187 status = "okay"; 188 189 simple-audio-card,dai-link@0 { 190 format = "i2s"; 191 cpu { 192 sound-dai = <&audio_controller 0>; 193 }; 194 195 codec { 196 sound-dai = <&audio_codec>; 197 }; 198 }; 199 200 simple-audio-card,dai-link@1 { 201 format = "i2s"; 202 cpu { 203 sound-dai = <&audio_controller 1>; 204 }; 205 206 codec { 207 sound-dai = <&spdif_out>; 208 }; 209 }; 210 211 simple-audio-card,dai-link@2 { 212 format = "i2s"; 213 cpu { 214 sound-dai = <&audio_controller 1>; 215 }; 216 217 codec { 218 sound-dai = <&spdif_in>; 219 }; 220 }; 221 }; 222 223 spdif_out: spdif-out { 224 #sound-dai-cells = <0>; 225 compatible = "linux,spdif-dit"; 226 }; 227 228 spdif_in: spdif-in { 229 #sound-dai-cells = <0>; 230 compatible = "linux,spdif-dir"; 231 }; 232}; 233 234&pciec { 235 status = "okay"; 236 /* 237 * The two PCIe units are accessible through 238 * both standard PCIe slots and mini-PCIe 239 * slots on the board. 240 */ 241 pcie@1,0 { 242 /* Port 0, Lane 0 */ 243 status = "okay"; 244 }; 245 246 pcie@2,0 { 247 /* Port 1, Lane 0 */ 248 status = "okay"; 249 }; 250}; 251 252&mdio { 253 pinctrl-0 = <&mdio_pins>; 254 pinctrl-names = "default"; 255 phy0: ethernet-phy@0 { 256 reg = <0>; 257 }; 258 259 phy1: ethernet-phy@1 { 260 reg = <1>; 261 }; 262}; 263 264 265&spi0 { 266 pinctrl-0 = <&spi0_pins2>; 267 pinctrl-names = "default"; 268 status = "okay"; 269 270 spi-flash@0 { 271 #address-cells = <1>; 272 #size-cells = <1>; 273 compatible = "mx25l25635e", "jedec,spi-nor"; 274 reg = <0>; /* Chip select 0 */ 275 spi-max-frequency = <50000000>; 276 }; 277}; 278 279