Santosh Shilimkar <[email protected]> writes:

> The omap2plus_defconfig doesn't boot up when built with CONFIG_PM
> disabled on the latest linux-omap master. Below are the observations
> 1. OMAP3 reboots in the middle of boot
> --------------------------------------------------
> [    0.000000] Calibrating delay loop... 494.72 BogoMIPS (lpj=1933312)
> [    0.000000] pid_max: default: 32768 minimum: 301
> [    0.000000] Security Framework initialized
> [    0.000000] Mount-cache hash table entries: 512
> [    0.000000] CPU: Testing write buffer coherency: ok
> [    0.000000] Brought up 1 CPUs
> [    0.000000] SMP: Total of 1 processors activated (494.72 BogoMIPS).
> [    0.000000] regulator: core version 0.5
> [    0.000000] NET: Registered protocol family 16
>
> U-Boot 1.1.4 (Feb 11 2009 - 16:10:23)
>
> OMAP3430-GP rev 2, CPU-OPP2 L3-165MHz
> TI 3430SDP 1.0 Version + mDDR (Boot NOR)
> DRAM:  128 MB
> Flash: 128 MB
> NAND:128 MiB
> --------------------------------------------------
>
> 2. OMAP4 does a kernel PANIC
> -------------------------------------
> [    0.000000] Calibrating delay loop... 1195.29 BogoMIPS (lpj=4669440)
> [    0.000000] pid_max: default: 32768 minimum: 301
> [    0.000000] Security Framework initialized
> [    0.000000] Mount-cache hash table entries: 512
> [    0.000000] CPU: Testing write buffer coherency: ok
> [    0.000000] L310 cache controller enabled
> [    0.000000] l2x0: 16 ways, CACHE_ID 0x410000c2, AUX_CTRL 0x0e050000
> [    0.000000] CPU1: Booted secondary processor
> [    0.000000] Brought up 2 CPUs
> [    0.000000] SMP: Total of 2 processors activated (2395.78 BogoMIPS).
> [    0.000000] regulator: core version 0.5
> [    0.000000] NET: Registered protocol family 16
> [    0.000000] mux: Could not set signal i2c2_scl.i2c2_scl
> [    0.000000] mux: Could not set signal i2c2_sda.i2c2_sda
> [    0.000000] mux: Could not set signal i2c3_scl.i2c3_scl
> [    0.000000] mux: Could not set signal i2c3_sda.i2c3_sda
> [    0.000000] mux: Could not set signal i2c4_scl.i2c4_scl
> [    0.000000] mux: Could not set signal i2c4_sda.i2c4_sda
> -------------------------------------
>
> This is happening because 'omap_serial_init()' is hanging in the boot.
> On OMAP3 the watchdog is generating reboot because devices_init doesn't
> happens where as on OMAP4 it just hangs without reboot.
> The uart clock is not getting enabled after omap_device_idle as part
> of omap_serial_init.
> The omap_device_idle(will disable the clock) then omap_uart_block_sleep()
> should enable clock back disabled during the boot up phase.
> But omap_uart_block_sleep() stuffed version is binded only under
> CONFIG_PM and other version is just empty. Hence it is not enabling
> clock back as expected
>
> This patch adds uart clock enable code to omap_uart_block_sleep() function
> built with CONFIG_PM disabled.
> Thanks to Charulatha and Govindraj for their help on this debug.
>
> Signed-off-by: Santosh Shilimkar <[email protected]>
> Signed-off-by: Charulatha V <[email protected]>
> Signed-off-by: Govindraj.R <[email protected]>


Acked-by: Kevin Hilman <[email protected]>

This is a regression fix, so we should queue this for 2.6.37.

Thanks,

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to