1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Device Tree file for Marvell Armada 370 evaluation board 4 * (DB-88F6710-BP-DDR3) 5 * 6 * Copyright (C) 2012 Marvell 7 * 8 * Lior Amsalem <alior@marvell.com> 9 * Gregory CLEMENT <gregory.clement@free-electrons.com> 10 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 11 * 12 * Note: this Device Tree assumes that the bootloader has remapped the 13 * internal registers to 0xf1000000 (instead of the default 14 * 0xd0000000). The 0xf1000000 is the default used by the recent, 15 * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier 16 * boards were delivered with an older version of the bootloader that 17 * left internal registers mapped at 0xd0000000. If you are in this 18 * situation, you should either update your bootloader (preferred 19 * solution) or the below Device Tree should be adjusted. 20 */ 21 22/dts-v1/; 23#include "armada-370.dtsi" 24 25/ { 26 model = "Marvell Armada 370 Evaluation Board"; 27 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp"; 28 29 chosen { 30 stdout-path = "serial0:115200n8"; 31 }; 32 33 memory@0 { 34 device_type = "memory"; 35 reg = <0x00000000 0x40000000>; /* 1 GB */ 36 }; 37 38 soc { 39 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 40 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 41 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 42 43 internal-regs { 44 serial@12000 { 45 status = "okay"; 46 }; 47 sata@a0000 { 48 nr-ports = <2>; 49 status = "okay"; 50 }; 51 52 ethernet@70000 { 53 pinctrl-0 = <&ge0_rgmii_pins>; 54 pinctrl-names = "default"; 55 status = "okay"; 56 phy = <&phy0>; 57 phy-mode = "rgmii-id"; 58 }; 59 ethernet@74000 { 60 pinctrl-0 = <&ge1_rgmii_pins>; 61 pinctrl-names = "default"; 62 status = "okay"; 63 phy = <&phy1>; 64 phy-mode = "rgmii-id"; 65 }; 66 67 i2c@11000 { 68 pinctrl-0 = <&i2c0_pins>; 69 pinctrl-names = "default"; 70 clock-frequency = <100000>; 71 status = "okay"; 72 audio_codec: audio-codec@4a { 73 #sound-dai-cells = <0>; 74 compatible = "cirrus,cs42l51"; 75 reg = <0x4a>; 76 }; 77 }; 78 79 audio-controller@30000 { 80 pinctrl-0 = <&i2s_pins2>; 81 pinctrl-names = "default"; 82 status = "okay"; 83 }; 84 85 mvsdio@d4000 { 86 pinctrl-0 = <&sdio_pins1>; 87 pinctrl-names = "default"; 88 /* 89 * This device is disabled by default, because 90 * using the SD card connector requires 91 * changing the default CON40 connector 92 * "DB-88F6710_MPP_2xRGMII_DEVICE_Jumper" to a 93 * different connector 94 * "DB-88F6710_MPP_RGMII_SD_Jumper". 95 */ 96 status = "disabled"; 97 /* No CD or WP GPIOs */ 98 broken-cd; 99 }; 100 101 usb@50000 { 102 status = "okay"; 103 }; 104 105 usb@51000 { 106 status = "okay"; 107 }; 108 }; 109 }; 110 111 sound { 112 compatible = "simple-audio-card"; 113 simple-audio-card,name = "Armada 370 DB Audio"; 114 simple-audio-card,mclk-fs = <256>; 115 simple-audio-card,widgets = 116 "Headphone", "Out Jack", 117 "Line", "In Jack"; 118 simple-audio-card,routing = 119 "Out Jack", "HPL", 120 "Out Jack", "HPR", 121 "AIN1L", "In Jack", 122 "AIN1L", "In Jack"; 123 status = "okay"; 124 125 simple-audio-card,dai-link@0 { 126 format = "i2s"; 127 cpu { 128 sound-dai = <&audio_controller 0>; 129 }; 130 131 codec { 132 sound-dai = <&audio_codec>; 133 }; 134 }; 135 136 simple-audio-card,dai-link@1 { 137 format = "i2s"; 138 cpu { 139 sound-dai = <&audio_controller 1>; 140 }; 141 142 codec { 143 sound-dai = <&spdif_out>; 144 }; 145 }; 146 147 simple-audio-card,dai-link@2 { 148 format = "i2s"; 149 cpu { 150 sound-dai = <&audio_controller 1>; 151 }; 152 153 codec { 154 sound-dai = <&spdif_in>; 155 }; 156 }; 157 }; 158 159 spdif_out: spdif-out { 160 #sound-dai-cells = <0>; 161 compatible = "linux,spdif-dit"; 162 }; 163 164 spdif_in: spdif-in { 165 #sound-dai-cells = <0>; 166 compatible = "linux,spdif-dir"; 167 }; 168}; 169 170&pciec { 171 status = "okay"; 172 /* 173 * The two PCIe units are accessible through 174 * both standard PCIe slots and mini-PCIe 175 * slots on the board. 176 */ 177 pcie@1,0 { 178 /* Port 0, Lane 0 */ 179 status = "okay"; 180 }; 181 182 pcie@2,0 { 183 /* Port 1, Lane 0 */ 184 status = "okay"; 185 }; 186}; 187 188&mdio { 189 pinctrl-0 = <&mdio_pins>; 190 pinctrl-names = "default"; 191 phy0: ethernet-phy@0 { 192 reg = <0>; 193 }; 194 195 phy1: ethernet-phy@1 { 196 reg = <1>; 197 }; 198}; 199 200 201&spi0 { 202 pinctrl-0 = <&spi0_pins2>; 203 pinctrl-names = "default"; 204 status = "okay"; 205 206 flash@0 { 207 #address-cells = <1>; 208 #size-cells = <1>; 209 compatible = "mx25l25635e", "jedec,spi-nor"; 210 reg = <0>; /* Chip select 0 */ 211 spi-max-frequency = <50000000>; 212 }; 213}; 214 215&nand_controller { 216 status = "okay"; 217 218 nand@0 { 219 reg = <0>; 220 label = "pxa3xx_nand-0"; 221 nand-rb = <0>; 222 marvell,nand-keep-config; 223 nand-on-flash-bbt; 224 225 partitions { 226 compatible = "fixed-partitions"; 227 #address-cells = <1>; 228 #size-cells = <1>; 229 230 partition@0 { 231 label = "U-Boot"; 232 reg = <0 0x800000>; 233 }; 234 partition@800000 { 235 label = "Linux"; 236 reg = <0x800000 0x800000>; 237 }; 238 partition@1000000 { 239 label = "Filesystem"; 240 reg = <0x1000000 0x3f000000>; 241 }; 242 }; 243 }; 244}; 245