.../bindings/media/i2c/maxim,max9296a.yaml | 242 ++ .../bindings/media/i2c/maxim,max96712.yaml | 70 +- .../bindings/media/i2c/maxim,max96714.yaml | 6 +- .../bindings/media/i2c/maxim,max96717.yaml | 155 +- .../media/mediactl/media-types.rst | 8 + MAINTAINERS | 13 +- arch/arm64/configs/defconfig | 1 - drivers/media/i2c/Kconfig | 34 +- drivers/media/i2c/Makefile | 3 +- drivers/media/i2c/max96714.c | 1017 ------ drivers/media/i2c/max96717.c | 1102 ------ drivers/media/i2c/maxim-serdes/Kconfig | 60 + drivers/media/i2c/maxim-serdes/Makefile | 6 + drivers/media/i2c/maxim-serdes/max9296a.c | 1345 +++++++ drivers/media/i2c/maxim-serdes/max96717.c | 1689 +++++++++ drivers/media/i2c/maxim-serdes/max96724.c | 1184 ++++++ drivers/media/i2c/maxim-serdes/max_des.c | 3181 +++++++++++++++++ drivers/media/i2c/maxim-serdes/max_des.h | 153 + drivers/media/i2c/maxim-serdes/max_ser.c | 2131 +++++++++++ drivers/media/i2c/maxim-serdes/max_ser.h | 147 + drivers/media/i2c/maxim-serdes/max_serdes.c | 413 +++ drivers/media/i2c/maxim-serdes/max_serdes.h | 183 + drivers/media/mc/mc-entity.c | 10 +- drivers/staging/media/Kconfig | 2 - drivers/staging/media/Makefile | 1 - drivers/staging/media/max96712/Kconfig | 14 - drivers/staging/media/max96712/Makefile | 2 - drivers/staging/media/max96712/max96712.c | 487 --- include/uapi/linux/media.h | 1 + 29 files changed, 10973 insertions(+), 2687 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max9296a.yaml delete mode 100644 drivers/media/i2c/max96714.c delete mode 100644 drivers/media/i2c/max96717.c create mode 100644 drivers/media/i2c/maxim-serdes/Kconfig create mode 100644 drivers/media/i2c/maxim-serdes/Makefile create mode 100644 drivers/media/i2c/maxim-serdes/max9296a.c create mode 100644 drivers/media/i2c/maxim-serdes/max96717.c create mode 100644 drivers/media/i2c/maxim-serdes/max96724.c create mode 100644 drivers/media/i2c/maxim-serdes/max_des.c create mode 100644 drivers/media/i2c/maxim-serdes/max_des.h create mode 100644 drivers/media/i2c/maxim-serdes/max_ser.c create mode 100644 drivers/media/i2c/maxim-serdes/max_ser.h create mode 100644 drivers/media/i2c/maxim-serdes/max_serdes.c create mode 100644 drivers/media/i2c/maxim-serdes/max_serdes.h delete mode 100644 drivers/staging/media/max96712/Kconfig delete mode 100644 drivers/staging/media/max96712/Makefile delete mode 100644 drivers/staging/media/max96712/max96712.c
This series adds new drivers for multiple Maxim GMSL2 and GMSL3 devices, replacing the few GMSL2 drivers already in upstream, and introducing a common framework that can be used to implement such GMSL chips, which avoids code duplication while also adding support for previously unsupported features. While the normally acceptable and polite way would be to extend the current mainline drivers, the choice was made here to add a totally new set of drivers. The current drivers support only a small subset of the possible features, and only a few devices, so the end result after extending them would in any case be essentially fully rewritten, new drivers. This series depends on support for internal pads, for which a patch has been added. The previous version is at: https://lore.kernel.org/lkml/20250716193111.942217-1-demonsingur@gmail.com The following deserializers are supported: * MAX96712 (already exists in staging) * MAX96714 (already exists) * MAX96714F (already exists) * MAX96714R (GMSL2) * MAX96716 (GMSL2) * MAX96724 (already exists as part of existing MAX96712 driver) * MAX96724F (GMSL2) * MAX96724R (GMSL2) * MAX9296A (GMSL2) * MAX96792A (GMSL3) The following serializers are supported: * MAX96717 (already exists) * MAX9295A (GMSL2) * MAX96793 (GMSL3) The following list enumerates new features that are supported by the common framework and their respective chip-specific drivers: * Full Streams API support. Most deserializers have support for more than one link, and more than one PHY. Streams support allows configuration of routing between these links and PHYs. * .get_frame_desc() support. Both the serializers and deserializers implement this to query and provide frame descriptor data. This is used in features explained in-depth below. * .get_mbus_config() support. The deserializers implement this to allow upstream devices to query the link frequency of its pads. * Address translation with I2C ATR for the serializers. * I2C ATR translation - some deserializers cannot do muxing since I2C communication channel masking is not available per-link, and the only other way to select links is to turn them off, causing link resets. For such cases, I2C ATR is used to change the address of the serializers at probe time. * Automatic GMSL link version negotiation between GMSL3, GMSL2 6Gbps, GMSL2 3Gbps. * Automatic stream id selection for deserializers which need serializers to stream on unique stream ids. * Automatic VC remapping on the deserializers. VCs are picked so that if they were unique on the sink pad, they will end up as unique on the source pad they are routed to too, prioritizing using the same VC ID as the sink pad, to facilitate the possibility of using tunnel mode. * Automatic pixel mode / tunnel mode selection. Tunnel mode is used when VC IDs do not need to be changed and all hardware supports tunnel mode, otherwise, pixel mode is used. The serializers are automatically switched between the two by using a private API. * Automatic double mode selection. In pixel mode, double mode can be used to pack two pixels into a single data unit, optimizing bandwidth usage. The serializers are automatically set up to support the double modes determined by the deserializers using a private API. * Automatic data padding. In pixel mode, if the data being transferred uses two different BPPs, data needs to be padded. The serializers automatically set this up depending on the configured double mode settings and incoming data types. * Logging. Both the deserializers and serializers implement the V4L2 .log_status() ops to allow debugging of the internal state and important chip status registers. * PHY modes. Deserializer chips commonly have more than a single PHY. The firmware ports are parsed to determine the modes in which to configure the PHYs (2x4, 4x2, 1x4+2x2, 2x2+1x4, and variations using fewer lanes). * Serializer pinctrl. Serializers implement pinctrl to allow setting configs which would otherwise be inaccessible through GPIO: TX/RX via GMSL link, pull-up & pull-down (with strength), open-drain & push-pull, slew rate, RCLK pin selection. * TPG with selectable formats, resolutions and framerates for both serializers and deserializers. The drivers have been tested on the following hardware combinations, but further testing is welcome to ensure no / minimal breakage: * Raspberry Pi 5 + MAX9296A + 2xMAX96717 + 2xIMX219 * Raspberry Pi 5 + MAX96714 + 1xMAX96717 + 1xIMX219 * Raspberry Pi 5 + MAX96716A + 2xMAX96717 + 2xIMX219 * Raspberry Pi 5 + MAX96712 + 4xMAX96717 + 4xIMX219 * Raspberry Pi 5 + MAX96724 + 4xMAX96717 + 4xIMX219 * Raspberry Pi 5 + MAX96792A + 1xMAX96793 + 1xMAX96717 + 2xIMX219 * Raspberry Pi 5 + MAX96792A + 2xMAX96717 + 2xIMX219 * Renesas V4H + MAX96712 + 2xMAX96717 + 2xIMX219 Analog Devices is taking responsibility for the maintenance of these drivers and common framework, and plans to add support for new broad-market chips on top of them. Special thanks go to Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> for testing the drivers, helping debug and coming up with ideas / implementations for various features. V7: * dt-bindings: max9296a: use full max96717 compatible * max9296a: make max96714_rlms_reg_sequence static * explicitly include linux/bitfield.h * explicitly depend on I2C and PINCTRL * sort media_entity_operations * add has_pad_interdep to media_entity_operations V6: * max9296a: put rlms sequence in max9296a_chip_info * max_des: reflow stream id a comment * max_ser: remove exported symbols not used in other modules * max_ser: init mode to a supported value * add default routing * MAX_SERDES_GMSL_3 -> MAX_SERDES_GMSL_3_12GBPS * guard reg_read/write with CONFIG_VIDEO_ADV_DEBUG * put exported symbols in MAXIM_SERDES namespace V5: * dt-bindings: max96717: restrict RCLKOUT to pins 2 & 4 * dt-bindings: max96717: remove confusing rclksel pinconf property * dt-bindings: max96717: remove maxim,gmsl-tx/rx pinconf property * dt-bindings: max96717: remove gmsl prefix from maxim,gmsl-tx-id/rx-id * dt-bindings: max96717: remove minimum: 0 * dt-bindings: max96717: better document slew-rate * dt-bindings: max96717: better document maxim,jitter-compensation * dt-bindings: max96717: better document maxim,tx-id/rx-id * max_serdes: add default TPG values * max_serdes: remove MAX_MIPI_FMT macro * max_serdes: EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL * max_serdes: remove EXPORT_SYMBOL_GPL from symbols not used in other modules * max_serdes: rename symbols/macros/types to have max_serdes prefix * max_serdes: slim down TPG functions * max_des: fix may be used uninitialized errors * max_des: fix misplaced TPG validation * max_des: fix setting pipe PHY in tunnel mode for chips that support both set_pipe_phy() and set_pipe_tunnel_phy() * max_des: move doubled_bpp/sink_bpps variables to usage place * max_des: do not dynamically control PHY enable, letting lanes be in LP-11 when not streaming * max_des: refactor get/set_pipe_stream_id() logic * max_des: remove explicit ret = 0 * max_ser: make VC remaps not pipe-specific, allocate dynamically * max9296a: add missing 1080p30 TPG entry * max9296a: move BIT() left shift into macro * max9296a: move BIT() ternary into macro * max9296a: reuse max_des_ops for chip-specific ops\ * max9296a: document and compress RLMS register writes * max96717: restrict RCLKOUT to pins 2 & 4 because of hardware capabilities * max96717: add support for XTAL/1, XTAL/2, XTAL/4 clocks * max96717: set RX_EN/TX_EN automatically * max96717: reorder custom pinconf flags * max96717: drop OF dependency * drop of_match_ptr * re-do some indentation * implement TPG pattern control * remove pr_info() usage * inline lane polarity val = 0 * inline returns * rewrite some Kconfig docs * split up patches for easier review V4: * max_des: fix infinite version loop * max_des: fix pipe link id when there are more pipes than links * max_des: implement setting pipe link * max_des: do not pass routing to phy update * max_des: move GMSL version strings to max_serdes * max_des: split finding existing VC remap from adding a new one * max_des: add tracking for in-use pipes * max_des: skip unused pipes when finding / setting pixel/tunnel mode * max_des: simplify remap code * max_des: split set_pipe_phy() into set_pipe_tunnel_phy() * max_ser: clean up i2c_xlates printing * max_ser: fix changing serializer address * max_ser: move non-continuous mode check into max96717 driver * max96724: use regmap_set_bits for STREAM_SEL_ALL * max96724: match surrounding indent for MAX96724_PHY1_ALT_CLOCK * max96724: fix setting invalid PHY to 1 when PHY 0 is in 4-lane mode * max96724: remove support for setting pipe phy from max96712 * max96724: fix setting double mode on pipes 4-7 * max96724: drop powerdown gpios * max96717: use gpio_chip's set_rv * max9296a: switch versions to unsigned int * max9296a: remove parantheses from MAX9296A_MIPI_PHY18/20 * max9296a: fix printing of PHY packet counts * max9296a: fix phy_hw_ids size * remove usage of cammel case in defines * move field_get/prep to max_serdes.h * rework stream id setup * rework tunnel/pixel mode finding * rework bpps retrieval * pass whole subdev state around * add helper for retrieving a route's hw components / frame desc * update pipe enable based on active routes * add support for tunnel-only chips and VC remaps in tunnel mode * simplify max_get_streams_masks() * add support for TPG V3: * dt-bindings: drop reflow text patches * dt-bindings: max96717: move pinctrl configuration into main file * dt-bindings: max96717: allow a single level of pins configuration * dt-bindings: max96717: use regex for matching pins nodes * dt-bindings: max96717: drop extra allOf in pinctrl configuration * dt-bindings: max96717: fix i2c-atr channel name regex * dt-bindings: max96717: limit pinctrl functions to gpio / rclkout * dt-bindings: max96717: limit pins for gpio / rclkout * dt-bindings: max96717: add description for bias-pull-up/down * dt-bindings: max96717: require pins and function properties * dt-bindings: max96717: turn single compatible strings into an enum * dt-bindings: max9296a: include indices in port descriptions * dt-bindings: max9296a: remove property-less schema from input ports * dt-bindings: max9296a: use ATR for MAX96716A too, removing MUX entirely * dt-bindings: max96712: include indices in port descriptions * dt-bindings: max96712: deprecate enable-gpios in favor of powerdown-gpios * dt-bindings: max96712: switch from MUX to ATR * dt-bindings: max96714: add support for MAX96714R * max_des: fix POC NULL check * max_des: remove index var in POC enable * max_des: fix writing empty remaps * max_des: skip mode setting in tunnel mode * max_des: remove a duplicate source->sd NULL check * max_des: set pipe tunnel mode even for disabled links * max_ser: apply TX ID changes irrespective of serializer ID * max9296a: fix typo in BACKTOP22 * max9296a: make register macros more consistent * max9296a: switch MAX96716 from MUX to ATR * max9296a: deduplicate max9296a_phy_id() logic * max9296a: use proper PHY id in remaps * max9296a: fix DPLL reset clear * max9296a: limit MAX96714F to GMSL2 3Gbps * max9296a: add support for MAX96714R * max9296a: do not write GMSL3 link select registers in GMSL2 devices * max9296a: use field_prep when setting RX_RATE * max9296a: simplify setting SEL_STREAM for MAX96714 * max9296a: max96716_set_pipe_phy -> max96716a_set_pipe_phy * max9296a: fix off-by-one in lane polarity when using polarity_on_physical_lanes * max96724: fix typo in BACKTOP22 * max96724: switch from MUX to ATR * max96724: add support for powerdown GPIO * max96724: remove support for tunneling from MAX96712 * max96724: only set tunnel-related bits when in tunnel mode * max96724: add support for MAX96724F/R * max96724: oneshot reset links after link selection * remove GMSL2 version defaults, set all supported versions explicitly * reorder GMSL versions to start from 0 * add support for GMSL2 3Gbps * support GMSL version finding for devices using MUX / GATE * add support for deserializers which don't have individual control of each link's GMSL version * add support for deserializers that need unique stream ids across all serializers * select_link_version -> set_link_version * select_resets_link -> use_atr V2: * add missing compatible for MAX96717F * fix embarrassing dt-bindings mistakes * move MAX9296A/MAX96716/MAX96792A to a separate file as they have two links / PHYs, and adding those conditionally seems impossible Cosmin Tanislav (23): dt-bindings: media: i2c: max96717: add myself as maintainer dt-bindings: media: i2c: max96717: add support for I2C ATR dt-bindings: media: i2c: max96717: add support for pinctrl/pinconf dt-bindings: media: i2c: max96717: add support for MAX9295A dt-bindings: media: i2c: max96717: add support for MAX96793 dt-bindings: media: i2c: max96712: add myself as maintainer dt-bindings: media: i2c: max96712: use pattern properties for ports dt-bindings: media: i2c: max96712: add support for I2C ATR dt-bindings: media: i2c: max96712: add support for POC supplies dt-bindings: media: i2c: max96712: add support for MAX96724F/R dt-bindings: media: i2c: max96714: add myself as maintainer dt-bindings: media: i2c: max96714: add support for MAX96714R dt-bindings: media: i2c: add MAX9296A, MAX96716A, MAX96792A media: i2c: add Maxim GMSL2/3 serializer and deserializer framework media: i2c: add Maxim GMSL2/3 serializer framework media: i2c: add Maxim GMSL2/3 deserializer framework media: i2c: maxim-serdes: add MAX96717 driver media: i2c: maxim-serdes: add MAX96724 driver media: i2c: maxim-serdes: add MAX9296A driver arm64: defconfig: disable deprecated MAX96712 driver staging: media: remove MAX96712 driver media: i2c: remove MAX96717 driver media: i2c: remove MAX96714 driver Sakari Ailus (1): media: mc: Add INTERNAL pad flag .../bindings/media/i2c/maxim,max9296a.yaml | 242 ++ .../bindings/media/i2c/maxim,max96712.yaml | 70 +- .../bindings/media/i2c/maxim,max96714.yaml | 6 +- .../bindings/media/i2c/maxim,max96717.yaml | 155 +- .../media/mediactl/media-types.rst | 8 + MAINTAINERS | 13 +- arch/arm64/configs/defconfig | 1 - drivers/media/i2c/Kconfig | 34 +- drivers/media/i2c/Makefile | 3 +- drivers/media/i2c/max96714.c | 1017 ------ drivers/media/i2c/max96717.c | 1102 ------ drivers/media/i2c/maxim-serdes/Kconfig | 60 + drivers/media/i2c/maxim-serdes/Makefile | 6 + drivers/media/i2c/maxim-serdes/max9296a.c | 1345 +++++++ drivers/media/i2c/maxim-serdes/max96717.c | 1689 +++++++++ drivers/media/i2c/maxim-serdes/max96724.c | 1184 ++++++ drivers/media/i2c/maxim-serdes/max_des.c | 3181 +++++++++++++++++ drivers/media/i2c/maxim-serdes/max_des.h | 153 + drivers/media/i2c/maxim-serdes/max_ser.c | 2131 +++++++++++ drivers/media/i2c/maxim-serdes/max_ser.h | 147 + drivers/media/i2c/maxim-serdes/max_serdes.c | 413 +++ drivers/media/i2c/maxim-serdes/max_serdes.h | 183 + drivers/media/mc/mc-entity.c | 10 +- drivers/staging/media/Kconfig | 2 - drivers/staging/media/Makefile | 1 - drivers/staging/media/max96712/Kconfig | 14 - drivers/staging/media/max96712/Makefile | 2 - drivers/staging/media/max96712/max96712.c | 487 --- include/uapi/linux/media.h | 1 + 29 files changed, 10973 insertions(+), 2687 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max9296a.yaml delete mode 100644 drivers/media/i2c/max96714.c delete mode 100644 drivers/media/i2c/max96717.c create mode 100644 drivers/media/i2c/maxim-serdes/Kconfig create mode 100644 drivers/media/i2c/maxim-serdes/Makefile create mode 100644 drivers/media/i2c/maxim-serdes/max9296a.c create mode 100644 drivers/media/i2c/maxim-serdes/max96717.c create mode 100644 drivers/media/i2c/maxim-serdes/max96724.c create mode 100644 drivers/media/i2c/maxim-serdes/max_des.c create mode 100644 drivers/media/i2c/maxim-serdes/max_des.h create mode 100644 drivers/media/i2c/maxim-serdes/max_ser.c create mode 100644 drivers/media/i2c/maxim-serdes/max_ser.h create mode 100644 drivers/media/i2c/maxim-serdes/max_serdes.c create mode 100644 drivers/media/i2c/maxim-serdes/max_serdes.h delete mode 100644 drivers/staging/media/max96712/Kconfig delete mode 100644 drivers/staging/media/max96712/Makefile delete mode 100644 drivers/staging/media/max96712/max96712.c -- 2.50.1
Hi Cosmin, On Fri, Jul 18, 2025 at 06:24:36PM +0300, Cosmin Tanislav wrote: > This series adds new drivers for multiple Maxim GMSL2 and GMSL3 devices, > replacing the few GMSL2 drivers already in upstream, and introducing a > common framework that can be used to implement such GMSL chips, which > avoids code duplication while also adding support for previously > unsupported features. > > While the normally acceptable and polite way would be to extend the > current mainline drivers, the choice was made here to add a totally new > set of drivers. The current drivers support only a small subset of the > possible features, and only a few devices, so the end result after > extending them would in any case be essentially fully rewritten, new > drivers. > > This series depends on support for internal pads, for which a patch has > been added. Could you provide v4l2-compliance -m, media-ctl -p as well as media-ctl --print-dot output on this device, please? -- Kind regards, Sakari Ailus
Hi Sakari.
I recently left Analog Devices but I will continue to try upstreaming
this driver. After the upstreaming is done we can switch the
maintainer status to someone else.
Here's the output for the commands you asked, provided by my
ex-coworker. It's for MAX96716 + 2xMAX96717 + 2x IMX219.
Do we need to fix anything based on the compliance tests?
media-ctl -p -d 3:
Media controller API version 6.13.7
Media device information
------------------------
driver rp1-cfe
model rp1-cfe
serial
bus info platform:1f00110000.csi
hw revision 0x114666
driver version 6.13.7
Device topology
- entity 1: csi2 (5 pads, 9 links, 2 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
routes:
0/0 -> 1/0 [ACTIVE]
0/1 -> 2/0 [ACTIVE]
pad0: SINK
[stream:0 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range]
[stream:1 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range]
<- "max9296a 10-002a":3 [ENABLED,IMMUTABLE]
pad1: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range]
-> "rp1-cfe-csi2-ch0":0 [ENABLED]
-> "pisp-fe":0 []
pad2: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range]
-> "rp1-cfe-csi2-ch1":0 [ENABLED]
-> "pisp-fe":0 []
pad3: SOURCE
-> "rp1-cfe-csi2-ch2":0 []
-> "pisp-fe":0 []
pad4: SOURCE
-> "rp1-cfe-csi2-ch3":0 []
-> "pisp-fe":0 []
- entity 7: pisp-fe (5 pads, 8 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: SINK,MUST_CONNECT
[stream:0 fmt:SBGGR16_1X16/1640x1232 field:none
colorspace:raw]
<- "csi2":1 []
<- "csi2":2 []
<- "csi2":3 []
<- "csi2":4 []
pad1: SINK
[stream:0 fmt:FIXED/632x1]
<- "rp1-cfe-fe-config":0 []
pad2: SOURCE
[stream:0 fmt:SBGGR16_1X16/1640x1232 field:none
colorspace:raw]
-> "rp1-cfe-fe-image0":0 []
pad3: SOURCE
[stream:0 fmt:SBGGR16_1X16/1640x1232 field:none
colorspace:raw]
-> "rp1-cfe-fe-image1":0 []
pad4: SOURCE
[stream:0 fmt:FIXED/23200x1]
-> "rp1-cfe-fe-stats":0 []
- entity 13: max9296a 10-002a (5 pads, 3 links, 2 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
routes:
0/0 -> 3/0 [ACTIVE]
1/0 -> 3/1 [ACTIVE]
pad0: SINK
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
<- "max96717 15-0040":1 [ENABLED,IMMUTABLE]
pad1: SINK
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
<- "max96717 16-0040":1 [ENABLED,IMMUTABLE]
pad2: SOURCE
pad3: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
[stream:1 fmt:SBGGR10_1X10/640x480 field:none]
-> "csi2":0 [ENABLED,IMMUTABLE]
pad4: SINK,0x8
- entity 19: max96717 15-0040 (3 pads, 2 links, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev3
routes:
0/0 -> 1/0 [ACTIVE]
pad0: SINK
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
<- "imx219 17-0010":0 [ENABLED,IMMUTABLE]
pad1: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
-> "max9296a 10-002a":0 [ENABLED,IMMUTABLE]
pad2: SINK,0x8
- entity 25: max96717 16-0040 (3 pads, 2 links, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev4
routes:
0/0 -> 1/0 [ACTIVE]
pad0: SINK
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
<- "imx219 18-0010":0 [ENABLED,IMMUTABLE]
pad1: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none]
-> "max9296a 10-002a":1 [ENABLED,IMMUTABLE]
pad2: SINK,0x8
- entity 31: imx219 17-0010 (3 pads, 1 link, 2 routes)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev5
routes:
1/0 -> 0/0 [ACTIVE]
2/0 -> 0/1 [ACTIVE]
pad0: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range
crop.bounds:(0,0)/640x480
crop:(0,0)/640x480]
[stream:1 fmt:META_10/640x2 field:none]
-> "max96717 15-0040":0 [ENABLED,IMMUTABLE]
pad1: SINK,0x8
[stream:0 fmt:SRGGB10_1X10/3296x2480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range
crop.bounds:(8,8)/3280x2464
crop:(1008,760)/1280x960
compose:(0,0)/640x480]
pad2: SINK,0x8
[stream:0 fmt:META_10/640x2 field:none]
- entity 37: imx219 18-0010 (3 pads, 1 link, 2 routes)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev6
routes:
1/0 -> 0/0 [ACTIVE]
2/0 -> 0/1 [ACTIVE]
pad0: SOURCE
[stream:0 fmt:SBGGR10_1X10/640x480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range
crop.bounds:(0,0)/640x480
crop:(0,0)/640x480]
[stream:1 fmt:META_10/640x2 field:none]
-> "max96717 16-0040":0 [ENABLED,IMMUTABLE]
pad1: SINK,0x8
[stream:0 fmt:SRGGB10_1X10/3296x2480 field:none
colorspace:raw xfer:none ycbcr:601 quantization:full-range
crop.bounds:(8,8)/3280x2464
crop:(1008,760)/1280x960
compose:(0,0)/640x480]
pad2: SINK,0x8
[stream:0 fmt:META_10/640x2 field:none]
- entity 43: rp1-cfe-csi2-ch0 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: SINK,MUST_CONNECT
<- "csi2":1 [ENABLED]
- entity 47: rp1-cfe-csi2-ch1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: SINK,MUST_CONNECT
<- "csi2":2 [ENABLED]
- entity 51: rp1-cfe-csi2-ch2 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: SINK,MUST_CONNECT
<- "csi2":3 []
- entity 55: rp1-cfe-csi2-ch3 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: SINK,MUST_CONNECT
<- "csi2":4 []
- entity 59: rp1-cfe-fe-image0 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: SINK,MUST_CONNECT
<- "pisp-fe":2 []
- entity 63: rp1-cfe-fe-image1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video5
pad0: SINK,MUST_CONNECT
<- "pisp-fe":3 []
- entity 67: rp1-cfe-fe-stats (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video6
pad0: SINK,MUST_CONNECT
<- "pisp-fe":4 []
- entity 71: rp1-cfe-fe-config (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video7
pad0: SOURCE,MUST_CONNECT
-> "pisp-fe":1 []
media-ctl --print-dot -d 3
digraph board {
rankdir=TB
n00000001 [label="{{<port0> 0} | csi2\n/dev/v4l-subdev0 |
{<port1> 1 | <port2> 2 | <port3> 3 | <port4> 4}}", shape=Mrecord,
style=filled, fillcolor=green]
n00000001:port1 -> n0000002b
n00000001:port1 -> n00000007:port0 [style=dashed]
n00000001:port2 -> n0000002f
n00000001:port2 -> n00000007:port0 [style=dashed]
n00000001:port3 -> n00000033 [style=dashed]
n00000001:port3 -> n00000007:port0 [style=dashed]
n00000001:port4 -> n00000037 [style=dashed]
n00000001:port4 -> n00000007:port0 [style=dashed]
n00000007 [label="{{<port0> 0 | <port1> 1} |
pisp-fe\n/dev/v4l-subdev1 | {<port2> 2 | <port3> 3 | <port4> 4}}",
shape=Mrecord, style=filled, fillcolor=green]
n00000007:port2 -> n0000003b [style=dashed]
n00000007:port3 -> n0000003f [style=dashed]
n00000007:port4 -> n00000043 [style=dashed]
n0000000d [label="{{<port0> 0 | <port1> 1 | <port4> 4} |
max9296a 10-002a\n/dev/v4l-subdev2 | {<port2> 2 | <port3> 3}}",
shape=Mrecord, style=filled, fillcolor=green]
n0000000d:port3 -> n00000001:port0 [style=bold]
n00000013 [label="{{<port0> 0 | <port2> 2} | max96717
15-0040\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled,
fillcolor=green]
n00000013:port1 -> n0000000d:port0 [style=bold]
n00000019 [label="{{<port0> 0 | <port2> 2} | max96717
16-0040\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled,
fillcolor=green]
n00000019:port1 -> n0000000d:port1 [style=bold]
n0000001f [label="{{<port1> 1 | <port2> 2} | imx219
17-0010\n/dev/v4l-subdev5 | {<port0> 0}}", shape=Mrecord, style=filled,
fillcolor=green]
n0000001f:port0 -> n00000013:port0 [style=bold]
n00000025 [label="{{<port1> 1 | <port2> 2} | imx219
18-0010\n/dev/v4l-subdev6 | {<port0> 0}}", shape=Mrecord, style=filled,
fillcolor=green]
n00000025:port0 -> n00000019:port0 [style=bold]
n0000002b [label="rp1-cfe-csi2-ch0\n/dev/video0", shape=box,
style=filled, fillcolor=yellow]
n0000002f [label="rp1-cfe-csi2-ch1\n/dev/video1", shape=box,
style=filled, fillcolor=yellow]
n00000033 [label="rp1-cfe-csi2-ch2\n/dev/video2", shape=box,
style=filled, fillcolor=yellow]
n00000037 [label="rp1-cfe-csi2-ch3\n/dev/video3", shape=box,
style=filled, fillcolor=yellow]
n0000003b [label="rp1-cfe-fe-image0\n/dev/video4", shape=box,
style=filled, fillcolor=yellow]
n0000003f [label="rp1-cfe-fe-image1\n/dev/video5", shape=box,
style=filled, fillcolor=yellow]
n00000043 [label="rp1-cfe-fe-stats\n/dev/video6", shape=box,
style=filled, fillcolor=yellow]
n00000047 [label="rp1-cfe-fe-config\n/dev/video7", shape=box,
style=filled, fillcolor=yellow]
n00000047 -> n00000007:port1 [style=dashed]
}
v4l2-compliance -m /dev/media3
v4l2-compliance 1.28.1-5233, 64 bits, 64-bit time_t
v4l2-compliance SHA: fc15e229d9d3 2024-07-23 19:22:15
Compliance test for rp1-cfe device /dev/media3:
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Required ioctls:
test MEDIA_IOC_DEVICE_INFO: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/media3 open: OK
test MEDIA_IOC_DEVICE_INFO: OK
test for unlimited opens: OK
Media Controller ioctls:
test MEDIA_IOC_G_TOPOLOGY: OK
Entities: 15 Interfaces: 15 Pads: 35 Links: 32
test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
test MEDIA_IOC_SETUP_LINK: OK
Total for rp1-cfe device /dev/media3: 8, Succeeded: 8, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video0:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x0300002d
Type : V4L Video
Entity Info:
ID : 0x0000002b (43)
Name : rp1-cfe-csi2-ch0
Function : V4L2 I/O
Pad 0x0100002c : 0: Sink, Must Connect
Link 0x0200004d: from remote pad 0x1000003 of entity 'csi2'
(Video Interface Bridge): Data, Enabled
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video0 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video0: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video1:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000031
Type : V4L Video
Entity Info:
ID : 0x0000002f (47)
Name : rp1-cfe-csi2-ch1
Function : V4L2 I/O
Pad 0x01000030 : 0: Sink, Must Connect
Link 0x02000051: from remote pad 0x1000004 of entity 'csi2'
(Video Interface Bridge): Data, Enabled
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video1 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video1: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video2:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000035
Type : V4L Video
Entity Info:
ID : 0x00000033 (51)
Name : rp1-cfe-csi2-ch2
Function : V4L2 I/O
Pad 0x01000034 : 0: Sink, Must Connect
Link 0x02000055: from remote pad 0x1000005 of entity 'csi2'
(Video Interface Bridge): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video2 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video2: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video3:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000039
Type : V4L Video
Entity Info:
ID : 0x00000037 (55)
Name : rp1-cfe-csi2-ch3
Function : V4L2 I/O
Pad 0x01000038 : 0: Sink, Must Connect
Link 0x02000059: from remote pad 0x1000006 of entity 'csi2'
(Video Interface Bridge): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video3 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video3: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video4:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24200001
Video Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x0300003d
Type : V4L Video
Entity Info:
ID : 0x0000003b (59)
Name : rp1-cfe-fe-image0
Function : V4L2 I/O
Pad 0x0100003c : 0: Sink, Must Connect
Link 0x0200005d: from remote pad 0x100000a of entity
'pisp-fe' (Video Scaler): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video4 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video4: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video5:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24200001
Video Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000041
Type : V4L Video
Entity Info:
ID : 0x0000003f (63)
Name : rp1-cfe-fe-image1
Function : V4L2 I/O
Pad 0x01000040 : 0: Sink, Must Connect
Link 0x0200005f: from remote pad 0x100000b of entity
'pisp-fe' (Video Scaler): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video5 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video5: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video6:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00000
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000045
Type : V4L Video
Entity Info:
ID : 0x00000043 (67)
Name : rp1-cfe-fe-stats
Function : V4L2 I/O
Pad 0x01000044 : 0: Sink, Must Connect
Link 0x02000061: from remote pad 0x100000c of entity
'pisp-fe' (Video Scaler): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video6 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video6: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/video7:
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.13.7
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x2c200000
Metadata Output
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000049
Type : V4L Video
Entity Info:
ID : 0x00000047 (71)
Name : rp1-cfe-fe-config
Function : V4L2 I/O
Pad 0x01000048 : 0: Source, Must Connect
Link 0x02000063: to remote pad 0x1000009 of entity 'pisp-fe'
(Video Scaler): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video7 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 1 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Output 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls (Output 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls (Output 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Output 0):
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/video7: 48, Succeeded: 48, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev0:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000065
Type : V4L Sub-Device
Entity Info:
ID : 0x00000001 (1)
Name : csi2
Function : Video Interface Bridge
Pad 0x01000002 : 0: Sink
Link 0x0200004b: from remote pad 0x1000011 of entity
'max9296a 10-002a' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000003 : 1: Source
Link 0x0200004d: to remote pad 0x100002c of entity
'rp1-cfe-csi2-ch0' (V4L2 I/O): Data, Enabled
Link 0x0200004f: to remote pad 0x1000008 of entity 'pisp-fe'
(Video Scaler): Data
Pad 0x01000004 : 2: Source
Link 0x02000051: to remote pad 0x1000030 of entity
'rp1-cfe-csi2-ch1' (V4L2 I/O): Data, Enabled
Link 0x02000053: to remote pad 0x1000008 of entity 'pisp-fe'
(Video Scaler): Data
Pad 0x01000005 : 3: Source
Link 0x02000055: to remote pad 0x1000034 of entity
'rp1-cfe-csi2-ch2' (V4L2 I/O): Data
Link 0x02000057: to remote pad 0x1000008 of entity 'pisp-fe'
(Video Scaler): Data
Pad 0x01000006 : 4: Source
Link 0x02000059: to remote pad 0x1000038 of entity
'rp1-cfe-csi2-ch3' (V4L2 I/O): Data
Link 0x0200005b: to remote pad 0x1000008 of entity 'pisp-fe'
(Video Scaler): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev0 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
Sub-Device ioctls (Sink Pad 0):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Active Stream 1
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 1):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 2):
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 3):
Sub-Device ioctls (Source Pad 4):
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev0: 70, Succeeded: 70, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev1:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000000
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000067
Type : V4L Sub-Device
Entity Info:
ID : 0x00000007 (7)
Name : pisp-fe
Function : Video Scaler
Pad 0x01000008 : 0: Sink, Must Connect
Link 0x0200004f: from remote pad 0x1000003 of entity 'csi2'
(Video Interface Bridge): Data
Link 0x02000053: from remote pad 0x1000004 of entity 'csi2'
(Video Interface Bridge): Data
Link 0x02000057: from remote pad 0x1000005 of entity 'csi2'
(Video Interface Bridge): Data
Link 0x0200005b: from remote pad 0x1000006 of entity 'csi2'
(Video Interface Bridge): Data
Pad 0x01000009 : 1: Sink
Link 0x02000063: from remote pad 0x1000048 of entity
'rp1-cfe-fe-config' (V4L2 I/O): Data
Pad 0x0100000a : 2: Source
Link 0x0200005d: to remote pad 0x100003c of entity
'rp1-cfe-fe-image0' (V4L2 I/O): Data
Pad 0x0100000b : 3: Source
Link 0x0200005f: to remote pad 0x1000040 of entity
'rp1-cfe-fe-image1' (V4L2 I/O): Data
Pad 0x0100000c : 4: Source
Link 0x02000061: to remote pad 0x1000044 of entity
'rp1-cfe-fe-stats' (V4L2 I/O): Data
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev1 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device ioctls (Sink Pad 0):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Sink Pad 1):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 2):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 3):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Source Pad 4):
Try Stream 0
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev1: 81, Succeeded: 81, Failed: 0,
Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev2:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000069
Type : V4L Sub-Device
Entity Info:
ID : 0x0000000d (13)
Name : max9296a 10-002a
Function : Video Interface Bridge
Pad 0x0100000e : 0: Sink
Link 0x02000017: from remote pad 0x1000015 of entity
'max96717 15-0040' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x0100000f : 1: Sink
Link 0x0200001d: from remote pad 0x100001b of entity
'max96717 16-0040' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000010 : 2: Source
Pad 0x01000011 : 3: Source
Link 0x0200004b: to remote pad 0x1000002 of entity 'csi2'
(Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000012 : 4: Sink, 00000008
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev2 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
Sub-Device ioctls (Sink Pad 0):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Sink Pad 1):
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Source Pad 2):
Sub-Device ioctls (Source Pad 3):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Active Stream 1
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Sink Pad 4):
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 2 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev2: 70, Succeeded: 54, Failed:
16, Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev3:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x0300006b
Type : V4L Sub-Device
Entity Info:
ID : 0x00000013 (19)
Name : max96717 15-0040
Function : Video Interface Bridge
Pad 0x01000014 : 0: Sink
Link 0x02000023: from remote pad 0x1000020 of entity 'imx219
17-0010' (Camera Sensor): Data, Enabled, Immutable
Pad 0x01000015 : 1: Source
Link 0x02000017: to remote pad 0x100000e of entity 'max9296a
10-002a' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000016 : 2: Sink, 00000008
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev3 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
Sub-Device ioctls (Sink Pad 0):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Source Pad 1):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Sink Pad 2):
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 2 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev3: 62, Succeeded: 52, Failed:
10, Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev4:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x0300006d
Type : V4L Sub-Device
Entity Info:
ID : 0x00000019 (25)
Name : max96717 16-0040
Function : Video Interface Bridge
Pad 0x0100001a : 0: Sink
Link 0x02000029: from remote pad 0x1000026 of entity 'imx219
18-0010' (Camera Sensor): Data, Enabled, Immutable
Pad 0x0100001b : 1: Source
Link 0x0200001d: to remote pad 0x100000f of entity 'max9296a
10-002a' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x0100001c : 2: Sink, 00000008
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev4 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: OK
Sub-Device ioctls (Sink Pad 0):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Source Pad 1):
Try Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Try
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
fail: v4l2-test-subdevs.cpp(228): doioctl(node,
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, &fie) != ENOTTY
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: FAIL
fail: v4l2-test-subdevs.cpp(369): fmt.width == 0 ||
fmt.width > 65536
fail: v4l2-test-subdevs.cpp(418):
checkMBusFrameFmt(node, fmt.format)
test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
fail: v4l2-test-subdevs.cpp(302):
node->enum_frame_interval_pad != (int)pad
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: FAIL
Sub-Device ioctls (Sink Pad 2):
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 2 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev4: 62, Succeeded: 52, Failed:
10, Warnings: 0
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev5:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x0300006f
Type : V4L Sub-Device
Entity Info:
ID : 0x0000001f (31)
Name : imx219 17-0010
Function : Camera Sensor
Pad 0x01000020 : 0: Source
Link 0x02000023: to remote pad 0x1000014 of entity 'max96717
15-0040' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000021 : 1: Sink, 00000008
Pad 0x01000022 : 2: Sink, 00000008
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev5 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
fail: v4l2-test-subdevs.cpp(631): route->flags &
~all_route_flags_mask
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: FAIL
fail: v4l2-test-subdevs.cpp(631): route->flags &
~all_route_flags_mask
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: FAIL
Sub-Device ioctls (Source Pad 0):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
Try Stream 1
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Active Stream 1
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Sink Pad 1):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Sink Pad 2):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 20 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev5: 76, Succeeded: 74, Failed: 2,
Warnings: 4
--------------------------------------------------------------------------------
Compliance test for rp1-cfe device /dev/v4l-subdev6:
Driver Info:
Driver version : 6.13.7
Capabilities : 0x00000002
Streams Support
Client Capabilities: 0x0000000000000003
streams interval-uses-which Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.13.7
Hardware revision: 0x00114666 (1132134)
Driver version : 6.13.7
Interface Info:
ID : 0x03000071
Type : V4L Sub-Device
Entity Info:
ID : 0x00000025 (37)
Name : imx219 18-0010
Function : Camera Sensor
Pad 0x01000026 : 0: Source
Link 0x02000029: to remote pad 0x100001a of entity 'max96717
16-0040' (Video Interface Bridge): Data, Enabled, Immutable
Pad 0x01000027 : 1: Sink, 00000008
Pad 0x01000028 : 2: Sink, 00000008
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
test VIDIOC_SUDBEV_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/v4l-subdev6 open: OK
test VIDIOC_SUBDEV_QUERYCAP: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Sub-Device routing ioctls:
fail: v4l2-test-subdevs.cpp(631): route->flags &
~all_route_flags_mask
test Try VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: FAIL
fail: v4l2-test-subdevs.cpp(631): route->flags &
~all_route_flags_mask
test Active VIDIOC_SUBDEV_G_ROUTING/VIDIOC_SUBDEV_S_ROUTING: FAIL
Sub-Device ioctls (Source Pad 0):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
Try Stream 1
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Active Stream 1
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Sink Pad 1):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
warn: v4l2-test-subdevs.cpp(566):
VIDIOC_SUBDEV_G_SELECTION is supported for target 0 but not
VIDIOC_SUBDEV_S_SELECTION
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Sub-Device ioctls (Sink Pad 2):
Try Stream 0
test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Try VIDIOC_SUBDEV_G/S_FMT: OK
test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
Active Stream 0
test Active
VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
test Active VIDIOC_SUBDEV_G/S_FMT: OK
test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
test Active VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 20 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK (Not Supported)
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
test CREATE_BUFS maximum buffers: OK
test VIDIOC_REMOVE_BUFS: OK
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for rp1-cfe device /dev/v4l-subdev6: 76, Succeeded: 74, Failed: 2,
Warnings: 4
Grand Total for rp1-cfe device /dev/media3: 889, Succeeded: 849, Failed:
40, Warnings: 8
On 8/28/25 5:42 PM, Sakari Ailus wrote:
> Hi Cosmin,
>
> On Fri, Jul 18, 2025 at 06:24:36PM +0300, Cosmin Tanislav wrote:
>> This series adds new drivers for multiple Maxim GMSL2 and GMSL3 devices,
>> replacing the few GMSL2 drivers already in upstream, and introducing a
>> common framework that can be used to implement such GMSL chips, which
>> avoids code duplication while also adding support for previously
>> unsupported features.
>>
>> While the normally acceptable and polite way would be to extend the
>> current mainline drivers, the choice was made here to add a totally new
>> set of drivers. The current drivers support only a small subset of the
>> possible features, and only a few devices, so the end result after
>> extending them would in any case be essentially fully rewritten, new
>> drivers.
>>
>> This series depends on support for internal pads, for which a patch has
>> been added.
>
> Could you provide v4l2-compliance -m, media-ctl -p as well as media-ctl
> --print-dot output on this device, please?
>
Hi Cosmin, On Thu, Sep 04, 2025 at 10:52:09AM +0300, Cosmin Tanislav wrote: > Hi Sakari. > > I recently left Analog Devices but I will continue to try upstreaming > this driver. After the upstreaming is done we can switch the > maintainer status to someone else. Ack, thank you. > > Here's the output for the commands you asked, provided by my > ex-coworker. It's for MAX96716 + 2xMAX96717 + 2x IMX219. > > Do we need to fix anything based on the compliance tests? Looking at the errors, it looks like some fixing is needed, possibly also on v4l2-compliance side. Regarding GMSL, are the image width, height or mbus code used for anything by the serialiser or deserialiser drivers? -- Kind regards, Sakari Ailus
On 9/10/25 9:52 AM, Sakari Ailus wrote: > Hi Cosmin, > > On Thu, Sep 04, 2025 at 10:52:09AM +0300, Cosmin Tanislav wrote: >> Hi Sakari. >> >> I recently left Analog Devices but I will continue to try upstreaming >> this driver. After the upstreaming is done we can switch the >> maintainer status to someone else. > > Ack, thank you. > >> >> Here's the output for the commands you asked, provided by my >> ex-coworker. It's for MAX96716 + 2xMAX96717 + 2x IMX219. >> >> Do we need to fix anything based on the compliance tests? > > Looking at the errors, it looks like some fixing is needed, possibly also > on v4l2-compliance side. > I'll take a closer look at the failures whenever I get the time. > Regarding GMSL, are the image width, height or mbus code used for anything > by the serialiser or deserialiser drivers? > No, not really. All the information needed by the GMSL drivers is provided through get_frame_desc() ops, and there's no fallback for the data type, so the stream format is not involved at all, but as far as I remember it's necessary to be set properly for the media pipeline to pass validation.
Hi Cosmin, On Wed, Sep 10, 2025 at 01:48:29PM +0300, Cosmin Tanislav wrote: > > > On 9/10/25 9:52 AM, Sakari Ailus wrote: > > Hi Cosmin, > > > > On Thu, Sep 04, 2025 at 10:52:09AM +0300, Cosmin Tanislav wrote: > > > Hi Sakari. > > > > > > I recently left Analog Devices but I will continue to try upstreaming > > > this driver. After the upstreaming is done we can switch the > > > maintainer status to someone else. > > > > Ack, thank you. > > > > > > > > Here's the output for the commands you asked, provided by my > > > ex-coworker. It's for MAX96716 + 2xMAX96717 + 2x IMX219. > > > > > > Do we need to fix anything based on the compliance tests? > > > > Looking at the errors, it looks like some fixing is needed, possibly also > > on v4l2-compliance side. > > > > I'll take a closer look at the failures whenever I get the time. > > > Regarding GMSL, are the image width, height or mbus code used for anything > > by the serialiser or deserialiser drivers? > > > > No, not really. All the information needed by the GMSL drivers is > provided through get_frame_desc() ops, and there's no fallback for the > data type, so the stream format is not involved at all, but as far as I > remember it's necessary to be set properly for the media pipeline to > pass validation. In earlier iterations of multi-stream support we've had link validation dig this information up from the closest sub-device that supported get_fmt pad op but that also made the assumption there would be no stream branching taking place, which is not the case anymore. I guess the most simple way to address this indeed would be to add the formats to the streams, even if the driver doesn't need them. Also for backwards compatiblity related reasons they are probably necessary -- the older max9671* drivers did support them, too. This would also address (most of?) the v4l2-compliance issues. -- Kind regards, Sakari Ailus
© 2016 - 2026 Red Hat, Inc.