From: Alexander Shiyan <eagle.alexander923@gmail.com>
To: barebox@lists.infradead.org
Cc: Alexander Shiyan <eagle.alexander923@gmail.com>
Subject: [RFC 3/8] ARM: OMAP: Adopt am35xx_emif4_init() to use fixed offset definitions
Date: Fri, 3 Jun 2022 14:25:35 +0300 [thread overview]
Message-ID: <20220603112540.51644-3-eagle.alexander923@gmail.com> (raw)
In-Reply-To: <20220603112540.51644-1-eagle.alexander923@gmail.com>
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
arch/arm/mach-omap/am35xx_emif4.c | 40 ++++++++++++-------------
arch/arm/mach-omap/include/mach/emif4.h | 24 ---------------
2 files changed, 20 insertions(+), 44 deletions(-)
diff --git a/arch/arm/mach-omap/am35xx_emif4.c b/arch/arm/mach-omap/am35xx_emif4.c
index 678a338fd6..8780dfb539 100644
--- a/arch/arm/mach-omap/am35xx_emif4.c
+++ b/arch/arm/mach-omap/am35xx_emif4.c
@@ -21,58 +21,58 @@
*/
void am35xx_emif4_init(void)
{
+ const void __iomem *emif4 = IOMEM(OMAP3_SDRC_BASE);
unsigned int regval;
- struct emif4 *emif4_base = IOMEM(OMAP3_SDRC_BASE);
/* Set the DDR PHY parameters in PHY ctrl registers */
regval = (EMIF4_DDR1_READ_LAT | EMIF4_DDR1_PWRDN_DIS |
EMIF4_DDR1_EXT_STRB_DIS);
- writel(regval, &emif4_base->ddr_phyctrl1);
- writel(regval, &emif4_base->ddr_phyctrl1_shdw);
- writel(0, &emif4_base->ddr_phyctrl2);
+ writel(regval, emif4 + EMIF4_DDR_PHY_CTRL_1);
+ writel(regval, emif4 + EMIF4_DDR_PHY_CTRL_1_SHADOW);
+ writel(0, emif4 + EMIF4_DDR_PHY_CTRL_2);
/* Reset the DDR PHY and wait till completed */
- regval = readl(&emif4_base->sdram_iodft_tlgc);
+ regval = readl(emif4 + EMIF4_IODFT_TLGC);
regval |= (1 << 10);
- writel(regval, &emif4_base->sdram_iodft_tlgc);
+ writel(regval, emif4 + EMIF4_IODFT_TLGC);
/* Wait till that bit clears*/
- while (readl(&emif4_base->sdram_iodft_tlgc) & (1 << 10));
+ while (readl(emif4 + EMIF4_IODFT_TLGC) & (1 << 10));
/* Re-verify the DDR PHY status*/
- while ((readl(&emif4_base->sdram_sts) & (1 << 2)) == 0x0);
+ while ((readl(emif4 + EMIF4_STATUS) & (1 << 2)) == 0x0);
regval |= (1 << 0);
- writel(regval, &emif4_base->sdram_iodft_tlgc);
+ writel(regval, emif4 + EMIF4_IODFT_TLGC);
/* Set SDR timing registers */
regval = (EMIF4_TIM1_T_WTR | EMIF4_TIM1_T_RRD |
EMIF4_TIM1_T_RC | EMIF4_TIM1_T_RAS |
EMIF4_TIM1_T_WR | EMIF4_TIM1_T_RCD |
EMIF4_TIM1_T_RP);
- writel(regval, &emif4_base->sdram_time1);
- writel(regval, &emif4_base->sdram_time1_shdw);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_1);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_1_SHADOW);
regval = (EMIF4_TIM2_T_CKE | EMIF4_TIM2_T_RTP |
EMIF4_TIM2_T_XSRD | EMIF4_TIM2_T_XSNR |
EMIF4_TIM2_T_ODT | EMIF4_TIM2_T_XP);
- writel(regval, &emif4_base->sdram_time2);
- writel(regval, &emif4_base->sdram_time2_shdw);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_2);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_2_SHADOW);
regval = (EMIF4_TIM3_T_RAS_MAX | EMIF4_TIM3_T_RFC);
- writel(regval, &emif4_base->sdram_time3);
- writel(regval, &emif4_base->sdram_time3_shdw);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_3);
+ writel(regval, emif4 + EMIF4_SDRAM_TIM_3_SHADOW);
/* Set the PWR control register */
regval = (EMIF4_PWR_PM_TIM | EMIF4_PWR_LP_MODE |
EMIF4_PWR_DPD_DIS | EMIF4_PWR_IDLE_MODE);
- writel(regval, &emif4_base->sdram_pwr_mgmt);
- writel(regval, &emif4_base->sdram_pwr_mgmt_shdw);
+ writel(regval, emif4 + EMIF4_POWER_MANAGEMENT_CTRL);
+ writel(regval, emif4 + EMIF4_POWER_MANAGEMENT_CTRL_SHADOW);
/* Set the DDR refresh rate control register */
regval = (EMIF4_REFRESH_RATE | EMIF4_INITREF_DIS);
- writel(regval, &emif4_base->sdram_refresh_ctrl);
- writel(regval, &emif4_base->sdram_refresh_ctrl_shdw);
+ writel(regval, emif4 + EMIF4_SDRAM_REF_CTRL);
+ writel(regval, emif4 + EMIF4_SDRAM_REF_CTRL_SHADOW);
/* set the SDRAM configuration register */
regval = (EMIF4_CFG_PGSIZE | EMIF4_CFG_EBANK |
@@ -81,5 +81,5 @@ void am35xx_emif4_init(void)
EMIF4_CFG_SDR_DRV | EMIF4_CFG_DDR_DIS_DLL |
EMIF4_CFG_DDR2_DDQS | EMIF4_CFG_DDR_TERM |
EMIF4_CFG_IBANK_POS | EMIF4_CFG_SDRAM_TYP);
- writel(regval, &emif4_base->sdram_config);
+ writel(regval, emif4 + EMIF4_SDRAM_CONFIG);
}
diff --git a/arch/arm/mach-omap/include/mach/emif4.h b/arch/arm/mach-omap/include/mach/emif4.h
index 559443c9a6..06dabc5939 100644
--- a/arch/arm/mach-omap/include/mach/emif4.h
+++ b/arch/arm/mach-omap/include/mach/emif4.h
@@ -97,30 +97,6 @@
#define EMIF4_DDR1_PWRDN_EN (0x1 << 6)
#define EMIF4_DDR1_READ_LAT (0x6 << 0)
-struct emif4 {
- unsigned int emif_mod_id_rev;
- unsigned int sdram_sts;
- unsigned int sdram_config;
- unsigned int res1;
- unsigned int sdram_refresh_ctrl;
- unsigned int sdram_refresh_ctrl_shdw;
- unsigned int sdram_time1;
- unsigned int sdram_time1_shdw;
- unsigned int sdram_time2;
- unsigned int sdram_time2_shdw;
- unsigned int sdram_time3;
- unsigned int sdram_time3_shdw;
- unsigned char res2[8];
- unsigned int sdram_pwr_mgmt;
- unsigned int sdram_pwr_mgmt_shdw;
- unsigned char res3[32];
- unsigned int sdram_iodft_tlgc;
- unsigned char res4[128];
- unsigned int ddr_phyctrl1;
- unsigned int ddr_phyctrl1_shdw;
- unsigned int ddr_phyctrl2;
-};
-
void am35xx_emif4_init(void);
#endif /* endif _EMIF_H_ */
--
2.32.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2022-06-03 11:27 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-03 11:25 [RFC 1/8] ARM: OMAP: Rearranging EMIF4 definitions Alexander Shiyan
2022-06-03 11:25 ` [RFC 2/8] ARM: OMAP: Move EMIF4 definitions to appropriate header Alexander Shiyan
2022-06-03 11:25 ` Alexander Shiyan [this message]
2022-06-03 11:25 ` [RFC 4/8] ARM: OMAP: Move locally used definitions from emif4 header to am35xx_emif4 Alexander Shiyan
2022-06-03 11:25 ` [RFC 5/8] ARM: OMAP: emif: Abstract am35xx_emif4 from any CPU-specific includes Alexander Shiyan
2022-06-03 11:25 ` [RFC 6/8] ARM: OMAP: emif: Rename am35xx_emif4 unit Alexander Shiyan
2022-06-03 11:25 ` [RFC 7/8] ARM: OMAP: Use EMIF4 registers for get SDRAM size Alexander Shiyan
2022-06-03 11:25 ` [RFC 8/8] ARM: OMAP: Move am33xx_sdram_size() into EMIF module and make it generic Alexander Shiyan
2022-06-07 7:38 ` [RFC 1/8] ARM: OMAP: Rearranging EMIF4 definitions Sascha Hauer
2022-06-07 7:47 ` Alexander Shiyan
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=20220603112540.51644-3-eagle.alexander923@gmail.com \
--to=eagle.alexander923@gmail.com \
--cc=barebox@lists.infradead.org \
/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