aboutsummaryrefslogtreecommitdiff
path: root/drivers/st/ddr
diff options
context:
space:
mode:
authorYann Gautier <yann.gautier@st.com>2019-02-14 10:53:33 +0100
committerYann Gautier <yann.gautier@st.com>2019-02-14 11:20:23 +0100
commit0d21680c35f328f1b793f0765760e994d883ff12 (patch)
treec6e8b6e242aee14fbae6171261a63d31b5759b9d /drivers/st/ddr
parent5202cb393da7f6f3a9cf48a49e2a12f3bdee2b16 (diff)
stm32mp1: update clock driver
Remove useless private structure in function prototypes. Add a reference counter on clocks. Prepare for future secured/shared/non-secured clocks. Change-Id: I3dbed81721da5ceff5e10b2c4155b1e340c036ee Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Nicolas LE BAYON <nicolas.le.bayon@st.com>
Diffstat (limited to 'drivers/st/ddr')
-rw-r--r--drivers/st/ddr/stm32mp1_ddr_helpers.c4
-rw-r--r--drivers/st/ddr/stm32mp1_ram.c15
2 files changed, 5 insertions, 14 deletions
diff --git a/drivers/st/ddr/stm32mp1_ddr_helpers.c b/drivers/st/ddr/stm32mp1_ddr_helpers.c
index c66c9e70..fcb4cfcf 100644
--- a/drivers/st/ddr/stm32mp1_ddr_helpers.c
+++ b/drivers/st/ddr/stm32mp1_ddr_helpers.c
@@ -11,10 +11,14 @@
void ddr_enable_clock(void)
{
+ stm32mp1_clk_rcc_regs_lock();
+
mmio_setbits_32(stm32mp_rcc_base() + RCC_DDRITFCR,
RCC_DDRITFCR_DDRC1EN |
RCC_DDRITFCR_DDRC2EN |
RCC_DDRITFCR_DDRPHYCEN |
RCC_DDRITFCR_DDRPHYCAPBEN |
RCC_DDRITFCR_DDRCAPBEN);
+
+ stm32mp1_clk_rcc_regs_unlock();
}
diff --git a/drivers/st/ddr/stm32mp1_ram.c b/drivers/st/ddr/stm32mp1_ram.c
index 59b4351f..4ae55fcc 100644
--- a/drivers/st/ddr/stm32mp1_ram.c
+++ b/drivers/st/ddr/stm32mp1_ram.c
@@ -168,7 +168,7 @@ static int stm32mp1_ddr_setup(void)
int ret;
struct stm32mp1_ddr_config config;
int node, len;
- uint32_t tamp_clk_off = 0, uret, idx;
+ uint32_t uret, idx;
void *fdt;
#define PARAM(x, y) \
@@ -237,19 +237,6 @@ static int stm32mp1_ddr_setup(void)
}
}
- if (!stm32mp_clk_is_enabled(RTCAPB)) {
- tamp_clk_off = 1;
- if (stm32mp_clk_enable(RTCAPB) != 0) {
- return -EINVAL;
- }
- }
-
- if (tamp_clk_off != 0U) {
- if (stm32mp_clk_disable(RTCAPB) != 0) {
- return -EINVAL;
- }
- }
-
/* Disable axidcg clock gating during init */
mmio_clrbits_32(priv->rcc + RCC_DDRITFCR, RCC_DDRITFCR_AXIDCGEN);