summaryrefslogtreecommitdiffstats
path: root/sys/boot/fdt/dts/arm/versatilepb.dts
blob: ca58e8859c0948161b282b8c009861d74c82fbce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
 * $FreeBSD$
 */
/dts-v1/;

/ {
	model = "ARM Versatile PB";
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "arm,versatile-pb";

	amba {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		intc: interrupt-controller {
			compatible = "arm,versatile-vic";
			reg = <0x10140000 0x1000>;

			interrupt-controller;
			#interrupt-cells = <1>;
		};

		sic: secondary-interrupt-controller {
			compatible = "arm,versatile-sic";
			reg = <0x10003000 0x28>;

			interrupt-controller;
			#interrupt-cells = <1>;
		};

		uart0: uart0 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x101f1000 0x1000>;
			interrupts = <12>;
			interrupt-parent = <&intc>;
			clock-frequency = <3000000>;
			reg-shift = <2>;
		};

		uart1: uart1 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x101f2000 0x1000>;
			interrupts = <13>;
			interrupt-parent = <&intc>;
			clock-frequency = <3000000>;
			reg-shift = <2>;
		};

		uart2: uart2 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x101f3000 0x1000>;
			interrupts = <14>;
			interrupt-parent = <&intc>;
			clock-frequency = <3000000>;
			reg-shift = <2>;
		};

		timer0 {
			compatible = "arm,sp804", "arm,primecell";
			reg = <0x101e2000 0x40>;
			interrupts = <4>;
			interrupt-parent = <&intc>;
		};

		pci0 {

			compatible = "versatile,pci";
			reg = <0x10000044 0x4
				0x10001000 0x1000
				0x41000000 0x01000000
				0x42000000 0x02000000>;
		};

		net {
			compatible = "smsc,lan91c111";
			reg = <0x10010000 0x10000>;
			interrupts = <25>;
			interrupt-parent = <&intc>;
		};

		display {
			compatible = "arm,pl110", "arm,primecell";
			reg = <0x10000050 4
				0x10120000 0x1000>;
			interrupts = <16>;
			interrupt-parent = <&intc>;
		};

		/*
		 * Cut corner here: we do not have proper interrupt
		 * controllers cascading so just hardwire SIC IRQ 3
		 * to VIC IRQ31
		 */
		kmi {
			compatible = "arm,pl050", "arm,primecell";
			reg = <0x10006000 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <31>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0 0x08000000>; /* 128MB */
	};

	aliases {
		uart0 = &uart0;
	};

	chosen {
		stdin = "uart0";
		stdout = "uart0";
	};
};
OpenPOWER on IntegriCloud