Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp19362755rwd; Wed, 28 Jun 2023 08:21:14 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6772UZ1o6zqrqJ09Eyb3CqNszDxWUIBVz+bk56VI8rV98O0ujL3WLWCkrQkCQ+M24Verhm X-Received: by 2002:a2e:99c5:0:b0:2b6:9b44:8d06 with SMTP id l5-20020a2e99c5000000b002b69b448d06mr7577886ljj.43.1687965674063; Wed, 28 Jun 2023 08:21:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687965674; cv=none; d=google.com; s=arc-20160816; b=tETMJhwzbJ2XKbDljsabJPqqOoGnuHUFK6j3Vghlj88ofBxP6lwczZ6va2gLsxAnhY 9WxhA8ykJ7jbIQUoJ4r9uUm0N16a8Rv2Gh78QpAc1CKUkEBO/LFUFQh/ndOuKxcyAFpD /9/+KvHZzyndjTDeCI+NJeIPiuIv4ZXGesTL5i5WYwI6Vv6/rYayGABe3xZ2xVFnx9qZ QIpvHItWUNZSAkZD6Ydt7bBeapdL1zhoplbQnwDe20SnhJ93a96FCGYg5gs5XF01ozAb +J+85jvVNgRXYcxrUf+XvjCMojDZ3WovJLKdP5AXY8YMFH+Jni+j9XTZ2JJkcMEs6uCq 7Qjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature; bh=9/0nNN44VNRNUJVhh4K+B/77Q53o4u445deZJq878Zg=; fh=5zA4TmeVvGdsXpBsebGHI/MzCWpGwbrTnaeiMUbK9rg=; b=sNkPeNAB4fgEZDH39gmcdhw1FowMErZ5n3SgNL0ZUMWl6vPvXt4xFAJMpvrRL8nlzH 5ErTIk+bHdUt7tYgS09MsbObnU0JciAGSlDZ1MhnNZDSE8hFgcuNyehTkD75qfMKkYFN IWoulk31aDeiFWkxrrcz6MLBVQ391Bk6f8y1MrWQeUGN+b+UcQuFNi13b9FBVwPwhJoZ JAApfLSt9u6jdWfhKpLdlD3KB2OSNltISUq7AShpvKQUiSNqrBBm5NrTaORejWe8pyCC tVb/r6MbqgI+YbGKoUeqf9wjSh6viwdKgD2jUTL+3EGSUZOO4d56kNXz+AmvndcNrI+s 09hw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@baylibre-com.20221208.gappssmtp.com header.s=20221208 header.b="3U/AqUXH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y27-20020a170906071b00b0098dfb10f3a6si5231024ejb.107.2023.06.28.08.20.48; Wed, 28 Jun 2023 08:21:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@baylibre-com.20221208.gappssmtp.com header.s=20221208 header.b="3U/AqUXH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229647AbjF1OyW (ORCPT + 99 others); Wed, 28 Jun 2023 10:54:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229652AbjF1OyU (ORCPT ); Wed, 28 Jun 2023 10:54:20 -0400 Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16028198D for ; Wed, 28 Jun 2023 07:54:18 -0700 (PDT) Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-4fb7b2e3dacso4979575e87.0 for ; Wed, 28 Jun 2023 07:54:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20221208.gappssmtp.com; s=20221208; t=1687964056; x=1690556056; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=9/0nNN44VNRNUJVhh4K+B/77Q53o4u445deZJq878Zg=; b=3U/AqUXHlkLWMESSviAmOFThRvVcswBGYbBOWKK59lj1GZ2VqgQ1+pSZko0dtzN7UP Ca7Aio6JPmkKxeQi8G4zYUDlNZmWxxWurWQduxodhFykzHp5qF/t5qpxLP4ZyyZBeyhH ZP8RRglbiprZPTTaA4iGl3+yGE9fOZ2dS+Ch4Xm+ysB7yIR8g8dT1BqDqbwjt/9F4BeN NDjVPJlnTXwtg2ATTLDUEMiKxFDkDtSOiAo7HkspOVOTz1cLdgZoULtjtI5AEgY7H2Ew 1Mh6lE0Lgr1B4aNyF8rjQYpzYhA8jD9/McHP9A71ucdr594dMUZQFOrI1aIfs14UKod2 cxWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687964056; x=1690556056; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9/0nNN44VNRNUJVhh4K+B/77Q53o4u445deZJq878Zg=; b=YYt39EZmxa6dlHa71F6L7k9wZa2uYEcOXHETSKJuI1VtP35c4aIsdbkPISzN7xIgh6 0uLJloFDHnPH7oSUGIVNrRA65lsCQdM6g4OUzvMV0D28BNLDFZnbKZiViPWHrlZv3ksX wKy/1nOvLjeThG1KpzSoe6IW0bAdV8xBXu2z1mKxB5iv/C5UeAbG+klKZBOhgd+RncaP RqoUftFjqnMQv58oXWiqSZc7LQ7zY8wn+0v98xNj356uK81ap05XVn26yHRZRCJAChPF PJC65LHzDo/PBXvUC3U1bnsj1a2nSSB0cezy2TECW8Ny0dgABDUX5J5lyHGev6DoGqOF VPVw== X-Gm-Message-State: AC+VfDzFsxY0TJ+lUPXk0f4lt06rx14f+JF4upYzx/azkG4QjcppJ477 w1OJ2Wp45AqmN0iyvLJx1xb4Vg== X-Received: by 2002:a19:431c:0:b0:4f9:58bd:9e5a with SMTP id q28-20020a19431c000000b004f958bd9e5amr10705065lfa.27.1687964056264; Wed, 28 Jun 2023 07:54:16 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:55f:21e0:9e19:4376:dea6:dbfa]) by smtp.gmail.com with ESMTPSA id k16-20020a05600c0b5000b003fba6709c68sm4846278wmr.47.2023.06.28.07.54.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 07:54:15 -0700 (PDT) From: Julien Stephan Cc: Julien Stephan , Andy Hsieh , AngeloGioacchino Del Regno , Conor Dooley , daoyuan huang , devicetree@vger.kernel.org, Florian Sylvestre , Hans Verkuil , Krzysztof Kozlowski , Laurent Pinchart , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-media@vger.kernel.org, Louis Kuo , Matthias Brugger , Mauro Carvalho Chehab , Moudy Ho , Phi-bang Nguyen , Ping-Hsun Wu , Rob Herring , Sumanth Korikkar , Vasily Gorbik Subject: [PATCH 0/4] Add Mediatek ISP3.0 Date: Wed, 28 Jun 2023 16:52:51 +0200 Message-ID: <20230628145412.1610260-1-jstephan@baylibre.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series add the support of the Mediatek ISP3.0 found on some Mediatek SoCs such as the mt8365. The driver is divided into 2 parts: * SENINF: the sensor interface * CAMSV: this driver provides a path to bypass the SoC ISP so that image data coming from the SENINF can go directly into memory without any image processing. This allows the use of an external ISP or camera sensor directly. The SENINF has several inputs connected to phys. The PHY module is available here: https://lore.kernel.org/all/20230620121928.1231745-1-jstephan@baylibre.com/ The SENINF driver is based on previous work done by Louis Kuo available as an RFC here: https://lore.kernel.org/all/20200708104023.3225-1-louis.kuo@mediatek.com/ Louis Kuo (2): dt-bindings: media: add mediatek ISP3.0 sensor interface media: platform: mediatek: isp_30: add mediatek ISP3.0 sensor interface Phi-bang Nguyen (2): dt-bindings: media: add mediatek ISP3.0 camsv media: platform: mediatek: isp_30: add mediatek ISP3.0 camsv .../bindings/media/mediatek,mt8365-camsv.yaml | 113 ++ .../media/mediatek,mt8365-seninf.yaml | 301 ++++ MAINTAINERS | 10 + drivers/media/platform/mediatek/Kconfig | 1 + drivers/media/platform/mediatek/Makefile | 1 + drivers/media/platform/mediatek/isp/Kconfig | 2 + drivers/media/platform/mediatek/isp/Makefile | 3 + .../platform/mediatek/isp/isp_30/Kconfig | 35 + .../platform/mediatek/isp/isp_30/Makefile | 4 + .../mediatek/isp/isp_30/camsv/Makefile | 7 + .../mediatek/isp/isp_30/camsv/mtk_camsv.c | 334 ++++ .../mediatek/isp/isp_30/camsv/mtk_camsv.h | 200 +++ .../isp/isp_30/camsv/mtk_camsv30_hw.c | 474 +++++ .../isp/isp_30/camsv/mtk_camsv30_regs.h | 59 + .../isp/isp_30/camsv/mtk_camsv_video.c | 781 +++++++++ .../mediatek/isp/isp_30/seninf/Makefile | 5 + .../mediatek/isp/isp_30/seninf/mtk_seninf.c | 1559 +++++++++++++++++ .../isp/isp_30/seninf/mtk_seninf_reg.h | 99 ++ 18 files changed, 3988 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8365-camsv.yaml create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml create mode 100644 drivers/media/platform/mediatek/isp/Kconfig create mode 100644 drivers/media/platform/mediatek/isp/Makefile create mode 100644 drivers/media/platform/mediatek/isp/isp_30/Kconfig create mode 100644 drivers/media/platform/mediatek/isp/isp_30/Makefile create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/Makefile create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv.c create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv.h create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv30_hw.c create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv30_regs.h create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv_video.c create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/Makefile create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/mtk_seninf.c create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/mtk_seninf_reg.h -- 2.41.0