From: Lukasz Luba <l.luba@partner.samsung.com>
To: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org
Cc: b.zolnierkie@samsung.com, krzk@kernel.org, kgene@kernel.org,
cw00.choi@samsung.com, kyungmin.park@samsung.com,
m.szyprowski@samsung.com, s.nawrocki@samsung.com,
myungjoo.ham@samsung.com, keescook@chromium.org,
tony@atomide.com, jroedel@suse.de, treding@nvidia.com,
digetx@gmail.com, willy.mh.wolff.ml@gmail.com,
Lukasz Luba <l.luba@partner.samsung.com>
Subject: [PATCH v6 0/10] Exynos5 Dynamic Memory Controller driver
Date: Fri, 19 Apr 2019 16:19:18 +0200 [thread overview]
Message-ID: <1555683568-20882-1-git-send-email-l.luba@partner.samsung.com> (raw)
In-Reply-To: CGME20190419141938eucas1p16ee6cdf897184df33cf67b55c5f3c449@eucas1p1.samsung.com
Hi all,
This is v6 of the patch set which adds support of Dynamic Memory Controller
for Exynos5422 SoC.
The driver supports Dynamic Voltage and Frequency Scalling
for the DMC and DRAM. It also provides needed timings for different
speed operations of the DRAM memory.
The patch set depends on changes to Exynos PPMU posted on LKLM as:
[PATCH v3 0/4] Exynos Performance Monitoring Counters enhancements
changes:
v6:
- driver code has been converted to use generic code which parses DT memory
definition in drivers/memory/of_memory.c
- extended of_memory by LPDDR3 support (there was LPDDR2 made by TI)
- extended jedec_lpddr.h by the needed structures for LPDDR3 (AC timings)
- driver file moved to proper directory, where other memory controllers
live, which is in this case drivers/memory/samsung/
- driver code now uses regmap_{read|write} to access registers for pausing
and changing timings set, as suggested by Chanwoo
- DT contains simple definition of memory device, similar to LPDDR2 made by TI
- driver code generates the needed timings for registered OPPs, based on
memory description in DT
- patch 1 contains Rob's ACK,
- simplified memory bandwidth calculation
- added debug information files with timings, raw counters and statistics
- updated dt-bindings files accordingly
- based on v5.1-rc5 (+ PPMU patches)
v5:
- removed unneeded wrapper functions i.e. for regulator_set_voltage
- removed unused defines
- removed direct access to clock register base and used CCF for
pause and timing set usage
- switched to OPP comming from DT according to Chanowoo's comments
- switched to timings comming from DT, added parsing function
- extended dt-binding with description of OPPs and timings
- according to Rob Herring comment, moved dt-binding file before driver code
in the patch set.
- rebased on top of v5.0
v4:
- removed unneeded DPLL and G3D clocks IDs
- changed names of parent clocks for mout_mx_mspll_ccore_phy_p
and added one more parent: mout_sclk_epll
- removed 933Mhz and 138MHz from the BPLL ratio table
v3:
- in DTS align to proper indent the clocks and clock-names entries
v2:
- changed file name exynos5-dmc.c -> exynos5422-dmc.c
and related entries in other files
- changed dt-binding file name
- changed config entry to CONFIG_ARM_EXYNOS5422_DMC_DEVFREQ
- removed sysfs and print info messages (print only one line)
- removed function exynos5_read_chip_info and compact code
- changed dt-binding patch and move it up in the patch set
- new entries in MAINTAINERS are added with the driver c code
- clean-up in DTS file: renamed nodes to 'ppmu' and 'memory-controller',
entries moved to suggested location (before nocp nodes or after),
moved according to alfabetical order, compacted clocks names with right indent.
Regards,
Lukasz Luba
Lukasz Luba (10):
clk: samsung: add needed IDs for DMC clocks in Exynos5420
clk: samsung: add new clocks for DMC for Exynos5422 SoC
clk: samsung: add BPLL rate table for Exynos 5422 SoC
Documentation: dt: device tree bindings for LPDDR3 memories
drivers: memory: extend of_memory by LPDDR3 support
dt-bindings: memory-controllers: add Exynos5422 DMC device description
drivers: memory: add DMC driver for Exynos5422
drivers: devfreq: events: add Exynos PPMU new events
ARM: dts: exynos: add DMC device for exynos5422
ARM: exynos_defconfig: enable DMC driver
.../devicetree/bindings/lpddr3/lpddr3-timings.txt | 57 +
.../devicetree/bindings/lpddr3/lpddr3.txt | 93 +
.../bindings/memory-controllers/exynos5422-dmc.txt | 73 +
MAINTAINERS | 8 +
arch/arm/boot/dts/exynos5420.dtsi | 120 ++
arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 120 ++
arch/arm/configs/exynos_defconfig | 1 +
drivers/clk/samsung/clk-exynos5420.c | 59 +-
drivers/devfreq/event/exynos-ppmu.c | 6 +
drivers/memory/of_memory.c | 125 ++
drivers/memory/of_memory.h | 20 +-
drivers/memory/samsung/Kconfig | 17 +
drivers/memory/samsung/Makefile | 1 +
drivers/memory/samsung/exynos5422-dmc.c | 1793 ++++++++++++++++++++
include/dt-bindings/clock/exynos5420.h | 18 +-
include/memory/jedec_ddr.h | 62 +
16 files changed, 2566 insertions(+), 7 deletions(-)
create mode 100644 Documentation/devicetree/bindings/lpddr3/lpddr3-timings.txt
create mode 100644 Documentation/devicetree/bindings/lpddr3/lpddr3.txt
create mode 100644 Documentation/devicetree/bindings/memory-controllers/exynos5422-dmc.txt
create mode 100644 drivers/memory/samsung/exynos5422-dmc.c
--
2.7.4
next parent reply other threads:[~2019-04-19 19:09 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190419141938eucas1p16ee6cdf897184df33cf67b55c5f3c449@eucas1p1.samsung.com>
2019-04-19 14:19 ` Lukasz Luba [this message]
[not found] ` <CGME20190419141940eucas1p295a1130863cf2e69476ca0ba11a8a102@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 01/10] clk: samsung: add needed IDs for DMC clocks in Exynos5420 Lukasz Luba
2019-04-30 4:47 ` Chanwoo Choi
2019-04-30 12:36 ` Lukasz Luba
[not found] ` <CGME20190419141942eucas1p2eaa1d17d785a27632b214a2da011a9fb@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 02/10] clk: samsung: add new clocks for DMC for Exynos5422 SoC Lukasz Luba
2019-04-30 1:31 ` Chanwoo Choi
2019-04-30 13:12 ` Lukasz Luba
[not found] ` <CGME20190419141943eucas1p220d77bacfc4fcba8ec6a10f540e1a27d@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 03/10] clk: samsung: add BPLL rate table for Exynos 5422 SoC Lukasz Luba
2019-05-02 5:15 ` Chanwoo Choi
2019-05-02 14:23 ` Lukasz Luba
[not found] ` <CGME20190419141945eucas1p1c95d65f261f82da5c856c0f2fcf1ce87@eucas1p1.samsung.com>
2019-04-19 14:19 ` [PATCH v6 04/10] Documentation: dt: device tree bindings for LPDDR3 memories Lukasz Luba
2019-04-25 19:51 ` Rob Herring
2019-04-29 12:04 ` Lukasz Luba
2019-04-29 16:36 ` Rob Herring
2019-04-30 20:04 ` Lukasz Luba
2019-04-25 19:53 ` Rob Herring
2019-04-29 12:05 ` Lukasz Luba
[not found] ` <CGME20190419141946eucas1p2fffda29e18080fd3573f625f0cf2b7f8@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 05/10] drivers: memory: extend of_memory by LPDDR3 support Lukasz Luba
[not found] ` <CGME20190419141947eucas1p13a27605e04169ab528ef5bfb385eddbc@eucas1p1.samsung.com>
2019-04-19 14:19 ` [PATCH v6 06/10] dt-bindings: memory-controllers: add Exynos5422 DMC device description Lukasz Luba
2019-04-25 19:57 ` Rob Herring
2019-04-29 12:14 ` Lukasz Luba
2019-04-29 16:43 ` Rob Herring
2019-04-30 20:15 ` Lukasz Luba
2019-04-30 4:46 ` Chanwoo Choi
2019-04-30 20:30 ` Lukasz Luba
2019-05-02 1:35 ` Chanwoo Choi
2019-05-02 18:56 ` Lukasz Luba
[not found] ` <CGME20190419141949eucas1p2a3ca13166210b6bc5741808055650e04@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 07/10] drivers: memory: add DMC driver for Exynos5422 Lukasz Luba
2019-04-23 11:27 ` Krzysztof Kozlowski
2019-04-29 14:51 ` Lukasz Luba
[not found] ` <CGME20190419141950eucas1p2e810215d1ceaf75fc9e807bbaa78e003@eucas1p2.samsung.com>
2019-04-19 14:19 ` [PATCH v6 08/10] drivers: devfreq: events: add Exynos PPMU new events Lukasz Luba
[not found] ` <CGME20190419141952eucas1p11dc36f30c873a947122e0f7e8d55a3bb@eucas1p1.samsung.com>
2019-04-19 14:19 ` [PATCH v6 09/10] ARM: dts: exynos: add DMC device for exynos5422 Lukasz Luba
2019-04-23 11:03 ` Krzysztof Kozlowski
2019-04-29 12:38 ` Lukasz Luba
[not found] ` <CGME20190419141953eucas1p1b403be15353fa31de3e226599b675f67@eucas1p1.samsung.com>
2019-04-19 14:19 ` [PATCH v6 10/10] ARM: exynos_defconfig: enable DMC driver Lukasz Luba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1555683568-20882-1-git-send-email-l.luba@partner.samsung.com \
--to=l.luba@partner.samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=digetx@gmail.com \
--cc=jroedel@suse.de \
--cc=keescook@chromium.org \
--cc=kgene@kernel.org \
--cc=krzk@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=myungjoo.ham@samsung.com \
--cc=s.nawrocki@samsung.com \
--cc=tony@atomide.com \
--cc=treding@nvidia.com \
--cc=willy.mh.wolff.ml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).