Misc SAM4S-related changes from Bob Doison
This commit is contained in:
parent
61e80ae998
commit
3d8e313995
@ -159,6 +159,11 @@
|
|||||||
* HSMCI_INT_RINDE Response Index Error
|
* HSMCI_INT_RINDE Response Index Error
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define HSMCI_STATUS_ERRORS \
|
||||||
|
(HSMCI_INT_UNRE | HSMCI_INT_OVRE | HSMCI_INT_BLKOVRE | HSMCI_INT_CSTOE | \
|
||||||
|
HSMCI_INT_DTOE | HSMCI_INT_DCRCE | HSMCI_INT_RTOE | HSMCI_INT_RENDE | \
|
||||||
|
HSMCI_INT_RCRCE | HSMCI_INT_RDIRE | HSMCI_INT_RINDE)
|
||||||
|
|
||||||
/* Response errors:
|
/* Response errors:
|
||||||
*
|
*
|
||||||
* HSMCI_INT_CSTOE Completion signal time-out error (see HSMCI_CSTOR)
|
* HSMCI_INT_CSTOE Completion signal time-out error (see HSMCI_CSTOR)
|
||||||
|
@ -413,7 +413,6 @@ static int sam34_getstatus(FAR struct watchdog_lowerhalf_s *lower,
|
|||||||
{
|
{
|
||||||
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
||||||
uint32_t elapsed;
|
uint32_t elapsed;
|
||||||
uint16_t reload;
|
|
||||||
|
|
||||||
wdvdbg("Entry\n");
|
wdvdbg("Entry\n");
|
||||||
DEBUGASSERT(priv);
|
DEBUGASSERT(priv);
|
||||||
@ -470,7 +469,6 @@ static int sam34_settimeout(FAR struct watchdog_lowerhalf_s *lower,
|
|||||||
{
|
{
|
||||||
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
||||||
uint32_t reload;
|
uint32_t reload;
|
||||||
uint16_t regval;
|
|
||||||
|
|
||||||
DEBUGASSERT(priv);
|
DEBUGASSERT(priv);
|
||||||
wdvdbg("Entry: timeout=%d\n", timeout);
|
wdvdbg("Entry: timeout=%d\n", timeout);
|
||||||
@ -538,6 +536,7 @@ static int sam34_settimeout(FAR struct watchdog_lowerhalf_s *lower,
|
|||||||
static xcpt_t sam34_capture(FAR struct watchdog_lowerhalf_s *lower,
|
static xcpt_t sam34_capture(FAR struct watchdog_lowerhalf_s *lower,
|
||||||
xcpt_t handler)
|
xcpt_t handler)
|
||||||
{
|
{
|
||||||
|
#if 0 // TODO
|
||||||
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
FAR struct sam34_lowerhalf_s *priv = (FAR struct sam34_lowerhalf_s *)lower;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
xcpt_t oldhandler;
|
xcpt_t oldhandler;
|
||||||
@ -548,7 +547,6 @@ static xcpt_t sam34_capture(FAR struct watchdog_lowerhalf_s *lower,
|
|||||||
|
|
||||||
/* Get the old handler return value */
|
/* Get the old handler return value */
|
||||||
flags = irqsave();
|
flags = irqsave();
|
||||||
#if 0 // TODO
|
|
||||||
oldhandler = priv->handler;
|
oldhandler = priv->handler;
|
||||||
|
|
||||||
/* Save the new handler */
|
/* Save the new handler */
|
||||||
@ -577,9 +575,11 @@ static xcpt_t sam34_capture(FAR struct watchdog_lowerhalf_s *lower,
|
|||||||
up_disable_irq(STM32_IRQ_WWDG);
|
up_disable_irq(STM32_IRQ_WWDG);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
irqrestore(flags);
|
irqrestore(flags);
|
||||||
return oldhandler;
|
return oldhandler;
|
||||||
|
#endif
|
||||||
|
ASSERT(0);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -62,6 +62,11 @@
|
|||||||
|
|
||||||
#define BOARD_CKGR_MOR_MOSCXTST (63 << PMC_CKGR_MOR_MOSCXTST_SHIFT) /* Start-up Time */
|
#define BOARD_CKGR_MOR_MOSCXTST (63 << PMC_CKGR_MOR_MOSCXTST_SHIFT) /* Start-up Time */
|
||||||
|
|
||||||
|
#define BOARD_32KOSC_FREQUENCY (32768)
|
||||||
|
#define BOARD_SLCK_FREQUENCY (BOARD_32KOSC_FREQUENCY)
|
||||||
|
#define BOARD_MAINOSC_FREQUENCY (12000000)
|
||||||
|
|
||||||
|
#ifdef CONFIG_SAM34_UDP
|
||||||
/* PLLA configuration:
|
/* PLLA configuration:
|
||||||
*
|
*
|
||||||
* Source: 12MHz crystall at 12MHz
|
* Source: 12MHz crystall at 12MHz
|
||||||
@ -69,25 +74,44 @@
|
|||||||
* PLLdiv: 1 (bypassed)
|
* PLLdiv: 1 (bypassed)
|
||||||
* Fpll: (12MHz * 20) / 1 = 240MHz
|
* Fpll: (12MHz * 20) / 1 = 240MHz
|
||||||
*/
|
*/
|
||||||
#define BOARD_32KOSC_FREQUENCY (32768)
|
|
||||||
#define BOARD_SLCK_FREQUENCY (BOARD_32KOSC_FREQUENCY)
|
|
||||||
|
|
||||||
#define BOARD_MAINOSC_FREQUENCY (12000000)
|
# define BOARD_CKGR_PLLAR_MUL (19 << PMC_CKGR_PLLAR_MUL_SHIFT)
|
||||||
#define BOARD_CKGR_PLLAR_MUL (19 << PMC_CKGR_PLLAR_MUL_SHIFT)
|
# define BOARD_CKGR_PLLAR_DIV PMC_CKGR_PLLAR_DIV_BYPASS
|
||||||
#define BOARD_CKGR_PLLAR_DIV PMC_CKGR_PLLAR_DIV_BYPASS
|
# define BOARD_CKGR_PLLAR_COUNT (63 << PMC_CKGR_PLLAR_COUNT_SHIFT)
|
||||||
#define BOARD_CKGR_PLLAR_COUNT (63 << PMC_CKGR_PLLAR_COUNT_SHIFT)
|
# define BOARD_PLLA_FREQUENCY (20*BOARD_MAINOSC_FREQUENCY) /* PLLA = 240Mhz */
|
||||||
#define BOARD_PLLA_FREQUENCY (20*BOARD_MAINOSC_FREQUENCY) /* PLLA = 240Mhz */
|
|
||||||
|
|
||||||
/* PMC master clock register settings */
|
/* PMC master clock register settings */
|
||||||
|
|
||||||
#define BOARD_PMC_MCKR_CSS PMC_MCKR_CSS_PLLA
|
# define BOARD_PMC_MCKR_CSS PMC_MCKR_CSS_PLLA
|
||||||
#define BOARD_PMC_MCKR_PRES PMC_MCKR_PRES_DIV2
|
# define BOARD_PMC_MCKR_PRES PMC_MCKR_PRES_DIV2
|
||||||
#define BOARD_MCK_FREQUENCY (BOARD_PLLA_FREQUENCY/2) /* MCK = 120Mhz */
|
# define BOARD_MCK_FREQUENCY (BOARD_PLLA_FREQUENCY/2) /* MCK = 120Mhz */
|
||||||
#define BOARD_CPU_FREQUENCY (BOARD_PLLA_FREQUENCY/2) /* CPU = 120Mhz */
|
# define BOARD_CPU_FREQUENCY (BOARD_PLLA_FREQUENCY/2) /* CPU = 120Mhz */
|
||||||
|
|
||||||
/* USB UTMI PLL start-up time */
|
/* USB UTMI PLL start-up time */
|
||||||
|
|
||||||
#define BOARD_CKGR_UCKR_UPLLCOUNT (3 << PMC_CKGR_UCKR_UPLLCOUNT_SHIFT)
|
# define BOARD_CKGR_UCKR_UPLLCOUNT (3 << PMC_CKGR_UCKR_UPLLCOUNT_SHIFT)
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* PLLA configuration:
|
||||||
|
*
|
||||||
|
* Source: 12MHz crystall at 12MHz
|
||||||
|
* PLLmul: 10
|
||||||
|
* PLLdiv: 1 (bypassed)
|
||||||
|
* Fpll: (12MHz * 10) / 1 = 120MHz
|
||||||
|
*/
|
||||||
|
|
||||||
|
# define BOARD_CKGR_PLLAR_MUL (9 << PMC_CKGR_PLLAR_MUL_SHIFT)
|
||||||
|
# define BOARD_CKGR_PLLAR_DIV PMC_CKGR_PLLAR_DIV_BYPASS
|
||||||
|
# define BOARD_CKGR_PLLAR_COUNT (63 << PMC_CKGR_PLLAR_COUNT_SHIFT)
|
||||||
|
# define BOARD_PLLA_FREQUENCY (10*BOARD_MAINOSC_FREQUENCY) /* PLLA = 120Mhz */
|
||||||
|
|
||||||
|
/* PMC master clock register settings */
|
||||||
|
|
||||||
|
# define BOARD_PMC_MCKR_CSS PMC_MCKR_CSS_PLLA
|
||||||
|
# define BOARD_PMC_MCKR_PRES PMC_MCKR_PRES_DIV1
|
||||||
|
# define BOARD_MCK_FREQUENCY (BOARD_PLLA_FREQUENCY) /* MCK = 120Mhz */
|
||||||
|
# define BOARD_CPU_FREQUENCY (BOARD_PLLA_FREQUENCY) /* CPU = 120Mhz */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* HSMCI clocking
|
/* HSMCI clocking
|
||||||
*
|
*
|
||||||
|
@ -333,9 +333,8 @@ CONFIG_ARCH_BOARD="sam4s-xplained-pro"
|
|||||||
CONFIG_ARCH_HAVE_LEDS=y
|
CONFIG_ARCH_HAVE_LEDS=y
|
||||||
CONFIG_ARCH_LEDS=y
|
CONFIG_ARCH_LEDS=y
|
||||||
CONFIG_ARCH_HAVE_BUTTONS=y
|
CONFIG_ARCH_HAVE_BUTTONS=y
|
||||||
CONFIG_ARCH_BUTTONS=y
|
# CONFIG_ARCH_BUTTONS is not set
|
||||||
CONFIG_ARCH_HAVE_IRQBUTTONS=y
|
CONFIG_ARCH_HAVE_IRQBUTTONS=y
|
||||||
CONFIG_ARCH_IRQBUTTONS=y
|
|
||||||
CONFIG_NSH_MMCSDMINOR=0
|
CONFIG_NSH_MMCSDMINOR=0
|
||||||
CONFIG_NSH_MMCSDSLOTNO=0
|
CONFIG_NSH_MMCSDSLOTNO=0
|
||||||
|
|
||||||
@ -388,7 +387,9 @@ CONFIG_NPTHREAD_KEYS=4
|
|||||||
#
|
#
|
||||||
# Performance Monitoring
|
# Performance Monitoring
|
||||||
#
|
#
|
||||||
# CONFIG_SCHED_CPULOAD is not set
|
CONFIG_SCHED_CPULOAD=y
|
||||||
|
# CONFIG_SCHED_CPULOAD_EXTCLK is not set
|
||||||
|
CONFIG_SCHED_CPULOAD_TIMECONSTANT=2
|
||||||
# CONFIG_SCHED_INSTRUMENTATION is not set
|
# CONFIG_SCHED_INSTRUMENTATION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -398,8 +399,8 @@ CONFIG_DEV_CONSOLE=y
|
|||||||
# CONFIG_FDCLONE_DISABLE is not set
|
# CONFIG_FDCLONE_DISABLE is not set
|
||||||
# CONFIG_FDCLONE_STDIO is not set
|
# CONFIG_FDCLONE_STDIO is not set
|
||||||
CONFIG_SDCLONE_DISABLE=y
|
CONFIG_SDCLONE_DISABLE=y
|
||||||
CONFIG_NFILE_DESCRIPTORS=8
|
CONFIG_NFILE_DESCRIPTORS=16
|
||||||
CONFIG_NFILE_STREAMS=8
|
CONFIG_NFILE_STREAMS=16
|
||||||
CONFIG_NAME_MAX=32
|
CONFIG_NAME_MAX=32
|
||||||
# CONFIG_PRIORITY_INHERITANCE is not set
|
# CONFIG_PRIORITY_INHERITANCE is not set
|
||||||
|
|
||||||
@ -642,6 +643,7 @@ CONFIG_FS_PROCFS=y
|
|||||||
#
|
#
|
||||||
# CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set
|
# CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set
|
||||||
# CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set
|
# CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set
|
||||||
|
# CONFIG_FS_PROCFS_EXCLUDE_CPULOAD is not set
|
||||||
# CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set
|
# CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -556,14 +556,13 @@ static ssize_t proc_loadavg(FAR struct proc_file_s *procfile,
|
|||||||
uint32_t fracpart;
|
uint32_t fracpart;
|
||||||
size_t linesize;
|
size_t linesize;
|
||||||
size_t copysize;
|
size_t copysize;
|
||||||
ssize_t ret;
|
|
||||||
|
|
||||||
/* Sample the counts for the thread. clock_cpuload should only fail if
|
/* Sample the counts for the thread. clock_cpuload should only fail if
|
||||||
* the PID is not valid. This could happen if the thread exited sometime
|
* the PID is not valid. This could happen if the thread exited sometime
|
||||||
* after the procfs entry was opened.
|
* after the procfs entry was opened.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ret = (ssize_t)clock_cpuload(procfile->pid, &cpuload);
|
(void)clock_cpuload(procfile->pid, &cpuload);
|
||||||
|
|
||||||
/* On the simulator, you may hit cpuload.total == 0, but probably never on
|
/* On the simulator, you may hit cpuload.total == 0, but probably never on
|
||||||
* real hardware.
|
* real hardware.
|
||||||
|
Loading…
Reference in New Issue
Block a user