r8a7791.dtsi 4.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
/*
 * Device Tree Source for the r8a7791 SoC
 *
 * Copyright (C) 2013 Renesas Electronics Corporation
 * 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.
 */

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

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

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

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0>;
			clock-frequency = <1300000000>;
		};
31 32 33 34 35 36 37

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <1>;
			clock-frequency = <1300000000>;
		};
38 39 40 41 42 43 44 45 46 47 48
	};

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

52 53 54 55
	gpio0: gpio@ffc40000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc40000 0 0x50>;
		interrupt-parent = <&gic>;
56
		interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
57 58 59 60 61 62 63 64 65 66 67
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 0 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio1: gpio@ffc41000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc41000 0 0x50>;
		interrupt-parent = <&gic>;
68
		interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
69 70 71 72 73 74 75 76 77 78 79
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 32 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio2: gpio@ffc42000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc42000 0 0x50>;
		interrupt-parent = <&gic>;
80
		interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
81 82 83 84 85 86 87 88 89 90 91
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 64 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio3: gpio@ffc43000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc43000 0 0x50>;
		interrupt-parent = <&gic>;
92
		interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
93 94 95 96 97 98 99 100 101 102 103
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 96 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio4: gpio@ffc44000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc44000 0 0x50>;
		interrupt-parent = <&gic>;
104
		interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
105 106 107 108 109 110 111 112 113 114 115
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 128 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio5: gpio@ffc45000 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc45000 0 0x50>;
		interrupt-parent = <&gic>;
116
		interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
117 118 119 120 121 122 123 124 125 126 127
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 160 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio6: gpio@ffc45400 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc45400 0 0x50>;
		interrupt-parent = <&gic>;
128
		interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
129 130 131 132 133 134 135 136 137 138 139
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 192 32>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

	gpio7: gpio@ffc45800 {
		compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
		reg = <0 0xffc45800 0 0x50>;
		interrupt-parent = <&gic>;
140
		interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
141 142 143 144 145 146 147
		#gpio-cells = <2>;
		gpio-controller;
		gpio-ranges = <&pfc 0 224 26>;
		#interrupt-cells = <2>;
		interrupt-controller;
	};

148 149
	timer {
		compatible = "arm,armv7-timer";
150 151 152 153
		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)>;
154 155
	};

156 157 158 159 160 161
	irqc0: interrupt-controller@e61c0000 {
		compatible = "renesas,irqc";
		#interrupt-cells = <2>;
		interrupt-controller;
		reg = <0 0xe61c0000 0 0x200>;
		interrupt-parent = <&gic>;
162 163 164 165 166 167 168 169 170 171
		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>,
			     <0 12 IRQ_TYPE_LEVEL_HIGH>,
			     <0 13 IRQ_TYPE_LEVEL_HIGH>,
			     <0 14 IRQ_TYPE_LEVEL_HIGH>,
			     <0 15 IRQ_TYPE_LEVEL_HIGH>,
			     <0 16 IRQ_TYPE_LEVEL_HIGH>,
			     <0 17 IRQ_TYPE_LEVEL_HIGH>;
172
	};
173 174 175 176 177 178

	pfc: pfc@e6060000 {
		compatible = "renesas,pfc-r8a7791";
		reg = <0 0xe6060000 0 0x250>;
		#gpio-range-cells = <3>;
	};
179
};