Hi,
As said, I have not done this directly myself, but I can point you to the right direction.
You may want to check this site where everything is explained in a detailed way. The code and command line examples can be gathered from their Virtual Machine:
https://www.phytec.de/cdocuments/?doc=MYBgIg&__hstc=12841640.b4e214a6c83134bb217549fe641d3161.168240...
There it states:
V4L2 External Control Interface
The VVEXT tool uses the viv_ext_ctrl V4L2 control internally to access the ISP. This mechanism can also be used externally and independently of the VVEXT tool to change the configuration of the ISP at runtime. On the NXP website, you can find the documentation for the viv_ext_ctrl V4L2 control and the available parameters under the following link: IMX8MPISPUV4L2IUG.pdf (User account/login to NXP website required)
The BSP contains an exemplary implementation in the form of a Python demo. The demo can be found under /root/gstreamer-examples/isp_gstreamer-examples/gst-python_demo/isp-demo-cam.py