Skip to content

Commit a2fb7c4

Browse files
shawn1221gregkh
authored andcommitted
scsi: ufs: rockchip,rk3576-ufshc: dt-bindings: Add new mphy reset item
[ Upstream commit bdce3a6 ] Add the mphy reset property to the devicetree bindings for the Rockchip RK3576 UFS host controller. The mphy reset signal is used to reset the physical adapter. Resetting other components while leaving the mphy unreset may occasionally prevent the UFS controller from successfully linking up with the device. This addresses an intermittent hardware bug where the UFS link fails to establish under specific timing conditions with certain chips. While difficult to reproduce initially, this issue was consistently observed in downstream testing and requires explicit mphy reset control for full stability. Although this change increases the maxItems for resets and adds a new entry (which technically alters the binding ABI), it does not break compatibility for existing Linux systems. The driver uses devm_reset_control_array_get_exclusive() to manage resets, allowing it to function correctly with both older Device Trees (without the mphy entry) and newer ones. Fixes: d90e920 ("scsi: ufs: dt-bindings: Document Rockchip UFS host controller") Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/1773368467-109650-1-git-send-email-shawn.lin@rock-chips.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 51075df commit a2fb7c4

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,15 @@ properties:
4141
maxItems: 1
4242

4343
resets:
44-
maxItems: 4
44+
maxItems: 5
4545

4646
reset-names:
4747
items:
4848
- const: biu
4949
- const: sys
5050
- const: ufs
5151
- const: grf
52+
- const: mphy
5253

5354
reset-gpios:
5455
maxItems: 1
@@ -98,8 +99,8 @@ examples:
9899
interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
99100
power-domains = <&power RK3576_PD_USB>;
100101
resets = <&cru SRST_A_UFS_BIU>, <&cru SRST_A_UFS_SYS>, <&cru SRST_A_UFS>,
101-
<&cru SRST_P_UFS_GRF>;
102-
reset-names = "biu", "sys", "ufs", "grf";
102+
<&cru SRST_P_UFS_GRF>, <&cru SRST_MPHY_INIT>;
103+
reset-names = "biu", "sys", "ufs", "grf", "mphy";
103104
reset-gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
104105
};
105106
};

0 commit comments

Comments
 (0)