@@ -54,6 +54,19 @@ arduino::MbedI2C CameraWire(I2C_SDA, I2C_SCL);
54
54
#define DCMI_TIM_FREQUENCY (12000000 )
55
55
arduino::MbedI2C CameraWire (I2C_SDA2, I2C_SCL2);
56
56
57
+ #elif defined(ARDUINO_GIGA)
58
+
59
+ #define DCMI_TIM (TIM1)
60
+ #define DCMI_TIM_PIN (GPIO_PIN_9)
61
+ #define DCMI_TIM_PORT (GPIOJ)
62
+ #define DCMI_TIM_AF (GPIO_AF1_TIM1)
63
+ #define DCMI_TIM_CHANNEL (TIM_CHANNEL_3)
64
+ #define DCMI_TIM_CLK_ENABLE () __TIM1_CLK_ENABLE()
65
+ #define DCMI_TIM_CLK_DISABLE () __TIM1_CLK_DISABLE()
66
+ #define DCMI_TIM_PCLK_FREQ () HAL_RCC_GetPCLK2Freq()
67
+ #define DCMI_TIM_FREQUENCY (6000000 )
68
+ arduino::MbedI2C CameraWire (I2C_SDA1, I2C_SCL1);
69
+
57
70
#endif
58
71
59
72
#define DCMI_IRQ_PRI NVIC_EncodePriority (NVIC_PRIORITYGROUP_4, 2 , 0 )
@@ -89,6 +102,18 @@ static const struct { GPIO_TypeDef *port; uint16_t pin; } dcmi_pins[] = {
89
102
{GPIOE, GPIO_PIN_5 },
90
103
{GPIOE, GPIO_PIN_6 },
91
104
{GPIOG, GPIO_PIN_9 },
105
+ #elif defined(ARDUINO_GIGA)
106
+ {GPIOH, GPIO_PIN_9 },
107
+ {GPIOH, GPIO_PIN_10 },
108
+ {GPIOH, GPIO_PIN_11 },
109
+ {GPIOG, GPIO_PIN_11 },
110
+ {GPIOH, GPIO_PIN_14 },
111
+ {GPIOI, GPIO_PIN_4 },
112
+ {GPIOI, GPIO_PIN_6 },
113
+ {GPIOI, GPIO_PIN_7 },
114
+ {GPIOA, GPIO_PIN_6 },
115
+ {GPIOH, GPIO_PIN_8 },
116
+ {GPIOI, GPIO_PIN_5 },
92
117
#endif
93
118
};
94
119
#define NUM_DCMI_PINS (sizeof (dcmi_pins)/sizeof (dcmi_pins[0 ]))
@@ -158,6 +183,13 @@ void HAL_DCMI_MspInit(DCMI_HandleTypeDef *hdcmi)
158
183
__HAL_RCC_GPIOD_CLK_ENABLE ();
159
184
__HAL_RCC_GPIOC_CLK_ENABLE ();
160
185
__HAL_RCC_GPIOA_CLK_ENABLE ();
186
+ #elif defined(ARDUINO_GIGA)
187
+ /* Enable GPIO clocks */
188
+ __HAL_RCC_GPIOA_CLK_ENABLE ();
189
+ __HAL_RCC_GPIOG_CLK_ENABLE ();
190
+ __HAL_RCC_GPIOH_CLK_ENABLE ();
191
+ __HAL_RCC_GPIOI_CLK_ENABLE ();
192
+ __HAL_RCC_GPIOJ_CLK_ENABLE ();
161
193
#endif
162
194
for (uint32_t i=0 ; i<NUM_DCMI_PINS; i++) {
163
195
hgpio.Pin = dcmi_pins[i].pin ;
0 commit comments