* [PATCH v2 0/4] A610 enablement, J606F display
@ 2023-06-21 11:21 Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Konrad Dybcio @ 2023-06-21 11:21 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
Enable the A610 GPU on SM6115, as well as on the RB2 and J606F boards.
Add display support for the latter.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Changes in v2:
- Fix pin naming and implicit override in patch 2
- Pick up tags
- Link to v1: https://lore.kernel.org/r/20230620-topic-gpu_tablet_disp-v1-0-7bb02bec8dc0@linaro.org
---
Konrad Dybcio (4):
arm64: dts: qcom: sm6115: Add GPU nodes
arm64: dts: qcom: sm6115p-j606f: Hook up display
arm64: dts: qcom: sm6115p-j606f: Enable GPU
arm64: dts: qcom: qrb4210-rb2: Enable GPU
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 8 ++
arch/arm64/boot/dts/qcom/sm6115.dtsi | 103 ++++++++++++++++++++++
arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 65 ++++++++++++--
3 files changed, 171 insertions(+), 5 deletions(-)
---
base-commit: 15e71592dbae49a674429c618a10401d7f992ac3
change-id: 20230620-topic-gpu_tablet_disp-cdc6ca5941c4
Best regards,
--
Konrad Dybcio <konrad.dybcio@linaro.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/4] arm64: dts: qcom: sm6115: Add GPU nodes
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
@ 2023-06-21 11:21 ` Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2023-06-21 11:21 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
Introduce nodes for the A610 GPU and its GMU wrapper along with the
speedbin fuse entry in QFPROM.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/sm6115.dtsi | 103 +++++++++++++++++++++++++++++++++++
1 file changed, 103 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 55118577bf92..424b4f3c909b 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -865,6 +865,11 @@ qusb2_hstx_trim: hstx-trim@25b {
reg = <0x25b 0x1>;
bits = <1 4>;
};
+
+ gpu_speed_bin: gpu-speed-bin@6006 {
+ reg = <0x6006 0x2>;
+ bits = <5 8>;
+ };
};
rng: rng@1b53000 {
@@ -1316,6 +1321,104 @@ usb_dwc3: usb@4e00000 {
};
};
+ gpu: gpu@5900000 {
+ compatible = "qcom,adreno-610.0", "qcom,adreno";
+ reg = <0x0 0x05900000 0x0 0x40000>;
+ reg-names = "kgsl_3d0_reg_memory";
+
+ /* There's no (real) GMU, so we have to handle quite a bunch of clocks! */
+ clocks = <&gpucc GPU_CC_GX_GFX3D_CLK>,
+ <&gpucc GPU_CC_AHB_CLK>,
+ <&gcc GCC_BIMC_GPU_AXI_CLK>,
+ <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&gpucc GPU_CC_CX_GMU_CLK>,
+ <&gpucc GPU_CC_CXO_CLK>;
+ clock-names = "core",
+ "iface",
+ "mem_iface",
+ "alt_mem_iface",
+ "gmu",
+ "xo";
+
+ interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
+
+ iommus = <&adreno_smmu 0 1>;
+ operating-points-v2 = <&gpu_opp_table>;
+ power-domains = <&rpmpd SM6115_VDDCX>;
+ qcom,gmu = <&gmu_wrapper>;
+
+ nvmem-cells = <&gpu_speed_bin>;
+ nvmem-cell-names = "speed_bin";
+
+ status = "disabled";
+
+ zap-shader {
+ memory-region = <&pil_gpu_mem>;
+ };
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-320000000 {
+ opp-hz = /bits/ 64 <320000000>;
+ required-opps = <&rpmpd_opp_low_svs>;
+ opp-supported-hw = <0x1f>;
+ };
+
+ opp-465000000 {
+ opp-hz = /bits/ 64 <465000000>;
+ required-opps = <&rpmpd_opp_svs>;
+ opp-supported-hw = <0x1f>;
+ };
+
+ opp-600000000 {
+ opp-hz = /bits/ 64 <600000000>;
+ required-opps = <&rpmpd_opp_svs_plus>;
+ opp-supported-hw = <0x1f>;
+ };
+
+ opp-745000000 {
+ opp-hz = /bits/ 64 <745000000>;
+ required-opps = <&rpmpd_opp_nom>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-820000000 {
+ opp-hz = /bits/ 64 <820000000>;
+ required-opps = <&rpmpd_opp_nom_plus>;
+ opp-supported-hw = <0x7>;
+ };
+
+ opp-900000000 {
+ opp-hz = /bits/ 64 <900000000>;
+ required-opps = <&rpmpd_opp_turbo>;
+ opp-supported-hw = <0x7>;
+ };
+
+ /* Speed bin 2 can reach 950 Mhz instead of 980 like the rest. */
+ opp-950000000 {
+ opp-hz = /bits/ 64 <950000000>;
+ required-opps = <&rpmpd_opp_turbo_plus>;
+ opp-supported-hw = <0x4>;
+ };
+
+ opp-980000000 {
+ opp-hz = /bits/ 64 <980000000>;
+ required-opps = <&rpmpd_opp_turbo_plus>;
+ opp-supported-hw = <0x3>;
+ };
+ };
+ };
+
+ gmu_wrapper: gmu@596a000 {
+ compatible = "qcom,adreno-gmu-wrapper";
+ reg = <0x0 0x0596a000 0x0 0x30000>;
+ reg-names = "gmu";
+ power-domains = <&gpucc GPU_CX_GDSC>,
+ <&gpucc GPU_GX_GDSC>;
+ power-domain-names = "cx", "gx";
+ };
+
gpucc: clock-controller@5990000 {
compatible = "qcom,sm6115-gpucc";
reg = <0x0 0x05990000 0x0 0x9000>;
--
2.41.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
@ 2023-06-21 11:21 ` Konrad Dybcio
2023-06-21 14:12 ` Dmitry Baryshkov
2023-06-21 11:21 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
` (2 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2023-06-21 11:21 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio
Enable the required nodes, add the required pins and tweak a
regulator to enable non-simplefb display on the Tab P11.
Do note that there exists a second SKU with a different panel+touch
combo, but due to insufficient information, that will need to be
handled separately.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 57 +++++++++++++++++++++--
1 file changed, 52 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
index 81fdcaf48926..667273ae0553 100644
--- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
@@ -65,9 +65,41 @@ ramoops@ffc00000 {
};
};
-&dispcc {
- /* HACK: disable until a panel driver is ready to retain simplefb */
- status = "disabled";
+&mdss {
+ status = "okay";
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&pm6125_l18>;
+ status = "okay";
+
+ panel: panel@0 {
+ compatible = "lenovo,j606f-boe-nt36523w", "novatek,nt36523w";
+ reg = <0>;
+
+ reset-gpios = <&tlmm 82 GPIO_ACTIVE_LOW>;
+ vddio-supply = <&pm6125_l9>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&te_active &mdss_dsi_active>;
+
+ rotation = <180>; /* Yep, it's mounted upside down! */
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&panel_in>;
+};
+
+&mdss_dsi0_phy {
+ status = "okay";
};
&pm6125_gpios {
@@ -212,8 +244,9 @@ pm6125_l17: l17 {
};
pm6125_l18: l18 {
- regulator-min-microvolt = <1104000>;
- regulator-max-microvolt = <1312000>;
+ /* 1.104V-1.312V fixed @ 1.232V for DSIPHY */
+ regulator-min-microvolt = <1232000>;
+ regulator-max-microvolt = <1232000>;
};
pm6125_l19: l19 {
@@ -282,6 +315,20 @@ sdc2_gate_pin: sdc2-gate-state {
bias-pull-up;
output-high;
};
+
+ te_active: te-active-state {
+ pins = "gpio81";
+ function = "mdp_vsync";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ mdss_dsi_active: dsi-active-state {
+ pins = "gpio82";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ };
};
&ufs_mem_hc {
--
2.41.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
@ 2023-06-21 11:21 ` Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
2023-07-10 5:07 ` [PATCH v2 0/4] A610 enablement, J606F display Bjorn Andersson
4 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2023-06-21 11:21 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
Enable the A610 GPU and provide a firmware path to the ZAP blob.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
index 667273ae0553..c2d15fc6c96b 100644
--- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
@@ -65,6 +65,14 @@ ramoops@ffc00000 {
};
};
+&gpu {
+ status = "okay";
+
+ zap-shader {
+ firmware-name = "qcom/sm6115/LENOVO/J606F/a610_zap.mbn";
+ };
+};
+
&mdss {
status = "okay";
};
--
2.41.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: Enable GPU
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
` (2 preceding siblings ...)
2023-06-21 11:21 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
@ 2023-06-21 11:21 ` Konrad Dybcio
2023-07-10 5:07 ` [PATCH v2 0/4] A610 enablement, J606F display Bjorn Andersson
4 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2023-06-21 11:21 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio
Enable the A610 GPU and provide a firmware path to the ZAP blob.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index e23a0406eacc..a7278a9472ed 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -179,6 +179,14 @@ &gpi_dma0 {
status = "okay";
};
+&gpu {
+ status = "okay";
+
+ zap-shader {
+ firmware-name = "qcom/qrb4210/a610_zap.mbn";
+ };
+};
+
&i2c2 {
clock-frequency = <400000>;
status = "okay";
--
2.41.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-21 11:21 ` [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
@ 2023-06-21 14:12 ` Dmitry Baryshkov
0 siblings, 0 replies; 7+ messages in thread
From: Dmitry Baryshkov @ 2023-06-21 14:12 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Marijn Suijten, linux-arm-msm, devicetree,
linux-kernel
On Wed, 21 Jun 2023 at 14:22, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> Enable the required nodes, add the required pins and tweak a
> regulator to enable non-simplefb display on the Tab P11.
>
> Do note that there exists a second SKU with a different panel+touch
> combo, but due to insufficient information, that will need to be
> handled separately.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 57 +++++++++++++++++++++--
> 1 file changed, 52 insertions(+), 5 deletions(-)
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/4] A610 enablement, J606F display
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
` (3 preceding siblings ...)
2023-06-21 11:21 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
@ 2023-07-10 5:07 ` Bjorn Andersson
4 siblings, 0 replies; 7+ messages in thread
From: Bjorn Andersson @ 2023-07-10 5:07 UTC (permalink / raw)
To: Andy Gross, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Konrad Dybcio
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Dmitry Baryshkov
On Wed, 21 Jun 2023 13:21:51 +0200, Konrad Dybcio wrote:
> Enable the A610 GPU on SM6115, as well as on the RB2 and J606F boards.
> Add display support for the latter.
>
>
Applied, thanks!
[1/4] arm64: dts: qcom: sm6115: Add GPU nodes
commit: 11750af256f8287f853daed0424eac726dcc5b9f
[2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
commit: e3dc814d8ca0fb3c8e2760d004ea048e502887a4
[3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU
commit: be9f88abf8695b59f17ac0ef365cd2d2a9baae78
[4/4] arm64: dts: qcom: qrb4210-rb2: Enable GPU
commit: d368279dfa02c6c1eb5eb91126613769527d450b
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-07-10 5:06 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-21 11:21 [PATCH v2 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
2023-06-21 14:12 ` Dmitry Baryshkov
2023-06-21 11:21 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
2023-06-21 11:21 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
2023-07-10 5:07 ` [PATCH v2 0/4] A610 enablement, J606F display Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox