On 9/30/20 5:49 PM, Lucas Stach wrote: [...] > @@ -176,9 +180,19 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd) > GPC_PGC_CTRL_PCR, 0); > > /* request the ADB400 to power up */ > - if (domain->bits.hsk) > + if (domain->bits.hskreq) { > regmap_update_bits(domain->regmap, GPC_PU_PWRHSK, > - domain->bits.hsk, domain->bits.hsk); > + domain->bits.hskreq, domain->bits.hskreq); > + > + ret = regmap_read_poll_timeout(domain->regmap, GPC_PU_PWRHSK, > + reg_val, > + (reg_val & domain->bits.hskack), > + 0, USEC_PER_MSEC); > + if (ret) { > + dev_err(domain->dev, "failed to power up ADB400\n"); The ADB400 is a bus bridge, so the bus is being attached here, not powered up, right ?