From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B976C04AB3 for ; Fri, 10 May 2019 15:30:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 544E1217D7 for ; Fri, 10 May 2019 15:30:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727623AbfEJPa5 (ORCPT ); Fri, 10 May 2019 11:30:57 -0400 Received: from smtp1.de.adit-jv.com ([93.241.18.167]:54416 "EHLO smtp1.de.adit-jv.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727144AbfEJPa4 (ORCPT ); Fri, 10 May 2019 11:30:56 -0400 Received: from localhost (smtp1.de.adit-jv.com [127.0.0.1]) by smtp1.de.adit-jv.com (Postfix) with ESMTP id A1AC63C00D1; Fri, 10 May 2019 17:30:54 +0200 (CEST) Received: from smtp1.de.adit-jv.com ([127.0.0.1]) by localhost (smtp1.de.adit-jv.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9nHt6qMwHxly; Fri, 10 May 2019 17:30:47 +0200 (CEST) Received: from HI2EXCH01.adit-jv.com (hi2exch01.adit-jv.com [10.72.92.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by smtp1.de.adit-jv.com (Postfix) with ESMTPS id 91B4A3C004C; Fri, 10 May 2019 17:30:47 +0200 (CEST) Received: from vmlxhi-121.adit-jv.com (10.72.93.65) by HI2EXCH01.adit-jv.com (10.72.92.24) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 10 May 2019 17:30:47 +0200 From: Michael Rodin To: , , CC: , , Subject: [PATCH] media: i2c: adv748x: initialize bit 7 of csi_tx_top_reg_1f Date: Fri, 10 May 2019 17:30:40 +0200 Message-ID: <1557502240-16274-1-git-send-email-mrodin@de.adit-jv.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.72.93.65] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to pages 188 and 193 of the "UG-747: ADV7481 Reference Manual" [1], the bit 7 (FRAMENUMBER_INTERLACED) of the register csi_tx_top_reg_1f "sets association of frame number in the FS and FE packets with the F bit in the EAV/SAV codes". EAV/SAV codes are defined in [2]. According to [2]: F=0 for field 1 F=1 for field 2 The bit FRAMENUMBER_INTERLACED is not initialized anywhere in the current version of the adv748x driver and therefore it is always 0, which is the default value according to [1]. Therefore the current association of field number from EAV/SAV code with the frame number in CSI FS and FE packets is: field 1 (top field for PAL, bottom field for NTSC) -> CSI frame number 2 field 2 (bottom field for PAL, top field for NTSC) -> CSI frame number 1 But this breaks frame number based field detection of top/bottom fields in CSI receivers. Therefore it makes sense to initialize the FRAMENUMBER_INTERLACED bit to 1 so the association is as expected: field 1 -> frame number 1 field 2 -> frame number 2 [1] https://www.analog.com/en/products/adv7481.html [2] https://www.itu.int/rec/R-REC-BT.656-5-200712-I/en Suggested-by: Steve Longerbeam Signed-off-by: Michael Rodin --- drivers/media/i2c/adv748x/adv748x-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c index f57cd77..4dd1a13 100644 --- a/drivers/media/i2c/adv748x/adv748x-core.c +++ b/drivers/media/i2c/adv748x/adv748x-core.c @@ -278,6 +278,9 @@ static int adv748x_power_up_tx(struct adv748x_csi2 *tx) usleep_range(1000, 1500); adv748x_write_check(state, page, 0x31, 0x80, &ret); + /* set bit 7 (FRAMENUMBER_INTERLACED) in csi_tx_top_reg_1f */ + adv748x_write_check(state, page, 0x1f, 0x80, &ret); + return ret; } -- 2.7.4