Hi,
All
I am using custom hardware based on IMX6q.
Bluetooth chip is connected on UART5.
Bluetooth pins imx6
BT_RXD --> KEY_COL1
BT_TXD --> KEY_ROW1
BT_CTS --> KEY_COL4
BT_RTS --> KEY_ROW4
Following code i have added to enable UART5.
static iomux_v3_cfg_t mx6q_uart5_pads[] = {
MX6Q_PAD_KEY_ROW1__UART5_RXD,
MX6Q_PAD_KEY_COL1__UART5_TXD,
MX6Q_PAD_KEY_ROW4__UART5_CTS,
MX6Q_PAD_KEY_COL4__UART5_RTS,
};
static const struct imxuart_platform_data mx6q_sd_uart5_data __initconst = {
.flags = IMXUART_HAVE_RTSCTS ,
.dma_req_rx = MX6Q_DMA_REQ_UART5_RX,
.dma_req_tx = MX6Q_DMA_REQ_UART5_TX,
};
static void __init uart5_init(void)
{
printk(KERN_INFO "uart5 is added\n");
mxc_iomux_v3_setup_multiple_pads(mx6q_uart5_pads,
ARRAY_SIZE(mx6q_uart5_pads));
imx6q_add_imx_uart(4, &mx6q_sd_uart5_data);
}
With this setup I am getting error for firmware load, It seems that my UART5 configuration is not proper.
How to debug RTS/CTS issue?
Hi, Brian,
We hit this issue as well. We use UART5 to connect to an ultrasonic sensor.
We use IMX6QP, and Linux kernel is 4.1.28.
We found that no matter how we swap the TXD/RXD lines in sw, it does not work.
But if we swap the TX/RX lines in hw, it immediately works.
We tried your suggestion of adding dma-names = "","tx" line to the DTS. It did not help however.
Hi Saurabh patel,
now i can see the "Found a Texas Instruments' chip!" in the hyperterminal. but after that i am getting "Initialization timed out." below i have mentioned the log file which i am getting in the hyper terminal.
ÿ
U-Boot 2014.10 (Feb 27 2015 - 17:55:20)
CPU: Freescale i.MX6SL rev1.2 at 792 MHz
Reset cause: POR
Board: MX6SLEVK
I2C: ready
DRAM: 512 MiB
padMux SCL = 0x20e016c data = 0x11
padMux SDA = 0x20e018c data = 0x11
pad contorl SCL = 0x20e0474 data = 0x1b8b1
pad contol SDA = 0x20e0494 data = 0x1b8b1
Sel input In SCL = 0x20e0728 data = 0x2
Sel input iN SCL = 0x20e0724 data = 0x2
ADD IADR = 0x21a4000 data = 0x0
ADD IFDR = 0x21a4004 data = 0x14
ADD I2CR = 0x21a4008 data = 0x80
ADD I2SR = 0x21a400c data = 0x81
ADD I2DR = 0x21a4010 data = 0x0
PMIC pmic_get
wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x18 retry=0
wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x18 retry=1
wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x18 retry=2
i2c_init_transfer: give up i2c_regs=021a8000
Can't find PMIC:PFUZE100
Satya: PMIC found test print -1
Satya: Reading the PMIC Data...
Satya: PMIC Value at add generated 1.2V 0x6c = 0x18
Satya: PMIC Value at add generated 1.5V 0x6d = 0x1e
Satya: PMIC Value at add generated 1.8V 0x6e = 0x10
Satya: PMIC Value at add generated 1.8V 0x6f = 0x10
Satya: PMIC Value at add generated 2.5V 0x70 = 0x17
Satya: PMIC Value at add generated 2.8V 0x71 = 0x1a
MMC: FSL_SDHC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: Phy not found
FEC [PRIME]
Error: FEC address not set.
Hit any key to stop autoboot: 3 2 1 0
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
4823088 bytes read in 233 ms (19.7 MiB/s)
Booting from mmc ...
reading imx6sl-evk.dtb
25980 bytes read in 18 ms (1.4 MiB/s)
Kernel image @ 0x82000000 [ 0x000000 - 0x499830 ]
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Using Device Tree in place at 88000000, end 8800957b
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.10.53 (root@vivek-To-be-filled-by-O-E-M) (gcc version 4.8.1 (GCC) ) #147 SMP PREEMPT Mon Mar 2 11:04:38 IST 2015
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX6 SoloLite (Device Tree), model: Freescale i.MX6 SoloLite EVK Board(PFUZE100)
cma: CMA: reserved 320 MiB at 8c000000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @80cec000 s8960 r8192 d15616 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 182260k/182260k available, 342028k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x807db8dc (8015 kB)
.init : 0x807dc000 - 0x80826300 ( 297 kB)
.data : 0x80828000 - 0x80875320 ( 309 kB)
.bss : 0x80875320 - 0x808dd55c ( 417 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
NR_IRQS:16 nr_irqs:16 16
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32030000, Cache size: 262144 B
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x805ce878 - 0x805ce8d0
Brought up 1 CPUs
SMP: Total of 1 processors activated (1581.05 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Use WDOG1 as reset source
syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
vdd1p1: 800 <--> 1375 mV at 1125 mV
vdd3p0: 2800 <--> 3150 mV at 3000 mV
vdd2p5: 2100 <--> 2850 mV at 2525 mV
cpu: 725 <--> 1450 mV at 1100 mV
vddpu: 725 <--> 1450 mV at 1100 mV
vddsoc: 725 <--> 1450 mV at 1175 mV
syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered
syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6sl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
bio: create slab <bio-0> at 0
lcd-3v3: no parameters
wm8962-supply-3v15: 3150 mV
wm8962-supply-4v2: 4325 mV
wm8962-supply-1v8: 1800 mV
ov5642-supply-2v8: 2800 mV
ov5642-supply-1v8: 1800 mV
ov5642-supply-1v5: 1500 mV
wlan-en-regulator: 1800 mV
reg-fixed-voltage regulator.21: Fixed regulator specified with variable voltages
reg-fixed-voltage: probe of regulator.21 failed with error -22
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
SCSI subsystem initialized
i2c i2c-0: IMX I2C adapter registered
i2c i2c-1: IMX I2C adapter registered
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
ads129x: Driver-Driver Init
ads129x: mutex init
ads129x: sem init
ads129x: Init succesfull
ads129x: 0, 0 ret
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
pureg-dummy: no parameters
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
imx6_busfreq busfreq.2: busfreq_probe: failed to get pll3_usb_otg
imx6_busfreq: probe of busfreq.2 failed with error -2
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.22)
msgmni has been set to 995
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
ILI9163 driver init
imx-sdma 20ec000.sdma: loaded firmware 1.1
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 0-0008: unrecognized pfuze chip ID!
pfuze100-regulator: probe of 0-0008 failed with error -5
Serial: IMX driver
imx:uart RTS failed
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled
imx:uart has RTS/CTS
2038000.serial: ttymxc3 at MMIO 0x2038000 (irq = 61) is a IMX
serial: Freescale lpuart driver
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
kim:/dev/ttymxc3
kim:1
kim:0
kim:115200
Kim: requested shutdown gpio succesfully
(stk) :sysfs entries created
debugfs entries created ads129x: ads129x_probe
ads129x spi32766.0: No reset-gpios gpio
IRQ: 238
ads129x:ADS Chip registered, 1 chips total.
spi_imx 2008000.ecspi: probed
ili9163: LCD probe function called
ili9163: Request CTS
ili9163: Request Shutdown
ili9163: pmw ON
ili9163: vmem ON
Console: switching to colour frame buffer device 16x20
ili9163: registerFB done
ili9163: spi_set_drv_data
fb0: ili9163fb frame buffer device,
using 40960 KiB of video memory
spi_imx 200c000.ecspi: probed
CAN device driver interface
mousedev: PS/2 mouse device common for all mice
input: TSC2007 Touchscreen as /devices/virtual/input/input0
snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0
i2c /dev entries driver
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: Generic Bluetooth SDIO driver ver 0.1
hdev 8602d000
HCI device registered (hdev 8602d000)
cpuidle: using governor ladder
cpuidle: using governor menu
hci0 8602d000
(stc): chnl_id list empty :4
(stk) : st_kim_startuse device tree datakim: Bluetooth GPIO start
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: no vqmmc regulator found
mmc0: no vmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA
sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode
mmc1: no vqmmc regulator found
mmc0: new high speed SDHC card at address 59b4
mmcblk0: mmc0:59b4 USD 3.74 GiB
mmcblk0: p1 p2
(stk) :ldisc_install = 1mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
mmc1: card claims to support voltages below the defined range. These will be ignored.
[drm] No driver support for vblank timestamp query.
[drm] Initialized imx-drm 1.0.0 20120507 on minor 0
mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
mmc1: new high speed SDIO card at address 0001
wm8962 1-001a: customer id 0 revision F
input: WM8962 Beep Generator as /devices/soc0/soc.1/2100000.aips-bus/21a8000.i2c/i2c-1/1-001a/input/input1
imx-wm8962 sound.24: wm8962 <-> 202c000.ssi mapping ok
NET: Registered protocol family 26
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
imx6-cpufreq imx6-cpufreq.0: failed to get regulators
imx6-cpufreq: probe of imx6-cpufreq.0 failed with error -2
ov5642-supply-1v5: disabling
ov5642-supply-1v8: disabling
ov5642-supply-2v8: disabling
wm8962-supply-1v8: disabling
wm8962-supply-4v2: disabling
wm8962-supply-3v15: disabling
lcd-3v3: disabling
vddpu: disabling
regulator-dummy: disabling
imx mcc test is registered.
snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
ALSA device list:
#0: wm8962-audio
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 296K (807dc000 - 80826000)
INIT: (stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0version 2.88 booting
(stk) : timed out waiting for ldisc to be un-installedkim: Bluetooth GPIO start
(stk) :ldisc_install = 1Starting udev
udevd[120]: starting version 182
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0Loading modules backported from Linux version R8.5-0-gcb51164
Backport generated by backports.git R8.4-0-g0d46f43
bootlogd: cannot allocate pseudo tty: No such file or directory
ov5640_read_reg:write reg error:reg=300a
camera ov5640 is not found
(stk) : timed out waiting for ldisc to be un-installedkim: Bluetooth GPIO start
(stk) :ldisc_install = 1csi_v4l_open: Internal error, camera is not found!
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
cfg80211: DFS Master region: unsetcfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
wlcore: WARNING falling back to default config
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
wlcore: loaded
wlcore: driver version: R8.5
wlcore: compilation time: Mon Mar 2 05:40:54 2015
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
ALSA: Restoring mixer settings...
Fri Feb 20 11:27:36 UTC 2015
INIT: Entering runlevel: 5
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
Starting Xserver
(stk) : timed out waiting for ldisc to be un-installedkim: Bluetooth GPIO start
(stk) :ldisc_install = 1Starting system message bus: Unknown username "xuser" in message bus configuration file
Unknown username "avahi" in message bus configuration file
dbus.
Starting Connection Manager
(stk) :ldisc installation timeoutuse device tree data(stk) :ldisc_install = 0Starting Dropbear SSH server: dropbear.
(stk) : timed out waiting for ldisc to be un-installedkim: Bluetooth GPIO start
(stk) :ldisc_install = 1Starting rpcbind daemon...done.
rpcbind: cannot get uid of 'rpc': Success
Starting advanced power management daemon: No APM support in kernel
(failed.)
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0(stk) : timed out waiting for ldisc to be un-installedkim: Bluetooth GPIO start
(stk) :ldisc_install = 1
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0(stk) : timed out waiting for ldisc to be un-installed
Bluetooth: st_register failed -22
Timeout reached while wating for return value
Could not receive return value from daemon process.
...fail!
Starting Telephony daemon
Starting Linux NFC daemon
/etc/rc5.d/S64neard: line 26: /usr/lib/neard/neard: No such file or directory
Running local boot scripts (/etc/rc.local)Successfully initialized wpa_supplicant
Line 61: unknown global field 'p2p_go_ht40=1'.
Line 61: Invalid configuration line 'p2p_go_ht40=1'.
Line 63: unknown global field 'concurrent_sched_scan=1'.
Line 63: Invalid configuration line 'concurrent_sched_scan=1'.
Line 64: unknown global field 'p2p_disabled=1'.
Line 64: Invalid configuration line 'p2p_disabled=1'.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
wlcore: PHY firmware version: Rev 8.2.0.0.224
wlcore: firmware booted (Rev 8.9.0.0.31)
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
.
Poky (Yocto Project Reference Distro) 1.7 imx6slevk /dev/ttymxc0
imx6slevk login: root
root@imx6slevk:~# hciattach -t 30 -s 115200 /dev/ttymxc3 texas 115200 flow
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/TIInit_11.8.32.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
Initialization timed out.
root@imx6slevk:~#
Thanks,
Sivakumar
Did you ever find a solution to this issue? I'm encountering the same exact issue with an iMX6 connected to a TiWi5 module via UART 5. I see the TI device and it says the bts file is loaded but I get the same timeout.
I solved our issue this morning. It turns out that the version of the kernel we were using has a bug with the UART DMA handling. As a short-term workaround, I was able to disable the RX DMA in the device tree by adding:
&uart5 {
status = "okay";
dma-names = "","tx";
};
The more permanent solution was to patch drivers/tty/serial/imx.c .
For more details on this issue see this thread: Linux iMX6 UART Driver Issues - Toradex Community
Hi Sauabh,
What are pad settings register you have done in UART signal in iMX6SL processor ? We connected physically what u mentioned in previous reply. But still we are facing problem in Bluetooth communication.
Thanks,
Sivakumar.
Hi Siva
My connection is like
static iomux_v3_cfg_t mx6q_uart5_pads[] = {
MX6Q_PAD_KEY_ROW1__UART5_RXD,
MX6Q_PAD_KEY_COL1__UART5_TXD,
MX6Q_PAD_KEY_COL4__UART5_RTS,
MX6Q_PAD_KEY_ROW4__UART5_CTS,
};
And physically
BT RXD is connected to IMX6 TXD.
BT TXD is connected to IMX6 RXD.
BT RTS is connected to IMX6 RTS.
BT CTS is connected to IMX6 CTS.
What type of error you are getting?
Hi Saurabh Patel,
Thanks for replying us. As you said previous reply, Physically we connected correctly in the iMX6 Sololite processor design. i will send the log file soon, which we got the error when we loading the kernal.
Thanks,
Sivakumar
Hi Saurabh patel,
here i have attached the log files for Bluetooth issue. Please help me to solve this problem.\
---------------------------------------------------------------------------------------------------------------------------------------------
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.10.53 (root@vivek-To-be-filled-by-O-E-M) (gcc version 4.8.1 (GCC) ) #147 SMP PREEMPT Mon Mar 2 11:04:38 IST 2015
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX6 SoloLite (Device Tree), model: Freescale i.MX6 SoloLite EVK Board(PFUZE100)
cma: CMA: reserved 320 MiB at 8c000000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @80cec000 s8960 r8192 d15616 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 182260k/182260k available, 342028k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x807db8dc (8015 kB)
.init : 0x807dc000 - 0x80826300 ( 297 kB)
.data : 0x80828000 - 0x80875320 ( 309 kB)
.bss : 0x80875320 - 0x808dd55c ( 417 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
NR_IRQS:16 nr_irqs:16 16
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32030000, Cache size: 262144 B
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x805ce878 - 0x805ce8d0
Brought up 1 CPUs
SMP: Total of 1 processors activated (1581.05 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Use WDOG1 as reset source
syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
vdd1p1: 800 <--> 1375 mV at 1125 mV
vdd3p0: 2800 <--> 3150 mV at 3000 mV
vdd2p5: 2100 <--> 2850 mV at 2525 mV
cpu: 725 <--> 1450 mV at 1100 mV
vddpu: 725 <--> 1450 mV at 1100 mV
vddsoc: 725 <--> 1450 mV at 1175 mV
syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered
syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6sl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
bio: create slab <bio-0> at 0
lcd-3v3: no parameters
wm8962-supply-3v15: 3150 mV
wm8962-supply-4v2: 4325 mV
wm8962-supply-1v8: 1800 mV
ov5642-supply-2v8: 2800 mV
ov5642-supply-1v8: 1800 mV
ov5642-supply-1v5: 1500 mV
wlan-en-regulator: 1800 mV
reg-fixed-voltage regulator.21: Fixed regulator specified with variable voltages
reg-fixed-voltage: probe of regulator.21 failed with error -22
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
SCSI subsystem initialized
i2c i2c-0: IMX I2C adapter registered
i2c i2c-1: IMX I2C adapter registered
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
ads129x: Driver-Driver Initads129x: mutex init ads129x: sem init ads129x: Init succesfullads129x: 0, 0 retAdvanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
pureg-dummy: no parameters
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
imx6_busfreq busfreq.2: busfreq_probe: failed to get pll3_usb_otg
imx6_busfreq: probe of busfreq.2 failed with error -2
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.22)
msgmni has been set to 995
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
ILI9163 driver initimx-sdma 20ec000.sdma: loaded firmware 1.1
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 0-0008: unrecognized pfuze chip ID!
pfuze100-regulator: probe of 0-0008 failed with error -5
Serial: IMX driver
imx:uart RTS failed2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled
imx:uart has RTS/CTS2038000.serial: ttymxc3 at MMIO 0x2038000 (irq = 61) is a IMX
serial: Freescale lpuart driver
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
kim:/dev/ttymxc3 kim:1 kim:0 kim:115200 Kim: requested shutdown gpio succesfully(stk) :sysfs entries created
debugfs entries created ads129x: ads129x_probe
ads129x spi32766.0: No reset-gpios gpio
IRQ: 238
ads129x:ADS Chip registered, 1 chips total.
spi_imx 2008000.ecspi: probed
ili9163: LCD probe function calledili9163: Request CTS ili9163: Request Shutdown ili9163: pmw ON
ili9163: vmem ON
Console: switching to colour frame buffer device 16x20
ili9163: registerFB done
ili9163: spi_set_drv_data
fb0: ili9163fb frame buffer device,
using 40960 KiB of video memory
spi_imx 200c000.ecspi: probed
CAN device driver interface
mousedev: PS/2 mouse device common for all mice
input: TSC2007 Touchscreen as /devices/virtual/input/input0
snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0
i2c /dev entries driver
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: Generic Bluetooth SDIO driver ver 0.1
hdev 8602d000
HCI device registered (hdev 8602d000)
cpuidle: using governor ladder
cpuidle: using governor menu
hci0 8602d000
(stc): chnl_id list empty :4
(stk) : st_kim_startuse device tree data
kim: Bluetooth GPIO startsdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: no vqmmc regulator found
mmc0: no vmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA
sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode
mmc1: no vqmmc regulator found
mmc0: new high speed SDHC card at address 59b4
mmcblk0: mmc0:59b4 USD 3.74 GiB
mmcblk0: p1 p2
(stk) :ldisc_install = 1mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
mmc1: card claims to support voltages below the defined range. These will be ignored.
[drm] No driver support for vblank timestamp query.
[drm] Initialized imx-drm 1.0.0 20120507 on minor 0
mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
mmc1: new high speed SDIO card at address 0001
wm8962 1-001a: customer id 0 revision F
input: WM8962 Beep Generator as /devices/soc0/soc.1/2100000.aips-bus/21a8000.i2c/i2c-1/1-001a/input/input1
imx-wm8962 sound.24: wm8962 <-> 202c000.ssi mapping ok
NET: Registered protocol family 26
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
imx6-cpufreq imx6-cpufreq.0: failed to get regulators
imx6-cpufreq: probe of imx6-cpufreq.0 failed with error -2
ov5642-supply-1v5: disabling
ov5642-supply-1v8: disabling
ov5642-supply-2v8: disabling
wm8962-supply-1v8: disabling
wm8962-supply-4v2: disabling
wm8962-supply-3v15: disabling
lcd-3v3: disabling
vddpu: disabling
regulator-dummy: disabling
imx mcc test is registered.
snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
ALSA device list:
#0: wm8962-audio
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
(stk) : timed out waiting for ldisc to be un-installed
kim: Bluetooth GPIO start(stk) :ldisc_install = 1
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 296K (807dc000 - 80826000)
INIT: version 2.88 booting(stk) : timed out waiting for ldisc to be un-installed
kim: Bluetooth GPIO start(stk) :ldisc_install = 1
Starting udev
udevd[121]: starting version 182
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
bootlogd: cannot allocate pseudo tty: No such file or directory
Loading modules backported from Linux version R8.5-0-gcb51164
Backport generated by backports.git R8.4-0-g0d46f43
ov5640_read_reg:write reg error:reg=300a
camera ov5640 is not found
(stk) : timed out waiting for ldisc to be un-installed
kim: Bluetooth GPIO start(stk) :ldisc_install = 1
csi_v4l_open: Internal error, camera is not found!
cfg80211: Calling CRDA to update world regulatory domain
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
cfg80211: World regulatory domain updated:
wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
cfg80211: DFS Master region: unset
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
wlcore: WARNING falling back to default config
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
wlcore: loaded
wlcore: driver version: R8.5
wlcore: compilation time: Mon Mar 2 05:40:54 2015
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
(stk) : timed out waiting for ldisc to be un-installed
kim: Bluetooth GPIO start(stk) :ldisc_install = 1ALSA: Restoring mixer settings...
Fri Feb 20 11:27:36 UTC 2015
INIT: Entering runlevel: 5Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
Starting Xserver
Starting system message bus: Unknown username "xuser" in message bus configuration file
Unknown username "avahi" in message bus configuration file
dbus.
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
Starting Connection Manager
Starting Dropbear SSH server: dropbear.
(stk) : timed out waiting for ldisc to be un-installed
kim: Bluetooth GPIO start(stk) :ldisc_install = 1
Starting rpcbind daemon...done.
rpcbind: cannot get uid of 'rpc': Success
(stk) :ldisc installation timeoutuse device tree data
(stk) :ldisc_install = 0
Starting advanced power management daemon: No APM support in kernel
(failed.)
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
(stk) : timed out waiting for ldisc to be un-installed
Bluetooth: st_register failed -22
Timeout reached while wating for return value
Could not receive return value from daemon process.
...fail!
Starting Telephony daemon
Starting Linux NFC daemon
/etc/rc5.d/S64neard: line 26: /usr/lib/neard/neard: No such file or directory
Running local boot scripts (/etc/rc.local)Successfully initialized wpa_supplicant
Line 61: unknown global field 'p2p_go_ht40=1'.
Line 61: Invalid configuration line 'p2p_go_ht40=1'.
Line 63: unknown global field 'concurrent_sched_scan=1'.
Line 63: Invalid configuration line 'concurrent_sched_scan=1'.
Line 64: unknown global field 'p2p_disabled=1'.
Line 64: Invalid configuration line 'p2p_disabled=1'.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
wlcore: PHY firmware version: Rev 8.2.0.0.224
wlcore: firmware booted (Rev 8.9.0.0.31)
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
.
Poky (Yocto Project Reference Distro) 1.7 imx6slevk /dev/ttymxc0
imx6slevk login:
------------------------------------------------------------------------------------------------------------------------------------------------
Thanks,
Sivakumar
Hi
I have used the IMXUART_HAVE_RTSCTS.
Saurabh
Hi, Patel
please exchange RX and TX.
RM document may descripe these two pins incorrectly.
if so , I will push document team to correct this error.
Hi,
Weisong
Thanks for reply.
I will try to change the RX and TX.
Can you describe the correct pin connection and configuration?
Thanks
Saurabh
Hi,
Weisong
To test this we need to modified the hardware. Is there any alternative in software?
From following link
https://community.freescale.com/docs/DOC-97509
For the Uart IP, the CTS_B is always an output and RTS_B always an input. But the RTS_B & CTS_B IO will be swapped when UART operates in different DTE or DCE mode.
Is it possible that we change the RTS_B and CTS_B?
Thanks
Saurabh
Hi, Patel
the issue is not related to RTS and CTS, these two signals are just control signals.
the issue is that MX6Q_PAD_KEY_ROW1 is actual UART5_TX can not be used as UART5_RX.
so you can measure the waveform on TX and RX, you can see the data on MX6Q_PAD_KEY_ROW1 when you transmmit data.
Hi,
Thanks for your suggestions.
UART TX, RX, RTS, CTS pin remains always high.
I have tried to send the data to /dev/ttymxc4 using echo "abcd" > /dev/ttymxc4.
Hi,
Weisong
echo "abcd" > /dev/ttymxc4 gives output on BT_RX so I think MX6Q_PAD_KEY_COL1 is UART5 TX.
Thanks
Saurabh
Hi, Patel
It's very difficult to explain this to you.
we have done test on our SDB board.
yes, you can configure MX6Q_PAD_KEY_COL1 as UART5 TX and ROW1 as UART5_RX.
but when you send data to device, I believe you will capture data on ROW1 whcih should be on COL1.
anyway I will check with SOC design team to get the explaination.
please wait for my response.
Hi, Patel
could you help to dump out the following registers:
UART1:
0x021EC090
0x020e0280
0x020e0284
0x020e0920
UART5:
0x021f4090
0x020e0200
0x020e0204
0x020e0940
that would be helpful for use to locate the issue.
Hi
Weisong
I have fixed the UART issue.
My working setup is as follows
static iomux_v3_cfg_t mx6q_uart5_pads[] = {
MX6Q_PAD_KEY_ROW1__UART5_RXD,
MX6Q_PAD_KEY_COL1__UART5_TXD,
MX6Q_PAD_KEY_COL4__UART5_RTS,
MX6Q_PAD_KEY_ROW4__UART5_CTS,
};
And physically
BT RXD is connected to IMX6 TXD.
BT TXD is connected to IMX6 RXD.
BT RTS is connected to IMX6 RTS.
BT CTS is connected to IMX6 CTS.
Thanks
Saurabh.