diff --git a/rtl/embedded/Makefile b/rtl/embedded/Makefile
index eecc29b947..d0122b4d62 100644
--- a/rtl/embedded/Makefile
+++ b/rtl/embedded/Makefile
@@ -548,6 +548,7 @@ PROFILEUNIT=DOSApi.Profile
 RASPI2UNIT=EmbeddedApi.raspi2
 RASPI3UNIT=EmbeddedApi.raspi3
 RASPIUARTUNIT=EmbeddedApi.raspiuart
+RP2040UNIT=EmbeddedApi.rp2040
 RTLCONSTSUNIT=System.RtlConsts
 SAM3X8EUNIT=EmbeddedApi.sam3x8e
 SAMD51P19AUNIT=EmbeddedApi.samd51p19a
@@ -795,6 +796,7 @@ PROFILEUNIT=profile
 RASPI2UNIT=raspi2
 RASPI3UNIT=raspi3
 RASPIUARTUNIT=raspiuart
+RP2040UNIT=rp2040
 RTLCONSTSUNIT=rtlconsts
 SAM3X8EUNIT=sam3x8e
 SAMD51P19AUNIT=samd51p19a
diff --git a/rtl/embedded/arm/rp2040.pp b/rtl/embedded/arm/rp2040.pp
index 2d9391b1cc..74cfa397f8 100644
--- a/rtl/embedded/arm/rp2040.pp
+++ b/rtl/embedded/arm/rp2040.pp
@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit rp2040;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 {$PACKRECORDS C}
 {$GOTO ON}
diff --git a/rtl/inc/Makefile.rtl b/rtl/inc/Makefile.rtl
index d0f33ff434..c60f9cd26d 100644
--- a/rtl/inc/Makefile.rtl
+++ b/rtl/inc/Makefile.rtl
@@ -190,6 +190,7 @@ PROFILEUNIT=DOSApi.Profile
 RASPI2UNIT=EmbeddedApi.raspi2
 RASPI3UNIT=EmbeddedApi.raspi3
 RASPIUARTUNIT=EmbeddedApi.raspiuart
+RP2040UNIT=EmbeddedApi.rp2040
 RTLCONSTSUNIT=System.RtlConsts
 SAM3X8EUNIT=EmbeddedApi.sam3x8e
 SAMD51P19AUNIT=EmbeddedApi.samd51p19a
diff --git a/rtl/namespaced/embedded/arm/EmbeddedApi.rp2040.pp b/rtl/namespaced/embedded/arm/EmbeddedApi.rp2040.pp
new file mode 100644
index 0000000000..d7ed700790
--- /dev/null
+++ b/rtl/namespaced/embedded/arm/EmbeddedApi.rp2040.pp
@@ -0,0 +1,3 @@
+unit EmbeddedApi.rp2040;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i rp2040.pp}
diff --git a/utils/dotutils/known.txt b/utils/dotutils/known.txt
index 9ca84c6dd4..8742abec31 100644
--- a/utils/dotutils/known.txt
+++ b/utils/dotutils/known.txt
@@ -2554,6 +2554,7 @@ profile=DOSApi
 raspi2=EmbeddedApi
 raspi3=EmbeddedApi
 raspiuart=EmbeddedApi
+rp2040=EmbeddedApi
 RtlConsts=System
 sam3x8e=EmbeddedApi
 samd51p19a=EmbeddedApi