{"id":2220068,"url":"http://patchwork.ozlabs.org/api/patches/2220068/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260406083404.31359-6-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-6-clamor95@gmail.com>","list_archive_url":null,"date":"2026-04-06T08:34:00","name":"[v1,5/9] ARM: tegra: transformer: Add support for front camera","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"e21311ec2c004a5be0057d4413aa3c3cf2954e80","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-6-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/2220068/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2220068/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-13581-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=UPaqUcGp;\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-13581-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=\"UPaqUcGp\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.49","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 4fq2hN4k29z1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 18:35:16 +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 929003022067\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  6 Apr 2026 08:34:21 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 763E2313E01;\n\tMon,  6 Apr 2026 08:34:21 +0000 (UTC)","from mail-wm1-f49.google.com (mail-wm1-f49.google.com\n [209.85.128.49])\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 8755222083\n\tfor <linux-tegra@vger.kernel.org>; Mon,  6 Apr 2026 08:34:19 +0000 (UTC)","by mail-wm1-f49.google.com with SMTP id\n 5b1f17b1804b1-488aa77a06eso17251415e9.0\n        for <linux-tegra@vger.kernel.org>;\n Mon, 06 Apr 2026 01:34:19 -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.16\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 06 Apr 2026 01:34:17 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775464461; cv=none;\n b=Q0YwFKtxWKIb+8s/EZcEFh8mYQwYQ//TdnALHNJyl2YWyhkUNKS0jd/5yNdOUOXf4d01tMsNFrGGqd+A+mZL4d6CRDjt7IiaRVdbaOsyCYQPNeEyD01NQhh5yc78uvM68Ftp98fR6m1MKrtxPGuDQu/vUxaoCG9k5RcxXUuuH5k=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775464461; c=relaxed/simple;\n\tbh=HvRnVDts5ARzEgDQd1uxaF/Ni636zkJ9D8rxyroqkjc=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=cZnEFVOMLeHJtlapydjiKJGTHuL35T8aLqcc7pNR+rNe9gPTztgH2dkZ3F9YgKJf0g2kuX2E/0YcmEYIoUI3eucx8Z9mYLkHCMiwZsPtC3Kxrxt8Djuo3Db1x47cucrTjcXZWjUcCm3CoKn2wo/Aaso73dWpkYpvX0fIiJatlao=","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=UPaqUcGp; arc=none smtp.client-ip=209.85.128.49","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775464458; x=1776069258;\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=bd49eOxiPUr+nKhdQNMwO1I+nWDzaH1EHGVy7eWJkcs=;\n        b=UPaqUcGpG0M9CPFdqzPLRmMBANm3ifGQJLEk0c6+65h5IKghgHF3FJkF1tmQdnEpFd\n         xH8B5u4ewSvjgdXeN3V5foyfLaGh7YUl33NVexJyfvp3+8EhXo4AhP1u8BFfhOz7Hgy6\n         qlIhTYZUylgGTo7b/xNl+pB4xvaH11e9z80i7m2Rmq5R+gLtk3stizb32J0XL+oleamr\n         Vhvy8xbIv9Km44eZAWQisKbJf6iJkkBVQLQbe0yFFnKjVKd5Oo+Jvof2W7O5f2FowR/O\n         yGL/G9OIJE42YfKzcY6tL+6B36H2Hm3gNgaZaLc3I3AINYud0J88AcnNl03t0tceKdpW\n         zRSQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775464458; x=1776069258;\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=bd49eOxiPUr+nKhdQNMwO1I+nWDzaH1EHGVy7eWJkcs=;\n        b=S7FNLJCQDEHETHqU/dOzN42fwd16B3XGvcONAEpYlQfLBavkNGQpvKex4LYiU2uGIf\n         8ZqbSBtpufa7ujmeQNG4otz/q3NhOewUvfMh77ev2pnGzvd41ciPBEtXrOXYTlFsLidz\n         lx0/n+p40VIqtErkN8G9sd+pXxv2W+nC/7gCmXCcwERPeeJALn9BHwxRyCsGCPWfs7AH\n         lXPTIRTwLquCn0Pz3ZS8yCZSSzrDbVjvhi5l6dDIKVxWbSTG5QQS5UZOZ+v3a5TKFqve\n         idYK3+vX9YsJ6c/6vsoqpsClxMCqumKxtN4tG73n7b3HwSSXbbbB0sEnUpyA3OJGlkfq\n         QNig==","X-Forwarded-Encrypted":"i=1;\n AJvYcCV6I9oD0M3m3KKTRPHYOF7Go8uEXHCXw5zIm5uqRWM2Ex+2f3ciVs+WyprPxSd5wVuw/zNa1278oex75Q==@vger.kernel.org","X-Gm-Message-State":"AOJu0YzRN31ItLyevYYm11XM9S+/czmMHzlpO3tvkoFxBfJlRLUK37ST\n\tFqvZHVmTw/SHJr+OutN+K3PIM3BhBCao76IguC2thXJQoDIVO9k4OhFd","X-Gm-Gg":"AeBDiesmjJcVRGD0JH03jK7Ec1cUtZZNEi52prsGbKsp8mf/59Zkg50Yco9JQmqBdMK\n\tenkj42q9b+cT0QYpdVQpSxV9NDs3XG4aYxid3HWhIA/YcOU+5RLmWmEkbTGr5T1Wgc7C/eGEf2t\n\tp79U/YmvWgwQMcCW2gaPGVhZHHEP8m69iOB41307yF++5gtG3BcH3VEe9PP0d/q/Yph4zEQaCZw\n\to9uMw9MHNItV8yvKwJiiilP8fk4QuHX5888icevWJL4XQ9nf547cFU7btU+7TfwcnhTaCgfIemE\n\tg7Yk3jS1XAFxaxm8oIhRwo34kfytSgH0qWa7/dpGi1Obuq+DC95s0qaI9w02j57L4u8MoIkC2zh\n\tHFC6WrFTzMxR0I3WBNwKrJP84oz+W7iRIDnYyGeQguY2+0rkYYT80K8QWSG6qp0AWpTZoEjFFvV\n\t9uFiL4e0/1EIkh","X-Received":"by 2002:a05:600d:12:b0:488:8bdd:cfc7 with SMTP id\n 5b1f17b1804b1-488995d140bmr130951175e9.0.1775464457889;\n        Mon, 06 Apr 2026 01:34:17 -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 5/9] ARM: tegra: transformer: Add support for front camera","Date":"Mon,  6 Apr 2026 11:34:00 +0300","Message-ID":"<20260406083404.31359-6-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. Aptina MI1040 camera is used on all supported\nASUS Transformers, but only TF201 and TF700T will work since on\nTF300T/TG/TL front camera is linked through an additional ISP.\n\nSigned-off-by: Svyatoslav Ryhel <clamor95@gmail.com>\n---\n .../tegra30-asus-transformer-common.dtsi      | 138 +++++++++++++++++-\n 1 file changed, 137 insertions(+), 1 deletion(-)","diff":"diff --git a/arch/arm/boot/dts/nvidia/tegra30-asus-transformer-common.dtsi b/arch/arm/boot/dts/nvidia/tegra30-asus-transformer-common.dtsi\nindex 0e06136042a9..d4a7bae51830 100644\n--- a/arch/arm/boot/dts/nvidia/tegra30-asus-transformer-common.dtsi\n+++ b/arch/arm/boot/dts/nvidia/tegra30-asus-transformer-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/thermal/thermal.h>\n \n #include \"tegra30.dtsi\"\n@@ -73,6 +74,91 @@ trustzone@bfe00000 {\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/* Add 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+\n \t\thdmi: hdmi@54280000 {\n \t\t\tstatus = \"okay\";\n \n@@ -1173,6 +1259,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 = <&vdd_1v8_cam>;\n+\t\t\tvdd-supply = <&vdd_1v8_cam>;\n+\t\t\tvaa-supply = <&avdd_2v85_fcam>;\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\tgyroscope@68 {\n \t\t\tcompatible = \"invensense,mpu3050\";\n \t\t\treg = <0x68>;\n@@ -1310,7 +1426,7 @@ ldo4 {\n \n \t\t\t\t/* LDO5 is not used by Transformers */\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@@ -1685,6 +1801,26 @@ hdmi_5v0_sys: regulator-hdmi {\n \t\tvin-supply = <&vdd_5v0_sys>;\n \t};\n \n+\tvdd_1v8_cam: regulator-viocam {\n+\t\tcompatible = \"regulator-fixed\";\n+\t\tregulator-name = \"vdd_1v8_cam\";\n+\t\tregulator-min-microvolt = <1800000>;\n+\t\tregulator-max-microvolt = <1800000>;\n+\t\tgpio = <&gpio TEGRA_GPIO(BB, 4) GPIO_ACTIVE_HIGH>;\n+\t\tenable-active-high;\n+\t\tvin-supply = <&vdd_1v8_vio>;\n+\t};\n+\n+\tavdd_2v85_fcam: regulator-avcam-front {\n+\t\tcompatible = \"regulator-fixed\";\n+\t\tregulator-name = \"vdd_2v85_fcam\";\n+\t\tregulator-min-microvolt = <2850000>;\n+\t\tregulator-max-microvolt = <2850000>;\n+\t\tgpio = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_HIGH>;\n+\t\tenable-active-high;\n+\t\tvin-supply = <&vdd_3v3_sys>;\n+\t};\n+\n \tsound {\n \t\tnvidia,i2s-controller = <&tegra_i2s1>;\n \n","prefixes":["v1","5/9"]}