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

Quelle  stm32mp15xx-dhcor-avenger96.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
/*
 * Copyright (C) Linaro Ltd 2019 - All Rights Reserved
 * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 * Copyright (C) 2020 Marek Vasut <marex@denx.de>
 */

/* Avenger96 uses DHCOR SoM configured for 1V8 IO operation */
#include "stm32mp15xx-dhcor-io1v8.dtsi"

/ {
 aliases {
  ethernet0 = ðernet0;
  mmc0 = &sdmmc1;
  serial0 = &uart4;
  serial1 = &uart7;
  serial2 = &usart2;
  spi0 = &qspi;
 };

 /* XTal Q1 */
 cec_clock: clk-cec-fixed {
  #clock-cells = <0>;
  compatible = "fixed-clock";
  clock-frequency = <24000000>;
 };

 chosen {
  stdout-path = "serial0:115200n8";
 };

 hdmi-out {
  compatible = "hdmi-connector";
  type = "a";

  port {
   hdmi_con: endpoint {
    remote-endpoint = <&adv7513_out>;
   };
  };
 };

 led {
  compatible = "gpio-leds";
  led1 {
   label = "green:user0";
   gpios = <&gpioz 7 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "heartbeat";
   default-state = "off";
  };

  led2 {
   label = "green:user1";
   gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "mmc0";
   default-state = "off";
  };

  led3 {
   label = "green:user2";
   gpios = <&gpiog 0 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "mmc1";
   default-state = "off";
  };

  led4 {
   label = "green:user3";
   gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
   default-state = "off";
   panic-indicator;
  };
 };

 sd_switch: regulator-sd_switch {
  compatible = "regulator-gpio";
  regulator-name = "sd_switch";
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <2900000>;
  regulator-type = "voltage";
  regulator-always-on;

  gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
  gpios-states = <0>;
  states = <1800000 0x1>,
    <2900000 0x0>;
 };

 sound {
  compatible = "audio-graph-card";
  label = "STM32-AV96-HDMI";
  dais = <&sai2a_port>;
  status = "okay";
 };

 wlan_pwr: regulator-wlan {
  compatible = "regulator-fixed";

  regulator-name = "wl-reg";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;

  gpio = <&gpioz 3 GPIO_ACTIVE_HIGH>;
  enable-active-high;
 };
};

&adc {
 pinctrl-names = "default";
 pinctrl-0 = <&adc12_ain_pins_b>;
 vdd-supply = <&vdd>;
 vdda-supply = <&vdda>;
 vref-supply = <&vdda>;
 status = "okay";
};

&adc1 {
 channel@0 {
  reg = <0>;
  st,min-sample-time-ns = <5000>;
 };

 channel@1 {
  reg = <1>;
  st,min-sample-time-ns = <5000>;
 };

 channel@6 {
  reg = <6>;
  st,min-sample-time-ns = <5000>;
 };
};

&adc2 {
 channel@0 {
  reg = <0>;
  st,min-sample-time-ns = <5000>;
 };

 channel@1 {
  reg = <1>;
  st,min-sample-time-ns = <5000>;
 };

 channel@2 {
  reg = <2>;
  st,min-sample-time-ns = <5000>;
 };
};

&dcmi {
 pinctrl-names = "default", "sleep";
 pinctrl-0 = <&dcmi_pins_c>;
 pinctrl-1 = <&dcmi_sleep_pins_c>;
 status = "disabled";

 port {
  dcmi_0: endpoint {
   remote-endpoint = <&stmipi_2>;
   bus-type = <5>;
   bus-width = <8>;
   pclk-sample = <0>;
  };
 };
};

ðernet0 {
 status = "okay";
 pinctrl-0 = <ðernet0_rgmii_pins_c>;
 pinctrl-1 = <ðernet0_rgmii_sleep_pins_c>;
 pinctrl-names = "default", "sleep";
 phy-mode = "rgmii";
 max-speed = <1000>;
 phy-handle = <&phy0>;

 mdio {
  #address-cells = <1>;
  #size-cells = <0>;
  compatible = "snps,dwmac-mdio";
  reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
  reset-delay-us = <1000>;
  reset-post-delay-us = <1000>;

  phy0: ethernet-phy@7 {
   reg = <7>;

   rxc-skew-ps = <1500>;
   rxdv-skew-ps = <540>;
   rxd0-skew-ps = <420>;
   rxd1-skew-ps = <420>;
   rxd2-skew-ps = <420>;
   rxd3-skew-ps = <420>;

   txc-skew-ps = <1440>;
   txen-skew-ps = <540>;
   txd0-skew-ps = <420>;
   txd1-skew-ps = <420>;
   txd2-skew-ps = <420>;
   txd3-skew-ps = <420>;
  };
 };
};

&gpioa {
 gpio-line-names = "", "", "", "",
     "", "", "", "",
     "", "", "", "AV96-K",
     "AV96-I", "", "AV96-A", "";
};

&gpiob {
 gpio-line-names = "", "", "", "",
     "", "AV96-J", "", "",
     "", "", "", "AV96-B",
     "", "AV96-L", "", "";
};

&gpioc {
 gpio-line-names = "", "", "", "AV96-C",
     "", "", "", "",
     "", "", "", "",
     "", "", "", "";
};

&gpiod {
 gpio-line-names = "", "", "", "",
     "", "", "", "",
     "AV96-D", "", "", "",
     "", "", "AV96-E", "AV96-F";
};

&gpiof {
 gpio-line-names = "", "", "", "",
     "", "", "", "",
     "", "", "", "",
     "AV96-G", "AV96-H", "", "";
};

&i2c1 { /* X6 I2C1 */
 pinctrl-names = "default";
 pinctrl-0 = <&i2c1_pins_b>;
 i2c-scl-rising-time-ns = <185>;
 i2c-scl-falling-time-ns = <20>;
 status = "okay";
 /delete-property/dmas;
 /delete-property/dma-names;
};

&i2c2 { /* X6 I2C2 */
 pinctrl-names = "default";
 pinctrl-0 = <&i2c2_pins_c>;
 i2c-scl-rising-time-ns = <185>;
 i2c-scl-falling-time-ns = <20>;
 status = "okay";
 /delete-property/dmas;
 /delete-property/dma-names;
};

&i2c4 {
 stmipi: stmipi@14 {
  compatible = "st,st-mipid02";
  pinctrl-names = "default", "sleep";
  pinctrl-0 = <&mco1_pins_a>;
  pinctrl-1 = <&mco1_sleep_pins_a>;
  reg = <0x14>;
  clocks = <&rcc CK_MCO1>;
  clock-names = "xclk";
  assigned-clocks = <&rcc CK_MCO1>;
  assigned-clock-parents = <&rcc CK_HSE>;
  assigned-clock-rates = <24000000>;
  VDDE-supply = <&v1v8>;
  VDDIN-supply = <&v1v8>;
  reset-gpios = <&gpioz 0 GPIO_ACTIVE_LOW>;
  status = "disabled";

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

   port@0 {
    reg = <0>;
    stmipi_0: endpoint {
    };
   };

   port@2 {
    reg = <2>;
    stmipi_2: endpoint {
     bus-width = <8>;
     hsync-active = <0>;
     vsync-active = <0>;
     pclk-sample = <0>;
     remote-endpoint = <&dcmi_0>;
    };
   };
  };
 };

 hdmi-transmitter@3d {
  compatible = "adi,adv7513";
  reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
  reg-names = "main", "edid", "cec", "packet";
  clocks = <&cec_clock>;
  clock-names = "cec";

  avdd-supply = <&v3v3>;
  dvdd-supply = <&v3v3>;
  pvdd-supply = <&v3v3>;
  dvdd-3v-supply = <&v3v3>;
  bgvdd-supply = <&v3v3>;

  interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
  interrupt-parent = <&gpiog>;

  status = "okay";

  adi,input-depth = <8>;
  adi,input-colorspace = "rgb";
  adi,input-clock = "1x";

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

   port@0 {
    reg = <0>;
    adv7513_in: endpoint {
     remote-endpoint = <<dc_ep0_out>;
    };
   };

   port@1 {
    reg = <1>;
    adv7513_out: endpoint {
     remote-endpoint = <&hdmi_con>;
    };
   };

   port@2 {
    reg = <2>;
    adv7513_i2s0: endpoint {
     remote-endpoint = <&sai2a_endpoint>;
    };
   };
  };
 };

 dh_mac_eeprom: eeprom@53 {
  compatible = "atmel,24c02";
  reg = <0x53>;
  pagesize = <16>;
 };
};

<dc {
 pinctrl-names = "default", "sleep";
 pinctrl-0 = <<dc_pins_d>;
 pinctrl-1 = <<dc_sleep_pins_d>;
 status = "okay";

 port {
  ltdc_ep0_out: endpoint {
   remote-endpoint = <&adv7513_in>;
  };
 };
};

&sai2 {
 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
 pinctrl-names = "default", "sleep";
 pinctrl-0 = <&sai2a_pins_c>;
 pinctrl-1 = <&sai2a_sleep_pins_c>;
 clock-names = "pclk", "x8k", "x11k";
 status = "okay";

 sai2a: audio-controller@4400b004 {
  #clock-cells = <0>;
  dma-names = "tx";
  clocks = <&rcc SAI2_K>;
  clock-names = "sai_ck";
  status = "okay";

  sai2a_port: port {
   sai2a_endpoint: endpoint {
    remote-endpoint = <&adv7513_i2s0>;
    dai-format = "i2s";
    mclk-fs = <256>;
   };
  };
 };
};

&sdmmc1 {
 pinctrl-names = "default", "opendrain", "sleep";
 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
 cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
 disable-wp;
 st,sig-dir;
 st,neg-edge;
 st,use-ckin;
 bus-width = <4>;
 vmmc-supply = <&vdd_sd>;
 vqmmc-supply = <&sd_switch>;
 status = "okay";
};

&sdmmc2 {
 pinctrl-names = "default", "opendrain", "sleep";
 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>;
 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>;
 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>;
 bus-width = <8>;
 mmc-ddr-1_8v;
 no-sd;
 no-sdio;
 non-removable;
 st,neg-edge;
 vmmc-supply = <&v3v3>;
 vqmmc-supply = <&vdd_io>;
 status = "okay";
};

&sdmmc3 {
 pinctrl-names = "default", "opendrain", "sleep";
 pinctrl-0 = <&sdmmc3_b4_pins_b>;
 pinctrl-1 = <&sdmmc3_b4_od_pins_b>;
 pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>;
 broken-cd;
 non-removable;
 st,neg-edge;
 bus-width = <4>;
 vmmc-supply = <&wlan_pwr>;
 status = "okay";

 #address-cells = <1>;
 #size-cells = <0>;
 brcmf: wifi@1 {
  reg = <1>;
  compatible = "brcm,bcm4329-fmac";
 };
};

&spi2 {
 pinctrl-names = "default";
 pinctrl-0 = <&spi2_pins_a>;
 cs-gpios = <&gpioi 0 0>;
 status = "disabled";
 /delete-property/dmas;
 /delete-property/dma-names;
};

&uart4 {
 /* On Low speed expansion header */
 label = "LS-UART1";
 pinctrl-names = "default";
 pinctrl-0 = <&uart4_pins_b>;
 /delete-property/dmas;
 /delete-property/dma-names;
 status = "okay";
};

&uart7 {
 /* On Low speed expansion header */
 label = "LS-UART0";
 pinctrl-names = "default";
 pinctrl-0 = <&uart7_pins_a>;
 uart-has-rtscts;
 /delete-property/dmas;
 /delete-property/dma-names;
 status = "okay";
};

/* Bluetooth */
&usart2 {
 pinctrl-names = "default", "sleep";
 pinctrl-0 = <&usart2_pins_a>;
 pinctrl-1 = <&usart2_sleep_pins_a>;
 uart-has-rtscts;
 /delete-property/dmas;
 /delete-property/dma-names;
 status = "okay";

 bluetooth {
  compatible = "brcm,bcm43438-bt";
  max-speed = <3000000>;
  shutdown-gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>;
 };
};

&usbh_ehci {
 status = "okay";
};

&usbotg_hs {
 pinctrl-0 = <&usbotg_hs_pins_a>;
 pinctrl-names = "default";
 phy-names = "usb2-phy";
 phys = <&usbphyc_port1 0>;
 status = "okay";
 vbus-supply = <&vbus_otg>;
};

&usbphyc {
 status = "okay";
};

&usbphyc_port0 {
 phy-supply = <&vdd_usb>;
};

&usbphyc_port1 {
 phy-supply = <&vdd_usb>;
};

[ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ]