r8a7790.dtsi 6.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
/*
 * Device Tree Source for the r8a7790 SoC
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

11 12 13
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>

14 15 16
/ {
	compatible = "renesas,r8a7790";
	interrupt-parent = <&gic>;
17 18
	#address-cells = <2>;
	#size-cells = <2>;
19 20 21 22 23 24 25 26 27 28 29

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0>;
			clock-frequency = <1300000000>;
		};
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <1>;
			clock-frequency = <1300000000>;
		};

		cpu2: cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <2>;
			clock-frequency = <1300000000>;
		};

		cpu3: cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <3>;
			clock-frequency = <1300000000>;
		};
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

		cpu4: cpu@4 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x100>;
			clock-frequency = <780000000>;
		};

		cpu5: cpu@5 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x101>;
			clock-frequency = <780000000>;
		};

		cpu6: cpu@6 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x102>;
			clock-frequency = <780000000>;
		};

		cpu7: cpu@7 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x103>;
			clock-frequency = <780000000>;
		};
79 80 81 82 83 84 85
	};

	gic: interrupt-controller@f1001000 {
		compatible = "arm,cortex-a15-gic";
		#interrupt-cells = <3>;
		#address-cells = <0>;
		interrupt-controller;
86 87 88 89
		reg = <0 0xf1001000 0 0x1000>,
			<0 0xf1002000 0 0x1000>,
			<0 0xf1004000 0 0x2000>,
			<0 0xf1006000 0 0x2000>;
90
		interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
91 92
	};

93 94 95 96
	gpio0: gpio@ffc40000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc40000 0 0x2c>;
		interrupt-parent = <&gic>;
97
		interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
98 99 100 101 102 103 104 105 106 107 108
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 0 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio1: gpio@ffc41000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc41000 0 0x2c>;
		interrupt-parent = <&gic>;
109
		interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
110 111 112 113 114 115 116 117 118 119 120
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 32 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio2: gpio@ffc42000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc42000 0 0x2c>;
		interrupt-parent = <&gic>;
121
		interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
122 123 124 125 126 127 128 129 130 131 132
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 64 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio3: gpio@ffc43000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc43000 0 0x2c>;
		interrupt-parent = <&gic>;
133
		interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
134 135 136 137 138 139 140 141 142 143 144
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 96 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio4: gpio@ffc44000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc44000 0 0x2c>;
		interrupt-parent = <&gic>;
145
		interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
146 147 148 149 150 151 152 153 154 155 156
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 128 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio5: gpio@ffc45000 {
		compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
		reg = <0 0xffc45000 0 0x2c>;
		interrupt-parent = <&gic>;
157
		interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
158 159 160 161 162 163 164
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 160 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

165 166
	timer {
		compatible = "arm,armv7-timer";
167 168 169 170
		interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
171
	};
172 173 174 175 176

	irqc0: interrupt-controller@e61c0000 {
		compatible = "renesas,irqc";
		#interrupt-cells = <2>;
		interrupt-controller;
177
		reg = <0 0xe61c0000 0 0x200>;
178
		interrupt-parent = <&gic>;
179 180 181 182
		interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
			     <0 1 IRQ_TYPE_LEVEL_HIGH>,
			     <0 2 IRQ_TYPE_LEVEL_HIGH>,
			     <0 3 IRQ_TYPE_LEVEL_HIGH>;
183
	};
184

185 186 187 188 189 190
	i2c0: i2c@e6508000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6508000 0 0x40>;
		interrupt-parent = <&gic>;
191
		interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>;
192 193 194 195 196 197 198 199 200
		status = "disabled";
	};

	i2c1: i2c@e6518000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6518000 0 0x40>;
		interrupt-parent = <&gic>;
201
		interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>;
202 203 204 205 206 207 208 209 210
		status = "disabled";
	};

	i2c2: i2c@e6530000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6530000 0 0x40>;
		interrupt-parent = <&gic>;
211
		interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>;
212 213 214 215 216 217 218 219 220
		status = "disabled";
	};

	i2c3: i2c@e6540000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6540000 0 0x40>;
		interrupt-parent = <&gic>;
221
		interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>;
222 223 224
		status = "disabled";
	};

225 226 227 228
	mmcif0: mmcif@ee200000 {
		compatible = "renesas,sh-mmcif";
		reg = <0 0xee200000 0 0x80>;
		interrupt-parent = <&gic>;
229
		interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
230 231 232 233
		reg-io-width = <4>;
		status = "disabled";
	};

234
	mmcif1: mmc@ee220000 {
235 236 237
		compatible = "renesas,sh-mmcif";
		reg = <0 0xee220000 0 0x80>;
		interrupt-parent = <&gic>;
238
		interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
239 240 241 242
		reg-io-width = <4>;
		status = "disabled";
	};

243 244 245 246
	pfc: pfc@e6060000 {
		compatible = "renesas,pfc-r8a7790";
		reg = <0 0xe6060000 0 0x250>;
	};
247

248
	sdhi0: sd@ee100000 {
249
		compatible = "renesas,sdhi-r8a7790";
250 251
		reg = <0 0xee100000 0 0x100>;
		interrupt-parent = <&gic>;
252
		interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
253 254 255 256
		cap-sd-highspeed;
		status = "disabled";
	};

257
	sdhi1: sd@ee120000 {
258
		compatible = "renesas,sdhi-r8a7790";
259 260
		reg = <0 0xee120000 0 0x100>;
		interrupt-parent = <&gic>;
261
		interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
262 263 264 265
		cap-sd-highspeed;
		status = "disabled";
	};

266
	sdhi2: sd@ee140000 {
267
		compatible = "renesas,sdhi-r8a7790";
268 269
		reg = <0 0xee140000 0 0x100>;
		interrupt-parent = <&gic>;
270
		interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
271 272 273 274
		cap-sd-highspeed;
		status = "disabled";
	};

275
	sdhi3: sd@ee160000 {
276
		compatible = "renesas,sdhi-r8a7790";
277 278
		reg = <0 0xee160000 0 0x100>;
		interrupt-parent = <&gic>;
279
		interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
280 281 282
		cap-sd-highspeed;
		status = "disabled";
	};
283
};