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.

UART1 on AM3358 EVM

Hello

Can you help my customer trying to get UART1 working on the AM3358EVM they are expecting to see serial data on J10 and it's not working and tell me :-

We've joined the tracks between UART 1 on the OMAP chip and the CPLD.

We're in Profile 2 which I think should enable the UART 1.

I've set up the pads like this:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/omap_mux/
# echo 0x28 > uart1_ctsn
# echo 0x28 > uart1_rxd
# echo 0x8 > uart1_txd
# echo 0x8 > uart1_rtsn

We've put a scope on the uart1 at the Omap chip and can clearly see output that looks sensible at that point, so the assumption is that the data isn't getting past the CPLD.

I've tried echoing data to all the other serial ports and don't see any output from them either. (The debug port zero works fine, of course.)

Could you give me step by step instructions for getting UART1 working on J10 (or any other port)?

Does the CPLD need be configured in some way in order to get data out on J10 as I'm expecting?

LEDs on the EVM are showing profile two.

# dmesg | grep profile
[    0.940495] The board is general purpose EVM in profile 2

Output from dmesg is attached

[    0.000000] Linux version 3.2.0 (mhitchin@rm0264-linux) (gcc version 4.5.4 20110526 (prerelease) (Linaro GCC 4.5-2011.06-0) ) #1 Tue May 22 08:07:09 BST 2012
[    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: am335xevm
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 65536
[    0.000000] free_area_init_node: node 0, pgdat c05e626c, node_mem_map c0614000
[    0.000000]   Normal zone: 512 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 65024 pages, LIFO batch:15
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait ip=none
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 256MB = 256MB total
[    0.000000] Memory: 253632k/253632k available, 8512k 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]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc054f000   (5404 kB)
[    0.000000]       .init : 0xc054f000 - 0xc058a000   ( 236 kB)
[    0.000000]       .data : 0xc058a000 - 0xc05e6c60   ( 372 kB)
[    0.000000]        .bss : 0xc05e6c84 - 0xc06139e4   ( 180 kB)
[    0.000000] NR_IRQS:396
[    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: GPTIMER1 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] Console: colour dummy device 80x30
[    0.000186] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.059030] pid_max: default: 32768 minimum: 301
[    0.059155] Security Framework initialized
[    0.059217] Mount-cache hash table entries: 512
[    0.059591] CPU: Testing write buffer coherency: ok
[    0.064219] print_constraints: dummy: 
[    0.064563] NET: Registered protocol family 16
[    0.064672] GPMC revision 6.0
[    0.066750] OMAP GPIO hardware version 0.1
[    0.069401] omap_mux_init: Add partition: #1: core, flags: 0
[    0.070086] _omap_mux_get_by_name: Could not find signal uart1_cts.uart1_cts
[    0.070104] omap_hwmod_mux_init: Could not allocate device mux entry
[    0.070373] _omap_mux_get_by_name: Could not find signal uart2_cts.uart2_cts
[    0.070388] omap_hwmod_mux_init: Could not allocate device mux entry
[    0.070631] _omap_mux_get_by_name: Could not find signal uart3_cts_rctx.uart3_cts_rctx
[    0.070646] omap_hwmod_mux_init: Could not allocate device mux entry
[    0.071608]  omap_i2c.1: alias fck already exists
[    0.072162] failed to create an alias: icss_uart_gclk --> pruss
[    0.072191] failed to create an alias: gfx_fclk --> sgx_ck
[    0.072456]  omap2_mcspi.1: alias fck already exists
[    0.072663]  omap2_mcspi.2: alias fck already exists
[    0.097509] bio: create slab <bio-0> at 0
[    0.099818] SCSI subsystem initialized
[    0.101383] usbcore: registered new interface driver usbfs
[    0.101692] usbcore: registered new interface driver hub
[    0.101897] usbcore: registered new device driver usb
[    0.102069] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[    0.102340] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[    0.119090] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[    0.120860] tps65910 1-002d: JTAGREVNUM 0x0
[    0.123203] print_constraints: VRTC: 
[    0.124629] print_constraints: VIO: at 1800 mV 
[    0.126899] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal 
[    0.129144] print_constraints: VDD2: at 1137 mV 
[    0.130144] print_constraints: VDD3: 5000 mV 
[    0.131529] print_constraints: VDIG1: at 1800 mV 
[    0.132932] print_constraints: VDIG2: at 1800 mV 
[    0.134326] print_constraints: VPLL: at 1800 mV 
[    0.135724] print_constraints: VDAC: at 1800 mV 
[    0.137129] print_constraints: VAUX1: at 1800 mV 
[    0.138523] print_constraints: VAUX2: at 3300 mV 
[    0.139921] print_constraints: VAUX33: at 3300 mV 
[    0.141338] print_constraints: VMMC: at 3300 mV 
[    0.141795] tps65910 1-002d: No interrupt support, no core IRQ
[    0.142746] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.143805] Switching to clocksource gp timer
[    0.158144] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.158327] musb-hdrc musb-hdrc.0: dma type: pio
[    0.158671] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[    0.158695] musb-hdrc: MHDRC RTL version 2.0 
[    0.158709] musb-hdrc: setup fifo_mode 4
[    0.158734] musb-hdrc: 28/31 max ep, 16384/16384 memory
[    0.159180] musb-hdrc musb-hdrc.0: USB OTG mode controller at d081e000 using PIO, IRQ 18
[    0.159340] musb-hdrc musb-hdrc.1: dma type: pio
[    0.159642] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[    0.159663] musb-hdrc: MHDRC RTL version 2.0 
[    0.159674] musb-hdrc: setup fifo_mode 4
[    0.159696] musb-hdrc: 28/31 max ep, 16384/16384 memory
[    0.159725] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.159813] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.159933] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.159950] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.159964] usb usb1: Product: MUSB HDRC host driver
[    0.159975] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
[    0.159986] usb usb1: SerialNumber: musb-hdrc.1
[    0.160726] hub 1-0:1.0: USB hub found
[    0.160758] hub 1-0:1.0: 1 port detected
[    0.161255] musb-hdrc musb-hdrc.1: USB Host mode controller at d0832800 using PIO, IRQ 19
[    0.161661] NET: Registered protocol family 2
[    0.161858] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.162164] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.162323] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.162419] TCP: Hash tables configured (established 8192 bind 8192)
[    0.162432] TCP reno registered
[    0.162445] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.162468] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.162641] NET: Registered protocol family 1
[    0.162902] RPC: Registered named UNIX socket transport module.
[    0.162917] RPC: Registered udp transport module.
[    0.162926] RPC: Registered tcp transport module.
[    0.162936] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.163174] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.175625] VFS: Disk quotas dquot_6.5.2
[    0.175694] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.176246] msgmni has been set to 495
[    0.176990] io scheduler noop registered
[    0.177003] io scheduler deadline registered
[    0.177062] io scheduler cfq registered (default)
[    0.179404] ecap: probe of ecap.2 failed with error -2
[    0.182810] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.826721] console [ttyO0] enabled
[    0.830955] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.838711] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.846418] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.854144] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.861814] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.878287] brd: module loaded
[    0.885995] loop: module loaded
[    0.889444] i2c-core: driver [tsl2550] using legacy suspend method
[    0.895917] i2c-core: driver [tsl2550] using legacy resume method
[    0.902330] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    0.910205] Detected a daughter card on AM335x EVM..
[    0.915248] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    0.930583] Board name: A33515BB
[    0.933957] Board version: 1.2A
[    0.937227] SKU: SKU#01
[    0.940302] The board is general purpose EVM in profile 2
[    0.945938] Found invalid GP EVM revision, falling back to Rev1.1A
[    0.953090] da8xx_lcdc da8xx_lcdc.0: GLCD: Found TFC_S9700RTWV35TR_01B panel
[    0.974873] Console: switching to colour frame buffer device 100x30
[    0.988249] TSC connected to beta GP EVM
[    0.993274]  omap_hsmmc.0: alias fck already exists
[    0.998726]  omap_hsmmc.1: alias fck already exists
[    1.006596] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.013489] m25p80 spi1.0: found s25fl064k, expected w25q64
[    1.019353] m25p80 spi1.0: s25fl064k (8192 Kbytes)
[    1.024597] Creating 5 MTD partitions on "spi_flash":
[    1.029874] 0x000000000000-0x000000020000 : "SPL"
[    1.036160] 0x000000020000-0x000000060000 : "U-Boot"
[    1.042586] 0x000000060000-0x000000062000 : "U-Boot Env"
[    1.049519] 0x000000062000-0x0000003e2000 : "Kernel"
[    1.055884] 0x0000003e2000-0x000000800000 : "File System"
[    1.062754] omap2-nand driver initializing
[    1.067320] OneNAND driver initializing
[    1.072631] CAN device driver interface
[    1.076664] CAN bus driver for Bosch D_CAN controller 1.0
[    1.123864] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.130311] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[    1.137459] davinci_mdio.0: probed
[    1.141008] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
[    1.148728] usbcore: registered new interface driver cdc_ether
[    1.154993] usbcore: registered new interface driver cdc_subset
[    1.161209] Initializing USB Mass Storage driver...
[    1.166608] usbcore: registered new interface driver usb-storage
[    1.172870] USB Mass Storage support registered.
[    1.178119] mousedev: PS/2 mouse device common for all mice
[    1.184997] input: ti-tsc-adcc as /devices/platform/tsc/input/input0
[    1.192918] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[    1.199794] i2c /dev entries driver
[    1.204118] lirc_dev: IR Remote Control driver registered, major 252 
[    1.210834] IR NEC protocol handler initialized
[    1.215570] IR RC5(x) protocol handler initialized
[    1.220559] IR RC6 protocol handler initialized
[    1.225286] IR JVC protocol handler initialized
[    1.230003] IR Sony protocol handler initialized
[    1.234821] IR RC5 (streamzap) protocol handler initialized
[    1.240625] IR MCE Keyboard/mouse protocol handler initialized
[    1.246709] IR LIRC bridge handler initialized
[    1.251337] Linux video capture interface: v2.00
[    1.256493] usbcore: registered new interface driver uvcvideo
[    1.262481] USB Video Class driver (1.1.1)
[    1.268897] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.277437] cpuidle: using governor ladder
[    1.282208] cpuidle: using governor menu
[    1.288432] _regulator_get: omap_hsmmc.1 supply vmmc not found, using dummy regulator
[    1.296702] _regulator_get: omap_hsmmc.1 supply vmmc_aux not found, using dummy regulator
[    1.305296] omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
[    1.312101] ------------[ cut here ]------------
[    1.316950] WARNING: at drivers/regulator/core.c:1442 _regulator_disable+0x104/0x16c()
[    1.325210] unbalanced disables for dummy
[    1.329386] Modules linked in:
[    1.332567] Backtrace: 
[    1.335146] [<c001700c>] (dump_backtrace+0x0/0x110) from [<c03fa4fc>] (dump_stack+0x18/0x1c)
[    1.343951]  r6:c04ec834 r5:000005a2 r4:cf81dda8 r3:c05ab0c8
[    1.349877] [<c03fa4e4>] (dump_stack+0x0/0x1c) from [<c00389e4>] (warn_slowpath_common+0x5c/0x6c)
[    1.359141] [<c0038988>] (warn_slowpath_common+0x0/0x6c) from [<c0038a98>] (warn_slowpath_fmt+0x38/0x40)
[    1.369041]  r8:00000000 r7:cf3fe408 r6:cf824030 r5:cf824000 r4:fffffffb
[    1.375871] r3:00000009
[    1.378612] [<c0038a60>] (warn_slowpath_fmt+0x0/0x40) from [<c01ed934>] (_regulator_disable+0x104/0x16c)
[    1.388501]  r3:c0515ca8 r2:c04eca68
[    1.392238] [<c01ed830>] (_regulator_disable+0x0/0x16c) from [<c01ed9c0>] (regulator_disable+0x24/0x50)
[    1.402037]  r5:00000000 r4:cf824000
[    1.405797] [<c01ed99c>] (regulator_disable+0x0/0x50) from [<c02f9300>] (omap_hsmmc_235_set_power+0x78/0x100)
[    1.416140]  r6:00000000 r5:00000000 r4:cf3d5240 r3:cf9488c0
[    1.422078] [<c02f9288>] (omap_hsmmc_235_set_power+0x0/0x100) from [<c0570cdc>] (omap_hsmmc_probe+0x768/0xa50)
[    1.432528] [<c0570574>] (omap_hsmmc_probe+0x0/0xa50) from [<c0215df0>] (platform_drv_probe+0x20/0x24)
[    1.442244] [<c0215dd0>] (platform_drv_probe+0x0/0x24) from [<c0214c68>] (driver_probe_device+0xa4/0x1b4)
[    1.452233] [<c0214bc4>] (driver_probe_device+0x0/0x1b4) from [<c0214e0c>] (__driver_attach+0x94/0x98)
[    1.461942]  r8:00000000 r7:00000000 r6:cf3fe43c r5:c05db6f4 r4:cf3fe408
[    1.468769] r3:00000000
[    1.471507] [<c0214d78>] (__driver_attach+0x0/0x98) from [<c0213d94>] (bus_for_each_dev+0x58/0x84)
[    1.480853]  r6:00000000 r5:c0214d78 r4:c05db6f4 r3:c0214d78
[    1.486782] [<c0213d3c>] (bus_for_each_dev+0x0/0x84) from [<c0214904>] (driver_attach+0x24/0x28)
[    1.495948]  r6:cf3d4340 r5:c05c2010 r4:c05db6f4
[    1.500776] [<c02148e0>] (driver_attach+0x0/0x28) from [<c02144dc>] (bus_add_driver+0xac/0x244)
[    1.509859] [<c0214430>] (bus_add_driver+0x0/0x244) from [<c0215148>] (driver_register+0x80/0x138)
[    1.519213] [<c02150c8>] (driver_register+0x0/0x138) from [<c02160f4>] (platform_driver_register+0x5c/0x60)
[    1.529374]  r8:00000000 r7:00000000 r6:cf81c000 r5:c0589af4 r4:c05db6e0
[    1.536202] r3:00000000
[    1.538941] [<c0216098>] (platform_driver_register+0x0/0x60) from [<c0216118>] (platform_driver_probe+0x20/0x70)
[    1.549565] [<c02160f8>] (platform_driver_probe+0x0/0x70) from [<c0570570>] (omap_hsmmc_init+0x20/0x24)
[    1.559364]  r4:c05e6cc0 r3:00000000
[    1.563104] [<c0570550>] (omap_hsmmc_init+0x0/0x24) from [<c0008704>] (do_one_initcall+0x3c/0x180)
[    1.572467] [<c00086c8>] (do_one_initcall+0x0/0x180) from [<c054f884>] (kernel_init+0x9c/0x130)
[    1.581552] [<c054f7e8>] (kernel_init+0x0/0x130) from [<c003ba40>] (do_exit+0x0/0x67c)
[    1.589813]  r5:c054f7e8 r4:00000000
[    1.593586] ---[ end trace 669e818e62756c20 ]---
[    1.602430] usbcore: registered new interface driver usbhid
[    1.608287] usbhid: USB HID core driver
[    1.612874] usbcore: registered new interface driver snd-usb-audio
[    1.620911] ALSA device list:
[    1.624049]   No soundcards found.
[    1.627590] oprofile: hardware counters not available
[    1.632850] oprofile: using timer interrupt.
[    1.637336] nf_conntrack version 0.5.0 (3963 buckets, 15852 max)
[    1.644133] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.649782] TCP cubic registered
[    1.653148] NET: Registered protocol family 17
[    1.657820] can: controller area network core (rev 20090105 abi 8)
[    1.664361] NET: Registered protocol family 29
[    1.668992] can: raw protocol (rev 20090105)
[    1.673444] can: broadcast manager protocol (rev 20090105 t)
[    1.679398] Registering the dns_resolver key type
[    1.684374] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.692371] ThumbEE CPU extension supported.
[    1.696898] mux: Failed to setup hwmod io irq -22
[    1.702510] omap2_set_init_voltage: unable to get clk dpll1_ck
[    1.708621] omap2_set_init_voltage: unable to set vdd_mpu_iva
[    1.714627] omap2_set_init_voltage: unable to get clk l3_ick
[    1.720525] omap2_set_init_voltage: unable to set vdd_core
[    1.726251] Power Management for AM33XX family
[    1.733152] Detected MACID=d4:94:a1:52:71:a4
[    1.739215] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    1.748422] Waiting for root device /dev/mmcblk0p2...
[    1.857322] mmc0: new high speed SD card at address d750
[    1.863529] mmcblk0: mmc0:d750 SD02G 1.83 GiB 
[    1.869779]  mmcblk0: p1 p2
[    2.871341] kjournald starting.  Commit interval 5 seconds
[    2.877157] EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
[    2.896753] EXT3-fs (mmcblk0p2): using internal journal
[    2.902201] EXT3-fs (mmcblk0p2): recovery complete
[    2.917215] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    2.924462] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    2.931103] Freeing init memory: 236K
[    3.350525] udev[663]: starting version 164
[    4.421141] 
[    4.421151] CPSW phy found : id is : 0x4dd074
[    4.421918] PHY 0:01 not found
[    6.127399] Disabling lock debugging due to kernel taint
[    6.147764] [drm] Initialized drm 1.1.0 20060810
[    6.330129] [drm] Initialized pvrsrvkm 1.7.783851 Tue May 22 BST 2012 for SGX on minor 0
[    7.414663] PHY: 0:00 - Link is Up - 100/Full

 

I did a quick search and it looks like UART1 is used for BT interface, see :-
http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.03_Release_Notes#What.27s_Supported
Could this be the problem, do we need to disable the BT drivers.

Many Thanks

Bob Bacon