#ifndef _RCC_H_
#define _RCC_H_
//-----------------------------------------------------------------------------
//
//
//
//-----------------------------------------------------------------------------


//---Includes------------------------------------------------------------------



//---Implementation------------------------------------------------------------


enum EPeripheral
{
   ePeripheralAHB1 =1,
   ePeripheralAHB2 =2,
   ePeripheralAPB1 =3,
   ePeripheralAPB2 =4,
};


void initRcc(void);
void setupRcc(void);
void rccGpioClockEnable(void *GPIOx);
void rccUsartClockEnable(/*USART_TypeDef*/ void *UARTx);
void rccTimClockEnable(void *TIMx);
void rccDacClockEnable(/*DAC_TypeDef*/ void *DACx);
void rccAdcClockEnable(/*ADC_TypeDef*/ void *ADCx);
void rccDmaClockEnable(/*DMA_TypeDef*/ void *DMAx);
void rccSpiClockEnable(/*SPI_TypeDef*/ void *SPIx);

void rccI2cClockEnable(/*I2C_TypeDef*/ void *SPIx);
void rccI2cClockDisable(/*I2C_TypeDef*/ void *I2Cx);

void rccCanClockEnable(/*CAN_TypeDef*/ void *CANx);
void rccCrcClockEnable(/*CRC_TypeDef*/ void *CRCx);
void rccFDCanClockEnable(/*CAN_TypeDef*/ void *FDCANx);
void rccRtcClockEnable(/*RTC_TypeDef*/ void *RTCx);
void rccWatchdogClockEnable(/*WWDG_TypeDef*/ void *WDGx);
void rccUsbClockEnable(void *USBx);
void rccTscClockEnable(void *TSCx);
void rccQSpiClockEnable(void *QSPIx);


//---fin-----------------------------------------------------------------------
#endif
