[PATCH v4 4/4] arm64: dts: qcom: add HDMI nodes for msm8998
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Fri Jun 14 10:33:55 UTC 2024
On Fri, Jun 14, 2024 at 01:55:46AM GMT, Konrad Dybcio wrote:
>
>
> On 6/13/24 17:15, Marc Gonzalez wrote:
> > From: Arnaud Vrac <avrac at freebox.fr>
> >
> > Port device nodes from vendor code.
> >
> > Signed-off-by: Arnaud Vrac <avrac at freebox.fr>
> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> > Signed-off-by: Marc Gonzalez <mgonzalez at freebox.fr>
> > ---
>
> [...]
>
> > +
> > + hdmi: hdmi-tx at c9a0000 {
> > + compatible = "qcom,hdmi-tx-8998";
> > + reg = <0x0c9a0000 0x50c>,
> > + <0x00780000 0x6220>,
> > + <0x0c9e0000 0x2c>;
> > + reg-names = "core_physical",
> > + "qfprom_physical",
> > + "hdcp_physical";
>
> The way qfprom is accessed (bypassing nvmem APIs) will need to be reworked..
> but since we already have it like that on 8996, I'm fine with batch-reworking
> these some time in the future..
Yes. The whole qfprom / hdcp part needs to be reworked, but it should
not stop the platform from flowing in.
>
> > +
> > + interrupt-parent = <&mdss>;
> > + interrupts = <8>;
> > +
> > + clocks = <&mmcc MDSS_MDP_CLK>,
>
> Not sure if the MDP core clock is necessary here. Pretty sure it only
> powers the display-controller at .. peripheral
It might be, or it might be not. DSI interfaces also use MDP_CLK on
those platforms.
>
> > + <&mmcc MDSS_AHB_CLK>,
> > + <&mmcc MDSS_HDMI_CLK>,
> > + <&mmcc MDSS_HDMI_DP_AHB_CLK>,
> > + <&mmcc MDSS_EXTPCLK_CLK>,
> > + <&mmcc MDSS_AXI_CLK>,
> > + <&mmcc MNOC_AHB_CLK>,
>
> This one is an interconnect clock, drop it
>
> > + <&mmcc MISC_AHB_CLK>;
>
> And please confirm whether this one is necessary
Let me quote the discussion on #linux-msm
<lumag> jhugo, do you know anything about MNOC_AHB_CLK / MISC_AHB_CLK? Should they be enabled for HDMI to work?
<jhugo> lumag: MNOC AHB, yes
<jhugo> lumag: MISC, probably
> > + clock-names =
> > + "mdp_core",
> > + "iface",
> > + "core",
> > + "alt_iface",
> > + "extp",
> > + "bus",
> > + "mnoc",
> > + "iface_mmss";
> > +
[...]
> > +
> > + hdmi_phy: hdmi-phy at c9a0600 {
> > + compatible = "qcom,hdmi-phy-8998";
> > + reg = <0x0c9a0600 0x18b>,
> > + <0x0c9a0a00 0x38>,
> > + <0x0c9a0c00 0x38>,
> > + <0x0c9a0e00 0x38>,
> > + <0x0c9a1000 0x38>,
> > + <0x0c9a1200 0x0e8>;
> > + reg-names = "hdmi_pll",
> > + "hdmi_tx_l0",
> > + "hdmi_tx_l1",
> > + "hdmi_tx_l2",
> > + "hdmi_tx_l3",
> > + "hdmi_phy";
> > +
> > + #clock-cells = <0>;
> > + #phy-cells = <0>;
> > +
> > + clocks = <&mmcc MDSS_AHB_CLK>,
> > + <&gcc GCC_HDMI_CLKREF_CLK>,
> > + <&rpmcc RPM_SMD_XO_CLK_SRC>;
> > + clock-names = "iface",
> > + "ref",
> > + "xo";
>
> GCC_HDMI_CLKREF_CLK is a child of xo, so you can drop the latter.
> It would also be worth confirming whether it's really powering the
> PHY and not the TX.. You can test that by trying to only power on the
> phy (e.g. call the phy_power_on or whatever APIs) with and without the
> clock
I'd prefer to keep it. I think the original DT used one of LN_BB clocks
here, so it might be that the HDMI uses CXO2 / LN_BB instead of the main
CXO.
If somebody can check, which clock is actually used for the HDMI, it
would be really great.
>
> Konrad
>
> --
> linux-phy mailing list
> linux-phy at lists.infradead.org
> https://lists.infradead.org/mailman/listinfo/linux-phy
--
With best wishes
Dmitry
More information about the Freedreno
mailing list