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 , 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 { 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 79 internal-regs { 80 serial@12000 { 81 status = "okay"; 82 }; 83 sata@a0000 { 84 nr-ports = <2>; 85 status = "okay"; 86 }; 87 88 mdio { 89 pinctrl-0 = <&mdio_pins>; 90 pinctrl-names = "default"; 91 phy0: ethernet-phy@0 { 92 reg = <0>; 93 }; 94 95 phy1: ethernet-phy@1 { 96 reg = <1>; 97 }; 98 }; 99 100 ethernet@70000 { 101 pinctrl-0 = <&ge0_rgmii_pins>; 102 pinctrl-names = "default"; 103 status = "okay"; 104 phy = <&phy0>; 105 phy-mode = "rgmii-id"; 106 }; 107 ethernet@74000 { 108 pinctrl-0 = <&ge1_rgmii_pins>; 109 pinctrl-names = "default"; 110 status = "okay"; 111 phy = <&phy1>; 112 phy-mode = "rgmii-id"; 113 }; 114 115 i2c@11000 { 116 pinctrl-0 = <&i2c0_pins>; 117 pinctrl-names = "default"; 118 clock-frequency = <100000>; 119 status = "okay"; 120 audio_codec: audio-codec@4a { 121 #sound-dai-cells = <0>; 122 compatible = "cirrus,cs42l51"; 123 reg = <0x4a>; 124 }; 125 }; 126 127 audio-controller@30000 { 128 pinctrl-0 = <&i2s_pins2>; 129 pinctrl-names = "default"; 130 status = "okay"; 131 }; 132 133 mvsdio@d4000 { 134 pinctrl-0 = <&sdio_pins1>; 135 pinctrl-names = "default"; 136 /* 137 * This device is disabled by default, because 138 * using the SD card connector requires 139 * changing the default CON40 connector 140 * "DB-88F6710_MPP_2xRGMII_DEVICE_Jumper" to a 141 * different connector 142 * "DB-88F6710_MPP_RGMII_SD_Jumper". 143 */ 144 status = "disabled"; 145 /* No CD or WP GPIOs */ 146 broken-cd; 147 }; 148 149 usb@50000 { 150 status = "okay"; 151 }; 152 153 usb@51000 { 154 status = "okay"; 155 }; 156 157 spi0: spi@10600 { 158 pinctrl-0 = <&spi0_pins2>; 159 pinctrl-names = "default"; 160 status = "okay"; 161 162 spi-flash@0 { 163 #address-cells = <1>; 164 #size-cells = <1>; 165 compatible = "mx25l25635e"; 166 reg = <0>; /* Chip select 0 */ 167 spi-max-frequency = <50000000>; 168 }; 169 }; 170 }; 171 172 pcie-controller { 173 status = "okay"; 174 /* 175 * The two PCIe units are accessible through 176 * both standard PCIe slots and mini-PCIe 177 * slots on the board. 178 */ 179 pcie@1,0 { 180 /* Port 0, Lane 0 */ 181 status = "okay"; 182 }; 183 184 pcie@2,0 { 185 /* Port 1, Lane 0 */ 186 status = "okay"; 187 }; 188 }; 189 }; 190 191 sound { 192 compatible = "simple-audio-card"; 193 simple-audio-card,name = "Armada 370 DB Audio"; 194 simple-audio-card,mclk-fs = <256>; 195 simple-audio-card,widgets = 196 "Headphone", "Out Jack", 197 "Line", "In Jack"; 198 simple-audio-card,routing = 199 "Out Jack", "HPL", 200 "Out Jack", "HPR", 201 "AIN1L", "In Jack", 202 "AIN1L", "In Jack"; 203 status = "okay"; 204 205 simple-audio-card,dai-link@0 { 206 format = "i2s"; 207 cpu { 208 sound-dai = <&audio_controller 0>; 209 }; 210 211 codec { 212 sound-dai = <&audio_codec>; 213 }; 214 }; 215 216 simple-audio-card,dai-link@1 { 217 format = "i2s"; 218 cpu { 219 sound-dai = <&audio_controller 1>; 220 }; 221 222 codec { 223 sound-dai = <&spdif_out>; 224 }; 225 }; 226 227 simple-audio-card,dai-link@2 { 228 format = "i2s"; 229 cpu { 230 sound-dai = <&audio_controller 1>; 231 }; 232 233 codec { 234 sound-dai = <&spdif_in>; 235 }; 236 }; 237 }; 238 239 spdif_out: spdif-out { 240 #sound-dai-cells = <0>; 241 compatible = "linux,spdif-dit"; 242 }; 243 244 spdif_in: spdif-in { 245 #sound-dai-cells = <0>; 246 compatible = "linux,spdif-dir"; 247 }; 248}; 249