2

We are using PCF8574A i2c device in our project. We enabled pcf857x & pcf8574_keypad device drivers in the kernel. And in .dts file we added i2c sub-node for this pcf8574a i2c device is as follows:

&i2c4 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c4>;
    status = "okay";
 
    pcf8574a: gpio@39 {
        compatible = "nxp,pcf8574a";
        reg = <0x39>;
        interrupt-parent = <&pinctrl_gpio_intr>;
        pinctrl-0 = <&pinctrl_i2c4>;
        gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
        interrupts = <3 0>;
        gpio-controller;
        #gpio-cells = <2>;
        interrupt-controller;
        #interrupt-cells = <2>;
    };
};
 
pinctrl_i2c4: i2c4grp {
    fsl,pins = <
    MX6UL_PAD_UART2_RX_DATA__I2C4_SDA          0x4001b8b0
    MX6UL_PAD_UART2_TX_DATA__I2C4_SCL          0x4001b8b0
    >;
};
 
pinctrl_gpio_intr: intrgrp {
    fsl,pins = <
    MX6UL_PAD_UART1_CTS_B__GPIO1_IO18   0x1b0b0/*keypad interrupt gpio*/
    >;
};

After adding pcf8574a sub-node in i2c4 node node, I observed that event option for this keypad interface is not present in /dev/input/ directory.

When i enter the command evtest enter image description here

What does the interrupt = <3 0> define and what is 3 and 0 here?

  /*
   * Copyright (C) 2016 Freescale Semiconductor, Inc.
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License version 2 as
   * published by the Free Software Foundation.
   */

    /dts-v1/;

    #include <dt-bindings/input/input.h>
    #include "imx6ull.dtsi"

     /{
      model = "Freescale i.MX6 ULL 14x14 EVK Board";
      compatible = "fsl,imx6ull-14x14-evk", "fsl,imx6ull";

       chosen {
        stdout-path = &uart1;
      };

     memory {
        reg = <0x80000000 0x20000000>;
     };

     reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        linux,cma {
            compatible = "shared-dma-pool";
            reusable;
            size = <0x14000000>;
            linux,cma-default;
        };
    };

    backlight {
        compatible = "pwm-backlight";
        pwms = <&pwm1 0 5000000>;
        brightness-levels = <0 4 8 16 32 64 128 255>;
        default-brightness-level = <6>;
        status = "okay";
    };

    pxp_v4l2 {
        compatible = "fsl,imx6ul-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
        status = "okay";
    };

    regulators {
        compatible = "simple-bus";
        #address-cells = <1>;
        #size-cells = <0>;

        reg_can_3v3: regulator@0 {
            compatible = "regulator-fixed";
            reg = <0>;
            regulator-name = "can-3v3";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
        };

        reg_usb_ltemodule: regulator@1 {
            compatible = "regulator-fixed";
            regulator-name = "ltemodule-pwr";
            regulator-min-microvolt = <3800000>;
            regulator-max-microvolt = <3800000>;
            gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
            enable-active-high;
            regulator-boot-on;
        };

        reg_gpio_wifi: regulator@2 {
            compatible = "regulator-fixed";
            regulator-name = "wifi-pwr";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
            gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
            regulator-boot-on;
        };

    };

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

        led0: cpu {
            label = "cpu";
            gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
            default-state = "on";
            linux,default-trigger = "heartbeat";
        };
    };

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

        user {
            label = "User Button";
            gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;
            gpio-key,wakeup;
            linux,code = <KEY_1>;
        };
    };

    sound {
        compatible = "fsl,imx6ul-evk-wm8904",
               "fsl,imx-audio-wm8904";
        model = "wm8904-audio";
        cpu-dai = <&sai2>;
        audio-codec = <&codec>;
        asrc-controller = <&asrc>;
        gpr = <&gpr>;
        audio-routing =
            "Headphone Jack", "HPOUTL",
            "Headphone Jack", "HPOUTR",
            "IN2L", "Line In Jack",
            "IN2R", "Line In Jack",
            "Mic Jack", "MICBIAS",
            "IN1L", "Mic Jack";
    };
    };

    &gpmi{
     status = "disabled";
    };
    &cpu0 {
    arm-supply = <&reg_arm>;
    soc-supply = <&reg_soc>;
    };

    &clks {
    assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
    assigned-clock-rates = <786432000>;
    };

    &fec1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet1>;
    phy-mode = "rmii";
    phy-handle = <&ethphy0>;
    phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
    phy-reset-duration = <26>;
    status = "okay";
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethphy0: ethernet-phy@0 {
            compatible = "ethernet-phy-ieee802.3-c22";
            smsc,disable-energy-detect;
            reg = <0>;
        };
        ethphy1: ethernet-phy@1 {
            compatible = "ethernet-phy-ieee802.3-c22";
            smsc,disable-energy-detect;
            reg = <1>;
        };
    };
    };

    &flexcan1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_flexcan1>;
    xceiver-supply = <&reg_can_3v3>;
    status = "disabled";
    };

    &flexcan2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_flexcan2>;
    xceiver-supply = <&reg_can_3v3>;
    status = "okay";
    };

    &gpc {
    fsl,cpu_pupscr_sw2iso = <0x1>;
    fsl,cpu_pupscr_sw = <0x0>;
    fsl,cpu_pdnscr_iso2sw = <0x1>;
    fsl,cpu_pdnscr_iso = <0x1>;
    fsl,ldo-bypass = <0>; /* DCDC, ldo-enable */
    };

    &i2c1 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c1>;
    status = "okay";
    };
    &i2c4 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c4>;
    status = "okay";
    
    pcf8574a: gpio@39 {
        compatible = "nxp,pcf8574a";
        reg = <0x39>;
        interrupt-parent = <&pinctrl_gpio_intr>;
        pinctrl-0 = <&pinctrl_i2c4>;
        // pinctrl-0 = <&gpio1>;
        gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
        interrupts = <18 0>;
        gpio-controller;
        #gpio-cells = <2>;
        interrupt-controller;
        #interrupt-cells = <2>;
    };
    };

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

    ft5x06: ft5x06@38 {
        compatible = "ft5x06_ts";
        reg = <0x38>;
        pinctrl-names = "default";
        pinctrl-0 = <&edt_ft5x06_pins>;
        tp_int = <&gpio1 5 0>;
        tp_resetn = <&gpio5 2 0>;
        polling_mode = /bits/ 8 <1>;
        multi_touch = /bits/ 8 <0>;
    };

    codec: wm8904@1a {
        compatible = "wlf,wm8904";
        reg = <0x1a>;
        clocks = <&clks IMX6UL_CLK_SAI2>;
        clock-names = "mclk";
    };

     ov5640: ov5640@3c {
        compatible = "ovti,ov5640";
        reg = <0x3c>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_csi1>;
        clocks = <&clks IMX6UL_CLK_CSI>;
        clock-names = "csi_mclk";
        pwn-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
        rst-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
        csi_id = <0>;
        mclk = <24000000>;
        mclk_source = <0>;
        status = "disabled";
        port {
            ov5640_ep: endpoint {
                remote-endpoint = <&csi1_ep>;
            };
        };
     };

     ov2659: ov2659@30 {
        compatible = "ovti,ov2659";
        reg = <0x30>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_csi1>;
        clocks = <&clks IMX6UL_CLK_CSI>;
        clock-names = "xvclk";
        pwn-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
        rst-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
        status = "okay";
        port {
            ov2659_ep: endpoint {
                remote-endpoint = <&csi1_ep>;
                link-frequencies = /bits/ 64 <70000000>;
            };
        };
     };

     };

     &i2c3 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c3>;
    // status = "okay";
    status = "disabled";
    
    dac@4c{
    compatible = "ti,dac7571";
    reg = <0x4c>;
    // vref-supply = <&vdd_supply>;
    };

 
    };

    &iomuxc {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_hog_1>;
    imx6ul-evk {
        pinctrl_hog_1: hoggrp-1 {
            fsl,pins = <
                MX6UL_PAD_UART1_RTS_B__GPIO1_IO19   0x17059 /* SD1 CD */
                MX6UL_PAD_JTAG_MOD__GPIO1_IO10      0x17059 /* WiFi module power */
                MX6UL_PAD_NAND_CE1_B__GPIO4_IO14    0x17059 /* LTE Reset */
                MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID    0x17059 /* USB OTG1 ID */
                MX6UL_PAD_GPIO1_IO09__GPIO1_IO09    0x1b0b0 /* LCD_DISP */
                MX6UL_PAD_CSI_VSYNC__GPIO4_IO19     0x17059/*gpio4....*/
                /*MX6UL_PAD_GPIO1_IO04__GPIO1_IO04  0x1b0b0*/
            >;
        };

        pinctrl_wifi: wifigrp {
            fsl,pins = <
                MX6UL_PAD_JTAG_MOD__GPIO1_IO10      0x17059 /* WiFi module power */
            >;
        };

        pinctrl_csi1: csi1grp {
            fsl,pins = <
                MX6UL_PAD_CSI_MCLK__CSI_MCLK        0x1b088
                MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK    0x1b088
                MX6UL_PAD_CSI_VSYNC__CSI_VSYNC      0x1b088
                /*// MX6UL_PAD_GPIO1_IO08__CSI_VSYNC     0x1b088*/
                MX6UL_PAD_CSI_HSYNC__CSI_HSYNC      0x1b088
                MX6UL_PAD_CSI_DATA00__CSI_DATA02    0x1b088
                MX6UL_PAD_CSI_DATA01__CSI_DATA03    0x1b088
                MX6UL_PAD_CSI_DATA02__CSI_DATA04    0x1b088
                MX6UL_PAD_CSI_DATA03__CSI_DATA05    0x1b088
                MX6UL_PAD_CSI_DATA04__CSI_DATA06    0x1b088
                MX6UL_PAD_CSI_DATA05__CSI_DATA07    0x1b088
                MX6UL_PAD_CSI_DATA06__CSI_DATA08    0x1b088
                MX6UL_PAD_CSI_DATA07__CSI_DATA09    0x1b088
            >;
        };

        pinctrl_enet1: enet1grp {
            fsl,pins = <
                MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN  0x1b0b0
                MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER  0x1b0b0
                MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
                MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
                MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN  0x1b0b0
                MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
                MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
                MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x4001b031
            >;
        };

        // pinctrl_enet2: enet2grp {
        //  fsl,pins = <
        //      MX6UL_PAD_GPIO1_IO06__ENET2_MDIO    0x1b0b0
        //      MX6UL_PAD_GPIO1_IO07__ENET2_MDC     0x1b0b0
        //      MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN  0x1b0b0
        //      MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER  0x1b0b0
        //      MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
        //      MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
        //      MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN  0x1b0b0
        //      MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
        //      MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
        //      MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x4001b031
        //  >;
        // };

        pinctrl_flexcan1: flexcan1grp{
            fsl,pins = <
                MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX  0x1b020
                MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX  0x1b020
                // MX6UL_PAD_SD1_DATA2__FLEXCAN2_TX        0x1b020
                // MX6UL_PAD_SD1_DATA3__FLEXCAN2_RX        0x1b020
            >;
        };

        pinctrl_flexcan2: flexcan2grp{
            fsl,pins = <
                MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX  0x1b020
                MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX  0x1b020
            >;
        };

        pinctrl_i2c1: i2c1grp {
            fsl,pins = <
                /*// MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
                // MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0*/
                MX6UL_PAD_GPIO1_IO02__I2C1_SCL             0x4001b8b0
                MX6UL_PAD_GPIO1_IO03__I2C1_SDA             0x4001b8b0
            >;
        };

        pinctrl_i2c2: i2c2grp {
            fsl,pins = <
                MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
                MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
            >;
        };

        pinctrl_i2c3: i2c3grp {
            fsl,pins = <
                MX6UL_PAD_ENET2_RX_DATA0__I2C3_SCL  0x4001b8b0
                MX6UL_PAD_ENET2_RX_DATA1__I2C3_SDA  0x4001b8b0
            >;
        };

        pinctrl_i2c4: i2c4grp {
            fsl,pins = <
                MX6UL_PAD_UART2_RX_DATA__I2C4_SDA          0x4001b8b0
                MX6UL_PAD_UART2_TX_DATA__I2C4_SCL          0x4001b8b0
                /*MX6UL_PAD_UART1_CTS_B__GPIO1_IO18        0x4001b8b0/*kepad intrupt gpio*/
            >;
        };
        pinctrl_lcdif_dat: lcdifdatgrp {
            fsl,pins = <
                MX6UL_PAD_LCD_DATA00__LCDIF_DATA00  0x79
                MX6UL_PAD_LCD_DATA01__LCDIF_DATA01  0x79
                MX6UL_PAD_LCD_DATA02__LCDIF_DATA02  0x79
                MX6UL_PAD_LCD_DATA03__LCDIF_DATA03  0x79
                MX6UL_PAD_LCD_DATA04__LCDIF_DATA04  0x79
                MX6UL_PAD_LCD_DATA05__LCDIF_DATA05  0x79
                MX6UL_PAD_LCD_DATA06__LCDIF_DATA06  0x79
                MX6UL_PAD_LCD_DATA07__LCDIF_DATA07  0x79
                MX6UL_PAD_LCD_DATA08__LCDIF_DATA08  0x79
                MX6UL_PAD_LCD_DATA09__LCDIF_DATA09  0x79
                MX6UL_PAD_LCD_DATA10__LCDIF_DATA10  0x79
                MX6UL_PAD_LCD_DATA11__LCDIF_DATA11  0x79
                MX6UL_PAD_LCD_DATA12__LCDIF_DATA12  0x79
                MX6UL_PAD_LCD_DATA13__LCDIF_DATA13  0x79
                MX6UL_PAD_LCD_DATA14__LCDIF_DATA14  0x79
                MX6UL_PAD_LCD_DATA15__LCDIF_DATA15  0x79
                /*// MX6UL_PAD_LCD_DATA16__LCDIF_DATA16  0x79
                // MX6UL_PAD_LCD_DATA17__LCDIF_DATA17  0x79*/
                MX6UL_PAD_LCD_DATA18__LCDIF_DATA18  0x79
                MX6UL_PAD_LCD_DATA19__LCDIF_DATA19  0x79
                /*//MX6UL_PAD_LCD_DATA20__LCDIF_DATA20  0x79
                // MX6UL_PAD_LCD_DATA21__LCDIF_DATA21  0x79 */
                MX6UL_PAD_LCD_DATA22__LCDIF_DATA22  0x79
                MX6UL_PAD_LCD_DATA23__LCDIF_DATA23  0x79
            >;
        };

        pinctrl_lcdif_dat_16bits: lcdifdatgrp_16bits {
            fsl,pins = <
                MX6UL_PAD_LCD_DATA00__LCDIF_DATA00  0x79
                MX6UL_PAD_LCD_DATA01__LCDIF_DATA01  0x79
                MX6UL_PAD_LCD_DATA02__LCDIF_DATA02  0x79
                MX6UL_PAD_LCD_DATA03__LCDIF_DATA03  0x79
                MX6UL_PAD_LCD_DATA04__LCDIF_DATA04  0x79
                MX6UL_PAD_LCD_DATA05__LCDIF_DATA05  0x79
                MX6UL_PAD_LCD_DATA06__LCDIF_DATA06  0x79
                MX6UL_PAD_LCD_DATA07__LCDIF_DATA07  0x79
                MX6UL_PAD_LCD_DATA08__LCDIF_DATA08  0x79
                MX6UL_PAD_LCD_DATA09__LCDIF_DATA09  0x79
                MX6UL_PAD_LCD_DATA10__LCDIF_DATA10  0x79
                MX6UL_PAD_LCD_DATA11__LCDIF_DATA11  0x79
                MX6UL_PAD_LCD_DATA12__LCDIF_DATA12  0x79
                MX6UL_PAD_LCD_DATA13__LCDIF_DATA13  0x79
                MX6UL_PAD_LCD_DATA14__LCDIF_DATA14  0x79
                MX6UL_PAD_LCD_DATA15__LCDIF_DATA15  0x79
            >;
        };

        pinctrl_lcdif_ctrl: lcdifctrlgrp {
            fsl,pins = <
                MX6UL_PAD_LCD_CLK__LCDIF_CLK        0x79
                MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE  0x79
                MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC    0x79
                MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC    0x79
            >;
        };

        pinctrl_pwm1: pwm1grp {
            fsl,pins = <
                MX6UL_PAD_GPIO1_IO08__PWM1_OUT   0x110b0
            >;
        };

        pinctrl_qspi: qspigrp {
            fsl,pins = <
                MX6UL_PAD_NAND_WP_B__QSPI_A_SCLK      0x70a1
                MX6UL_PAD_NAND_READY_B__QSPI_A_DATA00 0x70a1
                MX6UL_PAD_NAND_CE0_B__QSPI_A_DATA01   0x70a1
                MX6UL_PAD_NAND_CE1_B__QSPI_A_DATA02   0x70a1
                MX6UL_PAD_NAND_CLE__QSPI_A_DATA03     0x70a1
                MX6UL_PAD_NAND_DQS__QSPI_A_SS0_B      0x70a1
            >;
        };

        pinctrl_sai2: sai2grp {
            fsl,pins = <
                MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK    0x17088
                MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC    0x17088
                MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
                MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA    0x11088
                MX6UL_PAD_JTAG_TMS__SAI2_MCLK       0x17088
            >;
        };

        pinctrl_tsc: tscgrp {
            fsl,pins = <
                MX6UL_PAD_GPIO1_IO01__GPIO1_IO01    0xb0
                MX6UL_PAD_GPIO1_IO02__GPIO1_IO02    0xb0
                MX6UL_PAD_GPIO1_IO03__GPIO1_IO03    0xb0
                MX6UL_PAD_GPIO1_IO04__GPIO1_IO04    0xb0
            >;
        };

        pinctrl_uart1: uart1grp {
            fsl,pins = <
                MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
                MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
            >;
        };

        // pinctrl_uart2: uart2grp {
        //  fsl,pins = <
        //      MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX   0x1b0b1
        //      MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX   0x1b0b1
        //  >;
        // };

        pinctrl_uart3: uart3grp {
            fsl,pins = <
                MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX      0x1b0b1
                MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX      0x1b0b1
            >;
        };

        // pinctrl_uart2dte: uart2dtegrp {
        //  fsl,pins = <
        //      MX6UL_PAD_UART2_TX_DATA__UART2_DTE_RX   0x1b0b1
        //      MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX   0x1b0b1
        //      MX6UL_PAD_UART3_RX_DATA__UART2_DTE_CTS  0x1b0b1
        //      MX6UL_PAD_UART3_TX_DATA__UART2_DTE_RTS  0x1b0b1
        //  >;
        // };

        pinctrl_uart4: uart4grp {
            fsl,pins = <
                MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX      0x1b0b1
                MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX      0x1b0b1
                /*// MX6UL_PAD_UART1_CTS_B__GPIO1_IO18       0x1b0b1 /* RS485 RE/DE */
            >;
        };

        pinctrl_uart5: uart5grp {
            fsl,pins = <
                MX6UL_PAD_CSI_DATA00__UART5_DCE_TX         0x1b0b1
                MX6UL_PAD_CSI_DATA01__UART5_DCE_RX         0x1b0b1
            >;
        };

        pinctrl_uart8: uart8grp {
            fsl,pins = <
                MX6UL_PAD_LCD_DATA20__UART8_DCE_TX         0x1b0b1
                MX6UL_PAD_LCD_DATA21__UART8_DCE_RX         0x1b0b1
            >;
        };

        pinctrl_uart6: uart6grp {
            fsl,pins = <
                MX6UL_PAD_CSI_MCLK__UART6_DCE_TX           0x1b0b1
                MX6UL_PAD_CSI_PIXCLK__UART6_DCE_RX         0x1b0b1
            >;
        };

        pinctrl_uart7: uart7grp {
            fsl,pins = <
                MX6UL_PAD_LCD_DATA16__UART7_DCE_TX         0x000010B0
                MX6UL_PAD_LCD_DATA17__UART7_DCE_RX         0x000010B0
            >;
        };

        pinctrl_usdhc1: usdhc1grp {
            fsl,pins = <
                MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x17059
                MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x10071
                MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
                MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
                MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
                MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
            >;
        };

        pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
            fsl,pins = <
                MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x170b9
                MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x100b9
                MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
                MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
                MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
                MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
            >;
        };

        pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
            fsl,pins = <
                MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x170f9
                MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x100f9
                MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9
                MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9
                MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9
                MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9
            >;
        };

        pinctrl_usdhc2: usdhc2grp {
            fsl,pins = <
                MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x10069
                MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059
                MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
                MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
                MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
                MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
            >;
        };

        pinctrl_usdhc2_8bit: usdhc2grp_8bit {
            fsl,pins = <
                MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x10069
                MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059
                MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
                MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
                MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
                MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
                MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x17059
                MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x17059
                MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x17059
                MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x17059
            >;
        };

        pinctrl_usdhc2_8bit_100mhz: usdhc2grp_8bit_100mhz {
            fsl,pins = <
                MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x100b9
                MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x170b9
                MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x170b9
                MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x170b9
                MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x170b9
                MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170b9
                MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x170b9
                MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x170b9
                MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x170b9
                MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x170b9
            >;
        };

        pinctrl_usdhc2_8bit_200mhz: usdhc2grp_8bit_200mhz {
            fsl,pins = <
                MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x100f9
                MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x170f9
                MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x170f9
                MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x170f9
                MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x170f9
                MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170f9
                MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x170f9
                MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x170f9
                MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x170f9
                MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x170f9
            >;
        };

        pinctrl_lcdif_reset: lcdifresetgrp {
            fsl,pins = <
                MX6UL_PAD_LCD_RESET__GPIO3_IO04     0x1b0b0
            >;
        };

        edt_ft5x06_pins: ft5x06 {
            fsl,pins = <
                MX6UL_PAD_GPIO1_IO05__GPIO1_IO05    0x1b0b0 /* TP INT */
            >;
        };

        // irqpin2: pcf8574a {
        //  fsl,pins = <
        //      MX6UL_PAD_UART1_CTS_B__GPIO1_IO18          0x4001b8b0/*keypad interrupt gpio*/
        //  >;
        // };
    };
    };

    &iomuxc_snvs {
    pinctrl-names = "default_snvs";
    pinctrl-0 = <&pinctrl_hog_2>;
    imx6ul-evk {
        pinctrl_hog_2: hoggrp-2 {
            fsl,pins = <
                MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00     0x80000000
                MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09     0x1b0b0 /* enet1 reset */
                MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07     0x1b0b0 /* LTE module WakeOut */
                MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06     0x1b0b0 /* enet2 reset */
                MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05     0x1b8b0 /* LTE module power */
                MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03     0x1b0b0 /* Camera RST */
                MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04     0x1b0b0 /* Camera PWRDN */
                MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02     0x1b0b0 /* TP Reset */
            >;
        };

        pinctrl_spi4: spi4grp {
            fsl,pins = <
                MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10        0x70a1
                MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11        0x70a1
                MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x70a1
                MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x80000000
            >;
        };

        pinctrl_leds: ledgrp {
            fsl,pins = <
                MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x1b0b0
            >;
        };

        pinctrl_gpio_key: keygrp {
            fsl,pins = <
                MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x1b0b0
                /*// MX6UL_PAD_GPIO1_IO04__GPIO1_IO04   0x1b0b0*/
                
            >;
        };

        pinctrl_gpio_intr: intrgrp {
            fsl,pins = <
                MX6UL_PAD_UART1_CTS_B__GPIO1_IO18   0x1b0b0/*kepad intrupt gpio*/
            >;
        };

        
    };
    };


    &lcdif {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_lcdif_dat_16bits
             &pinctrl_lcdif_ctrl
             &pinctrl_lcdif_reset>;
    display = <&display0>;
    status = "okay";

    display0: display {
        bits-per-pixel = <16>;
        bus-width = <16>;

        display-timings {
            native-mode = <&timing0>;

            timing0: timing0 {
            clock-frequency = <9200000>;
            hactive = <480>;
            vactive = <272>;
            hfront-porch = <8>;
            hback-porch = <4>;
            hsync-len = <41>;
            vback-porch = <2>;
            vfront-porch = <4>;
            vsync-len = <10>;

            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <1>;
            pixelclk-active = <0>;
            };
     /*
            timing0: timing0 {
            clock-frequency = <33000000>;
            hactive = <800>;
            vactive = <480>;
            hfront-porch = <210>;
            hback-porch = <46>;
            hsync-len = <1>;
            vback-porch = <22>;
            vfront-porch = <23>;
            vsync-len = <20>;

            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <1>;
            pixelclk-active = <0>;
            };
     */
        };
    };
    };
    &gpio4 {
    gpios = <19 GPIO_ACTIVE_HIGH>;
    };

    &pwm1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_pwm1>;
    status = "okay";
    };

    &pxp {
    status = "okay";
    };

    &qspi {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_qspi>;
    status = "disabled";
    ddrsmp=<0>;

    flash0: n25q256a@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "micron,n25q256a";
        spi-max-frequency = <29000000>;
        spi-nor,ddr-quad-read-dummy = <6>;
        reg = <0>;
    };
    };

    &sai2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_sai2>;

    assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
              <&clks IMX6UL_CLK_SAI2>;
    assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
    assigned-clock-rates = <0>, <12288000>;

    status = "okay";
    };

    &tsc {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_tsc>;
    xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
    measure-delay-time = <0xfffff>;
    pre-charge-time = <0xffff>;
    status = "disabled";
    // status = "okay";
    };

    &uart1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart1>;
    status = "okay";
    };

    

    &uart3 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart3>;
    status = "okay";
    };

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

    &uart8 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart8>;
    status = "okay";
    };

    &uart6 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart6>;
    status = "okay";
    };
 
    &uart7{
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart7>;
    status = "okay";
    };

    &uart4 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart4>;
    // fsl,rs485-gpio-txen = <&gpio1 18 GPIO_ACTIVE_HIGH>;
    // linux,rs485-enabled-at-boot-time;
    status = "okay";
    };

    &usbotg1 {
    dr_mode = "otg";
    srp-disable;
    hnp-disable;
    adp-disable;
    status = "okay";
    };

    &usbotg2 {
    dr_mode = "host";
    disable-over-current;
    status = "okay"; 
    };

    &usbphy1 {
    tx-d-cal = <0x5>;
    };

    &usbphy2 {
    tx-d-cal = <0x5>;
    };

    &usdhc1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_usdhc1>;
    cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
    keep-power-in-suspend;
    enable-sdio-wakeup;
    bus-width = <4>;
    status = "okay";
    };

    &usdhc2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_usdhc2>;
    non-removable;
    status = "disabled";
    };

    &csi {
    status = "okay";

    port {
        csi1_ep: endpoint {
            remote-endpoint = <&ov2659_ep>;
        };
    };
    };

    &wdog1 {
    status = "okay";
    };
0andriy
  • 4,183
  • 1
  • 24
  • 37
Rajesh D
  • 63
  • 3
  • "*after adding this node*" -- Where? What are its parents? The Device Tree is hierarchical; where you place each node is significant. Don't omit such salient information. "*i observed that event option for this keypad interface is not present in /dev/input/*" -- Explain what the other nodes that are "*present*" are for. – sawdust Jun 29 '22 at 22:58
  • added pcf8574a sub node in i2c4 node , for reference added the edited .dts(myb-y6ull-14x14.dts) file i have updated my question – Rajesh D Jun 30 '22 at 07:20

0 Answers0