From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Subject: [PATCH v3 00/57] ram: rk3399: Add LPDDR4 support Date: Tue, 16 Jul 2019 17:26:48 +0530 Message-ID: <20190716115745.12585-1-jagan@amarulasolutions.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" To: Simon Glass , Philipp Tomsich , Kever Yang , YouMin Chen , u-boot@lists.denx.de Cc: linux-rockchip@lists.infradead.org, gajjar04akash@gmail.com, linux-amarula@amarulasolutions.com, Manivannan Sadhasivam List-Id: linux-rockchip.vger.kernel.org VGhpcyBpcyBuZXh0IHJldmlzb24gb2YgbHBkZHI0IHN1cHBvcnQgb24gcmszMzk5IGNvbXBhcmVk IHRvCnByZXZpb3VzIHNldFsxXS4gSXQgaGFzIHNvbWUgY2hhbmdlcyBiYXNlZCBvbiB0aGUgY29t bWl0IG9yZGVycwphbmQgc3F1YXNoaW5nIGZldyBwYXRjaGVzIHRvZ2V0aGVyIGFuZCByZXN0IGlz IHNhbWUuCgpUaGFua3MgdG8KLSBZb3VNaW4gQ2hlbgotIEFrYXNoIEdhamphcgotIEtldmVyIFlh bmcKZm9yIHN1cHBvcnRpbmcgYWxsIHRoZSBoZWxwIG9uIHRoaXMgd29yay4KCkNoYW5nZXMgZm9y IHYzOgotIHNxdWFzaCBzZXRfcmF0ZSBjb2RlIGluIG9uZSBwYXRjaAotIHRlc3RlZCBpbiBSb2Nr cHJvNjQgYW5kIFJvY2stUEktNAotIG9yZGVyIHRoZW0gaW4gcHJvcGVyIHdheQotIHJlYmFzZSBv biBtYXN0ZXIKQ2hhbmdlcyBmb3IgdjI6Ci0gaGFuZGxlIExQRERSNCBjb2RlIGFzIHBhcnQgb2Yg Q09ORklHX1JBTV9SSzMzOTlfTFBERFI0Ci0gc3VwcG9ydCBkYXRhX3RyYWluaW5nIGFuZCBzZXRf cmF0ZSB2aWEgc2RyYW1fcmszMzk5X29wcwotIGFkZCBwcm9wZXIgc3lzX3JlZ19lbmMgbWFjcm9z Ci0gYWRkIG5ldyBwYXRjaCB0byByZW5hbWUgdmFyaWFibGUgc2RyYW1fcGFyYW1zIHdpdGggcGFy YW1zCi0gZml4IGZldyBjb21taXQgbWVzc2FnZXMuCgpwYXRjaCAwMDAxIC0gMDAxODogYWRkIGRy YW0gY29uZmlnIGVuYyBtYWNybwoKcGF0Y2ggMDAxOTogY29uZmlndXJlIHBoeSBJTyBpbiBkcyBv ZHQKCnBhdGNoIDAwMjA6IGFkZCBMUEREUjQgY29uZmlnIAoKcGF0Y2ggMDAyMSAtIDAwNDM6IGxw ZGRyNCBkYXRhIHRyYWluaW5nIGNoYW5nZXMKCnBhdGNoIDAwNDQgLSAwMDQ2OiBzeXNjb24gcG11 IHN1cHBvcnQKCnBhdGNoIDAwNDc6IHNldCA1ME1IeiBkZHIgY2xvY2sKCnBhdGNoIDAwNDg6IHNl dCA0MDBNSHogZGRyIGNsb2NrCgpwYXRjaCAwMDQ5OiBMUEREUjQtNDAwIHRpbWluZ3MKCnBhdGNo IDAwNTA6IExQRERSNC04MDAgdGltaW5ncwoKcGF0Y2ggMDA1MSAtIDAwNTI6IGxwZGRyNCBzZXQg cmF0ZQoKcGF0Y2ggMDA1MzogZW5hYmxlIGxwZGRyNCBzdXBwb3J0IG9uIFJvY2twcm82NAoKcGF0 Y2ggMDA1NDogZW5hYmxlIGxwZGRyNCBzdXBwb3J0IG9uIFJvY2stUEkgNAoKcGF0Y2ggMDA1NTog YWRkIExQRERSLTEwMCB0aW1pbmdzIHZpYSBkdHMKCnBhdGNoIDAwNTY6IHVzZSBMUEREUi0xMDAg dGltaW5ncyBvbiBSb2NrcHJvNjQKCnBhdGNoIDAwNTc6IHVzZSBMUEREUi0xMDAgdGltaW5ncyBv biBSb2NrLVBJIDQKClsxXSBodHRwczovL3BhdGNod29yay5vemxhYnMub3JnL2NvdmVyLzExMTY3 MzQvCgpBbnkgaW5wdXRzPwpKYWdhbi4KCkphZ2FuIFRla2kgKDU3KToKICByYW06IHJrMzM5OTog QWRkIGRkcnR5cGUgZW5jIG1hY3JvCiAgcmFtOiByazMzOTk6IEFkZCBjaGFubmVsIG51bWJlciBl bmNvZGVyIG1hY3JvCiAgcmFtOiByazMzOTk6IEFkZCByb3dfM180IGVuYyBtYWNybwogIHJhbTog cmszMzk5OiBBZGQgY2hpcGluZm8gbWFjcm8KICByYW06IHJrMzM5OTogQWRkIHJhbmsgZW5jIG1h Y3JvCiAgcmFtOiByazMzOTk6IEFkZCBjb2x1bW4gZW5jIG1hY3JvCiAgcmFtOiByazMzOTk6IEFk ZCBiayBlbmMgbWFjcm8KICByYW06IHJrMzM5OTogQWRkIGRidyBlbmMgbWFjcm8KICByYW06IHJr MzM5OTogQWRkIGNzMF9ydyBtYWNybwogIHJhbTogcmszMzk5OiBBZGQgY3MxX3J3IG1hY3JvCiAg cmFtOiByazMzOTk6IEFkZCBidyBlbmMgbWFjcm8KICByYW06IHJrMzM5OTogUmVuYW1lIHN5c19y ZWcgd2l0aCBzeXNfcmVnMgogIHJhbTogcmszMzk5OiBVcGRhdGUgY3MwX3JvdyB0byB1c2Ugc3lz X3JlZzMKICByYW06IHJrMzM5OTogVXBkYXRlIGNzMV9yb3cgdG8gdXNlIHN5c19yZWczCiAgcmFt OiByazMzOTk6IEFkZCBjczFfY29sIGVuYyBtYWNybwogIHJhbTogcmszMzk5OiBBZGQgZGRyIHZl cnNpb24gZW5jIG1hY3JvCiAgcmFtOiByazMzOTk6IEFkZCBkZHJ0aW1pbmdDMAogIHJhbTogcmsz Mzk5OiBBZGQgRGRyTW9kZQogIHJhbTogcmszMzk5OiBDb25maWd1cmUgcGh5IElPIGluIGRzIG9k dAogIHJhbTogcm9ja2NoaXA6IEtjb25maWc6IEFkZCBSSzMzOTkgTFBERFI0IGVudHJ5CiAgcmFt OiByazMzOTk6IEFkZCBscGRkcjQgcmFuayBtYXNrIGZvciBjYSB0cmFpbmluZwogIHJhbTogcmsz Mzk5OiBBZGQgbHBkZHI0IHJhbmsgbWFzayBmb3Igd2RxbCB0cmFpbmluZwogIHJhbTogcmszMzk5 OiBNb3ZlIG1vZGVfc2VsIGFzc2lnbm1lbnQKICByYW06IHJrMzM5OTogRG9uJ3Qgd2FpdCBmb3Ig UExMIGxvY2sgaW4gbHBkZHI0CiAgcmFtOiByazMzOTk6IEF2b2lkIHR3byBjaGFubmVsIFpRIENh bCBTdGFydCBhdCB0aGUgc2FtZSB0aW1lCiAgcmFtOiByazMzOTk6IENvbmZpZ3VyZSBQSFlfODk4 LCBQSFlfOTE5IGZvciBscGRkcjQKICByYW06IHJrMzM5OTogQ29uZmlndXJlIEJPT1NUUF9FTiwg Qk9PU1ROX0VOIGZvciBscGRkcjQKICByYW06IHJrMzM5OTogQ29uZmlndXJlIFNMRVdQX0VOLCBT TEVXTl9FTiBmb3IgbHBkZHI0CiAgcmFtOiByazMzOTk6IENvbmZpZ3VyZSBQSFkgUlhfQ01fSU5Q VVQgZm9yIGxwZGRyNAogIHJhbTogcmszMzk5OiBNYXAgY2hpcHNlbGVjdCBmb3IgbHBkZHI0CiAg cmFtOiByazMzOTk6IENvbmZpZ3VyZSB0c2VsIHdyaXRlIGNhIGZvciBscGRkcjQKICByYW06IHJr MzM5OTogRG9uJ3QgZGlzYWJsZSBkZmkgZHJhbSBjbGsgZm9yIGxwZGRyNCwgcmFuayAxCiAgcmFt OiByazMzOTk6IEFkZCBJTyBzZXR0aW5ncwogIHJhbTogc2RyYW06IENvbmZpZ3VyZSBscGRkcjQg dHNlbCByZCwgd3IgYmFzZWQgb24gSU8gc2V0dGluZ3MKICByYW06IHJrMzM5OTogQWRkIHRzZWwg Y29udHJvbCBjbG9jayBkcml2ZQogIHJhbTogcmszMzk5OiBDb25maWd1cmUgc29jIG9kdCBzdXBw b3J0CiAgcmFtOiByazMzOTk6IEdldCBscGRkcjQgdHNlbF9yZF9lbiBmcm9tIGlvIHNldHRpbmdz CiAgcmFtOiByazMzOTk6IFVwZGF0ZSBscGRkcjQgdnJlZiBiYXNlZCBvbiBpbyBzZXR0aW5ncwog IHJhbTogcmszMzk5OiBVcGRhdGUgbHBkZHI0IG1vZGVfc2VsIGJhc2VkIG9uIGlvIHNldHRpbmdz CiAgcmFtOiByazMzOTk6IFVwZGF0ZSBscGRkcjQgdnJlZl9tb2RlX2FjCiAgcmFtOiByazMzOTk6 IFNpbXBsaWZ5IGRhdGEgdHJhaW5pbmcgZmlyc3QgYXJndW1lbnQKICByYW06IHJrMzM5OTogSGFu ZGxlIGRhdGEgdHJhaW5pbmcgdmlhIG9wcwogIHJhbTogcmszMzk5OiBBZGQgTFBQRFI0IG1yIGRl dGVjdGlvbgogIGFybTogaW5jbHVkZTogcm9ja2NoaXA6IEFkZCByazMzOTkgcG11IGZpbGUKICBy b2NrY2hpcDogcmszMzk5OiBzeXNjb246IEFkZCBwbXUgc3VwcG9ydAogIHJvY2tjaGlwOiBkdHM6 IHJrMzM5OTogQWRkIHUtYm9vdCwgZG0tcHJlLXJlbG9jIGZvciBwbXUKICBjbGs6IHJvY2tjaGlw OiByazMzOTk6IFNldCA1ME1IeiBkZHIgY2xvY2sKICBjbGs6IHJvY2tjaGlwOiByazMzOTk6IFNl dCA0MDBNSHogZGRyIGNsb2NrCiAgcmFtOiByazMzOTk6IEFkZCBMUFBERFI0LTQwMCB0aW1pbmdz IGluYwogIHJhbTogcmszMzk5OiBBZGQgTFBQRERSNC04MDAgdGltaW5ncyBpbmMKICByYW06IHJr MzM5OTogQWRkIHNldF9yYXRlIHNkcmFtIHJrMzM5OSBvcHMKICByYW06IHJrMzM5OTogQWRkIGxw ZGRyNCBzZXQgcmF0ZSBzdXBwb3J0CiAgY29uZmlnczogcm9ja3BybzY0OiBFbmFibGUgTFBERFI0 IHN1cHBvcnQKICBjb25maWdzOiByb2NrLXBpLTQ6IEVuYWJsZSBMUEREUjQgc3VwcG9ydAogIHJv Y2tjaGlwOiBkdHM6IHJrMzM5OTogQWRkIExQRERSNC0xMDAgdGltaW5ncwogIHJvY2tjaGlwOiBk dHM6IHJrMzM5OTogcm9ja3BybzY0OiBVc2UgTFBERFI0LTEwMCBkdHNpCiAgcm9ja2NoaXA6IGR0 czogcmszMzk5OiByb2NrLXBpLTQ6IFVzZSBMUEREUjQtMTAwIGR0c2kKCiBhcmNoL2FybS9kdHMv cmszMzk5LXJvY2stcGktNC11LWJvb3QuZHRzaSAgICAgfCAgICAxICsKIGFyY2gvYXJtL2R0cy9y azMzOTktcm9ja3BybzY0LXUtYm9vdC5kdHNpICAgICB8ICAgIDEgKwogYXJjaC9hcm0vZHRzL3Jr MzM5OS1zZHJhbS1scGRkcjQtMTAwLmR0c2kgICAgIHwgMTUzNyArKysrKysrKysrKysrKysKIGFy Y2gvYXJtL2R0cy9yazMzOTktdS1ib290LmR0c2kgICAgICAgICAgICAgICB8ICAgIDQgKwogLi4u L2luY2x1ZGUvYXNtL2FyY2gtcm9ja2NoaXAvcG11X3JrMzM5OS5oICAgIHwgICA3MiArCiAuLi4v aW5jbHVkZS9hc20vYXJjaC1yb2NrY2hpcC9zZHJhbV9jb21tb24uaCAgfCAgIDMxICsKIC4uLi9p bmNsdWRlL2FzbS9hcmNoLXJvY2tjaGlwL3NkcmFtX3JrMzM5OS5oICB8ICAgMjkgKy0KIGFyY2gv YXJtL21hY2gtcm9ja2NoaXAvcmszMzk5L3N5c2Nvbl9yazMzOTkuYyB8ICAgIDggKwogY29uZmln cy9yb2NrLXBpLTQtcmszMzk5X2RlZmNvbmZpZyAgICAgICAgICAgIHwgICAgMSArCiBjb25maWdz L3JvY2twcm82NC1yazMzOTlfZGVmY29uZmlnICAgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMv Y2xrL3JvY2tjaGlwL2Nsa19yazMzOTkuYyAgICAgICAgICAgICB8ICAgIDggKwogZHJpdmVycy9y YW0vcm9ja2NoaXAvS2NvbmZpZyAgICAgICAgICAgICAgICAgIHwgICAgNyArCiAuLi4vcmFtL3Jv Y2tjaGlwL3NkcmFtLXJrMzM5OS1scGRkcjQtNDAwLmluYyAgfCAxNTcwICsrKysrKysrKysrKysr KwogLi4uL3JhbS9yb2NrY2hpcC9zZHJhbS1yazMzOTktbHBkZHI0LTgwMC5pbmMgIHwgMTU3MCAr KysrKysrKysrKysrKysKIGRyaXZlcnMvcmFtL3JvY2tjaGlwL3NkcmFtX3JrMzM5OS5jICAgICAg ICAgICB8IDE3MjYgKysrKysrKysrKysrKystLS0KIDE1IGZpbGVzIGNoYW5nZWQsIDYzMTcgaW5z ZXJ0aW9ucygrKSwgMjQ5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJt L2R0cy9yazMzOTktc2RyYW0tbHBkZHI0LTEwMC5kdHNpCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJj aC9hcm0vaW5jbHVkZS9hc20vYXJjaC1yb2NrY2hpcC9wbXVfcmszMzk5LmgKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL3JhbS9yb2NrY2hpcC9zZHJhbS1yazMzOTktbHBkZHI0LTQwMC5pbmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3JhbS9yb2NrY2hpcC9zZHJhbS1yazMzOTktbHBk ZHI0LTgwMC5pbmMKCi0tIAoyLjE4LjAuMzIxLmdmZmM2ZmEwZTMKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClUtQm9vdCBtYWlsaW5nIGxpc3QKVS1Cb290 QGxpc3RzLmRlbnguZGUKaHR0cHM6Ly9saXN0cy5kZW54LmRlL2xpc3RpbmZvL3UtYm9vdAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Tue, 16 Jul 2019 17:26:48 +0530 Subject: [U-Boot] [PATCH v3 00/57] ram: rk3399: Add LPDDR4 support Message-ID: <20190716115745.12585-1-jagan@amarulasolutions.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This is next revison of lpddr4 support on rk3399 compared to previous set[1]. It has some changes based on the commit orders and squashing few patches together and rest is same. Thanks to - YouMin Chen - Akash Gajjar - Kever Yang for supporting all the help on this work. Changes for v3: - squash set_rate code in one patch - tested in Rockpro64 and Rock-PI-4 - order them in proper way - rebase on master Changes for v2: - handle LPDDR4 code as part of CONFIG_RAM_RK3399_LPDDR4 - support data_training and set_rate via sdram_rk3399_ops - add proper sys_reg_enc macros - add new patch to rename variable sdram_params with params - fix few commit messages. patch 0001 - 0018: add dram config enc macro patch 0019: configure phy IO in ds odt patch 0020: add LPDDR4 config patch 0021 - 0043: lpddr4 data training changes patch 0044 - 0046: syscon pmu support patch 0047: set 50MHz ddr clock patch 0048: set 400MHz ddr clock patch 0049: LPDDR4-400 timings patch 0050: LPDDR4-800 timings patch 0051 - 0052: lpddr4 set rate patch 0053: enable lpddr4 support on Rockpro64 patch 0054: enable lpddr4 support on Rock-PI 4 patch 0055: add LPDDR-100 timings via dts patch 0056: use LPDDR-100 timings on Rockpro64 patch 0057: use LPDDR-100 timings on Rock-PI 4 [1] https://patchwork.ozlabs.org/cover/1116734/ Any inputs? Jagan. Jagan Teki (57): 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: Configure phy IO in ds odt ram: rockchip: Kconfig: Add RK3399 LPDDR4 entry ram: rk3399: Add lpddr4 rank mask for ca 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: Simplify data training first argument ram: rk3399: Handle data training via ops 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 clk: rockchip: rk3399: Set 50MHz ddr clock clk: rockchip: rk3399: Set 400MHz ddr clock ram: rk3399: Add LPPDDR4-400 timings inc ram: rk3399: Add LPPDDR4-800 timings inc ram: rk3399: Add set_rate sdram rk3399 ops ram: rk3399: Add lpddr4 set rate support configs: rockpro64: Enable LPDDR4 support configs: rock-pi-4: Enable LPDDR4 support 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-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 + .../include/asm/arch-rockchip/sdram_common.h | 31 + .../include/asm/arch-rockchip/sdram_rk3399.h | 29 +- arch/arm/mach-rockchip/rk3399/syscon_rk3399.c | 8 + configs/rock-pi-4-rk3399_defconfig | 1 + configs/rockpro64-rk3399_defconfig | 1 + drivers/clk/rockchip/clk_rk3399.c | 8 + drivers/ram/rockchip/Kconfig | 7 + .../ram/rockchip/sdram-rk3399-lpddr4-400.inc | 1570 +++++++++++++++ .../ram/rockchip/sdram-rk3399-lpddr4-800.inc | 1570 +++++++++++++++ drivers/ram/rockchip/sdram_rk3399.c | 1726 ++++++++++++++--- 15 files changed, 6317 insertions(+), 249 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/sdram-rk3399-lpddr4-400.inc create mode 100644 drivers/ram/rockchip/sdram-rk3399-lpddr4-800.inc -- 2.18.0.321.gffc6fa0e3