1 | __weak void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef *hsdram)
|
2 | {
|
3 | /* NOTE: This function Should not be modified, when the callback is needed,
|
4 | the HAL_SDRAM_MspInit could be implemented in the user file
|
5 | */
|
6 | GPIO_InitTypeDef GPIO_Init_Structure;
|
7 |
|
8 | /*##-1- Enable peripherals and GPIO Clocks #################################*/
|
9 | /* Enable GPIO clocks */
|
10 | __HAL_RCC_GPIOD_CLK_ENABLE();
|
11 | __HAL_RCC_GPIOE_CLK_ENABLE();
|
12 | __HAL_RCC_GPIOF_CLK_ENABLE();
|
13 | __HAL_RCC_GPIOG_CLK_ENABLE();
|
14 | __HAL_RCC_GPIOH_CLK_ENABLE();
|
15 | __HAL_RCC_GPIOI_CLK_ENABLE();
|
16 | __HAL_RCC_FMC_CLK_ENABLE();
|
17 |
|
18 | /*##-2- Configure peripheral GPIO ##########################################*/
|
19 | /*-- GPIOs Configuration -----------------------------------------------------*/
|
20 | /*
|
21 | +-------------------+--------------------+--------------------+--------------------+
|
22 | + SDRAM pins assignment +
|
23 | +-------------------+--------------------+--------------------+--------------------+
|
24 | | PD0 <-> FMC_D2 +OK | PE0 <-> FMC_NBL0 +OK | PF0 <-> FMC_A0 +ok | PG0 <-> FMC_A10 +ok|
|
25 | | PD1 <-> FMC_D3 +OK | PE1 <-> FMC_NBL1 +OK | PF1 <-> FMC_A1 +ok | PG1 <-> FMC_A11 +ok|
|
26 | | PD8 <-> FMC_D13 +OK | PE7 <-> FMC_D4 +ok | PF2 <-> FMC_A2 +ok | PG8 <-> FMC_SDCLK +ok|
|
27 | | PD9 <-> FMC_D14 +OK | PE8 <-> FMC_D5 +ok | PF3 <-> FMC_A3 +ok | PG15 <-> FMC_NCAS +ok|
|
28 | | PD10 <-> FMC_D15 +OK | PE9 <-> FMC_D6 +ok | PF4 <-> FMC_A4 +ok | PG4 <-> FMC_BA0 +ok|
|
29 | | PD14 <-> FMC_D0 +OK | PE10 <-> FMC_D7 +ok | PF5 <-> FMC_A5 +ok | PG5 <-> FMC_BA1 +ok|
|
30 | | PD15 <-> FMC_D1 +OK | PE11 <-> FMC_D8 +ok | PF11 <-> FMC_NRAS +ok |
|
31 | +----------------------| PE12 <-> FMC_D9 +ok | PF12 <-> FMC_A6 +ok |
|
32 | | PE13 <-> FMC_D10 +ok | PF13 <-> FMC_A7 +ok |
|
33 | | PE14 <-> FMC_D11 +ok | PF14 <-> FMC_A8 +ok |
|
34 | | PE15 <-> FMC_D12 +ok | PF15 <-> FMC_A9 +ok |
|
35 | +----------------------+-------------------------+-----------------------+
|
36 |
|
37 |
|
38 | //NEW INIT STUFF
|
39 | +--------------------+-------------------------+
|
40 | | PH2 <-> FMC_SDCKE0 | PI0 <-> FMC_D24
|
41 | | PH3 <-> FMC_SDNE0 | PI1 <-> FMC_D25
|
42 | | PH5 <-> FMC_SDNWE | PI2 <-> FMC_D26
|
43 | | PH8 <-> FMC_D16 | PI3 <-> FMC_D27
|
44 | | PH9 <-> FMC_D17 | PI4 <-> FMC_SDNDQM2
|
45 | | PH10 <-> FMC_D18 | PI5 <-> FMC_SDNDQM3
|
46 | | PH11 <-> FMC_D19 | PI6 <-> FMC_D28
|
47 | | PH12 <-> FMC_D20 | PI7 <-> FMC_D29
|
48 | | PH13 <-> FMC_D21 | PI9 <-> FMC_D30
|
49 | | PH14 <-> FMC_D22 | PI10 <-> FMC_D31
|
50 | | PH15 <-> FMC_D23 |
|
51 | +--------------------+-------------------------+
|
52 | */
|
53 |
|
54 | /* Common GPIO configuration */
|
55 | GPIO_Init_Structure.Mode = GPIO_MODE_AF_PP;
|
56 | GPIO_Init_Structure.Speed = GPIO_SPEED_FAST;
|
57 | GPIO_Init_Structure.Pull = GPIO_NOPULL;
|
58 | GPIO_Init_Structure.Alternate = GPIO_AF12_FMC;
|
59 |
|
60 | /* GPIOB configuration */
|
61 | // GPIO_Init_Structure.Pin = GPIO_PIN_5 | GPIO_PIN_6;
|
62 | // HAL_GPIO_Init(GPIOB, &GPIO_Init_Structure);
|
63 |
|
64 | /* GPIOC configuration */
|
65 | // GPIO_Init_Structure.Pin = GPIO_PIN_0;
|
66 | // HAL_GPIO_Init(GPIOC, &GPIO_Init_Structure);
|
67 |
|
68 | /* GPIOD configuration */
|
69 | GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_8 |
|
70 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_14 |
|
71 | GPIO_PIN_15;
|
72 | HAL_GPIO_Init(GPIOD, &GPIO_Init_Structure);
|
73 |
|
74 | /* GPIOE configuration */
|
75 | GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_7 |
|
76 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 |
|
77 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 |
|
78 | GPIO_PIN_14 | GPIO_PIN_15;
|
79 | HAL_GPIO_Init(GPIOE, &GPIO_Init_Structure);
|
80 |
|
81 | /* GPIOF configuration */
|
82 | GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 |
|
83 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 |
|
84 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 |
|
85 | GPIO_PIN_14 | GPIO_PIN_15;
|
86 | HAL_GPIO_Init(GPIOF, &GPIO_Init_Structure);
|
87 |
|
88 | /* GPIOG configuration */
|
89 | GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 |
|
90 | GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_15;
|
91 | HAL_GPIO_Init(GPIOG, &GPIO_Init_Structure);
|
92 |
|
93 | /*GPIOH configuration */
|
94 | GPIO_Init_Structure.Pin = GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_9 |
|
95 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
|
96 | HAL_GPIO_Init(GPIOH,&GPIO_Init_Structure);
|
97 |
|
98 | /*GPIOI configuration */
|
99 | GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 |
|
100 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_9 | GPIO_PIN_10;
|
101 | HAL_GPIO_Init(GPIOI, &GPIO_Init_Structure);
|
102 |
|
103 |
|
104 | }
|