2015-07-27 12:09:43 -04:00
|
|
|
# Kconfig - FSL FRDM K64F platform configuration options
|
2015-05-20 11:40:39 -05:00
|
|
|
|
|
|
|
#
|
2015-11-03 08:52:12 -05:00
|
|
|
# Copyright (c) 2014-2016 Wind River Systems, Inc.
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
|
|
|
|
2015-12-17 08:54:35 -05:00
|
|
|
if SOC_FSL_FRDM_K64F
|
|
|
|
config SOC
|
2015-03-12 16:15:28 -06:00
|
|
|
default fsl_frdm_k64f
|
|
|
|
|
2016-01-20 21:10:59 -08:00
|
|
|
config SRAM_BASE_ADDRESS
|
|
|
|
default 0x20000000
|
|
|
|
|
|
|
|
config FLASH_BASE_ADDRESS
|
|
|
|
default 0x00000000
|
|
|
|
|
2015-03-12 16:15:28 -06:00
|
|
|
config NUM_IRQ_PRIO_BITS
|
2015-05-26 21:15:32 -04:00
|
|
|
int
|
2015-03-12 16:15:28 -06:00
|
|
|
default 4
|
|
|
|
|
|
|
|
config NUM_IRQS
|
2015-05-26 21:15:32 -04:00
|
|
|
int
|
2015-03-12 16:15:28 -06:00
|
|
|
# must be >= the highest interrupt number used
|
2015-09-30 17:59:46 +03:00
|
|
|
default 86
|
2015-03-12 16:15:28 -06:00
|
|
|
|
|
|
|
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
2015-05-26 21:15:32 -04:00
|
|
|
int
|
2015-12-25 10:17:22 -05:00
|
|
|
default 120000000
|
2015-03-12 16:15:28 -06:00
|
|
|
|
|
|
|
config WDOG_INIT
|
|
|
|
def_bool y
|
|
|
|
# omit prompt to signify a "hidden" option
|
|
|
|
help
|
|
|
|
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 07:45:58 -04:00
|
|
|
|
2015-10-26 15:56:02 -04:00
|
|
|
config KERNEL_INIT_PRIORITY_DEFAULT
|
|
|
|
default 40
|
|
|
|
|
|
|
|
config KERNEL_INIT_PRIORITY_DEVICE
|
|
|
|
default 50
|
|
|
|
|
|
|
|
config UART_CONSOLE_PRIORITY
|
|
|
|
default 60
|
|
|
|
|
2015-12-01 08:42:19 -08:00
|
|
|
if UART_K20
|
|
|
|
|
|
|
|
config UART_K20_PORT_0
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
if UART_K20_PORT_0
|
|
|
|
config UART_K20_PORT_0_BASE_ADDR
|
|
|
|
default 0x4006A000
|
|
|
|
config UART_K20_PORT_0_IRQ
|
|
|
|
default 31
|
|
|
|
config UART_K20_PORT_0_IRQ_PRI
|
|
|
|
default 3
|
|
|
|
config UART_K20_PORT_0_BAUD_RATE
|
|
|
|
default 115200
|
|
|
|
config UART_K20_PORT_0_CLK_FREQ
|
|
|
|
default 120000000
|
|
|
|
endif
|
|
|
|
|
|
|
|
config UART_K20_PORT_1
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
if UART_K20_PORT_1
|
|
|
|
config UART_K20_PORT_1_BASE_ADDR
|
|
|
|
default 0x4006B000
|
|
|
|
config UART_K20_PORT_1_IRQ
|
|
|
|
default 33
|
|
|
|
config UART_K20_PORT_1_IRQ_PRI
|
|
|
|
default 3
|
|
|
|
config UART_K20_PORT_1_BAUD_RATE
|
|
|
|
default 115200
|
|
|
|
config UART_K20_PORT_1_CLK_FREQ
|
|
|
|
default 120000000
|
|
|
|
endif
|
|
|
|
|
|
|
|
config UART_K20_PORT_2
|
|
|
|
def_bool y
|
|
|
|
if UART_K20_PORT_2
|
|
|
|
config UART_K20_PORT_2_BASE_ADDR
|
|
|
|
default 0x4006C000
|
|
|
|
config UART_K20_PORT_2_IRQ
|
|
|
|
default 35
|
|
|
|
config UART_K20_PORT_2_IRQ_PRI
|
|
|
|
default 3
|
|
|
|
config UART_K20_PORT_2_BAUD_RATE
|
|
|
|
default 115200
|
|
|
|
config UART_K20_PORT_2_CLK_FREQ
|
|
|
|
default 120000000
|
|
|
|
endif
|
|
|
|
|
|
|
|
config UART_K20_PORT_3
|
|
|
|
def_bool y
|
|
|
|
if UART_K20_PORT_3
|
|
|
|
config UART_K20_PORT_3_BASE_ADDR
|
|
|
|
default 0x4006D000
|
|
|
|
config UART_K20_PORT_3_IRQ
|
|
|
|
default 37
|
|
|
|
config UART_K20_PORT_3_IRQ_PRI
|
|
|
|
default 3
|
|
|
|
config UART_K20_PORT_3_BAUD_RATE
|
|
|
|
default 115200
|
|
|
|
config UART_K20_PORT_3_CLK_FREQ
|
|
|
|
default 120000000
|
|
|
|
endif
|
|
|
|
|
|
|
|
config UART_K20_PORT_4
|
|
|
|
def_bool y
|
|
|
|
if UART_K20_PORT_4
|
|
|
|
config UART_K20_PORT_4_BASE_ADDR
|
|
|
|
default 0x400EA000
|
|
|
|
config UART_K20_PORT_4_IRQ
|
|
|
|
default 66
|
|
|
|
config UART_K20_PORT_4_IRQ_PRI
|
|
|
|
default 3
|
|
|
|
config UART_K20_PORT_4_BAUD_RATE
|
|
|
|
default 115200
|
|
|
|
config UART_K20_PORT_4_CLK_FREQ
|
|
|
|
default 120000000
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif # UART_K20
|
|
|
|
|
2015-12-01 08:42:20 -08:00
|
|
|
if UART_CONSOLE
|
|
|
|
|
|
|
|
config UART_CONSOLE_ON_DEV_NAME
|
|
|
|
default "UART_0"
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2015-12-01 08:42:20 -08:00
|
|
|
if BLUETOOTH_UART
|
|
|
|
|
|
|
|
config BLUETOOTH_UART_ON_DEV_NAME
|
|
|
|
default "UART_1"
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2015-11-03 08:52:12 -05:00
|
|
|
config GPIO
|
|
|
|
def_bool y
|
|
|
|
|
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-01 17:30:48 -05:00
|
|
|
config PINMUX
|
|
|
|
def_bool y
|
|
|
|
|
2016-02-26 15:27:38 -05:00
|
|
|
config PWM
|
|
|
|
def_bool n
|
|
|
|
|
2015-11-03 08:52:12 -05:00
|
|
|
if GPIO
|
|
|
|
|
|
|
|
config GPIO_K64
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GPIO_K64_A
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GPIO_K64_B
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GPIO_K64_C
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GPIO_K64_D
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GPIO_K64_E
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
config GPIO_K64_A_BASE_ADDR
|
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-01 17:30:48 -05:00
|
|
|
default 0x400FF000
|
|
|
|
|
|
|
|
config PORT_K64_A_BASE_ADDR
|
|
|
|
default 0x40049000
|
2015-11-03 08:52:12 -05:00
|
|
|
|
|
|
|
config GPIO_K64_B_BASE_ADDR
|
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-01 17:30:48 -05:00
|
|
|
default 0x400FF040
|
|
|
|
|
|
|
|
config PORT_K64_B_BASE_ADDR
|
|
|
|
default 0x4004A000
|
2015-11-03 08:52:12 -05:00
|
|
|
|
|
|
|
config GPIO_K64_C_BASE_ADDR
|
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-01 17:30:48 -05:00
|
|
|
default 0x400FF080
|
|
|
|
|
|
|
|
config PORT_K64_C_BASE_ADDR
|
|
|
|
default 0x4004B000
|
2015-11-03 08:52:12 -05:00
|
|
|
|
|
|
|
config GPIO_K64_D_BASE_ADDR
|
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-01 17:30:48 -05:00
|
|
|
default 0x400FF0C0
|
|
|
|
|
|
|
|
config PORT_K64_D_BASE_ADDR
|
|
|
|
default 0x4004C000
|
2015-11-03 08:52:12 -05:00
|
|
|
|
|
|
|
config GPIO_K64_E_BASE_ADDR
|
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-01 17:30:48 -05:00
|
|
|
default 0x400FF100
|
|
|
|
|
|
|
|
config PORT_K64_E_BASE_ADDR
|
|
|
|
default 0x4004D000
|
|
|
|
|
|
|
|
|
|
|
|
if PINMUX
|
|
|
|
|
|
|
|
config PINMUX_K64
|
|
|
|
def_bool y
|
|
|
|
config PINMUX_BASE
|
|
|
|
default 0x00000000
|
|
|
|
config PINMUX_NUM_PINS
|
|
|
|
default 160
|
|
|
|
config PINMUX_K64_GPIO_A_NAME
|
|
|
|
default GPIO_K64_A_DEV_NAME
|
|
|
|
config PINMUX_K64_GPIO_B_NAME
|
|
|
|
default GPIO_K64_B_DEV_NAME
|
|
|
|
config PINMUX_K64_GPIO_C_NAME
|
|
|
|
default GPIO_K64_C_DEV_NAME
|
|
|
|
config PINMUX_K64_GPIO_D_NAME
|
|
|
|
default GPIO_K64_D_DEV_NAME
|
|
|
|
config PINMUX_K64_GPIO_E_NAME
|
|
|
|
default GPIO_K64_E_DEV_NAME
|
|
|
|
|
|
|
|
config PRESERVE_JTAG_IO_PINS
|
|
|
|
bool "Freescale FRDM-K64F JTAG pin usage"
|
|
|
|
depends on PINMUX
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
|
|
|
endif #PINMUX
|
2015-11-03 08:52:12 -05:00
|
|
|
|
2016-02-26 15:27:38 -05:00
|
|
|
if PWM
|
|
|
|
config PWM_K64_FTM
|
|
|
|
def_bool y
|
|
|
|
config PWM_K64_FTM_0
|
|
|
|
def_bool y
|
|
|
|
endif
|
|
|
|
|
2015-09-26 07:45:58 -04:00
|
|
|
endif
|