On Thu Mar 5, 2026 at 10:24 AM CET, Svyatoslav Ryhel wrote: > вт, 3 бер. 2026 р. о 10:42 Svyatoslav Ryhel <[email protected]> пише: >> >> Add support for MIPI CSI device found in Tegra20 and Tegra30 SoC along >> with a set of changes required for that. >> >> --- >> Changes in v2: >> - vi_sensor gated through csus >> - TEGRA30_CLK_CLK_MAX moved to clk-tegra30 >> - adjusted commit titles and messages >> - clk_register_clkdev dropped from pad clock registration >> - removed tegra30-vi/vip and used tegra20 fallback >> - added separate csi schema for tegra20-csi and tegra30-csi >> - fixet number of VI channels >> - adjusted tegra_vi_out naming >> - fixed yuv_input_format to main_input_format >> - MIPI calibration refsctored for Tegra114+ and added support for >> pre-Tegra114 to use CSI as a MIPI calibration device >> - switched ENOMEM to EBUSY >> - added check into tegra_channel_get_remote_csi_subdev >> - moved avdd-dsi-csi-supply into CSI >> - next_fs_sp_idx > next_fs_sp_value >> - removed host1x_syncpt_incr from framecounted syncpoint >> - csi subdev request moved before frame cycle >> >> Changes in v3: >> - tegra20 and tegra30 csi schema merged >> - removed unneeded properties and requirements from schema >> - improved vendor specific properties description >> - added tegra20 csus parent mux >> - improved commit descriptions >> - redesigned MIPI-calibration to expose less SoC related data into header >> - commit "staging: media: tegra-video: csi: add support for SoCs with >> integrated >> MIPI calibration" dropped as unneeded >> - improved tegra_channel_get_remote_device_subdev logic >> - avdd-dsi-csi-supply moved from vi to csi for p2597 and p3450-0000 >> - software syncpoint counters switched to direct reading >> - adjusted planar formats offset calculation >> >> Changes in v4: >> - removed ifdefs from tegra_mipi_driver >> - document Tegra132 MIPI calibration device >> - switched to use BIT macro in tegra114-mipi >> - pinctrl changes moved to a separate patch >> - ERESTARTSYS workaround preserved for now >> - tegra_mipi_add_provider replaced with devm_tegra_mipi_add_provider >> - reworked bytesperline and sizeimage calculaion >> >> Changes in v5: >> - dropped patch 1/24 of v4 since it was picked to pinctrl tree >> - added reasoning for tegra132 comaptible into commit desctiption >> - moved clocks into common section in tegra20-csi schema >> - added note regarding ERESTARTSYS >> >> Changes in v6: >> - dropped patches 1, 2, 3, 4, 10, 13, 21, 22 of v5 since they were picked >> - rebased on top of linux next/master >> - improved description of commit >> "staging: media: tegra-video: vi: adjust get_selection operation check" >> >> Changes in v7: >> - rebased on top of v7 >> - kzalloc > kzalloc_obj in mipi.c >> --- >> >> Svyatoslav Ryhel (15): >> staging: media: tegra-video: expand VI and VIP support to Tegra30 >> staging: media: tegra-video: vi: adjust get_selection operation check >> staging: media: tegra-video: vi: add flip controls only if no source >> controls are provided >> staging: media: tegra-video: csi: move CSI helpers to header >> gpu: host1x: convert MIPI to use operation function pointers >> staging: media: tegra-video: vi: improve logic of source requesting >> staging: media: tegra-video: csi: move avdd-dsi-csi-supply from VI to >> CSI >> staging: media: tegra-video: tegra20: set correct maximum width and >> height >> staging: media: tegra-video: tegra20: add support for second output of >> VI >> staging: media: tegra-video: tegra20: adjust format align calculations >> staging: media: tegra-video: tegra20: set VI HW revision >> staging: media: tegra-video: tegra20: increase maximum VI clock >> frequency >> staging: media: tegra-video: tegra20: expand format support with >> RAW8/10 and YUV422/YUV420p 1X16 >> staging: media: tegra-video: tegra20: adjust luma buffer stride >> staging: media: tegra-video: add CSI support for Tegra20 and Tegra30 >> >> drivers/gpu/drm/tegra/dsi.c | 1 + >> drivers/gpu/host1x/Makefile | 1 + >> drivers/gpu/host1x/mipi.c | 592 +++----------- >> drivers/gpu/host1x/tegra114-mipi.c | 483 ++++++++++++ >> drivers/staging/media/tegra-video/Makefile | 1 + >> drivers/staging/media/tegra-video/csi.c | 64 +- >> drivers/staging/media/tegra-video/csi.h | 22 + >> drivers/staging/media/tegra-video/tegra20.c | 820 +++++++++++++++++--- >> drivers/staging/media/tegra-video/vi.c | 58 +- >> drivers/staging/media/tegra-video/vi.h | 6 +- >> drivers/staging/media/tegra-video/video.c | 8 +- >> drivers/staging/media/tegra-video/vip.c | 2 +- >> drivers/staging/media/tegra-video/vip.h | 2 +- >> include/linux/host1x.h | 10 - >> include/linux/tegra-mipi-cal.h | 57 ++ >> 15 files changed, 1482 insertions(+), 645 deletions(-) >> create mode 100644 drivers/gpu/host1x/tegra114-mipi.c >> create mode 100644 include/linux/tegra-mipi-cal.h >> > > Hello there! > > May this patchset be picked if everyone is fine with it? v6 iteration > was hanging for a quite some time already without any actions, I have > rebased v7 onto linux-next but no other major changes were applied.
FWIW I just tested this on v7.0-rc4 and tegra20 parallel capture still works as before, so my Tested-by is confirmed. Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
