[PATCH 2/2] media: v4l: fwnode: parse horizontal/vertical flip properties

From: Fabian Pfitzner
Date: Wed Jul 23 2025 - 05:00:06 EST


There are cameras containing a mirror on their optical path e. g. when
mounted upside down.

Introduce two options to change the device's flip property via device tree.

As there is already support for the panel-common driver [1], add it for cameras as well.

[1] commit 3c0ecd83eee9 ("dt-bindings: display: panel: Move flip properties to panel-common")

Signed-off-by: Fabian Pfitzner <f.pfitzner@xxxxxxxxxxxxxx>
---
drivers/media/v4l2-core/v4l2-fwnode.c | 3 +++
include/media/v4l2-fwnode.h | 4 ++++
2 files changed, 7 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
index cb153ce42c45d..7fd0936fbda80 100644
--- a/drivers/media/v4l2-core/v4l2-fwnode.c
+++ b/drivers/media/v4l2-core/v4l2-fwnode.c
@@ -845,6 +845,9 @@ int v4l2_fwnode_device_parse(struct device *dev,
dev_dbg(dev, "device rotation: %u\n", val);
}

+ props->hflip = fwnode_property_read_bool(fwnode, "flip-horizontal");
+ props->vflip = fwnode_property_read_bool(fwnode, "flip-vertical");
+
return 0;
}
EXPORT_SYMBOL_GPL(v4l2_fwnode_device_parse);
diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
index f7c57c7765898..f8a51ab8317ae 100644
--- a/include/media/v4l2-fwnode.h
+++ b/include/media/v4l2-fwnode.h
@@ -75,10 +75,14 @@ enum v4l2_fwnode_orientation {
* struct v4l2_fwnode_device_properties - fwnode device properties
* @orientation: device orientation. See &enum v4l2_fwnode_orientation
* @rotation: device rotation
+ * @hflip: device horizontal flip
+ * @vflip: device vertical flip
*/
struct v4l2_fwnode_device_properties {
enum v4l2_fwnode_orientation orientation;
unsigned int rotation;
+ bool hflip;
+ bool vflip;
};

/**

--
2.39.5