Skip to content

Commit cc58705

Browse files
Merge pull request #3824 from raspberrypi/develop
Roll out latest changes to production
2 parents 5056b86 + bb52215 commit cc58705

22 files changed

+434
-406
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
version: 1.10.2
4141
- name: Install arm-none-eabi-gcc GNU Arm Embedded Toolchain
42-
uses: carlosperate/[email protected].0
42+
uses: carlosperate/[email protected].1
4343
- name: Install Doxygen
4444
run: |
4545
wget https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz

.gitmodules

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
branch = master
99

1010
[submodule "doxygentoasciidoc"]
11-
path = doxygentoasciidoc
11+
path = lib/doxygentoasciidoc
1212
url = https://github.com/raspberrypi/doxygentoasciidoc.git
13+
branch = main

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
3131
end
3232

3333
# Performance-booster for watching directories on Windows
34-
gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?
34+
gem "wdm", "~> 0.2.0", :install_if => Gem.win_platform?
3535

3636
gem "nokogiri", "~> 1.16"
3737

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ GEM
5757
jekyll (>= 3.5, < 5.0)
5858
jekyll-feed (~> 0.9)
5959
jekyll-seo-tag (~> 2.1)
60-
nokogiri (1.16.6)
60+
nokogiri (1.16.7)
6161
mini_portile2 (~> 2.8.2)
6262
racc (~> 1.4)
6363
pathutil (0.16.2)
@@ -87,7 +87,7 @@ GEM
8787
tzinfo-data (1.2024.1)
8888
tzinfo (>= 1.0.0)
8989
unicode-display_width (2.5.0)
90-
wdm (0.1.1)
90+
wdm (0.2.0)
9191
webrick (1.8.1)
9292

9393
PLATFORMS
@@ -103,7 +103,7 @@ DEPENDENCIES
103103
thread_safe (~> 0.3.5)
104104
tzinfo (~> 2.0)
105105
tzinfo-data
106-
wdm (~> 0.1.0)
106+
wdm (~> 0.2.0)
107107

108108
BUNDLED WITH
109109
2.3.22

Makefile

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ AUTO_NINJABUILD = $(BUILD_DIR)/autogenerated.ninja
1616

1717
PICO_SDK_DIR = lib/pico-sdk
1818
PICO_EXAMPLES_DIR = lib/pico-examples
19+
DOXYGEN_TO_ASCIIDOC_DIR = lib/doxygentoasciidoc
1920
ALL_SUBMODULE_CMAKELISTS = $(PICO_SDK_DIR)/CMakeLists.txt $(PICO_EXAMPLES_DIR)/CMakeLists.txt
2021
DOXYGEN_PICO_SDK_BUILD_DIR = build-pico-sdk-docs
2122
DOXYGEN_XML_DIR = $(DOXYGEN_PICO_SDK_BUILD_DIR)/combined/docs/doxygen/xml
@@ -26,7 +27,7 @@ JEKYLL_CMD = bundle exec jekyll
2627

2728
.DEFAULT_GOAL := html
2829

29-
.PHONY: clean run_ninja clean_ninja html serve_html clean_html build_doxygen_html clean_doxygen_html build_doxygen_adoc clean_doxygen_adoc fetch_submodules clean_submodules clean_everything
30+
.PHONY: clean run_ninja clean_ninja html serve_html clean_html build_doxygen_xml clean_doxygen_xml build_doxygen_adoc clean_doxygen_adoc fetch_submodules clean_submodules clean_everything
3031

3132
$(BUILD_DIR):
3233
@mkdir -p $@
@@ -51,20 +52,20 @@ $(PICO_EXAMPLES_DIR)/CMakeLists.txt: | $(PICO_SDK_DIR)/CMakeLists.txt $(PICO_EXA
5152
git submodule update --init $(PICO_EXAMPLES_DIR)
5253

5354
# Initialise doxygentoasciidoc submodule
54-
doxygentoasciidoc/__main__.py:
55-
git submodule update --init doxygentoasciidoc
55+
$(DOXYGEN_TO_ASCIIDOC_DIR)/__main__.py:
56+
git submodule update --init $(DOXYGEN_TO_ASCIIDOC_DIR)
5657

57-
fetch_submodules: $(ALL_SUBMODULE_CMAKELISTS)
58+
fetch_submodules: $(ALL_SUBMODULE_CMAKELISTS) $(DOXYGEN_TO_ASCIIDOC_DIR)/__main__.py
5859

5960
# Get rid of the submodules
6061
clean_submodules:
6162
git submodule deinit --all
6263

6364
# Create the pico-sdk Doxygen XML files
6465
$(DOXYGEN_XML_DIR) $(DOXYGEN_XML_DIR)/index.xml: | $(ALL_SUBMODULE_CMAKELISTS) $(DOXYGEN_PICO_SDK_BUILD_DIR)
65-
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/combined -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR) -D PICO_PLATFORM=combined-docs
66-
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2040 -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR) -D PICO_PLATFORM=rp2040
67-
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2350 -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR) -D PICO_PLATFORM=rp2350
66+
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/combined -D PICO_EXAMPLES_PATH=../../$(PICO_EXAMPLES_DIR) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=combined-docs
67+
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2040 -D PICO_EXAMPLES_PATH=../../$(PICO_EXAMPLES_DIR) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=rp2040
68+
cmake -S $(PICO_SDK_DIR) -B $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2350 -D PICO_EXAMPLES_PATH=../../$(PICO_EXAMPLES_DIR) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=rp2350
6869
$(MAKE) -C $(DOXYGEN_PICO_SDK_BUILD_DIR)/combined docs
6970
$(MAKE) -C $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2040 docs
7071
$(MAKE) -C $(DOXYGEN_PICO_SDK_BUILD_DIR)/PICO_RP2350 docs
@@ -79,13 +80,14 @@ clean_doxygen_xml:
7980
rm -rf $(DOXYGEN_PICO_SDK_BUILD_DIR)
8081

8182
# create the sdk adoc and the json file
82-
$(ASCIIDOC_DOXYGEN_DIR)/picosdk_index.json $(ASCIIDOC_DOXYGEN_DIR)/index_doxygen.adoc: $(ASCIIDOC_DOXYGEN_DIR) $(DOXYGEN_XML_DIR)/index.xml doxygentoasciidoc/__main__.py doxygentoasciidoc/cli.py doxygentoasciidoc/nodes.py doxygentoasciidoc/helpers.py | $(BUILD_DIR)
83+
$(ASCIIDOC_DOXYGEN_DIR)/picosdk_index.json $(ASCIIDOC_DOXYGEN_DIR)/index_doxygen.adoc: $(ASCIIDOC_DOXYGEN_DIR) $(DOXYGEN_XML_DIR)/index.xml $(DOXYGEN_TO_ASCIIDOC_DIR)/__main__.py $(DOXYGEN_TO_ASCIIDOC_DIR)/cli.py $(DOXYGEN_TO_ASCIIDOC_DIR)/nodes.py $(DOXYGEN_TO_ASCIIDOC_DIR)/helpers.py | $(BUILD_DIR) $(DOXYGEN_TO_ASCIIDOC_DIR)/requirements.txt
8384
$(MAKE) clean_ninja
84-
python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/index.xml > $(ASCIIDOC_DOXYGEN_DIR)/all_groups.adoc
85-
python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/indexpage.xml -c > $(ASCIIDOC_DOXYGEN_DIR)/index_doxygen.adoc
86-
python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/examples_page.xml -c > $(ASCIIDOC_DOXYGEN_DIR)/examples_page.adoc
85+
pip3 install -r $(DOXYGEN_TO_ASCIIDOC_DIR)/requirements.txt
86+
PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR)/.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/index.xml -o $(ASCIIDOC_DOXYGEN_DIR)/all_groups.adoc
87+
PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR)/.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/indexpage.xml -c -o $(ASCIIDOC_DOXYGEN_DIR)/index_doxygen.adoc
88+
PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR)/.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR)/examples_page.xml -c -o $(ASCIIDOC_DOXYGEN_DIR)/examples_page.adoc
8789
python3 $(SCRIPTS_DIR)/postprocess_doxygen_adoc.py $(ASCIIDOC_DOXYGEN_DIR)
88-
-cp $(DOXYGEN_XML_DIR)/*.png $(ASCIIDOC_DOXYGEN_DIR)
90+
-cp $(DOXYGEN_XML_DIR)/*.png $(ASCIIDOC_DOXYGEN_DIR) 2>/dev/null || true
8991

9092
build_doxygen_adoc: $(ASCIIDOC_DOXYGEN_DIR)/index_doxygen.adoc
9193

@@ -94,7 +96,7 @@ clean_doxygen_adoc:
9496
if [ -d $(ASCIIDOC_DOXYGEN_DIR) ]; then $(MAKE) clean_ninja; fi
9597
rm -rf $(ASCIIDOC_DOXYGEN_DIR)
9698

97-
clean_everything: clean_submodules clean_doxygen_html clean
99+
clean_everything: clean_submodules clean_doxygen_xml clean
98100

99101
# AUTO_NINJABUILD contains all the parts of the ninjabuild where the rules themselves depend on other files
100102
$(AUTO_NINJABUILD): $(SCRIPTS_DIR)/create_auto_ninjabuild.py $(DOCUMENTATION_INDEX) $(SITE_CONFIG) | $(BUILD_DIR)

README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Instructions on how to checkout the `documentation` repo, and then install the t
1010

1111
### Checking out the Repository
1212

13-
Install `git` if you don't already have it, and check out the `documentation` repo as follows,
13+
Install `git` if you don't already have it, and check out the `documentation` repo as follows:
1414
```
1515
$ git clone https://github.com/raspberrypi/documentation.git
1616
$ cd documentation
@@ -22,13 +22,13 @@ $ cd documentation
2222

2323
This works on both regular Debian or Ubuntu Linux — and has been tested in a minimal Docker container — and also under Raspberry Pi OS if you are working from a Raspberry Pi.
2424

25-
You can install the necessary dependencies on Linux as follows,
25+
You can install the necessary dependencies on Linux as follows:
2626

2727
```
2828
$ sudo apt install -y ruby ruby-dev python3 python3-pip make ninja-build
2929
```
3030

31-
then add these lines to the bottom of your `$HOME/.bashrc`,
31+
then add these lines to the bottom of your `$HOME/.bashrc`:
3232
```
3333
export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
3434
export PATH="$PATH:$GEM_HOME/bin"
@@ -157,14 +157,20 @@ $ make clean
157157

158158
### Building with Doxygen
159159

160-
If you want to build the Pico C SDK Doxygen documentation alongside the main documentation site you can do so with,
160+
If you want to build the Pico C SDK Doxygen documentation alongside the main documentation site you will need to install some additional dependencies:
161+
162+
```
163+
$ sudo apt install -y cmake gcc-arm-none-eabi doxygen graphviz
164+
```
165+
166+
and then you can build the documentation with:
161167

162168
```
163169
$ make build_doxygen_adoc
164170
$ make
165171
```
166172

167-
and clean up afterwards by using,
173+
You clean up afterwards by using:
168174

169175
```
170176
$ make clean_everything

documentation/asciidoc/computers/camera/rpicam_still.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ First, create a directory where you can store your time lapse photos:
118118
$ mkdir timelapse
119119
----
120120

121-
Run the following command to create a time lapse over 30 seconds, recording a photo every two seconds, saving output into `image0001.jpg` through `image0014.jpg`:
121+
Run the following command to create a time lapse over 30 seconds, recording a photo every two seconds, saving output into `image0000.jpg` through `image0013.jpg`:
122122

123123
[source,console]
124124
----

documentation/asciidoc/computers/configuration/device-tree.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -824,7 +824,7 @@ The loading of overlays at runtime is a recent addition to the kernel, and at th
824824
[[part3.6]]
825825
==== Supported overlays and parameters
826826

827-
Please refer to the https://github.com/raspberrypi/firmware/blob/master/boot/firmware/overlays/README[README] file found alongside the overlay `.dtbo` files in `/boot/firmware/overlays`. It is kept up-to-date with additions and changes.
827+
For a list of supported overlays and parameters, see the https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README[README] file found alongside the overlay `.dtbo` files in `/boot/firmware/overlays`. It is kept up-to-date with additions and changes.
828828

829829
[[part4]]
830830
=== Firmware parameters

documentation/asciidoc/computers/processors/bcm2712.adoc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
== BCM2712
22

3-
Broadcom BCM2712 is the 16nm application processor at the heart of Raspberry Pi 5. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products.
3+
Broadcom BCM2712 is the 16nm application processor at the heart of Raspberry Pi 5. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products. 4GB and 8GB Raspberry Pi 5 models use the BCM2712**C1** stepping.
44

5-
Built around a quad-core Arm Cortex-A76 CPU cluster, clocked at up to 2.4GHz, with 512KB per-core L2 caches and a 2MB shared L3 cache, it integrates an improved 12-core VideoCore VII GPU; a hardware video scaler and HDMI controller capable of driving dual 4Kp60 displays; and a Raspberry Pi-developed HEVC decoder and Image Signal Processor. A 32-bit LPDDR4X memory interface provides up to 17GB/s of memory bandwidth, while x1 and x4 PCI Express interfaces support high-bandwidth external peripherals; on Raspberry Pi 5 the latter is used to connect to the Raspberry Pi RP1 south bridge, which provides the bulk of the external-facing I/O functionality on the platform.
5+
Built around a quad-core Arm Cortex-A76 CPU cluster, clocked at up to 2.4GHz, with 512KB per-core L2 caches and a 2MB shared L3 cache, it integrates an improved 12-core VideoCore VII GPU; a hardware video scaler and HDMI controller capable of driving dual 4Kp60 displays; and a Raspberry Pi-developed HEVC decoder and Image Signal Processor. A 32-bit LPDDR4X memory interface provides up to 17GB/s of memory bandwidth, while ×1 and ×4 PCI Express interfaces support high-bandwidth external peripherals; on Raspberry Pi 5 the latter is used to connect to the Raspberry Pi RP1 south bridge, which provides the bulk of the external-facing I/O functionality on the platform.
66

77
Headline features include:
88

@@ -23,4 +23,8 @@ Headline features include:
2323
** H264 1080p60 decode ~50–60% of CPU
2424
** H264 1080p30 encode (from ISP) ~30–40% CPU
2525
26-
In aggregate, the new features present in BCM2712 deliver a performance uplift of 2-3x over Raspberry Pi 4 for common CPU or I/O-intensive use cases.
26+
In aggregate, the new features present in BCM2712 deliver a performance uplift of 2-3× over Raspberry Pi 4 for common CPU or I/O-intensive use cases.
27+
28+
=== BCM2712D0
29+
30+
The **D0** stepping of BCM2712 removes unused functionality from BCM2712C1. There is no functional difference between the C1 and D0 steppings. Physically, the packages use the same amount of space.

documentation/asciidoc/computers/raspberry-pi/introduction.adoc

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,10 @@ a|
174174
^.^a|
175175
.Raspberry Pi 5
176176
image::images/5.jpg[alt="Raspberry Pi 5"]
177-
| xref:processors.adoc#bcm2712[BCM2712]
177+
| xref:processors.adoc#bcm2712[BCM2712] (2GB version uses xref:processors.adoc#bcm2712[BCM2712D0])
178178
a|
179+
2GB
180+
179181
4GB
180182

181183
8GB | 40-pin GPIO header
@@ -333,10 +335,6 @@ Models with the *H* suffix have header pins pre-soldered to the GPIO header. Mod
333335
|===
334336
| Model | SoC | Memory | Storage | GPIO | Wireless Connectivity
335337

336-
a|
337-
.Raspberry Pi Pico 2
338-
image::images/pico-2.png[alt="Raspberry Pi Pico 2"]
339-
| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520KB | 2MB | 40-pin GPIO header (unpopulated) ^| none
340338
a|
341339
.Raspberry Pi Pico
342340
image::images/pico.png[alt="Raspberry Pi Pico"]
@@ -359,6 +357,10 @@ image::images/pico-wh.png[alt="Raspberry Pi Pico WH"]
359357
a|
360358
* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s)
361359
* Bluetooth 5.2, Bluetooth Low Energy (BLE)
360+
a|
361+
.Raspberry Pi Pico 2
362+
image::images/pico-2.png[alt="Raspberry Pi Pico 2"]
363+
| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520KB | 2MB | 40-pin GPIO header (unpopulated) ^| none
362364

363365
|===
364366

0 commit comments

Comments
 (0)