Message ID | 20230707210646.868758-1-robh@kernel.org |
---|---|
State | Accepted |
Commit | 274e480982e6d1239be6a236bb457aa95460e1f1 |
Headers | show |
Series | media: dt-bindings: Convert Omnivision OV7251 to DT schema | expand |
On Fri, Jul 07, 2023 at 03:06:46PM -0600, Rob Herring wrote: > Convert the OmniVision OV7251 Image Sensor binding to DT schema format. > > vddd-supply was listed as required, but the example and actual user > don't have it. Also, the data brief says it has an internal regulator, > so perhaps it is truly optional. ov7251.c: ov7251->core_regulator = devm_regulator_get(dev, "vddd"); if (IS_ERR(ov7251->core_regulator)) { dev_err(dev, "cannot get core regulator\n"); return PTR_ERR(ov7251->core_regulator); } Looks like the driver's probe function disagrees? I was going to ask how it worked, but the one user has status = "disabled"... /shrug, what's here looks fine to me, whatever Qualcomm person cares about the driver can make sure it works for them I guess. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Cheers, Conor. > > Signed-off-by: Rob Herring <robh@kernel.org> > --- > .../devicetree/bindings/media/i2c/ov7251.txt | 52 --------- > .../bindings/media/i2c/ovti,ov7251.yaml | 105 ++++++++++++++++++ > 2 files changed, 105 insertions(+), 52 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov7251.txt > create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/ov7251.txt b/Documentation/devicetree/bindings/media/i2c/ov7251.txt > deleted file mode 100644 > index 8281151f7493..000000000000 > --- a/Documentation/devicetree/bindings/media/i2c/ov7251.txt > +++ /dev/null > @@ -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>; > - }; > - }; > - }; > - }; > diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml > new file mode 100644 > index 000000000000..8d939858d950 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml > @@ -0,0 +1,105 @@ > +# 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 > + > + required: > + - data-lanes > + > +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>; > + }; > + }; > + }; > + }; > +... > -- > 2.40.1 >
diff --git a/Documentation/devicetree/bindings/media/i2c/ov7251.txt b/Documentation/devicetree/bindings/media/i2c/ov7251.txt deleted file mode 100644 index 8281151f7493..000000000000 --- a/Documentation/devicetree/bindings/media/i2c/ov7251.txt +++ /dev/null @@ -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>; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml new file mode 100644 index 000000000000..8d939858d950 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml @@ -0,0 +1,105 @@ +# 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 + + required: + - data-lanes + +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>; + }; + }; + }; + }; +...
Convert the OmniVision OV7251 Image Sensor binding to DT schema format. vddd-supply was listed as required, but the example and actual user don't have it. Also, the data brief says it has an internal regulator, so perhaps it is truly optional. Signed-off-by: Rob Herring <robh@kernel.org> --- .../devicetree/bindings/media/i2c/ov7251.txt | 52 --------- .../bindings/media/i2c/ovti,ov7251.yaml | 105 ++++++++++++++++++ 2 files changed, 105 insertions(+), 52 deletions(-) delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov7251.txt create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml