On 08/08/2025 10:27, Bryan O'Donoghue wrote:
On 08/08/2025 10:03, Frederic Stuyk wrote:
Querying the sensor orientation metadata shows:
$ v4l2-ctl -d /dev/v4l-subdev6 -C camera_sensor_rotation
camera_sensor_rotation: 0
This control is read-only and cannot be changed.
Register is defined but not used.
deckard$ grep ROT drivers/media/i2c/ov02c10.c
#define OV02C10_ROTATE_CONTROL CCI_REG8(0x3820)
#define OV02C10_CONFIG_ROTATE 0x18
::set_ctrl()
case V4L2_CID_HFLIP:
case V4L2_CID_VFLIP:
cci_write(ov02c10->regmap, OV02C10_ROTATE_CONTROL,
ov02c10->hflip->val | ov02c10->vflip->val << 1, &ret);
::init_controls()
ov02c10->hflip = v4l2_ctrl_new_std(ctrl_hdlr, &ov02c10_ctrl_ops,
V4L2_CID_HFLIP, 0, 1, 1, 0);
if (ov02e10->hflip)
ov02e10->hflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
ov02c10->vflip = v4l2_ctrl_new_std(ctrl_hdlr, &ov02c10_ctrl_ops,
V4L2_CID_VFLIP, 0, 1, 1, 0);
if (ov02c10->vflip)
ov02c10->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
Something like that should work.
I think Hans said the ACPI tables provide the orientation for the sensor.
---
bod
0x3820: default 0xa0
bit5: vflip_blc_0
bit4: vflip_0
bit3: hmirror_0
bit2: hbin4_0
bit1: hbin2_0
bit0: vbinf_0
So you want to set bit3 = 0x08
---
bod