8000 stm32/boards/STM32F769DISC: Add optional support for external SDRAM. · andrewleech/micropython@a5b583a · GitHub
[go: up one dir, main page]

Skip to content

Commit a5b583a

Browse files
committed
stm32/boards/STM32F769DISC: Add optional support for external SDRAM.
1 parent 9639e0d commit a5b583a

File tree

3 files changed

+145
-1
lines changed

3 files changed

+145
-1
lines changed

ports/stm32/boards/STM32F769DISC/mpconfigboard.h

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,90 @@
7878
#define MICROPY_HW_USB_HS_IN_FS (1)
7979
/*#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_J12)*/
8080
#define MICROPY_HW_USB_OTG_ID_PIN (pin_J12)
81+
82+
#if 0
83+
// Optional SDRAM configuration; requires SYSCLK <= 200MHz
84+
#define MICROPY_HW_SDRAM_SIZE (128 * 1024 * 1024 / 8) // 128 Mbit
85+
#define MICROPY_HW_SDRAM_STARTUP_TEST (0)
86+
87+
// Timing configuration for 90 Mhz (11.90ns) of SD clock frequency (180Mhz/2)
88+
#define MICROPY_HW_SDRAM_TIMING_TMRD (2)
89+
#define MICROPY_HW_SDRAM_TIMING_TXSR (7)
90+
#define MICROPY_HW_SDRAM_TIMING_TRAS (4)
91+
#define MICROPY_HW_SDRAM_TIMING_TRC (7)
92+
#define MICROPY_HW_SDRAM_TIMING_TWR (2)
93+
#define MICROPY_HW_SDRAM_TIMING_TRP (2)
94+
#define MICROPY_HW_SDRAM_TIMING_TRCD (2)
95+
#define MICROPY_HW_SDRAM_REFRESH_RATE (64) // ms
96+
97+
#define MICROPY_HW_SDRAM_BURST_LENGTH 1
98+
#define MICROPY_HW_SDRAM_CAS_LATENCY 2
99+
#define MICROPY_HW_SDRAM_COLUMN_BITS_NUM 8
100+
#define MICROPY_HW_SDRAM_ROW_BITS_NUM 13
101+
#define MICROPY_HW_SDRAM_MEM_BUS_WIDTH 32
102+
#define MICROPY_HW_SDRAM_INTERN_BANKS_NUM 4
103+
#define MICROPY_HW_SDRAM_CLOCK_PERIOD 2
104+
#define MICROPY_HW_SDRAM_RPIPE_DELAY 0
105+
#define MICROPY_HW_SDRAM_RBURST (1)
106+
#define MICROPY_HW_SDRAM_WRITE_PROTECTION (0)
107+
#define MICROPY_HW_SDRAM_AUTOREFRESH_NUM (8)
108+
109+
// See pins.csv for CPU pin mapping
110+
#define MICROPY_HW_FMC_SDCKE0 (pyb_pin_FMC_SDCKE0)
111+
#define MICROPY_HW_FMC_SDNE0 (pyb_pin_FMC_SDNE0)
112+
#define MICROPY_HW_FMC_SDCLK (pyb_pin_FMC_SDCLK)
113+
#define MICROPY_HW_FMC_SDNCAS (pyb_pin_FMC_SDNCAS)
114+
#define MICROPY_HW_FMC_SDNRAS (pyb_pin_FMC_SDNRAS)
115+
#define MICROPY_HW_FMC_SDNWE (pyb_pin_FMC_SDNWE)
116+
#define MICROPY_HW_FMC_BA0 (pyb_pin_FMC_BA0)
117+
#define MICROPY_HW_FMC_BA1 (pyb_pin_FMC_BA1)
118+
#define MICROPY_HW_FMC_NBL0 (pyb_pin_FMC_NBL0)
119+
#define MICROPY_HW_FMC_NBL1 (pyb_pin_FMC_NBL1)
120+
#define MICROPY_HW_FMC_NBL2 (pyb_pin_FMC_NBL2)
121+
#define MICROPY_HW_FMC_NBL3 (pyb_pin_FMC_NBL3)
122+
#define MICROPY_HW_FMC_A0 (pyb_pin_FMC_A0)
123+
#define MICROPY_HW_FMC_A1 (pyb_pin_FMC_A1)
124+
#define MICROPY_HW_FMC_A2 (pyb_pin_FMC_A2)
125+
#define MICROPY_HW_FMC_A3 (pyb_pin_FMC_A3)
126+
#define MICROPY_HW_FMC_A4 (pyb_pin_FMC_A4)
127+
#define MICROPY_HW_FMC_A5 (pyb_pin_FMC_A5)
128+
#define MICROPY_HW_FMC_A6 (pyb_pin_FMC_A6)
129+
#define MICROPY_HW_FMC_A7 (pyb_pin_FMC_A7)
130+
#define MICROPY_HW_FMC_A8 (pyb_pin_FMC_A8)
131+
#define MICROPY_HW_FMC_A9 (pyb_pin_FMC_A9)
132+
#define MICROPY_HW_FMC_A10 (pyb_pin_FMC_A10)
133+
#define MICROPY_HW_FMC_A11 (pyb_pin_FMC_A11)
134+
#define MICROPY_HW_FMC_A12 (pyb_pin_FMC_A12)
135+
#define MICROPY_HW_FMC_D0 (pyb_pin_FMC_D0)
136+
#define MICROPY_HW_FMC_D1 (pyb_pin_FMC_D1)
137+
#define MICROPY_HW_FMC_D2 (pyb_pin_FMC_D2)
138+
#define MICROPY_HW_FMC_D3 (pyb_pin_FMC_D3)
139+
#define MICROPY_HW_FMC_D4 (pyb_pin_FMC_D4)
140+
#define MICROPY_HW_FMC_D5 (pyb_pin_FMC_D5)
141+
#define MICROPY_HW_FMC_D6 (pyb_pin_FMC_D6)
142+
#define MICROPY_HW_FMC_D7 (pyb_pin_FMC_D7)
143+
#define MICROPY_HW_FMC_D8 (pyb_pin_FMC_D8)
144+
#define MICROPY_HW_FMC_D9 (pyb_pin_FMC_D9)
145+
#define MICROPY_HW_FMC_D10 (pyb_pin_FMC_D10)
146+
#define MICROPY_HW_FMC_D11 (pyb_pin_FMC_D11)
147+
#define MICROPY_HW_FMC_D12 (pyb_pin_FMC_D12)
148+
#define MICROPY_HW_FMC_D13 (pyb_pin_FMC_D13)
149+
#define MICROPY_HW_FMC_D14 (pyb_pin_FMC_D14)
150+
#define MICROPY_HW_FMC_D15 (pyb_pin_FMC_D15)
151+
#define MICROPY_HW_FMC_D16 (pyb_pin_FMC_D16)
152+
#define MICROPY_HW_FMC_D17 (pyb_pin_FMC_D17)
153+
#define MICROPY_HW_FMC_D18 (pyb_pin_FMC_D18)
154+
#define MICROPY_HW_FMC_D19 (pyb_pin_FMC_D19)
155+
#define MICROPY_HW_FMC_D20 (pyb_pin_FMC_D20)
156+
#define MICROPY_HW_FMC_D21 (pyb_pin_FMC_D21)
157+
#define MICROPY_HW_FMC_D22 (pyb_pin_FMC_D22)
158+
#define MICROPY_HW_FMC_D23 (pyb_pin_FMC_D23)
159+
#define MICROPY_HW_FMC_D24 (pyb_pin_FMC_D24)
160+
#define MICROPY_HW_FMC_D25 (pyb_pin_FMC_D25)
161+
#define MICROPY_HW_FMC_D26 (pyb_pin_FMC_D26)
162+
#define MICROPY_HW_FMC_D27 (pyb_pin_FMC_D27)
163+
#define MICROPY_HW_FMC_D28 (pyb_pin_FMC_D28)
164+
#define MICROPY_HW_FMC_D29 (pyb_pin_FMC_D29)
165+
#define MICROPY_HW_FMC_D30 (pyb_pin_FMC_D30)
166+
#define MICROPY_HW_FMC_D31 (pyb_pin_FMC_D31)
167+
#endif

ports/stm32/boards/STM32F769DISC/pins.csv

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,60 @@ UART5_TX,PC12
5757
UART5_RX,PD2
5858
CAN2_TX,PB13
5959
CAN2_RX,PB12
60+
FMC_SDCKE0,PH2
61+
FMC_SDNE0,PH3
62+
FMC_SDCLK,PG8
63+
FMC_SDNCAS,PG15
64+
FMC_SDNRAS,PF11
65+
FMC_SDNWE,PH5
66+
FMC_BA0,PG4
67+
FMC_BA1,PG5
68+
FMC_NBL0,PE0
69+
FMC_NBL1,PE1
70+
FMC_NBL2,PI4
71+
FMC_NBL3,PI5
72+
FMC_A0,PF0
73+
FMC_A1,PF1
74+
FMC_A2,PF2
75+
FMC_A3,PF3
76+
FMC_A4,PF4
77+
FMC_A5,PF5
78+
FMC_A6,PF12
79+
FMC_A7,PF13
80+
FMC_A8,PF14
81+
FMC_A9,PF15
82+
FMC_A10,PG0
83+
FMC_A11,PG1
84+
FMC_A12,PG2
85+
FMC_D0,PD14
86+
FMC_D1,PD15
87+
FMC_D2,PD0
88+
FMC_D3,PD1
89+
FMC_D4,PE7
90+
FMC_D5,PE8
91+
FMC_D6,PE9
92+
FMC_D7,PE10
93+
FMC_D8,PE11
94+
FMC_D9,PE12
95+
FMC_D10,PE13
96+
FMC_D11,PE14
97+
FMC_D12,PE15
98+
FMC_D13,PD8
99+
FMC_D14,PD9
100+
FMC_D15,PD10
101+
FMC_D16,PH8
102+
FMC_D17,PH9
103+
FMC_D18,PH10
104+
FMC_D19,PH11
105+
FMC_D20,PH12
106+
FMC_D21,PH13
107+
FMC_D22,PH14
108+
FMC_D23,PH15
109+
FMC_D24,PI0
110+
FMC_D25,PI1
111+
FMC_D26,PI2
112+
FMC_D27,PI3
113+
FMC_D28,PI6
114+
FMC_D29,PI7
115+
FMC_D30,PI9
116+
FMC_D31,PI10

ports/stm32/boards/STM32F769DISC/stm32f7xx_hal_conf.h

Lines changed: 1 addition & 1 deletion
6CBD
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
/* #define HAL_NAND_MODULE_ENABLED */
6666
/* #define HAL_NOR_MODULE_ENABLED */
6767
/* #define HAL_SRAM_MODULE_ENABLED */
68-
/* #define HAL_SDRAM_MODULE_ENABLED */
68+
#define HAL_SDRAM_MODULE_ENABLED
6969
/* #define HAL_HASH_MODULE_ENABLED */
7070
#define HAL_GPIO_MODULE_ENABLED
7171
#define HAL_I2C_MODULE_ENABLED

0 commit comments

Comments
 (0)
0