* [PATCH 0/4] A610 enablement, J606F display
@ 2023-06-20 13:17 Konrad Dybcio
2023-06-20 13:17 ` [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 13:17 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 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>
---
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: 9dbf40840551df336c95ce2a3adbdd25ed53c0ef
change-id: 20230620-topic-gpu_tablet_disp-cdc6ca5941c4
Best regards,
--
Konrad Dybcio <konrad.dybcio@linaro.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes
2023-06-20 13:17 [PATCH 0/4] A610 enablement, J606F display Konrad Dybcio
@ 2023-06-20 13:17 ` Konrad Dybcio
2023-06-20 15:54 ` Dmitry Baryshkov
2023-06-20 13:17 ` [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 13:17 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
Introduce nodes for the A610 GPU and its GMU wrapper along with the
speedbin fuse entry in QFPROM.
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] 12+ messages in thread
* [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-20 13:17 [PATCH 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-20 13:17 ` [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
@ 2023-06-20 13:17 ` Konrad Dybcio
2023-06-20 15:52 ` Dmitry Baryshkov
2023-06-20 13:17 ` [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
2023-06-20 13:17 ` [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
3 siblings, 1 reply; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 13:17 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..a10ce676bd44 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 &sde_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;
+ };
+
+ sde_dsi_active: te-active-state {
+ pins = "gpio82";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ };
};
&ufs_mem_hc {
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU
2023-06-20 13:17 [PATCH 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-20 13:17 ` [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
2023-06-20 13:17 ` [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
@ 2023-06-20 13:17 ` Konrad Dybcio
2023-06-20 15:50 ` Dmitry Baryshkov
2023-06-20 13:17 ` [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
3 siblings, 1 reply; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 13:17 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/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 a10ce676bd44..ed745678fadd 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] 12+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: Enable GPU
2023-06-20 13:17 [PATCH 0/4] A610 enablement, J606F display Konrad Dybcio
` (2 preceding siblings ...)
2023-06-20 13:17 ` [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
@ 2023-06-20 13:17 ` Konrad Dybcio
2023-06-20 15:47 ` Dmitry Baryshkov
3 siblings, 1 reply; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 13:17 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] 12+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: Enable GPU
2023-06-20 13:17 ` [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
@ 2023-06-20 15:47 ` Dmitry Baryshkov
2023-06-20 19:03 ` Konrad Dybcio
0 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-06-20 15:47 UTC (permalink / raw)
To: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20/06/2023 16:17, Konrad Dybcio wrote:
> 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";
Should this be qrb4210 or sm4250? Previously we did not use special
subdirs for IOT versions. See qrb5165-rb5.dts.
> + };
> +};
> +
> &i2c2 {
> clock-frequency = <400000>;
> status = "okay";
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU
2023-06-20 13:17 ` [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
@ 2023-06-20 15:50 ` Dmitry Baryshkov
0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-06-20 15:50 UTC (permalink / raw)
To: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20/06/2023 16:17, Konrad Dybcio wrote:
> 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/sm6115p-lenovo-j606f.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-20 13:17 ` [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
@ 2023-06-20 15:52 ` Dmitry Baryshkov
2023-06-20 19:02 ` Konrad Dybcio
0 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-06-20 15:52 UTC (permalink / raw)
To: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20/06/2023 16:17, Konrad Dybcio 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(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> index 81fdcaf48926..a10ce676bd44 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 &sde_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;
> + };
> +
> + sde_dsi_active: te-active-state {
mdss_dsi_active? Or just dsi_active?
> + pins = "gpio82";
> + function = "gpio";
> + drive-strength = <8>;
> + bias-disable;
> + };
> };
>
> &ufs_mem_hc {
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes
2023-06-20 13:17 ` [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
@ 2023-06-20 15:54 ` Dmitry Baryshkov
0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-06-20 15:54 UTC (permalink / raw)
To: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20/06/2023 16:17, Konrad Dybcio wrote:
> Introduce nodes for the A610 GPU and its GMU wrapper along with the
> speedbin fuse entry in QFPROM.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sm6115.dtsi | 103 +++++++++++++++++++++++++++++++++++
> 1 file changed, 103 insertions(+)
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-20 15:52 ` Dmitry Baryshkov
@ 2023-06-20 19:02 ` Konrad Dybcio
2023-06-21 19:02 ` Marijn Suijten
0 siblings, 1 reply; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 19:02 UTC (permalink / raw)
To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20.06.2023 17:52, Dmitry Baryshkov wrote:
> On 20/06/2023 16:17, Konrad Dybcio 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(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>> index 81fdcaf48926..a10ce676bd44 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 &sde_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;
>> + };
>> +
>> + sde_dsi_active: te-active-state {
>
> mdss_dsi_active? Or just dsi_active?
mdss is ok
Also Marijn pointed out in private that this node overwrites
the previous one.. Thankfully video mode panels don't care about
TE! :D
Konrad
>
>> + pins = "gpio82";
>> + function = "gpio";
>> + drive-strength = <8>;
>> + bias-disable;
>> + };
>> };
>> &ufs_mem_hc {
>>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: Enable GPU
2023-06-20 15:47 ` Dmitry Baryshkov
@ 2023-06-20 19:03 ` Konrad Dybcio
0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2023-06-20 19:03 UTC (permalink / raw)
To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel
On 20.06.2023 17:47, Dmitry Baryshkov wrote:
> On 20/06/2023 16:17, Konrad Dybcio wrote:
>> 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";
>
> Should this be qrb4210 or sm4250? Previously we did not use special subdirs for IOT versions. See qrb5165-rb5.dts.
https://lore.kernel.org/linux-arm-msm/CAH=2NtwVtLdE5hg8Qhd_MLCPJTqXvus8+qW_uj4O7hnOy7PVUA@mail.gmail.com/
Konrad
>
>> + };
>> +};
>> +
>> &i2c2 {
>> clock-frequency = <400000>;
>> status = "okay";
>>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display
2023-06-20 19:02 ` Konrad Dybcio
@ 2023-06-21 19:02 ` Marijn Suijten
0 siblings, 0 replies; 12+ messages in thread
From: Marijn Suijten @ 2023-06-21 19:02 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 2023-06-20 21:02:20, Konrad Dybcio wrote:
> On 20.06.2023 17:52, Dmitry Baryshkov wrote:
> > On 20/06/2023 16:17, Konrad Dybcio 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(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> >> index 81fdcaf48926..a10ce676bd44 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 &sde_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;
> >> + };
> >> +
> >> + sde_dsi_active: te-active-state {
> >
> > mdss_dsi_active? Or just dsi_active?
> mdss is ok
>
> Also Marijn pointed out in private that this node overwrites
> the previous one.. Thankfully video mode panels don't care about
> TE! :D
You're welcome!
(Why set this pin to mdp_vsync if the MDP won't read it, though?)
- Marijn
>
> Konrad
> >
> >> + pins = "gpio82";
> >> + function = "gpio";
> >> + drive-strength = <8>;
> >> + bias-disable;
> >> + };
> >> };
> >> &ufs_mem_hc {
> >>
> >
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-06-21 19:03 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-20 13:17 [PATCH 0/4] A610 enablement, J606F display Konrad Dybcio
2023-06-20 13:17 ` [PATCH 1/4] arm64: dts: qcom: sm6115: Add GPU nodes Konrad Dybcio
2023-06-20 15:54 ` Dmitry Baryshkov
2023-06-20 13:17 ` [PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display Konrad Dybcio
2023-06-20 15:52 ` Dmitry Baryshkov
2023-06-20 19:02 ` Konrad Dybcio
2023-06-21 19:02 ` Marijn Suijten
2023-06-20 13:17 ` [PATCH 3/4] arm64: dts: qcom: sm6115p-j606f: Enable GPU Konrad Dybcio
2023-06-20 15:50 ` Dmitry Baryshkov
2023-06-20 13:17 ` [PATCH 4/4] arm64: dts: qcom: qrb4210-rb2: " Konrad Dybcio
2023-06-20 15:47 ` Dmitry Baryshkov
2023-06-20 19:03 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).