mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
Merge d99676af54 ("Merge tag 'drm-next-2021-02-19' of git://anongit.freedesktop.org/drm/drm") into android-mainline
Steps on the way to 5.12-rc1
Resolves conflicts in:
include/drm/drm_prime.h
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib82bdb08d36b5b21bd685e1c60c295c8a560c8ad
This commit is contained in:
1
.mailmap
1
.mailmap
@@ -202,6 +202,7 @@ Li Yang <leoyang.li@nxp.com> <leoli@freescale.com>
|
||||
Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org>
|
||||
Lukasz Luba <lukasz.luba@arm.com> <l.luba@partner.samsung.com>
|
||||
Maciej W. Rozycki <macro@mips.com> <macro@imgtec.com>
|
||||
Maciej W. Rozycki <macro@orcam.me.uk> <macro@linux-mips.org>
|
||||
Manivannan Sadhasivam <mani@kernel.org> <manivannanece23@gmail.com>
|
||||
Manivannan Sadhasivam <mani@kernel.org> <manivannan.sadhasivam@linaro.org>
|
||||
Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com>
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
What: /sys/bus/vmbus/hibernation
|
||||
Date: Jan 2021
|
||||
KernelVersion: 5.12
|
||||
Contact: Dexuan Cui <decui@microsoft.com>
|
||||
Description: Whether the host supports hibernation for the VM.
|
||||
Users: Daemon that sets up swap partition/file for hibernation.
|
||||
|
||||
What: /sys/bus/vmbus/devices/<UUID>/id
|
||||
Date: Jul 2009
|
||||
KernelVersion: 2.6.31
|
||||
|
||||
@@ -84,36 +84,23 @@ properties:
|
||||
const: dma-mem
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Output endpoints of the controller.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -57,35 +57,22 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -76,37 +76,24 @@ properties:
|
||||
- const: audio-tx
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller. Usually an HDMI
|
||||
connector.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -115,31 +115,24 @@ properties:
|
||||
- const: lvds
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Output endpoints of the controller.
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9])$":
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
allwinner,tcon-channel:
|
||||
@@ -156,16 +149,10 @@ properties:
|
||||
property is not present, the endpoint number will be
|
||||
used as the channel number.
|
||||
|
||||
unevaluatedProperties: true
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -24,11 +24,9 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt. The
|
||||
first port should be the input endpoint, usually coming from the
|
||||
The first port should be the input endpoint, usually coming from the
|
||||
associated TCON.
|
||||
|
||||
required:
|
||||
|
||||
@@ -46,36 +46,23 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -47,11 +47,9 @@ properties:
|
||||
const: dphy
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt. That
|
||||
port should be the input endpoint, usually coming from the
|
||||
The port should be the input endpoint, usually coming from the
|
||||
associated TCON.
|
||||
|
||||
required:
|
||||
|
||||
@@ -43,35 +43,22 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -93,38 +93,25 @@ properties:
|
||||
The VCC power supply of the controller
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller. Usually the associated
|
||||
TCON.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller. Usually an HDMI
|
||||
connector.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -80,141 +80,45 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
All ports should have only one endpoint connected to
|
||||
remote endpoint.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoint for Mixer 0 mux.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoint for Mixer 0 mux
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
reg: true
|
||||
|
||||
patternProperties:
|
||||
"^endpoint@[0-9]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: |
|
||||
ID of the target TCON
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoint for Mixer 1 mux.
|
||||
|
||||
port@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoint for Mixer 1 mux
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
reg: true
|
||||
|
||||
patternProperties:
|
||||
"^endpoint@[0-9]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: |
|
||||
ID of the target TCON
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@4:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoint for HDMI mux.
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
reg: true
|
||||
|
||||
patternProperties:
|
||||
"^endpoint@[0-9]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: |
|
||||
ID of the target TCON
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@5:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoint for HDMI mux
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
- port@4
|
||||
- port@5
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- "#clock-cells"
|
||||
- compatible
|
||||
|
||||
@@ -40,36 +40,23 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
A ports node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Input endpoints of the controller.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output endpoints of the controller.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -81,12 +81,12 @@ properties:
|
||||
description: phandle to an external 5V regulator to power the HDMI logic
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node pointing to the VENC Input port node.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node pointing to the TMDS Output port node.
|
||||
|
||||
|
||||
@@ -83,12 +83,12 @@ properties:
|
||||
description: phandle to the associated power domain
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node pointing to the CVBS VDAC port node.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node pointing to the HDMI-TX port node.
|
||||
|
||||
|
||||
@@ -53,6 +53,24 @@ properties:
|
||||
- const: audio
|
||||
- const: cec
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: CEC TX interrupt
|
||||
- description: CEC RX interrupt
|
||||
- description: CEC stuck at low interrupt
|
||||
- description: Wake-up interrupt
|
||||
- description: Hotplug connected interrupt
|
||||
- description: Hotplug removed interrupt
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: cec-tx
|
||||
- const: cec-rx
|
||||
- const: cec-low
|
||||
- const: wakeup
|
||||
- const: hpd-connected
|
||||
- const: hpd-removed
|
||||
|
||||
ddc:
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||
@@ -90,7 +108,7 @@ required:
|
||||
- resets
|
||||
- ddc
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -27,10 +27,9 @@ properties:
|
||||
- const: pixel
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: >
|
||||
Port node with a single endpoint connecting to the panel, as
|
||||
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Port node with a single endpoint connecting to the panel.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -18,6 +18,7 @@ properties:
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,bcm2711-dsi1
|
||||
- brcm,bcm2835-dsi0
|
||||
- brcm,bcm2835-dsi1
|
||||
|
||||
|
||||
@@ -35,16 +35,16 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for MIPI DSI input.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for panel or connector.
|
||||
|
||||
|
||||
@@ -42,31 +42,18 @@ properties:
|
||||
description: Regulator for 1.0V digital core power.
|
||||
|
||||
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
|
||||
Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Video port for HDMI input.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for SlimPort, DisplayPort, eDP or MyDP output.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
@@ -32,31 +32,23 @@ properties:
|
||||
description: Regulator for 2.5V digital core power.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for LVTTL input
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for eDP output (panel or connector).
|
||||
May be omitted if EDID works reliably.
|
||||
|
||||
required:
|
||||
- port@0
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -57,47 +57,37 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
Ports as described in Documentation/devicetree/bindings/graph.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
First input port representing the DP bridge input.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Second input port representing the DP bridge input.
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Third input port representing the DP bridge input.
|
||||
|
||||
port@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Fourth input port representing the DP bridge input.
|
||||
|
||||
port@4:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Output port representing the DP bridge output.
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@4
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
|
||||
@@ -19,16 +19,16 @@ properties:
|
||||
description: I2C address of the device
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Video port for RGB input.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
DVI port, should be connected to a node compatible with the
|
||||
dvi-connector binding.
|
||||
|
||||
@@ -35,29 +35,21 @@ properties:
|
||||
- const: clk_mipi_cfg
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: MIPI DSI input port.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: DSI output port.
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -53,7 +53,7 @@ properties:
|
||||
description: extcon specifier for the Power Delivery
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: A port node pointing to DPI host port node
|
||||
|
||||
required:
|
||||
|
||||
@@ -38,82 +38,26 @@ properties:
|
||||
description: Regulator for 3.3V IO power.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Primary MIPI port-1 for MIPI input
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9])$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Additional MIPI port-2 for MIPI input, used in combination
|
||||
with primary MIPI port-1 to drive higher resolution displays
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9])$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
HDMI port for HDMI output
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 2
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9])$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@2
|
||||
|
||||
|
||||
@@ -45,25 +45,17 @@ properties:
|
||||
- thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
This device has two video ports. Their connections are modeled using the
|
||||
OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
For LVDS encoders, port 0 is the parallel input
|
||||
For LVDS decoders, port 0 is the LVDS input
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
For LVDS encoders, port 1 is the LVDS output
|
||||
For LVDS decoders, port 1 is the parallel output
|
||||
@@ -72,8 +64,6 @@ properties:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
powerdown-gpios:
|
||||
description:
|
||||
The GPIO used to control the power down line of this device.
|
||||
|
||||
@@ -84,40 +84,23 @@ properties:
|
||||
- const: pclk
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
A node containing DSI input & output port nodes with endpoint
|
||||
definitions as documented in
|
||||
Documentation/devicetree/bindings/graph.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
description:
|
||||
Input port node to receive pixel data from the
|
||||
display controller. Exactly one endpoint must be
|
||||
specified.
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
endpoint@0:
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: sub-node describing the input from LCDIF
|
||||
type: object
|
||||
|
||||
endpoint@1:
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: sub-node describing the input from DCSS
|
||||
type: object
|
||||
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
- reg
|
||||
|
||||
oneOf:
|
||||
- required:
|
||||
@@ -125,28 +108,18 @@ properties:
|
||||
- required:
|
||||
- endpoint@1
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
DSI output port node to the panel or the next bridge
|
||||
in the chain
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
|
||||
@@ -41,34 +41,22 @@ properties:
|
||||
description: Regulator for 3.3V digital core power.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
A node containing DSI input & output port nodes with endpoint
|
||||
definitions as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for DSI input
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for eDP output (panel or connector).
|
||||
|
||||
required:
|
||||
- port@0
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -49,33 +49,21 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
This device has two video ports. Their connections are modelled using the
|
||||
OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
|
||||
Each port shall have a single endpoint.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Parallel RGB input port
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: LVDS output port
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
@@ -83,9 +71,9 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to the companion LVDS encoder. This property is mandatory
|
||||
for the first LVDS encoder on D3 and E3 SoCs, and shall point to
|
||||
the second encoder to be used as a companion in dual-link mode. It
|
||||
shall not be set for any other LVDS encoder.
|
||||
for the first LVDS encoder on R-Car D3 and E3, and RZ/G2E SoCs, and shall
|
||||
point to the second encoder to be used as a companion in dual-link mode.
|
||||
It shall not be set for any other LVDS encoder.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -30,31 +30,21 @@ properties:
|
||||
- ti,ths8135
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description: |
|
||||
This device has two video ports. Their connections are modeled using the
|
||||
OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: The bridge input
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: The bridge output
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
description: GPIO controlling bridge enable
|
||||
|
||||
@@ -47,14 +47,15 @@ properties:
|
||||
const: apb
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Input node to receive pixel data.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: DSI output node to panel.
|
||||
|
||||
required:
|
||||
|
||||
@@ -25,46 +25,41 @@ properties:
|
||||
const: thine,thc63lvd1024
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
description: |
|
||||
This device has four video ports. Their connections are modeled using the
|
||||
OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
|
||||
The device can operate in single or dual input and output modes.
|
||||
|
||||
The device can operate in single-link mode or dual-link mode. In
|
||||
single-link mode, all pixels are received on port@0, and port@1 shall not
|
||||
contain any endpoint. In dual-link mode, even-numbered pixels are
|
||||
received on port@0 and odd-numbered pixels on port@1, and both port@0 and
|
||||
port@1 shall contain endpoints.
|
||||
When operating in single input mode, all pixels are received on port@0,
|
||||
and port@1 shall not contain any endpoint. In dual input mode,
|
||||
even-numbered pixels are received on port@0 and odd-numbered pixels on
|
||||
port@1, and both port@0 and port@1 shall contain endpoints.
|
||||
|
||||
When operating in single output mode all pixels are output from the first
|
||||
CMOS/TTL port and port@3 shall not contain any endpoint. In dual output
|
||||
mode pixels are output from both CMOS/TTL ports and both port@2 and
|
||||
port@3 shall contain endpoints.
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: First LVDS input port
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Second LVDS input port
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: First digital CMOS/TTL parallel output
|
||||
|
||||
port@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Second digital CMOS/TTL parallel output
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@2
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
oe-gpios:
|
||||
maxItems: 1
|
||||
description: Output enable GPIO signal, pin name "OE", active high.
|
||||
|
||||
@@ -71,54 +71,26 @@ properties:
|
||||
description: See ../../pwm/pwm.yaml for description of the cell formats.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for MIPI DSI input
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Video port for eDP output (panel or connector).
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
data-lanes:
|
||||
oneOf:
|
||||
- minItems: 1
|
||||
@@ -171,12 +143,7 @@ properties:
|
||||
dependencies:
|
||||
lane-polarities: [data-lanes]
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
|
||||
@@ -31,23 +31,18 @@ properties:
|
||||
maximum: 7
|
||||
|
||||
ports:
|
||||
description:
|
||||
A node containing input and output port nodes with endpoint
|
||||
definitions as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: DPI input port.
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
pclk-sample:
|
||||
@@ -67,15 +62,8 @@ properties:
|
||||
default: 24
|
||||
|
||||
port@1:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: DVI output port.
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
required:
|
||||
- port@0
|
||||
|
||||
@@ -25,62 +25,20 @@ properties:
|
||||
description: Regulator for 1.2V internal core power.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for MIPI DSI input
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
description: |
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Video port for MIPI DPI output (panel or connector).
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
|
||||
@@ -42,65 +42,30 @@ properties:
|
||||
const: refclk
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Video port for RGB input
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lines:
|
||||
enum: [ 16, 18, 24 ]
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Video port for DSI output (panel or connector).
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
@@ -156,4 +121,3 @@ examples:
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -42,31 +42,22 @@ properties:
|
||||
description: Hardware reset, Low active
|
||||
|
||||
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
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
DSI Input. The remote endpoint phandle should be a
|
||||
reference to a valid mipi_dsi_host device node.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Video port for LVDS output (panel or connector).
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Video port for Dual link LVDS output (panel or connector).
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to controller providing analog TV signals
|
||||
|
||||
required:
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/connector/dp-connector.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: DisplayPort Connector
|
||||
|
||||
maintainers:
|
||||
- Tomi Valkeinen <tomi.valkeinen@ti.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: dp-connector
|
||||
|
||||
label: true
|
||||
|
||||
type:
|
||||
enum:
|
||||
- full-size
|
||||
- mini
|
||||
|
||||
hpd-gpios:
|
||||
description: A GPIO line connected to HPD
|
||||
maxItems: 1
|
||||
|
||||
dp-pwr-supply:
|
||||
description: Power supply for the DP_PWR pin
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to controller providing DP signals
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- type
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
connector {
|
||||
compatible = "dp-connector";
|
||||
label = "dp0";
|
||||
type = "full-size";
|
||||
|
||||
port {
|
||||
dp_connector_in: endpoint {
|
||||
remote-endpoint = <&dp_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -36,6 +36,7 @@ properties:
|
||||
description: the connector has pins for DVI dual-link
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to controller providing DVI signals
|
||||
|
||||
required:
|
||||
|
||||
@@ -37,6 +37,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to controller providing HDMI signals
|
||||
|
||||
required:
|
||||
|
||||
@@ -20,6 +20,7 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to controller providing VGA signals
|
||||
|
||||
required:
|
||||
|
||||
@@ -74,7 +74,7 @@ properties:
|
||||
- description: Must be 400 MHz
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node pointing to the input port of a HDMI/DP or MIPI display bridge.
|
||||
|
||||
|
||||
@@ -31,9 +31,8 @@ properties:
|
||||
clock-names:
|
||||
const: ipu
|
||||
|
||||
patternProperties:
|
||||
"^ports?$":
|
||||
description: OF graph bindings (specified in bindings/graph.txt).
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -39,18 +39,18 @@ properties:
|
||||
minItems: 1
|
||||
|
||||
port:
|
||||
description: OF graph bindings (specified in bindings/graph.txt).
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
ports:
|
||||
description: OF graph bindings (specified in bindings/graph.txt).
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: DPI output, to interface with TFT panels.
|
||||
|
||||
port@8:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Link to the Image Processing Unit (IPU).
|
||||
(See ingenic,ipu.yaml).
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Display output node to DSI.
|
||||
|
||||
required:
|
||||
|
||||
@@ -37,13 +37,14 @@ Required properties (all function blocks):
|
||||
"mediatek,<chip>-disp-aal" - adaptive ambient light controller
|
||||
"mediatek,<chip>-disp-gamma" - gamma correction
|
||||
"mediatek,<chip>-disp-merge" - merge streams from two RDMA sources
|
||||
"mediatek,<chip>-disp-postmask" - control round corner for display frame
|
||||
"mediatek,<chip>-disp-split" - split stream to two encoders
|
||||
"mediatek,<chip>-disp-ufoe" - data compression engine
|
||||
"mediatek,<chip>-dsi" - DSI controller, see mediatek,dsi.txt
|
||||
"mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt
|
||||
"mediatek,<chip>-disp-mutex" - display mutex
|
||||
"mediatek,<chip>-disp-od" - overdrive
|
||||
the supported chips are mt2701, mt7623, mt2712, mt8167 and mt8173.
|
||||
the supported chips are mt2701, mt7623, mt2712, mt8167, mt8173, mt8183 and mt8192.
|
||||
- reg: Physical base address and length of the function block register space
|
||||
- interrupts: The interrupt signal from the function block (required, except for
|
||||
merge and split function blocks).
|
||||
@@ -66,6 +67,14 @@ Required properties (DMA function blocks):
|
||||
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
|
||||
for details.
|
||||
|
||||
Optional properties (RDMA function blocks):
|
||||
- mediatek,rdma-fifo-size: rdma fifo size may be different even in same SOC, add this
|
||||
property to the corresponding rdma
|
||||
the value is the Max value which defined in hardware data sheet.
|
||||
mediatek,rdma-fifo-size of mt8173-rdma0 is 8K
|
||||
mediatek,rdma-fifo-size of mt8183-rdma0 is 5K
|
||||
mediatek,rdma-fifo-size of mt8183-rdma1 is 2K
|
||||
|
||||
Examples:
|
||||
|
||||
mmsys: clock-controller@14000000 {
|
||||
@@ -103,6 +112,7 @@ rdma0: rdma@1400e000 {
|
||||
clocks = <&mmsys CLK_MM_DISP_RDMA0>;
|
||||
iommus = <&iommu M4U_PORT_DISP_RDMA0>;
|
||||
mediatek,larb = <&larb0>;
|
||||
mediatek,rdma-fifosize = <8192>;
|
||||
};
|
||||
|
||||
rdma1: rdma@1400f000 {
|
||||
|
||||
@@ -37,34 +37,33 @@ properties:
|
||||
panel-timing: true
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: The sink for odd pixels.
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
dual-lvds-odd-pixels: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- dual-lvds-odd-pixels
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: The sink for even pixels.
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
dual-lvds-even-pixels: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- dual-lvds-even-pixels
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
|
||||
@@ -20,6 +20,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mantix,mlaf057we51-x
|
||||
- ys,ys57pss36bh5gq
|
||||
|
||||
port: true
|
||||
reg:
|
||||
|
||||
@@ -68,16 +68,7 @@ properties:
|
||||
|
||||
# Connectivity
|
||||
port:
|
||||
type: object
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
Panels receive video data through one or multiple connections. While
|
||||
the nature of those connections is specific to the panel type, the
|
||||
connectivity is expressed in a standard fashion using ports as specified
|
||||
in the device graph bindings defined in
|
||||
Documentation/devicetree/bindings/graph.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
ddc-i2c-bus:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
@@ -35,6 +35,8 @@ properties:
|
||||
- boe,tv080wum-nl0
|
||||
# Innolux P079ZCA 7.85" 768x1024 TFT LCD panel
|
||||
- innolux,p079zca
|
||||
# Khadas TS050 5" 1080x1920 LCD panel
|
||||
- khadas,ts050
|
||||
# Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel
|
||||
- kingdisplay,kd097d04
|
||||
# LG ACX467AKM-7 4.95" 1080×1920 LCD Panel
|
||||
|
||||
@@ -76,6 +76,8 @@ properties:
|
||||
# BOE OPTOELECTRONICS TECHNOLOGY 10.1" WXGA TFT LCD panel
|
||||
- boe,nv101wxmn51
|
||||
# BOE NV133FHM-N61 13.3" FHD (1920x1080) TFT LCD Panel
|
||||
- boe,nv110wtm-n61
|
||||
# BOE NV110WTM-N61 11.0" 2160x1440 TFT LCD Panel
|
||||
- boe,nv133fhm-n61
|
||||
# BOE NV133FHM-N62 13.3" FHD (1920x1080) TFT LCD Panel
|
||||
- boe,nv133fhm-n62
|
||||
|
||||
@@ -11,6 +11,7 @@ maintainers:
|
||||
|
||||
allOf:
|
||||
- $ref: panel-common.yaml#
|
||||
- $ref: /schemas/leds/backlight/common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -19,6 +20,8 @@ properties:
|
||||
reg: true
|
||||
reset-gpios: true
|
||||
port: true
|
||||
default-brightness: true
|
||||
max-brightness: true
|
||||
|
||||
vdd3-supply:
|
||||
description: VDD regulator
|
||||
@@ -31,7 +34,6 @@ required:
|
||||
- reset-gpios
|
||||
- vdd3-supply
|
||||
- vci-supply
|
||||
- port
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
||||
@@ -43,34 +43,24 @@ properties:
|
||||
This soc uses GRF regs to switch the HDMI TX input between vop0 and vop1.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Port node with two endpoints, numbered 0 and 1,
|
||||
connected respectively to vop0 and vop1.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Port node with one endpoint connected to a hdmi-connector node.
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -70,10 +70,7 @@ properties:
|
||||
- const: dclk
|
||||
|
||||
port:
|
||||
type: object
|
||||
description:
|
||||
A port node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
assigned-clocks:
|
||||
maxItems: 2
|
||||
|
||||
@@ -51,20 +51,16 @@ properties:
|
||||
Phandle of the regulator that provides the supply voltage.
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
A node containing DSI input & output port nodes with endpoint
|
||||
definitions as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
DSI input port node, connected to the ltdc rgb output port.
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
DSI output port node, connected to a panel or a bridge input port"
|
||||
|
||||
|
||||
@@ -35,15 +35,13 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
description:
|
||||
"Video port for DPI RGB output.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Video port for DPI RGB output.
|
||||
ltdc has one video port with up to 2 endpoints:
|
||||
- for external dpi rgb panel or bridge, using gpios.
|
||||
- for internal dpi input of the MIPI DSI host controller.
|
||||
Note: These 2 endpoints cannot be activated simultaneously.
|
||||
Please refer to the bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt."
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
ST-Ericsson Multi Channel Display Engine MCDE
|
||||
|
||||
The ST-Ericsson MCDE is a display controller with support for compositing
|
||||
and displaying several channels memory resident graphics data on DSI or
|
||||
LCD displays or bridges. It is used in the ST-Ericsson U8500 platform.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: must be:
|
||||
"ste,mcde"
|
||||
- reg: register base for the main MCDE control registers, should be
|
||||
0x1000 in size
|
||||
- interrupts: the interrupt line for the MCDE
|
||||
- epod-supply: a phandle to the EPOD regulator
|
||||
- vana-supply: a phandle to the analog voltage regulator
|
||||
- clocks: an array of the MCDE clocks in this strict order:
|
||||
MCDECLK (main MCDE clock), LCDCLK (LCD clock), PLLDSI
|
||||
(HDMI clock), DSI0ESCLK (DSI0 energy save clock),
|
||||
DSI1ESCLK (DSI1 energy save clock), DSI2ESCLK (DSI2 energy
|
||||
save clock)
|
||||
- clock-names: must be the following array:
|
||||
"mcde", "lcd", "hdmi"
|
||||
to match the required clock inputs above.
|
||||
- #address-cells: should be <1> (for the DSI hosts that will be children)
|
||||
- #size-cells: should be <1> (for the DSI hosts that will be children)
|
||||
- ranges: this should always be stated
|
||||
|
||||
Required subnodes:
|
||||
|
||||
The devicetree must specify subnodes for the DSI host adapters.
|
||||
These must have the following characteristics:
|
||||
|
||||
- compatible: must be:
|
||||
"ste,mcde-dsi"
|
||||
- reg: must specify the register range for the DSI host
|
||||
- vana-supply: phandle to the VANA voltage regulator
|
||||
- clocks: phandles to the high speed and low power (energy save) clocks
|
||||
the high speed clock is not present on the third (dsi2) block, so it
|
||||
should only have the "lp" clock
|
||||
- clock-names: "hs" for the high speed clock and "lp" for the low power
|
||||
(energy save) clock
|
||||
- #address-cells: should be <1>
|
||||
- #size-cells: should be <0>
|
||||
|
||||
Display panels and bridges will appear as children on the DSI hosts, and
|
||||
the displays are connected to the DSI hosts using the common binding
|
||||
for video transmitter interfaces; see
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
If a DSI host is unused (not connected) it will have no children defined.
|
||||
|
||||
Example:
|
||||
|
||||
mcde@a0350000 {
|
||||
compatible = "ste,mcde";
|
||||
reg = <0xa0350000 0x1000>;
|
||||
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
epod-supply = <&db8500_b2r2_mcde_reg>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
|
||||
<&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
|
||||
<&prcmu_clk PRCMU_PLLDSI>; /* HDMI clock */
|
||||
clock-names = "mcde", "lcd", "hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
dsi0: dsi@a0351000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0351000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
|
||||
clock-names = "hs", "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
panel {
|
||||
compatible = "samsung,s6d16d0";
|
||||
reg = <0>;
|
||||
vdd1-supply = <&ab8500_ldo_aux1_reg>;
|
||||
reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
};
|
||||
dsi1: dsi@a0352000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0352000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
|
||||
clock-names = "hs", "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
dsi2: dsi@a0353000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0353000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
/* This DSI port only has the Low Power / Energy Save clock */
|
||||
clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
|
||||
clock-names = "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
168
Documentation/devicetree/bindings/display/ste,mcde.yaml
Normal file
168
Documentation/devicetree/bindings/display/ste,mcde.yaml
Normal file
@@ -0,0 +1,168 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/ste,mcde.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ST-Ericsson Multi Channel Display Engine MCDE
|
||||
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ste,mcde
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description: an array of the MCDE clocks
|
||||
items:
|
||||
- description: MCDECLK (main MCDE clock)
|
||||
- description: LCDCLK (LCD clock)
|
||||
- description: PLLDSI (HDMI clock)
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mcde
|
||||
- const: lcd
|
||||
- const: hdmi
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
epod-supply:
|
||||
description: a phandle to the EPOD regulator
|
||||
|
||||
vana-supply:
|
||||
description: a phandle to the analog voltage regulator
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A DPI port node
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
patternProperties:
|
||||
"^dsi@[0-9a-f]+$":
|
||||
description: subnodes for the three DSI host adapters
|
||||
type: object
|
||||
allOf:
|
||||
- $ref: dsi-controller.yaml#
|
||||
properties:
|
||||
compatible:
|
||||
const: ste,mcde-dsi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vana-supply:
|
||||
description: a phandle to the analog voltage regulator
|
||||
|
||||
clocks:
|
||||
description: phandles to the high speed and low power (energy save) clocks
|
||||
the high speed clock is not present on the third (dsi2) block, so it
|
||||
should only have the "lp" clock
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: hs
|
||||
- const: lp
|
||||
- items:
|
||||
- const: lp
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vana-supply
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
- epod-supply
|
||||
- vana-supply
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/mfd/dbx500-prcmu.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
mcde@a0350000 {
|
||||
compatible = "ste,mcde";
|
||||
reg = <0xa0350000 0x1000>;
|
||||
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
epod-supply = <&db8500_b2r2_mcde_reg>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_MCDECLK>,
|
||||
<&prcmu_clk PRCMU_LCDCLK>,
|
||||
<&prcmu_clk PRCMU_PLLDSI>;
|
||||
clock-names = "mcde", "lcd", "hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
dsi0: dsi@a0351000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0351000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
|
||||
clock-names = "hs", "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
panel@0 {
|
||||
compatible = "samsung,s6d16d0";
|
||||
reg = <0>;
|
||||
vdd1-supply = <&ab8500_ldo_aux1_reg>;
|
||||
reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
dsi1: dsi@a0352000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0352000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
|
||||
clock-names = "hs", "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
dsi2: dsi@a0353000 {
|
||||
compatible = "ste,mcde-dsi";
|
||||
reg = <0xa0353000 0x1000>;
|
||||
vana-supply = <&ab8500_ldo_ana_reg>;
|
||||
/* This DSI port only has the Low Power / Energy Save clock */
|
||||
clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
|
||||
clock-names = "lp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -111,8 +111,8 @@ of the following host1x client modules:
|
||||
|
||||
endpoint (required node)
|
||||
Required properties:
|
||||
- data-lanes: an array of data lane from 1 to 4. Valid array
|
||||
lengths are 1/2/4.
|
||||
- data-lanes: an array of data lane from 1 to 8. Valid array
|
||||
lengths are 1/2/4/8.
|
||||
- remote-endpoint: phandle to sensor 'endpoint' node.
|
||||
|
||||
port@1 (required node)
|
||||
|
||||
@@ -74,30 +74,19 @@ properties:
|
||||
type: boolean
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
Ports as described in Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The DSS OLDI output port node form video port 1
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The DSS DPI output port node from video port 2
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
ti,am65x-oldi-io-ctrl:
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle-array"
|
||||
maxItems: 1
|
||||
|
||||
@@ -107,40 +107,29 @@ properties:
|
||||
type: boolean
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
Ports as described in Documentation/devicetree/bindings/graph.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The output port node form video port 1
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The output port node from video port 2
|
||||
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The output port node from video port 3
|
||||
|
||||
port@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
The output port node from video port 4
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
max-memory-bandwidth:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
|
||||
@@ -54,9 +54,8 @@ properties:
|
||||
description: phandle to the associated power domain
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Port as described in Documentation/devicetree/bindings/graph.txt.
|
||||
The DSS DPI output port node
|
||||
|
||||
max-memory-bandwidth:
|
||||
|
||||
105
Documentation/devicetree/bindings/media/allegro,al5e.yaml
Normal file
105
Documentation/devicetree/bindings/media/allegro,al5e.yaml
Normal file
@@ -0,0 +1,105 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/allegro,al5e.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Allegro DVT Video IP Codecs Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Michael Tretter <m.tretter@pengutronix.de>
|
||||
|
||||
description: |-
|
||||
Allegro DVT video IP codecs present in the Xilinx ZynqMP SoC. The IP core may
|
||||
either be a H.264/H.265 encoder or H.264/H.265 decoder ip core.
|
||||
|
||||
Each actual codec engine is controlled by a microcontroller (MCU). Host
|
||||
software uses a provided mailbox interface to communicate with the MCU. The
|
||||
MCUs share an interrupt.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: allegro,al5e-1.1
|
||||
- const: allegro,al5e
|
||||
- items:
|
||||
- const: allegro,al5d-1.1
|
||||
- const: allegro,al5d
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: The registers
|
||||
- description: The SRAM
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: regs
|
||||
- const: sram
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Core clock
|
||||
- description: MCU clock
|
||||
- description: Core AXI master port clock
|
||||
- description: MCU AXI master port clock
|
||||
- description: AXI4-Lite slave port clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: core_clk
|
||||
- const: mcu_clk
|
||||
- const: m_axi_core_aclk
|
||||
- const: m_axi_mcu_aclk
|
||||
- const: s_axi_lite_aclk
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: False
|
||||
|
||||
examples:
|
||||
- |
|
||||
fpga {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
al5e: video-codec@a0009000 {
|
||||
compatible = "allegro,al5e-1.1", "allegro,al5e";
|
||||
reg = <0 0xa0009000 0 0x1000>,
|
||||
<0 0xa0000000 0 0x8000>;
|
||||
reg-names = "regs", "sram";
|
||||
interrupts = <0 96 4>;
|
||||
clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>,
|
||||
<&clkc 71>, <&clkc 71>, <&clkc 71>;
|
||||
clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
|
||||
"m_axi_mcu_aclk", "s_axi_lite_aclk";
|
||||
};
|
||||
};
|
||||
- |
|
||||
fpga {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
al5d: video-codec@a0029000 {
|
||||
compatible = "allegro,al5d-1.1", "allegro,al5d";
|
||||
reg = <0 0xa0029000 0 0x1000>,
|
||||
<0 0xa0020000 0 0x8000>;
|
||||
reg-names = "regs", "sram";
|
||||
interrupts = <0 96 4>;
|
||||
clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>,
|
||||
<&clkc 71>, <&clkc 71>, <&clkc 71>;
|
||||
clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
|
||||
"m_axi_mcu_aclk", "s_axi_lite_aclk";
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,43 +0,0 @@
|
||||
Device-tree bindings for the Allegro DVT video IP codecs present in the Xilinx
|
||||
ZynqMP SoC. The IP core may either be a H.264/H.265 encoder or H.264/H.265
|
||||
decoder ip core.
|
||||
|
||||
Each actual codec engines is controlled by a microcontroller (MCU). Host
|
||||
software uses a provided mailbox interface to communicate with the MCU. The
|
||||
MCU share an interrupt.
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be one of the following
|
||||
"allegro,al5e-1.1", "allegro,al5e": encoder IP core
|
||||
"allegro,al5d-1.1", "allegro,al5d": decoder IP core
|
||||
- reg: base and length of the memory mapped register region and base and
|
||||
length of the memory mapped sram
|
||||
- reg-names: must include "regs" and "sram"
|
||||
- interrupts: shared interrupt from the MCUs to the processing system
|
||||
- clocks: must contain an entry for each entry in clock-names
|
||||
- clock-names: must include "core_clk", "mcu_clk", "m_axi_core_aclk",
|
||||
"m_axi_mcu_aclk", "s_axi_lite_aclk"
|
||||
|
||||
Example:
|
||||
al5e: video-codec@a0009000 {
|
||||
compatible = "allegro,al5e-1.1", "allegro,al5e";
|
||||
reg = <0 0xa0009000 0 0x1000>,
|
||||
<0 0xa0000000 0 0x8000>;
|
||||
reg-names = "regs", "sram";
|
||||
interrupts = <0 96 4>;
|
||||
clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>,
|
||||
<&clkc 71>, <&clkc 71>, <&clkc 71>;
|
||||
clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
|
||||
"m_axi_mcu_aclk", "s_axi_lite_aclk"
|
||||
};
|
||||
al5d: video-codec@a0029000 {
|
||||
compatible = "allegro,al5d-1.1", "allegro,al5d";
|
||||
reg = <0 0xa0029000 0 0x1000>,
|
||||
<0 0xa0020000 0 0x8000>;
|
||||
reg-names = "regs", "sram";
|
||||
interrupts = <0 96 4>;
|
||||
clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>,
|
||||
<&clkc 71>, <&clkc 71>, <&clkc 71>;
|
||||
clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
|
||||
"m_axi_mcu_aclk", "s_axi_lite_aclk"
|
||||
};
|
||||
@@ -67,14 +67,14 @@ properties:
|
||||
interconnect-names:
|
||||
const: dma-mem
|
||||
|
||||
# See ./video-interfaces.txt for details
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
bus-width:
|
||||
@@ -83,7 +83,6 @@ properties:
|
||||
data-active: true
|
||||
hsync-active: true
|
||||
pclk-sample: true
|
||||
remote-endpoint: true
|
||||
vsync-active: true
|
||||
|
||||
required:
|
||||
@@ -91,12 +90,8 @@ properties:
|
||||
- data-active
|
||||
- hsync-active
|
||||
- pclk-sample
|
||||
- remote-endpoint
|
||||
- vsync-active
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -40,17 +40,15 @@ properties:
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
# See ./video-interfaces.txt for details
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
bus-width:
|
||||
enum: [ 8, 10, 12, 16 ]
|
||||
|
||||
@@ -60,10 +58,6 @@ properties:
|
||||
|
||||
required:
|
||||
- bus-width
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
||||
@@ -36,17 +36,9 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
description:
|
||||
A node containing a single endpoint as doucmented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
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
|
||||
ports: true
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
@@ -80,25 +72,20 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Output port
|
||||
|
||||
patternProperties:
|
||||
"^port@[0-2]$":
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Input port
|
||||
|
||||
required:
|
||||
- port@3
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
@@ -110,25 +97,20 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@6:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Output port
|
||||
|
||||
patternProperties:
|
||||
"^port@[0-5]$":
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Input port
|
||||
|
||||
required:
|
||||
- port@6
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
|
||||
@@ -64,16 +64,12 @@ properties:
|
||||
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
|
||||
ports: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- ports
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
@@ -86,26 +82,19 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Input port
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Output port
|
||||
|
||||
required:
|
||||
- port@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@@ -114,28 +103,20 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Output port
|
||||
|
||||
patternProperties:
|
||||
"^port@[0-1]$":
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Input port
|
||||
|
||||
required:
|
||||
- port@2
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ports
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
@@ -41,9 +41,9 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output video port. See ../video-interfaces.txt.
|
||||
Output video port.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -86,33 +86,9 @@ properties:
|
||||
maxItems: 3
|
||||
|
||||
port:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description: -|
|
||||
Connection to the remote GMSL endpoint are modelled using the OF graph
|
||||
bindings in accordance with the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
The device node contains a single "port" child node with a single
|
||||
"endpoint" sub-device.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
description: -|
|
||||
phandle to the remote GMSL endpoint sub-node in the remote node
|
||||
port.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Connection to the remote GMSL endpoint.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -44,12 +44,15 @@ properties:
|
||||
Reference to the GPIO connected to the xclr pin, if any.
|
||||
Must be released (set high) after all supplies are applied.
|
||||
|
||||
# See ../video-interfaces.txt for more details
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
description: |-
|
||||
@@ -60,16 +63,8 @@ properties:
|
||||
- const: 1
|
||||
- const: 2
|
||||
|
||||
clock-noncontinuous:
|
||||
type: boolean
|
||||
description: |-
|
||||
MIPI CSI-2 clock is non-continuous if this property is present,
|
||||
otherwise it's continuous.
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description:
|
||||
Allowed data bus frequencies.
|
||||
clock-noncontinuous: true
|
||||
link-frequencies: true
|
||||
|
||||
required:
|
||||
- link-frequencies
|
||||
|
||||
134
Documentation/devicetree/bindings/media/i2c/imx258.yaml
Normal file
134
Documentation/devicetree/bindings/media/i2c/imx258.yaml
Normal file
@@ -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/imx258.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sony IMX258 13 Mpixel CMOS Digital Image Sensor
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |-
|
||||
IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel
|
||||
type stacked image sensor with a square pixel array of size 4208 x 3120. It
|
||||
is programmable through I2C interface. Image data is sent through MIPI
|
||||
CSI-2.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sony,imx258
|
||||
|
||||
assigned-clocks: true
|
||||
assigned-clock-parents: true
|
||||
assigned-clock-rates: true
|
||||
|
||||
clocks:
|
||||
description:
|
||||
Clock frequency from 6 to 27 MHz.
|
||||
maxItems: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: |-
|
||||
Reference to the GPIO connected to the XCLR pin, if any.
|
||||
|
||||
vana-supply:
|
||||
description:
|
||||
Analog voltage (VANA) supply, 2.7 V
|
||||
|
||||
vdig-supply:
|
||||
description:
|
||||
Digital I/O voltage (VDIG) supply, 1.2 V
|
||||
|
||||
vif-supply:
|
||||
description:
|
||||
Interface voltage (VIF) supply, 1.8 V
|
||||
|
||||
# See ../video-interfaces.txt for more details
|
||||
port:
|
||||
type: object
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
properties:
|
||||
data-lanes:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: 1
|
||||
- const: 2
|
||||
- const: 3
|
||||
- const: 4
|
||||
- items:
|
||||
- const: 1
|
||||
- const: 2
|
||||
|
||||
link-frequencies:
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description:
|
||||
Allowed data bus frequencies.
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sensor@6c {
|
||||
compatible = "sony,imx258";
|
||||
reg = <0x6c>;
|
||||
clocks = <&imx258_clk>;
|
||||
|
||||
port {
|
||||
endpoint {
|
||||
remote-endpoint = <&csi1_ep>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <320000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Oscillator on the camera board */
|
||||
imx258_clk: clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <19200000>;
|
||||
};
|
||||
|
||||
- |
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sensor@6c {
|
||||
compatible = "sony,imx258";
|
||||
reg = <0x6c>;
|
||||
clocks = <&imx258_clk>;
|
||||
|
||||
assigned-clocks = <&imx258_clk>;
|
||||
assigned-clock-rates = <19200000>;
|
||||
|
||||
port {
|
||||
endpoint {
|
||||
remote-endpoint = <&csi1_ep>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <633600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -50,82 +50,62 @@ properties:
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
ports:
|
||||
type: object
|
||||
maxim,reverse-channel-microvolt:
|
||||
minimum: 30000
|
||||
maximum: 200000
|
||||
default: 170000
|
||||
description: |
|
||||
The connections to the MAX9286 GMSL and its endpoint nodes are modelled
|
||||
using the OF graph bindings in accordance with the video interface
|
||||
bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
Initial amplitude of the reverse control channel, in micro volts.
|
||||
|
||||
The following table lists the port number corresponding to each device
|
||||
port.
|
||||
The initial amplitude shall be adjusted to a value compatible with the
|
||||
configuration of the connected remote serializer.
|
||||
|
||||
Port Description
|
||||
----------------------------------------
|
||||
Port 0 GMSL Input 0
|
||||
Port 1 GMSL Input 1
|
||||
Port 2 GMSL Input 2
|
||||
Port 3 GMSL Input 3
|
||||
Port 4 CSI-2 Output
|
||||
Some camera modules (for example RDACM20) include an on-board MCU that
|
||||
pre-programs the embedded serializer with power supply noise immunity
|
||||
(high-threshold) enabled. A typical value of the deserializer's reverse
|
||||
channel amplitude to communicate with pre-programmed serializers is
|
||||
170000 micro volts.
|
||||
|
||||
A typical value for the reverse channel amplitude to communicate with
|
||||
a remote serializer whose high-threshold noise immunity is not enabled
|
||||
is 100000 micro volts
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
port@0:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: GMSL Input 0
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
port@1:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: GMSL Input 1
|
||||
|
||||
port@[0-3]:
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
port@2:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: GMSL Input 2
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
description: |
|
||||
phandle to the remote GMSL source endpoint subnode in the
|
||||
remote node port.
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- reg
|
||||
- endpoint
|
||||
|
||||
additionalProperties: false
|
||||
port@3:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: GMSL Input 3
|
||||
|
||||
port@4:
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
const: 4
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: CSI-2 Output
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
description: phandle to the remote CSI-2 sink endpoint.
|
||||
|
||||
data-lanes:
|
||||
description: array of physical CSI-2 data lane indexes.
|
||||
data-lanes: true
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
- data-lanes
|
||||
|
||||
required:
|
||||
- reg
|
||||
- endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- port@4
|
||||
|
||||
@@ -183,25 +163,8 @@ properties:
|
||||
requirements of the currently connected remote device.
|
||||
|
||||
port:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
description: phandle to the MAX9286 sink endpoint.
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Connection to the MAX9286 sink.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -242,6 +205,8 @@ examples:
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
maxim,reverse-channel-microvolt = <170000>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -71,19 +71,18 @@ properties:
|
||||
enum: [ 0, 180 ]
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: List of allowed data link frequencies.
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
link-frequencies: true
|
||||
data-lanes: true
|
||||
bus-type:
|
||||
description: The type of the data bus.
|
||||
oneOf:
|
||||
- const: 1 # CSI-2 C-PHY
|
||||
- const: 3 # CCP2
|
||||
|
||||
@@ -57,16 +57,13 @@ properties:
|
||||
active low.
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
description:
|
||||
A node containing an output port node with an endpoint definition
|
||||
as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
@@ -79,18 +76,14 @@ properties:
|
||||
- const: 4
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description:
|
||||
Allowed data bus frequencies. 360000000, 180000000 Hz or both
|
||||
are supported by the driver.
|
||||
|
||||
description: Frequencies listed are driver, not h/w limitations.
|
||||
maxItems: 2
|
||||
items:
|
||||
enum: [ 360000000, 180000000 ]
|
||||
|
||||
required:
|
||||
- link-frequencies
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -139,4 +132,3 @@ examples:
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@ description: |-
|
||||
@ 1600x1200 (UXGA) resolution transferred over a 1-lane MIPI interface. The
|
||||
sensor output is available via CSI-2 serial data output.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/media/video-interface-devices.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov02a10
|
||||
@@ -66,42 +69,34 @@ properties:
|
||||
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
|
||||
enum:
|
||||
- 0 # Sensor Mounted Upright
|
||||
- 180 # Sensor Mounted Upside Down
|
||||
default: 0
|
||||
|
||||
# See ../video-interfaces.txt for details
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
description:
|
||||
Output port node, single endpoint describing the CSI-2 transmitter.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
link-frequencies: true
|
||||
ovti,mipi-clock-voltage:
|
||||
allOf:
|
||||
- $ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$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
|
||||
|
||||
@@ -50,11 +50,9 @@ properties:
|
||||
Definition of the regulator used as digital power supply.
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A node containing an output port node with an endpoint definition
|
||||
as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
A node containing an output port node.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ov5647.yaml#
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5647.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Omnivision OV5647 raw image sensor
|
||||
@@ -31,27 +31,15 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: |-
|
||||
Should contain one endpoint sub-node used to model connection to the
|
||||
video receiver according to the specification defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
remote-endpoint:
|
||||
description: |-
|
||||
phandle to the video receiver input port.
|
||||
|
||||
clock-noncontinuous:
|
||||
type: boolean
|
||||
description: |-
|
||||
Set to true to allow MIPI CSI-2 non-continuous clock operations.
|
||||
|
||||
additionalProperties: false
|
||||
clock-noncontinuous: true
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
115
Documentation/devicetree/bindings/media/i2c/ovti,ov5648.yaml
Normal file
115
Documentation/devicetree/bindings/media/i2c/ovti,ov5648.yaml
Normal file
@@ -0,0 +1,115 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5648.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: OmniVision OV5648 Image Sensor Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Paul Kocialkowski <paul.kocialkowski@bootlin.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov5648
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: XVCLK Clock
|
||||
|
||||
assigned-clocks:
|
||||
maxItems: 1
|
||||
|
||||
assigned-clock-rates:
|
||||
maxItems: 1
|
||||
|
||||
dvdd-supply:
|
||||
description: Digital Domain Power Supply
|
||||
|
||||
avdd-supply:
|
||||
description: Analog Domain Power Supply (internal AVDD is used if missing)
|
||||
|
||||
dovdd-supply:
|
||||
description: I/O Domain Power Supply
|
||||
|
||||
powerdown-gpios:
|
||||
maxItems: 1
|
||||
description: Power Down Pin GPIO Control (active low)
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description: Reset Pin GPIO Control (active low)
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: MIPI CSI-2 transmitter port
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: Allowed MIPI CSI-2 link frequencies
|
||||
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- assigned-clocks
|
||||
- assigned-clock-rates
|
||||
- dvdd-supply
|
||||
- dovdd-supply
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/sun8i-v3s-ccu.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ov5648: camera@36 {
|
||||
compatible = "ovti,ov5648";
|
||||
reg = <0x36>;
|
||||
|
||||
dvdd-supply = <&ov5648_dvdd>;
|
||||
avdd-supply = <&ov5648_avdd>;
|
||||
dovdd-supply = <&ov5648_dovdd>;
|
||||
clocks = <&ov5648_xvclk 0>;
|
||||
assigned-clocks = <&ov5648_xvclk 0>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
|
||||
|
||||
ov5648_out: port {
|
||||
ov5648_out_mipi_csi2: endpoint {
|
||||
data-lanes = <1 2>;
|
||||
link-frequencies = /bits/ 64 <210000000 168000000>;
|
||||
|
||||
remote-endpoint = <&mipi_csi2_in_ov5648>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -37,13 +37,14 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
description: |
|
||||
Video output port. See ../video-interfaces.txt.
|
||||
Video output port.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
bus-type:
|
||||
@@ -91,8 +92,6 @@ properties:
|
||||
required:
|
||||
- bus-type
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
|
||||
124
Documentation/devicetree/bindings/media/i2c/ovti,ov8865.yaml
Normal file
124
Documentation/devicetree/bindings/media/i2c/ovti,ov8865.yaml
Normal file
@@ -0,0 +1,124 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov8865.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: OmniVision OV8865 Image Sensor Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Paul Kocialkowski <paul.kocialkowski@bootlin.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov8865
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: EXTCLK Clock
|
||||
|
||||
assigned-clocks:
|
||||
maxItems: 1
|
||||
|
||||
assigned-clock-rates:
|
||||
maxItems: 1
|
||||
|
||||
dvdd-supply:
|
||||
description: Digital Domain Power Supply
|
||||
|
||||
avdd-supply:
|
||||
description: Analog Domain Power Supply
|
||||
|
||||
dovdd-supply:
|
||||
description: I/O Domain Power Supply
|
||||
|
||||
powerdown-gpios:
|
||||
maxItems: 1
|
||||
description: Power Down Pin GPIO Control (active low)
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description: Reset Pin GPIO Control (active low)
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: MIPI CSI-2 transmitter port
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: Allowed MIPI CSI-2 link frequencies
|
||||
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- assigned-clocks
|
||||
- assigned-clock-rates
|
||||
- dvdd-supply
|
||||
- avdd-supply
|
||||
- dovdd-supply
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/sun8i-a83t-ccu.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ov8865: camera@36 {
|
||||
compatible = "ovti,ov8865";
|
||||
reg = <0x36>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&csi_mclk_pin>;
|
||||
|
||||
clocks = <&ccu CLK_CSI_MCLK>;
|
||||
assigned-clocks = <&ccu CLK_CSI_MCLK>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
|
||||
avdd-supply = <®_ov8865_avdd>;
|
||||
dovdd-supply = <®_ov8865_dovdd>;
|
||||
dvdd-supply = <®_ov8865_dvdd>;
|
||||
|
||||
powerdown-gpios = <&pio 4 17 GPIO_ACTIVE_LOW>; /* PE17 */
|
||||
reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
|
||||
|
||||
port {
|
||||
ov8865_out_mipi_csi2: endpoint {
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <360000000>;
|
||||
|
||||
remote-endpoint = <&mipi_csi2_in_ov8865>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -15,6 +15,9 @@ description: |
|
||||
interface. Image data is sent through MIPI CSI-2, through 2 or 4 lanes at a
|
||||
maximum throughput of 1.2Gbps/lane.
|
||||
|
||||
allOf:
|
||||
- $ref: ../video-interface-devices.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sony,imx214
|
||||
@@ -44,25 +47,21 @@ properties:
|
||||
vddd-supply:
|
||||
description: Chip digital core regulator (1.12V).
|
||||
|
||||
flash-leds:
|
||||
description: See ../video-interfaces.txt
|
||||
|
||||
lens-focus:
|
||||
description: See ../video-interfaces.txt
|
||||
flash-leds: true
|
||||
lens-focus: true
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
description: |
|
||||
Video output port. See ../video-interfaces.txt.
|
||||
Video output port.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: See ../video-interfaces.txt
|
||||
anyOf:
|
||||
- items:
|
||||
- const: 1
|
||||
@@ -73,16 +72,12 @@ properties:
|
||||
- const: 3
|
||||
- const: 4
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description: See ../video-interfaces.txt
|
||||
link-frequencies: true
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
|
||||
@@ -41,8 +41,7 @@ properties:
|
||||
description: Sensor digital IO 1.2 V supply.
|
||||
|
||||
port:
|
||||
type: object
|
||||
description: Output video port. See ../video-interfaces.txt.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
91
Documentation/devicetree/bindings/media/i2c/sony,imx334.yaml
Normal file
91
Documentation/devicetree/bindings/media/i2c/sony,imx334.yaml
Normal file
@@ -0,0 +1,91 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright (C) 2021 Intel Corporation
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/sony,imx334.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sony IMX334 Sensor
|
||||
|
||||
maintainers:
|
||||
- Paul J. Murphy <paul.j.murphy@intel.com>
|
||||
- Daniele Alessandrelli <daniele.alessandrelli@intel.com>
|
||||
|
||||
description:
|
||||
IMX334 sensor is a Sony CMOS active pixel digital image sensor with an active
|
||||
array size of 3864H x 2202V. It is programmable through I2C interface. The
|
||||
I2C client address is fixed to 0x1a as per sensor data sheet. Image data is
|
||||
sent through MIPI CSI-2.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sony,imx334
|
||||
reg:
|
||||
description: I2C address
|
||||
maxItems: 1
|
||||
|
||||
assigned-clocks: true
|
||||
assigned-clock-parents: true
|
||||
assigned-clock-rates: true
|
||||
|
||||
clocks:
|
||||
description: Clock frequency from 6 to 27 MHz, 37.125MHz, 74.25MHz
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: Reference to the GPIO connected to the XCLR pin, if any.
|
||||
|
||||
port:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
properties:
|
||||
data-lanes:
|
||||
$ref: ../video-interfaces.yaml#/properties/data-lanes
|
||||
link-frequencies:
|
||||
$ref: ../video-interfaces.yaml#/properties/link-frequencies
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@1a {
|
||||
compatible = "sony,imx334";
|
||||
reg = <0x1a>;
|
||||
clocks = <&imx334_clk>;
|
||||
|
||||
assigned-clocks = <&imx334_clk>;
|
||||
assigned-clock-parents = <&imx334_clk_parent>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
|
||||
port {
|
||||
imx334: endpoint {
|
||||
remote-endpoint = <&cam>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <891000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -27,29 +27,20 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
# Properties described in
|
||||
# Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
hsync-active: true
|
||||
vsync-active: true
|
||||
pclk-sample: true
|
||||
bus-type: true
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
@@ -33,10 +33,7 @@ properties:
|
||||
- const: mclk
|
||||
|
||||
port:
|
||||
type: object
|
||||
description:
|
||||
A node containing input port nodes with endpoint definitions as documented
|
||||
in Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -58,35 +58,22 @@ properties:
|
||||
Differential receiver (HS-RX) settle time
|
||||
|
||||
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
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Input port node, single endpoint describing the CSI-2 transmitter.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: See ../video-interfaces.txt
|
||||
oneOf:
|
||||
- items:
|
||||
- const: 1
|
||||
@@ -94,18 +81,11 @@ properties:
|
||||
- const: 1
|
||||
- const: 2
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Output port node
|
||||
|
||||
|
||||
@@ -34,18 +34,15 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
# Properties described in
|
||||
# Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
properties:
|
||||
remote-endpoint: true
|
||||
hsync-active: true
|
||||
vsync-active: true
|
||||
field-even-active: false
|
||||
@@ -53,12 +50,6 @@ properties:
|
||||
enum: [8, 16]
|
||||
default: 8
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -46,24 +46,19 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
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
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Input port node, single endpoint describing the CSI-2 transmitter.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
@@ -72,50 +67,19 @@ properties:
|
||||
data-lanes:
|
||||
maxItems: 1
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- clock-lanes
|
||||
- data-lanes
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Output port node, multiple endpoints describing all the R-Car VIN
|
||||
modules connected the CSI-2 receiver.
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
"^endpoint@[0-9a-f]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -69,15 +69,15 @@ properties:
|
||||
|
||||
#The per-board settings for Gen2 and RZ/G1 platforms:
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
A node containing a parallel input with a single endpoint definitions as
|
||||
documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
A node containing a parallel input
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
hsync-active:
|
||||
@@ -106,15 +106,6 @@ properties:
|
||||
|
||||
data-active: true
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
#The per-board settings for Gen3 and RZ/G2 platforms:
|
||||
renesas,id:
|
||||
description: VIN channel number
|
||||
@@ -123,23 +114,18 @@ properties:
|
||||
maximum: 15
|
||||
|
||||
ports:
|
||||
type: object
|
||||
description:
|
||||
A node containing input nodes with endpoint definitions as documented in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Input port node, single endpoint describing a parallel input source.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
hsync-active:
|
||||
@@ -168,98 +154,29 @@ properties:
|
||||
|
||||
data-active: true
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Input port node, multiple endpoints describing all the R-Car CSI-2
|
||||
modules connected the VIN.
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
endpoint@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: Endpoint connected to CSI20.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
endpoint@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: Endpoint connected to CSI21.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
endpoint@2:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: Endpoint connected to CSI40.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 2
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
endpoint@3:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/endpoint
|
||||
description: Endpoint connected to CSI41.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 3
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
anyOf:
|
||||
- required:
|
||||
- endpoint@0
|
||||
@@ -270,8 +187,6 @@ properties:
|
||||
- required:
|
||||
- endpoint@3
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -56,56 +56,26 @@ properties:
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
# See ./video-interfaces.txt for details
|
||||
ports:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: connection point for sensors at MIPI-DPHY RX0
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
|
||||
required:
|
||||
|
||||
@@ -37,16 +37,15 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
DCMI supports a single port node with parallel bus. It should contain
|
||||
one 'port' child node with child 'endpoint' node. Please refer to the
|
||||
bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
DCMI supports a single port node with parallel bus.
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
bus-type:
|
||||
@@ -57,8 +56,6 @@ properties:
|
||||
enum: [8, 10, 12, 14]
|
||||
default: 8
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
@@ -73,14 +70,9 @@ properties:
|
||||
enum: [8]
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
- bus-type
|
||||
- pclk-sample
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -15,10 +15,7 @@ description: |-
|
||||
processing capability to connect CSI2 image-sensor modules to the
|
||||
DRA72x device.
|
||||
|
||||
CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes
|
||||
should contain a 'port' child node with child 'endpoint' node. Please
|
||||
refer to the bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
CAL supports 2 camera port nodes on MIPI bus.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -67,31 +64,19 @@ properties:
|
||||
Documentation/devicetree/bindings/power/power_domain.txt
|
||||
maxItems: 1
|
||||
|
||||
# See ./video-interfaces.txt for details
|
||||
ports:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: CSI2 Port #0
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
description: CSI2 Port #0
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
@@ -101,24 +86,15 @@ properties:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
unevaluatedProperties: false
|
||||
description: CSI2 Port #1
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
description: CSI2 Port #1
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
@@ -128,14 +104,7 @@ properties:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
|
||||
required:
|
||||
|
||||
@@ -0,0 +1,406 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/video-interface-devices.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Common bindings for video receiver and transmitter devices
|
||||
|
||||
maintainers:
|
||||
- Jacopo Mondi <jacopo@jmondi.org>
|
||||
- Sakari Ailus <sakari.ailus@linux.intel.com>
|
||||
|
||||
properties:
|
||||
flash-leds:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description:
|
||||
An array of phandles, each referring to a flash LED, a sub-node of the LED
|
||||
driver device node.
|
||||
|
||||
lens-focus:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
A phandle to the node of the focus lens controller.
|
||||
|
||||
rotation:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 90, 180, 270 ]
|
||||
description: |
|
||||
The camera rotation is expressed as the angular difference in degrees
|
||||
between two reference systems, one relative to the camera module, and one
|
||||
defined on the external world scene to be captured when projected on the
|
||||
image sensor pixel array.
|
||||
|
||||
A camera sensor has a 2-dimensional reference system 'Rc' defined by its
|
||||
pixel array read-out order. The origin is set to the first pixel being
|
||||
read out, the X-axis points along the column read-out direction towards
|
||||
the last columns, and the Y-axis along the row read-out direction towards
|
||||
the last row.
|
||||
|
||||
A typical example for a sensor with a 2592x1944 pixel array matrix
|
||||
observed from the front is:
|
||||
|
||||
2591 X-axis 0
|
||||
<------------------------+ 0
|
||||
.......... ... ..........!
|
||||
.......... ... ..........! Y-axis
|
||||
... !
|
||||
.......... ... ..........!
|
||||
.......... ... ..........! 1943
|
||||
V
|
||||
|
||||
The external world scene reference system 'Rs' is a 2-dimensional
|
||||
reference system on the focal plane of the camera module. The origin is
|
||||
placed on the top-left corner of the visible scene, the X-axis points
|
||||
towards the right, and the Y-axis points towards the bottom of the scene.
|
||||
The top, bottom, left and right directions are intentionally not defined
|
||||
and depend on the environment in which the camera is used.
|
||||
|
||||
A typical example of a (very common) picture of a shark swimming from left
|
||||
to right, as seen from the camera, is:
|
||||
|
||||
0 X-axis
|
||||
0 +------------------------------------->
|
||||
!
|
||||
!
|
||||
!
|
||||
! |\____)\___
|
||||
! ) _____ __`<
|
||||
! |/ )/
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
Y-axis
|
||||
|
||||
with the reference system 'Rs' placed on the camera focal plane:
|
||||
|
||||
¸.·˙!
|
||||
¸.·˙ !
|
||||
_ ¸.·˙ !
|
||||
+-/ \-+¸.·˙ !
|
||||
| (o) | ! Camera focal plane
|
||||
+-----+˙·.¸ !
|
||||
˙·.¸ !
|
||||
˙·.¸ !
|
||||
˙·.¸!
|
||||
|
||||
When projected on the sensor's pixel array, the image and the associated
|
||||
reference system 'Rs' are typically (but not always) inverted, due to the
|
||||
camera module's lens optical inversion effect.
|
||||
|
||||
Assuming the above represented scene of the swimming shark, the lens
|
||||
inversion projects the scene and its reference system onto the sensor
|
||||
pixel array, seen from the front of the camera sensor, as follows:
|
||||
|
||||
Y-axis
|
||||
^
|
||||
!
|
||||
!
|
||||
!
|
||||
! |\_____)\__
|
||||
! ) ____ ___.<
|
||||
! |/ )/
|
||||
!
|
||||
!
|
||||
!
|
||||
0 +------------------------------------->
|
||||
0 X-axis
|
||||
|
||||
Note the shark being upside-down.
|
||||
|
||||
The resulting projected reference system is named 'Rp'.
|
||||
|
||||
The camera rotation property is then defined as the angular difference in
|
||||
the counter-clockwise direction between the camera reference system 'Rc'
|
||||
and the projected scene reference system 'Rp'. It is expressed in degrees
|
||||
as a number in the range [0, 360[.
|
||||
|
||||
Examples
|
||||
|
||||
0 degrees camera rotation:
|
||||
|
||||
|
||||
Y-Rp
|
||||
^
|
||||
Y-Rc !
|
||||
^ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
0 +------------------------------------->
|
||||
0 X-Rc
|
||||
|
||||
|
||||
X-Rc 0
|
||||
<------------------------------------+ 0
|
||||
X-Rp 0 !
|
||||
<------------------------------------+ 0 !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
V
|
||||
Y-Rp
|
||||
|
||||
90 degrees camera rotation:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! Y-Rp
|
||||
! ^
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
180 degrees camera rotation:
|
||||
|
||||
0
|
||||
<------------------------------------+ 0
|
||||
X-Rc !
|
||||
Y-Rp !
|
||||
^ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
0 +------------------------------------->
|
||||
0 X-Rp
|
||||
|
||||
270 degrees camera rotation:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! 0
|
||||
! <-----------------------------------+ 0
|
||||
! X-Rp !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
|
||||
Example one - Webcam
|
||||
|
||||
A camera module installed on the user facing part of a laptop screen
|
||||
casing used for video calls. The captured images are meant to be displayed
|
||||
in landscape mode (width > height) on the laptop screen.
|
||||
|
||||
The camera is typically mounted upside-down to compensate the lens optical
|
||||
inversion effect:
|
||||
|
||||
Y-Rp
|
||||
Y-Rc ^
|
||||
^ !
|
||||
! !
|
||||
! ! |\_____)\__
|
||||
! ! ) ____ ___.<
|
||||
! ! |/ )/
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
0 +------------------------------------->
|
||||
0 X-Rc
|
||||
|
||||
The two reference systems are aligned, the resulting camera rotation is
|
||||
0 degrees, no rotation correction needs to be applied to the resulting
|
||||
image once captured to memory buffers to correctly display it to users:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! |\____)\___ !
|
||||
! ) _____ __`< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
If the camera sensor is not mounted upside-down to compensate for the lens
|
||||
optical inversion, the two reference systems will not be aligned, with
|
||||
'Rp' being rotated 180 degrees relatively to 'Rc':
|
||||
|
||||
|
||||
X-Rc 0
|
||||
<------------------------------------+ 0
|
||||
!
|
||||
Y-Rp !
|
||||
^ !
|
||||
! !
|
||||
! |\_____)\__ !
|
||||
! ) ____ ___.< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
0 +------------------------------------->
|
||||
0 X-Rp
|
||||
|
||||
The image once captured to memory will then be rotated by 180 degrees:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! __/(_____/| !
|
||||
! >.___ ____ ( !
|
||||
! \( \| !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
A software rotation correction of 180 degrees should be applied to
|
||||
correctly display the image:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! |\____)\___ !
|
||||
! ) _____ __`< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
Example two - Phone camera
|
||||
|
||||
A camera installed on the back side of a mobile device facing away from
|
||||
the user. The captured images are meant to be displayed in portrait mode
|
||||
(height > width) to match the device screen orientation and the device
|
||||
usage orientation used when taking the picture.
|
||||
|
||||
The camera sensor is typically mounted with its pixel array longer side
|
||||
aligned to the device longer side, upside-down mounted to compensate for
|
||||
the lens optical inversion effect:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! Y-Rp
|
||||
! ^
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! ! |\_____)\__
|
||||
! ! ) ____ ___.<
|
||||
! ! |/ )/
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
The two reference systems are not aligned and the 'Rp' reference system is
|
||||
rotated by 90 degrees in the counter-clockwise direction relatively to the
|
||||
'Rc' reference system.
|
||||
|
||||
The image once captured to memory will be rotated:
|
||||
|
||||
+-------------------------------------+
|
||||
| _ _ |
|
||||
| \ / |
|
||||
| | | |
|
||||
| | | |
|
||||
| | > |
|
||||
| < | |
|
||||
| | | |
|
||||
| . |
|
||||
| V |
|
||||
+-------------------------------------+
|
||||
|
||||
A correction of 90 degrees in counter-clockwise direction has to be
|
||||
applied to correctly display the image in portrait mode on the device
|
||||
screen:
|
||||
|
||||
+--------------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |\____)\___ |
|
||||
| ) _____ __`< |
|
||||
| |/ )/ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+--------------------+
|
||||
|
||||
orientation:
|
||||
description:
|
||||
The orientation of a device (typically an image sensor or a flash LED)
|
||||
describing its mounting position relative to the usage orientation of the
|
||||
system where the device is installed on.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
# Front. The device is mounted on the front facing side of the system. For
|
||||
# mobile devices such as smartphones, tablets and laptops the front side
|
||||
# is the user facing side.
|
||||
- 0
|
||||
# Back. The device is mounted on the back side of the system, which is
|
||||
# defined as the opposite side of the front facing one.
|
||||
- 1
|
||||
# External. The device is not attached directly to the system but is
|
||||
# attached in a way that allows it to move freely.
|
||||
- 2
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
||||
@@ -1,639 +1 @@
|
||||
Common bindings for video receiver and transmitter interfaces
|
||||
|
||||
General concept
|
||||
---------------
|
||||
|
||||
Video data pipelines usually consist of external devices, e.g. camera sensors,
|
||||
controlled over an I2C, SPI or UART bus, and SoC internal IP blocks, including
|
||||
video DMA engines and video data processors.
|
||||
|
||||
SoC internal blocks are described by DT nodes, placed similarly to other SoC
|
||||
blocks. External devices are represented as child nodes of their respective
|
||||
bus controller nodes, e.g. I2C.
|
||||
|
||||
Data interfaces on all video devices are described by their child 'port' nodes.
|
||||
Configuration of a port depends on other devices participating in the data
|
||||
transfer and is described by 'endpoint' subnodes.
|
||||
|
||||
device {
|
||||
...
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
...
|
||||
endpoint@0 { ... };
|
||||
endpoint@1 { ... };
|
||||
};
|
||||
port@1 { ... };
|
||||
};
|
||||
};
|
||||
|
||||
If a port can be configured to work with more than one remote device on the same
|
||||
bus, an 'endpoint' child node must be provided for each of them. If more than
|
||||
one port is present in a device node or there is more than one endpoint at a
|
||||
port, or port node needs to be associated with a selected hardware interface,
|
||||
a common scheme using '#address-cells', '#size-cells' and 'reg' properties is
|
||||
used.
|
||||
|
||||
All 'port' nodes can be grouped under optional 'ports' node, which allows to
|
||||
specify #address-cells, #size-cells properties independently for the 'port'
|
||||
and 'endpoint' nodes and any child device nodes a device might have.
|
||||
|
||||
Two 'endpoint' nodes are linked with each other through their 'remote-endpoint'
|
||||
phandles. An endpoint subnode of a device contains all properties needed for
|
||||
configuration of this device for data exchange with other device. In most
|
||||
cases properties at the peer 'endpoint' nodes will be identical, however they
|
||||
might need to be different when there is any signal modifications on the bus
|
||||
between two devices, e.g. there are logic signal inverters on the lines.
|
||||
|
||||
It is allowed for multiple endpoints at a port to be active simultaneously,
|
||||
where supported by a device. For example, in case where a data interface of
|
||||
a device is partitioned into multiple data busses, e.g. 16-bit input port
|
||||
divided into two separate ITU-R BT.656 8-bit busses. In such case bus-width
|
||||
and data-shift properties can be used to assign physical data lines to each
|
||||
endpoint node (logical bus).
|
||||
|
||||
Documenting bindings for devices
|
||||
--------------------------------
|
||||
|
||||
All required and optional bindings the device supports shall be explicitly
|
||||
documented in device DT binding documentation. This also includes port and
|
||||
endpoint nodes for the device, including unit-addresses and reg properties where
|
||||
relevant.
|
||||
|
||||
Please also see Documentation/devicetree/bindings/graph.txt .
|
||||
|
||||
Required properties
|
||||
-------------------
|
||||
|
||||
If there is more than one 'port' or more than one 'endpoint' node or 'reg'
|
||||
property is present in port and/or endpoint nodes the following properties
|
||||
are required in a relevant parent node:
|
||||
|
||||
- #address-cells : number of cells required to define port/endpoint
|
||||
identifier, should be 1.
|
||||
- #size-cells : should be zero.
|
||||
|
||||
|
||||
Optional properties
|
||||
-------------------
|
||||
|
||||
- flash-leds: An array of phandles, each referring to a flash LED, a sub-node
|
||||
of the LED driver device node.
|
||||
|
||||
- lens-focus: A phandle to the node of the focus lens controller.
|
||||
|
||||
- rotation: The camera rotation is expressed as the angular difference in
|
||||
degrees between two reference systems, one relative to the camera module, and
|
||||
one defined on the external world scene to be captured when projected on the
|
||||
image sensor pixel array.
|
||||
|
||||
A camera sensor has a 2-dimensional reference system 'Rc' defined by
|
||||
its pixel array read-out order. The origin is set to the first pixel
|
||||
being read out, the X-axis points along the column read-out direction
|
||||
towards the last columns, and the Y-axis along the row read-out
|
||||
direction towards the last row.
|
||||
|
||||
A typical example for a sensor with a 2592x1944 pixel array matrix
|
||||
observed from the front is:
|
||||
|
||||
2591 X-axis 0
|
||||
<------------------------+ 0
|
||||
.......... ... ..........!
|
||||
.......... ... ..........! Y-axis
|
||||
... !
|
||||
.......... ... ..........!
|
||||
.......... ... ..........! 1943
|
||||
V
|
||||
|
||||
The external world scene reference system 'Rs' is a 2-dimensional
|
||||
reference system on the focal plane of the camera module. The origin is
|
||||
placed on the top-left corner of the visible scene, the X-axis points
|
||||
towards the right, and the Y-axis points towards the bottom of the
|
||||
scene. The top, bottom, left and right directions are intentionally not
|
||||
defined and depend on the environment in which the camera is used.
|
||||
|
||||
A typical example of a (very common) picture of a shark swimming from
|
||||
left to right, as seen from the camera, is:
|
||||
|
||||
0 X-axis
|
||||
0 +------------------------------------->
|
||||
!
|
||||
!
|
||||
!
|
||||
! |\____)\___
|
||||
! ) _____ __`<
|
||||
! |/ )/
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
Y-axis
|
||||
|
||||
with the reference system 'Rs' placed on the camera focal plane:
|
||||
|
||||
¸.·˙!
|
||||
¸.·˙ !
|
||||
_ ¸.·˙ !
|
||||
+-/ \-+¸.·˙ !
|
||||
| (o) | ! Camera focal plane
|
||||
+-----+˙·.¸ !
|
||||
˙·.¸ !
|
||||
˙·.¸ !
|
||||
˙·.¸!
|
||||
|
||||
When projected on the sensor's pixel array, the image and the associated
|
||||
reference system 'Rs' are typically (but not always) inverted, due to
|
||||
the camera module's lens optical inversion effect.
|
||||
|
||||
Assuming the above represented scene of the swimming shark, the lens
|
||||
inversion projects the scene and its reference system onto the sensor
|
||||
pixel array, seen from the front of the camera sensor, as follows:
|
||||
|
||||
Y-axis
|
||||
^
|
||||
!
|
||||
!
|
||||
!
|
||||
! |\_____)\__
|
||||
! ) ____ ___.<
|
||||
! |/ )/
|
||||
!
|
||||
!
|
||||
!
|
||||
0 +------------------------------------->
|
||||
0 X-axis
|
||||
|
||||
Note the shark being upside-down.
|
||||
|
||||
The resulting projected reference system is named 'Rp'.
|
||||
|
||||
The camera rotation property is then defined as the angular difference
|
||||
in the counter-clockwise direction between the camera reference system
|
||||
'Rc' and the projected scene reference system 'Rp'. It is expressed in
|
||||
degrees as a number in the range [0, 360[.
|
||||
|
||||
Examples
|
||||
|
||||
0 degrees camera rotation:
|
||||
|
||||
|
||||
Y-Rp
|
||||
^
|
||||
Y-Rc !
|
||||
^ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
0 +------------------------------------->
|
||||
0 X-Rc
|
||||
|
||||
|
||||
X-Rc 0
|
||||
<------------------------------------+ 0
|
||||
X-Rp 0 !
|
||||
<------------------------------------+ 0 !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
V
|
||||
Y-Rp
|
||||
|
||||
90 degrees camera rotation:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! Y-Rp
|
||||
! ^
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
180 degrees camera rotation:
|
||||
|
||||
0
|
||||
<------------------------------------+ 0
|
||||
X-Rc !
|
||||
Y-Rp !
|
||||
^ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
0 +------------------------------------->
|
||||
0 X-Rp
|
||||
|
||||
270 degrees camera rotation:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! 0
|
||||
! <-----------------------------------+ 0
|
||||
! X-Rp !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
|
||||
Example one - Webcam
|
||||
|
||||
A camera module installed on the user facing part of a laptop screen
|
||||
casing used for video calls. The captured images are meant to be
|
||||
displayed in landscape mode (width > height) on the laptop screen.
|
||||
|
||||
The camera is typically mounted upside-down to compensate the lens
|
||||
optical inversion effect:
|
||||
|
||||
Y-Rp
|
||||
Y-Rc ^
|
||||
^ !
|
||||
! !
|
||||
! ! |\_____)\__
|
||||
! ! ) ____ ___.<
|
||||
! ! |/ )/
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
0 +------------------------------------->
|
||||
0 X-Rc
|
||||
|
||||
The two reference systems are aligned, the resulting camera rotation is
|
||||
0 degrees, no rotation correction needs to be applied to the resulting
|
||||
image once captured to memory buffers to correctly display it to users:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! |\____)\___ !
|
||||
! ) _____ __`< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
If the camera sensor is not mounted upside-down to compensate for the
|
||||
lens optical inversion, the two reference systems will not be aligned,
|
||||
with 'Rp' being rotated 180 degrees relatively to 'Rc':
|
||||
|
||||
|
||||
X-Rc 0
|
||||
<------------------------------------+ 0
|
||||
!
|
||||
Y-Rp !
|
||||
^ !
|
||||
! !
|
||||
! |\_____)\__ !
|
||||
! ) ____ ___.< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! V
|
||||
! Y-Rc
|
||||
0 +------------------------------------->
|
||||
0 X-Rp
|
||||
|
||||
The image once captured to memory will then be rotated by 180 degrees:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! __/(_____/| !
|
||||
! >.___ ____ ( !
|
||||
! \( \| !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
A software rotation correction of 180 degrees should be applied to
|
||||
correctly display the image:
|
||||
|
||||
+--------------------------------------+
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! |\____)\___ !
|
||||
! ) _____ __`< !
|
||||
! |/ )/ !
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
+--------------------------------------+
|
||||
|
||||
Example two - Phone camera
|
||||
|
||||
A camera installed on the back side of a mobile device facing away from
|
||||
the user. The captured images are meant to be displayed in portrait mode
|
||||
(height > width) to match the device screen orientation and the device
|
||||
usage orientation used when taking the picture.
|
||||
|
||||
The camera sensor is typically mounted with its pixel array longer side
|
||||
aligned to the device longer side, upside-down mounted to compensate for
|
||||
the lens optical inversion effect:
|
||||
|
||||
0 Y-Rc
|
||||
0 +-------------------->
|
||||
! Y-Rp
|
||||
! ^
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! ! |\_____)\__
|
||||
! ! ) ____ ___.<
|
||||
! ! |/ )/
|
||||
! !
|
||||
! !
|
||||
! !
|
||||
! 0 +------------------------------------->
|
||||
! 0 X-Rp
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
V
|
||||
X-Rc
|
||||
|
||||
The two reference systems are not aligned and the 'Rp' reference
|
||||
system is rotated by 90 degrees in the counter-clockwise direction
|
||||
relatively to the 'Rc' reference system.
|
||||
|
||||
The image once captured to memory will be rotated:
|
||||
|
||||
+-------------------------------------+
|
||||
| _ _ |
|
||||
| \ / |
|
||||
| | | |
|
||||
| | | |
|
||||
| | > |
|
||||
| < | |
|
||||
| | | |
|
||||
| . |
|
||||
| V |
|
||||
+-------------------------------------+
|
||||
|
||||
A correction of 90 degrees in counter-clockwise direction has to be
|
||||
applied to correctly display the image in portrait mode on the device
|
||||
screen:
|
||||
|
||||
+--------------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |\____)\___ |
|
||||
| ) _____ __`< |
|
||||
| |/ )/ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+--------------------+
|
||||
|
||||
- orientation: The orientation of a device (typically an image sensor or a flash
|
||||
LED) describing its mounting position relative to the usage orientation of the
|
||||
system where the device is installed on.
|
||||
Possible values are:
|
||||
0 - Front. The device is mounted on the front facing side of the system.
|
||||
For mobile devices such as smartphones, tablets and laptops the front side is
|
||||
the user facing side.
|
||||
1 - Back. The device is mounted on the back side of the system, which is
|
||||
defined as the opposite side of the front facing one.
|
||||
2 - External. The device is not attached directly to the system but is
|
||||
attached in a way that allows it to move freely.
|
||||
|
||||
Optional endpoint properties
|
||||
----------------------------
|
||||
|
||||
- remote-endpoint: phandle to an 'endpoint' subnode of a remote device node.
|
||||
- slave-mode: a boolean property indicating that the link is run in slave mode.
|
||||
The default when this property is not specified is master mode. In the slave
|
||||
mode horizontal and vertical synchronization signals are provided to the
|
||||
slave device (data source) by the master device (data sink). In the master
|
||||
mode the data source device is also the source of the synchronization signals.
|
||||
- bus-type: data bus type. Possible values are:
|
||||
1 - MIPI CSI-2 C-PHY
|
||||
2 - MIPI CSI1
|
||||
3 - CCP2
|
||||
4 - MIPI CSI-2 D-PHY
|
||||
5 - Parallel
|
||||
6 - Bt.656
|
||||
- bus-width: number of data lines actively used, valid for the parallel busses.
|
||||
- data-shift: on the parallel data busses, if bus-width is used to specify the
|
||||
number of data lines, data-shift can be used to specify which data lines are
|
||||
used, e.g. "bus-width=<8>; data-shift=<2>;" means, that lines 9:2 are used.
|
||||
- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
|
||||
- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
|
||||
Note, that if HSYNC and VSYNC polarities are not specified, embedded
|
||||
synchronization may be required, where supported.
|
||||
- data-active: similar to HSYNC and VSYNC, specifies data line polarity.
|
||||
- data-enable-active: similar to HSYNC and VSYNC, specifies the data enable
|
||||
signal polarity.
|
||||
- field-even-active: field signal level during the even field data transmission.
|
||||
- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
|
||||
signal.
|
||||
- sync-on-green-active: active state of Sync-on-green (SoG) signal, 0/1 for
|
||||
LOW/HIGH respectively.
|
||||
- data-lanes: an array of physical data lane indexes. Position of an entry
|
||||
determines the logical lane number, while the value of an entry indicates
|
||||
physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have
|
||||
"data-lanes = <1 2>;", assuming the clock lane is on hardware lane 0.
|
||||
If the hardware does not support lane reordering, monotonically
|
||||
incremented values shall be used from 0 or 1 onwards, depending on
|
||||
whether or not there is also a clock lane. This property is valid for
|
||||
serial busses only (e.g. MIPI CSI-2).
|
||||
- clock-lanes: an array of physical clock lane indexes. Position of an entry
|
||||
determines the logical lane number, while the value of an entry indicates
|
||||
physical lane, e.g. for a MIPI CSI-2 bus we could have "clock-lanes = <0>;",
|
||||
which places the clock lane on hardware lane 0. This property is valid for
|
||||
serial busses only (e.g. MIPI CSI-2). Note that for the MIPI CSI-2 bus this
|
||||
array contains only one entry.
|
||||
- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
|
||||
clock mode.
|
||||
- link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for
|
||||
instance, this is the actual frequency of the bus, not bits per clock per
|
||||
lane value. An array of 64-bit unsigned integers.
|
||||
- lane-polarities: an array of polarities of the lanes starting from the clock
|
||||
lane and followed by the data lanes in the same order as in data-lanes.
|
||||
Valid values are 0 (normal) and 1 (inverted). The length of the array
|
||||
should be the combined length of data-lanes and clock-lanes properties.
|
||||
If the lane-polarities property is omitted, the value must be interpreted
|
||||
as 0 (normal). This property is valid for serial busses only.
|
||||
- strobe: Whether the clock signal is used as clock (0) or strobe (1). Used
|
||||
with CCP2, for instance.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
The example snippet below describes two data pipelines. ov772x and imx074 are
|
||||
camera sensors with a parallel and serial (MIPI CSI-2) video bus respectively.
|
||||
Both sensors are on the I2C control bus corresponding to the i2c0 controller
|
||||
node. ov772x sensor is linked directly to the ceu0 video host interface.
|
||||
imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a
|
||||
(single) DMA engine writing captured data to memory. ceu0 node has a single
|
||||
'port' node which may indicate that at any time only one of the following data
|
||||
pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
|
||||
|
||||
ceu0: ceu@fe910000 {
|
||||
compatible = "renesas,sh-mobile-ceu";
|
||||
reg = <0xfe910000 0xa0>;
|
||||
interrupts = <0x880>;
|
||||
|
||||
mclk: master_clock {
|
||||
compatible = "renesas,ceu-clock";
|
||||
#clock-cells = <1>;
|
||||
clock-frequency = <50000000>; /* Max clock frequency */
|
||||
clock-output-names = "mclk";
|
||||
};
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Parallel bus endpoint */
|
||||
ceu0_1: endpoint@1 {
|
||||
reg = <1>; /* Local endpoint # */
|
||||
remote = <&ov772x_1_1>; /* Remote phandle */
|
||||
bus-width = <8>; /* Used data lines */
|
||||
data-shift = <2>; /* Lines 9:2 are used */
|
||||
|
||||
/* If hsync-active/vsync-active are missing,
|
||||
embedded BT.656 sync is used */
|
||||
hsync-active = <0>; /* Active low */
|
||||
vsync-active = <0>; /* Active low */
|
||||
data-active = <1>; /* Active high */
|
||||
pclk-sample = <1>; /* Rising */
|
||||
};
|
||||
|
||||
/* MIPI CSI-2 bus endpoint */
|
||||
ceu0_0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote = <&csi2_2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c0: i2c@fff20000 {
|
||||
...
|
||||
ov772x_1: camera@21 {
|
||||
compatible = "ovti,ov772x";
|
||||
reg = <0x21>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <20000000>;
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "xclk";
|
||||
|
||||
port {
|
||||
/* With 1 endpoint per port no need for addresses. */
|
||||
ov772x_1_1: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&ceu0_1>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <0>; /* Who came up with an
|
||||
inverter here ?... */
|
||||
data-active = <1>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imx074: camera@1a {
|
||||
compatible = "sony,imx074";
|
||||
reg = <0x1a>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <30000000>; /* Shared clock with ov772x_1 */
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "sysclk"; /* Assuming this is the
|
||||
name in the datasheet */
|
||||
port {
|
||||
imx074_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
remote-endpoint = <&csi2_1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
csi2: csi2@ffc90000 {
|
||||
compatible = "renesas,sh-mobile-csi2";
|
||||
reg = <0xffc90000 0x1000>;
|
||||
interrupts = <0x17a0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@1 {
|
||||
compatible = "renesas,csi2c"; /* One of CSI2I and CSI2C. */
|
||||
reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S,
|
||||
PHY_M has port address 0,
|
||||
is unused. */
|
||||
csi2_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <2 1>;
|
||||
remote-endpoint = <&imx074_1>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>; /* port 2: link to the CEU */
|
||||
|
||||
csi2_2: endpoint {
|
||||
remote-endpoint = <&ceu0_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
This file has moved to video-interfaces.yaml and video-interface-devices.yaml.
|
||||
|
||||
344
Documentation/devicetree/bindings/media/video-interfaces.yaml
Normal file
344
Documentation/devicetree/bindings/media/video-interfaces.yaml
Normal file
@@ -0,0 +1,344 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/video-interfaces.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Common bindings for video receiver and transmitter interface endpoints
|
||||
|
||||
maintainers:
|
||||
- Sakari Ailus <sakari.ailus@linux.intel.com>
|
||||
- Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
description: |
|
||||
Video data pipelines usually consist of external devices, e.g. camera sensors,
|
||||
controlled over an I2C, SPI or UART bus, and SoC internal IP blocks, including
|
||||
video DMA engines and video data processors.
|
||||
|
||||
SoC internal blocks are described by DT nodes, placed similarly to other SoC
|
||||
blocks. External devices are represented as child nodes of their respective
|
||||
bus controller nodes, e.g. I2C.
|
||||
|
||||
Data interfaces on all video devices are described by their child 'port' nodes.
|
||||
Configuration of a port depends on other devices participating in the data
|
||||
transfer and is described by 'endpoint' subnodes.
|
||||
|
||||
device {
|
||||
...
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
...
|
||||
endpoint@0 { ... };
|
||||
endpoint@1 { ... };
|
||||
};
|
||||
port@1 { ... };
|
||||
};
|
||||
};
|
||||
|
||||
If a port can be configured to work with more than one remote device on the same
|
||||
bus, an 'endpoint' child node must be provided for each of them. If more than
|
||||
one port is present in a device node or there is more than one endpoint at a
|
||||
port, or port node needs to be associated with a selected hardware interface,
|
||||
a common scheme using '#address-cells', '#size-cells' and 'reg' properties is
|
||||
used.
|
||||
|
||||
All 'port' nodes can be grouped under optional 'ports' node, which allows to
|
||||
specify #address-cells, #size-cells properties independently for the 'port'
|
||||
and 'endpoint' nodes and any child device nodes a device might have.
|
||||
|
||||
Two 'endpoint' nodes are linked with each other through their 'remote-endpoint'
|
||||
phandles. An endpoint subnode of a device contains all properties needed for
|
||||
configuration of this device for data exchange with other device. In most
|
||||
cases properties at the peer 'endpoint' nodes will be identical, however they
|
||||
might need to be different when there is any signal modifications on the bus
|
||||
between two devices, e.g. there are logic signal inverters on the lines.
|
||||
|
||||
It is allowed for multiple endpoints at a port to be active simultaneously,
|
||||
where supported by a device. For example, in case where a data interface of
|
||||
a device is partitioned into multiple data busses, e.g. 16-bit input port
|
||||
divided into two separate ITU-R BT.656 8-bit busses. In such case bus-width
|
||||
and data-shift properties can be used to assign physical data lines to each
|
||||
endpoint node (logical bus).
|
||||
|
||||
Documenting bindings for devices
|
||||
--------------------------------
|
||||
|
||||
All required and optional bindings the device supports shall be explicitly
|
||||
documented in device DT binding documentation. This also includes port and
|
||||
endpoint nodes for the device, including unit-addresses and reg properties
|
||||
where relevant.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
|
||||
properties:
|
||||
slave-mode:
|
||||
type: boolean
|
||||
description:
|
||||
Indicates that the link is run in slave mode. The default when this
|
||||
property is not specified is master mode. In the slave mode horizontal and
|
||||
vertical synchronization signals are provided to the slave device (data
|
||||
source) by the master device (data sink). In the master mode the data
|
||||
source device is also the source of the synchronization signals.
|
||||
|
||||
bus-type:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
- 1 # MIPI CSI-2 C-PHY
|
||||
- 2 # MIPI CSI1
|
||||
- 3 # CCP2
|
||||
- 4 # MIPI CSI-2 D-PHY
|
||||
- 5 # Parallel
|
||||
- 6 # BT.656
|
||||
description:
|
||||
Data bus type.
|
||||
|
||||
bus-width:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 64
|
||||
description:
|
||||
Number of data lines actively used, valid for the parallel busses.
|
||||
|
||||
data-shift:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 64
|
||||
description:
|
||||
On the parallel data busses, if bus-width is used to specify the number of
|
||||
data lines, data-shift can be used to specify which data lines are used,
|
||||
e.g. "bus-width=<8>; data-shift=<2>;" means, that lines 9:2 are used.
|
||||
|
||||
hsync-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
|
||||
|
||||
vsync-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Active state of the VSYNC signal, 0/1 for LOW/HIGH respectively. Note,
|
||||
that if HSYNC and VSYNC polarities are not specified, embedded
|
||||
synchronization may be required, where supported.
|
||||
|
||||
data-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Similar to HSYNC and VSYNC, specifies data line polarity.
|
||||
|
||||
data-enable-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Similar to HSYNC and VSYNC, specifies the data enable signal polarity.
|
||||
|
||||
field-even-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Field signal level during the even field data transmission.
|
||||
|
||||
pclk-sample:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Sample data on rising (1) or falling (0) edge of the pixel clock signal.
|
||||
|
||||
sync-on-green-active:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Active state of Sync-on-green (SoG) signal, 0/1 for LOW/HIGH respectively.
|
||||
|
||||
data-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
items:
|
||||
# Assume up to 9 physical lane indices
|
||||
maximum: 8
|
||||
description:
|
||||
An array of physical data lane indexes. Position of an entry determines
|
||||
the logical lane number, while the value of an entry indicates physical
|
||||
lane, e.g. for 2-lane MIPI CSI-2 bus we could have "data-lanes = <1 2>;",
|
||||
assuming the clock lane is on hardware lane 0. If the hardware does not
|
||||
support lane reordering, monotonically incremented values shall be used
|
||||
from 0 or 1 onwards, depending on whether or not there is also a clock
|
||||
lane. This property is valid for serial busses only (e.g. MIPI CSI-2).
|
||||
|
||||
clock-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
# Assume up to 9 physical lane indices
|
||||
maximum: 8
|
||||
description:
|
||||
Physical clock lane index. Position of an entry determines the logical
|
||||
lane number, while the value of an entry indicates physical lane, e.g. for
|
||||
a MIPI CSI-2 bus we could have "clock-lanes = <0>;", which places the
|
||||
clock lane on hardware lane 0. This property is valid for serial busses
|
||||
only (e.g. MIPI CSI-2).
|
||||
|
||||
clock-noncontinuous:
|
||||
type: boolean
|
||||
description:
|
||||
Allow MIPI CSI-2 non-continuous clock mode.
|
||||
|
||||
link-frequencies:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-array
|
||||
description:
|
||||
Allowed data bus frequencies. For MIPI CSI-2, for instance, this is the
|
||||
actual frequency of the bus, not bits per clock per lane value. An array
|
||||
of 64-bit unsigned integers.
|
||||
|
||||
lane-polarities:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 9
|
||||
items:
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
An array of polarities of the lanes starting from the clock lane and
|
||||
followed by the data lanes in the same order as in data-lanes. Valid
|
||||
values are 0 (normal) and 1 (inverted). The length of the array should be
|
||||
the combined length of data-lanes and clock-lanes properties. If the
|
||||
lane-polarities property is omitted, the value must be interpreted as 0
|
||||
(normal). This property is valid for serial busses only.
|
||||
|
||||
strobe:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1 ]
|
||||
description:
|
||||
Whether the clock signal is used as clock (0) or strobe (1). Used with
|
||||
CCP2, for instance.
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
# The example snippet below describes two data pipelines. ov772x and imx074
|
||||
# are camera sensors with a parallel and serial (MIPI CSI-2) video bus
|
||||
# respectively. Both sensors are on the I2C control bus corresponding to the
|
||||
# i2c0 controller node. ov772x sensor is linked directly to the ceu0 video
|
||||
# host interface. imx074 is linked to ceu0 through the MIPI CSI-2 receiver
|
||||
# (csi2). ceu0 has a (single) DMA engine writing captured data to memory.
|
||||
# ceu0 node has a single 'port' node which may indicate that at any time
|
||||
# only one of the following data pipelines can be active:
|
||||
# ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
|
||||
- |
|
||||
ceu@fe910000 {
|
||||
compatible = "renesas,sh-mobile-ceu";
|
||||
reg = <0xfe910000 0xa0>;
|
||||
interrupts = <0x880>;
|
||||
|
||||
mclk: master_clock {
|
||||
compatible = "renesas,ceu-clock";
|
||||
#clock-cells = <1>;
|
||||
clock-frequency = <50000000>; /* Max clock frequency */
|
||||
clock-output-names = "mclk";
|
||||
};
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Parallel bus endpoint */
|
||||
ceu0_1: endpoint@1 {
|
||||
reg = <1>; /* Local endpoint # */
|
||||
remote-endpoint = <&ov772x_1_1>; /* Remote phandle */
|
||||
bus-width = <8>; /* Used data lines */
|
||||
data-shift = <2>; /* Lines 9:2 are used */
|
||||
|
||||
/* If hsync-active/vsync-active are missing,
|
||||
embedded BT.656 sync is used */
|
||||
hsync-active = <0>; /* Active low */
|
||||
vsync-active = <0>; /* Active low */
|
||||
data-active = <1>; /* Active high */
|
||||
pclk-sample = <1>; /* Rising */
|
||||
};
|
||||
|
||||
/* MIPI CSI-2 bus endpoint */
|
||||
ceu0_0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&csi2_2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@21 {
|
||||
compatible = "ovti,ov772x";
|
||||
reg = <0x21>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <20000000>;
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "xclk";
|
||||
|
||||
port {
|
||||
/* With 1 endpoint per port no need for addresses. */
|
||||
ov772x_1_1: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&ceu0_1>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <0>; /* Who came up with an
|
||||
inverter here ?... */
|
||||
data-active = <1>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
camera@1a {
|
||||
compatible = "sony,imx074";
|
||||
reg = <0x1a>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <30000000>; /* Shared clock with ov772x_1 */
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "sysclk"; /* Assuming this is the
|
||||
name in the datasheet */
|
||||
port {
|
||||
imx074_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
remote-endpoint = <&csi2_1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
csi2: csi2@ffc90000 {
|
||||
compatible = "renesas,sh-mobile-csi2";
|
||||
reg = <0xffc90000 0x1000>;
|
||||
interrupts = <0x17a0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@1 {
|
||||
compatible = "renesas,csi2c"; /* One of CSI2I and CSI2C. */
|
||||
reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S,
|
||||
PHY_M has port address 0,
|
||||
is unused. */
|
||||
csi2_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <2 1>;
|
||||
remote-endpoint = <&imx074_1>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>; /* port 2: link to the CEU */
|
||||
|
||||
csi2_2: endpoint {
|
||||
remote-endpoint = <&ceu0_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -97,24 +97,21 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ports:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
description: |
|
||||
Input / sink port node, single endpoint describing the
|
||||
CSI-2 transmitter.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
|
||||
data-lanes:
|
||||
description: |
|
||||
This is required only in the sink port 0 endpoint which
|
||||
@@ -130,41 +127,17 @@ properties:
|
||||
- const: 3
|
||||
- const: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: |
|
||||
Output / source port node, endpoint describing modules
|
||||
connected the CSI-2 receiver.
|
||||
|
||||
properties:
|
||||
|
||||
reg:
|
||||
const: 1
|
||||
|
||||
endpoint:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/lantiq/lantiq,cgu.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lantiq Xway SoC series Clock Generation Unit (CGU)
|
||||
|
||||
maintainers:
|
||||
- John Crispin <john@phrozen.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- lantiq,cgu-xway
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
cgu@103000 {
|
||||
compatible = "lantiq,cgu-xway";
|
||||
reg = <0x103000 0x1000>;
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user