/* SPDX-License-Identifier: LGPL-2.1-or-later */ module ipa.rkisp1; import "include/libcamera/ipa/core.mojom"; enum RkISP1Operations { ActionV4L2Set = 1, ActionParamFilled = 2, ActionMetadata = 3, EventSignalStatBuffer = 4, EventQueueRequest = 5, }; struct RkISP1Event { RkISP1Operations op; uint32 frame; uint32 bufferId; libcamera.ControlList controls; }; struct RkISP1Action { RkISP1Operations op; libcamera.ControlList controls; }; interface IPARkISP1Interface { init(uint32 hwRevision) => (int32 ret); start() => (int32 ret); stop(); configure(libcamera.CameraSensorInfo sensorInfo, map streamConfig, map entityControls) => (int32 ret); mapBuffers(array buffers); unmapBuffers(array ids); [async] processEvent(RkISP1Event ev); }; interface IPARkISP1EventInterface { queueFrameAction(uint32 frame, RkISP1Action action); };