diff --git a/include/libcamera/ipa/rkisp1.mojom b/include/libcamera/ipa/rkisp1.mojom
index 043ad27ea199..608ba82a0091 100644
--- a/include/libcamera/ipa/rkisp1.mojom
+++ b/include/libcamera/ipa/rkisp1.mojom
@@ -8,6 +8,14 @@ module ipa.rkisp1;
 
 import "include/libcamera/ipa/core.mojom";
 
+/*
+ * Hardware revisions in rkisp1-config.h (enum rkisp1_cif_isp_version) start at
+ * 10 and increment sequentially. Add a namespace starting at 0x80000000 for
+ * devices not cover by the kernel rkisp1 implementation but still supported
+ * by the IPA.
+ */
+const uint32 HwRevisionExternalRppX1 = 0x80000001;
+
 struct IPAConfigInfo {
        libcamera.IPACameraSensorInfo sensorInfo;
        libcamera.ControlInfoMap sensorControls;
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index cf66d5553dcd..14600251dfe5 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -113,6 +113,14 @@ const IPAHwSettings ipaHwSettingsV12{
        false,
 };
 
+const IPAHwSettings ipaHwSettingsRPPX1{
+       RKISP1_CIF_ISP_AE_MEAN_MAX_V10,
+       RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12,
+       RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10,
+       RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10,
+       false,
+};
+
 /* List of controls handled by the RkISP1 IPA */
 const ControlInfoMap::Map rkisp1Controls{
        { &controls::DebugMetadataEnable, ControlInfo(false, true, false) },
@@ -147,6 +155,9 @@ int IPARkISP1::init(const IPASettings &settings, unsigned int hwRevision,
        case RKISP1_V12:
                context_.hw = &ipaHwSettingsV12;
                break;
+       case HwRevisionExternalRppX1:
+               context_.hw = &ipaHwSettingsRPPX1;
+               break;
        default:
                LOG(IPARkISP1, Error)
                        << "Hardware revision " << hwRevision
