2016-04-03 11:35:35 +08:00
|
|
|
# Kconfig - Kinetis K6X MCU line
|
2015-05-21 00:40:39 +08:00
|
|
|
#
|
2016-04-03 11:35:35 +08:00
|
|
|
# Copyright (c) 2016 Open-RnD Sp. z o.o.
|
2015-05-21 00:40:39 +08:00
|
|
|
#
|
2017-01-19 09:01:01 +08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2015-05-21 00:40:39 +08:00
|
|
|
#
|
|
|
|
|
2016-04-03 11:35:35 +08:00
|
|
|
choice
|
|
|
|
prompt "Kinetis K6x MCU Selection"
|
|
|
|
depends on SOC_SERIES_KINETIS_K6X
|
|
|
|
|
|
|
|
config SOC_MK64F12
|
2016-05-25 07:17:13 +08:00
|
|
|
bool "SOC_MK64F12"
|
2017-01-03 05:43:50 +08:00
|
|
|
select HAS_MCUX
|
2017-08-26 00:15:49 +08:00
|
|
|
select HAS_MCUX_ADC16
|
2017-08-26 00:24:46 +08:00
|
|
|
select HAS_MCUX_FTM
|
2017-08-26 01:21:03 +08:00
|
|
|
select HAS_MCUX_RNGA
|
2017-08-26 22:22:55 +08:00
|
|
|
select HAS_MCUX_SIM
|
2016-07-20 05:09:07 +08:00
|
|
|
select HAS_OSC
|
|
|
|
select HAS_MCG
|
2016-05-16 23:21:02 +08:00
|
|
|
select CPU_HAS_FPU
|
2016-04-03 11:35:35 +08:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
if SOC_SERIES_KINETIS_K6X
|
2015-03-13 06:15:28 +08:00
|
|
|
|
2016-06-02 23:29:15 +08:00
|
|
|
config SOC_PART_NUMBER_MK64FN1M0CAJ12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FN1M0VDC12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FN1M0VLL12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FN1M0VLQ12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FN1M0VMD12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FX512VDC12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FX512VLL12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FX512VLQ12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_MK64FX512VMD12
|
|
|
|
bool
|
|
|
|
|
|
|
|
config SOC_PART_NUMBER_KINETIS_K6X
|
|
|
|
string
|
|
|
|
default "MK64FN1M0CAJ12" if SOC_PART_NUMBER_MK64FN1M0CAJ12
|
|
|
|
default "MK64FN1M0VDC12" if SOC_PART_NUMBER_MK64FN1M0VDC12
|
|
|
|
default "MK64FN1M0VLL12" if SOC_PART_NUMBER_MK64FN1M0VLL12
|
|
|
|
default "MK64FN1M0VLQ12" if SOC_PART_NUMBER_MK64FN1M0VLQ12
|
|
|
|
default "MK64FN1M0VMD12" if SOC_PART_NUMBER_MK64FN1M0VMD12
|
|
|
|
default "MK64FX512VDC12" if SOC_PART_NUMBER_MK64FX512VDC12
|
|
|
|
default "MK64FX512VLL12" if SOC_PART_NUMBER_MK64FX512VLL12
|
|
|
|
default "MK64FX512VLQ12" if SOC_PART_NUMBER_MK64FX512VLQ12
|
|
|
|
default "MK64FX512VMD12" if SOC_PART_NUMBER_MK64FX512VMD12
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This string holds the full part number of the SoC. It is a hidden option
|
|
|
|
that you should not set directly. The part number selection choice defines
|
|
|
|
the default value for this string.
|
2016-06-02 23:29:15 +08:00
|
|
|
|
2016-02-12 01:06:12 +08:00
|
|
|
config K64_CORE_CLOCK_DIVIDER
|
2018-08-14 22:19:20 +08:00
|
|
|
int "Freescale K64 core clock divider"
|
2016-02-12 01:06:12 +08:00
|
|
|
default 1
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This option specifies the divide value for the K64 processor core clock
|
|
|
|
from the system clock.
|
2016-02-12 01:06:12 +08:00
|
|
|
|
|
|
|
config K64_BUS_CLOCK_DIVIDER
|
2018-08-14 22:19:20 +08:00
|
|
|
int "Freescale K64 bus clock divider"
|
2016-02-12 01:06:12 +08:00
|
|
|
default 2
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This option specifies the divide value for the K64 bus clock from the
|
|
|
|
system clock.
|
2016-02-12 01:06:12 +08:00
|
|
|
|
|
|
|
config K64_FLEXBUS_CLOCK_DIVIDER
|
2018-08-14 22:19:20 +08:00
|
|
|
int "Freescale K64 FlexBus clock divider"
|
2016-02-12 01:06:12 +08:00
|
|
|
default 3
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This option specifies the divide value for the K64 FlexBus clock from the
|
|
|
|
system clock.
|
2016-02-12 01:06:12 +08:00
|
|
|
|
|
|
|
config K64_FLASH_CLOCK_DIVIDER
|
2018-08-14 22:19:20 +08:00
|
|
|
int "Freescale K64 flash clock divider"
|
2016-02-12 01:06:12 +08:00
|
|
|
default 5
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This option specifies the divide value for the K64 flash clock from the
|
|
|
|
system clock.
|
2016-02-12 01:06:12 +08:00
|
|
|
|
2015-03-13 06:15:28 +08:00
|
|
|
config WDOG_INIT
|
|
|
|
def_bool y
|
|
|
|
# omit prompt to signify a "hidden" option
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
This processor enables the watchdog timer with a short timeout
|
|
|
|
upon reset. Therefore, this requires that the watchdog be configured
|
|
|
|
during reset handling.
|
2015-09-26 19:45:58 +08:00
|
|
|
|
arm: Freescale K64/FRDM-K64F Pinmux support
K64 pinmux support is created as a normal driver.
As opposed to the Galileo board, the pin configuration options are
defined by the MCU and are not board-specific. Separate
platform/board-specific configuration code uses the pinmux driver for
the default pin settings. For FRDM-K64F, only the Arduino pins (22 of a
possible 160) are set up.
Some of the I/O pins routed to the Arduino header are also configured as
JTAG/SWD signals by default and are used by the OpenSDAv2 debug
interface. Therefore, a PRESERVE_JTAG_IO_PINS config option was created
for the FRDM-K64 platform to prevent the default pin settings from
re-configuring these pins.
The K64 MCU separates pin configuration and control, implemented in the
pinmux driver, from GPIO. This results in some cross referencing
between the K64 GPIO driver and the K64 pinmux driver due to the
dependencies of one on the other.
This pinmux driver also uses the expanded pinmux function/mode parameter
size to describe pin configuration options with bit fields for the K64,
including up to 8 pin functions, plus interrupt, pullup/down, drive
strength, open-drain and slew rate.
The following GCC warnings in the K64 pinmux driver are prevented when not
compiling with 'no-optimization' (-O0):
warning: 'gpio_dev' may be used uninitialized in this function
[-Wmaybe-uninitialized]
Change-Id: Ie5031d18750143bf895883058b3cd55fd9989fd3
Signed-off-by: Jeff Blais <jeff.blais@windriver.com>
2016-02-02 06:30:48 +08:00
|
|
|
config PRESERVE_JTAG_IO_PINS
|
2016-04-03 11:35:35 +08:00
|
|
|
bool "Kinetis K6x JTAG pin usage"
|
arm: Freescale K64/FRDM-K64F Pinmux support
K64 pinmux support is created as a normal driver.
As opposed to the Galileo board, the pin configuration options are
defined by the MCU and are not board-specific. Separate
platform/board-specific configuration code uses the pinmux driver for
the default pin settings. For FRDM-K64F, only the Arduino pins (22 of a
possible 160) are set up.
Some of the I/O pins routed to the Arduino header are also configured as
JTAG/SWD signals by default and are used by the OpenSDAv2 debug
interface. Therefore, a PRESERVE_JTAG_IO_PINS config option was created
for the FRDM-K64 platform to prevent the default pin settings from
re-configuring these pins.
The K64 MCU separates pin configuration and control, implemented in the
pinmux driver, from GPIO. This results in some cross referencing
between the K64 GPIO driver and the K64 pinmux driver due to the
dependencies of one on the other.
This pinmux driver also uses the expanded pinmux function/mode parameter
size to describe pin configuration options with bit fields for the K64,
including up to 8 pin functions, plus interrupt, pullup/down, drive
strength, open-drain and slew rate.
The following GCC warnings in the K64 pinmux driver are prevented when not
compiling with 'no-optimization' (-O0):
warning: 'gpio_dev' may be used uninitialized in this function
[-Wmaybe-uninitialized]
Change-Id: Ie5031d18750143bf895883058b3cd55fd9989fd3
Signed-off-by: Jeff Blais <jeff.blais@windriver.com>
2016-02-02 06:30:48 +08:00
|
|
|
depends on PINMUX
|
|
|
|
default y
|
|
|
|
help
|
2017-03-01 16:58:34 +08:00
|
|
|
The FRDM-K64F board routes the PTA0/1/2 pins as JTAG/SWD signals that
|
|
|
|
are used for the OpenSDAv2 debug interface. These pins are also routed to
|
|
|
|
the Arduino header as D8, D3 and D5, respectively.
|
|
|
|
Enable this option to preserve these pins for the debug interface.
|
arm: Freescale K64/FRDM-K64F Pinmux support
K64 pinmux support is created as a normal driver.
As opposed to the Galileo board, the pin configuration options are
defined by the MCU and are not board-specific. Separate
platform/board-specific configuration code uses the pinmux driver for
the default pin settings. For FRDM-K64F, only the Arduino pins (22 of a
possible 160) are set up.
Some of the I/O pins routed to the Arduino header are also configured as
JTAG/SWD signals by default and are used by the OpenSDAv2 debug
interface. Therefore, a PRESERVE_JTAG_IO_PINS config option was created
for the FRDM-K64 platform to prevent the default pin settings from
re-configuring these pins.
The K64 MCU separates pin configuration and control, implemented in the
pinmux driver, from GPIO. This results in some cross referencing
between the K64 GPIO driver and the K64 pinmux driver due to the
dependencies of one on the other.
This pinmux driver also uses the expanded pinmux function/mode parameter
size to describe pin configuration options with bit fields for the K64,
including up to 8 pin functions, plus interrupt, pullup/down, drive
strength, open-drain and slew rate.
The following GCC warnings in the K64 pinmux driver are prevented when not
compiling with 'no-optimization' (-O0):
warning: 'gpio_dev' may be used uninitialized in this function
[-Wmaybe-uninitialized]
Change-Id: Ie5031d18750143bf895883058b3cd55fd9989fd3
Signed-off-by: Jeff Blais <jeff.blais@windriver.com>
2016-02-02 06:30:48 +08:00
|
|
|
|
2016-04-03 11:35:35 +08:00
|
|
|
endif # SOC_SERIES_KINETIS_K6X
|