Issue with Defining Device Tree

So device-tree noob here. I spent a lot of time (probably way too much) getting a beagleplay overlay up and running that does a few things:

  1. Release the mikrobus pins for manual setting using /sys/class/gpio
  2. Expose a particular pin for PPS input using the gpio_pps driver
  3. Release the SPI pins

We’ve tried pivoting away from the overlay methodology (instead directly editing the device tree file) to further shut down things like the WLAN hardware. But now setting the GPIO values using /sys/class/gpio doesn’t work reliably. It will work when first booting the device tree, but then after a day or two, the GPIOs lock up and we can’t set them anymore.

Kinda going crazy with this, are we tripping something? I’m kinda tempted to revert back to our overlays which still work on other devices, but I’d love to understand if there’s something physically happening we don’t know about!

Thank you!

Attached is my (WORKING so far) overlay
k3-am625-beagleplay-csac-pps.dts (1.3 KB)

What are you using to control the pins lgpiod?