From f1c9521e5d3ad13bb3a573de09bcc71eec352e95 Mon Sep 17 00:00:00 2001 From: Praveen AC Date: Mon, 9 Sep 2024 19:00:16 +0000 Subject: [PATCH] [P3762/P3783]:Virtual i2c mux support all Hawks Add virtual i2c bus support for 2nd,3rd & 4th Hawks to read/write EEPROM data while streaming Bug 4807682 Change-Id: I76e4a1128a66f22d13f7ee2c04c64d42da519080 Signed-off-by: Praveen AC (cherry picked from commit e96aba03cf948b52c89f6647da450c4976b3e5fa) Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/3258815 Reviewed-by: svcacv Reviewed-by: Bibek Basu GVS: buildbot_gerritrpt Reviewed-by: Ankur Pawar --- overlay/tegra234-camera-p3762-a00.dtsi | 14 +- overlay/tegra234-camera-p3783-a00.dtsi | 250 +++++++++--------- ...4-p3737-camera-p3762-a00-1Hawk-overlay.dts | 6 +- ...4-p3737-camera-p3762-a00-2Hawk-overlay.dts | 6 +- ...37-camera-p3762-a00-3Hawk-3Owl-overlay.dts | 6 +- ...4-p3737-camera-p3762-a00-4Hawk-overlay.dts | 6 +- ...34-p3737-camera-p3762-a00-4Owl-overlay.dts | 6 +- ...egra234-p3737-camera-p3762-a00-overlay.dts | 6 +- overlay/tegra234-p3737-camera-p3762-a00.dtsi | 14 +- ...egra234-p3740-camera-p3783-a00-overlay.dts | 14 +- 10 files changed, 193 insertions(+), 135 deletions(-) diff --git a/overlay/tegra234-camera-p3762-a00.dtsi b/overlay/tegra234-camera-p3762-a00.dtsi index cee00e9..bdb5f84 100644 --- a/overlay/tegra234-camera-p3762-a00.dtsi +++ b/overlay/tegra234-camera-p3762-a00.dtsi @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /* 12 camera module with 4 hawks and 4 Owls * HAWK1 - 2 ar0234 cameras - max96712 Aggregator 1 - GMSL0 @@ -1113,6 +1113,8 @@ }; }; }; + }; + i2c@2 { ar0234_e@34 { compatible = "nvidia,ar0234_hawk_owl"; reg = <0x34>; @@ -1249,6 +1251,8 @@ }; }; }; + }; + i2c@3 { ar0234_g@36 { compatible = "nvidia,ar0234_hawk_owl"; reg = <0x36>; @@ -1500,7 +1504,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_e@34"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@2/ar0234_e@34"; status = "okay"; }; }; @@ -1511,7 +1515,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_f@35"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@2/ar0234_f@35"; status = "okay"; }; }; @@ -1522,7 +1526,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_g@36"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@3/ar0234_g@36"; status = "okay"; }; }; @@ -1533,7 +1537,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_h@37"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@3/ar0234_h@37"; status = "okay"; }; }; diff --git a/overlay/tegra234-camera-p3783-a00.dtsi b/overlay/tegra234-camera-p3783-a00.dtsi index 60cb811..bdb5f84 100644 --- a/overlay/tegra234-camera-p3783-a00.dtsi +++ b/overlay/tegra234-camera-p3783-a00.dtsi @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /* 12 camera module with 4 hawks and 4 Owls * HAWK1 - 2 ar0234 cameras - max96712 Aggregator 1 - GMSL0 @@ -24,89 +24,89 @@ reg = <0>; status = "okay"; ar0234_vi_in0: endpoint { - vc-id = <0>; - port-index = <0>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out0>; + vc-id = <0>; + port-index = <0>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out0>; status = "okay"; - }; + }; }; port@1 { reg = <1>; status = "okay"; ar0234_vi_in1: endpoint { - vc-id = <1>; - port-index = <0>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out1>; + vc-id = <1>; + port-index = <0>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out1>; status = "okay"; - }; + }; }; port@2 { reg = <2>; status = "okay"; ar0234_vi_in2: endpoint { - vc-id = <0>; - port-index = <1>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out2>; + vc-id = <0>; + port-index = <1>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out2>; status = "okay"; - }; + }; }; port@3 { reg = <3>; status = "okay"; ar0234_vi_in3: endpoint { - vc-id = <1>; - port-index = <1>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out3>; + vc-id = <1>; + port-index = <1>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out3>; status = "okay"; - }; + }; }; port@4 { reg = <4>; status = "okay"; ar0234_vi_in4: endpoint { - vc-id = <0>; - port-index = <2>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out4>; + vc-id = <0>; + port-index = <2>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out4>; status = "okay"; - }; + }; }; port@5 { reg = <5>; status = "okay"; ar0234_vi_in5: endpoint { - vc-id = <1>; - port-index = <2>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out5>; + vc-id = <1>; + port-index = <2>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out5>; status = "okay"; - }; + }; }; port@6 { reg = <6>; status = "okay"; ar0234_vi_in6: endpoint { - vc-id = <0>; - port-index = <3>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_out6>; + vc-id = <0>; + port-index = <3>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_out6>; status = "okay"; - }; + }; }; port@7 { reg = <7>; status = "okay"; ar0234_vi_in7: endpoint { - vc-id = <1>; + vc-id = <1>; port-index = <3>; bus-width = <2>; remote-endpoint = <&ar0234_csi_out7>; status = "okay"; - }; + }; }; port@8 { reg = <8>; @@ -180,9 +180,9 @@ reg = <1>; status = "okay"; ar0234_csi_out0: endpoint@1 { - remote-endpoint = <&ar0234_vi_in0>; + remote-endpoint = <&ar0234_vi_in0>; status = "okay"; - }; + }; }; }; }; @@ -206,9 +206,9 @@ reg = <1>; status = "okay"; ar0234_csi_out1: endpoint@3 { - remote-endpoint = <&ar0234_vi_in1>; + remote-endpoint = <&ar0234_vi_in1>; status = "okay"; - }; + }; }; }; }; @@ -232,9 +232,9 @@ reg = <1>; status = "okay"; ar0234_csi_out2: endpoint@5 { - remote-endpoint = <&ar0234_vi_in2>; + remote-endpoint = <&ar0234_vi_in2>; status = "okay"; - }; + }; }; }; }; @@ -258,9 +258,9 @@ reg = <1>; status = "okay"; ar0234_csi_out3: endpoint@7 { - remote-endpoint = <&ar0234_vi_in3>; + remote-endpoint = <&ar0234_vi_in3>; status = "okay"; - }; + }; }; }; }; @@ -284,9 +284,9 @@ reg = <1>; status = "okay"; ar0234_csi_out4: endpoint@9 { - remote-endpoint = <&ar0234_vi_in4>; + remote-endpoint = <&ar0234_vi_in4>; status = "okay"; - }; + }; }; }; }; @@ -310,9 +310,9 @@ reg = <1>; status = "okay"; ar0234_csi_out5: endpoint@11 { - remote-endpoint = <&ar0234_vi_in5>; + remote-endpoint = <&ar0234_vi_in5>; status = "okay"; - }; + }; }; }; }; @@ -336,9 +336,9 @@ reg = <1>; status = "okay"; ar0234_csi_out6: endpoint@13 { - remote-endpoint = <&ar0234_vi_in6>; + remote-endpoint = <&ar0234_vi_in6>; status = "okay"; - }; + }; }; }; }; @@ -362,9 +362,9 @@ reg = <1>; status = "okay"; ar0234_csi_out7: endpoint@15 { - remote-endpoint = <&ar0234_vi_in7>; + remote-endpoint = <&ar0234_vi_in7>; status = "okay"; - }; + }; }; }; }; @@ -388,9 +388,9 @@ reg = <1>; status = "okay"; ar0234_csi_out8: endpoint@17 { - remote-endpoint = <&ar0234_vi_in8>; + remote-endpoint = <&ar0234_vi_in8>; status = "okay"; - }; + }; }; }; }; @@ -414,9 +414,9 @@ reg = <1>; status = "okay"; ar0234_csi_out9: endpoint@19 { - remote-endpoint = <&ar0234_vi_in9>; + remote-endpoint = <&ar0234_vi_in9>; status = "okay"; - }; + }; }; }; }; @@ -430,19 +430,19 @@ reg = <0>; status = "okay"; ar0234_csi_in10: endpoint@20 { - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_ar0234_out10>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_ar0234_out10>; status = "okay"; - }; + }; }; port@1 { reg = <1>; status = "okay"; ar0234_csi_out10: endpoint@21 { - remote-endpoint = <&ar0234_vi_in10>; + remote-endpoint = <&ar0234_vi_in10>; status = "okay"; - }; + }; }; }; }; @@ -456,19 +456,19 @@ reg = <0>; status = "okay"; ar0234_csi_in11: endpoint@22 { - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_ar0234_out11>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_ar0234_out11>; status = "okay"; - }; + }; }; port@1 { reg = <1>; status = "okay"; ar0234_csi_out11: endpoint@23 { - remote-endpoint = <&ar0234_vi_in11>; + remote-endpoint = <&ar0234_vi_in11>; status = "okay"; - }; + }; }; }; }; @@ -535,10 +535,10 @@ port@0 { reg = <0>; ar0234_ar0234_out8: endpoint { - vc-id = <0>; - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in8>; + vc-id = <0>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in8>; }; }; }; @@ -603,10 +603,10 @@ port@0 { reg = <0>; ar0234_ar0234_out9: endpoint { - vc-id = <1>; - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in9>; + vc-id = <1>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in9>; }; }; }; @@ -671,10 +671,10 @@ port@0 { reg = <0>; ar0234_ar0234_out10: endpoint { - vc-id = <2>; - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in10>; + vc-id = <2>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in10>; }; }; }; @@ -739,10 +739,10 @@ port@0 { reg = <0>; ar0234_ar0234_out11: endpoint { - vc-id = <3>; - port-index = <4>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in11>; + vc-id = <3>; + port-index = <4>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in11>; }; }; }; @@ -899,10 +899,10 @@ port@0 { reg = <0>; ar0234_ar0234_out0: endpoint { - vc-id = <0>; - port-index = <0>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in0>; + vc-id = <0>; + port-index = <0>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in0>; }; }; }; @@ -967,10 +967,10 @@ port@0 { reg = <0>; ar0234_ar0234_out1: endpoint { - vc-id = <1>; - port-index = <0>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in1>; + vc-id = <1>; + port-index = <0>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in1>; }; }; }; @@ -1037,10 +1037,10 @@ port@0 { reg = <0>; ar0234_ar0234_out2: endpoint { - vc-id = <0>; - port-index = <1>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in2>; + vc-id = <0>; + port-index = <1>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in2>; }; }; }; @@ -1105,14 +1105,16 @@ port@0 { reg = <0>; ar0234_ar0234_out3: endpoint { - vc-id = <1>; - port-index = <1>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in3>; + vc-id = <1>; + port-index = <1>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in3>; }; }; }; }; + }; + i2c@2 { ar0234_e@34 { compatible = "nvidia,ar0234_hawk_owl"; reg = <0x34>; @@ -1173,10 +1175,10 @@ port@0 { reg = <0>; ar0234_ar0234_out4: endpoint { - vc-id = <0>; - port-index = <2>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in4>; + vc-id = <0>; + port-index = <2>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in4>; }; }; }; @@ -1241,14 +1243,16 @@ port@0 { reg = <0>; ar0234_ar0234_out5: endpoint { - vc-id = <1>; - port-index = <2>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in5>; + vc-id = <1>; + port-index = <2>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in5>; }; }; }; }; + }; + i2c@3 { ar0234_g@36 { compatible = "nvidia,ar0234_hawk_owl"; reg = <0x36>; @@ -1309,10 +1313,10 @@ port@0 { reg = <0>; ar0234_ar0234_out6: endpoint { - vc-id = <0>; - port-index = <3>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in6>; + vc-id = <0>; + port-index = <3>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in6>; }; }; }; @@ -1377,10 +1381,10 @@ port@0 { reg = <0>; ar0234_ar0234_out7: endpoint { - vc-id = <1>; - port-index = <3>; - bus-width = <2>; - remote-endpoint = <&ar0234_csi_in7>; + vc-id = <1>; + port-index = <3>; + bus-width = <2>; + remote-endpoint = <&ar0234_csi_in7>; }; }; }; @@ -1409,6 +1413,7 @@ drivernode0 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_sensor"; + /* Declare the device-tree hierarchy to driver instance */ sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/ar0234_i@30"; status = "okay"; }; @@ -1421,6 +1426,7 @@ drivernode0 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_sensor"; + /* Declare the device-tree hierarchy to driver instance */ sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/ar0234_j@32"; status = "okay"; }; @@ -1498,7 +1504,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_e@34"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@2/ar0234_e@34"; status = "okay"; }; }; @@ -1509,7 +1515,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_f@35"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@2/ar0234_f@35"; status = "okay"; }; }; @@ -1520,7 +1526,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_g@36"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@3/ar0234_g@36"; status = "okay"; }; }; @@ -1531,7 +1537,7 @@ status = "okay"; drivernode0 { pcl_id = "v4l2_sensor"; - sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@1/ar0234_h@37"; + sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@31e0000/virtual_i2c_mux@50/i2c@3/ar0234_h@37"; status = "okay"; }; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-1Hawk-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-1Hawk-overlay.dts index fe7e6be..4ad9233 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-1Hawk-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-1Hawk-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -154,12 +154,16 @@ ar0234_d@33 { status = "disabled"; }; + }; + i2c@2 { ar0234_e@34 { status = "disabled"; }; ar0234_f@35 { status = "disabled"; }; + }; + i2c@3 { ar0234_g@36 { status = "disabled"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-2Hawk-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-2Hawk-overlay.dts index 03e5d77..1b30bd9 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-2Hawk-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-2Hawk-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -154,12 +154,16 @@ ar0234_d@33 { status = "okay"; }; + }; + i2c@2 { ar0234_e@34 { status = "disabled"; }; ar0234_f@35 { status = "disabled"; }; + }; + i2c@3 { ar0234_g@36 { status = "disabled"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-3Hawk-3Owl-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-3Hawk-3Owl-overlay.dts index 7621345..5f9268f 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-3Hawk-3Owl-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-3Hawk-3Owl-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -155,12 +155,16 @@ ar0234_d@33 { status = "okay"; }; + }; + i2c@2 { ar0234_e@34 { status = "okay"; }; ar0234_f@35 { status = "okay"; }; + }; + i2c@3 { ar0234_g@36 { status = "disabled"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-4Hawk-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-4Hawk-overlay.dts index 028270b..4e3be4a 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-4Hawk-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-4Hawk-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -154,12 +154,16 @@ ar0234_d@33 { status = "okay"; }; + }; + i2c@2 { ar0234_e@34 { status = "okay"; }; ar0234_f@35 { status = "okay"; }; + }; + i2c@3 { ar0234_g@36 { status = "okay"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-4Owl-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-4Owl-overlay.dts index 4ea7cb6..6204e09 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-4Owl-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-4Owl-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -155,12 +155,16 @@ ar0234_d@33 { status = "disabled"; }; + }; + i2c@2 { ar0234_e@34 { status = "disabled"; }; ar0234_f@35 { status = "disabled"; }; + }; + i2c@3 { ar0234_g@36 { status = "disabled"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00-overlay.dts b/overlay/tegra234-p3737-camera-p3762-a00-overlay.dts index 5000dfb..8f8e1ca 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00-overlay.dts +++ b/overlay/tegra234-p3737-camera-p3762-a00-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -78,12 +78,16 @@ ar0234_d@33 { status = "okay"; }; + }; + i2c@2 { ar0234_e@34 { status = "okay"; }; ar0234_f@35 { status = "okay"; }; + }; + i2c@3 { ar0234_g@36 { status = "okay"; }; diff --git a/overlay/tegra234-p3737-camera-p3762-a00.dtsi b/overlay/tegra234-p3737-camera-p3762-a00.dtsi index 6bed8e3..83a6cfe 100644 --- a/overlay/tegra234-p3737-camera-p3762-a00.dtsi +++ b/overlay/tegra234-p3737-camera-p3762-a00.dtsi @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. #include "tegra234-camera-p3762-a00.dtsi" #include "dt-bindings/gpio/tegra234-gpio.h" @@ -215,6 +215,12 @@ pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>; pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>; }; + }; + i2c@2 { + reg = <2>; + i2c-mux,deselect-on-exit; + #address-cells = <1>; + #size-cells = <0>; ar0234_e@34 { status = "disabled"; def-addr = <0x10>; @@ -247,6 +253,12 @@ pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>; pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>; }; + }; + i2c@3 { + reg = <3>; + i2c-mux,deselect-on-exit; + #address-cells = <1>; + #size-cells = <0>; ar0234_g@36 { status = "disabled"; def-addr = <0x10>; diff --git a/overlay/tegra234-p3740-camera-p3783-a00-overlay.dts b/overlay/tegra234-p3740-camera-p3783-a00-overlay.dts index 8d85f58..4837d49 100644 --- a/overlay/tegra234-p3740-camera-p3783-a00-overlay.dts +++ b/overlay/tegra234-p3740-camera-p3783-a00-overlay.dts @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. /dts-v1/; /plugin/; @@ -215,6 +215,12 @@ pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>; pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>; }; + }; + i2c@2 { + reg = <2>; + i2c-mux,deselect-on-exit; + #address-cells = <1>; + #size-cells = <0>; ar0234_e@34 { status = "okay"; def-addr = <0x10>; @@ -247,6 +253,12 @@ pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>; pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>; }; + }; + i2c@3 { + reg = <3>; + i2c-mux,deselect-on-exit; + #address-cells = <1>; + #size-cells = <0>; ar0234_g@36 { status = "okay"; def-addr = <0x10>;