Hycon Touch Controller driver not working with device tree overlay modification

Hi,
We are using Colibri Imx8x module on our custom carrier board. We use a Hycon - HY4614 touch controller for the touch display. we have setup SODIMM-pin 100 for interrupt and SODIMM pin 49 for the Resetting the touch controller. I have attached the device tree overlay that I used with the torizoncore-builder to configure the device tree settings for the touch controller. when I checked for the input devices. I only see the below listed devices. I can see the driver module is loaded using the command “lsmod”. Please let me know what is the thing I am missing in configuring the driver. I dont see any response when I touch the display.
colibri-imx8x-06846769:/# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name=“sc-powerkey”
P: Phys=imx-sc-pwrkey/input0
S: Sysfs=/devices/platform/sc-powerkey/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0018 Vendor=0000 Product=0079 Version=0003
N: Name=“AD7879 Touchscreen”
P: Phys=16-002c/input0
S: Sysfs=/devices/platform/bus@5a000000/5a800000.i2c/i2c-16/16-002c/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=1000003

display-edt5_overlay.dts (5.2 KB)

Hi @arafath !

Welcome to the Toradex Community! Please feel free to browser around and explore :smiley:

Could you please share more information about your setup?

  • Which exact Colibri iMX8X module are you using? Please share its full name and version.
  • Please share the output of the following commands executed on the module:
    • cat /etc/os-release
    • cat /etc/issue
    • uname -a
  • Did you build the OS image yourself?
  • Please share all device tree overlays you might have enabled in your image.
  • Please share which device tree you are using and any changes you might have done to it.
  • Please share the dmesg output of your module.

Best regards,

  • Which exact Colibri iMX8X module are you using? Please share its full name and version.

Model: Toradex Colibri iMX8 DualX 1GB Wi-Fi / Bluetooth V1.0D, Serial# 06846769

  • Please share the output of the following commands executed on the module:
cat /etc/os-release
          ID=torizon
          NAME="TorizonCore" 
          VERSION="5.6.0+build.13 (dunfell)"
          VERSION_ID=5.6.0-build.13
          PRETTY_NAME="TorizonCore 5.6.0+build.13 (dunfell)"
          DISTRO_CODENAME="dunfell"
          BUILD_ID="13"
          ANSI_COLOR="1;34"
          VARIANT="Docker"
cat /etc/issue
          TorizonCore 5.6.0+build.13 \n \l
uname -a
         Linux colibri-imx8x-06846769 5.4.161-5.6.0+git.0f0011824921 #1-TorizonCore SMP PREEMPT Fri 
         Mar 25 14:27:29 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
  • Did you build the OS image yourself?

Yes, I build OS image using the torizoncore builder tool as described here TorizonCore Builder Tool - Customizing Torizon OS Images | Toradex Developer Center

I have attached my tcbuild.yml and the makefile used for the hycon-hy46xx driver
tcbuild.yaml (4.8 KB)
Makefile (724 Bytes)

Please share all device tree overlays you might have enabled in your image

Early attached device tree overlay is the only overlay that is used… I am reattaching it again
display-edt5_overlay.dts (5.2 KB)

  • Please share which device tree you are using and any changes you might have done to it.
colibri-imx8x-06846769:/$ cat /proc/device-tree/model
   Toradex Colibri iMX8DX on Colibri Evaluation Board V3colibri-imx8x-06846769:/boot/ostree$ 

I havent modified any device tree excpet for the overlay used. I have also attached boot log
boot-log.txt (2.6 KB)

  • Please share the dmesg output of your module.

dmesg.txt (33.6 KB)

when running lsmod, it lists the hycon-hy46xx driver. I have attached the ouptut.
lsmod.txt (1.6 KB)

the driver is located in this location in the target colibri device /usr/lib/modules/5.4.161-5.6.0+git.0f0011824921/extra/hycon-hy46xx.ko

the device is detected in the i2c bus -17 with address 0x38. I am able to detect interrupt events when touching the touch panel when running the command “gpiomon 0 31” in the target linux console. The only problem is that the touch controller is not listed in the list of input device

I amanged to fix the device tree overlay and able to get the touch screend driver in the input device list. But the Gui is not responding to any touch events.


In the #cat /proc/bus/input/devices , for the hycon touch controller, H: Handlers=event1 is shown, it should also include touchscreen handler. Then I believe, GUI will respond to the touch events. Is there any pointers to get touchscreen included in the Handlers for the hycon touch controller

I run the weston-touch-calibrator and I get the below output

HEAD: DPI-1
Date: 2022-12-06 UTC
[11:13:56.759] weston 10.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/iss                                                                 ues/
               Build: lf-5.15.32-2.0.0-10-gd88e6fff
[11:13:56.759] Command line: weston -Bdrm-backend.so -Swayland-0
[11:13:56.759] OS: Linux, 5.4.161-5.6.0+git.0f0011824921, #1-TorizonCore SMP PRE                                                                 EMPT Fri Mar 25 14:27:29 UTC 2022, aarch64
[11:13:56.759] Flight recorder: enabled
[11:13:56.760] warning: XDG_RUNTIME_DIR "/tmp/weston-xdg" is not configured
correctly.  Unix access mode must be 0700 (current mode is 0755),
and must be owned by the user UID 0 (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[11:13:56.760] Using config file '/etc/xdg/weston/weston.ini'
[11:13:56.761] Output repaint window is 7 ms maximum.
[11:13:56.765] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/drm-backe                                                                 nd.so'
[11:13:56.780] initializing drm backend
[11:13:56.780] Trying libseat launcher...
[11:13:56.784] libseat: session control granted
[11:13:56.795] using /dev/dri/card1
[11:13:56.795] DRM: supports atomic modesetting
[11:13:56.795] DRM: does not support GBM modifiers
[11:13:56.795] DRM: supports picture aspect ratio
[11:13:56.796] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/gl-render                                                                 er.so'
[11:13:56.812] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_EXT_device_query
               EGL_EXT_device_drm EGL_EXT_device_drm_render_node
               EGL_KHR_platform_gbm
[11:13:56.818] EGL device extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_EXT_device_query
               EGL_EXT_device_drm EGL_EXT_device_drm_render_node
               EGL_KHR_platform_gbm
[11:13:56.818] EGL version: 1.5
[11:13:56.818] EGL vendor: Vivante Corporation
[11:13:56.818] EGL client APIs: OpenGL_ES OpenVG
[11:13:56.819] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
               EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_EXT_image_dma_buf_import
               EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
               EGL_KHR_create_context EGL_KHR_no_config_context
               EGL_KHR_surfaceless_context EGL_KHR_get_all_proc_addresses
               EGL_EXT_create_context_robustness EGL_EXT_protected_surface
               EGL_EXT_protected_content EGL_EXT_buffer_age
               EGL_ANDROID_native_fence_sync EGL_WL_bind_wayland_display
               EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
               EGL_EXT_swap_buffers_with_damage
               EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float
[11:13:56.820] EGL_KHR_surfaceless_context available
[11:13:56.828] GL version: OpenGL ES 3.1 V6.4.3.p4.398061
[11:13:56.828] GLSL version: OpenGL ES GLSL ES 3.10
[11:13:56.828] GL vendor: Vivante Corporation
[11:13:56.828] GL renderer: Vivante GC7000L
[11:13:56.829] GL extensions: GL_OES_vertex_type_10_10_10_2
               GL_OES_vertex_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_vertex_array_object
               GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_compressed_paletted_texture GL_OES_texture_npot
               GL_OES_rgb8_rgba8 GL_OES_depth_texture
               GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
               GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
               GL_OES_get_program_binary GL_OES_fragment_precision_high
               GL_OES_standard_derivatives GL_OES_EGL_image
               GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3
               GL_OES_EGL_sync GL_OES_texture_stencil8
               GL_OES_shader_image_atomic
               GL_OES_texture_storage_multisample_2d_array
               GL_OES_required_internalformat GL_OES_surfaceless_context
               GL_OES_copy_image GL_OES_draw_buffers_indexed
               GL_OES_texture_border_clamp GL_OES_texture_buffer
               GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
               GL_OES_texture_half_float GL_OES_texture_float
               GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
               GL_KHR_robust_buffer_access_behavior
               GL_EXT_texture_type_2_10_10_10_REV
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
               GL_EXT_multi_draw_arrays GL_EXT_frag_depth
               GL_EXT_discard_framebuffer GL_EXT_blend_minmax
               GL_EXT_multisampled_render_to_texture
               GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
               GL_EXT_robustness GL_EXT_texture_sRGB_decode
               GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
               GL_EXT_texture_buffer GL_EXT_copy_image
               GL_EXT_texture_cube_map_array GL_EXT_multi_draw_indirect
               GL_EXT_draw_elements_base_vertex GL_EXT_texture_rg
               GL_EXT_protected_textures GL_EXT_sRGB GL_EXT_unpack_subimage
               GL_VIV_direct_texture
[11:13:56.914] GL ES 3.1 - renderer features:
               read-back format: BGRA
               EGL Wayland extension: yes
[11:13:56.934] event1  - Hycon Capacitive Touch: is tagged by udev as: Touchscre                                                                 en
[11:13:56.936] event1  - Hycon Capacitive Touch: device is a touch device
[11:13:56.940] event0  - sc-powerkey: is tagged by udev as: Keyboard
[11:13:56.941] event0  - sc-powerkey: device is a keyboard
[11:13:56.942] Touchscreen - Hycon Capacitive Touch - /sys/devices/platform/bus@                                                                 5a000000/5a810000.i2c/i2c-17/17-0038/input/input1/event1
[11:13:56.942] libinput: configuring device "Hycon Capacitive Touch".
[11:13:56.942] input device event1 has no enabled output associated (none named)                                                                 , skipping calibration for now.
[11:13:56.982] libinput: configuring device "sc-powerkey".
[11:13:56.983] DRM: head 'DPI-1' updated, connector 31 is connected, EDID make '                                                                 unknown', model 'unknown', serial 'unknown'
[11:13:56.983] DRM: head 'DPI-1' found, connector 31 is connected, EDID make 'un                                                                 known', model 'unknown', serial 'unknown'
[11:13:56.984] Registered plugin API 'weston_drm_output_api_v1' of size 24
[11:13:56.984] Registered plugin API 'weston_drm_virtual_output_api_v1' of size                                                                  48
[11:13:56.984] Color manager: no-op
[11:13:56.984] Loading module '/usr/lib/libgbm.so'
[11:13:56.984] Failed to load module: /usr/lib/libgbm.so: cannot open shared obj                                                                 ect file: No such file or directory
[11:13:56.985] Output 'DPI-1' using color profile: built-in default sRGB SDR pro                                                                 file
[11:13:57.000] Chosen EGL config details: id:  21 rgba: 8 8 8 0 buf: 24 dep:  0                                                                  stcl: 0 int: 1-60 type: win|pix|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[11:13:57.000] Output DPI-1 (crtc 33) video modes:
               800x480@56.0, preferred, current, 33.2 MHz
[11:13:57.000] associating input device event1 with output DPI-1 (none by udev)
[11:13:57.002] associating input device event0 with output DPI-1 (none by udev)
[11:13:57.002] Output 'DPI-1' enabled with head(s) DPI-1
[11:13:57.002] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               cursor planes: yes
               arbitrary resolutions: no
               view mask clipping: yes
               explicit sync: yes
               color operations: no
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[11:13:57.004] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.s                                                                 o'
[11:13:57.007] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[11:13:57.013] Note: support for the deprecated wl_shell interface is disabled.                                                                  If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-                                                                 wl-shell=true to Meson when building Weston.
[11:13:57.014] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/xwayland.                                                                 so'
[11:13:57.051] Registered plugin API 'weston_xwayland_v1' of size 32
[11:13:57.051] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[11:13:57.052] xserver listening on display :0
[11:13:57.052] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
wayland-0
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
[11:13:57.898] input device event1: applying calibration:
                 1.000000 0.000000 0.000000
                 0.000000 1.000000 0.000000
[11:15:56.540] Axis 0x35 value 212 is outside expected range [0, 0]

when I touch the cursor, it says Axis 0x35 value 212 is outside expected range [0,0]. How can I fix this

Hi @arafath !

Could you please check the output of evtest with the /dev/input/eventX of your touch controller?

If evtest works, it will print to the terminal whenever you touch the display and you can check some details of the touch event.

Best regards,

Hi Henrique,

I am able to run the evtest for the touch controller and below is the output. It shows the events for x and y position also the button events. But our Qt GUI application does not respond to any of the touch actions and also the same with weston-touch-calibrator.

colibri-imx8x-06846769:~$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event0:      sc-powerkey
/dev/input/event1:      Hycon Capacitive Touch
Select the device event number [0-1]: 1
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "Hycon Capacitive Touch"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max       -1
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max       -1
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max       10
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max       -1
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max       -1
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 626
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 332
Event: time 1670425566.1670425566, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 626
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 332
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 345
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 345
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 348
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 348
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 625
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 349
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 625
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 349
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 348
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 348
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 623
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 350
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 623
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 350
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 348
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 624
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 348
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 623
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 346
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 623
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 346
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 622
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 344
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 0 (ABS_X), value 622
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 344
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 340
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 1 (ABS_Y), value 340
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------
Event: time 1670425566.1670425566, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1670425566.1670425566, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1670425566.1670425566, -------------- SYN_REPORT ------------


Hi @arafath !

Could you please use evtest and touch on the four corners of your screen and check the X and Y values that evtest advertises?

Best regards,

Hi @henrique.tx ,

Thank you for the reply. I managed to make the driver work by updating the device tree configuration.

Thank you very much for the support.

BR,
Arafath

Hi @arafath !

That’s great!

Thanks for the feedback.

With the community spirit, could you please share the files/changes that made your problem to be solved?

Sharing them will surely benefit others :slight_smile:

Best regards,

Hi @henrique.tx ,

Sure. I have attached the modified touch controller driver and the device tree overlay that I used.
hycon-hy46xx.c (15.6 KB)
Hycon_TC_device_tree_overlay.dts (5.2 KB)

But I am now facing another issue with pin muxing of usdhc2 pins. We dont use SD/card in our custom career board. we want to use the SODIMM_51 pin as GPIO. I have attached the device tree overlay that I used to configure the SODIMM_51 pin as GPIO
HAll_sensor_device_tree_overlay.dts (2.4 KB)
. With this device tree overlay setting, I am still unable to access the SODIMM_51 pin. It says pin is being used as “enable” and set as an output pin with “hi ACTIVE_LOW”. Can you please help how to set the SODIMM_51 pin as an unused GPIO pin. the pin is supposed to be used as an input GPIO pin for a hall sensor in our custom board. The OS, module, and everything is the same as I shared with you in the previous conversation. I am able to access the SODIMM_47 pin which is also defined for usdhc2. Can you please try this confifuration at your side and check what is missing in my device tree overlay.

sudo cat /sys/kernel/debug/gpio
Password:
gpiochip0: GPIOs 0-31, parent: platform/5d080000.gpio, 5d080000.gpio:
 gpio-0   (                    )
 gpio-1   (SODIMM_70           )
 gpio-2   (SODIMM_60           )
 gpio-3   (SODIMM_58           )
 gpio-4   (SODIMM_78           )
 gpio-5   (SODIMM_72           )
 gpio-6   (SODIMM_80           )
 gpio-7   (SODIMM_46           )
 gpio-8   (SODIMM_62           )
 gpio-9   (SODIMM_48           )
 gpio-10  (SODIMM_74           )
 gpio-11  (SODIMM_50           )
 gpio-12  (SODIMM_52           )
 gpio-13  (SODIMM_54           )
 gpio-14  (SODIMM_66           )
 gpio-15  (SODIMM_64           )
 gpio-16  (SODIMM_68           )
 gpio-17  (                    )
 gpio-18  (                    )
 gpio-19  (SODIMM_82           )
 gpio-20  (SODIMM_56           )
 gpio-21  (SODIMM_28           )
 gpio-22  (SODIMM_30           )
 gpio-23  (                    )
 gpio-24  (SODIMM_61           )
 gpio-25  (SODIMM_103          )
 gpio-26  (                    )
 gpio-27  (                    )
 gpio-28  (                    )
 gpio-29  (SODIMM_25           )
 gpio-30  (SODIMM_27           )
 gpio-31  (SODIMM_100          )

gpiochip1: GPIOs 32-63, parent: platform/5d090000.gpio, 5d090000.gpio:
 gpio-32  (SODIMM_86           |fsl_lpspi           ) out hi
 gpio-33  (SODIMM_92           )
 gpio-34  (SODIMM_90           )
 gpio-35  (SODIMM_88           )
 gpio-36  (                    )
 gpio-37  (                    )
 gpio-38  (                    )
 gpio-39  (SODIMM_59           )
 gpio-40  (                    )
 gpio-41  (SODIMM_6            )
 gpio-42  (SODIMM_8            )
 gpio-43  (                    )
 gpio-44  (                    )
 gpio-45  (SODIMM_2            )
 gpio-46  (SODIMM_4            )
 gpio-47  (SODIMM_34           )
 gpio-48  (SODIMM_32           )
 gpio-49  (SODIMM_63           )
 gpio-50  (SODIMM_55           )
 gpio-51  (SODIMM_33           )
 gpio-52  (SODIMM_35           )
 gpio-53  (SODIMM_36           )
 gpio-54  (SODIMM_38           )
 gpio-55  (SODIMM_21           )
 gpio-56  (SODIMM_19           )
 gpio-57  (SODIMM_140          )
 gpio-58  (SODIMM_142          )
 gpio-59  (SODIMM_196          )
 gpio-60  (SODIMM_194          )
 gpio-61  (SODIMM_186          )
 gpio-62  (SODIMM_188          )
 gpio-63  (SODIMM_138          )

gpiochip2: GPIOs 64-95, parent: platform/5d0a0000.gpio, 5d0a0000.gpio:
 gpio-64  (SODIMM_23           )
 gpio-65  (                    )
 gpio-66  (                    )
 gpio-67  (SODIMM_144          )

gpiochip3: GPIOs 96-127, parent: platform/5d0b0000.gpio, 5d0b0000.gpio:
 gpio-96  (SODIMM_96           )
 gpio-97  (SODIMM_75           )
 gpio-98  (SODIMM_37           )
 gpio-99  (SODIMM_29           )
 gpio-100 (                    |usb3503 intn        ) out hi
 gpio-101 (                    )
 gpio-102 (                    )
 gpio-103 (                    )
 gpio-104 (                    )
 gpio-105 (SODIMM_43           )
 gpio-106 (SODIMM_45           )
 gpio-107 (SODIMM_69           )
 gpio-108 (SODIMM_71           |enable              ) out hi
 gpio-109 (SODIMM_73           )
 gpio-110 (SODIMM_77           )
 gpio-111 (SODIMM_89           )
 gpio-112 (SODIMM_93           )
 gpio-113 (SODIMM_95           )
 gpio-114 (SODIMM_99           )
 gpio-115 (SODIMM_105          )
 gpio-116 (SODIMM_107          )
 gpio-117 (SODIMM_98           )
 gpio-118 (SODIMM_102          )
 gpio-119 (SODIMM_104          )
 gpio-120 (SODIMM_106          )
gpiochip4: GPIOs 128-159, parent: platform/5d0c0000.gpio, 5d0c0000.gpio:
 gpio-128 (                    |reset               ) out hi ACTIVE LOW
 gpio-129 (                    |clkreq              ) out lo ACTIVE LOW
 gpio-130 (                    )
 gpio-131 (SODIMM_129          |regulator-usbh-vbus ) out lo ACTIVE LOW
 gpio-132 (SODIMM_133          )
 gpio-133 (SODIMM_127          )
 gpio-134 (SODIMM_131          )
 gpio-135 (                    )
 gpio-136 (                    )
 gpio-137 (                    )
 gpio-138 (                    )
 gpio-139 (                    )
 gpio-140 (                    )
 gpio-141 (                    )
 gpio-142 (                    )
 gpio-143 (                    )
 gpio-144 (                    )
 gpio-145 (                    )
 gpio-146 (                    )
 gpio-147 (SODIMM_44           )
 gpio-148 (                    )
 gpio-149 (SODIMM_76           )
 gpio-150 (SODIMM_31           )
 gpio-151 (SODIMM_47           |SODIMM_47           ) in  lo IRQ
 gpio-152 (SODIMM_190          )
 gpio-153 (SODIMM_192          )
 gpio-154 (SODIMM_49           |reset               ) out hi ACTIVE LOW
 gpio-155 (SODIMM_51           |enable              ) out hi ACTIVE LOW
 gpio-156 (SODIMM_53           )

gpiochip5: GPIOs 160-191, parent: platform/5d0d0000.gpio, 5d0d0000.gpio:
 gpio-160 (                    )
 gpio-161 (SODIMM_57           )
 gpio-162 (SODIMM_65           )
 gpio-163 (SODIMM_85           )
 gpio-164 (                    )
 gpio-165 (                    )
 gpio-166 (                    )
 gpio-167 (                    )
 gpio-168 (SODIMM_135          )
 gpio-169 (SODIMM_137          |id                  ) in  lo IRQ
 gpio-170 (UNUSABLE_SODIMM_180 )
 gpio-171 (UNUSABLE_SODIMM_184 )

gpiochip6: GPIOs 192-223, parent: platform/5d0e0000.gpio, 5d0e0000.gpio:

gpiochip7: GPIOs 224-255, parent: platform/5d0f0000.gpio, 5d0f0000.gpio:

gpiochip9: GPIOs 472-479, parent: i2c/16-0043, fxl6408, can sleep:
 gpio-472 (Wi-Fi_W_DISABLE     )
 gpio-473 (Wi-Fi_WKUP_WLAN     )
 gpio-474 (PWR_EN_+V3.3_WiFi_N |power-on            ) out lo ACTIVE LOW
 gpio-475 (PCIe_REF_CLK_EN     |enable              ) out hi
 gpio-476 (USB_RESET_N         |usb3503 reset       ) out hi
 gpio-477 (USB_BYPASS_N        |usb3503 bypass      ) out hi
 gpio-478 (Wi-Fi_PDn           |disable             ) out hi ACTIVE LOW
 gpio-479 (Wi-Fi_WKUP_BT       )

Hi @arafath !

Thanks a lot for sharing your files! This is what makes a Community great! :smiley:

About this, I understand that it is a separated issue, right?

Could you please open a new thread about this different issue?

Doing so will be very beneficial from the point of view of the organization :slight_smile:

Thanks for your comprehension.

Having said that, could you please mark the most suitable message as the solution for this thread?

Best regards,