using USB H1 on the imx6solo custom board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

using USB H1 on the imx6solo custom board

Jump to solution
4,933 Views
kimhansung
Contributor II

My kernel base version is 3.10.53 and the BSP is made by using yocto project build system. The BSP was working well.

Additionally, I were trying to add USB host 1 for imx6solo custom board.

So, the reference device tree files of sabareauto ware used for usbh1.

And the pins such as USB_H1_DN, USB_H1_DP, USB_H1_VBUS  were assigned exactly. But we didn't use USB_H1_PWR and didn't control VBUS pin. The VBUS pin just connected to 5V source.

I think that It was no problem.

Finally, The EHCI host controller was checked in my menuconfig.

I have tried to boot my custom board, but my board seems like not to recognize USB salve device(AX88772A USB-to-Ethernet Adapter).

I think that the following log said some issue of USB related.

.

.

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

.

.

.

usbcore: registered new interface driver asix

usbcore: registered new interface driver ax88179_178a

usbcore: registered new interface driver cdc_ether

usbcore: registered new interface driver net1080

usbcore: registered new interface driver cdc_subset

usbcore: registered new interface driver zaurus

usbcore: registered new interface driver cdc_ncm

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

ehci-pci: EHCI PCI platform driver

usbcore: registered new interface driver usb-storage

imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517

Could anyone check it and give me some idea to solve?

The below is start-up log.

root@imx6solosabreauto:~#

root@imx6solosabreauto:~# dmesg

Booting Linux on physical CPU 0x0

Linux version 3.10.17-1.0.0_ga+gdac46dc (hansungkim@hansungkim-15N540-RFLGL) (gcc version 4.8.2 (GCC) ) #2 SMP PREEMPT Fri Mar 11 17:59:11 KST 2016

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Freescale i.MX6 DualLite/Solo SABRE Automotive Board

Memory policy: ECC disabled, Data cache writealloc

On node 0 totalpages: 32768

free_area_init_node: node 0, pgdat 80c77880, node_mem_map 80ce2000

  DMA zone: 256 pages used for memmap

  DMA zone: 0 pages reserved

  DMA zone: 32768 pages, LIFO batch:7

PERCPU: Embedded 8 pages/cpu @80df7000 s8896 r8192 d15680 u32768

pcpu-alloc: s8896 r8192 d15680 u32768 alloc=8*4096

pcpu-alloc: [0] 0

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 32512

Kernel command line: console=ttymxc3,115200 nosmp arm_freq=800 root=/dev/mtdblock3 rootfstype=jffs2 weim-nor

PID hash table entries: 512 (order: -1, 2048 bytes)

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

Memory: 128MB = 128MB total

Memory: 116560k/116560k available, 14512k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    vmalloc : 0x88800000 - 0xff000000   (1896 MB)

    lowmem  : 0x80000000 - 0x88000000   ( 128 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .text : 0x80008000 - 0x80be1b90   (12135 kB)

      .init : 0x80be2000 - 0x80c272c0   ( 277 kB)

      .data : 0x80c28000 - 0x80c78aa0   ( 323 kB)

       .bss : 0x80c78aa0 - 0x80ce1f4c   ( 422 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 0x32050000, Cache size: 524288 B

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

CPU identified as i.MX6DL, silicon rev 1.1

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

Initializing cgroup subsys net_prio

CPU: Testing write buffer coherency: ok

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x80604050 - 0x806040a8

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: 2000 <--> 2750 mV at 2425 mV

cpu: 725 <--> 1450 mV at 1150 mV

vddpu: 725 <--> 1450 mV

vddsoc: 725 <--> 1450 mV at 1200 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.

imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

bio: create slab <bio-0> at 0

mxs-dma 110000.dma-apbh: initialized

cs42888_supply: 3300 mV

vio1: 3300 mV

vio2: 3300 mV

vd: 3300 mV

va: 5000 mV

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

3P3V: 3300 mV

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

SCSI subsystem initialized

libata version 3.00 loaded.

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

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

imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Initialized.

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 1024 (order: 1, 8192 bytes)

TCP bind hash table entries: 1024 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 1024 bind 1024)

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.

PCI: CLS 0 bytes, default 64

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

pureg-dummy: no parameters

Bus freq driver module loaded

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 227

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

imx-weim 21b8000.weim: WEIM driver registered.

MIPI DSI driver module loaded

mxc_sdc_fb fb.20: register mxc display driver ldb

mxc_sdc_fb fb.20: NO mxc display driver found!

mxc_sdc_fb fb.21: register mxc display driver hdmi

mxc_sdc_fb fb.21: NO mxc display driver found!

imx_epdc_fb 20f4000.epdc: can't get/select pinctrl

platform hannstar_cabc.18: Driver hannstar-cabc requests probe deferral

imx-sdma 20ec000.sdma: no iram assigned, using external mem

imx-sdma 20ec000.sdma: loaded firmware 1.1

imx-sdma 20ec000.sdma: initialized

Serial: IMX driver

2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX

console [ttymxc3] enabled

serial: Freescale lpuart driver

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized vivante 1.0.0 20120216 on minor 0

brd: module loaded

loop: module loaded

8000000.nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002801

Amd/Fujitsu Extended Query Table at 0x0040

  Amd/Fujitsu Extended Query version 1.5.

number of CFI chips: 1

4 ofpart partitions found on MTD device 8000000.nor

Creating 4 MTD partitions on "8000000.nor":

0x000000000000-0x0000000a0000 : "uboot"

0x0000000a0000-0x0000000c0000 : "dtb"

0x0000000c0000-0x0000008c0000 : "kernel"

0x0000008c0000-0x0000058c0000 : "rootfs"

CAN device driver interface

fec 2188000.ethernet (unregistered net_device): Invalid MAC address: 00:00:00:00:00:00

fec 2188000.ethernet (unregistered net_device): Using random MAC address: 02:24:97:a4:d6:84

libphy: fec_enet_mii_bus: probed

fec 2188000.ethernet eth0: registered PHC device 0

usbcore: registered new interface driver asix

usbcore: registered new interface driver ax88179_178a

usbcore: registered new interface driver cdc_ether

usbcore: registered new interface driver net1080

usbcore: registered new interface driver cdc_subset

usbcore: registered new interface driver zaurus

usbcore: registered new interface driver cdc_ncm

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

ehci-pci: EHCI PCI platform driver

usbcore: registered new interface driver usb-storage

imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517

platform 2184200.usb: Driver imx_usb requests probe deferral

mousedev: PS/2 mouse device common for all mice

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

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)

cpuidle: using governor ladder

cpuidle: using governor menu

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: SDHCI platform and OF driver helper

sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on normal mode

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA

mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

mxc_asrc 2034000.asrc: mxc_asrc registered

mxc_vpu 2040000.vpu: VPU initialized

caam 2100000.caam: device ID = 0x0a16010000000100 (Era -524)

caam 2100000.caam: job rings = 2, qi = 0

caam 2100000.caam: authenc-hmac-md5-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des-caam

caam 2100000.caam: ecb-des-caam

caam 2100000.caam: ecb-arc4-caam

caam 2100000.caam: ecb-aes-caam

caam 2100000.caam: ctr-aes-caam

caam 2100000.caam: cbc-aes-caam

caam 2100000.caam: ecb-des3-caam

caam 2100000.caam: cbc-3des-caam

caam 2100000.caam: cbc-des-caam

caam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/crypto

platform 2101000.jr0: registering rng-caam

platform caam_sm: caam_sm_test: 8-byte key test match OK

platform caam_sm: caam_sm_test: 16-byte key test match OK

platform caam_sm: caam_sm_test: 32-byte key test match OK

platform caam_secvio.37: security violation service handlers armed

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

i2c-core: driver [cs42888] using legacy suspend method

i2c-core: driver [cs42888] using legacy resume method

imx-cs42888 sound-cs42888.31: failed to find codec platform device

imx-cs42888: probe of sound-cs42888.31 failed with error -22

imx-spdif sound-spdif.34:  dir-hifi <-> 2004000.spdif mapping ok

imx-audio-hdmi sound-hdmi.33: initialize HDMI-audio failed. load HDMI-video first!

imx-tuner-si476x sound-fm.32: failed to find FM platform device

imx-tuner-si476x: probe of sound-fm.32 failed with error -22

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

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

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

platform hannstar_cabc.18: Driver hannstar-cabc requests probe deferral

imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517

platform 2184200.usb: Driver imx_usb requests probe deferral

input: gpio-keys.17 as /devices/soc0/gpio-keys.17/input/input0

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

ALSA device list:

platform hannstar_cabc.18: Driver hannstar-cabc requests probe deferral

imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517

  #0: imx-spdif

platform 2184200.usb: Driver imx_usb requests probe deferral

VFS: Mounted root (jffs2 filesystem) readonly on device 31:3.

devtmpfs: mounted

Freeing unused kernel memory: 276K (80be2000 - 80c27000)

udevd[140]: starting version 182

evbug: Connected device: input0 (gpio-keys.17 at gpio-keys/input0)

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

platform hannstar_cabc.18: Driver hannstar-cabc requests probe deferral

imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517

platform 2184200.usb: Driver imx_usb requests probe deferral

ERROR: v4l2 capture: slave not found!

fec 2188000.ethernet eth0: no PHY, assuming direct connection to switch

libphy: PHY fixed-0:00 not found

fec 2188000.ethernet eth0: could not attach to PHY

root@imx6solosabreauto:~#

root@imx6solosabreauto:~# lsusb

unable to initialize libusb: -99

root@imx6solosabreauto:~#

root@imx6solosabreauto:~#

root@imx6solosabreauto:~#

Labels (3)
0 Kudos
Reply
1 Solution
2,226 Views
kimhansung
Contributor II

Thank you for your help.

Actually, The VBUS for usb_h1 was connecting to 5V source directly.

So, I modified the reg_usb_h1_vbus  with "regulator-always-on". in the *.dtsi file for my custom board

After modified, usbh1 worked very well.

View solution in original post

0 Kudos
Reply
4 Replies
2,226 Views
kimhansung
Contributor II

jimmychan

Thank you for your response of my problem.

I modified to the kernel configuration related to USB driver as the below.

But, I got the same start-up log with no recognize USB.

is It enough for using usbh1?

Screenshot from 2016-03-15 14_08_31.png

I think that the below log message is related to vbus voltage.

Actually, I had a imx6qsabre sd evk board. And I could find a different log message about the vbus.

Do anyone have idea the below log what is different?

The below log message of my custom board is related to USB Host 1 operation or recognition?

my custom board based on imx6solo

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

imx6q evk board

usb_otg_vbus: 5000 mV

usb_h1_vbus: 5000 mV

0 Kudos
Reply
2,226 Views
jimmychan
NXP TechSupport
NXP TechSupport

platform usb_h1_vbus.28: Driver reg-fixed-voltage requests probe deferral

platform usb_otg_vbus.29: Driver reg-fixed-voltage requests probe deferral

Because you defined the regulators for usb_h1_vbus and usb_otg_vbus in <your_board>.dtsi file.

0 Kudos
Reply
2,227 Views
kimhansung
Contributor II

Thank you for your help.

Actually, The VBUS for usb_h1 was connecting to 5V source directly.

So, I modified the reg_usb_h1_vbus  with "regulator-always-on". in the *.dtsi file for my custom board

After modified, usbh1 worked very well.

0 Kudos
Reply
2,226 Views
jimmychan
NXP TechSupport
NXP TechSupport

May be some related USB driver not being loaded. Please check it in the kernel configuration and then build it as "Y", not "M" (module).

0 Kudos
Reply