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>
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright (c) 2023 Ideas on Board
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/thine,thp7312.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: THine THP7312
|
||||
|
||||
maintainers:
|
||||
- Paul Elder <paul.elder@@ideasonboard.com>
|
||||
|
||||
description:
|
||||
The THP7312 is a standalone ISP controlled over i2c, and is capable of
|
||||
various image processing and correction functions, including 3A control. It
|
||||
can be connected to CMOS image sensors from various vendors, supporting both
|
||||
MIPI CSI-2 and parallel interfaces. It can also output on either MIPI CSI-2
|
||||
or parallel. The hardware is capable of transmitting and receiving MIPI
|
||||
interlaved data strams with data types or multiple virtual channel
|
||||
identifiers.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/media/video-interface-devices.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: thine,thp7312
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: CLKI clock input
|
||||
|
||||
thine,boot-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
default: 1
|
||||
description:
|
||||
Boot mode of the THP7312, reflecting the value of the BOOT[0] pin strap.
|
||||
0 is for the SPI/2-wire slave boot, 1 is for the SPI master boot (from
|
||||
external flash ROM).
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
Reference to the GPIO connected to the RESET_N pin, if any.
|
||||
Must be released (set high) after all supplies are applied.
|
||||
|
||||
vddcore-supply:
|
||||
description:
|
||||
1.2V supply for core, PLL, MIPI rx and MIPI tx.
|
||||
|
||||
vhtermrx-supply:
|
||||
description:
|
||||
Supply for input (RX). 1.8V for MIPI, or 1.8/2.8/3.3V for parallel.
|
||||
|
||||
vddtx-supply:
|
||||
description:
|
||||
Supply for output (TX). 1.8V for MIPI, or 1.8/2.8/3.3V for parallel.
|
||||
|
||||
vddhost-supply:
|
||||
description:
|
||||
Supply for host interface. 1.8V, 2.8V, or 3.3V.
|
||||
|
||||
vddcmos-supply:
|
||||
description:
|
||||
Supply for sensor interface. 1.8V, 2.8V, or 3.3V.
|
||||
|
||||
vddgpio-0-supply:
|
||||
description:
|
||||
Supply for GPIO_0. 1.8V, 2.8V, or 3.3V.
|
||||
|
||||
vddgpio-1-supply:
|
||||
description:
|
||||
Supply for GPIO_1. 1.8V, 2.8V, or 3.3V.
|
||||
|
||||
orientation: true
|
||||
rotation: true
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
bus-type:
|
||||
const: 4 # CSI-2 D-PHY
|
||||
|
||||
data-lanes:
|
||||
description:
|
||||
This property is for lane reordering between the THP7312 and the
|
||||
SoC. The sensor supports either two-lane, or four-lane operation.
|
||||
If this property is omitted four-lane operation is assumed. For
|
||||
two-lane operation the property must be set to <1 2>.
|
||||
minItems: 2
|
||||
maxItems: 4
|
||||
items:
|
||||
maximum: 4
|
||||
|
||||
sensors:
|
||||
type: object
|
||||
description: List of connected sensors
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^sensor@[01]$":
|
||||
type: object
|
||||
description:
|
||||
Sensors connected to the first and second input, with one node per
|
||||
sensor.
|
||||
|
||||
properties:
|
||||
thine,model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Model of the connected sensors. Must be a valid compatible string.
|
||||
|
||||
reg:
|
||||
description: THP7312 input port number
|
||||
items:
|
||||
- maximum: 1
|
||||
|
||||
data-lanes:
|
||||
$ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes
|
||||
items:
|
||||
maxItems: 4
|
||||
description:
|
||||
This property is for lane reordering between the THP7312 and the imaging
|
||||
sensor that it is connected to.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- data-lanes
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reset-gpios
|
||||
- clocks
|
||||
- vddcore-supply
|
||||
- vhtermrx-supply
|
||||
- vddtx-supply
|
||||
- vddhost-supply
|
||||
- vddcmos-supply
|
||||
- vddgpio-0-supply
|
||||
- vddgpio-1-supply
|
||||
- sensors
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/media/video-interfaces.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@61 {
|
||||
compatible = "thine,thp7312";
|
||||
reg = <0x61>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cam1_pins_default>;
|
||||
|
||||
reset-gpios = <&pio 119 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&camera61_clk>;
|
||||
|
||||
vddcore-supply = <&vsys_v4p2>;
|
||||
vhtermrx-supply = <&vsys_v4p2>;
|
||||
vddtx-supply = <&vsys_v4p2>;
|
||||
vddhost-supply = <&vsys_v4p2>;
|
||||
vddcmos-supply = <&vsys_v4p2>;
|
||||
vddgpio-0-supply = <&vsys_v4p2>;
|
||||
vddgpio-1-supply = <&vsys_v4p2>;
|
||||
|
||||
orientation = <0>;
|
||||
rotation = <0>;
|
||||
|
||||
sensors {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sensor@0 {
|
||||
thine,model = "sony,imx258";
|
||||
reg = <0>;
|
||||
|
||||
data-lanes = <4 1 3 2>;
|
||||
};
|
||||
};
|
||||
|
||||
port {
|
||||
thp7312_2_endpoint: endpoint {
|
||||
remote-endpoint = <&mipi_thp7312_2>;
|
||||
bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
|
||||
data-lanes = <4 2 1 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -21663,6 +21663,14 @@ S: Maintained
|
||||
F: Documentation/ABI/testing/sysfs-class-firmware-attributes
|
||||
F: drivers/platform/x86/think-lmi.?
|
||||
|
||||
THP7312 ISP DRIVER
|
||||
M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
M: Paul Elder <paul.elder@ideasonboard.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://linuxtv.org/media_tree.git
|
||||
F: Documentation/devicetree/bindings/media/i2c/thine,thp7312.yaml
|
||||
|
||||
THUNDERBOLT DMA TRAFFIC TEST DRIVER
|
||||
M: Isaac Hazan <isaac.hazan@intel.com>
|
||||
L: linux-usb@vger.kernel.org
|
||||
|
||||
Reference in New Issue
Block a user