Re: [RFC 5/5] arm64: dts: imx8mq: Add the opp table and the cpu-supply nodes

From: Lucas Stach
Date: Thu Feb 14 2019 - 10:50:41 EST


Hi Abel

Am Mittwoch, den 13.02.2019, 19:05 +0000 schrieb Abel Vesa:
> Add the opp table containing only non over drive opps.
> Also add the cpu-supply nodes for the A53 cores in the EVK board.
>
> Signed-off-by: Abel Vesa <abel.vesa@xxxxxxx>
> ---
> Âarch/arm64/boot/dts/freescale/imx8mq-evk.dts | 17 +++++++++++++++++
> Âarch/arm64/boot/dts/freescale/imx8mq.dtsiÂÂÂÂ| 23 +++++++++++++++++++++++
> Â2 files changed, 40 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> index 54737bf..114359e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> @@ -31,6 +31,23 @@
> Â gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
> Â enable-active-high;
> Â };
> +
> +};
> +
> +&A53_0 {
> + cpu-supply = <&sw1a_reg>;
> +};
> +
> +&A53_1 {
> + cpu-supply = <&sw1a_reg>;
> +};
> +
> +&A53_2 {
> + cpu-supply = <&sw1a_reg>;
> +};
> +
> +&A53_3 {
> + cpu-supply = <&sw1a_reg>;
> Â};

This should be a separate patch.

And AFAICS this is wrong, sw1a on the MX8M-EVK is the GPU supply, the
CPU is supplied by a dedicated switcher that is controlled via a GPIO.

Regards,
Lucas

> Â&fec1 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 1a89062..89b2d5f 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -91,6 +91,7 @@
> Â clocks = <&clk IMX8MQ_CLK_ARM>;
> Â enable-method = "psci";
> Â next-level-cache = <&A53_L2>;
> + operating-points-v2 = <&a53_0_opp_table>;
> Â };
> Â
> Â A53_1: cpu@1 {
> @@ -101,6 +102,7 @@
> Â clocks = <&clk IMX8MQ_CLK_ARM>;
> Â enable-method = "psci";
> Â next-level-cache = <&A53_L2>;
> + operating-points-v2 = <&a53_0_opp_table>;
> Â };
> Â
> Â A53_2: cpu@2 {
> @@ -111,6 +113,7 @@
> Â clocks = <&clk IMX8MQ_CLK_ARM>;
> Â enable-method = "psci";
> Â next-level-cache = <&A53_L2>;
> + operating-points-v2 = <&a53_0_opp_table>;
> Â };
> Â
> Â A53_3: cpu@3 {
> @@ -121,6 +124,7 @@
> Â clocks = <&clk IMX8MQ_CLK_ARM>;
> Â enable-method = "psci";
> Â next-level-cache = <&A53_L2>;
> + operating-points-v2 = <&a53_0_opp_table>;
> Â };
> Â
> Â A53_L2: l2-cache0 {
> @@ -666,6 +670,25 @@
> Â status = "disabled";
> Â };
> Â
> +
> + a53_0_opp_table: opp-table {
> + compatible = "operating-points-v2";
> + opp-shared;
> +
> + opp-800000000 {
> + opp-hz = /bits/ 64 <800000000>;
> + opp-microvolt = <900000>;
> + clock-latency-ns = <150000>;
> + };
> +
> + opp-1000000000 {
> + opp-hz = /bits/ 64 <1000000000>;
> + opp-microvolt = <900000>;
> + clock-latency-ns = <150000>;
> + opp-suspend;
> + };
> + };
> +
> Â gic: interrupt-controller@38800000 {
> Â compatible = "arm,gic-v3";
> Â reg = <0x38800000 0x10000>, /* GIC
> Dist */