mirror of
https://github.com/torvalds/linux.git
synced 2026-04-23 09:05:50 -04:00
It's easy to get the polarity of GPIOs in the device tree wrong, as shown by a recently fixed bug in the imx335 driver. To lower the chance of future mistakes, especially in new bindings that would take the imx335 binding as a starting point, add the reset-gpios property to the DT example. This showcases the correct polarity of the XCLR signal for Sony sensors in the most common case of the signal not being inverted on the board. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
109 lines
2.5 KiB
YAML
109 lines
2.5 KiB
YAML
# 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,imx335.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Sony IMX335 Sensor
|
|
|
|
maintainers:
|
|
- Paul J. Murphy <paul.j.murphy@intel.com>
|
|
- Daniele Alessandrelli <daniele.alessandrelli@intel.com>
|
|
|
|
description:
|
|
IMX335 sensor is a Sony CMOS active pixel digital image sensor with an active
|
|
array size of 2592H x 1944V. 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,imx335
|
|
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
|
|
|
|
avdd-supply:
|
|
description: Analog power supply (2.9V)
|
|
|
|
ovdd-supply:
|
|
description: Interface power supply (1.8V)
|
|
|
|
dvdd-supply:
|
|
description: Digital power supply (1.2V)
|
|
|
|
reset-gpios:
|
|
description: Reference to the GPIO connected to the XCLR pin, if any.
|
|
maxItems: 1
|
|
|
|
port:
|
|
additionalProperties: false
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: /schemas/media/video-interfaces.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
data-lanes: true
|
|
link-frequencies: true
|
|
|
|
required:
|
|
- data-lanes
|
|
- link-frequencies
|
|
|
|
required:
|
|
- endpoint
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- port
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
camera@1a {
|
|
compatible = "sony,imx335";
|
|
reg = <0x1a>;
|
|
clocks = <&imx335_clk>;
|
|
|
|
assigned-clocks = <&imx335_clk>;
|
|
assigned-clock-parents = <&imx335_clk_parent>;
|
|
assigned-clock-rates = <24000000>;
|
|
|
|
avdd-supply = <&camera_vdda_2v9>;
|
|
ovdd-supply = <&camera_vddo_1v8>;
|
|
dvdd-supply = <&camera_vddd_1v2>;
|
|
|
|
reset-gpios = <&gpio 50 GPIO_ACTIVE_LOW>;
|
|
|
|
port {
|
|
imx335: endpoint {
|
|
remote-endpoint = <&cam>;
|
|
data-lanes = <1 2 3 4>;
|
|
link-frequencies = /bits/ 64 <594000000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|