|
@@ -26,10 +26,10 @@
|
26
|
26
|
* Communication interface for FSMC
|
27
|
27
|
*/
|
28
|
28
|
|
29
|
|
-#if defined(ARDUINO_ARCH_STM32F1) && (defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY))
|
30
|
|
-
|
31
|
29
|
#include "../../inc/MarlinConfig.h"
|
32
|
30
|
|
|
31
|
+#if defined(ARDUINO_ARCH_STM32F1) && (defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY))
|
|
32
|
+
|
33
|
33
|
#if HAS_GRAPHICAL_LCD
|
34
|
34
|
|
35
|
35
|
#include "U8glib.h"
|
|
@@ -226,14 +226,19 @@ void LCD_IO_Init(uint8_t cs, uint8_t rs) {
|
226
|
226
|
gpio_set_mode(GPIOD, 9, GPIO_AF_OUTPUT_PP); // FSMC_D14
|
227
|
227
|
gpio_set_mode(GPIOD, 10, GPIO_AF_OUTPUT_PP); // FSMC_D15
|
228
|
228
|
|
229
|
|
- gpio_set_mode(GPIOD, 4, GPIO_AF_OUTPUT_PP); // FSMC_NOE
|
230
|
|
- gpio_set_mode(GPIOD, 5, GPIO_AF_OUTPUT_PP); // FSMC_NWE
|
|
229
|
+ gpio_set_mode(GPIOD, 4, GPIO_AF_OUTPUT_PP); // FSMC_NOE
|
|
230
|
+ gpio_set_mode(GPIOD, 5, GPIO_AF_OUTPUT_PP); // FSMC_NWE
|
231
|
231
|
|
232
|
232
|
gpio_set_mode(PIN_MAP[cs].gpio_device, PIN_MAP[cs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_CS_NEx
|
233
|
233
|
gpio_set_mode(PIN_MAP[rs].gpio_device, PIN_MAP[rs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_RS_Ax
|
234
|
234
|
|
235
|
|
- FSMC_NOR_PSRAM4_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN;
|
236
|
|
- FSMC_NOR_PSRAM4_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME;
|
|
235
|
+ #ifdef STM32_XL_DENSITY
|
|
236
|
+ FSMC_NOR_PSRAM4_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN;
|
|
237
|
+ FSMC_NOR_PSRAM4_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME;
|
|
238
|
+ #else // PSRAM1 for STM32F103V (high density)
|
|
239
|
+ FSMC_NOR_PSRAM1_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN;
|
|
240
|
+ FSMC_NOR_PSRAM1_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME;
|
|
241
|
+ #endif
|
237
|
242
|
|
238
|
243
|
afio_remap(AFIO_REMAP_FSMC_NADV);
|
239
|
244
|
|