This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can we disable the RTC node in the AM335x tree somehow?

Other Parts Discussed in Thread: DA8XX, SYSCONFIG, TPS65910

I'm working on a design using the AM335x based on the EVM and I've run into a little snag. Our design does not use the RTC, in fact we've pulled the RTC_PORZ to ground, see below schematic snap shot.

 

As such I would like to disable the RTC in the device tree, we've found when we boot with the RTC enabled in the tree the board dies the first time it tried to access an RTC_SS register. When we take the following code from arch/arm/boot/dts/am33xx.h:

		rtc@44e3e000 {
			compatible = "ti,da830-rtc";
			reg = <0x44e3e000 0x1000>;
			interrupts = <75
				      76>;
			ti,hwmods = "rtc";
			clocks = <&clk_32768_ck>;
			clock-names = "fck";
		};

and comment it out, then we can boot just fine. I don't want to comment out anything in am33xx.h I'd rather disable this in our device tree file.

I've looked at the documentation found at Documentation/devicetree/bindings/rtc-omap.txt, but there doesn't appear to be anything in here which allows us to disable it (like status="disabled").

So first question: How do we correctly disable this RTC?

I did however notice that the am33xx.dtsi defines the RTC to be "compatible" with the DA8xx SoC family instead of the AM335x family.

Second question therefore: Isn't that a mistake? Shouldn't that be:

compatible = "ti,am3352-rtc"

  • Hi Mike,

    There is no am33xx.h file in the /dts/ folder. I guess you are referring to the am33xx.dtsi file where the rtc node is defined. Commenting it out from there is the correct way to remove it.

    You can also remove support for the on-chip RTC on TI OMAP1, AM33xx and DA8xx/OMAP-L13x by disabling the "CONFIG_RTC_DRV_OMAP" option from the kernel configuration.

    I can't comment on why the "compatible" member of the rtc node contains "da830-rtc" instead of "am3352-rtc".

    Best regards,
    Miroslav

  • Mike Worster said:

    I did however notice that the am33xx.dtsi defines the RTC to be "compatible" with the DA8xx SoC family instead of the AM335x family.

    Second question therefore: Isn't that a mistake? Shouldn't that be:

    compatible = "ti,am3352-rtc"

    I agree with you, Mike.  Looking through the commit history of drivers/rtc/rtc-omap.c there is a patch from Sep 11, 2013 with the following commit message:

    "    On some platforms (like AM33xx), a special register (RTC_IRQWAKEEN) is
        available to enable Alarm Wakeup feature.  This register needs to be
        properly handled for the rtcwake to work properly.
        
        Platforms using such IP should set "ti,am3352-rtc" in rtc device dt
        compatibility node."

    It looks like the RTC node was originally added way back in Oct 2012.  I suspect this was overlooked though I'll check with the team.

  • Hello Guys,

    I ran into the same problem and was able to get a work around this by following these steps:

           /*
                We need to disable the internal RTC and use only the external RTC
                This is done along with a patch to the am33xx.dtsi file --> in that file...
                    rtc@44e3e000 {                -- Remove
                    am335xrtc: rtc@44e3e000 {    ++ Add    
            */        
            am335xrtc: rtc@44e3e000 {
                   status = "disabled";
                   ti,hwmods = "disabled";
            };

    This is part of my dts file and I only added a label to the am33xx.dtsi file to make sure it can be compatible with other boards that use the RTC. I do however, get a error during bootup (shown below). By using the method you guys suggested, removing it completely from the dtsi file, will it also solve the RTC error?

    [    0.104344] ------------[ cut here ]------------
    [    0.104435] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2574 _init+0x4c8/0x520()
    [    0.104456] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.104471] Modules linked in:
    [    0.104510] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.10-ti2013.12.01 #49
    [    0.104530] Backtrace:  
    [    0.104586] [<c0017870>] (dump_backtrace+0x0/0x10c) from [<c0017a0c>] (show_stack+0x18/0x1c)
    [    0.104607]  r6:c05fdbf8 r5:00000009 r4:c5873e30 r3:00000000
    [    0.104677] [<c00179f4>] (show_stack+0x0/0x1c) from [<c047db54>] (dump_stack+0x20/0x28)
    [    0.104727] [<c047db34>] (dump_stack+0x0/0x28) from [<c0044a14>] (warn_slowpath_common+0x70/0x90)
    [    0.104767] [<c00449a4>] (warn_slowpath_common+0x0/0x90) from [<c0044ad8>] (warn_slowpath_fmt+0x38/0x40)
    [    0.104784]  r8:c05fe114 r7:00000000 r6:c05fd730 r5:c0644f18 r4:c0669224
    [    0.104846] [<c0044aa0>] (warn_slowpath_fmt+0x0/0x40) from [<c05fdbf8>] (_init+0x4c8/0x520)
    [    0.104864]  r3:c0571a7c r2:c056d1a8
    [    0.104916] [<c05fd730>] (_init+0x0/0x520) from [<c002c810>] (omap_hwmod_for_each+0x38/0x64)
    [    0.104957] [<c002c7d8>] (omap_hwmod_for_each+0x0/0x64) from [<c05fe140>] (__omap_hwmod_setup_all+0x2c/0x48)
    [    0.104974]  r7:c05f1410 r6:c06a1900 r5:00000001 r4:c0636a28
    [    0.105033] [<c05fe114>] (__omap_hwmod_setup_all+0x0/0x48) from [<c00089ec>] (do_one_initcall+0xf4/0x154)
    [    0.105083] [<c00088f8>] (do_one_initcall+0x0/0x154) from [<c05f1b94>] (kernel_init_freeable+0xf0/0x1bc)
    [    0.105126] [<c05f1aa4>] (kernel_init_freeable+0x0/0x1bc) from [<c04798a8>] (kernel_init+0x10/0xec)
    [    0.105179] [<c0479898>] (kernel_init+0x0/0xec) from [<c00146f8>] (ret_from_fork+0x14/0x3c)
    [    0.105196]  r4:00000000 r3:00000000
    [    0.105303] ---[ end trace 1b75b31a2719ed1c ]---

    Thank you

    Regards

    Santhosh

  • Santhosh,

    Santhosh Ramani said:

    By using the method you guys suggested, removing it completely from the dtsi file, will it also solve the RTC error?

    No, it does not get rid of the error, that's why I raised the issue in the first place, and assumed my mechanism of commenting out the RTC in the dtsi file was incorrect.

    Since they both spit out the same error message, I actually like your solution better. I rather have a new node saying "disabled" for my specific tree rather than commenting out anything in the SoC file.

     

     

  • Miroslav Kiradzhiyski XID said:

    There is no am33xx.h file in the /dts/ folder. I guess you are referring to the am33xx.dtsi file where the rtc node is defined.

    Yes, sorry about that, I meant the .dtsi file.

    Miroslav Kiradzhiyski XID said:

    Commenting it out from there is the correct way to remove it.

     

    Please see the comment from user Santhosh Ramani. I am seeing the same RTC backtrace regardless of using his method, or commenting out the RTC code. My question is then: How can we avoid this error to be printed in the log?

    Note: I tried with and without the "CONFIG_RTC_DRV_OMAP" option, in both cases I still see this error.

    Note2: Just removing the "CONFIG_RTC_DRV_OMAP" option (and leave the am33xx.dtsi file alone) does NOT fix the issue where we stop booting as soon as we hit the RTC SS registers.

  • Mike,

    The boot hangs because the RTC probe code switches the functional clock to use the external 32k crystal/clock which does not exist in your hardware.  You could make a quick mod to the kernel so that it continues using the internally generated 32k clock with the following:

    diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
    index c5aafa4..7ef2cc3 100644
    --- a/drivers/rtc/rtc-omap.c
    +++ b/drivers/rtc/rtc-omap.c
    @@ -394,7 +394,7 @@ static int __init omap_rtc_probe(struct platform_device *pde
            rtc_write(0, OMAP_RTC_INTERRUPTS_REG);
     
            /* Selecting CLK cource for RTC */
    -       rtc_writel((1 << 3) | (1 << 6), OMAP_RTC_OSC_REG);
    +       rtc_writel((1 << 6), OMAP_RTC_OSC_REG);
            rtc_writel(0x3, OMAP_RTC_IRQWAKEEN);
     
            /* clear old status */

    The guy that normally helps me with device tree issues is out this week so perhaps the above can serve as a workaround.  It seems like the right thing would be to have a device tree option to disable the RTC altogether.

    Brad

  • Hello Brad,

    Thank you for posting the work around. But I do have couple of questions regarding this mod:

    1. Does it mean that I need to have support (driver) for the internal RTC and have the internal RTC enabled?

    2. If I don't want to use the internal RTC as my main RTC (since I'm using the external RTC with battery backup) - how do I setup my external RTC as system clock or main clock in Linux?

    Also looking at the trace in more detail and looking at the omap_hwmod.c file, specifically function _init(struct omap_hwmod *oh, void *data)  - it seems that the function _init_mpu_rt_base is not able to read the RTC registers (since the rtc-omap probe has not been executed, clock to that module is not enabled - driver support removed).

    Would it be better to modify the _init(struct omap_hwmod *oh, void *data) function to not look for RTC registers if RTC is disabled. At the same time, _init_clocks initializes the internal 32Khz clock as the slow clock for the system. (If there are other peripherals that want to use 32KHz clock)

    Just a thought - sorry didn't mean to hijack the conversation.

    Thanks

    - Santhosh

  • Hello,

    In order to disable the RTC you must mark the node as disabled in the dts file, which I see you have done, and also remove the RTC hwmod entry from the list of hwmods. The easiest way to accomplish this if you are modifying a kernel specifically for a board with an RTC disabled by grounded PORZ is to remove the am33xx_l4_wkup__rtc entry from am33xx_hwmod_ocp_ifs array in arch/arm/mach-omap2/omap_hwmod_33xx_data.c, assuming you are using the v3.12 kernel with SDK 7.0. This will prevent hwmod from attempting to access the SYSCONFIG registers inside the RTC IP and avoid the panic/hang.

    Regards,

    Dave

  • Dave Gerlach said:

    In order to disable the RTC you must mark the node as disabled in the dts file

    Dave, are you talking just about this line:

    status = "disabled";

    or this line too:

    ti,hwmods = "disabled";

    ?

    Dave Gerlach said:

    remove the am33xx_l4_wkup__rtc entry from am33xx_hwmod_ocp_ifs array in arch/arm/mach-omap2/omap_hwmod_33xx_data.c

    That actually looks to be working quite well. I'm attaching my power up log as I still have a few questions:

    3808.rtc_panic_resolved.txt
    U-Boot SPL 2013.10-00189-g78d8ebd-dirty (Sep 15 2014 - 07:52:56)
    Global HMI Bootloader v0.00.01T
    
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    reading args
    spl: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    image entry point: 0x80800000
    
    
    Global HMI Bootloader v0.00.01T
    
    I2C:   ready
    DRAM:  256 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
    *** Warning - bad CRC, using default environment
    
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    Net:   <ethaddr> not set. Validating first E-fuse MAC
    FIXME: Hardware detection not available yet ... returning 'ENP_GHMI'
    cpsw, usb_ether
    Hit any key to stop autoboot:  0
    mmc0 is current device
    Scanning mmc 0...
    4115704 bytes read in 283 ms (13.9 MiB/s)
    35439 bytes read in 22 ms (1.5 MiB/s)
    mmc0 is current device
    SD/MMC found on device 0
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    4115704 bytes read in 283 ms (13.9 MiB/s)
    35439 bytes read in 22 ms (1.5 MiB/s)
    Kernel image @ 0x80200000 [ 0x000000 - 0x3eccf8 ]
    ## Flattened Device Tree blob at 80f80000
       Booting using the fdt blob at 0x80f80000
       Loading Device Tree to 8f32d000, end 8f338a6e ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.12.10-ti2013.12.01 (mike@mike-VirtualBox) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 Fri Sep 19 17:34:53 EDT 2014
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x based Emerson Global HMI
    [    0.000000] cma: CMA: reserved 24 MiB at 8d800000
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64256
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
    [    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: 223452K/259072K available (5555K kernel code, 559K rwdata, 1876K rodata, 344K init, 225K bss, 35620K 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 - 0xc074a04c   (7433 kB)
    [    0.000000]       .init : 0xc074b000 - 0xc07a10e8   ( 345 kB)
    [    0.000000]       .data : 0xc07a2000 - 0xc082dcd8   ( 560 kB)
    [    0.000000]        .bss : 0xc082dcd8 - 0xc0866300   ( 226 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
    [    0.000000] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000357] Calibrating delay loop... 398.13 BogoMIPS (lpj=1990656)
    [    0.049672] pid_max: default: 32768 minimum: 301
    [    0.049790] Security Framework initialized
    [    0.049847] Mount-cache hash table entries: 512
    [    0.059206] CPU: Testing write buffer coherency: ok
    [    0.059717] Setting up static identity map for 0xc05725e8 - 0xc0572658
    [    0.060733] devtmpfs: initialized
    [    0.062829] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.126510] omap_hwmod: debugss: _wait_target_disable failed
    [    0.127302] pinctrl core: initialized pinctrl subsystem
    [    0.128300] regulator-dummy: no parameters
    [    0.131078] NET: Registered protocol family 16
    [    0.133665] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.136745] cpuidle: using governor ladder
    [    0.136766] cpuidle: using governor menu
    [    0.147273] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.148507] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.150003] OMAP GPIO hardware version 0.1
    [    0.161114] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.164013] DSS not supported on this SoC
    [    0.164032] No ATAGs?
    [    0.164045] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.192650] bio: create slab <bio-0> at 0
    [    0.210236] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.211206] vbat: 5000 mV
    [    0.214662] vgaarb: loaded
    [    0.216152] SCSI subsystem initialized
    [    0.217726] usbcore: registered new interface driver usbfs
    [    0.217945] usbcore: registered new interface driver hub
    [    0.218189] usbcore: registered new device driver usb
    [    0.219275] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [    0.219308] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.219570] media: Linux media interface: v0.10
    [    0.219858] Linux video capture interface: v2.00
    [    0.220176] pps_core: LinuxPPS API ver. 1 registered
    [    0.220190] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.220347] PTP clock support registered
    [    0.223369] Switched to clocksource timer1
    [    0.245699] NET: Registered protocol family 2
    [    0.246461] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    [    0.246526] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.246563] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.246642] TCP: reno registered
    [    0.246660] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.246684] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.246919] NET: Registered protocol family 1
    [    0.247368] RPC: Registered named UNIX socket transport module.
    [    0.247383] RPC: Registered udp transport module.
    [    0.247391] RPC: Registered tcp transport module.
    [    0.247399] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.248448] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.249170] PM: Loading am335x-pm-firmware.bin
    [    0.434522] VFS: Disk quotas dquot_6.5.2
    [    0.434610] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.435317] NFS: Registering the id_resolver key type
    [    0.435417] Key type id_resolver registered
    [    0.435428] Key type id_legacy registered
    [    0.435478] jffs2: version 2.2. (NAND) (SUMMARY)  � 2001-2006 Red Hat, Inc.
    [    0.435704] msgmni has been set to 484
    [    0.437590] NET: Registered protocol family 38
    [    0.437639] io scheduler noop registered
    [    0.437650] io scheduler deadline registered
    [    0.437677] io scheduler cfq registered (default)
    [    0.439985] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.497086] Console: switching to colour frame buffer device 100x30
    [    0.505816] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.509110] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
    [    1.112189] console [ttyO0] enabled
    [    1.116877] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
    [    1.127209] pinctrl-single 44e10800.pinmux: pin 44e10984.0 already requested by 48022000.serial; cannot claim for 48024000.serial
    [    1.139550] pinctrl-single 44e10800.pinmux: pin-97 (48024000.serial) status -22
    [    1.147284] pinctrl-single 44e10800.pinmux: could not request pin 97 (44e10984.0) from group pinmux_uart2_pins  on device pinctrl-single
    [    1.160238] omap_uart 48024000.serial: Error applying setting, reverse things back
    [    1.168572] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2
    [    1.179933] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.198849] brd: module loaded
    [    1.208227] loop: module loaded
    [    1.217274] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.229269] usbcore: registered new interface driver asix
    [    1.235283] usbcore: registered new interface driver ax88179_178a
    [    1.241956] usbcore: registered new interface driver cdc_ether
    [    1.248320] usbcore: registered new interface driver r815x
    [    1.254360] usbcore: registered new interface driver smsc95xx
    [    1.260639] usbcore: registered new interface driver net1080
    [    1.266803] usbcore: registered new interface driver cdc_subset
    [    1.273262] usbcore: registered new interface driver zaurus
    [    1.279409] usbcore: registered new interface driver cdc_ncm
    [    1.286027] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.292930] ehci-pci: EHCI PCI platform driver
    [    1.297900] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.304545] usbcore: registered new interface driver cdc_wdm
    [    1.310795] usbcore: registered new interface driver usb-storage
    [    1.318424] mousedev: PS/2 mouse device common for all mice
    [    1.326594] input: ti-tsc as /devices/ocp.2/44e0d000.tscadc/TI-am335x-tsc/input/input0
    [    1.337868] i2c /dev entries driver
    [    1.342529] Driver for 1-wire Dallas network protocol.
    [    1.351219] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.361405] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [    1.369068] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [    1.376609] omap_hsmmc 48060000.mmc: unable to get vmmc regulator -517
    [    1.383851] edma-dma-engine edma-dma-engine.0: freeing channel for 24
    [    1.390946] edma-dma-engine edma-dma-engine.0: freeing channel for 25
    [    1.398194] platform 48060000.mmc: Driver omap_hsmmc requests probe deferral
    [    1.406711] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.413804] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
    [    1.421327] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.429169] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.435677] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
    [    1.443070] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
    [    1.452378] usbcore: registered new interface driver usbhid
    [    1.458590] usbhid: USB HID core driver
    [    1.466020] oprofile: no performance counters
    [    1.471397] oprofile: using timer interrupt.
    [    1.476637] TCP: cubic registered
    [    1.480450] Initializing XFRM netlink socket
    [    1.485293] NET: Registered protocol family 17
    [    1.490325] NET: Registered protocol family 15
    [    1.495403] 8021q: 802.1Q VLAN Support v1.8
    [    1.500205] Key type dns_resolver registered
    [    1.505748] cpu cpu0: cpu0 regulator not ready, retry
    [    1.511424] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [    1.520231] ThumbEE CPU extension supported.
    [    1.528465] omap_hwmod: gpio1: _wait_target_disable failed
    [    1.539327] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.549073] vrtc: 1800 mV
    [    1.552632] vrtc: supplied by vbat
    [    1.558879] vio: at 1500 mV
    [    1.562303] vio: supplied by vbat
    [    1.568685] vdd_mpu: 912 <--> 1375 mV at 1137 mV
    [    1.574046] vdd_mpu: supplied by vbat
    [    1.580636] vdd_core: 912 <--> 1150 mV at 1137 mV
    [    1.586078] vdd_core: supplied by vbat
    [    1.592415] vdd3: 5000 mV
    [    1.597816] vdig1: at 1800 mV
    [    1.601410] vdig1: supplied by vbat
    [    1.607632] vdig2: at 1800 mV
    [    1.611222] vdig2: supplied by vbat
    [    1.617437] vpll: at 1800 mV
    [    1.620947] vpll: supplied by vbat
    [    1.627090] vdac: at 1800 mV
    [    1.630587] vdac: supplied by vbat
    [    1.636722] vaux1: at 1800 mV
    [    1.640323] vaux1: supplied by vbat
    [    1.646551] vaux2: at 3300 mV
    [    1.650149] vaux2: supplied by vbat
    [    1.656391] vaux33: at 3300 mV
    [    1.660075] vaux33: supplied by vbat
    [    1.666399] vmmc: 1800 <--> 3300 mV at 3300 mV
    [    1.671556] vmmc: supplied by vbat
    [    1.676943] i2c i2c-0: of_i2c: modalias failure on /ocp/i2c@44e0b000/audio@1B
    [    1.684846] i2c i2c-0: of_i2c: modalias failure on /ocp/i2c@44e0b000/rtc@51
    [    1.692557] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 200 kHz
    [    1.699839] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [    1.707401] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [    1.802764] mmc0: new high speed SDHC card at address b368
    [    1.809635] mmcblk0: mmc0:b368 USD   7.45 GiB
    [    1.816561]  mmcblk0: p1 p2
    [    1.823624] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.830365] davinci_mdio 4a101000.mdio: detected phy mask fffffff5
    [    1.838666] libphy: 4a101000.mdio: probed
    [    1.843220] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
    [    1.851990] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.861723] Detected MACID = d0:ff:50:2a:1c:e3
    [    1.869255] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
    [    1.893946] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.902883] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
    [    1.913439] devtmpfs: mounted
    [    1.917616] Freeing unused kernel memory: 344K (c074b000 - c07a1000)
    INIT: version 2.88 booting
    Starting udev
    [    2.655669] udevd[819]: starting version 182
    [    2.983062] PM: CM3 Firmware Version = 0x186
    [    3.121075] tsl2550 0-0052: standard operating mode
    [    3.580062] CAN device driver interface
    [    3.744527] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
    [    7.026735] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    7.107789] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [    7.186129] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [    7.245928] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [    7.302187] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    7.309757] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    7.317700] usb usb1: Product: MUSB HDRC host driver
    [    7.323231] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [    7.330519] usb usb1: SerialNumber: musb-hdrc.0.auto
    [    7.504598] hub 1-0:1.0: USB hub found
    [    7.522234] hub 1-0:1.0: 1 port detected
    [    7.545886] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [    7.575352] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [    7.593892] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [    7.612460] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [    7.620042] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    7.627979] usb usb2: Product: MUSB HDRC host driver
    [    7.633540] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [    7.640807] usb usb2: SerialNumber: musb-hdrc.1.auto
    [    7.668178] hub 2-0:1.0: USB hub found
    [    7.672543] hub 2-0:1.0: 1 port detected
    [    7.856955] cryptodev: driver 1.6 loaded.
    Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
    bootlogd.
    [    7.985301] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    ALSA: Restoring mixer settings...
    /usr/sbin/alsactl: load_state:1696: No soundcards found...
    Configuring network interfaces... [    9.081801] net eth0: initializing cpsw version 1.12 (0)
    [    9.090094] net eth0: phy found : id is : 0x20005c90
    [    9.095876] net eth0: phy found : id is : 0x20005c90
    [    9.111934] 8021q: adding VLAN 0 to HW filter on device eth0
    udhcpc (v1.20.2) started
    Sending discover...
    [   11.083984] libphy: 4a101000.mdio:03 - Link is Up - 0/Half
    [   11.094102] libphy: 4a101000.mdio:03 - Link is Down
    Sending discover...
    Sending discover...
    No lease, failing
    done.
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Mon Mar 31 02:34:00 UTC 2014
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    UIM SYSFS Node Not Found
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting PVR
    Starting Lighttpd Web Server: lighttpd.
    2014-03-31 02:34:01: (log.c.166) server started
    /
    Starting Matrix GUI application.
    ERROR: could not insert 'g_mass_storage': No such device
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the followin GPLv3 packages:
            binutils-symlinks
            binutils
            gdbserver
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    Stopping Bootlog daemon: bootlogd.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org am335x-evm ttyO0
    
    Arago 2013.12 am335x-evm ttyO0
    
    am335x-evm login:
    

    1) I see in the logs:

    [    1.549073] vrtc: 1800 mV
    [    1.552632] vrtc: supplied by vbat

    So since we're not using the RTC should we actually not be powering this regulator?

    2) Does this have anything to do with the RTC in the device tree? (I named my RTC node rtc0 with a label)

    [    1.869255] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

    3) It looks like "hwclock" is still trying to access the RTC, could you point out where this is so that I can prevent that as well, or should the previous fix have prevented this driver from trying to access the RTC? 

    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Mon Mar 31 02:34:00 UTC 2014
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    UIM SYSFS Node Not Found
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    

    Thanks!

    Mike

  • Hello,

    I am referring specifically to the status line, marking the ti,hwmods entry as disabled will not have any effect here.

    The usage of vrtc is determined by the design of your board and which PMIC you have in use, I cannot comment on whether or not you need it. There are other discussions on this forum about vrtc with the TPS65910 which may be able to help you out.

    I would recommend building without CONFIG_RTC_HCTOSYS, you can do this with menuconfig under Device Drivers > Real Time Clock > Set system time from RTC on startup and resume. That should prevent that driver from being built in, although that error is a graceful failure and should not have any effect on the system.

    The hwclock failure is in userspace and has to do with your rootfs, in the TI rootfs it is run by /etc/init.d/hwclock.sh, so you would need to prevent that.