All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>,
	Paul Walmsley <paul@pwsan.com>,
	Mike Turquette <mturquette@linaro.org>,
	"Kristo, Tero" <t-kristo@ti.com>
Cc: Stefan Roese <sr@denx.de>
Subject: Odd behavior with dpll4_m4x2_ck on omap3 + DT
Date: Wed, 28 Aug 2013 12:22:11 +0300	[thread overview]
Message-ID: <521DC143.2010506@ti.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1913 bytes --]

Hi,

I'm seeing odd clock behavior with Beagle, booting with DT. I'm using
v3.11-rc7 + DSS DT patches.

It looks to me that when setting the rate of a clock, its child clock's
rate is not updated correctly. Here's pieces of boot log (full log
attached):

Here my code prints the current clocks. This looks ok: dpll4_m4_ck's
divider is 2 (432000000/2 = 216000000), and dpll4_m4x2_ck, which is a
fixed x2 multiplier, is two times dpll4_m4_ck.

[    1.592132] before:
[    1.592163] dpll4_ck: 432000000
[    1.592193] dpll4_m4_ck: 216000000
[    1.592224] dpll4_m4x2_ck: 432000000
[    1.592254] dss1_alwon_fck_3430es2: 432000000

Here DSS driver sets dpll4_m4_ck's rate

[    1.592254] setting rate 86400000

Here we see the clocks after the clk_set_rate. dpll4_m4_ck is as
supposed, but the dpll4_m4x2_ck is not x2, resulting in wrong clock for
dss1_alwon_fck_3430es2. The rate of dpll4_m4x2_ck does get updated,
though, but not for the correct x2 rate, but x1.

[    1.592315] after:
[    1.592315] dpll4_ck: 432000000
[    1.592346] dpll4_m4_ck: 86400000
[    1.592376] dpll4_m4x2_ck: 86400000
[    1.592407] dss1_alwon_fck_3430es2: 86400000

After that the DSS probe is deferred, as there's a missing regulator. A
bit later, the driver is probed again:

Here the clocks are still wrong, as nothing has changed them

[    3.196868] before:
[    3.199340] dpll4_ck: 432000000
[    3.202667] dpll4_m4_ck: 86400000
[    3.206207] dpll4_m4x2_ck: 86400000
[    3.209991] dss1_alwon_fck_3430es2: 86400000
[    3.214508] setting rate 72000000

But after this clk_set_rate, the dpll4_m4x2_ck is correct.

[    3.218048] after:
[    3.220275] dpll4_ck: 432000000
[    3.223602] dpll4_m4_ck: 72000000
[    3.227142] dpll4_m4x2_ck: 144000000
[    3.230987] dss1_alwon_fck_3430es2: 144000000

So, for some reason, the first clk_set_rate goes wrong. Any ideas?

 Tomi

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: minicom.log --]
[-- Type: text/x-log; name="minicom.log", Size: 15034 bytes --]

boot
reading uImage

4338021 bytes read
reading ramdisk.uboot

2990586 bytes read
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4337957 Bytes = 4.1 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 82000000 ...
   Image Name:   
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    2990522 Bytes = 2.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.11.0-rc7-00023-gf6a7f7c-dirty (tomba@deskari) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #40 SMP Wed Aug 28 12:03:28 EEST 2013
[    0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: Generic OMAP3-GP (Flattened Device Tree), model: TI OMAP3 BeagleBoard
[    0.000000] cma: CMA: reserved 32 MiB at 8d800000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp )
[    0.000000] PERCPU: Embedded 9 pages/cpu @c103f000 s14272 r8192 d14400 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64768
[    0.000000] Kernel command line: console=ttyO2,115200
[    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: 208484K/261120K available (5679K kernel code, 672K rwdata, 2208K rodata, 401K init, 5526K bss, 52636K 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]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07bbf2c   (7888 kB)
[    0.000000]       .init : 0xc07bc000 - 0xc08207c0   ( 402 kB)
[    0.000000]       .data : 0xc0822000 - 0xc08ca300   ( 673 kB)
[    0.000000]        .bss : 0xc08ca300 - 0xc0e2fdd0   (5527 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    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] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[    0.000000] OMAP clockevent source: timer12 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] OMAP clocksource: 32k_counter at 32768 Hz
[    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.001251] Calibrating delay loop... 383.38 BogoMIPS (lpj=1916928)
[    0.048248] pid_max: default: 32768 minimum: 301
[    0.048858] Security Framework initialized
[    0.049102] Mount-cache hash table entries: 512
[    0.066223] CPU: Testing write buffer coherency: ok
[    0.067779] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.067901] Setting up static identity map for 0xc0591940 - 0xc05919b0
[    0.076507] Brought up 1 CPUs
[    0.076568] SMP: Total of 1 processors activated (383.38 BogoMIPS).
[    0.076568] CPU: All CPU(s) started in SVC mode.
[    0.080291] devtmpfs: initialized
[    0.161651] pinctrl core: initialized pinctrl subsystem
[    0.167449] regulator-dummy: no parameters
[    0.173004] NET: Registered protocol family 16
[    0.184082] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.205902] Reprogramming SDRC clock to 332000000 Hz
[    0.217712] omap_gpio 48310000.gpio: could not find pctldev for node /ocp/pinmux@0x48002a00/pinmux_gpio1_pins, deferring probe
[    0.217803] platform 48310000.gpio: Driver omap_gpio requests probe deferral
[    0.223022] OMAP GPIO hardware version 2.5
[    0.259246] platform 49022000.mcbsp: alias fck already exists
[    0.260955] platform 49024000.mcbsp: alias fck already exists
[    0.283477] omap-gpmc 6e000000.gpmc: GPMC revision 5.0
[    0.302062] No ATAGs?
[    0.302093] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.309997] OMAP DMA hardware revision 4.0
[    0.420410] bio: create slab <bio-0> at 0
[    0.427001] edma-dma-engine edma-dma-engine.0: Can't allocate PaRAM dummy slot
[    0.427093] edma-dma-engine: probe of edma-dma-engine.0 failed with error -5
[    0.546600] omap-dma-engine 48056000.dma-controller: OMAP DMA engine driver
[    0.550231] hsusb2_reset: 3300 mV 
[    0.550994] platform hsusb2_power_reg.21: Driver reg-fixed-voltage requests probe deferral
[    0.562499] SCSI subsystem initialized
[    0.566589] usbcore: registered new interface driver usbfs
[    0.567382] usbcore: registered new interface driver hub
[    0.568511] usbcore: registered new device driver usb
[    0.569335] platform hsusb2_phy.22: Driver nop_usb_xceiv requests probe deferral
[    0.579284] omap_i2c i2c.8: did not get pins for i2c error: -19
[    0.581451] omap_i2c i2c.8: bus 0 rev3.3 at 2600 kHz
[    0.584106] omap_i2c i2c.9: did not get pins for i2c error: -19
[    0.586486] omap_i2c i2c.9: bus 1 rev3.3 at 100 kHz
[    0.586853] omap_i2c i2c.10: did not get pins for i2c error: -19
[    0.588623] omap_i2c i2c.10: bus 2 rev3.3 at 100 kHz
[    0.598876] Switched to clocksource 32k_counter
[    0.810302] NET: Registered protocol family 2
[    0.812805] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.813110] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[    0.814361] TCP: Hash tables configured (established 2048 bind 2048)
[    0.814636] TCP: reno registered
[    0.814666] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    0.815032] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    0.816741] NET: Registered protocol family 1
[    0.819091] RPC: Registered named UNIX socket transport module.
[    0.819122] RPC: Registered udp transport module.
[    0.819152] RPC: Registered tcp transport module.
[    0.819152] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.826629] Trying to unpack rootfs image as initramfs...
[    1.275085] Freeing initrd memory: 2916K (c2001000 - c22da000)
[    1.275177] NetWinder Floating Point Emulator V0.97 (double precision)
[    1.275665] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[    1.523284] VFS: Disk quotas dquot_6.5.2
[    1.523681] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.527465] NFS: Registering the id_resolver key type
[    1.527923] Key type id_resolver registered
[    1.527954] Key type id_legacy registered
[    1.528137] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.529083] msgmni has been set to 476
[    1.575012] io scheduler noop registered
[    1.575073] io scheduler deadline registered
[    1.575195] io scheduler cfq registered (default)
[    1.580718] pinctrl-single 48002030.pinmux: 742 pins at pa fa002030 size 1484
[    1.581665] pinctrl-single 48002a00.pinmux: 46 pins at pa fa002a00 size 92
[    1.589172] usbcore: registered new interface driver udlfb
[    1.592132] before:
[    1.592163] dpll4_ck: 432000000
[    1.592193] dpll4_m4_ck: 216000000
[    1.592224] dpll4_m4x2_ck: 432000000
[    1.592254] dss1_alwon_fck_3430es2: 432000000
[    1.592254] setting rate 86400000
[    1.592315] after:
[    1.592315] dpll4_ck: 432000000
[    1.592346] dpll4_m4_ck: 86400000
[    1.592376] dpll4_m4x2_ck: 86400000
[    1.592407] dss1_alwon_fck_3430es2: 86400000
[    1.592590] OMAP DSS rev 2.0
[    1.619293] omapdss DPI error: can't get VDDS_DSI regulator
[    1.619354] omapfb omapfb: failed to connect default display
[    1.619354] omapfb omapfb: failed to init overlay connections
[    1.621887] omapfb omapfb: failed to setup omapfb
[    1.621948] platform omapfb: Driver omapfb requests probe deferral
[    1.626739] uvesafb: failed to execute /sbin/v86d
[    1.626770] uvesafb: make sure that the v86d helper is installed and executable
[    1.626800] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[    1.626800] uvesafb: vbe_init() failed with -22
[    1.626861] uvesafb: probe of uvesafb.0 failed with error -22
[    1.628295] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.638641] omap_uart serial.5: did not get pins for uart0 error: -19
[    1.640258] serial.5: ttyO0 at MMIO 0x4806a000 (irq = 88) is a OMAP UART0
[    1.643646] omap_uart serial.6: did not get pins for uart1 error: -19
[    1.644378] serial.6: ttyO1 at MMIO 0x4806c000 (irq = 89) is a OMAP UART1
[    1.647216] serial.7: ttyO2 at MMIO 0x49020000 (irq = 90) is a OMAP UART2
[    2.504791] console [ttyO2] enabled
[    2.562103] brd: module loaded
[    2.593719] loop: module loaded
[    2.613403] twl 0-0048: PIH (irq 23) chaining IRQs 306..314
[    2.620117] twl 0-0048: power (irq 311) chaining IRQs 314..321
[    2.634368] VDD1: 600 <--> 1450 mV at 1200 mV 
[    2.643798] VDAC: 1800 mV 
[    2.651306] VPLL2: 1800 mV 
[    2.657989] VMMC1: 1850 <--> 3150 mV at 3150 mV 
[    2.667022] VMMC2: 1850 <--> 3150 mV at 2600 mV 
[    2.675720] VUSB1V5: 1500 mV 
[    2.682373] VUSB1V8: 1800 mV 
[    2.689056] VUSB3V1: 3100 mV 
[    2.695648] VSIM: 1800 <--> 3000 mV at 1800 mV 
[    2.704772] twl4030_gpio gpio.38: gpio (irq 306) chaining IRQs 322..339
[    2.721588] twl4030_usb twl4030-usb.39: Initialized TWL4030 USB module
[    2.744140] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.774627] usbcore: registered new interface driver asix
[    2.781951] usbcore: registered new interface driver ax88179_178a
[    2.789581] usbcore: registered new interface driver cdc_ether
[    2.796478] usbcore: registered new interface driver r815x
[    2.803466] usbcore: registered new interface driver smsc95xx
[    2.810638] usbcore: registered new interface driver net1080
[    2.817321] usbcore: registered new interface driver cdc_subset
[    2.824523] usbcore: registered new interface driver zaurus
[    2.831481] usbcore: registered new interface driver cdc_ncm
[    2.840087] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.847015] ehci-omap: OMAP-EHCI Host Controller driver
[    2.853576] ehci-omap 48064800.ehci: Can't get PHY device for port 1: -517
[    2.861053] platform 48064800.ehci: Driver ehci-omap requests probe deferral
[    2.870391] usbcore: registered new interface driver cdc_wdm
[    2.877166] usbcore: registered new interface driver usbtest
[    2.886657] HS USB OTG: no transceiver configured
[    2.891906] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
[    2.900329] platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral
[    2.913513] mousedev: PS/2 mouse device common for all mice
[    2.928741] twl_rtc rtc.27: Power up reset detected.
[    2.934631] twl_rtc rtc.27: Enabling TWL-RTC
[    2.945434] twl_rtc rtc.27: rtc core: registered rtc.27 as rtc0
[    2.954559] i2c /dev entries driver
[    2.964172] Driver for 1-wire Dallas network protocol.
[    2.978027] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[    3.000061] ledtrig-cpu: registered to indicate activity on CPUs
[    3.009094] usbcore: registered new interface driver usbhid
[    3.015014] usbhid: USB HID core driver
[    3.021972] oprofile: using arm/armv7
[    3.026855] TCP: cubic registered
[    3.031158] Initializing XFRM netlink socket
[    3.035888] NET: Registered protocol family 17
[    3.040802] NET: Registered protocol family 15
[    3.046020] Key type dns_resolver registered
[    3.050720] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[    3.061676] PM: no software I/O chain control; some wakeups may be lost
[    3.069519] ThumbEE CPU extension supported.
[    3.082122] VMMC1: disabling
[    3.085998] VPLL2: disabling
[    3.090118] VDAC: disabling
[    3.105041] hsusb2_vbus: 3300 mV 
[    3.196868] before:
[    3.199340] dpll4_ck: 432000000
[    3.202667] dpll4_m4_ck: 86400000
[    3.206207] dpll4_m4x2_ck: 86400000
[    3.209991] dss1_alwon_fck_3430es2: 86400000
[    3.214508] setting rate 72000000
[    3.218048] after:
[    3.220275] dpll4_ck: 432000000
[    3.223602] dpll4_m4_ck: 72000000
[    3.227142] dpll4_m4x2_ck: 144000000
[    3.230987] dss1_alwon_fck_3430es2: 144000000
[    3.235626] omapdss DPI: Could not find exact pixel clock. Requested 154012 kHz, got 144000 kHz
[    3.385040] ehci-omap 48064800.ehci: EHCI Host Controller
[    3.394989] ehci-omap 48064800.ehci: new USB bus registered, assigned bus number 1
[    3.406158] ehci-omap 48064800.ehci: irq 93, io mem 0x48064800
[    3.429199] ehci-omap 48064800.ehci: USB 2.0 started, EHCI 1.00
[    3.436431] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    3.443786] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.451568] usb usb1: Product: EHCI Host Controller
[    3.456756] usb usb1: Manufacturer: Linux 3.11.0-rc7-00023-gf6a7f7c-dirty ehci_hcd
[    3.464843] usb usb1: SerialNumber: 48064800.ehci
[    3.477020] hub 1-0:1.0: USB hub found
[    3.481445] hub 1-0:1.0: 3 ports detected
[    3.489349] HS USB OTG: no transceiver configured
[    3.494384] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
[    3.502777] platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral
[    3.518096] input: gpio_keys.23 as /devices/gpio_keys.23/input/input0
[    3.529876] HS USB OTG: no transceiver configured
[    3.534912] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
[    3.543457] platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral
[    3.554138] twl_rtc rtc.27: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[    3.636413] Freeing unused kernel memory: 400K (c07bc000 - c0820000)
Starting logging: OK
Initializing random number generator... done.
Starting network...

Welcome to Buildroot
buildroot login: 

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

             reply	other threads:[~2013-08-28  9:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-28  9:22 Tomi Valkeinen [this message]
2013-08-28  9:48 ` Odd behavior with dpll4_m4x2_ck on omap3 + DT Tero Kristo
2013-08-28 10:14   ` Tomi Valkeinen
2013-08-28 11:40     ` Tero Kristo
2013-09-10 11:33       ` Stefan Roese
2013-09-10 12:12         ` Tero Kristo
2013-09-10 12:19           ` Tomi Valkeinen
2013-09-10 12:24             ` Tero Kristo
2013-09-10 12:40               ` Tomi Valkeinen
2013-09-10 13:17                 ` Tero Kristo
2013-09-10 21:17                   ` Mike Turquette
2013-09-10 21:57                     ` Mike Turquette
2013-09-11  7:21                   ` Tomi Valkeinen
2013-09-13  7:51                     ` Stefan Roese
2013-09-13 11:34                       ` Tero Kristo
2013-09-16 19:45                         ` Mike Turquette
2013-09-27  8:41                         ` Tomi Valkeinen
2013-09-27 11:24                           ` Tero Kristo
2013-09-30  7:56                             ` Tomi Valkeinen
2013-10-07  8:21                   ` Paul Walmsley
2013-10-08  1:35                     ` Mike Turquette
2013-10-13 20:17                       ` Paul Walmsley
2013-09-10 12:25           ` Stefan Roese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521DC143.2010506@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=mturquette@linaro.org \
    --cc=paul@pwsan.com \
    --cc=sr@denx.de \
    --cc=t-kristo@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.