Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  ep93xx.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree file for Cirrus Logic systems EP93XX SoC
 */
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
/ {
 soc: soc {
  compatible = "simple-bus";
  ranges;
  #address-cells = <1>;
  #size-cells = <1>;

  syscon: syscon@80930000 {
   compatible = "cirrus,ep9301-syscon", "syscon";
   reg = <0x80930000 0x1000>;

   #clock-cells = <1>;
   clocks = <&xtali>;

   spi_default_pins: pins-spi {
    function = "spi";
    groups = "ssp";
   };

   ac97_default_pins: pins-ac97 {
    function = "ac97";
    groups = "ac97";
   };

   i2s_on_ssp_pins: pins-i2sonssp {
    function = "i2s";
    groups = "i2s_on_ssp";
   };

   i2s_on_ac97_pins: pins-i2sonac97 {
    function = "i2s";
    groups = "i2s_on_ac97";
   };

   gpio1_default_pins: pins-gpio1 {
    function = "gpio";
    groups = "gpio1agrp";
   };

   pwm1_default_pins: pins-pwm1 {
    function = "pwm";
    groups = "pwm1";
   };

   gpio2_default_pins: pins-gpio2 {
    function = "gpio";
    groups = "gpio2agrp";
   };

   gpio3_default_pins: pins-gpio3 {
    function = "gpio";
    groups = "gpio3agrp";
   };

   keypad_default_pins: pins-keypad {
    function = "keypad";
    groups = "keypadgrp";
   };

   gpio4_default_pins: pins-gpio4 {
    function = "gpio";
    groups = "gpio4agrp";
   };

   gpio6_default_pins: pins-gpio6 {
    function = "gpio";
    groups = "gpio6agrp";
   };

   gpio7_default_pins: pins-gpio7 {
    function = "gpio";
    groups = "gpio7agrp";
   };

   ide_default_pins: pins-ide {
    function = "pata";
    groups = "idegrp";
   };

   lcd_on_dram0_pins: pins-rasteronsdram0 {
    function = "lcd";
    groups = "rasteronsdram0grp";
   };

   lcd_on_dram3_pins: pins-rasteronsdram3 {
    function = "lcd";
    groups = "rasteronsdram3grp";
   };
  };

  adc: adc@80900000 {
   compatible = "cirrus,ep9301-adc";
   reg = <0x80900000 0x28>;
   clocks = <&syscon EP93XX_CLK_ADC>;
   interrupt-parent = <&vic0>;
   interrupts = <30>;
   status = "disabled";
  };

  /*
   * The EP93XX expansion bus is a set of up to 7 each up to 16MB
   * windows in the 256MB space from 0x50000000 to 0x5fffffff.
   * But since we don't require to setup it in any way, we can
   * represent it as a simple-bus.
   */
  ebi: bus@80080000 {
   compatible = "simple-bus";
   reg = <0x80080000 0x20>;
   native-endian;
   #address-cells = <1>;
   #size-cells = <1>;
   ranges;
  };

  dma0: dma-controller@80000000 {
   compatible = "cirrus,ep9301-dma-m2p";
   reg = <0x80000000 0x0040>,
         <0x80000040 0x0040>,
         <0x80000080 0x0040>,
         <0x800000c0 0x0040>,
         <0x80000240 0x0040>,
         <0x80000200 0x0040>,
         <0x800002c0 0x0040>,
         <0x80000280 0x0040>,
         <0x80000340 0x0040>,
         <0x80000300 0x0040>;
   clocks = <&syscon EP93XX_CLK_M2P0>,
     <&syscon EP93XX_CLK_M2P1>,
     <&syscon EP93XX_CLK_M2P2>,
     <&syscon EP93XX_CLK_M2P3>,
     <&syscon EP93XX_CLK_M2P4>,
     <&syscon EP93XX_CLK_M2P5>,
     <&syscon EP93XX_CLK_M2P6>,
     <&syscon EP93XX_CLK_M2P7>,
     <&syscon EP93XX_CLK_M2P8>,
     <&syscon EP93XX_CLK_M2P9>;
   clock-names = "m2p0", "m2p1",
          "m2p2", "m2p3",
          "m2p4", "m2p5",
          "m2p6", "m2p7",
          "m2p8", "m2p9";
   interrupt-parent = <&vic0>;
   interrupts = <7>, <8>, <9>, <10>, <11>,
    <12>, <13>, <14>, <15>, <16>;
   #dma-cells = <2>;
  };

  dma1: dma-controller@80000100 {
   compatible = "cirrus,ep9301-dma-m2m";
   reg = <0x80000100 0x0040>,
         <0x80000140 0x0040>;
   clocks = <&syscon EP93XX_CLK_M2M0>,
     <&syscon EP93XX_CLK_M2M1>;
   clock-names = "m2m0", "m2m1";
   interrupt-parent = <&vic0>;
   interrupts = <17>, <18>;
   #dma-cells = <2>;
  };

  eth0: ethernet@80010000 {
   compatible = "cirrus,ep9301-eth";
   reg = <0x80010000 0x10000>;
   interrupt-parent = <&vic1>;
   interrupts = <7>;
   mdio0: mdio {
    #address-cells = <1>;
    #size-cells = <0>;
   };
  };

  gpio0: gpio@80840000 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840000 0x04>,
         <0x80840010 0x04>,
         <0x80840090 0x1c>;
   reg-names = "data", "dir", "intr";
   gpio-controller;
   #gpio-cells = <2>;
   interrupt-controller;
   #interrupt-cells = <2>;
   interrupt-parent = <&vic1>;
   interrupts = <27>;
  };

  gpio1: gpio@80840004 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840004 0x04>,
         <0x80840014 0x04>,
         <0x808400ac 0x1c>;
   reg-names = "data", "dir", "intr";
   gpio-controller;
   #gpio-cells = <2>;
   interrupt-controller;
   #interrupt-cells = <2>;
   interrupt-parent = <&vic1>;
   interrupts = <27>;
  };

  gpio2: gpio@80840008 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840008 0x04>,
         <0x80840018 0x04>;
   reg-names = "data", "dir";
   gpio-controller;
   #gpio-cells = <2>;
   pinctrl-names = "default";
   pinctrl-0 = <&gpio2_default_pins>;
  };

  gpio3: gpio@8084000c {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x8084000c 0x04>,
         <0x8084001c 0x04>;
   reg-names = "data", "dir";
   gpio-controller;
   #gpio-cells = <2>;
   pinctrl-names = "default";
   pinctrl-0 = <&gpio3_default_pins>;
  };

  gpio4: gpio@80840020 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840020 0x04>,
         <0x80840024 0x04>;
   reg-names = "data", "dir";
   gpio-controller;
   #gpio-cells = <2>;
   pinctrl-names = "default";
   pinctrl-0 = <&gpio4_default_pins>;
  };

  gpio5: gpio@80840030 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840030 0x04>,
         <0x80840034 0x04>,
         <0x8084004c 0x1c>;
   reg-names = "data", "dir", "intr";
   gpio-controller;
   #gpio-cells = <2>;
   interrupt-controller;
   #interrupt-cells = <2>;
   interrupts-extended = <&vic0 19>, <&vic0 20>,
           <&vic0 21>, <&vic0 22>,
           <&vic1 15>, <&vic1 16>,
           <&vic1 17>, <&vic1 18>;
  };

  gpio6: gpio@80840038 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840038 0x04>,
         <0x8084003c 0x04>;
   reg-names = "data", "dir";
   gpio-controller;
   #gpio-cells = <2>;
   pinctrl-names = "default";
   pinctrl-0 = <&gpio6_default_pins>;
  };

  gpio7: gpio@80840040 {
   compatible = "cirrus,ep9301-gpio";
   reg = <0x80840040 0x04>,
         <0x80840044 0x04>;
   reg-names = "data", "dir";
   gpio-controller;
   #gpio-cells = <2>;
   pinctrl-names = "default";
   pinctrl-0 = <&gpio7_default_pins>;
  };

  i2s: i2s@80820000 {
   compatible = "cirrus,ep9301-i2s";
   reg = <0x80820000 0x100>;
   #sound-dai-cells = <0>;
   interrupt-parent = <&vic1>;
   interrupts = <28>;
   clocks = <&syscon EP93XX_CLK_I2S_MCLK>,
     <&syscon EP93XX_CLK_I2S_SCLK>,
     <&syscon EP93XX_CLK_I2S_LRCLK>;
   clock-names = "mclk", "sclk", "lrclk";
   dmas = <&dma0 0 1>, <&dma0 0 2>;
   dma-names = "tx", "rx";
   status = "disabled";
  };

  ide: ide@800a0000 {
   compatible = "cirrus,ep9312-pata";
   reg = <0x800a0000 0x38>;
   interrupt-parent = <&vic1>;
   interrupts = <8>;
   pinctrl-names = "default";
   pinctrl-0 = <&ide_default_pins>;
   status = "disabled";
  };

  vic0: interrupt-controller@800b0000 {
   compatible = "arm,pl192-vic";
   reg = <0x800b0000 0x1000>;
   interrupt-controller;
   #interrupt-cells = <1>;
   valid-mask = <0x7ffffffc>;
   valid-wakeup-mask = <0x0>;
  };

  vic1: interrupt-controller@800c0000 {
   compatible = "arm,pl192-vic";
   reg = <0x800c0000 0x1000>;
   interrupt-controller;
   #interrupt-cells = <1>;
   valid-mask = <0x1fffffff>;
   valid-wakeup-mask = <0x0>;
  };

  keypad: keypad@800f0000 {
   compatible = "cirrus,ep9307-keypad";
   reg = <0x800f0000 0x0c>;
   interrupt-parent = <&vic0>;
   interrupts = <29>;
   clocks = <&syscon EP93XX_CLK_KEYPAD>;
   pinctrl-names = "default";
   pinctrl-0 = <&keypad_default_pins>;
   linux,keymap = <KEY_UP>,
     <KEY_DOWN>,
     <KEY_VOLUMEDOWN>,
     <KEY_HOME>,
     <KEY_RIGHT>,
     <KEY_LEFT>,
     <KEY_ENTER>,
     <KEY_VOLUMEUP>,
     <KEY_F6>,
     <KEY_F8>,
     <KEY_F9>,
     <KEY_F10>,
     <KEY_F1>,
     <KEY_F2>,
     <KEY_F3>,
     <KEY_POWER>;
  };

  pwm0: pwm@80910000 {
   compatible = "cirrus,ep9301-pwm";
   reg = <0x80910000 0x10>;
   clocks = <&syscon EP93XX_CLK_PWM>;
   #pwm-cells = <3>;
   status = "disabled";
  };

  pwm1: pwm@80910020 {
   compatible = "cirrus,ep9301-pwm";
   reg = <0x80910020 0x10>;
   clocks = <&syscon EP93XX_CLK_PWM>;
   #pwm-cells = <3>;
   pinctrl-names = "default";
   pinctrl-0 = <&pwm1_default_pins>;
   status = "disabled";
  };

  rtc0: rtc@80920000 {
   compatible = "cirrus,ep9301-rtc";
   reg = <0x80920000 0x100>;
  };

  spi0: spi@808a0000 {
   compatible = "cirrus,ep9301-spi";
   reg = <0x808a0000 0x18>;
   #address-cells = <1>;
   #size-cells = <0>;
   interrupt-parent = <&vic1>;
   interrupts = <21>;
   clocks = <&syscon EP93XX_CLK_SPI>;
   pinctrl-names = "default";
   pinctrl-0 = <&spi_default_pins>;
   status = "disabled";
  };

  timer: timer@80810000 {
   compatible = "cirrus,ep9301-timer";
   reg = <0x80810000 0x100>;
   interrupt-parent = <&vic1>;
   interrupts = <19>;
  };

  uart0: serial@808c0000 {
   compatible = "arm,pl011", "arm,primecell";
   reg = <0x808c0000 0x1000>;
   arm,primecell-periphid = <0x00041010>;
   clocks = <&syscon EP93XX_CLK_UART1>, <&syscon EP93XX_CLK_UART>;
   clock-names = "uartclk", "apb_pclk";
   interrupt-parent = <&vic1>;
   interrupts = <20>;
   status = "disabled";
  };

  uart1: uart@808d0000 {
   compatible = "arm,primecell";
   reg = <0x808d0000 0x1000>;
   arm,primecell-periphid = <0x00041010>;
   clocks = <&syscon EP93XX_CLK_UART2>, <&syscon EP93XX_CLK_UART>;
   clock-names = "apb:uart2", "apb_pclk";
   interrupt-parent = <&vic1>;
   interrupts = <22>;
   status = "disabled";
  };

  uart2: uart@808b0000 {
   compatible = "arm,primecell";
   reg = <0x808b0000 0x1000>;
   arm,primecell-periphid = <0x00041010>;
   clocks = <&syscon EP93XX_CLK_UART3>, <&syscon EP93XX_CLK_UART>;
   clock-names = "apb:uart3", "apb_pclk";
   interrupt-parent = <&vic1>;
   interrupts = <23>;
   status = "disabled";
  };

  usb0: usb@80020000 {
   compatible = "generic-ohci";
   reg = <0x80020000 0x10000>;
   interrupt-parent = <&vic1>;
   interrupts = <24>;
   clocks = <&syscon EP93XX_CLK_USB>;
   status = "disabled";
  };

  watchdog0: watchdog@80940000 {
   compatible = "cirrus,ep9301-wdt";
   reg = <0x80940000 0x08>;
  };
 };

 xtali: oscillator {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <14745600>;
  clock-output-names = "xtali";
 };
};

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge