Why do we need to ENABLE a GPIO pheripheral's clock by RCC_AHB register while we are using of that GPIO's pins as an another Peripheral(e.g. ADC) Input/Output pin(Alternate Function)?
For instance for STM32F407 ADC1, it has its own clock that can be enabled through RCC_APB register and then it can samples the data present on the pin by its inside defined clock and prescaler.
So i think there is no need to enable the GPIO's Clock when we are using of that GPIO's pins as ADC peripheral input(Alternate Function Mode), but the problem is ADC doesn't do its job when i don't ENABLE the GPIO's Clock.
So the question is what is the job of GPIO clock generally?