Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/mips/boot/dts/mobileye/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 7 kB image not shown  

Quelle  eyeq5.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
/*
* Copyright 2023 Mobileye Vision Technologies Ltd.
*/

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

#include <dt-bindings/clock/mobileye,eyeq5-clk.h>

/ {
 #address-cells = <2>;
 #size-cells = <2>;
 cpus {
  #address-cells = <1>;
  #size-cells = <0>;
  cpu@0 {
   device_type = "cpu";
   compatible = "img,i6500";
   reg = <0>;
   clocks = <&olb EQ5C_CPU_CORE0>;
  };
 };

 reserved-memory {
  #address-cells = <2>;
  #size-cells = <2>;
  ranges;

  /* These reserved memory regions are also defined in bootmanager
  * for configuring inbound translation for BARS, don't change
  * these without syncing with bootmanager
  */
  shmem0_reserved: shmem@804000000 {
   reg = <0x8 0x04000000 0x0 0x1000000>;
  };
  shmem1_reserved: shmem@805000000 {
   reg = <0x8 0x05000000 0x0 0x1000000>;
  };
  pci0_msi_reserved: pci0-msi@806000000 {
   reg = <0x8 0x06000000 0x0 0x100000>;
  };
  pci1_msi_reserved: pci1-msi@806100000 {
   reg = <0x8 0x06100000 0x0 0x100000>;
  };

  mini_coredump0_reserved: mini-coredump0@806200000 {
   reg = <0x8 0x06200000 0x0 0x100000>;
  };
  mhm_reserved_0: the-mhm-reserved-0@0 {
   reg = <0x8 0x00000000 0x0 0x0000800>;
  };

  nvram@461fe00 {
   compatible = "mobileye,eyeq5-bootloader-config", "nvmem-rmem";
   reg = <0x0 0x0461fe00 0x0 0x200>;
   #address-cells = <1>;
   #size-cells = <1>;
   no-map;

   nvmem-layout {
    compatible = "fixed-layout";
    #address-cells = <1>;
    #size-cells = <1>;

    eth0_mac: mac@7c {
     reg = <0x7c 0x6>;
    };

    eth1_mac: mac@82 {
     reg = <0x82 0x6>;
    };
   };
  };
 };

 aliases {
  serial0 = &uart0;
  serial1 = &uart1;
  serial2 = &uart2;
 };

 cpu_intc: interrupt-controller {
  compatible = "mti,cpu-interrupt-controller";
  interrupt-controller;
  #address-cells = <0>;
  #interrupt-cells = <1>;
 };

 xtal: xtal {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <30000000>;
 };

 pclk: pclk {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <250000000>;  /* 250MHz */
 };

 tsu_clk: tsu-clk {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <125000000>;  /* 125MHz */
 };

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

  i2c0: i2c@300000 {
   compatible = "mobileye,eyeq5-i2c", "arm,primecell";
   reg = <0 0x300000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
   clock-frequency = <400000>; /* Fast mode */
   #address-cells = <1>;
   #size-cells = <0>;
   clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
   clock-names = "i2cclk", "apb_pclk";
   resets = <&olb 0 13>;
   i2c-transfer-timeout-us = <10000>;
   mobileye,olb = <&olb 0>;
  };

  i2c1: i2c@400000 {
   compatible = "mobileye,eyeq5-i2c", "arm,primecell";
   reg = <0 0x400000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
   clock-frequency = <400000>; /* Fast mode */
   #address-cells = <1>;
   #size-cells = <0>;
   clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
   clock-names = "i2cclk", "apb_pclk";
   resets = <&olb 0 14>;
   i2c-transfer-timeout-us = <10000>;
   mobileye,olb = <&olb 1>;
  };

  i2c2: i2c@500000 {
   compatible = "mobileye,eyeq5-i2c", "arm,primecell";
   reg = <0 0x500000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
   clock-frequency = <400000>; /* Fast mode */
   #address-cells = <1>;
   #size-cells = <0>;
   clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
   clock-names = "i2cclk", "apb_pclk";
   resets = <&olb 0 15>;
   i2c-transfer-timeout-us = <10000>;
   mobileye,olb = <&olb 2>;
  };

  i2c3: i2c@600000 {
   compatible = "mobileye,eyeq5-i2c", "arm,primecell";
   reg = <0 0x600000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
   clock-frequency = <400000>; /* Fast mode */
   #address-cells = <1>;
   #size-cells = <0>;
   clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
   clock-names = "i2cclk", "apb_pclk";
   resets = <&olb 0 16>;
   i2c-transfer-timeout-us = <10000>;
   mobileye,olb = <&olb 3>;
  };

  i2c4: i2c@700000 {
   compatible = "mobileye,eyeq5-i2c", "arm,primecell";
   reg = <0 0x700000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
   clock-frequency = <400000>; /* Fast mode */
   #address-cells = <1>;
   #size-cells = <0>;
   clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
   clock-names = "i2cclk", "apb_pclk";
   resets = <&olb 0 17>;
   i2c-transfer-timeout-us = <10000>;
   mobileye,olb = <&olb 4>;
  };

  uart0: serial@800000 {
   compatible = "arm,pl011", "arm,primecell";
   reg = <0 0x800000 0x0 0x1000>;
   reg-io-width = <4>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
   clocks  = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
   clock-names = "uartclk", "apb_pclk";
   resets = <&olb 0 10>;
   pinctrl-names = "default";
   pinctrl-0 = <&uart0_pins>;
  };

  uart1: serial@900000 {
   compatible = "arm,pl011", "arm,primecell";
   reg = <0 0x900000 0x0 0x1000>;
   reg-io-width = <4>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
   clocks  = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
   clock-names = "uartclk", "apb_pclk";
   resets = <&olb 0 11>;
   pinctrl-names = "default";
   pinctrl-0 = <&uart1_pins>;
  };

  uart2: serial@a00000 {
   compatible = "arm,pl011", "arm,primecell";
   reg = <0 0xa00000 0x0 0x1000>;
   reg-io-width = <4>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
   clocks  = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
   clock-names = "uartclk", "apb_pclk";
   resets = <&olb 0 12>;
   pinctrl-names = "default";
   pinctrl-0 = <&uart2_pins>;
  };

  olb: system-controller@e00000 {
   compatible = "mobileye,eyeq5-olb", "syscon";
   reg = <0 0xe00000 0x0 0x400>;
   #reset-cells = <2>;
   #clock-cells = <1>;
   clocks = <&xtal>;
   clock-names = "ref";
  };

  gic: interrupt-controller@140000 {
   compatible = "mti,gic";
   reg = <0x0 0x140000 0x0 0x20000>;
   interrupt-controller;
   #interrupt-cells = <3>;

   /*
   * Declare the interrupt-parent even though the mti,gic
   * binding doesn't require it, such that the kernel can
   * figure out that cpu_intc is the root interrupt
   * controller & should be probed first.
   */
   interrupt-parent = <&cpu_intc>;

   timer {
    compatible = "mti,gic-timer";
    interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
    clocks = <&olb EQ5C_CPU_CORE0>;
   };
  };

  emmc: mmc@2200000 {
   compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
   reg = <0 0x2200000 0x0 0x1000>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 10 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&olb EQ5C_PER_EMMC>;
   bus-width = <8>;
   max-frequency = <200000000>;
   mmc-ddr-1_8v;
   sd-uhs-ddr50;
   mmc-hs200-1_8v;
   mmc-hs400-1_8v;
   mmc-hs400-enhanced-strobe;

   cdns,phy-input-delay-legacy = <4>;
   cdns,phy-input-delay-mmc-highspeed = <2>;
   cdns,phy-input-delay-mmc-ddr = <3>;
   cdns,phy-dll-delay-sdclk = <32>;
   cdns,phy-dll-delay-sdclk-hsmmc = <32>;
   cdns,phy-dll-delay-strobe = <32>;
  };

  gpio0: gpio@1400000 {
   compatible = "mobileye,eyeq5-gpio";
   reg = <0x0 0x1400000 0x0 0x1000>;
   gpio-bank = <0>;
   ngpios = <29>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
   gpio-controller;
   #gpio-cells = <2>;
   gpio-ranges = <&olb 0 0 29>;
   interrupt-controller;
   #interrupt-cells = <2>;
   resets = <&olb 0 26>;
  };

  gpio1: gpio@1500000 {
   compatible = "mobileye,eyeq5-gpio";
   reg = <0x0 0x1500000 0x0 0x1000>;
   gpio-bank = <1>;
   ngpios = <23>;
   interrupt-parent = <&gic>;
   interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
   gpio-controller;
   #gpio-cells = <2>;
   gpio-ranges = <&olb 0 29 23>;
   interrupt-controller;
   #interrupt-cells = <2>;
   resets = <&olb 0 26>;
  };
 };
};

#include "eyeq5-pins.dtsi"

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]