[PATCH] OMAP4: clockdomain: Follow recommended enable sequence
Rajendra Nayak
rnayak at ti.com
Fri Mar 11 08:26:14 EST 2011
Hi Paul,
On 3/10/2011 8:09 PM, Paul Walmsley wrote:
> On Thu, 10 Mar 2011, Paul Walmsley wrote:
>
>> On Wed, 9 Mar 2011, Rajendra Nayak wrote:
>>
>>> On Wednesday 09 March 2011 09:20 AM, Paul Walmsley wrote:
>>>> On Fri, 4 Mar 2011, Rajendra Nayak wrote:
>>>>
>>>>> On OMAP4, the PRCM recommended sequence for enabling
>>>>> a module after power-on-reset is
>>>>> -1- Force clkdm to SW_WKUP
>>>>> -2- Configure desired module mode to "enable" or "auto"
>>>>> -3- Wait for the desired module idle status to be FUNC
>>>>> -4- Program clkdm in HW_AUTO(if supported)
>>>>>
>>>>> This sequence applies to all older OMAPs' as well,
>>>>> however since they use autodeps, it makes sure that
>>>>> no clkdm is in IDLE, and hence not requiring a force
>>>>> SW_WKUP when a module is being enabled.
>>
>> This patch is currently breaking boot on OMAP4430 ES2.0 Pandaboard,
>> so I've dropped it from the integration branch until it can be
>> debugged. Could you check it, please?
>
> It's also breaking boot on OMAP35xx BeagleBoard rev C2. The kernel
> boot messages are below - omap2plus_defconfig + DEBUG_LL. Reverting
> the patch fixes it. Could you please take a look?
I got hold of a Beagle, a sticker on which says rev C1D.
Not sure if there is a better way to identify the rev, but
this one seems to boot fine for me even with this patch.
I just applied this one patch on top of the the tag
'integration-2.6.39-20110310-008' of git://git.pwsan.com/linux-
integration.
Would a board rev make a difference?
-------
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 2.6.38-rc7-dirty (rnayak at a0131687pc) (gcc
version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #10 SMP Fri Mar 11
17:55:24 IST 2011
[ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7),
cr=10c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing
instruction cache
[ 0.000000] Machine: OMAP3 Beagle Board
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp )
[ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
[ 0.000000] Reprogramming SDRC clock to 332000000 Hz
[ 0.000000] PERCPU: Embedded 7 pages/cpu @c0d59000 s8032 r8192 d12448
u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 65024
[ 0.000000] Kernel command line: console=ttyO2,115200n8
root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait rootflags=barrier=1
earlyprintk init=/bin/sh
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072
bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 248248k/248248k available, 13896k reserved, 0K
highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
[ 0.000000] vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .init : 0xc0008000 - 0xc0051000 ( 292 kB)
[ 0.000000] .text : 0xc0051000 - 0xc05830dc (5321 kB)
[ 0.000000] .data : 0xc0584000 - 0xc05fc420 ( 482 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU-based detection of stalled CPUs is disabled.
[ 0.000000] NR_IRQS:409
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96
interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] omap_hwmod: gpt12_fck: missing clockdomain for gpt12_fck.
[ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps
every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat,
Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.057373] Calibrating delay loop... 488.41 BogoMIPS (lpj=1908736)
[ 0.232391] pid_max: default: 32768 minimum: 301
[ 0.238067] Security Framework initialized
[ 0.242767] Mount-cache hash table entries: 512
[ 0.253082] CPU: Testing write buffer coherency: ok
[ 0.261932] Brought up 1 CPUs
[ 0.265075] SMP: Total of 1 processors activated (488.41 BogoMIPS).
[ 0.288421] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for
l4_core
[ 0.295989] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for
l4_per
[ 0.303375] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for
l4_wkup
[ 0.327484] omap_hwmod: i2c1: softreset failed (waited 10000 usec)
[ 0.348358] omap_hwmod: i2c2: softreset failed (waited 10000 usec)
[ 0.369201] omap_hwmod: i2c3: softreset failed (waited 10000 usec)
[ 0.382751] print_constraints: dummy:
[ 0.388580] NET: Registered protocol family 16
[ 0.394805] GPMC revision 5.0
[ 0.398101] Trying to install interrupt handler for IRQ402
[ 0.404052] Trying to install interrupt handler for IRQ403
[ 0.409851] Trying to install interrupt handler for IRQ404
[ 0.415649] Trying to install interrupt handler for IRQ405
[ 0.421447] Trying to install interrupt handler for IRQ406
[ 0.427215] Trying to install interrupt handler for IRQ407
[ 0.433044] Trying to install interrupt handler for IRQ408
[ 0.438812] Trying to install type control for IRQ409
[ 0.444122] Trying to set irq flags for IRQ409
[ 0.458343] omap_device: omap_gpio.0: new worst case activate latency
0: 122070
[ 0.466979] OMAP GPIO hardware version 2.5
[ 0.472015] OMAP GPIO hardware version 2.5
[ 0.476959] OMAP GPIO hardware version 2.5
[ 0.481811] OMAP GPIO hardware version 2.5
[ 0.486755] OMAP GPIO hardware version 2.5
[ 0.491668] OMAP GPIO hardware version 2.5
[ 0.515655] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.525390] OMAP3 Beagle Rev: C1/C2/C3
[ 0.534912] omap_device: omap_uart.0: new worst case activate latency
0: 30517
[ 0.546813] omap_device: omap_uart.2: new worst case deactivate
latency 0: 30517
[ 0.554901] Found NAND on CS0
[ 0.558044] Registering NAND on CS0
[ 0.563262] Unable to get DVI reset GPIO
[ 0.567657] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.596466] OMAP DMA hardware revision 4.0
[ 0.677093] bio: create slab <bio-0> at 0
[ 0.693084] SCSI subsystem initialized
[ 0.698181] omap_device: omap2_mcspi.1: new worst case activate
latency 0: 30517
[ 0.716827] usbcore: registered new interface driver usbfs
[ 0.724304] usbcore: registered new interface driver hub
[ 0.731079] usbcore: registered new device driver usb
[ 0.739105] omap_device: omap_i2c.1: new worst case activate latency
0: 61035
[ 0.746948] omap_i2c omap_i2c.1: bus 1 rev3.12 at 2600 kHz
[ 0.765686] twl4030: PIH (irq 7) chaining IRQs 368..375
[ 0.771545] twl4030: power (irq 373) chaining IRQs 376..383
[ 0.779876] twl4030: gpio (irq 368) chaining IRQs 384..401
[ 0.801025] print_constraints: VMMC1: 1850 <--> 3150 mV at 3000 mV
normal standby
[ 0.812499] print_constraints: VDAC: 1800 mV normal standby
[ 0.821655] print_constraints: VDVI: 1800 mV normal standby
[ 0.831024] print_constraints: VSIM: 1800 <--> 3000 mV at 1800 mV
normal standby
[ 0.839874] omap_device: omap_i2c.1: new worst case deactivate
latency 0: 30517
[ 0.848022] omap_i2c omap_i2c.3: bus 3 rev3.12 at 100 kHz
[ 0.867095] Switching to clocksource 32k_counter
[ 0.873657] Switched to NOHz mode on CPU #0
[ 1.019775] NET: Registered protocol family 2
[ 1.025787] IP route cache hash table entries: 2048 (order: 1, 8192
bytes)
[ 1.035400] TCP established hash table entries: 8192 (order: 4, 65536
bytes)
[ 1.043457] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[ 1.056030] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.062835] TCP reno registered
[ 1.066192] UDP hash table entries: 128 (order: 1, 10240 bytes)
[ 1.072845] UDP-Lite hash table entries: 128 (order: 1, 10240 bytes)
[ 1.080871] NET: Registered protocol family 1
[ 1.087158] RPC: Registered udp transport module.
[ 1.092468] RPC: Registered tcp transport module.
[ 1.097412] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.105438] NetWinder Floating Point Emulator V0.97 (double precision)
[ 1.320373] VFS: Disk quotas dquot_6.5.2
[ 1.324951] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.334991] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat,
Inc.
[ 1.343444] msgmni has been set to 484
[ 1.353393] io scheduler noop registered
[ 1.357666] io scheduler deadline registered
[ 1.362365] io scheduler cfq registered (default)
[ 1.373229] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.389556] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a
OMAP UART0
[ 1.399383] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a
OMAP UART1
[ 1.408508] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a
OMAP UART2
[ 1.416625] console [ttyO2] enabled, bootconsole disabled
[ 1.416625] console [ttyO2] enabled, bootconsole disabled
[ 1.478668] brd: module loaded
[ 1.506439] loop: module loaded
[ 1.511108] omap_device: omap_i2c.1: new worst case activate latency
0: 152587
[ 1.529266] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.536132] omap2-nand driver initializing
[ 1.541107] ONFI flash detected
[ 1.544769] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron
NAND 256MiB 1,8V 16-bit)
[ 1.553955] Creating 5 MTD partitions on "omap2-nand.0":
[ 1.559539] 0x000000000000-0x000000080000 : "X-Loader"
[ 1.576385] 0x000000080000-0x000000260000 : "U-Boot"
[ 1.589569] 0x000000260000-0x000000280000 : "U-Boot Env"
[ 1.602081] 0x000000280000-0x000000680000 : "Kernel"
[ 1.616058] 0x000000680000-0x000010000000 : "File System"
[ 1.746307] OneNAND driver initializing
[ 1.762634] usbcore: registered new interface driver asix
[ 1.769317] usbcore: registered new interface driver cdc_ether
[ 1.776580] usbcore: registered new interface driver net1080
[ 1.783386] usbcore: registered new interface driver cdc_subset
[ 1.790496] usbcore: registered new interface driver zaurus
[ 1.796508] cdc_ncm: 7-Feb-2011
[ 1.800537] usbcore: registered new interface driver cdc_ncm
[ 1.809814] usbcore: registered new interface driver cdc_wdm
[ 1.815887] Initializing USB Mass Storage driver...
[ 1.821929] usbcore: registered new interface driver usb-storage
[ 1.828399] USB Mass Storage support registered.
[ 1.834960] usbcore: registered new interface driver libusual
[ 1.841979] usbcore: registered new interface driver usbtest
[ 1.847930] udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma)
[ 1.859130] mousedev: PS/2 mouse device common for all mice
[ 1.869018] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 1.887878] input: twl4030_pwrbutton as
/devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input1
[ 1.904266] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[ 1.914123] i2c /dev entries driver
[ 1.923553] Driver for 1-wire Dallas network protocol.
[ 1.931701] omap_device: omap_wdt.-1: new worst case activate latency
0: 30517
[ 1.941497] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 1.949462] twl4030_wdt twl4030_wdt: Failed to register misc device
[ 1.956481] twl4030_wdt: probe of twl4030_wdt failed with error -16
[ 1.981750] usbcore: registered new interface driver usbhid
[ 1.987792] usbhid: USB HID core driver
[ 1.991882] oprofile: hardware counters not available
[ 1.997161] oprofile: using timer interrupt.
[ 2.002471] TCP cubic registered
[ 2.005950] Initializing XFRM netlink socket
[ 2.010620] NET: Registered protocol family 17
[ 2.015502] NET: Registered protocol family 15
[ 2.020874] Registering the dns_resolver key type
[ 2.026580] VFP support v0.3: implementor 41 architecture 3 part 30
variant c rev 1
[ 2.036193] ThumbEE CPU extension supported.
[ 2.054840] Power Management for TI OMAP3.
[ 2.106384] clock: disabling unused clocks to save power
[ 2.119476] regulator_init_complete: VDVI: incomplete constraints,
leaving on
[ 2.127502] regulator_init_complete: VDAC: incomplete constraints,
leaving on
[ 2.137084] twl_rtc twl_rtc: setting system clock to 2000-01-01
00:44:33 UTC (946687473)
[ 2.150207] Waiting for root device /dev/mmcblk0p2...
[ 2.466430] mmc0: new SDHC card at address aaaa
[ 2.475067] mmcblk0: mmc0:aaaa SD04G 3.69 GiB
[ 2.488464] mmcblk0: p1 p2
[ 3.158355] kjournald starting. Commit interval 5 seconds
[ 3.165069] EXT3-fs (mmcblk0p2): warning: mounting fs with errors,
running e2fsck is recommended
[ 3.178955] EXT3-fs (mmcblk0p2): using internal journal
[ 3.184448] EXT3-fs (mmcblk0p2): recovery complete
[ 3.193359] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data
mode
[ 3.201263] VFS: Mounted root (ext3 filesystem) on device 179:2.
[ 3.207885] Freeing init memory: 292K
/bin/sh: can't access tty; job control turned off
#
#
More information about the linux-arm-kernel
mailing list