From patchwork Tue May 11 15:21:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Gerlach X-Patchwork-Id: 1477194 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256 header.s=ti-com-17Q1 header.b=oSyI8U0Y; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FfhWN2f64z9sT6 for ; Wed, 12 May 2021 01:22:56 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A98B682F5E; Tue, 11 May 2021 17:22:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=ti.com header.i=@ti.com header.b="oSyI8U0Y"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CB3B682F60; Tue, 11 May 2021 17:22:23 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D67A482CF6 for ; Tue, 11 May 2021 17:22:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=d-gerlach@ti.com Received: from lelv0266.itg.ti.com ([10.180.67.225]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 14BFMEAq105285; Tue, 11 May 2021 10:22:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1620746534; bh=wOKc6vP+AfXQMU2tEVfskycsZIvq0hwtTgGkfYM41eg=; h=From:To:CC:Subject:Date; b=oSyI8U0Y9y/EO87ns3GHYMX4y/KnOkPGpqBG+swvGdemhQNwVfsq5EWUMDSp3eXrJ qP64ygqBfzFSLbBBPBMDRYbvrlq6LVz541MKSil2ddEBWIDB+RkihrQn9ObgMqqpEX ONggmbphibj1+UpGdgQzol8RJa6+mQNv9SMTzzRk= Received: from DFLE105.ent.ti.com (dfle105.ent.ti.com [10.64.6.26]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 14BFMEP5051977 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 11 May 2021 10:22:14 -0500 Received: from DFLE111.ent.ti.com (10.64.6.32) by DFLE105.ent.ti.com (10.64.6.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Tue, 11 May 2021 10:22:14 -0500 Received: from fllv0040.itg.ti.com (10.64.41.20) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2 via Frontend Transport; Tue, 11 May 2021 10:22:14 -0500 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0040.itg.ti.com (8.15.2/8.15.2) with ESMTP id 14BFMD9X127075; Tue, 11 May 2021 10:22:13 -0500 From: Dave Gerlach To: , Lokesh Vutla , Tom Rini CC: Praneeth Bajjuri , Dave Gerlach , Vignesh Raghavendra , Tero Kristo Subject: [PATCH v2 00/15] ram: k3-ddrss: Convert k3-j721e to common driver with k3-am64 support Date: Tue, 11 May 2021 10:21:58 -0500 Message-ID: <20210511152213.29258-1-d-gerlach@ti.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean This is v2 of the series to update the existing k3-j721e driver to a common driver to support both j721e and the new am642 SoC. It renames drivers/ram/k3-j721e to drivers/ram/k3-ddrss and then introduces a refactored common driver with the existing j721e support moved to files named with 32bit and am64 support introduced in files named with 16bit. Changes since v1: * Drop unnecessary error macro re-definitions and use normal errno header * Drop other unnecessary headers that wrap standard kernel headers * Fixed a few camelCase functions that slipped through * Fixed clock initialization sequence based on comment from Vignesh v1: https://lists.denx.de/pipermail/u-boot/2021-May/448716.html Regards, Dave Dave Gerlach (14): dt-bindings: memory-controller: Add K3 AM64 DDRSS compatible ram: k3-j721e: lpddr4_address_slice_0_macros: Fix indentation issues ram: k3-j721e: lpddr4_data_slice_0_macros: Fix indentation issues ram: k3-j721e: lpddr4_data_slice_1_macros: Fix indentation issues ram: k3-j721e: lpddr4_data_slice_2_macros: Fix indentation issues ram: k3-j721e: lpddr4_data_slice_3_macros: Fix indentation issues ram: k3-j721e: lpddr4_ddr_controller_macros: Fix indentation issues ram: k3-j721e: lpddr4_phy_core_macros: Fix indentation issues ram: k3-j721e: lpddr4_pi_macros: Fix indentation issues ram: k3-j721e: lpddr4_ctl_regs: Fix checkpatch issue for types ram: k3-j721e: Rename to k3-ddrss ram: k3-ddrss: Introduce top-level CONFIG_K3_DDRSS ram: k3-ddrss: Introduce common driver with J7 SoC support ram: k3-ddrss: Introduce support for AM642 SoCs Lokesh Vutla (1): ram: k3-ddrss: Enable vtt regulator if present board/ti/j721e/Kconfig | 4 +- .../memory-controller/k3-j721e-ddrss.txt | 3 +- drivers/ram/Kconfig | 24 +- drivers/ram/Makefile | 2 +- drivers/ram/k3-ddrss/16bit/lpddr4_16bit_if.h | 108 + .../ram/k3-ddrss/16bit/lpddr4_16bit_obj_if.h | 14 + .../k3-ddrss/16bit/lpddr4_16bit_structs_if.h | 15 + .../16bit/lpddr4_address_slice_0_macros.h | 624 ++ .../16bit/lpddr4_address_slice_1_macros.h | 624 ++ .../16bit/lpddr4_address_slice_2_macros.h | 624 ++ drivers/ram/k3-ddrss/16bit/lpddr4_ctl_regs.h | 1306 +++ .../k3-ddrss/16bit/lpddr4_ctl_regs_rw_masks.h | 23 + .../16bit/lpddr4_data_slice_0_macros.h | 2036 +++++ .../16bit/lpddr4_data_slice_1_macros.h | 2036 +++++ .../16bit/lpddr4_ddr_controller_macros.h | 6436 ++++++++++++++ .../k3-ddrss/16bit/lpddr4_phy_core_macros.h | 1838 ++++ drivers/ram/k3-ddrss/16bit/lpddr4_pi_macros.h | 5784 ++++++++++++ drivers/ram/k3-ddrss/32bit/lpddr4_32bit_if.h | 91 + .../ram/k3-ddrss/32bit/lpddr4_32bit_obj_if.h | 14 + .../k3-ddrss/32bit/lpddr4_32bit_structs_if.h | 15 + .../32bit}/lpddr4_address_slice_0_macros.h | 343 +- drivers/ram/k3-ddrss/32bit/lpddr4_ctl_regs.h | 1545 ++++ .../k3-ddrss/32bit/lpddr4_ctl_regs_rw_masks.h | 23 + .../32bit}/lpddr4_data_slice_0_macros.h | 1443 ++- .../32bit}/lpddr4_data_slice_1_macros.h | 1363 ++- .../32bit}/lpddr4_data_slice_2_macros.h | 1363 ++- .../32bit}/lpddr4_data_slice_3_macros.h | 1363 ++- .../32bit/lpddr4_ddr_controller_macros.h | 7792 ++++++++++++++++ .../32bit}/lpddr4_phy_core_macros.h | 1397 ++- drivers/ram/k3-ddrss/32bit/lpddr4_pi_macros.h | 5396 ++++++++++++ drivers/ram/k3-ddrss/Makefile | 17 + drivers/ram/k3-ddrss/cps_drv_lpddr4.h | 102 + .../k3-j721e-ddrss.c => k3-ddrss/k3-ddrss.c} | 289 +- drivers/ram/k3-ddrss/lpddr4.c | 1079 +++ drivers/ram/k3-ddrss/lpddr4.h | 73 + drivers/ram/k3-ddrss/lpddr4_16bit.c | 396 + drivers/ram/k3-ddrss/lpddr4_16bit.h | 33 + .../k3-ddrss/lpddr4_16bit_ctl_regs_rw_masks.c | 1309 +++ drivers/ram/k3-ddrss/lpddr4_16bit_sanity.h | 257 + drivers/ram/k3-ddrss/lpddr4_32bit.c | 302 + drivers/ram/k3-ddrss/lpddr4_32bit.h | 30 + .../k3-ddrss/lpddr4_32bit_ctl_regs_rw_masks.c | 1548 ++++ drivers/ram/k3-ddrss/lpddr4_32bit_sanity.h | 223 + drivers/ram/k3-ddrss/lpddr4_if.h | 144 + drivers/ram/k3-ddrss/lpddr4_obj_if.c | 51 + drivers/ram/k3-ddrss/lpddr4_obj_if.h | 86 + .../{k3-j721e => k3-ddrss}/lpddr4_private.h | 0 drivers/ram/k3-ddrss/lpddr4_sanity.h | 445 + drivers/ram/k3-ddrss/lpddr4_structs_if.h | 51 + drivers/ram/k3-j721e/Makefile | 8 - drivers/ram/k3-j721e/cps_drv_lpddr4.h | 119 - drivers/ram/k3-j721e/lpddr4.c | 2105 ----- drivers/ram/k3-j721e/lpddr4_ctl_regs.h | 1546 ---- .../k3-j721e/lpddr4_ddr_controller_macros.h | 7793 ----------------- drivers/ram/k3-j721e/lpddr4_if.h | 578 -- drivers/ram/k3-j721e/lpddr4_obj_if.c | 55 - drivers/ram/k3-j721e/lpddr4_obj_if.h | 383 - drivers/ram/k3-j721e/lpddr4_pi_macros.h | 5397 ------------ drivers/ram/k3-j721e/lpddr4_sanity.h | 1165 --- drivers/ram/k3-j721e/lpddr4_structs_if.h | 121 - 60 files changed, 46347 insertions(+), 23007 deletions(-) create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_16bit_if.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_16bit_obj_if.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_16bit_structs_if.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_address_slice_0_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_address_slice_1_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_address_slice_2_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_ctl_regs.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_ctl_regs_rw_masks.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_data_slice_0_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_data_slice_1_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_ddr_controller_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_phy_core_macros.h create mode 100644 drivers/ram/k3-ddrss/16bit/lpddr4_pi_macros.h create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_32bit_if.h create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_32bit_obj_if.h create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_32bit_structs_if.h rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_address_slice_0_macros.h (76%) create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_ctl_regs.h create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_ctl_regs_rw_masks.h rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_data_slice_0_macros.h (64%) rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_data_slice_1_macros.h (66%) rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_data_slice_2_macros.h (66%) rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_data_slice_3_macros.h (66%) create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_ddr_controller_macros.h rename drivers/ram/{k3-j721e => k3-ddrss/32bit}/lpddr4_phy_core_macros.h (60%) create mode 100644 drivers/ram/k3-ddrss/32bit/lpddr4_pi_macros.h create mode 100644 drivers/ram/k3-ddrss/Makefile create mode 100644 drivers/ram/k3-ddrss/cps_drv_lpddr4.h rename drivers/ram/{k3-j721e/k3-j721e-ddrss.c => k3-ddrss/k3-ddrss.c} (51%) create mode 100644 drivers/ram/k3-ddrss/lpddr4.c create mode 100644 drivers/ram/k3-ddrss/lpddr4.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_16bit.c create mode 100644 drivers/ram/k3-ddrss/lpddr4_16bit.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_16bit_ctl_regs_rw_masks.c create mode 100644 drivers/ram/k3-ddrss/lpddr4_16bit_sanity.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_32bit.c create mode 100644 drivers/ram/k3-ddrss/lpddr4_32bit.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_32bit_ctl_regs_rw_masks.c create mode 100644 drivers/ram/k3-ddrss/lpddr4_32bit_sanity.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_if.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_obj_if.c create mode 100644 drivers/ram/k3-ddrss/lpddr4_obj_if.h rename drivers/ram/{k3-j721e => k3-ddrss}/lpddr4_private.h (100%) create mode 100644 drivers/ram/k3-ddrss/lpddr4_sanity.h create mode 100644 drivers/ram/k3-ddrss/lpddr4_structs_if.h delete mode 100644 drivers/ram/k3-j721e/Makefile delete mode 100644 drivers/ram/k3-j721e/cps_drv_lpddr4.h delete mode 100644 drivers/ram/k3-j721e/lpddr4.c delete mode 100644 drivers/ram/k3-j721e/lpddr4_ctl_regs.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_ddr_controller_macros.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_if.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_obj_if.c delete mode 100644 drivers/ram/k3-j721e/lpddr4_obj_if.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_pi_macros.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_sanity.h delete mode 100644 drivers/ram/k3-j721e/lpddr4_structs_if.h Reviewed-by: Tero Kristo Tested-by: Tero Kristo