Santosh Shilimkar <santosh.shilimkar@xxxxxx> 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 <santosh.shilimkar@xxxxxx> > Signed-off-by: Charulatha V <charu@xxxxxx> > Signed-off-by: Govindraj.R <govindraj.raja@xxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html