Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp539146rdb; Fri, 17 Nov 2023 06:11:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IFU0/TT/9llJMTBoOEw3tREdcOj46QrTiwgJz8cjuv8eKHfF+ng2E/+39A9hZCzCRbxS3YU X-Received: by 2002:a05:6830:148f:b0:6d5:4daf:9894 with SMTP id s15-20020a056830148f00b006d54daf9894mr12769956otq.7.1700230299145; Fri, 17 Nov 2023 06:11:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700230299; cv=none; d=google.com; s=arc-20160816; b=ttaFFrZMb7xyomQ2ZFucYXOvZCcdmvNfxTq6dHCfJ6yN5D0d/szzsHC4bvOPD9Y0px 57wIQQAu76tAY6HysVv00tap3+t5OGwbAFPopnPdmpTNUeKo565ENQrA07UCrGq+gz25 iLA7SLYX7gv67anowg0m8VADqPtF5x7SVtUY3nw3Nic1IQKJC+MDznu8NFaJ7cnly/aF 757mJqXlic6DzavdfurgTX7b/clQQPFFsbK7xi3+6KSJU6/GoV6W4f0210KC097vqkIL J9YTBERspLi9VbO6ixy+PAzTuuCdqvEca4+Xh83/GfL7kNb1ANqVuRk6Te55ochcHpf3 a75Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=DvLa8pJhQbHOBH0vV1WMFVSBjIu3NO1za93Jjtlh6cg=; fh=IQDCuk9gQXf4vFw9Pfcc5kZ4V5/qYTt4TJaj3gmQ5Xw=; b=ZtP16XJi63Br9QsA8VLnvpKpVi8OtFUVHMzgONbFNDELqYiPN5dOJboGGXnZM9ThTo xztWlKVVagBBL95IKwWRRNQnJovL7HZa++r4wiF12iZH38/yS+SVWf0KJbeWgU8/nK/N K0j5U+vjni+XNx6zob4P3JPEmVcWSLyFUXhXAKVJJ2c6Fw89NenlHW46UU90leLW3k2l sE1uk4Vo4Unarxxrx3op8bYnJt9HKFFosyHd145LuOoAljcFFB4LveMZRPhhHaMpE4Ty 0fSaiJ28dVI2B/UtWfry6XrbWOtubhBmQo2bGEGkUDW5Bp6UZV5XCyxcJF3g49Qi9mC6 orXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b="7/JHZJmS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id p23-20020a9d76d7000000b006d635de5172si587276otl.186.2023.11.17.06.11.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 06:11:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b="7/JHZJmS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 773E4802F651; Fri, 17 Nov 2023 06:11:27 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232030AbjKQOKn (ORCPT + 99 others); Fri, 17 Nov 2023 09:10:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231459AbjKQOKi (ORCPT ); Fri, 17 Nov 2023 09:10:38 -0500 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 571A2D5C; Fri, 17 Nov 2023 06:10:31 -0800 (PST) Received: from pps.filterd (m0369458.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 3AH8pFsi005476; Fri, 17 Nov 2023 15:10:10 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=selector1; bh=DvLa8pJ hQbHOBH0vV1WMFVSBjIu3NO1za93Jjtlh6cg=; b=7/JHZJmSatnt8i5XoUv23Ga SyVIe1Er28Kzkj0BlyiVxLXGtW0/KiISJ5HWwUgT364DK4WrVfQDOfsMUXiX7541 a/Eg9ZJ0Ul40gD9TjFTnaaQy2Jp3kkCm9q9XV7dacW07i01/XQxrstXftCt1FCzA BzJzcOzW+Usr5G7t4GJCz59b5oTsICK/1SaaSEqLFLZ8Pc/CneXOpehJRDoB09Y8 7IKUvS12yfz3D3EmX+rYyqFH2+MnTvycgGkMoxpHaZ+JDUG18Ulb9y9ei4yu0Ecl enuVqVj8VxoCofmESZdpttNv2ZtYVou5pHQ48QvI/MgKbzqavtIqj6/mrvT8y7Q= = Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3ud8c5g31d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 17 Nov 2023 15:10:10 +0100 (CET) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 9162910002A; Fri, 17 Nov 2023 15:10:09 +0100 (CET) Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 5ECC622F7C0; Fri, 17 Nov 2023 15:10:09 +0100 (CET) Received: from localhost (10.129.178.213) by SHFDAG1NODE1.st.com (10.75.129.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 17 Nov 2023 15:10:09 +0100 From: Alain Volmat To: Alain Volmat , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley CC: Sakari Ailus , Jacopo Mondi , Kieran Bingham , Pavel Machek , Rob Herring , , , Subject: [PATCH v4 0/3] media: i2c: gc2145: GC2145 sensor support Date: Fri, 17 Nov 2023 15:09:39 +0100 Message-ID: <20231117140947.540669-1-alain.volmat@foss.st.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.129.178.213] X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To SHFDAG1NODE1.st.com (10.75.129.69) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-17_12,2023-11-17_01,2023-05-22_02 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 17 Nov 2023 06:11:27 -0800 (PST) This serie adds support for the GalaxyCore GC2145 sensor. Initialization is based on scripts provided by GalaxyCore, allowing 3 fixed configurations supported for the time being. Minimum controls have been added in order to allow it to be successfully used with libcamera and dcmipp driver (under review) on STM32MP13 platform. The sensor also supports Bayer formats which will be added later on. v4: - bindings: add link-frequencies & correct description - driver: add link-frequency ctrl and fix pixelrate and check for link-frequency dt properties - driver: correct wording / email / add datasheet link v3: - fix copyright year - add more gc2145_ func or variable prefixes - removal of colorspace within struct gc2145_format - use 1X16 formats since driver is supporting CSI-2 interface only - use msleep instead of usleep_range - add pm_runtime_ last_busy & autosuspend handling - only start streaming AFTER applying ctrls - correct RGB565 format to generate _LE instead of _BE - perform pm_runtime configuration prior to v4l2_async_register_subdev_sensor - remove frame_interval handling and expose HBLANK/VBLANK ctrls instead v2: - split vendor-prefixes update into a separate commit - correction into dt-bindings (description, const i2c address, lowcase of supplies, node naming - correct KConfig (avoid VIDEO_V4L2_SUBDEV_API, V4L2_FWNODE and add V4L2_CCI_I2C) - usage of v4l2-cci framework for accessing to device registers - correction in power-on / power-off sequences and update usleep_range delay - detail MIPI configuration and stop register access to stop streaming - removal of SYSTEM_SLEEP_PM_OPS (and streaming variable) - various small fixes, typo, oneline functions - removal of useless HBLANK control considereing that RAW isn't supported for the time being - removal of RAW parts - usage of dev_err_probe Alain Volmat (3): dt-bindings: vendor-prefixes: Add prefix for GalaxyCore Inc. dt-bindings: media: i2c: add galaxycore,gc2145 dt-bindings media: i2c: gc2145: Galaxy Core GC2145 sensor support .../bindings/media/i2c/galaxycore,gc2145.yaml | 113 ++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + MAINTAINERS | 8 + drivers/media/i2c/Kconfig | 10 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/gc2145.c | 1446 +++++++++++++++++ 6 files changed, 1580 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/galaxycore,gc2145.yaml create mode 100644 drivers/media/i2c/gc2145.c -- 2.25.1