Hi,

On 06/25/2013 10:24 AM, Phil Carmody wrote:
> Sylwester Nawrocki wrote:
> 
> Add common camera node and Exynos4212/4412 specific nodes for
> FIMC, MIPI-CSIS, FIMC-LITE and FIMC-IS devices.
> 
> Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
> ---
>  arch/arm/boot/dts/exynos4x12.dtsi |  118 
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 118 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos4x12.dtsi 
> b/arch/arm/boot/dts/exynos4x12.dtsi
> index 0e24d85..f8cc1d0 100644
> --- a/arch/arm/boot/dts/exynos4x12.dtsi
> +++ b/arch/arm/boot/dts/exynos4x12.dtsi
> @@ -26,6 +26,8 @@
>                 pinctrl1 = &pinctrl_1;
>                 pinctrl2 = &pinctrl_2;
>                 pinctrl3 = &pinctrl_3;
> +               fimc-lite0 = &fimc_lite_0;
> +               fimc-lite1 = &fimc_lite_1;
>         };
> 
>         pd_isp: isp-power-domain@10023CA0 {
> @@ -78,4 +80,120 @@
>                 clock-names = "sclk_fimg2d", "fimg2d";
>                 status = "disabled";
>         };
> +
> +       camera {
> +               clocks = <&clock 132>, <&clock 133>, <&clock 351>, <&clock 
> 352>,
> +                        <&clock 388>, <&clock 389>, <&clock 17>;
> +               clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0",
> +                           "pxl_async1", "mux_cam0", "mux_cam1", "parent";
> +
> +               fimc_0: fimc@11800000 {
> +                       compatible = "samsung,exynos4212-fimc";
> +                       clocks = <&clock 256>, <&clock 128>, <&clock 384>, 
> <&clock 17>;
> +                       clock-names = "fimc", "sclk_fimc", "mux", "parent";
> +                       samsung,pix-limits = <4224 8192 1920 4224>;
> +                       samsung,mainscaler-ext;
> +                       samsung,isp-wb;
> +                       samsung,cam-if;
> +               };
> +
> +               fimc_1: fimc@11810000 {
> +                       compatible = "samsung,exynos4212-fimc";
> +                       clocks = <&clock 257>, <&clock 129>, <&clock 385>, 
> <&clock 17>;
> +                       clock-names = "fimc", "sclk_fimc", "mux", "parent";
> +                       samsung,pix-limits = <4224 8192 1920 4224>;
> +                       samsung,mainscaler-ext;
> +                       samsung,isp-wb;
> +                       samsung,cam-if;
> +               };
> +
> +               fimc_2: fimc@11820000 {
> +                       compatible = "samsung,exynos4212-fimc";
> +                       clocks = <&clock 258>, <&clock 130>, <&clock 386>, 
> <&clock 17>;
> +                       clock-names = "fimc", "sclk_fimc", "mux", "parent";
> +                       samsung,pix-limits = <4224 8192 1920 4224>;
> +                       samsung,mainscaler-ext;
> +                       samsung,isp-wb;
> +                       samsung,lcd-wb;
> +                       samsung,cam-if;
> +               };
> +
> +               fimc_3: fimc@11830000 {
> +                       compatible = "samsung,exynos4212-fimc";
> +                       clocks = <&clock 259>, <&clock 131>, <&clock 387>, 
> <&clock 17>;
> +                       clock-names = "fimc", "sclk_fimc", "mux", "parent";
> +                       samsung,pix-limits = <1920 8192 1366 1920>;
> +                       samsung,rotators = <0>;
> +                       samsung,mainscaler-ext;
> +                       samsung,isp-wb;
> +                       samsung,lcd-wb;
> +               };
> +
> +               csis_0: csis@11880000 {
> +                       clocks = <&clock 260>, <&clock 134>, <&clock 390>, 
> <&clock 17>;
> +                       clock-names = "csis", "sclk_csis", "mux", "parent";
> +               };
> +
> +               csis_1: csis@11890000 {
> +                       clocks = <&clock 261>, <&clock 135>, <&clock 391>, 
> <&clock 17>;
> +                       clock-names = "csis", "sclk_csis", "mux", "parent";
> +               };
> +
> +               fimc_lite_0: fimc-lite@12390000 {
> +                       compatible = "samsung,exynos4212-fimc-lite";
> +                       reg = <0x12390000 0x1000>;
> +                       interrupts = <0 105 0>;
> +                       samsung,power-domain = <&pd_isp>;
> +                       clocks = <&clock 353>;
> +                       clock-names = "flite";
> +                       status = "disabled";
> +               };
> +
> +               fimc_lite_1: fimc-lite@123A0000 {
> +                       compatible = "samsung,exynos4212-fimc-lite";
> +                       reg = <0x123A0000 0x1000>;
> +                       interrupts = <0 106 0>;
> +                       samsung,power-domain = <&pd_isp>;
> +                       clocks = <&clock 354>;
> +                       clock-names = "flite";
> +                       status = "disabled";
> +               };
> +
> +               fimc_is: fimc-is@12000000 {
> +                       compatible = "samsung,exynos4212-fimc-is", 
> "simple-bus";
> +                       reg = <0x12000000 0x260000>;
> +                       interrupts = <0 90 0>, <0 95 0>;
> +                       samsung,power-domain = <&pd_isp>;
> +                       clocks = <&clock 353>, <&clock 354>, <&clock 355>,
> +                               <&clock 356>, <&clock 17>, <&clock 357>,
> +                               <&clock 358>, <&clock 359>, <&clock 360>,
> +                               <&clock 450>,<&clock 451>, <&clock 452>,
> +                               <&clock 453>, <&clock 176>, <&clock 13>,
> +                               <&clock 454>, <&clock 395>, <&clock 455>;
> +                       clock-names = "lite0", "lite1", "ppmuispx",
> +                                     "ppmuispmx", "mpll", "isp",
> 
> 
> I notice a tiny typo in the documentation
> 
> --- a/Documentation/devicetree/bindings/media/exynos4-fimc-is.txt
> +++ b/Documentation/devicetree/bindings/media/exynos4-fimc-is.txt
> @@ -15,7 +15,7 @@ Required properties:
>  - interrupts   : must contain two FIMC-IS interrupts, in order: ISP0, ISP1;
>  - clocks       : list of clock specifiers, corresponding to entries in
>                   clock-names property;
> -- clock-names  : must contain "ppmuispx", "ppmuispx", "lite0", "lite1"
> +- clock-names  : must contain "ppmuispx", "ppmuispmx", "lite0", "lite1"
>                   "mpll", "sysreg", "isp", "drc", "fd", "mcuisp", "uart",
>                   "ispdiv0", "ispdiv1", "mcuispdiv0", "mcuispdiv1", "aclk200",
>                   "div_aclk200", "aclk400mcuisp", "div_aclk400mcuisp" entries,
> 
> 
> +                                     "drc", "fd", "mcuisp",
> +                                     "ispdiv0", "ispdiv1", "mcuispdiv0",
> +                                     "mcuispdiv1", "uart", "aclk200",
> +                                     "div_aclk200", "aclk400mcuisp",
> +                                     "div_aclk400mcuisp";
> 
> "sysreg" is missing from that list, but is listed as required in the 
> documentation.

Yes, "sysreg" clock was originally intended to be included in this list,
but this clock is not really specific to the FIMC-IS subsystem so I removed
it from the driver [1]. The biding documentation needs to be updated.
Good catch, thanks.

[1]
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/media/platform/exynos4-is?id=6301b13213d55e51b7255b1098618ba99d2945cd

> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges;
> +                       status = "disabled";
> +
> +                       pmu {
> +                               reg = <0x10020000 0x3000>;
> +                       };
> +
> +                       i2c1_isp: i2c-isp@12140000 {
> +                               compatible = "samsung,exynos4212-i2c-isp";
> +                               reg = <0x12130000 0x100>;
> 
> Typo 1214000 vs. 12130000?

Oops, I didn't notice it during tests, since this I2C bus controller
is handled by the Cortex A5 firmware. I'll change it to 0x12140000.

> +                               clocks = <&clock 370>;
> +                               clock-names = "i2c_isp";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                       };
> +               };
> +       };
>  };

Thanks,
Sylwester

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to