From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1B9C9C43381 for ; Mon, 1 Apr 2019 07:58:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DE1E1217F4 for ; Mon, 1 Apr 2019 07:58:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="QsWTOta1"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="n4gxFkqC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DE1E1217F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Bxwd5sOVd3OC3OOYByiOT9rutowKuBIc58u7EVay6a4=; b=QsWTOta1UQ+ZmADw7/Pysl7mC KlDpkq/75jmNL7u27jTsl2AvQueDLJ3YQQlX2pac4WbrpCU3N49wbHFgEnujTn96mM/SKsibvaL+h cXd7PKXEGxl41sMitN3X/5lxsRzcWPLMTHcUuWpejpRdchV7fNPDhXLwFiP+8TIIYGPRfMIDDBm/I OWWggfBoeI+7w287ZljuZhznghUFJUTa5iRL4Cwb39HyGxyxus/jWvygrSUJyWjlwWSmmCM7GOiUu HeuqU8VPrzTPZBONJzi5M7doADxt/HF1GG6fQEBpWETXpeId0WiO6EhhM6I+BXlG5bKbWrvNPrFzt AbbZoy4NA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hArpl-0001je-Hw; Mon, 01 Apr 2019 07:58:21 +0000 Received: from hqemgate15.nvidia.com ([216.228.121.64]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hArpi-0001jI-7M for linux-arm-kernel@lists.infradead.org; Mon, 01 Apr 2019 07:58:19 +0000 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate15.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 01 Apr 2019 00:58:08 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Mon, 01 Apr 2019 00:58:17 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 01 Apr 2019 00:58:17 -0700 Received: from [10.19.108.132] (10.124.1.5) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 1 Apr 2019 07:58:15 +0000 Subject: Re: [PATCH 1/8] dt-bindings: memory: tegra: Add Tegra210 EMC bindings To: Rob Herring References: <20190325074523.26456-1-josephl@nvidia.com> <20190325074523.26456-2-josephl@nvidia.com> <5ca06133.1c69fb81.11ebf.91ce@mx.google.com> From: Joseph Lo Message-ID: <7d680700-d2f2-7b6c-a8bf-dca6d54dbf2c@nvidia.com> Date: Mon, 1 Apr 2019 15:57:47 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <5ca06133.1c69fb81.11ebf.91ce@mx.google.com> X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL104.nvidia.com (172.18.146.11) To HQMAIL101.nvidia.com (172.20.187.10) Content-Language: en-US DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1554105488; bh=Ne3W1nC6+ARuBwjm/aw2rX3wxGd3JmSrSzxXwVkz5vY=; h=X-PGP-Universal:Subject:To:CC:References:From:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Language: Content-Transfer-Encoding; b=n4gxFkqCVnBRLJxRuVSb/TIwhRiDEvs83Qkxnob252+/xCNkaqDe2UUFKyXGorOnF EPybmz6krO4jEpiEfh8QT1wMbvDiVzdpb/4u9pxBd3F3B1ZmZ1ZDUcSUDBGZRp5anP v84QOh5a8lBUf3x9NLDOzxdsZOQjZJxnxCh6o/TCtmuVAbWA9EPmwATEuL/Wbj1dR8 73C9ilAsgojvX0oni4oYGLJHGrjqlZ+Q/7Ai6J4WpdmOeR+d3dQVWAhaVrhZUKOPzS k3ptdZInCpcfqiBd7wKa2PkVgY0deDpAntuzuMZTuLvagUj9XCwbWWan463ZJMmeCj oOO4Em34xgALw== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190401_005818_277117_238A37F0 X-CRM114-Status: GOOD ( 19.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Stephen Boyd , Peter De Schrijver , Jonathan Hunter , Thierry Reding , linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 3/31/19 2:41 PM, Rob Herring wrote: > On Mon, Mar 25, 2019 at 03:45:16PM +0800, Joseph Lo wrote: >> Add the binding document for the external memory controller (EMC) which >> communicates with external LPDDR4 devices. It includes the bindings of >> the EMC node and the EMC table of different rates. >> >> To support high rates for LPDDR4, the EMC table must be trained before >> it can be used for runtime clock switching. It has been done by firmware >> and merged to the table that Linux kernel uses. For backward >> compatibility with the devices that had been launched on the market, like >> Shield and Jetson platforms, the bindings in the EMC table should remain >> the same. So the firmware can recognize them and merge the trained EMC >> table for the kernel. Hi Rob, Thanks for reviewing. > > Overall seems pretty bloated. How much of this really varies by board > vs. just being a dump of all the register values to stuff? Most of them are register values. And by different SDRAM devices that could be used on the same platform (use ram code to identify them), the value could be different. > > Primarily, I'm leary of getting a similar binding for every vendor's DDR > setup. > > Some mostly trivial comments follow. Really sorry about that. I understand these basic rules for DT bindings, but the case here is that these un-reviewed bindings have been used in the firmware on the shipped products. To support the same with the upstream kernel and consider the firmware blob may not be updated, we have no choice to just use the same bindings in the upstream kernel. How can we deal with this case? > snip. >> +Example: >> + external-memory-controller@7001b000 { >> + compatible = "nvidia,tegra21-emc", "nvidia,tegra210-emc"; >> + reg = <0x0 0x7001b000 0x0 0x1000>, >> + <0x0 0x7001e000 0x0 0x1000>, >> + <0x0 0x7001f000 0x0 0x1000>; >> + clocks = <&tegra_car TEGRA210_CLK_EMC>, >> + <&tegra_car TEGRA210_CLK_PLL_M>, >> + <&tegra_car TEGRA210_CLK_PLL_C>, >> + <&tegra_car TEGRA210_CLK_PLL_P>, >> + <&tegra_car TEGRA210_CLK_CLK_M>, >> + <&tegra_car TEGRA210_CLK_PLL_M_UD>, >> + <&tegra_car TEGRA210_CLK_PLL_MB_UD>, >> + <&tegra_car TEGRA210_CLK_PLL_MB>, >> + <&tegra_car TEGRA210_CLK_PLL_P_UD>; >> + clock-names = "emc", "pll_m", "pll_c", "pll_p", "clk_m", >> + "pll_m_ud", "pll_mb_ud", "pll_mb", "pll_p_ud"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + nvidia,memory-controller = <&mc>; >> + nvidia,use-ram-code; >> + >> + emc-table@0 { > > Unit address without reg is not valid. > >> + nvidia,ram-code = <0>; >> + emc-table@40800 { > > And here. > Will fix this. Thanks, Joseph >> + compatible = "nvidia,tegra21-emc-table"; >> + ... >> + }; >> + emc-table@204000 { >> + ... >> + }; >> + ... >> + }; >> + >> + emc-table@1 { >> + nvidia,ram-code = <1>; >> + emc-table@40800 { >> + compatible = "nvidia,tegra21-emc-table"; >> + ... >> + }; >> + emc-table@204000 { >> + ... >> + }; >> + ... >> + }; >> + }; >> -- >> 2.21.0 >> > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel