at91sam9263.dtsi 5.2 KB
Newer Older
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
/*
 * at91sam9263.dtsi - Device Tree Include file for AT91SAM9263 family SoC
 *
 *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 *
 * Licensed under GPLv2 only.
 */

/include/ "skeleton.dtsi"

/ {
	model = "Atmel AT91SAM9263 family SoC";
	compatible = "atmel,at91sam9263";
	interrupt-parent = <&aic>;

	aliases {
		serial0 = &dbgu;
		serial1 = &usart0;
		serial2 = &usart1;
		serial3 = &usart2;
		gpio0 = &pioA;
		gpio1 = &pioB;
		gpio2 = &pioC;
		gpio3 = &pioD;
		gpio4 = &pioE;
		tcb0 = &tcb0;
27
		i2c0 = &i2c0;
28 29
		ssc0 = &ssc0;
		ssc1 = &ssc1;
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
	};
	cpus {
		cpu@0 {
			compatible = "arm,arm926ejs";
		};
	};

	memory {
		reg = <0x20000000 0x08000000>;
	};

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

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

			aic: interrupt-controller@fffff000 {
54
				#interrupt-cells = <3>;
55 56 57
				compatible = "atmel,at91rm9200-aic";
				interrupt-controller;
				reg = <0xfffff000 0x200>;
58
				atmel,external-irqs = <30 31>;
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
			};

			pmc: pmc@fffffc00 {
				compatible = "atmel,at91rm9200-pmc";
				reg = <0xfffffc00 0x100>;
			};

			ramc: ramc@ffffe200 {
				compatible = "atmel,at91sam9260-sdramc";
				reg = <0xffffe200 0x200
				       0xffffe800 0x200>;
			};

			pit: timer@fffffd30 {
				compatible = "atmel,at91sam9260-pit";
				reg = <0xfffffd30 0xf>;
75
				interrupts = <1 4 7>;
76 77 78 79 80
			};

			tcb0: timer@fff7c000 {
				compatible = "atmel,at91rm9200-tcb";
				reg = <0xfff7c000 0x100>;
81
				interrupts = <19 4 0>;
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
			};

			rstc@fffffd00 {
				compatible = "atmel,at91sam9260-rstc";
				reg = <0xfffffd00 0x10>;
			};

			shdwc@fffffd10 {
				compatible = "atmel,at91sam9260-shdwc";
				reg = <0xfffffd10 0x10>;
			};

			pioA: gpio@fffff200 {
				compatible = "atmel,at91rm9200-gpio";
				reg = <0xfffff200 0x100>;
97
				interrupts = <2 4 1>;
98 99 100
				#gpio-cells = <2>;
				gpio-controller;
				interrupt-controller;
101
				#interrupt-cells = <2>;
102 103 104 105 106
			};

			pioB: gpio@fffff400 {
				compatible = "atmel,at91rm9200-gpio";
				reg = <0xfffff400 0x100>;
107
				interrupts = <3 4 1>;
108 109 110
				#gpio-cells = <2>;
				gpio-controller;
				interrupt-controller;
111
				#interrupt-cells = <2>;
112 113 114 115 116
			};

			pioC: gpio@fffff600 {
				compatible = "atmel,at91rm9200-gpio";
				reg = <0xfffff600 0x100>;
117
				interrupts = <4 4 1>;
118 119 120
				#gpio-cells = <2>;
				gpio-controller;
				interrupt-controller;
121
				#interrupt-cells = <2>;
122 123 124 125 126
			};

			pioD: gpio@fffff800 {
				compatible = "atmel,at91rm9200-gpio";
				reg = <0xfffff800 0x100>;
127
				interrupts = <4 4 1>;
128 129 130
				#gpio-cells = <2>;
				gpio-controller;
				interrupt-controller;
131
				#interrupt-cells = <2>;
132 133 134 135 136
			};

			pioE: gpio@fffffa00 {
				compatible = "atmel,at91rm9200-gpio";
				reg = <0xfffffa00 0x100>;
137
				interrupts = <4 4 1>;
138 139 140
				#gpio-cells = <2>;
				gpio-controller;
				interrupt-controller;
141
				#interrupt-cells = <2>;
142 143 144 145 146
			};

			dbgu: serial@ffffee00 {
				compatible = "atmel,at91sam9260-usart";
				reg = <0xffffee00 0x200>;
147
				interrupts = <1 4 7>;
148 149 150 151 152 153
				status = "disabled";
			};

			usart0: serial@fff8c000 {
				compatible = "atmel,at91sam9260-usart";
				reg = <0xfff8c000 0x200>;
154
				interrupts = <7 4 5>;
155 156 157 158 159 160 161 162
				atmel,use-dma-rx;
				atmel,use-dma-tx;
				status = "disabled";
			};

			usart1: serial@fff90000 {
				compatible = "atmel,at91sam9260-usart";
				reg = <0xfff90000 0x200>;
163
				interrupts = <8 4 5>;
164 165 166 167 168 169 170 171
				atmel,use-dma-rx;
				atmel,use-dma-tx;
				status = "disabled";
			};

			usart2: serial@fff94000 {
				compatible = "atmel,at91sam9260-usart";
				reg = <0xfff94000 0x200>;
172
				interrupts = <9 4 5>;
173 174 175 176 177
				atmel,use-dma-rx;
				atmel,use-dma-tx;
				status = "disabled";
			};

178 179 180 181 182 183 184 185 186 187 188 189 190 191
			ssc0: ssc@fff98000 {
				compatible = "atmel,at91rm9200-ssc";
				reg = <0xfff98000 0x4000>;
				interrupts = <16 4 5>;
				status = "disable";
			};

			ssc1: ssc@fff9c000 {
				compatible = "atmel,at91rm9200-ssc";
				reg = <0xfff9c000 0x4000>;
				interrupts = <17 4 5>;
				status = "disable";
			};

192 193 194
			macb0: ethernet@fffbc000 {
				compatible = "cdns,at32ap7000-macb", "cdns,macb";
				reg = <0xfffbc000 0x100>;
195
				interrupts = <21 4 3>;
196 197 198 199 200 201
				status = "disabled";
			};

			usb1: gadget@fff78000 {
				compatible = "atmel,at91rm9200-udc";
				reg = <0xfff78000 0x4000>;
202
				interrupts = <24 4 2>;
203 204
				status = "disabled";
			};
205 206 207 208 209 210 211 212 213

			i2c0: i2c@fff88000 {
				compatible = "atmel,at91sam9263-i2c";
				reg = <0xfff88000 0x100>;
				interrupts = <13 4 6>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
		};

		nand0: nand@40000000 {
			compatible = "atmel,at91rm9200-nand";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x40000000 0x10000000
			       0xffffe000 0x200
			      >;
			atmel,nand-addr-offset = <21>;
			atmel,nand-cmd-offset = <22>;
			gpios = <&pioA 22 0
				 &pioD 15 0
				 0
				>;
			status = "disabled";
		};

		usb0: ohci@00a00000 {
			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
			reg = <0x00a00000 0x100000>;
235
			interrupts = <29 4 2>;
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
			status = "disabled";
		};
	};

	i2c@0 {
		compatible = "i2c-gpio";
		gpios = <&pioB 4 0 /* sda */
			 &pioB 5 0 /* scl */
			>;
		i2c-gpio,sda-open-drain;
		i2c-gpio,scl-open-drain;
		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};
};