r8a7790.dtsi 6.8 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 167 168 169 170 171
	thermal@e61f0000 {
		compatible = "renesas,thermal-r8a7790", "renesas,rcar-thermal";
		reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
		interrupt-parent = <&gic>;
		interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
	};

172 173
	timer {
		compatible = "arm,armv7-timer";
174 175 176 177
		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)>;
178
	};
179 180 181 182 183

	irqc0: interrupt-controller@e61c0000 {
		compatible = "renesas,irqc";
		#interrupt-cells = <2>;
		interrupt-controller;
184
		reg = <0 0xe61c0000 0 0x200>;
185
		interrupt-parent = <&gic>;
186 187 188 189
		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>;
190
	};
191

192 193 194 195 196 197
	i2c0: i2c@e6508000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6508000 0 0x40>;
		interrupt-parent = <&gic>;
198
		interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>;
199 200 201 202 203 204 205 206 207
		status = "disabled";
	};

	i2c1: i2c@e6518000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6518000 0 0x40>;
		interrupt-parent = <&gic>;
208
		interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>;
209 210 211 212 213 214 215 216 217
		status = "disabled";
	};

	i2c2: i2c@e6530000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,i2c-r8a7790";
		reg = <0 0xe6530000 0 0x40>;
		interrupt-parent = <&gic>;
218
		interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>;
219 220 221 222 223 224 225 226 227
		status = "disabled";
	};

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

232 233 234 235
	mmcif0: mmcif@ee200000 {
		compatible = "renesas,sh-mmcif";
		reg = <0 0xee200000 0 0x80>;
		interrupt-parent = <&gic>;
236
		interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
237 238 239 240
		reg-io-width = <4>;
		status = "disabled";
	};

241
	mmcif1: mmc@ee220000 {
242 243 244
		compatible = "renesas,sh-mmcif";
		reg = <0 0xee220000 0 0x80>;
		interrupt-parent = <&gic>;
245
		interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
246 247 248 249
		reg-io-width = <4>;
		status = "disabled";
	};

250 251 252 253
	pfc: pfc@e6060000 {
		compatible = "renesas,pfc-r8a7790";
		reg = <0 0xe6060000 0 0x250>;
	};
254

255
	sdhi0: sd@ee100000 {
256
		compatible = "renesas,sdhi-r8a7790";
257 258
		reg = <0 0xee100000 0 0x100>;
		interrupt-parent = <&gic>;
259
		interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
260 261 262 263
		cap-sd-highspeed;
		status = "disabled";
	};

264
	sdhi1: sd@ee120000 {
265
		compatible = "renesas,sdhi-r8a7790";
266 267
		reg = <0 0xee120000 0 0x100>;
		interrupt-parent = <&gic>;
268
		interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
269 270 271 272
		cap-sd-highspeed;
		status = "disabled";
	};

273
	sdhi2: sd@ee140000 {
274
		compatible = "renesas,sdhi-r8a7790";
275 276
		reg = <0 0xee140000 0 0x100>;
		interrupt-parent = <&gic>;
277
		interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
278 279 280 281
		cap-sd-highspeed;
		status = "disabled";
	};

282
	sdhi3: sd@ee160000 {
283
		compatible = "renesas,sdhi-r8a7790";
284 285
		reg = <0 0xee160000 0 0x100>;
		interrupt-parent = <&gic>;
286
		interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
287 288 289
		cap-sd-highspeed;
		status = "disabled";
	};
290
};