Re: [PATCH v6 1/3] media: dt-bindings: ov8856: Document YAML bindings
From: Marco Felsch
Date: Fri Apr 03 2020 - 15:21:27 EST
Hi Robert,
On 20-04-02 11:57, Robert Foss wrote:
> 'Hey Marco,
>
> On Tue, 31 Mar 2020 at 17:13, Marco Felsch <m.felsch@xxxxxxxxxxxxxx> wrote:
...
> > > + assigned-clocks:
> > > + description:
> > > + Input clock for the sensor.
> > > +
> > > + assigned-clock-rates:
> > > + description:
> > > + Frequency of the xvclk clock in Hertz.
> >
> > Also this isn't related to the chip. You need this because you are using
> > a qcom platform which provides the clock.
> >
> > IMHO you only need to specify the clock. You can get the frequency with
> > the clk_get_rate() function.
>
> The way I understood this, was that clk_get_rate() would fetch the
> clock rate as defined by the 'assigned-clock-rates'
> Is this not the case? And if so, what rate would cllk_get_rate()
> actually retrieve?
>
You're right clk_get_rate() should be used to get the current clk rate
but assigned-cock-rates only applies to your setup where the host
supplies the clk. This is not the case ff we connect a simple external
osc which provides a static (not adjustable) ckl.
...
> > > +examples:
> > > + - |
> > > + #include <dt-bindings/gpio/gpio.h>
> > > + #include <dt-bindings/clock/qcom,camcc-sdm845.h>
> >
> > IMHO we should avoid examples with hardware specific includes.
>
> The HW specific include is used for the clocks property.
> clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
>
> Is there a non hw specific clock that would be better to use for examples?
Yes, just use:
clocks = <&cam_osc>;
The dt-validation provides dummy hooks for such phandles.
Regards,
Marco
>
> >
> > > +
> > > + i2c {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + ov8856: camera@10 {
> > > + compatible = "ovti,ov8856";
> > > + reg = <0x10>;
> > > +
> > > + reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&clk_24m_cam>;
> > > +
> > > + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> > > + clock-names = "xvclk";
> > > + clock-frequency = <19200000>;
> > > + assigned-clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> > > + assigned-clock-rates = <19200000>;
> > > +
> > > + avdd-supply = <&mt6358_vcama2_reg>;
> > > + dvdd-supply = <&mt6358_vcamd_reg>;
> > > + dovdd-supply = <&mt6358_vcamio_reg>;
> > > +
> > > + port {
> > > + wcam_out: endpoint {
> > > + remote-endpoint = <&mipi_in_wcam>;
> > > + clock-lanes = <0>;
> > > + data-lanes = <1 2 3 4>;
> > > + link-frequencies = /bits/ 64 <360000000 180000000>;
> >
> > Should we add the link-frequencies as optional param?
> >
> > Regards,
> > Marco
> >
> > > + };
> > > + };
> > > + };
> > > + };
> > > +...
> > > \ No newline at end of file
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index a6fbdf354d34..0f99e863978a 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -12355,6 +12355,7 @@ L: linux-media@xxxxxxxxxxxxxxx
> > > T: git git://linuxtv.org/media_tree.git
> > > S: Maintained
> > > F: drivers/media/i2c/ov8856.c
> > > +F: Documentation/devicetree/bindings/media/i2c/ov8856.yaml
> > >
> > > OMNIVISION OV9650 SENSOR DRIVER
> > > M: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> > > --
> > > 2.25.1
> > >
> > >
> >
> > --
> > Pengutronix e.K. | |
> > Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |