[PATCH v4 9/9] arm64: dts: renesas: Add CMM units to Gen3 SoCs
Kieran Bingham
kieran.bingham+renesas at ideasonboard.com
Wed Sep 11 18:16:31 UTC 2019
Hi Jacopo,
On 06/09/2019 14:54, Jacopo Mondi wrote:
> Add CMM units to Renesas R-Car Gen3 SoC that support it, and reference them
> from the Display Unit they are connected to.
>
> Sort the 'vsps' and 'renesas,cmm' entries in the DU unit consistently
> in all the involved DTS.
I think if you chose the ordering in the r8a7795, then you only have to
adjust/correct the ordering in the r8a7796 and r8a77965 ...
Especially as you haven't changed the ordering of r8a77970, and r8a77980
which have the status after the vsps entry.
>
> Signed-off-by: Jacopo Mondi <jacopo+renesas at jmondi.org>
> ---
> arch/arm64/boot/dts/renesas/r8a7795.dtsi | 40 ++++++++++++++++++++++-
> arch/arm64/boot/dts/renesas/r8a7796.dtsi | 28 ++++++++++++++++
> arch/arm64/boot/dts/renesas/r8a77965.dtsi | 28 ++++++++++++++++
> arch/arm64/boot/dts/renesas/r8a77990.dtsi | 22 ++++++++++++-
> arch/arm64/boot/dts/renesas/r8a77995.dtsi | 22 ++++++++++++-
> 5 files changed, 137 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> index 6675462f7585..67c242a447bc 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> @@ -2939,6 +2939,42 @@
> iommus = <&ipmmu_vi1 10>;
> };
>
> + cmm0: cmm at fea40000 {
> + compatible = "renesas,r8a7795-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea40000 0 0x1000>;
> + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 711>;
> + resets = <&cpg 711>;
> + };
> +
> + cmm1: cmm at fea50000 {
> + compatible = "renesas,r8a7795-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea50000 0 0x1000>;
> + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 710>;
> + resets = <&cpg 710>;
> + };
> +
> + cmm2: cmm at fea60000 {
> + compatible = "renesas,r8a7795-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea60000 0 0x1000>;
> + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 709>;
> + resets = <&cpg 709>;
> + };
> +
> + cmm3: cmm at fea70000 {
> + compatible = "renesas,r8a7795-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea70000 0 0x1000>;
> + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 708>;
> + resets = <&cpg 708>;
> + };
> +
> csi20: csi2 at fea80000 {
> compatible = "renesas,r8a7795-csi2";
> reg = <0 0xfea80000 0 0x10000>;
> @@ -3142,9 +3178,11 @@
> <&cpg CPG_MOD 722>,
> <&cpg CPG_MOD 721>;
> clock-names = "du.0", "du.1", "du.2", "du.3";
> - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
> status = "disabled";
I'm not sure the vsps should be below the status = disabled line.
I'd have this as:
clock-names...
vsps...
renesas,cmms...
<blank line>
status...
<blank line>
ports...
>
> + vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
> + renesas,cmms = <&cmm0 &cmm1 &cmm2 &cmm3>;
I think these should be separated by comma's to show they are separate
references, or references to separate phandles or such.
The only precedence I could find was in pmu_a53:
interrupt-affinity = <&a53_0>, <&a53_1>, <&a53_2>, <&a53_3>;
> +
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
> diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> index 822c96601d3c..837c3b2da773 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> @@ -2641,6 +2641,33 @@
> renesas,fcp = <&fcpvi0>;
> };
>
> + cmm0: cmm at fea40000 {
> + compatible = "renesas,r8a7796-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea40000 0 0x1000>;
> + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 711>;
> + resets = <&cpg 711>;
> + };
> +
> + cmm1: cmm at fea50000 {
> + compatible = "renesas,r8a7796-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea50000 0 0x1000>;
> + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 710>;
> + resets = <&cpg 710>;
> + };
> +
> + cmm2: cmm at fea60000 {
> + compatible = "renesas,r8a7796-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea60000 0 0x1000>;
> + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 709>;
> + resets = <&cpg 709>;
> + };
> +
> csi20: csi2 at fea80000 {
> compatible = "renesas,r8a7796-csi2";
> reg = <0 0xfea80000 0 0x10000>;
> @@ -2794,6 +2821,7 @@
> status = "disabled";
>
> vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>;
> + renesas,cmms = <&cmm0 &cmm1 &cmm2>;
Aha, yes, I'd move this vsps rather than the one at r8a7795, which I'd
consider to be more 'correct'.
>
> ports {
> #address-cells = <1>;
> diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> index 4ae163220f60..c7635e8b261c 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> @@ -2320,6 +2320,33 @@
> resets = <&cpg 611>;
> };
>
> + cmm0: cmm at fea40000 {
> + compatible = "renesas,r8a77965-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea40000 0 0x1000>;
> + power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 711>;
> + resets = <&cpg 711>;
> + };
> +
> + cmm1: cmm at fea50000 {
> + compatible = "renesas,r8a77965-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea50000 0 0x1000>;
> + power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 710>;
> + resets = <&cpg 710>;
> + };
> +
> + cmm3: cmm at fea70000 {
> + compatible = "renesas,r8a77965-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea70000 0 0x1000>;
> + power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 708>;
> + resets = <&cpg 708>;
> + };
> +
> csi20: csi2 at fea80000 {
> compatible = "renesas,r8a77965-csi2";
> reg = <0 0xfea80000 0 0x10000>;
> @@ -2470,6 +2497,7 @@
> status = "disabled";
>
> vsps = <&vspd0 0>, <&vspd1 0>, <&vspd0 1>;
> + renesas,cmms = <&cmm0 &cmm1 &cmm3>;
Again, I'd consider this the wrong sort order, due to the status'
importance. I wouldn't hide it in the middle.
>
> ports {
> #address-cells = <1>;
> diff --git a/arch/arm64/boot/dts/renesas/r8a77990.dtsi b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> index 455954c3d98e..5e3d758a033f 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> @@ -1727,6 +1727,24 @@
> iommus = <&ipmmu_vi0 9>;
> };
>
> + cmm0: cmm at fea40000 {
> + compatible = "renesas,r8a77990-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea40000 0 0x1000>;
> + power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 711>;
> + resets = <&cpg 711>;
> + };
> +
> + cmm1: cmm at fea50000 {
> + compatible = "renesas,r8a77990-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea50000 0 0x1000>;
> + power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 710>;
> + resets = <&cpg 710>;
> + };
> +
> csi40: csi2 at feaa0000 {
> compatible = "renesas,r8a77990-csi2";
> reg = <0 0xfeaa0000 0 0x10000>;
> @@ -1768,9 +1786,11 @@
> clock-names = "du.0", "du.1";
> resets = <&cpg 724>;
> reset-names = "du.0";
> - vsps = <&vspd0 0>, <&vspd1 0>;
> status = "disabled";
>
> + vsps = <&vspd0 0>, <&vspd1 0>;
> + renesas,cmms = <&cmm0 &cmm1>;
Same ... :D
> +
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
> diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> index 183fef86cf7c..6838a81f5caa 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> @@ -993,6 +993,24 @@
> iommus = <&ipmmu_vi0 9>;
> };
>
> + cmm0: cmm at fea40000 {
> + compatible = "renesas,r8a77995-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea40000 0 0x1000>;
> + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 711>;
> + resets = <&cpg 711>;
> + };
> +
> + cmm1: cmm at fea50000 {
> + compatible = "renesas,r8a77995-cmm",
> + "renesas,rcar-gen3-cmm";
> + reg = <0 0xfea50000 0 0x1000>;
> + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
> + clocks = <&cpg CPG_MOD 710>;
> + resets = <&cpg 710>;
> + };
> +
> du: display at feb00000 {
> compatible = "renesas,du-r8a77995";
> reg = <0 0xfeb00000 0 0x40000>;
> @@ -1003,9 +1021,11 @@
> clock-names = "du.0", "du.1";
> resets = <&cpg 724>;
> reset-names = "du.0";
> - vsps = <&vspd0 0>, <&vspd1 0>;
> status = "disabled";
>
> + vsps = <&vspd0 0>, <&vspd1 0>;
> + renesas,cmms = <&cmm0 &cmm1>;
> +
Same.
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
>
More information about the dri-devel
mailing list