From patchwork Fri Jul 14 01:50:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuji Ishikawa X-Patchwork-Id: 13312866 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 13E28C001DF for ; Fri, 14 Jul 2023 01:57:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=m9SdBZrLipDeU/7RCwIvKUPm0hK9VjKrj4mTteMchlw=; b=Zq0HkHpmAan+Vw 9mwSPpxrO6r/sRshk0ZCWA2AXt3Vz5GTEOvGq136QgVdE16+3l/H57uIeoKIjXlSYtJCKEluZoLTR fmwQ0KrY/ZTAD61DsQYfKp/VWG7zz3QaTxGlvOv9o8am5GdxWtj7tv3S4OGAWzqNhrLBqdFd0QMXu eIFaWB3UugEyskG0+Xrvx96HjnFYr/hBbyPWiLJ3vd9CTH6xyz5AoLpYxQ55GdhUbXwETnz7m0hF+ +ssVB/3/IGVlswcla57TsfKMZcMtOPm9wy3Ec06KfsHb/FQEK2kQLOeCHJuBgP9Nmxb4IMMD0JEUR oqxJ9oXfpQ9gDoEZ4jhQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qK83I-004kSj-0W; Fri, 14 Jul 2023 01:57:00 +0000 Received: from mo-csw1120.securemx.jp ([210.130.202.131] helo=mo-csw.securemx.jp) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qK83D-004kQN-2r for linux-arm-kernel@lists.infradead.org; Fri, 14 Jul 2023 01:56:58 +0000 Received: by mo-csw.securemx.jp (mx-mo-csw1120) id 36E1uMNa1073961; Fri, 14 Jul 2023 10:56:22 +0900 X-Iguazu-Qid: 2rWhW3wiOPi8rJLKeQ X-Iguazu-QSIG: v=2; s=0; t=1689299782; q=2rWhW3wiOPi8rJLKeQ; m=m17nmGlotgXH8iyWhmT40GKkAJum90bq0w1QlwRt/AI= Received: from imx12-a.toshiba.co.jp ([38.106.60.135]) by relay.securemx.jp (mx-mr1122) id 36E1uJFJ2651959 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 14 Jul 2023 10:56:20 +0900 X-SA-MID: 3648359 From: Yuji Ishikawa To: Hans Verkuil , Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nobuhiro Iwamatsu , Mark Brown , Yuji Ishikawa Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 1/5] dt-bindings: media: platform: visconti: Add Toshiba Visconti Video Input Interface Date: Fri, 14 Jul 2023 10:50:55 +0900 X-TSB-HOP2: ON Message-Id: <20230714015059.18775-2-yuji2.ishikawa@toshiba.co.jp> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> References: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230713_185656_196023_0CD988B5 X-CRM114-Status: GOOD ( 14.22 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adds the Device Tree binding documentation that allows to describe the Video Input Interface found in Toshiba Visconti SoCs. Signed-off-by: Yuji Ishikawa Reviewed-by: Nobuhiro Iwamatsu --- Changelog v2: - no change Changelog v3: - no change Changelog v4: - fix style problems at the v3 patch - remove "index" member - update example Changelog v5: - no change Changelog v6: - add register definition of BUS-IF and MPU Changelog v7: - remove trailing "bindings" from commit header message - remove trailing "Device Tree Bindings" from title - fix text wrapping of description - change compatible to visconti5-viif - explicitly define allowed properties for port::endpoint .../bindings/media/toshiba,visconti-viif.yaml | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml diff --git a/Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml b/Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml new file mode 100644 index 000000000..8377f75b3 --- /dev/null +++ b/Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/toshiba,visconti-viif.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Toshiba Visconti5 SoC Video Input Interface + +maintainers: + - Nobuhiro Iwamatsu + +description: |- + Toshiba Visconti5 SoC Video Input Interface (VIIF) receives MIPI CSI2 video + stream, processes the stream with image signal processors (L1ISP, L2ISP), + then stores pictures to main memory. + +properties: + compatible: + const: toshiba,visconti5-viif + + reg: + items: + - description: registers for capture control + - description: registers for CSI2 receiver control + - description: registers for bus interface unit control + - description: registers for Memory Protection Unit + + interrupts: + items: + - description: Sync Interrupt + - description: Status (Error) Interrupt + - description: CSI2 Receiver Interrupt + - description: L1ISP Interrupt + + port: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Input port, single endpoint describing the CSI-2 transmitter. + + properties: + endpoint: + $ref: video-interfaces.yaml# + additionalProperties: false + + required: ["bus-type", "clock-noncontinuous", "link-frequencies", "remote-endpoint"] + + properties: + data-lanes: + description: VIIF supports 2 or 4 data lanes + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 4 + items: + minimum: 1 + maximum: 4 + + clock-lanes: + description: VIIF supports 1 clock lane + const: 0 + + bus-type: true + clock-noncontinuous: true + link-frequencies: true + remote-endpoint: true + +required: + - compatible + - reg + - interrupts + - port + +additionalProperties: false + +examples: + - | + #include + #include + + soc { + #address-cells = <2>; + #size-cells = <2>; + + viif@1c000000 { + compatible = "toshiba,visconti5-viif"; + reg = <0 0x1c000000 0 0x6000>, + <0 0x1c008000 0 0x400>, + <0 0x1c00E000 0 0x1000>, + <0 0x2417A000 0 0x1000>; + interrupts = , + , + , + ; + + port { + #address-cells = <1>; + #size-cells = <0>; + + csi_in0: endpoint { + remote-endpoint = <&imx219_out0>; + bus-type = <4>; + data-lanes = <1 2>; + clock-lanes = <0>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <456000000>; + }; + }; + }; + }; From patchwork Fri Jul 14 01:50:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuji Ishikawa X-Patchwork-Id: 13312869 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 19041C001B0 for ; Fri, 14 Jul 2023 01:57:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AUrk8OLB95gcOw2EChmDJA2X/txsqg69fXHYmMr8bXc=; b=kiZiIeEqC8D0Y4 OwI9orjxHhVe5x8JHGXK//6P2KaLvxU8SbKdBgRhDWCYDVAdhQSMkL78HekOmXV3UimsNz7i9u+wK gkH2Ulol/GXOscB+lSfCtxA4gv7wKVzGTLsstk3b0YEVh76Glsr2s0/SLhwDeIiuwT9UkXO3xezOt mWBjz3Sup3n7vYNTdLj+PKkvjCmBLr3/ZLSETKUlFt82M0Vj2myCQ2AtP3s9/mhuNoAz9KNrF7RhC ZM3BqLLv7b8px5A9Ci77cAUza+QAvcH1ml7zuyCEGmOrqzM5fu5K5PiqC3Ym+18IFKkWzciT7UNxD jZc9qicb+k/OIa3YGzMg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qK83Q-004kVL-05; Fri, 14 Jul 2023 01:57:08 +0000 Received: from mo-csw1120.securemx.jp ([210.130.202.131] helo=mo-csw.securemx.jp) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qK83E-004kQW-2L for linux-arm-kernel@lists.infradead.org; Fri, 14 Jul 2023 01:57:00 +0000 Received: by mo-csw.securemx.jp (mx-mo-csw1120) id 36E1uUNn1074434; Fri, 14 Jul 2023 10:56:30 +0900 X-Iguazu-Qid: 2rWhoCDaNN4EFwXOMT X-Iguazu-QSIG: v=2; s=0; t=1689299790; q=2rWhoCDaNN4EFwXOMT; m=IoJisvljkW6AvEC8JI2DZYaMdOLaHVb5zlnmbs1fADM= Received: from imx2-a.toshiba.co.jp (imx2-a.toshiba.co.jp [106.186.93.35]) by relay.securemx.jp (mx-mr1122) id 36E1uRtt2652240 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 14 Jul 2023 10:56:27 +0900 X-SA-MID: 4467159 From: Yuji Ishikawa To: Hans Verkuil , Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nobuhiro Iwamatsu , Mark Brown , Yuji Ishikawa Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 4/5] documentation: media: add documentation for Toshiba Visconti Video Input Interface driver Date: Fri, 14 Jul 2023 10:50:58 +0900 X-TSB-HOP2: ON Message-Id: <20230714015059.18775-5-yuji2.ishikawa@toshiba.co.jp> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> References: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230713_185657_042700_8FAB1277 X-CRM114-Status: GOOD ( 19.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Added basic description of Video Input Interface driver of Toshiba Visconti architecture. It includes hardware organization, structure of the driver and description of vendor specific V4L2 controls to configure the embedded image signal processor. Signed-off-by: Yuji Ishikawa --- Changelog v3: - Newly add documentation to describe SW and HW Changelog v4: - no change Changelog v5: - no change Changelog v6: - add description of CSI2RX subdevice - add ordering of ioctl(S_FMT) and ioctl(S_EXT_CTRLS) Changelog v7: - no change .../driver-api/media/drivers/index.rst | 1 + .../media/drivers/visconti-viif.rst | 462 ++++++++++++++++++ 2 files changed, 463 insertions(+) create mode 100644 Documentation/driver-api/media/drivers/visconti-viif.rst diff --git a/Documentation/driver-api/media/drivers/index.rst b/Documentation/driver-api/media/drivers/index.rst index c4123a16b..5592bd99a 100644 --- a/Documentation/driver-api/media/drivers/index.rst +++ b/Documentation/driver-api/media/drivers/index.rst @@ -24,6 +24,7 @@ Video4Linux (V4L) drivers sh_mobile_ceu_camera tuners vimc-devel + visconti-viif zoran ccs/ccs diff --git a/Documentation/driver-api/media/drivers/visconti-viif.rst b/Documentation/driver-api/media/drivers/visconti-viif.rst new file mode 100644 index 000000000..fd2480cbd --- /dev/null +++ b/Documentation/driver-api/media/drivers/visconti-viif.rst @@ -0,0 +1,462 @@ +.. SPDX-License-Identifier: GPL-2.0 + +============================================ +Visconti Video Input Interface (VIIF) Driver +============================================ + +Overview +======== + +The Visconti VIIF Hardware +-------------------------- + +The Visconti Video Input Interface (VIIF) hardware is a proprietary videocapture device of Toshiba. +Following function modules are integrated: + +* MIPI CSI2 receiver (CSI2RX) +* L1 Image Signal Processor (L1ISP) + + * Correction, enhancement, adjustment on RAW pictures. + +* L2 Image Signal Processor (L2ISP) + + * Lens distortion correction + * Scaling + * Cropping + +* Video DMAC + + * format picture (RGB, YUV, Grayscale, ...) + * write picture into DRAM + +Visconti5 SoC has two VIIF hardware instances. + +software architecture +--------------------- + +The Visconti VIIF driver is composed of following components: + +* (image sensor driver) +* MIPI CSI2 receiver subdevice driver + + * corresponding to CSI2RX + +* Visconti ISP subdevice driver + + * corresponding to L1ISP, L2ISP (Lens distortion correction, Scaling) + +* Visconti Capture V4L2 device driver + + * corresponding to L2ISP (Cropping) and Video DMAC + * multiple output videobuf queues + + * main path0 (RGB, YUV, Grayscale, ...) + * main path1 (RGB, YUV, Grayscale, ...) + * sub path (RAW picture) + +:: + + +-----------+ +-----------+ +----------------+ +-------------------------+ + | Sensor | | CSI2RX | | ISP | | Capture MAIN PATH0 | + | subdevice | ---- | subdevice | --- | subdevice | --+-- | V4L2 device | + | (IMX219) | | (CSI2RX) | | (L1ISP, L2ISP) | | | (L2ISP crop, VideoDMAC) | + +-----------+ +-----------+ +----------------+ | +-------------------------+ + | + | +-------------------------+ + | | Capture MAIN PATH1 | + +-- | V4L2 device | + | | (L2ISP crop, VideoDMAC) | + | +-------------------------+ + | + | +-------------------------+ + | | Capture SUB PATH | + +-- | V4L2 device | + | (VideoDMAC) | + +-------------------------+ + + +The VIIF driver provides following device nodes for Visconti5 SoC: + +* VIIF0 + + * /dev/media0 + * /dev/video0 (main path0) + * /dev/video1 (main path1) + * /dev/video2 (sub path) + +* VIIF1 + + * /dev/media1 + * /dev/video3 (main path0) + * /dev/video4 (main path1) + * /dev/video5 (sub path) + +Use of coherent memory +---------------------- + +Visconti5 SoC has two independent DDR SDRAM controllers. +Each controller is mapped to 36bit address space. + +Accelerator bus masters have two paths to access memory; +one is directly connected to SDRAM controller, +the another is connected via a cache coherency bus +which keeps coherency among CPUs. + +From acclerators and CPUs, the address map is following: + +* 0x0_8000_0000 DDR0 direct access +* 0x4_8000_0000 DDR0 coherency bus +* 0x8_8000_0000 DDR1 direct access +* 0xC_8000_0000 DDR1 coherency bus + +The base address can be specified with "memory" and "reserved-memory" elements +in a device tree description. +It's not recommended to mix direct address and coherent address. + +The Visconti5 VIIF driver always use only direct address to configure Video DMACs of the hardware. +This design is to avoid great performance loss at coherency bus caused by massive memory access. +You should not put the dma_coherent attribute to viif element in device tree. +Cache operations are done automatically by videobuf2 driver. + +Tested environment +------------------ + +The Visconti VIIF driver was tested with following items: + +* IMX219 image sensor +* IMX335 image sensor + +IOCTLs +====== + +Following public IOCTLs are supported + +* VIDIOC_QUERYCAP +* VIDIOC_ENUM_FMT +* VIDIOC_TRY_FMT +* VIDIOC_S_FMT +* VIDIOC_G_FMT +* VIDIOC_ENUM_FRAMESIZES +* VIDIOC_G_EXT_CTRLS +* VIDIOC_S_EXT_CTRLS +* VIDIOC_REQBUFS +* VIDIOC_QUERYBUF +* VIDIOC_QBUF +* VIDIOC_EXPBUF +* VIDIOC_DQBUF +* VIDIOC_CREATE_BUFS +* VIDIOC_PREPARE_BUF +* VIDIOC_STREAMON +* VIDIOC_STREAMOFF + +Vendor specific v4l2 controls +(except for V4L2_CID_VISCONTI_VIIF_MAIN_SET_RAWPACK_MODE and +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_INPUT_MODE) should be called +after ioctl(S_FMT) because setting the frame format may affect +valid range of parameters of the controls. + +Vendor specific v4l2 controls +============================= + +.. _V4L2_CID_VISCONTI_VIIF_MAIN_SET_RAWPACK_MODE: + +V4L2_CID_VISCONTI_VIIF_MAIN_SET_RAWPACK_MODE +-------------------------------------------- + +This control sets the format to pack multiple RAW pixel values into a word. + +This control accepts a __u32 value defined as `enum viif_rawpack_mode`. + +This control should be set before ioctl(S_FMT) and should not be changed after that. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_INPUT_MODE: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_INPUT_MODE +-------------------------------------------- + +This control sets L1ISP preprocessing mode for RAW input images. + +This control accepts a `struct viif_l1_input_mode_config` instance. + +This control should be set before ioctl(S_FMT) and should not be changed after that. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_RGB_TO_Y_COEF: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_RGB_TO_Y_COEF +----------------------------------------------- + +This control sets parameters to yield Y value from RGB pixel values. + +This control accepts a `struct viif_l1_rgb_to_y_coef_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG_MODE: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG_MODE +----------------------------------------- + +This control sets rules of generating analog gains for each feature in L1ISP. +Related features are: + +* Optical Black Clamp Correction (OBCC) +* Defect Pixel Correction (DPC) +* RAW Color Noise Reduction (RCNR) +* Lens Shading Correction (LSC) +* Color matrix correction (MPRO) +* Image quality adjustment (VPRO) + +The base gain is set with V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG control. + +This control accepts a `struct viif_l1_ag_mode_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG +------------------------------------ + +This control sets base analog gain commonly used in L1ISP features. +Analog gain for each L1ISP feature is generated +from the base analog gain and a configuration via V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AG_MODE control. + +This control accepts a `struct viif_l1_ag_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRE: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRE +-------------------------------------- + +This controls sets parameters for HDR Expansion feature. + +This control accepts a `struct viif_l1_hdre_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_IMG_EXTRACTION: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_IMG_EXTRACTION +------------------------------------------------ + +This control sets black level parameters for L1ISP inputs. + +This control accepts a `struct viif_l1_img_extraction_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_DPC: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_DPC +------------------------------------- + +This control sets parameters for Defect Pixel Correction. + +This control accepts a `struct viif_l1_dpc_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_PRESET_WHITE_BALANCE: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_PRESET_WHITE_BALANCE +------------------------------------------------------ + +This control sets parameters for white balance. + +This control accepts a `struct viif_l1_preset_white_balance_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_RAW_COLOR_NOISE_REDUCTION: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_RAW_COLOR_NOISE_REDUCTION +----------------------------------------------------------- + +This control sets parameters for RAW color noise reduction (RCNR) feature. + +This control accepts a `struct viif_l1_raw_color_noise_reduction_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRS: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRS +-------------------------------------- + +This control sets parameters for HDR synthesis. + +This control accepts a `struct viif_l1_hdrs_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_BLACK_LEVEL_CORRECTION: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_BLACK_LEVEL_CORRECTION +-------------------------------------------------------- + +This control sets parameters for black level correction feature. + +This control accepts a `struct viif_l1_black_level_correction_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_LSC: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_LSC +------------------------------------- + +This control sets parameters for Lens Shading Correction feature. +L1ISP supports 2 correction methods: + +* parabola shading +* grid shading + +This control accepts a `struct viif_l1_lsc_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_MAIN_PROCESS: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_MAIN_PROCESS +---------------------------------------------- + +This controls sets parameter for the MAIN PROCESS feature which is composed of: + +* demosaic +* color matrix correction + +This control accepts a `struct viif_l1_main_process_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AWB: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AWB +------------------------------------- + +This control sets parameter for auto white balance feature. + +This control accepts a `struct viif_l1_awb_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_LOCK_AWB_GAIN: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_LOCK_AWB_GAIN +------------------------------------------- + +This control requests enable/disable of lock for AWB gain. + +This control accepts a u32 value; 0 for disable lock, 1 for enable lock. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRC: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRC +-------------------------------------- + +This control sets parameter for HDR Compression feature. + +This control accepts a `struct viif_l1_hdrc_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRC_LTM: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_HDRC_LTM +------------------------------------------ + +This control sets parameter for HDR Compression Local Tone Mapping feature. + +This control accepts a `struct viif_l1_hdrc_ltm_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_GAMMA: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_GAMMA +--------------------------------------- + +This control sets parameter for gamma correction at L1ISP. + +This control accepts a `struct viif_l1_gamma_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_IMG_QUALITY_ADJUSTMENT: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_IMG_QUALITY_ADJUSTMENT +-------------------------------------------------------- + +This control sets parameter for VPRO feature which is composed of: + +* luminance adjustment: + + * brightness adjustment + * linear contrast adjusment + * nonlinear contrast adjustment + * luminance noise reduction + * edge enhancement + +* chroma adjustment: + + * chroma suppression + * color level adjustment + * chroma noise reduction + * coring suppression + * edge chroma suppression + * color noise reduction + +This control accepts a `struct viif_l1_img_quality_adjustment_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AVG_LUM_GENERATION: + +V4L2_CID_VISCONTI_VIIF_ISP_L1_SET_AVG_LUM_GENERATION +---------------------------------------------------- + +This control sets parameter for average luminance statistics feature. + +This control accepts a `struct viif_l1_avg_lum_generation_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_UNDIST: + +V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_UNDIST +---------------------------------------- + +This control sets parameter for the lens undistortion feature of L2ISP. +Lens undistortion parameters are defined as either or combination of polinomial parameter and grid table. + +This control accepts a `struct viif_l2_undist_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_ROI: + +V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_ROI +------------------------------------- + +This control sets dimensions of intermediate images and scaling parameter of L2ISP. +If you want to crop the output image, +you should set crop parameter to the corresponding source pad of the ISP subdevice with media-ctl tool. + +This control accepts a `struct viif_l2_roi_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_GAMMA: + +V4L2_CID_VISCONTI_VIIF_ISP_L2_SET_GAMMA +--------------------------------------- + +This control sets gamma parameter for L2ISP. + +This control accepts a `struct viif_l2_gamma_config` instance. + +.. _V4L2_CID_VISCONTI_VIIF_CSI2RX_GET_CALIBRATION_STATUS: + +V4L2_CID_VISCONTI_VIIF_CSI2RX_GET_CALIBRATION_STATUS +---------------------------------------------------- + +This control provides CSI2 receiver calibration status. + +This control fills a `struct viif_csi2rx_cal_status` instance with current status. + +.. _V4L2_CID_VISCONTI_VIIF_CSI2RX_GET_ERR_STATUS: + +V4L2_CID_VISCONTI_VIIF_CSI2RX_GET_ERR_STATUS +-------------------------------------------- + +This control provides CSI2 receiver error description. + +This control fills a `struct viif_csi2rx_err_status` instance with accumerated error status. +Note that internal accumerated status is cleared after reading. + +.. _V4L2_CID_VISCONTI_VIIF_GET_LAST_CAPTURE_STATUS: + +V4L2_CID_VISCONTI_VIIF_GET_LAST_CAPTURE_STATUS +---------------------------------------------- + +This control provides status information for the last captured frame. + +This control fills a `struct viif_l1_info` instance with current status. + +.. _V4L2_CID_VISCONTI_VIIF_GET_REPORTED_ERRORS: + +V4L2_CID_VISCONTI_VIIF_GET_REPORTED_ERRORS +------------------------------------------ + +This control provides error information since the last read of this control. + +This control fills a `struct viif_reported_errors` instance with accumerated error status. +Note that internal accumerated status is cleared after reading. + +Structures +========== + +.. kernel-doc:: include/uapi/linux/visconti_viif.h + From patchwork Fri Jul 14 01:50:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuji Ishikawa X-Patchwork-Id: 13312868 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 04679C001B0 for ; Fri, 14 Jul 2023 01:57:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PU5QEtZx6bJ4R/pCJqN6ZzKO2/RPoQIpuC6W3oRnhSo=; b=OqmEQW5Mz8kY0F 1TNgPubJ4YqhDqfKyz5q1WEB9tBepia/VrPGUC6Hnf00sWGpcn6z3/oybZXXJz92yCKO7t55d33xw kbgBhcPN/5l4jInsqQeHUhkZEIz5iU8sAyEsceb1U6QklOEvmB6q5LMpdGVycD1uvNMc8nOHfAqXh BXyxfxMmfirGnHDH1cE9xOyhfNAIpL+9qXGOv3RzvMQU76fpXVOXj6FE2hdyANeEv4iJe/LpLnIWC qHSt8VLhwnPybpKhsCWsZ0k7ieXmkE7dWDuvSwwO8Klu8S7k40gf4xW1Z3XQd3lQu+7H+lHoOyYzw 5oqFNVVK0BUvdI7eFP3g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qK83Q-004kW2-25; Fri, 14 Jul 2023 01:57:08 +0000 Received: from mo-csw1122.securemx.jp ([210.130.202.158] helo=mo-csw.securemx.jp) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qK83I-004kSE-1L for linux-arm-kernel@lists.infradead.org; Fri, 14 Jul 2023 01:57:02 +0000 Received: by mo-csw.securemx.jp (mx-mo-csw1122) id 36E1uTx81091761; Fri, 14 Jul 2023 10:56:29 +0900 X-Iguazu-Qid: 2rWhDvohsVRat6wXHp X-Iguazu-QSIG: v=2; s=0; t=1689299788; q=2rWhDvohsVRat6wXHp; m=8kIDZ4eKUyyWDZt3Q/wBdxT1ZeqirFMlJdwSpwZUylk= Received: from imx2-a.toshiba.co.jp (imx2-a.toshiba.co.jp [106.186.93.35]) by relay.securemx.jp (mx-mr1123) id 36E1uRAX2662106 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 14 Jul 2023 10:56:27 +0900 X-SA-MID: 4467162 From: Yuji Ishikawa To: Hans Verkuil , Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nobuhiro Iwamatsu , Mark Brown , Yuji Ishikawa Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 5/5] MAINTAINERS: Add entries for Toshiba Visconti Video Input Interface Date: Fri, 14 Jul 2023 10:50:59 +0900 X-TSB-HOP2: ON Message-Id: <20230714015059.18775-6-yuji2.ishikawa@toshiba.co.jp> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> References: <20230714015059.18775-1-yuji2.ishikawa@toshiba.co.jp> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230713_185700_592470_8ECCAF09 X-CRM114-Status: UNSURE ( 8.72 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Added entries for visconti Video Input Interface driver, including; * device tree bindings * source files * documentation files Signed-off-by: Yuji Ishikawa --- Changelog v2: - no change Changelog v3: - added entry for driver API documentation Changelog v4: - added entry for header file Changelog v5: - no change Changelog v6: - update path to VIIF driver source files Changelog v7: - no change MAINTAINERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 35e195946..97a574325 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2957,17 +2957,21 @@ F: Documentation/devicetree/bindings/arm/toshiba.yaml F: Documentation/devicetree/bindings/clock/toshiba,tmpv770x-pipllct.yaml F: Documentation/devicetree/bindings/clock/toshiba,tmpv770x-pismu.yaml F: Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml +F: Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml F: Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml F: Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.yaml F: Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml F: Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml +F: Documentation/driver-api/media/drivers/visconti-viif.rst F: arch/arm64/boot/dts/toshiba/ F: drivers/clk/visconti/ F: drivers/gpio/gpio-visconti.c +F: drivers/media/platform/toshiba/visconti/ F: drivers/net/ethernet/stmicro/stmmac/dwmac-visconti.c F: drivers/pci/controller/dwc/pcie-visconti.c F: drivers/pinctrl/visconti/ F: drivers/watchdog/visconti_wdt.c +F: include/uapi/linux/visconti_viif.h N: visconti ARM/UNIPHIER ARCHITECTURE