From patchwork Tue Sep 25 19:14:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 10614703 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 126601390 for ; Tue, 25 Sep 2018 19:15:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 000892AA2D for ; Tue, 25 Sep 2018 19:15:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E84DE2AAEE; Tue, 25 Sep 2018 19:15:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3A0F52AA2D for ; Tue, 25 Sep 2018 19:15:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728023AbeIZBYQ (ORCPT ); Tue, 25 Sep 2018 21:24:16 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:57778 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727354AbeIZBYQ (ORCPT ); Tue, 25 Sep 2018 21:24:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version: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:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=9GPc13p7yP9/MsTNRBGy4Xuy0u8S57+YuV9PC44WKyA=; b=rdkYX95VnO1if7gH6cev0fCuh tbUNVu48QfxvOytzY5DT8Lk29nGA4HzL7tryBBXL2fN/ksrvMJX2FRsWPGoPNE3jZme0GNVXmG+8n dYptOTyRZsoOvb8GaB0ud3KgppNwEzpWRd1T4PAPdD92kuQhrJ9QSGUBKexBsMe57oUHXa3JRifem 0xfPnHfmUgfGcx62sxjMXUX1DNVI4tJebVz5Okx5MnEQwKyF36MS3k2IfbtFsFQIGADr/rEI870qo 2azHJlmmdl/9fUeKQ6vnL6aFMLFPm9yu4bAeqHcAnF4u8WyJ5B/xqsdLsZl+RZlF4K9CuyBtAdfEL tio2wVFUA==; Received: from 177.43.23.201.dynamic.adsl.gvt.net.br ([177.43.23.201] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1g4snQ-0007gE-Ki; Tue, 25 Sep 2018 19:15:16 +0000 Received: from mchehab by bombadil.infradead.org with local (Exim 4.91) (envelope-from ) id 1g4snM-00042b-V3; Tue, 25 Sep 2018 16:14:52 -0300 From: Mauro Carvalho Chehab To: Linux Media Mailing List Cc: Mauro Carvalho Chehab , Mauro Carvalho Chehab , Mauro Carvalho Chehab Subject: [PATCH v3] media: docs: add glossary.rst with common terms used at V4L2 spec Date: Tue, 25 Sep 2018 16:14:51 -0300 Message-Id: <02e399c34a614182ecfa4212cc610fe7d57024f4.1537902727.git.mchehab+samsung@kernel.org> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Mauro Carvalho Chehab Add a glossary of terms used within the media userspace API documentation, as several concepts are complex enough to cause misunderstandings. Signed-off-by: Mauro Carvalho Chehab --- v3: - Add SPDX header and dual-license the glossary - Make glossary generic enough to be used for all media uAPI documentation; - Add a few new items to the glossary, to imply that it covers not only V4L2; - Move it to the uAPI document as a hole. v2: Did some changes based on Sakari's feedback. Documentation/media/media_uapi.rst | 3 + Documentation/media/uapi/glossary.rst | 162 ++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 Documentation/media/uapi/glossary.rst diff --git a/Documentation/media/media_uapi.rst b/Documentation/media/media_uapi.rst index 28eb35a1f965..41f091a26003 100644 --- a/Documentation/media/media_uapi.rst +++ b/Documentation/media/media_uapi.rst @@ -2,6 +2,8 @@ .. include:: +.. _media_uapi: + ######################################## Linux Media Infrastructure userspace API ######################################## @@ -31,3 +33,4 @@ License". uapi/cec/cec-api uapi/gen-errors uapi/fdl-appendix + uapi/glossary diff --git a/Documentation/media/uapi/glossary.rst b/Documentation/media/uapi/glossary.rst new file mode 100644 index 000000000000..9e2a2b29e8b2 --- /dev/null +++ b/Documentation/media/uapi/glossary.rst @@ -0,0 +1,162 @@ +.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-or-later + +.. For GPL-2.0, see LICENSES/preferred/GPL-2.0 +.. +.. For GFDL-1.1-or-later, see: +.. +.. Permission is granted to copy, distribute and/or modify this document +.. under the terms of the GNU Free Documentation License, Version 1.1 or +.. any later version published by the Free Software Foundation, with no +.. Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. +.. A copy of the license is included at +.. Documentation/media/uapi/fdl-appendix.rst. + +======== +Glossary +======== + +.. note:: + + This goal of section is to standardize the terms used within the media + userspace API documentation. It is written incrementally as they are + standardized in the media documentation. + + So, it is a Work In Progress. + +.. Please keep the glossary entries in alphabetical order + +.. glossary:: + + Bridge driver + A device driver that implements the main logic to talk with + a media hardware. + + For V4L2 hardware, this is also known as V4L2 main driver. + + Consumer Electronics Control API + An API designed to receive and transmit data via a HDMI + CEC interface. + + See :ref:`cec`. + + Device Node + A character device node in the file system used to control and do + input/output data transfers from/to a Kernel driver. + + Digital TV API - DVB API + An API designed to control the media device components related to + digital TV, including frontends, demuxes, streaming, conditional + access, etc. + + See :ref:`dvbapi`. + + Digital Signal Processor - DSP + A specialized microprocessor, with its architecture optimized for + the operational needs of digital signal processing. + + Driver + Part of the Linux Kernel that implements support for a hardware + component. + + Field-programmable Gate Array - FPGA + A field-programmable gate array (FPGA) is an integrated circuit + designed to be configured by a customer or a designer after + manufacturing. + + See https://en.wikipedia.org/wiki/Field-programmable_gate_array. + + Inter-Integrated Circuit - I²C + A multi-master, multi-slave, packet switched, single-ended, + serial computer bus used to control some hardware components + like sub-device hardware components. + + See http://www.nxp.com/docs/en/user-guide/UM10204.pdf. + + Integrated circuit - IC + A set of electronic circuits on one small flat piece of + semiconductor material, normally silicon. + + Also known as chip. + + Intelectual property core - IP block + In electronic design a semiconductor intellectual property core, + is a reusable unit of logic, cell, or integrated circuit layout + design that is the intellectual property of one party. + IP cores may be licensed to another party or can be owned + and used by a single party alone. + + See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core). + + Image Signal Processor - ISP + A specialised processor that implements a set of algorithms for + processing image data. ISPs may implement algorithms for lens + shading correction, demosaic, scaling and pixel format conversion + as well as produce statistics for the use of the control + algorithms (e.g. automatic exposure, white balance and focus). + + Media API + A set of userspace APIs used to control a media hardware. + + See :ref:`media_uapi`. + + Media Controller + An API designed to expose and control devices and sub-devices' + relationships to applications. + + See :ref:`media_controller`. + + Media Hardware + Subset of a hardware that is supported by the Linux Media API. + + Includes audio and video capture and playback hardware, + digital and analog TV, camera sensors, ISPs, remote controllers, + codecs, HDMI Consumer Electronics Control, HDMI capture, etc. + + + See :ref:`media_uapi`. + + + Microprocessor + An electronic circuitry that carries out the instructions + of a computer program by performing the basic arithmetic, logical, + control and input/output (I/O) operations specified by the + instructions on a single integrated circuit. + + Remote Controller API + An API designed to receive and transmit data from remote + controllers. + + See :ref:`remote_controllers`. + + SMBus + A subset of I²C, with defines a stricter usage of the bus. + + Serial Peripheral Interface Bus - SPI + Synchronous serial communication interface specification used for + short distance communication, primarily in embedded systems. + + System on a Chip - SoC + An integrated circuit that integrates all components of a computer + or other electronic systems. + + Sub-device hardware components + V4L2 hardware components that aren't controlled by a + V4L2 main driver. + + V4L2 userspace API - V4L2 API + The userspace API defined at :ref:`v4l2spec`, with is used to control + a V4L2 hardware. + + V4L2 hardware + Part of a media hardware with is supported by the V4L2 + userspace API. + + V4L2 main driver + A V4L2 device driver that implements the main logic to talk with + a V4L2 hardware. + + V4L2 sub-device + Part of a media hardware that it is implemented by a device + driver that is not part of the main V4L2 driver. + + See :ref:`subdev`.