Commit 99e6eaab authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Hans Verkuil

media: dt-bindings: samsung,exynos4212-fimc-is: replace duplicate pmu node with phandle

The FIMC IS camera must access the PMU (Power Management Unit) IO memory
to control camera power.  This was achieved by duplicating the PMU node
as its child like:

  soc@0 {
    system-controller@10020000 { ... }; // Real PMU

    camera@11800000 {
      fimc-is@12000000 {
        // FIMC IS camera node
        pmu@10020000 {
          reg = <0x10020000 0x3000>; // Fake PMU node
        };
      };
    };
  };

This is not a correct representation of the hardware.  Mapping the PMU
(Power Management Unit) IO memory should be via syscon-like phandle
(samsung,pmu-syscon, already used for other drivers), not by duplicating
"pmu" Devicetree node inside the FIMC IS.
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent 29d3e0b8
...@@ -75,13 +75,20 @@ properties: ...@@ -75,13 +75,20 @@ properties:
power-domains: power-domains:
maxItems: 1 maxItems: 1
samsung,pmu-syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Power Management Unit (PMU) system controller interface, used to
power/start the ISP.
patternProperties: patternProperties:
"^pmu@[0-9a-f]+$": "^pmu@[0-9a-f]+$":
type: object type: object
additionalProperties: false additionalProperties: false
deprecated: true
description: description:
Node representing the SoC's Power Management Unit (duplicated with the Node representing the SoC's Power Management Unit (duplicated with the
correct PMU node in the SoC). correct PMU node in the SoC). Deprecated, use samsung,pmu-syscon.
properties: properties:
reg: reg:
...@@ -131,6 +138,7 @@ required: ...@@ -131,6 +138,7 @@ required:
- clock-names - clock-names
- interrupts - interrupts
- ranges - ranges
- samsung,pmu-syscon
- '#size-cells' - '#size-cells'
additionalProperties: false additionalProperties: false
...@@ -179,15 +187,12 @@ examples: ...@@ -179,15 +187,12 @@ examples:
<&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>; <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
iommu-names = "isp", "drc", "fd", "mcuctl"; iommu-names = "isp", "drc", "fd", "mcuctl";
power-domains = <&pd_isp>; power-domains = <&pd_isp>;
samsung,pmu-syscon = <&pmu_system_controller>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
pmu@10020000 {
reg = <0x10020000 0x3000>;
};
i2c-isp@12140000 { i2c-isp@12140000 {
compatible = "samsung,exynos4212-i2c-isp"; compatible = "samsung,exynos4212-i2c-isp";
reg = <0x12140000 0x100>; reg = <0x12140000 0x100>;
......
...@@ -236,15 +236,12 @@ examples: ...@@ -236,15 +236,12 @@ examples:
<&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>; <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
iommu-names = "isp", "drc", "fd", "mcuctl"; iommu-names = "isp", "drc", "fd", "mcuctl";
power-domains = <&pd_isp>; power-domains = <&pd_isp>;
samsung,pmu-syscon = <&pmu_system_controller>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
pmu@10020000 {
reg = <0x10020000 0x3000>;
};
i2c-isp@12140000 { i2c-isp@12140000 {
compatible = "samsung,exynos4212-i2c-isp"; compatible = "samsung,exynos4212-i2c-isp";
reg = <0x12140000 0x100>; reg = <0x12140000 0x100>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment