From 6f4d6106368284d035c194bd894a238db5f2e8ce Mon Sep 17 00:00:00 2001 From: simbit18 <101105604+simbit18@users.noreply.github.com> Date: Mon, 1 Dec 2025 14:17:47 +0100 Subject: [PATCH] boards/arm/kl: CMake build for Freedom-kl25z, Freedom-kl26z and Teensy-lc boards - CMake added board NXP Freedom-KL25Z - CMake added board NXP Freedom-KL26Z - CMake added board PJRC Teensy-LC Signed-off-by: simbit18 --- boards/arm/kl/freedom-kl25z/CMakeLists.txt | 23 +++++++ .../arm/kl/freedom-kl25z/src/CMakeLists.txt | 68 +++++++++++++++++++ boards/arm/kl/freedom-kl26z/CMakeLists.txt | 23 +++++++ .../arm/kl/freedom-kl26z/src/CMakeLists.txt | 52 ++++++++++++++ boards/arm/kl/teensy-lc/CMakeLists.txt | 23 +++++++ boards/arm/kl/teensy-lc/src/CMakeLists.txt | 48 +++++++++++++ 6 files changed, 237 insertions(+) create mode 100644 boards/arm/kl/freedom-kl25z/CMakeLists.txt create mode 100644 boards/arm/kl/freedom-kl25z/src/CMakeLists.txt create mode 100644 boards/arm/kl/freedom-kl26z/CMakeLists.txt create mode 100644 boards/arm/kl/freedom-kl26z/src/CMakeLists.txt create mode 100644 boards/arm/kl/teensy-lc/CMakeLists.txt create mode 100644 boards/arm/kl/teensy-lc/src/CMakeLists.txt diff --git a/boards/arm/kl/freedom-kl25z/CMakeLists.txt b/boards/arm/kl/freedom-kl25z/CMakeLists.txt new file mode 100644 index 00000000000..3ee0bc086d9 --- /dev/null +++ b/boards/arm/kl/freedom-kl25z/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# boards/arm/kl/freedom-kl25z/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/kl/freedom-kl25z/src/CMakeLists.txt b/boards/arm/kl/freedom-kl25z/src/CMakeLists.txt new file mode 100644 index 00000000000..19e6395ae98 --- /dev/null +++ b/boards/arm/kl/freedom-kl25z/src/CMakeLists.txt @@ -0,0 +1,68 @@ +# ############################################################################## +# boards/arm/kl/freedom-kl25z/src/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +set(SRCS kl_boardinitialize.c) + +if(CONFIG_BOARDCTL) + list(APPEND SRCS kl_appinit.c) +endif() + +if(CONFIG_KL_TSI) + list(APPEND SRCS kl_tsi.c) +endif() + +if(CONFIG_KL_SPI0) + list(APPEND SRCS kl_spi.c) +else() + if(CONFIG_KL_SPI1) + list(APPEND SRCS kl_spi.c) + endif() +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS kl_led.c) +endif() + +if(CONFIG_KL_USBOTG) + list(APPEND SRCS kl_usb.c) +endif() + +if(CONFIG_PWM) + list(APPEND SRCS kl_pwm.c) +endif() + +if(CONFIG_SENSORS_QENCODER) + list(APPEND SRCS kl_qencoder.c) +endif() + +if(CONFIG_WATCHDOG) + list(APPEND SRCS kl_watchdog.c) +endif() + +if(CONFIG_SENSORS_ADXL345) + list(APPEND SRCS kl_adxl345.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/freedom-kl25z.ld") diff --git a/boards/arm/kl/freedom-kl26z/CMakeLists.txt b/boards/arm/kl/freedom-kl26z/CMakeLists.txt new file mode 100644 index 00000000000..dcab81ba935 --- /dev/null +++ b/boards/arm/kl/freedom-kl26z/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# boards/arm/kl/freedom-kl26z/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/kl/freedom-kl26z/src/CMakeLists.txt b/boards/arm/kl/freedom-kl26z/src/CMakeLists.txt new file mode 100644 index 00000000000..86ab715d90c --- /dev/null +++ b/boards/arm/kl/freedom-kl26z/src/CMakeLists.txt @@ -0,0 +1,52 @@ +# ############################################################################## +# boards/arm/kl/freedom-kl26z/src/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +set(SRCS kl_boardinitialize.c) + +if(CONFIG_BOARDCTL) + list(APPEND SRCS kl_appinit.c) +endif() + +if(CONFIG_KL_TSI) + list(APPEND SRCS kl_tsi.c) +endif() + +if(CONFIG_KL_SPI0) + list(APPEND SRCS kl_spi.c) +else() + if(CONFIG_KL_SPI1) + list(APPEND SRCS kl_spi.c) + endif() +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS kl_led.c) +endif() + +if(CONFIG_PWM) + list(APPEND SRCS kl_pwm.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/freedom-kl26z.ld") diff --git a/boards/arm/kl/teensy-lc/CMakeLists.txt b/boards/arm/kl/teensy-lc/CMakeLists.txt new file mode 100644 index 00000000000..27a5eb2fa63 --- /dev/null +++ b/boards/arm/kl/teensy-lc/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# boards/arm/kl/teensy-lc/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/kl/teensy-lc/src/CMakeLists.txt b/boards/arm/kl/teensy-lc/src/CMakeLists.txt new file mode 100644 index 00000000000..bb8e9f955f6 --- /dev/null +++ b/boards/arm/kl/teensy-lc/src/CMakeLists.txt @@ -0,0 +1,48 @@ +# ############################################################################## +# boards/arm/kl/teensy-lc/src/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you 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. +# +# ############################################################################## + +set(SRCS kl_boardinitialize.c) + +if(CONFIG_BOARDCTL) + list(APPEND SRCS kl_appinit.c) +endif() + +if(CONFIG_KL_SPI0) + list(APPEND SRCS kl_spi.c) +else() + if(CONFIG_KL_SPI1) + list(APPEND SRCS kl_spi.c) + endif() +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS kl_led.c) +endif() + +if(CONFIG_PWM) + list(APPEND SRCS kl_pwm.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/teensy-lc.ld")