diff --git a/src/ipa/rpi/controller/rpi/awb_nn.cpp b/src/ipa/rpi/controller/rpi/awb_nn.cpp
index c382f63d5f21..6543d8cb9b69 100644
--- a/src/ipa/rpi/controller/rpi/awb_nn.cpp
+++ b/src/ipa/rpi/controller/rpi/awb_nn.cpp
@@ -47,7 +47,7 @@ namespace RPiController {
 
 struct AwbNNConfig {
 	AwbNNConfig() = default;
-	int read(const libcamera::YamlObject &params, AwbConfig &config);
+	int read(const libcamera::ValueNode &params, AwbConfig &config);
 
 	/* An empty model will check default locations for model.tflite */
 	std::string model;
@@ -67,7 +67,7 @@ public:
 	~AwbNN();
 	char const *name() const override;
 	void initialise() override;
-	int read(const libcamera::YamlObject &params) override;
+	int read(const libcamera::ValueNode &params) override;
 
 protected:
 	void doAwb() override;
@@ -86,7 +86,7 @@ private:
 	std::unique_ptr<tflite::Interpreter> interpreter_;
 };
 
-int AwbNNConfig::read(const libcamera::YamlObject &params, AwbConfig &config)
+int AwbNNConfig::read(const libcamera::ValueNode &params, AwbConfig &config)
 {
 	model = params["model"].get<std::string>("");
 	minTemp = params["min_temp"].get<float>(2800.0);
@@ -146,7 +146,7 @@ char const *AwbNN::name() const
 	return NAME;
 }
 
-int AwbNN::read(const libcamera::YamlObject &params)
+int AwbNN::read(const libcamera::ValueNode &params)
 {
 	int ret;
 
