[PATCH v10 24/26] arm64: dts: mediatek: mt8195: Align ufshci node to dt-bindings changes
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Thu Jul 30 04:13:26 PDT 2026
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Removing the `freq-table-hz` property without adding an `operating-points-v2` table causes the UFS core platform driver to skip parsing and enabling all hardware clocks, resulting in a controller initialization failure.
--
--- Patch [24]: [PATCH v10 24/26] arm64: dts: mediatek: mt8195: Align ufshci node to dt-bindings changes ---
commit eac3ed6e6791c53424e4e025e4dfd47b68309eb7
Author: Louis-Alexis Eyraud <louisalexis.eyraud at collabora.com>
arm64: dts: mediatek: mt8195: Align ufshci node to dt-bindings changes
This commit updates the MT8195 UFS host controller dt bindings by adding
new required clocks and removing the deprecated freq-table-hz property.
It states that converting to an OPP table is not needed since the values
were all zero.
> diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
> --- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
[ ... ]
> @@ -1481,15 +1480,15 @@ ufshci: ufshci at 11270000 {
> <&infracfg_ao CLK_INFRA_AO_UNIPRO_TICK>,
> <&infracfg_ao CLK_INFRA_AO_UFS_MP_SAP_B>,
> <&infracfg_ao CLK_INFRA_AO_UFS_TX_SYMBOL>,
> - <&infracfg_ao CLK_INFRA_AO_PERI_UFS_MEM_SUB>;
> - clock-names = "ufs", "ufs_aes", "ufs_tick",
> - "unipro_sysclk", "unipro_tick",
> - "unipro_mp_bclk", "ufs_tx_symbol",
> - "ufs_mem_sub";
> - freq-table-hz = <0 0>, <0 0>, <0 0>,
> - <0 0>, <0 0>, <0 0>,
> - <0 0>, <0 0>;
> -
[Severity: High]
Does removing this property introduce a regression in the UFS controller
initialization?
Looking at ufshcd_parse_clock_info() in drivers/ufs/host/ufshcd-pltfrm.c,
the driver skips parsing the clock properties entirely if freq-table-hz is
missing:
drivers/ufs/host/ufshcd-pltfrm.c:ufshcd_parse_clock_info() {
...
sz = of_property_count_u32_elems(np, "freq-table-hz");
if (sz <= 0) {
dev_info(dev, "freq-table-hz property not specified\n");
goto out;
}
...
}
Since an operating-points-v2 node is also absent, the alternative parser
ufshcd_parse_operating_points() will also return early. This leaves
hba->clk_list_head empty.
If the list is empty, ufshcd_init_clocks() and ufshcd_setup_clocks()
will silently return without turning on any hardware clocks.
Could this cause a probe failure or a system crash (SError) when the driver
later attempts to access unclocked UFS MMIO registers?
> + <&infracfg_ao CLK_INFRA_AO_PERI_UFS_MEM_SUB>,
> + <&topckgen CLK_TOP_UFS_RX_SYMBOL>,
> + <&topckgen CLK_TOP_UFS_RX_SYMBOL1>;
> + clock-names = "main", "aes", "tick", "unipro_sysclk",
> + "unipro_tick", "unipro_mp_bclk",
> + "tx_symbol", "mem_sub", "rx_symbol0",
> + "rx_symbol1";
> + interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH 0>;
> + phys = <&ufsphy>;
> mediatek,ufs-disable-mcq;
> status = "disabled";
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260730-mt8196-ufs-v10-0-bc5ecef202dc@collabora.com?part=24
More information about the linux-phy
mailing list