The module has no state machine and exposes no zbus channel. It runs a single low-priority thread (uart_power_control_thread) that:
- Waits on a semaphore released from the
NRF_MODEM_LIB_ON_INITcallback. This sequencing prevents UART contention while the modem library initializes the trace UART. - Registers a callback with the nPM1300 MFD driver for the
NPM13XX_EVENT_VBUS_DETECTEDandNPM13XX_EVENT_VBUS_REMOVEDevents. - Reads the current VBUS state once and applies the matching UART action.
Subsequent VBUS transitions are handled directly in the callback, which calls pm_device_action_run() with PM_DEVICE_ACTION_SUSPEND or PM_DEVICE_ACTION_RESUME on each UART device.