Custom Carrier Board GPIO is Busy

I built a custom carrier board using several of the GPIOs for communication with other circuitry. Having problems with a few of them:


These four are producing a “device or resource busy” signal when I try to use them. I’ve filled out the pinmux and updated the device tree already.

I believe the problem with GPIO08 and GPIO14 is that they’re used by the thermal fan. Does anybody know a way to disable this?

I’m not sure what’s using GPIO04 and GPIO06.

hello jsuffolk,

you should check the pinmux spreadsheets via download center for the default pin configuration.
these two pins, GPIO04 / NFC_INT , and GPIO06 / NFC_EN were used by M.2 Key E.

Thank you. I’ll try to figure out how to disable the thermal fan and m.2 key E which I’m not using so I can use as a GPIO without the busy error. I tried a few things yesterday in the device tree with no luck.

Please let me know if there is any guidance.

hello jsuffolk,

did you update device tree blob with flash script, i.e. $ sudo ./ -r -k DTB jetson-nano mmcblk0p1,
please also examine the device tree property, /proc/device-tree/ to confirm the changes has applied correctly.

Yes, finding the relevant sections in the device tree to disable is the hard part. I found and disabled the fan section and now GPIO 8 and 14 are working. The trick was to disable the fan in tegra210-porg-pwm-fan.

However I still can’t find how to disable the m.2 key e to free up gpio4 and gpio6. If you can point me in the direction of where to look in the device tree it would be immensely helpful.

hello jsuffolk,

could you please examine the device tree property, /proc/device-tree/ to confirm the changes has applied correctly.
please also share the kernel messages for reference, i.e. $ dmesg > klog.txt

The device tree changes were applied correctly

Hi, I ultimately found the issue. The leds_pwm was using the GPIO06 pin. I disabled in the device tree and in menuconfig and now am able to use these GPIOs without a busy error.