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


Quelle  mt8365.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * (C) 2018 MediaTek Inc.
 * Copyright (C) 2022 BayLibre SAS
 * Authors: Fabien Parent <fparent@baylibre.com>
 *     Bernhard Rosenkränzer <bero@baylibre.com>
 *     Alexandre Mergnat <amergnat@baylibre.com>
 */

#include <dt-bindings/clock/mediatek,mt8365-clk.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/memory/mediatek,mt8365-larb-port.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/power/mediatek,mt8365-power.h>

/ {
 compatible = "mediatek,mt8365";
 interrupt-parent = <&sysirq>;
 #address-cells = <2>;
 #size-cells = <2>;

 aliases {
  aal0 = &aal0;
  ccorr0 = &ccorr0;
  color0 = &color0;
  dither0 = &dither0;
  dpi0 = &dpi0;
  dsi0 = &dsi0;
  gamma0 = &gamma0;
  ovl0 = &ovl0;
  rdma0 = &rdma0;
  rdma1 = &rdma1;
 };

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

 cluster0_opp: opp-table-0 {
  compatible = "operating-points-v2";
  opp-shared;

  opp-850000000 {
   opp-hz = /bits/ 64 <850000000>;
   opp-microvolt = <650000>;
  };

  opp-918000000 {
   opp-hz = /bits/ 64 <918000000>;
   opp-microvolt = <668750>;
  };

  opp-987000000 {
   opp-hz = /bits/ 64 <987000000>;
   opp-microvolt = <687500>;
  };

  opp-1056000000 {
   opp-hz = /bits/ 64 <1056000000>;
   opp-microvolt = <706250>;
  };

  opp-1125000000 {
   opp-hz = /bits/ 64 <1125000000>;
   opp-microvolt = <725000>;
  };

  opp-1216000000 {
   opp-hz = /bits/ 64 <1216000000>;
   opp-microvolt = <750000>;
  };

  opp-1308000000 {
   opp-hz = /bits/ 64 <1308000000>;
   opp-microvolt = <775000>;
  };

  opp-1400000000 {
   opp-hz = /bits/ 64 <1400000000>;
   opp-microvolt = <800000>;
  };

  opp-1466000000 {
   opp-hz = /bits/ 64 <1466000000>;
   opp-microvolt = <825000>;
  };

  opp-1533000000 {
   opp-hz = /bits/ 64 <1533000000>;
   opp-microvolt = <850000>;
  };

  opp-1633000000 {
   opp-hz = /bits/ 64 <1633000000>;
   opp-microvolt = <887500>;
  };

  opp-1700000000 {
   opp-hz = /bits/ 64 <1700000000>;
   opp-microvolt = <912500>;
  };

  opp-1767000000 {
   opp-hz = /bits/ 64 <1767000000>;
   opp-microvolt = <937500>;
  };

  opp-1834000000 {
   opp-hz = /bits/ 64 <1834000000>;
   opp-microvolt = <962500>;
  };

  opp-1917000000 {
   opp-hz = /bits/ 64 <1917000000>;
   opp-microvolt = <993750>;
  };

  opp-2001000000 {
   opp-hz = /bits/ 64 <2001000000>;
   opp-microvolt = <1025000>;
  };
 };

  cpu-map {
   cluster0 {
    core0 {
     cpu = <&cpu0>;
    };
    core1 {
     cpu = <&cpu1>;
    };
    core2 {
     cpu = <&cpu2>;
    };
    core3 {
     cpu = <&cpu3>;
    };
   };
  };

  cpu0: cpu@0 {
   device_type = "cpu";
   compatible = "arm,cortex-a53";
   reg = <0x0>;
   #cooling-cells = <2>;
   enable-method = "psci";
   cpu-idle-states = <&CPU_MCDI &CLUSTER_MCDI &CLUSTER_DPIDLE>;
   i-cache-size = <0x8000>;
   i-cache-line-size = <64>;
   i-cache-sets = <256>;
   d-cache-size = <0x8000>;
   d-cache-line-size = <64>;
   d-cache-sets = <256>;
   next-level-cache = <&l2>;
   clocks = <&mcucfg CLK_MCU_BUS_SEL>,
     <&apmixedsys CLK_APMIXED_MAINPLL>;
   clock-names = "cpu", "intermediate";
   operating-points-v2 = <&cluster0_opp>;
  };

  cpu1: cpu@1 {
   device_type = "cpu";
   compatible = "arm,cortex-a53";
   reg = <0x1>;
   #cooling-cells = <2>;
   enable-method = "psci";
   cpu-idle-states = <&CPU_MCDI &CLUSTER_MCDI &CLUSTER_DPIDLE>;
   i-cache-size = <0x8000>;
   i-cache-line-size = <64>;
   i-cache-sets = <256>;
   d-cache-size = <0x8000>;
   d-cache-line-size = <64>;
   d-cache-sets = <256>;
   next-level-cache = <&l2>;
   clocks = <&mcucfg CLK_MCU_BUS_SEL>,
     <&apmixedsys CLK_APMIXED_MAINPLL>;
   clock-names = "cpu", "intermediate", "armpll";
   operating-points-v2 = <&cluster0_opp>;
  };

  cpu2: cpu@2 {
   device_type = "cpu";
   compatible = "arm,cortex-a53";
   reg = <0x2>;
   #cooling-cells = <2>;
   enable-method = "psci";
   cpu-idle-states = <&CPU_MCDI &CLUSTER_MCDI &CLUSTER_DPIDLE>;
   i-cache-size = <0x8000>;
   i-cache-line-size = <64>;
   i-cache-sets = <256>;
   d-cache-size = <0x8000>;
   d-cache-line-size = <64>;
   d-cache-sets = <256>;
   next-level-cache = <&l2>;
   clocks = <&mcucfg CLK_MCU_BUS_SEL>,
     <&apmixedsys CLK_APMIXED_MAINPLL>;
   clock-names = "cpu", "intermediate", "armpll";
   operating-points-v2 = <&cluster0_opp>;
  };

  cpu3: cpu@3 {
   device_type = "cpu";
   compatible = "arm,cortex-a53";
   reg = <0x3>;
   #cooling-cells = <2>;
   enable-method = "psci";
   cpu-idle-states = <&CPU_MCDI &CLUSTER_MCDI &CLUSTER_DPIDLE>;
   i-cache-size = <0x8000>;
   i-cache-line-size = <64>;
   i-cache-sets = <256>;
   d-cache-size = <0x8000>;
   d-cache-line-size = <64>;
   d-cache-sets = <256>;
   next-level-cache = <&l2>;
   clocks = <&mcucfg CLK_MCU_BUS_SEL>,
     <&apmixedsys CLK_APMIXED_MAINPLL>;
   clock-names = "cpu", "intermediate", "armpll";
   operating-points-v2 = <&cluster0_opp>;
  };

  idle-states {
   entry-method = "psci";

   CPU_MCDI: cpu-mcdi {
    compatible = "arm,idle-state";
    local-timer-stop;
    arm,psci-suspend-param = <0x00010001>;
    entry-latency-us = <300>;
    exit-latency-us = <200>;
    min-residency-us = <1000>;
   };

   CLUSTER_MCDI: cluster-mcdi {
    compatible = "arm,idle-state";
    local-timer-stop;
    arm,psci-suspend-param = <0x01010001>;
    entry-latency-us = <350>;
    exit-latency-us = <250>;
    min-residency-us = <1200>;
   };

   CLUSTER_DPIDLE: cluster-dpidle {
    compatible = "arm,idle-state";
    local-timer-stop;
    arm,psci-suspend-param = <0x01010004>;
    entry-latency-us = <300>;
    exit-latency-us = <800>;
    min-residency-us = <3300>;
   };
  };

  l2: l2-cache {
   compatible = "cache";
   cache-level = <2>;
   cache-size = <0x80000>;
   cache-line-size = <64>;
   cache-sets = <512>;
   cache-unified;
  };
 };

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

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

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

  gic: interrupt-controller@c000000 {
   compatible = "arm,gic-v3";
   #interrupt-cells = <3>;
   interrupt-parent = <&gic>;
   interrupt-controller;
   reg = <0 0x0c000000 0 0x10000>, /* GICD */
         <0 0x0c080000 0 0x80000>, /* GICR */
         <0 0x0c400000 0 0x2000>,  /* GICC */
         <0 0x0c410000 0 0x1000>,  /* GICH */
         <0 0x0c420000 0 0x2000>;  /* GICV */

   interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  };

  topckgen: syscon@10000000 {
   compatible = "mediatek,mt8365-topckgen", "syscon";
   reg = <0 0x10000000 0 0x1000>;
   #clock-cells = <1>;
  };

  infracfg: syscon@10001000 {
   compatible = "mediatek,mt8365-infracfg", "syscon";
   reg = <0 0x10001000 0 0x1000>;
   #clock-cells = <1>;
  };

  pericfg: syscon@10003000 {
   compatible = "mediatek,mt8365-pericfg", "syscon";
   reg = <0 0x10003000 0 0x1000>;
   #clock-cells = <1>;
  };

  syscfg_pctl: syscfg-pctl@10005000 {
   compatible = "mediatek,mt8365-syscfg", "syscon";
   reg = <0 0x10005000 0 0x1000>;
  };

  scpsys: syscon@10006000 {
   compatible = "mediatek,mt8365-scpsys", "syscon", "simple-mfd";
   reg = <0 0x10006000 0 0x1000>;

   /* System Power Manager */
   spm: power-controller {
    compatible = "mediatek,mt8365-power-controller";
    #address-cells = <1>;
    #size-cells = <0>;
    #power-domain-cells = <1>;

    /* power domains of the SoC */
    power-domain@MT8365_POWER_DOMAIN_MM {
     reg = <MT8365_POWER_DOMAIN_MM>;
     clocks = <&topckgen CLK_TOP_MM_SEL>,
       <&mmsys CLK_MM_MM_SMI_COMMON>,
       <&mmsys CLK_MM_MM_SMI_COMM0>,
       <&mmsys CLK_MM_MM_SMI_COMM1>,
       <&mmsys CLK_MM_MM_SMI_LARB0>;
     clock-names = "mm", "mm-0", "mm-1",
            "mm-2", "mm-3";
     #power-domain-cells = <0>;
     mediatek,infracfg = <&infracfg>;
     mediatek,infracfg-nao = <&infracfg_nao>;
     #address-cells = <1>;
     #size-cells = <0>;

     power-domain@MT8365_POWER_DOMAIN_CAM {
      reg = <MT8365_POWER_DOMAIN_CAM>;
      clocks = <&camsys CLK_CAM_LARB2>,
        <&camsys CLK_CAM_SENIF>,
        <&camsys CLK_CAMSV0>,
        <&camsys CLK_CAMSV1>,
        <&camsys CLK_CAM_FDVT>,
        <&camsys CLK_CAM_WPE>;
      clock-names = "cam-0", "cam-1",
             "cam-2", "cam-3",
             "cam-4", "cam-5";
      #power-domain-cells = <0>;
      mediatek,infracfg = <&infracfg>;
      mediatek,smi = <&smi_common>;
     };

     power-domain@MT8365_POWER_DOMAIN_VDEC {
      reg = <MT8365_POWER_DOMAIN_VDEC>;
      #power-domain-cells = <0>;
      mediatek,smi = <&smi_common>;
     };

     power-domain@MT8365_POWER_DOMAIN_VENC {
      reg = <MT8365_POWER_DOMAIN_VENC>;
      #power-domain-cells = <0>;
      mediatek,smi = <&smi_common>;
     };

     power-domain@MT8365_POWER_DOMAIN_APU {
      reg = <MT8365_POWER_DOMAIN_APU>;
      clocks = <&infracfg CLK_IFR_APU_AXI>,
        <&apu CLK_APU_IPU_CK>,
        <&apu CLK_APU_AXI>,
        <&apu CLK_APU_JTAG>,
        <&apu CLK_APU_IF_CK>,
        <&apu CLK_APU_EDMA>,
        <&apu CLK_APU_AHB>;
      clock-names = "apu", "apu-0",
             "apu-1", "apu-2",
             "apu-3", "apu-4",
             "apu-5";
      #power-domain-cells = <0>;
      mediatek,infracfg = <&infracfg>;
      mediatek,smi = <&smi_common>;
     };
    };

    power-domain@MT8365_POWER_DOMAIN_CONN {
     reg = <MT8365_POWER_DOMAIN_CONN>;
     clocks = <&topckgen CLK_TOP_CONN_32K>,
       <&topckgen CLK_TOP_CONN_26M>;
     clock-names = "conn", "conn1";
     #power-domain-cells = <0>;
     mediatek,infracfg = <&infracfg>;
    };

    power-domain@MT8365_POWER_DOMAIN_MFG {
     reg = <MT8365_POWER_DOMAIN_MFG>;
     clocks = <&topckgen CLK_TOP_MFG_SEL>;
     clock-names = "mfg";
     #power-domain-cells = <0>;
     mediatek,infracfg = <&infracfg>;
    };

    power-domain@MT8365_POWER_DOMAIN_AUDIO {
     reg = <MT8365_POWER_DOMAIN_AUDIO>;
     clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
       <&infracfg CLK_IFR_AUDIO>,
       <&infracfg CLK_IFR_AUD_26M_BK>;
     clock-names = "audio", "audio1", "audio2";
     #power-domain-cells = <0>;
     mediatek,infracfg = <&infracfg>;
    };

    power-domain@MT8365_POWER_DOMAIN_DSP {
     reg = <MT8365_POWER_DOMAIN_DSP>;
     clocks = <&topckgen CLK_TOP_DSP_SEL>,
       <&topckgen CLK_TOP_DSP_26M>;
     clock-names = "dsp", "dsp1";
     #power-domain-cells = <0>;
     mediatek,infracfg = <&infracfg>;
    };
   };
  };

  watchdog: watchdog@10007000 {
   compatible = "mediatek,mt8365-wdt", "mediatek,mt6589-wdt";
   reg = <0 0x10007000 0 0x100>;
   #reset-cells = <1>;
  };

  pio: pinctrl@1000b000 {
   compatible = "mediatek,mt8365-pinctrl";
   reg = <0 0x1000b000 0 0x1000>;
   mediatek,pctl-regmap = <&syscfg_pctl>;
   gpio-controller;
   #gpio-cells = <2>;
   interrupt-controller;
   #interrupt-cells = <2>;
   interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  };

  apmixedsys: syscon@1000c000 {
   compatible = "mediatek,mt8365-apmixedsys", "syscon";
   reg = <0 0x1000c000 0 0x1000>;
   #clock-cells = <1>;
  };

  pwrap: pwrap@1000d000 {
   compatible = "mediatek,mt8365-pwrap";
   reg = <0 0x1000d000 0 0x1000>;
   reg-names = "pwrap";
   interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&infracfg CLK_IFR_PWRAP_SPI>,
     <&infracfg CLK_IFR_PMIC_AP>,
     <&infracfg CLK_IFR_PWRAP_SYS>,
     <&infracfg CLK_IFR_PWRAP_TMR>;
   clock-names = "spi", "wrap", "sys", "tmr";
  };

  keypad: keypad@10010000 {
   compatible = "mediatek,mt8365-keypad",
         "mediatek,mt6779-keypad";
   reg = <0 0x10010000 0 0x1000>;
   wakeup-source;
   interrupts = <GIC_SPI 124 IRQ_TYPE_EDGE_FALLING>;
   clocks = <&clk26m>;
   clock-names = "kpd";
   status = "disabled";
  };

  mcucfg: syscon@10200000 {
   compatible = "mediatek,mt8365-mcucfg", "syscon";
   reg = <0 0x10200000 0 0x2000>;
   #clock-cells = <1>;
  };

  sysirq: interrupt-controller@10200a80 {
   compatible = "mediatek,mt8365-sysirq", "mediatek,mt6577-sysirq";
   interrupt-controller;
   #interrupt-cells = <3>;
   interrupt-parent = <&gic>;
   reg = <0 0x10200a80 0 0x20>;
  };

  iommu: iommu@10205000 {
   compatible = "mediatek,mt8365-m4u";
   reg = <0 0x10205000 0 0x1000>;
   interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_LOW>;
   mediatek,larbs = <&larb0>, <&larb1>, <&larb2>, <&larb3>;
   #iommu-cells = <1>;
  };

  infracfg_nao: infracfg@1020e000 {
   compatible = "mediatek,mt8365-infracfg", "syscon";
   reg = <0 0x1020e000 0 0x1000>;
   #clock-cells = <1>;
  };

  rng: rng@1020f000 {
   compatible = "mediatek,mt8365-rng", "mediatek,mt7623-rng";
   reg = <0 0x1020f000 0 0x100>;
   clocks = <&infracfg CLK_IFR_TRNG>;
   clock-names = "rng";
  };

  apdma: dma-controller@11000280 {
   compatible = "mediatek,mt8365-uart-dma", "mediatek,mt6577-uart-dma";
   reg = <0 0x11000280 0 0x80>,
         <0 0x11000300 0 0x80>,
         <0 0x11000380 0 0x80>,
         <0 0x11000400 0 0x80>,
         <0 0x11000580 0 0x80>,
         <0 0x11000600 0 0x80>;
   interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>,
         <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>,
         <GIC_SPI 47 IRQ_TYPE_LEVEL_LOW>,
         <GIC_SPI 48 IRQ_TYPE_LEVEL_LOW>,
         <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
         <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
   dma-requests = <6>;
   clocks = <&infracfg CLK_IFR_AP_DMA>;
   clock-names = "apdma";
   #dma-cells = <1>;
  };

  uart0: serial@11002000 {
   compatible = "mediatek,mt8365-uart", "mediatek,mt6577-uart";
   reg = <0 0x11002000 0 0x1000>;
   interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&clk26m>, <&infracfg CLK_IFR_UART0>;
   clock-names = "baud", "bus";
   dmas = <&apdma 0>, <&apdma 1>;
   dma-names = "tx", "rx";
   status = "disabled";
  };

  uart1: serial@11003000 {
   compatible = "mediatek,mt8365-uart", "mediatek,mt6577-uart";
   reg = <0 0x11003000 0 0x1000>;
   interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&clk26m>, <&infracfg CLK_IFR_UART1>;
   clock-names = "baud", "bus";
   dmas = <&apdma 2>, <&apdma 3>;
   dma-names = "tx", "rx";
   status = "disabled";
  };

  uart2: serial@11004000 {
   compatible = "mediatek,mt8365-uart", "mediatek,mt6577-uart";
   reg = <0 0x11004000 0 0x1000>;
   interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&clk26m>, <&infracfg CLK_IFR_UART2>;
   clock-names = "baud", "bus";
   dmas = <&apdma 4>, <&apdma 5>;
   dma-names = "tx", "rx";
   status = "disabled";
  };

  pwm: pwm@11006000 {
   compatible = "mediatek,mt8365-pwm";
   reg = <0 0x11006000 0 0x1000>;
   #pwm-cells = <2>;
   interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&infracfg CLK_IFR_PWM_HCLK>,
     <&infracfg CLK_IFR_PWM>,
     <&infracfg CLK_IFR_PWM1>,
     <&infracfg CLK_IFR_PWM2>,
     <&infracfg CLK_IFR_PWM3>;
   clock-names = "top", "main", "pwm1", "pwm2", "pwm3";
  };

  i2c0: i2c@11007000 {
   compatible = "mediatek,mt8365-i2c", "mediatek,mt8168-i2c";
   reg = <0 0x11007000 0 0xa0>, <0 0x11000080 0 0x80>;
   interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_LOW>;
   clock-div = <1>;
   clocks = <&infracfg CLK_IFR_I2C0_AXI>, <&infracfg CLK_IFR_AP_DMA>;
   clock-names = "main", "dma";
   #address-cells = <1>;
   #size-cells = <0>;
   status = "disabled";
  };

  i2c1: i2c@11008000 {
   compatible = "mediatek,mt8365-i2c", "mediatek,mt8168-i2c";
   reg = <0 0x11008000 0 0xa0>, <0 0x11000100 0 0x80>;
   interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_LOW>;
   clock-div = <1>;
   clocks = <&infracfg CLK_IFR_I2C1_AXI>, <&infracfg CLK_IFR_AP_DMA>;
   clock-names = "main", "dma";
   #address-cells = <1>;
   #size-cells = <0>;
   status = "disabled";
  };

  i2c2: i2c@11009000 {
   compatible = "mediatek,mt8365-i2c", "mediatek,mt8168-i2c";
   reg = <0 0x11009000 0 0xa0>, <0 0x11000180 0 0x80>;
   interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_LOW>;
   clock-div = <1>;
   clocks = <&infracfg CLK_IFR_I2C2_AXI>, <&infracfg CLK_IFR_AP_DMA>;
   clock-names = "main", "dma";
   #address-cells = <1>;
   #size-cells = <0>;
   status = "disabled";
  };

  spi: spi@1100a000 {
   compatible = "mediatek,mt8365-spi", "mediatek,mt7622-spi";
   reg = <0 0x1100a000 0 0x100>;
   #address-cells = <1>;
   #size-cells = <0>;
   interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
     <&topckgen CLK_TOP_SPI_SEL>,
     <&infracfg CLK_IFR_SPI0>;
   clock-names = "parent-clk", "sel-clk", "spi-clk";
   status = "disabled";
  };

  disp_pwm: pwm@1100e000 {
   compatible = "mediatek,mt8365-disp-pwm", "mediatek,mt8183-disp-pwm";
   reg = <0 0x1100e000 0 0x1000>;
   clock-names = "main", "mm";
   clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>, <&infracfg CLK_IFR_DISP_PWM>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   #pwm-cells = <2>;
  };

  i2c3: i2c@1100f000 {
   compatible = "mediatek,mt8365-i2c", "mediatek,mt8168-i2c";
   reg = <0 0x1100f000 0 0xa0>, <0 0x11000200 0 0x80>;
   interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_LOW>;
   clock-div = <1>;
   clocks = <&infracfg CLK_IFR_I2C3_AXI>, <&infracfg CLK_IFR_AP_DMA>;
   clock-names = "main", "dma";
   #address-cells = <1>;
   #size-cells = <0>;
   status = "disabled";
  };

  ssusb: usb@11201000 {
   compatible = "mediatek,mt8365-mtu3", "mediatek,mtu3";
   reg = <0 0x11201000 0 0x2e00>, <0 0x11203e00 0 0x0100>;
   reg-names = "mac", "ippc";
   interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_LOW>;
   phys = <&u2port0 PHY_TYPE_USB2>,
          <&u2port1 PHY_TYPE_USB2>;
   clocks = <&topckgen CLK_TOP_SSUSB_TOP_CK_EN>,
     <&infracfg CLK_IFR_SSUSB_REF>,
     <&infracfg CLK_IFR_SSUSB_SYS>,
     <&infracfg CLK_IFR_ICUSB>;
   clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck";
   #address-cells = <2>;
   #size-cells = <2>;
   ranges;
   status = "disabled";

   usb_host: usb@11200000 {
    compatible = "mediatek,mt8365-xhci", "mediatek,mtk-xhci";
    reg = <0 0x11200000 0 0x1000>;
    reg-names = "mac";
    interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_LOW>;
    clocks = <&topckgen CLK_TOP_SSUSB_TOP_CK_EN>,
      <&infracfg CLK_IFR_SSUSB_REF>,
      <&infracfg CLK_IFR_SSUSB_SYS>,
      <&infracfg CLK_IFR_ICUSB>,
      <&infracfg CLK_IFR_SSUSB_XHCI>;
    clock-names = "sys_ck", "ref_ck", "mcu_ck",
           "dma_ck", "xhci_ck";
    status = "disabled";
   };
  };

  mmc0: mmc@11230000 {
   compatible = "mediatek,mt8365-mmc", "mediatek,mt8183-mmc";
   reg = <0 0x11230000 0 0x1000>,
         <0 0x11cd0000 0 0x1000>;
   interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>,
     <&infracfg CLK_IFR_MSDC0_HCLK>,
     <&infracfg CLK_IFR_MSDC0_SRC>;
   clock-names = "source", "hclk", "source_cg";
   status = "disabled";
  };

  mmc1: mmc@11240000 {
   compatible = "mediatek,mt8365-mmc", "mediatek,mt8183-mmc";
   reg = <0 0x11240000 0 0x1000>,
         <0 0x11c90000 0 0x1000>;
   interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>,
     <&infracfg CLK_IFR_MSDC1_HCLK>,
     <&infracfg CLK_IFR_MSDC1_SRC>;
   clock-names = "source", "hclk", "source_cg";
   status = "disabled";
  };

  mmc2: mmc@11250000 {
   compatible = "mediatek,mt8365-mmc", "mediatek,mt8183-mmc";
   reg = <0 0x11250000 0 0x1000>,
         <0 0x11c60000 0 0x1000>;
   interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_LOW>;
   clocks = <&topckgen CLK_TOP_MSDC50_2_SEL>,
     <&infracfg CLK_IFR_MSDC2_HCLK>,
     <&infracfg CLK_IFR_MSDC2_SRC>,
     <&infracfg CLK_IFR_MSDC2_BK>,
     <&infracfg CLK_IFR_AP_MSDC0>;
   clock-names = "source", "hclk", "source_cg",
          "bus_clk", "sys_cg";
   status = "disabled";
  };

  ethernet: ethernet@112a0000 {
   compatible = "mediatek,mt8365-eth";
   reg = <0 0x112a0000 0 0x1000>;
   mediatek,pericfg = <&infracfg>;
   interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&topckgen CLK_TOP_ETH_SEL>,
     <&infracfg CLK_IFR_NIC_AXI>,
     <&infracfg CLK_IFR_NIC_SLV_AXI>;
   clock-names = "core", "reg", "trans";
   status = "disabled";
  };

  mipi_tx0: dsi-phy@11c00000 {
   compatible = "mediatek,mt8365-mipi-tx", "mediatek,mt8183-mipi-tx";
   reg = <0 0x11c00000 0 0x800>;
   clock-output-names = "mipi_tx0_pll";
   clocks = <&clk26m>;
   #clock-cells = <0>;
   #phy-cells = <0>;
  };

  u3phy: t-phy@11cc0000 {
   compatible = "mediatek,mt8365-tphy", "mediatek,generic-tphy-v2";
   #address-cells = <1>;
   #size-cells = <1>;
   ranges = <0 0 0x11cc0000 0x9000>;

   u2port0: usb-phy@0 {
    reg = <0x0 0x400>;
    clocks = <&topckgen CLK_TOP_SSUSB_PHY_CK_EN>,
      <&topckgen CLK_TOP_USB20_48M_EN>;
    clock-names = "ref", "da_ref";
    #phy-cells = <1>;
   };

   u2port1: usb-phy@1000 {
    reg = <0x1000 0x400>;
    clocks = <&topckgen CLK_TOP_SSUSB_PHY_CK_EN>,
      <&topckgen CLK_TOP_USB20_48M_EN>;
    clock-names = "ref", "da_ref";
    #phy-cells = <1>;
   };
  };

  mmsys: syscon@14000000 {
   compatible = "mediatek,mt8365-mmsys", "syscon";
   reg = <0 0x14000000 0 0x1000>;
   #clock-cells = <1>;
   port {
    #address-cells = <1>;
    #size-cells = <0>;

    mmsys_main: endpoint@0 {
     reg = <0>;
     remote-endpoint = <&ovl0_in>;
    };
    mmsys_ext: endpoint@1 {
     reg = <1>;
     remote-endpoint = <&rdma1_in>;
    };
   };
  };

  mutex: mutex@14001000 {
   compatible =  "mediatek,mt8365-disp-mutex";
   reg = <0 0x14001000 0 0x1000>;
   interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
  };

  smi_common: smi@14002000 {
   compatible = "mediatek,mt8365-smi-common";
   reg = <0 0x14002000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_SMI_COMMON>,
     <&mmsys CLK_MM_MM_SMI_COMMON>,
     <&mmsys CLK_MM_MM_SMI_COMM0>,
     <&mmsys CLK_MM_MM_SMI_COMM1>;
   clock-names = "apb", "smi", "gals0", "gals1";
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
  };

  larb0: larb@14003000 {
   compatible = "mediatek,mt8365-smi-larb",
         "mediatek,mt8186-smi-larb";
   reg = <0 0x14003000 0 0x1000>;
   mediatek,smi = <&smi_common>;
   clocks = <&mmsys CLK_MM_MM_SMI_LARB0>,
     <&mmsys CLK_MM_MM_SMI_LARB0>;
   clock-names = "apb", "smi";
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   mediatek,larb-id = <0>;
  };

  ovl0: ovl@1400b000 {
   compatible = "mediatek,mt8365-disp-ovl", "mediatek,mt8192-disp-ovl";
   reg = <0 0x1400b000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_OVL0>;
   interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
   iommus = <&iommu M4U_PORT_DISP_OVL0>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     ovl0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&mmsys_main>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     ovl0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&rdma0_in>;
     };
    };
   };
  };

  rdma0: rdma@1400d000 {
   compatible = "mediatek,mt8365-disp-rdma", "mediatek,mt8183-disp-rdma";
   reg = <0 0x1400d000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_RDMA0>;
   interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
   iommus = <&iommu M4U_PORT_DISP_RDMA0>;
   mediatek,rdma-fifo-size = <5120>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     rdma0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&ovl0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     rdma0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&color0_in>;
     };
    };
   };
  };

  color0: color@1400f000 {
   compatible = "mediatek,mt8365-disp-color", "mediatek,mt8173-disp-color";
   reg = <0 0x1400f000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_COLOR0>;
   interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     color0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&rdma0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     color0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&ccorr0_in>;
     };
    };
   };
  };

  ccorr0: ccorr@14010000 {
   compatible = "mediatek,mt8365-disp-ccorr", "mediatek,mt8183-disp-ccorr";
   reg = <0 0x14010000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_CCORR0>;
   interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     ccorr0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&color0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     ccorr0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&aal0_in>;
     };
    };
   };
  };

  aal0: aal@14011000 {
   compatible = "mediatek,mt8365-disp-aal", "mediatek,mt8183-disp-aal";
   reg = <0 0x14011000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_AAL0>;
   interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     aal0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&ccorr0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     aal0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&gamma0_in>;
     };
    };
   };
  };

  gamma0: gamma@14012000 {
   compatible = "mediatek,mt8365-disp-gamma", "mediatek,mt8183-disp-gamma";
   reg = <0 0x14012000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_GAMMA0>;
   interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     gamma0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&aal0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     gamma0_out: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&dither0_in>;
     };
    };
   };
  };

  dither0: dither@14013000 {
   compatible = "mediatek,mt8365-disp-dither", "mediatek,mt8183-disp-dither";
   reg = <0 0x14013000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_DITHER0>;
   interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     dither0_in: endpoint@0 {
      reg = <0>;
      remote-endpoint = <&gamma0_out>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     dither0_out: endpoint@0 {
      reg = <0>;
     };
    };
   };
  };

  dsi0: dsi@14014000 {
   compatible = "mediatek,mt8365-dsi", "mediatek,mt8183-dsi";
   reg = <0 0x14014000 0 0x1000>;
   clock-names = "engine", "digital", "hs";
   clocks = <&mmsys CLK_MM_MM_DSI0>,
     <&mmsys CLK_MM_DSI0_DIG_DSI>,
     <&mipi_tx0>;
   interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>;
   phy-names = "dphy";
   phys = <&mipi_tx0>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
  };

  rdma1: rdma@14016000 {
   compatible = "mediatek,mt8365-disp-rdma", "mediatek,mt8183-disp-rdma";
   reg = <0 0x14016000 0 0x1000>;
   clocks = <&mmsys CLK_MM_MM_DISP_RDMA1>;
   interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
   iommus = <&iommu M4U_PORT_DISP_RDMA1>;
   mediatek,rdma-fifo-size = <2048>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0>;
     rdma1_in: endpoint@1 {
      reg = <1>;
      remote-endpoint = <&mmsys_ext>;
     };
    };

    port@1 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <1>;
     rdma1_out: endpoint@1 {
      reg = <1>;
     };
    };
   };
  };

  dpi0: dpi@14018000 {
   compatible = "mediatek,mt8365-dpi", "mediatek,mt8192-dpi";
   reg = <0 0x14018000 0 0x1000>;
   clocks = <&mmsys CLK_MM_DPI0_DPI0>,
     <&mmsys CLK_MM_MM_DPI0>,
     <&apmixedsys CLK_APMIXED_LVDSPLL>;
   clock-names = "pixel", "engine", "pll";
   interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
   status = "disabled";
  };

  camsys: syscon@15000000 {
   compatible = "mediatek,mt8365-imgsys", "syscon";
   reg = <0 0x15000000 0 0x1000>;
   #clock-cells = <1>;
  };

  larb2: larb@15001000 {
   compatible = "mediatek,mt8365-smi-larb",
         "mediatek,mt8186-smi-larb";
   reg = <0 0x15001000 0 0x1000>;
   mediatek,smi = <&smi_common>;
   clocks = <&mmsys CLK_MM_MM_SMI_IMG>,
     <&camsys CLK_CAM_LARB2>;
   clock-names = "apb", "smi";
   power-domains = <&spm MT8365_POWER_DOMAIN_CAM>;
   mediatek,larb-id = <2>;
  };

  vdecsys: syscon@16000000 {
   compatible = "mediatek,mt8365-vdecsys", "syscon";
   reg = <0 0x16000000 0 0x1000>;
   #clock-cells = <1>;
  };

  larb3: larb@16010000 {
   compatible = "mediatek,mt8365-smi-larb",
         "mediatek,mt8186-smi-larb";
   reg = <0 0x16010000 0 0x1000>;
   mediatek,smi = <&smi_common>;
   clocks = <&vdecsys CLK_VDEC_LARB1>,
     <&vdecsys CLK_VDEC_LARB1>;
   clock-names = "apb", "smi";
   power-domains = <&spm MT8365_POWER_DOMAIN_VDEC>;
   mediatek,larb-id = <3>;
  };

  vencsys: syscon@17000000 {
   compatible = "mediatek,mt8365-vencsys", "syscon";
   reg = <0 0x17000000 0 0x1000>;
   #clock-cells = <1>;
  };

  larb1: larb@17010000 {
   compatible = "mediatek,mt8365-smi-larb",
         "mediatek,mt8186-smi-larb";
   reg = <0 0x17010000 0 0x1000>;
   mediatek,smi = <&smi_common>;
   clocks = <&vencsys CLK_VENC>, <&vencsys CLK_VENC>;
   clock-names = "apb", "smi";
   power-domains = <&spm MT8365_POWER_DOMAIN_VENC>;
   mediatek,larb-id = <1>;
  };

  apu: syscon@19020000 {
   compatible = "mediatek,mt8365-apu", "syscon";
   reg = <0 0x19020000 0 0x1000>;
   #clock-cells = <1>;
  };

  afe: audio-controller@11220000 {
   compatible = "mediatek,mt8365-afe-pcm";
   reg = <0 0x11220000 0 0x1000>;
   #sound-dai-cells = <0>;
   clocks = <&clk26m>,
     <&topckgen CLK_TOP_AUDIO_SEL>,
     <&topckgen CLK_TOP_AUD_I2S0_M>,
     <&topckgen CLK_TOP_AUD_I2S1_M>,
     <&topckgen CLK_TOP_AUD_I2S2_M>,
     <&topckgen CLK_TOP_AUD_I2S3_M>,
     <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
     <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
     <&topckgen CLK_TOP_AUD_1_SEL>,
     <&topckgen CLK_TOP_AUD_2_SEL>,
     <&topckgen CLK_TOP_APLL_I2S0_SEL>,
     <&topckgen CLK_TOP_APLL_I2S1_SEL>,
     <&topckgen CLK_TOP_APLL_I2S2_SEL>,
     <&topckgen CLK_TOP_APLL_I2S3_SEL>;
   clock-names = "top_clk26m_clk",
          "top_audio_sel",
          "audio_i2s0_m",
          "audio_i2s1_m",
          "audio_i2s2_m",
          "audio_i2s3_m",
          "engen1",
          "engen2",
          "aud1",
          "aud2",
          "i2s0_m_sel",
          "i2s1_m_sel",
          "i2s2_m_sel",
          "i2s3_m_sel";
   interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
   power-domains = <&spm MT8365_POWER_DOMAIN_AUDIO>;
   status = "disabled";
  };
 };

 timer {
  compatible = "arm,armv8-timer";
  interrupt-parent = <&gic>;
  interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
        <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
        <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
        <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
 };

 system_clk: dummy13m {
  compatible = "fixed-clock";
  clock-frequency = <13000000>;
  #clock-cells = <0>;
 };

 systimer: timer@10017000 {
  compatible = "mediatek,mt8365-systimer", "mediatek,mt6765-timer";
  reg = <0 0x10017000 0 0x100>;
  interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
  clocks = <&system_clk>;
  clock-names = "clk13m";
 };
};

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