Re: [PATCH 2/4] arm64: dts: rockchip: add ARM Mali GPU node for RK3399 SoCs

2017-07-12 Thread Caesar Wang

在 2017年07月12日 15:19, Heiko Stuebner 写道:

Hi Caesar,

Am Mittwoch, 12. Juli 2017, 14:29:28 CEST schrieb Caesar Wang:

Add Mali GPU device tree node for the RK3399 SoCs, with devfreq
opp table.

RK3399 and RK3399-OP1 SoCs have a different recommendation table with
gpu opp. As the ARM's mali driver found on
https://developer.arm.com/products/software/mali-drivers/midgard-kernel.

Signed-off-by: Caesar Wang 
---

  arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi | 33 
  arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 33 
  arch/arm64/boot/dts/rockchip/rk3399.dtsi | 16 
  3 files changed, 82 insertions(+)

[...]


diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 1cbd7a2..8c6438b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1443,6 +1443,22 @@
status = "disabled";
};
  
+	gpu: gpu@ff9a {

+   compatible = "arm,rk3399-mali",
+"arm,malit860",
+"arm,malit86x",
+"arm,malit8xx";

no wildcards and correct compatibles please.
The binding specifies arm,mali-t860 for your chip and the soc
specific compatible needs a rockchip vendor, so you need

compatible = "rockchip,rk3399-mali", "arm,mali-t860";



Okay,  sound resonable.


+   reg = <0x0 0xff9a 0x0 0x1>;
+   interrupts = ,
+,
+;
+   interrupt-names = "GPU", "JOB", "MMU";

interrupt names are job, mmu, gpu in lower case. The out-of-tree driver
will need to conform to that.


Okay, we need update the ARM's mali driver to follow up.


+   clocks = <&cru ACLK_GPU>;
+   clock-names = "clk_mali";

no clock-names property, as midgard malis only have one clock input


Sorry, I seem to be reference for the MAILI's document, not the Linux 
document.


Update these for patches v2.

Thanks your comments.

-Caesar



Heiko


___
Linux-rockchip mailing list
linux-rockc...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip




Re: [PATCH 2/4] arm64: dts: rockchip: add ARM Mali GPU node for RK3399 SoCs

2017-07-12 Thread Heiko Stuebner
Hi Caesar,

Am Mittwoch, 12. Juli 2017, 14:29:28 CEST schrieb Caesar Wang:
> Add Mali GPU device tree node for the RK3399 SoCs, with devfreq
> opp table.
> 
> RK3399 and RK3399-OP1 SoCs have a different recommendation table with
> gpu opp. As the ARM's mali driver found on
> https://developer.arm.com/products/software/mali-drivers/midgard-kernel.
> 
> Signed-off-by: Caesar Wang 
> ---
> 
>  arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi | 33 
> 
>  arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 33 
> 
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi | 16 
>  3 files changed, 82 insertions(+)

[...]

> diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi 
> b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> index 1cbd7a2..8c6438b 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> @@ -1443,6 +1443,22 @@
>   status = "disabled";
>   };
>  
> + gpu: gpu@ff9a {
> + compatible = "arm,rk3399-mali",
> +  "arm,malit860",
> +  "arm,malit86x",
> +  "arm,malit8xx";

no wildcards and correct compatibles please.
The binding specifies arm,mali-t860 for your chip and the soc
specific compatible needs a rockchip vendor, so you need

compatible = "rockchip,rk3399-mali", "arm,mali-t860";


> + reg = <0x0 0xff9a 0x0 0x1>;
> + interrupts = ,
> +  ,
> +  ;
> + interrupt-names = "GPU", "JOB", "MMU";

interrupt names are job, mmu, gpu in lower case. The out-of-tree driver
will need to conform to that.

> + clocks = <&cru ACLK_GPU>;
> + clock-names = "clk_mali";

no clock-names property, as midgard malis only have one clock input


Heiko



[PATCH 2/4] arm64: dts: rockchip: add ARM Mali GPU node for RK3399 SoCs

2017-07-11 Thread Caesar Wang
Add Mali GPU device tree node for the RK3399 SoCs, with devfreq
opp table.

RK3399 and RK3399-OP1 SoCs have a different recommendation table with
gpu opp. As the ARM's mali driver found on
https://developer.arm.com/products/software/mali-drivers/midgard-kernel.

Signed-off-by: Caesar Wang 
---

 arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi | 33 
 arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 33 
 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 16 
 3 files changed, 82 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
index be7fe63..d8a120f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
@@ -118,6 +118,35 @@
opp-microvolt = <125>;
};
};
+
+   gpu_opp_table: opp-table2 {
+   compatible = "operating-points-v2";
+
+   opp00 {
+   opp-hz = /bits/ 64 <2>;
+   opp-microvolt = <80>;
+   };
+   opp01 {
+   opp-hz = /bits/ 64 <29700>;
+   opp-microvolt = <80>;
+   };
+   opp02 {
+   opp-hz = /bits/ 64 <4>;
+   opp-microvolt = <825000>;
+   };
+   opp03 {
+   opp-hz = /bits/ 64 <5>;
+   opp-microvolt = <85>;
+   };
+   opp04 {
+   opp-hz = /bits/ 64 <6>;
+   opp-microvolt = <925000>;
+   };
+   opp05 {
+   opp-hz = /bits/ 64 <8>;
+   opp-microvolt = <1075000>;
+   };
+   };
 };
 
 &cpu_l0 {
@@ -143,3 +172,7 @@
 &cpu_b1 {
operating-points-v2 = <&cluster1_opp>;
 };
+
+&gpu {
+   operating-points-v2 = <&gpu_opp_table>;
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
index c83460d..81617bc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
@@ -110,6 +110,35 @@
opp-microvolt = <120>;
};
};
+
+   gpu_opp_table: opp-table2 {
+   compatible = "operating-points-v2";
+
+   opp00 {
+   opp-hz = /bits/ 64 <2>;
+   opp-microvolt = <80>;
+   };
+   opp01 {
+   opp-hz = /bits/ 64 <29700>;
+   opp-microvolt = <80>;
+   };
+   opp02 {
+   opp-hz = /bits/ 64 <4>;
+   opp-microvolt = <825000>;
+   };
+   opp03 {
+   opp-hz = /bits/ 64 <5>;
+   opp-microvolt = <875000>;
+   };
+   opp04 {
+   opp-hz = /bits/ 64 <6>;
+   opp-microvolt = <925000>;
+   };
+   opp05 {
+   opp-hz = /bits/ 64 <8>;
+   opp-microvolt = <110>;
+   };
+   };
 };
 
 &cpu_l0 {
@@ -135,3 +164,7 @@
 &cpu_b1 {
operating-points-v2 = <&cluster1_opp>;
 };
+
+&gpu {
+   operating-points-v2 = <&gpu_opp_table>;
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 1cbd7a2..8c6438b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1443,6 +1443,22 @@
status = "disabled";
};
 
+   gpu: gpu@ff9a {
+   compatible = "arm,rk3399-mali",
+"arm,malit860",
+"arm,malit86x",
+"arm,malit8xx";
+   reg = <0x0 0xff9a 0x0 0x1>;
+   interrupts = ,
+,
+;
+   interrupt-names = "GPU", "JOB", "MMU";
+   clocks = <&cru ACLK_GPU>;
+   clock-names = "clk_mali";
+   power-domains = <&power RK3399_PD_GPU>;
+   status = "disabled";
+   };
+
pinctrl: pinctrl {
compatible = "rockchip,rk3399-pinctrl";
rockchip,grf = <&grf>;
-- 
2.7.4