Welcome, Guest

Author Topic: Support i2c micro using 3.x kernel  (Read 26406 times)

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #15 on: October 03, 2012, 12:21:46 AM »
For the micro, does USB phy have to be setup also?

Fadil Berisha

  • Full Member
  • ***
  • Posts: 124
  • Karma: +7/-0
Re: Support i2c micro using 3.x kernel
« Reply #16 on: October 03, 2012, 12:59:06 AM »
Quote
For the micro, does USB phy have to be setup also?
I patched linux-next-20120914 with usb patch but was rejected. I did not study reason, but 1st think was probably Mike Thomson usb patch arrived on linux-next and no need any more to patch, so I reversed patch. I do not have micro. Please try without - if you get any micro's usb problem - post results.

Regards
Fadil Berisha

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #17 on: October 03, 2012, 01:39:30 AM »
Location of linux-next-2012091? Sorry rookie question...

Fadil Berisha

  • Full Member
  • ***
  • Posts: 124
  • Karma: +7/-0
Re: Support i2c micro using 3.x kernel
« Reply #18 on: October 03, 2012, 02:49:39 AM »
Quote
Location of linux-next-2012091?

http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=194e4c45889657361868c10afac695cafbe72cd7

click on tag snapshot

Regards
Fadil Berisha


tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #19 on: October 03, 2012, 06:54:36 AM »
OK, built kernel using (buildroot for fs) used mxs_defconfig
USB
- Don't think it is finding the host controller
i2c
# i2cdetect -r 0
Error: Could not open file `/dev/i2c-0': No such device
# i2cdetect -l
Here is the boot:

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.6.0-rc5-next-20120914 (tcmichals@tcmichals-RP8292
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Freescale i.MX23 (Device Tree), model: i.MX23 Olinuxinod
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat c04b95fc, node_mem_map c0a0c00
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16256 pages, LIFO batch:3
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc:
  • 0

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa6
[    0.000000] Kernel command line: noinitrd console=ttyAMA0,115200 root=/dev/mc
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 64MB = 64MB total
[    0.000000] Memory: 54624k/54624k available, 10912k 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 : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc046a8cc   (4491 kB)
[    0.000000]       .init : 0xc046b000 - 0xc0488dec   ( 120 kB)
[    0.000000]       .data : 0xc048a000 - 0xc04bba10   ( 199 kB)
[    0.000000]        .bss : 0xc04bba34 - 0xc0a09470   (5431 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, 1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] of_irq_init: children remain, but no parents
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps eves
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingr
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.070000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 512
[    0.080000] CPU: Testing write buffer coherency: ok
[    0.080000] Setting up static identity map for 0x4032e4f8 - 0x4032e550
[    0.090000] devtmpfs: initialized
[    0.100000] pinctrl core: initialized pinctrl subsystem
[    0.100000] regulator-dummy: no parameters
[    0.110000] NET: Registered protocol family 16
[    0.110000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.130000] gpiochip_add: registered GPIOs 0 to 31 on device: gpio.0
[    0.130000] gpiochip_add: registered GPIOs 32 to 63 on device: gpio.1
[    0.140000] gpiochip_add: registered GPIOs 64 to 95 on device: gpio.2
[    0.150000] Serial: AMBA PL011 UART driver
[    0.150000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 125) is a PL02
[    0.330000] console [ttyAMA0] enabled
[    0.370000] bio: create slab <bio-0> at 0
[    0.380000] mxs-dma 80004000.dma-apbh: initialized
[    0.390000] mxs-dma 80024000.dma-apbx: initialized
[    0.400000] usbcore: registered new interface driver usbfs
[    0.400000] usbcore: registered new interface driver hub
[    0.410000] usbcore: registered new device driver usb
[    0.420000] Switching to clocksource mxs_timer
[    0.600000] NET: Registered protocol family 2
[    0.600000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.610000] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[    0.620000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.630000] TCP: reno registered
[    0.630000] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    0.640000] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    0.650000] NET: Registered protocol family 1
[    0.660000] RPC: Registered named UNIX socket transport module.
[    0.660000] RPC: Registered udp transport module.
[    0.670000] RPC: Registered tcp transport module.
[    0.670000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.680000] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.760000] NFS: Registering the id_resolver key type
[    0.760000] Key type id_resolver registered
[    0.770000] Key type id_legacy registered
[    0.770000] msgmni has been set to 106
[    0.780000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[    0.790000] io scheduler noop registered (default)
[    0.800000] uart-pl011 80070000.serial: no DMA platform data
[    0.810000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 122) is a 800l
[    0.820000] mxs-auart 8006c000.serial: Found APPUART 3.0.0
[    0.820000] usbcore: registered new interface driver catc
[    0.830000] usbcore: registered new interface driver kaweth
[    0.830000] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet dr
[    0.840000] usbcore: registered new interface driver pegasus
[    0.850000] usbcore: registered new interface driver rtl8150
[    0.860000] usbcore: registered new interface driver asix
[    0.860000] usbcore: registered new interface driver cdc_ether
[    0.870000] usbcore: registered new interface driver cdc_eem
[    0.870000] usbcore: registered new interface driver dm9601
[    0.880000] usbcore: registered new interface driver smsc75xx
[    0.890000] usbcore: registered new interface driver smsc95xx
[    0.890000] usbcore: registered new interface driver gl620a
[    0.900000] usbcore: registered new interface driver net1080
[    0.900000] usbcore: registered new interface driver rndis_host
[    0.910000] usbcore: registered new interface driver cdc_subset
[    0.920000] usbcore: registered new interface driver zaurus
[    0.920000] usbcore: registered new interface driver cdc_ncm
[    0.930000] usbcore: registered new interface driver cdc_acm
[    0.940000] cdc_acm: USB Abstract Control Model driver for USB modems and ISs
[    0.940000] usbcore: registered new interface driver cdc_wdm
[    0.950000] mousedev: PS/2 mouse device common for all mice
[    0.960000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as 0
[    0.970000] i2c /dev entries driver
[    0.980000] of_get_named_gpio_flags: can't parse gpios property
[    1.020000] mxs-mmc 80010000.ssp: initialized
[    1.030000] usbcore: registered new interface driver usbhid
[    1.040000] usbhid: USB HID core driver
[    1.040000] usbcore: registered new interface driver r8712u
[    1.050000] TCP: cubic registered
[    1.050000] NET: Registered protocol family 17
[    1.060000] Key type dns_resolver registered
[    1.070000] registered taskstats version 1
[    1.080000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 2012-10-01 02)
[    1.100000] mmc0: host does not support reading read-only switch. assuming w.
[    1.120000] mmc0: new high speed SDHC card at address 1234
[    1.140000] mmcblk0: mmc0:1234 SA08G 7.28 GiB
[    1.160000]  mmcblk0: p1 p2
[    1.180000] EXT2-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fd
[    1.200000] VFS: Mounted root (ext2 filesystem) on device 179:2.
[    1.200000] Freeing init memory: 116K
[    1.500000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.510000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.550000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.560000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.580000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.580000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.810000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference8
[    1.820000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.890000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference8
[    1.900000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
# dmesg
[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.6.0-rc5-next-20120914 (tcmichals@tcmichals-RP8292
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Freescale i.MX23 (Device Tree), model: i.MX23 Olinuxinod
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat c04b95fc, node_mem_map c0a0c00
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16256 pages, LIFO batch:3
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc:
  • 0

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa6
[    0.000000] Kernel command line: noinitrd console=ttyAMA0,115200 root=/dev/mc
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 64MB = 64MB total
[    0.000000] Memory: 54624k/54624k available, 10912k 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 : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc046a8cc   (4491 kB)
[    0.000000]       .init : 0xc046b000 - 0xc0488dec   ( 120 kB)
[    0.000000]       .data : 0xc048a000 - 0xc04bba10   ( 199 kB)
[    0.000000]        .bss : 0xc04bba34 - 0xc0a09470   (5431 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, 1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] of_irq_init: children remain, but no parents
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps eves
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingr
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.070000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 512
[    0.080000] CPU: Testing write buffer coherency: ok
[    0.080000] Setting up static identity map for 0x4032e4f8 - 0x4032e550
[    0.090000] devtmpfs: initialized
[    0.100000] pinctrl core: initialized pinctrl subsystem
[    0.100000] regulator-dummy: no parameters
[    0.110000] NET: Registered protocol family 16
[    0.110000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.130000] gpiochip_add: registered GPIOs 0 to 31 on device: gpio.0
[    0.130000] gpiochip_add: registered GPIOs 32 to 63 on device: gpio.1
[    0.140000] gpiochip_add: registered GPIOs 64 to 95 on device: gpio.2
[    0.150000] Serial: AMBA PL011 UART driver
[    0.150000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 125) is a PL02
[    0.330000] console [ttyAMA0] enabled
[    0.370000] bio: create slab <bio-0> at 0
[    0.380000] mxs-dma 80004000.dma-apbh: initialized
[    0.390000] mxs-dma 80024000.dma-apbx: initialized
[    0.400000] usbcore: registered new interface driver usbfs
[    0.400000] usbcore: registered new interface driver hub
[    0.410000] usbcore: registered new device driver usb
[    0.420000] Switching to clocksource mxs_timer
[    0.600000] NET: Registered protocol family 2
[    0.600000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.610000] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[    0.620000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.630000] TCP: reno registered
[    0.630000] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    0.640000] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    0.650000] NET: Registered protocol family 1
[    0.660000] RPC: Registered named UNIX socket transport module.
[    0.660000] RPC: Registered udp transport module.
[    0.670000] RPC: Registered tcp transport module.
[    0.670000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.680000] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.760000] NFS: Registering the id_resolver key type
[    0.760000] Key type id_resolver registered
[    0.770000] Key type id_legacy registered
[    0.770000] msgmni has been set to 106
[    0.780000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[    0.790000] io scheduler noop registered (default)
[    0.800000] uart-pl011 80070000.serial: no DMA platform data
[    0.810000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 122) is a 800l
[    0.820000] mxs-auart 8006c000.serial: Found APPUART 3.0.0
[    0.820000] usbcore: registered new interface driver catc
[    0.830000] usbcore: registered new interface driver kaweth
[    0.830000] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet dr
[    0.840000] usbcore: registered new interface driver pegasus
[    0.850000] usbcore: registered new interface driver rtl8150
[    0.860000] usbcore: registered new interface driver asix
[    0.860000] usbcore: registered new interface driver cdc_ether
[    0.870000] usbcore: registered new interface driver cdc_eem
[    0.870000] usbcore: registered new interface driver dm9601
[    0.880000] usbcore: registered new interface driver smsc75xx
[    0.890000] usbcore: registered new interface driver smsc95xx
[    0.890000] usbcore: registered new interface driver gl620a
[    0.900000] usbcore: registered new interface driver net1080
[    0.900000] usbcore: registered new interface driver rndis_host
[    0.910000] usbcore: registered new interface driver cdc_subset
[    0.920000] usbcore: registered new interface driver zaurus
[    0.920000] usbcore: registered new interface driver cdc_ncm
[    0.930000] usbcore: registered new interface driver cdc_acm
[    0.940000] cdc_acm: USB Abstract Control Model driver for USB modems and ISs
[    0.940000] usbcore: registered new interface driver cdc_wdm
[    0.950000] mousedev: PS/2 mouse device common for all mice
[    0.960000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as 0
[    0.970000] i2c /dev entries driver
[    0.980000] of_get_named_gpio_flags: can't parse gpios property
[    1.020000] mxs-mmc 80010000.ssp: initialized
[    1.030000] usbcore: registered new interface driver usbhid
[    1.040000] usbhid: USB HID core driver
[    1.040000] usbcore: registered new interface driver r8712u
[    1.050000] TCP: cubic registered
[    1.050000] NET: Registered protocol family 17
[    1.060000] Key type dns_resolver registered
[    1.070000] registered taskstats version 1
[    1.080000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 2012-10-01 02)
[    1.100000] mmc0: host does not support reading read-only switch. assuming w.
[    1.120000] mmc0: new high speed SDHC card at address 1234
[    1.140000] mmcblk0: mmc0:1234 SA08G 7.28 GiB
[    1.160000]  mmcblk0: p1 p2
[    1.180000] EXT2-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fd
[    1.200000] VFS: Mounted root (ext2 filesystem) on device 179:2.
[    1.200000] Freeing init memory: 116K
[    1.500000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.510000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.550000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.560000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.580000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference5
[    1.580000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.810000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference8
[    1.820000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only
[    1.890000] EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode reference8
[    1.900000] EXT2-fs (mmcblk0p2): error: remounting filesystem read-only

Fadil Berisha

  • Full Member
  • ***
  • Posts: 124
  • Karma: +7/-0
Re: Support i2c micro using 3.x kernel
« Reply #20 on: October 03, 2012, 07:56:08 PM »
Hi tcmichals

I found source of error:

Quote
# i2cdetect -r 0
Error: Could not open file `/dev/i2c-0': No such device

Error is because MXS I2C Adapter is not registered. I have look at mxs-i2c driver and found that is declared only for i.MX28. To go forward with our test, fastest way is to adapt patched file imx23.dtsi:
 
compatible = "fsl,imx23-i2c";
compatible = "fsl,imx28-i2c";

After booting, please run command:
Code: [Select]
dmesg | grep i2c
here is my result:
Code: [Select]
[    0.130000] i2c-core: driver [dummy] registered
[    0.470000] i2c i2c-0: adapter [MXS I2C adapter] registered
[    0.480000] i2c 0-000a: uevent
[    0.480000] i2c i2c-0: client [sgtl5000] registered with bus id 0-000a
[    0.480000] i2c 0-0051: uevent
[    0.480000] i2c i2c-0: client [24c32] registered with bus id 0-0051
[    0.950000] imx23-pinctrl 80018000.pinctrl: pin I2C_SCL already requested by 80058000.i2c; cannot claim for 8006c000.serial
[    1.200000] i2c /dev entries driver
[    1.200000] i2c-dev: adapter [MXS I2C adapter] registered as minor 0
[    1.300000] i2c-core: driver [sgtl5000] registered
[    8.520000] i2c 0-0051: uevent
[   10.830000] i2c 0-0051: uevent
[   10.830000] i2c 0-0051: uevent
[   11.510000] i2c 0-0051: uevent

As you can see, MXS I2C adapter is registered and also created /dev/i2c-0.

Could you please continue with testing. If everything is OK, I will submit patch http://pastebin.com/HrgB1hAW to kernel list and also fix mxs-i2c driver declaration for imx23.

Regads

Fadil Berisha

Niii

  • Newbie
  • *
  • Posts: 40
  • Karma: +1/-0
Re: Support i2c micro using 3.x kernel
« Reply #21 on: October 03, 2012, 09:26:12 PM »
I tested on 3.6-rc2, i2c device is correctly created but I've got no activity on SDA/SCL.
I only tested with i2c0_pins_a configuration, nothing on CON1 55/56 and CON2 7/8-26/27 with OLS.

Fadil Berisha

  • Full Member
  • ***
  • Posts: 124
  • Karma: +7/-0
Re: Support i2c micro using 3.x kernel
« Reply #22 on: October 03, 2012, 11:06:41 PM »

Thank you Niii,

Code: [Select]
I tested on 3.6-rc2, i2c device is correctly created but I've got no activity on SDA/SCL.
What breakout board - chip you have connected to i2c interface?
If you are looking only with oscilloscope, run this command:

echo "test" > /dev/i2c-0   

and check response in oscilloscope and screen.
Here is response in my system:
[  488.180000] i2c-dev: i2c-0 writing 5 bytes.
[  488.180000] i2c i2c-0: master_xfer[0] W, addr=0x00, len=5
[  488.190000] mxs-i2c 80058000.i2c: addr: 0x0000, len: 5, flags: 0x0, stop: 1
[  489.200000] mxs-i2c 80058000.i2c: Timeout!
-sh: echo: write error: Connection timed out

Looks good to me. I will make some breakout boards and post hardware verification.

Regards
Fadil Berisha

Niii

  • Newbie
  • *
  • Posts: 40
  • Karma: +1/-0
Re: Support i2c micro using 3.x kernel
« Reply #23 on: October 03, 2012, 11:17:29 PM »
Code: [Select]
What breakout board
Micro board.
Code: [Select]
chip you have connected to i2c interface?
With and without tmp102 chip.

With echo "test" > /dev/i2c-0 :
Code: [Select]
root@micro:~# dmesg | grep i2c
[    1.010000] i2c /dev entries driver
root@micro:~# ls /dev/i2c*
/dev/i2c-0
root@micro:~# i2cdetect -l
i2c-0 i2c        MXS I2C adapter                  I2C adapter
root@micro:~# echo "test" > /dev/i2c-0
-bash: echo: erreur d'écriture : Connexion terminée par expiration du délai d'attente

Can you send me your sd_mmc_bootstream.raw file for test ?

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #24 on: October 03, 2012, 11:35:47 PM »
Also, please remember on the micro PIN22, PIN21 must have pull ups, unless you cut and solder to the UEXT.  I cannot test until I get home.

Tim

Niii

  • Newbie
  • *
  • Posts: 40
  • Karma: +1/-0
Re: Support i2c micro using 3.x kernel
« Reply #25 on: October 03, 2012, 11:42:20 PM »
I had not thought of that, let me try with.
[edit] Same with other i2c pins like pins 7/8 on con2 (for i2c0_pins_a) ?
« Last Edit: October 03, 2012, 11:45:39 PM by Niii »

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #26 on: October 04, 2012, 12:01:20 AM »
Niii,

At this time CON2, pins 7/8 are software based i2c and have pull-ups.  Chapter 6.11 of the manual and schematic may help you out.

Tim

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #27 on: October 04, 2012, 07:02:51 AM »
OK, yes it loads, but I have the same problem as before.  Same as Niii.  I did test the "wiring" with 2.6.35.x couple of weeks ago, guess can retry it.

I was debugging the same issue with linux-mainline, I had the same issue... But should the pins be:
i2c0_pins_a: i2c0@0 {
               reg = <0>;
               fsl,pinmux-ids = <
                  0x1171 /* MX23_PAD_LCD_ENABLE__I2C_SCL */
                  0x1181 /* MX23_PAD_LCD_HSYNC__I2C_SDA  */
               >;
               fsl,drive-strength = <1>;
               fsl,voltage = <1>;
               fsl,pull-up = <1>;
            };

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #28 on: October 04, 2012, 07:11:49 AM »
Which pins are you connected to?

tcmichals

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Re: Support i2c micro using 3.x kernel
« Reply #29 on: October 04, 2012, 07:44:10 AM »
Question, when booting, urart, duart are found and a message appears:

[    0.110000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.150000] Serial: AMBA PL011 UART driver
[    0.150000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 127) is a PL011 rev2
[    0.330000] console [ttyAMA0] enabled
.....
[    0.880000] uart-pl011 80070000.serial: no DMA platform data
[    0.890000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 124) is a 8006c000.serial
[    0.900000] mxs-auart 8006c000.serial: Found APPUART 3.0.0


[    1.020000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0
[    1.030000] i2c /dev entries driver
but there is no address info for i2c, like there is for RTC, dual, uart, so it is not finding it? or still an Init issue?
Also, still no USB... wonder if there is something in common.. also, no LED...
« Last Edit: October 04, 2012, 07:46:49 AM by tcmichals »