From patchwork Tue Jun 11 14:51:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 521 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 7C7C33F08A for ; Tue, 11 Jun 2019 16:56:30 +0200 (CEST) Received: by mail-pf1-f198.google.com with SMTP id z1sf9765662pfb.7 for ; Tue, 11 Jun 2019 07:56:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560264989; cv=pass; d=google.com; s=arc-20160816; b=oQw9IMnGJou7EwvRXo2BB186vmqRpkUvI1ln5zCDVGHVrHuTBRR5geynRlCYYY6iti 9YtNQAGkKCl4W0r3FRmFpBf6hfqGhFDIgGJ23BdiZzx2uOtuKe3lnDYo0qGZq8t1BwFU o/owFRkRwG0N9tAT9U2e6bdXUOuWDSeCHqa2YXKGBTYyTfYWy2QyB/7cbYyVzRVUEJrR lT0ZiH9FI7MpLf4kxMIZGVCbnHRniyAOPhtqUnEx/aZ8D7mTHPwDPUBxaG0oCZWXosCF hMhDhfyqNW/dwVdWUuur8QQq9jlGO0X+tO3YrzcKw1o9syfaUZVEeQW91F5fWh16Ppad P1sw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=lbyOqiaY4N7QZ6wRCtFvrZKWJ25YQL2B5mF2Luef0Fo=; b=lCednYDk40WyLepKgMOCrnJFBapOuj4HIm/DKBjdHh/QQ1LSmZs2LeMxW2RSy49P5b lh8zNgEuwls7hYJ/i1M3nlCqadcpEr99NJbpHU2+m4ThDNLb573b62qG2mPxvgvIqdXb t3j3tGkmA6hQbJbXaQD4ZBI7Y2IRiS3P8ChcRypBlPAps/ikdDxghhxIwTu4y0aXq/8g pD/EIx0rR/RXDXIdBz3zd5qvph3HRSIFYx6cua6mq7vb5ZlYY9iNm+L2umhR5HnVd50y uThCzoM8QkgPV5Ziize3IoiqQIIaa43iodz9MMvM2uNaIJmGOlJeSLidKzNKtYhjrLj2 NEuQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=GANHWTSc; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=lbyOqiaY4N7QZ6wRCtFvrZKWJ25YQL2B5mF2Luef0Fo=; b=bK9iOTUCJp8U17C+nYkry1sJc8HKaiSs6I4j/XaYr60I2oTn4B9rE2e+32RUPQE9pF 7h+IiZpayj86FaWkAo78qu0fzvHTQG+WGxnnk7wdAs8uFCy5Z+j9RwX/LsOGOUN8ipvK /4gxWRhdfZiRbY2SJJsy9zW6vjiewwxZMPBMk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-unsubscribe; bh=lbyOqiaY4N7QZ6wRCtFvrZKWJ25YQL2B5mF2Luef0Fo=; b=Wkxyj5tH6qDsZF5lPMcQtYraEFYKzc6isiMEmci8E8daxzHpVtuFQ2+n3iM6WnGK5r VqxWDxQq0k/e5+kGa7WK7Dyf9Zk4jPFR79BBPXdxcQSJzbxqeSIj0jwhGT06HM6rzB9r sh3m/Zt3FRKMJ6L1+SEsz+ROBjd4CK8g2vjcLBe1uW1Z4VfIxRqqmr4BJhb7V+VFpyCM iiTnuEoZ/Ist7F13OvSzoSvpKOz+qU/VQvCz0fFd5m/TsZO/V6J+g850YDcY0vkMDbI1 XOFbzvigfOOJv2vg6FVXy4QbV4/rKdapf2DAslWrUZmy5IjAr5VbOY2UFmKssMGaP5bk DubA== X-Gm-Message-State: APjAAAUZQcwdG7bBP8u4bBk3MddrcDl+fAeHKL4LbICaid3r0bFiwpmd 7ybKeSD3ZbsP6e1GZCO6fByCT/wC X-Google-Smtp-Source: APXvYqy1KFG8oeMNiLHtOnyPbKLPGDVFp8tcYj35N10Bb0xfxQSRyNqOnmBrlk/0en/mCNFzdtkCHA== X-Received: by 2002:a17:90a:214e:: with SMTP id a72mr28087281pje.0.1560264989290; Tue, 11 Jun 2019 07:56:29 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a62:4e81:: with SMTP id c123ls4502685pfb.0.gmail; Tue, 11 Jun 2019 07:56:29 -0700 (PDT) X-Received: by 2002:a63:6005:: with SMTP id u5mr11108828pgb.123.1560264988935; Tue, 11 Jun 2019 07:56:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560264988; cv=none; d=google.com; s=arc-20160816; b=iA8BnrUJisqeZ5C5rWmQs6HuD+Dcoj49U2TuUWb0R6JwmP+4RtauZWk5SExHzCvR1R i0weOYXblkAC2cphP/Bf9cU1+zVPG00Tn/qKcMNj1LbNlVzzlUX+E4g3I2sq/rTBZPUE LR2pJR1qXAYR0BsSzoh+aMr4VlXJ7TOimIVN0Ue4DkCvFlz7HtD8DCbbrwhPTOIdNz8A FClnsY1TdFoqgoWDGFVp8JTwkjxXSuGvNjhS4ZEuMr5IHETqmvHan1YabVS1/1G0lfV+ fq3iyau7MVCQQdnrhbjZNMsTKGKgyxtE2UsN5iTsSk7OlHGqTItxOb5H/Z0iGkdBHQIs xPkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=be5iGODuHUyOHnG/APAPnJWbjtO4VKwOHIm/JwaS84I=; b=lFUX2vQgRFNj2++KhEzrvA1tLnRhAm7JjybcoO9v0kyDzLxUJtGWYQpuiyqzkDyWKY aqTbIbyhHhulGaTWZZOed8catEgoSSjVdFhLGMBzk7e1ZehySvG0173mbxE4AaWykYmd 4cIi0XxeCz414/GnEtOz7TmI88dR1/MQJYlNDaS+iuBToFjUTij9QCqGrw2WW5HaM4KG CnVJY8XDyauHP32A+VvTYq6rVuvnaNN/J0kcP/SUZ6xNjL65SVmjehdOXbI712PMHrVe s3+0uRicUPnJp1qTXGfMOSZzgvMofLcInzhUiTLdiOumradggpPMeEl8JJ/T9wYvrtee CgGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=GANHWTSc; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id w2sor15471309ply.72.2019.06.11.07.56.28 for (Google Transport Security); Tue, 11 Jun 2019 07:56:28 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Received: by 2002:a17:902:4181:: with SMTP id f1mr73651417pld.22.1560264988626; Tue, 11 Jun 2019 07:56:28 -0700 (PDT) Received: from localhost.localdomain ([115.97.180.18]) by smtp.gmail.com with ESMTPSA id e9sm16206208pfn.154.2019.06.11.07.56.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jun 2019 07:56:28 -0700 (PDT) From: Jagan Teki To: Simon Glass , Philipp Tomsich , Kever Yang , YouMin Chen , u-boot@lists.denx.de Cc: gajjar04akash@gmail.com, linux-rockchip@lists.infradead.org, linux-amarula@amarulasolutions.com, Jagan Teki Subject: [PATCH 70/92] ram: rk3399: Add IO settings Date: Tue, 11 Jun 2019 20:21:13 +0530 Message-Id: <20190611145135.21399-71-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190611145135.21399-1-jagan@amarulasolutions.com> References: <20190611145135.21399-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=GANHWTSc; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add IO settings for dram ctl and phy. IO settings are useful for configuring ctl, phy odt, vref, mr5, mode select and other needed input output operations for lpddr4 or any other dramtype sdram. Right now, this patch added IO setting for all supported sdram frequencies. Signed-off-by: Jagan Teki Signed-off-by: YouMin Chen --- drivers/ram/rockchip/sdram_rk3399.c | 104 ++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index 9151b023e2..5db7cbe116 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -80,6 +80,110 @@ struct rockchip_dmc_plat { struct regmap *map; }; +struct io_setting { + u32 mhz; + u32 mr5; + /* dram side */ + u32 dq_odt; + u32 ca_odt; + u32 pdds; + u32 dq_vref; + u32 ca_vref; + /* phy side */ + u32 rd_odt; + u32 wr_dq_drv; + u32 wr_ca_drv; + u32 wr_ckcs_drv; + u32 rd_odt_en; + u32 rd_vref; +} lpddr4_io_setting[] = { + { + 50 * MHz, + 0, + /* dram side */ + 0, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_40, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en;*/ + 41, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 600 * MHz, + 0, + /* dram side */ + 1, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en; */ + 32, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 800 * MHz, + 0, + /* dram side */ + 1, /* dq_odt; */ + 0, /* ca_odt; */ + 1, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_40, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 1, /* rd_odt_en; */ + 17, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 933 * MHz, + 0, + /* dram side */ + 3, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x59, /* dq_vref; 32% */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en; */ + 32, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 1066 * MHz, + 0, + /* dram side */ + 6, /* dq_odt; */ + 0, /* ca_odt; */ + 1, /* pdds; */ + 0x10, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_40, /* rd_odt; */ + PHY_DRV_ODT_60, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 1, /* rd_odt_en; */ + 17, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, +}; + static void *get_ddrc0_con(struct dram_info *dram, u8 channel) { return (channel == 0) ? &dram->grf->ddrc0_con0 : &dram->grf->ddrc0_con1;