Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp201911pxb; Fri, 16 Apr 2021 03:31:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxG26mmj/SNeGIj/Ftfqw8qnmC5CG7nXTUi8L3ySxXYMarQRVvR/gDTLFFynGNBOYzSKTQk X-Received: by 2002:a17:906:37da:: with SMTP id o26mr8024646ejc.413.1618569071567; Fri, 16 Apr 2021 03:31:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618569071; cv=none; d=google.com; s=arc-20160816; b=Lf80Rkft6MaLLMt48MIz63ZO38KmcXaWJqamdTvIrfUZaySyGkNx/cYhmle5fHQBLi macFmXzgthPrPQUXRxugp5on044z+rWlya+B+sPFs9SnkVHFxeJZ9+KSX6yjk6zvSkqk w+soHWUm+BZc6KJc/Ovyj+hpZDRbOOroWkBOqNTlD3roltd7OGkLCsSa1+zx/uOFrxhI UGp+mPmCWXFTtDI8cH3koOi2RxyDo/AlXp/DoNp9W9fJw8U5ZTzplhzazmvDaT8mI41t W6YTlFG1yeQGU0OyV4E4e8ajOdYrO2kIWWaKdEiDojVWsIRIlqHTojUMps6llDu5obiu E9ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=AGEjidzBQHQHIjbGUGQz84WAgiP0KdMZeEXriRFlUXE=; b=h19IfoeUncutUah5pL8hhNX12fR5EAsw0avyVW11RAzWC+YKDumkqZDItcICI1Pdeh +Exmc/GKdtqQpTkGUiVl9/elJGMgj36Bpl5LHWTn6mBrv8QoUIXaReMYukpNaoHzNG39 u50PhzvBAN0tR7+fJH8lZCsmyr29t0H6k+xquuVdjau1DKm66HPD1BAJoJumMQ2/wgJs uy1EbWH2YPoX26L8wecIY9ZE/mE1oFGSo9607T8+KeS0sdlrIptMj6kJ2CLaSrTwvNjP bbJBZvgUaHSo3yFzgArj3EeTK5swsWlij3r5t30S2CtYhyf8lJLPaoie96qAw0G7Q+F/ NjtQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s13si4268825edr.450.2021.04.16.03.30.47; Fri, 16 Apr 2021 03:31:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241882AbhDPJdC (ORCPT + 99 others); Fri, 16 Apr 2021 05:33:02 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39514 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S240321AbhDPJcz (ORCPT ); Fri, 16 Apr 2021 05:32:55 -0400 X-UUID: 97df4e19f3b94247aeeeefd416012ef4-20210416 X-UUID: 97df4e19f3b94247aeeeefd416012ef4-20210416 Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1952144195; Fri, 16 Apr 2021 17:32:28 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 16 Apr 2021 17:32:19 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 16 Apr 2021 17:32:19 +0800 From: Po-Kai Chi To: Matthias Brugger CC: , , , , CC Hwang Subject: [PATCH v2] memory: mediatek: add DRAM controller driver Date: Fri, 16 Apr 2021 17:32:14 +0800 Message-ID: <1618565538-6972-1-git-send-email-pk.chi@mediatek.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: A1A89FB72589495136EA6DE31C9FE8535C9EEF142A74311CD22CAF680AD76D292000:8 X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org These patch series introduces the MediaTek DRAM controller driver (DRAMC) on MT6779 SoC, and enables to be built as a module by default for the ARM64 builds. MediaTek DRAMC driver provides cross-platform features as below: - API provided to other kernel modules for querying DRAM type, rank count, rank size, channel count and mode register settings. - Sysfs interface used to pass DRAM mode register settings and current DRAM data rate to user-space for MediaTek ecosystem. The API user includes MediaTek External Memory Interface (EMI) and DVFS Resource Control (DVFSRC), which will be sent to mainline later. Changes since v1: - add prefix to vendor properties in device tree, dt-binding and drivers - fix dt-binding check fail Po-Kai Chi (4): dt-bindings: memory: Add binding for MediaTek DRAM Controller memory: mediatek: add DRAM controller driver arm64: dts: add DRAMC node for MT6779 arm64: defconfig: Enable MediaTek DRAMC common driver .../memory-controllers/mediatek,dramc.yaml | 162 ++++ arch/arm64/boot/dts/mediatek/mt6779-evb.dts | 9 + arch/arm64/boot/dts/mediatek/mt6779.dtsi | 18 + arch/arm64/configs/defconfig | 1 + drivers/memory/Kconfig | 1 + drivers/memory/Makefile | 1 + drivers/memory/mediatek/Kconfig | 9 + drivers/memory/mediatek/Makefile | 3 + drivers/memory/mediatek/mtk-dramc.c | 711 ++++++++++++++++++ include/memory/mediatek/dramc.h | 18 + 10 files changed, 933 insertions(+) create mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,dramc.yaml create mode 100644 drivers/memory/mediatek/Kconfig create mode 100644 drivers/memory/mediatek/Makefile create mode 100644 drivers/memory/mediatek/mtk-dramc.c create mode 100644 include/memory/mediatek/dramc.h