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 8 kB image not shown  

Quelle  imx6dl-victgo.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (c) 2016 Protonic Holland
 * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
 */

/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-vicut1.dtsi"

/ {
 model = "Kverneland TGO";
 compatible = "kvg,victgo", "fsl,imx6dl";

 gpio-keys {
  compatible = "gpio-keys";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_gpiokeys>;
  autorepeat;

  key-power {
   label = "Power Button";
   gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
   linux,code = <KEY_POWER>;
   wakeup-source;
  };

  key-enter {
   label = "Rotary Key";
   gpios = <&gpio2 05 GPIO_ACTIVE_LOW>;
   linux,code = <KEY_ENTER>;
   wakeup-source;
  };
 };

 iio-hwmon {
  compatible = "iio-hwmon";
  io-channels = <&vdiv_vaccu>, <&vdiv_hitch_pos>;
 };

 panel {
  compatible = "lg,lb070wv8";
  backlight = <&backlight_lcd>;
  power-supply = <®_3v3>;

  port {
   panel_in: endpoint {
    remote-endpoint = <&lvds0_out>;
   };
  };
 };

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

 rotary-encoder {
  compatible = "rotary-encoder";
  pinctrl-0 = <&pinctrl_rotary_ch>;
  gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>,
   <&gpio2 4 GPIO_ACTIVE_HIGH>;
  linux,axis = <REL_WHEEL>;
  rotary-encoder,steps-per-period = <4>;
  rotary-encoder,relative-axis;
  rotary-encoder,rollover;
  wakeup-source;
 };

 thermal-zones {
  chassis-thermal {
   polling-delay = <20000>;
   polling-delay-passive = <0>;
   thermal-sensors = <&tsens0>;

   trips {
    alert {
     temperature = <105000>; /* millicelsius */
     hysteresis = <2000>; /* millicelsius */
     type = "passive";
    };
   };
  };

  touch-thermal0 {
   polling-delay = <20000>;
   polling-delay-passive = <0>;
   thermal-sensors = <&touch_temp0>;

   trips {
    alert {
     temperature = <105000>; /* millicelsius */
     hysteresis = <2000>; /* millicelsius */
     type = "passive";
    };
   };
  };

  touch-thermal1 {
   polling-delay = <20000>;
   polling-delay-passive = <0>;
   thermal-sensors = <&touch_temp1>;

   trips {
    alert {
     temperature = <105000>; /* millicelsius */
     hysteresis = <2000>; /* millicelsius */
     type = "passive";
    };
   };
  };
 };

 touchscreen {
  compatible = "resistive-adc-touch";
  io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                              <&adc_ts 5>;
  io-channel-names = "y", "z1", "z2", "x";
  touchscreen-min-pressure = <64687>;
  touchscreen-inverted-y;
  touchscreen-x-plate-ohms = <300>;
  touchscreen-y-plate-ohms = <800>;
 };

 touch_temp0: touch-temperature-sensor0 {
  compatible = "generic-adc-thermal";
  #thermal-sensor-cells = <0>;
  io-channels = <&adc_ts 0>;
  io-channel-names = "sensor-channel";
  temperature-lookup-table = <    (-40000) 736
      85000 474>;
 };

 touch_temp1: touch-temperature-sensor1 {
  compatible = "generic-adc-thermal";
  #thermal-sensor-cells = <0>;
  io-channels = <&adc_ts 7>;
  io-channel-names = "sensor-channel";
  temperature-lookup-table = <    (-40000) 826
      85000 609>;
 };

 vdiv_vaccu: voltage-divider-vaccu {
  compatible = "voltage-divider";
  io-channels = <&adc_ts 2>;
  output-ohms = <2500>;
  full-ohms = <64000>;
  #io-channel-cells = <0>;
 };

 vdiv_hitch_pos: voltage-divider-hitch-pos {
  compatible = "voltage-divider";
  io-channels = <&adc_ts 6>;
  output-ohms = <3300>;
  full-ohms = <13300>;
  #io-channel-cells = <0>;
 };
};

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

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

 adc_ts: adc@0 {
  compatible = "ti,tsc2046e-adc";
  reg = <0>;
  pinctrl-0 = <&pinctrl_touchscreen>;
  pinctrl-names = "default";
  spi-max-frequency = <1000000>;
  interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
  #io-channel-cells = <1>;

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

  channel@1 {
   reg = <1>;
   settling-time-us = <700>;
   oversampling-ratio = <5>;
  };

  channel@3 {
   reg = <3>;
   settling-time-us = <700>;
   oversampling-ratio = <5>;
  };

  channel@4 {
   reg = <4>;
   settling-time-us = <700>;
   oversampling-ratio = <5>;
  };

  channel@5 {
   reg = <5>;
   settling-time-us = <700>;
   oversampling-ratio = <5>;
  };
 };
};

&fec {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_enet>;
 phy-mode = "rmii";
 phy-handle = <&rmii_phy>;
 status = "okay";

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

  /* Microchip KSZ8081RNA PHY */
  rmii_phy: ethernet-phy@0 {
   reg = <0>;
   interrupts-extended = <&gpio4 30 IRQ_TYPE_LEVEL_LOW>;
   reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
   reset-assert-us = <10000>;
   reset-deassert-us = <300>;
  };
 };
};

&gpio1 {
 gpio-line-names =
  "CAN1_TERM", "SD1_CD", "ITU656_RESET", "CAM1_MIRROR",
   "CAM2_MIRROR", "", "", "SMBALERT",
  "DEBUG_0", "DEBUG_1", "", "", "", "", "", "",
  "SD1_DATA0", "SD1_DATA1", "SD1_CMD", "SD1_DATA2", "SD1_CLK",
   "SD1_DATA3", "ETH_MDIO", "",
  "", "", "", "", "", "", "", "ETH_MDC";
};

&gpio4 {
 gpio-line-names =
  "", "", "", "", "", "", "UART4_TXD", "UART4_RXD",
  "UART5_TXD", "UART5_RXD", "CAN1_TX", "CAN1_RX", "CAN1_SR",
   "CAN2_SR", "CAN2_TX", "CAN2_RX",
  "", "", "DIP1_FB", "", "VCAM_EN", "ON1_CTRL", "ON2_CTRL",
   "HITCH_IN_OUT",
  "LIGHT_ON", "", "ETH_RESET", "CONTACT_IN", "BL_EN",
   "BL_PWM", "ETH_INT", "ISB_LED";
};

&gpio5 {
 gpio-line-names =
  "", "", "", "", "", "", "", "",
  "TSC_PENIRQ", "TSC_BUSY", "ECSPI2_MOSI", "ECSPI2_MISO",
   "ECSPI2_SS0", "ECSPI2_SCLK", "", "",
  "", "", "ITU656_CLK", "I2S_MCLK", "ITU656_PDN", "AUDIO_RESET",
   "I2S_BITCLK", "I2S_DOUT",
  "I2S_LRCLK", "I2S_DIN", "I2C1_SDA", "I2C1_SCL", "YACO_AUX_RX",
   "YACO_AUX_TX", "ITU656_D0", "ITU656_D1";
};

&gpio6 {
 gpio-line-names =
  "ITU656_D2", "ITU656_D3", "ITU656_D4", "ITU656_D5",
   "ITU656_D6", "ITU656_D7", "", "",
  "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "";
};

&i2c1 {
 keypad@70 {
  compatible = "holtek,ht16k33";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_keypad>;
  reg = <0x70>;
  refresh-rate-hz = <20>;
  debounce-delay-ms = <50>;
  interrupts-extended = <&gpio4 5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
  keypad,num-rows = <12>;
  keypad,num-columns = <3>;
  linux,keymap = <
   MATRIX_KEY(2, 0, KEY_F6)
   MATRIX_KEY(3, 0, KEY_F8)
   MATRIX_KEY(4, 0, KEY_F10)
   MATRIX_KEY(5, 0, KEY_F4)
   MATRIX_KEY(6, 0, KEY_F2)
   MATRIX_KEY(2, 1, KEY_F5)
   MATRIX_KEY(3, 1, KEY_F7)
   MATRIX_KEY(4, 1, KEY_F9)
   MATRIX_KEY(5, 1, KEY_F3)
   MATRIX_KEY(6, 1, KEY_F1)
        >;
 };
};

&iomuxc {
 pinctrl_ecspi2: ecspi2grp {
  fsl,pins = <
   MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI  0x100b1
   MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO  0x100b1
   MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12  0x100b1
   MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK  0x100b1
  >;
 };

 pinctrl_enet: enetgrp {
  fsl,pins = <
   /* MX6QDL_ENET_PINGRP4 */
   MX6QDL_PAD_ENET_MDC__ENET_MDC   0x1b0b0
   MX6QDL_PAD_ENET_MDIO__ENET_MDIO   0x1b0b0
   MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0  0x1b0b0
   MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1  0x1b0b0
   MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER  0x1b0b0
   MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN  0x1b0b0
   MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0  0x1b0b0
   MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1  0x1b0b0
   MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN  0x1b0b0
   MX6QDL_PAD_GPIO_16__ENET_REF_CLK  0x1b0b0
   /* Phy reset */
   MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26  0x1b0b0
   /* nINTRP */
   MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30  0x1b0b0
  >;
 };

 pinctrl_gpiokeys: gpiokeygrp {
  fsl,pins = <
   /* ROTARY_BTN */
   MX6QDL_PAD_NANDF_D5__GPIO2_IO05   0x1b0b0
   /* nON_SWITCH */
   MX6QDL_PAD_EIM_CS0__GPIO2_IO23   0x1b0b0
  >;
 };

 pinctrl_keypad: keypadgrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_19__GPIO4_IO05   0x1b0b0
  >;
 };

 pinctrl_rotary_ch: rotarychgrp {
  fsl,pins = <
   MX6QDL_PAD_NANDF_D3__GPIO2_IO03   0x1b0b0
   MX6QDL_PAD_NANDF_D4__GPIO2_IO04   0x1b0b0
  >;
 };

 pinctrl_touchscreen: touchscreengrp {
  fsl,pins = <
   MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08  0x1b0b0
   MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09  0x1b0b0
  >;
 };
};

[ Dauer der Verarbeitung: 0.4 Sekunden  (vorverarbeitet)  ]