Enabling PWM and CSI Camera Simultaneously on Jetson Nano

Hello there,

I recently purchased a mipi camera along with a Jetson Nano and ran a bash script to enable the camera. The script changed the device tree and made other changes that I am not familiar with, but were necessary to make the camera work.

In addition to the camera, I also want to enable PWM pin 32 by running the JetsonIO.py script. However, after enabling PWM, the camera is no longer recognized. I checked the /boot/extlinux/extlinux.conf file and found that before running JetsonIO, it was:

TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}

And after running JetsonIO.sh, it changed to:

TIMEOUT 30
DEFAULT JetsonIO

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}

LABEL JetsonIO
        MENU LABEL Custom Header Config: <HDR40 User Custom [2024-01-01-065936]>
        LINUX /boot/Image
        FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
        INITRD /boot/initrd
        APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

As you can see, the FDT path changed to choose the DTB file that has PWM enabled, but it does not use the older DTB that was configured for the CSI camera.

Is there any solution to enable both PWM and CSI camera simultaneously?

hello joe.smith,

may I know which camera module it is?
did you have code snippet to enable the camera module? if yes, please refer to Device Registration section, and please integrate the code for Using the Main Platform Device Tree File.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.