arch/arm/src/kinetis: Add basic support for the K64 family. Still moving register definition files to the kinetis/chip subdirectory.
This commit is contained in:
parent
71ff84b96a
commit
91dd3306c8
@ -1,7 +1,7 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/include/kinetis/chip.h
|
||||
*
|
||||
* Copyright (C) 2011, 2013, 2015 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2011, 2013, 2015-2016 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -72,6 +72,7 @@
|
||||
# define KINETIS_K20 1 /* Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_MK20DN32VLH5)
|
||||
# define KINETIS_FLASH_SIZE (64*1024) /* 32Kb */
|
||||
@ -153,6 +154,7 @@
|
||||
# define KINETIS_K20 1 /* Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_MK20DX64VLH7)
|
||||
# define KINETIS_FLASH_SIZE (64*1024) /* 64Kb */
|
||||
@ -207,6 +209,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (64*1024) /* 64Kb */
|
||||
# define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */
|
||||
# define KINETIS_SRAM_SIZE (16*1024) /* 16Kb */
|
||||
@ -257,6 +260,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (128*1024) /* 128Kb */
|
||||
# define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */
|
||||
# define KINETIS_SRAM_SIZE (32*1024) /* 32Kb */
|
||||
@ -299,6 +303,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */
|
||||
# define KINETIS_SRAM_SIZE (32*1024) /* 64Kb */
|
||||
@ -340,6 +345,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (128*1024) /* 128Kb */
|
||||
# define KINETIS_FLEXMEM_SIZE (128*1024) /* 128Kb */
|
||||
# define KINETIS_SRAM_SIZE (32*1024) /* 32Kb */
|
||||
@ -381,6 +387,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXMEM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_SRAM_SIZE (64*1024) /* 32Kb */
|
||||
@ -424,6 +431,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# define KINETIS_K40 1 /* Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (512*1024) /* 512Kb */
|
||||
# undef KINETIS_FLEXMEM_SIZE /* No FlexMemory */
|
||||
# define KINETIS_SRAM_SIZE (128*1024) /* 128Kb */
|
||||
@ -465,6 +473,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -509,6 +518,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXNVM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 32Kb */
|
||||
@ -553,6 +563,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (512*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -598,6 +609,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -642,6 +654,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXNVM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
@ -686,6 +699,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (512*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -730,6 +744,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -774,6 +789,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXNVM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
@ -818,6 +834,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (512*1024) /* 512Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -862,6 +879,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -906,6 +924,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXNVM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
@ -950,6 +969,7 @@
|
||||
# undef KINETIS_K20 /* Not Kinetis K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# define KINETIS_K60 1 /* Kinetis K60 family */
|
||||
# undef KINETIS_K64 /* Not Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (512*1024) /* 512Kb */
|
||||
# undef KINETIS_FLEXNVM_SIZE /* No FlexNVM */
|
||||
# undef KINETIS_FLEXRAM_SIZE /* No FlexRAM */
|
||||
@ -990,6 +1010,278 @@
|
||||
# undef KINETIS_NTAMPER /* No tamper detect */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FN1M0VLL12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 /* Three SPI modules */
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_MK64FX512VLL12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FX512VDC12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
//
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FN1M0VDC12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FX512VLQ12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FN1M0VLQ12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FX512VMD12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
//
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK64FN1M0VMD12)
|
||||
# undef KINETIS_K20 /* Not Kinetics K20 family */
|
||||
# undef KINETIS_K40 /* Not Kinetics K40 family */
|
||||
# undef KINETIS_K60 /* Not Kinetis K60 family */
|
||||
# define KINETIS_K64 1 /* Kinetis K64 family */
|
||||
# define KINETIS_FLASH_SIZE (1024*1024) /* 1Mb */
|
||||
# define KINETIS_FLEXNVM_SIZE (0*1024) /* 0Kb */
|
||||
# define KINETIS_FLEXRAM_SIZE (4*1024) /* 4Kb */
|
||||
# define KINETIS_SRAM_SIZE (256*1024) /* 256Kb */
|
||||
# define KINETIS_MPU 1 /* Memory protection unit */
|
||||
# define KINETIS_EXTBUS 1 /* External bus interface */
|
||||
# define KINETIS_NDMACH 16 /* Up to 16 DMA channels */
|
||||
# define KINETIS_NENET 1 /* One IEEE 1588 Ethernet controller */
|
||||
# define KINETIS_NUSBOTG 1 /* With USB OTG controller */
|
||||
# define KINETIS_NUSBDEV 1 /* One USB device controller */
|
||||
# define KINETIS_NSDHC 1 /* SD host controller */
|
||||
# define KINETIS_NI2C 3 /* Three I2C modules */
|
||||
# define KINETIS_NUART 6 /* Six UART modues */
|
||||
# define KINETIS_NSPI 3 Three SPI modules
|
||||
# define KINETIS_NCAN 1 /* One CAN controllers */
|
||||
# define KINETIS_NI2S 1 /* One I2S modules */
|
||||
# define KINETIS_NSLCD 1 /* One segment LCD interface (up to 36x8/40x4) */
|
||||
# define KINETIS_NADC16 2 /* Four 16-bit ADC */
|
||||
# define KINETIS_NCMP 3 /* Three analog comparators */
|
||||
# define KINETIS_NDAC6 3 /* Three 6-bit DAC */
|
||||
# define KINETIS_NDAC12 2 /* Two 12-bit DAC */
|
||||
# define KINETIS_NVREF 1 /* Voltage reference */
|
||||
# define KINETIS_NTIMERS8 2 /* Two 8 channel timers */
|
||||
# define KINETIS_NTIMERS2 2 /* Two 2 channel timers */
|
||||
# define KINETIS_NRTC 1 /* Real time clock */
|
||||
# define KINETIS_NRNG 1 /* Random number generator */
|
||||
# define KINETIS_NMMCAU 1 /* Hardware encryption */
|
||||
# define KINETIS_NCRC 1 /* CRC */
|
||||
|
||||
#else
|
||||
# error "Unsupported Kinetis chip"
|
||||
#endif
|
||||
|
@ -83,7 +83,7 @@
|
||||
* K20P64M72SF1RM
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_MK20DX256VLH7)
|
||||
#if defined(CONFIG_ARCH_FAMILY_K20)
|
||||
# define KINETIS_IRQ_DMACH0 (16) /* Vector 16: DMA channel 0 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH1 (17) /* Vector 17: DMA channel 1 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH2 (18) /* Vector 18: DMA channel 2 transfer complete */
|
||||
@ -162,9 +162,7 @@
|
||||
* K40P144M100SF2RM
|
||||
*/
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK40X128VLQ100) || defined(CONFIG_ARCH_CHIP_MK40X128VMD100) || \
|
||||
defined(CONFIG_ARCH_CHIP_MK40X256VLQ100) || defined(CONFIG_ARCH_CHIP_MK40X256VMD100) || \
|
||||
defined(CONFIG_ARCH_CHIP_MK40N512VLQ100) || defined(CONFIG_ARCH_CHIP_MK40N512VMD100)
|
||||
#elif defined(CONFIG_ARCH_FAMILY_K40)
|
||||
|
||||
# define KINETIS_IRQ_DMACH0 (16) /* Vector 16: DMA channel 0 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH1 (17) /* Vector 17: DMA channel 1 transfer complete */
|
||||
@ -274,10 +272,7 @@
|
||||
* K60P144M100SF2RM
|
||||
*/
|
||||
|
||||
#elif defined(CONFIG_ARCH_CHIP_MK60N256VLQ100) || defined(CONFIG_ARCH_CHIP_MK60X256VLQ100) || \
|
||||
defined(CONFIG_ARCH_CHIP_MK60N512VLQ100) || defined(CONFIG_ARCH_CHIP_MK60N256VMD100) || \
|
||||
defined(CONFIG_ARCH_CHIP_MK60X256VMD100) || defined(CONFIG_ARCH_CHIP_MK60N512VMD100) || \
|
||||
defined(CONFIG_ARCH_CHIP_MK60N512VLL100)
|
||||
#elif defined(CONFIG_ARCH_FAMILY_K60)
|
||||
|
||||
# define KINETIS_IRQ_DMACH0 (16) /* Vector 16: DMA channel 0 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH1 (17) /* Vector 17: DMA channel 1 transfer complete */
|
||||
@ -383,6 +378,105 @@
|
||||
# define NR_VECTORS (120) /* 120 vectors */
|
||||
# define NR_IRQS (108) /* 120 interrupts but 108 IRQ numbers */
|
||||
|
||||
/* K64 Family ***********************************************************************
|
||||
*
|
||||
* The memory map for the following parts is defined in NXP document
|
||||
* K64P144M120SF5RM.pdf
|
||||
*/
|
||||
|
||||
#elif defined(CONFIG_ARCH_FAMILY_K64)
|
||||
|
||||
# define KINETIS_IRQ_DMACH0 (16) /* Vector 16: DMA channel 0 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH1 (17) /* Vector 17: DMA channel 1 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH2 (18) /* Vector 18: DMA channel 2 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH3 (19) /* Vector 19: DMA channel 3 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH4 (20) /* Vector 20: DMA channel 4 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH5 (21) /* Vector 21: DMA channel 5 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH6 (22) /* Vector 22: DMA channel 6 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH7 (23) /* Vector 23: DMA channel 7 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH8 (24) /* Vector 24: DMA channel 8 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH9 (25) /* Vector 25: DMA channel 9 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH10 (26) /* Vector 26: DMA channel 10 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH11 (27) /* Vector 27: DMA channel 11 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH12 (28) /* Vector 28: DMA channel 12 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH13 (29) /* Vector 29: DMA channel 13 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH14 (30) /* Vector 30: DMA channel 14 transfer complete */
|
||||
# define KINETIS_IRQ_DMACH15 (31) /* Vector 31: DMA channel 15 transfer complete */
|
||||
# define KINETIS_IRQ_DMAERR (32) /* Vector 32: DMA error interrupt channels 0-15 */
|
||||
# define KINETIS_IRQ_MCM (33) /* Vector 33: MCM Normal interrupt */
|
||||
# define KINETIS_IRQ_FLASHCC (34) /* Vector 34: Flash memory command complete */
|
||||
# define KINETIS_IRQ_FLASHRC (35) /* Vector 35: Flash memory read collision */
|
||||
# define KINETIS_IRQ_SMCLVD (36) /* Vector 36: Mode Controller low-voltage
|
||||
* detect, low-voltage warning */
|
||||
# define KINETIS_IRQ_LLWU (37) /* Vector 37: LLWU Normal Low Leakage Wakeup */
|
||||
# define KINETIS_IRQ_WDOG (38) /* Vector 38: Watchdog */
|
||||
# define KINETIS_IRQ_RNGB (39) /* Vector 39: Random number generator */
|
||||
# define KINETIS_IRQ_I2C0 (40) /* Vector 40: I2C0 */
|
||||
# define KINETIS_IRQ_I2C1 (41) /* Vector 41: I2C1 */
|
||||
# define KINETIS_IRQ_SPI0 (42) /* Vector 42: SPI0 all sources */
|
||||
# define KINETIS_IRQ_SPI1 (43) /* Vector 43: SPI1 all sources */
|
||||
# define KINETIS_IRQ_I2S0 (44) /* Vector 44: Transmit */
|
||||
# define KINETIS_IRQ_I2S1 (45) /* Vector 45: Transmit */
|
||||
/* Vector 46: Reserved */
|
||||
# define KINETIS_IRQ_UART0S (47) /* Vector 47: UART0 status */
|
||||
# define KINETIS_IRQ_UART0E (48) /* Vector 48: UART0 error */
|
||||
# define KINETIS_IRQ_UART1S (49) /* Vector 49: UART1 status */
|
||||
# define KINETIS_IRQ_UART1E (50) /* Vector 50: UART1 error */
|
||||
# define KINETIS_IRQ_UART2S (51) /* Vector 51: UART2 status */
|
||||
# define KINETIS_IRQ_UART2E (52) /* Vector 52: UART2 error */
|
||||
# define KINETIS_IRQ_UART3S (53) /* Vector 53: UART3 status */
|
||||
# define KINETIS_IRQ_UART3E (54) /* Vector 54: UART3 error */
|
||||
# define KINETIS_IRQ_ADC0 (55) /* Vector 55: ADC0 */
|
||||
# define KINETIS_IRQ_CMP0 (56) /* Vector 56: CMP0 */
|
||||
# define KINETIS_IRQ_CMP1 (57) /* Vector 57: CMP1 */
|
||||
# define KINETIS_IRQ_FTM0 (58) /* Vector 58: FTM0 all sources */
|
||||
# define KINETIS_IRQ_FTM1 (59) /* Vector 59: FTM1 all sources */
|
||||
# define KINETIS_IRQ_FTM2 (60) /* Vector 60: FTM2 all sources */
|
||||
# define KINETIS_IRQ_CMT (61) /* Vector 61: CMT */
|
||||
# define KINETIS_IRQ_RTC0 (62) /* Vector 62: RTC alarm interrupt */
|
||||
# define KINETIS_IRQ_RTC1 (63) /* Vector 63: RTC seconds interrupt */
|
||||
# define KINETIS_IRQ_PITCH0 (64) /* Vector 64: PIT channel 0 */
|
||||
# define KINETIS_IRQ_PITCH1 (65) /* Vector 65: PIT channel 1 */
|
||||
# define KINETIS_IRQ_PITCH2 (66) /* Vector 66: PIT channel 2 */
|
||||
# define KINETIS_IRQ_PITCH3 (67) /* Vector 67: PIT channel 3 */
|
||||
# define KINETIS_IRQ_PDB (68) /* Vector 68: PDB */
|
||||
# define KINETIS_IRQ_USBOTG (69) /* Vector 68: USB OTG */
|
||||
# define KINETIS_IRQ_USBCD (70) /* Vector 70: USB charger detect */
|
||||
/* Vector 71: Reserved */
|
||||
# define KINETIS_IRQ_DAC0 (72) /* Vector 72: DAC0 */
|
||||
# define KINETIS_IRQ_MCG (73) /* Vector 73: MCG */
|
||||
# define KINETIS_IRQ_LPT (74) /* Vector 74: Low power timer */
|
||||
# define KINETIS_IRQ_PORTA (75) /* Vector 75: Pin detect port A */
|
||||
# define KINETIS_IRQ_PORTB (76) /* Vector 76: Pin detect port B */
|
||||
# define KINETIS_IRQ_PORTC (77) /* Vector 77: Pin detect port C */
|
||||
# define KINETIS_IRQ_PORTD (78) /* Vector 78: Pin detect port D */
|
||||
# define KINETIS_IRQ_PORTE (79) /* Vector 79: Pin detect port E */
|
||||
# define KINETIS_IRQ_SOFTWARE (80) /* Vector 80: Software interrupt */
|
||||
# define KINETIS_IRQ_SPI2 (81) /* Vector 81: SPI2 all sources */
|
||||
# define KINETIS_IRQ_UART4S (82) /* Vector 82: UART4 status */
|
||||
# define KINETIS_IRQ_UART4E (83) /* Vector 83: UART4 error */
|
||||
# define KINETIS_IRQ_UART5S (84) /* Vector 84: UART5 status */
|
||||
# define KINETIS_IRQ_UART5E (85) /* Vector 85: UART5 error */
|
||||
# define KINETIS_IRQ_CMP2 (86) /* Vector 86: CMP2 */
|
||||
# define KINETIS_IRQ_FTM3 (87) /* Vector 87: FTM3 all sources */
|
||||
# define KINETIS_IRQ_DAC1 (88) /* Vector 88: DAC1 */
|
||||
# define KINETIS_IRQ_ADC1 (89) /* Vector 89: ADC1 */
|
||||
# define KINETIS_IRQ_I2C2 (90) /* Vector 90: I2C2 */
|
||||
# define KINETIS_IRQ_CAN0MB (91) /* Vector 91: CAN0 OR'ed Message buffer (0-15) */
|
||||
# define KINETIS_IRQ_CAN0BO (92) /* Vector 92: CAN0 Bus Off */
|
||||
# define KINETIS_IRQ_CAN0ERR (93) /* Vector 93: CAN0 Error */
|
||||
# define KINETIS_IRQ_CAN0TW (94) /* Vector 94: CAN0 Transmit Warning */
|
||||
# define KINETIS_IRQ_CAN0RW (95) /* Vector 95: CAN0 Receive Warning */
|
||||
# define KINETIS_IRQ_CAN0WU (96) /* Vector 96: CAN0 Wake UP */
|
||||
# define KINETIS_IRQ_SDHC (97) /* Vector 97: SDHC */
|
||||
# define KINETIS_IRQ_EMACTMR (98) /* Vector 91: Ethernet MAC IEEE 1588 timer interrupt */
|
||||
# define KINETIS_IRQ_EMACTX (99) /* Vector 92: Ethernet MAC transmit interrupt */
|
||||
# define KINETIS_IRQ_EMACRX (100) /* Vector 93: Ethernet MAC receive interrupt */
|
||||
# define KINETIS_IRQ_EMACMISC (101) /* Vector 94: Ethernet MAC error and misc interrupt */
|
||||
|
||||
# define NR_VECTORS (102) /* 102 vectors */
|
||||
# define NR_IRQS (102) /* 85 interrupts but 102 IRQ numbers */
|
||||
|
||||
#else
|
||||
/* The interrupt vectors for other parts are defined in other documents and may or
|
||||
* may not be the same as above (the family members are all very similar) This
|
||||
|
@ -98,6 +98,34 @@ config ARCH_CHIP_MK60X256VMD100
|
||||
bool "MK60X256VMD100"
|
||||
select ARCH_FAMILY_K60
|
||||
|
||||
config ARCH_CHIP_MK64FN1M0VLL12
|
||||
bool "MK64FN1M0VLL12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FX512VLL12
|
||||
bool "MK64FX512VLL12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FX512VDC12
|
||||
bool "MK64FX512VDC12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FN1M0VDC12
|
||||
bool "MK64FN1M0VDC12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FX512VLQ12
|
||||
bool "MK64FX512VLQ12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FX512VMD12
|
||||
bool "MK64FX512VMD12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
config ARCH_CHIP_MK64FN1M0VMD12
|
||||
bool "MK64FN1M0VMD12"
|
||||
select ARCH_FAMILY_K64
|
||||
|
||||
endchoice
|
||||
|
||||
# Chip families
|
||||
@ -114,6 +142,10 @@ config ARCH_FAMILY_K60
|
||||
bool
|
||||
default n
|
||||
|
||||
config ARCH_FAMILY_K64
|
||||
bool
|
||||
default n
|
||||
|
||||
menu "Kinetis Peripheral Support"
|
||||
|
||||
config KINETIS_TRACE
|
||||
|
@ -1,7 +1,7 @@
|
||||
/********************************************************************************************
|
||||
* arch/arm/src/kinetis/kinetis_adc.h
|
||||
* arch/arm/src/kinetis/chip/kinetis_adc.h
|
||||
*
|
||||
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2011, 2016 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -33,8 +33,8 @@
|
||||
*
|
||||
********************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_ADC_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_KINETIS_ADC_H
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_ADC_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_ADC_H
|
||||
|
||||
/********************************************************************************************
|
||||
* Included Files
|
||||
@ -70,7 +70,9 @@
|
||||
#define KINETIS_ADC_CLP2_OFFSET 0x0044 /* ADC plus-side general calibration value register */
|
||||
#define KINETIS_ADC_CLP1_OFFSET 0x0048 /* ADC plus-side general calibration value register */
|
||||
#define KINETIS_ADC_CLP0_OFFSET 0x004c /* ADC plus-side general calibration value register */
|
||||
#define KINETIS_ADC_PGA_OFFSET 0x0050 /* ADC PGA register */
|
||||
#ifndef KINETIS_K64
|
||||
# define KINETIS_ADC_PGA_OFFSET 0x0050 /* ADC PGA register */
|
||||
#endif
|
||||
#define KINETIS_ADC_CLMD_OFFSET 0x0054 /* ADC minus-side general calibration value register */
|
||||
#define KINETIS_ADC_CLMS_OFFSET 0x0058 /* ADC minus-side general calibration value register */
|
||||
#define KINETIS_ADC_CLM4_OFFSET 0x005c /* ADC minus-side general calibration value register */
|
||||
@ -80,7 +82,7 @@
|
||||
#define KINETIS_ADC_CLM0_OFFSET 0x006c /* ADC minus-side general calibration value register */
|
||||
|
||||
/* Register Addresses ***********************************************************************/
|
||||
# define KINETIS_ADC1_BASE 0x400bb000 /* Analog-to-digital converter (ADC) 1 */
|
||||
# define KINETIS_ADC1_BASE 0x400bb000 /* Analog-to-digital converter (ADC) 1 */
|
||||
|
||||
#define KINETIS_ADC0_SC1A (KINETIS_ADC0_BASE+KINETIS_ADC_SC1A_OFFSET)
|
||||
#define KINETIS_ADC0_SC1B (KINETIS_ADC0_BASE+KINETIS_ADC_SC1B_OFFSET)
|
||||
@ -102,7 +104,9 @@
|
||||
#define KINETIS_ADC0_CLP2 (KINETIS_ADC0_BASE+KINETIS_ADC_CLP2_OFFSET)
|
||||
#define KINETIS_ADC0_CLP1 (KINETIS_ADC0_BASE+KINETIS_ADC_CLP1_OFFSET)
|
||||
#define KINETIS_ADC0_CLP0 (KINETIS_ADC0_BASE+KINETIS_ADC_CLP0_OFFSET)
|
||||
#define KINETIS_ADC0_PGA (KINETIS_ADC0_BASE+KINETIS_ADC_PGA_OFFSET)
|
||||
#ifndef KINETIS_K64
|
||||
# define KINETIS_ADC0_PGA (KINETIS_ADC0_BASE+KINETIS_ADC_PGA_OFFSET)
|
||||
#endif
|
||||
#define KINETIS_ADC0_CLMD (KINETIS_ADC0_BASE+KINETIS_ADC_CLMD_OFFSET)
|
||||
#define KINETIS_ADC0_CLMS (KINETIS_ADC0_BASE+KINETIS_ADC_CLMS_OFFSET)
|
||||
#define KINETIS_ADC0_CLM4 (KINETIS_ADC0_BASE+KINETIS_ADC_CLM4_OFFSET)
|
||||
@ -131,7 +135,9 @@
|
||||
#define KINETIS_ADC1_CLP2 (KINETIS_ADC1_BASE+KINETIS_ADC_CLP2_OFFSET)
|
||||
#define KINETIS_ADC1_CLP1 (KINETIS_ADC1_BASE+KINETIS_ADC_CLP1_OFFSET)
|
||||
#define KINETIS_ADC1_CLP0 (KINETIS_ADC1_BASE+KINETIS_ADC_CLP0_OFFSET)
|
||||
#define KINETIS_ADC1_PGA (KINETIS_ADC1_BASE+KINETIS_ADC_PGA_OFFSET)
|
||||
#ifndef KINETIS_K64
|
||||
# define KINETIS_ADC1_PGA (KINETIS_ADC1_BASE+KINETIS_ADC_PGA_OFFSET)
|
||||
#endif
|
||||
#define KINETIS_ADC1_CLMD (KINETIS_ADC1_BASE+KINETIS_ADC_CLMD_OFFSET)
|
||||
#define KINETIS_ADC1_CLMS (KINETIS_ADC1_BASE+KINETIS_ADC_CLMS_OFFSET)
|
||||
#define KINETIS_ADC1_CLM4 (KINETIS_ADC1_BASE+KINETIS_ADC_CLM4_OFFSET)
|
||||
@ -272,22 +278,26 @@
|
||||
#define ADC_CLP0_MASK (0x3f) /* Bits 0-5: Calibration value */
|
||||
|
||||
/* ADC PGA register */
|
||||
|
||||
#ifndef KINETIS_K64
|
||||
/* Bits 0-15: Reserved */
|
||||
#define ADC_PGA_PGAG_SHIFT (16) /* Bits 16-19: PGA gain setting*/
|
||||
#define ADC_PGA_PGAG_MASK (15 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_1 (0 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_2 (1 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_4 (2 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_8 (3 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_16 (4 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_32 (5 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_64 (6 << ADC_PGA_PGAG_SHIFT)
|
||||
#ifdef KINETIS_K40
|
||||
# define ADC_PGA_PGALP (1 << 20) /* Bit 20: PGA low-power mode control */
|
||||
#endif
|
||||
# define ADC_PGA_PGAG_SHIFT (16) /* Bits 16-19: PGA gain setting*/
|
||||
# define ADC_PGA_PGAG_MASK (15 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_1 (0 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_2 (1 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_4 (2 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_8 (3 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_16 (4 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_32 (5 << ADC_PGA_PGAG_SHIFT)
|
||||
# define ADC_PGA_PGAG_64 (6 << ADC_PGA_PGAG_SHIFT)
|
||||
# ifdef KINETIS_K40
|
||||
# define ADC_PGA_PGALP (1 << 20) /* Bit 20: PGA low-power mode control */
|
||||
# endif
|
||||
/* Bits 21-22: Reserved */
|
||||
#define ADC_PGA_PGAEN (1 << 23) /* Bit 23: PGA enable*/
|
||||
# define ADC_PGA_PGAEN (1 << 23) /* Bit 23: PGA enable*/
|
||||
/* Bits 24-31: Reserved */
|
||||
#endif
|
||||
|
||||
/* ADC minus-side general calibration value registers */
|
||||
|
||||
#define ADC_CLMD_MASK (0x3f) /* Bits 0-5: Calibration value */
|
||||
@ -310,4 +320,4 @@
|
||||
* Public Functions
|
||||
********************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_ADC_H */
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_ADC_H */
|
@ -1,7 +1,7 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/kinetis/kinetis_aips.h
|
||||
* arch/arm/src/kinetis/chip/kinetis_aips.h
|
||||
*
|
||||
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2011, 2016 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -33,8 +33,8 @@
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_AIPS_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_KINETIS_AIPS_H
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AIPS_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AIPS_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
@ -68,6 +68,9 @@
|
||||
#define KINETIS_AIPS_PACRN_OFFSET 0x0064 /* Peripheral Access Control Register */
|
||||
#define KINETIS_AIPS_PACRO_OFFSET 0x0068 /* Peripheral Access Control Register */
|
||||
#define KINETIS_AIPS_PACRP_OFFSET 0x006c /* Peripheral Access Control Register */
|
||||
#ifdef KINETIS_K64
|
||||
# define KINETIS_AIPS_PACRU_OFFSET 0x0080 /* Peripheral Access Control Register */
|
||||
#endif
|
||||
|
||||
/* Register Addresses ***************************************************************/
|
||||
|
||||
@ -88,24 +91,30 @@
|
||||
#define KINETIS_AIPS0_PACRN (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRN_OFFSET)
|
||||
#define KINETIS_AIPS0_PACRO (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRO_OFFSET)
|
||||
#define KINETIS_AIPS0_PACRP (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRP_OFFSET)
|
||||
#ifdef KINETIS_K64
|
||||
# define KINETIS_AIPS0_PACRU (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRU_OFFSET)
|
||||
#endif
|
||||
|
||||
#define KINETIS_AIPS1_MPRA (KINETIS_AIPS0_BASE+KINETIS_AIPS_MPRA_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRA (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRA_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRB (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRB_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRC (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRC_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRD (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRD_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRE (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRE_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRF (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRF_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRG (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRG_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRH (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRH_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRI (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRI_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRJ (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRJ_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRK (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRK_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRL (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRL_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRM (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRM_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRN (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRN_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRO (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRO_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRP (KINETIS_AIPS0_BASE+KINETIS_AIPS_PACRP_OFFSET)
|
||||
#define KINETIS_AIPS1_MPRA (KINETIS_AIPS1_BASE+KINETIS_AIPS_MPRA_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRA (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRA_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRB (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRB_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRC (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRC_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRD (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRD_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRE (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRE_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRF (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRF_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRG (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRG_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRH (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRH_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRI (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRI_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRJ (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRJ_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRK (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRK_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRL (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRL_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRM (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRM_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRN (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRN_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRO (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRO_OFFSET)
|
||||
#define KINETIS_AIPS1_PACRP (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRP_OFFSET)
|
||||
#ifdef KINETIS_K64
|
||||
# define KINETIS_AIPS1_PACRU (KINETIS_AIPS1_BASE+KINETIS_AIPS_PACRU_OFFSET)
|
||||
#endif
|
||||
|
||||
/* Register Bit Definitions *********************************************************/
|
||||
|
||||
@ -205,4 +214,4 @@
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_AIPS_H */
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AIPS_H */
|
@ -1,7 +1,7 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/kinetis/kinetis_axbs.h
|
||||
* arch/arm/src/kinetis/chip/kinetis_axbs.h
|
||||
*
|
||||
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2011, 2016 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -33,8 +33,8 @@
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_AXBS_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_KINETIS_AXBS_H
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AXBS_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AXBS_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
@ -248,4 +248,4 @@
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_AXBS_H */
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_CHIP_KINETIS_AXBS_H */
|
@ -373,6 +373,3 @@ kinesis_setdividers(uint32_t div1, uint32_t div2, uint32_t div3, uint32_t div4)
|
||||
|
||||
putreg32(regval, KINETIS_FMC_PFAPR);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -33,8 +33,8 @@
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_KINETISXX_KINETIS_CONFIG_H
|
||||
#define __ARCH_ARM_SRC_KINETISXX_KINETIS_CONFIG_H
|
||||
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_CONFIG_H
|
||||
#define __ARCH_ARM_SRC_KINETIS_KINETIS_CONFIG_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
@ -232,4 +232,4 @@
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_KINETISXX_KINETIS_CONFIG_H */
|
||||
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_CONFIG_H */
|
||||
|
Loading…
Reference in New Issue
Block a user