diff --git a/boards/arm/rp2040/seeed-xiao-rp2040/CMakeLists.txt b/boards/arm/rp2040/seeed-xiao-rp2040/CMakeLists.txt new file mode 100644 index 0000000000..05ec14f6c4 --- /dev/null +++ b/boards/arm/rp2040/seeed-xiao-rp2040/CMakeLists.txt @@ -0,0 +1,40 @@ +# ############################################################################## +# boards/arm/rp2040/seeed-xiao-rp2040/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) + +add_custom_target( + nuttx_post_build + DEPENDS nuttx + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") + +# The uf2 command to convert ELF/BIN to UF2 +add_custom_command( + TARGET nuttx_post_build + POST_BUILD + COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2 + COMMAND_EXPAND_LISTS + COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >> + ${CMAKE_BINARY_DIR}/nuttx.manifest + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") diff --git a/boards/arm/rp2040/seeed-xiao-rp2040/src/CMakeLists.txt b/boards/arm/rp2040/seeed-xiao-rp2040/src/CMakeLists.txt new file mode 100644 index 0000000000..8eee9ffef6 --- /dev/null +++ b/boards/arm/rp2040/seeed-xiao-rp2040/src/CMakeLists.txt @@ -0,0 +1,49 @@ +# ############################################################################## +# boards/arm/rp2040/seeed-xiao-rp2040/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 rp2040_boardinitialize.c rp2040_bringup.c) + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS rp2040_gpio.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS rp2040_autoleds.c) +else() + list(APPEND SRCS rp2040_userleds.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS rp2040_appinit.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +if(CONFIG_RP2040_FLASH_BOOT) + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/seeed-xiao-rp2040-flash.ld") +else() + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/seeed-xiao-rp2040-sram.ld") +endif() diff --git a/boards/arm/rp2040/w5500-evb-pico/CMakeLists.txt b/boards/arm/rp2040/w5500-evb-pico/CMakeLists.txt new file mode 100644 index 0000000000..a985c8352f --- /dev/null +++ b/boards/arm/rp2040/w5500-evb-pico/CMakeLists.txt @@ -0,0 +1,40 @@ +# ############################################################################## +# boards/arm/rp2040/w5500-evb-pico/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) + +add_custom_target( + nuttx_post_build + DEPENDS nuttx + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") + +# The uf2 command to convert ELF/BIN to UF2 +add_custom_command( + TARGET nuttx_post_build + POST_BUILD + COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2 + COMMAND_EXPAND_LISTS + COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >> + ${CMAKE_BINARY_DIR}/nuttx.manifest + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") diff --git a/boards/arm/rp2040/w5500-evb-pico/src/CMakeLists.txt b/boards/arm/rp2040/w5500-evb-pico/src/CMakeLists.txt new file mode 100644 index 0000000000..718b5adbc5 --- /dev/null +++ b/boards/arm/rp2040/w5500-evb-pico/src/CMakeLists.txt @@ -0,0 +1,53 @@ +# ############################################################################## +# boards/arm/rp2040/w5500-evb-pico/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 rp2040_boardinitialize.c rp2040_bringup.c) + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS rp2040_gpio.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS rp2040_autoleds.c) +else() + list(APPEND SRCS rp2040_userleds.c) +endif() + +if(CONFIG_ARCH_BUTTONS) + list(APPEND SRCS rp2040_buttons.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS rp2040_appinit.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +if(CONFIG_RP2040_FLASH_BOOT) + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/w5500-evb-pico-flash.ld") +else() + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/w5500-evb-pico-sram.ld") +endif() diff --git a/boards/arm/rp2040/waveshare-rp2040-zero/CMakeLists.txt b/boards/arm/rp2040/waveshare-rp2040-zero/CMakeLists.txt new file mode 100644 index 0000000000..cdbdccd24b --- /dev/null +++ b/boards/arm/rp2040/waveshare-rp2040-zero/CMakeLists.txt @@ -0,0 +1,40 @@ +# ############################################################################## +# boards/arm/rp2040/waveshare-rp2040-zero/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) + +add_custom_target( + nuttx_post_build + DEPENDS nuttx + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") + +# The uf2 command to convert ELF/BIN to UF2 +add_custom_command( + TARGET nuttx_post_build + POST_BUILD + COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2 + COMMAND_EXPAND_LISTS + COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >> + ${CMAKE_BINARY_DIR}/nuttx.manifest + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Regenerate nuttx.uf2") diff --git a/boards/arm/rp2040/waveshare-rp2040-zero/src/CMakeLists.txt b/boards/arm/rp2040/waveshare-rp2040-zero/src/CMakeLists.txt new file mode 100644 index 0000000000..fbaa24b8df --- /dev/null +++ b/boards/arm/rp2040/waveshare-rp2040-zero/src/CMakeLists.txt @@ -0,0 +1,43 @@ +# ############################################################################## +# boards/arm/rp2040/waveshare-rp2040-zero/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 rp2040_boardinitialize.c rp2040_bringup.c) + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS rp2040_gpio.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS rp2040_appinit.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +if(CONFIG_RP2040_FLASH_BOOT) + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/waveshare-rp2040-zero-flash.ld") +else() + set_property( + GLOBAL PROPERTY LD_SCRIPT + "${NUTTX_BOARD_DIR}/scripts/waveshare-rp2040-zero-sram.ld") +endif()