[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8a704b63-9ef1-ed4d-3ee5-35ebfd2a2318@linaro.org>
Date: Wed, 18 Jan 2023 12:50:54 +0000
From: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
To: Stephan Gerhold <stephan@...hold.net>
Cc: agross@...nel.org, andersson@...nel.org, konrad.dybcio@...aro.org,
djakov@...nel.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, linux-arm-msm@...r.kernel.org,
linux-pm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, benl@...areup.com,
shawn.guo@...aro.org, fabien.parent@...aro.org, leo.yan@...aro.org,
dmitry.baryshkov@...aro.org, Jun Nie <jun.nie@...aro.org>,
James Willcox <jwillcox@...areup.com>,
Joseph Gates <jgates@...areup.com>,
Max Chen <mchen@...areup.com>, Zac Crosby <zac@...areup.com>,
Vincent Knecht <vincent.knecht@...loo.org>
Subject: Re: [PATCH v3 5/8] arm64: dts: qcom: Add msm8939 SoC
On 18/01/2023 11:50, Bryan O'Donoghue wrote:
>>> + clocks = <&gcc GCC_MDSS_MDP_CLK>,
>>> + <&gcc GCC_MDSS_AHB_CLK>,
>>> + <&gcc GCC_MDSS_AXI_CLK>,
>>> + <&gcc GCC_MDSS_BYTE1_CLK>,
>>> + <&gcc GCC_MDSS_PCLK1_CLK>,
>>> + <&gcc GCC_MDSS_ESC1_CLK>;
>>> + clock-names = "mdp_core",
>>> + "iface",
>>> + "bus",
>>> + "byte",
>>> + "pixel",
>>> + "core";
>>> + assigned-clocks = <&gcc BYTE1_CLK_SRC>,
>>> + <&gcc PCLK1_CLK_SRC>;
>>> + assigned-clock-parents = <&dsi_phy1 0>,
>>> + <&dsi_phy1 1>;
>>
>> Does this work? Confusingly, BYTE1/PCLK1_CLK_SRC can only have dsi0pll
>> as parent in gcc-msm8939 and not the dsi1pll. <&dsi_phy1 0/1> is not a
>> valid parent for those clocks.
>
> No you're right, its all wrong. I will correct it
>
> mdss_dsi0: qcom,mdss_dsi@...8000 {
> compatible = "qcom,mdss-dsi-ctrl";
> label = "MDSS DSI CTRL->0";
> cell-index = <0>;
> reg = <0x1a98000 0x25c>,
> <0x1a98500 0x2b0>,
> <0x193e000 0x30>;
> reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";
> qcom,mdss-fb-map = <&mdss_fb0>;
> qcom,mdss-mdp = <&mdss_mdp>;
> gdsc-supply = <&gdsc_mdss>;
> vdda-supply = <&pm8916_l2>;
> vdd-supply = <&pm8916_l17>;
> vddio-supply = <&pm8916_l6>;
> clocks = <&clock_gcc clk_gcc_mdss_mdp_clk>,
> <&clock_gcc clk_gcc_mdss_ahb_clk>,
> <&clock_gcc clk_gcc_mdss_axi_clk>,
> <&clock_gcc_mdss clk_gcc_mdss_byte0_clk>,
> <&clock_gcc_mdss clk_gcc_mdss_pclk0_clk>,
> <&clock_gcc clk_gcc_mdss_esc0_clk>;
Sorry what am I saying that's the wrong dsiX
Here's downstream - byte1, plck1, esc1 exist
mdss_dsi1: qcom,mdss_dsi@...0000 {
compatible = "qcom,mdss-dsi-ctrl";
label = "MDSS DSI CTRL->1";
cell-index = <1>;
reg = <0x1aa0000 0x25c>,
<0x1aa0500 0x2b0>,
<0x193e000 0x30>;
reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";
qcom,mdss-fb-map = <&mdss_fb0>;
qcom,mdss-mdp = <&mdss_mdp>;
gdsc-supply = <&gdsc_mdss>;
vdda-supply = <&pm8916_l2>;
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l6>;
clocks = <&clock_gcc clk_gcc_mdss_mdp_clk>,
<&clock_gcc clk_gcc_mdss_ahb_clk>,
<&clock_gcc clk_gcc_mdss_axi_clk>,
<&clock_gcc_mdss clk_gcc_mdss_byte1_clk>,
<&clock_gcc_mdss clk_gcc_mdss_pclk1_clk>,
<&clock_gcc clk_gcc_mdss_esc1_clk>;
clock-names = "mdp_core_clk", "iface_clk", "bus_clk",
"byte_clk", "pixel_clk", "core_clk";
Parent clock is gpll0a but they waggle different rcgr addresses
static struct clk_rcg2 byte0_clk_src = {
.cmd_rcgr = 0x4d044, <- here
.hid_width = 5,
.parent_map = gcc_xo_gpll0a_dsibyte_map,
.clkr.hw.init = &(struct clk_init_data){
.name = "byte0_clk_src",
static struct clk_rcg2 byte1_clk_src = {
.cmd_rcgr = 0x4d0b0, <- and here
.hid_width = 5,
.parent_map = gcc_xo_gpll0a_dsibyte_map,
.clkr.hw.init = &(struct clk_init_data){
.name = "byte1_clk_src",
It *should* work even with the wrong name but, I will send a GCC update
to address the naming, which looks wrong.
---
bod
Powered by blists - more mailing lists