Re: [PATCH 1/1] clk: qcom: ipq8074: set BRANCH_HALT_VOTED flag for usb master clocks

From: Taniya Das

Date: Thu Sep 10 2026 - 06:16:04 EST




On 9/10/2026 3:30 PM, Chukun Pan wrote:
> Currently, on some boards with older versions of U-Boot, attempting
> to disable usb master clocks results in a "stuck at on" warning:
>
> [ 3.005088] gcc_usb1_master_clk status stuck at 'on'
> [ 3.187119] gcc_usb0_master_clk status stuck at 'on'
>
> The USB master clocks of IPQ5332 and IPQ5424 have the BRANCH_HALT_VOTED
> flag set, so let's do the same to fix the issue.
>

Fixes tag?

> Signed-off-by: Chukun Pan <amadeus@xxxxxxxxxx>
> ---
> These boards run a vendor-specific version of U-Boot, and upgrading to
> a newer version could brick the device. Therefore, I think this should
> be fixed within the Linux kernel.
> ---
> drivers/clk/qcom/gcc-ipq8074.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c
> index 1329ea28d703..10bd2f80010c 100644
> --- a/drivers/clk/qcom/gcc-ipq8074.c
> +++ b/drivers/clk/qcom/gcc-ipq8074.c
> @@ -2612,6 +2612,7 @@ static struct clk_branch gcc_sys_noc_usb0_axi_clk = {
>
> static struct clk_branch gcc_usb0_master_clk = {
> .halt_reg = 0x3e000,
> + .halt_check = BRANCH_HALT_VOTED,

BRANCH_HALT didn't work?

> .clkr = {
> .enable_reg = 0x3e000,
> .enable_mask = BIT(0),
> @@ -2725,6 +2726,7 @@ static struct clk_branch gcc_sys_noc_usb1_axi_clk = {
>
> static struct clk_branch gcc_usb1_master_clk = {
> .halt_reg = 0x3f000,
> + .halt_check = BRANCH_HALT_VOTED,

BRANCH_HALT didn't work?

> .clkr = {
> .enable_reg = 0x3f000,
> .enable_mask = BIT(0),

--
Thanks,
Taniya Das