This was discovered by writing a new camera driver and wondering, why
hsync/vsync polarity setting behaves in reverse to what would be
expected. Verified by looking at the actual signals and the SoC
user manual.

Fixes: 5cc7522d8965 ("media: sun6i: Add support for Allwinner CSI V3s")
Signed-off-by: Ondrej Jirman <meg...@megous.com>
---
 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c 
b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
index f17e5550602d..98bbcca59a90 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
@@ -417,12 +417,12 @@ static void sun6i_csi_setup_bus(struct sun6i_csi_dev 
*sdev)
                if (flags & V4L2_MBUS_FIELD_EVEN_LOW)
                        cfg |= CSI_IF_CFG_FIELD_POSITIVE;
 
-               if (flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)
+               if (flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH)
                        cfg |= CSI_IF_CFG_VREF_POL_POSITIVE;
-               if (flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)
+               if (flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH)
                        cfg |= CSI_IF_CFG_HREF_POL_POSITIVE;
 
-               if (flags & V4L2_MBUS_PCLK_SAMPLE_RISING)
+               if (flags & V4L2_MBUS_PCLK_SAMPLE_FALLING)
                        cfg |= CSI_IF_CFG_CLK_POL_FALLING_EDGE;
                break;
        case V4L2_MBUS_BT656:
-- 
2.24.0

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/20191128020259.1338188-1-megous%40megous.com.

Reply via email to