mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
Devicetree fixes for v6.6, part 1:
- Convert st,stih407-irq-syscfg and Omnivision OV7251 bindings to DT schema - Merge Omnivision OV5695 into OV5693 binding - Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmT6BSsACgkQ+vtdtY28 YcPSTQ/9G+hCbWrfY6e+qoHPtZo37qC2kqop5ll+N6clDNaad/BtX1J9BJGPkoPb ySUaHy5z+GbqZUHbKDbExI40h6oNbtPvOUeMvlwOVEJYjzA3OZZefd6gQihC1XsZ nOkjIRfWRkzND0MYb9gb/LGIiKOfC/gTEhPqIhtkyhoMljPLNphbg+Rt04Qwfokf 04/yc6JQNFUcyVU3iHz1PwbIYHo1t1fgATzYBaUQcHUZrmBtNtVKwpCx8LQsDCeX U7Drl02l9SHDZYu1U1kpzxz6Pl6GvAFC7Vda5EUxU6p0AwqUChOJRv16Z2OpK+9f HPsN3osOuW+QS6H5xlzVH4zylcWjEbiL0ifWP5v557+OZqFcpfz2uL5BUjl9qoQ4 WNvbfqnIqXS4gftqUAEoKY71cIQEuRFmnpSTxbjq0VyXDuCyIzNau0gmGXLq60LV lC63BQEOk9ZCvGMuGli1ild7+jSnYU1n73+UV0VUBrwbtvHiphPVVZ5JAmfMzvKH 8rAPqZbf5TY5sONqGj+hbmAnLiiuf0khu21pKoaNMbnjxnA+BiKN9GiP6+EqPyHY oBj3qSPWzq4DRs+ZjfIsmLu1kmoznjL4BTmeK2sFXlVa8XKfZRN6FYp8wNXJWpFo MnHG10jgm5Js6lE+vaQOZ0BFzL7JYRESu1YTPn/NXBA7NY8CTkg= =n+1p -----END PGP SIGNATURE----- Merge tag 'devicetree-fixes-for-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull more devicetree updates from Rob Herring: "A couple of conversions which didn't get picked up by the subsystems and one fix: - Convert st,stih407-irq-syscfg and Omnivision OV7251 bindings to DT schema - Merge Omnivision OV5695 into OV5693 binding - Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY" * tag 'devicetree-fixes-for-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: dt-bindings: irqchip: convert st,stih407-irq-syscfg to DT schema media: dt-bindings: Convert Omnivision OV7251 to DT schema media: dt-bindings: Merge OV5695 into OV5693 binding of: overlay: Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY
This commit is contained in:
commit
2ab35ce202
@ -269,6 +269,7 @@ examples:
|
||||
port {
|
||||
ov7251_ep: endpoint {
|
||||
data-lanes = <0 1>;
|
||||
link-frequencies = /bits/ 64 <240000000 319200000>;
|
||||
remote-endpoint = <&csiphy3_ep>;
|
||||
};
|
||||
};
|
||||
|
@ -1,30 +0,0 @@
|
||||
STMicroelectronics STi System Configuration Controlled IRQs
|
||||
-----------------------------------------------------------
|
||||
|
||||
On STi based systems; External, CTI (Core Sight), PMU (Performance Management),
|
||||
and PL310 L2 Cache IRQs are controlled using System Configuration registers.
|
||||
This driver is used to unmask them prior to use.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "st,stih407-irq-syscfg"
|
||||
- st,syscfg : Phandle to Cortex-A9 IRQ system config registers
|
||||
- st,irq-device : Array of IRQs to enable - should be 2 in length
|
||||
- st,fiq-device : Array of FIQs to enable - should be 2 in length
|
||||
|
||||
Optional properties:
|
||||
- st,invert-ext : External IRQs can be inverted at will. This property inverts
|
||||
these IRQs using bitwise logic. A number of defines have been
|
||||
provided for convenience:
|
||||
ST_IRQ_SYSCFG_EXT_1_INV
|
||||
ST_IRQ_SYSCFG_EXT_2_INV
|
||||
ST_IRQ_SYSCFG_EXT_3_INV
|
||||
Example:
|
||||
|
||||
irq-syscfg {
|
||||
compatible = "st,stih407-irq-syscfg";
|
||||
st,syscfg = <&syscfg_cpu>;
|
||||
st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
|
||||
<ST_IRQ_SYSCFG_PMU_1>;
|
||||
st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
|
||||
<ST_IRQ_SYSCFG_DISABLED>;
|
||||
};
|
@ -0,0 +1,65 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/interrupt-controller/st,stih407-irq-syscfg.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: STMicroelectronics STi System Configuration Controlled IRQs
|
||||
|
||||
maintainers:
|
||||
- Patrice Chotard <patrice.chotard@foss.st.com>
|
||||
|
||||
description:
|
||||
On STi based systems; External, CTI (Core Sight), PMU (Performance
|
||||
Management), and PL310 L2 Cache IRQs are controlled using System
|
||||
Configuration registers. This device is used to unmask them prior to use.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: st,stih407-irq-syscfg
|
||||
|
||||
st,syscfg:
|
||||
description: Phandle to Cortex-A9 IRQ system config registers
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
st,irq-device:
|
||||
description: Array of IRQs to enable.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
items:
|
||||
- description: Enable the IRQ of the channel one.
|
||||
- description: Enable the IRQ of the channel two.
|
||||
|
||||
st,fiq-device:
|
||||
description: Array of FIQs to enable.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
items:
|
||||
- description: Enable the IRQ of the channel one.
|
||||
- description: Enable the IRQ of the channel two.
|
||||
|
||||
st,invert-ext:
|
||||
description: External IRQs can be inverted at will. This property inverts
|
||||
these three IRQs using bitwise logic, each one being encoded respectively
|
||||
on the first, second and fourth bit.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 1, 2, 3, 4, 5, 6 ]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- st,syscfg
|
||||
- st,irq-device
|
||||
- st,fiq-device
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq-st.h>
|
||||
irq-syscfg {
|
||||
compatible = "st,stih407-irq-syscfg";
|
||||
st,syscfg = <&syscfg_cpu>;
|
||||
st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
|
||||
<ST_IRQ_SYSCFG_PMU_1>;
|
||||
st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
|
||||
<ST_IRQ_SYSCFG_DISABLED>;
|
||||
};
|
||||
...
|
@ -1,41 +0,0 @@
|
||||
* Omnivision OV5695 MIPI CSI-2 sensor
|
||||
|
||||
Required Properties:
|
||||
- compatible: shall be "ovti,ov5695"
|
||||
- clocks: reference to the xvclk input clock
|
||||
- clock-names: shall be "xvclk"
|
||||
- avdd-supply: Analog voltage supply, 2.8 volts
|
||||
- dovdd-supply: Digital I/O voltage supply, 1.8 volts
|
||||
- dvdd-supply: Digital core voltage supply, 1.2 volts
|
||||
- reset-gpios: Low active reset gpio
|
||||
|
||||
The device node shall contain one 'port' child node with an
|
||||
'endpoint' subnode for its digital output video port,
|
||||
in accordance with the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
The endpoint optional property 'data-lanes' shall be "<1 2>".
|
||||
|
||||
Example:
|
||||
&i2c7 {
|
||||
ov5695: camera-sensor@36 {
|
||||
compatible = "ovti,ov5695";
|
||||
reg = <0x36>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&clk_24m_cam>;
|
||||
|
||||
clocks = <&cru SCLK_TESTCLKOUT1>;
|
||||
clock-names = "xvclk";
|
||||
|
||||
avdd-supply = <&pp2800_cam>;
|
||||
dovdd-supply = <&pp1800>;
|
||||
dvdd-supply = <&pp1250_cam>;
|
||||
reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
port {
|
||||
wcam_out: endpoint {
|
||||
remote-endpoint = <&mipi_in_wcam>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -1,52 +0,0 @@
|
||||
* Omnivision 1/7.5-Inch B&W VGA CMOS Digital Image Sensor
|
||||
|
||||
The Omnivision OV7251 is a 1/7.5-Inch CMOS active pixel digital image sensor
|
||||
with an active array size of 640H x 480V. It is programmable through a serial
|
||||
I2C interface.
|
||||
|
||||
Required Properties:
|
||||
- compatible: Value should be "ovti,ov7251".
|
||||
- clocks: Reference to the xclk clock.
|
||||
- clock-names: Should be "xclk".
|
||||
- clock-frequency: Frequency of the xclk clock.
|
||||
- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds
|
||||
to the hardware pin XSHUTDOWN which is physically active low.
|
||||
- vdddo-supply: Chip digital IO regulator.
|
||||
- vdda-supply: Chip analog regulator.
|
||||
- vddd-supply: Chip digital core regulator.
|
||||
|
||||
The device node shall contain one 'port' child node with a single 'endpoint'
|
||||
subnode for its digital output video port, in accordance with the video
|
||||
interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
|
||||
&i2c1 {
|
||||
...
|
||||
|
||||
ov7251: camera-sensor@60 {
|
||||
compatible = "ovti,ov7251";
|
||||
reg = <0x60>;
|
||||
|
||||
enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&camera_bw_default>;
|
||||
|
||||
clocks = <&clks 200>;
|
||||
clock-names = "xclk";
|
||||
clock-frequency = <24000000>;
|
||||
|
||||
vdddo-supply = <&camera_dovdd_1v8>;
|
||||
vdda-supply = <&camera_avdd_2v8>;
|
||||
vddd-supply = <&camera_dvdd_1v2>;
|
||||
|
||||
port {
|
||||
ov7251_ep: endpoint {
|
||||
clock-lanes = <1>;
|
||||
data-lanes = <0>;
|
||||
remote-endpoint = <&csi0_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -5,26 +5,41 @@
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5693.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Omnivision OV5693 CMOS Sensor
|
||||
title: Omnivision OV5693/OV5695 CMOS Sensors
|
||||
|
||||
maintainers:
|
||||
- Tommaso Merciai <tommaso.merciai@amarulasolutions.com>
|
||||
|
||||
description: |
|
||||
The Omnivision OV5693 is a high performance, 1/4-inch, 5 megapixel, CMOS
|
||||
image sensor that delivers 2592x1944 at 30fps. It provides full-frame,
|
||||
The Omnivision OV5693/OV5695 are high performance, 1/4-inch, 5 megapixel, CMOS
|
||||
image sensors that deliver 2592x1944 at 30fps. It provides full-frame,
|
||||
sub-sampled, and windowed 10-bit MIPI images in various formats via the
|
||||
Serial Camera Control Bus (SCCB) interface.
|
||||
|
||||
OV5693 is controlled via I2C and two-wire Serial Camera Control Bus (SCCB).
|
||||
The sensor output is available via CSI-2 serial data output (up to 2-lane).
|
||||
OV5693/OV5695 are controlled via I2C and two-wire Serial Camera Control Bus
|
||||
(SCCB). The sensor output is available via CSI-2 serial data output (up to
|
||||
2-lane).
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/media/video-interface-devices.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ovti,ov5693
|
||||
then:
|
||||
properties:
|
||||
port:
|
||||
properties:
|
||||
endpoint:
|
||||
required:
|
||||
- link-frequencies
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov5693
|
||||
enum:
|
||||
- ovti,ov5693
|
||||
- ovti,ov5695
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@ -34,6 +49,9 @@ properties:
|
||||
System input clock (aka XVCLK). From 6 to 27 MHz.
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: xvclk
|
||||
|
||||
dovdd-supply:
|
||||
description:
|
||||
Digital I/O voltage supply, 1.8V.
|
||||
@ -72,7 +90,6 @@ properties:
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
109
Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
Normal file
109
Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
Normal file
@ -0,0 +1,109 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/ovti,ov7251.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: OmniVision OV7251 Image Sensor
|
||||
|
||||
description:
|
||||
The Omnivision OV7251 is a 1/7.5-Inch CMOS active pixel digital image sensor
|
||||
with an active array size of 640H x 480V. It is programmable through a serial
|
||||
I2C interface.
|
||||
|
||||
maintainers:
|
||||
- Todor Tomov <todor.too@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ovti,ov7251
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description: XCLK Input Clock
|
||||
|
||||
clock-names:
|
||||
const: xclk
|
||||
|
||||
clock-frequency:
|
||||
description: Frequency of the xclk clock in Hz.
|
||||
|
||||
vdda-supply:
|
||||
description: Analog voltage supply, 2.8 volts
|
||||
|
||||
vddd-supply:
|
||||
description: Digital core voltage supply, 1.2 volts
|
||||
|
||||
vdddo-supply:
|
||||
description: Digital I/O voltage supply, 1.8 volts
|
||||
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
Reference to the GPIO connected to the XSHUTDOWN pin, if any. Polarity
|
||||
is GPIO_ACTIVE_HIGH.
|
||||
|
||||
port:
|
||||
description: Digital Output Port
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
maximum: 1
|
||||
|
||||
data-lanes:
|
||||
maxItems: 1
|
||||
|
||||
link-frequencies: true
|
||||
|
||||
required:
|
||||
- data-lanes
|
||||
- link-frequencies
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- vdddo-supply
|
||||
- vdda-supply
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@3c {
|
||||
compatible = "ovti,ov7251";
|
||||
reg = <0x3c>;
|
||||
clocks = <&clks 1>;
|
||||
clock-frequency = <24000000>;
|
||||
vdddo-supply = <&ov7251_vdddo_1v8>;
|
||||
vdda-supply = <&ov7251_vdda_2v8>;
|
||||
vddd-supply = <&ov7251_vddd_1v5>;
|
||||
enable-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port {
|
||||
ov7251_ep: endpoint {
|
||||
remote-endpoint = <&csi0_ep>;
|
||||
clock-lanes = <1>;
|
||||
data-lanes = <0>;
|
||||
link-frequencies = /bits/ 64 <240000000 319200000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
@ -199,6 +199,7 @@ examples:
|
||||
wcam: camera@36 {
|
||||
compatible = "ovti,ov5695";
|
||||
reg = <0x36>;
|
||||
clocks = <&cru SCLK_TESTCLKOUT1>;
|
||||
|
||||
port {
|
||||
wcam_out: endpoint {
|
||||
|
@ -1676,8 +1676,8 @@ int of_overlay_notifier_unregister(struct notifier_block *nb);
|
||||
|
||||
#else
|
||||
|
||||
static inline int of_overlay_fdt_apply(void *overlay_fdt, u32 overlay_fdt_size,
|
||||
int *ovcs_id)
|
||||
static inline int of_overlay_fdt_apply(const void *overlay_fdt, u32 overlay_fdt_size,
|
||||
int *ovcs_id, struct device_node *target_base)
|
||||
{
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user