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

Quelle  imx6qdl-skov-cpu.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/ {
 chosen {
  stdout-path = &uart2;
 };

 aliases {
  can0 = &can1;
  can1 = &can2;
  ethernet0 = &fec;
  ethernet1 = &lan1;
  ethernet2 = &lan2;
  mdio-gpio0 = &mdio;
  nand = &gpmi;
  rtc0 = &i2c_rtc;
  rtc1 = &snvs;
  switch0 = &switch;
  usb0 = &usbh1;
  usb1 = &usbotg;
 };

 iio-hwmon {
  compatible = "iio-hwmon";
  io-channels = <&adc 0>, /* 24V */
                <&adc 1>; /* temperature */
 };

 leds {
  compatible = "gpio-leds";

  led-0 {
   label = "D1";
   gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
   function = LED_FUNCTION_STATUS;
   default-state = "on";
   linux,default-trigger = "heartbeat";
  };

  led-1 {
   label = "D2";
   gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
   default-state = "off";
  };

  led-2 {
   label = "D3";
   gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
   default-state = "on";
  };
 };

 mdio: mdio {
  compatible = "microchip,mdio-smi0";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_mdio>;
  #address-cells = <1>;
  #size-cells = <0>;
  gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>,
   <&gpio1 22 GPIO_ACTIVE_HIGH>;

  switch: switch@0 {
   compatible = "microchip,ksz8873";
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_switch>;
   interrupt-parent = <&gpio3>;
   interrupt = <30 IRQ_TYPE_LEVEL_HIGH>;
   reset-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
   reg = <0>;

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

    lan1: ports@0 {
     reg = <0>;
     phy-mode = "internal";
     label = "lan1";
    };

    lan2: ports@1 {
     reg = <1>;
     phy-mode = "internal";
     label = "lan2";
    };

    ports@2 {
     reg = <2>;
     label = "cpu";
     ethernet = <&fec>;
     phy-mode = "rmii";

     fixed-link {
      speed = <100>;
      full-duplex;
     };
    };
   };
  };

 };

 clk50m_phy: phy-clock {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <50000000>;
  clock-output-names = "enet_ref_pad";
 };

 reg_3v3: regulator-3v3 {
  compatible = "regulator-fixed";
  vin-supply = <®_5v0>;
  regulator-name = "3v3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };

 reg_5v0: regulator-5v0 {
  compatible = "regulator-fixed";
  regulator-name = "5v0";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
 };

 reg_24v0: regulator-24v0 {
  compatible = "regulator-fixed";
  regulator-name = "24v0";
  regulator-min-microvolt = <24000000>;
  regulator-max-microvolt = <24000000>;
 };

 reg_can1_stby: regulator-can1-stby {
  compatible = "regulator-fixed";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_can1_stby>;
  regulator-name = "can1-3v3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
 };

 reg_can2_stby: regulator-can2-stby {
  compatible = "regulator-fixed";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_can2_stby>;
  regulator-name = "can2-3v3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
 };

 reg_tft_vcom: regulator-tft-vcom {
  compatible = "pwm-regulator";
  pwms = <&pwm3 0 20000 0>;
  regulator-name = "tft_vcom";
  regulator-min-microvolt = <3600000>;
  regulator-max-microvolt = <3600000>;
  regulator-always-on;
  voltage-table = <3600000 26>;
 };

 reg_vcc_mmc: regulator-vcc-mmc {
  compatible = "regulator-fixed";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_vcc_mmc>;
  vin-supply = <®_3v3>;
  regulator-name = "mmc_vcc_supply";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
  regulator-boot-on;
  gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
  enable-active-high;
  startup-delay-us = <100>;
 };

 reg_vcc_mmc_io: regulator-vcc-mmc-io {
  compatible = "regulator-gpio";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_vcc_mmc_io>;
  vin-supply = <®_5v0>;
  regulator-name = "mmc_io_supply";
  regulator-type = "voltage";
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <3300000>;
  gpios = <&gpio7 13 GPIO_ACTIVE_HIGH>;
  enable-active-high;
  states = <1800000 0x1>, <3300000 0x0>;
  startup-delay-us = <100>;
 };
};

&can1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_can1>;
 xceiver-supply = <®_can1_stby>;
 status = "okay";
};

&can2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_can2>;
 xceiver-supply = <®_can2_stby>;
 status = "okay";
};

&ecspi1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_ecspi1>;
 cs-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
 status = "okay";

 flash@0 {
  compatible = "jedec,spi-nor";
  spi-max-frequency = <54000000>;
  reg = <0>;
 };
};

&ecspi2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_ecspi2>;
 cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
 status = "okay";

 adc: adc@0 {
  compatible = "microchip,mcp3002";
  reg = <0>;
  vref-supply = <®_3v3>;
  spi-max-frequency = <1000000>;
  #io-channel-cells = <1>;
 };
};

&clks {
 clocks = <&clk50m_phy>;
 clock-names = "enet_ref_pad";
 assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
 assigned-clock-parents = <&clk50m_phy>;
};

&fec {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_enet>;
 phy-mode = "rmii";
 phy-supply = <®_3v3>;
 status = "okay";

 fixed-link {
  speed = <100>;
  full-duplex;
 };
};

&gpmi {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_gpmi_nand>;
 nand-on-flash-bbt;
 #address-cells = <1>;
 #size-cells = <0>;
 status = "okay";
};

&i2c3 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_i2c3>;
 clock-frequency = <400000>;
 status = "okay";

 i2c_rtc: rtc@51 {
  compatible = "nxp,pcf85063";
  reg = <0x51>;
  quartz-load-femtofarads = <12500>;
 };
};

&pwm2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_pwm2>;
 status = "okay";
};

&pwm3 {
 /* used for LCD contrast control */
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_pwm3>;
 status = "okay";
};

&uart2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart2>;
 status = "okay";
};

&usbh1 {
 vbus-supply = <®_5v0>;
 disable-over-current;
 status = "okay";
};

/* no usbh2 */
&usbphynop1 {
 status = "disabled";
};

/* no usbh3 */
&usbphynop2 {
 status = "disabled";
};

&usbotg {
 vbus-supply = <®_5v0>;
 disable-over-current;
 status = "okay";
};

&usdhc3 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_usdhc3>;
 wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
 cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
 cap-power-off-card;
 full-pwr-cycle;
 bus-width = <4>;
 max-frequency = <50000000>;
 cap-sd-highspeed;
 sd-uhs-sdr12;
 sd-uhs-sdr25;
 sd-uhs-sdr50;
 sd-uhs-ddr50;
 mmc-ddr-1_8v;
 vmmc-supply = <®_vcc_mmc>;
 vqmmc-supply = <®_vcc_mmc_io>;
 status = "okay";
};

&iomuxc {
 pinctrl_can1: can1grp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_7__FLEXCAN1_TX   0x3008
   MX6QDL_PAD_GPIO_8__FLEXCAN1_RX   0x1b000
  >;
 };

 pinctrl_can1_stby: can1stbygrp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D31__GPIO3_IO31   0x13008
  >;
 };

 pinctrl_can2: can2grp {
  fsl,pins = <
   MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX  0x3008
   MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX  0x1b000
  >;
 };

 pinctrl_can2_stby: can2stbygrp {
  fsl,pins = <
   MX6QDL_PAD_KEY_ROW2__GPIO4_IO11   0x13008
  >;
 };

 pinctrl_ecspi1: ecspi1grp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D17__ECSPI1_MISO   0x100b1
   MX6QDL_PAD_EIM_D18__ECSPI1_MOSI   0xb1
   MX6QDL_PAD_EIM_D16__ECSPI1_SCLK   0xb1
   /* *no* external pull up */
   MX6QDL_PAD_EIM_D24__GPIO3_IO24   0x58
  >;
 };

 pinctrl_ecspi2: ecspi2grp {
  fsl,pins = <
   MX6QDL_PAD_EIM_OE__ECSPI2_MISO   0x100b1
   MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI   0xb1
   MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK   0xb1
   /* external pull up */
   MX6QDL_PAD_EIM_RW__GPIO2_IO26   0x58
  >;
 };

 pinctrl_enet: enetgrp {
  fsl,pins = <
   /* RMII 50 MHz */
   MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN  0x100f5
   MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN  0x100f5
   MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0  0x100c0
   MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1  0x100c0
   MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0  0x100f5
   MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1  0x100f5
   MX6QDL_PAD_GPIO_16__ENET_REF_CLK  0x1b0b0
   MX6QDL_PAD_GPIO_5__GPIO1_IO05   0x58
   /* GPIO for "link active" */
   MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24  0x3038
  >;
 };

 pinctrl_gpmi_nand: gpminandgrp {
  fsl,pins = <
   MX6QDL_PAD_NANDF_CLE__NAND_CLE   0xb0b1
   MX6QDL_PAD_NANDF_ALE__NAND_ALE   0xb0b1
   MX6QDL_PAD_NANDF_RB0__NAND_READY_B  0xb000
   MX6QDL_PAD_NANDF_CS0__NAND_CE0_B  0xb0b1
   MX6QDL_PAD_NANDF_CS1__NAND_CE1_B  0xb0b1
   MX6QDL_PAD_SD4_CMD__NAND_RE_B   0xb0b1
   MX6QDL_PAD_SD4_CLK__NAND_WE_B   0xb0b1
   MX6QDL_PAD_NANDF_D0__NAND_DATA00  0xb0b1
   MX6QDL_PAD_NANDF_D1__NAND_DATA01  0xb0b1
   MX6QDL_PAD_NANDF_D2__NAND_DATA02  0xb0b1
   MX6QDL_PAD_NANDF_D3__NAND_DATA03  0xb0b1
   MX6QDL_PAD_NANDF_D4__NAND_DATA04  0xb0b1
   MX6QDL_PAD_NANDF_D5__NAND_DATA05  0xb0b1
   MX6QDL_PAD_NANDF_D6__NAND_DATA06  0xb0b1
   MX6QDL_PAD_NANDF_D7__NAND_DATA07  0xb0b1
  >;
 };

 pinctrl_i2c3: i2c3grp {
  fsl,pins = <
   /* external 10 k pull up */
   MX6QDL_PAD_GPIO_3__I2C3_SCL  0x40010878
   /* external 10 k pull up */
   MX6QDL_PAD_GPIO_6__I2C3_SDA  0x40010878
  >;
 };

 pinctrl_mdio: mdiogrp {
  fsl,pins = <
   MX6QDL_PAD_ENET_MDIO__GPIO1_IO22  0x100b1
   MX6QDL_PAD_ENET_MDC__GPIO1_IO31   0xb1
  >;
 };

 pinctrl_pwm2: pwm2grp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_1__PWM2_OUT   0x58
  >;
 };

 pinctrl_pwm3: pwm3grp {
  fsl,pins = <
   MX6QDL_PAD_SD1_DAT1__PWM3_OUT   0x58
  >;
 };

 pinctrl_switch: switchgrp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D30__GPIO3_IO30   0xb0
  >;
 };

 pinctrl_uart2: uart2grp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D26__UART2_TX_DATA  0x1b0b1
   MX6QDL_PAD_EIM_D27__UART2_RX_DATA  0x1b0b1
  >;
 };

 pinctrl_usdhc3: usdhc3grp {
  fsl,pins = <
   /* SoC internal pull up required */
   MX6QDL_PAD_SD3_CMD__SD3_CMD   0x17059
   MX6QDL_PAD_SD3_CLK__SD3_CLK   0x10059
   MX6QDL_PAD_SD3_DAT0__SD3_DATA0   0x17059
   MX6QDL_PAD_SD3_DAT1__SD3_DATA1   0x17059
   MX6QDL_PAD_SD3_DAT2__SD3_DATA2   0x17059
   MX6QDL_PAD_SD3_DAT3__SD3_DATA3   0x17059
   /* SoC internal pull up required */
   MX6QDL_PAD_SD3_DAT4__GPIO7_IO01   0x1b040
   /* SoC internal pull up required */
   MX6QDL_PAD_SD3_DAT5__GPIO7_IO00   0x1b040
  >;
 };

 pinctrl_vcc_mmc: vccmmcgrp {
  fsl,pins = <
   MX6QDL_PAD_SD3_RST__GPIO7_IO08   0x58
  >;
 };

 pinctrl_vcc_mmc_io: vccmmciogrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_18__GPIO7_IO13   0x58
  >;
 };
};

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]