mirror of
https://github.com/t2linux/kernel.git
synced 2026-04-30 13:48:59 -07:00
Merge tag 'media/v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - some rework at the uAPI pixel format docs - the smiapp driver has started to gain support for MIPI CSS camera sensors and was renamed - two new sensor drivers: ov02a10 and ov9734 - Meson gained a driver for the 2D acceleration unit - Rockchip rkisp1 driver was promoted from staging - Cedrus driver gained support for VP8 - two new remote controller keymaps were added - the usual set of fixes cleanups and driver improvements * tag 'media/v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (447 commits) media: ccs: Add support for obtaining C-PHY configuration from firmware media: ccs-pll: Print pixel rates media: ccs: Print written register values media: ccs: Add support for DDR OP SYS and OP PIX clocks media: ccs-pll: Add support for DDR OP system and pixel clocks media: ccs: Dual PLL support media: ccs-pll: Add trivial dual PLL support media: ccs-pll: Separate VT divisor limit calculation from the rest media: ccs-pll: Fix VT post-PLL divisor calculation media: ccs-pll: Make VT divisors 16-bit media: ccs-pll: Rework bounds checks media: ccs-pll: Print relevant information on PLL tree media: ccs-pll: Better separate OP and VT sub-tree calculation media: ccs-pll: Check for derating and overrating, support non-derating sensors media: ccs-pll: Split off VT subtree calculation media: ccs-pll: Add C-PHY support media: ccs-pll: Add sanity checks media: ccs-pll: Add support flexible OP PLL pixel clock divider media: ccs-pll: Support two cycles per pixel on OP domain media: ccs-pll: Add support for extended input PLL clock divider ...
This commit is contained in:
@@ -86,7 +86,7 @@ the driver through the rkisp_params node to improve image quality during a
|
||||
video stream.
|
||||
The buffer format is defined by struct :c:type:`rkisp1_stat_buffer`, and
|
||||
userspace should set
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-stat-rkisp1>` as the
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-rk-isp1-stat-3a>` as the
|
||||
dataformat.
|
||||
|
||||
.. _rkisp1_params:
|
||||
@@ -100,7 +100,7 @@ and others.
|
||||
|
||||
The buffer format is defined by struct :c:type:`rkisp1_params_cfg`, and
|
||||
userspace should set
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-params-rkisp1>` as the
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-rk-isp1-params>` as the
|
||||
dataformat.
|
||||
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ properties:
|
||||
- allwinner,sun7i-a20-video-engine
|
||||
- allwinner,sun8i-a33-video-engine
|
||||
- allwinner,sun8i-h3-video-engine
|
||||
- allwinner,sun8i-v3s-video-engine
|
||||
- allwinner,sun8i-r40-video-engine
|
||||
- allwinner,sun50i-a64-video-engine
|
||||
- allwinner,sun50i-h5-video-engine
|
||||
- allwinner,sun50i-h6-video-engine
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2020 BayLibre, SAS
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/media/amlogic,axg-ge2d.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Amlogic GE2D Acceleration Unit
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <narmstrong@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- amlogic,axg-ge2d
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- resets
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ge2d: ge2d@ff940000 {
|
||||
compatible = "amlogic,axg-ge2d";
|
||||
reg = <0xff940000 0x10000>;
|
||||
interrupts = <150>;
|
||||
clocks = <&clk_ge2d>;
|
||||
resets = <&reset_ge2d>;
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
Chips&Media Coda multi-standard codec IP
|
||||
========================================
|
||||
|
||||
Coda codec IPs are present in i.MX SoCs in various versions,
|
||||
called VPU (Video Processing Unit).
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "fsl,<chip>-src" for i.MX SoCs:
|
||||
(a) "fsl,imx27-vpu" for CodaDx6 present in i.MX27
|
||||
(b) "fsl,imx51-vpu" for CodaHx4 present in i.MX51
|
||||
(c) "fsl,imx53-vpu" for CODA7541 present in i.MX53
|
||||
(d) "fsl,imx6q-vpu" for CODA960 present in i.MX6q
|
||||
- reg: should be register base and length as documented in the
|
||||
SoC reference manual
|
||||
- interrupts : Should contain the VPU interrupt. For CODA960,
|
||||
a second interrupt is needed for the MJPEG unit.
|
||||
- clocks : Should contain the ahb and per clocks, in the order
|
||||
determined by the clock-names property.
|
||||
- clock-names : Should be "ahb", "per"
|
||||
- iram : phandle pointing to the SRAM device node
|
||||
|
||||
Example:
|
||||
|
||||
vpu: vpu@63ff4000 {
|
||||
compatible = "fsl,imx53-vpu";
|
||||
reg = <0x63ff4000 0x1000>;
|
||||
interrupts = <9>;
|
||||
clocks = <&clks 63>, <&clks 63>;
|
||||
clock-names = "ahb", "per";
|
||||
iram = <&ocram>;
|
||||
};
|
||||
@@ -0,0 +1,108 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/coda.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Chips&Media Coda multi-standard codec IP
|
||||
|
||||
maintainers:
|
||||
- Philipp Zabel <p.zabel@pengutronix.de>
|
||||
|
||||
description: |-
|
||||
Coda codec IPs are present in i.MX SoCs in various versions,
|
||||
called VPU (Video Processing Unit).
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: fsl,imx27-vpu
|
||||
- const: cnm,codadx6
|
||||
- items:
|
||||
- const: fsl,imx51-vpu
|
||||
- const: cnm,codahx4
|
||||
- items:
|
||||
- const: fsl,imx53-vpu
|
||||
- const: cnm,coda7541
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6dl-vpu
|
||||
- fsl,imx6q-vpu
|
||||
- const: cnm,coda960
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: PER clock
|
||||
- description: AHB interface clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: per
|
||||
- const: ahb
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
iram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle pointing to the SRAM device node
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: cnm,coda960
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
items:
|
||||
- description: BIT processor interrupt
|
||||
- description: JPEG unit interrupt
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: bit
|
||||
- const: jpeg
|
||||
else:
|
||||
properties:
|
||||
interrupts:
|
||||
items:
|
||||
- description: BIT processor interrupt
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- fsl,imx6dl-vpu
|
||||
- fsl,imx6q-vpu
|
||||
then:
|
||||
properties:
|
||||
power-domains:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle pointing to the PU power domain
|
||||
maxItems: 1
|
||||
|
||||
examples:
|
||||
- |
|
||||
vpu: video-codec@63ff4000 {
|
||||
compatible = "fsl,imx53-vpu", "cnm,coda7541";
|
||||
reg = <0x63ff4000 0x1000>;
|
||||
interrupts = <9>;
|
||||
clocks = <&clks 63>, <&clks 63>;
|
||||
clock-names = "per", "ahb";
|
||||
iram = <&ocram>;
|
||||
};
|
||||
@@ -1,88 +0,0 @@
|
||||
* Analog Devices ADV7604/11/12 video decoder with HDMI receiver
|
||||
|
||||
The ADV7604 and ADV7611/12 are multiformat video decoders with an integrated
|
||||
HDMI receiver. The ADV7604 has four multiplexed HDMI inputs and one analog
|
||||
input, and the ADV7611 has one HDMI input and no analog input. The 7612 is
|
||||
similar to the 7611 but has 2 HDMI inputs.
|
||||
|
||||
These device tree bindings support the ADV7611/12 only at the moment.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: Must contain one of the following
|
||||
- "adi,adv7611" for the ADV7611
|
||||
- "adi,adv7612" for the ADV7612
|
||||
|
||||
- reg: I2C slave addresses
|
||||
The ADV76xx has up to thirteen 256-byte maps that can be accessed via the
|
||||
main I2C ports. Each map has it own I2C address and acts as a standard
|
||||
slave device on the I2C bus. The main address is mandatory, others are
|
||||
optional and revert to defaults if not specified.
|
||||
|
||||
- hpd-gpios: References to the GPIOs that control the HDMI hot-plug
|
||||
detection pins, one per HDMI input. The active flag indicates the GPIO
|
||||
level that enables hot-plug detection.
|
||||
|
||||
The device node must contain one 'port' child node per device input and output
|
||||
port, in accordance with the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
|
||||
are numbered as follows.
|
||||
|
||||
Port ADV7611 ADV7612
|
||||
------------------------------------------------------------
|
||||
HDMI 0 0, 1
|
||||
Digital output 1 2
|
||||
|
||||
The digital output port node must contain at least one endpoint.
|
||||
|
||||
Optional Properties:
|
||||
|
||||
- reset-gpios: Reference to the GPIO connected to the device's reset pin.
|
||||
- default-input: Select which input is selected after reset.
|
||||
- reg-names : Names of maps with programmable addresses.
|
||||
It can contain any map needing a non-default address.
|
||||
Possible maps names are :
|
||||
"main", "avlink", "cec", "infoframe", "esdp", "dpp", "afe",
|
||||
"rep", "edid", "hdmi", "test", "cp", "vdp"
|
||||
|
||||
Optional Endpoint Properties:
|
||||
|
||||
The following three properties are defined in video-interfaces.txt and are
|
||||
valid for source endpoints only.
|
||||
|
||||
- hsync-active: Horizontal synchronization polarity. Defaults to active low.
|
||||
- vsync-active: Vertical synchronization polarity. Defaults to active low.
|
||||
- pclk-sample: Pixel clock polarity. Defaults to output on the falling edge.
|
||||
|
||||
If none of hsync-active, vsync-active and pclk-sample is specified the
|
||||
endpoint will use embedded BT.656 synchronization.
|
||||
|
||||
Example:
|
||||
|
||||
hdmi_receiver@4c {
|
||||
compatible = "adi,adv7611";
|
||||
/*
|
||||
* The edid page will be accessible @ 0x66 on the I2C bus. All
|
||||
* other maps will retain their default addresses.
|
||||
*/
|
||||
reg = <0x4c>, <0x66>;
|
||||
reg-names = "main", "edid";
|
||||
|
||||
reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>;
|
||||
hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
default-input = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
hdmi_in: endpoint {
|
||||
remote-endpoint = <&ccdc_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,178 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/adv7604.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices ADV7604/11/12 video decoder with HDMI receiver
|
||||
|
||||
maintainers:
|
||||
- Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||||
|
||||
description:
|
||||
The ADV7604 and ADV7611/12 are multiformat video decoders with an integrated
|
||||
HDMI receiver. The ADV7604 has four multiplexed HDMI inputs and one analog
|
||||
input, and the ADV7611 has one HDMI input and no analog input. The 7612 is
|
||||
similar to the 7611 but has 2 HDMI inputs.
|
||||
|
||||
These device tree bindings support the ADV7611/12 only at the moment.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- adi,adv7611
|
||||
- adi,adv7612
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 13
|
||||
|
||||
reg-names:
|
||||
minItems: 1
|
||||
maxItems: 13
|
||||
items:
|
||||
- const: main
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
- enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
hpd-gpios:
|
||||
minItems: 1
|
||||
description:
|
||||
References to the GPIOs that control the HDMI hot-plug detection pins,
|
||||
one per HDMI input. The active flag indicates the GPIO level that
|
||||
enables hot-plug detection.
|
||||
|
||||
default-input:
|
||||
maxItems: 1
|
||||
description:
|
||||
Select which input is selected after reset.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
A node containing input and output port nodes with endpoint definitions
|
||||
as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: adi,adv7611
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@0:
|
||||
type: object
|
||||
description: Input port
|
||||
port@1:
|
||||
type: object
|
||||
description: Output port
|
||||
|
||||
required:
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: adi,adv7612
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@2:
|
||||
type: object
|
||||
description: Output port
|
||||
|
||||
patternProperties:
|
||||
"^port@[0-1]$":
|
||||
type: object
|
||||
description: Input port
|
||||
|
||||
required:
|
||||
- port@2
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_receiver@4c {
|
||||
compatible = "adi,adv7611";
|
||||
/*
|
||||
* The edid page will be accessible @ 0x66 on the I2C bus. All
|
||||
* other maps will retain their default addresses.
|
||||
*/
|
||||
reg = <0x4c>, <0x66>;
|
||||
reg-names = "main", "edid";
|
||||
|
||||
reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>;
|
||||
hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>;
|
||||
default-input = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
hdmi_in: endpoint {
|
||||
remote-endpoint = <&ccdc_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
@@ -1,46 +0,0 @@
|
||||
* Aptina MT9V111 CMOS sensor
|
||||
----------------------------
|
||||
|
||||
The Aptina MT9V111 is a 1/4-Inch VGA-format digital image sensor with a core
|
||||
based on Aptina MT9V011 sensor and an integrated Image Flow Processor (IFP).
|
||||
|
||||
The sensor has an active pixel array of 640x480 pixels and can output a number
|
||||
of image resolution and formats controllable through a simple two-wires
|
||||
interface.
|
||||
|
||||
Required properties:
|
||||
--------------------
|
||||
|
||||
- compatible: shall be "aptina,mt9v111".
|
||||
- clocks: reference to the system clock input provider.
|
||||
|
||||
Optional properties:
|
||||
--------------------
|
||||
|
||||
- enable-gpios: output enable signal, pin name "OE#". Active low.
|
||||
- standby-gpios: low power state control signal, pin name "STANDBY".
|
||||
Active high.
|
||||
- reset-gpios: chip reset signal, pin name "RESET#". Active low.
|
||||
|
||||
The device node must contain one 'port' child node with one 'endpoint' child
|
||||
sub-node for its digital output video port, in accordance with the video
|
||||
interface bindings defined in:
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
Example:
|
||||
--------
|
||||
|
||||
&i2c1 {
|
||||
camera@48 {
|
||||
compatible = "aptina,mt9v111";
|
||||
reg = <0x48>;
|
||||
|
||||
clocks = <&camera_clk>;
|
||||
|
||||
port {
|
||||
mt9v111_out: endpoint {
|
||||
remote-endpoint = <&ceu_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,75 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/aptina,mt9v111.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Aptina MT9V111 CMOS sensor
|
||||
|
||||
maintainers:
|
||||
- Jacopo Mondi <jacopo@jmondi.org>
|
||||
|
||||
description: |
|
||||
The Aptina MT9V111 is a 1/4-Inch VGA-format digital image sensor with a core
|
||||
based on Aptina MT9V011 sensor and an integrated Image Flow Processor (IFP).
|
||||
|
||||
The sensor has an active pixel array of 640x480 pixels and can output a number
|
||||
of image resolutions and formats controllable through a simple two-wires
|
||||
interface.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: aptina,mt9v111
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: Enable signal, pin name "OE#". Active low.
|
||||
maxItems: 1
|
||||
|
||||
standby-gpios:
|
||||
description: |
|
||||
Low power state control signal, pin name "STANDBY". Active high.
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: Chip reset signal, pin name "RESET#". Active low.
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: |
|
||||
Output video port. See ../video-interfaces.txt.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@48 {
|
||||
compatible = "aptina,mt9v111";
|
||||
reg = <0x48>;
|
||||
clocks = <&camera_clk>;
|
||||
|
||||
port {
|
||||
mt9v111_out: endpoint {
|
||||
remote-endpoint = <&ceu_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,135 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright (C) 2014--2020 Intel Corporation
|
||||
|
||||
$id: http://devicetree.org/schemas/media/i2c/mipi-ccs.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MIPI CCS, SMIA++ and SMIA compliant camera sensors
|
||||
|
||||
maintainers:
|
||||
- Sakari Ailus <sakari.ailus@linux.intel.com>
|
||||
|
||||
description:
|
||||
|
||||
CCS (Camera Command Set) is a raw Bayer camera sensor standard defined by the
|
||||
MIPI Alliance; see
|
||||
<URL:https://www.mipi.org/specifications/camera-command-set>.
|
||||
|
||||
SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
|
||||
defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
|
||||
that.
|
||||
|
||||
More detailed documentation can be found in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt .
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: mipi-ccs-1.1
|
||||
- const: mipi-ccs
|
||||
- items:
|
||||
- const: mipi-ccs-1.0
|
||||
- const: mipi-ccs
|
||||
- const: nokia,smia
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vana-supply:
|
||||
description: Analogue voltage supply (VANA), sensor dependent.
|
||||
maxItems: 1
|
||||
|
||||
vcore-supply:
|
||||
description: Core voltage supply (VCore), sensor dependent.
|
||||
maxItems: 1
|
||||
|
||||
vio-supply:
|
||||
description: I/O voltage supply (VIO), sensor dependent.
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description: External clock to the sensor.
|
||||
maxItems: 1
|
||||
|
||||
clock-frequency:
|
||||
description: Frequency of the external clock to the sensor in Hz.
|
||||
|
||||
reset-gpios:
|
||||
description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
|
||||
documentation.
|
||||
maxItems: 1
|
||||
|
||||
flash-leds:
|
||||
description: Flash LED phandles. See ../video-interfaces.txt for details.
|
||||
|
||||
lens-focus:
|
||||
description: Lens focus controller phandles. See ../video-interfaces.txt
|
||||
for details.
|
||||
|
||||
rotation:
|
||||
description: Rotation of the sensor. See ../video-interfaces.txt for
|
||||
details.
|
||||
enum: [ 0, 180 ]
|
||||
|
||||
port:
|
||||
type: object
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
properties:
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: List of allowed data link frequencies.
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
bus-type:
|
||||
description: The type of the data bus.
|
||||
oneOf:
|
||||
- const: 1 # CSI-2 C-PHY
|
||||
- const: 3 # CCP2
|
||||
- const: 4 # CSI-2 D-PHY
|
||||
|
||||
required:
|
||||
- link-frequencies
|
||||
- data-lanes
|
||||
- bus-type
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clock-frequency
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
clock-frequency = <400000>;
|
||||
|
||||
camera-sensor@10 {
|
||||
compatible = "mipi-ccs-1.0", "mipi-ccs";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
||||
vana-supply = <&vaux3>;
|
||||
clocks = <&omap3_isp 0>;
|
||||
clock-frequency = <9600000>;
|
||||
port {
|
||||
ccs_ep: endpoint {
|
||||
data-lanes = <1 2>;
|
||||
remote-endpoint = <&csi2a_ep>;
|
||||
link-frequencies = /bits/ 64 <199200000 210000000
|
||||
499200000>;
|
||||
bus-type = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -1,66 +0,0 @@
|
||||
SMIA/SMIA++ sensor
|
||||
|
||||
SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
|
||||
defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
|
||||
of that. These definitions are valid for both types of sensors.
|
||||
|
||||
More detailed documentation can be found in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt .
|
||||
|
||||
The device node should contain a "port" node which may contain one or more
|
||||
endpoint nodes, in accordance with video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt .
|
||||
|
||||
Mandatory properties
|
||||
--------------------
|
||||
|
||||
- compatible: "nokia,smia"
|
||||
- reg: I2C address (0x10, or an alternative address)
|
||||
- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
|
||||
dependent).
|
||||
- clocks: External clock to the sensor
|
||||
- clock-frequency: Frequency of the external clock to the sensor
|
||||
- link-frequencies: List of allowed data link frequencies. An array of
|
||||
64-bit elements.
|
||||
|
||||
|
||||
Optional properties
|
||||
-------------------
|
||||
|
||||
- reset-gpios: XSHUTDOWN GPIO
|
||||
- flash-leds: See ../video-interfaces.txt
|
||||
- lens-focus: See ../video-interfaces.txt
|
||||
- rotation: Integer property; valid values are 0 (sensor mounted upright)
|
||||
and 180 (sensor mounted upside down). See
|
||||
../video-interfaces.txt .
|
||||
|
||||
|
||||
Endpoint node mandatory properties
|
||||
----------------------------------
|
||||
|
||||
- data-lanes: <1..n>
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
|
||||
camera-sensor@10 {
|
||||
compatible = "nokia,smia";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio3 20 0>;
|
||||
vana-supply = <&vaux3>;
|
||||
clocks = <&omap3_isp 0>;
|
||||
clock-frequency = <9600000>;
|
||||
nokia,nvm-size = <512>; /* 8 * 64 */
|
||||
link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
|
||||
port {
|
||||
smiapp_ep: endpoint {
|
||||
data-lanes = <1 2>;
|
||||
remote-endpoint = <&csi2a_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,46 +0,0 @@
|
||||
* Omnivision OV2680 MIPI CSI-2 sensor
|
||||
|
||||
Required Properties:
|
||||
- compatible: should be "ovti,ov2680".
|
||||
- clocks: reference to the xvclk input clock.
|
||||
- clock-names: should be "xvclk".
|
||||
- DOVDD-supply: Digital I/O voltage supply.
|
||||
- DVDD-supply: Digital core voltage supply.
|
||||
- AVDD-supply: Analog voltage supply.
|
||||
|
||||
Optional Properties:
|
||||
- reset-gpios: reference to the GPIO connected to the powerdown/reset pin,
|
||||
if any. This is an active low signal to the OV2680.
|
||||
|
||||
The device node must contain one 'port' child node for its digital output
|
||||
video port, and this port must have a single endpoint in accordance with
|
||||
the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Endpoint node required properties for CSI-2 connection are:
|
||||
- remote-endpoint: a phandle to the bus receiver's endpoint node.
|
||||
- clock-lanes: should be set to <0> (clock lane on hardware lane 0).
|
||||
- data-lanes: should be set to <1> (one CSI-2 lane supported).
|
||||
|
||||
Example:
|
||||
|
||||
&i2c2 {
|
||||
ov2680: camera-sensor@36 {
|
||||
compatible = "ovti,ov2680";
|
||||
reg = <0x36>;
|
||||
clocks = <&osc>;
|
||||
clock-names = "xvclk";
|
||||
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
DOVDD-supply = <&sw2_reg>;
|
||||
DVDD-supply = <&sw2_reg>;
|
||||
AVDD-supply = <®_peri_3p15v>;
|
||||
|
||||
port {
|
||||
ov2680_to_mipi: endpoint {
|
||||
remote-endpoint = <&mipi_from_sensor>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,40 +0,0 @@
|
||||
* Omnivision OV7720/OV7725 CMOS sensor
|
||||
|
||||
The Omnivision OV7720/OV7725 sensor supports multiple resolutions output,
|
||||
such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can
|
||||
support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats.
|
||||
|
||||
Required Properties:
|
||||
- compatible: shall be one of
|
||||
"ovti,ov7720"
|
||||
"ovti,ov7725"
|
||||
- clocks: reference to the xclk input clock.
|
||||
|
||||
Optional Properties:
|
||||
- reset-gpios: reference to the GPIO connected to the RSTB pin which is
|
||||
active low, if any.
|
||||
- powerdown-gpios: reference to the GPIO connected to the PWDN pin which is
|
||||
active high, if any.
|
||||
|
||||
The device node shall contain one 'port' child node with one child 'endpoint'
|
||||
subnode for its digital output video port, in accordance with the video
|
||||
interface bindings defined in Documentation/devicetree/bindings/media/
|
||||
video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
|
||||
&i2c0 {
|
||||
ov772x: camera@21 {
|
||||
compatible = "ovti,ov7725";
|
||||
reg = <0x21>;
|
||||
reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>;
|
||||
powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&xclk>;
|
||||
|
||||
port {
|
||||
ov772x_0: endpoint {
|
||||
remote-endpoint = <&vcap1_in0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,159 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright (c) 2020 MediaTek Inc.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov02a10.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Omnivision OV02A10 CMOS Sensor Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Dongchun Zhu <dongchun.zhu@mediatek.com>
|
||||
|
||||
description: |-
|
||||
The Omnivision OV02A10 is a low-cost, high performance, 1/5-inch, 2 megapixel
|
||||
image sensor, which is the latest production derived from Omnivision's CMOS
|
||||
image sensor technology. Ihis chip supports high frame rate speeds up to 30fps
|
||||
@ 1600x1200 (UXGA) resolution transferred over a 1-lane MIPI interface. The
|
||||
sensor output is available via CSI-2 serial data output.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov02a10
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
description:
|
||||
External clock for the sensor.
|
||||
items:
|
||||
- const: eclk
|
||||
|
||||
clock-frequency:
|
||||
description:
|
||||
Frequency of the eclk clock in Hz.
|
||||
|
||||
dovdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as Digital I/O voltage supply.
|
||||
|
||||
avdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as Analog voltage supply.
|
||||
|
||||
dvdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as Digital core voltage supply.
|
||||
|
||||
powerdown-gpios:
|
||||
description:
|
||||
Must be the device tree identifier of the GPIO connected to the
|
||||
PD_PAD pin. This pin is used to place the OV02A10 into standby mode
|
||||
or shutdown mode. As the line needs to be high for the powerdown mode
|
||||
to be active, it should be marked GPIO_ACTIVE_HIGH.
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
Must be the device tree identifier of the GPIO connected to the
|
||||
RST_PD pin. If specified, it will be asserted during driver probe.
|
||||
As the line needs to be low for the reset to be active, it should be
|
||||
marked GPIO_ACTIVE_LOW.
|
||||
maxItems: 1
|
||||
|
||||
rotation:
|
||||
description:
|
||||
Definition of the sensor's placement.
|
||||
allOf:
|
||||
- $ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
- enum:
|
||||
- 0 # Sensor Mounted Upright
|
||||
- 180 # Sensor Mounted Upside Down
|
||||
default: 0
|
||||
|
||||
# See ../video-interfaces.txt for details
|
||||
port:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
Output port node, single endpoint describing the CSI-2 transmitter.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
link-frequencies: true
|
||||
ovti,mipi-clock-voltage:
|
||||
allOf:
|
||||
- $ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
description:
|
||||
Definition of MIPI clock voltage unit. This entry corresponds to
|
||||
the link speed defined by the 'link-frequencies' property.
|
||||
If present, the value shall be in the range of 0-4.
|
||||
default: 4
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- link-frequencies
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- clock-frequency
|
||||
- dovdd-supply
|
||||
- avdd-supply
|
||||
- dvdd-supply
|
||||
- powerdown-gpios
|
||||
- reset-gpios
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ov02a10: camera-sensor@3d {
|
||||
compatible = "ovti,ov02a10";
|
||||
reg = <0x3d>;
|
||||
|
||||
powerdown-gpios = <&pio 107 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
|
||||
|
||||
clocks = <&ov02a10_clk>;
|
||||
clock-names = "eclk";
|
||||
clock-frequency = <24000000>;
|
||||
|
||||
rotation = <180>;
|
||||
|
||||
dovdd-supply = <&ov02a10_dovdd>;
|
||||
avdd-supply = <&ov02a10_avdd>;
|
||||
dvdd-supply = <&ov02a10_dvdd>;
|
||||
|
||||
port {
|
||||
wcam_out: endpoint {
|
||||
link-frequencies = /bits/ 64 <390000000>;
|
||||
ovti,mipi-clock-voltage = <3>;
|
||||
remote-endpoint = <&mipi_in_wcam>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,99 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov2680.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Omnivision OV2680 CMOS Sensor
|
||||
|
||||
maintainers:
|
||||
- Rui Miguel Silva <rmfrfs@gmail.com>
|
||||
|
||||
description: |-
|
||||
The OV2680 color sensor is a low voltage, high performance 1/5 inch UXGA (2
|
||||
megapixel) CMOS image sensor that provides a single-chip UXGA (1600 x 1200)
|
||||
camera. It provides full-frame, sub-sampled, or windowed 10-bit images in
|
||||
various formats via the control of the Serial Camera Control Bus (SCCB)
|
||||
interface. The OV2680 has an image array capable of operating at up to 30
|
||||
frames per second (fps) in UXGA resolution.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov2680
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: xvclk
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
The phandle and specifier for the GPIO that controls sensor reset.
|
||||
This corresponds to the hardware pin XSHUTDOWN which is physically
|
||||
active low.
|
||||
maxItems: 1
|
||||
|
||||
dovdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as interface power supply.
|
||||
|
||||
avdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as analog power supply.
|
||||
|
||||
dvdd-supply:
|
||||
description:
|
||||
Definition of the regulator used as digital power supply.
|
||||
|
||||
port:
|
||||
type: object
|
||||
description:
|
||||
A node containing an output port node with an endpoint definition
|
||||
as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- dovdd-supply
|
||||
- avdd-supply
|
||||
- dvdd-supply
|
||||
- reset-gpios
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ov2680: camera-sensor@36 {
|
||||
compatible = "ovti,ov2680";
|
||||
reg = <0x36>;
|
||||
clocks = <&osc>;
|
||||
clock-names = "xvclk";
|
||||
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
|
||||
dovdd-supply = <&sw2_reg>;
|
||||
dvdd-supply = <&sw2_reg>;
|
||||
avdd-supply = <®_peri_3p15v>;
|
||||
|
||||
port {
|
||||
ov2680_to_mipi: endpoint {
|
||||
remote-endpoint = <&mipi_from_sensor>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,134 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov772x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Omnivision OV7720/OV7725 CMOS sensor
|
||||
|
||||
maintainers:
|
||||
- Jacopo Mondi <jacopo@jmondi.org>
|
||||
|
||||
description: |
|
||||
The Omnivision OV7720/OV7725 sensor supports multiple resolutions output,
|
||||
such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can
|
||||
support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ovti,ov7720
|
||||
- ovti,ov7725
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: |
|
||||
Reference to the GPIO connected to the RSTB pin which is active low.
|
||||
maxItems: 1
|
||||
|
||||
powerdown-gpios:
|
||||
description: |
|
||||
Reference to the GPIO connected to the PWDN pin which is active high.
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: |
|
||||
Video output port. See ../video-interfaces.txt.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
bus-type:
|
||||
enum: [5, 6]
|
||||
|
||||
bus-width:
|
||||
enum: [8, 10]
|
||||
default: 10
|
||||
|
||||
data-shift:
|
||||
enum: [0, 2]
|
||||
default: 0
|
||||
|
||||
hsync-active:
|
||||
enum: [0, 1]
|
||||
default: 1
|
||||
|
||||
vsync-active:
|
||||
enum: [0, 1]
|
||||
default: 1
|
||||
|
||||
pclk-sample:
|
||||
enum: [0, 1]
|
||||
default: 1
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
bus-type:
|
||||
const: 6
|
||||
then:
|
||||
properties:
|
||||
hsync-active: false
|
||||
vsync-active: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
bus-width:
|
||||
const: 10
|
||||
then:
|
||||
properties:
|
||||
data-shift:
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- bus-type
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ov772x: camera@21 {
|
||||
compatible = "ovti,ov7725";
|
||||
reg = <0x21>;
|
||||
reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>;
|
||||
powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&xclk>;
|
||||
|
||||
port {
|
||||
ov772x_0: endpoint {
|
||||
bus-type = <5>;
|
||||
vsync-active = <0>;
|
||||
hsync-active = <0>;
|
||||
pclk-sample = <0>;
|
||||
bus-width = <8>;
|
||||
data-shift = <0>;
|
||||
remote-endpoint = <&vcap1_in0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,53 +0,0 @@
|
||||
* Sony 1/3.06-Inch 13.13Mp CMOS Digital Image Sensor
|
||||
|
||||
The Sony imx214 is a 1/3.06-inch CMOS active pixel digital image sensor with
|
||||
an active array size of 4224H x 3200V. It is programmable through an I2C
|
||||
interface.
|
||||
Image data is sent through MIPI CSI-2, through 2 or 4 lanes at a maximum
|
||||
throughput of 1.2Gbps/lane.
|
||||
|
||||
|
||||
Required Properties:
|
||||
- compatible: Shall be "sony,imx214".
|
||||
- reg: I2C bus address of the device. Depending on how the sensor is wired,
|
||||
it shall be <0x10> or <0x1a>;
|
||||
- enable-gpios: GPIO descriptor for the enable pin.
|
||||
- vdddo-supply: Chip digital IO regulator (1.8V).
|
||||
- vdda-supply: Chip analog regulator (2.7V).
|
||||
- vddd-supply: Chip digital core regulator (1.12V).
|
||||
- clocks: Reference to the xclk clock.
|
||||
- clock-frequency: Frequency of the xclk clock.
|
||||
|
||||
Optional Properties:
|
||||
- flash-leds: See ../video-interfaces.txt
|
||||
- lens-focus: See ../video-interfaces.txt
|
||||
|
||||
The imx214 device node shall contain one 'port' child node with
|
||||
an 'endpoint' subnode. For further reading on port node refer to
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Required Properties on endpoint:
|
||||
- data-lanes: check ../video-interfaces.txt
|
||||
- link-frequencies: check ../video-interfaces.txt
|
||||
- remote-endpoint: check ../video-interfaces.txt
|
||||
|
||||
Example:
|
||||
|
||||
camera-sensor@1a {
|
||||
compatible = "sony,imx214";
|
||||
reg = <0x1a>;
|
||||
vdddo-supply = <&pm8994_lvs1>;
|
||||
vddd-supply = <&camera_vddd_1v12>;
|
||||
vdda-supply = <&pm8994_l17>;
|
||||
lens-focus = <&ad5820>;
|
||||
enable-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&mmcc CAMSS_MCLK0_CLK>;
|
||||
clock-frequency = <24000000>;
|
||||
port {
|
||||
imx214_ep: endpoint {
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <480000000>;
|
||||
remote-endpoint = <&csiphy0_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,133 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/sony,imx214.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sony 1/3.06-Inch 13.13MP CMOS Digital Image Sensor
|
||||
|
||||
maintainers:
|
||||
- Ricardo Ribalda <ribalda@kernel.org>
|
||||
|
||||
description: |
|
||||
The Sony IMX214 is a 1/3.06-inch CMOS active pixel digital image sensor with
|
||||
an active array size of 4224H x 3200V. It is programmable through an I2C
|
||||
interface. Image data is sent through MIPI CSI-2, through 2 or 4 lanes at a
|
||||
maximum throughput of 1.2Gbps/lane.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sony,imx214
|
||||
|
||||
reg:
|
||||
enum:
|
||||
- 0x10
|
||||
- 0x1a
|
||||
|
||||
clocks:
|
||||
description: Reference to the xclk clock.
|
||||
maxItems: 1
|
||||
|
||||
clock-frequency:
|
||||
description: Frequency of the xclk clock in Hz.
|
||||
|
||||
enable-gpios:
|
||||
description: GPIO descriptor for the enable pin.
|
||||
maxItems: 1
|
||||
|
||||
vdddo-supply:
|
||||
description: Chip digital IO regulator (1.8V).
|
||||
maxItems: 1
|
||||
|
||||
vdda-supply:
|
||||
description: Chip analog regulator (2.7V).
|
||||
maxItems: 1
|
||||
|
||||
vddd-supply:
|
||||
description: Chip digital core regulator (1.12V).
|
||||
maxItems: 1
|
||||
|
||||
flash-leds:
|
||||
description: See ../video-interfaces.txt
|
||||
|
||||
lens-focus:
|
||||
description: See ../video-interfaces.txt
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: |
|
||||
Video output port. See ../video-interfaces.txt.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: See ../video-interfaces.txt
|
||||
anyOf:
|
||||
- items:
|
||||
- const: 1
|
||||
- const: 2
|
||||
- items:
|
||||
- const: 1
|
||||
- const: 2
|
||||
- const: 3
|
||||
- const: 4
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: See ../video-interfaces.txt
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-frequency
|
||||
- enable-gpios
|
||||
- vdddo-supply
|
||||
- vdda-supply
|
||||
- vddd-supply
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera-sensor@1a {
|
||||
compatible = "sony,imx214";
|
||||
reg = <0x1a>;
|
||||
vdddo-supply = <&pm8994_lvs1>;
|
||||
vddd-supply = <&camera_vddd_1v12>;
|
||||
vdda-supply = <&pm8994_l17>;
|
||||
lens-focus = <&ad5820>;
|
||||
enable-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&camera_clk>;
|
||||
clock-frequency = <24000000>;
|
||||
|
||||
port {
|
||||
imx214_ep: endpoint {
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <480000000>;
|
||||
remote-endpoint = <&csiphy0_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,42 +0,0 @@
|
||||
Freescale i.MX7 CMOS Sensor Interface
|
||||
=====================================
|
||||
|
||||
csi node
|
||||
--------
|
||||
|
||||
This is device node for the CMOS Sensor Interface (CSI) which enables the chip
|
||||
to connect directly to external CMOS image sensors.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "fsl,imx7-csi" or "fsl,imx6ul-csi";
|
||||
- reg : base address and length of the register set for the device;
|
||||
- interrupts : should contain CSI interrupt;
|
||||
- clocks : list of clock specifiers, see
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt for details;
|
||||
- clock-names : must contain "mclk";
|
||||
|
||||
The device node shall contain one 'port' child node with one child 'endpoint'
|
||||
node, according to the bindings defined in:
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
In the following example a remote endpoint is a video multiplexer.
|
||||
|
||||
example:
|
||||
|
||||
csi: csi@30710000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
compatible = "fsl,imx7-csi";
|
||||
reg = <0x30710000 0x10000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX7D_CSI_MCLK_ROOT_CLK>;
|
||||
clock-names = "mclk";
|
||||
|
||||
port {
|
||||
csi_from_csi_mux: endpoint {
|
||||
remote-endpoint = <&csi_mux_to_csi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,90 +0,0 @@
|
||||
Freescale i.MX7 Mipi CSI2
|
||||
=========================
|
||||
|
||||
mipi_csi2 node
|
||||
--------------
|
||||
|
||||
This is the device node for the MIPI CSI-2 receiver core in i.MX7 SoC. It is
|
||||
compatible with previous version of Samsung D-phy.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "fsl,imx7-mipi-csi2";
|
||||
- reg : base address and length of the register set for the device;
|
||||
- interrupts : should contain MIPI CSIS interrupt;
|
||||
- clocks : list of clock specifiers, see
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt for details;
|
||||
- clock-names : must contain "pclk", "wrap" and "phy" entries, matching
|
||||
entries in the clock property;
|
||||
- power-domains : a phandle to the power domain, see
|
||||
Documentation/devicetree/bindings/power/power_domain.txt for details.
|
||||
- reset-names : should include following entry "mrst";
|
||||
- resets : a list of phandle, should contain reset entry of
|
||||
reset-names;
|
||||
- phy-supply : from the generic phy bindings, a phandle to a regulator that
|
||||
provides power to MIPI CSIS core;
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clock-frequency : The IP's main (system bus) clock frequency in Hz, default
|
||||
value when this property is not specified is 166 MHz;
|
||||
- fsl,csis-hs-settle : differential receiver (HS-RX) settle time;
|
||||
|
||||
The device node should contain two 'port' child nodes with one child 'endpoint'
|
||||
node, according to the bindings defined in:
|
||||
Documentation/devicetree/bindings/ media/video-interfaces.txt.
|
||||
The following are properties specific to those nodes.
|
||||
|
||||
port node
|
||||
---------
|
||||
|
||||
- reg : (required) can take the values 0 or 1, where 0 shall be
|
||||
related to the sink port and port 1 shall be the source
|
||||
one;
|
||||
|
||||
endpoint node
|
||||
-------------
|
||||
|
||||
- data-lanes : (required) an array specifying active physical MIPI-CSI2
|
||||
data input lanes and their mapping to logical lanes; this
|
||||
shall only be applied to port 0 (sink port), the array's
|
||||
content is unused only its length is meaningful,
|
||||
in this case the maximum length supported is 2;
|
||||
|
||||
example:
|
||||
|
||||
mipi_csi: mipi-csi@30750000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
compatible = "fsl,imx7-mipi-csi2";
|
||||
reg = <0x30750000 0x10000>;
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX7D_IPG_ROOT_CLK>,
|
||||
<&clks IMX7D_MIPI_CSI_ROOT_CLK>,
|
||||
<&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
|
||||
clock-names = "pclk", "wrap", "phy";
|
||||
clock-frequency = <166000000>;
|
||||
power-domains = <&pgc_mipi_phy>;
|
||||
phy-supply = <®_1p0d>;
|
||||
resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
|
||||
reset-names = "mrst";
|
||||
fsl,csis-hs-settle = <3>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
mipi_from_sensor: endpoint {
|
||||
remote-endpoint = <&ov2680_to_mipi>;
|
||||
data-lanes = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mipi_vc0_to_csi_mux: endpoint {
|
||||
remote-endpoint = <&csi_mux_from_mipi_vc0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user