2020-12-30 15:53:22

by Iskren Chernev

[permalink] [raw]
Subject: [PATCH 1/4] ARM: dts: qcom: msm8974: add gpu support

From: Brian Masney <[email protected]>

Add support for the a3xx GPU

Signed-off-by: Brian Masney <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974.dtsi | 45 +++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 51f5f904f9eb9..c399446d8154e 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -1399,6 +1399,51 @@ cnoc: interconnect@fc480000 {
<&rpmcc RPM_SMD_CNOC_A_CLK>;
};

+ gpu_opp_table: opp_table {
+ status = "disabled";
+
+ compatible = "operating-points-v2";
+
+ opp-800000000 {
+ opp-hz = /bits/ 64 <800000000>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ };
+
+ opp-275000000 {
+ opp-hz = /bits/ 64 <275000000>;
+ };
+ };
+
+ gpu: adreno@fdb00000 {
+ status = "disabled";
+
+ compatible = "qcom,adreno-330.2",
+ "qcom,adreno";
+ reg = <0xfdb00000 0x10000>;
+ reg-names = "kgsl_3d0_reg_memory";
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "kgsl_3d0_irq";
+ clock-names = "core",
+ "iface",
+ "mem_iface";
+ clocks = <&mmcc OXILI_GFX3D_CLK>,
+ <&mmcc OXILICX_AHB_CLK>,
+ <&mmcc OXILICX_AXI_CLK>;
+ sram = <&gmu_sram>;
+ power-domains = <&mmcc OXILICX_GDSC>;
+ operating-points-v2 = <&gpu_opp_table>;
+
+ interconnects = <&mmssnoc MNOC_MAS_GRAPHICS_3D &bimc BIMC_SLV_EBI_CH0>,
+ <&ocmemnoc OCMEM_VNOC_MAS_GFX3D &ocmemnoc OCMEM_SLV_OCMEM>;
+ interconnect-names = "gfx-mem",
+ "ocmem";
+
+ // iommus = <&gpu_iommu 0>;
+ };
+
mdss: mdss@fd900000 {
status = "disabled";


base-commit: d7a03a44a5e93f39ece70ec75d25c6088caa0fdb
prerequisite-patch-id: aba6f684932cab35d98457c21e4ff7a5ac75c753
prerequisite-patch-id: 4884d57df1bd197896b69e115d9002d6c26ae2e2
prerequisite-patch-id: 4f1aba3c3675236b18578eedbe71b0cdca01ed77
prerequisite-patch-id: cbfe6ccfebb142370baff15bbdf3cf2f34ee77df
--
2.29.2


2020-12-30 15:53:31

by Iskren Chernev

[permalink] [raw]
Subject: [PATCH 2/4] ARM: dts: qcom: msm8974-klte: add support for GPU

From: Samuel Pascua <[email protected]>

Signed-off-by: Samuel Pascua <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 97352de913142..1d5e8abdbda79 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -697,6 +697,14 @@ fuelgauge@36 {
pinctrl-0 = <&fuelgauge_pin>;
};
};
+
+ opp_table {
+ status = "ok";
+ };
+
+ adreno@fdb00000 {
+ status = "ok";
+ };
};

&spmi_bus {
--
2.29.2

2020-12-30 15:53:40

by Iskren Chernev

[permalink] [raw]
Subject: [PATCH 4/4] ARM: dts: qcom: msm8974-klte: Mark essential regulators

s1 and l12 regulators are used for the memory and cache on the Samsung
S5 (klte). If they are turned off the phone shuts down. So mark them as
always-on to prevent that from happening.

Signed-off-by: Iskren Chernev <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 8b7e95b748e39..7291b858c2c53 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -30,6 +30,7 @@ pma8084-regulators {
pma8084_s1: s1 {
regulator-min-microvolt = <675000>;
regulator-max-microvolt = <1050000>;
+ regulator-always-on;
};

pma8084_s2: s2 {
@@ -115,6 +116,7 @@ pma8084_l11: l11 {
pma8084_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
+ regulator-always-on;
};

pma8084_l13: l13 {
--
2.29.2

2020-12-30 15:55:04

by Iskren Chernev

[permalink] [raw]
Subject: [PATCH 3/4] ARM: dts: qcom: msm8974-klte: add support for display

From: Samuel Pascua <[email protected]>

Add initial support for the display found on the Samsung Galaxy 5 (klte)
phone. This is based on work from Jonathan Marek & Brian Masney.

Please note that this patch depends on dt-binding patch in [1]

[1] https://lkml.org/lkml/2020/12/30/293

Signed-off-by: Samuel Pascua <[email protected]>
---
.../boot/dts/qcom-msm8974-samsung-klte.dts | 58 +++++++++++++++++++
1 file changed, 58 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 1d5e8abdbda79..8b7e95b748e39 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -453,6 +453,16 @@ int {
bias-pull-down;
};
};
+
+ panel_pin: panel {
+ te {
+ pins = "gpio12";
+ function = "mdp_vsync";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
};

sdhc_1: sdhci@f9824900 {
@@ -705,6 +715,54 @@ opp_table {
adreno@fdb00000 {
status = "ok";
};
+
+ mdss@fd900000 {
+ status = "ok";
+
+ mdp@fd900000 {
+ status = "ok";
+ };
+
+ dsi@fd922800 {
+ status = "ok";
+
+ vdda-supply = <&pma8084_l2>;
+ vdd-supply = <&pma8084_l22>;
+ vddio-supply = <&pma8084_l12>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ports {
+ port@1 {
+ endpoint {
+ remote-endpoint = <&panel_in>;
+ data-lanes = <0 1 2 3>;
+ };
+ };
+ };
+
+ panel: panel@0 {
+ reg = <0>;
+ compatible = "samsung,s6e3fa2";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&panel_pin>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+ };
+ };
+
+ dsi-phy@fd922a00 {
+ status = "ok";
+
+ vddio-supply = <&pma8084_l12>;
+ };
+ };
};

&spmi_bus {
--
2.29.2

2020-12-30 22:41:41

by Brian Masney

[permalink] [raw]
Subject: Re: [PATCH 1/4] ARM: dts: qcom: msm8974: add gpu support

On Wed, Dec 30, 2020 at 05:51:29PM +0200, Iskren Chernev wrote:
> From: Brian Masney <[email protected]>
>
> Add support for the a3xx GPU
>
> Signed-off-by: Brian Masney <[email protected]>

Reviewed-by: Brian Masney <[email protected]>

2021-01-03 06:10:43

by Alexey Minnekhanov

[permalink] [raw]
Subject: Re: [PATCH 4/4] ARM: dts: qcom: msm8974-klte: Mark essential regulators

This indeed fixes device freeze+reboot issue when display powers off.

Tested-by: Alexey Minnekhanov <[email protected]>

On 12/30/20 6:51 PM, Iskren Chernev wrote:
> s1 and l12 regulators are used for the memory and cache on the Samsung
> S5 (klte). If they are turned off the phone shuts down. So mark them as
> always-on to prevent that from happening.
>
> Signed-off-by: Iskren Chernev <[email protected]>
> ---
> arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 ++
> 1 file changed, 2 insertions(+)
>

2021-01-03 06:17:28

by Alexey Minnekhanov

[permalink] [raw]
Subject: Re: [PATCH 1/4] ARM: dts: qcom: msm8974: add gpu support

Tested these patches on Samsung Galaxy S5 along with other patches that
add panel driver and enable vram carve-out option on this device.

Tested-by: Alexey Minnekhanov <[email protected]>

On 12/30/20 6:51 PM, Iskren Chernev wrote:
> From: Brian Masney <[email protected]>
>
> Add support for the a3xx GPU
>
> Signed-off-by: Brian Masney <[email protected]>
> ---
> arch/arm/boot/dts/qcom-msm8974.dtsi | 45 +++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>

2021-01-22 18:46:53

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 1/4] ARM: dts: qcom: msm8974: add gpu support

On Wed 30 Dec 09:51 CST 2020, Iskren Chernev wrote:

> From: Brian Masney <[email protected]>
>
> Add support for the a3xx GPU
>
> Signed-off-by: Brian Masney <[email protected]>

As discussed on IRC I'm waiting for a respin of this with your S-o-b
added after Brian's.

Thanks,
Bjorn

> ---
> arch/arm/boot/dts/qcom-msm8974.dtsi | 45 +++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
> index 51f5f904f9eb9..c399446d8154e 100644
> --- a/arch/arm/boot/dts/qcom-msm8974.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
> @@ -1399,6 +1399,51 @@ cnoc: interconnect@fc480000 {
> <&rpmcc RPM_SMD_CNOC_A_CLK>;
> };
>
> + gpu_opp_table: opp_table {
> + status = "disabled";
> +
> + compatible = "operating-points-v2";
> +
> + opp-800000000 {
> + opp-hz = /bits/ 64 <800000000>;
> + };
> +
> + opp-500000000 {
> + opp-hz = /bits/ 64 <500000000>;
> + };
> +
> + opp-275000000 {
> + opp-hz = /bits/ 64 <275000000>;
> + };
> + };
> +
> + gpu: adreno@fdb00000 {
> + status = "disabled";
> +
> + compatible = "qcom,adreno-330.2",
> + "qcom,adreno";
> + reg = <0xfdb00000 0x10000>;
> + reg-names = "kgsl_3d0_reg_memory";
> + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "kgsl_3d0_irq";
> + clock-names = "core",
> + "iface",
> + "mem_iface";
> + clocks = <&mmcc OXILI_GFX3D_CLK>,
> + <&mmcc OXILICX_AHB_CLK>,
> + <&mmcc OXILICX_AXI_CLK>;
> + sram = <&gmu_sram>;
> + power-domains = <&mmcc OXILICX_GDSC>;
> + operating-points-v2 = <&gpu_opp_table>;
> +
> + interconnects = <&mmssnoc MNOC_MAS_GRAPHICS_3D &bimc BIMC_SLV_EBI_CH0>,
> + <&ocmemnoc OCMEM_VNOC_MAS_GFX3D &ocmemnoc OCMEM_SLV_OCMEM>;
> + interconnect-names = "gfx-mem",
> + "ocmem";
> +
> + // iommus = <&gpu_iommu 0>;
> + };
> +
> mdss: mdss@fd900000 {
> status = "disabled";
>
>
> base-commit: d7a03a44a5e93f39ece70ec75d25c6088caa0fdb
> prerequisite-patch-id: aba6f684932cab35d98457c21e4ff7a5ac75c753
> prerequisite-patch-id: 4884d57df1bd197896b69e115d9002d6c26ae2e2
> prerequisite-patch-id: 4f1aba3c3675236b18578eedbe71b0cdca01ed77
> prerequisite-patch-id: cbfe6ccfebb142370baff15bbdf3cf2f34ee77df
> --
> 2.29.2
>