This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 8f5c0d5da31 arch: Add Cmake build support for raspberrypi-4b board & bcm2711 chip 8f5c0d5da31 is described below commit 8f5c0d5da31c6c60564818773772c5da8c5c12c6 Author: “wangchengdong” <“wangchengd...@lixiang.com”> AuthorDate: Wed Aug 20 17:08:36 2025 +0800 arch: Add Cmake build support for raspberrypi-4b board & bcm2711 chip Add: arch/arm64/src/bcm2711/CMakeLists.txt boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt boards/arm64/bcm2711/raspberrypi-4b/src/CMakeLists.txt --- arch/arm64/src/bcm2711/CMakeLists.txt | 43 ++++++++++++++++++++++ boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt | 23 ++++++++++++ .../bcm2711/raspberrypi-4b/src/CMakeLists.txt | 35 ++++++++++++++++++ 3 files changed, 101 insertions(+) diff --git a/arch/arm64/src/bcm2711/CMakeLists.txt b/arch/arm64/src/bcm2711/CMakeLists.txt new file mode 100644 index 00000000000..d83a3aeb438 --- /dev/null +++ b/arch/arm64/src/bcm2711/CMakeLists.txt @@ -0,0 +1,43 @@ +# ############################################################################## +# arch/arm64/src/bcm2711/CMakeLists.txt +# +# 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. +# +# ############################################################################## + +# BCM2711 specific C source files + +set(SRCS bcm2711_boot.c bcm2711_serial.c bcm2711_gpio.c bcm2711_timer.c) + +# Early boot logging + +if(CONFIG_ARCH_EARLY_PRINT) + list(APPEND SRCS bcm2711_lowputc.c) +endif() + +# I2C interfaces + +if(CONFIG_BCM2711_I2C) + list(APPEND SRCS bcm2711_i2c.c) +endif() + +# SPI interfaces +# +if(CONFIG_BCM2711_SPI) + list(APPEND SRCS bcm2711_spi.c) +endif() + +target_sources(arch PRIVATE ${SRCS}) diff --git a/boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt b/boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt new file mode 100644 index 00000000000..5fc8d76d23f --- /dev/null +++ b/boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# boards/arm64/bcm2711/raspberrypi-4b/CMakeLists.txt +# +# 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_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/dramboot.ld") + +add_subdirectory(src) diff --git a/boards/arm64/bcm2711/raspberrypi-4b/src/CMakeLists.txt b/boards/arm64/bcm2711/raspberrypi-4b/src/CMakeLists.txt new file mode 100644 index 00000000000..c87b601afea --- /dev/null +++ b/boards/arm64/bcm2711/raspberrypi-4b/src/CMakeLists.txt @@ -0,0 +1,35 @@ +# ############################################################################## +# boards/arm64/bcm2711/raspberrypi-4b/src/CMakeLists.txt +# +# 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 rpi4b_boardinitialize.c rpi4b_bringup.c) + +if(CONFIG_BOARDCTL) + list(APPEND SRCS rpi4b_appinit.c) +endif() + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS rpi4b_gpio.c) +endif() + +if(CONFIG_BCM2711_I2C_DRIVER) + list(APPEND SRCS bcm2711_i2cdev.c) +endif() + +target_sources(board PRIVATE ${SRCS})