diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-06-21 06:58:19 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-06-21 06:58:48 +0200 |
commit | dc581f29ab988f5af366a8c3c9038ac7956bb974 (patch) | |
tree | 3469b357cb0a2c911f49e805c38ea2be020a4a12 /bsps | |
parent | d9fcb22a612f850edbc26966b0d5cdca8d950a53 (diff) |
bsp/atsam: Enable configuration of SDRAMC_LPR
Diffstat (limited to 'bsps')
-rw-r--r-- | bsps/arm/atsam/contrib/libraries/libboard/source/board_memories.c | 1 | ||||
-rw-r--r-- | bsps/arm/atsam/include/bsp/atsam-clock-config.h | 7 | ||||
-rw-r--r-- | bsps/arm/atsam/start/sdram-config.c | 12 |
3 files changed, 13 insertions, 7 deletions
diff --git a/bsps/arm/atsam/contrib/libraries/libboard/source/board_memories.c b/bsps/arm/atsam/contrib/libraries/libboard/source/board_memories.c index 56e233736f..e2f04caa8c 100644 --- a/bsps/arm/atsam/contrib/libraries/libboard/source/board_memories.c +++ b/bsps/arm/atsam/contrib/libraries/libboard/source/board_memories.c @@ -288,6 +288,7 @@ void BOARD_ConfigureSdram(void) #else /* __rtems__ */ SDRAMC->SDRAMC_TR = BOARD_Sdram_Config.sdramc_tr; SDRAMC->SDRAMC_CFR1 = BOARD_Sdram_Config.sdramc_cfr1; + SDRAMC->SDRAMC_LPR = BOARD_Sdram_Config.sdramc_lpr; #endif /* __rtems__ */ /* After initialization, the SDRAM devices are fully functional. */ } diff --git a/bsps/arm/atsam/include/bsp/atsam-clock-config.h b/bsps/arm/atsam/include/bsp/atsam-clock-config.h index 396986894b..22ca84b8e6 100644 --- a/bsps/arm/atsam/include/bsp/atsam-clock-config.h +++ b/bsps/arm/atsam/include/bsp/atsam-clock-config.h @@ -45,15 +45,16 @@ extern const struct atsam_clock_config atsam_clock_config; #define BOARD_MCK (atsam_clock_config.mck_freq) -struct BOARD_Sdram_Config { +typedef struct BOARD_Sdram_Config { uint32_t sdramc_tr; uint32_t sdramc_cr; uint32_t sdramc_mdr; uint32_t sdramc_cfr1; -}; + uint32_t sdramc_lpr; +} atsam_sdram_config; ATSAM_START_SRAM_SECTION -extern const struct BOARD_Sdram_Config BOARD_Sdram_Config; +extern const atsam_sdram_config BOARD_Sdram_Config; #ifdef __cplusplus } diff --git a/bsps/arm/atsam/start/sdram-config.c b/bsps/arm/atsam/start/sdram-config.c index a2f1158377..f4244e1545 100644 --- a/bsps/arm/atsam/start/sdram-config.c +++ b/bsps/arm/atsam/start/sdram-config.c @@ -38,7 +38,8 @@ const struct BOARD_Sdram_Config BOARD_Sdram_Config = { | SDRAMC_CR_TRAS(9) /* Command period (ACT to PRE) 42ns min */ | SDRAMC_CR_TXSR(15U), /* Exit self-refresh to active time 70ns Min */ .sdramc_mdr = SDRAMC_MDR_MD_SDRAM, - .sdramc_cfr1 = SDRAMC_CFR1_UNAL_SUPPORTED | SDRAMC_CFR1_TMRD(2) + .sdramc_cfr1 = SDRAMC_CFR1_UNAL_SUPPORTED | SDRAMC_CFR1_TMRD(2), + .sdramc_lpr = 0 }; #elif defined ATSAM_SDRAM_IS42S16320F_7BL @@ -71,7 +72,8 @@ const struct BOARD_Sdram_Config BOARD_Sdram_Config = { | SDRAMC_CR_TXSR(CLOCK_CYCLES_FROM_NS_MIN(67)), .sdramc_mdr = SDRAMC_MDR_MD_SDRAM, .sdramc_cfr1 = SDRAMC_CFR1_UNAL_SUPPORTED | - SDRAMC_CFR1_TMRD(CLOCK_CYCLES_FROM_NS_MIN(14)) + SDRAMC_CFR1_TMRD(CLOCK_CYCLES_FROM_NS_MIN(14)), + .sdramc_lpr = 0 }; #elif defined ATSAM_SDRAM_MT48LC16M16A2P_6A @@ -104,7 +106,8 @@ const struct BOARD_Sdram_Config BOARD_Sdram_Config = { | SDRAMC_CR_TXSR(9), .sdramc_mdr = SDRAMC_MDR_MD_SDRAM, .sdramc_cfr1 = SDRAMC_CFR1_UNAL_SUPPORTED | - SDRAMC_CFR1_TMRD(2) + SDRAMC_CFR1_TMRD(2), + .sdramc_lpr = 0 }; #elif ATSAM_MCK == 123000000 @@ -124,7 +127,8 @@ const struct BOARD_Sdram_Config BOARD_Sdram_Config = { | SDRAMC_CR_TXSR(9), .sdramc_mdr = SDRAMC_MDR_MD_SDRAM, .sdramc_cfr1 = SDRAMC_CFR1_UNAL_SUPPORTED | - SDRAMC_CFR1_TMRD(2) + SDRAMC_CFR1_TMRD(2), + .sdramc_lpr = 0 }; #else /* ATSAM_MCK unknown */ |