xref: /freebsd/sys/dts/arm/trimslice.dts (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1*2e36db14SWarner Losh/*-
2*2e36db14SWarner Losh * Copyright (c) 2011 The FreeBSD Foundation
3*2e36db14SWarner Losh * All rights reserved.
4*2e36db14SWarner Losh *
5*2e36db14SWarner Losh * Developed by Damjan Marion <damjan.marion@gmail.com>
6*2e36db14SWarner Losh *
7*2e36db14SWarner Losh * Redistribution and use in source and binary forms, with or without
8*2e36db14SWarner Losh * modification, are permitted provided that the following conditions
9*2e36db14SWarner Losh * are met:
10*2e36db14SWarner Losh * 1. Redistributions of source code must retain the above copyright
11*2e36db14SWarner Losh *    notice, this list of conditions and the following disclaimer.
12*2e36db14SWarner Losh * 2. Redistributions in binary form must reproduce the above copyright
13*2e36db14SWarner Losh *    notice, this list of conditions and the following disclaimer in the
14*2e36db14SWarner Losh *    documentation and/or other materials provided with the distribution.
15*2e36db14SWarner Losh *
16*2e36db14SWarner Losh * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17*2e36db14SWarner Losh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*2e36db14SWarner Losh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*2e36db14SWarner Losh * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20*2e36db14SWarner Losh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*2e36db14SWarner Losh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*2e36db14SWarner Losh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*2e36db14SWarner Losh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*2e36db14SWarner Losh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*2e36db14SWarner Losh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*2e36db14SWarner Losh * SUCH DAMAGE.
27*2e36db14SWarner Losh *
28*2e36db14SWarner Losh */
29*2e36db14SWarner Losh
30*2e36db14SWarner Losh/dts-v1/;
31*2e36db14SWarner Losh
32*2e36db14SWarner Losh/ {
33*2e36db14SWarner Losh	model = "CompuLab TrimSlice";
34*2e36db14SWarner Losh	compatible = "compulab,trimslice", "nvidia,tegra20";
35*2e36db14SWarner Losh	#address-cells = <1>;
36*2e36db14SWarner Losh	#size-cells = <1>;
37*2e36db14SWarner Losh
38*2e36db14SWarner Losh	interrupt-parent = <&GIC>;
39*2e36db14SWarner Losh
40*2e36db14SWarner Losh	aliases {
41*2e36db14SWarner Losh		serial0 = &serial0;
42*2e36db14SWarner Losh		soc = &SOC;
43*2e36db14SWarner Losh	};
44*2e36db14SWarner Losh
45*2e36db14SWarner Losh	memory {
46*2e36db14SWarner Losh		device_type = "memory";
47*2e36db14SWarner Losh		reg = < 0x00000000 0x40000000 >;	/* 1GB RAM at 0x0 */
48*2e36db14SWarner Losh	};
49*2e36db14SWarner Losh
50*2e36db14SWarner Losh
51*2e36db14SWarner Losh	SOC: tegra20@0 {
52*2e36db14SWarner Losh		#address-cells = <1>;
53*2e36db14SWarner Losh		#size-cells = <1>;
54*2e36db14SWarner Losh		compatible = "simple-bus";
55*2e36db14SWarner Losh		ranges;
56*2e36db14SWarner Losh		bus-frequency = <0>;
57*2e36db14SWarner Losh
58*2e36db14SWarner Losh		GIC: interrupt-controller@50041000 {
59*2e36db14SWarner Losh			compatible = "arm,gic";
60*2e36db14SWarner Losh			interrupt-controller;
61*2e36db14SWarner Losh			#address-cells = <0>;
62*2e36db14SWarner Losh			#interrupt-cells = <1>;
63*2e36db14SWarner Losh			reg =	< 0x50041000 0x1000 >,	/* Distributor Registers */
64*2e36db14SWarner Losh				< 0x50040100 0x0100 >;	/* CPU Interface Registers */
65*2e36db14SWarner Losh		};
66*2e36db14SWarner Losh		mp_tmr@50040200 {
67*2e36db14SWarner Losh			compatible = "arm,mpcore-timers";
68*2e36db14SWarner Losh			clock-frequency = < 50040200 >;
69*2e36db14SWarner Losh			#address-cells = <1>;
70*2e36db14SWarner Losh			#size-cells = <0>;
71*2e36db14SWarner Losh			reg =   < 0x50040200 0x100 >, /* Global Timer Registers */
72*2e36db14SWarner Losh				< 0x50040600 0x100 >; /* Private Timer Registers */
73*2e36db14SWarner Losh			interrupts = < 27 29 >;
74*2e36db14SWarner Losh			interrupt-parent = < &GIC >;
75*2e36db14SWarner Losh		};
76*2e36db14SWarner Losh
77*2e36db14SWarner Losh		tmr1@60005000 {
78*2e36db14SWarner Losh			compatible = "nvidia,tegra2-timer";
79*2e36db14SWarner Losh			reg = <0x60005000 0x8>;
80*2e36db14SWarner Losh			interrupts = < 32 >;
81*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
82*2e36db14SWarner Losh		};
83*2e36db14SWarner Losh
84*2e36db14SWarner Losh		tmr2@60005008 {
85*2e36db14SWarner Losh			compatible = "nvidia,tegra2-timer";
86*2e36db14SWarner Losh			reg = <0x60005008 0x8>;
87*2e36db14SWarner Losh			interrupts = < 33 >;
88*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
89*2e36db14SWarner Losh		};
90*2e36db14SWarner Losh
91*2e36db14SWarner Losh		tmrus@60005010 {
92*2e36db14SWarner Losh			compatible = "nvidia,tegra2-timestamp";
93*2e36db14SWarner Losh			reg = <0x60005010 0x8>;
94*2e36db14SWarner Losh		};
95*2e36db14SWarner Losh
96*2e36db14SWarner Losh		tmr3@60005050 {
97*2e36db14SWarner Losh			compatible = "nvidia,tegra2-timer";
98*2e36db14SWarner Losh			reg = <0x60005050 0x8>;
99*2e36db14SWarner Losh			interrupts = < 73 >;
100*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
101*2e36db14SWarner Losh		};
102*2e36db14SWarner Losh
103*2e36db14SWarner Losh		tmr4@60005058 {
104*2e36db14SWarner Losh			compatible = "nvidia,tegra2-timer";
105*2e36db14SWarner Losh			reg = <0x60005058 0x8>;
106*2e36db14SWarner Losh			interrupts = < 74 >;
107*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
108*2e36db14SWarner Losh		};
109*2e36db14SWarner Losh
110*2e36db14SWarner Losh		serial0: serial@70006000 {
111*2e36db14SWarner Losh			compatible = "ns16550";
112*2e36db14SWarner Losh			reg = <0x70006000 0x40>;
113*2e36db14SWarner Losh			reg-shift = <2>;
114*2e36db14SWarner Losh			interrupts = < 68 >;
115*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
116*2e36db14SWarner Losh			clock-frequency = < 215654400 >;
117*2e36db14SWarner Losh		};
118*2e36db14SWarner Losh
119*2e36db14SWarner Losh		serial1: serial@70006040 {
120*2e36db14SWarner Losh			compatible = "ns16550";
121*2e36db14SWarner Losh			reg = <0x70006040 0x40>;
122*2e36db14SWarner Losh			reg-shift = <2>;
123*2e36db14SWarner Losh			interrupts = < 69 >;
124*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
125*2e36db14SWarner Losh			clock-frequency = < 215654400 >;
126*2e36db14SWarner Losh		};
127*2e36db14SWarner Losh
128*2e36db14SWarner Losh		serial2: serial@70006200 {
129*2e36db14SWarner Losh			compatible = "ns16550";
130*2e36db14SWarner Losh			reg = <0x70006200 0x100>;
131*2e36db14SWarner Losh			reg-shift = <2>;
132*2e36db14SWarner Losh			interrupts = < 78 >;
133*2e36db14SWarner Losh			interrupt-parent = <&GIC>;
134*2e36db14SWarner Losh			clock-frequency = < 215654400 >;
135*2e36db14SWarner Losh		};
136*2e36db14SWarner Losh	};
137*2e36db14SWarner Losh
138*2e36db14SWarner Losh	chosen {
139*2e36db14SWarner Losh		stdin = "serial0";
140*2e36db14SWarner Losh		stdout = "serial0";
141*2e36db14SWarner Losh	};
142*2e36db14SWarner Losh};
143