From nobody Sat Oct 4 09:40:49 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2044.outbound.protection.outlook.com [40.107.223.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F5B430DEAD; Mon, 18 Aug 2025 09:24:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.44 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509092; cv=fail; b=eLEP+Wxs5uZRhw2vRx5ipaYU5pRj2xJqAF2n0ysZAEL/QXcBbo4oQaYEcgVqdT8S1uHK53onYqL4lAmwSbF6AS9TLyDeNzX2QlrlzGNiSKoOz2AfRqxEoGPXXYj+5btA4yU8K9D6h/xSEEzNE5E4btYWoaeGUYpWDQRn8mlLvXM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509092; c=relaxed/simple; bh=AKHZUl9sirmivCeMeD42IsCP9VXkiPMBTSJhdolaETI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qrJZ4Xf0aJ7Xsu1jwOkxVFMoSaDcXt6J2TJp3sn3XPdt0xSso7IjpokTdF9Gm1Y380FOShFQ3vGfipDrUejpKgXZ9fyvgGECUGDHrTi/ipDnXzktmrbKijqn8QkPoTihfUpOzBSkoPMxxAv8rA7gJpm31iIvLex/7DQWFHXtyKs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=SddFMSEE; arc=fail smtp.client-ip=40.107.223.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="SddFMSEE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tWMph0yy4NK/3+Q3YaKO4nI9Byp99tm4HYBjnLCU1D1HYGBAzLzzkHYMDFbjevNtXA3xcg5Ct4aGvsdurVHoMXdTl5u108K3pwKJfWs/eZ51Qqf2EoSdYAlEDeYKAxPpyatDvfgwImd3myHbxH2zfIIXGI5z/EqHbq3xD3OPGlwCB4oIFhdzUeyTquNhinLkLCyiNVUYsMN/pVa2eRtAK5nSyGbr3g2z5ryQXEHL2guXtAkiKadQrWz7iFXZHSsCqzKlDQ9zkyobnE3SNxkOhWclyDW3ppMtywbcwRm9KK2I/UKTqvaZBKhE2mlXR5Hai3mth+Numx2q6M1lYkg7qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wTZs20+4R+gm/l7JPhnmf43JXxQ28ckK+YHlpU2QDyI=; b=t8RvZtc1lwdf9gzsb7sYjIjuOqRzlQ+cNzLvjMLB848yFsIzbiRaz2MTKKwS6B7QNLTkhEaEZaHgoQvX/uxHYY+X8q7qU/n88ElSE4qhT6d01iN13UWrsRvLxbdyFytyHuVRBJDiu6mxyhSc74s4VKw/wPJTrUlB7qV7mS2DB3S/t4vLIss4VEq5sWTAmauAwWAj3fOZ0pGysdUUyGbqdLDf21eKDeKDGpBoSscf54WwQMifDhfJrLCOxmsY1R7N4TZ+DahB3aVzENDOUs/8XgY57pUo1EjHBk94ZxhoYQqI1+EYFT5p8Y8U5ujy0lFGkNTRCSppKFXTK4h3VBsMrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wTZs20+4R+gm/l7JPhnmf43JXxQ28ckK+YHlpU2QDyI=; b=SddFMSEER53kdgZb1mImug6Nk+v3QsdYwb0Ai6MBuFXsIN98k6DStYYCCgT1NXWO1EmO8KeMirgS3ohjRIAi1QP6wiV+6p0z01w6nl62kqtrmn0YW677Z2PGvcWy/+FwJdC1zAmhkEjxrM5AnXmYNHTBfo/ZGFT7Wd/J0clcs/t9z4eL7EoRFlxh0IAKa+aaCc88GvXdWa7DuDEG4KI4BK5L8SKOg058/H+t3kwqSW760FdN8NVcKd9NhqW1Q8yS53k43jXKBGUKSw8h5tbw6nfczlvUHeL2KtO+wD1oDFt4sjR7NA13aEdMYgabpJfXqx5l43OjRQwij6aDGLB78Q== Received: from CH0PR03CA0107.namprd03.prod.outlook.com (2603:10b6:610:cd::22) by SJ0PR12MB7033.namprd12.prod.outlook.com (2603:10b6:a03:448::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 09:24:44 +0000 Received: from CH3PEPF0000000E.namprd04.prod.outlook.com (2603:10b6:610:cd:cafe::61) by CH0PR03CA0107.outlook.office365.com (2603:10b6:610:cd::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Mon, 18 Aug 2025 09:24:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH3PEPF0000000E.mail.protection.outlook.com (10.167.244.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 09:24:44 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:33 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:32 -0700 Received: from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 18 Aug 2025 02:24:28 -0700 From: Kartik Rajput To: , , , , , , , , , , , , CC: , Conor Dooley Subject: [PATCH v4 1/5] dt-bindings: i2c: nvidia,tegra20-i2c: Document Tegra264 I2C Date: Mon, 18 Aug 2025 14:54:07 +0530 Message-ID: <20250818092412.444755-2-kkartik@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818092412.444755-1-kkartik@nvidia.com> References: <20250818092412.444755-1-kkartik@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF0000000E:EE_|SJ0PR12MB7033:EE_ X-MS-Office365-Filtering-Correlation-Id: 901016de-1815-4983-44d3-08ddde39119e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7416014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jLNsQojY24oUSrLQpkxTe8f3yzIDKSv+nhICCNJQEUAdzU14VMMSKzQ0Jlu/?= =?us-ascii?Q?ibb6LPCMBd5IEFvKV6vIsgrIQiHTuVnwAB6whXvUUmtA6zPvIK8pfNtJ9z1c?= =?us-ascii?Q?D+vXaY1lnOy7pPwu4rhIrxu4oBDZF+UT0mwOguzaehhHj3PTeO9kSsiAoIlK?= =?us-ascii?Q?N3YrtmF96skm5AkogsNqgQRP4D1WJaIHn+kDCKn9niOIedA5MQuHjW6VwZkm?= =?us-ascii?Q?W70WVdaED+0mB4BXj+QxS0K2UN1JcD0UuZiOXy4CM+M1hUS8muIJ444am8AH?= =?us-ascii?Q?W99fLL3C2TsGEbTe6MYUPOKQDtM9DgZJ8/Af8JghGQdrCufIsFWBU/NoYA0e?= =?us-ascii?Q?62nq23Nzfr/8EkvU3uuKXwpnk4x+5ASL/2gM2xyeaWSOQSmblmcHqZldjswt?= =?us-ascii?Q?3VP/depHsDhxFOcAbQ26yX/QLZcKk5WndJYESXCJaAR0hTnsnnIK4uP5S0WX?= =?us-ascii?Q?ZV70TdLW7Dfz2lEwursvDwwyxfcI5uARjLnKvQAbmClWsqUiIXCPGuWNsoxc?= =?us-ascii?Q?NTnsHhg95vn/fqBawC2ACXmSOJnZDW9owH+y6YxG/eYRy8E83QGllzcZyASM?= =?us-ascii?Q?mV9SuRZ5+a02wDgX2Uzl6R61d5EgsLWLauWGFuZtE0sOCCepjIth+Zu00KXc?= =?us-ascii?Q?eICNdKnwKWj/jMKkMWSUBG3Gltf920hrjBioRy4iH/pPgWntgalgicF7RW8w?= =?us-ascii?Q?hAL14ftIV27UduyQvSHgVfCsgZjm0vyY0mrGTBYQpmx9tu+7zAbkYALG5IQz?= =?us-ascii?Q?BGpmOeY+wy+jzp6MkX5KR/922nUffLwo2LTVOWjmQM3oz+rHxGptpjs87ko0?= =?us-ascii?Q?7OE6XSmRcJoii9GQ+0AeUeKYbrjVfnRtAxPs3fOEAHxMd4kIzXLkra6dDJ69?= =?us-ascii?Q?vlcz+6x+Ca1BMDEvy1eJmZC8g5wVvfyxFMdMn+CZxq6b6QQn0ALI4lELWrC1?= =?us-ascii?Q?dvxTOgas3d1C8cjlEKkp0PlsV56YCKxFu7LFgGzdUxGs/qKi3XRXnNN4t0iE?= =?us-ascii?Q?2RFQqGbE6HgQ8HZa/YVoXD5rGUcUMk6VVLRiJOyKY/WzxW0MqRLUPZqlM2Pp?= =?us-ascii?Q?OG03GqDhmg4dFTOyZ129osdiSevUvIVlFW0vMFSQBSXMJTorX1dTqCnS/yjq?= =?us-ascii?Q?Fpc8WzlKyvgRomIYUhxaGD2hlL8o2/j+mQfAjykHMDMXXCYJ5mRjb1xrT7Y+?= =?us-ascii?Q?v69SueGpodHl9PTVe89xu9kl3Ue3sbT5UJlQXw7gdNhh1Otc4Yj5KHMQVKu2?= =?us-ascii?Q?WgsYYlBiR7C+OcA3D7ONsPuHFVqCGPUbu4PVWBCoKAAQtmNEDdXQwVwA8YS3?= =?us-ascii?Q?TpApLeo+uzFZKa9Q6zkRjZIE7SHpN5XiLizTXyNHusfxKn/QLMiF2Eqs40of?= =?us-ascii?Q?ULfOijAtuinw9wH/dnfb3NjseVT1/EHqNFPjQe0ms6DGlrGbp4k8VNeBYSWM?= =?us-ascii?Q?2qNNq86WiBDIWd53b/I0a+PVcf5Jp74TPAl9bopg4ZmKepoUnYXtQ8s3VX7K?= =?us-ascii?Q?z9L+ZWE61MeJaOdKF/2bQy1lL0/7wSNVvf3EGn8Vk/4Vkyi9bI8N3Be4sQ?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7416014)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 09:24:44.4809 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 901016de-1815-4983-44d3-08ddde39119e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF0000000E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7033 Content-Type: text/plain; charset="utf-8" Tegra264 has 17 generic I2C controllers, two of which are in always-on partition of the SoC. In addition to the features supported by Tegra194 it also supports a SW mutex register to allow sharing the same I2C instance across multiple firmware. Document compatible string "nvidia,tegra264-i2c" for Tegra264 I2C. Signed-off-by: Kartik Rajput Acked-by: Conor Dooley --- v2 -> v3: * Add constraints for "nvidia,tegra264-i2c". v1 -> v2: * Fixed typos. --- .../devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml = b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml index 6b6f6762d122..f0693b872cb6 100644 --- a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml @@ -80,6 +80,12 @@ properties: support for 64 KiB transactions whereas earlier chips supported = no more than 4 KiB per transactions. const: nvidia,tegra194-i2c + - description: + Tegra264 has 17 generic I2C controllers, two of which are in the= AON + (always-on) partition of the SoC. In addition to the features fr= om + Tegra194, a SW mutex register is added to support use of the sam= e I2C + instance across multiple firmwares. + const: nvidia,tegra264-i2c =20 reg: maxItems: 1 @@ -186,6 +192,7 @@ allOf: contains: enum: - nvidia,tegra194-i2c + - nvidia,tegra264-i2c then: required: - resets --=20 2.43.0 From nobody Sat Oct 4 09:40:49 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2057.outbound.protection.outlook.com [40.107.236.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81CBF7E9; Mon, 18 Aug 2025 09:24:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509100; cv=fail; b=dUM+f4IMwhwMNA3d1Y9TzdJjURGd/AWgf8wmDpp3DHpWO+gH15DNE/a+haeZ3G0Qs59LWyPoeCQpFyVa3HgoqSgEX0NZx8YibYCPtIC/dDrnHGPdRDNu9ppA2Hq4ig3mmCasr/W8XPJ7fi/2girIGhBYL3FKQ5Tf8DsWbKKswjw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509100; c=relaxed/simple; bh=dFdpBy806e1fxNZfUxnACskBXaStls6gX1eNuojym2I=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=toGZ3anMlKDj9T+sQyNo/vJ2mUYBcAMJwvUnGV/9LlMpuNz/xM3dk+fThEwxQV8C9bModos/gCbkrZdeEnsatabZtxTeqwRNACtlWUVUpQx+lkgPOX9nfGbYKsc6QmwOvJtMhl3Sak/ncZFnr8Hc+GFqGTTPsNixuSXHb/pZ9ZU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=mwpaRqJl; arc=fail smtp.client-ip=40.107.236.57 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="mwpaRqJl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Av8hOPrNW1JpZ8j1hzRO7rXfPcPUSxV3ZWDj2mqucIC8JkHQ14IMY7MFLSAs6QqB1Zs3+2vPONKP8PBwAFZOhuQadhEHLD81+nj01yV0tT+7mnVJyTeqwe8i8k60wkee2oJSJapleihJVyiUKtKWnr7L3J3meGXbrasd5+kTcF0VXbcl2KsRqi3gCB5QvIsogntgQtXWBAqtPIlcmdZBdfF1PjfWRHTKWMLZziFRILz/2b3pzWPpCmf51C8k7fKPpvuhuSkU0SMjRKhNKgZljT/zy7LQ1oDm0pZiOuf2U+zsaNIIIuV33/y8h5o46xLAokIKkB8hGrzKwRpwPkDmQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zCYKPCmOmQZ9rtDoq3Ggw9KJvwWQ2OcmrBUpWS9O0VA=; b=W7zQ+gVYRF7oWPnj3AgcSmZ833H8Lo5iCGdz2OJ28UmhkQLfc6PSlnkDDdQft8DJl0Qdd/2OREz6QEUwnc2KwNUvp3IuDt1uyRMiEukEkxyLWrsER/JRA6UzyIKAnUc1162p21vm9ZuV7izi5fRmoIMaRlKwHbLjTZD2uvCCMZR2jt5+s5t+JeUs9Dqg2HuHFscLSah14O195ikK+mwCrcGxETamh9XaV8HSSFiFbR/71fJyvkzo1CECnAYuBHm6kh8s8GOunLfbqefXrN90bHuqBENcMD+x8BHjun3gLIcR2iCnJgNZBdSMsQtje9rm2PjNGpOPqf5tudjs2mEMOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zCYKPCmOmQZ9rtDoq3Ggw9KJvwWQ2OcmrBUpWS9O0VA=; b=mwpaRqJlo0UJDrzMpVDzhk2OJSKUj8VsJXJcVlgGLBSnx8pJ2GsBmKdOhYJG2n/lR6R+PurTt/lxj2UZBd61Bv4IvD0mEAGq9he3eNeDRT7dKzsQA3BlAqEt+wRSGjiuU6dG4w5YKEm5ElRIympe7v/eV/uDfkJgAmCsMDnA+I4blNicpveIRJLQ1yMN0Utoe6E3BK+utv4sbJbrOnbW6Mk/qIJ8Tg8NdWhJlo6OBznnZaluPWHEr0CuH3Js54Wc2QRJ9hL4ipAPqb5qnNLtyr6nbRy9RnSh4W1VN25R9T5Ydxgdg4cdthhYZ3hg5nxoqWSFGv9apHUQl7hJXuVDBA== Received: from SJ0PR03CA0258.namprd03.prod.outlook.com (2603:10b6:a03:3a0::23) by LV2PR12MB5750.namprd12.prod.outlook.com (2603:10b6:408:17e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 09:24:56 +0000 Received: from CO1PEPF000042A8.namprd03.prod.outlook.com (2603:10b6:a03:3a0:cafe::7e) by SJ0PR03CA0258.outlook.office365.com (2603:10b6:a03:3a0::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.21 via Frontend Transport; Mon, 18 Aug 2025 09:24:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CO1PEPF000042A8.mail.protection.outlook.com (10.167.243.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 09:24:55 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:38 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:37 -0700 Received: from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 18 Aug 2025 02:24:33 -0700 From: Kartik Rajput To: , , , , , , , , , , , , CC: Subject: [PATCH v4 2/5] i2c: tegra: Do not configure DMA if not supported Date: Mon, 18 Aug 2025 14:54:08 +0530 Message-ID: <20250818092412.444755-3-kkartik@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818092412.444755-1-kkartik@nvidia.com> References: <20250818092412.444755-1-kkartik@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042A8:EE_|LV2PR12MB5750:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f6f57f8-8c90-4110-b06c-08ddde39183e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|7416014|376014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?P9KkyREDTdYHqaF6qHWuOEihdbrkcN1OJ6K/IxuyA3z7pz8eFeJ5+1O3W8hl?= =?us-ascii?Q?vAxjj6bY3Qzjh7BWrniTmpe2K3IgE0cnbn1nhmItqWGt5a+boCIOE8RylrpI?= =?us-ascii?Q?rJJfwVj4MaFhaG+WA0cws3fxS833ID3B6eWUyBmT75krCcE8mBeQYInrRPYc?= =?us-ascii?Q?vKsEUx6mfbhdXfgD6caDpMLKaSjLOGBW5ikAV6iNWbsex6MRiJ/Ec2Mai07S?= =?us-ascii?Q?JqR7vA44cIKcemBKzC+24E9l0yLlV7HzYyeq8WHGq+x8Vg1puz/YmXelgyvZ?= =?us-ascii?Q?mO+s7IjCiE46ebNW0Ti4ihovYZvRQuzeOensdCFNdrtejTK041+XBBIBry2H?= =?us-ascii?Q?GMjpO5V+8U8Yym8C98fGWNBQsWKS/Tt7GCcCMbJMSCy8o79RnWpZZAdK8hE7?= =?us-ascii?Q?qm/sPOpb7ok27MEK8A/KVJN6gCK/ddejbhrIbx94zJmIaeP0F2UboCOnB9yr?= =?us-ascii?Q?QaxAYxDd4RxtFT57XIKC6aQ8kKiKr+fjMVnreyCQlc6LptDdAaZCMjHSUbjX?= =?us-ascii?Q?e1GKOwDVoB/Wq9kf0ahxZf5oAKaBDNU1VijXFUhqWbhkxwcGiw34jvdWUCG5?= =?us-ascii?Q?CUQqhXXiMrepcAWXM1U6dQxg1LFX45i+VfcZdAa8DgNNeLgJEWuSziBqzAOb?= =?us-ascii?Q?GkwwhVFFC01a3mCndq1b54s8w12XKRvDQgkHCKxLcvofkTouqpK6+XAJTL41?= =?us-ascii?Q?hLGN2Yl2q7P/cO2nfmgxZkAuTJVb7lEwdRjXrspEx7dLPDEln+GiNa7G2MNp?= =?us-ascii?Q?icDcNJlobXlcXbudC4jQDF9bcE9yU/MXivW25wEaQXvWz6Plbui4NodvN/S6?= =?us-ascii?Q?YMKS6JTDeEDkfbkd5M4HikZ7Ab87rHBHDLegOZ8KzdXhPJu3HNZCfOhf1APb?= =?us-ascii?Q?i7M2ChhII9vZKZPsskkhsBCbEfsmZ64RNw12m8NxyBTrRqPsU6ptRfkM6gUs?= =?us-ascii?Q?0Qe63bT2hshJ38HbTGMKPrw1RYvttNFQgla/zbEhpWlqBTAikSrsxgDHx+6V?= =?us-ascii?Q?Lr43gC9pjV4AtdDa+w9ZwDvB89PJEKqpdt8CeirEbm9FhHdsdpl6f1bPg7W+?= =?us-ascii?Q?gjPTlSHm2VxtGYCSiFQg3W2jCFXoIOiCMdqsrYbJfrYEQovZnpiEQbaQ0VOi?= =?us-ascii?Q?gxmYEef+4oBkH2HWAUqptLfHJ2266shKEoB09ynCF/UFKnUwqUv8bhUXT1Qf?= =?us-ascii?Q?wO+NyaE15bK8ibd30Zb09r71F5z+4MGyx9duXhlScIL2gW2TlnDq5dg7eOct?= =?us-ascii?Q?hOymiRl5NEjaQqbqKF1hh9A21Hnfp7B0o+4o1owbDJQY0dSyEftB7MvzrR4H?= =?us-ascii?Q?V8GLtgxweQEx1rij3sFKtVKEHp7zyj+TdTdOBFd41EcJGNbAU0fRA/9SHa9H?= =?us-ascii?Q?weFWvTmVHjX2P24JPNqZZbV2Wsghs4n4wA24iHwbX7A116jyvbOZtX83zQAz?= =?us-ascii?Q?y9BGliIKBhwzgCKGdlKIo1tnBKzBzaCiWcp84Zln8tl3nNDWIYeDL/UP0Uju?= =?us-ascii?Q?Kct+3+oHdvMwiadcucBQNcYARUy2TkgSbelOZ3GNGeEIx7uNRzJMIcLPrA?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(7416014)(376014)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 09:24:55.6650 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f6f57f8-8c90-4110-b06c-08ddde39183e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000042A8.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5750 Content-Type: text/plain; charset="utf-8" On Tegra264, not all I2C controllers have the necessary interface to GPC DMA, this causes failures when function tegra_i2c_init_dma() is called. Ensure that "dmas" device-tree property is present before initializing DMA in function tegra_i2c_init_dma(). Signed-off-by: Kartik Rajput --- v2 -> v4: * Add debug print if DMA is not supported by the I2C controller. v1 -> v2: * Update commit message to clarify that some I2C controllers may not have the necessary interface to GPC DMA. --- drivers/i2c/busses/i2c-tegra.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 4eb31b913c1a..0c428cba4df3 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -446,6 +446,11 @@ static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2= c_dev) u32 *dma_buf; int err; =20 + if (!of_property_present(i2c_dev->dev->of_node, "dmas")) { + dev_dbg(i2c_dev->dev, "DMA not available, falling back to PIO\n"); + return 0; + } + if (IS_VI(i2c_dev)) return 0; =20 --=20 2.43.0 From nobody Sat Oct 4 09:40:49 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2077.outbound.protection.outlook.com [40.107.236.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 596A430E0E8; Mon, 18 Aug 2025 09:25:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509105; cv=fail; b=As7ZP/nDti9gJoqgFb9u8VmG3I1w6Y97a6BZjy0u1b/x6N/87at+DCBkJqkvx5sjRUAbBy/yFvoAtL/HQZDcZoZUHY2IwPRgXbr8dQz71J1tWOY84Pqn0T7cjtu7PUmGqmNdU7idBe5fsDwJ2oJI1NH31e5Ge0tZOs6OBBiSGHE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509105; c=relaxed/simple; bh=aO1V9C8RhukXO0yH8rIFPgLKLBDILmDP2tvUE3m+3zs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WGSeHudyL8H8GKvDgHC3lKQzC3ivneEMcvj0wiFgiERaQWcIA54ysBKRPtp2ihCAzBhnkF/2Sa7HmtWnZj8axk+V7PUFzarXajdOH+PaUv5ZeDXQQd++LoQrjnBLH7xJzbHWp4g6eMsZHfY90u+aRUS+0FS97mbym7rOyiDY1iI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=LaZOpZdr; arc=fail smtp.client-ip=40.107.236.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="LaZOpZdr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u+NmdQ0h7eMeEFc1VYRhjAsYcW6XSoUlULrEKAJqtto14mcSxQ3yQnr3mroWW0Sf05wj61Ixcp/8E132lN4ugLhFAeDnPSK6SFDws2AMyrvWrxi+x+uIr9iy+AiqKrnBfXN/J/s1HKgsWLBcXfsxibWfv8fdGIG0o5pPFyDHsxcD3bzTRc7lnXJDf9HbvJtBKg6EVw1rNmiT1YKK94oG9rA4/82fTfAiC6bUox3HSTiIQZk11rUpJkjeuhEp0GX2cgpluK6J1ot/VIEsinTz2FBv0beqGCC4zMN4nmBEhBC49lKTZDpTpsN4BkK7YrELkozGeHGknDXpV8Uy7Y8QHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wNB5Lh1UNh8l/exEdTErYbejWk6ncoCYw7sUoMMb6VQ=; b=MKup4mESGGLVPYSmm+e+b/9U9yOC0BICZjDIjg3SxZKXec7hVoKUIAeHDubkabAg89jI0sdqO+plvQBWjRALe3aTgOc9IPGUCRCu8ZDFSBJsC+UTEbEUUiyNOFokHISL3Wh86NddO0mxYhP3PFwmJfUH9Alm1roGjwKQxArEdPLH0F/6eK5bHdk4I/yf84cPuJSVczNUFvLZU4ItekPbqwxSpBvW1M1Pui/UNt/ZVQxaXSJ/77QJ3Ic03TQwTryuzZd5t8X0ABNWD1Sfv0YG5o7b8oLkSyN3vqZOe2qiOZTIM51aWHg+lnbmo4khN9AgsYQ1V1l37TIdJO1159ABJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wNB5Lh1UNh8l/exEdTErYbejWk6ncoCYw7sUoMMb6VQ=; b=LaZOpZdrJP4FHs5a8CPaPn7UaUhZNnyn4V/f+eCJRGd54xHsLOLiDKZJgLGqOLxdQ+9k5UEXFDD1WpixdY+JO6m144wRqJXANvAQVjBtUYKBkBnU/BspKbFn/fpjPHS/I6oMX5q7WZ14UKavzEz08f2s4Rt1ytd4RKhysUI9C21LihSUZUxjOPKulP0DhCYjeLbQf4SLUzokVIwgM3/ML+COaXM0ICPZthxcCz+vSF+DOXFE9sLulVrpB5VA2yR3w7d3PyZAefZ9tN/zM3TDUCuMMZJSa5jJcS5SUJq6pwHYwsWCPfE141CphBuxgGAsI3StxOMVyGoLUwpztJjngw== Received: from MW4PR04CA0151.namprd04.prod.outlook.com (2603:10b6:303:85::6) by MN2PR12MB4269.namprd12.prod.outlook.com (2603:10b6:208:1d4::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 09:25:00 +0000 Received: from CO1PEPF000042AB.namprd03.prod.outlook.com (2603:10b6:303:85:cafe::21) by MW4PR04CA0151.outlook.office365.com (2603:10b6:303:85::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Mon, 18 Aug 2025 09:24:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CO1PEPF000042AB.mail.protection.outlook.com (10.167.243.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 09:24:59 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:43 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:42 -0700 Received: from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 18 Aug 2025 02:24:38 -0700 From: Kartik Rajput To: , , , , , , , , , , , , CC: Subject: [PATCH v4 3/5] i2c: tegra: Add HS mode support Date: Mon, 18 Aug 2025 14:54:09 +0530 Message-ID: <20250818092412.444755-4-kkartik@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818092412.444755-1-kkartik@nvidia.com> References: <20250818092412.444755-1-kkartik@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AB:EE_|MN2PR12MB4269:EE_ X-MS-Office365-Filtering-Correlation-Id: e950d81f-e8a6-4ff9-1ad2-08ddde391a6f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?h6YeSCFFMLlOWjP+Ig9LCv/oqMH7WkpBphPDsCck8Fq4lXUbddWVMl/eSpvb?= =?us-ascii?Q?Zq2TCfUw5GDmVyJIKqs1hSV9yG9GY6/FLlbV9qbCB1fG6zUatCAXHXkPY3vU?= =?us-ascii?Q?+tewVYceZt2cz+ugWJG10g7tZdtbRfCHyNQdgqhCJ5eGp1cOcaWvuJZCYKUB?= =?us-ascii?Q?PTe/6TBzIflwek8g8WfxNnj4CPd0dZQsXT10Mu4/iqsGWulvDQ6o0VvUpwrK?= =?us-ascii?Q?VbUFGC24WwL/LjlDnR3dg8QoDSes4BdaqPbMA1gjl2oVUZxuPppkH6njuyX1?= =?us-ascii?Q?hAh21YI/v6SQ+jN+cDB/EvnVhtXb8YQfyz4E6sBq0UZVwDVMeUPG3mL3V92v?= =?us-ascii?Q?IfMStCraV5NKdjdPhB5hmFdGAI1c7MfiZxxwdajH6cz73hElWtoRJ3n/xYI3?= =?us-ascii?Q?DGvrzOqW5xniFoWZ4wpvhD1TKwWjOqzEWbjBIxyUq8BnaL7uk6WMMVBQyizf?= =?us-ascii?Q?miMuI+kwr93AQFfujVQ3ZqIzO3qce0CkXvM1joclJwCddHaxgDom2OxKfHS5?= =?us-ascii?Q?83kbSakVQsVc+aVZa/s5gfs3RXFvcoSUHwg7+c0IAsEI7ytzKyHJD6kpGVDw?= =?us-ascii?Q?pD1GJ1IZ8khO4pur6pTYmzBeyyOd8HoEjsgUsfXKWw5OYHmV5bz46+jqaieD?= =?us-ascii?Q?sOpjKifq9qRQnUA2FDz6yoYm423o2OqlEmvUOneOtPPfx1HAeqpCYj3PhKvs?= =?us-ascii?Q?qFXNUHs6RMr0R0HMZHv9SwMygyujRzFdk+BZMppmAu60CUQekSsu1ejBq98b?= =?us-ascii?Q?apVhXdZIjhkgdeIO7lKj8oGsnM08j+l8Cw8qsonC/tNBQnYoQOKl+TPy+l4M?= =?us-ascii?Q?OMOIiULh/MAmtR1v2jkSi87FpgNuXwJfU1TZMVwPIA8lWsFAr2lVi7gzdT4i?= =?us-ascii?Q?1OFyD+Ll5XLmhWobtQDNLyuMwvLoAC5EaBEr3rWDiSIHBZQX6D8a+4xC5pa6?= =?us-ascii?Q?oLoXHZBWpWeRN6rl1yggn3qUZ5fI+MKT7IZ7wczlPwoauJIIO5mYdoDi6xVh?= =?us-ascii?Q?PL1muiGm9DPE3pUzY2TWPha14xJUmKO6CsKLezw62MogMvR1LehPCMMZmRxm?= =?us-ascii?Q?9Uv50qGsXK+Pt6AX5YzlKGBXHUbvppcCJFxCHw2i3T5LrGXIb1TSow4E2Bdv?= =?us-ascii?Q?JnPDwYCqY0uRAnCKL0b+J6tvxMJGxSu8YkOYvBou4EZ6NUlHp9ULVnc2YuFI?= =?us-ascii?Q?AnUzRmF4NbxFymz/LPfkyNBJjnuxg/VP2szOG1yhaiu4QM+a24wjJH6j5G3d?= =?us-ascii?Q?AESFvTmtzLQ+60FsW+FcPCmPouFpb7PLirGWVPt/vbMED7Lt/vjPyc0FBZo+?= =?us-ascii?Q?QEABJO05rWhrFwlIRU4C50+cUnF0TkRuOiFR7b6Iv+5JAs84Y9qk3rBpVX7O?= =?us-ascii?Q?SGbDzgNhS0lGCsVybL+hT1LCH0qIQyrLK7BjE7Z0viXhLT757KjaQN3g2Aav?= =?us-ascii?Q?CLk7QGZYealZxCRQLHDHIVTTN4UW42Y0ieO3syRrI5UqfHzLCEwmBdQ/z6t5?= =?us-ascii?Q?a/LOSiXkB0RyOLSgE7PiB6D8KQ6xSLkNGatXnnDY5VDJs3U55b6BV/GTTw?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 09:24:59.3404 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e950d81f-e8a6-4ff9-1ad2-08ddde391a6f X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000042AB.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4269 Content-Type: text/plain; charset="utf-8" From: Akhil R Add support for HS (High Speed) mode transfers, which is supported by Tegra194 onwards. Signed-off-by: Akhil R Signed-off-by: Kartik Rajput --- v2 -> v3: * Document tlow_hs_mode and thigh_hs_mode. v1 -> v2: * Document has_hs_mode_support. * Add a check to set the frequency to fastmode+ if the device does not support HS mode but the requested frequency is more than fastmode+. --- drivers/i2c/busses/i2c-tegra.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 0c428cba4df3..6e322dba42b1 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -91,6 +91,7 @@ #define I2C_HEADER_IE_ENABLE BIT(17) #define I2C_HEADER_REPEAT_START BIT(16) #define I2C_HEADER_CONTINUE_XFER BIT(15) +#define I2C_HEADER_HS_MODE BIT(22) #define I2C_HEADER_SLAVE_ADDR_SHIFT 1 =20 #define I2C_BUS_CLEAR_CNFG 0x084 @@ -198,6 +199,8 @@ enum msg_end_type { * @thigh_std_mode: High period of the clock in standard mode. * @tlow_fast_fastplus_mode: Low period of the clock in fast/fast-plus mod= es. * @thigh_fast_fastplus_mode: High period of the clock in fast/fast-plus m= odes. + * @tlow_hs_mode: Low period of the clock in HS mode. + * @thigh_hs_mode: High period of the clock in HS mode. * @setup_hold_time_std_mode: Setup and hold time for start and stop condi= tions * in standard mode. * @setup_hold_time_fast_fast_plus_mode: Setup and hold time for start and= stop @@ -206,6 +209,7 @@ enum msg_end_type { * in HS mode. * @has_interface_timing_reg: Has interface timing register to program the= tuned * timing settings. + * @has_hs_mode_support: Has support for high speed (HS) mode transfers. */ struct tegra_i2c_hw_feature { bool has_continue_xfer_support; @@ -226,10 +230,13 @@ struct tegra_i2c_hw_feature { u32 thigh_std_mode; u32 tlow_fast_fastplus_mode; u32 thigh_fast_fastplus_mode; + u32 tlow_hs_mode; + u32 thigh_hs_mode; u32 setup_hold_time_std_mode; u32 setup_hold_time_fast_fast_plus_mode; u32 setup_hold_time_hs_mode; bool has_interface_timing_reg; + bool has_hs_mode_support; }; =20 /** @@ -717,6 +724,20 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_de= v) if (i2c_dev->hw->has_interface_timing_reg && tsu_thd) i2c_writel(i2c_dev, tsu_thd, I2C_INTERFACE_TIMING_1); =20 + /* Write HS mode registers. These will get used only for HS mode*/ + if (i2c_dev->hw->has_hs_mode_support) { + tlow =3D i2c_dev->hw->tlow_hs_mode; + thigh =3D i2c_dev->hw->thigh_hs_mode; + tsu_thd =3D i2c_dev->hw->setup_hold_time_hs_mode; + + val =3D FIELD_PREP(I2C_HS_INTERFACE_TIMING_THIGH, thigh) | + FIELD_PREP(I2C_HS_INTERFACE_TIMING_TLOW, tlow); + i2c_writel(i2c_dev, val, I2C_HS_INTERFACE_TIMING_0); + i2c_writel(i2c_dev, tsu_thd, I2C_HS_INTERFACE_TIMING_1); + } else if (t->bus_freq_hz > I2C_MAX_FAST_MODE_PLUS_FREQ) { + t->bus_freq_hz =3D I2C_MAX_FAST_MODE_PLUS_FREQ; + } + clk_multiplier =3D (tlow + thigh + 2) * (non_hs_mode + 1); =20 err =3D clk_set_rate(i2c_dev->div_clk, @@ -1214,6 +1235,9 @@ static void tegra_i2c_push_packet_header(struct tegra= _i2c_dev *i2c_dev, if (msg->flags & I2C_M_RD) packet_header |=3D I2C_HEADER_READ; =20 + if (i2c_dev->timings.bus_freq_hz > I2C_MAX_FAST_MODE_PLUS_FREQ) + packet_header |=3D I2C_HEADER_HS_MODE; + if (i2c_dev->dma_mode && !i2c_dev->msg_read) *dma_buf++ =3D packet_header; else @@ -1648,10 +1672,13 @@ static const struct tegra_i2c_hw_feature tegra194_i= 2c_hw =3D { .thigh_std_mode =3D 0x7, .tlow_fast_fastplus_mode =3D 0x2, .thigh_fast_fastplus_mode =3D 0x2, + .tlow_hs_mode =3D 0x8, + .thigh_hs_mode =3D 0x3, .setup_hold_time_std_mode =3D 0x08080808, .setup_hold_time_fast_fast_plus_mode =3D 0x02020202, .setup_hold_time_hs_mode =3D 0x090909, .has_interface_timing_reg =3D true, + .has_hs_mode_support =3D true, }; =20 static const struct of_device_id tegra_i2c_of_match[] =3D { --=20 2.43.0 From nobody Sat Oct 4 09:40:49 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2055.outbound.protection.outlook.com [40.107.100.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 575DE30DECD; Mon, 18 Aug 2025 09:25:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.55 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509107; cv=fail; b=YMuQbdyiDlNltTzhmdynMCddOealzW92KJPw6e4fmrRjDQd10eUuRSF/40FY/5QsL2g5A0lIA8bqT11Xek1F9OqEPuZl8acR6u896YmB2UBN5mWTT2qRUJ1efQGz+QWdwe5zMbGiJA+i/zVq2vV1o9jSZu+ppleoiKoqr3uNsf4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509107; c=relaxed/simple; bh=XxNO3jtcmVPG+rKbJ+OdlxJ9ZFGcbQaAk1NPg7CvPPk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Xa4Fkb80Z2BRHwv1qhEZR5qZnFzIWUJv67+oqT0AVA6TsiosTwJkBI/VtLYYnRaevTyDatFCy/0bnKqzJqLrsgCqIMWEwh5bkzc5gMIbz9dUw7s6S+H/8U+wDLd3fDotgSPhzXHlFVdkf6JG59u8sVaLcy9WcFvxnquNn7JL+yg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nsDI7+Ao; arc=fail smtp.client-ip=40.107.100.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nsDI7+Ao" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ng2I10FIYOgU5lbpI19dphteL5FjoNP/WNBzJK0vmON75txG6UibdFEEGVx1LNDYwXuPVEAHRUH5i5HnHNb3JaGgPkHR6WmpXCAa13bLxiOW46FWLf5J4nlR9sXuhWdn6tTTTX+8uG4kbQJ1jo2TVSIG42NceSOvTpLoXnxS4du4BwI/rDLQspepDo9Hw1iSUcMhQKN5eHT2zFKaTgo+zJS4a0bL/uF+T+2IZjl+aN46q1ioCa0AXeA8zObnGdMp8SHFzrYeRqDXSeTlUhqRvKAk5uLynnCocSOhBi313EGpUdBTq28L6jwkXem4vMXK+K4xywVgRoyrohm2MLQS6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=32NwLdZTBbvWbF4G+GmyLV39SNwcDUUQmNzb8stjCkw=; b=c18l13CIB/WvDwMJiTF/xWNSbQfUSYu9Dk84k4ueIOkzGxu6iw5QTWxK3EjItIHyr1MSxzXD7DLV/FVGnbsU44p1GbUGuwGTfjgLq0lzH9g2PAxOSxU5huFH+aQ0dJ1KslvjFc0DoIwp2f9wpypOhTWpjJiT3GrsynZj7gtTx5EqD472EBtLRgG7KHV5nHDt686L++pgadCFQoYAPUODDpCuXZui3IrxgWfMHLVHisa7K3GxQB0wZkbiuId3f+8//T2B8N0tcr0bua1S6ssl7CyKc0Nxbq6TqkjWkiCX3YFRVocr7CbcAwtop13jxZOtV7wkHBAwYpf4qPtJKNtj4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=32NwLdZTBbvWbF4G+GmyLV39SNwcDUUQmNzb8stjCkw=; b=nsDI7+AoSg21blxv8kpRgc7l0Ja2+F34vS1IttTOTda01lq8A8dHeg06h0db/MoPKsH63slKvOO9XAqqXMMfrciit9k5MprFGe627PS4orddjqjFEI1ncDgSjlGvtTg3Homc8yHzkCu+HQKPnLYhlo7rlFaTgZ8YYJjHfSgCOLU142e6TukM07I2kmfKXVWno6dgMkbDzDh+5+V294UWrd9i5mZGDbx8/L+ppHfDTTxxZJ7ryO0lefYpBLJ4C30Vz1lrmrpt9i/wjwgtAmVBBr+aHyOqfGT2qkHFqvyZjHneHh9uZLIHuENHOHrpxFcmX3j1JhxkBmPXQQSFLgSuqg== Received: from CH0P223CA0005.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::16) by IA0PPF6E99B1BC1.namprd12.prod.outlook.com (2603:10b6:20f:fc04::bd1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 09:25:00 +0000 Received: from CH3PEPF0000000D.namprd04.prod.outlook.com (2603:10b6:610:116:cafe::1) by CH0P223CA0005.outlook.office365.com (2603:10b6:610:116::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.20 via Frontend Transport; Mon, 18 Aug 2025 09:25:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH3PEPF0000000D.mail.protection.outlook.com (10.167.244.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 09:25:00 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:47 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:47 -0700 Received: from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 18 Aug 2025 02:24:43 -0700 From: Kartik Rajput To: , , , , , , , , , , , , CC: Subject: [PATCH v4 4/5] i2c: tegra: Add support for SW mutex register Date: Mon, 18 Aug 2025 14:54:10 +0530 Message-ID: <20250818092412.444755-5-kkartik@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818092412.444755-1-kkartik@nvidia.com> References: <20250818092412.444755-1-kkartik@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF0000000D:EE_|IA0PPF6E99B1BC1:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a19b288-12d1-49c9-1afc-08ddde391b1d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|82310400026|36860700013|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pYYcGnZiqyFROZu9NczYs1GekSTAKcWnsYv3WSjy+AtyAggdblEch7UtvcVP?= =?us-ascii?Q?PsFgkZiNMJuaughyxrVqvEmgyuKunx8xIWwaQ2VZLxke2ZV5Gsmd7gu+2+JD?= =?us-ascii?Q?rr1330vDnPzaN/vWCmSaCZWu5p0f55GkhzZdGwCvT4yfG0z1MymWrdhCAnvk?= =?us-ascii?Q?x8nqGTrh/7Y4PtDnPZeI9McUGQh9xYMelQmBtrPi+EtCPDn0EkvW2fvEWdn9?= =?us-ascii?Q?DjbPUzNS7U6EqRlcgscuLqSGpovRdMhejHNwHeoLAX5rvTYik60MlcqllfHR?= =?us-ascii?Q?GqSchbOlyVibPQSbS7khtOlSkKf+mKIuPmLc4R9XI4e78HqNoAjVCKwNmZ9p?= =?us-ascii?Q?7D+T2c+2GTlSBTiY/f4LI/U82xDdDfB0GQbfx4Vl7+IiyokDodYgZYv3wJME?= =?us-ascii?Q?7nEdv5nr86eHXmmeCp/guKTYqsAc6tzNXv+1f61KnvSm9DrCTlFCwSSUy461?= =?us-ascii?Q?jeiVBzOhkyNisDfbN4tLRQ3a1bCcPjis4p5V1vYJpwc0R3s8aXZtCEwZTiUF?= =?us-ascii?Q?N2WUDbDCwGpD6LwQCM4HcBUWePwDjLvf5LhLf/oN7Q742ykqvzwBnrEwoKIq?= =?us-ascii?Q?MmW8lhH9Zd1oaTr02hGoRf0t5JczmlcZYbGXiN6o3sA4jRCsd+jq8KGX2ZgW?= =?us-ascii?Q?3eerrAckmpNDLa9HMq+jS9jenXdN8iGqUP/rUIDaFW8QawFMuGWai9tjNmxU?= =?us-ascii?Q?Z1srraHm3b6RGmPlbxLANCDwBa8OUtrYxqzzg6fmroGkoBbTHw8gpru8ytHG?= =?us-ascii?Q?cUgOmU684czCgdzP0Y6zRqjkuQ1ffoKOXvfoczVRMIrxKrDVfknai3aNHRcG?= =?us-ascii?Q?p7uN7qj9E1m7MIqFiS3luRFeXwEpFjuFPU3qPA9/wSb9StUMZ1eaug4tWgP7?= =?us-ascii?Q?LDlOGBRjcuTeTyzKPjjj+S55v0+v1EaQVvo6ztQCAxDwAzi1ACwQX0uOXjLC?= =?us-ascii?Q?aFH1KG76Ab/6swt5klFsYWacHyVs6QSmY+eCq5ymsjGCQwoxGRHB8Yz/4tqL?= =?us-ascii?Q?ReeS7PEyWrXJa7fQwDqXVw4fErvwSHaiJ9HG0tkrx+dlIoQERWQpqbZIMWi8?= =?us-ascii?Q?bPxZD/mzO2J32jIJtk4s+XLTCfIxDEb+RNuki/1ajJ8jomIA0Mcpg4bUpaRs?= =?us-ascii?Q?FCKlOizwFZyvHN2AM9pjje9+btUZJZNugiLpMEvhriUxkLNooAXQVRNGUYGt?= =?us-ascii?Q?nJ9QSJxux36aX+oouod9l6Fknqydgxz0Pz9FoViueUaxB/6hTO4bEgxgpnpI?= =?us-ascii?Q?033R4pCyflo68BZbwWB6VmhCxaL3Wn/54ya4HwMbJnngl9RkSCXWfbLkZQvY?= =?us-ascii?Q?OmTX65xZdexhTO/7N1cvGy/Yw5DsHztfEMJcJlH3f7MeSxXtqtGzPZcnaTRj?= =?us-ascii?Q?+MNNLz5w/NpC8Mpx5fnXURzbE8c9A0pmB365ECj698bcLvfBoA23Mt7owpWV?= =?us-ascii?Q?+/qbNUdbEfgHQxPOMGU6zgvA3KCt4PViuk04VcW43tpuVFtYMTKHkY7J5vGm?= =?us-ascii?Q?7p9fZiH+IDmpQ5ZtfXyZ/4EM9OQV/PytdDiYgk/+ocKWlg1XarRAwqoJvA?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(7416014)(376014)(82310400026)(36860700013)(1800799024)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 09:25:00.4153 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7a19b288-12d1-49c9-1afc-08ddde391b1d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF0000000D.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPF6E99B1BC1 Content-Type: text/plain; charset="utf-8" Add support for SW mutex register introduced in Tegra264 to provide an option to share the interface between multiple firmwares and/or VMs. However, the hardware does not ensure any protection based on the values. The driver/firmware should honor the peer who already holds the mutex. Signed-off-by: Kartik Rajput Signed-off-by: Akhil R --- v3 -> v4: * Update timeout logic of tegra_i2c_mutex_lock() to use read_poll_timeout APIs for improving timeout logic. * Add tegra_i2c_mutex_acquired() to check if mutex is acquired or not. * Rename I2C_SW_MUTEX_ID as I2C_SW_MUTEX_ID_CCPLEX. * Function tegra_i2c_poll_register() was moved unnecessarily, it has now been moved to its original location. * Use tegra_i2c_mutex_lock/unlock APIs in the tegra_i2c_xfer() function. This ensures proper propagation of error in case mutex lock fails. Please note that as the function tegra_i2c_xfer() is already guarded by the bus lock operation there is no need of additional lock for the tegra_i2c_mutex_lock/unlock APIs. v2 -> v3: * Update tegra_i2c_mutex_trylock and tegra_i2c_mutex_unlock to use readl and writel APIs instead of i2c_readl and i2c_writel which use relaxed APIs. * Use dev_warn instead of WARN_ON if mutex lock/unlock fails. v1 -> v2: * Fixed typos. * Fix tegra_i2c_mutex_lock() logic. * Add a timeout in tegra_i2c_mutex_lock() instead of polling for mutex indefinitely. --- drivers/i2c/busses/i2c-tegra.c | 92 ++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 6e322dba42b1..4b889dc66ba7 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -137,6 +137,14 @@ =20 #define I2C_MASTER_RESET_CNTRL 0x0a8 =20 +#define I2C_SW_MUTEX 0x0ec +#define I2C_SW_MUTEX_REQUEST GENMASK(3, 0) +#define I2C_SW_MUTEX_GRANT GENMASK(7, 4) +#define I2C_SW_MUTEX_ID_CCPLEX 9 + +/* SW mutex acquire timeout value in microseconds. */ +#define I2C_SW_MUTEX_TIMEOUT_US (25 * USEC_PER_MSEC) + /* configuration load timeout in microseconds */ #define I2C_CONFIG_LOAD_TIMEOUT 1000000 =20 @@ -210,6 +218,7 @@ enum msg_end_type { * @has_interface_timing_reg: Has interface timing register to program the= tuned * timing settings. * @has_hs_mode_support: Has support for high speed (HS) mode transfers. + * @has_mutex: Has mutex register for mutual exclusion with other firmware= s or VMs. */ struct tegra_i2c_hw_feature { bool has_continue_xfer_support; @@ -237,6 +246,7 @@ struct tegra_i2c_hw_feature { u32 setup_hold_time_hs_mode; bool has_interface_timing_reg; bool has_hs_mode_support; + bool has_mutex; }; =20 /** @@ -381,6 +391,73 @@ static void i2c_readsl(struct tegra_i2c_dev *i2c_dev, = void *data, readsl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg), data, len); } =20 +static int tegra_i2c_mutex_acquired(struct tegra_i2c_dev *i2c_dev) +{ + unsigned int reg =3D tegra_i2c_reg_addr(i2c_dev, I2C_SW_MUTEX); + u32 val, id; + + val =3D readl(i2c_dev->base + reg); + id =3D FIELD_GET(I2C_SW_MUTEX_GRANT, val); + + if (id !=3D I2C_SW_MUTEX_ID_CCPLEX) + return 0; + + return 1; +} + +static int tegra_i2c_mutex_trylock(struct tegra_i2c_dev *i2c_dev) +{ + unsigned int reg =3D tegra_i2c_reg_addr(i2c_dev, I2C_SW_MUTEX); + u32 val, id; + + val =3D readl(i2c_dev->base + reg); + id =3D FIELD_GET(I2C_SW_MUTEX_GRANT, val); + if (id !=3D 0 && id !=3D I2C_SW_MUTEX_ID_CCPLEX) + return 0; + + val =3D FIELD_PREP(I2C_SW_MUTEX_REQUEST, I2C_SW_MUTEX_ID_CCPLEX); + writel(val, i2c_dev->base + reg); + + return tegra_i2c_mutex_acquired(i2c_dev); +} + +static int tegra_i2c_mutex_lock(struct tegra_i2c_dev *i2c_dev) +{ + int locked; + int ret; + + if (i2c_dev->atomic_mode) + ret =3D read_poll_timeout_atomic(tegra_i2c_mutex_trylock, locked, locked, + USEC_PER_MSEC, I2C_SW_MUTEX_TIMEOUT_US, + false, i2c_dev); + else + ret =3D read_poll_timeout(tegra_i2c_mutex_trylock, locked, locked, USEC_= PER_MSEC, + I2C_SW_MUTEX_TIMEOUT_US, false, i2c_dev); + + if (!tegra_i2c_mutex_acquired(i2c_dev)) + dev_warn(i2c_dev->dev, "failed to acquire mutex\n"); + + return ret; +} + +static int tegra_i2c_mutex_unlock(struct tegra_i2c_dev *i2c_dev) +{ + unsigned int reg =3D tegra_i2c_reg_addr(i2c_dev, I2C_SW_MUTEX); + u32 val, id; + + val =3D readl(i2c_dev->base + reg); + + id =3D FIELD_GET(I2C_SW_MUTEX_GRANT, val); + if (id && id !=3D I2C_SW_MUTEX_ID_CCPLEX) { + dev_warn(i2c_dev->dev, "unable to unlock mutex, mutex is owned by: %u\n"= , id); + return -EPERM; + } + + writel(0, i2c_dev->base + reg); + + return 0; +} + static void tegra_i2c_mask_irq(struct tegra_i2c_dev *i2c_dev, u32 mask) { u32 int_mask; @@ -1422,6 +1499,10 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, = struct i2c_msg msgs[], return ret; } =20 + ret =3D tegra_i2c_mutex_lock(i2c_dev); + if (ret) + return ret; + for (i =3D 0; i < num; i++) { enum msg_end_type end_type =3D MSG_END_STOP; =20 @@ -1451,6 +1532,10 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, = struct i2c_msg msgs[], break; } =20 + ret =3D tegra_i2c_mutex_unlock(i2c_dev); + if (ret) + return ret; + pm_runtime_put(i2c_dev->dev); =20 return ret ?: i; @@ -1526,6 +1611,7 @@ static const struct tegra_i2c_hw_feature tegra20_i2c_= hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0x0, .setup_hold_time_hs_mode =3D 0x0, .has_interface_timing_reg =3D false, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra30_i2c_hw =3D { @@ -1551,6 +1637,7 @@ static const struct tegra_i2c_hw_feature tegra30_i2c_= hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0x0, .setup_hold_time_hs_mode =3D 0x0, .has_interface_timing_reg =3D false, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra114_i2c_hw =3D { @@ -1576,6 +1663,7 @@ static const struct tegra_i2c_hw_feature tegra114_i2c= _hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0x0, .setup_hold_time_hs_mode =3D 0x0, .has_interface_timing_reg =3D false, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra124_i2c_hw =3D { @@ -1601,6 +1689,7 @@ static const struct tegra_i2c_hw_feature tegra124_i2c= _hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0x0, .setup_hold_time_hs_mode =3D 0x0, .has_interface_timing_reg =3D true, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra210_i2c_hw =3D { @@ -1626,6 +1715,7 @@ static const struct tegra_i2c_hw_feature tegra210_i2c= _hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0, .setup_hold_time_hs_mode =3D 0, .has_interface_timing_reg =3D true, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra186_i2c_hw =3D { @@ -1651,6 +1741,7 @@ static const struct tegra_i2c_hw_feature tegra186_i2c= _hw =3D { .setup_hold_time_fast_fast_plus_mode =3D 0, .setup_hold_time_hs_mode =3D 0, .has_interface_timing_reg =3D true, + .has_mutex =3D false, }; =20 static const struct tegra_i2c_hw_feature tegra194_i2c_hw =3D { @@ -1679,6 +1770,7 @@ static const struct tegra_i2c_hw_feature tegra194_i2c= _hw =3D { .setup_hold_time_hs_mode =3D 0x090909, .has_interface_timing_reg =3D true, .has_hs_mode_support =3D true, + .has_mutex =3D false, }; =20 static const struct of_device_id tegra_i2c_of_match[] =3D { --=20 2.43.0 From nobody Sat Oct 4 09:40:49 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2045.outbound.protection.outlook.com [40.107.236.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 137CA30E826; Mon, 18 Aug 2025 09:25:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509110; cv=fail; b=YVfjDum2aS4kLTtrE+VJjIcbkDS+HHXRJwsMuQwgrYZ7X+VSWupXD2PJEocCD/JP/7FLObTSDkGJyRqBk7kHoWlBZcuczlGEpalOuExvt0J4QMlyYnTKmcoyD3PZhHlqVpX8xIidrTRN2hcKO9y+raoiSnf8lh5gAk5garSRki8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755509110; c=relaxed/simple; bh=iOFxZUZpBgwAU38cEgii4F7g0nIzLRZky1WG3iVfUOg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BEaEoekfvG3/oQT9b3Wdkm05T33uVkI0ATSmhTAPEs+ElGjdHIl167tDTTYBpM7fSxZWvIom+qlPiP2ZVS0IXDDrXAMkmyEtQXMQCSvyBMCKPUdZDmeo9awkADajq+ihopVJEA2Zd/00WWi4Qa78LJogmuXDOF1ZGW33iifWMq8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=V9zeMKKX; arc=fail smtp.client-ip=40.107.236.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="V9zeMKKX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x1wkQhicGDq54ri6IDo1N9dKCGrbOH8QbHwQ6KLG88NdQE2t7UFSzNRJFkBE3gputd6cDQZWrxBo13CJYsIuCQ6j2ZmVEf1qub1A02F8RPvnA5LyIhD8GCwSIDWmU7e/pbl/i0/Nfb77NWjOHceknyHrDenNzlqQ6O4x9gHNupJ0S01j6ph5kKwFG2Z126WfZra7dTfW4x8kmAedEDH4LoahF/6YTu2F7wmZXezH4UYcF7t4M7TcwydGb4F85Lt4YbFVrtoFW0vUC73sa2Rvke/Ff2faFRk+2lyn16VQ9hw9oUAmApMnv8nwpi0dNCy0cZ2jQZer/Fa1+QnUNZWzsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qAa3I5hT8HTOqPKlmTXIrj7x0HiJI2MnNwkTmvefJ14=; b=tGVfQe4DmO5L4FM459Fx7tK9i6ljs1DrxU0GW1GwgNOM0b565YkzStDuT7PP7OxpKwttg3Sv7Ac9UkzAM5/EabkxqvRzUcstLWBGaxxqwTRCl/4X1Z8Ho+swEqSIw+/qwUqyiE+jsGTI7mMfcQI+gYHfneSHmMkYuIW7fDULpQ5WwS7Yvnfyefw+ArJxicIK6kC2LDmpQnAsXxtfQrPUQt7WrN25cpxbmUZPUrKyYi8vD67Arx/Z8PyQY8Sj1PQN2jiI5I1zXp9jWCHG3yhGhHKhzIQda8PCVM7x2b9GM+BvhvrBmFoFJi9lxJYvawnYSo/qNs+igSKbtTvpkanaFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qAa3I5hT8HTOqPKlmTXIrj7x0HiJI2MnNwkTmvefJ14=; b=V9zeMKKXEmUhfgOJJrr7A6Xo9/BFXy69LR9koVVu2OOoFeS2LL4ak0ya2Wn4ldwDxqvCWwFMHaWj4F7lrejfTrlwXhpfuPFob6/y6w9pEoTVq4wjOzOgtOZOIJaBF81ouf9oYJj9ISqSLHs1afZsQtIKNDsAVAnXvFreLZrGweyoVWWVCpEZB/AKa8x2rabIVamSMtjb7Nya64DTDAGy0dinSG5NClKOf1S4ZDSWiYT+6FBx2M+p0Dp7ghD6KccRXQfM2/Akukmp8+dcxKTRxvAiKvRL9GG/UwbP8GvVEDs4/BdmGn4/41lDYVipXe07kmR8UzQynUk9OVW3w9Qfhg== Received: from CH0P223CA0021.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::9) by DM6PR12MB4137.namprd12.prod.outlook.com (2603:10b6:5:218::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.21; Mon, 18 Aug 2025 09:25:05 +0000 Received: from CH3PEPF0000000D.namprd04.prod.outlook.com (2603:10b6:610:116:cafe::9a) by CH0P223CA0021.outlook.office365.com (2603:10b6:610:116::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.20 via Frontend Transport; Mon, 18 Aug 2025 09:25:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH3PEPF0000000D.mail.protection.outlook.com (10.167.244.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 09:25:05 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:53 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 18 Aug 2025 02:24:52 -0700 Received: from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 18 Aug 2025 02:24:48 -0700 From: Kartik Rajput To: , , , , , , , , , , , , CC: Subject: [PATCH v4 5/5] i2c: tegra: Add Tegra264 support Date: Mon, 18 Aug 2025 14:54:11 +0530 Message-ID: <20250818092412.444755-6-kkartik@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818092412.444755-1-kkartik@nvidia.com> References: <20250818092412.444755-1-kkartik@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF0000000D:EE_|DM6PR12MB4137:EE_ X-MS-Office365-Filtering-Correlation-Id: 9da89426-fc50-4991-881c-08ddde391e1a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?62mNraPZojSLcFu7i3Q5peji21+6275gJDcw+qXajx7tsRGSwe+bF1vzVVnW?= =?us-ascii?Q?1RXUysM9nX2ay7OmwJOyNPZYz8yIDN1qHa0oiEwQuX6U9EgErx+UGTA4Gtfa?= =?us-ascii?Q?e8QXFR6OKVMWSRN0vPnVuzhCQqO8XVYyA9wa0ICdRUJHAXrFNUXmVYnXPdNZ?= =?us-ascii?Q?PpxckH73iJNbaIS+LFPZoUDM6Ejej9X2ltp4Dae2fHNIdfT340UhtXE1Zhbg?= =?us-ascii?Q?PnEEZZdHeWAZ+ymbEnZ4YtgLKinMpqtPKNRjGapdI350iNclrFsjpNpvkbu6?= =?us-ascii?Q?EhZ3LFBqkM59HtuTgraxvODlCMKjCn4Gf2ozLOT3OCVZmdVJwFR1aiZsXGHE?= =?us-ascii?Q?RJs2syVbwL7TbY/tT3lDvmORTmkxt1v3gLh3hokS0kEVo+q2usoK2gvfjPRC?= =?us-ascii?Q?7fGCyHEc6eyMU15ioJZw7B7izN+93UV0GhuX+LaS1qC5cyYOiSoyGSPBExk0?= =?us-ascii?Q?NwwVLRdEbfRkPAQzNs9yyAPT0yftiiK8vdRPQDwn4KSQkhfQTEIh+bnc8wyb?= =?us-ascii?Q?wZRuC+6RiHohVYyIA9jnnakPzR87zw4aGa8y/wlxRq7hS9aFQcHLtUEGaQQV?= =?us-ascii?Q?7HaKBddSC0Gr3Trjjp5/HSrRAafbIsrqIrIVFexPek2GwKIlLsgHM7DX60IT?= =?us-ascii?Q?Zv8PenNHWwWNgOQwZMYRPShiyNG7CcOhz16vhyFT5VEsygLvDF+HteLQHtjH?= =?us-ascii?Q?WcqRv+Pl0oYYWQK1rMvMJAnR5wfpM+eX6i8xfZNIo5nxFYjg9pxQf7NMOQbw?= =?us-ascii?Q?vycY+lo1AvPgagu8/sZslyX/IqMv60HAHeFfjtNZfygiZSbIoeERgzfoly9Y?= =?us-ascii?Q?yXDh5C1LJ58jh4o+t52Kx9tecXSc6uhhleura7LQg47FERR4mkaNhtZBQA1d?= =?us-ascii?Q?Cqdd5dwFpUgA+zme/IQn0bhcs6LlRAF6Cp+XyzsNtUeLxyUDkkn/9g+fJRDu?= =?us-ascii?Q?gGnw1JGZ5u8L/43y+bFCDX9lZjGT1+Z1+kXNBf4NWUsR3c+TIWGerlzhkXWa?= =?us-ascii?Q?5WruCrUiQ+iUoBoFKSK6tYme5owo+mAL7FM7BMhKmOPBM1DLFRbPmAbReFcv?= =?us-ascii?Q?y+Pmccx3C7e2wro4tDcB7qYRq7VyjEyPatQpNwE5vsk1r7mM1J6UmRfYjlOp?= =?us-ascii?Q?mP/h8yYr4fG/QMdkrQ9B1K7YkB9zAaz33HiA2i9BRD9qZVFcKvOFyrvs1gwR?= =?us-ascii?Q?H6z58xcikDdDKYEQ2dzEivcUWP0AX8ZYuKlkhNn55tR8dMzO0qwtP5CiNouN?= =?us-ascii?Q?wr+MkRgVqyjficJBsr2AzwTr8Vvbx35C2nUSHMGEjgN3auORvh86O/PbPrQs?= =?us-ascii?Q?kNu79cv78yW/hotXK0VOnT6hNfu1W2ITQq3fBfbOBHy5S+vMCRqPHgfzlT+l?= =?us-ascii?Q?2JItI537rTys2SeHV1yJQ9a/uxFafdxxs9lipJyVA4yQstkMFlSFi3PDLLO6?= =?us-ascii?Q?gl6Ato9PJS02BzOXFThscdoO+KO6JxUCadJ4xQBKIEsqVwCAwLoZn6fjrPdY?= =?us-ascii?Q?oSYL0FyeUhdt2IxBNEPk9aw89gI8e8C/Rzx3PwpMUnwd+A26GDFqvyT6Yg?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 09:25:05.4682 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9da89426-fc50-4991-881c-08ddde391e1a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF0000000D.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4137 Content-Type: text/plain; charset="utf-8" From: Akhil R Add support for Tegra264 SoC which supports 17 generic I2C controllers, two of which are in the AON (always-on) partition of the SoC. In addition to the features supported by Tegra194 it also supports a SW mutex register to allow sharing the same I2C instance across multiple firmware. Signed-off-by: Akhil R Signed-off-by: Kartik Rajput --- v1 -> v4: * Update commit message to mention the SW mutex feature available on Tegra264. --- drivers/i2c/busses/i2c-tegra.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 4b889dc66ba7..53bd1e38ff94 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -1773,7 +1773,36 @@ static const struct tegra_i2c_hw_feature tegra194_i2= c_hw =3D { .has_mutex =3D false, }; =20 +static const struct tegra_i2c_hw_feature tegra264_i2c_hw =3D { + .has_continue_xfer_support =3D true, + .has_per_pkt_xfer_complete_irq =3D true, + .clk_divisor_hs_mode =3D 1, + .clk_divisor_std_mode =3D 0x1d, + .clk_divisor_fast_mode =3D 0x15, + .clk_divisor_fast_plus_mode =3D 0x8, + .has_config_load_reg =3D true, + .has_multi_master_mode =3D true, + .has_slcg_override_reg =3D true, + .has_mst_fifo =3D true, + .quirks =3D &tegra194_i2c_quirks, + .supports_bus_clear =3D true, + .has_apb_dma =3D false, + .tlow_std_mode =3D 0x8, + .thigh_std_mode =3D 0x7, + .tlow_fast_fastplus_mode =3D 0x2, + .thigh_fast_fastplus_mode =3D 0x2, + .tlow_hs_mode =3D 0x4, + .thigh_hs_mode =3D 0x2, + .setup_hold_time_std_mode =3D 0x08080808, + .setup_hold_time_fast_fast_plus_mode =3D 0x02020202, + .setup_hold_time_hs_mode =3D 0x090909, + .has_interface_timing_reg =3D true, + .has_hs_mode_support =3D true, + .has_mutex =3D true, +}; + static const struct of_device_id tegra_i2c_of_match[] =3D { + { .compatible =3D "nvidia,tegra264-i2c", .data =3D &tegra264_i2c_hw, }, { .compatible =3D "nvidia,tegra194-i2c", .data =3D &tegra194_i2c_hw, }, { .compatible =3D "nvidia,tegra186-i2c", .data =3D &tegra186_i2c_hw, }, #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC) --=20 2.43.0