Suspend / Resume and sys_clkout1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am working with a board that deviates from what seems to be common OMAP-as-clock-slave-from-the-TWL4030-PMIC-clock-master practice. In order to get this board to work correctly when used with SmartReflex-enabled, I had to add the following to the board initialization function:

    /* In this architecture, we use the OMAP3 as a 19.2 MHz clock
     * master and the TWL4030 as a clock slave, fed via the OMAP3's
     * sys_clkout1 pin.
     *
     * We need to request the 'sys_clkout1' clock source to at least
     * give it a reference count of one (1); otherwise, if the SmartReflex
     * power management code has been configured, it'll get unceremoniously
     * turned off with a message:
     *
     *   Disabling unused clock "sys_clkout1"
     *
     * and general system functionality fails thereafter.
     */

    sys_clkout1 = clk_get(NULL, "sys_clkout1");

    BUG_ON(IS_ERR(sys_clkout1));

    clk_enable(sys_clkout1);

However, now working with suspend/resume functionality, I see that this clock is preventing the system from fully going down to sleep. This leads me to believe that perhaps board-specific initialization was/is not the right place for this as there is no board-specific suspend/resume handling.

Any recommendations on a more architecturally-correct way to address OMAP-as-clock-master-to-the-TWL4030-PMIC-clock-slave in a suspend/resume-friendly way?

Best,

Grant--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux