From nobody Tue Jan 27 00:19:33 2026 Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 684952737F9 for ; Mon, 26 Jan 2026 19:08:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.68 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769454492; cv=none; b=cAQSKeL+X2AimJuZEis8+NxuNO2EruXD1J47i4NOW+bTPzX3f4tHqzg9KntrsHSMxokNUTqP2PL6lQS49dj2TNgqUlSGjbvCW3pHKfuVsl0kiZWWc7V0Tnvrpv3Pc1XnRm2onPTT/dwpTurIQNgsmQ8VXS5m3q4p8Qx8PTH7J2I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769454492; c=relaxed/simple; bh=84Dqsd4+a5f1NKPye0gyTGquAHxSzQnz5E8L5x6vjSk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ItpOFHrSTbhiD8XCaYg5yOxttQ8D4m5DLzzfzgEZiqPcCxOQ2RgAP9WC8q81IOlAnBeadlQ3wxVFZDwlD9pdxePgQ15CCwImIF9R/AjpgP2AZZe6DJoxM+u4i8e7T3LI4lEwSIZlH73ONwDudW8S9yLaaNCJLbqDCRO5eOhFvOs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AGu57Lxw; arc=none smtp.client-ip=209.85.221.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AGu57Lxw" Received: by mail-wr1-f68.google.com with SMTP id ffacd0b85a97d-4359a16a400so4390081f8f.1 for ; Mon, 26 Jan 2026 11:08:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769454489; x=1770059289; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1CfO1Q8+JOBgDtlGnZkxxf2jPv4aks+RLJbYHeFtCGM=; b=AGu57LxwsRe5CiiCUxvF2rB05WInM1h5q98KyWHrH/yG9VLPdhGF1GLiEs9BLFhuo2 Z4QTtuSFckcoYLr9jjSFiQv0Ycc83+ss3+EKpHEyueeEyI9WadM2vKNr/u+quaTVauLb jbqgr+ZHkoEgtlk4uVWtcX6Y2RdrVOj7P3YCGsakm15qNHd0Zq5kERecYsgabjrk30DQ vCyHXdFsHyYGKwNnjovumeTWF9E586hnAhQzKLk629gZdYK1X1Ar7AguE2clBWna1yf1 KFdIDNu8hf4MRDtVvKgXLGZduKBbjP8dJvqqqvErClCkO1BRi+9bo7B1ZbDui2h3FJ6/ cCKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769454489; x=1770059289; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1CfO1Q8+JOBgDtlGnZkxxf2jPv4aks+RLJbYHeFtCGM=; b=MdLwhwvYkNvIGRygXTSb86TSz8M1/8Y21fjMW3grYeVbSQKDcLTYSUgp3nb9YgqyJ6 oqE0AyPT30SdUgpwA/66J+baHPieWS535MTeNsq5a+m5kwISjKFNFyZaDMr1scBKeovu HQDrUvbepn6TByuTJPcPlWs0cSxvOHmsfbn1+sW91r4EiuW0mjcIrvW3JySulvTQbjVV 6RcwlQEy2oZrtkkWbDlJPfV0v0O481zGne73ty81+sbeD2iAjRM/WEvbg+wzEtsVdQHZ Hc7elMH8Rs7gvxkz7b30z2jAv+p984bYvJwvw9FIpTOY18a3aiL3aKJP6Oq//1eGYFl/ uHzA== X-Gm-Message-State: AOJu0YyG+pEbCtLq25TDTXLl4BULNqhpiIl1bXL8xsa+pACwvSou1KMH I77Xpezjfuc6jn4ShcqTKE1G6teZXgrS2/QgHBydBj3g8uXRR0PHQdrF X-Gm-Gg: AZuq6aLPXooWxBghyliBs8OJQWV+WYGnPOIDMH7uwoRlR75h8IlKi1hGK233dLuWKP9 5W4vTRCkc3x9GHLHTQijFdJqg8h1wArSUfmcO0uiygUlTDJDlBvbYCxk5l9XdZuOIda/YR4+Wh2 PuQSJPORJMYYwccvG2UOyTIMiEdrW/5Y+a9FsIGfq7vn1epi6S76dk8SgUKqxTHwBbEzDktxSCg L37wMf87FRBRkg3LAsfQ6OX+bR2LkNkBIeNsGdROscXF71lIGdpXlY2ansnMYbhFTwDVbGKHovf /ulKT78SZVvNRWJ2/OU5dt1QBlqpWhzLkqA9mE7mUgWBGTfGNUlxj0av45vtOgmnW+w1PL1WfHd 6KICFKZiz+6llR6EsUWPm6keg1MOJmhLgcLH74LL3oRgzAdC55xKy+n0Hhe9zpQZyY+DmDbez0W RL X-Received: by 2002:a05:6000:290c:b0:42f:f627:3aa3 with SMTP id ffacd0b85a97d-435ca3a5816mr8945919f8f.56.1769454488774; Mon, 26 Jan 2026 11:08:08 -0800 (PST) Received: from xeon ([188.163.112.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1c24bf8sm31802030f8f.11.2026.01.26.11.08.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jan 2026 11:08:08 -0800 (PST) From: Svyatoslav Ryhel To: Krzysztof Kozlowski , Rob Herring , Conor Dooley , Thierry Reding , Jonathan Hunter , Mikko Perttunen , Svyatoslav Ryhel , Sumit Gupta , Dmitry Osipenko Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v1 4/5] dt-bindings: memory: Document Tegra114 External Memory Controller Date: Mon, 26 Jan 2026 21:07:54 +0200 Message-ID: <20260126190755.78475-5-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260126190755.78475-1-clamor95@gmail.com> References: <20260126190755.78475-1-clamor95@gmail.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 Content-Type: text/plain; charset="utf-8" Include Tegra114 support into existing Tegra124 EMC schema with the most notable difference being the amount of EMC timings and a few SoC unique entries. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Rob Herring (Arm) --- .../nvidia,tegra124-emc.yaml | 174 +++--------------- 1 file changed, 26 insertions(+), 148 deletions(-) diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,te= gra124-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvid= ia,tegra124-emc.yaml index f5f03bf36413..9398aae49093 100644 --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-= emc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-= emc.yaml @@ -16,7 +16,9 @@ description: | =20 properties: compatible: - const: nvidia,tegra124-emc + enum: + - nvidia,tegra114-emc + - nvidia,tegra124-emc =20 reg: maxItems: 1 @@ -29,6 +31,9 @@ properties: items: - const: emc =20 + interrupts: + maxItems: 1 + "#interconnect-cells": const: 0 =20 @@ -164,153 +169,12 @@ patternProperties: nvidia,emc-configuration: description: EMC timing characterization data. These are the registers (s= ee - section "15.6.2 EMC Registers" in the TRM) whose values need= to + section "20.11.2 EMC Registers" in the Tegra114 TRM or secti= on + "15.6.2 EMC Registers" in the Tegra124 TRM) whose values nee= d to be specified, according to the board documentation. $ref: /schemas/types.yaml#/definitions/uint32-array - items: - - description: EMC_RC - - description: EMC_RFC - - description: EMC_RFC_SLR - - description: EMC_RAS - - description: EMC_RP - - description: EMC_R2W - - description: EMC_W2R - - description: EMC_R2P - - description: EMC_W2P - - description: EMC_RD_RCD - - description: EMC_WR_RCD - - description: EMC_RRD - - description: EMC_REXT - - description: EMC_WEXT - - description: EMC_WDV - - description: EMC_WDV_MASK - - description: EMC_QUSE - - description: EMC_QUSE_WIDTH - - description: EMC_IBDLY - - description: EMC_EINPUT - - description: EMC_EINPUT_DURATION - - description: EMC_PUTERM_EXTRA - - description: EMC_PUTERM_WIDTH - - description: EMC_PUTERM_ADJ - - description: EMC_CDB_CNTL_1 - - description: EMC_CDB_CNTL_2 - - description: EMC_CDB_CNTL_3 - - description: EMC_QRST - - description: EMC_QSAFE - - description: EMC_RDV - - description: EMC_RDV_MASK - - description: EMC_REFRESH - - description: EMC_BURST_REFRESH_NUM - - description: EMC_PRE_REFRESH_REQ_CNT - - description: EMC_PDEX2WR - - description: EMC_PDEX2RD - - description: EMC_PCHG2PDEN - - description: EMC_ACT2PDEN - - description: EMC_AR2PDEN - - description: EMC_RW2PDEN - - description: EMC_TXSR - - description: EMC_TXSRDLL - - description: EMC_TCKE - - description: EMC_TCKESR - - description: EMC_TPD - - description: EMC_TFAW - - description: EMC_TRPAB - - description: EMC_TCLKSTABLE - - description: EMC_TCLKSTOP - - description: EMC_TREFBW - - description: EMC_FBIO_CFG6 - - description: EMC_ODT_WRITE - - description: EMC_ODT_READ - - description: EMC_FBIO_CFG5 - - description: EMC_CFG_DIG_DLL - - description: EMC_CFG_DIG_DLL_PERIOD - - description: EMC_DLL_XFORM_DQS0 - - description: EMC_DLL_XFORM_DQS1 - - description: EMC_DLL_XFORM_DQS2 - - description: EMC_DLL_XFORM_DQS3 - - description: EMC_DLL_XFORM_DQS4 - - description: EMC_DLL_XFORM_DQS5 - - description: EMC_DLL_XFORM_DQS6 - - description: EMC_DLL_XFORM_DQS7 - - description: EMC_DLL_XFORM_DQS8 - - description: EMC_DLL_XFORM_DQS9 - - description: EMC_DLL_XFORM_DQS10 - - description: EMC_DLL_XFORM_DQS11 - - description: EMC_DLL_XFORM_DQS12 - - description: EMC_DLL_XFORM_DQS13 - - description: EMC_DLL_XFORM_DQS14 - - description: EMC_DLL_XFORM_DQS15 - - description: EMC_DLL_XFORM_QUSE0 - - description: EMC_DLL_XFORM_QUSE1 - - description: EMC_DLL_XFORM_QUSE2 - - description: EMC_DLL_XFORM_QUSE3 - - description: EMC_DLL_XFORM_QUSE4 - - description: EMC_DLL_XFORM_QUSE5 - - description: EMC_DLL_XFORM_QUSE6 - - description: EMC_DLL_XFORM_QUSE7 - - description: EMC_DLL_XFORM_ADDR0 - - description: EMC_DLL_XFORM_ADDR1 - - description: EMC_DLL_XFORM_ADDR2 - - description: EMC_DLL_XFORM_ADDR3 - - description: EMC_DLL_XFORM_ADDR4 - - description: EMC_DLL_XFORM_ADDR5 - - description: EMC_DLL_XFORM_QUSE8 - - description: EMC_DLL_XFORM_QUSE9 - - description: EMC_DLL_XFORM_QUSE10 - - description: EMC_DLL_XFORM_QUSE11 - - description: EMC_DLL_XFORM_QUSE12 - - description: EMC_DLL_XFORM_QUSE13 - - description: EMC_DLL_XFORM_QUSE14 - - description: EMC_DLL_XFORM_QUSE15 - - description: EMC_DLI_TRIM_TXDQS0 - - description: EMC_DLI_TRIM_TXDQS1 - - description: EMC_DLI_TRIM_TXDQS2 - - description: EMC_DLI_TRIM_TXDQS3 - - description: EMC_DLI_TRIM_TXDQS4 - - description: EMC_DLI_TRIM_TXDQS5 - - description: EMC_DLI_TRIM_TXDQS6 - - description: EMC_DLI_TRIM_TXDQS7 - - description: EMC_DLI_TRIM_TXDQS8 - - description: EMC_DLI_TRIM_TXDQS9 - - description: EMC_DLI_TRIM_TXDQS10 - - description: EMC_DLI_TRIM_TXDQS11 - - description: EMC_DLI_TRIM_TXDQS12 - - description: EMC_DLI_TRIM_TXDQS13 - - description: EMC_DLI_TRIM_TXDQS14 - - description: EMC_DLI_TRIM_TXDQS15 - - description: EMC_DLL_XFORM_DQ0 - - description: EMC_DLL_XFORM_DQ1 - - description: EMC_DLL_XFORM_DQ2 - - description: EMC_DLL_XFORM_DQ3 - - description: EMC_DLL_XFORM_DQ4 - - description: EMC_DLL_XFORM_DQ5 - - description: EMC_DLL_XFORM_DQ6 - - description: EMC_DLL_XFORM_DQ7 - - description: EMC_XM2CMDPADCTRL - - description: EMC_XM2CMDPADCTRL4 - - description: EMC_XM2CMDPADCTRL5 - - description: EMC_XM2DQPADCTRL2 - - description: EMC_XM2DQPADCTRL3 - - description: EMC_XM2CLKPADCTRL - - description: EMC_XM2CLKPADCTRL2 - - description: EMC_XM2COMPPADCTRL - - description: EMC_XM2VTTGENPADCTRL - - description: EMC_XM2VTTGENPADCTRL2 - - description: EMC_XM2VTTGENPADCTRL3 - - description: EMC_XM2DQSPADCTRL3 - - description: EMC_XM2DQSPADCTRL4 - - description: EMC_XM2DQSPADCTRL5 - - description: EMC_XM2DQSPADCTRL6 - - description: EMC_DSR_VTTGEN_DRV - - description: EMC_TXDSRVTTGEN - - description: EMC_FBIO_SPARE - - description: EMC_ZCAL_WAIT_CNT - - description: EMC_MRS_WAIT_CNT2 - - description: EMC_CTT - - description: EMC_CTT_DURATION - - description: EMC_CFG_PIPE - - description: EMC_DYN_SELF_REF_CONTROL - - description: EMC_QPOP + minItems: 97 + maxItems: 143 =20 required: - clock-frequency @@ -318,9 +182,7 @@ patternProperties: - nvidia,emc-auto-cal-config2 - nvidia,emc-auto-cal-config3 - nvidia,emc-auto-cal-interval - - nvidia,emc-bgbias-ctl0 - nvidia,emc-cfg - - nvidia,emc-cfg-2 - nvidia,emc-ctt-term-ctrl - nvidia,emc-mode-1 - nvidia,emc-mode-2 @@ -344,6 +206,22 @@ required: - "#interconnect-cells" - operating-points-v2 =20 +allOf: + - if: + properties: + compatible: + contains: + enum: + - nvidia,tegra124-emc + then: + patternProperties: + "^emc-timings-[0-9]+$": + patternProperties: + "^timing-[0-9]+$": + required: + - nvidia,emc-bgbias-ctl0 + - nvidia,emc-cfg-2 + additionalProperties: false =20 examples: --=20 2.51.0