~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/include-prefixes/arm/cirrus/ep93xx.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 /*
  3  * Device Tree file for Cirrus Logic systems EP93XX SoC
  4  */
  5 #include <dt-bindings/gpio/gpio.h>
  6 #include <dt-bindings/leds/common.h>
  7 #include <dt-bindings/input/input.h>
  8 #include <dt-bindings/clock/cirrus,ep9301-syscon.h>
  9 / {
 10         soc: soc {
 11                 compatible = "simple-bus";
 12                 ranges;
 13                 #address-cells = <1>;
 14                 #size-cells = <1>;
 15 
 16                 syscon: syscon@80930000 {
 17                         compatible = "cirrus,ep9301-syscon", "syscon";
 18                         reg = <0x80930000 0x1000>;
 19 
 20                         #clock-cells = <1>;
 21                         clocks = <&xtali>;
 22 
 23                         spi_default_pins: pins-spi {
 24                                 function = "spi";
 25                                 groups = "ssp";
 26                         };
 27 
 28                         ac97_default_pins: pins-ac97 {
 29                                 function = "ac97";
 30                                 groups = "ac97";
 31                         };
 32 
 33                         i2s_on_ssp_pins: pins-i2sonssp {
 34                                 function = "i2s";
 35                                 groups = "i2s_on_ssp";
 36                         };
 37 
 38                         i2s_on_ac97_pins: pins-i2sonac97 {
 39                                 function = "i2s";
 40                                 groups = "i2s_on_ac97";
 41                         };
 42 
 43                         gpio1_default_pins: pins-gpio1 {
 44                                 function = "gpio";
 45                                 groups = "gpio1agrp";
 46                         };
 47 
 48                         pwm1_default_pins: pins-pwm1 {
 49                                 function = "pwm";
 50                                 groups = "pwm1";
 51                         };
 52 
 53                         gpio2_default_pins: pins-gpio2 {
 54                                 function = "gpio";
 55                                 groups = "gpio2agrp";
 56                         };
 57 
 58                         gpio3_default_pins: pins-gpio3 {
 59                                 function = "gpio";
 60                                 groups = "gpio3agrp";
 61                         };
 62 
 63                         keypad_default_pins: pins-keypad {
 64                                 function = "keypad";
 65                                 groups = "keypadgrp";
 66                         };
 67 
 68                         gpio4_default_pins: pins-gpio4 {
 69                                 function = "gpio";
 70                                 groups = "gpio4agrp";
 71                         };
 72 
 73                         gpio6_default_pins: pins-gpio6 {
 74                                 function = "gpio";
 75                                 groups = "gpio6agrp";
 76                         };
 77 
 78                         gpio7_default_pins: pins-gpio7 {
 79                                 function = "gpio";
 80                                 groups = "gpio7agrp";
 81                         };
 82 
 83                         ide_default_pins: pins-ide {
 84                                 function = "pata";
 85                                 groups = "idegrp";
 86                         };
 87 
 88                         lcd_on_dram0_pins: pins-rasteronsdram0 {
 89                                 function = "lcd";
 90                                 groups = "rasteronsdram0grp";
 91                         };
 92 
 93                         lcd_on_dram3_pins: pins-rasteronsdram3 {
 94                                 function = "lcd";
 95                                 groups = "rasteronsdram3grp";
 96                         };
 97                 };
 98 
 99                 adc: adc@80900000 {
100                         compatible = "cirrus,ep9301-adc";
101                         reg = <0x80900000 0x28>;
102                         clocks = <&syscon EP93XX_CLK_ADC>;
103                         interrupt-parent = <&vic0>;
104                         interrupts = <30>;
105                         status = "disabled";
106                 };
107 
108                 /*
109                  * The EP93XX expansion bus is a set of up to 7 each up to 16MB
110                  * windows in the 256MB space from 0x50000000 to 0x5fffffff.
111                  * But since we don't require to setup it in any way, we can
112                  * represent it as a simple-bus.
113                  */
114                 ebi: bus@80080000 {
115                         compatible = "simple-bus";
116                         reg = <0x80080000 0x20>;
117                         native-endian;
118                         #address-cells = <1>;
119                         #size-cells = <1>;
120                         ranges;
121                 };
122 
123                 dma0: dma-controller@80000000 {
124                         compatible = "cirrus,ep9301-dma-m2p";
125                         reg = <0x80000000 0x0040>,
126                               <0x80000040 0x0040>,
127                               <0x80000080 0x0040>,
128                               <0x800000c0 0x0040>,
129                               <0x80000240 0x0040>,
130                               <0x80000200 0x0040>,
131                               <0x800002c0 0x0040>,
132                               <0x80000280 0x0040>,
133                               <0x80000340 0x0040>,
134                               <0x80000300 0x0040>;
135                         clocks = <&syscon EP93XX_CLK_M2P0>,
136                                  <&syscon EP93XX_CLK_M2P1>,
137                                  <&syscon EP93XX_CLK_M2P2>,
138                                  <&syscon EP93XX_CLK_M2P3>,
139                                  <&syscon EP93XX_CLK_M2P4>,
140                                  <&syscon EP93XX_CLK_M2P5>,
141                                  <&syscon EP93XX_CLK_M2P6>,
142                                  <&syscon EP93XX_CLK_M2P7>,
143                                  <&syscon EP93XX_CLK_M2P8>,
144                                  <&syscon EP93XX_CLK_M2P9>;
145                         clock-names = "m2p0", "m2p1",
146                                       "m2p2", "m2p3",
147                                       "m2p4", "m2p5",
148                                       "m2p6", "m2p7",
149                                       "m2p8", "m2p9";
150                         interrupt-parent = <&vic0>;
151                         interrupts = <7>, <8>, <9>, <10>, <11>,
152                                 <12>, <13>, <14>, <15>, <16>;
153                         #dma-cells = <2>;
154                 };
155 
156                 dma1: dma-controller@80000100 {
157                         compatible = "cirrus,ep9301-dma-m2m";
158                         reg = <0x80000100 0x0040>,
159                               <0x80000140 0x0040>;
160                         clocks = <&syscon EP93XX_CLK_M2M0>,
161                                  <&syscon EP93XX_CLK_M2M1>;
162                         clock-names = "m2m0", "m2m1";
163                         interrupt-parent = <&vic0>;
164                         interrupts = <17>, <18>;
165                         #dma-cells = <2>;
166                 };
167 
168                 eth0: ethernet@80010000 {
169                         compatible = "cirrus,ep9301-eth";
170                         reg = <0x80010000 0x10000>;
171                         interrupt-parent = <&vic1>;
172                         interrupts = <7>;
173                         mdio0: mdio {
174                                 #address-cells = <1>;
175                                 #size-cells = <0>;
176                         };
177                 };
178 
179                 gpio0: gpio@80840000 {
180                         compatible = "cirrus,ep9301-gpio";
181                         reg = <0x80840000 0x04>,
182                               <0x80840010 0x04>,
183                               <0x80840090 0x1c>;
184                         reg-names = "data", "dir", "intr";
185                         gpio-controller;
186                         #gpio-cells = <2>;
187                         interrupt-controller;
188                         #interrupt-cells = <2>;
189                         interrupt-parent = <&vic1>;
190                         interrupts = <27>;
191                 };
192 
193                 gpio1: gpio@80840004 {
194                         compatible = "cirrus,ep9301-gpio";
195                         reg = <0x80840004 0x04>,
196                               <0x80840014 0x04>,
197                               <0x808400ac 0x1c>;
198                         reg-names = "data", "dir", "intr";
199                         gpio-controller;
200                         #gpio-cells = <2>;
201                         interrupt-controller;
202                         #interrupt-cells = <2>;
203                         interrupt-parent = <&vic1>;
204                         interrupts = <27>;
205                 };
206 
207                 gpio2: gpio@80840008 {
208                         compatible = "cirrus,ep9301-gpio";
209                         reg = <0x80840008 0x04>,
210                               <0x80840018 0x04>;
211                         reg-names = "data", "dir";
212                         gpio-controller;
213                         #gpio-cells = <2>;
214                         pinctrl-names = "default";
215                         pinctrl-0 = <&gpio2_default_pins>;
216                 };
217 
218                 gpio3: gpio@8084000c {
219                         compatible = "cirrus,ep9301-gpio";
220                         reg = <0x8084000c 0x04>,
221                               <0x8084001c 0x04>;
222                         reg-names = "data", "dir";
223                         gpio-controller;
224                         #gpio-cells = <2>;
225                         pinctrl-names = "default";
226                         pinctrl-0 = <&gpio3_default_pins>;
227                 };
228 
229                 gpio4: gpio@80840020 {
230                         compatible = "cirrus,ep9301-gpio";
231                         reg = <0x80840020 0x04>,
232                               <0x80840024 0x04>;
233                         reg-names = "data", "dir";
234                         gpio-controller;
235                         #gpio-cells = <2>;
236                         pinctrl-names = "default";
237                         pinctrl-0 = <&gpio4_default_pins>;
238                 };
239 
240                 gpio5: gpio@80840030 {
241                         compatible = "cirrus,ep9301-gpio";
242                         reg = <0x80840030 0x04>,
243                               <0x80840034 0x04>,
244                               <0x8084004c 0x1c>;
245                         reg-names = "data", "dir", "intr";
246                         gpio-controller;
247                         #gpio-cells = <2>;
248                         interrupt-controller;
249                         #interrupt-cells = <2>;
250                         interrupts-extended = <&vic0 19>, <&vic0 20>,
251                                               <&vic0 21>, <&vic0 22>,
252                                               <&vic1 15>, <&vic1 16>,
253                                               <&vic1 17>, <&vic1 18>;
254                 };
255 
256                 gpio6: gpio@80840038 {
257                         compatible = "cirrus,ep9301-gpio";
258                         reg = <0x80840038 0x04>,
259                               <0x8084003c 0x04>;
260                         reg-names = "data", "dir";
261                         gpio-controller;
262                         #gpio-cells = <2>;
263                         pinctrl-names = "default";
264                         pinctrl-0 = <&gpio6_default_pins>;
265                 };
266 
267                 gpio7: gpio@80840040 {
268                         compatible = "cirrus,ep9301-gpio";
269                         reg = <0x80840040 0x04>,
270                               <0x80840044 0x04>;
271                         reg-names = "data", "dir";
272                         gpio-controller;
273                         #gpio-cells = <2>;
274                         pinctrl-names = "default";
275                         pinctrl-0 = <&gpio7_default_pins>;
276                 };
277 
278                 i2s: i2s@80820000 {
279                         compatible = "cirrus,ep9301-i2s";
280                         reg = <0x80820000 0x100>;
281                         #sound-dai-cells = <0>;
282                         interrupt-parent = <&vic1>;
283                         interrupts = <28>;
284                         clocks = <&syscon EP93XX_CLK_I2S_MCLK>,
285                                  <&syscon EP93XX_CLK_I2S_SCLK>,
286                                  <&syscon EP93XX_CLK_I2S_LRCLK>;
287                         clock-names = "mclk", "sclk", "lrclk";
288                         dmas = <&dma0 0 1>, <&dma0 0 2>;
289                         dma-names = "tx", "rx";
290                         status = "disabled";
291                 };
292 
293                 ide: ide@800a0000 {
294                         compatible = "cirrus,ep9312-pata";
295                         reg = <0x800a0000 0x38>;
296                         interrupt-parent = <&vic1>;
297                         interrupts = <8>;
298                         pinctrl-names = "default";
299                         pinctrl-0 = <&ide_default_pins>;
300                         status = "disabled";
301                 };
302 
303                 vic0: interrupt-controller@800b0000 {
304                         compatible = "arm,pl192-vic";
305                         reg = <0x800b0000 0x1000>;
306                         interrupt-controller;
307                         #interrupt-cells = <1>;
308                         valid-mask = <0x7ffffffc>;
309                         valid-wakeup-mask = <0x0>;
310                 };
311 
312                 vic1: interrupt-controller@800c0000 {
313                         compatible = "arm,pl192-vic";
314                         reg = <0x800c0000 0x1000>;
315                         interrupt-controller;
316                         #interrupt-cells = <1>;
317                         valid-mask = <0x1fffffff>;
318                         valid-wakeup-mask = <0x0>;
319                 };
320 
321                 keypad: keypad@800f0000 {
322                         compatible = "cirrus,ep9307-keypad";
323                         reg = <0x800f0000 0x0c>;
324                         interrupt-parent = <&vic0>;
325                         interrupts = <29>;
326                         clocks = <&syscon EP93XX_CLK_KEYPAD>;
327                         pinctrl-names = "default";
328                         pinctrl-0 = <&keypad_default_pins>;
329                         linux,keymap =  <KEY_UP>,
330                                         <KEY_DOWN>,
331                                         <KEY_VOLUMEDOWN>,
332                                         <KEY_HOME>,
333                                         <KEY_RIGHT>,
334                                         <KEY_LEFT>,
335                                         <KEY_ENTER>,
336                                         <KEY_VOLUMEUP>,
337                                         <KEY_F6>,
338                                         <KEY_F8>,
339                                         <KEY_F9>,
340                                         <KEY_F10>,
341                                         <KEY_F1>,
342                                         <KEY_F2>,
343                                         <KEY_F3>,
344                                         <KEY_POWER>;
345                 };
346 
347                 pwm0: pwm@80910000 {
348                         compatible = "cirrus,ep9301-pwm";
349                         reg = <0x80910000 0x10>;
350                         clocks = <&syscon EP93XX_CLK_PWM>;
351                         #pwm-cells = <3>;
352                         status = "disabled";
353                 };
354 
355                 pwm1: pwm@80910020 {
356                         compatible = "cirrus,ep9301-pwm";
357                         reg = <0x80910020 0x10>;
358                         clocks = <&syscon EP93XX_CLK_PWM>;
359                         #pwm-cells = <3>;
360                         pinctrl-names = "default";
361                         pinctrl-0 = <&pwm1_default_pins>;
362                         status = "disabled";
363                 };
364 
365                 rtc0: rtc@80920000 {
366                         compatible = "cirrus,ep9301-rtc";
367                         reg = <0x80920000 0x100>;
368                 };
369 
370                 spi0: spi@808a0000 {
371                         compatible = "cirrus,ep9301-spi";
372                         reg = <0x808a0000 0x18>;
373                         #address-cells = <1>;
374                         #size-cells = <0>;
375                         interrupt-parent = <&vic1>;
376                         interrupts = <21>;
377                         clocks = <&syscon EP93XX_CLK_SPI>;
378                         pinctrl-names = "default";
379                         pinctrl-0 = <&spi_default_pins>;
380                         status = "disabled";
381                 };
382 
383                 timer: timer@80810000 {
384                         compatible = "cirrus,ep9301-timer";
385                         reg = <0x80810000 0x100>;
386                         interrupt-parent = <&vic1>;
387                         interrupts = <19>;
388                 };
389 
390                 uart0: serial@808c0000 {
391                         compatible = "arm,pl011", "arm,primecell";
392                         reg = <0x808c0000 0x1000>;
393                         arm,primecell-periphid = <0x00041010>;
394                         clocks = <&syscon EP93XX_CLK_UART1>, <&syscon EP93XX_CLK_UART>;
395                         clock-names = "uartclk", "apb_pclk";
396                         interrupt-parent = <&vic1>;
397                         interrupts = <20>;
398                         status = "disabled";
399                 };
400 
401                 uart1: uart@808d0000 {
402                         compatible = "arm,primecell";
403                         reg = <0x808d0000 0x1000>;
404                         arm,primecell-periphid = <0x00041010>;
405                         clocks = <&syscon EP93XX_CLK_UART2>, <&syscon EP93XX_CLK_UART>;
406                         clock-names = "apb:uart2", "apb_pclk";
407                         interrupt-parent = <&vic1>;
408                         interrupts = <22>;
409                         status = "disabled";
410                 };
411 
412                 uart2: uart@808b0000 {
413                         compatible = "arm,primecell";
414                         reg = <0x808b0000 0x1000>;
415                         arm,primecell-periphid = <0x00041010>;
416                         clocks = <&syscon EP93XX_CLK_UART3>, <&syscon EP93XX_CLK_UART>;
417                         clock-names = "apb:uart3", "apb_pclk";
418                         interrupt-parent = <&vic1>;
419                         interrupts = <23>;
420                         status = "disabled";
421                 };
422 
423                 usb0: usb@80020000 {
424                         compatible = "generic-ohci";
425                         reg = <0x80020000 0x10000>;
426                         interrupt-parent = <&vic1>;
427                         interrupts = <24>;
428                         clocks = <&syscon EP93XX_CLK_USB>;
429                         status = "disabled";
430                 };
431 
432                 watchdog0: watchdog@80940000 {
433                         compatible = "cirrus,ep9301-wdt";
434                         reg = <0x80940000 0x08>;
435                 };
436         };
437 
438         xtali: oscillator {
439                 compatible = "fixed-clock";
440                 #clock-cells = <0>;
441                 clock-frequency = <14745600>;
442                 clock-output-names = "xtali";
443         };
444 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php