On 23-09-04, Ahmad Fatoum wrote: > This is a port of Linux commit 9f4c8f9607c3147d291b70c13dd01c738ed41faf: > > | Author: Anson Huang <anson.huang@xxxxxxx> > | AuthorDate: Wed Dec 19 05:24:58 2018 +0000 > | Commit: Thierry Reding <thierry.reding@xxxxxxxxx> > | CommitDate: Mon Dec 24 12:06:56 2018 +0100 > | > | pwm: imx: Add ipg clock operation > | > | i.MX PWM module's ipg_clk_s is for PWM register access, on most of i.MX > | SoCs, this ipg_clk_s is from system ipg clock or perclk which is always > | enabled, but on i.MX7D, the ipg_clk_s is from PWM1_CLK_ROOT which is > | controlled by CCGR132, that means the CCGR132 MUST be enabled first > | before accessing PWM registers on i.MX7D. This patch adds ipg clock > | operation to make sure register access successfully on i.MX7D and it > | fixes Linux kernel boot up hang during PWM driver probe. > | > | Fixes: 4a23e6ee9f69 ("ARM: dts: imx7d-sdb: Restore pwm backlight support") > | Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx> > | Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> > > Unlike the Linux version, we make clk_ipg optional to reduce changes for > older SoCs. > > This fixes system hang during PWM access on i.MX8M and presumably i.MX7. > > Reported-by: Bastian Krause <bst@xxxxxxxxxxxxxx> > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>