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

Quelle  imx6qdl-gw5910.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2019 Gateworks Corporation
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
 /* these are used by bootloader for disabling nodes */
 aliases {
  led0 = &led0;
  led1 = &led1;
  led2 = &led2;
 };

 chosen {
  stdout-path = &uart2;
 };

 memory@10000000 {
  device_type = "memory";
  reg = <0x10000000 0x20000000>;
 };

 gpio-keys {
  compatible = "gpio-keys";

  user-pb {
   label = "user_pb";
   gpios = <&gsc_gpio 2 GPIO_ACTIVE_LOW>;
   linux,code = <BTN_0>;
  };

  user-pb1x {
   label = "user_pb1x";
   linux,code = <BTN_1>;
   interrupt-parent = <&gsc>;
   interrupts = <0>;
  };

  key-erased {
   label = "key-erased";
   linux,code = <BTN_2>;
   interrupt-parent = <&gsc>;
   interrupts = <1>;
  };

  eeprom-wp {
   label = "eeprom_wp";
   linux,code = <BTN_3>;
   interrupt-parent = <&gsc>;
   interrupts = <2>;
  };

  tamper {
   label = "tamper";
   linux,code = <BTN_4>;
   interrupt-parent = <&gsc>;
   interrupts = <5>;
  };

  switch-hold {
   label = "switch_hold";
   linux,code = <BTN_5>;
   interrupt-parent = <&gsc>;
   interrupts = <7>;
  };
 };

 leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_gpio_leds>;

  led0: led-user1 {
   label = "user1";
   gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
   default-state = "on";
   linux,default-trigger = "heartbeat";
  };

  led1: led-user2 {
   label = "user2";
   gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
   default-state = "off";
  };

  led2: led-user3 {
   label = "user3";
   gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
   default-state = "off";
  };
 };

 pps {
  compatible = "pps-gpio";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_pps>;
  gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
  status = "okay";
 };

 reg_3p3v: regulator-3p3v {
  compatible = "regulator-fixed";
  regulator-name = "3P3V";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
 };

 reg_5p0v: regulator-5p0v {
  compatible = "regulator-fixed";
  regulator-name = "5P0V";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-always-on;
 };

 reg_wl: regulator-wl {
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_reg_wl>;
  compatible = "regulator-fixed";
  regulator-name = "wl";
  gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
  startup-delay-us = <100>;
  enable-active-high;
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };
};


&ecspi3 {
 cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_ecspi3>;
 status = "okay";
};

&fec {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_enet>;
 phy-mode = "rgmii-id";
 status = "okay";
};

&gpmi {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_gpmi_nand>;
 status = "okay";
};

&i2c1 {
 clock-frequency = <100000>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_i2c1>;
 status = "okay";

 gsc: gsc@20 {
  compatible = "gw,gsc";
  reg = <0x20>;
  interrupt-parent = <&gpio1>;
  interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
  interrupt-controller;
  #interrupt-cells = <1>;
  #size-cells = <0>;

  adc {
   compatible = "gw,gsc-adc";
   #address-cells = <1>;
   #size-cells = <0>;

   channel@6 {
    gw,mode = <0>;
    reg = <0x06>;
    label = "temp";
   };

   channel@8 {
    gw,mode = <3>;
    reg = <0x08>;
    label = "vdd_bat";
   };

   channel@82 {
    gw,mode = <2>;
    reg = <0x82>;
    label = "vdd_vin";
    gw,voltage-divider-ohms = <22100 1000>;
    gw,voltage-offset-microvolt = <800000>;
   };

   channel@84 {
    gw,mode = <2>;
    reg = <0x84>;
    label = "vdd_5p0";
    gw,voltage-divider-ohms = <22100 10000>;
   };

   channel@86 {
    gw,mode = <2>;
    reg = <0x86>;
    label = "vdd_3p3";
    gw,voltage-divider-ohms = <10000 10000>;
   };

   channel@88 {
    gw,mode = <2>;
    reg = <0x88>;
    label = "vdd_2p5";
    gw,voltage-divider-ohms = <10000 10000>;
   };

   channel@8c {
    gw,mode = <2>;
    reg = <0x8c>;
    label = "vdd_3p0";
   };

   channel@8e {
    gw,mode = <2>;
    reg = <0x8e>;
    label = "vdd_arm";
   };

   channel@90 {
    gw,mode = <2>;
    reg = <0x90>;
    label = "vdd_soc";
   };

   channel@92 {
    gw,mode = <2>;
    reg = <0x92>;
    label = "vdd_1p5";
   };

   channel@98 {
    gw,mode = <2>;
    reg = <0x98>;
    label = "vdd_1p8";
   };

   channel@9a {
    gw,mode = <2>;
    reg = <0x9a>;
    label = "vdd_1p0";
    gw,voltage-divider-ohms = <10000 10000>;
   };

   channel@9c {
    gw,mode = <2>;
    reg = <0x9c>;
    label = "vdd_an1";
    gw,voltage-divider-ohms = <10000 10000>;
   };

   channel@a2 {
    gw,mode = <2>;
    reg = <0xa2>;
    label = "vdd_gsc";
    gw,voltage-divider-ohms = <10000 10000>;
   };
  };
 };

 gsc_gpio: gpio@23 {
  compatible = "nxp,pca9555";
  reg = <0x23>;
  gpio-controller;
  #gpio-cells = <2>;
  interrupt-parent = <&gsc>;
  interrupts = <4>;
 };

 eeprom@50 {
  compatible = "atmel,24c02";
  reg = <0x50>;
  pagesize = <16>;
 };

 eeprom@51 {
  compatible = "atmel,24c02";
  reg = <0x51>;
  pagesize = <16>;
 };

 eeprom@52 {
  compatible = "atmel,24c02";
  reg = <0x52>;
  pagesize = <16>;
 };

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

 rtc@68 {
  compatible = "dallas,ds1672";
  reg = <0x68>;
 };
};

&i2c2 {
 clock-frequency = <100000>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_i2c2>;
 status = "okay";
};

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

 accel@19 {
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_accel>;
  compatible = "st,lis2de12";
  reg = <0x19>;
  st,drdy-int-pin = <1>;
  interrupt-parent = <&gpio7>;
  interrupts = <13 0>;
 };
};

&pcie {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_pcie>;
 reset-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
 status = "okay";
};

&pwm2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
 status = "disabled";
};

&pwm3 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
 status = "disabled";
};

/* off-board RS232 */
&uart1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart1>;
 status = "okay";
};

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

/* cc1352 */
&uart3 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart3>;
 uart-has-rtscts;
 status = "okay";
};

/* Sterling-LWB Bluetooth */
&uart4 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart4>,<&pinctrl_bten>;
 uart-has-rtscts;
 status = "okay";

 bluetooth {
  compatible = "brcm,bcm4330-bt";
  shutdown-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
 };
};

/* GPS */
&uart5 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart5>;
 status = "okay";
};

&usbotg {
 vbus-supply = <®_5p0v>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_usbotg>;
 disable-over-current;
 status = "okay";
};

&usbh1 {
 status = "okay";
};

/* Sterling-LWB SDIO WiFi */
&usdhc2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_usdhc2>;
 vmmc-supply = <®_wl>;
 non-removable;
 bus-width = <4>;
 status = "okay";
};

&usdhc3 {
 pinctrl-names = "default", "state_100mhz", "state_200mhz";
 pinctrl-0 = <&pinctrl_usdhc3>;
 pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
 pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
 cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
 vmmc-supply = <®_3p3v>;
 status = "okay";
};

&wdog1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_wdog>;
 fsl,ext-reset-output;
};

&iomuxc {
 pinctrl_accel: accelmuxgrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_18__GPIO7_IO13  0x1b0b1
  >;
 };

 pinctrl_bten: btengrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_2__GPIO1_IO02  0x1b0b1
  >;
 };

 pinctrl_ecspi3: escpi3grp {
  fsl,pins = <
   MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1
   MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1
   MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1
   MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x100b1
  >;
 };

 pinctrl_enet: enetgrp {
  fsl,pins = <
   MX6QDL_PAD_RGMII_RXC__RGMII_RXC  0x1b030
   MX6QDL_PAD_RGMII_RD0__RGMII_RD0  0x1b030
   MX6QDL_PAD_RGMII_RD1__RGMII_RD1  0x1b030
   MX6QDL_PAD_RGMII_RD2__RGMII_RD2  0x1b030
   MX6QDL_PAD_RGMII_RD3__RGMII_RD3  0x1b030
   MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
   MX6QDL_PAD_RGMII_TXC__RGMII_TXC  0x1b030
   MX6QDL_PAD_RGMII_TD0__RGMII_TD0  0x1b030
   MX6QDL_PAD_RGMII_TD1__RGMII_TD1  0x1b030
   MX6QDL_PAD_RGMII_TD2__RGMII_TD2  0x1b030
   MX6QDL_PAD_RGMII_TD3__RGMII_TD3  0x1b030
   MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
   MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
   MX6QDL_PAD_ENET_MDIO__ENET_MDIO  0x1b0b0
   MX6QDL_PAD_ENET_MDC__ENET_MDC  0x1b0b0
   MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
   MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x1b0b0
  >;
 };

 pinctrl_gpio_leds: gpioledsgrp {
  fsl,pins = <
   MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x1b0b0
   MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x1b0b0
   MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x1b0b0
  >;
 };

 pinctrl_gpmi_nand: gpminandgrp {
  fsl,pins = <
   MX6QDL_PAD_NANDF_CLE__NAND_CLE  0xb0b1
   MX6QDL_PAD_NANDF_ALE__NAND_ALE  0xb0b1
   MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
   MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
   MX6QDL_PAD_NANDF_CS0__NAND_CE0_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_i2c1: i2c1grp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D21__I2C1_SCL  0x4001b8b1
   MX6QDL_PAD_EIM_D28__I2C1_SDA  0x4001b8b1
   MX6QDL_PAD_GPIO_4__GPIO1_IO04  0x0001b0b0
  >;
 };

 pinctrl_i2c2: i2c2grp {
  fsl,pins = <
   MX6QDL_PAD_KEY_COL3__I2C2_SCL  0x4001b8b1
   MX6QDL_PAD_KEY_ROW3__I2C2_SDA  0x4001b8b1
  >;
 };

 pinctrl_i2c3: i2c3grp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_3__I2C3_SCL  0x4001b8b1
   MX6QDL_PAD_GPIO_6__I2C3_SDA  0x4001b8b1
  >;
 };

 pinctrl_pcie: pciegrp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D20__GPIO3_IO20  0x1b0b0
  >;
 };

 pinctrl_pps: ppsgrp {
  fsl,pins = <
   MX6QDL_PAD_DI0_DISP_CLK__GPIO4_IO16 0x1b0b1
  >;
 };

 pinctrl_pwm2: pwm2grp {
  fsl,pins = <
   MX6QDL_PAD_SD1_DAT2__PWM2_OUT  0x1b0b1
  >;
 };

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

 pinctrl_reg_wl: regwlgrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_5__GPIO1_IO05  0x1b0b1
  >;
 };

 pinctrl_uart1: uart1grp {
  fsl,pins = <
   MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
   MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
  >;
 };

 pinctrl_uart2: uart2grp {
  fsl,pins = <
   MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
   MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
  >;
 };

 pinctrl_uart3: uart3grp {
  fsl,pins = <
   MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
   MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
   MX6QDL_PAD_EIM_D23__UART3_RTS_B  0x1b0b1
   MX6QDL_PAD_EIM_D31__UART3_CTS_B  0x1b0b1
   MX6QDL_PAD_EIM_A25__GPIO5_IO02  0x4001b0b1 /* DIO20 */
   MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x4001b0b1 /* DIO14 */
   MX6QDL_PAD_DISP0_DAT12__GPIO5_IO06 0x4001b0b1 /* DIO15 */
   MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08 0x1b0b1 /* TMS */
   MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x1b0b1 /* TCK */
   MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10 0x1b0b1 /* TDO */
   MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11 0x1b0b1 /* TDI */
   MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17 0x4001b0b1 /* RST# */
  >;
 };

 pinctrl_uart4: uart4grp {
  fsl,pins = <
   MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
   MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
   MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1
   MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1
  >;
 };

 pinctrl_uart5: uart5grp {
  fsl,pins = <
   MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
   MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
  >;
 };

 pinctrl_usbotg: usbotggrp {
  fsl,pins = <
   MX6QDL_PAD_GPIO_1__USB_OTG_ID  0x13059
  >;
 };

 pinctrl_usdhc2: usdhc2grp {
  fsl,pins = <
   MX6QDL_PAD_SD2_CMD__SD2_CMD  0x17059
   MX6QDL_PAD_SD2_CLK__SD2_CLK  0x10059
   MX6QDL_PAD_SD2_DAT0__SD2_DATA0  0x17059
   MX6QDL_PAD_SD2_DAT1__SD2_DATA1  0x17059
   MX6QDL_PAD_SD2_DAT2__SD2_DATA2  0x17059
   MX6QDL_PAD_SD2_DAT3__SD2_DATA3  0x17059
  >;
 };

 pinctrl_usdhc3: usdhc3grp {
  fsl,pins = <
   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
   MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x17059 /* CD */
   MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x17059
  >;
 };

 pinctrl_usdhc3_100mhz: usdhc3-100mhz-grp {
  fsl,pins = <
   MX6QDL_PAD_SD3_CMD__SD3_CMD  0x170b9
   MX6QDL_PAD_SD3_CLK__SD3_CLK  0x170b9
   MX6QDL_PAD_SD3_DAT0__SD3_DATA0  0x170b9
   MX6QDL_PAD_SD3_DAT1__SD3_DATA1  0x170b9
   MX6QDL_PAD_SD3_DAT2__SD3_DATA2  0x170b9
   MX6QDL_PAD_SD3_DAT3__SD3_DATA3  0x170b9
   MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x170b9 /* CD */
   MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x170b9
  >;
 };

 pinctrl_usdhc3_200mhz: usdhc3-200mhz-grp {
  fsl,pins = <
   MX6QDL_PAD_SD3_CMD__SD3_CMD  0x170f9
   MX6QDL_PAD_SD3_CLK__SD3_CLK  0x100f9
   MX6QDL_PAD_SD3_DAT0__SD3_DATA0  0x170f9
   MX6QDL_PAD_SD3_DAT1__SD3_DATA1  0x170f9
   MX6QDL_PAD_SD3_DAT2__SD3_DATA2  0x170f9
   MX6QDL_PAD_SD3_DAT3__SD3_DATA3  0x170f9
   MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x170f9 /* CD */
   MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x170f9
  >;
 };

 pinctrl_wdog: wdoggrp {
  fsl,pins = <
   MX6QDL_PAD_DISP0_DAT8__WDOG1_B  0x1b0b0
  >;
 };
};

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]