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.

Linux 3.12 on AM335x / Beaglebone

Other Parts Discussed in Thread: DA8XX, TPS65217, OMAP3530, DAC7512, PMP, TCA6416, TCA8418, LM8323, LM8333, ADS7846, TSC2005, TSC2007, TWL6040, PCF8574, TPS65910, BQ27000, LP8727, BQ24190, LM63, LM70, LM73, LM77, LM80, LM83, LM87, LM90, LM92, LM93, LM95234, LM95241, LM95245, ADS1015, ADS7828, ADS7871, AMC6821, INA209, TMP102, TMP401, TMP421, DRA752, TPS65010, TPS65090, TPS65218, TPS65912, LM3533, LP3971, LP3972, TPS51632, TPS62360, TPS65023, TVP5150, TVP7002, THS8200, THS7303, TFP410, TPD12S015, LM3630, LM3639, TWL6030, LM3530, LM3642, LP3944, LP5521, LP5523, LP5562, LP8501, DAC124S085, TCA6507, BQ24735, LP3943, LM3560, LM3630A

Just downloaded the latest SDK release from TI (Linux 3.12)

When I cross-compiled it and load it to BeagleBone Black board, I get the following error, Any ideas?

+++++++++++++++++++
## Booting kernel from Legacy Image at 815f0000 ...
   Image Name:   Linux-3.12.10-ti2013.12.01
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4387592 Bytes = 4.2 MiB
   Load Address: 815f0000
   Entry Point:  815f0000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

undefined instruction
pc : [<815f0008>]          lr : [<9f74e184>]
sp : 9f62cd70  ip : ffffffff     fp : 9f7a33dc
r10: 00000000  r9 : 9f62cf28     r8 : 9f6331cc
r7 : 00000000  r6 : 815f0000     r5 : 9f7a7248  r4 : 00000000
r3 : 9f62cfe0  r2 : 80000100     r1 : 00000e05  r0 : 9f62cfe0
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32
Resetting CPU ...

resetting ...
++++++++++++++++++++

Thanks

  • Hello,

    Can you give me the commands that you used to build the kernel?  Did you make the dtbs, as well?  What is the mechanism in u-boot you are using to load your newly built kernel?

    Josh

  • If you can also provide a complete log showing all the text seen as soon as you powered on the board until you run into that kernel message.

  • Hi Josh,

    I have a BeagleBone Black board, I downloaded am335x-evm-sdk-src-07.00.00.00.tar.gz, and cross-compiled linux-3.12.10-ti2013.12.01 as:

     make ARCH=arm tisdk_am335x-evm_defconfig

    make LOADADDR=0x80008000 ARCH=arm -j4 uImage dtbs

    Then I used tftp it to BeagleBone Black board as:

    setenv autoload no

    dhcp

    setenv serverip 192.168.100.20

    tftp 0x80008000 uImage

    setenv bootargs console=ttyO0,115200n8 root=/dev/nfs rw nfsroot=192.168.100.20:/home/rootfs ip=dhcp

    bootm 0x80008000

    I get error message:

    data abort

        MAYBE you should read doc/README.arm-unaligned-accesses

    pc : [<9f766ba0>]          lr : [<9f755060>]
    sp : 9f632da8  ip : 9f63930c     fp : 9f7a3844
    r10: 00000000  r9 : 9f632f38     r8 : 9f6392f4
    r7 : 00000001  r6 : 00080000     r5 : 0000070f  r4 : 9f7a4010
    r3 : 00000000  r2 : 00000010     r1 : 00000000  r0 : 00080000
    Flags: nZCv  IRQs off  FIQs on  Mode SVC_32
    Resetting CPU ...

    resetting ...

    Do you know what's wrong with it?

    Thanks!

    desmond

  • Hello Desmond,

    You should build zImage and use omap2plus_defconfig with SDK 7.0.  For example:

    make ARCH=arm omap2plus_defconfig

    make ARCH=arm zImage

    make ARCH=arm dtbs

    You can load the kernel and dtb in u-boot using the bootz command.

    Josh

  • Just to add on top of Josh's response. We have switched to using zImage instead of uImage by default. Also you are tftping the kernel image but you also need to tftp the device tree file for the board. For the Beaglebone Black this would be am335x-boneblack.dtb.

  • Thank you! Josh and Franklin!

    I have another issue, when I use

    cat /sys/power/state

    Usually I should get

    mem standby

    But now I only get

    freeze

    If I use the command

    echo -n freeze > /sys/power/state

    I get the following message:

    [   64.729311] PM: Syncing filesystems ... done.
    [   64.734754] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [   64.743222] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [   64.752105] Suspending console(s) (use no_console_suspend to debug)

    When I press power button on the BeagleBone Black board, the BeagleBone does not wake up, do you know why.

    Thank you in advance.

    desmond

     

  • Hi Desmond,

    I just ran cat /sys/power/state and I see "freeze standby mem"


    We don't currently support freeze. That option shouldn't appear since it isn't supported.

  • 8015.bbb_config.doc

    Hi Franklin,

    Thank you for your reply. Could you check my .config file and bootup message because I cannot get "mem standby" from command "cat /sys/power/state"

    U-Boot 2013.10-dirty (Mar 04 2014 - 11:04:05)

     

    I2C:   ready

    DRAM:  512 MiB

    WARNING: Caches not enabled

    NAND:  0 MiB

    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1

    *** Warning - readenv() failed, using default environment

     

    Net:   <ethaddr> not set. Validating first E-fuse MAC

    cpsw, usb_ether

    Hit any key to stop autoboot:  0

    gpio: pin 53 (gpio 53) value is 1

    mmc0 is current device

    gpio: pin 54 (gpio 54) value is 1

    SD/MMC found on device 0

    reading uEnv.txt

    1425 bytes read in 4 ms (347.7 KiB/s)

    Importing environment from mmc ...

    gpio: pin 55 (gpio 55) value is 1

    Checking if uenvcmd is set ...

    gpio: pin 56 (gpio 56) value is 1

    Running uenvcmd ...

    reading zImage

    4150424 bytes read in 395 ms (10 MiB/s)

    reading initrd.img

    1331224 bytes read in 129 ms (9.8 MiB/s)

    reading /dtbs/am335x-boneblack.dtb

    34352 bytes read in 13 ms (2.5 MiB/s)

    Kernel image @ 0x80200000 [ 0x000000 - 0x3f5498 ]

    ## Flattened Device Tree blob at 815f0000

       Booting using the fdt blob at 0x815f0000

       Using Device Tree in place at 815f0000, end 815fb62f

     

    Starting kernel ...

     

    [    0.000000] Booting Linux on physical CPU 0x0

    [    0.000000] Linux version 3.12.10-ti2013.12.01 (root@gis-desmond.interfleet) (gcc version 4.8.2 20130624 (prerelease) (cr4

    [    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 BeagleBone

    [    0.000000] cma: CMA: reserved 24 MiB at 9e000000

    [    0.000000] Memory policy: ECC disabled, Data cache writeback

    [    0.000000] CPU: All CPU(s) started in SVC mode.

    [    0.000000] AM335X ES2.0 (sgx neon )

    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129280

    [    0.000000] Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN root=/dev/m=

    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)

    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

    [    0.000000] Memory: 481964K/521216K available (5619K kernel code, 559K rwdata, 1892K rodata, 346K init, 225K bss, 39252K )

    [    0.000000] Virtual kernel memory layout:

    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)

    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)

    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)

    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)

    [    0.000000]       .text : 0xc0008000 - 0xc075e014   (7513 kB)

    [    0.000000]       .init : 0xc075f000 - 0xc07b58d0   ( 347 kB)

    [    0.000000]       .data : 0xc07b6000 - 0xc0841f18   ( 560 kB)

    [    0.000000]        .bss : 0xc0841f18 - 0xc087a5b0   ( 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] 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.000252] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)

    [    0.049784] pid_max: default: 32768 minimum: 301

    [    0.049870] Security Framework initialized

    [    0.049911] Mount-cache hash table entries: 512

    [    0.055827] CPU: Testing write buffer coherency: ok

    [    0.056153] Setting up static identity map for 0xc0582990 - 0xc0582a00

    [    0.056845] devtmpfs: initialized

    [    0.058389] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3

    [    0.118136] omap_hwmod: debugss: _wait_target_disable failed

    [    0.118735] pinctrl core: initialized pinctrl subsystem

    [    0.119445] regulator-dummy: no parameters

    [    0.121486] NET: Registered protocol family 16

    [    0.123201] DMA: preallocated 256 KiB pool for atomic coherent allocations

    [    0.125233] cpuidle: using governor ladder

    [    0.125250] cpuidle: using governor menu

    [    0.131703] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!

    [    0.132577] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!

    [    0.133557] OMAP GPIO hardware version 0.1

    [    0.140032] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!

    [    0.141607] DSS not supported on this SoC

    [    0.141622] No ATAGs?

    [    0.141632] hw-breakpoint: debug architecture 0x4 unsupported.

    [    0.159602] bio: create slab <bio-0> at 0

    [    0.171250] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver

    [    0.171918] vmmcsd_fixed: 3300 mV

    [    0.174018] vgaarb: loaded

    [    0.175010] SCSI subsystem initialized

    [    0.176047] usbcore: registered new interface driver usbfs

    [    0.176189] usbcore: registered new interface driver hub

    [    0.176341] usbcore: registered new device driver usb

    [    0.177065] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe

    [    0.177088] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral

    [    0.177259] media: Linux media interface: v0.10

    [    0.177390] Linux video capture interface: v2.00

    [    0.177584] pps_core: LinuxPPS API ver. 1 registered

    [    0.177592] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

    [    0.177689] PTP clock support registered

    [    0.179744] Switched to clocksource timer1

    [    0.194570] NET: Registered protocol family 2

    [    0.195074] TCP established hash table entries: 4096 (order: 3, 32768 bytes)

    [    0.195144] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)

    [    0.195183] TCP: Hash tables configured (established 4096 bind 4096)

    [    0.195239] TCP: reno registered

    [    0.195250] UDP hash table entries: 256 (order: 0, 4096 bytes)

    [    0.195265] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

    [    0.195419] NET: Registered protocol family 1

    [    0.195748] RPC: Registered named UNIX socket transport module.

    [    0.195759] RPC: Registered udp transport module.

    [    0.195764] RPC: Registered tcp transport module.

    [    0.195769] RPC: Registered tcp NFSv4.1 backchannel transport module.

    [    0.196415] Trying to unpack rootfs image as initramfs...

    [    0.264820] Freeing initrd memory: 1300K (c1000000 - c1145000)

    [    0.265006] NetWinder Floating Point Emulator V0.97 (double precision)

    [    0.265713] PM: Loading am335x-pm-firmware.bin

    [    0.379083] VFS: Disk quotas dquot_6.5.2

    [    0.379140] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

    [    0.379624] NFS: Registering the id_resolver key type

    [    0.379692] Key type id_resolver registered

    [    0.379699] Key type id_legacy registered

    [    0.379731] jffs2: version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.

    [    0.379945] msgmni has been set to 991

    [    0.381186] NET: Registered protocol family 38

    [    0.381221] io scheduler noop registered

    [    0.381228] io scheduler deadline registered

    [    0.381246] io scheduler cfq registered (default)

    [    0.382818] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568

    [    0.386672] platform 4830e000.lcdc: Driver da8xx_lcdc requests probe deferral

    [    0.387931] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled

    [    0.390181] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0

    [    1.007725] console [ttyO0] enabled

    [    1.012821] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20

    [    1.027656] brd: module loaded

    [    1.035078] loop: module loaded

    [    1.041021] mtdoops: mtd device (mtddev=name/number) must be supplied

    [    1.050487] usbcore: registered new interface driver asix

    [    1.056326] usbcore: registered new interface driver ax88179_178a

    [    1.062853] usbcore: registered new interface driver cdc_ether

    [    1.069117] usbcore: registered new interface driver r815x

    [    1.075004] usbcore: registered new interface driver smsc95xx

    [    1.081173] usbcore: registered new interface driver net1080

    [    1.087252] usbcore: registered new interface driver cdc_subset

    [    1.093581] usbcore: registered new interface driver zaurus

    [    1.099625] usbcore: registered new interface driver cdc_ncm

    [    1.105970] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

    [    1.112843] ehci-pci: EHCI PCI platform driver

    [    1.117669] ehci-omap: OMAP-EHCI Host Controller driver

    [    1.123844] usbcore: registered new interface driver cdc_wdm

    [    1.129964] usbcore: registered new interface driver usb-storage

    [    1.137113] mousedev: PS/2 mouse device common for all mice

    [    1.145261] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0

    [    1.153361] i2c /dev entries driver

    [    1.157438] Driver for 1-wire Dallas network protocol.

    [    1.164729] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec

    [    1.173423] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25

    [    1.180675] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24

    [    1.220065] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3

    [    1.227109] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2

    [    1.267199] mmc0: host does not support reading read-only switch. assuming write-enable.

    [    1.277756] ledtrig-cpu: registered to indicate activity on CPUs

    [    1.284201] mmc0: new high speed SDHC card at address 1234

    [    1.290479] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36

    [    1.297648] omap-sham 53100000.sham: hw accel on OMAP rev 4.3

    [    1.304039] mmcblk0: mmc0:1234 SA04G 3.63 GiB

    [    1.310468] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2

    [    1.316661]  mmcblk0: p1 p2

    [    1.320484] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5

    [    1.327541] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6

    [    1.339214] usbcore: registered new interface driver usbhid

    [    1.345141] usbhid: USB HID core driver

    [    1.351260] oprofile: no performance counters

    [    1.356285] oprofile: using timer interrupt.

    [    1.361093] TCP: cubic registered

    [    1.364581] Initializing XFRM netlink socket

    [    1.370109] NET: Registered protocol family 17

    [    1.374814] NET: Registered protocol family 15

    [    1.379515] 8021q: 802.1Q VLAN Support v1.8

    [    1.385998] Key type dns_resolver registered

    [    1.391068] cpu cpu0: cpu0 regulator not ready, retry

    [    1.396386] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral

    [    1.404577] PM: CM3 Firmware Version 181 not supported

    [    1.410291] ThumbEE CPU extension supported.

    [    1.423112] DCDC1: at 1500 mV

    [    1.427196] vdd_mpu: 925 <--> 1375 mV at 1325 mV

    [    1.432225] mmc1: BKOPS_EN bit is not set

    [    1.437435] vdd_core: 925 <--> 1150 mV at 1125 mV

    [    1.443212] mmc1: new high speed MMC card at address 0001

    [    1.449127] LDO1: at 1800 mV

    [    1.452656] mmcblk1: mmc1:0001 MMC02G 1.78 GiB

    [    1.457887] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB

    [    1.464310] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB

    [    1.470711] LDO2: at 3300 mV

    [    1.475654]  mmcblk1: p1 p2

    [    1.478905] LDO3: 1800 mV

    [    1.482836] LDO4: at 3300 mV

    [    1.487402]  mmcblk1boot1: unknown partition table

    [    1.492529] tps65217 0-0024: TPS65217 ID 0xe version 1.2

    [    1.499928]  mmcblk1boot0: unknown partition table

    [    1.621893] tda998x 0-0070: found TDA19988

    [    1.626615] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz

    [    1.695279] Console: switching to colour frame buffer device 160x45

    [    1.769786] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6

    [    1.776196] davinci_mdio 4a101000.mdio: detected phy mask fffffffe

    [    1.787101] libphy: 4a101000.mdio: probed

    [    1.791414] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720

    [    1.801787] Detected MACID = c8:a0:30:b1:04:27

    [    1.807945] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)

    [    1.820185] Freeing unused kernel memory: 344K (c075f000 - c07b5000)

    Loading, please wait...

    [    1.891500] udevd[796]: starting version 175

    Begin: Loading essential drivers ... done.

    Begin: Running /scripts/init-premount ... done.

    Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.

    Begin: Running /scripts/local-premount ... done.

    [    2.444253] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem

    [    2.452003] EXT4-fs (mmcblk0p2): write access will be enabled during recovery

    [    5.254621] EXT4-fs (mmcblk0p2): recovery complete

    [    5.951654] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)

    Begin: Running /scripts/local-bottom ... done.

    done.

    Begin: Running /scripts/init-bottom ... done.

    INIT: version 2.88 booting

    [info] Using makefile-style concurrent boot in runlevel S.

    [....] Starting the hotplug events dispatcher: udevd[    6.949180] udevd[987]: starting version 175

    . ok

    [....] Synthesizing the initial hotplug events...done.

    [....] Waiting for /dev to be fully populated...done.

    [....] Activating swap...done.

    [    8.833323] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)

    [....] Cleaning up temporary files... /tmp. ok

    [....] Activating lvm and md swap...done.

    [....] Checking file systems...fsck from util-linux 2.20.1

    done.

    [....] Mounting local filesystems...done.

    [....] Activating swapfile swap...done.

    [....] Cleaning up temporary files.... ok

    [....] Setting kernel variables ...done.

    [....] Configuring network interfaces...done.

    [....] Cleaning up temporary files.... ok

    INIT: Entering runlevel: 1

    [info] Using makefile-style concurrent boot in runlevel 1.

    [....] Asking all remaining processes to terminate...done.

    [....] All processes ended within 1 seconds....done.

    INIT: Going single user

    INIT: Sending processes the TERM signal

    Give root password for maintenance

    (or type Control-D to continue):

    root@arm:~# uname -a

    Linux arm 3.12.10-ti2013.12.01 #2 Tue Apr 1 15:16:18 EDT 2014 armv7l GNU/Linux

    root@arm:~# cat /sys/power/state

    freeze

     

  • You are missing the CM3 firmware (am335x-pm-firmware.bin) which is used for power management. It should be located at /lib/firmware/. The simplest thing to do would be to grab the file from the SDK filesystem.

    Looking at your u-boot and filesystem it looks like you are using something from the Beagle Community and trying to grab the latest kernel from our SDK. Your most likely are going to miss some critical files/scripts in the filesystem and patches to U-boot.

    I would recommend that you use our U-boot and filesystem also or wait until an official community supported release has been made that fixes this issue and perhaps other issues that may be discovered.

  • Hi Franklin,

    I downloaded am335x-pm-firmware.bin from the following website:

    https://gitorious.org/am335x/am33x-cm3/source/6ac23e7494712b0f0fb501fb313918405b94d07c:bin/am335x-pm-firmware.bin

    In the Linux kernel .config file, I set the am335x-pm-firmware.bin as built-in mode:

    CONFIG_FIRMWARE_IN_KERNEL=y
    CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.bin"
    CONFIG_EXTRA_FIRMWARE_DIR="firmware"

    Therefore when I use command:

    cat  /sys/power/state

    The file system should not look for am335x-pm-firmware.bin from /lib/firmware. Actually I also put the am335x-pm-firmware.bin in the /lib/firmware in my file system.

    If possible supply me the am335x-pm-firmware.bin from you because in the package am335x-evm-sdk-src-07.00.00.00.tar.gz, I cannot find am335x-pm-firmware.bin.

    Thanks!

    desmond

  • The am335x-evm-sdk-bin-07.00.00.00.tar.gz tarball contains the SDK filesystem. If you download that you can grab the firmware file.

  • Hi Franklin,

    After I grab am335x-pm-firmware.bin from am335x-evm-sdk-bin-07.00.00.00.tar.gz, I make the power management work on BeagleBone Black.

    But I have a problem to wake up my BeagleBone from standby by pressing power button as shown in the following picture. In the BeagleBone the PMIC is TPS65217C from TI.

    I can wake the BeagleBone up by pressing any key on the console, but I cannot wake up the BeagleBone by pressing power button on the BeagleBone.

    When I check the source code of wkup.c, I found there are several wakeup sources as illustrated in the following:

    linux-3.12.10-ti2013.12.01/arch/arm/mach-omap2/wkup_m3.c

    struct wkup_m3_wakeup_src wakeups[] = {
        {.irq_nr = 35,  .src = "USB0_PHY"},
        {.irq_nr = 36,  .src = "USB1_PHY"},
        {.irq_nr = 40,  .src = "I2C0"},
        {.irq_nr = 41,  .src = "RTC Timer"},
        {.irq_nr = 42,  .src = "RTC Alarm"},
        {.irq_nr = 43,  .src = "Timer0"},
        {.irq_nr = 44,  .src = "Timer1"},
        {.irq_nr = 45,  .src = "UART"},
        {.irq_nr = 46,  .src = "GPIO0"},
        {.irq_nr = 48,  .src = "MPU_WAKE"},
        {.irq_nr = 49,  .src = "WDT0"},
        {.irq_nr = 50,  .src = "WDT1"},
        {.irq_nr = 51,  .src = "ADC_TSC"},
        {.irq_nr = 0,   .src = "Unknown"},
    };

    Could you give me any hint or clue about this wakeup issue?

    Thank you!

    desmond

  • Hi Franklin,

    According to "AM335x Power Management Standby User's Guide" on the website:

    http://processors.wiki.ti.com/index.php/AM335x_Power_Management_Standby_User%27s_Guide

    I have tried several wakeup methods on the BeagleBone Black board by using  linux-3.12.10-ti2013.12.01 from TI, they work fine:

    1. RTC wakeup

    rtcwake -d /dev/rtc0 -m standby -s 5

    rtcwake: wakeup from "standby" using /dev/rtc0 at Sat Jan  1 00:06:39 2000

    [  385.736094] PM: Syncing filesystems ... done.

    [  385.741369] Freezing user space processes ... (elapsed 0.001 seconds) done.

    [  385.749831] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.

    [  385.758743] Suspending console(s) (use no_console_suspend to debug)

    [  385.778348] PM: suspend of devices complete after 12.603 msecs

    [  385.778355] PM: suspend devices took 0.010 seconds

    [  385.778664] PM: late suspend of devices complete after 0.301 msecs

    [  385.779177] PM: noirq suspend of devices complete after 0.499 msecs

    [  385.779238] PM: Successfully put all powerdomains to target state

    [  385.779238] PM: Wakeup source RTC Alarm

    [  385.793083] PM: noirq resume of devices complete after 13.790 msecs

    [  385.793459] PM: early resume of devices complete after 0.244 msecs

    [  385.928380] PM: resume of devices complete after 134.896 msecs

    [  385.928748] PM: resume devices took 0.130 seconds

    [  385.987579] Restarting tasks ... done.

     

    2. MMC/SD wake

    echo -n standby > /sys/power/state

    [  495.310187] PM: Syncing filesystems ... done.

    [  495.315586] Freezing user space processes ... (elapsed 0.001 seconds) done.

    [  495.324050] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.

    [  495.332963] Suspending console(s) (use no_console_suspend to debug)

    [  495.358308] PM: suspend of devices complete after 18.342 msecs

    [  495.358314] PM: suspend devices took 0.020 seconds

    [  495.358642] PM: late suspend of devices complete after 0.316 msecs

    [  495.359146] PM: noirq suspend of devices complete after 0.491 msecs

    [  495.359205] PM: Successfully put all powerdomains to target state

    [  495.359205] PM: Wakeup source GPIO0

    [  495.373073] PM: noirq resume of devices complete after 13.811 msecs

    [  495.373376] PM: early resume of devices complete after 0.230 msecs

    [  495.414626] mmc0: error -110 during resume (card was removed?)

    [  495.488401] PM: resume of devices complete after 115.008 msecs

    [  495.488848] PM: resume devices took 0.110 seconds

    [  495.553456] Restarting tasks ... done.

    [  495.560108] mmc0: card 1234 removed

    3. UART wakeup

    echo -n standby > /sys/power/state

     [   53.129710] PM: Syncing filesystems ... done.
    [   53.135140] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [   53.143547] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [   53.152554] Suspending console(s) (use no_console_suspend to debug)
    [   53.165671] PM: suspend of devices complete after 6.151 msecs
    [   53.165677] PM: suspend devices took 0.010 seconds
    [   53.165988] PM: late suspend of devices complete after 0.300 msecs
    [   53.166489] PM: noirq suspend of devices complete after 0.489 msecs
    [   53.166547] PM: Successfully put all powerdomains to target state
    [   53.166547] PM: Wakeup source UART
    [   53.180554] PM: noirq resume of devices complete after 13.960 msecs
    [   53.180846] PM: early resume of devices complete after 0.223 msecs
    [   53.318370] PM: resume of devices complete after 137.501 msecs
    [   53.318749] PM: resume devices took 0.130 seconds
    [   53.377038] Restarting tasks ... done.

     If possible to wake up BeagleBone Black by pressing power button (S3 on the BeagleBone board)? or on someday you add this feature to power management?

    Thank you!

    desmond

  • Hi Desmond,

    I would need to check the Beaglebone Black schematics but in general only certain peripherals and GPIOs that are apart of GPIO0 can wake the am335x from a sleep state. I do not believe the there was a plan to use the power button to wake the board from a sleep state thus it is most likely a hardware limitation rather than a software limitation.


    I'll need to double check.

  • Hi Franklin,

    Thank you very much for your reply.

    I just check the schematics of BeagleBone Black:

    The power button is connected to momentary push button of TPS65217C

    The PMIC_INT of TPS65217C is connected to NMI of AM335X

    The WAKEUP of TPS65217C is connected to EXT_WAKEUP of AM335X

    desmond

  • If you take a look at S3 on the BBB Schematic (https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SCH.pdf?raw=true) you will see that the pin goes directly to the PMIC's (TPS65217C) PB_IN pin.

    Looking at the PMIC's datasheet (http://www.ti.com/lit/gpn/tps65217c)  this pin is simply used to reset the SOC and doesn't have the capability to wake up the chip.

  • Hi Franklin,

    Thank you for your invaluable help.

    I have another question, do you know what MPU_WAKE means?

    linux-3.12.10-ti2013.12.01/arch/arm/mach-omap2/wkup_m3.c

    struct wkup_m3_wakeup_src wakeups[] = {
        {.irq_nr = 35,  .src = "USB0_PHY"},
        {.irq_nr = 36,  .src = "USB1_PHY"},
        {.irq_nr = 40,  .src = "I2C0"},
        {.irq_nr = 41,  .src = "RTC Timer"},
        {.irq_nr = 42,  .src = "RTC Alarm"},
        {.irq_nr = 43,  .src = "Timer0"},
        {.irq_nr = 44,  .src = "Timer1"},
        {.irq_nr = 45,  .src = "UART"},
        {.irq_nr = 46,  .src = "GPIO0"},
        {.irq_nr = 48,  .src = "MPU_WAKE"},
        {.irq_nr = 49,  .src = "WDT0"},
        {.irq_nr = 50,  .src = "WDT1"},
        {.irq_nr = 51,  .src = "ADC_TSC"},
        {.irq_nr = 0,   .src = "Unknown"},
    };

    desmond

  • 8078.BBB_SCH.pdf

    Hi Franklin,

    After I discussed the power management issue on BeagleBone Black board with the senior hardware engineer at our company, he checked the BeagleBone board schematics at the attached file, and he said that the AM335x can be waken up by pressing power button as shown in the following picture:

    Could you please check if you can add the wakeup feature in the power management of Am335x processor because our company needs this feature to wake up the AM335X processor. The software engineers at TI have a lot of experiences for AM335X processor. Therefore it would be easy for you to add this feature in the power management.

    Thank you so much.

    desmond

  • There are a finite amount of triggers that can wakeup AM335x from sleep.

    The below comes from page 873 of the TRM.

    Wakeup Sources/Events

    Following events will wake up the device from Deep sleep(low power) modes. These are part of the

    Wakeup Power domain and remain always ON.

    Note: For differences in operation based on AM335x silicon revision, see Section 1.2, Silicon Revision

    Functional Differences and Enhancements.

    • GPIO0 bank

    • dmtimer1_1ms (timer based wakeup)

    • USB2PHY (USB resume signaling from suspend) – Both USB ports supported.

    • TSC (touch screen controller, ADC monitor functions )

    • UART0 (Infra-red support)

    • I2C0

    • RTC alarm

    These wake events apply on any of the deep sleep modes and standby mode.

    While your engineer was right about the PB_IN can technically be used to send a wake-up interrupt from the PMIC this would require (PMIC_INT) to be connected to the GPIO0 bank which is not the case for the Beaglebone Black.

  • Hi Franklin,

    Thank you for your reply. I really appreciate it.

    I have a question which needs to be confirmed, that is:

    We connect PMIC_INT of TPS65217C to the pin of NMI of AM335X MPU, is it possible to wake up the AM335X MPU by pressing power button?

    According to datasheet of Cortex-A8 (spruh73j.pdf)

    According to "6.3 ARM Cortex-A* Interrupts (page 212)" , the NMI is interrupt number 7, external pin (active low), we connect PMIC_INT to NMI.

    desmond

  • 6874.BBB_SCH.pdf

    Hi Franklin,

    Sorry to ask you again. Our product design connects PMIC_INT of TPS65217C to the NMI of AM335X as like BeagleBone Black design shown in the following picture.

    According to the data sheet of AM335x ARM Cortex-A8 (spruh73j.pdf), page 873 lists the wakeup sources/events as illustrated in the following picture:

    Is it possible in the next version of Silicon Revision Functional Differences and Enhancements, Add NMI as  Wakeup for DeepSleep Modes?

    Our product needs that mode to wake up from DeepSleep/Standby modes.

    Thank you and look forward to your reply.

    desmond

  • Hi Franklin,

    I have another question to ask. We are using the TI Sitara AM3356BZCZ processor for our new product. For power management part we design it as BeagleBone Black. According to "AM335x ARM® Cortex™-A8 Microprocessors
    (MPUs) Technical Reference Manual" (spruh73j.pdf), we design power management as RTC-only mode (page: 870 - 871 of spruh73j.pdf). Is it possible use software to implement wakeup from SDRAM/DDR instead of a full cold boot?

    Thank you in advance!

    Desmond

  • If I understand correctly you are wanting to be in RTC-only mode and wake from DRAM?

    This is not possible because all of the DRAM contents are lost when entering RTC-only mode. (described in sec. 8.1.4.3.5). The device must go through a full cold start when waking from RTC-only.

    Jamie

  • Hi Jamie,

    Thank you very much.

    desmond

  • Hi Franklin,

    I am testing USB on BeagleBone Black with package am335x-evm-sdk-src-07.00.00.00.tar.gz, it seems the linux kernel from TI ( board-support/linux-3.12.10-ti2013.12.01) does not work with USB, could you please check it?

    Thanks!

    desmond

  • Can you be more specific about what doesn't work? I have just booted a beaglebone black board, have a hub connected to the host port, a USB keyboard and mouse and memory stick in the hub. All work just fine. Using the pre-built file system (which loads the mass storage gadget driver), when I connect from the peripheral port to a host, I see the new drive on the host. This is with all the pre-built binaries and file system.

    Steve K.

  • Hi Steve,

    Thank you for your reply!

    I use a USB hub and a USB stick, a USB keyboard, and USB mouse, when I use board-support-bin/prebuilt-images and filesystem, the BeagleBone Black can detect USB stick, USB mouse, and USB keyboard. But we need to build our own images and modules. When I use the zImage and modules build by me, the USB host cannot detect USB stick, USB keyboard, and USB mouse like the following:

    insmod musb_am335x.ko
    insmod musb_hdrc.ko   
    insmod omap2430.ko

    insmod musb_dsps.ko
    [   42.444470] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [   42.452155] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [   42.460425] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [   42.468909] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   42.476052] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   42.483638] usb usb1: Product: MUSB HDRC host driver
    [   42.488849] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   42.495796] usb usb1: SerialNumber: musb-hdrc.0.auto
    [   42.504095] hub 1-0:1.0: USB hub found
    [   42.508073] hub 1-0:1.0: 1 port detected
    [   42.516254] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [   42.524002] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [   42.532007] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [   42.540563] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [   42.547711] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   42.555314] usb usb2: Product: MUSB HDRC host driver
    [   42.560520] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   42.567470] usb usb2: SerialNumber: musb-hdrc.1.auto
    [   42.575812] hub 2-0:1.0: USB hub found
    [   42.579788] hub 2-0:1.0: 1 port detected
    webtech@(none):~# [   43.032556] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [   43.174110] usb 2-1: New USB device found, idVendor=05e3, idProduct=0608
    [   43.181143] usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    [   43.188646] usb 2-1: Product: USB2.0 Hub
    [   43.196601] hub 2-1:1.0: USB hub found
    [   43.200939] hub 2-1:1.0: 4 ports detected
    [   43.482820] usb 2-1.2: new low-speed USB device number 3 using musb-hdrc
    [   43.589150] usb 2-1.2: device v046d pc313 is not supported (THis is USB keyboard)
    [   43.595162] hub 2-1:1.0: unable to enumerate USB device on port 2
    [   43.682837] usb 2-1.4: new low-speed USB device number 4 using musb-hdrc
    [   43.785820] usb 2-1.4: device v192f p0416 is not supported (This is USB mouse)
    [   43.791808] hub 2-1:1.0: unable to enumerate USB device on port 4
    [   44.032777] usb 2-1.3: new high-speed USB device number 5 using musb-hdrc
    [   44.140776] usb 2-1.3: device v058f p6387 is not supported  (This is USB stick)
    [   44.146842] hub 2-1:1.0: unable to enumerate USB device on port 3

    webtech@(none):~# uname -a
    Linux (none) 3.12.10-ti2013.12.01 #15 Wed Apr 16 15:46:39 EDT 2014 armv7l GNU/Linux

    Do you know what's wrong with it?

    desmond

  • Hi Steve,

    According to your suggestion, I can detect USB device now. But I have another problem, that is , I cannot wake up the Beaglebone by pressing the UBS device. I connect a USB mouse to the BeagleBone, the Beaglebone can detect it like:

    insmod musb_am335x.ko
    insmod musb_hdrc.ko   
    insmod omap2430.ko  
     insmod musb_dsps.ko
    [   47.976410] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [   47.984188] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [   47.992456] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [   48.000911] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   48.008036] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   48.015633] usb usb1: Product: MUSB HDRC host driver
    [   48.020851] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   48.027789] usb usb1: SerialNumber: musb-hdrc.0.auto
    [   48.035977] hub 1-0:1.0: USB hub found
    [   48.040032] hub 1-0:1.0: 1 port detected
    [   48.048029] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [   48.055994] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [   48.064072] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [   48.072589] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [   48.079739] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   48.087326] usb usb2: Product: MUSB HDRC host driver
    [   48.092546] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   48.099495] usb usb2: SerialNumber: musb-hdrc.1.auto
    [   48.107772] hub 2-0:1.0: USB hub found
    [   48.111823] hub 2-0:1.0: 1 port detected
    [   48.558807] usb 2-1: new low-speed USB device number 2 using musb-hdrc
    [   48.703936] usb 2-1: New USB device found, idVendor=046d, idProduct=c03d
    [   48.710986] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [   48.718475] usb 2-1: Product: USB-PS/2 Optical Mouse
    [   48.723692] usb 2-1: Manufacturer: Logitech
    [   48.739771] input: Logitech USB-PS/2 Optical Mouse as /devices/ocp.2/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/0
    [   48.756502] hid-generic 0003:046D:C03D.0001: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-musb-hdr0

    ~# ll /sys/bus/usb/devices/
    1-0:1.0 -> ../../../devices/ocp.2/47400000.usb/47401400.usb0
    2-0:1.0 -> ../../../devices/ocp.2/47400000.usb/47401c00.usb0
    2-1 -> ../../../devices/ocp.2/47400000.usb/47401c00.usb/mus1
    2-1:1.0 -> ../../../devices/ocp.2/47400000.usb/47401c00.usb0
    usb1 -> ../../../devices/ocp.2/47400000.usb/47401400.usb/mu1
    usb2 -> ../../../devices/ocp.2/47400000.usb/47401c00.usb/mu2
    ++++++++++

    Then I enable the wakeup by issuing the following commands:

    echo enabled >  /sys/bus/usb/devices/2-1/power/wakeup

    echo enabled > /sys/bus/usb/devices/usb2/power/wakeup

    Then I make the BeagleBone standby by issuing the follwoing:

    echo standby > /sys/power/state
    [  183.399163] PM: Syncing filesystems ... done.
    [  183.404517] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [  183.413034] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [  183.421975] Suspending console(s) (use no_console_suspend to debug)
    [  183.468416] PM: suspend of devices complete after 39.277 msecs
    [  183.469020] PM: late suspend of devices complete after 0.591 msecs
    [  183.469671] PM: noirq suspend of devices complete after 0.638 msecs
    [  183.469734] PM: Successfully put all powerdomains to target state

    At this moment I cannot wake the BeagleBone up by pressing the button of mouse, do you know why?

    Thank you so much!

    desmond

  • Hi Steve/Franklin,

    First I would like to express my thanks to you for your invaluable helps. Right now I have another problem, that is, I cannot wake up BeagleBone Black from USB by clicking USB mouse button, or pressing any key on keyboard, could you please give me a help again?

    Thanks!

    desmond

    insmod musb_am335x.ko
    insmod musb_hdrc.ko   
    insmod omap2430.ko  
    insmod musb_dsps.ko
    [   48.970362] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [   48.978109] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [   48.986420] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [   48.994864] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   49.002009] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   49.009586] usb usb1: Product: MUSB HDRC host driver
    [   49.014807] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   49.021755] usb usb1: SerialNumber: musb-hdrc.0.auto
    [   49.029931] hub 1-0:1.0: USB hub found
    [   49.033980] hub 1-0:1.0: 1 port detected
    [   49.042128] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [   49.049792] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [   49.057861] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [   49.066376] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [   49.073524] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   49.081105] usb usb2: Product: MUSB HDRC host driver
    [   49.086322] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   49.093269] usb usb2: SerialNumber: musb-hdrc.1.auto
    [   49.101435] hub 2-0:1.0: USB hub found
    [   49.105485] hub 2-0:1.0: 1 port detected

    [   49.561732] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [   49.703236] usb 2-1: New USB device found, idVendor=05e3, idProduct=0608
    [   49.710271] usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    [   49.717782] usb 2-1: Product: USB2.0 Hub
    [   49.725600] hub 2-1:1.0: USB hub found
    [   49.729966] hub 2-1:1.0: 4 ports detected
    [   50.012000] usb 2-1.2: new low-speed USB device number 3 using musb-hdrc
    [   50.117906] usb 2-1.2: New USB device found, idVendor=046d, idProduct=c313
    [   50.125143] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [   50.132826] usb 2-1.2: Product: USB Multimedia Keyboard
    [   50.138305] usb 2-1.2: Manufacturer: BTC
    [   50.154608] input: BTC USB Multimedia Keyboard as /devices/ocp.2/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/2-1.0
    [   50.170323] hid-generic 0003:046D:C313.0001: input: USB HID v1.10 Keyboard [BTC USB Multimedia Keyboard] on usb-musb-hdrc0
    [   50.196571] input: BTC USB Multimedia Keyboard as /devices/ocp.2/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/2-1.1
    [   50.212251] hid-generic 0003:046D:C313.0002: input: USB HID v1.10 Device [BTC USB Multimedia Keyboard] on usb-musb-hdrc.11
    [   50.462021] usb 2-1.3: new high-speed USB device number 4 using musb-hdrc
    [   50.569915] usb 2-1.3: New USB device found, idVendor=058f, idProduct=6387
    [   50.577144] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [   50.584825] usb 2-1.3: Product: Mass Storage
    [   50.589302] usb 2-1.3: Manufacturer: Generic
    [   50.593793] usb 2-1.3: SerialNumber: 6ED99D9D
    [   50.601798] usb-storage 2-1.3:1.0: USB Mass Storage device detected
    [   50.608592] scsi0 : usb-storage 2-1.3:1.0
    [   50.692028] usb 2-1.4: new low-speed USB device number 5 using musb-hdrc
    [   50.797613] usb 2-1.4: New USB device found, idVendor=046d, idProduct=c03d
    [   50.804849] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [   50.812530] usb 2-1.4: Product: USB-PS/2 Optical Mouse
    [   50.817918] usb 2-1.4: Manufacturer: Logitech
    [   50.833878] input: Logitech USB-PS/2 Optical Mouse as /devices/ocp.2/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/2
    [   50.851267] hid-generic 0003:046D:C03D.0003: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-musb-hdr0
    [   51.613911] scsi 0:0:0:0: Direct-Access     Generie  FIash Disk       8.07 PQ: 0 ANSI: 4
    [   51.627482] sd 0:0:0:0: [sda] 3930112 512-byte logical blocks: (2.01 GB/1.87 GiB)
    [   51.637390] sd 0:0:0:0: [sda] Write Protect is off
    [   51.643256] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    [   51.659157]  sda: sda1
    [   51.667181] sd 0:0:0:0: [sda] Attached SCSI removable disk

    lsusb
    Bus 002 Device 005: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
    Bus 002 Device 004: ID 058f:6387 Alcor Micro Corp. Transcend JetFlash Flash Drive
    Bus 002 Device 003: ID 046d:c313 Logitech, Inc.
    Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    echo enabled > /sys/bus/usb/devices/2-1/power/wakeup

     echo enabled > /sys/bus/usb/devices/2-1.2/power/wakeup

    echo enabled > /sys/bus/usb/devices/2-1.4/power/wakeup

    echo standby > /sys/power/state

    [ 1610.062095] PM: Syncing filesystems ... done.
    [ 1610.067454] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [ 1610.075963] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [ 1610.084897] Suspending console(s) (use no_console_suspend to debug)

  • Hi Steve/Franklin,

    Even if I use the package from TI,

    am335x-evm-sdk-bin-07.00.00.00.tar.gz/board-support-bin/filesystem
    am335x-evm-sdk-bin-07.00.00.00.tar.gz/board-support-bin/prebuilt-images

    I still cannot wake up the BeagleBone Black from USB, please take a look at the following message:

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.12.10-ti2013.12.01 (jenkins@sdit-build02) (gcc version 4.7.3 20130226 (prerelease) (crosstool4
    [    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 BeagleBone
    [    0.000000] cma: CMA: reserved 24 MiB at 9e000000
    [    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: 129280
    [    0.000000] Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN root=/dev/m=
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 482044K/521216K available (5555K kernel code, 559K rwdata, 1876K rodata, 345K init, 225K bss, 39172K )
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 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 - 0xc07a15f0   ( 346 kB)
    [    0.000000]       .data : 0xc07a2000 - 0xc082ddd8   ( 560 kB)
    [    0.000000]        .bss : 0xc082ddd8 - 0xc0866400   ( 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.000249] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
    [    0.049792] pid_max: default: 32768 minimum: 301
    [    0.049876] Security Framework initialized
    [    0.049916] Mount-cache hash table entries: 512
    [    0.055752] CPU: Testing write buffer coherency: ok
    [    0.056088] Setting up static identity map for 0xc0572e68 - 0xc0572ed8
    [    0.056774] devtmpfs: initialized
    [    0.058313] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.118003] omap_hwmod: debugss: _wait_target_disable failed
    [    0.118585] pinctrl core: initialized pinctrl subsystem
    [    0.119267] regulator-dummy: no parameters
    [    0.121303] NET: Registered protocol family 16
    [    0.123044] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.125061] cpuidle: using governor ladder
    [    0.125074] cpuidle: using governor menu
    [    0.131516] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.132346] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.133294] OMAP GPIO hardware version 0.1
    [    0.139346] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.140855] DSS not supported on this SoC
    [    0.140870] No ATAGs?
    [    0.140878] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.158510] bio: create slab <bio-0> at 0
    [    0.169266] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.169971] vmmcsd_fixed: 3300 mV
    [    0.172060] vgaarb: loaded
    [    0.173034] SCSI subsystem initialized
    [    0.174049] usbcore: registered new interface driver usbfs
    [    0.174187] usbcore: registered new interface driver hub
    [    0.174333] usbcore: registered new device driver usb
    [    0.175034] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [    0.175056] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.175223] media: Linux media interface: v0.10
    [    0.175350] Linux video capture interface: v2.00
    [    0.175543] pps_core: LinuxPPS API ver. 1 registered
    [    0.175550] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.175649] PTP clock support registered
    [    0.177642] Switched to clocksource timer1
    [    0.191619] NET: Registered protocol family 2
    [    0.192139] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.192208] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.192246] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.192298] TCP: reno registered
    [    0.192309] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.192324] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.192476] NET: Registered protocol family 1
    [    0.192793] RPC: Registered named UNIX socket transport module.
    [    0.192804] RPC: Registered udp transport module.
    [    0.192809] RPC: Registered tcp transport module.
    [    0.192814] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.193424] Trying to unpack rootfs image as initramfs...
    [    0.262613] Freeing initrd memory: 1300K (c1000000 - c1145000)
    [    0.262795] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.263506] PM: Loading am335x-pm-firmware.bin
    [    0.377949] VFS: Disk quotas dquot_6.5.2
    [    0.378013] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.378503] NFS: Registering the id_resolver key type
    [    0.378570] Key type id_resolver registered
    [    0.378577] Key type id_legacy registered
    [    0.378611] jffs2: version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.
    [    0.378763] msgmni has been set to 992
    [    0.379983] NET: Registered protocol family 38
    [    0.380016] io scheduler noop registered
    [    0.380023] io scheduler deadline registered
    [    0.380041] io scheduler cfq registered (default)
    [    0.381583] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.385333] platform 4830e000.lcdc: Driver da8xx_lcdc requests probe deferral
    [    0.386599] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.388845] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
    [    1.006471] console [ttyO0] enabled
    [    1.011269] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.025760] brd: module loaded
    [    1.032935] loop: module loaded
    [    1.038778] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.048162] usbcore: registered new interface driver asix
    [    1.053997] usbcore: registered new interface driver ax88179_178a
    [    1.060512] usbcore: registered new interface driver cdc_ether
    [    1.066758] usbcore: registered new interface driver r815x
    [    1.072635] usbcore: registered new interface driver smsc95xx
    [    1.078808] usbcore: registered new interface driver net1080
    [    1.084874] usbcore: registered new interface driver cdc_subset
    [    1.091193] usbcore: registered new interface driver zaurus
    [    1.097230] usbcore: registered new interface driver cdc_ncm
    [    1.103562] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.110432] ehci-pci: EHCI PCI platform driver
    [    1.115247] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.121401] usbcore: registered new interface driver cdc_wdm
    [    1.127494] usbcore: registered new interface driver usb-storage
    [    1.134591] mousedev: PS/2 mouse device common for all mice
    [    1.142630] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    1.150684] i2c /dev entries driver
    [    1.154736] Driver for 1-wire Dallas network protocol.
    [    1.161980] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.170638] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [    1.177882] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [    1.217948] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
    [    1.224989] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
    [    1.264903] mmc0: host does not support reading read-only switch. assuming write-enable.
    [    1.275389] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.281826] mmc0: new high speed SDHC card at address 1234
    [    1.288079] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
    [    1.295245] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.301623] mmcblk0: mmc0:1234 SA08G 7.21 GiB
    [    1.308080] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.314148] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
    [    1.321311]  mmcblk0: p1 p2
    [    1.325375] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
    [    1.336748] usbcore: registered new interface driver usbhid
    [    1.342666] usbhid: USB HID core driver
    [    1.348723] oprofile: no performance counters
    [    1.353631] oprofile: using timer interrupt.
    [    1.358454] TCP: cubic registered
    [    1.361971] Initializing XFRM netlink socket
    [    1.366479] NET: Registered protocol family 17
    [    1.372222] NET: Registered protocol family 15
    [    1.378944] 8021q: 802.1Q VLAN Support v1.8
    [    1.383413] Key type dns_resolver registered
    [    1.388478] cpu cpu0: cpu0 regulator not ready, retry
    [    1.393795] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [    1.402116] ThumbEE CPU extension supported.
    [    1.414649] DCDC1: at 1500 mV
    [    1.418869] vdd_mpu: 925 <--> 1375 mV at 1325 mV
    [    1.423862] mmc1: BKOPS_EN bit is not set
    [    1.428990] vdd_core: 925 <--> 1150 mV at 1125 mV
    [    1.434732] mmc1: new high speed MMC card at address 0001
    [    1.440572] LDO1: at 1800 mV
    [    1.444441] mmcblk1: mmc1:0001 MMC02G 1.78 GiB
    [    1.449407] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
    [    1.455770] LDO2: at 3300 mV
    [    1.458907] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
    [    1.467050] LDO3: 1800 mV
    [    1.470021]  mmcblk1: p1 p2
    [    1.474267] LDO4: at 3300 mV
    [    1.478841]  mmcblk1boot1: unknown partition table
    [    1.484043] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [    1.491239]  mmcblk1boot0: unknown partition table
    [    1.619794] tda998x 0-0070: found TDA19988
    [    1.624516] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.691619] Console: switching to colour frame buffer device 160x45
    [    1.767680] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.774091] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
    [    1.785018] libphy: 4a101000.mdio: probed
    [    1.789329] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
    [    1.799695] Detected MACID = 1c:ba:8c:f1:ba:11
    [    1.805886] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [    1.818217] Freeing unused kernel memory: 344K (c074b000 - c07a1000)
    Loading, please wait...
    [    1.898601] udevd[795]: starting version 175
    Begin: Loading essential drivers ... done.
    Begin: Running /scripts/init-premount ... done.
    Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
    Begin: Running /scripts/local-premount ... done.
    [    2.459949] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
    [    2.467675] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
    [    5.383569] EXT4-fs (mmcblk0p2): recovery complete
    [    5.395674] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    Begin: Running /scripts/local-bottom ... done.
    done.
    Begin: Running /scripts/init-bottom ... done.
    INIT: version 2.88 booting
    Starting udev
    [    6.029691] udevd[882]: starting version 182
    [    6.572916] PM: CM3 Firmware Version = 0x186
    [    8.697506] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [    8.782408] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [    8.851229] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [    8.943114] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    8.950344] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    8.957943] usb usb1: Product: MUSB HDRC host driver
    [    8.963155] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [    8.970110] usb usb1: SerialNumber: musb-hdrc.0.auto
    [    8.975706] EXT4-fs (mmcblk1p2): recovery complete
    [    8.993991] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    9.007941] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    9.034242] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    9.072180] hub 1-0:1.0: USB hub found
    [    9.112080] hub 1-0:1.0: 1 port detected
    [    9.186683] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [    9.240206] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [    9.299469] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [    9.324591] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [    9.331808] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    9.339399] usb usb2: Product: MUSB HDRC host driver
    [    9.344605] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [    9.351556] usb usb2: SerialNumber: musb-hdrc.1.auto
    [    9.466308] hub 2-0:1.0: USB hub found
    [    9.476202] hub 2-0:1.0: 1 port detected
    [    9.609018] cryptodev: driver 1.6 loaded.
    Starting Bootlog daemon: bootlogd.
    [    9.687155] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    [    9.937877] usb 2-1: new low-speed USB device number 2 using musb-hdrc
    [   10.096909] usb 2-1: New USB device found, idVendor=046d, idProduct=c03d
    [   10.104029] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [   10.111542] usb 2-1: Product: USB-PS/2 Optical Mouse
    [   10.116753] usb 2-1: Manufacturer: Logitech
    [   10.144022] input: Logitech USB-PS/2 Optical Mouse as /devices/ocp.2/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/0
    ALSA: Restoring mixer settings...
    [   10.201511] hid-generic 0003:046D:C03D.0001: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-musb-hdr0
    /usr/sbin/alsactl: load_state:1696: No soundcards found...
    Configuring network interfaces... [   10.431492] net eth0: initializing cpsw version 1.12 (0)
    [   10.439246] net eth0: phy found : id is : 0x7c0f1
    [   10.451423] 8021q: adding VLAN 0 to HW filter on device eth0
    udhcpc (v1.20.2) started
    Sending discover...
    Sending discover...
    Sending discover...
    No lease, failing
    done.
    Mon Mar 31 02:34:00 UTC 2014
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    UIM SYSFS Node Not Found
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    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.
    [   26.791695] Number of LUNs=8
    [   26.794780] Mass Storage Function, version: 2009/09/11
    [   26.800973] LUN: removable file: (no medium)
    [   26.805485] Number of LUNs=1
    [   26.812325] LUN: file: /dev/mmcblk0p1
    [   26.816237] Number of LUNs=1
    [   26.821807] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
    [   26.829254] g_mass_storage gadget: userspace failed to provide iSerialNumber
    [   26.836689] g_mass_storage gadget: g_mass_storage ready
    [   27.247242] g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
    ***************************************************************
    ***************************************************************
    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: root
    root@am335x-evm:~# uname -a
    Linux am335x-evm 3.12.10-ti2013.12.01 #1 Sun Mar 30 20:55:31 CDT 2014 armv7l GNU/Linux
    root@am335x-evm:~# lsmod
    Module                  Size  Used by
    g_mass_storage          1787  0
    usb_f_mass_storage     32479  2 g_mass_storage
    libcomposite           30114  2 usb_f_mass_storage,g_mass_storage
    configfs               19119  3 libcomposite,usb_f_mass_storage
    bufferclass_ti          5405  0
    omaplfb                11426  0
    cryptodev              31027  1
    musb_dsps               6511  0
    musb_hdrc              52593  1 musb_dsps
    snd_soc_omap            2494  0
    snd_pcm_dmaengine       2997  1 snd_soc_omap
    snd_soc_core           99221  1 snd_soc_omap
    snd_compress            7419  1 snd_soc_core
    regmap_spi              1469  1 snd_soc_core
    snd_pcm                66734  3 snd_soc_core,snd_soc_omap,snd_pcm_dmaengine
    snd_page_alloc          4843  1 snd_pcm
    snd_timer              16028  1 snd_pcm
    snd                    45368  4 snd_soc_core,snd_timer,snd_pcm,snd_compress
    soundcore               4767  1 snd
    pvrsrvkm              175491  2 bufferclass_ti,omaplfb
    musb_am335x             1199  0
    root@am335x-evm:~# ps
      PID USER       VSZ STAT COMMAND
        1 root      1324 S    init [5]
        2 root         0 SW   [kthreadd]
        3 root         0 SW   [ksoftirqd/0]
        4 root         0 SW   [kworker/0:0]
        5 root         0 SW<  [kworker/0:0H]
        6 root         0 SW   [kworker/u2:0]
        7 root         0 SW<  [khelper]
        8 root         0 SW   [kdevtmpfs]
        9 root         0 SW   [kworker/u2:1]
       44 root         0 SW   [kworker/0:1]
      240 root         0 SW<  [writeback]
      242 root         0 SW<  [bioset]
      244 root         0 SW<  [kblockd]
      335 root         0 SW<  [ata_sff]
      345 root         0 SW   [khubd]
      454 root         0 SW<  [rpciod]
      460 root         0 SW   [kworker/0:2]
      471 root         0 SW   [kswapd0]
      472 root         0 SW   [fsnotify_mark]
      473 root         0 SW<  [nfsiod]
      474 root         0 SW<  [crypto]
      536 root         0 SW<  [OMAP UART0]
      649 root         0 SW<  [kpsmoused]
      677 root         0 SW   [irq/150-mmc0]
      679 root         0 SW   [kworker/u2:2]
      692 root         0 SW   [mmcqd/0]
      730 root         0 SW<  [deferwq]
      731 root         0 SW   [irq/86-44e0b000]
      732 root         0 SW   [kworker/u2:3]
      744 root         0 SW   [mmcqd/1]
      746 root         0 SW   [mmcqd/1boot0]
      747 root         0 SW   [mmcqd/1boot1]
      843 root         0 SW<  [kworker/0:1H]
      844 root         0 SW   [jbd2/mmcblk0p2-]
      845 root         0 SW<  [ext4-rsv-conver]
      882 root      2760 S    /lib/udev/udevd -d
      973 root         0 SW<  [pvr_timer]
     1187 root         0 SW   [jbd2/mmcblk1p2-]
     1188 root         0 SW<  [ext4-rsv-conver]
     1220 root      2756 S    /lib/udev/udevd -d
     1221 root      2756 S    /lib/udev/udevd -d
     1271 root         0 SW<  [cryptodev_queue]
     1402 messageb  2304 S    /usr/bin/dbus-daemon --system
     1416 root      2016 S    /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_hos
     1419 root      1836 S    /usr/sbin/telnetd
     1428 root      1836 S    /sbin/syslogd -n -O /var/log/messages
     1431 root      1836 S    /sbin/klogd -n
     1435 nobody    2256 S    /usr/sbin/thttpd -d /srv/www -p 8080
     1487 root         0 SW<  [pvr_workqueue]
     1491 root      2892 S    /usr/sbin/lighttpd -f /etc/lighttpd.conf
     1500 root     97.9m S    /usr/bin/matrix_browser -qws http://localhost:80/
     1511 root         0 SW   [file-storage]
     1537 root      2588 S    -sh
     1538 root      1572 S    /sbin/getty 38400 tty1
     1576 root      2124 R    ps
    +++++++++++++++++++++

    desmond

  • following link may be helpful

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/333502.aspx

    Errata Note:

    Advisory 1.0.20 Boot: USB Boot ROM Code Overlapping Data in TXFIFO and RXFIFO

  • hi TI,


    i am using BBB hw

    i am using ti-sdk-am335x-evm-07.00.00.00 sdk for BBB

    tool : arm-linux-gnueabihf-gcc

    compiled u-boot and kernel

    able to boot till u-boot (using uSD card )

    kernel is build with following commands

    make ARCH=arm distclean
     
      make ARCH=arm omap2plus_defconfig

      make ARCH=arm zImage

      make ARCH=arm dtbs

    did make uImage also

    the compiled uImage is not booting using bootm command

    can plz tel me how to  boot uImage on BBB?

    regards

    Nagendra

  • Hi Josh,

    I have another question, that is, we want to make OTG act as a host, in the kernel, what I should configure? What options I should pick up?

    Thank you so much!

    desmond

  • Desmond,

    The Beaglebone has a hub downstream port connected to the OTG port, along with a FTDI chip, so there is no way to make the Beaglebone OTG act as a host port.

  • Hi Bin,

    Thank you for your reply. Our product design is based upon Beaglebone black, we connect our USB modem to the OTG, therefore we make the OTG as host to talk to USB modem. Is there any way for Linux kernel to make the OTG as host?

    Have a great day!

    desmond

  • Desmond,

    Yes, there is a way to make the port working in host mode. First ground the USB0_ID pin. Then if you use TI AM335x SDK6.0 kernel, use the following patch to configure the USB0 port to host mode.

    diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
    index 119ef2d..1eb3d5b 100644
    --- a/arch/arm/mach-omap2/board-am335xevm.c
    +++ b/arch/arm/mach-omap2/board-am335xevm.c
    @@ -2636,8 +2636,8 @@ static struct omap_musb_board_data musb_board_data = {
             * mode[4:7] = USB1PORT's mode
             * AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
             */
    -       .mode           = (MUSB_HOST << 4) | MUSB_OTG,
    +       .mode           = (MUSB_HOST << 4) | MUSB_HOST,
            .instances      = 1,
     };
    

    How USB0_VBUS and USB0_DRVVBUS are connected? Can you please show those portion of the schematics?

  • Desmond,

    I did not read the whole thread, but I guess you use 3.12 kernel. If so, please use the following patch instead to set the mode.

    diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
    index 2f64afa..4dae962 100644
    --- a/arch/arm/boot/dts/am335x-boneblack.dts
    +++ b/arch/arm/boot/dts/am335x-boneblack.dts
    @@ -62,6 +62,14 @@
            };
     };
     
    +ocp {
    +       musb: usb@47400000 {
    +               usb@47401000 {
    +                       dr_mode = "host";
    +               };
    +       };
    +};
    +
     &i2c0 {
            hdmi1: hdmi@70 {
                  compatible = "nxp,tda998x";
    
  • Hi Bin,


    Thank you very much for your help!

    I did implement your patch for OTG host, please take a look at the following message:

    /proc/device-tree/ocp/usb@47400000/usb@47401000
     .
     ..
     dr_mode
     name

    But if I plug in a USB stick, the OTG host still does not detect the USB stick. Do you know why?

    desmond

  • Desmond,

    did you follow my previous post and ground the USB0_ID pin?

  • Hi Bin,

    I use linux kernel 3.8.13, I patched the two files according to your request.

    First patch as:

    Linux-3.8.13/arch/arm/mach-omap2/board-omap4panda.c

    static struct omap_musb_board_data musb_board_data = {
            .interface_type         = MUSB_INTERFACE_UTMI,

    -      .mode                    =MUSB_OTG,
    +     .mode                   = MUSB_HOST,
            .power                  = 100,
    };

    Second patch as:

    Linux-3.8.13/arch/arm/boot/dts/am335x-boneblack.dts

    &mmc2 {
            vmmc-supply = <&vmmcsd_fixed>;
            bus-width = <8>;
            ti,non-removable;
            status = "disabled";

            reset = <&rstctl 0 0>;
            reset-names = "eMMC_RSTn-CONSUMER";
    };

    +&ocp {
    +        musb: usb@47400000 {
    +                usb@47401000 {
    +                        dr_mode = "host";
    +                };
    +       };
    +};

    &cpu {

    If I issue the cat command I get:

    cat   /proc/device-tree/ocp/usb@47400000/usb@47401000/dr_mode/dr_mode
    host

    Do you know why the OTG host does not work?

    Thank yuo again.

    desmond

     

  • Hi Bin,

    Our USB0_ID is really grounded. Please take a look at the following picture.

    desmond

  • Hi Bin,

    We connect USB_ID to ground like the following picture.

    desmond

  • desmond liu said:

    Linux-3.8.13/arch/arm/mach-omap2/board-omap4panda.c

    you don't have to change this file. BBB does not use it.

  • desmond liu said:

    We connect USB_ID to ground like the following picture.

    I meant USB0_ID pin on AM335x, not on the ESD. Please also show how USB0_VBUS and USB0_DRVVBUS are connected.

  • Hi Bin,

    Please take a look at the USB0_ID, USB0_VBUS. and USB0_DRVVBUS cnnections as the following picture.

    Thank you!

    desmond

  • Desmond,

    I am not familiar with the 3.8 kernel. TI only supports 3.2 and 3.12 kernel released in AM335x SDKs.

    Please try to get a MUSB0 register dump. With 3.12 kernel, you could do

    cat /sys/kernel/debug/musb-hdrc.0.auto/regdump

    If you don't have this sysfs entry in 3.8 kernel, please get devmem2 utility from Internet, and use the following commands to dump 2 registers.

    devmem2 0x47401401 b

    devmem2 0x47401460 b

  • Hi Bin,

    I really appreciate your help. I use devmem2 tool to dump the registers, the following are the values of dumping:

    devmem2 0x47401401 b
    /dev/mem opened.
    Memory mapped at address 0xb6fd6000.
    Value at address 0x47401401 (0xb6fd6401): 0xE0

    devmem2 0x47401460 b
    /dev/mem opened.
    Memory mapped at address 0xb6f85000.
    Value at address 0x47401460 (0xb6f85460): 0x80

    Please take a look at the value.

    desmond

  • Desmond,

    Your schematics show that USB0_VBUS is connected to SYS_5V, but register 0x47401460 shows the VBUS voltage is 0v. Can you please probe the point 2 of R15 to see if 5V is applied to USB0_VBUS pin?

    I also want to mention that the MUSB controller on AM335x is an OTG controller, the TRM clearly describes how the controller works in host, device or OTG mode. The BBB USB0 port is designed in device mode, which receives VBUS voltage from the USB host, and the BBB USB1 port is designed in host mode, which has a power switch to provide VBUS voltage for both the connected USB device and AM335x. Ideally if you want USB0 port to work in host mode, you should follow the BBB USB1 port design to add a power switch. You also could directly tie USB0_VBUS pin to 5V, but it requires driver change to workaround VBUS sensing logic. I could help you to add the sw workaround in this case but I can only provide support on either AM335x SDK6.0 or 7.0 kernel, since I am not familiar with the 3.8 kernel you use currently.

  • The USB specification requires a USB host port to have a minimum 120uF capacitor connected to the VBUS signal located near the USB host connector.

    Regards,
    Paul

  • Hi Bin,

    The register values are:

    0x4740160 b = 0x98.

    0x47401401b = 0xF0

    USB0_VBUS is connected via 0R resistor to 5V (SYS_5V).

    We are using 3.8.x Kernel. The patch you recommended seems to work but the port is not enumerated. Is there any other changes we need to on the Kernel?

    Thanks,

    Desmond