Skip to content

Commit adbc369

Browse files
committed
arm64: dts: add the Marvell Armada 3700 family and a development board
Add initial dtsi files to support Marvell Armada 3700 SoC with Cortex-A53 CPUs. There are two members in this family: the Armada 3710 (Single CPU) and the Armada 3720 (Dual CPUs). It also adds a dts file for the Marvell Armada 3720 DB board. Signed-off-by: Gregory CLEMENT <[email protected]>
1 parent b37f227 commit adbc369

File tree

5 files changed

+337
-0
lines changed

5 files changed

+337
-0
lines changed

arch/arm64/boot/dts/marvell/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
# Berlin SoC Family
12
dtb-$(CONFIG_ARCH_BERLIN) += berlin4ct-dmp.dtb
23
dtb-$(CONFIG_ARCH_BERLIN) += berlin4ct-stb.dtb
34

5+
# Mvebu SoC Family
6+
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
7+
48
always := $(dtb-y)
59
subdir-y := $(dts-dirs)
610
clean-files := *.dtb
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Device Tree Include file for Marvell Armada 371x family of SoCs
3+
* (also named 88F3710)
4+
*
5+
* Copyright (C) 2016 Marvell
6+
*
7+
* Gregory CLEMENT <[email protected]>
8+
*
9+
* This file is dual-licensed: you can use it either under the terms
10+
* of the GPL or the X11 license, at your option. Note that this dual
11+
* licensing only applies to this file, and not this project as a
12+
* whole.
13+
*
14+
* a) This file is free software; you can redistribute it and/or
15+
* modify it under the terms of the GNU General Public License as
16+
* published by the Free Software Foundation; either version 2 of the
17+
* License, or (at your option) any later version.
18+
*
19+
* This file is distributed in the hope that it will be useful
20+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22+
* GNU General Public License for more details.
23+
*
24+
* Or, alternatively
25+
*
26+
* b) Permission is hereby granted, free of charge, to any person
27+
* obtaining a copy of this software and associated documentation
28+
* files (the "Software"), to deal in the Software without
29+
* restriction, including without limitation the rights to use
30+
* copy, modify, merge, publish, distribute, sublicense, and/or
31+
* sell copies of the Software, and to permit persons to whom the
32+
* Software is furnished to do so, subject to the following
33+
* conditions:
34+
*
35+
* The above copyright notice and this permission notice shall be
36+
* included in all copies or substantial portions of the Software.
37+
*
38+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
39+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
43+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45+
* OTHER DEALINGS IN THE SOFTWARE.
46+
*/
47+
48+
#include "armada-37xx.dtsi"
49+
50+
/ {
51+
model = "Marvell Armada 3710 SoC";
52+
compatible = "marvell,armada3710", "marvell,armada3700";
53+
};
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
/*
2+
* Device Tree file for Marvell Armada 3720 development board
3+
* (DB-88F3720-DDR3)
4+
* Copyright (C) 2016 Marvell
5+
*
6+
* Gregory CLEMENT <[email protected]>
7+
*
8+
* This file is dual-licensed: you can use it either under the terms
9+
* of the GPL or the X11 license, at your option. Note that this dual
10+
* licensing only applies to this file, and not this project as a
11+
* whole.
12+
*
13+
* a) This file is free software; you can redistribute it and/or
14+
* modify it under the terms of the GNU General Public License as
15+
* published by the Free Software Foundation; either version 2 of the
16+
* License, or (at your option) any later version.
17+
*
18+
* This file is distributed in the hope that it will be useful
19+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21+
* GNU General Public License for more details.
22+
*
23+
* Or, alternatively
24+
*
25+
* b) Permission is hereby granted, free of charge, to any person
26+
* obtaining a copy of this software and associated documentation
27+
* files (the "Software"), to deal in the Software without
28+
* restriction, including without limitation the rights to use
29+
* copy, modify, merge, publish, distribute, sublicense, and/or
30+
* sell copies of the Software, and to permit persons to whom the
31+
* Software is furnished to do so, subject to the following
32+
* conditions:
33+
*
34+
* The above copyright notice and this permission notice shall be
35+
* included in all copies or substantial portions of the Software.
36+
*
37+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44+
* OTHER DEALINGS IN THE SOFTWARE.
45+
*/
46+
47+
/dts-v1/;
48+
49+
#include "armada-372x.dtsi"
50+
51+
/ {
52+
model = "Marvell Armada 3720 Development Board DB-88F3720-DDR3";
53+
compatible = "marvell,armada-3720-db", "marvell,armada3720", "marvell,armada3710";
54+
55+
chosen {
56+
stdout-path = "serial0:115200n8";
57+
};
58+
59+
memory {
60+
device_type = "memory";
61+
reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
62+
};
63+
64+
soc {
65+
internal-regs {
66+
/*
67+
* Exported on the micro USB connector CON32
68+
* through an FTDI
69+
*/
70+
uart0: serial@12000 {
71+
status = "okay";
72+
};
73+
74+
/* CON31 */
75+
usb3@58000 {
76+
status = "okay";
77+
};
78+
79+
/* CON3 */
80+
sata@e0000 {
81+
status = "okay";
82+
};
83+
};
84+
};
85+
};
86+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* Device Tree Include file for Marvell Armada 372x family of SoCs
3+
* (also named 88F3720)
4+
*
5+
* Copyright (C) 2016 Marvell
6+
*
7+
* Gregory CLEMENT <[email protected]>
8+
*
9+
* This file is dual-licensed: you can use it either under the terms
10+
* of the GPL or the X11 license, at your option. Note that this dual
11+
* licensing only applies to this file, and not this project as a
12+
* whole.
13+
*
14+
* a) This file is free software; you can redistribute it and/or
15+
* modify it under the terms of the GNU General Public License as
16+
* published by the Free Software Foundation; either version 2 of the
17+
* License, or (at your option) any later version.
18+
*
19+
* This file is distributed in the hope that it will be useful
20+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22+
* GNU General Public License for more details.
23+
*
24+
* Or, alternatively
25+
*
26+
* b) Permission is hereby granted, free of charge, to any person
27+
* obtaining a copy of this software and associated documentation
28+
* files (the "Software"), to deal in the Software without
29+
* restriction, including without limitation the rights to use
30+
* copy, modify, merge, publish, distribute, sublicense, and/or
31+
* sell copies of the Software, and to permit persons to whom the
32+
* Software is furnished to do so, subject to the following
33+
* conditions:
34+
*
35+
* The above copyright notice and this permission notice shall be
36+
* included in all copies or substantial portions of the Software.
37+
*
38+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
39+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
43+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45+
* OTHER DEALINGS IN THE SOFTWARE.
46+
*/
47+
48+
#include "armada-37xx.dtsi"
49+
50+
/ {
51+
model = "Marvell Armada 3720 SoC";
52+
compatible = "marvell,armada3720", "marvell,armada3710";
53+
54+
cpus {
55+
cpu@1 {
56+
device_type = "cpu";
57+
compatible = "arm,cortex-a53","arm,armv8";
58+
reg = <0x1>;
59+
enable-method = "psci";
60+
};
61+
};
62+
63+
};
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
/*
2+
* Device Tree Include file for Marvell Armada 37xx family of SoCs.
3+
*
4+
* Copyright (C) 2016 Marvell
5+
*
6+
* Gregory CLEMENT <[email protected]>
7+
*
8+
* This file is dual-licensed: you can use it either under the terms
9+
* of the GPL or the X11 license, at your option. Note that this dual
10+
* licensing only applies to this file, and not this project as a
11+
* whole.
12+
*
13+
* a) This file is free software; you can redistribute it and/or
14+
* modify it under the terms of the GNU General Public License as
15+
* published by the Free Software Foundation; either version 2 of the
16+
* License, or (at your option) any later version.
17+
*
18+
* This file is distributed in the hope that it will be useful
19+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21+
* GNU General Public License for more details.
22+
*
23+
* Or, alternatively
24+
*
25+
* b) Permission is hereby granted, free of charge, to any person
26+
* obtaining a copy of this software and associated documentation
27+
* files (the "Software"), to deal in the Software without
28+
* restriction, including without limitation the rights to use
29+
* copy, modify, merge, publish, distribute, sublicense, and/or
30+
* sell copies of the Software, and to permit persons to whom the
31+
* Software is furnished to do so, subject to the following
32+
* conditions:
33+
*
34+
* The above copyright notice and this permission notice shall be
35+
* included in all copies or substantial portions of the Software.
36+
*
37+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44+
* OTHER DEALINGS IN THE SOFTWARE.
45+
*/
46+
47+
#include <dt-bindings/interrupt-controller/arm-gic.h>
48+
49+
/ {
50+
model = "Marvell Armada 37xx SoC";
51+
compatible = "marvell,armada3700";
52+
interrupt-parent = <&gic>;
53+
#address-cells = <2>;
54+
#size-cells = <2>;
55+
56+
aliases {
57+
serial0 = &uart0;
58+
};
59+
60+
cpus {
61+
#address-cells = <1>;
62+
#size-cells = <0>;
63+
cpu@0 {
64+
device_type = "cpu";
65+
compatible = "arm,cortex-a53", "arm,armv8";
66+
reg = <0>;
67+
enable-method = "psci";
68+
};
69+
};
70+
71+
psci {
72+
compatible = "arm,psci-0.2";
73+
method = "smc";
74+
};
75+
76+
timer {
77+
compatible = "arm,armv8-timer";
78+
interrupts = <GIC_PPI 13
79+
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
80+
<GIC_PPI 14
81+
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
82+
<GIC_PPI 11
83+
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
84+
<GIC_PPI 10
85+
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
86+
};
87+
88+
soc {
89+
compatible = "simple-bus";
90+
#address-cells = <2>;
91+
#size-cells = <2>;
92+
ranges;
93+
94+
internal-regs {
95+
#address-cells = <1>;
96+
#size-cells = <1>;
97+
compatible = "simple-bus";
98+
/* 32M internal register @ 0xd000_0000 */
99+
ranges = <0x0 0x0 0xd0000000 0x2000000>;
100+
101+
uart0: serial@12000 {
102+
compatible = "marvell,armada-3700-uart";
103+
reg = <0x12000 0x400>;
104+
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
105+
status = "disabled";
106+
};
107+
108+
usb3@58000 {
109+
compatible = "generic-xhci";
110+
reg = <0x58000 0x4000>;
111+
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
112+
status = "disabled";
113+
};
114+
115+
sata@e0000 {
116+
compatible = "marvell,armada-3700-ahci";
117+
reg = <0xe0000 0x2000>;
118+
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
119+
status = "disabled";
120+
};
121+
122+
gic: interrupt-controller@1d00000 {
123+
compatible = "arm,gic-v3";
124+
#interrupt-cells = <3>;
125+
interrupt-controller;
126+
reg = <0x1d00000 0x10000>, /* GICD */
127+
<0x1d40000 0x40000>; /* GICR */
128+
};
129+
};
130+
};
131+
};

0 commit comments

Comments
 (0)