{"id":2220067,"url":"http://patchwork.ozlabs.org/api/patches/2220067/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260406083404.31359-5-clamor95@gmail.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260406083404.31359-5-clamor95@gmail.com>","list_archive_url":null,"date":"2026-04-06T08:33:59","name":"[v1,4/9] ARM: tegra: grouper: Add support for front camera","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"3bc178a6f794a27d22a2f6730c0646e2badf42a6","submitter":{"id":84146,"url":"http://patchwork.ozlabs.org/api/people/84146/?format=json","name":"Svyatoslav Ryhel","email":"clamor95@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260406083404.31359-5-clamor95@gmail.com/mbox/","series":[{"id":498831,"url":"http://patchwork.ozlabs.org/api/series/498831/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=498831","date":"2026-04-06T08:33:55","name":"ARM: tegra: complete a few Tegra30 device trees","version":1,"mbox":"http://patchwork.ozlabs.org/series/498831/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2220067/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2220067/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-13580-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=RodDwMqj;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13580-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"RodDwMqj\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.51","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fq2h54Cj0z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 18:35:01 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 82C2E301E3CB\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  6 Apr 2026 08:34:20 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 62BF63195F9;\n\tMon,  6 Apr 2026 08:34:20 +0000 (UTC)","from mail-wm1-f51.google.com (mail-wm1-f51.google.com\n [209.85.128.51])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 89B90314B76\n\tfor <linux-tegra@vger.kernel.org>; Mon,  6 Apr 2026 08:34:18 +0000 (UTC)","by mail-wm1-f51.google.com with SMTP id\n 5b1f17b1804b1-483487335c2so37252225e9.2\n        for <linux-tegra@vger.kernel.org>;\n Mon, 06 Apr 2026 01:34:18 -0700 (PDT)","from xeon ([188.163.112.56])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48899e7e83fsm84241315e9.24.2026.04.06.01.34.15\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 06 Apr 2026 01:34:16 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775464460; cv=none;\n b=dnH/eUiNDUSDXMnRVTQwSUG5FFabpzFoPHtXR824XZ9wN+020Ojvcb94gEHwhlb5mnzNG/aOM/ak/WpmlbIzKpaVZOOPkttE1+upHtQd1jKMcmx6MnZujen1DlQhIAJcZiELW7L24uI1C/55r66wLrDKSAiEX6u0Vdf5+Nxi9lg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775464460; c=relaxed/simple;\n\tbh=rZ4cYL3t40L5GT+3D0ZuPAH0zMuM4u4V7RvsxEXZiEI=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=BS2nN2dxjuXFtlk/MoKLmbtYmM23ImKQhmwa46iU/HsjvPQ1omIFqwYQldFOU8rF1Km9OZpR8qWIqhvNJcff5CF4G7l96DhH9tgDk7FCTIWNMhljzCENwADlvmU/StaQE/2RIHNAxA+RCbaIAcdUPwXvwRnNemoDW2+omk4yxak=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=RodDwMqj; arc=none smtp.client-ip=209.85.128.51","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775464457; x=1776069257;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=WCpb66fRDDpaHGoTh0CXxAdG/v4EU9iEv2l0kxMx/uI=;\n        b=RodDwMqjKNkir1Dj4Pmn/R2FW/UV52R/w6adGoNxIc7q2qLPGzn2lIrcHy8uiynVTL\n         jlqDSVrof8vWknnw4BJ/S1kIOGSejgWWYLjdPIRfwdkbqDg+x/py6+cnAQ9gWVRmI9RW\n         N6QSN5EwjyElD1AZSy5c6L82igXQId3VGQ2jSUNIQMmOK9OiTaCAb9jlupu9nWEIGD5p\n         dzYWro1AsL2Ijgb6q4RYRHDgYBfal/Brm1uaoCwf43H9s4+3b7YpjUsveG8cH9sLwChn\n         9xcird7FoKqgb8aypcwkVnjQZCbzP7gwdLP/qu9rUFnloI6BF6BQxv+0l4Ve0ZDfsQ8a\n         BUXQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775464457; x=1776069257;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=WCpb66fRDDpaHGoTh0CXxAdG/v4EU9iEv2l0kxMx/uI=;\n        b=rOHagKro7jNkJTpA62+sT1GSbwawC02hDiM9+ToPOJGOopzK1yxrGXIUQhLtG9sO5g\n         SsPNqoqLiXUxeerFXnKYxoglJmsqE+MRF/eTal+svlKdorcLUNXtvX60Bm3uyxSW7PfS\n         r1sI4W3TGG33oQ1dA9GRuPHI/FkMNi0nI26cTLtNh41UUX/QeeRyUwqyeDZeAUUA+ATP\n         RvDrm8AKDsGlI8+4zI6KoXI01k3R5RvDW2OOnXD0qOO3ZlIwwI9vMP8dNyNy1b8H8sgE\n         vuYcWgwS3S1vP+ReVJgDOIMus0tJ6BVqrDm9iKizWVTJk+ZZ2nrMuHxHuVz97R4NueGd\n         fglg==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXkJtCX3tw3C4c0R1iEsOl/9UNibuFNHxnf/8aLpwIhTGiNq3KS2OJ/rGlYBFMf/BEz7ZVJuIS9Ud+CmA==@vger.kernel.org","X-Gm-Message-State":"AOJu0Yw65d8FJ2cuY22oWe8O8ZeYLdLaLMWQT/HwEheSnqs4dCtH4s9b\n\ti1i8VpCGJw8Ttyu5sRW1aXOgkWGvqjhodZzXJkpAfjYAal0FiZK1OWb2","X-Gm-Gg":"AeBDiesNilB9E8P33s/+U68CTDBb7ruHLkBZYe4HJLUEwMvodHlAaX43Qjei+ifI9Dy\n\taJxNpTkN/+OZCRIvwPk7p5VHYD2NRCphTcoS19DlRzuYSb0wKotG0FDZKinnmy/yRCZrZcxuIjc\n\tlqiAgQyNv1uQoCc3lxggH1CzmN4rGJNWfz6bCpuXQcBBH2kdcuHN9tt/nwU6cTxHVPSbTpKuhRa\n\tTmQlcDGPQVb/0p8mKGzvqggPBdjX6SFwF0yd8+X/zNOPzrqycblgYu+f73kIxErf9fziRv/LoM6\n\tmgVRmoz9hm5sJwFjQsLcqNrSYFwzlhY8WZEk+vQ0TBdFqfDSS5Jj3/hg/qgrb82D7Ce3VjkLF15\n\tY6cVKuUugI2PX7W6RAzvDmCiWl7g+OqZOsSAC53lRT3JvCEAeW8+sRDvScbBNYQBdZ31J7VfWJ1\n\tu8rxwWto1TWZWw","X-Received":"by 2002:a05:600c:4f15:b0:488:945a:ed63 with SMTP id\n 5b1f17b1804b1-488995cbaa7mr185272685e9.0.1775464456787;\n        Mon, 06 Apr 2026 01:34:16 -0700 (PDT)","From":"Svyatoslav Ryhel <clamor95@gmail.com>","To":"Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>,\n Thierry Reding <thierry.reding@kernel.org>,\n Jonathan Hunter <jonathanh@nvidia.com>,\n Svyatoslav Ryhel <clamor95@gmail.com>, Ion Agorria <ion@agorria.com>,\n\t=?utf-8?q?Jonas_Schw=C3=B6bel?= <jonasschwoebel@yahoo.de>","Cc":"devicetree@vger.kernel.org,\n\tlinux-tegra@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"[PATCH v1 4/9] ARM: tegra: grouper: Add support for front camera","Date":"Mon,  6 Apr 2026 11:33:59 +0300","Message-ID":"<20260406083404.31359-5-clamor95@gmail.com>","X-Mailer":"git-send-email 2.51.0","In-Reply-To":"<20260406083404.31359-1-clamor95@gmail.com>","References":"<20260406083404.31359-1-clamor95@gmail.com>","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"Add front camera video path.\n\nSigned-off-by: Svyatoslav Ryhel <clamor95@gmail.com>\n---\n .../tegra30-asus-nexus7-grouper-common.dtsi   | 128 ++++++++++++++++++\n ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |   4 +-\n .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |   4 +-\n 3 files changed, 132 insertions(+), 4 deletions(-)","diff":"diff --git a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-common.dtsi b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-common.dtsi\nindex 15f53babdc21..892d718294dd 100644\n--- a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-common.dtsi\n+++ b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-common.dtsi\n@@ -2,6 +2,7 @@\n \n #include <dt-bindings/input/gpio-keys.h>\n #include <dt-bindings/input/input.h>\n+#include <dt-bindings/media/video-interfaces.h>\n #include <dt-bindings/power/summit,smb347-charger.h>\n #include <dt-bindings/thermal/thermal.h>\n \n@@ -84,6 +85,93 @@ init-mode-hog {\n \t\t};\n \t};\n \n+\thost1x@50000000 {\n+\t\tvi@54080000 {\n+\t\t\tstatus = \"okay\";\n+\n+\t\t\tcsi@800 {\n+\t\t\t\tstatus = \"okay\";\n+\n+\t\t\t\tavdd-dsi-csi-supply = <&avdd_dsi_csi>;\n+\n+\t\t\t\t/* CSI-A */\n+\t\t\t\tchannel@0 {\n+\t\t\t\t\treg = <0>;\n+\n+\t\t\t\t\tnvidia,mipi-calibrate = <&csi 0>; /* CSIA pad */\n+\n+\t\t\t\t\t#address-cells = <1>;\n+\t\t\t\t\t#size-cells = <0>;\n+\n+\t\t\t\t\tport@0 {\n+\t\t\t\t\t\treg = <0>;\n+\n+\t\t\t\t\t\tcsia_input: endpoint {\n+\t\t\t\t\t\t\tdata-lanes = <1 2>;\n+\t\t\t\t\t\t\t/* No rear camera */\n+\t\t\t\t\t\t};\n+\t\t\t\t\t};\n+\n+\t\t\t\t\tport@1 {\n+\t\t\t\t\t\treg = <1>;\n+\n+\t\t\t\t\t\tcsia_output: endpoint {\n+\t\t\t\t\t\t\tremote-endpoint = <&vi_ppa_input>;\n+\t\t\t\t\t\t};\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\n+\t\t\t\t/* CSI-B */\n+\t\t\t\tchannel@1 {\n+\t\t\t\t\treg = <1>;\n+\n+\t\t\t\t\tnvidia,mipi-calibrate = <&csi 1>; /* CSIB pad */\n+\n+\t\t\t\t\t#address-cells = <1>;\n+\t\t\t\t\t#size-cells = <0>;\n+\n+\t\t\t\t\tport@0 {\n+\t\t\t\t\t\treg = <0>;\n+\n+\t\t\t\t\t\tcsib_input: endpoint {\n+\t\t\t\t\t\t\tdata-lanes = <3>;\n+\t\t\t\t\t\t\tremote-endpoint = <&front_camera_output>;\n+\t\t\t\t\t\t};\n+\t\t\t\t\t};\n+\n+\t\t\t\t\tport@1 {\n+\t\t\t\t\t\treg = <1>;\n+\n+\t\t\t\t\t\tcsib_output: endpoint {\n+\t\t\t\t\t\t\tremote-endpoint = <&vi_ppb_input>;\n+\t\t\t\t\t\t};\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\t\t\t};\n+\n+\t\t\tports {\n+\t\t\t\t#address-cells = <1>;\n+\t\t\t\t#size-cells = <0>;\n+\n+\t\t\t\tport@0 {\n+\t\t\t\t\treg = <0>;\n+\n+\t\t\t\t\tvi_ppa_input: endpoint {\n+\t\t\t\t\t\tremote-endpoint = <&csia_output>;\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\n+\t\t\t\tport@1 {\n+\t\t\t\t\treg = <1>;\n+\n+\t\t\t\t\tvi_ppb_input: endpoint {\n+\t\t\t\t\t\tremote-endpoint = <&csib_output>;\n+\t\t\t\t\t};\n+\t\t\t\t};\n+\t\t\t};\n+\t\t};\n+\t};\n+\n \tpinmux@70000868 {\n \t\tpinctrl-names = \"default\";\n \t\tpinctrl-0 = <&state_default>;\n@@ -890,6 +978,36 @@ light-sensor@1c {\n \t\t\tvdd-supply = <&vdd_3v3_sys>;\n \t\t};\n \n+\t\t/* Aptina 1/6\" HD SOC (MI1040) */\n+\t\tfront-camera@48 {\n+\t\t\tcompatible = \"aptina,mi1040\";\n+\t\t\treg = <0x48>;\n+\n+\t\t\tclocks = <&tegra_car TEGRA30_CLK_CSUS>;\n+\n+\t\t\treset-gpios = <&gpio TEGRA_GPIO(O, 0) GPIO_ACTIVE_LOW>;\n+\n+\t\t\tvddio-supply = <&avdd_cam1>;\n+\t\t\tvdd-supply = <&vddio_cam>;\n+\t\t\tvaa-supply = <&avdd_cam1>;\n+\n+\t\t\torientation = <0>; /* Front camera */\n+\n+\t\t\tassigned-clocks = <&tegra_car TEGRA30_CLK_VI_SENSOR>,\n+\t\t\t\t\t  <&tegra_car TEGRA30_CLK_CSUS>;\n+\t\t\tassigned-clock-rates = <24000000>;\n+\t\t\tassigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_P>,\n+\t\t\t\t\t\t <&tegra_car TEGRA30_CLK_VI_SENSOR>;\n+\n+\t\t\tport {\n+\t\t\t\tfront_camera_output: endpoint {\n+\t\t\t\t\tbus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;\n+\t\t\t\t\tlink-frequencies = /bits/ 64 <384000000>;\n+\t\t\t\t\tremote-endpoint = <&csib_input>;\n+\t\t\t\t};\n+\t\t\t};\n+\t\t};\n+\n \t\taccelerometer@68 {\n \t\t\tcompatible = \"invensense,mpu6050\";\n \t\t\treg = <0x68>;\n@@ -1203,6 +1321,16 @@ vcc_3v3_ts: regulator-ts {\n \t\tvin-supply = <&vdd_5v0_sys>;\n \t};\n \n+\tavdd_cam1: regulator-vcam1 {\n+\t\tcompatible = \"regulator-fixed\";\n+\t\tregulator-name = \"avdd_cam1\";\n+\t\tregulator-min-microvolt = <2850000>;\n+\t\tregulator-max-microvolt = <2850000>;\n+\t\tgpio = <&gpio TEGRA_GPIO(R, 6) GPIO_ACTIVE_HIGH>;\n+\t\tenable-active-high;\n+\t\tvin-supply = <&vdd_5v0_sys>;\n+\t};\n+\n \tsound {\n \t\tcompatible = \"nvidia,tegra-audio-rt5640-grouper\",\n \t\t\t     \"nvidia,tegra-audio-rt5640\";\ndiff --git a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi\nindex 694c7fe37eb8..4bd98935031b 100644\n--- a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi\n+++ b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi\n@@ -135,7 +135,7 @@ ldo4 {\n \t\t\t\t\tregulator-boot-on;\n \t\t\t\t};\n \n-\t\t\t\tldo5 {\n+\t\t\t\tvddio_cam: ldo5 {\n \t\t\t\t\tregulator-name = \"vdd_camera\";\n \t\t\t\t\tregulator-min-microvolt = <1800000>;\n \t\t\t\t\tregulator-max-microvolt = <1800000>;\n@@ -149,7 +149,7 @@ ldo6 {\n \t\t\t\t\tregulator-boot-on;\n \t\t\t\t};\n \n-\t\t\t\tldo7 {\n+\t\t\t\tavdd_dsi_csi: ldo7 {\n \t\t\t\t\tregulator-name = \"avdd_dsi_csi\";\n \t\t\t\t\tregulator-min-microvolt = <1200000>;\n \t\t\t\t\tregulator-max-microvolt = <1200000>;\ndiff --git a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-ti-pmic.dtsi b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-ti-pmic.dtsi\nindex ee4a3f482769..8fe3c62c9052 100644\n--- a/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-ti-pmic.dtsi\n+++ b/arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-ti-pmic.dtsi\n@@ -92,13 +92,13 @@ ldo4 {\n \t\t\t\t\tregulator-always-on;\n \t\t\t\t};\n \n-\t\t\t\tldo5 {\n+\t\t\t\tvddio_cam: ldo5 {\n \t\t\t\t\tregulator-name = \"vddio_sdmmc,avdd_vdac\";\n \t\t\t\t\tregulator-min-microvolt = <1800000>;\n \t\t\t\t\tregulator-max-microvolt = <1800000>;\n \t\t\t\t};\n \n-\t\t\t\tldo6 {\n+\t\t\t\tavdd_dsi_csi: ldo6 {\n \t\t\t\t\tregulator-name = \"avdd_dsi_csi,pwrdet_mipi\";\n \t\t\t\t\tregulator-min-microvolt = <1200000>;\n \t\t\t\t\tregulator-max-microvolt = <1200000>;\n","prefixes":["v1","4/9"]}