Are tpg_max_iso, num_csi_lanes, max_lane_speed, etc. deprecated?

Hi,
I am trying to port camera to 36.3.0.
DTS were significantly reorganized, so I am checking all my settings.
I see that
hardware/nvidia/t23x/nv-public/overlay/tegra234-p3737-camera-modules.dtsi
still defines
tpg_max_iso = <3916800>;
but I do not see anybody reading it. Was it deprecated? Can I remove it from my DTS as well?

Same for num_csi_lanes, max_lane_speed, min_bits_per_pixel, vi_peak_byte_per_pixel, vi_bw_margin_pct, max_pixel_rate, isp_peak_byte_per_pixel, isp_bw_margin_pct : multiple .dtsi still carry these settings, documentation includes them
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/JetsonVirtualChannelWithGmslCameraFramework.html?highlight=num_csi_lanes#vi-and-csi-channel-nodes-in-the-module-device-tree
but the source which used to read them in tegra_camera_isomgr_register is gone.

Same for skip_mux_detect

Can they all be deleted?

Thank you

Do you mean tegra_camera_isomgr_register() didn’t call in JP6.x?

tegra_camera_isomgr_register is empty in JP6.x, unless public_sources.tbz2 on nvidia.com is wrong. This is what I did:
curl -L -o public_sources.tbz2 https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/sources/public_sources.tbz2
md5sum public_sources.tbz2
1daa801c8396b4c6a149e459af75d595 public_sources.tbz2
tar xf public_sources.tbz2
tar xf Linux_for_Tegra/source/kernel_oot_modules_src.tbz2
grep tegra_camera_isomgr_register . -r -A 10
static int tegra_camera_isomgr_register(struct tegra_camera_info *info,
struct device *dev)
{
return 0;
}

Should be this file …/kernel/nvidia/drivers/video/tegra/camera/tegra_camera_platform.c

Yes, I already quoted this file tegra_camera_platform.c in my previous post, but now it has empty implementation of tegra_camera_isomgr_register (at least in the version of public_sources.tbz2 from nvidia.com).
In fact, these settings:
num_csi_lanes, max_lane_speed, min_bits_per_pixel, vi_peak_byte_per_pixel, vi_bw_margin_pct, max_pixel_rate, isp_peak_byte_per_pixel, isp_bw_margin_pct, skip_mux_detect
are not found in any source file anymore,
but they are still included in several .dtsi, including the reference file tegra234-camera-imx185-a00.dtsi and in documentation.
I suggest you double check with developers whether they removed these settings and update the reference .dtsi and documentation.
It is also possible that https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/sources/public_sources.tbz2 is somehow out of sync with the real kernel used by developers.
Please, clarify.

hello jhnlmn,

it was based on total number of active CSI lanes (i.e. num_csi_lanes & max_lane_speed) when all cameras on the camera board are active to calculate VI ISO bandwidth.
those code has deprecated due to bwmgr and isomgr has disabled for Orin series. emc_bwmgr driver is replaced by interconnect (ICC) framework and tegra ICC driver.

you may refer to RTCPU driver, it’s now using devm_of_icc_get(), which is upstream API.
for instance,
$public_sources/kernel_src/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/tegra-camera-rtcpu-base.c

ya… it looks those driver did not update accordingly.
let me arrange resources to address them.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.