Fixes to last SAMA5 PMIC checkin

This commit is contained in:
Gregory Nutt 2014-07-28 17:09:37 -06:00
parent 5aedec7c02
commit 8c2b458d75
5 changed files with 38 additions and 20 deletions

View File

@ -528,11 +528,13 @@ void up_irqinitialize(void)
putreg32(AXIMX_REMAP_REMAP1, SAM_AXIMX_REMAP); /* Remap NOR FLASH on CS0 */
#endif
/* Make sure that there is no trace of any previous mapping */
/* Make sure that there is no trace of any previous mapping (here we
* that the L2 cache has not yet been enabled.
*/
vectorsize = sam_vectorsize();
arch_invalidate_icache();
arch_invalidate_dcache(0, vectorsize);
cp15_invalidate_icache();
cp15_invalidate_dcache(0, vectorsize);
mmu_invalidate_region(0, vectorsize);
#if 0 /* Disabled on reset */

View File

@ -112,6 +112,12 @@ CONFIG_ARCH_LOWVECTORS=y
#
# ARMv7-A Configuration Options
#
CONFIG_ARMV7A_HAVE_L2CC=y
CONFIG_ARMV7A_HAVE_L2CC_PL310=y
#
# L2 Cache Configuration
#
# CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT is not set
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
# CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM is not set
@ -133,7 +139,6 @@ CONFIG_SAMA5_HAVE_USART4=y
# CONFIG_SAMA5_HAVE_DMA is not set
CONFIG_SAMA5_HAVE_DDR32=y
CONFIG_SAMA5_HAVE_XDMA=y
CONFIG_SAMA5_HAVE_L2CC=y
CONFIG_SAMA5_HAVE_LCDC=y
# CONFIG_SAMA5_HAVE_GMAC is not set
# CONFIG_SAMA5_HAVE_EMACA is not set
@ -168,7 +173,6 @@ CONFIG_ARCH_CHIP_ATSAMA5D44=y
# CONFIG_SAMA5_TDES is not set
# CONFIG_SAMA5_AESB is not set
# CONFIG_SAMA5_DBGU is not set
# CONFIG_SAMA5_L2CC is not set
# CONFIG_SAMA5_PIT is not set
# CONFIG_SAMA5_WDT is not set
# CONFIG_SAMA5_RTC is not set
@ -246,6 +250,7 @@ CONFIG_SAMA5_DDRCS_HEAP_SIZE=0
# CONFIG_ARCH_VECNOTIRQ is not set
# CONFIG_ARCH_DMA is not set
CONFIG_ARCH_HAVE_IRQPRIO=y
# CONFIG_ARCH_L2CACHE is not set
# CONFIG_CUSTOM_STACK is not set
# CONFIG_ADDRENV is not set
CONFIG_ARCH_HAVE_VFORK=y
@ -317,6 +322,7 @@ CONFIG_SAMA5D4EK_MT47H128M16RT=y
# CONFIG_SAMA5D4EK_MT47H64M16HR is not set
CONFIG_SAMA5D4EK_DRAM_MAIN=y
# CONFIG_SAMA5D4EK_DRAM_START is not set
# CONFIG_SAMA5D4EK_AT25_MAIN is not set
#
# RTOS Features
@ -415,11 +421,17 @@ CONFIG_DISABLE_POLL=y
CONFIG_DEV_NULL=y
# CONFIG_DEV_ZERO is not set
# CONFIG_LOOP is not set
#
# Buffering
#
# CONFIG_DRVR_WRITEBUFFER is not set
# CONFIG_DRVR_READAHEAD is not set
# CONFIG_RAMDISK is not set
# CONFIG_CAN is not set
# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
# CONFIG_PWM is not set
# CONFIG_ARCH_HAVE_I2CRESET is not set
CONFIG_ARCH_HAVE_I2CRESET=y
# CONFIG_I2C is not set
# CONFIG_SPI is not set
# CONFIG_I2S is not set
@ -506,6 +518,11 @@ CONFIG_USART3_2STOP=0
# CONFIG_ARCH_HAVE_PHY is not set
# CONFIG_NET is not set
#
# Crypto API
#
# CONFIG_CRYPTO is not set
#
# File Systems
#
@ -784,6 +801,10 @@ CONFIG_READLINE_ECHO=y
# P-Code Support
#
#
# PHY Tool
#
#
# Power Off
#

View File

@ -111,7 +111,7 @@ int dram_main(int argc, char *argv)
* JP23 will be closed and the PMIC will be initialized.
*/
sam_pmic_initialize()
sam_pmic_initialize();
/* DRAM was already initialized at boot time, so we are ready to load the
* Intel HEX stream into DRAM.
@ -167,8 +167,8 @@ int dram_main(int argc, char *argv)
/* Invalidate caches and TLBs */
arch_invalidate_icache();
arch_invalidate_dcache_all();
cp15_invalidate_icache();
cp15_invalidate_dcache_all();
cp15_invalidate_tlbs();
/* Then jump into NOR flash */

View File

@ -39,17 +39,12 @@
#include <nuttx/config.h>
#include <stdbool.h>
#include <stdio.h>
#include <debug.h>
#include <assert.h>
#include <stdint.h>
#include <errno.h>
#include <debug.h>
#include <nuttx/i2c.h>
#include <arch/board/board.h>
#include "up_arch.h"
#include "sam_twi.h"
#include "sama5d4-ek.h"
@ -113,15 +108,15 @@ void sam_pmic_initialize(void)
buffer[0] = 0x0b;
buffer[1] = 0xee;
(void)I2C_SEND(i2c, buffer, 2);
(void)I2C_WRITE(i2c, buffer, 2);
buffer[0] = 0x02;
buffer[1] = 0x0f;
(void)I2C_SEND(i2c, buffer, 2);
(void)I2C_WRITE(i2c, buffer, 2);
buffer[0] = 0x03;
buffer[1] = 0x0f;
(void)I2C_SEND(i2c, buffer, 2);
(void)I2C_WRITE(i2c, buffer, 2);
}
}

View File

@ -985,7 +985,7 @@ int sam_audio_null_initialize(int minor);
****************************************************************************/
#ifdef HAVE_PMIC
void sam_pmic_initialize(void)
void sam_pmic_initialize(void);
#else
# define sam_pmic_initialize()
#endif