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

Quelle  imx8mm-kontron-bl-osm-s.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * Copyright (C) 2022 Kontron Electronics GmbH
 */

/dts-v1/;

#include "imx8mm-kontron-osm-s.dtsi"

/ {
 model = "Kontron BL i.MX8MM OSM-S (N802X S)";
 compatible = "kontron,imx8mm-bl-osm-s", "kontron,imx8mm-osm-s", "fsl,imx8mm";

 aliases {
  ethernet1 = &usbnet;
 };

 /* fixed crystal dedicated to mcp2542fd */
 osc_can: clock-osc-can {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <40000000>;
  clock-output-names = "osc-can";
 };

 leds {
  compatible = "gpio-leds";

  led1 {
   label = "led1";
   gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "heartbeat";
  };

  led2 {
   label = "led2";
   gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
  };

  led3 {
   label = "led3";
   gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
  };
 };

 pwm-beeper {
  compatible = "pwm-beeper";
  pwms = <&pwm2 0 5000 0>;
 };

 reg_rst_eth2: regulator-rst-eth2 {
  compatible = "regulator-fixed";
  gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
  enable-active-high;
  regulator-always-on;
  regulator-name = "rst-usb-eth2";
 };

 reg_vdd_5v: regulator-5v {
  compatible = "regulator-fixed";
  regulator-always-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-name = "vdd-5v";
 };
};

&ecspi2 {
 status = "okay";

 can@0 {
  compatible = "microchip,mcp251xfd";
  reg = <0>;
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_can>;
  clocks = <&osc_can>;
  interrupts-extended = <&gpio5 1 IRQ_TYPE_LEVEL_LOW>;
  /*
   * Limit the SPI clock to 15 MHz to prevent issues
   * with corrupted data due to chip errata.
   */
  spi-max-frequency = <15000000>;
  vdd-supply = <®_vdd_3v3>;
  xceiver-supply = <®_vdd_5v>;
 };
};

&ecspi3 {
 status = "okay";

 eeram@0 {
  compatible = "microchip,48l640";
  reg = <0>;
  spi-max-frequency = <20000000>;
 };
};

&fec1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_enet_rgmii>;
 phy-connection-type = "rgmii-id";
 phy-handle = <ðphy>;
 status = "okay";

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

  ethphy: ethernet-phy@0 {
   compatible = "ethernet-phy-id4f51.e91b";
   reg = <0>;
   reset-assert-us = <10000>;
   reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
  };
 };
};

/*
 * Rename SoM signals according to board usage:
 *   GPIO_B_0      -> DIO1_OUT
 *   GPIO_B_1      -> DIO2_OUT
 */
&gpio1 {
 gpio-line-names = "", "GPIO_A_0", "", "GPIO_A_1",
     "", "GPIO_A_2", "GPIO_A_3", "GPIO_A_4",
     "GPIO_A_5", "GPIO_A_6", "GPIO_A_7", "DIO1_OUT",
     "DIO2_OUT", "USB_A_OC#", "CAM_MCK", "USB_B_OC#",
     "ETH_MDC", "ETH_MDIO", "ETH_A_(S)(R)(G)MII_TXD3",
     "ETH_A_(S)(R)(G)MII_TXD2", "ETH_A_(S)(R)(G)MII_TXD1",
     "ETH_A_(S)(R)(G)MII_TXD0", "ETH_A_(R)(G)MII_TX_EN(_ER)",
     "ETH_A_(R)(G)MII_TX_CLK", "ETH_A_(R)(G)MII_RX_DV(_ER)",
     "ETH_A_(R)(G)MII_RX_CLK", "ETH_A_(S)(R)(G)MII_RXD0",
     "ETH_A_(S)(R)(G)MII_RXD1", "ETH_A_(R)(G)MII_RXD2",
     "ETH_A_(R)(G)MII_RXD3";
};

/*
 * Rename SoM signals according to board usage:
 *   GPIO_B_2      -> DIO3_OUT
 *   GPIO_B_3      -> DIO4_OUT
 */
&gpio3 {
 gpio-line-names = "GPIO_C_5", "GPIO_C_4", "SDIO_B_CD#", "SDIO_B_D5",
     "SDIO_B_D6", "SDIO_B_D7", "GPIO_C_0", "GPIO_C_1",
     "GPIO_C_2", "GPIO_C_3", "SDIO_B_D0", "SDIO_B_D1",
     "SDIO_B_D2", "SDIO_B_D3", "", "SDIO_B_D4",
     "CARRIER_PWR_EN", "SDIO_B_CLK", "SDIO_B_CMD", "DIO3_OUT",
     "USB_B_EN", "DIO4_OUT", "PCIe_CLKREQ#", "PCIe_A_PERST#",
     "PCIe_WAKE#", "USB_A_EN";
};

/*
 * Rename SoM signals according to board usage:
 *   GPIO_B_4      -> DIO1_IN
 *   GPIO_B_5      -> DIO2_IN
 *   GPIO_B_6      -> DIO3_IN
 *   GPIO_B_7      -> DIO4_IN
 */
&gpio4 {
 gpio-line-names = "GPIO_C_7", "", "I2S_A_DATA_IN", "I2S_B_DATA_IN",
     "DIO1_IN", "BOOT_SEL0#", "BOOT_SEL1#", "",
     "", "", "I2S_LRCLK", "I2S_BITCLK",
     "I2S_A_DATA_OUT", "I2S_B_DATA_OUT", "DIO2_IN", "DIO3_IN",
     "DIO4_IN", "SPI_A_/WP_(IO2)", "SPI_A_/HOLD_(IO3)", "GPIO_C_6",
     "I2S_MCLK", "UART_A_TX", "UART_A_RX", "UART_A_CTS",
     "UART_A_RTS", "", "", "",
     "PCIe_SM_ALERT", "UART_B_RTS", "UART_B_CTS", "UART_B_RX";
};

&i2c3 {
 status = "okay";

 usb-hub@2c {
  compatible = "microchip,usb2514b";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_usb_hub>;
  reg = <0x2c>;
  non-removable-ports = <0>, <3>;
  reset-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
 };
};

&pwm2 {
 status = "okay";
};

®_usb2_vbus {
 status = "disabled";
};

®_usdhc2_vcc {
 status = "disabled";
};

®_usdhc3_vcc {
 status = "disabled";
};

&uart1 {
 uart-has-rtscts;
 status = "okay";
};

&uart2 {
 linux,rs485-enabled-at-boot-time;
 uart-has-rtscts;
 status = "okay";
};

&usbotg1 {
 dr_mode = "otg";
 status = "okay";
};

&usbotg2 {
 dr_mode = "host";
 disable-over-current;
 #address-cells = <1>;
 #size-cells = <0>;
 status = "okay";

 /* VBUS is controlled by the hub */
 /delete-property/ vbus-supply;

 usb1@1 {
  compatible = "usb424,2514";
  reg = <1>;
  #address-cells = <1>;
  #size-cells = <0>;

  usbnet: ethernet@1 {
   compatible = "usbb95,772b";
   reg = <1>;
   local-mac-address = [ 00 00 00 00 00 00 ];
  };
 };
};

&usdhc2 {
 vmmc-supply = <®_vdd_3v3>;
 status = "okay";
};

&iomuxc {
 pinctrl_can: cangrp {
  fsl,pins = <
   MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1   0x19  /* SDIO_B_PWR_EN */
  >;
 };

 pinctrl_usb_hub: usbhubgrp {
  fsl,pins = <
   MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2  0x19 /* SDIO_B_WP */
  >;
 };
};

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]