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


Quelle  ac5-98dx25xx.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Device Tree For AC5.
 *
 * Copyright (C) 2021 Marvell
 * Copyright (C) 2022 Allied Telesis Labs
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>

/ {
 model = "Marvell AC5 SoC";
 compatible = "marvell,ac5";
 interrupt-parent = <&gic>;
 #address-cells = <2>;
 #size-cells = <2>;

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

  cpu-map {
   cluster0 {
    core0 {
     cpu = <&cpu0>;
    };
    core1 {
     cpu = <&cpu1>;
    };
   };
  };

  cpu0: cpu@0 {
   device_type = "cpu";
   compatible = "arm,cortex-a55";
   reg = <0x0 0x0>;
   enable-method = "psci";
   next-level-cache = <&l2>;
  };

  cpu1: cpu@1 {
   device_type = "cpu";
   compatible = "arm,cortex-a55";
   reg = <0x0 0x100>;
   enable-method = "psci";
   next-level-cache = <&l2>;
  };

  l2: l2-cache {
   compatible = "cache";
   cache-level = <2>;
   cache-unified;
  };
 };

 psci {
  compatible = "arm,psci-0.2";
  method = "smc";
 };

 timer {
  compatible = "arm,armv8-timer";
  interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>,
        <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>,
        <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>,
        <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
 };

 pmu {
  compatible = "arm,cortex-a55-pmu";
  interrupts = <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH>;
 };

 soc {
  compatible = "simple-bus";
  #address-cells = <2>;
  #size-cells = <2>;
  ranges;

  bus@7f000000 {
   #address-cells = <1>;
   #size-cells = <1>;
   compatible = "simple-bus";
   /* 16M internal register @ 0x7f00_0000 */
   ranges = <0x0 0x0 0x7f000000 0x1000000>;
   dma-coherent;

   uart0: serial@12000 {
    compatible = "snps,dw-apb-uart";
    reg = <0x12000 0x100>;
    reg-shift = <2>;
    interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
    reg-io-width = <1>;
    clocks = <&cnm_clock>;
    status = "okay";
   };

   uart1: serial@12100 {
    compatible = "snps,dw-apb-uart";
    reg = <0x12100 0x100>;
    reg-shift = <2>;
    interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
    reg-io-width = <1>;
    clocks = <&cnm_clock>;
    status = "disabled";
   };

   uart2: serial@12200 {
    compatible = "snps,dw-apb-uart";
    reg = <0x12200 0x100>;
    reg-shift = <2>;
    interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
    reg-io-width = <1>;
    clocks = <&cnm_clock>;
    status = "disabled";
   };

   uart3: serial@12300 {
    compatible = "snps,dw-apb-uart";
    reg = <0x12300 0x100>;
    reg-shift = <2>;
    interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
    reg-io-width = <1>;
    clocks = <&cnm_clock>;
    status = "disabled";
   };

   mdio: mdio@22004 {
    #address-cells = <1>;
    #size-cells = <0>;
    compatible = "marvell,orion-mdio";
    reg = <0x22004 0x4>;
    clocks = <&cnm_clock>;
   };

   i2c0: i2c@11000 {
    compatible = "marvell,mv78230-i2c";
    reg = <0x11000 0x20>;
    #address-cells = <1>;
    #size-cells = <0>;

    clocks = <&cnm_clock>;
    clock-names = "core";
    interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
    clock-frequency = <100000>;

    pinctrl-names = "default", "gpio";
    pinctrl-0 = <&i2c0_pins>;
    pinctrl-1 = <&i2c0_gpio>;
    scl-gpios = <&gpio0 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    sda-gpios = <&gpio0 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    status = "disabled";
   };

   i2c1: i2c@11100 {
    compatible = "marvell,mv78230-i2c";
    reg = <0x11100 0x20>;
    #address-cells = <1>;
    #size-cells = <0>;

    clocks = <&cnm_clock>;
    clock-names = "core";
    interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
    clock-frequency = <100000>;

    pinctrl-names = "default", "gpio";
    pinctrl-0 = <&i2c1_pins>;
    pinctrl-1 = <&i2c1_gpio>;
    scl-gpios = <&gpio0 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    sda-gpios = <&gpio0 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    status = "disabled";
   };

   gpio0: gpio@18100 {
    compatible = "marvell,orion-gpio";
    reg = <0x18100 0x40>;
    ngpios = <32>;
    gpio-controller;
    #gpio-cells = <2>;
    gpio-ranges = <&pinctrl0 0 0 32>;
    marvell,pwm-offset = <0x1f0>;
    interrupt-controller;
    #interrupt-cells = <2>;
    interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
   };

   gpio1: gpio@18140 {
    reg = <0x18140 0x40>;
    compatible = "marvell,orion-gpio";
    ngpios = <14>;
    gpio-controller;
    #gpio-cells = <2>;
    gpio-ranges = <&pinctrl0 0 32 14>;
    marvell,pwm-offset = <0x1f0>;
    interrupt-controller;
    #interrupt-cells = <2>;
    interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
   };
  };

  mmc_dma: bus@80500000 {
    compatible = "simple-bus";
    ranges;
    #address-cells = <0x2>;
    #size-cells = <0x2>;
    reg = <0x0 0x80500000 0x0 0x100000>;
    dma-ranges = <0x0 0x0 0x2 0x0 0x0 0x80000000>;
    dma-coherent;

    sdhci: mmc@805c0000 {
     compatible = "marvell,ac5-sdhci",
           "marvell,armada-ap806-sdhci";
     reg = <0x0 0x805c0000 0x0 0x1000>;
     interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
     clocks = <&emmc_clock>, <&cnm_clock>;
     clock-names = "core", "axi";
     bus-width = <8>;
     non-removable;
     mmc-ddr-1_8v;
     mmc-hs200-1_8v;
     mmc-hs400-1_8v;
    };
  };

  /*
   * Dedicated section for devices behind 32bit controllers so we
   * can configure specific DMA mapping for them
   */
  behind-32bit-controller@7f000000 {
   compatible = "simple-bus";
   #address-cells = <0x2>;
   #size-cells = <0x2>;
   ranges = <0x0 0x0 0x0 0x7f000000 0x0 0x1000000>;
   /* Host phy ram starts at 0x200M */
   dma-ranges = <0x0 0x0 0x2 0x0 0x1 0x0>;
   dma-coherent;

   eth0: ethernet@20000 {
    compatible = "marvell,armada-ac5-neta";
    reg = <0x0 0x20000 0x0 0x4000>;
    interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&cnm_clock>;
    phy-mode = "sgmii";
    status = "disabled";
   };

   eth1: ethernet@24000 {
    compatible = "marvell,armada-ac5-neta";
    reg = <0x0 0x24000 0x0 0x4000>;
    interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&cnm_clock>;
    phy-mode = "sgmii";
    status = "disabled";
   };

   usb0: usb@80000 {
    compatible = "marvell,orion-ehci";
    reg = <0x0 0x80000 0x0 0x500>;
    interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
    status = "disabled";
   };

   usb1: usb@a0000 {
    compatible = "marvell,orion-ehci";
    reg = <0x0 0xa0000 0x0 0x500>;
    interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
    status = "disabled";
   };
  };

  pinctrl0: pinctrl@80020100 {
   compatible = "marvell,ac5-pinctrl";
   reg = <0 0x80020100 0 0x20>;

   i2c0_pins: i2c0-pins {
    marvell,pins = "mpp26", "mpp27";
    marvell,function = "i2c0";
   };

   i2c0_gpio: i2c0-gpio-pins {
    marvell,pins = "mpp26", "mpp27";
    marvell,function = "gpio";
   };

   i2c1_pins: i2c1-pins {
    marvell,pins = "mpp20", "mpp21";
    marvell,function = "i2c1";
   };

   i2c1_gpio: i2c1-gpio-pins {
    marvell,pins = "mpp20", "mpp21";
    marvell,function = "i2c1";
   };
  };

  spi0: spi@805a0000 {
   compatible = "marvell,armada-3700-spi";
   reg = <0x0 0x805a0000 0x0 0x50>;
   #address-cells = <0x1>;
   #size-cells = <0x0>;
   clocks = <&spi_clock>;
   interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
   num-cs = <1>;
   status = "disabled";
  };

  spi1: spi@805a8000 {
   compatible = "marvell,armada-3700-spi";
   reg = <0x0 0x805a8000 0x0 0x50>;
   #address-cells = <0x1>;
   #size-cells = <0x0>;
   clocks = <&spi_clock>;
   interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
   num-cs = <1>;
   status = "disabled";
  };

  nand: nand-controller@805b0000 {
   compatible = "marvell,ac5-nand-controller";
   reg =  <0x0 0x805b0000 0x0 0x00000054>;
   #address-cells = <0x1>;
   #size-cells = <0x0>;
   interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&nand_clock>;
   status = "disabled";
  };

  gic: interrupt-controller@80600000 {
   compatible = "arm,gic-v3";
   #interrupt-cells = <3>;
   interrupt-controller;
   reg = <0x0 0x80600000 0x0 0x10000>, /* GICD */
         <0x0 0x80660000 0x0 0x40000>; /* GICR */
   interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
  };
 };

 clocks {
  cnm_clock: cnm-clock {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <328000000>;
  };

  spi_clock: spi-clock {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <200000000>;
  };

  nand_clock: nand-clock {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <400000000>;
  };

  emmc_clock: emmc-clock {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <400000000>;
  };
 };
};

[ Dauer der Verarbeitung: 0.2 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