Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: media: Add bindings for THine THP7312 ISP

The THP7312 is an external ISP from THine. Add DT bindings for it.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Co-developed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

authored by

Paul Elder and committed by
Hans Verkuil
cba1ec57 a9c8c738

+232
+224
Documentation/devicetree/bindings/media/i2c/thine,thp7312.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + # Copyright (c) 2023 Ideas on Board 3 + %YAML 1.2 4 + --- 5 + $id: http://devicetree.org/schemas/media/i2c/thine,thp7312.yaml# 6 + $schema: http://devicetree.org/meta-schemas/core.yaml# 7 + 8 + title: THine THP7312 9 + 10 + maintainers: 11 + - Paul Elder <paul.elder@@ideasonboard.com> 12 + 13 + description: 14 + The THP7312 is a standalone ISP controlled over i2c, and is capable of 15 + various image processing and correction functions, including 3A control. It 16 + can be connected to CMOS image sensors from various vendors, supporting both 17 + MIPI CSI-2 and parallel interfaces. It can also output on either MIPI CSI-2 18 + or parallel. The hardware is capable of transmitting and receiving MIPI 19 + interlaved data strams with data types or multiple virtual channel 20 + identifiers. 21 + 22 + allOf: 23 + - $ref: /schemas/media/video-interface-devices.yaml# 24 + 25 + properties: 26 + compatible: 27 + const: thine,thp7312 28 + 29 + reg: 30 + maxItems: 1 31 + 32 + clocks: 33 + maxItems: 1 34 + description: CLKI clock input 35 + 36 + thine,boot-mode: 37 + $ref: /schemas/types.yaml#/definitions/uint32 38 + minimum: 0 39 + maximum: 1 40 + default: 1 41 + description: 42 + Boot mode of the THP7312, reflecting the value of the BOOT[0] pin strap. 43 + 0 is for the SPI/2-wire slave boot, 1 is for the SPI master boot (from 44 + external flash ROM). 45 + 46 + reset-gpios: 47 + maxItems: 1 48 + description: 49 + Reference to the GPIO connected to the RESET_N pin, if any. 50 + Must be released (set high) after all supplies are applied. 51 + 52 + vddcore-supply: 53 + description: 54 + 1.2V supply for core, PLL, MIPI rx and MIPI tx. 55 + 56 + vhtermrx-supply: 57 + description: 58 + Supply for input (RX). 1.8V for MIPI, or 1.8/2.8/3.3V for parallel. 59 + 60 + vddtx-supply: 61 + description: 62 + Supply for output (TX). 1.8V for MIPI, or 1.8/2.8/3.3V for parallel. 63 + 64 + vddhost-supply: 65 + description: 66 + Supply for host interface. 1.8V, 2.8V, or 3.3V. 67 + 68 + vddcmos-supply: 69 + description: 70 + Supply for sensor interface. 1.8V, 2.8V, or 3.3V. 71 + 72 + vddgpio-0-supply: 73 + description: 74 + Supply for GPIO_0. 1.8V, 2.8V, or 3.3V. 75 + 76 + vddgpio-1-supply: 77 + description: 78 + Supply for GPIO_1. 1.8V, 2.8V, or 3.3V. 79 + 80 + orientation: true 81 + rotation: true 82 + 83 + port: 84 + $ref: /schemas/graph.yaml#/$defs/port-base 85 + additionalProperties: false 86 + 87 + properties: 88 + endpoint: 89 + $ref: /schemas/media/video-interfaces.yaml# 90 + unevaluatedProperties: false 91 + 92 + properties: 93 + bus-type: 94 + const: 4 # CSI-2 D-PHY 95 + 96 + data-lanes: 97 + description: 98 + This property is for lane reordering between the THP7312 and the 99 + SoC. The sensor supports either two-lane, or four-lane operation. 100 + If this property is omitted four-lane operation is assumed. For 101 + two-lane operation the property must be set to <1 2>. 102 + minItems: 2 103 + maxItems: 4 104 + items: 105 + maximum: 4 106 + 107 + sensors: 108 + type: object 109 + description: List of connected sensors 110 + 111 + properties: 112 + "#address-cells": 113 + const: 1 114 + 115 + "#size-cells": 116 + const: 0 117 + 118 + patternProperties: 119 + "^sensor@[01]$": 120 + type: object 121 + description: 122 + Sensors connected to the first and second input, with one node per 123 + sensor. 124 + 125 + properties: 126 + thine,model: 127 + $ref: /schemas/types.yaml#/definitions/string 128 + description: 129 + Model of the connected sensors. Must be a valid compatible string. 130 + 131 + reg: 132 + description: THP7312 input port number 133 + items: 134 + - maximum: 1 135 + 136 + data-lanes: 137 + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes 138 + items: 139 + maxItems: 4 140 + description: 141 + This property is for lane reordering between the THP7312 and the imaging 142 + sensor that it is connected to. 143 + 144 + required: 145 + - reg 146 + - data-lanes 147 + 148 + additionalProperties: false 149 + 150 + required: 151 + - "#address-cells" 152 + - "#size-cells" 153 + 154 + additionalProperties: false 155 + 156 + required: 157 + - compatible 158 + - reg 159 + - reset-gpios 160 + - clocks 161 + - vddcore-supply 162 + - vhtermrx-supply 163 + - vddtx-supply 164 + - vddhost-supply 165 + - vddcmos-supply 166 + - vddgpio-0-supply 167 + - vddgpio-1-supply 168 + - sensors 169 + - port 170 + 171 + additionalProperties: false 172 + 173 + examples: 174 + - | 175 + #include <dt-bindings/gpio/gpio.h> 176 + #include <dt-bindings/media/video-interfaces.h> 177 + 178 + i2c { 179 + #address-cells = <1>; 180 + #size-cells = <0>; 181 + 182 + camera@61 { 183 + compatible = "thine,thp7312"; 184 + reg = <0x61>; 185 + 186 + pinctrl-names = "default"; 187 + pinctrl-0 = <&cam1_pins_default>; 188 + 189 + reset-gpios = <&pio 119 GPIO_ACTIVE_LOW>; 190 + clocks = <&camera61_clk>; 191 + 192 + vddcore-supply = <&vsys_v4p2>; 193 + vhtermrx-supply = <&vsys_v4p2>; 194 + vddtx-supply = <&vsys_v4p2>; 195 + vddhost-supply = <&vsys_v4p2>; 196 + vddcmos-supply = <&vsys_v4p2>; 197 + vddgpio-0-supply = <&vsys_v4p2>; 198 + vddgpio-1-supply = <&vsys_v4p2>; 199 + 200 + orientation = <0>; 201 + rotation = <0>; 202 + 203 + sensors { 204 + #address-cells = <1>; 205 + #size-cells = <0>; 206 + 207 + sensor@0 { 208 + thine,model = "sony,imx258"; 209 + reg = <0>; 210 + 211 + data-lanes = <4 1 3 2>; 212 + }; 213 + }; 214 + 215 + port { 216 + thp7312_2_endpoint: endpoint { 217 + remote-endpoint = <&mipi_thp7312_2>; 218 + bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 219 + data-lanes = <4 2 1 3>; 220 + }; 221 + }; 222 + }; 223 + }; 224 + ...
+8
MAINTAINERS
··· 21663 21663 F: Documentation/ABI/testing/sysfs-class-firmware-attributes 21664 21664 F: drivers/platform/x86/think-lmi.? 21665 21665 21666 + THP7312 ISP DRIVER 21667 + M: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 21668 + M: Paul Elder <paul.elder@ideasonboard.com> 21669 + L: linux-media@vger.kernel.org 21670 + S: Maintained 21671 + T: git git://linuxtv.org/media_tree.git 21672 + F: Documentation/devicetree/bindings/media/i2c/thine,thp7312.yaml 21673 + 21666 21674 THUNDERBOLT DMA TRAFFIC TEST DRIVER 21667 21675 M: Isaac Hazan <isaac.hazan@intel.com> 21668 21676 L: linux-usb@vger.kernel.org