Loading...
1// SPDX-License-Identifier: GPL-2.0
2#include "versatile-ab.dts"
3
4/ {
5 model = "ARM Versatile PB";
6 compatible = "arm,versatile-pb";
7
8 amba {
9 /* The Versatile PB is using more SIC IRQ lines than the AB */
10 sic: intc@10003000 {
11 clear-mask = <0xffffffff>;
12 /*
13 * Valid interrupt lines mask according to
14 * figure 3-30 page 3-74 of ARM DUI 0224B
15 */
16 valid-mask = <0x7fe003ff>;
17 };
18
19 gpio2: gpio@101e6000 {
20 compatible = "arm,pl061", "arm,primecell";
21 reg = <0x101e6000 0x1000>;
22 interrupts = <8>;
23 gpio-controller;
24 #gpio-cells = <2>;
25 interrupt-controller;
26 #interrupt-cells = <2>;
27 clocks = <&pclk>;
28 clock-names = "apb_pclk";
29 };
30
31 gpio3: gpio@101e7000 {
32 compatible = "arm,pl061", "arm,primecell";
33 reg = <0x101e7000 0x1000>;
34 interrupts = <9>;
35 gpio-controller;
36 #gpio-cells = <2>;
37 interrupt-controller;
38 #interrupt-cells = <2>;
39 clocks = <&pclk>;
40 clock-names = "apb_pclk";
41 };
42
43 pci@10001000 {
44 compatible = "arm,versatile-pci";
45 device_type = "pci";
46 reg = <0x10001000 0x1000
47 0x41000000 0x10000
48 0x42000000 0x100000>;
49 bus-range = <0 0xff>;
50 #address-cells = <3>;
51 #size-cells = <2>;
52 #interrupt-cells = <1>;
53
54 ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */
55 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */
56 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */
57
58 interrupt-map-mask = <0x1800 0 0 7>;
59 interrupt-map = <0x1800 0 0 1 &sic 28
60 0x1800 0 0 2 &sic 29
61 0x1800 0 0 3 &sic 30
62 0x1800 0 0 4 &sic 27
63
64 0x1000 0 0 1 &sic 27
65 0x1000 0 0 2 &sic 28
66 0x1000 0 0 3 &sic 29
67 0x1000 0 0 4 &sic 30
68
69 0x0800 0 0 1 &sic 30
70 0x0800 0 0 2 &sic 27
71 0x0800 0 0 3 &sic 28
72 0x0800 0 0 4 &sic 29
73
74 0x0000 0 0 1 &sic 29
75 0x0000 0 0 2 &sic 30
76 0x0000 0 0 3 &sic 27
77 0x0000 0 0 4 &sic 28>;
78 };
79
80 fpga {
81 mmc@5000 {
82 /*
83 * Overrides the interrupt assignment from
84 * the Versatile AB board file.
85 */
86 interrupts-extended = <&sic 22 &sic 23>;
87 };
88 uart@9000 {
89 compatible = "arm,pl011", "arm,primecell";
90 reg = <0x9000 0x1000>;
91 interrupt-parent = <&sic>;
92 interrupts = <6>;
93 clocks = <&xtal24mhz>, <&pclk>;
94 clock-names = "uartclk", "apb_pclk";
95 };
96 sci@a000 {
97 compatible = "arm,primecell";
98 reg = <0xa000 0x1000>;
99 interrupt-parent = <&sic>;
100 interrupts = <5>;
101 clocks = <&xtal24mhz>;
102 clock-names = "apb_pclk";
103 };
104 mmc@b000 {
105 compatible = "arm,pl180", "arm,primecell";
106 reg = <0xb000 0x1000>;
107 interrupt-parent = <&sic>;
108 interrupts = <1>, <2>;
109 clocks = <&xtal24mhz>, <&pclk>;
110 clock-names = "mclk", "apb_pclk";
111 };
112 };
113 };
114};
1/include/ "versatile-ab.dts"
2
3/ {
4 model = "ARM Versatile PB";
5 compatible = "arm,versatile-pb";
6
7 amba {
8 gpio2: gpio@101e6000 {
9 compatible = "arm,pl061", "arm,primecell";
10 reg = <0x101e6000 0x1000>;
11 interrupts = <8>;
12 gpio-controller;
13 #gpio-cells = <2>;
14 interrupt-controller;
15 #interrupt-cells = <2>;
16 };
17
18 gpio3: gpio@101e7000 {
19 compatible = "arm,pl061", "arm,primecell";
20 reg = <0x101e7000 0x1000>;
21 interrupts = <9>;
22 gpio-controller;
23 #gpio-cells = <2>;
24 interrupt-controller;
25 #interrupt-cells = <2>;
26 };
27
28 fpga {
29 uart@9000 {
30 compatible = "arm,pl011", "arm,primecell";
31 reg = <0x9000 0x1000>;
32 interrupt-parent = <&sic>;
33 interrupts = <6>;
34 };
35 sci@a000 {
36 compatible = "arm,primecell";
37 reg = <0xa000 0x1000>;
38 interrupt-parent = <&sic>;
39 interrupts = <5>;
40 };
41 mmc@b000 {
42 compatible = "arm,primecell";
43 reg = <0xb000 0x1000>;
44 interrupts = <23>;
45 };
46 };
47 };
48};