From: Jagan Teki <jagan@amarulasolutions.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/92] ram: rk3399: Add LPDDR4 support
Date: Tue, 11 Jun 2019 20:20:03 +0530 [thread overview]
Message-ID: <20190611145135.21399-1-jagan@amarulasolutions.com> (raw)
Yes, it can be possible to break this series into multiple sub series
but idea here is to mark all the required changes to support LPDDR4
in rk3399 in one set. if required we can break it from next versions.
This is the initial set for supporting LPDDR4 with associated
features.
Thanks to
- YouMin Chen
- Akash Gajjar
- Kever Yang
for supporting all the help on this work.
On summary this series support
- Code warning and fixes
- rank detection, this would required to probe single channel
sdram configured in NanoPI-NEO4
- LPDDR4 support, tested in Rockpro64 and Rock-PI-4
patch 0001 - 0033: fix code warnings, prints, new macros
patch 0034 - 0051: rank detection, sdram debug code
patch 0052: Use DDR3-1800 on NanoPI-NEO4
patch 0053 - 0089: lpddr4 support
patch 0090: LPDDR4-100 timings
patch 0091: Use LPDDR4-100 on Rockpro64
patch 0092: Use LPDDR4-100 on Rock-PI 4
Note: Puma rk3399 has SPL size overflow, better to enable TPL
for this board.
Any inputs?
Jagan.
Jagan Teki (92):
ram: rk3399: Fix code warnings
ram: rk3399: Add space between string with format specifier
ram: rk3399: Add proper spaces in data training
ram: rk3399: Handle data training return types
ram: rk3399: Order include files
ram: rk3399: Move macro after include files
ram: rk3399: Clear PI_175 interrupts in data training
ram: rk3399: Use rank mask in ca data training
ram: rk3399: Use rank mask in wdql data training
ram: rk3399: Add ddrtype enc macro
ram: rk3399: Add channel number encoder macro
ram: rk3399: Add row_3_4 enc macro
ram: rk3399: Add chipinfo macro
ram: rk3399: Add rank enc macro
ram: rk3399: Add column enc macro
ram: rk3399: Add bk enc macro
ram: rk3399: Add dbw enc macro
ram: rk3399: Add cs0_rw macro
ram: rk3399: Add cs1_rw macro
ram: rk3399: Add bw enc macro
ram: rk3399: Rename sys_reg with sys_reg2
ram: rk3399: Update cs0_row to use sys_reg3
ram: rk3399: Update cs1_row to use sys_reg3
ram: rk3399: Add cs1_col enc macro
ram: rk3399: Add ddr version enc macro
ram: rk3399: Add ddrtimingC0
ram: rk3399: Add DdrMode
ram: rk3399: Handle pctl_cfg return type
ram: rk3399: s/tsel_wr_select_n/tsel_wr_select_dq_n
ram: rk3399: s/tsel_wr_select_p/tsel_wr_select_dq_p
ram: rk3399: s/ca_tsel_wr_select_n/tsel_wr_select_ca_n
ram: rk3399: s/ca_tsel_wr_select_p/tsel_wr_select_ca_p
ram: rk3399: Order tsel variables
ram: rk3399: Add phy pctrl reset support
ram: rk3399: Move pwrup_srefresh_exit to dram_info
ram: rk3399: Add pctl start support
ram: rockchip: rk3399: Add cap_info structure
ram: rk3399: s/rk3399_base_params/sdram_base_params
ram: rk3399: Move common sdram structures in common header
arm: include: rockchip: Move dramtypes to common header
arm: include: rockchip: Add DDR4 enum
ram: rockchip: Add initial Kconfig
debug_uart: Add printdec
ram: rockchip: Add debug sdram driver
ram: rockchip: debug: Add sdram_print_ddr_info
ram: rockchip: debug: Get the cs capacity
ram: rk3399: debug: Add sdram_print_stride
ram: rk3399: Compute stride for 2 channels
ram: rk3399: Compute stride for 1 channel a
ram: rk3399: Add rank detection support
ram: rk3399: Enable sdram debug functions
rockchip: dts: rk3399: nanopi-neo4: Use DDR3-1866 dtsi
clk: rockchip: rk3399: Fix check patch warnings and checks
clk: rockchip: rk3399: Set 50MHz ddr clock
clk: rockchip: rk3399: Set 400MHz ddr clock
ram: rk3399: Add spaces in pctl_cfg
ram: rk3399: Configure phy IO in ds odt
ram: rk3399: Add lpddr4 rank mask for cs training
ram: rk3399: Add lpddr4 rank mask for wdql training
ram: rk3399: Move mode_sel assignment
ram: rk3399: Don't wait for PLL lock in lpddr4
ram: rk3399: Avoid two channel ZQ Cal Start at the same time
ram: rk3399: Configure PHY_898, PHY_919 for lpddr4
ram: rk3399: Configure BOOSTP_EN, BOOSTN_EN for lpddr4
ram: rk3399: Configure SLEWP_EN, SLEWN_EN for lpddr4
ram: rk3399: Configure PHY RX_CM_INPUT for lpddr4
ram: rk3399: Map chipselect for lpddr4
ram: rk3399: Configure tsel write ca for lpddr4
ram: rk3399: Don't disable dfi dram clk for lpddr4, rank 1
ram: rk3399: Add IO settings
ram: sdram: Configure lpddr4 tsel rd, wr based on IO settings
ram: rk3399: Add tsel control clock drive
ram: rk3399: Configure soc odt support
ram: rk3399: Get lpddr4 tsel_rd_en from io settings
ram: rk3399: Update lpddr4 vref based on io settings
ram: rk3399: Update lpddr4 mode_sel based on io settings
ram: rk3399: Update lpddr4 vref_mode_ac
ram: rk3399: Add LPPDR4 mr detection
arm: include: rockchip: Add rk3399 pmu file
rockchip: rk3399: syscon: Add pmu support
rockchip: dts: rk3399: Add u-boot,dm-pre-reloc for pmu
ram: rk3399: Add LPPDDR4-400 timings inc
ram: rk3399: Add LPPDDR4-800 timings inc
ram: rk3399: Add lpddr4 set rate support
ram: rk3399: Set lpddr4 dq odt
ram: rk3399: Set lpddr4 ca odt
ram: rk3399: Set lpddr4 MR3
ram: rk3399: Set lpddr4 MR12
ram: rk3399: Set lpddr4 MR14
rockchip: dts: rk3399: Add LPDDR4-100 timings
rockchip: dts: rk3399: rockpro64: Use LPDDR4-100 dtsi
rockchip: dts: rk3399: rock-pi-4: Use LPDDR4-100 dtsi
arch/arm/dts/rk3399-nanopi-neo4-u-boot.dtsi | 1 +
arch/arm/dts/rk3399-rock-pi-4-u-boot.dtsi | 1 +
arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 1 +
arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi | 1537 ++++++++++++
arch/arm/dts/rk3399-u-boot.dtsi | 4 +
.../include/asm/arch-rockchip/pmu_rk3399.h | 72 +
arch/arm/include/asm/arch-rockchip/sdram.h | 6 -
.../include/asm/arch-rockchip/sdram_common.h | 89 +
.../include/asm/arch-rockchip/sdram_rk322x.h | 7 -
.../include/asm/arch-rockchip/sdram_rk3399.h | 65 +-
arch/arm/mach-rockchip/rk3399/syscon_rk3399.c | 8 +
drivers/clk/rockchip/clk_rk3399.c | 76 +-
drivers/ram/Kconfig | 1 +
drivers/ram/rockchip/Kconfig | 26 +
drivers/ram/rockchip/Makefile | 3 +-
.../ram/rockchip/sdram-rk3399-lpddr4-400.inc | 1570 ++++++++++++
.../ram/rockchip/sdram-rk3399-lpddr4-800.inc | 1570 ++++++++++++
drivers/ram/rockchip/sdram_debug.c | 147 ++
drivers/ram/rockchip/sdram_rk3399.c | 2176 ++++++++++++++---
include/debug_uart.h | 19 +
20 files changed, 6964 insertions(+), 415 deletions(-)
create mode 100644 arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi
create mode 100644 arch/arm/include/asm/arch-rockchip/pmu_rk3399.h
create mode 100644 drivers/ram/rockchip/Kconfig
create mode 100644 drivers/ram/rockchip/sdram-rk3399-lpddr4-400.inc
create mode 100644 drivers/ram/rockchip/sdram-rk3399-lpddr4-800.inc
create mode 100644 drivers/ram/rockchip/sdram_debug.c
--
2.18.0.321.gffc6fa0e3
next reply other threads:[~2019-06-11 14:50 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-11 14:50 Jagan Teki [this message]
2019-06-11 14:50 ` [U-Boot] [PATCH 01/92] ram: rk3399: Fix code warnings Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 02/92] ram: rk3399: Add space between string with format specifier Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 03/92] ram: rk3399: Add proper spaces in data training Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 04/92] ram: rk3399: Handle data training return types Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 05/92] ram: rk3399: Order include files Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 06/92] ram: rk3399: Move macro after " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 07/92] ram: rk3399: Clear PI_175 interrupts in data training Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 08/92] ram: rk3399: Use rank mask in ca " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 09/92] ram: rk3399: Use rank mask in wdql " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 10/92] ram: rk3399: Add ddrtype enc macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 11/92] ram: rk3399: Add channel number encoder macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 12/92] ram: rk3399: Add row_3_4 enc macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 13/92] ram: rk3399: Add chipinfo macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 14/92] ram: rk3399: Add rank enc macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 15/92] ram: rk3399: Add column " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 16/92] ram: rk3399: Add bk " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 17/92] ram: rk3399: Add dbw " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 18/92] ram: rk3399: Add cs0_rw macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 19/92] ram: rk3399: Add cs1_rw macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 20/92] ram: rk3399: Add bw enc macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 21/92] ram: rk3399: Rename sys_reg with sys_reg2 Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 22/92] ram: rk3399: Update cs0_row to use sys_reg3 Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 23/92] ram: rk3399: Update cs1_row " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 24/92] ram: rk3399: Add cs1_col enc macro Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 25/92] ram: rk3399: Add ddr version " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 26/92] ram: rk3399: Add ddrtimingC0 Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 27/92] ram: rk3399: Add DdrMode Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 28/92] ram: rk3399: Handle pctl_cfg return type Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 29/92] ram: rk3399: s/tsel_wr_select_n/tsel_wr_select_dq_n Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 30/92] ram: rk3399: s/tsel_wr_select_p/tsel_wr_select_dq_p Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 31/92] ram: rk3399: s/ca_tsel_wr_select_n/tsel_wr_select_ca_n Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 32/92] ram: rk3399: s/ca_tsel_wr_select_p/tsel_wr_select_ca_p Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 33/92] ram: rk3399: Order tsel variables Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 34/92] ram: rk3399: Add phy pctrl reset support Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 35/92] ram: rk3399: Move pwrup_srefresh_exit to dram_info Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 36/92] ram: rk3399: Add pctl start support Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 37/92] ram: rockchip: rk3399: Add cap_info structure Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 38/92] ram: rk3399: s/rk3399_base_params/sdram_base_params Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 39/92] ram: rk3399: Move common sdram structures in common header Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 40/92] arm: include: rockchip: Move dramtypes to " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 41/92] arm: include: rockchip: Add DDR4 enum Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 42/92] ram: rockchip: Add initial Kconfig Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 43/92] debug_uart: Add printdec Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 44/92] ram: rockchip: Add debug sdram driver Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 45/92] ram: rockchip: debug: Add sdram_print_ddr_info Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 46/92] ram: rockchip: debug: Get the cs capacity Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 47/92] ram: rk3399: debug: Add sdram_print_stride Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 48/92] ram: rk3399: Compute stride for 2 channels Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 49/92] ram: rk3399: Compute stride for 1 channel a Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 50/92] ram: rk3399: Add rank detection support Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 51/92] ram: rk3399: Enable sdram debug functions Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 52/92] rockchip: dts: rk3399: nanopi-neo4: Use DDR3-1866 dtsi Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 53/92] clk: rockchip: rk3399: Fix check patch warnings and checks Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 54/92] clk: rockchip: rk3399: Set 50MHz ddr clock Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 55/92] clk: rockchip: rk3399: Set 400MHz " Jagan Teki
2019-06-11 14:50 ` [U-Boot] [PATCH 56/92] ram: rk3399: Add spaces in pctl_cfg Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 57/92] ram: rk3399: Configure phy IO in ds odt Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 58/92] ram: rk3399: Add lpddr4 rank mask for cs training Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 59/92] ram: rk3399: Add lpddr4 rank mask for wdql training Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 60/92] ram: rk3399: Move mode_sel assignment Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 61/92] ram: rk3399: Don't wait for PLL lock in lpddr4 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 62/92] ram: rk3399: Avoid two channel ZQ Cal Start at the same time Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 63/92] ram: rk3399: Configure PHY_898, PHY_919 for lpddr4 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 64/92] ram: rk3399: Configure BOOSTP_EN, BOOSTN_EN " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 65/92] ram: rk3399: Configure SLEWP_EN, SLEWN_EN " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 66/92] ram: rk3399: Configure PHY RX_CM_INPUT " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 67/92] ram: rk3399: Map chipselect " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 68/92] ram: rk3399: Configure tsel write ca " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 69/92] ram: rk3399: Don't disable dfi dram clk for lpddr4, rank 1 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 70/92] ram: rk3399: Add IO settings Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 71/92] ram: sdram: Configure lpddr4 tsel rd, wr based on " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 72/92] ram: rk3399: Add tsel control clock drive Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 73/92] ram: rk3399: Configure soc odt support Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 74/92] ram: rk3399: Get lpddr4 tsel_rd_en from io settings Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 75/92] ram: rk3399: Update lpddr4 vref based on " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 76/92] ram: rk3399: Update lpddr4 mode_sel " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 77/92] ram: rk3399: Update lpddr4 vref_mode_ac Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 78/92] ram: rk3399: Add LPPDR4 mr detection Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 79/92] arm: include: rockchip: Add rk3399 pmu file Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 80/92] rockchip: rk3399: syscon: Add pmu support Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 81/92] rockchip: dts: rk3399: Add u-boot, dm-pre-reloc for pmu Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 82/92] ram: rk3399: Add LPPDDR4-400 timings inc Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 83/92] ram: rk3399: Add LPPDDR4-800 " Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 84/92] ram: rk3399: Add lpddr4 set rate support Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 85/92] ram: rk3399: Set lpddr4 dq odt Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 86/92] ram: rk3399: Set lpddr4 ca odt Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 87/92] ram: rk3399: Set lpddr4 MR3 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 88/92] ram: rk3399: Set lpddr4 MR12 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 89/92] ram: rk3399: Set lpddr4 MR14 Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 90/92] rockchip: dts: rk3399: Add LPDDR4-100 timings Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 91/92] rockchip: dts: rk3399: rockpro64: Use LPDDR4-100 dtsi Jagan Teki
2019-06-11 14:51 ` [U-Boot] [PATCH 92/92] rockchip: dts: rk3399: rock-pi-4: " Jagan Teki
2019-06-11 14:53 ` [U-Boot] [PATCH 00/92] ram: rk3399: Add LPDDR4 support Philipp Tomsich
2019-06-11 15:03 ` Jagan Teki
2019-06-11 15:06 ` Philipp Tomsich
2019-06-12 15:30 ` Jagan Teki
2019-06-12 15:40 ` Philipp Tomsich
2019-06-13 1:50 ` Kever Yang
2019-06-13 6:26 ` Jagan Teki
2019-06-13 1:44 ` Kever Yang
2019-06-13 6:23 ` Jagan Teki
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=20190611145135.21399-1-jagan@amarulasolutions.com \
--to=jagan@amarulasolutions.com \
--cc=u-boot@lists.denx.de \
/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