mirror of https://github.com/ARMmbed/mbed-os.git
LPC: Move platform specific code out of the analog api file
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>pull/4824/head
parent
fb97d8bf42
commit
5b85962c95
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
#include "gpio_api.h"
|
||||
#include "clock_config.h"
|
||||
#include "fsl_power.h"
|
||||
|
||||
// called before main
|
||||
void mbed_sdk_init()
|
||||
|
@ -31,6 +32,19 @@ void NMI_Handler(void)
|
|||
//gpio_init_in(&gpio, PTA4);
|
||||
}
|
||||
|
||||
void ADC_ClockPower_Configuration(void)
|
||||
{
|
||||
/* SYSCON power. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_ADC0); /* Power on the ADC converter. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VD7_ENA); /* Power on the analog power supply. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VREFP_SW); /* Power on the reference voltage source. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_TEMPS); /* Power on the temperature sensor. */
|
||||
|
||||
/* Enable the clock. */
|
||||
CLOCK_AttachClk(kFRO12M_to_MAIN_CLK);
|
||||
CLOCK_EnableClock(kCLOCK_Adc0);
|
||||
}
|
||||
|
||||
// Enable the RTC oscillator if available on the board
|
||||
void rtc_setup_oscillator(void)
|
||||
{
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "gpio_api.h"
|
||||
#include "clock_config.h"
|
||||
#include "fsl_emc.h"
|
||||
#include "fsl_power.h"
|
||||
|
||||
/*******************************************************************************
|
||||
* Definitions
|
||||
|
@ -58,6 +59,25 @@ void rtc_setup_oscillator(void)
|
|||
SYSCON->RTCOSCCTRL |= SYSCON_RTCOSCCTRL_EN_MASK;
|
||||
}
|
||||
|
||||
void ADC_ClockPower_Configuration(void)
|
||||
{
|
||||
/* SYSCON power. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VDDA); /* Power on VDDA. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_ADC0); /* Power on the ADC converter. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VD2_ANA); /* Power on the analog power supply. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VREFP); /* Power on the reference voltage source. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_TS); /* Power on the temperature sensor. */
|
||||
|
||||
/* Enable the clock. */
|
||||
CLOCK_AttachClk(kFRO12M_to_MAIN_CLK);
|
||||
|
||||
/* CLOCK_AttachClk(kMAIN_CLK_to_ADC_CLK); */
|
||||
/* Sync clock source is not used. Using sync clock source and would be divided by 2.
|
||||
* The divider would be set when configuring the converter.
|
||||
*/
|
||||
CLOCK_EnableClock(kCLOCK_Adc0); /* SYSCON->AHBCLKCTRL[0] |= SYSCON_AHBCLKCTRL_ADC0_MASK; */
|
||||
}
|
||||
|
||||
/* Initialize the external memory. */
|
||||
void BOARD_InitSDRAM(void)
|
||||
{
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
/* Array of ADC peripheral base address. */
|
||||
static ADC_Type *const adc_addrs[] = ADC_BASE_PTRS;
|
||||
extern void ADC_ClockPower_Configuration(void);
|
||||
|
||||
#define MAX_FADC 6000000
|
||||
|
||||
|
@ -38,15 +39,7 @@ void analogin_init(analogin_t *obj, PinName pin)
|
|||
uint32_t instance = obj->adc >> ADC_INSTANCE_SHIFT;
|
||||
adc_config_t adc_config;
|
||||
|
||||
/* SYSCON power. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_ADC0); /* Power on the ADC converter. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VD7_ENA); /* Power on the analog power supply. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_VREFP_SW); /* Power on the reference voltage source. */
|
||||
POWER_DisablePD(kPDRUNCFG_PD_TEMPS); /* Power on the temperature sensor. */
|
||||
|
||||
/* Enable the clock. */
|
||||
CLOCK_AttachClk(kFRO12M_to_MAIN_CLK);
|
||||
CLOCK_EnableClock(kCLOCK_Adc0);
|
||||
ADC_ClockPower_Configuration();
|
||||
|
||||
/* Calibration after power up. */
|
||||
if (!(ADC_DoSelfCalibration(adc_addrs[instance]))) {
|
||||
|
|
Loading…
Reference in New Issue