From 4183dae89b7e690210e36a7a98611e8bc2ab5b6e Mon Sep 17 00:00:00 2001 From: Maureen Helm Date: Mon, 2 Jan 2017 15:07:42 -0600 Subject: [PATCH] pinmux: Rename ksdk to mcux Renames the ksdk pinmux driver to mcux. Change-Id: I7a519318b5b580c47b6f6652a2ae763067d85033 Signed-off-by: Maureen Helm --- .../nxp_kinetis/k6x/Kconfig.defconfig.mk64f12 | 2 +- boards/arm/frdm_k64f/Kconfig.defconfig | 14 +- boards/arm/frdm_k64f/Makefile | 2 +- boards/arm/frdm_k64f/pinmux.c | 20 +-- boards/arm/hexiwear_k64/Kconfig.defconfig | 14 +- boards/arm/hexiwear_k64/Makefile | 2 +- boards/arm/hexiwear_k64/pinmux.c | 20 +-- drivers/pinmux/Kconfig | 2 +- drivers/pinmux/{Kconfig.ksdk => Kconfig.mcux} | 44 +++--- drivers/pinmux/Makefile | 2 +- drivers/pinmux/pinmux_ksdk.c | 137 ------------------ drivers/pinmux/pinmux_mcux.c | 137 ++++++++++++++++++ 12 files changed, 198 insertions(+), 198 deletions(-) rename drivers/pinmux/{Kconfig.ksdk => Kconfig.mcux} (65%) delete mode 100644 drivers/pinmux/pinmux_ksdk.c create mode 100644 drivers/pinmux/pinmux_mcux.c diff --git a/arch/arm/soc/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12 b/arch/arm/soc/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12 index 6fab281f17d..2a27f67124c 100644 --- a/arch/arm/soc/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12 +++ b/arch/arm/soc/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12 @@ -24,7 +24,7 @@ config SOC if PINMUX -config PINMUX_KSDK +config PINMUX_MCUX def_bool y endif # PINMUX diff --git a/boards/arm/frdm_k64f/Kconfig.defconfig b/boards/arm/frdm_k64f/Kconfig.defconfig index add90389598..4fccc08aefc 100644 --- a/boards/arm/frdm_k64f/Kconfig.defconfig +++ b/boards/arm/frdm_k64f/Kconfig.defconfig @@ -93,24 +93,24 @@ config BLUETOOTH_UART_ON_DEV_NAME config PINMUX def_bool y -if PINMUX_KSDK +if PINMUX_MCUX -config PINMUX_KSDK_PORTA +config PINMUX_MCUX_PORTA def_bool y -config PINMUX_KSDK_PORTB +config PINMUX_MCUX_PORTB def_bool y -config PINMUX_KSDK_PORTC +config PINMUX_MCUX_PORTC def_bool y -config PINMUX_KSDK_PORTD +config PINMUX_MCUX_PORTD def_bool y if SPI_0 -config PINMUX_KSDK_PORTE +config PINMUX_MCUX_PORTE def_bool y -endif # PINMUX_KSDK +endif # PINMUX_MCUX if GPIO_K64 diff --git a/boards/arm/frdm_k64f/Makefile b/boards/arm/frdm_k64f/Makefile index 1fce34c57b8..2c94da58564 100644 --- a/boards/arm/frdm_k64f/Makefile +++ b/boards/arm/frdm_k64f/Makefile @@ -1,3 +1,3 @@ ccflags-y +=-I$(srctree)/drivers -obj-$(CONFIG_PINMUX_KSDK) += pinmux.o +obj-$(CONFIG_PINMUX_MCUX) += pinmux.o diff --git a/boards/arm/frdm_k64f/pinmux.c b/boards/arm/frdm_k64f/pinmux.c index 7ef6b9e4f44..b6fb4b11f5c 100644 --- a/boards/arm/frdm_k64f/pinmux.c +++ b/boards/arm/frdm_k64f/pinmux.c @@ -22,25 +22,25 @@ static int frdm_k64f_pinmux_init(struct device *dev) { ARG_UNUSED(dev); -#ifdef CONFIG_PINMUX_KSDK_PORTA +#ifdef CONFIG_PINMUX_MCUX_PORTA struct device *porta = - device_get_binding(CONFIG_PINMUX_KSDK_PORTA_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTA_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTB +#ifdef CONFIG_PINMUX_MCUX_PORTB struct device *portb = - device_get_binding(CONFIG_PINMUX_KSDK_PORTB_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTB_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTC +#ifdef CONFIG_PINMUX_MCUX_PORTC struct device *portc = - device_get_binding(CONFIG_PINMUX_KSDK_PORTC_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTC_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTD +#ifdef CONFIG_PINMUX_MCUX_PORTD struct device *portd = - device_get_binding(CONFIG_PINMUX_KSDK_PORTD_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTD_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTE +#ifdef CONFIG_PINMUX_MCUX_PORTE struct device *porte = - device_get_binding(CONFIG_PINMUX_KSDK_PORTE_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTE_NAME); #endif #ifdef CONFIG_UART_K20_PORT_3 diff --git a/boards/arm/hexiwear_k64/Kconfig.defconfig b/boards/arm/hexiwear_k64/Kconfig.defconfig index 360fed9e895..5fac02b8f92 100644 --- a/boards/arm/hexiwear_k64/Kconfig.defconfig +++ b/boards/arm/hexiwear_k64/Kconfig.defconfig @@ -93,24 +93,24 @@ config BLUETOOTH_UART_ON_DEV_NAME config PINMUX def_bool y -if PINMUX_KSDK +if PINMUX_MCUX -config PINMUX_KSDK_PORTA +config PINMUX_MCUX_PORTA def_bool n -config PINMUX_KSDK_PORTB +config PINMUX_MCUX_PORTB def_bool n -config PINMUX_KSDK_PORTC +config PINMUX_MCUX_PORTC def_bool y -config PINMUX_KSDK_PORTD +config PINMUX_MCUX_PORTD def_bool y -config PINMUX_KSDK_PORTE +config PINMUX_MCUX_PORTE def_bool y if UART_K20_PORT_4 -endif # PINMUX_KSDK +endif # PINMUX_MCUX if GPIO_K64 diff --git a/boards/arm/hexiwear_k64/Makefile b/boards/arm/hexiwear_k64/Makefile index 2cd841fc41a..ddf96d10bca 100644 --- a/boards/arm/hexiwear_k64/Makefile +++ b/boards/arm/hexiwear_k64/Makefile @@ -17,4 +17,4 @@ ccflags-y +=-I$(srctree)/drivers -obj-$(CONFIG_PINMUX_KSDK) += pinmux.o +obj-$(CONFIG_PINMUX_MCUX) += pinmux.o diff --git a/boards/arm/hexiwear_k64/pinmux.c b/boards/arm/hexiwear_k64/pinmux.c index 1fa1ae055c8..ed1b7a67267 100644 --- a/boards/arm/hexiwear_k64/pinmux.c +++ b/boards/arm/hexiwear_k64/pinmux.c @@ -22,25 +22,25 @@ static int hexiwear_k64_pinmux_init(struct device *dev) { ARG_UNUSED(dev); -#ifdef CONFIG_PINMUX_KSDK_PORTA +#ifdef CONFIG_PINMUX_MCUX_PORTA struct device *porta = - device_get_binding(CONFIG_PINMUX_KSDK_PORTA_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTA_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTB +#ifdef CONFIG_PINMUX_MCUX_PORTB struct device *portb = - device_get_binding(CONFIG_PINMUX_KSDK_PORTB_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTB_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTC +#ifdef CONFIG_PINMUX_MCUX_PORTC struct device *portc = - device_get_binding(CONFIG_PINMUX_KSDK_PORTC_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTC_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTD +#ifdef CONFIG_PINMUX_MCUX_PORTD struct device *portd = - device_get_binding(CONFIG_PINMUX_KSDK_PORTD_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTD_NAME); #endif -#ifdef CONFIG_PINMUX_KSDK_PORTE +#ifdef CONFIG_PINMUX_MCUX_PORTE struct device *porte = - device_get_binding(CONFIG_PINMUX_KSDK_PORTE_NAME); + device_get_binding(CONFIG_PINMUX_MCUX_PORTE_NAME); #endif /* Red, green, blue LEDs */ diff --git a/drivers/pinmux/Kconfig b/drivers/pinmux/Kconfig index 2ac5020799f..51b748c9e47 100644 --- a/drivers/pinmux/Kconfig +++ b/drivers/pinmux/Kconfig @@ -56,7 +56,7 @@ config PINMUX_K64 help Enable driver for Freescale K64-based Pin multiplexer. -source "drivers/pinmux/Kconfig.ksdk" +source "drivers/pinmux/Kconfig.mcux" source "drivers/pinmux/Kconfig.stm32" diff --git a/drivers/pinmux/Kconfig.ksdk b/drivers/pinmux/Kconfig.mcux similarity index 65% rename from drivers/pinmux/Kconfig.ksdk rename to drivers/pinmux/Kconfig.mcux index 7526010be6f..64354f4d0ae 100644 --- a/drivers/pinmux/Kconfig.ksdk +++ b/drivers/pinmux/Kconfig.mcux @@ -1,4 +1,4 @@ -# Kconfig - Kinetis SDK pinmux +# Kconfig - MCUXpresso SDK pinmux # # Copyright (c) 2016, Freescale Semiconductor, Inc. # @@ -15,68 +15,68 @@ # limitations under the License. # -menuconfig PINMUX_KSDK - bool "KSDK pinmux driver" - depends on HAS_KSDK +menuconfig PINMUX_MCUX + bool "MCUX pinmux driver" + depends on HAS_MCUX default n help - Enable the KSDK pinmux driver. + Enable the MCUX pinmux driver. -if PINMUX_KSDK +if PINMUX_MCUX -config PINMUX_KSDK_PORTA +config PINMUX_MCUX_PORTA bool "Port A" default n help Enable Port A. -config PINMUX_KSDK_PORTA_NAME +config PINMUX_MCUX_PORTA_NAME string "Pinmux Port A driver name" - depends on PINMUX_KSDK_PORTA + depends on PINMUX_MCUX_PORTA default "porta" -config PINMUX_KSDK_PORTB +config PINMUX_MCUX_PORTB bool "Port B" default n help Enable Port B. -config PINMUX_KSDK_PORTB_NAME +config PINMUX_MCUX_PORTB_NAME string "Pinmux Port B driver name" - depends on PINMUX_KSDK_PORTB + depends on PINMUX_MCUX_PORTB default "portb" -config PINMUX_KSDK_PORTC +config PINMUX_MCUX_PORTC bool "Port C" default n help Enable Port C. -config PINMUX_KSDK_PORTC_NAME +config PINMUX_MCUX_PORTC_NAME string "Pinmux Port C driver name" - depends on PINMUX_KSDK_PORTC + depends on PINMUX_MCUX_PORTC default "portc" -config PINMUX_KSDK_PORTD +config PINMUX_MCUX_PORTD bool "Port D" default n help Enable Port D. -config PINMUX_KSDK_PORTD_NAME +config PINMUX_MCUX_PORTD_NAME string "Pinmux Port D driver name" - depends on PINMUX_KSDK_PORTD + depends on PINMUX_MCUX_PORTD default "portd" -config PINMUX_KSDK_PORTE +config PINMUX_MCUX_PORTE bool "Port E" default n help Enable Port E. -config PINMUX_KSDK_PORTE_NAME +config PINMUX_MCUX_PORTE_NAME string "Pinmux Port E driver name" - depends on PINMUX_KSDK_PORTE + depends on PINMUX_MCUX_PORTE default "porte" -endif # PINMUX_KSDK +endif # PINMUX_MCUX diff --git a/drivers/pinmux/Makefile b/drivers/pinmux/Makefile index 1b2999f1c5d..e43612f7952 100644 --- a/drivers/pinmux/Makefile +++ b/drivers/pinmux/Makefile @@ -6,7 +6,7 @@ obj-y += k64/pinmux.o obj-$(CONFIG_BOARD_FRDM_K64F) += k64/pinmux_board_frdm_k64f.o obj-$(CONFIG_BOARD_HEXIWEAR_K64) += k64/pinmux_board_hexiwear.o endif -obj-$(CONFIG_PINMUX_KSDK) += pinmux_ksdk.o +obj-$(CONFIG_PINMUX_MCUX) += pinmux_mcux.o obj-$(CONFIG_PINMUX_STM32) += stm32/pinmux_stm32.o obj-$(CONFIG_PINMUX_BEETLE) += beetle/pinmux_board_v2m_beetle.o obj-$(CONFIG_BOARD_NUCLEO_F103RB) += stm32/pinmux_board_nucleo_f103rb.o diff --git a/drivers/pinmux/pinmux_ksdk.c b/drivers/pinmux/pinmux_ksdk.c deleted file mode 100644 index b8ad15d46d0..00000000000 --- a/drivers/pinmux/pinmux_ksdk.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2016 Freescale Semiconductor, Inc. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -#include -#include -#include -#include -#include - -struct pinmux_ksdk_config { - clock_ip_name_t clock_ip_name; - PORT_Type *base; -}; - -static int pinmux_ksdk_set(struct device *dev, uint32_t pin, uint32_t func) -{ - const struct pinmux_ksdk_config *config = dev->config->config_info; - PORT_Type *base = config->base; - - base->PCR[pin] = func; - - return 0; -} - -static int pinmux_ksdk_get(struct device *dev, uint32_t pin, uint32_t *func) -{ - const struct pinmux_ksdk_config *config = dev->config->config_info; - PORT_Type *base = config->base; - - *func = base->PCR[pin]; - - return 0; -} - -static int pinmux_ksdk_pullup(struct device *dev, uint32_t pin, uint8_t func) -{ - return -ENOTSUP; -} - -static int pinmux_ksdk_input(struct device *dev, uint32_t pin, uint8_t func) -{ - return -ENOTSUP; -} - -static int pinmux_ksdk_init(struct device *dev) -{ - const struct pinmux_ksdk_config *config = dev->config->config_info; - - CLOCK_EnableClock(config->clock_ip_name); - - return 0; -} - -static const struct pinmux_driver_api pinmux_ksdk_driver_api = { - .set = pinmux_ksdk_set, - .get = pinmux_ksdk_get, - .pullup = pinmux_ksdk_pullup, - .input = pinmux_ksdk_input, -}; - -#ifdef CONFIG_PINMUX_KSDK_PORTA -static const struct pinmux_ksdk_config pinmux_ksdk_porta_config = { - .base = PORTA, - .clock_ip_name = kCLOCK_PortA, -}; - -DEVICE_AND_API_INIT(pinmux_porta, CONFIG_PINMUX_KSDK_PORTA_NAME, - &pinmux_ksdk_init, - NULL, &pinmux_ksdk_porta_config, - POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &pinmux_ksdk_driver_api); -#endif - -#ifdef CONFIG_PINMUX_KSDK_PORTB -static const struct pinmux_ksdk_config pinmux_ksdk_portb_config = { - .base = PORTB, - .clock_ip_name = kCLOCK_PortB, -}; - -DEVICE_AND_API_INIT(pinmux_portb, CONFIG_PINMUX_KSDK_PORTB_NAME, - &pinmux_ksdk_init, - NULL, &pinmux_ksdk_portb_config, - POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &pinmux_ksdk_driver_api); -#endif - -#ifdef CONFIG_PINMUX_KSDK_PORTC -static const struct pinmux_ksdk_config pinmux_ksdk_portc_config = { - .base = PORTC, - .clock_ip_name = kCLOCK_PortC, -}; - -DEVICE_AND_API_INIT(pinmux_portc, CONFIG_PINMUX_KSDK_PORTC_NAME, - &pinmux_ksdk_init, - NULL, &pinmux_ksdk_portc_config, - POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &pinmux_ksdk_driver_api); -#endif - -#ifdef CONFIG_PINMUX_KSDK_PORTD -static const struct pinmux_ksdk_config pinmux_ksdk_portd_config = { - .base = PORTD, - .clock_ip_name = kCLOCK_PortD, -}; - -DEVICE_AND_API_INIT(pinmux_portd, CONFIG_PINMUX_KSDK_PORTD_NAME, - &pinmux_ksdk_init, - NULL, &pinmux_ksdk_portd_config, - POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &pinmux_ksdk_driver_api); -#endif - -#ifdef CONFIG_PINMUX_KSDK_PORTE -static const struct pinmux_ksdk_config pinmux_ksdk_porte_config = { - .base = PORTE, - .clock_ip_name = kCLOCK_PortE, -}; - -DEVICE_AND_API_INIT(pinmux_porte, CONFIG_PINMUX_KSDK_PORTE_NAME, - &pinmux_ksdk_init, - NULL, &pinmux_ksdk_porte_config, - POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &pinmux_ksdk_driver_api); -#endif diff --git a/drivers/pinmux/pinmux_mcux.c b/drivers/pinmux/pinmux_mcux.c new file mode 100644 index 00000000000..d3f124a271f --- /dev/null +++ b/drivers/pinmux/pinmux_mcux.c @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2016 Freescale Semiconductor, Inc. + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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. + */ + +#include +#include +#include +#include +#include + +struct pinmux_mcux_config { + clock_ip_name_t clock_ip_name; + PORT_Type *base; +}; + +static int pinmux_mcux_set(struct device *dev, uint32_t pin, uint32_t func) +{ + const struct pinmux_mcux_config *config = dev->config->config_info; + PORT_Type *base = config->base; + + base->PCR[pin] = func; + + return 0; +} + +static int pinmux_mcux_get(struct device *dev, uint32_t pin, uint32_t *func) +{ + const struct pinmux_mcux_config *config = dev->config->config_info; + PORT_Type *base = config->base; + + *func = base->PCR[pin]; + + return 0; +} + +static int pinmux_mcux_pullup(struct device *dev, uint32_t pin, uint8_t func) +{ + return -ENOTSUP; +} + +static int pinmux_mcux_input(struct device *dev, uint32_t pin, uint8_t func) +{ + return -ENOTSUP; +} + +static int pinmux_mcux_init(struct device *dev) +{ + const struct pinmux_mcux_config *config = dev->config->config_info; + + CLOCK_EnableClock(config->clock_ip_name); + + return 0; +} + +static const struct pinmux_driver_api pinmux_mcux_driver_api = { + .set = pinmux_mcux_set, + .get = pinmux_mcux_get, + .pullup = pinmux_mcux_pullup, + .input = pinmux_mcux_input, +}; + +#ifdef CONFIG_PINMUX_MCUX_PORTA +static const struct pinmux_mcux_config pinmux_mcux_porta_config = { + .base = PORTA, + .clock_ip_name = kCLOCK_PortA, +}; + +DEVICE_AND_API_INIT(pinmux_porta, CONFIG_PINMUX_MCUX_PORTA_NAME, + &pinmux_mcux_init, + NULL, &pinmux_mcux_porta_config, + POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, + &pinmux_mcux_driver_api); +#endif + +#ifdef CONFIG_PINMUX_MCUX_PORTB +static const struct pinmux_mcux_config pinmux_mcux_portb_config = { + .base = PORTB, + .clock_ip_name = kCLOCK_PortB, +}; + +DEVICE_AND_API_INIT(pinmux_portb, CONFIG_PINMUX_MCUX_PORTB_NAME, + &pinmux_mcux_init, + NULL, &pinmux_mcux_portb_config, + POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, + &pinmux_mcux_driver_api); +#endif + +#ifdef CONFIG_PINMUX_MCUX_PORTC +static const struct pinmux_mcux_config pinmux_mcux_portc_config = { + .base = PORTC, + .clock_ip_name = kCLOCK_PortC, +}; + +DEVICE_AND_API_INIT(pinmux_portc, CONFIG_PINMUX_MCUX_PORTC_NAME, + &pinmux_mcux_init, + NULL, &pinmux_mcux_portc_config, + POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, + &pinmux_mcux_driver_api); +#endif + +#ifdef CONFIG_PINMUX_MCUX_PORTD +static const struct pinmux_mcux_config pinmux_mcux_portd_config = { + .base = PORTD, + .clock_ip_name = kCLOCK_PortD, +}; + +DEVICE_AND_API_INIT(pinmux_portd, CONFIG_PINMUX_MCUX_PORTD_NAME, + &pinmux_mcux_init, + NULL, &pinmux_mcux_portd_config, + POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, + &pinmux_mcux_driver_api); +#endif + +#ifdef CONFIG_PINMUX_MCUX_PORTE +static const struct pinmux_mcux_config pinmux_mcux_porte_config = { + .base = PORTE, + .clock_ip_name = kCLOCK_PortE, +}; + +DEVICE_AND_API_INIT(pinmux_porte, CONFIG_PINMUX_MCUX_PORTE_NAME, + &pinmux_mcux_init, + NULL, &pinmux_mcux_porte_config, + POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, + &pinmux_mcux_driver_api); +#endif